From d60d4a03bc5b073998d1c2f7a51d0fe8592a4ced Mon Sep 17 00:00:00 2001 From: paul Date: Wed, 3 Oct 2018 19:34:04 +0200 Subject: [PATCH 001/222] fetch some graphics --- asm/battle_1.s | 8 +-- asm/egg_hatch.s | 4 +- asm/link.s | 8 +-- asm/trade.s | 12 ++--- data/data.s | 19 ++++--- data/graphics.s | 136 +++++++++++++++++++++++++++++++++++++++++++++++- 6 files changed, 161 insertions(+), 26 deletions(-) diff --git a/asm/battle_1.s b/asm/battle_1.s index 6df441371..bf9b4876f 100644 --- a/asm/battle_1.s +++ b/asm/battle_1.s @@ -298,7 +298,7 @@ LoadBattleTextboxAndBackground: @ 800F420 movs r1, 0xC0 lsls r1, 19 bl LZDecompressVram - ldr r1, _0800F458 @ =gUnknown_8D0051C + ldr r1, _0800F458 @ =gMenuMapBin movs r0, 0 movs r2, 0 movs r3, 0 @@ -315,7 +315,7 @@ LoadBattleTextboxAndBackground: @ 800F420 bx r0 .align 2, 0 _0800F454: .4byte gUnknown_8D00000 -_0800F458: .4byte gUnknown_8D0051C +_0800F458: .4byte gMenuMapBin _0800F45C: .4byte gUnknown_8D004D8 thumb_func_end LoadBattleTextboxAndBackground @@ -1393,7 +1393,7 @@ _0800FCEC: .align 2, 0 _0800FCF8: .4byte gUnknown_8D00000 _0800FCFC: - ldr r1, _0800FD10 @ =gUnknown_8D0051C + ldr r1, _0800FD10 @ =gMenuMapBin movs r0, 0 movs r2, 0 movs r3, 0 @@ -1402,7 +1402,7 @@ _0800FCFC: bl CopyBgTilemapBufferToVram b _0800FD94 .align 2, 0 -_0800FD10: .4byte gUnknown_8D0051C +_0800FD10: .4byte gMenuMapBin _0800FD14: ldr r0, _0800FD20 @ =gUnknown_8D004D8 movs r1, 0 diff --git a/asm/egg_hatch.s b/asm/egg_hatch.s index 02a47548e..20e32a74e 100644 --- a/asm/egg_hatch.s +++ b/asm/egg_hatch.s @@ -648,7 +648,7 @@ _08047174: movs r2, 0 movs r3, 0 bl sub_80F696C - ldr r1, _080471A0 @ =gUnknown_8D0051C + ldr r1, _080471A0 @ =gMenuMapBin movs r0, 0 movs r2, 0 movs r3, 0 @@ -660,7 +660,7 @@ _08047174: b _0804724A .align 2, 0 _0804719C: .4byte gUnknown_8D00000 -_080471A0: .4byte gUnknown_8D0051C +_080471A0: .4byte gMenuMapBin _080471A4: .4byte gUnknown_8D004D8 _080471A8: ldr r0, _080471BC @ =gUnknown_826011C diff --git a/asm/link.s b/asm/link.s index 378b1a2e8..68c12260c 100644 --- a/asm/link.s +++ b/asm/link.s @@ -3354,14 +3354,14 @@ _0800AE18: .4byte sub_800AF2C sub_800AE1C: @ 800AE1C push {r4,r5,lr} sub sp, 0xC - ldr r1, _0800AEB8 @ =gUnknown_8231EE4 + ldr r1, _0800AEB8 @ =gWirelessLinkDisplay4bpp movs r5, 0 str r5, [sp] movs r0, 0x1 movs r2, 0 movs r3, 0 bl sub_80F696C - ldr r1, _0800AEBC @ =gUnknown_823238C + ldr r1, _0800AEBC @ =gWirelessLinkDisplayBin movs r0, 0x1 movs r2, 0 movs r3, 0 @@ -3416,8 +3416,8 @@ sub_800AE1C: @ 800AE1C pop {r0} bx r0 .align 2, 0 -_0800AEB8: .4byte gUnknown_8231EE4 -_0800AEBC: .4byte gUnknown_823238C +_0800AEB8: .4byte gWirelessLinkDisplay4bpp +_0800AEBC: .4byte gWirelessLinkDisplayBin _0800AEC0: .4byte gUnknown_8231EC4 _0800AEC4: .4byte gUnknown_8234610 _0800AEC8: .4byte gUnknown_841DEF0 diff --git a/asm/trade.s b/asm/trade.s index 0cfac7187..588b3229a 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -7850,7 +7850,7 @@ sub_80504CC: @ 80504CC movs r2, 0 movs r3, 0 bl sub_80F696C - ldr r0, _080505BC @ =gUnknown_8D0051C + ldr r0, _080505BC @ =gMenuMapBin mov r8, r0 ldr r4, _080505C0 @ =gUnknown_201C000 adds r1, r4, 0 @@ -7897,7 +7897,7 @@ sub_80504CC: @ 80504CC .align 2, 0 _080505B4: .4byte gUnknown_826D1D4 _080505B8: .4byte gUnknown_8D00000 -_080505BC: .4byte gUnknown_8D0051C +_080505BC: .4byte gMenuMapBin _080505C0: .4byte gUnknown_201C000 _080505C4: .4byte gUnknown_8D004D8 _080505C8: .4byte gUnknown_826D1BC @@ -8490,7 +8490,7 @@ _08050AC4: ldr r1, _08050AF8 @ =0x00001241 movs r0, 0 bl SetGpuReg - ldr r0, _08050AFC @ =gUnknown_826BA5C + ldr r0, _08050AFC @ =gUnknown_3379A0Bin ldr r1, _08050B00 @ =0x06002800 bl LZ77UnCompVram movs r0, 0x8 @@ -8498,7 +8498,7 @@ _08050AC4: .align 2, 0 _08050AF4: .4byte gUnknown_2031DAC _08050AF8: .4byte 0x00001241 -_08050AFC: .4byte gUnknown_826BA5C +_08050AFC: .4byte gUnknown_3379A0Bin _08050B00: .4byte 0x06002800 _08050B04: ldr r1, _08050B28 @ =0x00001241 @@ -8529,7 +8529,7 @@ _08050B3C: movs r1, 0x30 movs r2, 0x20 bl LoadPalette - ldr r0, _08050B70 @ =gUnknown_826BF7C + ldr r0, _08050B70 @ =gWirelessSignal4bpp ldr r1, _08050B74 @ =0x06004000 bl LZ77UnCompVram ldr r0, _08050B78 @ =gUnknown_826C60C @@ -8548,7 +8548,7 @@ _08050B64: b _08050DB4 .align 2, 0 _08050B6C: .4byte gUnknown_826BF5C -_08050B70: .4byte gUnknown_826BF7C +_08050B70: .4byte gWirelessSignal4bpp _08050B74: .4byte 0x06004000 _08050B78: .4byte gUnknown_826C60C _08050B7C: .4byte 0x06009000 diff --git a/data/data.s b/data/data.s index e36981474..5cd626130 100644 --- a/data/data.s +++ b/data/data.s @@ -4,11 +4,13 @@ gUnknown_8231EC4:: @ 8231EC4 .incbin "baserom.gba", 0x231EC4, 0x20 -gUnknown_8231EE4:: @ 8231EE4 - .incbin "baserom.gba", 0x231EE4, 0x4A8 + .align 2 +gWirelessLinkDisplay4bpp:: @ 8231EE4 + .incbin "graphics/interface/wireless_link_display.4bpp.lz" -gUnknown_823238C:: @ 823238C - .incbin "baserom.gba", 0x23238C, 0x1EC + .align 2 +gWirelessLinkDisplayBin:: @ 823238C + .incbin "graphics/interface/wireless_link_display.bin.lz" gUnknown_8232578:: @ 8232578 .incbin "baserom.gba", 0x232578, 0x20 @@ -667,8 +669,9 @@ gUnknown_8269A5C:: @ 8269A5C gUnknown_826AA5C:: @ 826AA5C .incbin "baserom.gba", 0x26AA5C, 0x1000 -gUnknown_826BA5C:: @ 826BA5C - .incbin "baserom.gba", 0x26BA5C, 0x100 + .align 2 +gUnknown_3379A0Bin:: @ 826BA5C + .incbin "graphics/trade/unknown_3379A0.bin.lz" gUnknown_826BB5C:: @ 826BB5C .incbin "baserom.gba", 0x26BB5C, 0x200 @@ -679,8 +682,8 @@ gUnknown_826BD5C:: @ 826BD5C gUnknown_826BF5C:: @ 826BF5C .incbin "baserom.gba", 0x26BF5C, 0x20 -gUnknown_826BF7C:: @ 826BF7C - .incbin "baserom.gba", 0x26BF7C, 0x690 +gWirelessSignal4bpp:: @ 826BF7C + .incbin "graphics/trade/wireless_signal.4bpp.lz" gUnknown_826C60C:: @ 826C60C .incbin "baserom.gba", 0x26C60C, 0x7C8 diff --git a/data/graphics.s b/data/graphics.s index a81ff20c2..62234423a 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -6,8 +6,140 @@ gUnknown_8D00000:: @ 8D00000 gUnknown_8D004D8:: @ 8D004D8 .incbin "baserom.gba", 0xD004D8, 0x44 -gUnknown_8D0051C:: @ 8D0051C - .incbin "baserom.gba", 0xD0051C, 0x1DCC + .align 2 +gMenuMapBin:: @ 8D0051C + .incbin "graphics/interface/menu_map.bin.lz" + +gUnknown_8D00748:: @ 8D00748 + .incbin "baserom.gba", 0xD00748, 0x488 + + @ circled questionmark normal palette, different locations in ruby/emerald +gUnknown_8D00BD0:: @ 8D00BD0 + .incbin "baserom.gba", 0xD00BD0, 0x18 + + @ circled questionmark shiny palette, different locations in ruby/emerald +gUnknown_8D00BE8:: @ 8D00BE8 + .incbin "baserom.gba", 0xD00BE8, 0x18 + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + + .align 2 +gOldCharmap4bpp:: @ 8D00C00 + .incbin "graphics/unused/old_charmap.4bpp.lz" @from ruby + + .align 2 +gOldCharmapBin:: @ 8D013D8 + .incbin "graphics/unused/old_charmap.bin.lz" @from ruby + + .align 2 +gOldCharmapGbapal:: @ 8D01604 + .incbin "graphics/unused/old_charmap.gbapal.lz" @from ruby + + .align 2 +gSmokescreenImpact4bpp:: @ 8D0162C + .incbin "graphics/battle_anims/sprites/smokescreen_impact.4bpp.lz" + + .align 2 +gSmokescreenImpactGbapal:: @ 8D0170C + .incbin "graphics/battle_anims/sprites/smokescreen_impact.gbapal.lz" + + .align 2 +gBallPoke4bpp:: @ 8D01724 + .incbin "graphics/interface/ball/poke.4bpp.lz" + + .align 2 +gBallPokeGbaPal:: @ 8D017E0 + .incbin "graphics/interface/ball/poke.gbapal.lz" + + .align 2 +gBallGreat4bpp:: @ 8D01800 + .incbin "graphics/interface/ball/great.4bpp.lz" + + .align 2 +gBallGreatGbapal:: @ 8D018BC + .incbin "graphics/interface/ball/great.gbapal.lz" + + .align 2 +gBallSafari4bpp:: @ 8D018E0 + .incbin "graphics/interface/ball/safari.4bpp.lz" + + .align 2 +gBallSafariGbapal:: @ 8D019A4 + .incbin "graphics/interface/ball/safari.gbapal.lz" + + .align 2 +gBallUltra4bpp:: @ 8D019C8 + .incbin "graphics/interface/ball/ultra.4bpp.lz" + + .align 2 +gBallUltraGbapal:: @ 8D01A7C + .incbin "graphics/interface/ball/ultra.gbapal.lz" + + .align 2 +gBallMaster4bpp:: @ 8D01A9C + .incbin "graphics/interface/ball/master.4bpp.lz" + + .align 2 +gBallMasterGbapal:: @ 8D01B5C + .incbin "graphics/interface/ball/master.gbapal.lz" + + .align 2 +gBallNet4bpp:: @ 8D01B80 + .incbin "graphics/interface/ball/net.4bpp.lz" + + .align 2 +gBallNetGbapal:: @ 8D01C40 + .incbin "graphics/interface/ball/net.gbapal.lz" + + .align 2 +gBallDive4bpp:: @ 8D01C60 + .incbin "graphics/interface/ball/dive.4bpp.lz" + + .align 2 +gBallDiveGbapal:: @ 8D01D74 + .incbin "graphics/interface/ball/dive.gbapal.lz" + + .align 2 +gBallNest4bpp:: @ 8D01D9C + .incbin "graphics/interface/ball/nest.4bpp.lz" + + .align 2 +gBallNestGbapal:: @ 8D01E60 + .incbin "graphics/interface/ball/nest.gbapal.lz" + + .align 2 +gBallRepeat4bpp:: @ 8D01E84 + .incbin "graphics/interface/ball/repeat.4bpp.lz" + + .align 2 +gBallRepeatGbapal:: @ 8D01F44 + .incbin "graphics/interface/ball/repeat.gbapal.lz" + + .align 2 +gBallTimer4bpp:: @ 8D01F68 + .incbin "graphics/interface/ball/timer.4bpp.lz" + + .align 2 +gBallTimerGbapal:: @ 8D02060 + .incbin "graphics/interface/ball/timer.gbapal.lz" + + .align 2 +gBallLuxury4bpp:: @ 8D02084 + .incbin "graphics/interface/ball/luxury.4bpp.lz" + + .align 2 +gBallLuxuryGbapal:: @ 8D021B0 + .incbin "graphics/interface/ball/luxury.gbapal.lz" + + .align 2 +gBallPremier4bpp:: @ 8D021D8 + .incbin "graphics/interface/ball/premier.4bpp.lz" + + .align 2 +gBallPremierGbapal:: @ 8D022C8 + .incbin "graphics/interface/ball/premier.gbapal.lz" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; gUnknown_8D022E8:: @ 8D022E8 .incbin "baserom.gba", 0xD022E8, 0x70F0 From 43579dc5bcbbfc0de561326007213df990b02584 Mon Sep 17 00:00:00 2001 From: paul Date: Sat, 6 Oct 2018 17:01:47 +0200 Subject: [PATCH 002/222] add source graphics --- .../battle_anims/sprites/smokescreen_impact.png | Bin 0 -> 254 bytes graphics/interface/ball/dive.png | Bin 0 -> 326 bytes graphics/interface/ball/great.png | Bin 0 -> 257 bytes graphics/interface/ball/luxury.png | Bin 0 -> 350 bytes graphics/interface/ball/master.png | Bin 0 -> 260 bytes graphics/interface/ball/nest.png | Bin 0 -> 266 bytes graphics/interface/ball/net.png | Bin 0 -> 246 bytes graphics/interface/ball/poke.png | Bin 0 -> 249 bytes graphics/interface/ball/premier.png | Bin 0 -> 289 bytes graphics/interface/ball/repeat.png | Bin 0 -> 257 bytes graphics/interface/ball/safari.png | Bin 0 -> 259 bytes graphics/interface/ball/timer.png | Bin 0 -> 296 bytes graphics/interface/ball/ultra.png | Bin 0 -> 245 bytes graphics/interface/menu_map.bin | Bin 0 -> 4096 bytes graphics/interface/wireless_link_display.bin | Bin 0 -> 2048 bytes graphics/interface/wireless_link_display.png | Bin 0 -> 904 bytes graphics/unused/old_charmap.bin | Bin 0 -> 4096 bytes graphics/unused/old_charmap.png | Bin 0 -> 1934 bytes 18 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 graphics/battle_anims/sprites/smokescreen_impact.png create mode 100644 graphics/interface/ball/dive.png create mode 100644 graphics/interface/ball/great.png create mode 100644 graphics/interface/ball/luxury.png create mode 100644 graphics/interface/ball/master.png create mode 100644 graphics/interface/ball/nest.png create mode 100644 graphics/interface/ball/net.png create mode 100644 graphics/interface/ball/poke.png create mode 100644 graphics/interface/ball/premier.png create mode 100644 graphics/interface/ball/repeat.png create mode 100644 graphics/interface/ball/safari.png create mode 100644 graphics/interface/ball/timer.png create mode 100644 graphics/interface/ball/ultra.png create mode 100644 graphics/interface/menu_map.bin create mode 100644 graphics/interface/wireless_link_display.bin create mode 100644 graphics/interface/wireless_link_display.png create mode 100644 graphics/unused/old_charmap.bin create mode 100644 graphics/unused/old_charmap.png diff --git a/graphics/battle_anims/sprites/smokescreen_impact.png b/graphics/battle_anims/sprites/smokescreen_impact.png new file mode 100644 index 0000000000000000000000000000000000000000..01a94429ac23dea65b91e959865cddc9571701fe GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoQ!VDx|6+TY^aRPioT$834S|%L@@*rTzoUEfq zr@(kvX!A)ImH~x3JzX3_B&JRcuoPl8$p85QiKKYR6O zeqY|cV=ZdvV3PlyqJ5y@$xHQ)jDQxEW7-*Fu1}y4)lC XUYt<7AJu)Yc*(OVN8fFE z2IT#pGG&URqoag`1VhvuiL5o2)ki_1Fz`;|;%lJZi=HlyAre!k_8IauIS9CV>TKH} z)w{4v*tw&Zt&?5gG2;Z|3q}HeI_Ee^9}?WMY4L}mcRCWuO|AQ9iqF{pSteb>!T#|~ z)u}U5*p7M1sPQu&t=n!X$MfXkH0AKJl|G)^isuAfxpe96Pc_}r*n6|j*xfMsVfQiK zE-6u8j3vzHsGL3v*Lt7G8m_XNq5--AC)abSZ8d%4n0a9P*X7^prQ8C|nH45jG6{xV zQWDNw%esuM!p~&l;x(OH_WDHye>Vzz{)R~>{>R$Hh0$zpHtiDN{k4bTxs!|fF8A|~ QfSzOUboFyt=akR{0HZsMp#T5? literal 0 HcmV?d00001 diff --git a/graphics/interface/ball/great.png b/graphics/interface/ball/great.png new file mode 100644 index 0000000000000000000000000000000000000000..0c054d7d31db6f0c9915128bc4f8d1e0cd46325f GIT binary patch literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoQ!VDx|6+TY^aRPioT>t<7pVYmjdd|HmTkdT+ z`wYmPGG&URqoag`#9qy)dyd6GX`mn+nEsUr0P5}Wba4!kn7XxZBQKL7kLzVup9!-} zu0L*KeCMWMz*yM*e##%yh~^C{8!Z(TFDe|&|D*Ez^!c6sjMpR=Pt1S(uI%N8o$@PU ztk{Vzu_YCmX$YY15fMG vBPt#N9~cET%~}0000mP)t-s|Ns9n zF)3PFQiFqgw5+86|NoSfltDp37#JA;|D6BcYX7}C|C|WsN*J_C82|tOM`Qg5Fre< zHamj7&Ka^ZF98)Br$@$(z_p2Ev3loa~-UMr1q_`qasFn~?R zZ#9{0rld&>De$0DFPWl|jGpGhG!G#^pt#P^gF;mpKeY z&Ie6Cb6{1CJHlOCuYVH+Lx5YuHiq6JGJ2YcP*pGMLA^W|Va^nG!kGaHQ)V+ntTT}& w=DZU*^-SZ;hpho~@JaKTKc5tX58|cIFT2%ix9HXb`2YX_07*qoM6N<$g2%X)i~s-t literal 0 HcmV?d00001 diff --git a/graphics/interface/ball/master.png b/graphics/interface/ball/master.png new file mode 100644 index 0000000000000000000000000000000000000000..9787a8896a7978939ebdd47c2a8df9622e1272c7 GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoQ!VDx|6+TY^aRPioT>t<7Uo0@ETXW44$Gv-_ z&H}kprc7~kbd->g_@C7Mf6AKwN3Q|};b8IGN$Ehn{hlt4Are!Q6ArMQI=yhqB%v8c z_g%V~k;XXT;8v?670*}{78h;Wyzxni!eWn`dpta4mR#Fm5-Yf5*Oomxdu?QwXq)WO z;a$>gYih!KCPBmBTibnWlLAIKGkF-A9d$0bReG8LoyOql>gTe~DWM4f%(rmR literal 0 HcmV?d00001 diff --git a/graphics/interface/ball/nest.png b/graphics/interface/ball/nest.png new file mode 100644 index 0000000000000000000000000000000000000000..a2fa81c1e0e11b1d1616b3473b5cff2d8a516a9e GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoQ!VDx|6+TY^aRPioT>t<7&yd7mI7J}osKT88 zmO$>5DN`IB9VH|r{#PgcU(@{m-Ws4F97JpFtp)0x>gnPbA~7{N;Q-sI(~4h;RF`@Q zoL#r~W>FC1goBwvd%ZH5CIoK1c{3v0YC_dLELg%jjfU;5IiP`mVL>dU7u6=D}Y zOwCk?eY0|5W&)dYWmJ^qD$ym3Gu9P}CmVDZPu=*@YeMynaNYHDI5#bd*lV&^;K{s4 zP9L2L1)5{`?Aarr5*o(G@-ji(N%GCYr%w~Flq&WzG8nQLJek!Zei`UM22WQ%mvv4F FO#ol1b&3E0 literal 0 HcmV?d00001 diff --git a/graphics/interface/ball/net.png b/graphics/interface/ball/net.png new file mode 100644 index 0000000000000000000000000000000000000000..6fef48101f2df2ce0ce89c6399a6c003c2e14334 GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoQ!VDx|6+TY^aRPioT>t<7&oC#;aBp?ey(x44 zuK{wWOqt^7=qMo}arP{bhYrGW4)6l?HhQ`^hDc1^+GowjWXR)k`6)y6j^#I*cbs6| z;WSNn!j=fNnXmPe!#q4pJPdm0|Ct!?HJ?f5s*1*R*S~HD7AZLFkw{2o zwbk_3soQq!x+XT^g4DhEn(5PT?6o<1?to_8k1XwjhE^{gtEsi?tQZ5#jq literal 0 HcmV?d00001 diff --git a/graphics/interface/ball/poke.png b/graphics/interface/ball/poke.png new file mode 100644 index 0000000000000000000000000000000000000000..1e4aba66931e50c8a3c5866fc4e8ffbdd0d9d90e GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoQ!VDx|6+TY^aRPioT>t<7-^{?UhJoR#rsn@S z)j;l)DN`IB9VH|rfNV^VRWr>SsJF$_#W6%;>efC(zGed+*Ue8kW^yuHuRFr{fWz0) z@$ptR)&IYavV}Um3hMlK)c@1=KXZPIJ(yuA^|S2F?CFQz`UNH~oS1YYVQHcvgJ|BC z*Z|2jPff1pgrA?nD^qmr=h6J19ll$-eYgCscy%Pb e-&v|bLY4%5m_+|m!!{F)a=d#Wzp$PzgHFM4Y literal 0 HcmV?d00001 diff --git a/graphics/interface/ball/premier.png b/graphics/interface/ball/premier.png new file mode 100644 index 0000000000000000000000000000000000000000..f5aaadbaf580572393299c0fee4d360c12bba197 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoQ!VDx|6+TY^aRPioT>t<7-^{?UhJoR#rsn@S z)j;l)DN`IB9VH|rfNV^VRWr>SsCSL0i(`ny)Tw=rd`$)du7-NMOcf`Z&N<-K!d<|a z%*OAa5zVvl|F3WU+Pf4C&!xrP`gebNYBckbw{s>*E-g29bP=&hn0|qG1+WkyP$OV(2brO89&ngT?^QuF7Ii#>E&mp_5I#o UYn(qV0J@vO)78&qol`;+0MJy1!vFvP literal 0 HcmV?d00001 diff --git a/graphics/interface/ball/repeat.png b/graphics/interface/ball/repeat.png new file mode 100644 index 0000000000000000000000000000000000000000..5abe789a2fff519091c14cab8efa3673f1379084 GIT binary patch literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoQ!VDx|6+TY^aRPioT>t<7e=mvQS+l~sC651( zCIPuqrc7~kbd->gI6H^q|9>Dt0goMfHGz72JY5_^B&H@O9AGZUcW3T_iWt_pQ~Zese?$1@1zJw}VUHUZj<gTe~DWM4fta^89 literal 0 HcmV?d00001 diff --git a/graphics/interface/ball/safari.png b/graphics/interface/ball/safari.png new file mode 100644 index 0000000000000000000000000000000000000000..0dd49aef9187cf8d01a0d821f70aabf2b3166d92 GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoQ!VDx|6+TY^aRPioT>t<7KV^-;lA{V+?in8a z<_O|Wnd0c^C?O$nHcRu_lBECl<^ToZ;PV+Fb)eopPZ!4!iK)p62iQ)XUbyAbsh0|~ zVsBPnKf@$&Smj8SSVv&$o18r!GACwiy|Kqb@QB9z&{=vMm%^jsrp3+U3zCtFo5pr+ zs?;pDG=nM2mrh+A|5aoIW}g3N**= x*|SGLB{YnWao_*| literal 0 HcmV?d00001 diff --git a/graphics/interface/ball/timer.png b/graphics/interface/ball/timer.png new file mode 100644 index 0000000000000000000000000000000000000000..2b63f67953bb8246b8e8e9ee858c3b64f558e253 GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoQ!VDx|6+TY^aRPioT>t<7zlMR~sG;V)q@e$E zs)5`oQ>HjNI!Z`LY}v8}$VCP~O`c~O6oJ%cPZ!4!iK$cjH}V}a;Bn#hC`nzpYZF7f zzz;sD*xi@HEV4Dd{`|hN%t=91CGVrBXg3|?` zlQq&jJ|X*N%beM2_mp+TUpEgE-?ZZFvoR&zF1xmdU(U+(ExCG$MJd9X@k`-P_VZ2^ fZ^REZN6us4)9O*RC(LdZ(D@9Wu6{1-oD!Mt<7zolE?>>7nv&T57hYd9-0_0NWH$JIW}sTRq2eCx5|)Q=f#ty^OQ zBz2x{3Awa7T#1!ksb=2~z3CDMkL>E~Z0quEE&rHl`9$FX^MusUk9?~aHu@j<6MfkJ aIZNF(J)h~)A|HWnVeoYIb6Mw<&;$VC;&b2t literal 0 HcmV?d00001 diff --git a/graphics/interface/menu_map.bin b/graphics/interface/menu_map.bin new file mode 100644 index 0000000000000000000000000000000000000000..8a7b3f1f00b122f246f4b6a985185c287350a64d GIT binary patch literal 4096 zcmeH{%?^Sv5QHc32L-`V5rl*9|ClNq_Rw^j^a8=@T$*+#&CWI-prr(qz)}h9u*V@o zM-+H}b;22ChALb(;jhu)njzvg^}p2I^{x{5lLYAX>GSW-M^r7-{Cl#Cs^5g)=iiG% zRO8gYHyhn40VR-3z~x)Y?Get{*D|b|`R5VN*w-_xoB0=>o6C0V^?QUf_Kghd#J}I) F`~bYWHs=5U literal 0 HcmV?d00001 diff --git a/graphics/interface/wireless_link_display.bin b/graphics/interface/wireless_link_display.bin new file mode 100644 index 0000000000000000000000000000000000000000..1832ae850b41e9e196443b36e5d58c48f4f2d2e3 GIT binary patch literal 2048 zcmeIuS5p%K6vgqM5_HiZU5Y3jX`&!l0Hq@xq&IOl34H&Lph?KMVa%H^&g{KUch3Ev znR7_yUo?=BE89$}(-6{9^ZasSS={I07#=kaX*oaYM-Wd0`0{_m0N$*XW z_94c9^vP#4X3hEHtN9B2f<;S~tyr}d= literal 0 HcmV?d00001 diff --git a/graphics/interface/wireless_link_display.png b/graphics/interface/wireless_link_display.png new file mode 100644 index 0000000000000000000000000000000000000000..3946b9b225d1f7666e8e0fd0b5d0dd51401da2aa GIT binary patch literal 904 zcmV;319$w1P)i|2bNFbG`rG-u8p`v}$vMy~Wj>q_j#(S^xk563$uk0009M zNkl|_lX0@%I={K&&ory%$nc0J;I@Wzju z&%5&d7yiP#nt||xa4_tkqElLdJs76wL*E#^E~8UmtnB+`p#b*fChK4cTQI}HL@S_5 zB>)I0Y%4eGZ4f}g4-jzm!U2R(1WZ@m<&F*LH$uMCxD9f@pLz%=?bS<74QLyF{m? zR7WcaK-I_=06}JBKLnWGVekM`0A72#RkLdr`hoy}!xi)!ui?? zuZ8ep2=l>BJe=$Cd=SRIhpVFv@Ha{*yGb>cP!f`Ax|H^jN%i8ie)+|6@zs{A0y6+9S$6DXzmuaCMTtXT@Iz3$ zEd6NB;tz+$U*2c8jTfd?Ys(B^A_X8K>i7P##I^q<+jy%#R|04Z@FyIo!1O`A-LLUH z#-SYm{RDt;UWc}5MOy(u1wsO)GBMci13+v7Pyh&L)(N21Yv}88QvxGPvC^UWWLg08r4(YJuL;R5{U&fvQ1GeOVd z4YROm0eCyjI>XMU&L`mmX01BvVM|N6)>LciD}Znu4>~=0?V0Tsipn$SQws|U3BCD<`}=PQ)e$r0JX{fgT(~UjL&iI0L=1H0nj%N z0s2uqyWk@mDPFhqJ_ct3WWNK1M?2{j0Fu~ks9;o~D4$M6ucZV6;iovzw6|r5&-uW> zPu?!!;x_n|vbT&t&s>0XLF;I8Fu1khP+AT;yQgL=ldJ&1{a|n#=!`%a*;%C4pRf{d zN`m+kBopv40t~TB^HKs>F2k8`TUtI=AFTmHI<~k{Ar>NFjLt%ql`+#2lJjy|vs@=E zaw5E=03^cQ|C(-=tTrGaAu|$EeRy6viE5>%mL%#7kU1## zjV?j0yGgcG9_Xri>^67H$O6Wt*=&-)jO38^w0lU7B?$l~wL-*?2_YrW1W=H{OcE9W zKscMg$l<3E>uu5U5i2Bv@Nh6c0FZOXWC%CYg%Lz{1u2cJTQns6!Y9mnA!ej6gezAj zgK)zcq*dIFT_@*T4C`R0 zLy}4aVb0nD8 zt!CIS92^rB-yMs{=50;UUIvJ4RRePMw_3tXnC5J(A61MpscM$e8GMl@kv$qJrSP1V zDN!PO;9RDyP2*a@2sSX*;IgKWK)8a1B*@B?V5Gr%2o=0DhVzPkzsBBK8#zdGF)kv3 zm~tmzD7F(oC?O;mLEsI|z=FSP5|&~!KUVwq`-Pn!ybsW}^~nza31H_=cIh7l_KM>lihlB&y#)AvrjBr?wWtF` z4h;xkQuq@GtpMzHZ99N1fzyGnI0fKVh#mKP0DNn)f+#N)iBH2PzC<%lCEvQt;<0J_q19J+9jH z)>(Q4kRx%ya()NkJGUc%k+$-pIQNO@djMig0BS>>hXA{2Sdbj3@XQJufOgE|O8}|N zVK#qBf*%}JA6QgiTK}J5nP?FaXe+*nuzy=0_!8o+ss(i}^#;IrH@AING>+Uj7nB2l zC8xTCdw{A!*^YatQUGkGikpq+u>{+qvLrC`%0P3np~4*pdw_|9HYP0%hGl# Date: Sat, 6 Oct 2018 17:21:26 +0200 Subject: [PATCH 003/222] fix not building data.o --- data/data.s | 1 + graphics/trade/unknown_3379A0.bin | Bin 0 -> 2048 bytes graphics/trade/wireless_signal.bin | Bin 0 -> 2048 bytes graphics/trade/wireless_signal.png | Bin 0 -> 1307 bytes 4 files changed, 1 insertion(+) create mode 100644 graphics/trade/unknown_3379A0.bin create mode 100644 graphics/trade/wireless_signal.bin create mode 100644 graphics/trade/wireless_signal.png diff --git a/data/data.s b/data/data.s index 5cd626130..15a5b2120 100644 --- a/data/data.s +++ b/data/data.s @@ -12,6 +12,7 @@ gWirelessLinkDisplay4bpp:: @ 8231EE4 gWirelessLinkDisplayBin:: @ 823238C .incbin "graphics/interface/wireless_link_display.bin.lz" + .align 2 gUnknown_8232578:: @ 8232578 .incbin "baserom.gba", 0x232578, 0x20 diff --git a/graphics/trade/unknown_3379A0.bin b/graphics/trade/unknown_3379A0.bin new file mode 100644 index 0000000000000000000000000000000000000000..d1e364a2911bf8eafd93e6e3df048f9ee39ec4d4 GIT binary patch literal 2048 gcmazyh#!TcAut*OqaiRF0s{~N45MH)1O_k!02WS(Pyhe` literal 0 HcmV?d00001 diff --git a/graphics/trade/wireless_signal.bin b/graphics/trade/wireless_signal.bin new file mode 100644 index 0000000000000000000000000000000000000000..4ce5d18b89d6b4ff38d6e2d3e73a7c7fd4872ab8 GIT binary patch literal 2048 zcmaLU_g{{E7{>AYHnKAtl+4W1frAblGRw@KWk)1YA~U;bWrvK2tSBV@yC-*q9xt!& zFV_#(`*WVx_X;5JufxE<&tGg1ozNLw&=p|_V^?-zXLe%n@0||58@i(hdZHJ4qYuIn z&OYqTUhK&p?9OigZ~Wo=q96KW00v?ZA`povL@|;P9K?Yf!2ayVz8wqgK8R=x#t_6H z7DEw-VHl1P7{TEj#yAdTEMqu?gBktjm;CTSjKnC6Mm)w~EXH9xCSW2GkidzY!0{Z% zu^hvAj^-$i{JrqQC${QINCGe!Q!o|8G)zY_k~y8zNKWMxP9~VdNv(y%UtbaO!VJvB zEEuzqf;pIrd6x zd_fDo;v2s4D_i)5&HT(y{KzIY@&n(qf$#XX&Fh^S^j;s-s3v{XCw*44zNkfC^-bUW z)h+(wW`Fi4e{_=@{lV|u;CFuOfCH$}BR$p=Jyorq>AC9kLN8UXS9+~CdgIrA<$AyL z3)lI%pSjjg{lt&`$TcB@x~1E?qr1ANYTefZJ=8-#@O@YNp6~jOZ~K;S z`i84~-Pe3ILV`nVHY^xheAH6o!X@= z?baS;Yp?bxNBfnl1Ip7u9dw=#IM@4~<9*)iZ13@IXL*-*IvDZ+t<^fM*9L9WCT&)R zGPOlpwN2Z#Lp!|P+q~6Voaqd2_9k!i2Cw%zul=rD??0earD>5CYl)U>nU*VEE3{Ip zv|4Ml#;d)`E4{+$UhZXH>Lp(6MNV^SyAMd3p_!T`YqnA}M{_k#^R++=wa^PZ-}5}z zbDZMYwr6>!XIO1IG(Vt#5;aPblq6`frf90DX_~HNC40K3nV#w?o@_YDlRV0aKXtng zYGi9+wBj{JV>M3WH9-@Vpaf6!1dsPPkM$VGdvvQF*>-ck?f-p)prSQcLlmP}4ON_m zX}Cscgok^W<2=-{j`0u=cJ%MMeg5}CKz-Fu{WU-XHAoSPRFt9|=?D+Y<+MrQYhJaD}^%d%Kr=x`(^FTSwhtep@4`PU@^K>Z&k>xvRUlvpfB{ R^{-Cr|NrOt_2%E7@E`BJ12|nVs7H4&FL4 zej8wVSmTpit&J;g)pzgV2##ACJe0HP;=pfPeBiBvO&15g$}UeQMF97N=d-eC&_tfI z#BMg5y9wl{6)Xa>W9z){d$#0T;CIZ<-RKDae0J91cL0X~H9z2kfbnP^n~Pn-K#bAOoD?};?F_= zgL{VrtpS;ptdjHYcuNosNPuBfdJdK3dORio1HAn(%u0p9kypd2ox@<|WNYz<{1vZ` za~Z70%X+!`P__Y2@P`rSXaM*@;1Y19v)uQR0ICxMm&}V%;a?)I6=b>olpq)oUf;%- z3a=Bm0clYA*Q9)oD<%K~+@KVYU$2wIulPDaF|c1i0Ohak7s~MOYl+lzuFdIQpJX%% zaP-#s0gXHVZMjT_SJBNmSBK3Rzg&`l(Goo-km@cyfbJf~F9+fkaH(LL`TlbPuTBHp z==hI?xR%eHAZ0wfSRoq#o=3uXtsqMUmH-WiUml<9@5-S9O3)gJd`?tFj84v}Iv9Kt zxtv$46@^}^fJKkaaqu_ekE<06q_ni|EP8bA28<{CmJ_7Vokx!e*nsq&WjF|UcTz!} zKn!4bUh-u;yZ}^zB|rlog}==%Ffjpp0lb1}Kmr6l2-FpD0y7{D9s^$ly7ApT53kv~ zyE|!a%6~WU)x8WC^Ny1M1-Je%KDc)S%D)Zty$8qsJbsk`11KH@w7*zEOyIosR|#l` zu>wnQT#5gCKLDyf!6B3mtpZDc27qUQDGAsigbFkP7Uhk0nk3~<>It&$10x_VxUI9W=Jb)0N+|%&keug3)F1g$@b&+hNt{D42^R)DU69)R^%;(G$&AFKQ#kl`)B{7GF;RBLotOdwD z@qZzZ{SK8Ad=LS0KhAdqay)>apHBt&gTPt^zW%E~<_^F7m%#AnM1ubp_zhwpp|T}) R_pbl|002ovPDHLkV1l#qW#a$< literal 0 HcmV?d00001 From 0c6d127007b8e0830f89b06bded74ec3cb9cc512 Mon Sep 17 00:00:00 2001 From: paul Date: Sat, 6 Oct 2018 20:33:33 +0200 Subject: [PATCH 004/222] copy graphics_file_rules.mk from emerald and modify Makefile to get multi-graphic-sprites working --- Makefile | 2 + graphics_file_rules.mk | 671 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 673 insertions(+) create mode 100644 graphics_file_rules.mk diff --git a/Makefile b/Makefile index 04690e382..a7dc34802 100644 --- a/Makefile +++ b/Makefile @@ -88,6 +88,8 @@ clean: tidy tidy: rm -f $(ROM) $(ELF) $(MAP) rm -r build/* + +include graphics_file_rules.mk %.s: ; %.png: ; diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk new file mode 100644 index 000000000..fb250ad82 --- /dev/null +++ b/graphics_file_rules.mk @@ -0,0 +1,671 @@ +MONSTILLFRONTGFXDIR := graphics/pokemon/front_pics +MONBACKGFXDIR := graphics/pokemon/back_pics +MONFRONTGFXDIR := graphics/pokemon/anim_front_pics +MONPALDIR := graphics/pokemon/palettes +TILESETGFXDIR := data/tilesets +FONTGFXDIR := data/graphics/fonts +INTERFACEGFXDIR := graphics/interface +BTLANMSPRGFXDIR := graphics/battle_anims/sprites +UNUSEDGFXDIR := graphics/unused +UNKNOWNGFXDIR := graphics/unknown +BATINTGFXDIR := graphics/battle_interface +MASKSGFXDIR := graphics/battle_anims/masks +BATTRANSGFXDIR := graphics/battle_transitions +TYPESGFXDIR := graphics/types +RAYQUAZAGFXDIR := graphics/rayquaza_scene +ROULETTEGFXDIR := graphics/roulette +SLOTMACHINEGFXDIR := graphics/slot_machine +PKNAVGFXDIR := graphics/pokenav +PKNAVOPTIONSGFXDIR := graphics/pokenav/options +PSSGFXDIR := graphics/pokemon_storage +EVENTOBJGFXDIR := graphics/event_objects +MISCGFXDIR := graphics/misc + +types := normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark +contest_types := cool beauty cute smart tough + +$(MONSTILLFRONTGFXDIR)/castform_still_front_pic.4bpp: $(MONSTILLFRONTGFXDIR)/castform_normal_form_still_front_pic.4bpp \ + $(MONSTILLFRONTGFXDIR)/castform_sunny_form_still_front_pic.4bpp \ + $(MONSTILLFRONTGFXDIR)/castform_rainy_form_still_front_pic.4bpp \ + $(MONSTILLFRONTGFXDIR)/castform_snowy_form_still_front_pic.4bpp + @cat $^ >$@ + +$(MONBACKGFXDIR)/castform_back_pic.4bpp: $(MONBACKGFXDIR)/castform_normal_form_back_pic.4bpp \ + $(MONBACKGFXDIR)/castform_sunny_form_back_pic.4bpp \ + $(MONBACKGFXDIR)/castform_rainy_form_back_pic.4bpp \ + $(MONBACKGFXDIR)/castform_snowy_form_back_pic.4bpp + @cat $^ >$@ + +$(MONFRONTGFXDIR)/castform_front_pic.4bpp: $(MONFRONTGFXDIR)/castform_normal_form_front_pic.4bpp \ + $(MONFRONTGFXDIR)/castform_sunny_form_front_pic.4bpp \ + $(MONFRONTGFXDIR)/castform_rainy_form_front_pic.4bpp \ + $(MONFRONTGFXDIR)/castform_snowy_form_front_pic.4bpp + @cat $^ >$@ + +$(MONPALDIR)/castform_palette.gbapal: $(MONPALDIR)/castform_normal_form_palette.gbapal \ + $(MONPALDIR)/castform_sunny_form_palette.gbapal \ + $(MONPALDIR)/castform_rainy_form_palette.gbapal \ + $(MONPALDIR)/castform_snowy_form_palette.gbapal + @cat $^ >$@ + +$(MONPALDIR)/castform_shiny_palette.gbapal: $(MONPALDIR)/castform_normal_form_shiny_palette.gbapal \ + $(MONPALDIR)/castform_sunny_form_shiny_palette.gbapal \ + $(MONPALDIR)/castform_rainy_form_shiny_palette.gbapal \ + $(MONPALDIR)/castform_snowy_form_shiny_palette.gbapal + @cat $^ >$@ + +$(TILESETGFXDIR)/secondary/petalburg/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 159 + +$(TILESETGFXDIR)/secondary/rustboro/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 498 + +$(TILESETGFXDIR)/secondary/dewford/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 503 + +$(TILESETGFXDIR)/secondary/slateport/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 504 + +$(TILESETGFXDIR)/secondary/mauville/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 503 + +$(TILESETGFXDIR)/secondary/lavaridge/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 450 + +$(TILESETGFXDIR)/secondary/fortree/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 493 + +$(TILESETGFXDIR)/secondary/pacifidlog/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 504 + +$(TILESETGFXDIR)/secondary/sootopolis/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 328 + +$(TILESETGFXDIR)/secondary/battle_frontier_outside_west/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 508 + +$(TILESETGFXDIR)/secondary/battle_frontier_outside_east/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 508 + +$(TILESETGFXDIR)/primary/building/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 502 + +$(TILESETGFXDIR)/secondary/shop/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 502 + +$(TILESETGFXDIR)/secondary/pokemon_center/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 478 + +$(TILESETGFXDIR)/secondary/cave/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 425 + +$(TILESETGFXDIR)/secondary/pokemon_school/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 278 + +$(TILESETGFXDIR)/secondary/pokemon_fan_club/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 319 + +$(TILESETGFXDIR)/secondary/unused_1/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 17 + +$(TILESETGFXDIR)/secondary/meteor_falls/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 460 + +$(TILESETGFXDIR)/secondary/oceanic_museum/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 319 + +$(TILESETGFXDIR)/secondary/cable_club/unknown_tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 120 + +$(TILESETGFXDIR)/secondary/seashore_house/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 312 + +$(TILESETGFXDIR)/secondary/pretty_petal_flower_shop/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 345 + +$(TILESETGFXDIR)/secondary/pokemon_day_care/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 355 + +$(TILESETGFXDIR)/secondary/secret_base/brown_cave/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/brown_cave/tiles.png + $(GFX) $< $@ -num_tiles 82 + +$(TILESETGFXDIR)/secondary/secret_base/tree/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/tree/tiles.png + $(GFX) $< $@ -num_tiles 82 + +$(TILESETGFXDIR)/secondary/secret_base/shrub/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/shrub/tiles.png + $(GFX) $< $@ -num_tiles 82 + +$(TILESETGFXDIR)/secondary/secret_base/blue_cave/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/blue_cave/tiles.png + $(GFX) $< $@ -num_tiles 82 + +$(TILESETGFXDIR)/secondary/secret_base/yellow_cave/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/yellow_cave/tiles.png + $(GFX) $< $@ -num_tiles 82 + +$(TILESETGFXDIR)/secondary/secret_base/red_cave/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/red_cave/tiles.png + $(GFX) $< $@ -num_tiles 82 + +$(TILESETGFXDIR)/secondary/secret_base/brown_cave/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 83 + +$(TILESETGFXDIR)/secondary/secret_base/tree/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 83 + +$(TILESETGFXDIR)/secondary/secret_base/shrub/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 83 + +$(TILESETGFXDIR)/secondary/secret_base/blue_cave/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 83 + +$(TILESETGFXDIR)/secondary/secret_base/yellow_cave/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 83 + +$(TILESETGFXDIR)/secondary/secret_base/red_cave/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 83 + +$(TILESETGFXDIR)/secondary/inside_of_truck/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 62 + +$(TILESETGFXDIR)/secondary/contest/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 430 + +$(TILESETGFXDIR)/secondary/lilycove_museum/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 431 + +$(TILESETGFXDIR)/secondary/lab/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 500 + +$(TILESETGFXDIR)/secondary/underwater/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 500 + +$(TILESETGFXDIR)/secondary/generic_building/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 509 + +$(TILESETGFXDIR)/secondary/mauville_game_corner/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 469 + +$(TILESETGFXDIR)/secondary/unused_2/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 150 + +$(TILESETGFXDIR)/secondary/rustboro_gym/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 60 + +$(TILESETGFXDIR)/secondary/dewford_gym/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 61 + +$(TILESETGFXDIR)/secondary/lavaridge_gym/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 54 + +$(TILESETGFXDIR)/secondary/petalburg_gym/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 148 + +$(TILESETGFXDIR)/secondary/fortree_gym/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 61 + +$(TILESETGFXDIR)/secondary/mossdeep_gym/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 82 + +$(TILESETGFXDIR)/secondary/sootopolis_gym/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 484 + +$(TILESETGFXDIR)/secondary/trick_house_puzzle/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 294 + +$(TILESETGFXDIR)/secondary/inside_ship/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 342 + +$(TILESETGFXDIR)/secondary/elite_four/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 505 + +$(TILESETGFXDIR)/secondary/battle_frontier/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 310 + +$(TILESETGFXDIR)/secondary/battle_factory/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 424 + +$(TILESETGFXDIR)/secondary/battle_pike/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 382 + +$(TILESETGFXDIR)/secondary/mirage_tower/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 420 + +$(TILESETGFXDIR)/secondary/mossdeep_game_corner/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 95 + +$(TILESETGFXDIR)/secondary/island_harbor/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 503 + +$(TILESETGFXDIR)/secondary/trainer_hill/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 374 + +$(TILESETGFXDIR)/secondary/navel_rock/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 420 + +$(TILESETGFXDIR)/secondary/battle_frontier_ranking_hall/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 136 + +$(TILESETGFXDIR)/secondary/mystery_events_house/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 509 + +$(FONTGFXDIR)/font0.latfont: $(FONTGFXDIR)/font0_latin.png + $(GFX) $< $@ + +$(FONTGFXDIR)/font1.latfont: $(FONTGFXDIR)/font1_latin.png + $(GFX) $< $@ + +$(FONTGFXDIR)/font2.latfont: $(FONTGFXDIR)/font2_latin.png + $(GFX) $< $@ + +$(FONTGFXDIR)/font7.latfont: $(FONTGFXDIR)/font7_latin.png + $(GFX) $< $@ + +$(FONTGFXDIR)/font8.latfont: $(FONTGFXDIR)/font8_latin.png + $(GFX) $< $@ + +$(FONTGFXDIR)/font0.hwjpnfont: $(FONTGFXDIR)/font0_japanese.png + $(GFX) $< $@ + +$(FONTGFXDIR)/font1.hwjpnfont: $(FONTGFXDIR)/font1_japanese.png + $(GFX) $< $@ + +$(FONTGFXDIR)/font9.hwjpnfont: $(FONTGFXDIR)/font9_japanese.png + $(GFX) $< $@ + +$(FONTGFXDIR)/font2.fwjpnfont: $(FONTGFXDIR)/font2_japanese.png + $(GFX) $< $@ + +$(FONTGFXDIR)/font6.fwjpnfont: $(FONTGFXDIR)/font6_braille.png + $(GFX) $< $@ + +$(FONTGFXDIR)/unused_frlg_male.fwjpnfont: $(FONTGFXDIR)/unused_japanese_frlg_male_font.png + $(GFX) $< $@ + +$(FONTGFXDIR)/unused_frlg_female.fwjpnfont: $(FONTGFXDIR)/unused_japanese_frlg_female_font.png + $(GFX) $< $@ + +$(FONTGFXDIR)/down_arrow.4bpp: %.4bpp: %.png + $(GFX) $< $@ + +$(FONTGFXDIR)/down_arrow_rs.4bpp: %.4bpp: %.png + $(GFX) $< $@ + +$(FONTGFXDIR)/unused_frlg_blanked_down_arrow.4bpp: %.4bpp: %.png + $(GFX) $< $@ + +$(FONTGFXDIR)/unused_frlg_down_arrow.4bpp: %.4bpp: %.png + $(GFX) $< $@ + +$(FONTGFXDIR)/keypad_icons.4bpp: %.4bpp: %.png + $(GFX) $< $@ + +graphics/title_screen/pokemon_logo.gbapal: %.gbapal: %.pal + $(GFX) $< $@ -num_colors 224 + +graphics/link_games/pkmnjump_bg.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 63 + +graphics/pokenav/region_map.8bpp: %.8bpp: %.png + $(GFX) $< $@ -num_tiles 233 + +$(MISCGFXDIR)/japanese_hof.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 29 + +$(INTERFACEGFXDIR)/menu.gbapal: $(INTERFACEGFXDIR)/menu_0.gbapal \ + $(INTERFACEGFXDIR)/menu_1.gbapal + @cat $^ >$@ + +$(BTLANMSPRGFXDIR)/010.4bpp: $(BTLANMSPRGFXDIR)/010_0.4bpp \ + $(BTLANMSPRGFXDIR)/010_1.4bpp \ + $(BTLANMSPRGFXDIR)/010_2.4bpp \ + $(BTLANMSPRGFXDIR)/010_3.4bpp + @cat $^ >$@ + +$(UNUSEDGFXDIR)/obi_palpak1.gbapal: $(UNUSEDGFXDIR)/old_pal1.gbapal \ + $(UNUSEDGFXDIR)/old_pal2.gbapal \ + $(UNUSEDGFXDIR)/old_pal3.gbapal + @cat $^ >$@ + +$(UNUSEDGFXDIR)/obi_palpak3.gbapal: $(UNUSEDGFXDIR)/old_pal5.gbapal \ + $(UNUSEDGFXDIR)/old_pal6.gbapal \ + $(UNUSEDGFXDIR)/old_pal7.gbapal + @cat $^ >$@ + +$(UNUSEDGFXDIR)/obi1.4bpp: $(UNUSEDGFXDIR)/old_bulbasaur.4bpp \ + $(UNUSEDGFXDIR)/old_charizard.4bpp + @cat $^ >$@ + +$(UNUSEDGFXDIR)/obi2.4bpp: $(UNUSEDGFXDIR)/old_bulbasaur2.4bpp \ + $(UNUSEDGFXDIR)/old_battle_interface_1.4bpp \ + $(UNUSEDGFXDIR)/old_battle_interface_2.4bpp \ + $(UNUSEDGFXDIR)/old_battle_interface_3.4bpp + @cat $^ >$@ + +$(INTERFACEGFXDIR)/hp_numbers.4bpp: $(INTERFACEGFXDIR)/hpbar_anim.4bpp \ + $(INTERFACEGFXDIR)/numbers1.4bpp \ + $(INTERFACEGFXDIR)/numbers2.4bpp + @cat $^ >$@ + +$(UNUSEDGFXDIR)/redyellowgreen_frame.bin: $(UNUSEDGFXDIR)/red_frame.bin \ + $(UNUSEDGFXDIR)/yellow_frame.bin \ + $(UNUSEDGFXDIR)/green_frame.bin \ + $(UNUSEDGFXDIR)/blank_frame.bin + @cat $^ >$@ + +$(UNUSEDGFXDIR)/color_frames.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 353 + +$(BATINTGFXDIR)/unused_window2bar.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 5 + +$(UNUSEDGFXDIR)/old_contest.4bpp: $(UNUSEDGFXDIR)/old_contest_frame_1.4bpp \ + $(UNUSEDGFXDIR)/old_contest_floor.4bpp \ + $(UNUSEDGFXDIR)/old_contest_frame_2.4bpp \ + $(UNUSEDGFXDIR)/old_contest_symbols.4bpp \ + $(UNUSEDGFXDIR)/old_contest_meter.4bpp \ + $(UNUSEDGFXDIR)/old_contest_classes.4bpp \ + $(UNUSEDGFXDIR)/old_contest_numbers.4bpp + @cat $^ >$@ + +$(UNUSEDGFXDIR)/old_contest_2.4bpp: $(UNUSEDGFXDIR)/old_contest_2_1.4bpp \ + $(UNUSEDGFXDIR)/old_contest_2_2.4bpp + @cat $^ >$@ + +$(UNKNOWNGFXDIR)/unknown_C19470.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 36 + +$(BTLANMSPRGFXDIR)/141.4bpp: $(BTLANMSPRGFXDIR)/141_0.4bpp \ + $(BTLANMSPRGFXDIR)/141_1.4bpp \ + $(BTLANMSPRGFXDIR)/141_2.4bpp \ + $(BTLANMSPRGFXDIR)/141_3.4bpp \ + $(BTLANMSPRGFXDIR)/141_4.4bpp + @cat $^ >$@ + +$(BTLANMSPRGFXDIR)/074.4bpp: $(BTLANMSPRGFXDIR)/074_0.4bpp \ + $(BTLANMSPRGFXDIR)/074_1.4bpp + @cat $^ >$@ + +$(BTLANMSPRGFXDIR)/159.4bpp: $(BTLANMSPRGFXDIR)/159_0.4bpp \ + $(BTLANMSPRGFXDIR)/159_1.4bpp + @cat $^ >$@ + +$(BTLANMSPRGFXDIR)/001.4bpp: $(BTLANMSPRGFXDIR)/001_0.4bpp \ + $(BTLANMSPRGFXDIR)/001_1.4bpp + @cat $^ >$@ + +$(MASKSGFXDIR)/unknown_C2EA50.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 14 + +$(BATTRANSGFXDIR)/vs_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 16 + +$(INTERFACEGFXDIR)/party_menu_misc.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 62 + +$(TYPESGFXDIR)/move_types.4bpp: $(types:%=$(TYPESGFXDIR)/%.4bpp) $(contest_types:%=$(TYPESGFXDIR)/contest_%.4bpp) + @cat $^ >$@ + +$(TYPESGFXDIR)/move_types.gbapal: $(TYPESGFXDIR)/move_types_1.gbapal \ + $(TYPESGFXDIR)/move_types_2.gbapal \ + $(TYPESGFXDIR)/move_types_3.gbapal + @cat $^ >$@ + +$(INTERFACEGFXDIR)/bag_screen.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 53 + +$(RAYQUAZAGFXDIR)/rayquaza.8bpp: %.8bpp: %.png + $(GFX) $< $@ -num_tiles 227 + +$(RAYQUAZAGFXDIR)/overcast.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 313 + +$(RAYQUAZAGFXDIR)/rayquaza_fly1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 124 + +$(RAYQUAZAGFXDIR)/rayquaza_tail_fix.4bpp: $(RAYQUAZAGFXDIR)/rayquaza_tail.4bpp + cp $< $@ + head -c 12 /dev/zero >> $@ + +$(RAYQUAZAGFXDIR)/chase_streaks.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 19 + +$(RAYQUAZAGFXDIR)/rayquaza_chase.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 155 + +graphics/picture_frame/frame5.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 86 + +$(ROULETTEGFXDIR)/roulette_tilt.4bpp: $(ROULETTEGFXDIR)/shroomish.4bpp \ + $(ROULETTEGFXDIR)/tailow.4bpp + @cat $^ >$@ + +$(ROULETTEGFXDIR)/poke_icons2.4bpp: $(ROULETTEGFXDIR)/wynaut.4bpp \ + $(ROULETTEGFXDIR)/azurill.4bpp \ + $(ROULETTEGFXDIR)/skitty.4bpp \ + $(ROULETTEGFXDIR)/makuhita.4bpp + @cat $^ >$@ + +$(BATTRANSGFXDIR)/85BBC14.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 53 + +$(BATTRANSGFXDIR)/rayquaza.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 938 + +$(BATTRANSGFXDIR)/frontier_square_1.4bpp: $(BATTRANSGFXDIR)/frontier_squares_blanktiles.4bpp \ + $(BATTRANSGFXDIR)/frontier_squares_1.4bpp + @cat $^ >$@ + +$(BATTRANSGFXDIR)/frontier_square_2.4bpp: $(BATTRANSGFXDIR)/frontier_squares_blanktiles.4bpp \ + $(BATTRANSGFXDIR)/frontier_squares_2.4bpp + @cat $^ >$@ + +$(BATTRANSGFXDIR)/frontier_square_3.4bpp: $(BATTRANSGFXDIR)/frontier_squares_blanktiles.4bpp \ + $(BATTRANSGFXDIR)/frontier_squares_3.4bpp + @cat $^ >$@ + +$(BATTRANSGFXDIR)/frontier_square_4.4bpp: $(BATTRANSGFXDIR)/frontier_squares_blanktiles.4bpp \ + $(BATTRANSGFXDIR)/frontier_squares_4.4bpp + @cat $^ >$@ + +$(SLOTMACHINEGFXDIR)/reel_time_gfx.4bpp: $(SLOTMACHINEGFXDIR)/reel_time_pikachu.4bpp \ + $(SLOTMACHINEGFXDIR)/reel_time_machine.4bpp + @cat $^ >$@ + +$(UNUSEDGFXDIR)/intro_birch_beauty.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 822 + +$(PSSGFXDIR)/forest_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 55 + +$(PSSGFXDIR)/forest.4bpp: $(PSSGFXDIR)/forest_frame.4bpp $(PSSGFXDIR)/forest_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/city_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 52 + +$(PSSGFXDIR)/city.4bpp: $(PSSGFXDIR)/city_frame.4bpp $(PSSGFXDIR)/city_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/desert.4bpp: $(PSSGFXDIR)/desert_frame.4bpp $(PSSGFXDIR)/desert_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/savanna_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 45 + +$(PSSGFXDIR)/savanna_bg.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 23 + +$(PSSGFXDIR)/savanna.4bpp: $(PSSGFXDIR)/savanna_frame.4bpp $(PSSGFXDIR)/savanna_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/crag_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 49 + +$(PSSGFXDIR)/crag.4bpp: $(PSSGFXDIR)/crag_frame.4bpp $(PSSGFXDIR)/crag_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/volcano_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 56 + +$(PSSGFXDIR)/volcano.4bpp: $(PSSGFXDIR)/volcano_frame.4bpp $(PSSGFXDIR)/volcano_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/snow_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 57 + +$(PSSGFXDIR)/snow.4bpp: $(PSSGFXDIR)/snow_frame.4bpp $(PSSGFXDIR)/snow_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/cave_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 55 + +$(PSSGFXDIR)/cave.4bpp: $(PSSGFXDIR)/cave_frame.4bpp $(PSSGFXDIR)/cave_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/beach_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 46 + +$(PSSGFXDIR)/beach_bg.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 23 + +$(PSSGFXDIR)/beach.4bpp: $(PSSGFXDIR)/beach_frame.4bpp $(PSSGFXDIR)/beach_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/seafloor_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 54 + +$(PSSGFXDIR)/seafloor.4bpp: $(PSSGFXDIR)/seafloor_frame.4bpp $(PSSGFXDIR)/seafloor_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/river_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 51 + +$(PSSGFXDIR)/river_bg.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 11 + +$(PSSGFXDIR)/river.4bpp: $(PSSGFXDIR)/river_frame.4bpp $(PSSGFXDIR)/river_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/sky_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 45 + +$(PSSGFXDIR)/sky.4bpp: $(PSSGFXDIR)/sky_frame.4bpp $(PSSGFXDIR)/sky_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/polkadot_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 54 + +$(PSSGFXDIR)/polkadot.4bpp: $(PSSGFXDIR)/polkadot_frame.4bpp $(PSSGFXDIR)/polkadot_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/pokecenter_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 35 + +$(PSSGFXDIR)/pokecenter.4bpp: $(PSSGFXDIR)/pokecenter_frame.4bpp $(PSSGFXDIR)/pokecenter_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/machine_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 33 + +$(PSSGFXDIR)/machine.4bpp: $(PSSGFXDIR)/machine_frame.4bpp $(PSSGFXDIR)/machine_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/plain_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 18 + +$(PSSGFXDIR)/plain.4bpp: $(PSSGFXDIR)/plain_frame.4bpp $(PSSGFXDIR)/plain_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/friends_frame1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 57 + +$(PSSGFXDIR)/friends_frame2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 57 + +$(PSSGFXDIR)/zigzagoon.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/zigzagoon_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/screen.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/screen_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/horizontal.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/horizontal_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/diagonal.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/diagonal_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/block.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/block_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/ribbon.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/ribbon_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/pokecenter2.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/pokecenter2_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/frame.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/frame_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/blank.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/blank_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/circles.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/circles_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/azumarill.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/azumarill_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/pikachu.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/pikachu_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/legendary.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/legendary_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/dusclops.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/dusclops_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/ludicolo.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/ludicolo_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/whiscash.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/whiscash_bg.4bpp + @cat $^ >$@ + +$(EVENTOBJGFXDIR)/pics/effects/unknown_4F6D38/0.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 11 + +$(INTERFACEGFXDIR)/selector_outline.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 8 + +$(BATTRANSGFXDIR)/frontier_transition.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 43 + +$(PKNAVOPTIONSGFXDIR)/options.4bpp: $(PKNAVOPTIONSGFXDIR)/hoenn_map.4bpp \ + $(PKNAVOPTIONSGFXDIR)/condition.4bpp \ + $(PKNAVOPTIONSGFXDIR)/match_call.4bpp \ + $(PKNAVOPTIONSGFXDIR)/ribbons.4bpp \ + $(PKNAVOPTIONSGFXDIR)/switch_off.4bpp \ + $(PKNAVOPTIONSGFXDIR)/party.4bpp \ + $(PKNAVOPTIONSGFXDIR)/search.4bpp \ + $(PKNAVOPTIONSGFXDIR)/cool.4bpp \ + $(PKNAVOPTIONSGFXDIR)/beauty.4bpp \ + $(PKNAVOPTIONSGFXDIR)/cute.4bpp \ + $(PKNAVOPTIONSGFXDIR)/smart.4bpp \ + $(PKNAVOPTIONSGFXDIR)/tough.4bpp \ + $(PKNAVOPTIONSGFXDIR)/cancel.4bpp + @cat $^ >$@ + +$(PKNAVGFXDIR)/header.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 53 + +$(PKNAVGFXDIR)/outline.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 53 + +$(PKNAVGFXDIR)/ui_matchcall.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 13 + +$(INTERFACEGFXDIR)/region_map.8bpp: %.8bpp: %.png + $(GFX) $< $@ -num_tiles 232 + +$(INTERFACEGFXDIR)/region_map_affine.8bpp: %.8bpp: %.png + $(GFX) $< $@ -num_tiles 233 + +$(MISCGFXDIR)/birch_help.4bpp: $(MISCGFXDIR)/birch_bag.4bpp $(MISCGFXDIR)/birch_grass.4bpp + @cat $^ >$@ From 1ee1ebe23a49bbbc040a43e0e6fb81badc588f22 Mon Sep 17 00:00:00 2001 From: paul Date: Sun, 7 Oct 2018 00:16:05 +0200 Subject: [PATCH 005/222] push through first incbin, two files are apparently missing --- asm/pokeball.s | 4 +- data/graphics.s | 489 +++++++++++++++++- graphics/battle_anims/sprites/000.png | Bin 0 -> 223 bytes graphics/battle_anims/sprites/003.png | Bin 0 -> 197 bytes graphics/battle_anims/sprites/004.png | Bin 0 -> 233 bytes graphics/battle_anims/sprites/005.png | Bin 0 -> 200 bytes graphics/battle_anims/sprites/006.png | Bin 0 -> 275 bytes graphics/battle_anims/sprites/007.png | Bin 0 -> 334 bytes graphics/battle_anims/sprites/008.png | Bin 0 -> 147 bytes graphics/battle_anims/sprites/009.png | Bin 0 -> 635 bytes graphics/battle_anims/sprites/010.pal | 19 + graphics/battle_anims/sprites/010_0.png | Bin 0 -> 346 bytes graphics/battle_anims/sprites/010_1.png | Bin 0 -> 272 bytes graphics/battle_anims/sprites/010_2.png | Bin 0 -> 257 bytes graphics/battle_anims/sprites/010_3.png | Bin 0 -> 222 bytes graphics/battle_anims/sprites/011.png | Bin 0 -> 212 bytes graphics/battle_anims/sprites/012.png | Bin 0 -> 199 bytes graphics/battle_anims/sprites/013.png | Bin 0 -> 161 bytes graphics/battle_anims/sprites/015.png | Bin 0 -> 199 bytes graphics/battle_anims/sprites/016.png | Bin 0 -> 198 bytes graphics/battle_anims/sprites/017.png | Bin 0 -> 149 bytes graphics/battle_anims/sprites/019.png | Bin 0 -> 255 bytes graphics/battle_anims/sprites/020.png | Bin 0 -> 260 bytes graphics/battle_anims/sprites/021.png | Bin 0 -> 671 bytes graphics/battle_anims/sprites/022.pal | 19 + graphics/battle_anims/sprites/023.png | Bin 0 -> 312 bytes graphics/battle_anims/sprites/024.png | Bin 0 -> 231 bytes graphics/battle_anims/sprites/025.png | Bin 0 -> 274 bytes graphics/battle_anims/sprites/026.png | Bin 0 -> 671 bytes graphics/battle_anims/sprites/027.png | Bin 0 -> 619 bytes graphics/battle_anims/sprites/028.png | Bin 0 -> 707 bytes graphics/battle_anims/sprites/029.png | Bin 0 -> 537 bytes graphics/battle_anims/sprites/030.png | Bin 0 -> 761 bytes graphics/battle_anims/sprites/031.png | Bin 0 -> 736 bytes graphics/battle_anims/sprites/032.png | Bin 0 -> 283 bytes graphics/battle_anims/sprites/033.png | Bin 0 -> 1916 bytes graphics/battle_anims/sprites/034.png | Bin 0 -> 850 bytes graphics/battle_anims/sprites/035.png | Bin 0 -> 721 bytes graphics/battle_anims/sprites/036.png | Bin 0 -> 783 bytes graphics/battle_anims/sprites/037.png | Bin 0 -> 645 bytes graphics/battle_anims/sprites/038.png | Bin 0 -> 386 bytes graphics/battle_anims/sprites/039.png | Bin 0 -> 590 bytes graphics/battle_anims/sprites/040.png | Bin 0 -> 362 bytes graphics/battle_anims/sprites/041.png | Bin 0 -> 249 bytes graphics/battle_anims/sprites/042.png | Bin 0 -> 633 bytes graphics/battle_anims/sprites/043.png | Bin 0 -> 864 bytes graphics/battle_anims/sprites/044.png | Bin 0 -> 500 bytes graphics/battle_anims/sprites/045.png | Bin 0 -> 422 bytes graphics/battle_anims/sprites/115.png | Bin 0 -> 267 bytes graphics/battle_anims/sprites/146.png | Bin 0 -> 253 bytes graphics/battle_anims/sprites/152.png | Bin 0 -> 175 bytes graphics/battle_anims/sprites/161.png | Bin 0 -> 143 bytes graphics/battle_interface/unused_window.png | Bin 0 -> 608 bytes graphics/interface/ball_open.png | Bin 0 -> 215 bytes graphics/interface/blank.pal | 19 + graphics/interface/blank.png | Bin 0 -> 88 bytes graphics/interface/party_menu_hpbar.png | Bin 0 -> 136 bytes graphics/unknown/party_menu_hpbar.png | Bin 0 -> 136 bytes graphics/unknown/unknown_D035A0.png | Bin 0 -> 156 bytes graphics/unknown/unknown_D06D80.png | Bin 0 -> 181 bytes graphics/unknown/unknown_D06D80_2.pal | 35 ++ graphics/unknown/unused_window.png | Bin 0 -> 608 bytes graphics/unused/battle_anim_023.pal | 19 + graphics/unused/music_notes.png | Bin 0 -> 310 bytes graphics/unused/old_battle_interface_1.png | Bin 0 -> 524 bytes graphics/unused/old_battle_interface_2.png | Bin 0 -> 198 bytes graphics/unused/old_battle_interface_3.png | Bin 0 -> 226 bytes .../unused/old_battle_interface_tilemap.bin | Bin 0 -> 2048 bytes graphics/unused/old_bulbasaur.png | Bin 0 -> 490 bytes graphics/unused/old_bulbasaur2.png | Bin 0 -> 520 bytes graphics/unused/old_charizard.png | Bin 0 -> 335 bytes graphics/unused/old_pal1.pal | 19 + graphics/unused/old_pal2.pal | 19 + graphics/unused/old_pal3.pal | 19 + graphics/unused/old_pal4.pal | 19 + graphics/unused/old_pal5.pal | 19 + graphics/unused/old_pal6.pal | 19 + graphics/unused/old_pal7.pal | 19 + 78 files changed, 730 insertions(+), 7 deletions(-) create mode 100644 graphics/battle_anims/sprites/000.png create mode 100644 graphics/battle_anims/sprites/003.png create mode 100644 graphics/battle_anims/sprites/004.png create mode 100644 graphics/battle_anims/sprites/005.png create mode 100644 graphics/battle_anims/sprites/006.png create mode 100644 graphics/battle_anims/sprites/007.png create mode 100644 graphics/battle_anims/sprites/008.png create mode 100644 graphics/battle_anims/sprites/009.png create mode 100644 graphics/battle_anims/sprites/010.pal create mode 100644 graphics/battle_anims/sprites/010_0.png create mode 100644 graphics/battle_anims/sprites/010_1.png create mode 100644 graphics/battle_anims/sprites/010_2.png create mode 100644 graphics/battle_anims/sprites/010_3.png create mode 100644 graphics/battle_anims/sprites/011.png create mode 100644 graphics/battle_anims/sprites/012.png create mode 100644 graphics/battle_anims/sprites/013.png create mode 100644 graphics/battle_anims/sprites/015.png create mode 100644 graphics/battle_anims/sprites/016.png create mode 100644 graphics/battle_anims/sprites/017.png create mode 100644 graphics/battle_anims/sprites/019.png create mode 100644 graphics/battle_anims/sprites/020.png create mode 100644 graphics/battle_anims/sprites/021.png create mode 100644 graphics/battle_anims/sprites/022.pal create mode 100644 graphics/battle_anims/sprites/023.png create mode 100644 graphics/battle_anims/sprites/024.png create mode 100644 graphics/battle_anims/sprites/025.png create mode 100644 graphics/battle_anims/sprites/026.png create mode 100644 graphics/battle_anims/sprites/027.png create mode 100644 graphics/battle_anims/sprites/028.png create mode 100644 graphics/battle_anims/sprites/029.png create mode 100644 graphics/battle_anims/sprites/030.png create mode 100644 graphics/battle_anims/sprites/031.png create mode 100644 graphics/battle_anims/sprites/032.png create mode 100644 graphics/battle_anims/sprites/033.png create mode 100644 graphics/battle_anims/sprites/034.png create mode 100644 graphics/battle_anims/sprites/035.png create mode 100644 graphics/battle_anims/sprites/036.png create mode 100644 graphics/battle_anims/sprites/037.png create mode 100644 graphics/battle_anims/sprites/038.png create mode 100644 graphics/battle_anims/sprites/039.png create mode 100644 graphics/battle_anims/sprites/040.png create mode 100644 graphics/battle_anims/sprites/041.png create mode 100644 graphics/battle_anims/sprites/042.png create mode 100644 graphics/battle_anims/sprites/043.png create mode 100644 graphics/battle_anims/sprites/044.png create mode 100644 graphics/battle_anims/sprites/045.png create mode 100644 graphics/battle_anims/sprites/115.png create mode 100644 graphics/battle_anims/sprites/146.png create mode 100644 graphics/battle_anims/sprites/152.png create mode 100644 graphics/battle_anims/sprites/161.png create mode 100644 graphics/battle_interface/unused_window.png create mode 100644 graphics/interface/ball_open.png create mode 100644 graphics/interface/blank.pal create mode 100644 graphics/interface/blank.png create mode 100644 graphics/interface/party_menu_hpbar.png create mode 100644 graphics/unknown/party_menu_hpbar.png create mode 100644 graphics/unknown/unknown_D035A0.png create mode 100644 graphics/unknown/unknown_D06D80.png create mode 100644 graphics/unknown/unknown_D06D80_2.pal create mode 100644 graphics/unknown/unused_window.png create mode 100644 graphics/unused/battle_anim_023.pal create mode 100644 graphics/unused/music_notes.png create mode 100644 graphics/unused/old_battle_interface_1.png create mode 100644 graphics/unused/old_battle_interface_2.png create mode 100644 graphics/unused/old_battle_interface_3.png create mode 100644 graphics/unused/old_battle_interface_tilemap.bin create mode 100644 graphics/unused/old_bulbasaur.png create mode 100644 graphics/unused/old_bulbasaur2.png create mode 100644 graphics/unused/old_charizard.png create mode 100644 graphics/unused/old_pal1.pal create mode 100644 graphics/unused/old_pal2.pal create mode 100644 graphics/unused/old_pal3.pal create mode 100644 graphics/unused/old_pal4.pal create mode 100644 graphics/unused/old_pal5.pal create mode 100644 graphics/unused/old_pal6.pal create mode 100644 graphics/unused/old_pal7.pal diff --git a/asm/pokeball.s b/asm/pokeball.s index 5408e5567..cc24efb91 100644 --- a/asm/pokeball.s +++ b/asm/pokeball.s @@ -2811,7 +2811,7 @@ _0804BF2C: bl GetSpriteTileStartByTag adds r1, r0, 0 lsls r1, 16 - ldr r0, _0804BF5C @ =gUnknown_8D022E8 + ldr r0, _0804BF5C @ =gBallOpen4bpp lsrs r1, 11 ldr r2, _0804BF60 @ =0x06010100 adds r1, r2 @@ -2824,7 +2824,7 @@ _0804BF48: _0804BF50: .4byte gUnknown_826056C _0804BF54: .4byte 0xffff0000 _0804BF58: .4byte gUnknown_82605CC -_0804BF5C: .4byte gUnknown_8D022E8 +_0804BF5C: .4byte gBallOpen4bpp _0804BF60: .4byte 0x06010100 thumb_func_end LoadBallGfx diff --git a/data/graphics.s b/data/graphics.s index 62234423a..8b7d09760 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -21,8 +21,6 @@ gUnknown_8D00BD0:: @ 8D00BD0 gUnknown_8D00BE8:: @ 8D00BE8 .incbin "baserom.gba", 0xD00BE8, 0x18 -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - .align 2 gOldCharmap4bpp:: @ 8D00C00 .incbin "graphics/unused/old_charmap.4bpp.lz" @from ruby @@ -139,10 +137,491 @@ gBallPremier4bpp:: @ 8D021D8 gBallPremierGbapal:: @ 8D022C8 .incbin "graphics/interface/ball/premier.gbapal.lz" -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + .align 2 +gBallOpen4bpp:: @ 8D022E8 + .incbin "graphics/interface/ball_open.4bpp.lz" + + .align 2 +gBlank4bpp:: @ 8D02364 + .incbin "graphics/interface/blank.4bpp.lz" + + .align 2 +gSprite1464bpp:: @ 8D02460 + .incbin "graphics/battle_anims/sprites/146.4bpp.lz" + + .align 2 +gSprite0004bpp:: @ 8D02520 + .incbin "graphics/battle_anims/sprites/000.4bpp.lz" + + .align 2 +gSprite0034bpp:: @ 8D025D0 + .incbin "graphics/battle_anims/sprites/003.4bpp.lz" + + .align 2 +gSprite0044bpp:: @ 8D02644 + .incbin "graphics/battle_anims/sprites/004.4bpp.lz" + + .align 2 +gSprite0054bpp:: @ 8D026F4 + .incbin "graphics/battle_anims/sprites/005.4bpp.lz" + + .align 2 +gSprite0064bpp:: @ 8D027C8 + .incbin "graphics/battle_anims/sprites/006.4bpp.lz" + + .align 2 +gSprite115Gbapal:: @ 8D02894 + .incbin "graphics/battle_anims/sprites/115.gbapal.lz" + + .align 2 +gSprite000Gbapal:: @ 8D028B4 + .incbin "graphics/battle_anims/sprites/000.gbapal.lz" + + .align 2 +gSprite003Gbapal:: @ 8D028D8 + .incbin "graphics/battle_anims/sprites/003.gbapal.lz" + + .align 2 +gSprite004Gbapal:: @ 8D02900 + .incbin "graphics/battle_anims/sprites/004.gbapal.lz" + + .align 2 +gSprite005Gbapal:: @ 8D02914 + .incbin "graphics/battle_anims/sprites/005.gbapal.lz" + + .align 2 +gSprite006Gbapal:: @ 8D0293C + .incbin "graphics/battle_anims/sprites/006.gbapal.lz" + + .align 2 +gSprite1614bpp:: @ 8D02964 + .incbin "graphics/battle_anims/sprites/161.4bpp.lz" + + .align 2 +gSprite161Gbapal:: @ 8D0298C + .incbin "graphics/battle_anims/sprites/161.gbapal.lz" + + .align 2 +gSprite0074bpp:: @ 8D029B4 + .incbin "graphics/battle_anims/sprites/007.4bpp.lz" + + .align 2 +gSprite0074Gbapal:: @ 8D02B30 + .incbin "graphics/battle_anims/sprites/007.gbapal.lz" + + .align 2 +gSprite0084bpp:: @ 8D02B50 + .incbin "graphics/battle_anims/sprites/008.4bpp.lz" + + .align 2 +gSprite008Gbapal:: @ 8D02B70 + .incbin "graphics/battle_anims/sprites/008.gbapal.lz" + + .align 2 +gSprite010Gbapal:: @ 8D02B8C + .incbin "graphics/battle_anims/sprites/010.gbapal.lz" + + .align 2 +gSprite0104bpp:: @ 8D02BAC + .incbin "graphics/battle_anims/sprites/010.4bpp.lz" + + .align 2 +gSprite0094bpp:: @ 8D02F8C + .incbin "graphics/battle_anims/sprites/009.4bpp.lz" + + .align 2 +gSprite009Gbapal:: @ 8D03274 + .incbin "graphics/battle_anims/sprites/009.gbapal.lz" + @ BEGINHERE + .align 2 +gSprite0114bpp:: @ 8D03294 + .incbin "graphics/battle_anims/sprites/011.4bpp.lz" + + .align 2 +gSprite011Gbapal:: @ 8D0330C + .incbin "graphics/battle_anims/sprites/011.gbapal.lz" + + .align 2 +gSprite0124bpp:: @ 8D03334 + .incbin "graphics/battle_anims/sprites/012.4bpp.lz" + + .align 2 +gSprite012Gbapal:: @ 8D0339C + .incbin "graphics/battle_anims/sprites/012.gbapal.lz" + + .align 2 +gSprite1524bpp:: @ 8D033B4 + .incbin "graphics/battle_anims/sprites/152.4bpp.lz" + + .align 2 +gSprite152Gbapal:: @ 8D033FC + .incbin "graphics/battle_anims/sprites/152.gbapal.lz" + + .align 2 +gSprite0134bpp:: @ 8D03420 + .incbin "graphics/battle_anims/sprites/013.4bpp.lz" + + .align 2 +gSprite013Gbapal:: @ 8D03454 + .incbin "graphics/battle_anims/sprites/013.gbapal.lz" + + .align 2 +gSprite0154bpp:: @ 8D0346C + .incbin "graphics/battle_anims/sprites/015.4bpp.lz" + + .align 2 +gSprite015Gbapal:: @ 8D034D8 + .incbin "graphics/battle_anims/sprites/015.gbapal.lz" + + .align 2 +gSprite0164bpp:: @ 8D03500 + .incbin "graphics/battle_anims/sprites/016.4bpp.lz" + + .align 2 +gSprite016Gbapal:: @ 8D03570 + .incbin "graphics/battle_anims/sprites/016.gbapal.lz" + + .align 2 +gSprite0174bpp:: @ 8D03580 + .incbin "graphics/battle_anims/sprites/017.4bpp.lz" + + .align 2 +gUnknown_8D035A0:: @ 8D035A0 + .incbin "graphics/unknown/unknown_D035A0.4bpp.lz" + + .align 2 +gSprite019Gbapal:: @ 8D035C4 + .incbin "graphics/battle_anims/sprites/019.gbapal.lz" + + .align 2 +gSprite0194bpp:: @ 8D035E0 + .incbin "graphics/battle_anims/sprites/019.4bpp.lz" + + .align 2 +gSprite0204bpp:: @ 8D036A0 + .incbin "graphics/battle_anims/sprites/020.4bpp.lz" + + .align 2 +gSprite020Gbapal:: @ 8D0376C + .incbin "graphics/battle_anims/sprites/020.gbapal.lz" + + .align 2 +gSprite023Gbapal:: @ 8D03794 + .incbin "graphics/battle_anims/sprites/023.gbapal.lz" + + .align 2 +gSprite0234bpp:: @ 8D037BC + .incbin "graphics/battle_anims/sprites/023.4bpp.lz" + + .align 2 +gSprite023UnusedGbapal:: @ 8D038C4 + .incbin "graphics/unused/battle_anim_023.gbapal.lz" + + .align 2 +gSpriteMusicNotes4bpp:: @ 8D038EC + .incbin "graphics/unused/music_notes.4bpp.lz" + + .align 2 +gSprite021Gbapal:: @ 8D039E8 + .incbin "graphics/battle_anims/sprites/021.gbapal.lz" + + .align 2 +gSprite0214bpp:: @ 8D03A10 + .incbin "graphics/battle_anims/sprites/021.4bpp.lz" + + .align 2 +gSprite022Gbapal:: @ 8D03D48 + .incbin "graphics/battle_anims/sprites/022.gbapal.lz" + + .align 2 +gSprite025Gbapal:: @ 8D03D70 + .incbin "graphics/battle_anims/sprites/025.gbapal.lz" + + .align 2 +gSprite0254bpp:: @ 8D03D98 + .incbin "graphics/battle_anims/sprites/025.4bpp.lz" + + .align 2 +gSprite0244bpp:: @ 8D03E88 + .incbin "graphics/battle_anims/sprites/024.4bpp.lz" + + .align 2 +gSprite024Gbapal:: @ 8D03F54 + .incbin "graphics/battle_anims/sprites/024.gbapal.lz" + + .align 2 +gSprite0314bpp:: @ 8D03F68 + .incbin "graphics/battle_anims/sprites/031.4bpp.lz" + + .align 2 +gSprite031Gbapal:: @ 8D04348 + .incbin "graphics/battle_anims/sprites/031.gbapal.lz" + + .align 2 +gSprite032Gbapal:: @ 8D04368 + .incbin "graphics/battle_anims/sprites/032.gbapal.lz" + + .align 2 +gSprite0324bpp:: @ 8D04390 + .incbin "graphics/battle_anims/sprites/032.4bpp.lz" + + .align 2 +gSprite0264bpp:: @ 8D0447C + .incbin "graphics/battle_anims/sprites/026.4bpp.lz" + + .align 2 +gSprite026Gbapal:: @ 8D047B4 + .incbin "graphics/battle_anims/sprites/026.gbapal.lz" + + .align 2 +gSprite027Gbapal:: @ 8D047DC + .incbin "baserom.gba", 0xD047DC, 0x28 @ this should be 027.gbapal.lz but my matcher didnt pick it up... + + .align 2 +gSprite0274bpp:: @ 8D04804 + .incbin "graphics/battle_anims/sprites/027.4bpp.lz" + -gUnknown_8D022E8:: @ 8D022E8 - .incbin "baserom.gba", 0xD022E8, 0x70F0 + + .align 2 +gSprite028Gbapal:: @ 8D04B00 + .incbin "graphics/battle_anims/sprites/028.gbapal.lz" + + + + .align 2 +gSprite0284bpp:: @ 8D04B28 + .incbin "graphics/battle_anims/sprites/028.4bpp.lz" + + + + .align 2 +gSprite0294bpp:: @ 8D04E78 + .incbin "graphics/battle_anims/sprites/029.4bpp.lz" + + + + .align 2 +gSprite029Gbapal:: @ 8D05130 + .incbin "graphics/battle_anims/sprites/029.gbapal.lz" + + + + + .align 2 +gSprite0304bpp:: @ 8D05158 + .incbin "graphics/battle_anims/sprites/030.4bpp.lz" + + + + .align 2 +gSprite030Gbapal:: @ 8D05518 + .incbin "graphics/battle_anims/sprites/030.gbapal.lz" + + + + .align 2 +gSprite033Gbapal:: @ 8D0553C + .incbin "graphics/battle_anims/sprites/033.gbapal.lz" + + + + .align 2 +gSprite0334bpp:: @ 8D05564 + .incbin "graphics/battle_anims/sprites/033.4bpp.lz" + + + + .align 2 +gSprite0344bpp:: @ 8D05ED4 + .incbin "graphics/battle_anims/sprites/034.4bpp.lz" + + + + .align 2 +gSprite0354bpp:: @ 8D062A0 + .incbin "graphics/battle_anims/sprites/035.4bpp.lz" + + + + .align 2 +gSprite036Gbapal:: @ 8D06638 + .incbin "graphics/battle_anims/sprites/036.gbapal.lz" + + + + .align 2 +gSprite0364bpp:: @ 8D06660 + .incbin "graphics/battle_anims/sprites/036.4bpp.lz" + + + + .align 2 +gSprite0374bpp:: @ 8D06A34 + .incbin "graphics/battle_anims/sprites/037.4bpp.lz" + + + + + .align 2 +gUnknown_D06D804bpp:: @ 8D06D80 + .incbin "graphics/unknown/unknown_D06D80.4bpp.lz" + + + + + .align 2 +gUnknown_D06D80Gbapal:: @ 8D06DC4 + .incbin "graphics/unknown/unknown_D06D80.gbapal.lz" + + + + + .align 2 +gUnknown_D06D80Gbapal2:: @ 8D06DD8 + .incbin "graphics/unknown/unknown_D06D80_2.gbapal.lz" + + + + + .align 2 +gUnusedObi14bpp:: @ 8D06E0C + .incbin "graphics/unused/obi1.4bpp.lz" + + + + .align 2 +gUnusedObiPalpak1Gbapal:: @ 8D07170 + .incbin "graphics/unused/obi_palpak1.gbapal.lz" + + + + .align 2 +gUnusedOldPal4Gbapal:: @ 8D071B4 + .incbin "graphics/unused/old_pal4.gbapal.lz" + + + + .align 2 +gUnusedObiPalpak3Gbapal:: @ 8D071CC + .incbin "graphics/unused/obi_palpak3.gbapal.lz" + + + + .align 2 +gUnusedObi24bpp:: @ 8D07224 + .incbin "graphics/unused/obi2.4bpp.lz" + + + + .align 2 +gUnusedOldBattleInterfaceTilemapBin:: @ 8D077EC + .incbin "graphics/unused/old_battle_interface_tilemap.bin.lz" + + + + + .align 2 +gSprite038Gbapal:: @ 8D078FC + .incbin "graphics/battle_anims/sprites/038.gbapal.lz" + + + + .align 2 +gSprite039Gbapal:: @ 8D07924 + .incbin "graphics/battle_anims/sprites/039.gbapal.lz" + + + + .align 2 +gSprite0384bpp:: @ 8D0794C + .incbin "graphics/battle_anims/sprites/038.4bpp.lz" + + + + .align 2 +gSprite0394bpp:: @ 8D07B70 + .incbin "graphics/battle_anims/sprites/039.4bpp.lz" + + + + .align 2 +gSprite0404bpp:: @ 8D07E6C + .incbin "graphics/battle_anims/sprites/040.4bpp.lz" + + + + + .align 2 +gSprite0414bpp:: @ 8D08078 + .incbin "graphics/battle_anims/sprites/041.4bpp.lz" + + + + .align 2 +gIntefacePartyMenuHpBar4bpp:: @ 8D08218 + .incbin "graphics/interface/party_menu_hpbar.4bpp.lz" + + + + .align 2 +gSprite0424bpp:: @ 8D082AC + .incbin "graphics/battle_anims/sprites/042.4bpp.lz" + + + + .align 2 +gSprite042Gbapal:: @ 8D0857C + .incbin "graphics/battle_anims/sprites/042.gbapal.lz" + + + + .align 2 +gSprite0434bpp:: @ 8D085A4 + .incbin "graphics/battle_anims/sprites/043.4bpp.lz" + + + + .align 2 +gSprite043Gbapal:: @ 8D089A4 + .incbin "graphics/battle_anims/sprites/043.gbapal.lz" + + + .align 2 +gSprite044Gbapal:: @ 8D089CC + .incbin "baserom.gba", 0xD089CC, 0x28 @ this should be 044.gbapal.lz but my matched didnt pick it up... + + + .align 2 +gSprite0444bpp:: @ 8D089F4 + .incbin "graphics/battle_anims/sprites/044.4bpp.lz" + + + + .align 2 +gSprite045Gbapal:: @ 8D08C60 + .incbin "graphics/battle_anims/sprites/045.gbapal.lz" + + + + .align 2 +gSprite0454bpp:: @ 8D08C88 + .incbin "graphics/battle_anims/sprites/045.4bpp.lz" + + + + .align 2 +gBattleInterfaceUnusedWindow4bpp:: @ 8D08EF4 + .incbin "graphics/battle_interface/unused_window.4bpp.lz" + + + + .align 2 +gBattleInterfaceUnusedWindowGbapal:: @ 8D093B0 + .incbin "graphics/battle_interface/unused_window.gbapal.lz" + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; gUnknown_8D093D8:: @ 8D093D8 .incbin "baserom.gba", 0xD093D8, 0x87EC diff --git a/graphics/battle_anims/sprites/000.png b/graphics/battle_anims/sprites/000.png new file mode 100644 index 0000000000000000000000000000000000000000..3d8662a861b914286f192c21f8e95d25e4b95960 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*CkWBfy|(wpe0L|{Qv*| z=$7IoQ-Yd{Et7&Iyet{co;}*!+zeCz2Zk?sZvr`4o-U3d8WZ>SZ{$6oz{4V_>mAXd z7ab9A8NDbZMDxzZm=-0~ZR`(rTkr4o&#XQr8)3;&QslIBr`JVch0_h9-TE6+CI5=+ z2dkc6_&+v%hqhBZ`-6W^8*cErO5Mm^)et}T?xLy39G@Jp{=~3nhH6Rdw>RrSPVjW~ Kb6Mw<&;$TrQc!*X literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/003.png b/graphics/battle_anims/sprites/003.png new file mode 100644 index 0000000000000000000000000000000000000000..b3164ff0185763068afa3b091569c63d31bf2fd4 GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!VDx^^%AmxltF+`i0hIm-9TngP|%VkOaA}= ze{@Unk|{yW#g<7y5?+=JXU`sOZf^eXmG%FB_y08#|Bq_UyJrH@8{p~U7$PyXw$D(A zL6L*`?a%+}NzQBM8(X$YYUuIisWBe^adDYY55p;D@pXHYo`w6eY&mSAdGqpptKP3n tm1;~2a+1jtA~dj4bT2PatvrTgQu&X%Q~loCIH=>N~Qn+ literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/004.png b/graphics/battle_anims/sprites/004.png new file mode 100644 index 0000000000000000000000000000000000000000..c7cad5ef9928fbd3bb48dfd0dd577fd430dac7db GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^0zmA*!VDxI2ESSgqznRlLR^9L|NsAw9z6n z=MtW+SmbS*T>VaD+WtGjLH~F?0}O9lH_cq!rFXSQ_iy#I;{NKlk&OAymN!cojNL_J tS4l2to?U-%hLDqx#e1H#KCN9-jO`LQHGfa{sNMr|r>Co*%Q~loCIE4(Nb3Lq literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/005.png b/graphics/battle_anims/sprites/005.png new file mode 100644 index 0000000000000000000000000000000000000000..8bd4ac426c02f47db157e6060a31f9e6ba3fab76 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QU(D&A+AfNbpP*W_&w|Ns9eApY-_^}l$^|0PHNpM3{Z4gnih$0Pz-!JaOTAr`&K2@MQp>}(+u zo;96H_bzq}oiy#)qo!318V?#40g0wX3@Q%{E-*>(Noz3n2uSNNNfcUVuowhAbl_OB o)Nzr}J2RffgO7r=I3IM1Gbp#jyXS1(a13OTr>mdKI;Vst05|nXng9R* literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/006.png b/graphics/battle_anims/sprites/006.png new file mode 100644 index 0000000000000000000000000000000000000000..30e2dffc1aa7d5d7c44ecb221157ecdcb7d7211c GIT binary patch literal 275 zcmV+u0qp*XP)T%~}0000mP)t-sq?C*Q z|NlyA5MqNVdz?YVv~#4CQiF3jVp14NIRIj`7<d*1()q-PMg0001< zNkllb+v_a%D<+)3%Ia~@);nHZAoPN?d5d4Ao zp14DL0DEDs{TSHgJ`W170(bV4!jsuGaDL3-H4+MpB5#F@h)fwkJJc6L*!}Qm$N(Ve zSyqE~(_6o+cAIsCaqgojOEFSgZw+|;1xU9>U3c6IsoB}2L}^x?WH4nR%3^g+U!l{# ZJ|DFSF+kdXX>9-i002ovPDHLkV1lGSauxsp literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/007.png b/graphics/battle_anims/sprites/007.png new file mode 100644 index 0000000000000000000000000000000000000000..5a2369dad1dfa6e29dc16effb4f04d283e40c242 GIT binary patch literal 334 zcmeAS@N?(olHy`uVBq!ia0vp^3P9Yz!VDy5c$8@ZDT4r?5ZA0J-9TngP|%VkOaA}= ze{@Unk|{yW#g<7y5?+=Jni4=s6mVwN|7@VZO-~oc5RcBQlM?w3D{!=Osw>|4KjG|) zt^>wP4GUlXFud;XdXHI&J4}>oq1e}IfvY|h44Ulclw}&vG%TCJaLz%FL3bm&j>xsu zwGSj_^yD_UC2DWHX~DOCCjU;eeGY%t=|73K$$4P8LiIgkt!#i*hx5<9$^Xsd9Zg+- z{$woMsyy?@`_dy0HTHKc{EOGjOm{F2IAyk`Y0{SU%wFt;8uC0$+y_%~4!?iq>~*yA z=|<(kkGg#)eR3<#|9fuc!GTx83GX;YRS?I0&kr9{nLWs%kH|u T#hpbvLB95M^>bP0l+XkKT1kLh literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/008.png b/graphics/battle_anims/sprites/008.png new file mode 100644 index 0000000000000000000000000000000000000000..634c4d2bb43ff07544ec2d3de3bb015fd870e006 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^93afX3?$7I7w-U41_3@Hu2=8p=fS?83{1OWQ%D(C0)+jEP)Ry_kU-mF>>P!R}0{ z8)Ea07P*zetyblC<5pQhWhfQ03k9l>wN@5$>C}+wdvitXX8`R8U6#XNKP|dlr%Kd1 zjBBBy5B@iitR~e3zqBw!%d}IaJo@^aYZt0(Ob7#Th6Y08BzdAoKNCL zbk-Gl@%o~!6JY4V(e!EAV$uFlGWzdwk{#QoK%^bYu+ws5FNG*7sbeN+$g9k zs673*+|VAAJ1$NI7PnEb>+g@~l;e)kei&}Au+vuD#|wb%r~DBB(P4+q)*)$FA+Cvg zR_bt-nEx1-A*3+4QPTUk+#Hjl1s~o;JAw_zTjkuc{Xjt2Z!xX6ZbQFKaCrjlZq0vN8C~e*d3Jwhgn3f6m8{7oC-boExla zqM278ww=IsE!AP7bilJYss%-?d*(PY=r7k+*lGDhY{qeCW}VN;VGiFMD|fCEOzkgu z!+-5gL+qQMTiWia>S!{&GtF{fuyWsf#Oe;S=N5IT6^u5FHyMu$PMoR0w2Aph=v=10 z#)m=&gjPHkVS07)vao~w&)*HFo2^)%ovve9lHI_xpz>NhW7_=vjn_O`8C)Hn|4Ghg b`24kw(NS)TC&xM&a42}X`njxgN@xNAtmcr4 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/010_1.png b/graphics/battle_anims/sprites/010_1.png new file mode 100644 index 0000000000000000000000000000000000000000..ba3ca61929d1c9a6c0607cbf9caeab353393efb5 GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQU(D&A+A|dx|5>*7iazNZvMYy z&i^f2{+~Vj|Jk$uKmb$%2XOICOSR7eMQ3}uIEGmCzP+d@)oj4S`oQ8@Sdyf&n9F&Hwox|n(dj}P-khMTgp~*B&p$cu)~XnrOfm6nVncO zOdbU@OC95TpqlC}eL}3y@*%?|CAUj2=Z8LBwfpiZajh+PF3WT2a)2D~>FVdQ&MBb@ E09f>MoB#j- literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/010_2.png b/graphics/battle_anims/sprites/010_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b71a875e777b335d5e8d0ae6aa6dd145c3fd3c77 GIT binary patch literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QU(D&A+A|dx|5>*7iazNZvMYy z&i^f2{+~Vj|Jk$uKmb$%2XOICOSR7eMSDD5978O6_g=8(Yfuny4V<2HTrA_5tkatr z$F{T8H+;Cz;ln+J|te=~l?bwfy7G$LEJF{D8vW`W?NJJJr!w;BW%NY}9aWtycKwC}H~ o$N!6r|6C{3S;$>tt~_D8hHI^w{w*PkLm=0By85}Sb4q9e0M)f9hLAn{bsaq4E;G7h>{zI>K&YGZ3u}}E+uCCdGFuMtXdK!j`&3h8N7{q4 z+|9Ed{z^L9G^_FZJckc#_fJGGY~>Z3C};NQ@&0q1Yq#yb+kdBE3dkv*u6{1-oD!M< De?DND literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/011.png b/graphics/battle_anims/sprites/011.png new file mode 100644 index 0000000000000000000000000000000000000000..23ce049b00ae62d1030ab954f27d2b03ec557918 GIT binary patch literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoQ!VDx|6+TY^aRPioT$fDg{@=~;e-6k0H4^`i zYW}}!`Tv>M|Nl|{fxs*4fAN(6OOF0O`wpla0-hc`v(Osow*n-xDV`Jt;ASD8JPNrubpw#cjRdJ7kFDcj1w`c^C9 zUZC;rz+6_X-#R-^@fCh;nSY$~^s+kv3zKst|J2VD=jjk!==(!!Cdg7xS3j3^P6yPPXPNVjT*bOa9;GsuH(X`lvZ$X7#d-HyAX{4rm&< zZc@@*6yB5Bqt_Ez@9elpo4F-o2 tdQ23Um#FFTE}5~H$HUwq=RLzE2AjEZwx5Gu{R5iL;OXk;vd$@?2>=4oNcaE% literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/016.png b/graphics/battle_anims/sprites/016.png new file mode 100644 index 0000000000000000000000000000000000000000..df9651411453a98c9ab8983a6fce6f4225b9f29b GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!VDx^^%AmxltF+`i0hpH|AEZ^U=qk62#ic7 zUjQl!^mK6yk(fHS&ykP8kb~(d`-lJM-`!}w{pEtQuaCflfUh>IHu38%ceP$@vCWOS z=$54EBxVJVu3LO5dpjB?N`K*J%w5F3Z>3UD`0o9p@BZ#P!@jbOdG}hCy|o}0c)I$z JtaD0e0ssZVICKC2 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/017.png b/graphics/battle_anims/sprites/017.png new file mode 100644 index 0000000000000000000000000000000000000000..e287698b4a098ac25f75524666dc703ff1eae774 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^93afX3?$7I7w-U41_3@Hu51~Smo)z4*} HQ$iB}N?ILR literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/019.png b/graphics/battle_anims/sprites/019.png new file mode 100644 index 0000000000000000000000000000000000000000..af29ec730df4af0cce00c1f2a38fa59d12c7eb1a GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^3P5bZ!VDzyE!ZCR^yjTZAQyYO`njxgN@xNAIQm&j literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/020.png b/graphics/battle_anims/sprites/020.png new file mode 100644 index 0000000000000000000000000000000000000000..73c7f1344ce13d1e468751fab8969e897711404e GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ipS0Mc#h>{ro&tdp~l;Qu? zr2p@Z0tJB}sXGb6Xl`y^vSi8CvuFSR|Nmu<;47eLzo(01h{nXD6E5;L8}PWC_jwS! z@ct2L7Xv2=hLtbv<=^agat@tn!TsgmyO%Z7cq=YOKfL&J`7Vp)&e5k|?#=cUfBN~l zX8gH5Ps=!qtKRY^cx5KPeX{AuMn;ovt81LM60~0P9ueS(ocdLPQO>H>`Y#<< zepQ&U`GCy2XK7B>3e8muSby+)|1WBk|GC+2MicL?xl8m9gBgTe~DWM4f1RiSc literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/021.png b/graphics/battle_anims/sprites/021.png new file mode 100644 index 0000000000000000000000000000000000000000..c531b820cec3419baa2a00f671ca6947ef95433d GIT binary patch literal 671 zcmV;Q0$}}#P)$>8oB#j-0000000000b?NdC0006i zNkl8nu5P;7x43pv#LP(v*kYE^j4I53ON9Y>EFvxD|P)N2HEkz}J@fg>O zwxZF?m83+AIsr}Fp&gPNEb;U4c)ULWyh_Q?n#A2TO(arDWP!G9UNZV7|3m1pyUuWK z(>y+P07>MbYhoRB_T!E)KFo#hXSTHeZrwa?h+xoehW8j-dRUq)3e~v6Lqsc4s`>m_t z*qEee_t?{7o$kuou}2f5Fz}lE&1Oo4uCA@?Bk^7+2_p+0sk;7DUBB@(B`QFis{oB- z6T%`^Wcnq5mp=P-K@fr&-*yfL%YM_9Z*q&lL{sUyA2W z4t?`#-+sTSu8-=-)OW7YK9{!1O??n&&h%Q{DW*oO@=rWJi-{*v_elT%002ovPDHLk FV1keoGdTbN literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/022.pal b/graphics/battle_anims/sprites/022.pal new file mode 100644 index 000000000..35cbf0096 --- /dev/null +++ b/graphics/battle_anims/sprites/022.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +205 255 255 +156 255 255 +106 255 255 +57 255 255 +8 255 255 +8 205 255 +8 156 255 +8 106 255 +8 57 255 +8 8 255 +8 8 106 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/023.png b/graphics/battle_anims/sprites/023.png new file mode 100644 index 0000000000000000000000000000000000000000..a1dbc20c21eb911d242b7a579c7e8fdf0fc57c3f GIT binary patch literal 312 zcmeAS@N?(olHy`uVBq!ia0vp^0zh2A!VDyzYQE(FQU(D&A+A6g1fKmbe)j+Bv;RQm z|Nm?L|1SnIlDd;XQVa~u&CN@eEV+92?EnA&D}S+^1_~Yaba4#Pn7DOPAm3pHj<${8 z7$&`CSgXF`Aye+5zvoR>KG?KNO5QB)$D-E%`b-7le#Uia?J=JwiweDC?Jy9z;k8xy z_14%~`xah&-KNd8sIEitjNT0Y>@{@>&uW)kEtruu&EU`qvqelkYypWz4T3-FpKN52 z{Je(QIVFb0CeembHLN+#v@y9vHf}V&}#OD7~ivfp$74#0p|bWzDfy{i5)$^1>{9fS3j3^P6;ZM=1{3pO-v`kxoo+9uTR_VkC-!udh}qLqx8nJ=ww zbP0l+XkKnEFbQ literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/025.png b/graphics/battle_anims/sprites/025.png new file mode 100644 index 0000000000000000000000000000000000000000..864f7106547f776f3eec57c0039435bacba672a4 GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoQ!VDx|6+TY^aRPioT!AzQJo{h#?Elqg|AEZ^ z|JVHgUkqdL1AzSurq(Xhb%fEYN9mxZ;>$_=qj>QR>SLr`5gc zCOh+4+^>nMIre;=b-BI4DNb4Gy3=o@eWr$>8oB#j-0000000000b?NdC0006i zNkl8nu5P;7x43pv#LP(v*kYE^j4I53ON9Y>EFvxD|P)N2HEkz}J@fg>O zwxZF?m83+AIsr}Fp&gPNEb;U4c)ULWyh_Q?n#A2TO(arDWP!G9UNZV7|3m1pyUuWK z(>y+P07>MbYhoRB_T!E)KFo#hXSTHeZrwa?h+xoehW8j-dRUq)3e~v6Lqsc4s`>m_t z*qEee_t?{7o$kuou}2f5Fz}lE&1Oo4uCA@?Bk^7+2_p+0sk;7DUBB@(B`QFis{oB- z6T%`^Wcnq5mp=P-K@fr&-*yfL%YM_9Z*q&lL{sUyA2W z4t?`#-+sTSu8-=-)OW7YK9{!1O??n&&h%Q{DW*oO@=rWJi-{*v_elT%002ovPDHLk FV1keoGdTbN literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/027.png b/graphics/battle_anims/sprites/027.png new file mode 100644 index 0000000000000000000000000000000000000000..28b3876b7a252eb927f763e01e40a400748f6a6c GIT binary patch literal 619 zcmV-x0+juUP)$>8oB#j-0000000000b?NdC0005@ zNkl;xB4yBrP*Fq1X)vwau+DS#^cw)&Su;79|W3{e{3EH;H% z7EuwyelQeD6+uVcUb`DDWDy3!PRHva&I|2?ZO`)qObPIUahX@L0|ULO)l&|%_HDxm z98s{)pwsco5U#|~zZ~?-4q5$9!XQG_VAqE3#%ykupj}l*nd`_F2w3VI?_^puVg_s7 zA3|pNBh+=+n1=b4>ASJ#y&JSPW~@vGScy;Je=@t%$Ng<<#~#c@e?Y7$32#`o{j|R@-r}!JzcBsC^omMX z5!sq6`ii`ZQldpNCfZet4FSxbuUE^5=gap~dxd`xdjr}&a8@lpc)0)o002ovPDHLk FV1n9-8;Ae^ literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/028.png b/graphics/battle_anims/sprites/028.png new file mode 100644 index 0000000000000000000000000000000000000000..b3a096996291e4a49cf3e85b6bd207dab56752be GIT binary patch literal 707 zcmV;!0zCbRP)$>8oB#lv0000000000vtOI-0006` zNklP^XqJk^2O}B#Kw&V09c1BwP)9YJ zphyERiol82Tjx!A7A`Qkb4Z!( zWutfS88Tdvzb|})z~x=x8>Ewa4=_kEh_72s`_pAOYuA6u$sWLI1HPxZwuti*%I%i614CPp5-Kw!08&T!?mG^CD5AqIx4HB1&jqMRn{qFi=GFFXHnWsG-nS zHz!2})+Z@2*bSRAo6c9@ zUu(XM(W`HL&@sA!UC8lXzl_8NLWh+W%=IudX_p7U6zE-b3wEpiUxESVZYY?R2K9qA zi%lPf#}H@M2MH$EWhPS-R-%7j6~^#!k(;Wt`SCS*;?MId_-#pg=^1&caOYUA%n&9m zkap5}M$>8oB#j-0000000000b?NdC0004` zNklX9I0+wK1fY%rc+~=UUI}1PeZR0KjUZZM8fa>+KaCJ4-0J|)Eu*Jlowpo_f)pS8>7mipvbp)7gu8Z@>V-JOd zw7g@`&NkcMF)_SyazXCkR06$4&j%7fNi+NVnWgE+Ll1Xh&@{47e{iE$(uCW}FB3D^oHr9Mj0@kHp^wZCEx3PSO!^p^*FY*IFQH(-`ofmwByF33Zzi1*?;< b!vAOQNvWdm4N?G!00000NkvXXu0mjfXoT*t literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/030.png b/graphics/battle_anims/sprites/030.png new file mode 100644 index 0000000000000000000000000000000000000000..ba7161fa18c2024a48e8c8d98ccbd3c43cf06235 GIT binary patch literal 761 zcmV$y}g{Qqfq-)$Dc zoi0MjZ^7yG_?KD#UTzK7Wv*JijB7%Y?o9VIv(g$mLj6$Zaqe`fyL5<#1 z#z_!i5jgG@(F}`-`$}WH6G>-_I0k?;ZCwNy0;ZqQddCLcDRKe#*mSOiJgkDcA4b?K z23$bY+p?~1A1;v(==&Wnkli@Ke-eQ*J=;#Vu|bJvmLUWrRYd8)03o!+Is%kNtt~wq z))^X2LsPPw1+bQYfpTx{Gt!|R{KJ-Lots^y{EKu)Z3@J)PxQ>UKN~ki-&0DxoJV#g ztjl$O<=wn!zHNAaO@)tW7ox?y@j__LOXP=hoSEo{KQVo_k{$ebtTv$Z;myjB5z;>$ zDQVa|#4047H!+kXTU|&+5i?&JUMSA-7}jQD2Gk-Fskw^2-K`*Xn@rWj*Dcf95u_HX zGF^9Nw(}mS9U}I@k+hV~af!?Ts;lDvWOFuaMa&6XoN2-evO0000000000000000000000000kv)xv0007O zNkl$n zbhHaxv|G?cwJ1s1oQWcuzla5sfD06qfJ9OWm}2k-mQ4RmMjZ(L8U7G>H zoMP5@n(+W+-Leo+!U<@x6fJ_eO75l)&<4Fr1VM%a91kD>c-Ix2z7N*K7u;6iJa#H8X&1!{h+N3^`t z{O;|+uY&zsi%H=;@fpYo^^DUqoLFQDct@*ulR5&U zr8&}=J_O^&n9XityQ9CaMq@@Dhz_1pJm6qA__IA#;X{c5nFq3hiDgajPiL?Xs__8_ zeN=W&=4sL2GisK7SYXMmv!BjIyv~wk^SLeSs9_ SXb>F$0000$;+`~Uxv|NpE1 z{}1~AU-SP_h5u6|{wE3iH{|%wz%Yk_A?qrT1}giX=w0>^$Xe#<;uxYa@o3ONUKT}; zC5+DhV=p#rY|U(_Sk07GCSU$s_4r}giHU8zF6jr`|HQM0yEibFe&AmpvwYXfW}&hL zyx(WNk!voK*t%=im%f_0N3Za{&^>IKyu5z3R`DStA(OUiW!fptpSd1sb}c`e@nh!Z zz&UKOVr&2He)uZ&>4`L*i<|6)rk_@-QoQ$x`TvZ@l#>DZvA?-WX000LE zNkl8GtRFx(Wchl&Kz~<5g zyE`pausc}tkGePSEh*UvQlz-G#O03m%bel7w^8)J7d6$JsEdXOA1=O&)K2ZDj$PA6 ze&^aDQrsnJ8`rzmwfls+Vg_gKTIX!r?p@13WA2@6R*p)GF-c<`7wZ}ZqQ*4FS;G}i z;*FtuE<8sR*R?Sf+ExJ7RF%=j=-TcApmn9IT9?=35WS>7trvv=zAlPFFUumkw6bho zjKyMEwJx%Gk>!gl%Zm-BSkKdRmd>&?P4fo=wu^KsvoDxpegx7R0`363Isvu-etjdr z2TXc(>@mYC(b+tmpNzmPMMfpfE^ej=e@45?icdeyFv{?(qQZ}^i~6yh&|MNeME%%B zwL=oChr|a3bl!F9+_%cfm}CRs!M6wDmIgT6dD4ToF6g1LE!g&f+t?AyQe;TnG{ze0 zMsko<8nAEaV*AYqSOCWE&?SkQs%CYRb{At20z@8*YaS8Db)~f-HO%u?04?PTk)PnF#}b9Ln+zq z)x>2CVlVRf)FZh%>g9sB`t=0h2lO}f<^gXeInbnpy!!KEB#O2Mq}WVUoE1VAana%fETCFX6B#jM#eZdbgGJpm$z&#%Q# zyflre-}0(%OXi_rAyu`JRYe{(eOVuS21FukLJcWHm+zq%T>;pZY#mEfODud}X749Q z0dT&UXW4JRlYU4^m{pNfX7pmu@Syz111^ifaIpdW`OL_B$Z@47Hb9lRyL zn=Tm2zNeQuQr@&*1n@9}7<3EyEQbx+cTM=`#^7*&{T#4vwUJew*awNi0eFg7A7mg@ z$uc2yP!S+DBmKt8Lnhw2Sp|Tc0&ZatQUD}1MUtw#2KyD5J7*!3A`;7T(1jk00MLQh zhX(si$<9&adC*5(;vFRq$;*_TT;dCT^+y4Sw-5(DrmVu~@oFUdLdcCr1Gxx~FkZg^ zqIK|((LSPo(=20P;{P*tlFi;8={|d*k8cW39v|C^_Cs-EGXe1i-auWp@$-?ek|cD9+6QHK6nzdsV}tAWNH^5J73ZQ{ggwQ3CmBf#ufc^r z01}u9hah7)MWKjmT;T08WLJP31gI54x_RS;) z5lmB`2nO=sYElQjOA-jPuf-|gA8bN#T~K(T&mt=-egO3X%;gkua&flpEt>_gc`2{d zW61&{Z1o^4tmhXZk>zFtq(^!w3VOVq;*Dr5{wvIpz8R*o%fhZmXaOFHdX_W9Z2eRLDNP zP;cND;tsAAz>NUkBDy$cf6uotkw(b&4Wxh+1$v0&_+mI;4Zxn9rLKa>;F&54KoW7R z0MY&E6=XF0!fcUmKru^6NIG9Has(H03lWfC7vThR(+PlR!>1Pk;)cWm>z`#e9Xp*_ z%tJDow^$azBOlpsnMV-^+XL8bPL4cs!g&eACxUs+|4Z!BuaL(qbDL-S__^~-GF6-J z{XBf9@3E+e546$=f$4y}b~j}@9B|rUmx#wCNvB$za@ug7?GrlN?7Z8dLI=ubJtWgo z1wg?{Bu8QAVgG<;EdE3vjsp%!q!B>QGC1Qjob;Xwh5^!8U5A{7jb2eaLG(e6(sF!t zQ@B}4j^;Io7i1qD3*@{&HUh;|9Y47(pJs4`5hBzbnsm;j@_~Uh{Tk@cd1G|K$pXDI z&VpaE{|#_@MwSCFor!19^+9=$WJ1>?qYa;UrTrfX)4rew;tG%e0000?-WX0008r zNklN^a*`=Q5KHmo4uvF7o@z^3 zI3+Q&XqJ91yc0=D&Qzd9Zs6(O9glasI||?*k`GXHMWpX7h${|9!XVmKDb3Ht$%d2w z%N%Op26r=vQnLIlPH#}XiPoFiPaJNDC7JacA;5kHYXkHX1U&KW+5)N6>ya2r3*ccz z3&<2PVRt}oHHH`&NbZ30z@Sush@{ke;w!H`g2L?htvGQPfo9utajNqqA3Wb@Nq8@Q zIA2TNMu6H|$2`|6&i8o((7Ii@=+GH^iCipHqx^a4 zfD*kgLl>{F^cHp>IG{im{ps+=WH-LT9ep8c3pNrHvny!B(W(;EONQuE9ne;-G53+*2n;r1lO*5gYRPf0D3JtB2%){sZ5WzYRii-Oyjgc z;_+OUJ~LCP*I#0S<;rXuz*KxD{zz*D@_2kfpMGH%8w=i=FB|7HH>H0V@`0=e+B!KN z6OcLGY=mbi*I_Uc1Uy*T6T_8e`@{m<;1b#H(#XB2ZuP`kB8JVkFY!&Z`2{r2dmaVEqWr-`XaA%H{Wa@{MjbnEv2NWS}M z5q}R=s%(WO^=;%;)hd}vvb<&fbg9P&KZ1+e<7^Vq^Xg591bCytoQ}2=dMwP(pg$TI zpytq<4yiI8T{{B79D%|*2OiSv*QCPZrR+>#Kf&mDlh{j&;gwCqb+5OEqVD~@1AIlr zVy+9zx*ynXVGK+^KoSSD!5K(*VY@IGi2=C(wC=J+4cK_~h2DuT^j#mw5>TP+RHC=+ cJm`N*Z<=iAc;k#c-v9sr07*qoM6N<$f|9?9wg3PC literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/035.png b/graphics/battle_anims/sprites/035.png new file mode 100644 index 0000000000000000000000000000000000000000..cde2105dd0b7e0df6530f1a17b64ccefd72c3e29 GIT binary patch literal 721 zcmV;?0xtcDP)?-WX00079 zNklgE+F!x%fV7R=+xnK;b+++x@(%c|$qs~ZjL7BrYsL4x3 zvN6`mg?%5BDmyka`(wYv{*4j(Z~xAIxnSjj7ssE?5#kq@qlY>2toz<-@ieomJSLPz zph`$-U}xk}NaM7&&;zCOTcf+?`>szQAcXV)3}k?y>xP2^Isp8xlL`PS>$5m`FbI0%x{G}O}3`}Sk$IBX@vZP3~K%!-h@VU%ZYbbDET%WgV1zm-ZcPi)(BW{sXArN3&J6+yw zpike!JAMn_jffofJplNiAn5iI4)UhN4oXTkmgqe6N66CTOlh^Kg#puOURG5V_g3SO z`dhMsO{$Z6OHG~@YN~*-U`hPbmZ8>IknxufEaR)~4oO|v)zmk0Fe2QJ$4(J<3XZN~XL;b)J+Qsq1JV_st6=CIvqhIMZ=09+e+3WzvEHekr1$nX zS>67&P8s)Nuk0_Xy1C$fC;!lz4R~}t3j3ir)vK5Ug#kM)=<6RsXvFo;H>@GigpY#o ztw$Ub61y>Hl2r|%SeQ&)Bv7sp7vWy1WEbxY5n^994T+}GNCKp3-=|GN@2c<;j|Wjb zJcO*T3y4j@Ts-yHViM>TA=as|fH*ZP0jE1i?Mo0ocpl0czXt*jc!P}HI^GVj29o_e*!qEO*aA=uOv3`RTj$@>-6KAakOnvpLtg=}^vZtrC27QbO zpVa@M$DvDAKAOI3(~z40q~8_D@UyAQg4`pF^$0~TM2a+_iQ%Iq0%fR65NxtT9+Az- zKjrKnJj#gBSQ{c#pA;u%EHxO?co}mlQ^wYmD%0!Y#gPQX5@NB~3%N~^SOygJC=&%t zl4rzD+qTg}&*a*&7?Hk?2+Fq^jc<`$`&FZ{8m=vQR88d&QK;z=;=g700*j#S%@6

szt)E0F<(ilmt%coZ9h1}|$J#BBn=7J#qh$Idio#Z_P`R*eGhuWsyTuOay zcy})PZ$W;oATt03?WKdwL4#Xq3)CGzry~a5=!9A6!0FW18gO-cM{rh>S{pY-PD3%2 zekbQ!VG1{{*&!=z<$Yr{S$43cIj^q9xytPZz<(Riz}@P1dt;;b=2bbTFdVT)?+6CvodX%#sL%y$oYD5)gEw~Gtcr8#?|Lnq z-<<%rpI=vr`nZJ+FFL>ghG0awL@>F85YSLLgC?=t%@2G{eQIzt!7@5$@6KK4a3712YSx^u60YURaM|i341H~W8MaR4wZ?* zFS8c8PkAlqIX_!OY00PiuW}UPvy^=v?0zGWa?bryZo+|CU#?bh7`f~GWj%0Z^~FQM zG6&x5zI`2+4xfN+kH@ zYNr*sGp*Wz(uLdd>G$!U{O1B8N2!MJfDWe^jKiBBKoB0s%enr)lz00LlVTF{zC>Wv zV{`Z%Y#EDD3kx0>0MOim9g;+>qo5?n^RT_a&Xz6gq>SFs?+|LTYvR?b56I;KIoI#& zi+o@Z^R!q%u;M(0_Y`b7A3z`t#}bin-W!Pe`g6JEjIBW)Ow_}mAy$laN434Ck<3a! z7a}so+7J}_g>|77YKprK9!O{5J)T%ELnNUl3LlV!luK_V(#YSD<}ipCJ~)!(ly#hZ z3=i^Ak1^CrY0?nmP@&vl1v6Tz}pc`o=i#b5b zNdy=`32#Iywf72`a>khffKbuHOLH!sF;GG?bf#G&_ zLs$980Qks9-Q~M{056~U80~@GA709uYUa930jMO&9#EZ3uq3PUF^qs+RY}0bty2s7 zAc(Z`Qh?9wPP;A=2CtF;yUJyCU_cY;Bx!xdRB;A?1knuVo0b9t*9IN2BZh($ literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/040.png b/graphics/battle_anims/sprites/040.png new file mode 100644 index 0000000000000000000000000000000000000000..c7d493d922c8f35b798a02166a20f04347b4f7bb GIT binary patch literal 362 zcmeAS@N?(olHy`uVBq!ia0vp^3P8Mog&9cBe^M+DqznRlLR^9Le<1i){r?@q|89o= znhbLo7%ahp&HvYM{Ey;T62;*a1ylwB@@9n}fUK{cE{-7{oo}aZhW|Gw};!kfPw?Rk3WXK5qDJd;&L{Qq80 zmYRQH`}^nfwAM1pmq*?=71BGwW@p7Yk&jL0-4PbnJ6vpBEN3{x*dz*B6SA03sIcyf z5kH(ff6AH0O&f&@mIrYQrlr5+kyZU&-!W4)?xWUbwhitJs@_~#-q3JJis5t6wpA}2 zR8N*{nMk?o3|O%+K?;V9x8~vOE%+5<0rArl6qkboFyt=akR{02msQ AbpQYW literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/041.png b/graphics/battle_anims/sprites/041.png new file mode 100644 index 0000000000000000000000000000000000000000..e088c1f8670794cb9cc58edb8e9c1c24b006ad4a GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^3P8Mog&9cBe^M+DqznRlLR^9Le<1i){r?@q|89o= znhbLo7%ahp&HvYM{Ey;T62;*a1ylwB@@9n}fUFiz7sn8f&bOBw`5X)cSOYpANF8Ez z>0j_oY~NPj{n7=szOI*E9pYQLFEstr@|j0fPVVnGw)XO>eV#6i%6F~UciiMih7ra5hstX1ji40b~if@N`e0(7LLON*4|N~AO?sCcEcAe}^e1rHF?+yhWJfeu;o z3ciAJ6vp$nJF|OHP=b&mEG0AZjqUmT*|z|XW^{Y2&3U&t`Jm1D)pF$qWVd+p;|!j; z>hN;;j>Edv>Tn*{gW|F~mbgC804?4M$6bz@0K4T`3W2pN0CYfkUlQP7?*s5M1FH=1 z*91_>dH5ysVEC4RQp~RxS6hp?EVX#}6kOzRQvl+F&mccHwS4f5BAay;2*`_kT)VNT z0dcMDT^s(IO$fqwM0~gmzI$VvS0dXaq|gjCl;%Vd%=@u7wI0y) z&CCPikl0xn8bGMcMEe&$Nu#%^Wo6Cp1nS6k0Z+>iW~!SGQ5Vsf@1wML<2z3Gke9|A z8b>tz_kUgItzOR%nB*EhW^+&P$#Orti^qS9_NdA5#4nvVy}>5Tmb8zJGM TOAB^w00000NkvXXu0mjfVC^du literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/043.png b/graphics/battle_anims/sprites/043.png new file mode 100644 index 0000000000000000000000000000000000000000..e5e929ede8dbabadc88f1444c48fe003e2d8c90c GIT binary patch literal 864 zcmV-m1E2hfP)KDNz=i&1kQB^<5KXc z9t0(j*d0W(6f1)voAHP0yVFTJDIKz8DS05F_tX7((*1M-cxqG!C2%$?lFCSQiao@) zR-uW-+t@S#c81t6njkiY*t^N{HljOhtd6q$vW4HLy=xq#{e1%7>gaH(2*XAjUC+O6 zh~SR|J4Z-E`26TF1)h&h&cCA206cHTIS(2H?lho$B*C()0P~JH7eR*_EHv=>NNo6M z*(-G%9V@`YB!5`kJ5kM!7&>5}|V zT|94yaZFtWRV!o1J08ct16h4FY2wFG72h}jwL}=84nqv6@E_g$*~kyDe=afr^BbyR zr44$0tf>};VRNE^76$thn85TQOouqRh*-$>#!)Iv4&RVl=-uWNk44ki*ThMg;0Jx3OjyV z1VLNQk_!ZNr4TcA)>=|WpN_T46MS-^fPDa3smcc_4B%O&loAGTY#1bk;U^Edk{eqdF!9N(LpBA82rz?p|ja q^ySoa7sp07Jov{CQTzo)KKo6ftAGCh0000zu};G<6h&iHwNzpWOXucOs(eUTQrH-(KG@8H3{#jYZ(&1afen-?6IGRu z!cH7xKdUl{idyaxof9QZ@~+(=_+5sV51BZGVJIn0(~Gc;6hGvO37BF6aLcu*iDyA0 zOcI$}ByweuNP-{JFX*v~Y!4#G;auXy%~cPz?-i>B+P zCe`&)lWK5@yZ(i{{)xN(hCeyQ;u?#@E5y{Ct454t)i>-hua9TdW-0cJIor!!$J{2q z0-InF+Z4~D23v}z_2fpH)F=mRYB9X1ef(|u_1 zeS@WA+75^GJEg9VH}tM*%h7H*^|jDR_J2cyqu{D3%X2;$u!ccVDs> z%5ewokNq2={r~WaPdVA)wy91#7izbhc6}RTr*tm0+2#Li<8^-o?Up?^S@~*V@Qk+K z8E?8bo}6^-!NCOiqjERmJ1bn%eB8CZrSxX*EUnej%Kq%d`F*A1)4!*-PP|rsCzJ1p zb)nCuscdU@J%6iYCiP)~rk*162J?>HKupYB{l9pdPla2 z&+P2~vEWu$(>@XH`wGv+XZ`tI=~dYA{w}+Fn4!+eJ3q}HY&1;KPg=}du-ddu{+P;y zEo}l~FIURZNGGZk^8cLAa{GZ`njxgN@xNAt^;yw literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/146.png b/graphics/battle_anims/sprites/146.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b0360a6a1bfe852218f4dff9d9aebbff775d77 GIT binary patch literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoQ!VDx|6+TY^aRPioT(hQhCq?})&idco{C~-u z|68{FKYRB7vuFQ-0H_2G;NqK>YM%v)c6hothDc1Uy>OPZ!GMSD0)N#zy~am36?g5p zQ0z8w*8Ojb*p8$N&DLPp!q#oJe5DVk(3~#0&dSTjUP{b=Ab3_L|1OivCmm7CiK-{s zjGq74kUcByn)>#y!a4KVHLk^Ip0!=MALLR`S3j3^P6Eal|F*7;g0Nahugem?FhEfZR zp3cqa`P9|NDbP66_<++>S)Mt@4Nh-F9r&L6u(fe*u=1M`$iu@BY0Gnp>5qs3$Vg9D KKbLh*2~7aXX*VSR literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/161.png b/graphics/battle_anims/sprites/161.png new file mode 100644 index 0000000000000000000000000000000000000000..5976b2b8c1a1ae84f5049d9c22eb0cc5af53ab07 GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUT{5K`$P5Y!TC!xx|NsAw zZYf?eC8)XBGAT&H%aY;j*`v+P&Huf!fNCJ%>!p=>K$euJi(?4K%;W?h2uf&RNLAKw ePF0XdNM~S3jbZtr^X`uaNWG`4pUXO@geCxz@GH## literal 0 HcmV?d00001 diff --git a/graphics/battle_interface/unused_window.png b/graphics/battle_interface/unused_window.png new file mode 100644 index 0000000000000000000000000000000000000000..73086d4d2c01768222d8a12bd518fe74fcd6f71c GIT binary patch literal 608 zcmV-m0-ybfP)s=E8Ewg*Uws;;ZL4K?9CGiZFOm1T268DS!egKsyPfnoxicc;a6a0a~Ctf?psKxj(qv!M*iz`L$`- z+`(N2xy!KS=7sLwAq&~%Lepp!GFjN&JLI3ayLYg;gXR3(p_e~|bBA93aAxjs>?D&r zc=>~L-utn~>Cd5_e(jLXIf2a`EOuH+?tlWx9Z+CPI0179DnRZ)1;`x&!c-H&_wB0+ z`NhIFLjen$J6O)o9Zv2fn>$$IUT`f6{=vT`L7C-L*uPu}@f6gRkcGenBE}1m$gQE? u>&=2Zt>k&fB6LSsy!x$Dd?6CKH@*O#xH);E&>e~Z0000K#}JO0roD!I4F){S%7!I;Jab=iJN$LpFYuA+ zmMGhY@14;Pk1oFv=HlWtaUD;}FP6|8KF8SUhy5aC-i4O-wJe#H^nS?|>qDZpCJ&xI sZCw4gz`*E$MC;`>eW7b5-aGzhaPSpNaAf+r4rm*Lr>mdKI;Vst0FA0$ssI20 literal 0 HcmV?d00001 diff --git a/graphics/interface/blank.pal b/graphics/interface/blank.pal new file mode 100644 index 000000000..9757f2e57 --- /dev/null +++ b/graphics/interface/blank.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +189 189 197 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +148 255 164 +139 246 115 +65 205 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +213 213 205 +74 74 74 diff --git a/graphics/interface/blank.png b/graphics/interface/blank.png new file mode 100644 index 0000000000000000000000000000000000000000..3a4ba289c9ff05721564ce248af8247db9812f45 GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^4j{||BpAFt9cBhn@}4e^As(H{Kl~XCdbA`$4OS(D k99+>9$hw%zO>_Yh!`Fl#S=aKIr-HP2y85}Sb4q9e0AKAFaR2}S literal 0 HcmV?d00001 diff --git a/graphics/interface/party_menu_hpbar.png b/graphics/interface/party_menu_hpbar.png new file mode 100644 index 0000000000000000000000000000000000000000..763b91210c9404d7617de35f6b93e15370423e77 GIT binary patch literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^2|&!j0wfroE%CSnr2IWy9780gPMvU?lfi()S$4sN zt;NNv>;*IOE~x45&3@3xE?<{po;>x>I!#6HNadoGOG_3Q`YA*(9O7&d)+syPxvN0k jX5pTo8__FkOTMpVH-u7S3j3^P6;*IOE~x45&3@3xE?<{po;>x>I!#6HNadoGOG_3Q`YA*(9O7&d)+syPxvN0k jX5pTo8__FkOTMpVH-u7S3j3^P6PwQ99c*I zpZ)g#EQ8?`pd>EvEmq(NP)^;`#W93qX0ibr6I*g}nlM{3Gjlpya+;Vhn*#F@CP6hd dhsgBwWQO8eHm-Nu=NE#E^K|udS?83{1OQ{oCIJ8d literal 0 HcmV?d00001 diff --git a/graphics/unknown/unknown_D06D80.png b/graphics/unknown/unknown_D06D80.png new file mode 100644 index 0000000000000000000000000000000000000000..d36afa64d3e8efde8ccd5e3880e5e96f23215fd5 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^8bHj!!VDxUYZhbxDT4r?5LY1mABaEz$RrH9Z4(-S zsvJCB978x}w)#2pF(`0siW9KU`15~a=VYs6B?hHVECN@bJZ9ASss=E8Ewg*Uws;;ZL4K?9CGiZFOm1T268DS!egKsyPfnoxicc;a6a0a~Ctf?psKxj(qv!M*iz`L$`- z+`(N2xy!KS=7sLwAq&~%Lepp!GFjN&JLI3ayLYg;gXR3(p_e~|bBA93aAxjs>?D&r zc=>~L-utn~>Cd5_e(jLXIf2a`EOuH+?tlWx9Z+CPI0179DnRZ)1;`x&!c-H&_wB0+ z`NhIFLjen$J6O)o9Zv2fn>$$IUT`f6{=vT`L7C-L*uPu}@f6gRkcGenBE}1m$gQE? u>&=2Zt>k&fB6LSsy!x$Dd?6CKH@*O#xH);E&>e~Z0000%1db&7LF|5 zS&oj$mzMha{+s`VwbSpltWr(wDKqYP&ecselaEZAanH1D^%I8L>We);ES&SsG_9Rw y)_5>xq2;rJuuVIRm&B=OwAmEQ)l@vn^O zb90=Wod5s-VsrL$toEd0Ddwz;y`(Aj_9^yaQj~km#iY&EDV$nbT0ucU4FBmt0004( zNklln+W5a1GXrW*>ByI?Z`)aiUQmT?UtK-;}DK6R&S zG66VPzzFC~*j~>FG5d~70R~$OHvqK0ri1|gg**=wVmgYQ0Z6?>6{a%`Q2^>(55C=| z(GKf#0E;QmZ=ix5Tj*j~H;bm21xV_0f+i9!RmIpUoDYlljuA literal 0 HcmV?d00001 diff --git a/graphics/unused/old_battle_interface_2.png b/graphics/unused/old_battle_interface_2.png new file mode 100644 index 0000000000000000000000000000000000000000..04229ccda2c0ddefd10ef0e40a0a5e7773afa4e6 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^4M5Dn!VDx2e}3f)qznRlLR^#PG#3{a&zUpl|Ns9< z#ovn8d|Q&F`D{)1-X)sfzG;3-3Yt=V_UMwcS2gEEMMXI}I`aH~=?K&t=;`7ZqA@W! z;Q;eHAx4K+KmI!(WEbE+rFOL8|FHmuOGp3Ty!XSn#d8be{L_sLDXVR7FeE2WkQ9+% xC}Z?wOQq1=b&@;ZO+Eks literal 0 HcmV?d00001 diff --git a/graphics/unused/old_battle_interface_3.png b/graphics/unused/old_battle_interface_3.png new file mode 100644 index 0000000000000000000000000000000000000000..428c7765ddeaf868051acdc3906bc4e8b4d88643 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^4M5Dn!VDx2e}3f)qznRlLR^#PG#3{a&zUpl|Ns9< z#ovn8d|Q&F`D{)1-X)sfzG;3-3Yt=V_UMwcS2gEEMMXI}I`aH~=?K)D>*?YcqA_vl z#M8V73^<(kHh!01XI;U}rMCA=zyv8(M#Y~WnZ=&}vT$HH)i0RzD`DRk?OEHtL@_3? zhAjA!^HQQ*bc@6}pHqj}GT2z+MH@bu<{C0jJ9hSSfzfV1ZYjo#vLSBGyBg9vWVU}O a?lspv&))LMWO*RaVg^rFKbLh*2~7YCW?Ps5 literal 0 HcmV?d00001 diff --git a/graphics/unused/old_battle_interface_tilemap.bin b/graphics/unused/old_battle_interface_tilemap.bin new file mode 100644 index 0000000000000000000000000000000000000000..aae3307e7b810563804e216f3a96dc65fcfa0266 GIT binary patch literal 2048 zcmZQz7zLvtFd70QH3UKh!pMZ-0-!KU6-Xl!rc*_KsX!T-upDgvNR9VVe~*R$C zb924Dz5oCJbCgP)%}SK^O73%<_LTO$q$&3HDF_G%2nYxW2nbqQT0ucUk)v`J0004X zNkl#K7o{cx|W#G-XjR>}t&%-KPs4tdn2_ z56i|zFzJkk6{xCMLsq!jK}{#dgI@6g+&CX{ST!d?4IRpl)B&|^zlYCu>WM0c@cQ!= zhAwtFgwVG~xyKZ|_s1X?qW=XTuRFw{BGZG*5a3d^L)`xpm5{RA?NllOsp|FeyJf$VRBsfU}#><69`zV g-=Vty+r zb924Dz5oCJbCgP)%}SK^O73%<_LTO$q$&3HDF_G%2nYxW2nbqQT0ucUk)v`J0004# zNklw}Bww?+Q#{h41E@nY#>$Y4RhF))@>C3% zcCtDpQ5Fhm07Gi3sAKa>44=>UaR?V;tD1Em~bu?X76E`GWkPmbz=my(xru9#^SmPft0|ilcR`q1d4#NfJZYH9PTGl zuwe1ZKs&(&$Up#AotxB3{?41jTi)O`!+akh2#+&5BzU-^7$}v z09av|y=OC#tZWGiyR zzIKr^ExN&gJfiL1r!k#@tOg^5@ zb924Dz5oCJy`(Aj_9@r=uQ@+i2u{`DLq#Q?)7o2dg3O^h(KF>?pG zP%(1QL?10RN!HwIlP*YRC6Nu6TE}k4A1$%zrJg%*0|zNwOzL-&4ye#{Bhg4zdIdA? zCJ|-)ky&t}2z1P3?!N Date: Tue, 9 Oct 2018 21:17:43 -0400 Subject: [PATCH 006/222] Start decompiling quest_log.o --- asm/quest_log.s | 87 --------------------------------------------- include/global.h | 9 ++++- include/quest_log.h | 4 +++ ld_script.txt | 1 + src/quest_log.c | 43 ++++++++++++++++++++++ 5 files changed, 56 insertions(+), 88 deletions(-) create mode 100644 include/quest_log.h create mode 100644 src/quest_log.c diff --git a/asm/quest_log.s b/asm/quest_log.s index 9b7c29ccc..cc5c32e64 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,93 +5,6 @@ .text - thumb_func_start sub_8110840 -sub_8110840: @ 8110840 - push {lr} - ldr r1, _08110888 @ =gSaveBlock1Ptr - ldr r1, [r1] - subs r1, r0 - ldr r2, _0811088C @ =gUnknown_203AE04 - ldr r0, [r2] - cmp r0, 0 - beq _08110854 - adds r0, r1 - str r0, [r2] -_08110854: - ldr r0, _08110890 @ =gUnknown_203ADFA - ldrb r2, [r0] - cmp r2, 0 - beq _08110882 - ldr r3, _08110894 @ =gUnknown_203AE08 - ldr r0, [r3] - cmp r0, 0 - beq _08110868 - adds r0, r1 - str r0, [r3] -_08110868: - cmp r2, 0x2 - bne _08110882 - ldr r2, _08110898 @ =gUnknown_203AE0C - movs r3, 0x1F -_08110870: - ldr r0, [r2] - cmp r0, 0 - beq _0811087A - adds r0, r1 - str r0, [r2] -_0811087A: - adds r2, 0x4 - subs r3, 0x1 - cmp r3, 0 - bge _08110870 -_08110882: - pop {r0} - bx r0 - .align 2, 0 -_08110888: .4byte gSaveBlock1Ptr -_0811088C: .4byte gUnknown_203AE04 -_08110890: .4byte gUnknown_203ADFA -_08110894: .4byte gUnknown_203AE08 -_08110898: .4byte gUnknown_203AE0C - thumb_func_end sub_8110840 - - thumb_func_start sub_811089C -sub_811089C: @ 811089C - push {lr} - ldr r0, _081108D8 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x98 - lsls r1, 5 - adds r0, r1 - movs r2, 0xCD - lsls r2, 5 - movs r1, 0 - bl memset - ldr r0, _081108DC @ =gUnknown_203ADF8 - movs r1, 0 - strb r1, [r0] - ldr r0, _081108E0 @ =gUnknown_203ADFA - strb r1, [r0] - ldr r0, _081108E4 @ =gUnknown_203AE8C - movs r1, 0 - str r1, [r0] - ldr r0, _081108E8 @ =gUnknown_203AE08 - str r1, [r0] - ldr r0, _081108EC @ =gUnknown_203AE04 - str r1, [r0] - bl sub_8113BD8 - bl sub_81138F8 - pop {r0} - bx r0 - .align 2, 0 -_081108D8: .4byte gSaveBlock1Ptr -_081108DC: .4byte gUnknown_203ADF8 -_081108E0: .4byte gUnknown_203ADFA -_081108E4: .4byte gUnknown_203AE8C -_081108E8: .4byte gUnknown_203AE08 -_081108EC: .4byte gUnknown_203AE04 - thumb_func_end sub_811089C - thumb_func_start sub_81108F0 sub_81108F0: @ 81108F0 push {lr} diff --git a/include/global.h b/include/global.h index 11a79ebe8..791eb2dbf 100644 --- a/include/global.h +++ b/include/global.h @@ -474,6 +474,11 @@ struct MysteryEventStruct u8 unk_1; }; +struct QuestLog +{ + /*0x0000*/ u8 filler_0000[0x19a0]; +}; + #define MAP_OBJECTS_COUNT 16 #define BERRY_TREES_COUNT 128 #define FLAGS_COUNT 300 @@ -494,7 +499,9 @@ struct SaveBlock1 /*0x63a*/ u8 trainerRematches[100]; /*0x06A0*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT]; /*0x08E0*/ struct MapObjectTemplate mapObjectTemplates[64]; - /*0x0EE0*/ u8 fillerEE0[0x2580]; + /*0x0EE0*/ u8 fillerEE0[0x420]; + /*0x1300*/ struct QuestLog questLog; + /*0x2ca0*/ u8 filler2CA0[0x7c0]; /*0x3460*/ struct MysteryEventStruct unk_3460; /*0x3464*/ u8 filler_3464[0x1b8]; /*0x361C*/ struct RamScript ramScript; diff --git a/include/quest_log.h b/include/quest_log.h new file mode 100644 index 000000000..015f4966e --- /dev/null +++ b/include/quest_log.h @@ -0,0 +1,4 @@ +#ifndef GUARD_QUEST_LOG_H +#define GUARD_QUEST_LOG_H + +#endif //GUARD_QUEST_LOG_H diff --git a/ld_script.txt b/ld_script.txt index 70084ef0e..0cd3d6202 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -222,6 +222,7 @@ SECTIONS { asm/item_pc.o(.text); asm/mailbox_pc.o(.text); asm/menu.o(.text); + src/quest_log.o(.text); asm/quest_log.o(.text); asm/link_rfu_3.o(.text); asm/pokemon_special_anim.o(.text); diff --git a/src/quest_log.c b/src/quest_log.c new file mode 100644 index 000000000..00b79516d --- /dev/null +++ b/src/quest_log.c @@ -0,0 +1,43 @@ +#include "global.h" +#include "quest_log.h" + +EWRAM_DATA u8 gUnknown_203ADF8 = 0; +EWRAM_DATA u8 gUnknown_203ADFA = 0; +EWRAM_DATA void * gUnknown_203AE04 = NULL; +EWRAM_DATA void * gUnknown_203AE08 = NULL; +EWRAM_DATA void * gUnknown_203AE0C[32] = {NULL}; +EWRAM_DATA u32 gUnknown_203AE8C = 0; + +void sub_8113BD8(void); +void sub_81138F8(void); + +void sub_8110840(void * a0) +{ + size_t r1 = (void *)gSaveBlock1Ptr - a0; + if (gUnknown_203AE04) + gUnknown_203AE04 += r1; + if (gUnknown_203ADFA != 0) + { + if (gUnknown_203AE08) + gUnknown_203AE08 += r1; + if (gUnknown_203ADFA == 2) + { + int r3; + for (r3 = 0; r3 < 0x20; r3++) + if (gUnknown_203AE0C[r3]) + gUnknown_203AE0C[r3] += r1; + } + } +} + +void sub_811089C(void) +{ + gSaveBlock1Ptr->questLog = (struct QuestLog){}; + gUnknown_203ADF8 = 0; + gUnknown_203ADFA = 0; + gUnknown_203AE8C = 0; + gUnknown_203AE08 = 0; + gUnknown_203AE04 = 0; + sub_8113BD8(); + sub_81138F8(); +} From f5964c58bd51718381c5492c063662354a86309e Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 9 Oct 2018 21:28:20 -0400 Subject: [PATCH 007/222] through sub_811092C --- asm/quest_log.s | 51 ------------------------------------------------ include/global.h | 4 ++-- src/quest_log.c | 21 ++++++++++++++++++-- 3 files changed, 21 insertions(+), 55 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index cc5c32e64..bad86c36d 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,57 +5,6 @@ .text - thumb_func_start sub_81108F0 -sub_81108F0: @ 81108F0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08110918 @ =gSaveBlock1Ptr - ldr r1, [r1] - movs r2, 0xCD - lsls r2, 3 - muls r0, r2 - adds r0, r1 - movs r1, 0x98 - lsls r1, 5 - adds r0, r1 - movs r1, 0 - bl memset - ldr r1, _0811091C @ =gUnknown_203AE04 - movs r0, 0 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08110918: .4byte gSaveBlock1Ptr -_0811091C: .4byte gUnknown_203AE04 - thumb_func_end sub_81108F0 - - thumb_func_start sub_8110920 -sub_8110920: @ 8110920 - ldr r1, _08110928 @ =gUnknown_203AE04 - movs r0, 0 - str r0, [r1] - bx lr - .align 2, 0 -_08110928: .4byte gUnknown_203AE04 - thumb_func_end sub_8110920 - - thumb_func_start sub_811092C -sub_811092C: @ 811092C - push {lr} - ldr r0, _08110940 @ =gUnknown_203AE8C - ldr r0, [r0] - cmp r0, 0 - beq _0811093A - bl _call_via_r0 -_0811093A: - pop {r0} - bx r0 - .align 2, 0 -_08110940: .4byte gUnknown_203AE8C - thumb_func_end sub_811092C - thumb_func_start sub_8110944 sub_8110944: @ 8110944 push {r4,r5,lr} diff --git a/include/global.h b/include/global.h index 791eb2dbf..e1b6ff579 100644 --- a/include/global.h +++ b/include/global.h @@ -476,7 +476,7 @@ struct MysteryEventStruct struct QuestLog { - /*0x0000*/ u8 filler_0000[0x19a0]; + /*0x0000*/ u8 filler_000[0x668]; }; #define MAP_OBJECTS_COUNT 16 @@ -500,7 +500,7 @@ struct SaveBlock1 /*0x06A0*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT]; /*0x08E0*/ struct MapObjectTemplate mapObjectTemplates[64]; /*0x0EE0*/ u8 fillerEE0[0x420]; - /*0x1300*/ struct QuestLog questLog; + /*0x1300*/ struct QuestLog questLog[4]; /*0x2ca0*/ u8 filler2CA0[0x7c0]; /*0x3460*/ struct MysteryEventStruct unk_3460; /*0x3464*/ u8 filler_3464[0x1b8]; diff --git a/src/quest_log.c b/src/quest_log.c index 00b79516d..c59de93db 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -6,7 +6,7 @@ EWRAM_DATA u8 gUnknown_203ADFA = 0; EWRAM_DATA void * gUnknown_203AE04 = NULL; EWRAM_DATA void * gUnknown_203AE08 = NULL; EWRAM_DATA void * gUnknown_203AE0C[32] = {NULL}; -EWRAM_DATA u32 gUnknown_203AE8C = 0; +EWRAM_DATA void (* gUnknown_203AE8C)(void) = 0; void sub_8113BD8(void); void sub_81138F8(void); @@ -32,7 +32,7 @@ void sub_8110840(void * a0) void sub_811089C(void) { - gSaveBlock1Ptr->questLog = (struct QuestLog){}; + memset(gSaveBlock1Ptr->questLog, 0, sizeof(gSaveBlock1Ptr->questLog)); gUnknown_203ADF8 = 0; gUnknown_203ADFA = 0; gUnknown_203AE8C = 0; @@ -41,3 +41,20 @@ void sub_811089C(void) sub_8113BD8(); sub_81138F8(); } + +void sub_81108F0(u8 a0) +{ + memset(gSaveBlock1Ptr->questLog + a0, 0, sizeof(struct QuestLog)); + gUnknown_203AE04 = NULL; +} + +void sub_8110920(void) +{ + gUnknown_203AE04 = NULL; +} + +void sub_811092C(void) +{ + if (gUnknown_203AE8C) + gUnknown_203AE8C(); +} From b78aef06258d5bc6f44cdcc43987a5dd11f1d975 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 10 Oct 2018 07:59:47 -0400 Subject: [PATCH 008/222] sub_8110944 --- asm/quest_log.s | 39 --------------------------------------- include/global.h | 4 +++- src/quest_log.c | 10 ++++++++++ 3 files changed, 13 insertions(+), 40 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index bad86c36d..d1beeb0c4 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,45 +5,6 @@ .text - thumb_func_start sub_8110944 -sub_8110944: @ 8110944 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _08110978 @ =gSaveBlock1Ptr - ldr r0, _0811097C @ =gUnknown_203ADF8 - ldrb r0, [r0] - movs r3, 0xCD - lsls r3, 3 - adds r2, r0, 0 - muls r2, r3 - movs r0, 0x98 - lsls r0, 5 - adds r2, r0 - ldr r0, [r4] - adds r0, r2 - movs r4, 0xAD - lsls r4, 3 - adds r2, r0, r4 - adds r0, r3 - subs r0, r1 - cmp r5, r2 - bcc _08110972 - cmp r5, r0 - bls _08110980 -_08110972: - movs r0, 0 - b _08110982 - .align 2, 0 -_08110978: .4byte gSaveBlock1Ptr -_0811097C: .4byte gUnknown_203ADF8 -_08110980: - movs r0, 0x1 -_08110982: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8110944 - thumb_func_start sub_8110988 sub_8110988: @ 8110988 push {r4,r5,lr} diff --git a/include/global.h b/include/global.h index e1b6ff579..907dc7eaa 100644 --- a/include/global.h +++ b/include/global.h @@ -476,7 +476,9 @@ struct MysteryEventStruct struct QuestLog { - /*0x0000*/ u8 filler_000[0x668]; + /*0x0000*/ u8 filler_000[0x568]; + /*0x0568*/ u8 filler_568[0x100]; + /*0x0668*/ u8 end[0]; }; #define MAP_OBJECTS_COUNT 16 diff --git a/src/quest_log.c b/src/quest_log.c index c59de93db..4dc0a5719 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -58,3 +58,13 @@ void sub_811092C(void) if (gUnknown_203AE8C) gUnknown_203AE8C(); } + +bool8 sub_8110944(u8 * a0, s32 a1) +{ + u8 * r2 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].filler_568; + u8 * r0 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].end; + r0 -= a1; + if (a0 < r2 || a0 > r0) + return FALSE; + return TRUE; +} From dc37cd7de0d60727e4b45fd4c83301a59a194bdf Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 10 Oct 2018 10:45:50 -0400 Subject: [PATCH 009/222] through sub_8110A3C --- asm/quest_log.s | 158 -------------------------------------- common_syms/quest_log.txt | 1 + include/quest_log.h | 2 + src/quest_log.c | 69 ++++++++++++++++- sym_common.txt | 3 +- 5 files changed, 72 insertions(+), 161 deletions(-) create mode 100644 common_syms/quest_log.txt diff --git a/asm/quest_log.s b/asm/quest_log.s index d1beeb0c4..880f6c290 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,164 +5,6 @@ .text - thumb_func_start sub_8110988 -sub_8110988: @ 8110988 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _081109BC @ =gSaveBlock1Ptr - ldr r0, _081109C0 @ =gUnknown_203ADF8 - ldrb r0, [r0] - movs r3, 0xCD - lsls r3, 3 - adds r2, r0, 0 - muls r2, r3 - movs r0, 0x98 - lsls r0, 5 - adds r2, r0 - ldr r0, [r4] - adds r0, r2 - movs r4, 0xAD - lsls r4, 3 - adds r2, r0, r4 - adds r0, r3 - subs r0, r1 - cmp r5, r2 - bcc _081109B6 - cmp r5, r0 - bls _081109C4 -_081109B6: - movs r0, 0 - b _081109C6 - .align 2, 0 -_081109BC: .4byte gSaveBlock1Ptr -_081109C0: .4byte gUnknown_203ADF8 -_081109C4: - movs r0, 0x1 -_081109C6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8110988 - - thumb_func_start sub_81109CC -sub_81109CC: @ 81109CC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _081109E0 @ =gUnknown_203ADFA - strb r0, [r1] - cmp r0, 0x1 - bne _081109EC - ldr r1, _081109E4 @ =gUnknown_203AE8C - ldr r0, _081109E8 @ =sub_8110A00 - b _081109F0 - .align 2, 0 -_081109E0: .4byte gUnknown_203ADFA -_081109E4: .4byte gUnknown_203AE8C -_081109E8: .4byte sub_8110A00 -_081109EC: - ldr r1, _081109F8 @ =gUnknown_203AE8C - ldr r0, _081109FC @ =sub_8110A3C -_081109F0: - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_081109F8: .4byte gUnknown_203AE8C -_081109FC: .4byte sub_8110A3C - thumb_func_end sub_81109CC - - thumb_func_start sub_8110A00 -sub_8110A00: @ 8110A00 - push {r4,lr} - ldr r0, _08110A2C @ =gUnknown_203AE98 - bl sub_8110E68 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08110A24 - ldr r0, _08110A30 @ =gUnknown_3005E88 - movs r4, 0 - strb r4, [r0] - bl sub_8110E3C - ldr r0, _08110A34 @ =gUnknown_203ADFA - strb r4, [r0] - ldr r1, _08110A38 @ =gUnknown_203AE8C - movs r0, 0 - str r0, [r1] -_08110A24: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08110A2C: .4byte gUnknown_203AE98 -_08110A30: .4byte gUnknown_3005E88 -_08110A34: .4byte gUnknown_203ADFA -_08110A38: .4byte gUnknown_203AE8C - thumb_func_end sub_8110A00 - - thumb_func_start sub_8110A3C -sub_8110A3C: @ 8110A3C - push {r4,lr} - ldr r1, _08110A8C @ =gUnknown_203AE94 - ldrb r2, [r1] - movs r4, 0xF - adds r0, r4, 0 - ands r0, r2 - adds r3, r1, 0 - cmp r0, 0x2 - bne _08110A56 - movs r0, 0x10 - negs r0, r0 - ands r0, r2 - strb r0, [r3] -_08110A56: - ldrb r1, [r3] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0 - bne _08110AAE - ldr r0, _08110A90 @ =gUnknown_3005E88 - ldrb r0, [r0] - cmp r0, 0 - bne _08110A84 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0x1 - beq _08110A84 - ldrb r0, [r3, 0x1] - cmp r0, 0x1F - bhi _08110A98 - ldr r0, _08110A94 @ =gUnknown_203AE0C - ldrb r1, [r3, 0x1] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - cmp r0, 0 - beq _08110A98 -_08110A84: - bl sub_8111AD8 - b _08110AAE - .align 2, 0 -_08110A8C: .4byte gUnknown_203AE94 -_08110A90: .4byte gUnknown_3005E88 -_08110A94: .4byte gUnknown_203AE0C -_08110A98: - ldrb r0, [r3] - movs r1, 0x3F - ands r1, r0 - movs r0, 0x80 - orrs r1, r0 - strb r1, [r3] - bl ScriptContext2_Enable - movs r0, 0 - bl sub_81118F4 -_08110AAE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8110A3C - thumb_func_start sub_8110AB4 sub_8110AB4: @ 8110AB4 ldr r0, _08110AC0 @ =gUnknown_20370D0 diff --git a/common_syms/quest_log.txt b/common_syms/quest_log.txt new file mode 100644 index 000000000..4ecbf66a8 --- /dev/null +++ b/common_syms/quest_log.txt @@ -0,0 +1 @@ +gUnknown_3005E88 diff --git a/include/quest_log.h b/include/quest_log.h index 015f4966e..dfdd4bf41 100644 --- a/include/quest_log.h +++ b/include/quest_log.h @@ -1,4 +1,6 @@ #ifndef GUARD_QUEST_LOG_H #define GUARD_QUEST_LOG_H +extern u8 gUnknown_3005E88; + #endif //GUARD_QUEST_LOG_H diff --git a/src/quest_log.c b/src/quest_log.c index 4dc0a5719..0454dd7ad 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -1,13 +1,32 @@ #include "global.h" +#include "script.h" #include "quest_log.h" +u8 gUnknown_3005E88; + +struct UnkStruct_203AE94 +{ + u8 unk_0_0:4; + u8 unk_0_4:2; + u8 unk_0_6:2; + u8 unk_1; +}; + EWRAM_DATA u8 gUnknown_203ADF8 = 0; EWRAM_DATA u8 gUnknown_203ADFA = 0; EWRAM_DATA void * gUnknown_203AE04 = NULL; EWRAM_DATA void * gUnknown_203AE08 = NULL; EWRAM_DATA void * gUnknown_203AE0C[32] = {NULL}; EWRAM_DATA void (* gUnknown_203AE8C)(void) = 0; +EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0}; +EWRAM_DATA u8 gUnknown_203AE98[0x100] = {0}; +void sub_8110A00(void); +u8 sub_8110E68(void *); +void sub_8110A3C(void); +void sub_8110E3C(void); +void sub_8111AD8(void); +void sub_81118F4(s8); void sub_8113BD8(void); void sub_81138F8(void); @@ -59,7 +78,7 @@ void sub_811092C(void) gUnknown_203AE8C(); } -bool8 sub_8110944(u8 * a0, s32 a1) +bool8 sub_8110944(u8 * a0, size_t a1) { u8 * r2 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].filler_568; u8 * r0 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].end; @@ -68,3 +87,51 @@ bool8 sub_8110944(u8 * a0, s32 a1) return FALSE; return TRUE; } + +bool8 sub_8110988(u8 * a0, size_t a1) +{ + u8 * r2 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].filler_568; + u8 * r0 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].end; + r0 -= a1; + if (a0 < r2 || a0 > r0) + return FALSE; + return TRUE; +} + +void sub_81109CC(u8 a0) +{ + gUnknown_203ADFA = a0; + if (a0 == 1) + gUnknown_203AE8C = sub_8110A00; + else + gUnknown_203AE8C = sub_8110A3C; +} + +void sub_8110A00(void) +{ + if (sub_8110E68(gUnknown_203AE98) != 1) + { + gUnknown_3005E88 = 0; + sub_8110E3C(); + gUnknown_203ADFA = 0; + gUnknown_203AE8C = NULL; + } +} + +void sub_8110A3C(void) +{ + if (gUnknown_203AE94.unk_0_0 == 2) + gUnknown_203AE94.unk_0_0 = 0; + + if (gUnknown_203AE94.unk_0_6 == 0) + { + if (gUnknown_3005E88 || gUnknown_203AE94.unk_0_0 == 1 || (gUnknown_203AE94.unk_1 < 32 && gUnknown_203AE0C[gUnknown_203AE94.unk_1])) + sub_8111AD8(); + else + { + gUnknown_203AE94.unk_0_6 = 2; + ScriptContext2_Enable(); + sub_81118F4(0); + } + } +} diff --git a/sym_common.txt b/sym_common.txt index 4049c48f5..7c2f0ff7f 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -345,8 +345,7 @@ gUnknown_3005E60: @ 3005E60 gUnknown_3005E70: @ 3005E70 .space 0x18 -gUnknown_3005E88: @ 3005E88 - .space 0x4 + .include "quest_log.o" gUnknown_3005E8C: @ 3005E8C .space 0x4 From a7a6457014c93b3314c6fc8bfe9be1b3c6e946d5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 10 Oct 2018 11:08:56 -0400 Subject: [PATCH 010/222] through sub_8110AEC --- asm/quest_log.s | 121 ------------------------------------------------ src/quest_log.c | 49 +++++++++++++++++++- 2 files changed, 47 insertions(+), 123 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 880f6c290..40689ba5e 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,127 +5,6 @@ .text - thumb_func_start sub_8110AB4 -sub_8110AB4: @ 8110AB4 - ldr r0, _08110AC0 @ =gUnknown_20370D0 - ldr r1, _08110AC4 @ =gUnknown_203ADFA - ldrb r1, [r1] - strh r1, [r0] - bx lr - .align 2, 0 -_08110AC0: .4byte gUnknown_20370D0 -_08110AC4: .4byte gUnknown_203ADFA - thumb_func_end sub_8110AB4 - - thumb_func_start sub_8110AC8 -sub_8110AC8: @ 8110AC8 - ldr r0, _08110AE4 @ =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, _08110AE8 @ =gUnknown_203ADF8 - ldrb r2, [r0] - movs r0, 0xCD - lsls r0, 3 - muls r0, r2 - adds r1, r0 - movs r0, 0x98 - lsls r0, 5 - adds r1, r0 - ldrb r0, [r1] - bx lr - .align 2, 0 -_08110AE4: .4byte gSaveBlock1Ptr -_08110AE8: .4byte gUnknown_203ADF8 - thumb_func_end sub_8110AC8 - - thumb_func_start sub_8110AEC -sub_8110AEC: @ 8110AEC - push {r4-r7,lr} - lsls r0, 16 - lsrs r6, r0, 16 - ldr r4, _08110B44 @ =gUnknown_203ADF8 - ldrb r0, [r4] - cmp r0, 0x3 - bls _08110AFE - movs r0, 0 - strb r0, [r4] -_08110AFE: - ldrb r0, [r4] - bl sub_81108F0 - bl sub_8113B88 - ldr r2, _08110B48 @ =gUnknown_203AE08 - ldr r1, _08110B4C @ =gSaveBlock1Ptr - ldrb r0, [r4] - movs r3, 0xCD - lsls r3, 3 - muls r0, r3 - movs r5, 0x98 - lsls r5, 5 - adds r0, r5 - ldr r1, [r1] - adds r0, r1, r0 - movs r7, 0xAD - lsls r7, 3 - adds r0, r7 - str r0, [r2] - adds r0, r6, 0 - subs r0, 0xC - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x7 - bls _08110B36 - cmp r6, 0x23 - bne _08110B50 -_08110B36: - ldrb r0, [r4] - muls r0, r3 - adds r0, r1, r0 - adds r0, r5 - movs r1, 0x2 - b _08110B5A - .align 2, 0 -_08110B44: .4byte gUnknown_203ADF8 -_08110B48: .4byte gUnknown_203AE08 -_08110B4C: .4byte gSaveBlock1Ptr -_08110B50: - ldrb r0, [r4] - muls r0, r3 - adds r0, r1, r0 - adds r0, r5 - movs r1, 0x1 -_08110B5A: - strb r1, [r0] - bl sub_81115E8 - ldr r4, _08110BA4 @ =gUnknown_203ADF8 - ldrb r0, [r4] - bl sub_8110BB0 - ldrb r0, [r4] - bl sub_8110BE8 - bl sub_8110D94 - bl sub_8110E20 - ldrb r0, [r4] - bl sub_8110D48 - ldr r1, _08110BA8 @ =gUnknown_203ADFC - movs r0, 0 - strh r0, [r1] - ldr r4, _08110BAC @ =gUnknown_203AE98 - movs r2, 0x80 - lsls r2, 1 - movs r0, 0x2 - adds r1, r4, 0 - bl sub_8112940 - adds r0, r4, 0 - bl sub_8110E68 - movs r0, 0x1 - bl sub_81109CC - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08110BA4: .4byte gUnknown_203ADF8 -_08110BA8: .4byte gUnknown_203ADFC -_08110BAC: .4byte gUnknown_203AE98 - thumb_func_end sub_8110AEC - thumb_func_start sub_8110BB0 sub_8110BB0: @ 8110BB0 lsls r0, 24 diff --git a/src/quest_log.c b/src/quest_log.c index 0454dd7ad..3a5ca7b30 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -1,5 +1,6 @@ #include "global.h" #include "script.h" +#include "event_data.h" #include "quest_log.h" u8 gUnknown_3005E88; @@ -14,6 +15,7 @@ struct UnkStruct_203AE94 EWRAM_DATA u8 gUnknown_203ADF8 = 0; EWRAM_DATA u8 gUnknown_203ADFA = 0; +EWRAM_DATA u16 gUnknown_203ADFC = 0; EWRAM_DATA void * gUnknown_203AE04 = NULL; EWRAM_DATA void * gUnknown_203AE08 = NULL; EWRAM_DATA void * gUnknown_203AE0C[32] = {NULL}; @@ -22,13 +24,22 @@ EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0}; EWRAM_DATA u8 gUnknown_203AE98[0x100] = {0}; void sub_8110A00(void); -u8 sub_8110E68(void *); void sub_8110A3C(void); void sub_8110E3C(void); -void sub_8111AD8(void); +u8 sub_8110E68(void *); void sub_81118F4(s8); +void sub_8111AD8(void); +void sub_8113B88(void); void sub_8113BD8(void); void sub_81138F8(void); +void sub_81115E8(void); +void sub_8110BB0(u8); +void sub_8110BE8(u8); +void sub_8110D94(void); +void sub_8110E20(void); +void sub_8110D48(u8); +void sub_8112940(u8, u8 *, u16); + void sub_8110840(void * a0) { @@ -135,3 +146,37 @@ void sub_8110A3C(void) } } } + +void sub_8110AB4(void) +{ + gUnknown_20370D0 = gUnknown_203ADFA; +} + +u8 sub_8110AC8(void) +{ + return gSaveBlock1Ptr->questLog[gUnknown_203ADF8].filler_000[0]; +} + +void sub_8110AEC(u16 a0) +{ + if (gUnknown_203ADF8 > 3) + gUnknown_203ADF8 = 0; + + sub_81108F0(gUnknown_203ADF8); + sub_8113B88(); + gUnknown_203AE08 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].filler_568; + if ((a0 >= 12 && a0 < 20) || a0 == 35) + gSaveBlock1Ptr->questLog[gUnknown_203ADF8].filler_000[0] = 2; + else + gSaveBlock1Ptr->questLog[gUnknown_203ADF8].filler_000[0] = 1; + sub_81115E8(); + sub_8110BB0(gUnknown_203ADF8); + sub_8110BE8(gUnknown_203ADF8); + sub_8110D94(); + sub_8110E20(); + sub_8110D48(gUnknown_203ADF8); + gUnknown_203ADFC = 0; + sub_8112940(2, gUnknown_203AE98, 0x100); + sub_8110E68(gUnknown_203AE98); + sub_81109CC(1); +} From 572929c3523aeb2f563821f07724f5356df61d76 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 10 Oct 2018 11:25:05 -0400 Subject: [PATCH 011/222] sub_8110BB0 --- asm/quest_log.s | 31 ------------------------------- include/global.h | 10 ++++++++-- src/quest_log.c | 16 +++++++++++++--- 3 files changed, 21 insertions(+), 36 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 40689ba5e..3a4b5eb8e 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,37 +5,6 @@ .text - thumb_func_start sub_8110BB0 -sub_8110BB0: @ 8110BB0 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08110BE4 @ =gSaveBlock1Ptr - movs r1, 0xCD - lsls r1, 3 - muls r1, r0 - movs r0, 0x98 - lsls r0, 5 - adds r1, r0 - ldr r0, [r2] - adds r1, r0, r1 - ldrb r0, [r0, 0x4] - strb r0, [r1, 0x1] - ldr r0, [r2] - ldrb r0, [r0, 0x5] - strb r0, [r1, 0x2] - ldr r0, [r2] - ldrb r0, [r0, 0x6] - strb r0, [r1, 0x3] - ldr r2, [r2] - ldrh r0, [r2] - strh r0, [r1, 0x4] - ldrh r0, [r2, 0x2] - strh r0, [r1, 0x6] - bx lr - .align 2, 0 -_08110BE4: .4byte gSaveBlock1Ptr - thumb_func_end sub_8110BB0 - thumb_func_start sub_8110BE8 sub_8110BE8: @ 8110BE8 push {r4-r7,lr} diff --git a/include/global.h b/include/global.h index 907dc7eaa..4efd21e48 100644 --- a/include/global.h +++ b/include/global.h @@ -476,7 +476,13 @@ struct MysteryEventStruct struct QuestLog { - /*0x0000*/ u8 filler_000[0x568]; + /*0x0000*/ u8 unk_000; + /*0x0001*/ s8 unk_001; + /*0x0002*/ s8 unk_002; + /*0x0003*/ s8 unk_003; + /*0x0004*/ s16 unk_004; + /*0x0006*/ s16 unk_006; + /*0x0008*/ u8 filler_008[0x560]; /*0x0568*/ u8 filler_568[0x100]; /*0x0668*/ u8 end[0]; }; @@ -489,7 +495,7 @@ struct QuestLog struct SaveBlock1 { - /*0x0000*/ u8 filler[0x4]; + /*0x0000*/ struct Coords16 pos; /*0x0004*/ struct WarpData location; /*0x0C*/ struct WarpData warp1; /*0x14*/ struct WarpData warp2; diff --git a/src/quest_log.c b/src/quest_log.c index 3a5ca7b30..900194040 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -154,7 +154,7 @@ void sub_8110AB4(void) u8 sub_8110AC8(void) { - return gSaveBlock1Ptr->questLog[gUnknown_203ADF8].filler_000[0]; + return gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_000; } void sub_8110AEC(u16 a0) @@ -166,9 +166,9 @@ void sub_8110AEC(u16 a0) sub_8113B88(); gUnknown_203AE08 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].filler_568; if ((a0 >= 12 && a0 < 20) || a0 == 35) - gSaveBlock1Ptr->questLog[gUnknown_203ADF8].filler_000[0] = 2; + gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_000 = 2; else - gSaveBlock1Ptr->questLog[gUnknown_203ADF8].filler_000[0] = 1; + gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_000 = 1; sub_81115E8(); sub_8110BB0(gUnknown_203ADF8); sub_8110BE8(gUnknown_203ADF8); @@ -180,3 +180,13 @@ void sub_8110AEC(u16 a0) sub_8110E68(gUnknown_203AE98); sub_81109CC(1); } + +void sub_8110BB0(u8 a0) +{ + struct QuestLog * questLog = &gSaveBlock1Ptr->questLog[a0]; + questLog->unk_001 = gSaveBlock1Ptr->location.mapGroup; + questLog->unk_002 = gSaveBlock1Ptr->location.mapNum; + questLog->unk_003 = gSaveBlock1Ptr->location.warpId; + questLog->unk_004 = gSaveBlock1Ptr->pos.x; + questLog->unk_006 = gSaveBlock1Ptr->pos.y; +} From f24d9344e8c26414b0776eff693d27ec8a6ddea1 Mon Sep 17 00:00:00 2001 From: paul Date: Wed, 10 Oct 2018 23:00:46 +0200 Subject: [PATCH 012/222] revert to previous graphics_file_rules.mk and fix up font rules. fix double include in makefile --- Makefile | 2 - graphics_file_rules.mk | 621 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 620 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 559d0d3d2..0b83cb5c5 100644 --- a/Makefile +++ b/Makefile @@ -88,8 +88,6 @@ clean: tidy tidy: rm -f $(ROM) $(ELF) $(MAP) rm -r build/* - -include graphics_file_rules.mk include graphics_file_rules.mk diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index 74246425d..055c459b2 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -1,4 +1,250 @@ +MONSTILLFRONTGFXDIR := graphics/pokemon/front_pics +MONBACKGFXDIR := graphics/pokemon/back_pics +MONFRONTGFXDIR := graphics/pokemon/anim_front_pics +MONPALDIR := graphics/pokemon/palettes +TILESETGFXDIR := data/tilesets FONTGFXDIR := data/graphics/fonts +INTERFACEGFXDIR := graphics/interface +BTLANMSPRGFXDIR := graphics/battle_anims/sprites +UNUSEDGFXDIR := graphics/unused +UNKNOWNGFXDIR := graphics/unknown +BATINTGFXDIR := graphics/battle_interface +MASKSGFXDIR := graphics/battle_anims/masks +BATTRANSGFXDIR := graphics/battle_transitions +TYPESGFXDIR := graphics/types +RAYQUAZAGFXDIR := graphics/rayquaza_scene +ROULETTEGFXDIR := graphics/roulette +SLOTMACHINEGFXDIR := graphics/slot_machine +PKNAVGFXDIR := graphics/pokenav +PKNAVOPTIONSGFXDIR := graphics/pokenav/options +PSSGFXDIR := graphics/pokemon_storage +EVENTOBJGFXDIR := graphics/event_objects +MISCGFXDIR := graphics/misc + +types := normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark +contest_types := cool beauty cute smart tough + +$(MONSTILLFRONTGFXDIR)/castform_still_front_pic.4bpp: $(MONSTILLFRONTGFXDIR)/castform_normal_form_still_front_pic.4bpp \ + $(MONSTILLFRONTGFXDIR)/castform_sunny_form_still_front_pic.4bpp \ + $(MONSTILLFRONTGFXDIR)/castform_rainy_form_still_front_pic.4bpp \ + $(MONSTILLFRONTGFXDIR)/castform_snowy_form_still_front_pic.4bpp + @cat $^ >$@ + +$(MONBACKGFXDIR)/castform_back_pic.4bpp: $(MONBACKGFXDIR)/castform_normal_form_back_pic.4bpp \ + $(MONBACKGFXDIR)/castform_sunny_form_back_pic.4bpp \ + $(MONBACKGFXDIR)/castform_rainy_form_back_pic.4bpp \ + $(MONBACKGFXDIR)/castform_snowy_form_back_pic.4bpp + @cat $^ >$@ + +$(MONFRONTGFXDIR)/castform_front_pic.4bpp: $(MONFRONTGFXDIR)/castform_normal_form_front_pic.4bpp \ + $(MONFRONTGFXDIR)/castform_sunny_form_front_pic.4bpp \ + $(MONFRONTGFXDIR)/castform_rainy_form_front_pic.4bpp \ + $(MONFRONTGFXDIR)/castform_snowy_form_front_pic.4bpp + @cat $^ >$@ + +$(MONPALDIR)/castform_palette.gbapal: $(MONPALDIR)/castform_normal_form_palette.gbapal \ + $(MONPALDIR)/castform_sunny_form_palette.gbapal \ + $(MONPALDIR)/castform_rainy_form_palette.gbapal \ + $(MONPALDIR)/castform_snowy_form_palette.gbapal + @cat $^ >$@ + +$(MONPALDIR)/castform_shiny_palette.gbapal: $(MONPALDIR)/castform_normal_form_shiny_palette.gbapal \ + $(MONPALDIR)/castform_sunny_form_shiny_palette.gbapal \ + $(MONPALDIR)/castform_rainy_form_shiny_palette.gbapal \ + $(MONPALDIR)/castform_snowy_form_shiny_palette.gbapal + @cat $^ >$@ + +$(TILESETGFXDIR)/secondary/petalburg/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 159 + +$(TILESETGFXDIR)/secondary/rustboro/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 498 + +$(TILESETGFXDIR)/secondary/dewford/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 503 + +$(TILESETGFXDIR)/secondary/slateport/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 504 + +$(TILESETGFXDIR)/secondary/mauville/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 503 + +$(TILESETGFXDIR)/secondary/lavaridge/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 450 + +$(TILESETGFXDIR)/secondary/fortree/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 493 + +$(TILESETGFXDIR)/secondary/pacifidlog/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 504 + +$(TILESETGFXDIR)/secondary/sootopolis/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 328 + +$(TILESETGFXDIR)/secondary/battle_frontier_outside_west/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 508 + +$(TILESETGFXDIR)/secondary/battle_frontier_outside_east/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 508 + +$(TILESETGFXDIR)/primary/building/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 502 + +$(TILESETGFXDIR)/secondary/shop/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 502 + +$(TILESETGFXDIR)/secondary/pokemon_center/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 478 + +$(TILESETGFXDIR)/secondary/cave/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 425 + +$(TILESETGFXDIR)/secondary/pokemon_school/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 278 + +$(TILESETGFXDIR)/secondary/pokemon_fan_club/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 319 + +$(TILESETGFXDIR)/secondary/unused_1/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 17 + +$(TILESETGFXDIR)/secondary/meteor_falls/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 460 + +$(TILESETGFXDIR)/secondary/oceanic_museum/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 319 + +$(TILESETGFXDIR)/secondary/cable_club/unknown_tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 120 + +$(TILESETGFXDIR)/secondary/seashore_house/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 312 + +$(TILESETGFXDIR)/secondary/pretty_petal_flower_shop/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 345 + +$(TILESETGFXDIR)/secondary/pokemon_day_care/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 355 + +$(TILESETGFXDIR)/secondary/secret_base/brown_cave/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/brown_cave/tiles.png + $(GFX) $< $@ -num_tiles 82 + +$(TILESETGFXDIR)/secondary/secret_base/tree/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/tree/tiles.png + $(GFX) $< $@ -num_tiles 82 + +$(TILESETGFXDIR)/secondary/secret_base/shrub/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/shrub/tiles.png + $(GFX) $< $@ -num_tiles 82 + +$(TILESETGFXDIR)/secondary/secret_base/blue_cave/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/blue_cave/tiles.png + $(GFX) $< $@ -num_tiles 82 + +$(TILESETGFXDIR)/secondary/secret_base/yellow_cave/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/yellow_cave/tiles.png + $(GFX) $< $@ -num_tiles 82 + +$(TILESETGFXDIR)/secondary/secret_base/red_cave/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/red_cave/tiles.png + $(GFX) $< $@ -num_tiles 82 + +$(TILESETGFXDIR)/secondary/secret_base/brown_cave/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 83 + +$(TILESETGFXDIR)/secondary/secret_base/tree/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 83 + +$(TILESETGFXDIR)/secondary/secret_base/shrub/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 83 + +$(TILESETGFXDIR)/secondary/secret_base/blue_cave/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 83 + +$(TILESETGFXDIR)/secondary/secret_base/yellow_cave/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 83 + +$(TILESETGFXDIR)/secondary/secret_base/red_cave/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 83 + +$(TILESETGFXDIR)/secondary/inside_of_truck/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 62 + +$(TILESETGFXDIR)/secondary/contest/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 430 + +$(TILESETGFXDIR)/secondary/lilycove_museum/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 431 + +$(TILESETGFXDIR)/secondary/lab/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 500 + +$(TILESETGFXDIR)/secondary/underwater/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 500 + +$(TILESETGFXDIR)/secondary/generic_building/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 509 + +$(TILESETGFXDIR)/secondary/mauville_game_corner/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 469 + +$(TILESETGFXDIR)/secondary/unused_2/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 150 + +$(TILESETGFXDIR)/secondary/rustboro_gym/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 60 + +$(TILESETGFXDIR)/secondary/dewford_gym/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 61 + +$(TILESETGFXDIR)/secondary/lavaridge_gym/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 54 + +$(TILESETGFXDIR)/secondary/petalburg_gym/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 148 + +$(TILESETGFXDIR)/secondary/fortree_gym/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 61 + +$(TILESETGFXDIR)/secondary/mossdeep_gym/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 82 + +$(TILESETGFXDIR)/secondary/sootopolis_gym/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 484 + +$(TILESETGFXDIR)/secondary/trick_house_puzzle/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 294 + +$(TILESETGFXDIR)/secondary/inside_ship/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 342 + +$(TILESETGFXDIR)/secondary/elite_four/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 505 + +$(TILESETGFXDIR)/secondary/battle_frontier/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 310 + +$(TILESETGFXDIR)/secondary/battle_factory/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 424 + +$(TILESETGFXDIR)/secondary/battle_pike/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 382 + +$(TILESETGFXDIR)/secondary/mirage_tower/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 420 + +$(TILESETGFXDIR)/secondary/mossdeep_game_corner/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 95 + +$(TILESETGFXDIR)/secondary/island_harbor/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 503 + +$(TILESETGFXDIR)/secondary/trainer_hill/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 374 + +$(TILESETGFXDIR)/secondary/navel_rock/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 420 + +$(TILESETGFXDIR)/secondary/battle_frontier_ranking_hall/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 136 + +$(TILESETGFXDIR)/secondary/mystery_events_house/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 509 $(FONTGFXDIR)/font0_latin.latfont: $(FONTGFXDIR)/font0_latin.png $(GFX) $< $@ @@ -31,4 +277,377 @@ $(FONTGFXDIR)/font5_jap.fwjpnfont: $(FONTGFXDIR)/font5_jap.png $(GFX) $< $@ $(FONTGFXDIR)/font9_jap.fwjpnfont: $(FONTGFXDIR)/font9_jap.png - $(GFX) $< $@ \ No newline at end of file + $(GFX) $< $@ + +graphics/title_screen/pokemon_logo.gbapal: %.gbapal: %.pal + $(GFX) $< $@ -num_colors 224 + +graphics/link_games/pkmnjump_bg.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 63 + +graphics/pokenav/region_map.8bpp: %.8bpp: %.png + $(GFX) $< $@ -num_tiles 233 + +$(MISCGFXDIR)/japanese_hof.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 29 + +$(INTERFACEGFXDIR)/menu.gbapal: $(INTERFACEGFXDIR)/menu_0.gbapal \ + $(INTERFACEGFXDIR)/menu_1.gbapal + @cat $^ >$@ + +$(BTLANMSPRGFXDIR)/010.4bpp: $(BTLANMSPRGFXDIR)/010_0.4bpp \ + $(BTLANMSPRGFXDIR)/010_1.4bpp \ + $(BTLANMSPRGFXDIR)/010_2.4bpp \ + $(BTLANMSPRGFXDIR)/010_3.4bpp + @cat $^ >$@ + +$(UNUSEDGFXDIR)/obi_palpak1.gbapal: $(UNUSEDGFXDIR)/old_pal1.gbapal \ + $(UNUSEDGFXDIR)/old_pal2.gbapal \ + $(UNUSEDGFXDIR)/old_pal3.gbapal + @cat $^ >$@ + +$(UNUSEDGFXDIR)/obi_palpak3.gbapal: $(UNUSEDGFXDIR)/old_pal5.gbapal \ + $(UNUSEDGFXDIR)/old_pal6.gbapal \ + $(UNUSEDGFXDIR)/old_pal7.gbapal + @cat $^ >$@ + +$(UNUSEDGFXDIR)/obi1.4bpp: $(UNUSEDGFXDIR)/old_bulbasaur.4bpp \ + $(UNUSEDGFXDIR)/old_charizard.4bpp + @cat $^ >$@ + +$(UNUSEDGFXDIR)/obi2.4bpp: $(UNUSEDGFXDIR)/old_bulbasaur2.4bpp \ + $(UNUSEDGFXDIR)/old_battle_interface_1.4bpp \ + $(UNUSEDGFXDIR)/old_battle_interface_2.4bpp \ + $(UNUSEDGFXDIR)/old_battle_interface_3.4bpp + @cat $^ >$@ + +$(INTERFACEGFXDIR)/hp_numbers.4bpp: $(INTERFACEGFXDIR)/hpbar_anim.4bpp \ + $(INTERFACEGFXDIR)/numbers1.4bpp \ + $(INTERFACEGFXDIR)/numbers2.4bpp + @cat $^ >$@ + +$(UNUSEDGFXDIR)/redyellowgreen_frame.bin: $(UNUSEDGFXDIR)/red_frame.bin \ + $(UNUSEDGFXDIR)/yellow_frame.bin \ + $(UNUSEDGFXDIR)/green_frame.bin \ + $(UNUSEDGFXDIR)/blank_frame.bin + @cat $^ >$@ + +$(UNUSEDGFXDIR)/color_frames.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 353 + +$(BATINTGFXDIR)/unused_window2bar.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 5 + +$(UNUSEDGFXDIR)/old_contest.4bpp: $(UNUSEDGFXDIR)/old_contest_frame_1.4bpp \ + $(UNUSEDGFXDIR)/old_contest_floor.4bpp \ + $(UNUSEDGFXDIR)/old_contest_frame_2.4bpp \ + $(UNUSEDGFXDIR)/old_contest_symbols.4bpp \ + $(UNUSEDGFXDIR)/old_contest_meter.4bpp \ + $(UNUSEDGFXDIR)/old_contest_classes.4bpp \ + $(UNUSEDGFXDIR)/old_contest_numbers.4bpp + @cat $^ >$@ + +$(UNUSEDGFXDIR)/old_contest_2.4bpp: $(UNUSEDGFXDIR)/old_contest_2_1.4bpp \ + $(UNUSEDGFXDIR)/old_contest_2_2.4bpp + @cat $^ >$@ + +$(UNKNOWNGFXDIR)/unknown_C19470.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 36 + +$(BTLANMSPRGFXDIR)/141.4bpp: $(BTLANMSPRGFXDIR)/141_0.4bpp \ + $(BTLANMSPRGFXDIR)/141_1.4bpp \ + $(BTLANMSPRGFXDIR)/141_2.4bpp \ + $(BTLANMSPRGFXDIR)/141_3.4bpp \ + $(BTLANMSPRGFXDIR)/141_4.4bpp + @cat $^ >$@ + +$(BTLANMSPRGFXDIR)/074.4bpp: $(BTLANMSPRGFXDIR)/074_0.4bpp \ + $(BTLANMSPRGFXDIR)/074_1.4bpp + @cat $^ >$@ + +$(BTLANMSPRGFXDIR)/159.4bpp: $(BTLANMSPRGFXDIR)/159_0.4bpp \ + $(BTLANMSPRGFXDIR)/159_1.4bpp + @cat $^ >$@ + +$(BTLANMSPRGFXDIR)/001.4bpp: $(BTLANMSPRGFXDIR)/001_0.4bpp \ + $(BTLANMSPRGFXDIR)/001_1.4bpp + @cat $^ >$@ + +$(MASKSGFXDIR)/unknown_C2EA50.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 14 + +$(BATTRANSGFXDIR)/vs_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 16 + +$(INTERFACEGFXDIR)/party_menu_misc.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 62 + +$(TYPESGFXDIR)/move_types.4bpp: $(types:%=$(TYPESGFXDIR)/%.4bpp) $(contest_types:%=$(TYPESGFXDIR)/contest_%.4bpp) + @cat $^ >$@ + +$(TYPESGFXDIR)/move_types.gbapal: $(TYPESGFXDIR)/move_types_1.gbapal \ + $(TYPESGFXDIR)/move_types_2.gbapal \ + $(TYPESGFXDIR)/move_types_3.gbapal + @cat $^ >$@ + +$(INTERFACEGFXDIR)/bag_screen.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 53 + +$(RAYQUAZAGFXDIR)/rayquaza.8bpp: %.8bpp: %.png + $(GFX) $< $@ -num_tiles 227 + +$(RAYQUAZAGFXDIR)/overcast.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 313 + +$(RAYQUAZAGFXDIR)/rayquaza_fly1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 124 + +$(RAYQUAZAGFXDIR)/rayquaza_tail_fix.4bpp: $(RAYQUAZAGFXDIR)/rayquaza_tail.4bpp + cp $< $@ + head -c 12 /dev/zero >> $@ + +$(RAYQUAZAGFXDIR)/chase_streaks.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 19 + +$(RAYQUAZAGFXDIR)/rayquaza_chase.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 155 + +graphics/picture_frame/frame5.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 86 + +$(ROULETTEGFXDIR)/roulette_tilt.4bpp: $(ROULETTEGFXDIR)/shroomish.4bpp \ + $(ROULETTEGFXDIR)/tailow.4bpp + @cat $^ >$@ + +$(ROULETTEGFXDIR)/poke_icons2.4bpp: $(ROULETTEGFXDIR)/wynaut.4bpp \ + $(ROULETTEGFXDIR)/azurill.4bpp \ + $(ROULETTEGFXDIR)/skitty.4bpp \ + $(ROULETTEGFXDIR)/makuhita.4bpp + @cat $^ >$@ + +$(BATTRANSGFXDIR)/85BBC14.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 53 + +$(BATTRANSGFXDIR)/rayquaza.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 938 + +$(BATTRANSGFXDIR)/frontier_square_1.4bpp: $(BATTRANSGFXDIR)/frontier_squares_blanktiles.4bpp \ + $(BATTRANSGFXDIR)/frontier_squares_1.4bpp + @cat $^ >$@ + +$(BATTRANSGFXDIR)/frontier_square_2.4bpp: $(BATTRANSGFXDIR)/frontier_squares_blanktiles.4bpp \ + $(BATTRANSGFXDIR)/frontier_squares_2.4bpp + @cat $^ >$@ + +$(BATTRANSGFXDIR)/frontier_square_3.4bpp: $(BATTRANSGFXDIR)/frontier_squares_blanktiles.4bpp \ + $(BATTRANSGFXDIR)/frontier_squares_3.4bpp + @cat $^ >$@ + +$(BATTRANSGFXDIR)/frontier_square_4.4bpp: $(BATTRANSGFXDIR)/frontier_squares_blanktiles.4bpp \ + $(BATTRANSGFXDIR)/frontier_squares_4.4bpp + @cat $^ >$@ + +$(SLOTMACHINEGFXDIR)/reel_time_gfx.4bpp: $(SLOTMACHINEGFXDIR)/reel_time_pikachu.4bpp \ + $(SLOTMACHINEGFXDIR)/reel_time_machine.4bpp + @cat $^ >$@ + +$(UNUSEDGFXDIR)/intro_birch_beauty.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 822 + +$(PSSGFXDIR)/forest_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 55 + +$(PSSGFXDIR)/forest.4bpp: $(PSSGFXDIR)/forest_frame.4bpp $(PSSGFXDIR)/forest_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/city_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 52 + +$(PSSGFXDIR)/city.4bpp: $(PSSGFXDIR)/city_frame.4bpp $(PSSGFXDIR)/city_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/desert.4bpp: $(PSSGFXDIR)/desert_frame.4bpp $(PSSGFXDIR)/desert_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/savanna_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 45 + +$(PSSGFXDIR)/savanna_bg.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 23 + +$(PSSGFXDIR)/savanna.4bpp: $(PSSGFXDIR)/savanna_frame.4bpp $(PSSGFXDIR)/savanna_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/crag_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 49 + +$(PSSGFXDIR)/crag.4bpp: $(PSSGFXDIR)/crag_frame.4bpp $(PSSGFXDIR)/crag_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/volcano_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 56 + +$(PSSGFXDIR)/volcano.4bpp: $(PSSGFXDIR)/volcano_frame.4bpp $(PSSGFXDIR)/volcano_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/snow_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 57 + +$(PSSGFXDIR)/snow.4bpp: $(PSSGFXDIR)/snow_frame.4bpp $(PSSGFXDIR)/snow_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/cave_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 55 + +$(PSSGFXDIR)/cave.4bpp: $(PSSGFXDIR)/cave_frame.4bpp $(PSSGFXDIR)/cave_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/beach_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 46 + +$(PSSGFXDIR)/beach_bg.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 23 + +$(PSSGFXDIR)/beach.4bpp: $(PSSGFXDIR)/beach_frame.4bpp $(PSSGFXDIR)/beach_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/seafloor_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 54 + +$(PSSGFXDIR)/seafloor.4bpp: $(PSSGFXDIR)/seafloor_frame.4bpp $(PSSGFXDIR)/seafloor_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/river_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 51 + +$(PSSGFXDIR)/river_bg.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 11 + +$(PSSGFXDIR)/river.4bpp: $(PSSGFXDIR)/river_frame.4bpp $(PSSGFXDIR)/river_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/sky_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 45 + +$(PSSGFXDIR)/sky.4bpp: $(PSSGFXDIR)/sky_frame.4bpp $(PSSGFXDIR)/sky_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/polkadot_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 54 + +$(PSSGFXDIR)/polkadot.4bpp: $(PSSGFXDIR)/polkadot_frame.4bpp $(PSSGFXDIR)/polkadot_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/pokecenter_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 35 + +$(PSSGFXDIR)/pokecenter.4bpp: $(PSSGFXDIR)/pokecenter_frame.4bpp $(PSSGFXDIR)/pokecenter_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/machine_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 33 + +$(PSSGFXDIR)/machine.4bpp: $(PSSGFXDIR)/machine_frame.4bpp $(PSSGFXDIR)/machine_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/plain_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 18 + +$(PSSGFXDIR)/plain.4bpp: $(PSSGFXDIR)/plain_frame.4bpp $(PSSGFXDIR)/plain_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/friends_frame1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 57 + +$(PSSGFXDIR)/friends_frame2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 57 + +$(PSSGFXDIR)/zigzagoon.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/zigzagoon_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/screen.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/screen_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/horizontal.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/horizontal_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/diagonal.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/diagonal_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/block.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/block_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/ribbon.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/ribbon_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/pokecenter2.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/pokecenter2_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/frame.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/frame_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/blank.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/blank_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/circles.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/circles_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/azumarill.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/azumarill_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/pikachu.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/pikachu_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/legendary.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/legendary_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/dusclops.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/dusclops_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/ludicolo.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/ludicolo_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/whiscash.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/whiscash_bg.4bpp + @cat $^ >$@ + +$(EVENTOBJGFXDIR)/pics/effects/unknown_4F6D38/0.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 11 + +$(INTERFACEGFXDIR)/selector_outline.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 8 + +$(BATTRANSGFXDIR)/frontier_transition.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 43 + +$(PKNAVOPTIONSGFXDIR)/options.4bpp: $(PKNAVOPTIONSGFXDIR)/hoenn_map.4bpp \ + $(PKNAVOPTIONSGFXDIR)/condition.4bpp \ + $(PKNAVOPTIONSGFXDIR)/match_call.4bpp \ + $(PKNAVOPTIONSGFXDIR)/ribbons.4bpp \ + $(PKNAVOPTIONSGFXDIR)/switch_off.4bpp \ + $(PKNAVOPTIONSGFXDIR)/party.4bpp \ + $(PKNAVOPTIONSGFXDIR)/search.4bpp \ + $(PKNAVOPTIONSGFXDIR)/cool.4bpp \ + $(PKNAVOPTIONSGFXDIR)/beauty.4bpp \ + $(PKNAVOPTIONSGFXDIR)/cute.4bpp \ + $(PKNAVOPTIONSGFXDIR)/smart.4bpp \ + $(PKNAVOPTIONSGFXDIR)/tough.4bpp \ + $(PKNAVOPTIONSGFXDIR)/cancel.4bpp + @cat $^ >$@ + +$(PKNAVGFXDIR)/header.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 53 + +$(PKNAVGFXDIR)/outline.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 53 + +$(PKNAVGFXDIR)/ui_matchcall.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 13 + +$(INTERFACEGFXDIR)/region_map.8bpp: %.8bpp: %.png + $(GFX) $< $@ -num_tiles 232 + +$(INTERFACEGFXDIR)/region_map_affine.8bpp: %.8bpp: %.png + $(GFX) $< $@ -num_tiles 233 + +$(MISCGFXDIR)/birch_help.4bpp: $(MISCGFXDIR)/birch_bag.4bpp $(MISCGFXDIR)/birch_grass.4bpp + @cat $^ >$@ From 7e35bd4266a9573a6fbc6d73efb5175a44ba5b93 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 10 Oct 2018 19:43:12 -0400 Subject: [PATCH 013/222] nonmatching sub_8110BE8 --- asm/quest_log.s | 175 ---------------------------------------- include/global.h | 13 ++- src/quest_log.c | 206 ++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 216 insertions(+), 178 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 3a4b5eb8e..f97ef90eb 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,181 +5,6 @@ .text - thumb_func_start sub_8110BE8 -sub_8110BE8: @ 8110BE8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - ldr r4, _08110C54 @ =gSaveBlock1Ptr - movs r1, 0xCD - lsls r1, 3 - muls r0, r1 - movs r1, 0x98 - lsls r1, 5 - adds r0, r1 - ldr r1, [r4] - adds r7, r1, r0 - adds r0, r7, 0 - bl sub_815A008 - movs r6, 0 - mov r9, r4 - movs r2, 0x8D - lsls r2, 3 - mov r8, r2 - ldr r3, _08110C58 @ =0x0000046a - mov r10, r3 -_08110C1C: - mov r4, r9 - ldr r1, [r4] - lsls r2, r6, 1 - adds r0, r2, r6 - lsls r0, 3 - adds r1, r0 - ldr r0, _08110C5C @ =0x000008e4 - adds r1, r0 - ldrh r4, [r1] - movs r3, 0 - ldrsh r0, [r1, r3] - mov r12, r2 - cmp r0, 0 - bge _08110C64 - lsls r3, r6, 2 - adds r2, r7, r3 - negs r0, r0 - mov r4, r8 - adds r1, r2, r4 - strb r0, [r1] - ldr r0, _08110C60 @ =0x00000469 - adds r2, r0 - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - b _08110C7C - .align 2, 0 -_08110C54: .4byte gSaveBlock1Ptr -_08110C58: .4byte 0x0000046a -_08110C5C: .4byte 0x000008e4 -_08110C60: .4byte 0x00000469 -_08110C64: - lsls r3, r6, 2 - adds r1, r7, r3 - mov r2, r8 - adds r0, r1, r2 - strb r4, [r0] - ldr r4, _08110CBC @ =0x00000469 - adds r1, r4 - ldrb r2, [r1] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - strb r0, [r1] -_08110C7C: - adds r5, r3, 0 - mov r1, r9 - ldr r0, [r1] - mov r2, r12 - adds r1, r2, r6 - lsls r1, 3 - adds r0, r1 - ldr r3, _08110CC0 @ =0x000008e6 - adds r1, r0, r3 - ldrh r2, [r1] - movs r4, 0 - ldrsh r0, [r1, r4] - cmp r0, 0 - bge _08110CC8 - adds r3, r7, r5 - adds r1, r0, 0 - negs r1, r1 - lsls r1, 24 - mov r2, r8 - adds r4, r3, r2 - lsrs r1, 15 - ldr r0, [r4] - ldr r2, _08110CC4 @ =0xfffe01ff - ands r0, r2 - orrs r0, r1 - str r0, [r4] - add r3, r10 - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - b _08110CE6 - .align 2, 0 -_08110CBC: .4byte 0x00000469 -_08110CC0: .4byte 0x000008e6 -_08110CC4: .4byte 0xfffe01ff -_08110CC8: - adds r3, r7, r5 - lsls r2, 24 - mov r0, r8 - adds r4, r3, r0 - lsrs r2, 15 - ldr r0, [r4] - ldr r1, _08110D38 @ =0xfffe01ff - ands r0, r1 - orrs r0, r2 - str r0, [r4] - add r3, r10 - ldrb r1, [r3] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 -_08110CE6: - strb r0, [r3] - adds r5, r7, r5 - mov r1, r9 - ldr r0, [r1] - mov r2, r12 - adds r3, r2, r6 - lsls r3, 3 - adds r0, r3 - ldr r4, _08110D3C @ =0x000008e8 - adds r0, r4 - ldrb r1, [r0] - mov r0, r10 - adds r4, r5, r0 - lsls r1, 2 - ldrb r2, [r4] - movs r0, 0x3 - ands r0, r2 - orrs r0, r1 - strb r0, [r4] - mov r1, r9 - ldr r0, [r1] - adds r0, r3 - ldr r2, _08110D40 @ =0x000008e9 - adds r0, r2 - ldrb r0, [r0] - ldr r3, _08110D44 @ =0x0000046b - adds r5, r3 - strb r0, [r5] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x3F - bhi _08110D2A - b _08110C1C -_08110D2A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08110D38: .4byte 0xfffe01ff -_08110D3C: .4byte 0x000008e8 -_08110D40: .4byte 0x000008e9 -_08110D44: .4byte 0x0000046b - thumb_func_end sub_8110BE8 - thumb_func_start sub_8110D48 sub_8110D48: @ 8110D48 push {r4,r5,lr} diff --git a/include/global.h b/include/global.h index 4efd21e48..1655ac4e3 100644 --- a/include/global.h +++ b/include/global.h @@ -474,6 +474,16 @@ struct MysteryEventStruct u8 unk_1; }; +struct QuestLogNPCData +{ + u32 x:8; + u32 negx:1; + u32 y:8; + u32 negy:1; + u32 elevation:6; + u32 movementType:8; +}; + struct QuestLog { /*0x0000*/ u8 unk_000; @@ -482,7 +492,8 @@ struct QuestLog /*0x0003*/ s8 unk_003; /*0x0004*/ s16 unk_004; /*0x0006*/ s16 unk_006; - /*0x0008*/ u8 filler_008[0x560]; + /*0x0008*/ u8 filler_008[0x460]; + /*0x0468*/ struct QuestLogNPCData npcData[64]; /*0x0568*/ u8 filler_568[0x100]; /*0x0668*/ u8 end[0]; }; diff --git a/src/quest_log.c b/src/quest_log.c index 900194040..782e0efe4 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -25,6 +25,9 @@ EWRAM_DATA u8 gUnknown_203AE98[0x100] = {0}; void sub_8110A00(void); void sub_8110A3C(void); +void sub_8110BB0(u8); +void sub_8110BE8(u8); +void sub_815A008(struct QuestLog *); void sub_8110E3C(void); u8 sub_8110E68(void *); void sub_81118F4(s8); @@ -33,8 +36,6 @@ void sub_8113B88(void); void sub_8113BD8(void); void sub_81138F8(void); void sub_81115E8(void); -void sub_8110BB0(u8); -void sub_8110BE8(u8); void sub_8110D94(void); void sub_8110E20(void); void sub_8110D48(u8); @@ -190,3 +191,204 @@ void sub_8110BB0(u8 a0) questLog->unk_004 = gSaveBlock1Ptr->pos.x; questLog->unk_006 = gSaveBlock1Ptr->pos.y; } + +#ifdef NONMATCHING +void sub_8110BE8(u8 a0) +{ + struct QuestLog * questLog = &gSaveBlock1Ptr->questLog[a0]; + u16 i; // r6 + + sub_815A008(questLog); + + for (i = 0; i < ARRAY_COUNT(gSaveBlock1Ptr->mapObjectTemplates); i++) + { + if (gSaveBlock1Ptr->mapObjectTemplates[i].x < 0) + { + questLog->npcData[i].x = (u8)-gSaveBlock1Ptr->mapObjectTemplates[i].x; + questLog->npcData[i].negx = TRUE; + } + else + { + questLog->npcData[i].x = (u8)gSaveBlock1Ptr->mapObjectTemplates[i].x; + questLog->npcData[i].negx = FALSE; + } + if (gSaveBlock1Ptr->mapObjectTemplates[i].y < 0) + { + questLog->npcData[i].y = (u8)-gSaveBlock1Ptr->mapObjectTemplates[i].y; + questLog->npcData[i].negy = TRUE; + } + else + { + questLog->npcData[i].y = (u8)gSaveBlock1Ptr->mapObjectTemplates[i].y; + questLog->npcData[i].negy = FALSE; + } + questLog->npcData[i].elevation = gSaveBlock1Ptr->mapObjectTemplates[i].elevation; + questLog->npcData[i].movementType = gSaveBlock1Ptr->mapObjectTemplates[i].movementType; + } +} +#else +NAKED +void sub_8110BE8(u8 a0) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tmov r7, r10\n" + "\tmov r6, r9\n" + "\tmov r5, r8\n" + "\tpush {r5-r7}\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tldr r4, =gSaveBlock1Ptr\n" + "\tmovs r1, 0xCD\n" + "\tlsls r1, 3\n" + "\tmuls r0, r1\n" + "\tmovs r1, 0x98\n" + "\tlsls r1, 5\n" + "\tadds r0, r1\n" + "\tldr r1, [r4]\n" + "\tadds r7, r1, r0\n" + "\tadds r0, r7, 0\n" + "\tbl sub_815A008\n" + "\tmovs r6, 0\n" + "\tmov r9, r4\n" + "\tmovs r2, 0x8D\n" + "\tlsls r2, 3\n" + "\tmov r8, r2\n" + "\tldr r3, =0x0000046a\n" + "\tmov r10, r3\n" + "_08110C1C:\n" + "\tmov r4, r9\n" + "\tldr r1, [r4]\n" + "\tlsls r2, r6, 1\n" + "\tadds r0, r2, r6\n" + "\tlsls r0, 3\n" + "\tadds r1, r0\n" + "\tldr r0, =0x000008e4\n" + "\tadds r1, r0\n" + "\tldrh r4, [r1]\n" + "\tmovs r3, 0\n" + "\tldrsh r0, [r1, r3]\n" + "\tmov r12, r2\n" + "\tcmp r0, 0\n" + "\tbge _08110C64\n" + "\tlsls r3, r6, 2\n" + "\tadds r2, r7, r3\n" + "\tnegs r0, r0\n" + "\tmov r4, r8\n" + "\tadds r1, r2, r4\n" + "\tstrb r0, [r1]\n" + "\tldr r0, =0x00000469\n" + "\tadds r2, r0\n" + "\tldrb r0, [r2]\n" + "\tmovs r1, 0x1\n" + "\torrs r0, r1\n" + "\tstrb r0, [r2]\n" + "\tb _08110C7C\n" + "\t.pool\n" + "_08110C64:\n" + "\tlsls r3, r6, 2\n" + "\tadds r1, r7, r3\n" + "\tmov r2, r8\n" + "\tadds r0, r1, r2\n" + "\tstrb r4, [r0]\n" + "\tldr r4, =0x00000469\n" + "\tadds r1, r4\n" + "\tldrb r2, [r1]\n" + "\tmovs r0, 0x2\n" + "\tnegs r0, r0\n" + "\tands r0, r2\n" + "\tstrb r0, [r1]\n" + "_08110C7C:\n" + "\tadds r5, r3, 0\n" + "\tmov r1, r9\n" + "\tldr r0, [r1]\n" + "\tmov r2, r12\n" + "\tadds r1, r2, r6\n" + "\tlsls r1, 3\n" + "\tadds r0, r1\n" + "\tldr r3, =0x000008e6\n" + "\tadds r1, r0, r3\n" + "\tldrh r2, [r1]\n" + "\tmovs r4, 0\n" + "\tldrsh r0, [r1, r4]\n" + "\tcmp r0, 0\n" + "\tbge _08110CC8\n" + "\tadds r3, r7, r5\n" + "\tadds r1, r0, 0\n" + "\tnegs r1, r1\n" + "\tlsls r1, 24\n" + "\tmov r2, r8\n" + "\tadds r4, r3, r2\n" + "\tlsrs r1, 15\n" + "\tldr r0, [r4]\n" + "\tldr r2, =0xfffe01ff\n" + "\tands r0, r2\n" + "\torrs r0, r1\n" + "\tstr r0, [r4]\n" + "\tadd r3, r10\n" + "\tldrb r0, [r3]\n" + "\tmovs r1, 0x2\n" + "\torrs r0, r1\n" + "\tb _08110CE6\n" + "\t.pool\n" + "_08110CC8:\n" + "\tadds r3, r7, r5\n" + "\tlsls r2, 24\n" + "\tmov r0, r8\n" + "\tadds r4, r3, r0\n" + "\tlsrs r2, 15\n" + "\tldr r0, [r4]\n" + "\tldr r1, =0xfffe01ff\n" + "\tands r0, r1\n" + "\torrs r0, r2\n" + "\tstr r0, [r4]\n" + "\tadd r3, r10\n" + "\tldrb r1, [r3]\n" + "\tmovs r0, 0x3\n" + "\tnegs r0, r0\n" + "\tands r0, r1\n" + "_08110CE6:\n" + "\tstrb r0, [r3]\n" + "\tadds r5, r7, r5\n" + "\tmov r1, r9\n" + "\tldr r0, [r1]\n" + "\tmov r2, r12\n" + "\tadds r3, r2, r6\n" + "\tlsls r3, 3\n" + "\tadds r0, r3\n" + "\tldr r4, =0x000008e8\n" + "\tadds r0, r4\n" + "\tldrb r1, [r0]\n" + "\tmov r0, r10\n" + "\tadds r4, r5, r0\n" + "\tlsls r1, 2\n" + "\tldrb r2, [r4]\n" + "\tmovs r0, 0x3\n" + "\tands r0, r2\n" + "\torrs r0, r1\n" + "\tstrb r0, [r4]\n" + "\tmov r1, r9\n" + "\tldr r0, [r1]\n" + "\tadds r0, r3\n" + "\tldr r2, =0x000008e9\n" + "\tadds r0, r2\n" + "\tldrb r0, [r0]\n" + "\tldr r3, =0x0000046b\n" + "\tadds r5, r3\n" + "\tstrb r0, [r5]\n" + "\tadds r0, r6, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r6, r0, 16\n" + "\tcmp r6, 0x3F\n" + "\tbhi _08110D2A\n" + "\tb _08110C1C\n" + "_08110D2A:\n" + "\tpop {r3-r5}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tmov r10, r5\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.pool"); +} +#endif // NONMATCHING From 230f58b77dae53c2934cafbff6ef96807232a9d0 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 11 Oct 2018 10:13:08 -0400 Subject: [PATCH 014/222] through sub_8110E20 --- asm/quest_log.s | 128 ----------------------------------------------- include/global.h | 23 +++++++-- src/quest_log.c | 32 ++++++++++++ 3 files changed, 51 insertions(+), 132 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index f97ef90eb..22d19fab9 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,134 +5,6 @@ .text - thumb_func_start sub_8110D48 -sub_8110D48: @ 8110D48 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r4, _08110D90 @ =gSaveBlock1Ptr - movs r1, 0xCD - lsls r1, 3 - muls r1, r0 - movs r0, 0x98 - lsls r0, 5 - adds r1, r0 - ldr r0, [r4] - adds r5, r0, r1 - movs r1, 0xEE - lsls r1, 4 - adds r0, r1 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r5, r2 - movs r2, 0x90 - bl CpuSet - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 5 - adds r0, r1 - movs r2, 0x9A - lsls r2, 2 - adds r1, r5, r2 - movs r2, 0x80 - lsls r2, 1 - bl CpuSet - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08110D90: .4byte gSaveBlock1Ptr - thumb_func_end sub_8110D48 - - thumb_func_start sub_8110D94 -sub_8110D94: @ 8110D94 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - movs r4, 0 - ldr r0, _08110E14 @ =gSaveBlock1Ptr - mov r10, r0 - ldr r1, _08110E18 @ =0x0000063a - mov r9, r1 - movs r2, 0x1 - mov r8, r2 -_08110DAE: - lsls r1, r4, 1 - mov r7, sp - adds r2, r7, r1 - movs r0, 0 - strh r0, [r2] - movs r3, 0 - adds r6, r1, 0 - adds r0, r4, 0x1 - str r0, [sp, 0x8] - mov r1, r10 - ldr r0, [r1] - mov r7, r9 - adds r5, r0, r7 - lsls r1, r4, 4 -_08110DCA: - adds r0, r1, r3 - adds r0, r5, r0 - ldrb r0, [r0] - cmp r0, 0 - beq _08110DDE - mov r0, r8 - lsls r0, r3 - ldrh r7, [r2] - adds r0, r7 - strh r0, [r2] -_08110DDE: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0xF - bls _08110DCA - ldr r1, _08110E1C @ =0x000040aa - adds r0, r4, r1 - lsls r0, 16 - lsrs r0, 16 - mov r2, sp - adds r1, r2, r6 - ldrh r1, [r1] - bl VarSet - ldr r7, [sp, 0x8] - lsls r0, r7, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _08110DAE - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08110E14: .4byte gSaveBlock1Ptr -_08110E18: .4byte 0x0000063a -_08110E1C: .4byte 0x000040aa - thumb_func_end sub_8110D94 - - thumb_func_start sub_8110E20 -sub_8110E20: @ 8110E20 - push {lr} - ldr r0, _08110E34 @ =0x000040ae - ldr r1, _08110E38 @ =gSaveBlock1Ptr - ldr r1, [r1] - ldrh r1, [r1, 0x32] - bl VarSet - pop {r0} - bx r0 - .align 2, 0 -_08110E34: .4byte 0x000040ae -_08110E38: .4byte gSaveBlock1Ptr - thumb_func_end sub_8110E20 - thumb_func_start sub_8110E3C sub_8110E3C: @ 8110E3C push {lr} diff --git a/include/global.h b/include/global.h index 1655ac4e3..f1efeb4e0 100644 --- a/include/global.h +++ b/include/global.h @@ -492,7 +492,9 @@ struct QuestLog /*0x0003*/ s8 unk_003; /*0x0004*/ s16 unk_004; /*0x0006*/ s16 unk_006; - /*0x0008*/ u8 filler_008[0x460]; + /*0x0008*/ u8 filler_008[0x140]; + /*0x0148*/ u8 unk_148[0x120]; + /*0x02c8*/ u8 unk_268[0x200]; /*0x0468*/ struct QuestLogNPCData npcData[64]; /*0x0568*/ u8 filler_568[0x100]; /*0x0668*/ u8 end[0]; @@ -500,7 +502,7 @@ struct QuestLog #define MAP_OBJECTS_COUNT 16 #define BERRY_TREES_COUNT 128 -#define FLAGS_COUNT 300 +#define FLAGS_COUNT 288 // 300 #define VARS_COUNT 256 #define MAIL_COUNT 16 @@ -512,13 +514,26 @@ struct SaveBlock1 /*0x14*/ struct WarpData warp2; /*0x1C*/ struct WarpData lastHealLocation; /*0x24*/ struct WarpData warp4; - /*0x002C*/ u8 filler2C[0x60C]; + /*0x2C*/ u16 savedMusic; + /*0x2E*/ u8 weather; + /*0x2F*/ u8 filler_2F; + /*0x30*/ u8 flashLevel; + /*0x32*/ u16 mapDataId; + /*0x34*/ u16 mapView[0x100]; + /*0x234*/ u8 playerPartyCount; + /*0x238*/ struct Pokemon playerParty[PARTY_SIZE]; + /*0x490*/ u32 money; + /*0x494*/ u16 coins; + /*0x496*/ u16 registeredItem; // registered for use with SELECT button + /*0x498*/ u8 filler_0498[0x1a0]; /*0x638*/ u8 trainerRematchStepCounter; u8 filler_639; /*0x63a*/ u8 trainerRematches[100]; /*0x06A0*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT]; /*0x08E0*/ struct MapObjectTemplate mapObjectTemplates[64]; - /*0x0EE0*/ u8 fillerEE0[0x420]; + /*0x0EE0*/ u8 flags[FLAGS_COUNT]; + /*0x1000*/ u16 vars[VARS_COUNT]; + /*0x1200*/ u8 filler1200[0x100]; /*0x1300*/ struct QuestLog questLog[4]; /*0x2ca0*/ u8 filler2CA0[0x7c0]; /*0x3460*/ struct MysteryEventStruct unk_3460; diff --git a/src/quest_log.c b/src/quest_log.c index 782e0efe4..08b504057 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -392,3 +392,35 @@ void sub_8110BE8(u8 a0) "\t.pool"); } #endif // NONMATCHING + +void sub_8110D48(u8 a0) +{ + struct QuestLog * questLog = &gSaveBlock1Ptr->questLog[a0]; + + CpuCopy16(gSaveBlock1Ptr->flags, questLog->unk_148, 0x120); + CpuCopy16(gSaveBlock1Ptr->vars, questLog->unk_268, 0x200); +} + +void sub_8110D94(void) +{ + u16 i, j; + u16 sp0[4]; + + for (i = 0; i < 4; i++) + { + sp0[i] = 0; + for (j = 0; j < 16; j++) + { + if (gSaveBlock1Ptr->trainerRematches[16 * i + j]) + { + sp0[i] += (1 << j); + } + } + VarSet(VAR_0x40AA + i, sp0[i]); + } +} + +void sub_8110E20(void) +{ + VarSet(VAR_0x40AE, gSaveBlock1Ptr->mapDataId); +} From c340377fe527fffd0df58cbe7c1d6b79d9f19827 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 11 Oct 2018 10:26:12 -0400 Subject: [PATCH 015/222] sub_8110E3C --- asm/quest_log.s | 24 ------------------------ src/quest_log.c | 20 ++++++++++++++------ 2 files changed, 14 insertions(+), 30 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 22d19fab9..5f7b6b627 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,30 +5,6 @@ .text - thumb_func_start sub_8110E3C -sub_8110E3C: @ 8110E3C - push {lr} - ldr r0, _08110E60 @ =gUnknown_203AE08 - ldr r0, [r0] - bl sub_8113BF4 - ldr r1, _08110E64 @ =gUnknown_203ADF8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _08110E5A - movs r0, 0 - strb r0, [r1] -_08110E5A: - pop {r0} - bx r0 - .align 2, 0 -_08110E60: .4byte gUnknown_203AE08 -_08110E64: .4byte gUnknown_203ADF8 - thumb_func_end sub_8110E3C - thumb_func_start sub_8110E68 sub_8110E68: @ 8110E68 push {r4-r7,lr} diff --git a/src/quest_log.c b/src/quest_log.c index 08b504057..97313674e 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -27,19 +27,20 @@ void sub_8110A00(void); void sub_8110A3C(void); void sub_8110BB0(u8); void sub_8110BE8(u8); -void sub_815A008(struct QuestLog *); void sub_8110E3C(void); +void sub_8110D94(void); +void sub_8110E20(void); +void sub_8110D48(u8); +void sub_81115E8(void); u8 sub_8110E68(void *); void sub_81118F4(s8); void sub_8111AD8(void); void sub_8113B88(void); void sub_8113BD8(void); -void sub_81138F8(void); -void sub_81115E8(void); -void sub_8110D94(void); -void sub_8110E20(void); -void sub_8110D48(u8); +void sub_8113BF4(void *); void sub_8112940(u8, u8 *, u16); +void sub_81138F8(void); +void sub_815A008(struct QuestLog *); void sub_8110840(void * a0) @@ -424,3 +425,10 @@ void sub_8110E20(void) { VarSet(VAR_0x40AE, gSaveBlock1Ptr->mapDataId); } + +void sub_8110E3C(void) +{ + sub_8113BF4(gUnknown_203AE08); + if (++gUnknown_203ADF8 > 3) + gUnknown_203ADF8 = 0; +} From 0046efe86762b893b8bc688ff8172a071a952fac Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 11 Oct 2018 11:06:25 -0400 Subject: [PATCH 016/222] sub_8110E68 --- asm/quest_log.s | 87 ------------------------------------------- include/unk_8159F40.h | 6 +++ src/quest_log.c | 52 +++++++++++++++++++++++--- 3 files changed, 53 insertions(+), 92 deletions(-) create mode 100644 include/unk_8159F40.h diff --git a/asm/quest_log.s b/asm/quest_log.s index 5f7b6b627..633a15489 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,93 +5,6 @@ .text - thumb_func_start sub_8110E68 -sub_8110E68: @ 8110E68 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - ldr r0, _08110EA0 @ =gUnknown_203ADFC - ldrh r5, [r0] - ldr r0, _08110EA4 @ =gUnknown_203AF98 - mov r8, r0 - ldrh r0, [r0] - cmp r5, r0 - bcs _08110ECA - ldr r6, _08110EA8 @ =gUnknown_203AE08 -_08110E80: - ldr r4, [r6] - cmp r4, 0 - beq _08110F02 - lsls r0, r5, 3 - adds r1, r0, r7 - ldrb r2, [r1, 0x6] - adds r3, r0, 0 - cmp r2, 0x1 - bgt _08110EAC - cmp r2, 0 - blt _08110EAC - adds r0, r4, 0 - bl sub_8113D48 - b _08110EB4 - .align 2, 0 -_08110EA0: .4byte gUnknown_203ADFC -_08110EA4: .4byte gUnknown_203AF98 -_08110EA8: .4byte gUnknown_203AE08 -_08110EAC: - ldr r0, [r6] - adds r1, r7, r3 - bl sub_8113CC8 -_08110EB4: - str r0, [r6] - ldr r1, [r6] - cmp r1, 0 - beq _08110EEC - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _08110EE0 @ =gUnknown_203AF98 - ldrh r0, [r0] - cmp r5, r0 - bcc _08110E80 -_08110ECA: - ldr r0, _08110EE4 @ =gUnknown_3005E88 - ldrb r0, [r0] - cmp r0, 0 - beq _08110EF8 - ldr r1, _08110EE8 @ =gUnknown_203ADFC - mov r2, r8 - ldrh r0, [r2] - strh r0, [r1] - movs r0, 0x1 - b _08110F04 - .align 2, 0 -_08110EE0: .4byte gUnknown_203AF98 -_08110EE4: .4byte gUnknown_3005E88 -_08110EE8: .4byte gUnknown_203ADFC -_08110EEC: - ldr r0, _08110EF4 @ =gUnknown_3005E88 - strb r1, [r0] - b _08110F02 - .align 2, 0 -_08110EF4: .4byte gUnknown_3005E88 -_08110EF8: - ldr r4, _08110F10 @ =gUnknown_203AE08 - ldr r0, [r4] - bl sub_8113BF4 - str r0, [r4] -_08110F02: - movs r0, 0 -_08110F04: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08110F10: .4byte gUnknown_203AE08 - thumb_func_end sub_8110E68 - thumb_func_start sub_8110F14 sub_8110F14: @ 8110F14 push {r4-r7,lr} diff --git a/include/unk_8159F40.h b/include/unk_8159F40.h new file mode 100644 index 000000000..7343dc629 --- /dev/null +++ b/include/unk_8159F40.h @@ -0,0 +1,6 @@ +#ifndef GUARD_UNK_8159F40_H +#define GUARD_UNK_8159F40_H + +void sub_815A008(struct QuestLog *); + +#endif //GUARD_UNK_8159F40_H diff --git a/src/quest_log.c b/src/quest_log.c index 97313674e..c16f41236 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -13,6 +13,12 @@ struct UnkStruct_203AE94 u8 unk_1; }; +struct UnkStruct_203AE98 +{ + u8 filler_0[6]; + u8 unk_6; +}; + EWRAM_DATA u8 gUnknown_203ADF8 = 0; EWRAM_DATA u8 gUnknown_203ADFA = 0; EWRAM_DATA u16 gUnknown_203ADFC = 0; @@ -21,7 +27,8 @@ EWRAM_DATA void * gUnknown_203AE08 = NULL; EWRAM_DATA void * gUnknown_203AE0C[32] = {NULL}; EWRAM_DATA void (* gUnknown_203AE8C)(void) = 0; EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0}; -EWRAM_DATA u8 gUnknown_203AE98[0x100] = {0}; +EWRAM_DATA struct UnkStruct_203AE98 gUnknown_203AE98[32] = {0}; +EWRAM_DATA u16 gUnknown_203AF98 = 0; void sub_8110A00(void); void sub_8110A3C(void); @@ -31,16 +38,17 @@ void sub_8110E3C(void); void sub_8110D94(void); void sub_8110E20(void); void sub_8110D48(u8); +u8 sub_8110E68(struct UnkStruct_203AE98 *); void sub_81115E8(void); -u8 sub_8110E68(void *); void sub_81118F4(s8); void sub_8111AD8(void); +void sub_8112940(u8, struct UnkStruct_203AE98 *, u16); void sub_8113B88(void); void sub_8113BD8(void); -void sub_8113BF4(void *); -void sub_8112940(u8, u8 *, u16); +void * sub_8113BF4(void *); void sub_81138F8(void); -void sub_815A008(struct QuestLog *); +void * sub_8113D48(void *, struct UnkStruct_203AE98 *); +void * sub_8113CC8(void *, struct UnkStruct_203AE98 *); void sub_8110840(void * a0) @@ -432,3 +440,37 @@ void sub_8110E3C(void) if (++gUnknown_203ADF8 > 3) gUnknown_203ADF8 = 0; } + +bool8 sub_8110E68(struct UnkStruct_203AE98 * a0) +{ + u16 i; + + for (i = gUnknown_203ADFC; i < gUnknown_203AF98; i++) + { + if (gUnknown_203AE08 == NULL) + return FALSE; + switch (a0[i].unk_6) + { + case 0: + case 1: + gUnknown_203AE08 = sub_8113D48(gUnknown_203AE08, &a0[i]); + break; + default: + gUnknown_203AE08 = sub_8113CC8(gUnknown_203AE08, &a0[i]); + break; + } + if (gUnknown_203AE08 == NULL) + { + gUnknown_3005E88 = 0; + return FALSE; + } + } + + if (gUnknown_3005E88 == 0) + { + gUnknown_203AE08 = sub_8113BF4(gUnknown_203AE08); + return FALSE; + } + gUnknown_203ADFC = gUnknown_203AF98; + return TRUE; +} From 1e655837127f458d5fcaf6e57d89032f74950540 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 11 Oct 2018 12:04:54 -0400 Subject: [PATCH 017/222] through sub_8110FCC --- asm/quest_log.s | 116 --------------------------------------- include/help_system.h | 6 ++ include/overworld.h | 4 ++ include/wild_encounter.h | 1 + src/quest_log.c | 59 +++++++++++++++++++- 5 files changed, 68 insertions(+), 118 deletions(-) create mode 100644 include/help_system.h diff --git a/asm/quest_log.s b/asm/quest_log.s index 633a15489..c6ca210b8 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,122 +5,6 @@ .text - thumb_func_start sub_8110F14 -sub_8110F14: @ 8110F14 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_811381C - ldr r1, _08110F6C @ =gUnknown_203ADF9 - movs r0, 0 - strb r0, [r1] - movs r2, 0 - ldr r0, _08110F70 @ =gSaveBlock1Ptr - ldr r5, [r0] - movs r7, 0xCD - lsls r7, 3 - movs r6, 0x98 - lsls r6, 5 -_08110F32: - adds r0, r2, 0 - muls r0, r7 - adds r0, r5, r0 - adds r0, r6 - ldrb r0, [r0] - ldr r3, _08110F6C @ =gUnknown_203ADF9 - cmp r0, 0 - beq _08110F48 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08110F48: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _08110F32 - ldrb r0, [r3] - cmp r0, 0 - beq _08110F78 - ldr r1, _08110F74 @ =gUnknown_3005ECC - movs r0, 0 - strb r0, [r1] - adds r0, r4, 0 - bl sub_8110F90 - adds r0, r4, 0 - bl DestroyTask - b _08110F84 - .align 2, 0 -_08110F6C: .4byte gUnknown_203ADF9 -_08110F70: .4byte gSaveBlock1Ptr -_08110F74: .4byte gUnknown_3005ECC -_08110F78: - ldr r0, _08110F8C @ =sub_8056938 - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_08110F84: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08110F8C: .4byte sub_8056938 - thumb_func_end sub_8110F14 - - thumb_func_start sub_8110F90 -sub_8110F90: @ 8110F90 - push {lr} - ldr r1, _08110FC0 @ =gSaveBlock1Ptr - ldr r2, [r1] - movs r3, 0 - movs r0, 0x3 - strb r0, [r2, 0x4] - ldr r2, [r1] - movs r0, 0x13 - strb r0, [r2, 0x5] - ldr r1, [r1] - movs r0, 0xFF - strb r0, [r1, 0x6] - ldr r0, _08110FC4 @ =gUnknown_203ADF8 - strb r3, [r0] - ldr r1, _08110FC8 @ =gUnknown_2031DD8 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x1 - bl sub_8082740 - bl sub_8111368 - pop {r0} - bx r0 - .align 2, 0 -_08110FC0: .4byte gSaveBlock1Ptr -_08110FC4: .4byte gUnknown_203ADF8 -_08110FC8: .4byte gUnknown_2031DD8 - thumb_func_end sub_8110F90 - - thumb_func_start sub_8110FCC -sub_8110FCC: @ 8110FCC - push {r4,r5,lr} - ldr r5, _08110FF8 @ =gUnknown_203ADF8 - ldrb r0, [r5] - ldr r4, _08110FFC @ =gUnknown_203AE98 - adds r1, r4, 0 - bl sub_811175C - bl sub_8113B88 - movs r2, 0x80 - lsls r2, 1 - movs r0, 0x1 - adds r1, r4, 0 - bl sub_8112940 - ldrb r0, [r5] - bl sub_8111150 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08110FF8: .4byte gUnknown_203ADF8 -_08110FFC: .4byte gUnknown_203AE98 - thumb_func_end sub_8110FCC - thumb_func_start sub_8111000 sub_8111000: @ 8111000 push {lr} diff --git a/include/help_system.h b/include/help_system.h new file mode 100644 index 000000000..3a4c52f2e --- /dev/null +++ b/include/help_system.h @@ -0,0 +1,6 @@ +#ifndef GUARD_HELP_SYSTEM_H +#define GUARD_HELP_SYSTEM_H + +extern bool8 gUnknown_3005ECC; + +#endif //GUARD_HELP_SYSTEM_H diff --git a/include/overworld.h b/include/overworld.h index a5fba0c10..7f7c92743 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -71,4 +71,8 @@ void mapldr_default(void); void IncrementGameStat(u8); u32 GetGameStat(u8); +void sub_8056938(void); + +extern u8 gUnknown_2031DD8; + #endif //GUARD_ROM4_H diff --git a/include/wild_encounter.h b/include/wild_encounter.h index 55bbaa7dd..a1e26fe45 100644 --- a/include/wild_encounter.h +++ b/include/wild_encounter.h @@ -40,5 +40,6 @@ void FishingWildEncounter(u8 rod); u16 GetLocalWildMon(bool8 *isWaterMon); u16 GetLocalWaterMon(void); bool8 UpdateRepelCounter(void); +void sub_8082740(u8); #endif // GUARD_WILD_ENCOUNTER_H diff --git a/src/quest_log.c b/src/quest_log.c index c16f41236..0e8d5dd48 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -1,6 +1,11 @@ #include "global.h" -#include "script.h" +#include "main.h" +#include "task.h" #include "event_data.h" +#include "script.h" +#include "overworld.h" +#include "wild_encounter.h" +#include "help_system.h" #include "quest_log.h" u8 gUnknown_3005E88; @@ -20,6 +25,7 @@ struct UnkStruct_203AE98 }; EWRAM_DATA u8 gUnknown_203ADF8 = 0; +EWRAM_DATA u8 gUnknown_203ADF9 = 0; EWRAM_DATA u8 gUnknown_203ADFA = 0; EWRAM_DATA u16 gUnknown_203ADFC = 0; EWRAM_DATA void * gUnknown_203AE04 = NULL; @@ -39,14 +45,19 @@ void sub_8110D94(void); void sub_8110E20(void); void sub_8110D48(u8); u8 sub_8110E68(struct UnkStruct_203AE98 *); +void sub_8110F90(u8); +void sub_8111150(u8); +void sub_8111368(void); void sub_81115E8(void); +void sub_811175C(u8, struct UnkStruct_203AE98 *); void sub_81118F4(s8); +void sub_81138F8(void); void sub_8111AD8(void); void sub_8112940(u8, struct UnkStruct_203AE98 *, u16); +void sub_811381C(void); void sub_8113B88(void); void sub_8113BD8(void); void * sub_8113BF4(void *); -void sub_81138F8(void); void * sub_8113D48(void *, struct UnkStruct_203AE98 *); void * sub_8113CC8(void *, struct UnkStruct_203AE98 *); @@ -474,3 +485,47 @@ bool8 sub_8110E68(struct UnkStruct_203AE98 * a0) gUnknown_203ADFC = gUnknown_203AF98; return TRUE; } + +void sub_8110F14(u8 taskId) +{ + u8 i; + + sub_811381C(); + gUnknown_203ADF9 = 0; + for (i = 0; i < 4; i++) + { + if (gSaveBlock1Ptr->questLog[i].unk_000) + gUnknown_203ADF9++; + } + + if (gUnknown_203ADF9 != 0) + { + gUnknown_3005ECC = FALSE; + sub_8110F90(taskId); + DestroyTask(taskId); + } + else + { + SetMainCallback2(sub_8056938); + DestroyTask(taskId); + } +} + +void sub_8110F90(u8 unused) +{ + gSaveBlock1Ptr->location.mapGroup = 3; + gSaveBlock1Ptr->location.mapNum = 19; + gSaveBlock1Ptr->location.warpId = -1; + gUnknown_203ADF8 = 0; + gUnknown_2031DD8 = 1; + sub_8082740(1); + sub_8111368(); +} + +void sub_8110FCC(void) +{ + sub_811175C(gUnknown_203ADF8, gUnknown_203AE98); + sub_8113B88(); + sub_8112940(1, gUnknown_203AE98, 0x100); + sub_8111150(gUnknown_203ADF8); +} From b8054bbe5bae6eb87b60840c49606f96e034e6e0 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 11 Oct 2018 12:36:39 -0400 Subject: [PATCH 018/222] through sub_8111070 --- asm/quest_log.s | 142 --------------------------------- data/data_84827AC.s | 77 +----------------- data/quest_log.s | 68 ++++++++++++++++ include/field_fadetransition.h | 2 + include/menu.h | 2 +- ld_script.txt | 3 + src/quest_log.c | 62 ++++++++++++++ 7 files changed, 140 insertions(+), 216 deletions(-) create mode 100644 data/quest_log.s diff --git a/asm/quest_log.s b/asm/quest_log.s index c6ca210b8..24ffaeb24 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,148 +5,6 @@ .text - thumb_func_start sub_8111000 -sub_8111000: @ 8111000 - push {lr} - movs r0, 0x4 - bl stdpal_get - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0x2 - bl sub_81109CC - bl sub_807DF64 - ldr r2, _08111034 @ =gUnknown_203AE94 - movs r0, 0 - str r0, [r2] - ldrb r1, [r2] - subs r0, 0x10 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_08111034: .4byte gUnknown_203AE94 - thumb_func_end sub_8111000 - - thumb_func_start sub_8111038 -sub_8111038: @ 8111038 - push {lr} - movs r0, 0x4 - bl stdpal_get - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0x2 - bl sub_81109CC - bl sub_807DF7C - ldr r2, _0811106C @ =gUnknown_203AE94 - movs r0, 0 - str r0, [r2] - ldrb r1, [r2] - subs r0, 0x10 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_0811106C: .4byte gUnknown_203AE94 - thumb_func_end sub_8111038 - - thumb_func_start sub_8111070 -sub_8111070: @ 8111070 - push {r4-r7,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r7, r0, 24 - movs r5, 0 -_0811107A: - lsls r4, r5, 3 - ldr r0, _0811111C @ =gUnknown_845661C - adds r4, r0 - adds r0, r4, 0 - bl AddWindow - ldr r6, _08111120 @ =gUnknown_203ADFE - adds r1, r5, r6 - strb r0, [r1] - ldrb r0, [r1] - ldrb r1, [r4, 0x3] - lsls r1, 3 - str r1, [sp] - ldrb r1, [r4, 0x4] - lsls r1, 3 - str r1, [sp, 0x4] - movs r1, 0xF - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _0811107A - ldr r5, _08111124 @ =gStringVar4 - ldr r1, _08111128 @ =gUnknown_841A155 - adds r0, r5, 0 - bl StringExpandPlaceholders - cmp r7, 0 - beq _081110D2 - ldr r4, _0811112C @ =gStringVar1 - adds r0, r4, 0 - adds r1, r7, 0 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - adds r0, r5, 0 - adds r1, r4, 0 - bl StringAppend -_081110D2: - ldrb r0, [r6] - movs r1, 0x1 - str r1, [sp] - movs r1, 0x2 - str r1, [sp, 0x4] - ldr r1, _08111130 @ =gUnknown_8456634 - str r1, [sp, 0x8] - movs r1, 0 - str r1, [sp, 0xC] - str r5, [sp, 0x10] - movs r1, 0x2 - movs r2, 0x2 - movs r3, 0x2 - bl AddTextPrinterParametrized2 - ldrb r0, [r6] - bl PutWindowTilemap - ldrb r0, [r6, 0x1] - bl PutWindowTilemap - ldrb r0, [r6] - movs r1, 0x2 - bl CopyWindowToVram - ldrb r0, [r6, 0x2] - movs r1, 0x2 - bl CopyWindowToVram - ldrb r0, [r6, 0x1] - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x14 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811111C: .4byte gUnknown_845661C -_08111120: .4byte gUnknown_203ADFE -_08111124: .4byte gStringVar4 -_08111128: .4byte gUnknown_841A155 -_0811112C: .4byte gStringVar1 -_08111130: .4byte gUnknown_8456634 - thumb_func_end sub_8111070 - thumb_func_start sub_8111134 sub_8111134: @ 8111134 push {r4,lr} diff --git a/data/data_84827AC.s b/data/data_84827AC.s index 565a6adf2..e2b460385 100644 --- a/data/data_84827AC.s +++ b/data/data_84827AC.s @@ -2089,7 +2089,7 @@ gUnknown_8419F54:: @ 8419F54 .incbin "baserom.gba", 0x419F54, 0x201 gUnknown_841A155:: @ 841A155 - .incbin "baserom.gba", 0x41A155, 0x1A + .string "Previously on your quest…$" gUnknown_841A16F:: @ 841A16F .incbin "baserom.gba", 0x41A16F, 0x24 @@ -3386,78 +3386,9 @@ gUnknown_8454003:: @ 8454003 gUnknown_8456618:: @ 8456618 .incbin "baserom.gba", 0x456618, 0x4 -gUnknown_845661C:: @ 845661C - .incbin "baserom.gba", 0x45661C, 0x18 - -gUnknown_8456634:: @ 8456634 - .incbin "baserom.gba", 0x456634, 0x4 - -gUnknown_8456638:: @ 8456638 - .incbin "baserom.gba", 0x456638, 0x60 - -gUnknown_8456698:: @ 8456698 - .incbin "baserom.gba", 0x456698, 0x4 - -gUnknown_845669C:: @ 845669C - .incbin "baserom.gba", 0x45669C, 0x8 - -gUnknown_84566A4:: @ 84566A4 - .incbin "baserom.gba", 0x4566A4, 0x4 - -gUnknown_84566A8:: @ 84566A8 - .incbin "baserom.gba", 0x4566A8, 0x280 - -gUnknown_8456928:: @ 8456928 - .incbin "baserom.gba", 0x456928, 0x8 - -gUnknown_8456930:: @ 8456930 - .incbin "baserom.gba", 0x456930, 0x4 - -gUnknown_8456934:: @ 8456934 - .incbin "baserom.gba", 0x456934, 0x4 - -gUnknown_8456938:: @ 8456938 - .incbin "baserom.gba", 0x456938, 0x8 - -gUnknown_8456940:: @ 8456940 - .incbin "baserom.gba", 0x456940, 0x8 - -gUnknown_8456948:: @ 8456948 - .incbin "baserom.gba", 0x456948, 0xAC - -gUnknown_84569F4:: @ 84569F4 - .incbin "baserom.gba", 0x4569F4, 0xAC - -gUnknown_8456AA0:: @ 8456AA0 - .incbin "baserom.gba", 0x456AA0, 0x2C - -gUnknown_8456ACC:: @ 8456ACC - .incbin "baserom.gba", 0x456ACC, 0xC - -gUnknown_8456AD8:: @ 8456AD8 - .incbin "baserom.gba", 0x456AD8, 0xC - -gUnknown_8456AE4:: @ 8456AE4 - .incbin "baserom.gba", 0x456AE4, 0xC - -gUnknown_8456AF0:: @ 8456AF0 - .incbin "baserom.gba", 0x456AF0, 0xCC - -gUnknown_8456BBC:: @ 8456BBC - .incbin "baserom.gba", 0x456BBC, 0x28 - -gUnknown_8456BE4:: @ 8456BE4 - .incbin "baserom.gba", 0x456BE4, 0x33 - -gUnknown_8456C17:: @ 8456C17 - .incbin "baserom.gba", 0x456C17, 0x9 - -gUnknown_8456C20:: @ 8456C20 - .incbin "baserom.gba", 0x456C20, 0x30 - -gUnknown_8456C50:: @ 8456C50 - .incbin "baserom.gba", 0x456C50, 0x24 - + @ quest_log.o + @ link_rfu_3.o + .section .rodata.8456C74 gUnknown_8456C74:: @ 8456C74 .incbin "baserom.gba", 0x456C74, 0x5C diff --git a/data/quest_log.s b/data/quest_log.s new file mode 100644 index 000000000..c2e776414 --- /dev/null +++ b/data/quest_log.s @@ -0,0 +1,68 @@ + .section .rodata + + .align 2, 0 +gUnknown_8456638:: @ 8456638 + .incbin "baserom.gba", 0x456638, 0x60 + +gUnknown_8456698:: @ 8456698 + .incbin "baserom.gba", 0x456698, 0x4 + +gUnknown_845669C:: @ 845669C + .incbin "baserom.gba", 0x45669C, 0x8 + +gUnknown_84566A4:: @ 84566A4 + .incbin "baserom.gba", 0x4566A4, 0x4 + +gUnknown_84566A8:: @ 84566A8 + .incbin "baserom.gba", 0x4566A8, 0x280 + +gUnknown_8456928:: @ 8456928 + .incbin "baserom.gba", 0x456928, 0x8 + +gUnknown_8456930:: @ 8456930 + .incbin "baserom.gba", 0x456930, 0x4 + +gUnknown_8456934:: @ 8456934 + .incbin "baserom.gba", 0x456934, 0x4 + +gUnknown_8456938:: @ 8456938 + .incbin "baserom.gba", 0x456938, 0x8 + +gUnknown_8456940:: @ 8456940 + .incbin "baserom.gba", 0x456940, 0x8 + +gUnknown_8456948:: @ 8456948 + .incbin "baserom.gba", 0x456948, 0xAC + +gUnknown_84569F4:: @ 84569F4 + .incbin "baserom.gba", 0x4569F4, 0xAC + +gUnknown_8456AA0:: @ 8456AA0 + .incbin "baserom.gba", 0x456AA0, 0x2C + +gUnknown_8456ACC:: @ 8456ACC + .incbin "baserom.gba", 0x456ACC, 0xC + +gUnknown_8456AD8:: @ 8456AD8 + .incbin "baserom.gba", 0x456AD8, 0xC + +gUnknown_8456AE4:: @ 8456AE4 + .incbin "baserom.gba", 0x456AE4, 0xC + +gUnknown_8456AF0:: @ 8456AF0 + .incbin "baserom.gba", 0x456AF0, 0xCC + +gUnknown_8456BBC:: @ 8456BBC + .incbin "baserom.gba", 0x456BBC, 0x28 + +gUnknown_8456BE4:: @ 8456BE4 + .incbin "baserom.gba", 0x456BE4, 0x33 + +gUnknown_8456C17:: @ 8456C17 + .incbin "baserom.gba", 0x456C17, 0x9 + +gUnknown_8456C20:: @ 8456C20 + .incbin "baserom.gba", 0x456C20, 0x30 + +gUnknown_8456C50:: @ 8456C50 + .incbin "baserom.gba", 0x456C50, 0x24 diff --git a/include/field_fadetransition.h b/include/field_fadetransition.h index 7c2d16a24..2cd01601e 100644 --- a/include/field_fadetransition.h +++ b/include/field_fadetransition.h @@ -8,5 +8,7 @@ void sp13F_fall_to_last_warp(void); void sub_80AF848(void); void sub_80AF87C(void); +void sub_807DF64(void); +void sub_807DF7C(void); #endif // GUARD_FIELD_FADETRANSITION_H diff --git a/include/menu.h b/include/menu.h index 99ff35adb..86a67adc4 100644 --- a/include/menu.h +++ b/include/menu.h @@ -32,7 +32,7 @@ void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirs s8 ProcessMenuInputNoWrap_(void); void do_scheduled_bg_tilemap_copies_to_vram(void); void clear_scheduled_bg_copies_to_vram(void); -void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, struct TextColor *color, s8 speed, const u8 *str); +void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const struct TextColor *color, s8 speed, const u8 *str); void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u16 a3); #endif // GUARD_MENU_H diff --git a/ld_script.txt b/ld_script.txt index 0cd3d6202..53c8fe077 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -370,6 +370,9 @@ SECTIONS { data/data.o(.rodata); src/battle_ai_script_commands.o(.rodata); data/data_84827AC.o(.rodata); + src/quest_log.o(.rodata); + data/quest_log.o(.rodata); + data/data_84827AC.o(.rodata.8456C74); src/menews_jisan.o(.rodata); data/data_84827AC.o(.rodata.8468C98); src/m4a_tables.o(.rodata); diff --git a/src/quest_log.c b/src/quest_log.c index 0e8d5dd48..61c4de211 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -1,9 +1,15 @@ #include "global.h" #include "main.h" #include "task.h" +#include "palette.h" +#include "menu.h" +#include "window.h" +#include "text_window.h" #include "event_data.h" +#include "string_util.h" #include "script.h" #include "overworld.h" +#include "field_fadetransition.h" #include "wild_encounter.h" #include "help_system.h" #include "quest_log.h" @@ -28,6 +34,7 @@ EWRAM_DATA u8 gUnknown_203ADF8 = 0; EWRAM_DATA u8 gUnknown_203ADF9 = 0; EWRAM_DATA u8 gUnknown_203ADFA = 0; EWRAM_DATA u16 gUnknown_203ADFC = 0; +EWRAM_DATA u8 gUnknown_203ADFE[3]; EWRAM_DATA void * gUnknown_203AE04 = NULL; EWRAM_DATA void * gUnknown_203AE08 = NULL; EWRAM_DATA void * gUnknown_203AE0C[32] = {NULL}; @@ -61,6 +68,15 @@ void * sub_8113BF4(void *); void * sub_8113D48(void *, struct UnkStruct_203AE98 *); void * sub_8113CC8(void *, struct UnkStruct_203AE98 *); +extern const u8 gUnknown_841A155[]; + +const struct WindowTemplate gUnknown_845661C[3] = { + { 0, 0, 0, 30, 2, 15, 0x0e9 }, + { 0, 0, 18, 30, 2, 15, 0x0ad }, + { 0, 0, 14, 30, 6, 15, 0x14c } +}; + +const struct TextColor gUnknown_8456634 = {15, 1, 12}; void sub_8110840(void * a0) { @@ -529,3 +545,49 @@ void sub_8110FCC(void) sub_8112940(1, gUnknown_203AE98, 0x100); sub_8111150(gUnknown_203ADF8); } + +bool8 sub_8111000(void) +{ + LoadPalette(stdpal_get(4), 0xF0, 0x20); + sub_81109CC(2); + sub_807DF64(); + gUnknown_203AE94 = (struct UnkStruct_203AE94){}; + gUnknown_203AE94.unk_0_0 = 2; + return 1; +} + +bool8 sub_8111038(void) +{ + LoadPalette(stdpal_get(4), 0xF0, 0x20); + sub_81109CC(2); + sub_807DF7C(); + gUnknown_203AE94 = (struct UnkStruct_203AE94){}; + gUnknown_203AE94.unk_0_0 = 2; + return 1; +} + +void sub_8111070(u8 a0) +{ + u8 i; + + for (i = 0; i < 3; i++) + { + gUnknown_203ADFE[i] = AddWindow(&gUnknown_845661C[i]); + FillWindowPixelRect(gUnknown_203ADFE[i], 15, 0, 0, gUnknown_845661C[i].width * 8, gUnknown_845661C[i].height * 8); + } + + StringExpandPlaceholders(gStringVar4, gUnknown_841A155); + + if (a0) + { + ConvertIntToDecimalStringN(gStringVar1, a0, STR_CONV_MODE_LEFT_ALIGN, 1); + StringAppend(gStringVar4, gStringVar1); + } + + AddTextPrinterParametrized2(gUnknown_203ADFE[0], 2, 2, 2, 1, 2, &gUnknown_8456634, 0, gStringVar4); + PutWindowTilemap(gUnknown_203ADFE[0]); + PutWindowTilemap(gUnknown_203ADFE[1]); + CopyWindowToVram(gUnknown_203ADFE[0], 2); + CopyWindowToVram(gUnknown_203ADFE[2], 2); + CopyWindowToVram(gUnknown_203ADFE[1], 3); +} From 21224433ab5ce61f3c0b5c14bf2d76cbdb3ed740 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 11 Oct 2018 13:56:18 -0400 Subject: [PATCH 019/222] through sub_8111150 --- asm/quest_log.s | 162 ------------------------------------------ include/unk_8159F40.h | 1 + src/quest_log.c | 30 ++++++++ 3 files changed, 31 insertions(+), 162 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 24ffaeb24..9bde28c53 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,168 +5,6 @@ .text - thumb_func_start sub_8111134 -sub_8111134: @ 8111134 - push {r4,lr} - ldr r4, _0811114C @ =gUnknown_203ADFE - ldrb r0, [r4, 0x1] - bl PutWindowTilemap - ldrb r0, [r4, 0x1] - movs r1, 0x1 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0811114C: .4byte gUnknown_203ADFE - thumb_func_end sub_8111134 - - thumb_func_start sub_8111150 -sub_8111150: @ 8111150 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _081111A8 @ =gSaveBlock1Ptr - movs r1, 0xCD - lsls r1, 3 - muls r0, r1 - movs r1, 0x98 - lsls r1, 5 - adds r0, r1 - ldr r1, [r2] - adds r5, r1, r0 - movs r4, 0 - mov r9, r2 - mov r6, r9 - movs r2, 0x8D - lsls r2, 3 - mov r12, r2 - ldr r7, _081111AC @ =0x000008e4 - mov r8, r7 -_08111180: - lsls r0, r4, 2 - adds r3, r5, r0 - ldr r2, _081111B0 @ =0x00000469 - adds r1, r3, r2 - ldrb r1, [r1] - lsls r1, 31 - mov r10, r0 - cmp r1, 0 - beq _081111B4 - ldr r1, [r6] - lsls r2, r4, 1 - adds r0, r2, r4 - lsls r0, 3 - adds r1, r0 - mov r7, r12 - adds r0, r3, r7 - ldrb r0, [r0] - negs r0, r0 - b _081111C4 - .align 2, 0 -_081111A8: .4byte gSaveBlock1Ptr -_081111AC: .4byte 0x000008e4 -_081111B0: .4byte 0x00000469 -_081111B4: - ldr r1, [r6] - lsls r2, r4, 1 - adds r0, r2, r4 - lsls r0, 3 - adds r1, r0 - mov r7, r12 - adds r0, r3, r7 - ldrb r0, [r0] -_081111C4: - add r1, r8 - strh r0, [r1] - adds r3, r2, 0 - mov r0, r10 - adds r2, r5, r0 - ldr r1, _081111F0 @ =0x0000046a - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, 30 - cmp r0, 0 - bge _081111F4 - ldr r1, [r6] - adds r0, r3, r4 - lsls r0, 3 - adds r1, r0 - mov r7, r12 - adds r0, r2, r7 - ldr r0, [r0] - lsls r0, 15 - lsrs r0, 24 - negs r0, r0 - b _08111206 - .align 2, 0 -_081111F0: .4byte 0x0000046a -_081111F4: - ldr r1, [r6] - adds r0, r3, r4 - lsls r0, 3 - adds r1, r0 - mov r7, r12 - adds r0, r2, r7 - ldr r0, [r0] - lsls r0, 15 - lsrs r0, 24 -_08111206: - ldr r2, _08111260 @ =0x000008e6 - adds r1, r2 - strh r0, [r1] - ldr r1, [r6] - adds r3, r4 - lsls r3, 3 - adds r1, r3 - mov r7, r10 - adds r2, r5, r7 - ldr r7, _08111264 @ =0x0000046a - adds r0, r2, r7 - ldrb r0, [r0] - lsrs r0, 2 - ldr r7, _08111268 @ =0x000008e8 - adds r1, r7 - strb r0, [r1] - ldr r0, [r6] - adds r0, r3 - ldr r1, _0811126C @ =0x0000046b - adds r2, r1 - ldrb r1, [r2] - ldr r2, _08111270 @ =0x000008e9 - adds r0, r2 - strb r1, [r0] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3F - bls _08111180 - mov r7, r9 - ldr r1, [r7] - movs r0, 0x8E - lsls r0, 4 - adds r1, r0 - adds r0, r5, 0 - bl sub_815A1F8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08111260: .4byte 0x000008e6 -_08111264: .4byte 0x0000046a -_08111268: .4byte 0x000008e8 -_0811126C: .4byte 0x0000046b -_08111270: .4byte 0x000008e9 - thumb_func_end sub_8111150 - thumb_func_start sub_8111274 sub_8111274: @ 8111274 push {r4,lr} diff --git a/include/unk_8159F40.h b/include/unk_8159F40.h index 7343dc629..b7666766f 100644 --- a/include/unk_8159F40.h +++ b/include/unk_8159F40.h @@ -2,5 +2,6 @@ #define GUARD_UNK_8159F40_H void sub_815A008(struct QuestLog *); +void sub_815A1F8(struct QuestLog *, struct MapObjectTemplate *); #endif //GUARD_UNK_8159F40_H diff --git a/src/quest_log.c b/src/quest_log.c index 61c4de211..3e41d7d31 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -12,6 +12,7 @@ #include "field_fadetransition.h" #include "wild_encounter.h" #include "help_system.h" +#include "unk_8159F40.h" #include "quest_log.h" u8 gUnknown_3005E88; @@ -576,6 +577,7 @@ void sub_8111070(u8 a0) FillWindowPixelRect(gUnknown_203ADFE[i], 15, 0, 0, gUnknown_845661C[i].width * 8, gUnknown_845661C[i].height * 8); } + // _("Previously on your quest…$") StringExpandPlaceholders(gStringVar4, gUnknown_841A155); if (a0) @@ -591,3 +593,31 @@ void sub_8111070(u8 a0) CopyWindowToVram(gUnknown_203ADFE[2], 2); CopyWindowToVram(gUnknown_203ADFE[1], 3); } + +void sub_8111134(void) +{ + PutWindowTilemap(gUnknown_203ADFE[1]); + CopyWindowToVram(gUnknown_203ADFE[1], 1); +} + +void sub_8111150(u8 a0) +{ + struct QuestLog *questLog = &gSaveBlock1Ptr->questLog[a0]; + u16 i; + + for (i = 0; i < 64; i++) + { + if (questLog->npcData[i].negx) + gSaveBlock1Ptr->mapObjectTemplates[i].x = -questLog->npcData[i].x; + else + gSaveBlock1Ptr->mapObjectTemplates[i].x = questLog->npcData[i].x; + if (questLog->npcData[i].negy) + gSaveBlock1Ptr->mapObjectTemplates[i].y = -(u8)questLog->npcData[i].y; + else + gSaveBlock1Ptr->mapObjectTemplates[i].y = questLog->npcData[i].y; + gSaveBlock1Ptr->mapObjectTemplates[i].elevation = questLog->npcData[i].elevation; + gSaveBlock1Ptr->mapObjectTemplates[i].movementType = questLog->npcData[i].movementType; + } + + sub_815A1F8(questLog, gSaveBlock1Ptr->mapObjectTemplates); +} From 1fd187fb57a8b588f68455366d81f4b839939cb5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 11 Oct 2018 15:06:35 -0400 Subject: [PATCH 020/222] through sub_81113E4 --- asm/quest_log.s | 206 ------------------------------------------- include/event_data.h | 1 + include/item.h | 2 + include/overworld.h | 5 ++ src/quest_log.c | 59 ++++++++++++- 5 files changed, 65 insertions(+), 208 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 9bde28c53..f2da90afc 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,212 +5,6 @@ .text - thumb_func_start sub_8111274 -sub_8111274: @ 8111274 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - cmp r1, 0 - bne _081112D4 - ldr r3, _081112C8 @ =gSaveBlock1Ptr - ldr r2, [r3] - movs r0, 0xCD - lsls r0, 3 - adds r1, r4, 0 - muls r1, r0 - adds r0, r2, r1 - ldr r4, _081112CC @ =0x00001301 - adds r0, r4 - ldrb r0, [r0] - strb r0, [r2, 0x4] - ldr r2, [r3] - adds r0, r2, r1 - adds r4, 0x1 - adds r0, r4 - ldrb r0, [r0] - strb r0, [r2, 0x5] - ldr r2, [r3] - adds r0, r2, r1 - adds r4, 0x1 - adds r0, r4 - ldrb r0, [r0] - strb r0, [r2, 0x6] - ldr r2, [r3] - adds r1, r2, r1 - ldr r3, _081112D0 @ =0x00001304 - adds r0, r1, r3 - ldrh r0, [r0] - strh r0, [r2] - adds r4, 0x3 - adds r1, r4 - ldrh r0, [r1] - strh r0, [r2, 0x2] - b _08111336 - .align 2, 0 -_081112C8: .4byte gSaveBlock1Ptr -_081112CC: .4byte 0x00001301 -_081112D0: .4byte 0x00001304 -_081112D4: - ldr r0, _08111340 @ =gSaveBlock1Ptr - ldr r3, [r0] - movs r0, 0xCD - lsls r0, 3 - muls r0, r4 - adds r3, r0 - ldr r1, _08111344 @ =0x00001301 - adds r0, r3, r1 - ldrb r2, [r0] - ldr r0, _08111348 @ =0xffffff00 - ldr r1, [sp] - ands r1, r0 - orrs r1, r2 - str r1, [sp] - ldr r2, _0811134C @ =0x00001302 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, 8 - ldr r2, _08111350 @ =0xffff00ff - ands r2, r1 - orrs r2, r0 - str r2, [sp] - ldr r4, _08111354 @ =0x00001303 - adds r0, r3, r4 - ldrb r1, [r0] - lsls r1, 16 - ldr r0, _08111358 @ =0xff00ffff - ands r0, r2 - orrs r0, r1 - str r0, [sp] - ldr r1, _0811135C @ =0x00001304 - adds r0, r3, r1 - ldrh r1, [r0] - ldr r0, _08111360 @ =0xffff0000 - ldr r2, [sp, 0x4] - ands r2, r0 - orrs r2, r1 - str r2, [sp, 0x4] - adds r4, 0x3 - adds r3, r4 - ldrh r1, [r3] - lsls r1, 16 - ldr r0, _08111364 @ =0x0000ffff - ands r0, r2 - orrs r0, r1 - str r0, [sp, 0x4] - mov r0, sp - bl sub_8055D5C -_08111336: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08111340: .4byte gSaveBlock1Ptr -_08111344: .4byte 0x00001301 -_08111348: .4byte 0xffffff00 -_0811134C: .4byte 0x00001302 -_08111350: .4byte 0xffff00ff -_08111354: .4byte 0x00001303 -_08111358: .4byte 0xff00ffff -_0811135C: .4byte 0x00001304 -_08111360: .4byte 0xffff0000 -_08111364: .4byte 0x0000ffff - thumb_func_end sub_8111274 - - thumb_func_start sub_8111368 -sub_8111368: @ 8111368 - push {lr} - ldr r1, _081113A0 @ =gUnknown_203ADFA - movs r0, 0x2 - strb r0, [r1] - bl sub_806E6FC - bl sub_809A2DC - bl sub_809A2A4 - bl sub_8110AC8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081113B4 - ldr r0, _081113A4 @ =gUnknown_203ADF8 - ldrb r0, [r0] - movs r1, 0 - bl sub_8111274 - ldr r1, _081113A8 @ =gUnknown_3005024 - ldr r0, _081113AC @ =sub_8111038 - str r0, [r1] - ldr r0, _081113B0 @ =sub_80572A8 - bl SetMainCallback2 - b _081113CE - .align 2, 0 -_081113A0: .4byte gUnknown_203ADFA -_081113A4: .4byte gUnknown_203ADF8 -_081113A8: .4byte gUnknown_3005024 -_081113AC: .4byte sub_8111038 -_081113B0: .4byte sub_80572A8 -_081113B4: - ldr r0, _081113D4 @ =gUnknown_203ADF8 - ldrb r0, [r0] - movs r1, 0x1 - bl sub_8111274 - bl warp_in - ldr r1, _081113D8 @ =gUnknown_3005024 - ldr r0, _081113DC @ =sub_8111000 - str r0, [r1] - ldr r0, _081113E0 @ =sub_805726C - bl SetMainCallback2 -_081113CE: - pop {r0} - bx r0 - .align 2, 0 -_081113D4: .4byte gUnknown_203ADF8 -_081113D8: .4byte gUnknown_3005024 -_081113DC: .4byte sub_8111000 -_081113E0: .4byte sub_805726C - thumb_func_end sub_8111368 - - thumb_func_start sub_81113E4 -sub_81113E4: @ 81113E4 - push {r4,r5,lr} - ldr r4, _08111430 @ =gSaveBlock1Ptr - ldr r0, _08111434 @ =gUnknown_203ADF8 - ldrb r1, [r0] - movs r0, 0xCD - lsls r0, 3 - muls r0, r1 - movs r1, 0x98 - lsls r1, 5 - adds r0, r1 - ldr r1, [r4] - adds r5, r1, r0 - movs r2, 0xA4 - lsls r2, 1 - adds r0, r5, r2 - movs r2, 0xEE - lsls r2, 4 - adds r1, r2 - movs r2, 0x90 - bl CpuSet - movs r1, 0x9A - lsls r1, 2 - adds r0, r5, r1 - ldr r1, [r4] - movs r2, 0x80 - lsls r2, 5 - adds r1, r2 - movs r2, 0x80 - lsls r2, 1 - bl CpuSet - bl sub_8111688 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08111430: .4byte gSaveBlock1Ptr -_08111434: .4byte gUnknown_203ADF8 - thumb_func_end sub_81113E4 - thumb_func_start sub_8111438 sub_8111438: @ 8111438 push {r4-r7,lr} diff --git a/include/event_data.h b/include/event_data.h index f28ed4f75..77bc41603 100644 --- a/include/event_data.h +++ b/include/event_data.h @@ -31,6 +31,7 @@ u8 FlagClear(u16 id); bool8 FlagGet(u16 id); u16 * sub_806E454(u16 id); bool32 sub_806E2BC(void); +void sub_806E6FC(void); extern u16 gSpecialVar_0x8000; extern u16 gSpecialVar_0x8001; diff --git a/include/item.h b/include/item.h index a136f03ec..199b3b65e 100644 --- a/include/item.h +++ b/include/item.h @@ -60,5 +60,7 @@ u8 ItemId_GetBattleUsage(u16 itemId); ItemUseFunc ItemId_GetBattleFunc(u16 itemId); u8 ItemId_GetSecondaryId(u16 itemId); u16 itemid_get_market_price(u16 itemId); +void sub_809A2DC(void); +void sub_809A2A4(void); #endif // ITEM_H diff --git a/include/overworld.h b/include/overworld.h index 7f7c92743..ab9e114ef 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -72,7 +72,12 @@ void IncrementGameStat(u8); u32 GetGameStat(u8); void sub_8056938(void); +void sub_8055D5C(struct WarpData *); +void sub_80572A8(void); +void sub_805726C(void); extern u8 gUnknown_2031DD8; +extern bool8 (* gUnknown_3005024)(void); + #endif //GUARD_ROM4_H diff --git a/src/quest_log.c b/src/quest_log.c index 3e41d7d31..d03319434 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -10,6 +10,7 @@ #include "script.h" #include "overworld.h" #include "field_fadetransition.h" +#include "item.h" #include "wild_encounter.h" #include "help_system.h" #include "unk_8159F40.h" @@ -57,6 +58,7 @@ void sub_8110F90(u8); void sub_8111150(u8); void sub_8111368(void); void sub_81115E8(void); +void sub_8111688(void); void sub_811175C(u8, struct UnkStruct_203AE98 *); void sub_81118F4(s8); void sub_81138F8(void); @@ -434,8 +436,8 @@ void sub_8110D48(u8 a0) { struct QuestLog * questLog = &gSaveBlock1Ptr->questLog[a0]; - CpuCopy16(gSaveBlock1Ptr->flags, questLog->unk_148, 0x120); - CpuCopy16(gSaveBlock1Ptr->vars, questLog->unk_268, 0x200); + CpuCopy16(gSaveBlock1Ptr->flags, questLog->unk_148, FLAGS_COUNT * sizeof(u8)); + CpuCopy16(gSaveBlock1Ptr->vars, questLog->unk_268, VARS_COUNT * sizeof(u16)); } void sub_8110D94(void) @@ -621,3 +623,56 @@ void sub_8111150(u8 a0) sub_815A1F8(questLog, gSaveBlock1Ptr->mapObjectTemplates); } + +void sub_8111274(u8 a0, u8 a1) +{ + struct WarpData sp0; + + if (!a1) + { + gSaveBlock1Ptr->location.mapGroup = gSaveBlock1Ptr->questLog[a0].unk_001; + gSaveBlock1Ptr->location.mapNum = gSaveBlock1Ptr->questLog[a0].unk_002; + gSaveBlock1Ptr->location.warpId = gSaveBlock1Ptr->questLog[a0].unk_003; + gSaveBlock1Ptr->pos.x = gSaveBlock1Ptr->questLog[a0].unk_004; + gSaveBlock1Ptr->pos.y = gSaveBlock1Ptr->questLog[a0].unk_006; + } + else + { + sp0.mapGroup = gSaveBlock1Ptr->questLog[a0].unk_001; + sp0.mapNum = gSaveBlock1Ptr->questLog[a0].unk_002; + sp0.warpId = gSaveBlock1Ptr->questLog[a0].unk_003; + sp0.x = gSaveBlock1Ptr->questLog[a0].unk_004; + sp0.y = gSaveBlock1Ptr->questLog[a0].unk_006; + sub_8055D5C(&sp0); + } +} + +void sub_8111368(void) +{ + gUnknown_203ADFA = 2; + sub_806E6FC(); + sub_809A2DC(); + sub_809A2A4(); + if (sub_8110AC8() == 1) + { + sub_8111274(gUnknown_203ADF8, 0); + gUnknown_3005024 = sub_8111038; + SetMainCallback2(sub_80572A8); + } + else + { + sub_8111274(gUnknown_203ADF8, 1); + warp_in(); + gUnknown_3005024 = sub_8111000; + SetMainCallback2(sub_805726C); + } +} + +void sub_81113E4(void) +{ + struct QuestLog * questLog = &gSaveBlock1Ptr->questLog[gUnknown_203ADF8]; + + CpuCopy16(questLog->unk_148, gSaveBlock1Ptr->flags, FLAGS_COUNT * sizeof(u8)); + CpuCopy16(questLog->unk_268, gSaveBlock1Ptr->vars, VARS_COUNT * sizeof(u16)); + sub_8111688(); +} From 3310b1445ac759a042776d8931cfe8d7dec46bd5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 11 Oct 2018 16:13:46 -0400 Subject: [PATCH 021/222] sub_8111438 --- asm/quest_log.s | 215 ------------------------------- include/pokemon_storage_system.h | 5 +- src/quest_log.c | 84 ++++++++++++ 3 files changed, 87 insertions(+), 217 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index f2da90afc..5c965a4f1 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,221 +5,6 @@ .text - thumb_func_start sub_8111438 -sub_8111438: @ 8111438 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - movs r0, 0x68 - bl AllocZeroed - mov r9, r0 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - mov r0, r9 - movs r1, 0x13 - movs r2, 0x1 - movs r3, 0x20 - bl CreateMon - ldr r0, _081114BC @ =0x00004027 - bl VarGet - lsls r0, 16 - lsrs r1, r0, 28 - mov r6, r9 - adds r6, 0x64 - strh r1, [r6] - lsls r0, 4 - lsrs r0, 20 - mov r4, r9 - adds r4, 0x66 - strh r0, [r4] - bl sub_8111618 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r6] - cmp r5, r0 - bls _081114C4 - movs r3, 0 - subs r0, r5, r0 - mov r8, r4 - cmp r3, r0 - bge _0811150E -_08111492: - movs r0, 0x5 - subs r0, r3 - movs r1, 0x64 - muls r0, r1 - ldr r1, _081114C0 @ =gPlayerParty - adds r0, r1 - str r3, [sp, 0x10] - bl ZeroMonData - ldr r3, [sp, 0x10] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - mov r0, r9 - adds r0, 0x64 - ldrh r0, [r0] - subs r0, r5, r0 - cmp r3, r0 - blt _08111492 - b _0811150E - .align 2, 0 -_081114BC: .4byte 0x00004027 -_081114C0: .4byte gPlayerParty -_081114C4: - mov r8, r4 - cmp r5, r0 - bcs _0811150E - movs r3, 0 - adds r4, r6, 0 -_081114CE: - lsls r1, r3, 24 - lsrs r1, 24 - movs r0, 0 - str r3, [sp, 0x10] - bl sub_808BCB4 - ldr r3, [sp, 0x10] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x4 - bls _081114CE - adds r3, r5, 0 - ldrh r0, [r4] - cmp r3, r0 - bcs _0811150E -_081114EE: - movs r0, 0x64 - muls r0, r3 - ldr r1, _08111574 @ =gPlayerParty - adds r0, r1 - mov r1, r9 - movs r2, 0x64 - str r3, [sp, 0x10] - bl CopyMon - ldr r3, [sp, 0x10] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - ldrh r1, [r4] - cmp r3, r1 - bcc _081114EE -_0811150E: - bl sub_811164C - lsls r0, 16 - lsrs r5, r0, 16 - mov r1, r8 - ldrh r0, [r1] - cmp r5, r0 - bls _08111578 - movs r3, 0 -_08111520: - movs r6, 0 - lsls r7, r3, 24 - lsrs r7, 24 -_08111526: - lsls r0, r6, 24 - lsrs r4, r0, 24 - adds r0, r7, 0 - adds r1, r4, 0 - movs r2, 0x5 - str r3, [sp, 0x10] - bl GetBoxMonDataFromAnyBox - ldr r3, [sp, 0x10] - cmp r0, 0 - beq _08111554 - adds r0, r7, 0 - adds r1, r4, 0 - bl sub_808BCB4 - subs r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r3, [sp, 0x10] - mov r0, r8 - ldrh r0, [r0] - cmp r5, r0 - beq _081115D2 -_08111554: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x1D - bls _08111526 - mov r1, r8 - ldrh r1, [r1] - cmp r5, r1 - beq _081115D2 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0xD - bls _08111520 - b _081115D2 - .align 2, 0 -_08111574: .4byte gPlayerParty -_08111578: - cmp r5, r0 - bcs _081115D2 - movs r3, 0 -_0811157E: - movs r6, 0 - lsls r7, r3, 24 -_08111582: - lsls r1, r6, 24 - lsrs r1, 24 - lsrs r0, r7, 24 - str r3, [sp, 0x10] - bl GetBoxedMonPtr - adds r4, r0, 0 - movs r1, 0x5 - bl GetBoxMonData - ldr r3, [sp, 0x10] - cmp r0, 0 - bne _081115B6 - adds r0, r4, 0 - mov r1, r9 - movs r2, 0x50 - bl CopyMon - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r3, [sp, 0x10] - mov r0, r8 - ldrh r0, [r0] - cmp r5, r0 - beq _081115D2 -_081115B6: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x1D - bls _08111582 - mov r1, r8 - ldrh r1, [r1] - cmp r5, r1 - beq _081115D2 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0xD - bls _0811157E -_081115D2: - mov r0, r9 - bl Free - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8111438 - thumb_func_start sub_81115E8 sub_81115E8: @ 81115E8 push {r4,lr} diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 9fcfdba96..04d739314 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -5,9 +5,10 @@ #define IN_BOX_COUNT 30 u8* GetBoxNamePtr(u8 boxNumber); -struct BoxPokemon *GetBoxedMonPtr(u8, u8); -void SetBoxMonNickFromAnyBox(u8, u8, u8 *); +struct BoxPokemon *GetBoxedMonPtr(u8 boxId, u8 monPosition); +void SetBoxMonNickFromAnyBox(u8 boxId, u8 monPosition, u8 * newNick); void CompactPartySlots(void); u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request); +void sub_808BCB4(u8 boxId, u8 monPosition); #endif // GUARD_POKEMON_STORAGE_SYSTEM_H diff --git a/src/quest_log.c b/src/quest_log.c index d03319434..b1f1dc870 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -1,4 +1,6 @@ #include "global.h" +#include "constants/species.h" +#include "malloc.h" #include "main.h" #include "task.h" #include "palette.h" @@ -14,6 +16,7 @@ #include "wild_encounter.h" #include "help_system.h" #include "unk_8159F40.h" +#include "pokemon_storage_system.h" #include "quest_log.h" u8 gUnknown_3005E88; @@ -58,6 +61,8 @@ void sub_8110F90(u8); void sub_8111150(u8); void sub_8111368(void); void sub_81115E8(void); +u16 sub_8111618(void); +u16 sub_811164C(void); void sub_8111688(void); void sub_811175C(u8, struct UnkStruct_203AE98 *); void sub_81118F4(s8); @@ -676,3 +681,82 @@ void sub_81113E4(void) CpuCopy16(questLog->unk_268, gSaveBlock1Ptr->vars, VARS_COUNT * sizeof(u16)); sub_8111688(); } + +struct PokemonAndSomethingElse +{ + struct Pokemon mon; + u16 unk_64; + u16 unk_66; +}; + +void sub_8111438(void) +{ + struct PokemonAndSomethingElse *r9 = AllocZeroed(sizeof(struct PokemonAndSomethingElse)); + u16 r0, r3, r5, r6; + + CreateMon(&r9->mon, SPECIES_RATTATA, 1, 0x20, FALSE, 0, 0, 0); + r0 = VarGet(VAR_0x4027); + r9->unk_64 = r0 >> 12; + r9->unk_66 = r0 % 0x1000; + + r5 = sub_8111618(); + if (r5 > r9->unk_64) + { + for (r3 = 0; r3 < r5 - r9->unk_64; r3++) + { + ZeroMonData(&gPlayerParty[5 - r3]); + } + } + else if (r5 < r9->unk_64) + { + for (r3 = 0; r3 < 5; r3++) + { + sub_808BCB4(0, r3); + } + for (r3 = r5; r3 < r9->unk_64; r3++) + { + CopyMon(&gPlayerParty[r3], &r9->mon, sizeof(struct Pokemon)); + } + } + + r5 = sub_811164C(); + if (r5 > r9->unk_66) + { + for (r3 = 0; r3 < 14; r3++) + { + for (r6 = 0; r6 < 30; r6++) + { + if (GetBoxMonDataFromAnyBox(r3, r6, MON_DATA_SANITY_BIT2)) + { + sub_808BCB4(r3, r6); + r5--; + if (r5 == r9->unk_66) + break; + } + } + if (r5 == r9->unk_66) + break; + } + } + else if (r5 < r9->unk_66) + { + for (r3 = 0; r3 < 14; r3++) + { + for (r6 = 0; r6 < 30; r6++) + { + struct BoxPokemon * boxMon = GetBoxedMonPtr(r3, r6); + if (!GetBoxMonData(boxMon, MON_DATA_SANITY_BIT2)) + { + CopyMon(boxMon, &r9->mon.box, sizeof(struct BoxPokemon)); + r5++; + if (r5 == r9->unk_66) + break; + } + } + if (r5 == r9->unk_66) + break; + } + } + + Free(r9); +} From feadfc8911db9bde3bc8678ea0a5d9bab0aeef15 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 11 Oct 2018 16:21:47 -0400 Subject: [PATCH 022/222] through sub_811164C --- asm/quest_log.s | 91 ------------------------------------------------- src/quest_log.c | 42 +++++++++++++++++++++-- 2 files changed, 40 insertions(+), 93 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 5c965a4f1..b26643b9f 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,97 +5,6 @@ .text - thumb_func_start sub_81115E8 -sub_81115E8: @ 81115E8 - push {r4,lr} - bl sub_8111618 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_811164C - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r0, _08111614 @ =0x00004027 - lsls r4, 12 - adds r1, r4 - lsls r1, 16 - lsrs r1, 16 - bl VarSet - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08111614: .4byte 0x00004027 - thumb_func_end sub_81115E8 - - thumb_func_start sub_8111618 -sub_8111618: @ 8111618 - push {r4,r5,lr} - movs r5, 0 - movs r4, 0 -_0811161E: - movs r0, 0x64 - muls r0, r4 - ldr r1, _08111648 @ =gPlayerParty - adds r0, r1 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _08111636 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_08111636: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x5 - bls _0811161E - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08111648: .4byte gPlayerParty - thumb_func_end sub_8111618 - - thumb_func_start sub_811164C -sub_811164C: @ 811164C - push {r4-r7,lr} - movs r6, 0 - movs r0, 0 -_08111652: - movs r4, 0 - lsls r5, r0, 24 - adds r7, r0, 0x1 -_08111658: - lsls r1, r4, 24 - lsrs r1, 24 - lsrs r0, r5, 24 - movs r2, 0x5 - bl GetBoxMonDataFromAnyBox - cmp r0, 0 - beq _0811166E - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_0811166E: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1D - bls _08111658 - lsls r0, r7, 16 - lsrs r0, 16 - cmp r0, 0xD - bls _08111652 - adds r0, r6, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_811164C - thumb_func_start sub_8111688 sub_8111688: @ 8111688 push {r4-r7,lr} diff --git a/src/quest_log.c b/src/quest_log.c index b1f1dc870..7ed5e0560 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -740,9 +740,9 @@ void sub_8111438(void) } else if (r5 < r9->unk_66) { - for (r3 = 0; r3 < 14; r3++) + for (r3 = 0; r3 < TOTAL_BOXES_COUNT; r3++) { - for (r6 = 0; r6 < 30; r6++) + for (r6 = 0; r6 < IN_BOX_COUNT; r6++) { struct BoxPokemon * boxMon = GetBoxedMonPtr(r3, r6); if (!GetBoxMonData(boxMon, MON_DATA_SANITY_BIT2)) @@ -760,3 +760,41 @@ void sub_8111438(void) Free(r9); } + +void sub_81115E8(void) +{ + u16 r4 = sub_8111618(); + u16 r1 = sub_811164C(); + VarSet(VAR_0x4027, (r4 << 12) + r1); +} + +u16 sub_8111618(void) +{ + u16 count = 0; + u16 i; + + for (i = 0; i < PARTY_SIZE; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_BIT2)) + count++; + } + + return count; +} + +u16 sub_811164C(void) +{ + u16 count = 0; + u16 i, j; + + for (i = 0; i < TOTAL_BOXES_COUNT; i++) + { + for (j = 0; j < IN_BOX_COUNT; j++) + { + if (GetBoxMonDataFromAnyBox(i, j, MON_DATA_SANITY_BIT2)) + count++; + } + } + + return count; +} From 6533d659321f97181b6a7a5d62976f87469601d6 Mon Sep 17 00:00:00 2001 From: paul Date: Thu, 11 Oct 2018 22:49:56 +0200 Subject: [PATCH 023/222] more preparation for copypate --- data/graphics.s | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/data/graphics.s b/data/graphics.s index fd965ede6..241b27bc3 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -653,7 +653,13 @@ gUnknown_8D2FBD4:: @ 8D2FBD4 @ INSERT TRAINERS HERE gUnknown_8E48D58:: @ 8E48D58 - .incbin "baserom.gba", 0xE48D58, 0x2E624 + .incbin "baserom.gba", 0xE48D58, 0x21164 + +gUnknown_8E69EBC:: @ 8E69EBC + .incbin "baserom.gba", 0xE69EBC, 0xD0A0 + +gUnknown_8E76F5C:: @ 8E76F5C + .incbin "baserom.gba", 0xE76F5C, 0x420 @ THIS IS ./graphics/battle_transitions/vs_frame.4bpp.lz gUnknown_8E7737C:: @ 8E7737C From 913f2a9a1d88ca8fb86557cc265cd6ca7fac80e4 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 11 Oct 2018 17:21:45 -0400 Subject: [PATCH 024/222] through sub_811175C --- asm/quest_log.s | 280 ----------------------------------------------- include/global.h | 4 +- src/quest_log.c | 107 ++++++++++++++++-- 3 files changed, 98 insertions(+), 293 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index b26643b9f..82816d861 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,286 +5,6 @@ .text - thumb_func_start sub_8111688 -sub_8111688: @ 8111688 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r5, 0 - ldr r0, _081116CC @ =gSaveBlock1Ptr - mov r8, r0 - ldr r7, _081116D0 @ =0x0000063a -_08111698: - ldr r1, _081116D4 @ =0x000040aa - adds r0, r5, r1 - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r1, r5, 1 - add r1, sp - strh r0, [r1] - movs r4, 0 - adds r6, r5, 0x1 - adds r3, r1, 0 - lsls r5, 4 -_081116B2: - ldrh r0, [r3] - movs r2, 0x1 - ands r2, r0 - cmp r2, 0 - beq _081116D8 - mov r1, r8 - ldr r0, [r1] - adds r1, r5, r4 - adds r0, r7 - adds r0, r1 - movs r1, 0x1E - strb r1, [r0] - b _081116E4 - .align 2, 0 -_081116CC: .4byte gSaveBlock1Ptr -_081116D0: .4byte 0x0000063a -_081116D4: .4byte 0x000040aa -_081116D8: - mov r1, r8 - ldr r0, [r1] - adds r1, r5, r4 - adds r0, r7 - adds r0, r1 - strb r2, [r0] -_081116E4: - ldrh r0, [r3] - lsrs r0, 1 - strh r0, [r3] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0xF - bls _081116B2 - lsls r0, r6, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _08111698 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8111688 - - thumb_func_start sub_8111708 -sub_8111708: @ 8111708 - push {r4,r5,lr} - sub sp, 0x1C - ldr r0, _08111754 @ =0x000040ae - bl VarGet - ldr r4, _08111758 @ =gSaveBlock1Ptr - ldr r1, [r4] - strh r0, [r1, 0x32] - lsls r0, 16 - cmp r0, 0 - bne _0811174A - movs r0, 0x4 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl get_mapheader_by_bank_and_number - mov r1, sp - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r0, [r0] - str r0, [r1] - ldr r1, [r4] - mov r0, sp - ldrh r0, [r0, 0x12] - strh r0, [r1, 0x32] -_0811174A: - add sp, 0x1C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08111754: .4byte 0x000040ae -_08111758: .4byte gSaveBlock1Ptr - thumb_func_end sub_8111708 - - thumb_func_start sub_811175C -sub_811175C: @ 811175C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r8, r1 - lsls r0, 24 - lsrs r4, r0, 24 - movs r6, 0 - mov r9, r6 - movs r2, 0x80 - lsls r2, 1 - mov r0, r8 - movs r1, 0 - bl memset - movs r7, 0 - ldr r2, _081117B8 @ =gUnknown_203AE0C - movs r1, 0 -_08111780: - lsls r0, r7, 2 - adds r0, r2 - str r1, [r0] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x1F - bls _08111780 - ldr r1, _081117BC @ =gSaveBlock1Ptr - movs r0, 0xCD - lsls r0, 3 - muls r0, r4 - ldr r1, [r1] - adds r0, r1 - ldr r1, _081117C0 @ =0x00001868 - adds r4, r0, r1 - movs r7, 0 -_081117A2: - ldrh r0, [r4] - ldr r1, _081117C4 @ =0x00000fff - ands r1, r0 - cmp r1, 0x29 - bls _081117AE - b _081118AC -_081117AE: - lsls r0, r1, 2 - ldr r1, _081117C8 @ =_081117CC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081117B8: .4byte gUnknown_203AE0C -_081117BC: .4byte gSaveBlock1Ptr -_081117C0: .4byte 0x00001868 -_081117C4: .4byte 0x00000fff -_081117C8: .4byte _081117CC - .align 2, 0 -_081117CC: - .4byte _08111874 - .4byte _08111880 - .4byte _08111880 - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _081118AC - .4byte _0811188C - .4byte _081118AC - .4byte _08111898 -_08111874: - lsls r1, r6, 3 - add r1, r8 - adds r0, r4, 0 - bl sub_8113D08 - b _081118A2 -_08111880: - lsls r1, r6, 3 - add r1, r8 - adds r0, r4, 0 - bl sub_8113D94 - b _081118A2 -_0811188C: - lsls r1, r6, 3 - add r1, r8 - adds r0, r4, 0 - bl sub_8113C20 - b _081118A2 -_08111898: - lsls r1, r6, 3 - add r1, r8 - adds r0, r4, 0 - bl sub_8113C8C -_081118A2: - adds r4, r0, 0 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - b _081118D2 -_081118AC: - mov r0, r9 - lsls r1, r0, 2 - ldr r5, _081118F0 @ =gUnknown_203AE0C - adds r1, r5 - adds r0, r4, 0 - bl sub_8113A78 - adds r4, r0, 0 - mov r1, r9 - cmp r1, 0 - bne _081118C8 - ldr r0, [r5] - bl sub_8113ABC -_081118C8: - mov r0, r9 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 -_081118D2: - cmp r4, 0 - beq _081118E2 - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x1F - bhi _081118E2 - b _081117A2 -_081118E2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081118F0: .4byte gUnknown_203AE0C - thumb_func_end sub_811175C - thumb_func_start sub_81118F4 sub_81118F4: @ 81118F4 push {lr} diff --git a/include/global.h b/include/global.h index f1efeb4e0..5cbdbb360 100644 --- a/include/global.h +++ b/include/global.h @@ -496,8 +496,8 @@ struct QuestLog /*0x0148*/ u8 unk_148[0x120]; /*0x02c8*/ u8 unk_268[0x200]; /*0x0468*/ struct QuestLogNPCData npcData[64]; - /*0x0568*/ u8 filler_568[0x100]; - /*0x0668*/ u8 end[0]; + /*0x0568*/ u16 unk_568[0x80]; + /*0x0668*/ u16 end[0]; }; #define MAP_OBJECTS_COUNT 16 diff --git a/src/quest_log.c b/src/quest_log.c index 7ed5e0560..da918be79 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -41,7 +41,7 @@ EWRAM_DATA u8 gUnknown_203ADFA = 0; EWRAM_DATA u16 gUnknown_203ADFC = 0; EWRAM_DATA u8 gUnknown_203ADFE[3]; EWRAM_DATA void * gUnknown_203AE04 = NULL; -EWRAM_DATA void * gUnknown_203AE08 = NULL; +EWRAM_DATA u16 * gUnknown_203AE08 = NULL; EWRAM_DATA void * gUnknown_203AE0C[32] = {NULL}; EWRAM_DATA void (* gUnknown_203AE8C)(void) = 0; EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0}; @@ -65,7 +65,12 @@ u16 sub_8111618(void); u16 sub_811164C(void); void sub_8111688(void); void sub_811175C(u8, struct UnkStruct_203AE98 *); -void sub_81118F4(s8); +void * sub_8113D08(void *, struct UnkStruct_203AE98 *); +void * sub_8113D94(void *, struct UnkStruct_203AE98 *); +void * sub_8113C20(void *, struct UnkStruct_203AE98 *); +void * sub_8113C8C(void *, struct UnkStruct_203AE98 *); +void * sub_8113A78(void *, void **); +void sub_8113ABC(void *); void sub_81138F8(void); void sub_8111AD8(void); void sub_8112940(u8, struct UnkStruct_203AE98 *, u16); @@ -75,6 +80,7 @@ void sub_8113BD8(void); void * sub_8113BF4(void *); void * sub_8113D48(void *, struct UnkStruct_203AE98 *); void * sub_8113CC8(void *, struct UnkStruct_203AE98 *); +void sub_81118F4(s8); extern const u8 gUnknown_841A155[]; @@ -94,7 +100,7 @@ void sub_8110840(void * a0) if (gUnknown_203ADFA != 0) { if (gUnknown_203AE08) - gUnknown_203AE08 += r1; + gUnknown_203AE08 = (void *)gUnknown_203AE08 + r1; if (gUnknown_203ADFA == 2) { int r3; @@ -111,7 +117,7 @@ void sub_811089C(void) gUnknown_203ADF8 = 0; gUnknown_203ADFA = 0; gUnknown_203AE8C = 0; - gUnknown_203AE08 = 0; + gUnknown_203AE08 = NULL; gUnknown_203AE04 = 0; sub_8113BD8(); sub_81138F8(); @@ -134,20 +140,20 @@ void sub_811092C(void) gUnknown_203AE8C(); } -bool8 sub_8110944(u8 * a0, size_t a1) +bool8 sub_8110944(void * a0, size_t a1) { - u8 * r2 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].filler_568; - u8 * r0 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].end; + void * r2 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_568; + void * r0 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].end; r0 -= a1; if (a0 < r2 || a0 > r0) return FALSE; return TRUE; } -bool8 sub_8110988(u8 * a0, size_t a1) +bool8 sub_8110988(void * a0, size_t a1) { - u8 * r2 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].filler_568; - u8 * r0 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].end; + void * r2 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_568; + void * r0 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].end; r0 -= a1; if (a0 < r2 || a0 > r0) return FALSE; @@ -209,7 +215,7 @@ void sub_8110AEC(u16 a0) sub_81108F0(gUnknown_203ADF8); sub_8113B88(); - gUnknown_203AE08 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].filler_568; + gUnknown_203AE08 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_568; if ((a0 >= 12 && a0 < 20) || a0 == 35) gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_000 = 2; else @@ -798,3 +804,82 @@ u16 sub_811164C(void) return count; } + +void sub_8111688(void) +{ + u16 i, j; + u16 sp0[4]; + + for (i = 0; i < 4; i++) + { + sp0[i] = VarGet(VAR_0x40AA + i); + + for (j = 0; j < 16; j++) + { + if (sp0[i] & 1) + gSaveBlock1Ptr->trainerRematches[16 * i + j] = 30; + else + gSaveBlock1Ptr->trainerRematches[16 * i + j] = 0; + sp0[i] >>= 1; + } + } +} + +void sub_8111708(void) +{ + struct MapHeader sp0; + + gSaveBlock1Ptr->mapDataId = VarGet(VAR_0x40AE); + if (gSaveBlock1Ptr->mapDataId == 0) + { + sp0 = *get_mapheader_by_bank_and_number(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum); + gSaveBlock1Ptr->mapDataId = sp0.mapDataId; + } +} + +void sub_811175C(u8 a0, struct UnkStruct_203AE98 * a1) +{ + u16 i; + u16 *r4; + u16 r6 = 0; + u16 r9 = 0; + + memset(a1, 0, 32 * sizeof(struct UnkStruct_203AE98)); + for (i = 0; i < 32; i++) + { + gUnknown_203AE0C[i] = NULL; + } + + r4 = gSaveBlock1Ptr->questLog[a0].unk_568; + for (i = 0; i < 32; i++) + { + switch (*r4 & 0xFFF) + { + case 0: + r4 = sub_8113D08(r4, &a1[r6]); + r6++; + break; + case 1: + case 2: + r4 = sub_8113D94(r4, &a1[r6]); + r6++; + break; + case 39: + r4 = sub_8113C20(r4, &a1[r6]); + r6++; + break; + case 41: + r4 = sub_8113C8C(r4, &a1[r6]); + r6++; + break; + default: + r4 = sub_8113A78(r4, &gUnknown_203AE0C[r9]); + if (r9 == 0) + sub_8113ABC(gUnknown_203AE0C[0]); + r9++; + break; + } + if (r4 == NULL) + break; + } +} From 7ce6c69138a1de6f6e736a2b73b06cf1e7c889fb Mon Sep 17 00:00:00 2001 From: paul Date: Fri, 12 Oct 2018 00:00:46 +0200 Subject: [PATCH 025/222] almost complete working pokemon and trainer images, offending ones are baserom'd --- data/graphics.s | 13975 +++++++++++++++- graphics/pokemon/back_pics/abra_back_pic.png | Bin 0 -> 578 bytes graphics/pokemon/back_pics/absol_back_pic.png | Bin 0 -> 673 bytes .../pokemon/back_pics/aerodactyl_back_pic.png | Bin 0 -> 602 bytes .../pokemon/back_pics/aggron_back_pic.png | Bin 0 -> 860 bytes graphics/pokemon/back_pics/aipom_back_pic.png | Bin 0 -> 592 bytes .../pokemon/back_pics/alakazam_back_pic.png | Bin 0 -> 729 bytes .../pokemon/back_pics/altaria_back_pic.png | Bin 0 -> 685 bytes .../pokemon/back_pics/ampharos_back_pic.png | Bin 0 -> 714 bytes .../pokemon/back_pics/anorith_back_pic.png | Bin 0 -> 445 bytes graphics/pokemon/back_pics/arbok_back_pic.png | Bin 0 -> 491 bytes .../pokemon/back_pics/arcanine_back_pic.png | Bin 0 -> 790 bytes .../pokemon/back_pics/ariados_back_pic.png | Bin 0 -> 706 bytes .../pokemon/back_pics/armaldo_back_pic.png | Bin 0 -> 898 bytes graphics/pokemon/back_pics/aron_back_pic.png | Bin 0 -> 437 bytes .../pokemon/back_pics/articuno_back_pic.png | Bin 0 -> 504 bytes .../pokemon/back_pics/azumarill_back_pic.png | Bin 0 -> 541 bytes .../pokemon/back_pics/azurill_back_pic.png | Bin 0 -> 601 bytes graphics/pokemon/back_pics/bagon_back_pic.png | Bin 0 -> 574 bytes .../pokemon/back_pics/baltoy_back_pic.png | Bin 0 -> 517 bytes .../pokemon/back_pics/banette_back_pic.png | Bin 0 -> 503 bytes .../pokemon/back_pics/barboach_back_pic.png | Bin 0 -> 551 bytes .../pokemon/back_pics/bayleef_back_pic.png | Bin 0 -> 737 bytes .../pokemon/back_pics/beautifly_back_pic.png | Bin 0 -> 771 bytes .../pokemon/back_pics/beedrill_back_pic.png | Bin 0 -> 734 bytes .../pokemon/back_pics/beldum_back_pic.png | Bin 0 -> 575 bytes .../pokemon/back_pics/bellossom_back_pic.png | Bin 0 -> 633 bytes .../pokemon/back_pics/bellsprout_back_pic.png | Bin 0 -> 529 bytes .../pokemon/back_pics/blastoise_back_pic.png | Bin 0 -> 842 bytes .../pokemon/back_pics/blaziken_back_pic.png | Bin 0 -> 835 bytes .../pokemon/back_pics/blissey_back_pic.png | Bin 0 -> 566 bytes .../pokemon/back_pics/breloom_back_pic.png | Bin 0 -> 825 bytes .../pokemon/back_pics/bulbasaur_back_pic.png | Bin 0 -> 554 bytes .../pokemon/back_pics/butterfree_back_pic.png | Bin 0 -> 868 bytes .../pokemon/back_pics/cacnea_back_pic.png | Bin 0 -> 713 bytes .../pokemon/back_pics/cacturne_back_pic.png | Bin 0 -> 653 bytes .../pokemon/back_pics/camerupt_back_pic.png | Bin 0 -> 527 bytes .../pokemon/back_pics/carvanha_back_pic.png | Bin 0 -> 648 bytes .../pokemon/back_pics/cascoon_back_pic.png | Bin 0 -> 404 bytes .../castform_normal_form_back_pic.png | Bin 0 -> 373 bytes .../castform_rainy_form_back_pic.png | Bin 0 -> 495 bytes .../castform_snowy_form_back_pic.png | Bin 0 -> 628 bytes .../castform_sunny_form_back_pic.png | Bin 0 -> 559 bytes .../pokemon/back_pics/caterpie_back_pic.png | Bin 0 -> 521 bytes .../pokemon/back_pics/celebi_back_pic.png | Bin 0 -> 757 bytes .../pokemon/back_pics/chansey_back_pic.png | Bin 0 -> 453 bytes .../pokemon/back_pics/charizard_back_pic.png | Bin 0 -> 799 bytes .../pokemon/back_pics/charmander_back_pic.png | Bin 0 -> 543 bytes .../pokemon/back_pics/charmeleon_back_pic.png | Bin 0 -> 625 bytes .../pokemon/back_pics/chikorita_back_pic.png | Bin 0 -> 569 bytes .../pokemon/back_pics/chimecho_back_pic.png | Bin 0 -> 507 bytes .../pokemon/back_pics/chinchou_back_pic.png | Bin 0 -> 637 bytes .../circled_question_mark_back_pic.png | Bin 0 -> 397 bytes .../pokemon/back_pics/clamperl_back_pic.png | Bin 0 -> 475 bytes .../pokemon/back_pics/claydol_back_pic.png | Bin 0 -> 774 bytes .../pokemon/back_pics/clefable_back_pic.png | Bin 0 -> 638 bytes .../pokemon/back_pics/clefairy_back_pic.png | Bin 0 -> 561 bytes .../pokemon/back_pics/cleffa_back_pic.png | Bin 0 -> 461 bytes .../pokemon/back_pics/cloyster_back_pic.png | Bin 0 -> 769 bytes .../pokemon/back_pics/combusken_back_pic.png | Bin 0 -> 812 bytes .../pokemon/back_pics/corphish_back_pic.png | Bin 0 -> 662 bytes .../pokemon/back_pics/corsola_back_pic.png | Bin 0 -> 525 bytes .../pokemon/back_pics/cradily_back_pic.png | Bin 0 -> 824 bytes .../pokemon/back_pics/crawdaunt_back_pic.png | Bin 0 -> 787 bytes .../pokemon/back_pics/crobat_back_pic.png | Bin 0 -> 600 bytes .../pokemon/back_pics/croconaw_back_pic.png | Bin 0 -> 709 bytes .../pokemon/back_pics/cubone_back_pic.png | Bin 0 -> 685 bytes .../pokemon/back_pics/cyndaquil_back_pic.png | Bin 0 -> 670 bytes .../pokemon/back_pics/delcatty_back_pic.png | Bin 0 -> 737 bytes .../pokemon/back_pics/delibird_back_pic.png | Bin 0 -> 786 bytes .../pokemon/back_pics/deoxys_back_pic.png | Bin 0 -> 1146 bytes .../pokemon/back_pics/dewgong_back_pic.png | Bin 0 -> 523 bytes .../pokemon/back_pics/diglett_back_pic.png | Bin 0 -> 406 bytes graphics/pokemon/back_pics/ditto_back_pic.png | Bin 0 -> 399 bytes .../pokemon/back_pics/dodrio_back_pic.png | Bin 0 -> 910 bytes graphics/pokemon/back_pics/doduo_back_pic.png | Bin 0 -> 651 bytes .../pokemon/back_pics/donphan_back_pic.png | Bin 0 -> 571 bytes .../double_question_mark_back_pic.png | Bin 0 -> 308 bytes .../pokemon/back_pics/dragonair_back_pic.png | Bin 0 -> 672 bytes .../pokemon/back_pics/dragonite_back_pic.png | Bin 0 -> 624 bytes .../pokemon/back_pics/dratini_back_pic.png | Bin 0 -> 525 bytes .../pokemon/back_pics/drowzee_back_pic.png | Bin 0 -> 440 bytes .../pokemon/back_pics/dugtrio_back_pic.png | Bin 0 -> 541 bytes .../pokemon/back_pics/dunsparce_back_pic.png | Bin 0 -> 593 bytes .../pokemon/back_pics/dusclops_back_pic.png | Bin 0 -> 559 bytes .../pokemon/back_pics/duskull_back_pic.png | Bin 0 -> 537 bytes .../pokemon/back_pics/dustox_back_pic.png | Bin 0 -> 481 bytes graphics/pokemon/back_pics/eevee_back_pic.png | Bin 0 -> 641 bytes graphics/pokemon/back_pics/ekans_back_pic.png | Bin 0 -> 616 bytes .../pokemon/back_pics/electabuzz_back_pic.png | Bin 0 -> 611 bytes .../pokemon/back_pics/electrike_back_pic.png | Bin 0 -> 499 bytes .../pokemon/back_pics/electrode_back_pic.png | Bin 0 -> 477 bytes .../pokemon/back_pics/elekid_back_pic.png | Bin 0 -> 660 bytes graphics/pokemon/back_pics/entei_back_pic.png | Bin 0 -> 859 bytes .../pokemon/back_pics/espeon_back_pic.png | Bin 0 -> 554 bytes .../pokemon/back_pics/exeggcute_back_pic.png | Bin 0 -> 597 bytes .../pokemon/back_pics/exeggutor_back_pic.png | Bin 0 -> 778 bytes .../pokemon/back_pics/exploud_back_pic.png | Bin 0 -> 838 bytes .../pokemon/back_pics/farfetch_d_back_pic.png | Bin 0 -> 696 bytes .../pokemon/back_pics/fearow_back_pic.png | Bin 0 -> 635 bytes .../pokemon/back_pics/feebas_back_pic.png | Bin 0 -> 666 bytes .../pokemon/back_pics/feraligatr_back_pic.png | Bin 0 -> 999 bytes .../pokemon/back_pics/flaaffy_back_pic.png | Bin 0 -> 663 bytes .../pokemon/back_pics/flareon_back_pic.png | Bin 0 -> 709 bytes .../pokemon/back_pics/flygon_back_pic.png | Bin 0 -> 888 bytes .../pokemon/back_pics/forretress_back_pic.png | Bin 0 -> 525 bytes .../pokemon/back_pics/furret_back_pic.png | Bin 0 -> 660 bytes .../pokemon/back_pics/gardevoir_back_pic.png | Bin 0 -> 674 bytes .../pokemon/back_pics/gastly_back_pic.png | Bin 0 -> 613 bytes .../pokemon/back_pics/gengar_back_pic.png | Bin 0 -> 661 bytes .../pokemon/back_pics/geodude_back_pic.png | Bin 0 -> 506 bytes .../pokemon/back_pics/girafarig_back_pic.png | Bin 0 -> 769 bytes .../pokemon/back_pics/glalie_back_pic.png | Bin 0 -> 701 bytes .../pokemon/back_pics/gligar_back_pic.png | Bin 0 -> 768 bytes graphics/pokemon/back_pics/gloom_back_pic.png | Bin 0 -> 709 bytes .../pokemon/back_pics/golbat_back_pic.png | Bin 0 -> 561 bytes .../pokemon/back_pics/goldeen_back_pic.png | Bin 0 -> 700 bytes .../pokemon/back_pics/golduck_back_pic.png | Bin 0 -> 630 bytes graphics/pokemon/back_pics/golem_back_pic.png | Bin 0 -> 510 bytes .../pokemon/back_pics/gorebyss_back_pic.png | Bin 0 -> 560 bytes .../pokemon/back_pics/granbull_back_pic.png | Bin 0 -> 627 bytes .../pokemon/back_pics/graveler_back_pic.png | Bin 0 -> 490 bytes .../pokemon/back_pics/grimer_back_pic.png | Bin 0 -> 550 bytes .../pokemon/back_pics/groudon_back_pic.png | Bin 0 -> 890 bytes .../pokemon/back_pics/grovyle_back_pic.png | Bin 0 -> 657 bytes .../pokemon/back_pics/growlithe_back_pic.png | Bin 0 -> 650 bytes .../pokemon/back_pics/grumpig_back_pic.png | Bin 0 -> 727 bytes .../pokemon/back_pics/gulpin_back_pic.png | Bin 0 -> 497 bytes .../pokemon/back_pics/gyarados_back_pic.png | Bin 0 -> 1010 bytes .../pokemon/back_pics/hariyama_back_pic.png | Bin 0 -> 780 bytes .../pokemon/back_pics/haunter_back_pic.png | Bin 0 -> 612 bytes .../pokemon/back_pics/heracross_back_pic.png | Bin 0 -> 690 bytes .../pokemon/back_pics/hitmonchan_back_pic.png | Bin 0 -> 632 bytes .../pokemon/back_pics/hitmonlee_back_pic.png | Bin 0 -> 534 bytes .../pokemon/back_pics/hitmontop_back_pic.png | Bin 0 -> 892 bytes graphics/pokemon/back_pics/ho_oh_back_pic.png | Bin 0 -> 831 bytes .../pokemon/back_pics/hoothoot_back_pic.png | Bin 0 -> 618 bytes .../pokemon/back_pics/hoppip_back_pic.png | Bin 0 -> 582 bytes .../pokemon/back_pics/horsea_back_pic.png | Bin 0 -> 585 bytes .../pokemon/back_pics/houndoom_back_pic.png | Bin 0 -> 626 bytes .../pokemon/back_pics/houndour_back_pic.png | Bin 0 -> 508 bytes .../pokemon/back_pics/huntail_back_pic.png | Bin 0 -> 688 bytes graphics/pokemon/back_pics/hypno_back_pic.png | Bin 0 -> 658 bytes .../pokemon/back_pics/igglybuff_back_pic.png | Bin 0 -> 443 bytes .../pokemon/back_pics/illumise_back_pic.png | Bin 0 -> 663 bytes .../pokemon/back_pics/ivysaur_back_pic.png | Bin 0 -> 695 bytes .../pokemon/back_pics/jigglypuff_back_pic.png | Bin 0 -> 451 bytes .../pokemon/back_pics/jirachi_back_pic.png | Bin 0 -> 738 bytes .../pokemon/back_pics/jolteon_back_pic.png | Bin 0 -> 754 bytes .../pokemon/back_pics/jumpluff_back_pic.png | Bin 0 -> 809 bytes graphics/pokemon/back_pics/jynx_back_pic.png | Bin 0 -> 610 bytes .../pokemon/back_pics/kabuto_back_pic.png | Bin 0 -> 499 bytes .../pokemon/back_pics/kabutops_back_pic.png | Bin 0 -> 753 bytes .../pokemon/back_pics/kadabra_back_pic.png | Bin 0 -> 754 bytes .../pokemon/back_pics/kakuna_back_pic.png | Bin 0 -> 490 bytes .../pokemon/back_pics/kangaskhan_back_pic.png | Bin 0 -> 881 bytes .../pokemon/back_pics/kecleon_back_pic.png | Bin 0 -> 818 bytes .../pokemon/back_pics/kingdra_back_pic.png | Bin 0 -> 743 bytes .../pokemon/back_pics/kingler_back_pic.png | Bin 0 -> 716 bytes .../pokemon/back_pics/kirlia_back_pic.png | Bin 0 -> 723 bytes .../pokemon/back_pics/koffing_back_pic.png | Bin 0 -> 634 bytes .../pokemon/back_pics/krabby_back_pic.png | Bin 0 -> 710 bytes .../pokemon/back_pics/kyogre_back_pic.png | Bin 0 -> 497 bytes .../pokemon/back_pics/lairon_back_pic.png | Bin 0 -> 575 bytes .../pokemon/back_pics/lanturn_back_pic.png | Bin 0 -> 644 bytes .../pokemon/back_pics/lapras_back_pic.png | Bin 0 -> 686 bytes .../pokemon/back_pics/larvitar_back_pic.png | Bin 0 -> 517 bytes .../pokemon/back_pics/latias_back_pic.png | Bin 0 -> 619 bytes .../pokemon/back_pics/latios_back_pic.png | Bin 0 -> 672 bytes .../pokemon/back_pics/ledian_back_pic.png | Bin 0 -> 720 bytes .../pokemon/back_pics/ledyba_back_pic.png | Bin 0 -> 642 bytes .../pokemon/back_pics/lickitung_back_pic.png | Bin 0 -> 517 bytes .../pokemon/back_pics/lileep_back_pic.png | Bin 0 -> 679 bytes .../pokemon/back_pics/linoone_back_pic.png | Bin 0 -> 546 bytes .../pokemon/back_pics/lombre_back_pic.png | Bin 0 -> 585 bytes graphics/pokemon/back_pics/lotad_back_pic.png | Bin 0 -> 544 bytes .../pokemon/back_pics/loudred_back_pic.png | Bin 0 -> 686 bytes .../pokemon/back_pics/ludicolo_back_pic.png | Bin 0 -> 604 bytes graphics/pokemon/back_pics/lugia_back_pic.png | Bin 0 -> 783 bytes .../pokemon/back_pics/lunatone_back_pic.png | Bin 0 -> 719 bytes .../pokemon/back_pics/luvdisc_back_pic.png | Bin 0 -> 357 bytes .../pokemon/back_pics/machamp_back_pic.png | Bin 0 -> 903 bytes .../pokemon/back_pics/machoke_back_pic.png | Bin 0 -> 675 bytes .../pokemon/back_pics/machop_back_pic.png | Bin 0 -> 584 bytes graphics/pokemon/back_pics/magby_back_pic.png | Bin 0 -> 546 bytes .../pokemon/back_pics/magcargo_back_pic.png | Bin 0 -> 829 bytes .../pokemon/back_pics/magikarp_back_pic.png | Bin 0 -> 673 bytes .../pokemon/back_pics/magmar_back_pic.png | Bin 0 -> 689 bytes .../pokemon/back_pics/magnemite_back_pic.png | Bin 0 -> 391 bytes .../pokemon/back_pics/magneton_back_pic.png | Bin 0 -> 749 bytes .../pokemon/back_pics/makuhita_back_pic.png | Bin 0 -> 579 bytes .../pokemon/back_pics/manectric_back_pic.png | Bin 0 -> 437 bytes .../pokemon/back_pics/mankey_back_pic.png | Bin 0 -> 697 bytes .../pokemon/back_pics/mantine_back_pic.png | Bin 0 -> 526 bytes .../pokemon/back_pics/mareep_back_pic.png | Bin 0 -> 635 bytes .../pokemon/back_pics/marill_back_pic.png | Bin 0 -> 514 bytes .../pokemon/back_pics/marowak_back_pic.png | Bin 0 -> 629 bytes .../pokemon/back_pics/marshtomp_back_pic.png | Bin 0 -> 748 bytes .../pokemon/back_pics/masquerain_back_pic.png | Bin 0 -> 697 bytes .../pokemon/back_pics/mawile_back_pic.png | Bin 0 -> 825 bytes .../pokemon/back_pics/medicham_back_pic.png | Bin 0 -> 696 bytes .../pokemon/back_pics/meditite_back_pic.png | Bin 0 -> 565 bytes .../pokemon/back_pics/meganium_back_pic.png | Bin 0 -> 736 bytes .../pokemon/back_pics/meowth_back_pic.png | Bin 0 -> 576 bytes .../pokemon/back_pics/metagross_back_pic.png | Bin 0 -> 515 bytes .../pokemon/back_pics/metang_back_pic.png | Bin 0 -> 618 bytes .../pokemon/back_pics/metapod_back_pic.png | Bin 0 -> 411 bytes graphics/pokemon/back_pics/mew_back_pic.png | Bin 0 -> 654 bytes .../pokemon/back_pics/mewtwo_back_pic.png | Bin 0 -> 815 bytes .../pokemon/back_pics/mightyena_back_pic.png | Bin 0 -> 724 bytes .../pokemon/back_pics/milotic_back_pic.png | Bin 0 -> 588 bytes .../pokemon/back_pics/miltank_back_pic.png | Bin 0 -> 731 bytes graphics/pokemon/back_pics/minun_back_pic.png | Bin 0 -> 575 bytes .../pokemon/back_pics/misdreavus_back_pic.png | Bin 0 -> 618 bytes .../pokemon/back_pics/moltres_back_pic.png | Bin 0 -> 682 bytes .../pokemon/back_pics/mr_mime_back_pic.png | Bin 0 -> 677 bytes .../pokemon/back_pics/mudkip_back_pic.png | Bin 0 -> 627 bytes graphics/pokemon/back_pics/muk_back_pic.png | Bin 0 -> 582 bytes .../pokemon/back_pics/murkrow_back_pic.png | Bin 0 -> 640 bytes graphics/pokemon/back_pics/natu_back_pic.png | Bin 0 -> 401 bytes .../pokemon/back_pics/nidoking_back_pic.png | Bin 0 -> 849 bytes .../pokemon/back_pics/nidoqueen_back_pic.png | Bin 0 -> 761 bytes .../pokemon/back_pics/nidoran_f_back_pic.png | Bin 0 -> 587 bytes .../pokemon/back_pics/nidoran_m_back_pic.png | Bin 0 -> 630 bytes .../pokemon/back_pics/nidorina_back_pic.png | Bin 0 -> 693 bytes .../pokemon/back_pics/nidorino_back_pic.png | Bin 0 -> 741 bytes .../pokemon/back_pics/nincada_back_pic.png | Bin 0 -> 576 bytes .../pokemon/back_pics/ninetales_back_pic.png | Bin 0 -> 770 bytes .../pokemon/back_pics/ninjask_back_pic.png | Bin 0 -> 797 bytes .../pokemon/back_pics/noctowl_back_pic.png | Bin 0 -> 659 bytes .../pokemon/back_pics/nosepass_back_pic.png | Bin 0 -> 517 bytes graphics/pokemon/back_pics/numel_back_pic.png | Bin 0 -> 573 bytes .../pokemon/back_pics/nuzleaf_back_pic.png | Bin 0 -> 583 bytes .../pokemon/back_pics/octillery_back_pic.png | Bin 0 -> 558 bytes .../pokemon/back_pics/oddish_back_pic.png | Bin 0 -> 548 bytes .../pokemon/back_pics/omanyte_back_pic.png | Bin 0 -> 661 bytes .../pokemon/back_pics/omastar_back_pic.png | Bin 0 -> 634 bytes graphics/pokemon/back_pics/onix_back_pic.png | Bin 0 -> 696 bytes graphics/pokemon/back_pics/paras_back_pic.png | Bin 0 -> 509 bytes .../pokemon/back_pics/parasect_back_pic.png | Bin 0 -> 602 bytes .../pokemon/back_pics/pelipper_back_pic.png | Bin 0 -> 737 bytes .../pokemon/back_pics/persian_back_pic.png | Bin 0 -> 663 bytes .../pokemon/back_pics/phanpy_back_pic.png | Bin 0 -> 541 bytes graphics/pokemon/back_pics/pichu_back_pic.png | Bin 0 -> 495 bytes .../pokemon/back_pics/pidgeot_back_pic.png | Bin 0 -> 800 bytes .../pokemon/back_pics/pidgeotto_back_pic.png | Bin 0 -> 673 bytes .../pokemon/back_pics/pidgey_back_pic.png | Bin 0 -> 702 bytes .../pokemon/back_pics/pikachu_back_pic.png | Bin 0 -> 587 bytes .../pokemon/back_pics/piloswine_back_pic.png | Bin 0 -> 436 bytes .../pokemon/back_pics/pineco_back_pic.png | Bin 0 -> 520 bytes .../pokemon/back_pics/pinsir_back_pic.png | Bin 0 -> 657 bytes .../pokemon/back_pics/plusle_back_pic.png | Bin 0 -> 568 bytes .../pokemon/back_pics/politoed_back_pic.png | Bin 0 -> 565 bytes .../pokemon/back_pics/poliwag_back_pic.png | Bin 0 -> 465 bytes .../pokemon/back_pics/poliwhirl_back_pic.png | Bin 0 -> 487 bytes .../pokemon/back_pics/poliwrath_back_pic.png | Bin 0 -> 615 bytes .../pokemon/back_pics/ponyta_back_pic.png | Bin 0 -> 680 bytes .../pokemon/back_pics/poochyena_back_pic.png | Bin 0 -> 676 bytes .../pokemon/back_pics/porygon2_back_pic.png | Bin 0 -> 656 bytes .../pokemon/back_pics/porygon_back_pic.png | Bin 0 -> 537 bytes .../pokemon/back_pics/primeape_back_pic.png | Bin 0 -> 714 bytes .../pokemon/back_pics/psyduck_back_pic.png | Bin 0 -> 534 bytes .../pokemon/back_pics/pupitar_back_pic.png | Bin 0 -> 642 bytes .../pokemon/back_pics/quagsire_back_pic.png | Bin 0 -> 602 bytes .../pokemon/back_pics/quilava_back_pic.png | Bin 0 -> 746 bytes .../pokemon/back_pics/qwilfish_back_pic.png | Bin 0 -> 572 bytes .../pokemon/back_pics/raichu_back_pic.png | Bin 0 -> 625 bytes .../pokemon/back_pics/raikou_back_pic.png | Bin 0 -> 745 bytes graphics/pokemon/back_pics/ralts_back_pic.png | Bin 0 -> 451 bytes .../pokemon/back_pics/rapidash_back_pic.png | Bin 0 -> 840 bytes .../pokemon/back_pics/raticate_back_pic.png | Bin 0 -> 643 bytes .../pokemon/back_pics/rattata_back_pic.png | Bin 0 -> 566 bytes .../pokemon/back_pics/rayquaza_back_pic.png | Bin 0 -> 666 bytes .../pokemon/back_pics/regice_back_pic.png | Bin 0 -> 551 bytes .../pokemon/back_pics/regirock_back_pic.png | Bin 0 -> 859 bytes .../pokemon/back_pics/registeel_back_pic.png | Bin 0 -> 615 bytes .../pokemon/back_pics/relicanth_back_pic.png | Bin 0 -> 704 bytes .../pokemon/back_pics/remoraid_back_pic.png | Bin 0 -> 596 bytes .../pokemon/back_pics/rhydon_back_pic.png | Bin 0 -> 880 bytes .../pokemon/back_pics/rhyhorn_back_pic.png | Bin 0 -> 633 bytes .../pokemon/back_pics/roselia_back_pic.png | Bin 0 -> 774 bytes .../pokemon/back_pics/sableye_back_pic.png | Bin 0 -> 654 bytes .../pokemon/back_pics/salamence_back_pic.png | Bin 0 -> 578 bytes .../pokemon/back_pics/sandshrew_back_pic.png | Bin 0 -> 606 bytes .../pokemon/back_pics/sandslash_back_pic.png | Bin 0 -> 837 bytes .../pokemon/back_pics/sceptile_back_pic.png | Bin 0 -> 838 bytes .../pokemon/back_pics/scizor_back_pic.png | Bin 0 -> 739 bytes .../pokemon/back_pics/scyther_back_pic.png | Bin 0 -> 854 bytes .../pokemon/back_pics/seadra_back_pic.png | Bin 0 -> 727 bytes .../pokemon/back_pics/seaking_back_pic.png | Bin 0 -> 693 bytes .../pokemon/back_pics/sealeo_back_pic.png | Bin 0 -> 503 bytes .../pokemon/back_pics/seedot_back_pic.png | Bin 0 -> 561 bytes graphics/pokemon/back_pics/seel_back_pic.png | Bin 0 -> 581 bytes .../pokemon/back_pics/sentret_back_pic.png | Bin 0 -> 549 bytes .../pokemon/back_pics/seviper_back_pic.png | Bin 0 -> 934 bytes .../pokemon/back_pics/sharpedo_back_pic.png | Bin 0 -> 676 bytes .../pokemon/back_pics/shedinja_back_pic.png | Bin 0 -> 763 bytes .../pokemon/back_pics/shelgon_back_pic.png | Bin 0 -> 549 bytes .../pokemon/back_pics/shellder_back_pic.png | Bin 0 -> 586 bytes .../pokemon/back_pics/shiftry_back_pic.png | Bin 0 -> 580 bytes .../pokemon/back_pics/shroomish_back_pic.png | Bin 0 -> 540 bytes .../pokemon/back_pics/shuckle_back_pic.png | Bin 0 -> 483 bytes .../pokemon/back_pics/shuppet_back_pic.png | Bin 0 -> 485 bytes .../pokemon/back_pics/silcoon_back_pic.png | Bin 0 -> 396 bytes .../pokemon/back_pics/skarmory_back_pic.png | Bin 0 -> 577 bytes .../pokemon/back_pics/skiploom_back_pic.png | Bin 0 -> 575 bytes .../pokemon/back_pics/skitty_back_pic.png | Bin 0 -> 677 bytes .../pokemon/back_pics/slaking_back_pic.png | Bin 0 -> 788 bytes .../pokemon/back_pics/slakoth_back_pic.png | Bin 0 -> 583 bytes .../pokemon/back_pics/slowbro_back_pic.png | Bin 0 -> 737 bytes .../pokemon/back_pics/slowking_back_pic.png | Bin 0 -> 712 bytes .../pokemon/back_pics/slowpoke_back_pic.png | Bin 0 -> 494 bytes .../pokemon/back_pics/slugma_back_pic.png | Bin 0 -> 584 bytes .../pokemon/back_pics/smeargle_back_pic.png | Bin 0 -> 648 bytes .../pokemon/back_pics/smoochum_back_pic.png | Bin 0 -> 507 bytes .../pokemon/back_pics/sneasel_back_pic.png | Bin 0 -> 664 bytes .../pokemon/back_pics/snorlax_back_pic.png | Bin 0 -> 419 bytes .../pokemon/back_pics/snorunt_back_pic.png | Bin 0 -> 557 bytes .../pokemon/back_pics/snubbull_back_pic.png | Bin 0 -> 627 bytes .../pokemon/back_pics/solrock_back_pic.png | Bin 0 -> 802 bytes .../pokemon/back_pics/spearow_back_pic.png | Bin 0 -> 601 bytes .../pokemon/back_pics/spheal_back_pic.png | Bin 0 -> 405 bytes .../pokemon/back_pics/spinarak_back_pic.png | Bin 0 -> 465 bytes .../pokemon/back_pics/spinda_back_pic.png | Bin 0 -> 684 bytes .../pokemon/back_pics/spoink_back_pic.png | Bin 0 -> 453 bytes .../pokemon/back_pics/squirtle_back_pic.png | Bin 0 -> 484 bytes .../pokemon/back_pics/stantler_back_pic.png | Bin 0 -> 680 bytes .../pokemon/back_pics/starmie_back_pic.png | Bin 0 -> 501 bytes .../pokemon/back_pics/staryu_back_pic.png | Bin 0 -> 446 bytes .../pokemon/back_pics/steelix_back_pic.png | Bin 0 -> 819 bytes .../pokemon/back_pics/sudowoodo_back_pic.png | Bin 0 -> 696 bytes .../pokemon/back_pics/suicune_back_pic.png | Bin 0 -> 975 bytes .../pokemon/back_pics/sunflora_back_pic.png | Bin 0 -> 749 bytes .../pokemon/back_pics/sunkern_back_pic.png | Bin 0 -> 555 bytes .../pokemon/back_pics/surskit_back_pic.png | Bin 0 -> 459 bytes .../pokemon/back_pics/swablu_back_pic.png | Bin 0 -> 740 bytes .../pokemon/back_pics/swalot_back_pic.png | Bin 0 -> 687 bytes .../pokemon/back_pics/swampert_back_pic.png | Bin 0 -> 768 bytes .../pokemon/back_pics/swellow_back_pic.png | Bin 0 -> 669 bytes .../pokemon/back_pics/swinub_back_pic.png | Bin 0 -> 382 bytes .../pokemon/back_pics/taillow_back_pic.png | Bin 0 -> 446 bytes .../pokemon/back_pics/tangela_back_pic.png | Bin 0 -> 676 bytes .../pokemon/back_pics/tauros_back_pic.png | Bin 0 -> 561 bytes .../pokemon/back_pics/teddiursa_back_pic.png | Bin 0 -> 512 bytes .../pokemon/back_pics/tentacool_back_pic.png | Bin 0 -> 556 bytes .../pokemon/back_pics/tentacruel_back_pic.png | Bin 0 -> 736 bytes .../pokemon/back_pics/togepi_back_pic.png | Bin 0 -> 514 bytes .../pokemon/back_pics/togetic_back_pic.png | Bin 0 -> 630 bytes .../pokemon/back_pics/torchic_back_pic.png | Bin 0 -> 576 bytes .../pokemon/back_pics/torkoal_back_pic.png | Bin 0 -> 569 bytes .../pokemon/back_pics/totodile_back_pic.png | Bin 0 -> 599 bytes .../pokemon/back_pics/trapinch_back_pic.png | Bin 0 -> 437 bytes .../pokemon/back_pics/treecko_back_pic.png | Bin 0 -> 636 bytes .../pokemon/back_pics/tropius_back_pic.png | Bin 0 -> 632 bytes .../pokemon/back_pics/typhlosion_back_pic.png | Bin 0 -> 849 bytes .../pokemon/back_pics/tyranitar_back_pic.png | Bin 0 -> 776 bytes .../pokemon/back_pics/tyrogue_back_pic.png | Bin 0 -> 618 bytes .../pokemon/back_pics/umbreon_back_pic.png | Bin 0 -> 638 bytes .../pokemon/back_pics/unown_a_back_pic.png | Bin 0 -> 376 bytes .../pokemon/back_pics/unown_b_back_pic.png | Bin 0 -> 394 bytes .../pokemon/back_pics/unown_c_back_pic.png | Bin 0 -> 505 bytes .../pokemon/back_pics/unown_d_back_pic.png | Bin 0 -> 451 bytes .../pokemon/back_pics/unown_e_back_pic.png | Bin 0 -> 400 bytes .../unown_exclamation_mark_back_pic.png | Bin 0 -> 312 bytes .../pokemon/back_pics/unown_f_back_pic.png | Bin 0 -> 417 bytes .../pokemon/back_pics/unown_g_back_pic.png | Bin 0 -> 431 bytes .../pokemon/back_pics/unown_h_back_pic.png | Bin 0 -> 534 bytes .../pokemon/back_pics/unown_i_back_pic.png | Bin 0 -> 328 bytes .../pokemon/back_pics/unown_j_back_pic.png | Bin 0 -> 370 bytes .../pokemon/back_pics/unown_k_back_pic.png | Bin 0 -> 388 bytes .../pokemon/back_pics/unown_l_back_pic.png | Bin 0 -> 356 bytes .../pokemon/back_pics/unown_m_back_pic.png | Bin 0 -> 499 bytes .../pokemon/back_pics/unown_n_back_pic.png | Bin 0 -> 474 bytes .../pokemon/back_pics/unown_o_back_pic.png | Bin 0 -> 517 bytes .../pokemon/back_pics/unown_p_back_pic.png | Bin 0 -> 333 bytes .../pokemon/back_pics/unown_q_back_pic.png | Bin 0 -> 335 bytes .../unown_question_mark_back_pic.png | Bin 0 -> 382 bytes .../pokemon/back_pics/unown_r_back_pic.png | Bin 0 -> 337 bytes .../pokemon/back_pics/unown_s_back_pic.png | Bin 0 -> 439 bytes .../pokemon/back_pics/unown_t_back_pic.png | Bin 0 -> 324 bytes .../pokemon/back_pics/unown_u_back_pic.png | Bin 0 -> 454 bytes .../pokemon/back_pics/unown_v_back_pic.png | Bin 0 -> 416 bytes .../pokemon/back_pics/unown_w_back_pic.png | Bin 0 -> 378 bytes .../pokemon/back_pics/unown_x_back_pic.png | Bin 0 -> 376 bytes .../pokemon/back_pics/unown_y_back_pic.png | Bin 0 -> 404 bytes .../pokemon/back_pics/unown_z_back_pic.png | Bin 0 -> 348 bytes .../pokemon/back_pics/ursaring_back_pic.png | Bin 0 -> 718 bytes .../pokemon/back_pics/vaporeon_back_pic.png | Bin 0 -> 572 bytes .../pokemon/back_pics/venomoth_back_pic.png | Bin 0 -> 769 bytes .../pokemon/back_pics/venonat_back_pic.png | Bin 0 -> 678 bytes .../pokemon/back_pics/venusaur_back_pic.png | Bin 0 -> 948 bytes .../pokemon/back_pics/vibrava_back_pic.png | Bin 0 -> 518 bytes .../pokemon/back_pics/victreebel_back_pic.png | Bin 0 -> 752 bytes .../pokemon/back_pics/vigoroth_back_pic.png | Bin 0 -> 589 bytes .../pokemon/back_pics/vileplume_back_pic.png | Bin 0 -> 860 bytes .../pokemon/back_pics/volbeat_back_pic.png | Bin 0 -> 702 bytes .../pokemon/back_pics/voltorb_back_pic.png | Bin 0 -> 475 bytes .../pokemon/back_pics/vulpix_back_pic.png | Bin 0 -> 656 bytes .../pokemon/back_pics/wailmer_back_pic.png | Bin 0 -> 347 bytes .../pokemon/back_pics/wailord_back_pic.png | Bin 0 -> 368 bytes .../pokemon/back_pics/walrein_back_pic.png | Bin 0 -> 727 bytes .../pokemon/back_pics/wartortle_back_pic.png | Bin 0 -> 689 bytes .../pokemon/back_pics/weedle_back_pic.png | Bin 0 -> 502 bytes .../pokemon/back_pics/weepinbell_back_pic.png | Bin 0 -> 625 bytes .../pokemon/back_pics/weezing_back_pic.png | Bin 0 -> 687 bytes .../pokemon/back_pics/whiscash_back_pic.png | Bin 0 -> 690 bytes .../pokemon/back_pics/whismur_back_pic.png | Bin 0 -> 493 bytes .../pokemon/back_pics/wigglytuff_back_pic.png | Bin 0 -> 538 bytes .../pokemon/back_pics/wingull_back_pic.png | Bin 0 -> 684 bytes .../pokemon/back_pics/wobbuffet_back_pic.png | Bin 0 -> 433 bytes .../pokemon/back_pics/wooper_back_pic.png | Bin 0 -> 533 bytes .../pokemon/back_pics/wurmple_back_pic.png | Bin 0 -> 488 bytes .../pokemon/back_pics/wynaut_back_pic.png | Bin 0 -> 498 bytes graphics/pokemon/back_pics/xatu_back_pic.png | Bin 0 -> 716 bytes graphics/pokemon/back_pics/yanma_back_pic.png | Bin 0 -> 796 bytes .../pokemon/back_pics/zangoose_back_pic.png | Bin 0 -> 734 bytes .../pokemon/back_pics/zapdos_back_pic.png | Bin 0 -> 652 bytes .../pokemon/back_pics/zigzagoon_back_pic.png | Bin 0 -> 683 bytes graphics/pokemon/back_pics/zubat_back_pic.png | Bin 0 -> 526 bytes .../pokemon/footprints/abra_footprint.png | Bin 0 -> 94 bytes .../pokemon/footprints/absol_footprint.png | Bin 0 -> 102 bytes .../footprints/aerodactyl_footprint.png | Bin 0 -> 92 bytes .../pokemon/footprints/aggron_footprint.png | Bin 0 -> 102 bytes .../pokemon/footprints/aipom_footprint.png | Bin 0 -> 86 bytes .../pokemon/footprints/alakazam_footprint.png | Bin 0 -> 95 bytes .../pokemon/footprints/altaria_footprint.png | Bin 0 -> 100 bytes .../pokemon/footprints/ampharos_footprint.png | Bin 0 -> 90 bytes .../pokemon/footprints/anorith_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/arbok_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/arcanine_footprint.png | Bin 0 -> 99 bytes .../pokemon/footprints/ariados_footprint.png | Bin 0 -> 86 bytes .../pokemon/footprints/armaldo_footprint.png | Bin 0 -> 95 bytes .../pokemon/footprints/aron_footprint.png | Bin 0 -> 90 bytes .../pokemon/footprints/articuno_footprint.png | Bin 0 -> 106 bytes .../footprints/azumarill_footprint.png | Bin 0 -> 88 bytes .../pokemon/footprints/azurill_footprint.png | Bin 0 -> 84 bytes .../pokemon/footprints/bagon_footprint.png | Bin 0 -> 91 bytes .../pokemon/footprints/baltoy_footprint.png | Bin 0 -> 76 bytes .../pokemon/footprints/banette_footprint.png | Bin 0 -> 85 bytes .../pokemon/footprints/barboach_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/bayleef_footprint.png | Bin 0 -> 87 bytes .../footprints/beautifly_footprint.png | Bin 0 -> 89 bytes .../pokemon/footprints/beedrill_footprint.png | Bin 0 -> 84 bytes .../pokemon/footprints/beldum_footprint.png | Bin 0 -> 82 bytes .../footprints/bellossom_footprint.png | Bin 0 -> 71 bytes .../footprints/bellsprout_footprint.png | Bin 0 -> 109 bytes .../footprints/blastoise_footprint.png | Bin 0 -> 98 bytes .../pokemon/footprints/blaziken_footprint.png | Bin 0 -> 116 bytes .../pokemon/footprints/blissey_footprint.png | Bin 0 -> 96 bytes .../pokemon/footprints/breloom_footprint.png | Bin 0 -> 94 bytes .../footprints/bulbasaur_footprint.png | Bin 0 -> 88 bytes .../footprints/butterfree_footprint.png | Bin 0 -> 87 bytes .../pokemon/footprints/cacnea_footprint.png | Bin 0 -> 81 bytes .../pokemon/footprints/cacturne_footprint.png | Bin 0 -> 87 bytes .../pokemon/footprints/camerupt_footprint.png | Bin 0 -> 109 bytes .../pokemon/footprints/carvanha_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/cascoon_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/castform_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/caterpie_footprint.png | Bin 0 -> 81 bytes .../pokemon/footprints/celebi_footprint.png | Bin 0 -> 88 bytes .../pokemon/footprints/chansey_footprint.png | Bin 0 -> 88 bytes .../footprints/charizard_footprint.png | Bin 0 -> 95 bytes .../footprints/charmander_footprint.png | Bin 0 -> 90 bytes .../footprints/charmeleon_footprint.png | Bin 0 -> 95 bytes .../footprints/chikorita_footprint.png | Bin 0 -> 81 bytes .../pokemon/footprints/chimecho_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/chinchou_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/clamperl_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/claydol_footprint.png | Bin 0 -> 80 bytes .../pokemon/footprints/clefable_footprint.png | Bin 0 -> 101 bytes .../pokemon/footprints/clefairy_footprint.png | Bin 0 -> 85 bytes .../pokemon/footprints/cleffa_footprint.png | Bin 0 -> 79 bytes .../pokemon/footprints/cloyster_footprint.png | Bin 0 -> 71 bytes .../footprints/combusken_footprint.png | Bin 0 -> 109 bytes .../pokemon/footprints/corphish_footprint.png | Bin 0 -> 102 bytes .../pokemon/footprints/corsola_footprint.png | Bin 0 -> 81 bytes .../pokemon/footprints/cradily_footprint.png | Bin 0 -> 98 bytes .../footprints/crawdaunt_footprint.png | Bin 0 -> 104 bytes .../pokemon/footprints/crobat_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/croconaw_footprint.png | Bin 0 -> 85 bytes .../pokemon/footprints/cubone_footprint.png | Bin 0 -> 87 bytes .../footprints/cyndaquil_footprint.png | Bin 0 -> 84 bytes .../pokemon/footprints/delcatty_footprint.png | Bin 0 -> 107 bytes .../pokemon/footprints/delibird_footprint.png | Bin 0 -> 90 bytes .../pokemon/footprints/deoxys_footprint.png | Bin 0 -> 84 bytes .../pokemon/footprints/dewgong_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/diglett_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/ditto_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/dodrio_footprint.png | Bin 0 -> 110 bytes .../pokemon/footprints/doduo_footprint.png | Bin 0 -> 101 bytes .../pokemon/footprints/donphan_footprint.png | Bin 0 -> 96 bytes .../footprints/dragonair_footprint.png | Bin 0 -> 71 bytes .../footprints/dragonite_footprint.png | Bin 0 -> 92 bytes .../pokemon/footprints/dratini_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/drowzee_footprint.png | Bin 0 -> 87 bytes .../pokemon/footprints/dugtrio_footprint.png | Bin 0 -> 71 bytes .../footprints/dunsparce_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/dusclops_footprint.png | Bin 0 -> 106 bytes .../pokemon/footprints/duskull_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/dustox_footprint.png | Bin 0 -> 92 bytes .../pokemon/footprints/eevee_footprint.png | Bin 0 -> 96 bytes .../pokemon/footprints/ekans_footprint.png | Bin 0 -> 71 bytes .../footprints/electabuzz_footprint.png | Bin 0 -> 93 bytes .../footprints/electrike_footprint.png | Bin 0 -> 101 bytes .../footprints/electrode_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/elekid_footprint.png | Bin 0 -> 89 bytes .../pokemon/footprints/entei_footprint.png | Bin 0 -> 101 bytes .../pokemon/footprints/espeon_footprint.png | Bin 0 -> 85 bytes .../footprints/exeggcute_footprint.png | Bin 0 -> 71 bytes .../footprints/exeggutor_footprint.png | Bin 0 -> 92 bytes .../pokemon/footprints/exploud_footprint.png | Bin 0 -> 108 bytes .../footprints/farfetch_d_footprint.png | Bin 0 -> 99 bytes .../pokemon/footprints/fearow_footprint.png | Bin 0 -> 102 bytes .../pokemon/footprints/feebas_footprint.png | Bin 0 -> 71 bytes .../footprints/feraligatr_footprint.png | Bin 0 -> 94 bytes .../pokemon/footprints/flaaffy_footprint.png | Bin 0 -> 81 bytes .../pokemon/footprints/flareon_footprint.png | Bin 0 -> 103 bytes .../pokemon/footprints/flygon_footprint.png | Bin 0 -> 92 bytes .../footprints/forretress_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/furret_footprint.png | Bin 0 -> 87 bytes .../footprints/gardevoir_footprint.png | Bin 0 -> 86 bytes .../pokemon/footprints/gastly_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/gengar_footprint.png | Bin 0 -> 91 bytes .../pokemon/footprints/geodude_footprint.png | Bin 0 -> 71 bytes .../footprints/girafarig_footprint.png | Bin 0 -> 83 bytes .../pokemon/footprints/glalie_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/gligar_footprint.png | Bin 0 -> 92 bytes .../pokemon/footprints/gloom_footprint.png | Bin 0 -> 90 bytes .../pokemon/footprints/golbat_footprint.png | Bin 0 -> 94 bytes .../pokemon/footprints/goldeen_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/golduck_footprint.png | Bin 0 -> 98 bytes .../pokemon/footprints/golem_footprint.png | Bin 0 -> 97 bytes .../pokemon/footprints/gorebyss_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/granbull_footprint.png | Bin 0 -> 93 bytes .../pokemon/footprints/graveler_footprint.png | Bin 0 -> 91 bytes .../pokemon/footprints/grimer_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/groudon_footprint.png | Bin 0 -> 103 bytes .../pokemon/footprints/grovyle_footprint.png | Bin 0 -> 100 bytes .../footprints/growlithe_footprint.png | Bin 0 -> 91 bytes .../pokemon/footprints/grumpig_footprint.png | Bin 0 -> 96 bytes .../pokemon/footprints/gulpin_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/gyarados_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/hariyama_footprint.png | Bin 0 -> 94 bytes .../pokemon/footprints/haunter_footprint.png | Bin 0 -> 71 bytes .../footprints/heracross_footprint.png | Bin 0 -> 92 bytes .../footprints/hitmonchan_footprint.png | Bin 0 -> 90 bytes .../footprints/hitmonlee_footprint.png | Bin 0 -> 104 bytes .../footprints/hitmontop_footprint.png | Bin 0 -> 103 bytes .../pokemon/footprints/ho_oh_footprint.png | Bin 0 -> 95 bytes .../pokemon/footprints/hoothoot_footprint.png | Bin 0 -> 102 bytes .../pokemon/footprints/hoppip_footprint.png | Bin 0 -> 84 bytes .../pokemon/footprints/horsea_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/houndoom_footprint.png | Bin 0 -> 103 bytes .../pokemon/footprints/houndour_footprint.png | Bin 0 -> 91 bytes .../pokemon/footprints/huntail_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/hypno_footprint.png | Bin 0 -> 95 bytes .../footprints/igglybuff_footprint.png | Bin 0 -> 85 bytes .../pokemon/footprints/illumise_footprint.png | Bin 0 -> 84 bytes .../pokemon/footprints/ivysaur_footprint.png | Bin 0 -> 96 bytes .../footprints/jigglypuff_footprint.png | Bin 0 -> 85 bytes .../pokemon/footprints/jirachi_footprint.png | Bin 0 -> 83 bytes .../pokemon/footprints/jolteon_footprint.png | Bin 0 -> 91 bytes .../pokemon/footprints/jumpluff_footprint.png | Bin 0 -> 84 bytes .../pokemon/footprints/jynx_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/kabuto_footprint.png | Bin 0 -> 76 bytes .../pokemon/footprints/kabutops_footprint.png | Bin 0 -> 94 bytes .../pokemon/footprints/kadabra_footprint.png | Bin 0 -> 100 bytes .../pokemon/footprints/kakuna_footprint.png | Bin 0 -> 71 bytes .../footprints/kangaskhan_footprint.png | Bin 0 -> 96 bytes .../pokemon/footprints/kecleon_footprint.png | Bin 0 -> 96 bytes .../pokemon/footprints/kingdra_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/kingler_footprint.png | Bin 0 -> 93 bytes .../pokemon/footprints/kirlia_footprint.png | Bin 0 -> 81 bytes .../pokemon/footprints/koffing_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/krabby_footprint.png | Bin 0 -> 86 bytes .../pokemon/footprints/kyogre_footprint.png | Bin 0 -> 104 bytes .../pokemon/footprints/lairon_footprint.png | Bin 0 -> 101 bytes .../pokemon/footprints/lanturn_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/lapras_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/larvitar_footprint.png | Bin 0 -> 82 bytes .../pokemon/footprints/latias_footprint.png | Bin 0 -> 104 bytes .../pokemon/footprints/latios_footprint.png | Bin 0 -> 105 bytes .../pokemon/footprints/ledian_footprint.png | Bin 0 -> 94 bytes .../pokemon/footprints/ledyba_footprint.png | Bin 0 -> 99 bytes .../footprints/lickitung_footprint.png | Bin 0 -> 102 bytes .../pokemon/footprints/lileep_footprint.png | Bin 0 -> 99 bytes .../pokemon/footprints/linoone_footprint.png | Bin 0 -> 90 bytes .../pokemon/footprints/lombre_footprint.png | Bin 0 -> 110 bytes .../pokemon/footprints/lotad_footprint.png | Bin 0 -> 88 bytes .../pokemon/footprints/loudred_footprint.png | Bin 0 -> 105 bytes .../pokemon/footprints/ludicolo_footprint.png | Bin 0 -> 94 bytes .../pokemon/footprints/lugia_footprint.png | Bin 0 -> 95 bytes .../pokemon/footprints/lunatone_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/luvdisc_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/machamp_footprint.png | Bin 0 -> 98 bytes .../pokemon/footprints/machoke_footprint.png | Bin 0 -> 97 bytes .../pokemon/footprints/machop_footprint.png | Bin 0 -> 90 bytes .../pokemon/footprints/magby_footprint.png | Bin 0 -> 88 bytes .../pokemon/footprints/magcargo_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/magikarp_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/magmar_footprint.png | Bin 0 -> 94 bytes .../footprints/magnemite_footprint.png | Bin 0 -> 83 bytes .../pokemon/footprints/magneton_footprint.png | Bin 0 -> 90 bytes .../pokemon/footprints/makuhita_footprint.png | Bin 0 -> 97 bytes .../footprints/manectric_footprint.png | Bin 0 -> 100 bytes .../pokemon/footprints/mankey_footprint.png | Bin 0 -> 110 bytes .../pokemon/footprints/mantine_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/mareep_footprint.png | Bin 0 -> 84 bytes .../pokemon/footprints/marill_footprint.png | Bin 0 -> 85 bytes .../pokemon/footprints/marowak_footprint.png | Bin 0 -> 86 bytes .../footprints/marshtomp_footprint.png | Bin 0 -> 90 bytes .../footprints/masquerain_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/mawile_footprint.png | Bin 0 -> 102 bytes .../pokemon/footprints/medicham_footprint.png | Bin 0 -> 92 bytes .../pokemon/footprints/meditite_footprint.png | Bin 0 -> 89 bytes .../pokemon/footprints/meganium_footprint.png | Bin 0 -> 97 bytes .../pokemon/footprints/meowth_footprint.png | Bin 0 -> 94 bytes .../footprints/metagross_footprint.png | Bin 0 -> 91 bytes .../pokemon/footprints/metang_footprint.png | Bin 0 -> 92 bytes .../pokemon/footprints/metapod_footprint.png | Bin 0 -> 71 bytes graphics/pokemon/footprints/mew_footprint.png | Bin 0 -> 88 bytes .../pokemon/footprints/mewtwo_footprint.png | Bin 0 -> 100 bytes .../footprints/mightyena_footprint.png | Bin 0 -> 113 bytes .../pokemon/footprints/milotic_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/miltank_footprint.png | Bin 0 -> 86 bytes .../pokemon/footprints/minun_footprint.png | Bin 0 -> 86 bytes .../footprints/misdreavus_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/moltres_footprint.png | Bin 0 -> 101 bytes .../pokemon/footprints/mr_mime_footprint.png | Bin 0 -> 89 bytes .../pokemon/footprints/mudkip_footprint.png | Bin 0 -> 90 bytes graphics/pokemon/footprints/muk_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/murkrow_footprint.png | Bin 0 -> 94 bytes .../pokemon/footprints/natu_footprint.png | Bin 0 -> 84 bytes .../pokemon/footprints/nidoking_footprint.png | Bin 0 -> 94 bytes .../footprints/nidoqueen_footprint.png | Bin 0 -> 98 bytes .../footprints/nidoran_f_footprint.png | Bin 0 -> 87 bytes .../footprints/nidoran_m_footprint.png | Bin 0 -> 89 bytes .../pokemon/footprints/nidorina_footprint.png | Bin 0 -> 94 bytes .../pokemon/footprints/nidorino_footprint.png | Bin 0 -> 100 bytes .../pokemon/footprints/nincada_footprint.png | Bin 0 -> 92 bytes .../footprints/ninetales_footprint.png | Bin 0 -> 96 bytes .../pokemon/footprints/ninjask_footprint.png | Bin 0 -> 91 bytes .../pokemon/footprints/noctowl_footprint.png | Bin 0 -> 101 bytes .../pokemon/footprints/nosepass_footprint.png | Bin 0 -> 96 bytes .../pokemon/footprints/numel_footprint.png | Bin 0 -> 87 bytes .../pokemon/footprints/nuzleaf_footprint.png | Bin 0 -> 101 bytes .../footprints/octillery_footprint.png | Bin 0 -> 101 bytes .../pokemon/footprints/oddish_footprint.png | Bin 0 -> 81 bytes .../pokemon/footprints/omanyte_footprint.png | Bin 0 -> 80 bytes .../pokemon/footprints/omastar_footprint.png | Bin 0 -> 85 bytes .../pokemon/footprints/onix_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/paras_footprint.png | Bin 0 -> 83 bytes .../pokemon/footprints/parasect_footprint.png | Bin 0 -> 85 bytes .../pokemon/footprints/pelipper_footprint.png | Bin 0 -> 102 bytes .../pokemon/footprints/persian_footprint.png | Bin 0 -> 98 bytes .../pokemon/footprints/phanpy_footprint.png | Bin 0 -> 85 bytes .../pokemon/footprints/pichu_footprint.png | Bin 0 -> 85 bytes .../pokemon/footprints/pidgeot_footprint.png | Bin 0 -> 100 bytes .../footprints/pidgeotto_footprint.png | Bin 0 -> 93 bytes .../pokemon/footprints/pidgey_footprint.png | Bin 0 -> 94 bytes .../pokemon/footprints/pikachu_footprint.png | Bin 0 -> 84 bytes .../footprints/piloswine_footprint.png | Bin 0 -> 94 bytes .../pokemon/footprints/pineco_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/pinsir_footprint.png | Bin 0 -> 93 bytes .../pokemon/footprints/plusle_footprint.png | Bin 0 -> 86 bytes .../pokemon/footprints/politoed_footprint.png | Bin 0 -> 95 bytes .../pokemon/footprints/poliwag_footprint.png | Bin 0 -> 86 bytes .../footprints/poliwhirl_footprint.png | Bin 0 -> 90 bytes .../footprints/poliwrath_footprint.png | Bin 0 -> 92 bytes .../pokemon/footprints/ponyta_footprint.png | Bin 0 -> 90 bytes .../footprints/poochyena_footprint.png | Bin 0 -> 107 bytes .../pokemon/footprints/porygon2_footprint.png | Bin 0 -> 87 bytes .../pokemon/footprints/porygon_footprint.png | Bin 0 -> 88 bytes .../pokemon/footprints/primeape_footprint.png | Bin 0 -> 99 bytes .../pokemon/footprints/psyduck_footprint.png | Bin 0 -> 95 bytes .../pokemon/footprints/pupitar_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/quagsire_footprint.png | Bin 0 -> 88 bytes .../footprints/question_mark_footprint.png | Bin 0 -> 110 bytes .../pokemon/footprints/quilava_footprint.png | Bin 0 -> 85 bytes .../pokemon/footprints/qwilfish_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/raichu_footprint.png | Bin 0 -> 87 bytes .../pokemon/footprints/raikou_footprint.png | Bin 0 -> 95 bytes .../pokemon/footprints/ralts_footprint.png | Bin 0 -> 76 bytes .../pokemon/footprints/rapidash_footprint.png | Bin 0 -> 94 bytes .../pokemon/footprints/raticate_footprint.png | Bin 0 -> 95 bytes .../pokemon/footprints/rattata_footprint.png | Bin 0 -> 88 bytes .../pokemon/footprints/rayquaza_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/regice_footprint.png | Bin 0 -> 76 bytes .../pokemon/footprints/regirock_footprint.png | Bin 0 -> 100 bytes .../footprints/registeel_footprint.png | Bin 0 -> 105 bytes .../footprints/relicanth_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/remoraid_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/rhydon_footprint.png | Bin 0 -> 97 bytes .../pokemon/footprints/rhyhorn_footprint.png | Bin 0 -> 85 bytes .../pokemon/footprints/roselia_footprint.png | Bin 0 -> 82 bytes .../pokemon/footprints/sableye_footprint.png | Bin 0 -> 84 bytes .../footprints/salamence_footprint.png | Bin 0 -> 102 bytes .../footprints/sandshrew_footprint.png | Bin 0 -> 91 bytes .../footprints/sandslash_footprint.png | Bin 0 -> 90 bytes .../pokemon/footprints/sceptile_footprint.png | Bin 0 -> 99 bytes .../pokemon/footprints/scizor_footprint.png | Bin 0 -> 87 bytes .../pokemon/footprints/scyther_footprint.png | Bin 0 -> 99 bytes .../pokemon/footprints/seadra_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/seaking_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/sealeo_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/seedot_footprint.png | Bin 0 -> 90 bytes .../pokemon/footprints/seel_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/sentret_footprint.png | Bin 0 -> 85 bytes .../pokemon/footprints/seviper_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/sharpedo_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/shedinja_footprint.png | Bin 0 -> 92 bytes .../pokemon/footprints/shelgon_footprint.png | Bin 0 -> 88 bytes .../pokemon/footprints/shellder_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/shiftry_footprint.png | Bin 0 -> 76 bytes .../footprints/shroomish_footprint.png | Bin 0 -> 89 bytes .../pokemon/footprints/shuckle_footprint.png | Bin 0 -> 86 bytes .../pokemon/footprints/shuppet_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/silcoon_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/skarmory_footprint.png | Bin 0 -> 101 bytes .../pokemon/footprints/skiploom_footprint.png | Bin 0 -> 87 bytes .../pokemon/footprints/skitty_footprint.png | Bin 0 -> 106 bytes .../pokemon/footprints/slaking_footprint.png | Bin 0 -> 114 bytes .../pokemon/footprints/slakoth_footprint.png | Bin 0 -> 97 bytes .../pokemon/footprints/slowbro_footprint.png | Bin 0 -> 90 bytes .../pokemon/footprints/slowking_footprint.png | Bin 0 -> 84 bytes .../pokemon/footprints/slowpoke_footprint.png | Bin 0 -> 85 bytes .../pokemon/footprints/slugma_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/smeargle_footprint.png | Bin 0 -> 94 bytes .../pokemon/footprints/smoochum_footprint.png | Bin 0 -> 83 bytes .../pokemon/footprints/sneasel_footprint.png | Bin 0 -> 93 bytes .../pokemon/footprints/snorlax_footprint.png | Bin 0 -> 102 bytes .../pokemon/footprints/snorunt_footprint.png | Bin 0 -> 91 bytes .../pokemon/footprints/snubbull_footprint.png | Bin 0 -> 89 bytes .../pokemon/footprints/solrock_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/spearow_footprint.png | Bin 0 -> 94 bytes .../pokemon/footprints/spheal_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/spinarak_footprint.png | Bin 0 -> 76 bytes .../pokemon/footprints/spinda_footprint.png | Bin 0 -> 94 bytes .../pokemon/footprints/spoink_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/squirtle_footprint.png | Bin 0 -> 89 bytes .../pokemon/footprints/stantler_footprint.png | Bin 0 -> 86 bytes .../pokemon/footprints/starmie_footprint.png | Bin 0 -> 81 bytes .../pokemon/footprints/staryu_footprint.png | Bin 0 -> 81 bytes .../pokemon/footprints/steelix_footprint.png | Bin 0 -> 71 bytes .../footprints/sudowoodo_footprint.png | Bin 0 -> 87 bytes .../pokemon/footprints/suicune_footprint.png | Bin 0 -> 84 bytes .../pokemon/footprints/sunflora_footprint.png | Bin 0 -> 89 bytes .../pokemon/footprints/sunkern_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/surskit_footprint.png | Bin 0 -> 87 bytes .../pokemon/footprints/swablu_footprint.png | Bin 0 -> 82 bytes .../pokemon/footprints/swalot_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/swampert_footprint.png | Bin 0 -> 103 bytes .../pokemon/footprints/swellow_footprint.png | Bin 0 -> 107 bytes .../pokemon/footprints/swinub_footprint.png | Bin 0 -> 81 bytes .../pokemon/footprints/taillow_footprint.png | Bin 0 -> 97 bytes .../pokemon/footprints/tangela_footprint.png | Bin 0 -> 97 bytes .../pokemon/footprints/tauros_footprint.png | Bin 0 -> 91 bytes .../footprints/teddiursa_footprint.png | Bin 0 -> 91 bytes .../footprints/tentacool_footprint.png | Bin 0 -> 71 bytes .../footprints/tentacruel_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/togepi_footprint.png | Bin 0 -> 90 bytes .../pokemon/footprints/togetic_footprint.png | Bin 0 -> 90 bytes .../pokemon/footprints/torchic_footprint.png | Bin 0 -> 103 bytes .../pokemon/footprints/torkoal_footprint.png | Bin 0 -> 104 bytes .../pokemon/footprints/totodile_footprint.png | Bin 0 -> 88 bytes .../pokemon/footprints/trapinch_footprint.png | Bin 0 -> 95 bytes .../pokemon/footprints/treecko_footprint.png | Bin 0 -> 96 bytes .../pokemon/footprints/tropius_footprint.png | Bin 0 -> 109 bytes .../footprints/typhlosion_footprint.png | Bin 0 -> 88 bytes .../footprints/tyranitar_footprint.png | Bin 0 -> 97 bytes .../pokemon/footprints/tyrogue_footprint.png | Bin 0 -> 81 bytes .../pokemon/footprints/umbreon_footprint.png | Bin 0 -> 81 bytes .../pokemon/footprints/unown_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/ursaring_footprint.png | Bin 0 -> 99 bytes .../pokemon/footprints/vaporeon_footprint.png | Bin 0 -> 94 bytes .../pokemon/footprints/venomoth_footprint.png | Bin 0 -> 76 bytes .../pokemon/footprints/venonat_footprint.png | Bin 0 -> 89 bytes .../pokemon/footprints/venusaur_footprint.png | Bin 0 -> 96 bytes .../pokemon/footprints/vibrava_footprint.png | Bin 0 -> 86 bytes .../footprints/victreebel_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/vigoroth_footprint.png | Bin 0 -> 110 bytes .../footprints/vileplume_footprint.png | Bin 0 -> 89 bytes .../pokemon/footprints/volbeat_footprint.png | Bin 0 -> 84 bytes .../pokemon/footprints/voltorb_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/vulpix_footprint.png | Bin 0 -> 95 bytes .../pokemon/footprints/wailmer_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/wailord_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/walrein_footprint.png | Bin 0 -> 71 bytes .../footprints/wartortle_footprint.png | Bin 0 -> 93 bytes .../pokemon/footprints/weedle_footprint.png | Bin 0 -> 81 bytes .../footprints/weepinbell_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/weezing_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/whiscash_footprint.png | Bin 0 -> 71 bytes .../pokemon/footprints/whismur_footprint.png | Bin 0 -> 114 bytes .../footprints/wigglytuff_footprint.png | Bin 0 -> 89 bytes .../pokemon/footprints/wingull_footprint.png | Bin 0 -> 92 bytes .../footprints/wobbuffet_footprint.png | Bin 0 -> 81 bytes .../pokemon/footprints/wooper_footprint.png | Bin 0 -> 81 bytes .../pokemon/footprints/wurmple_footprint.png | Bin 0 -> 81 bytes .../pokemon/footprints/wynaut_footprint.png | Bin 0 -> 88 bytes .../pokemon/footprints/xatu_footprint.png | Bin 0 -> 88 bytes .../pokemon/footprints/yanma_footprint.png | Bin 0 -> 84 bytes .../pokemon/footprints/zangoose_footprint.png | Bin 0 -> 103 bytes .../pokemon/footprints/zapdos_footprint.png | Bin 0 -> 104 bytes .../footprints/zigzagoon_footprint.png | Bin 0 -> 100 bytes .../pokemon/footprints/zubat_footprint.png | Bin 0 -> 71 bytes .../front_pics/abra_still_front_pic.png | Bin 0 -> 575 bytes .../front_pics/absol_still_front_pic.png | Bin 0 -> 890 bytes .../front_pics/aerodactyl_still_front_pic.png | Bin 0 -> 917 bytes .../front_pics/aggron_still_front_pic.png | Bin 0 -> 1158 bytes .../front_pics/aipom_still_front_pic.png | Bin 0 -> 639 bytes .../front_pics/alakazam_still_front_pic.png | Bin 0 -> 1015 bytes .../front_pics/altaria_still_front_pic.png | Bin 0 -> 825 bytes .../front_pics/ampharos_still_front_pic.png | Bin 0 -> 721 bytes .../front_pics/anorith_still_front_pic.png | Bin 0 -> 691 bytes .../front_pics/arbok_still_front_pic.png | Bin 0 -> 899 bytes .../front_pics/arcanine_still_front_pic.png | Bin 0 -> 1061 bytes .../front_pics/ariados_still_front_pic.png | Bin 0 -> 850 bytes .../front_pics/armaldo_still_front_pic.png | Bin 0 -> 1165 bytes .../front_pics/aron_still_front_pic.png | Bin 0 -> 384 bytes .../front_pics/articuno_still_front_pic.png | Bin 0 -> 1072 bytes .../front_pics/azumarill_still_front_pic.png | Bin 0 -> 631 bytes .../front_pics/azurill_still_front_pic.png | Bin 0 -> 589 bytes .../front_pics/bagon_still_front_pic.png | Bin 0 -> 512 bytes .../front_pics/baltoy_still_front_pic.png | Bin 0 -> 416 bytes .../front_pics/banette_still_front_pic.png | Bin 0 -> 546 bytes .../front_pics/barboach_still_front_pic.png | Bin 0 -> 565 bytes .../front_pics/bayleef_still_front_pic.png | Bin 0 -> 815 bytes .../front_pics/beautifly_still_front_pic.png | Bin 0 -> 699 bytes .../front_pics/beedrill_still_front_pic.png | Bin 0 -> 913 bytes .../front_pics/beldum_still_front_pic.png | Bin 0 -> 465 bytes .../front_pics/bellossom_still_front_pic.png | Bin 0 -> 520 bytes .../front_pics/bellsprout_still_front_pic.png | Bin 0 -> 547 bytes .../front_pics/blastoise_still_front_pic.png | Bin 0 -> 1076 bytes .../front_pics/blaziken_still_front_pic.png | Bin 0 -> 1010 bytes .../front_pics/blissey_still_front_pic.png | Bin 0 -> 827 bytes .../front_pics/breloom_still_front_pic.png | Bin 0 -> 849 bytes .../front_pics/bulbasaur_still_front_pic.png | Bin 0 -> 558 bytes .../front_pics/butterfree_still_front_pic.png | Bin 0 -> 748 bytes .../front_pics/cacnea_still_front_pic.png | Bin 0 -> 662 bytes .../front_pics/cacturne_still_front_pic.png | Bin 0 -> 917 bytes .../front_pics/camerupt_still_front_pic.png | Bin 0 -> 839 bytes .../front_pics/carvanha_still_front_pic.png | Bin 0 -> 692 bytes .../front_pics/cascoon_still_front_pic.png | Bin 0 -> 493 bytes .../castform_normal_form_still_front_pic.png | Bin 0 -> 382 bytes .../castform_rainy_form_still_front_pic.png | Bin 0 -> 549 bytes .../castform_snowy_form_still_front_pic.png | Bin 0 -> 688 bytes .../castform_sunny_form_still_front_pic.png | Bin 0 -> 656 bytes .../front_pics/caterpie_still_front_pic.png | Bin 0 -> 501 bytes .../front_pics/celebi_still_front_pic.png | Bin 0 -> 514 bytes .../front_pics/chansey_still_front_pic.png | Bin 0 -> 669 bytes .../front_pics/charizard_still_front_pic.png | Bin 0 -> 1090 bytes .../front_pics/charmander_still_front_pic.png | Bin 0 -> 566 bytes .../front_pics/charmeleon_still_front_pic.png | Bin 0 -> 781 bytes .../front_pics/chikorita_still_front_pic.png | Bin 0 -> 507 bytes .../front_pics/chimecho_still_front_pic.png | Bin 0 -> 458 bytes .../front_pics/chinchou_still_front_pic.png | Bin 0 -> 607 bytes .../circled_question_mark_still_front_pic.png | Bin 0 -> 397 bytes .../front_pics/clamperl_still_front_pic.png | Bin 0 -> 611 bytes .../front_pics/claydol_still_front_pic.png | Bin 0 -> 771 bytes .../front_pics/clefable_still_front_pic.png | Bin 0 -> 674 bytes .../front_pics/clefairy_still_front_pic.png | Bin 0 -> 540 bytes .../front_pics/cleffa_still_front_pic.png | Bin 0 -> 381 bytes .../front_pics/cloyster_still_front_pic.png | Bin 0 -> 875 bytes .../front_pics/combusken_still_front_pic.png | Bin 0 -> 838 bytes .../front_pics/corphish_still_front_pic.png | Bin 0 -> 704 bytes .../front_pics/corsola_still_front_pic.png | Bin 0 -> 601 bytes .../front_pics/cradily_still_front_pic.png | Bin 0 -> 887 bytes .../front_pics/crawdaunt_still_front_pic.png | Bin 0 -> 1006 bytes .../front_pics/crobat_still_front_pic.png | Bin 0 -> 780 bytes .../front_pics/croconaw_still_front_pic.png | Bin 0 -> 730 bytes .../front_pics/cubone_still_front_pic.png | Bin 0 -> 572 bytes .../front_pics/cyndaquil_still_front_pic.png | Bin 0 -> 546 bytes .../front_pics/delcatty_still_front_pic.png | Bin 0 -> 765 bytes .../front_pics/delibird_still_front_pic.png | Bin 0 -> 733 bytes .../front_pics/deoxys_still_front_pic.png | Bin 0 -> 1579 bytes .../front_pics/dewgong_still_front_pic.png | Bin 0 -> 763 bytes .../front_pics/diglett_still_front_pic.png | Bin 0 -> 424 bytes .../front_pics/ditto_still_front_pic.png | Bin 0 -> 377 bytes .../front_pics/dodrio_still_front_pic.png | Bin 0 -> 910 bytes .../front_pics/doduo_still_front_pic.png | Bin 0 -> 619 bytes .../front_pics/donphan_still_front_pic.png | Bin 0 -> 923 bytes .../double_question_mark_still_front_pic.png | Bin 0 -> 306 bytes .../front_pics/dragonair_still_front_pic.png | Bin 0 -> 758 bytes .../front_pics/dragonite_still_front_pic.png | Bin 0 -> 1172 bytes .../front_pics/dratini_still_front_pic.png | Bin 0 -> 568 bytes .../front_pics/drowzee_still_front_pic.png | Bin 0 -> 653 bytes .../front_pics/dugtrio_still_front_pic.png | Bin 0 -> 642 bytes .../front_pics/dunsparce_still_front_pic.png | Bin 0 -> 645 bytes .../front_pics/dusclops_still_front_pic.png | Bin 0 -> 741 bytes .../front_pics/duskull_still_front_pic.png | Bin 0 -> 616 bytes .../front_pics/dustox_still_front_pic.png | Bin 0 -> 724 bytes .../front_pics/eevee_still_front_pic.png | Bin 0 -> 597 bytes .../front_pics/egg_still_front_pic.png | Bin 0 -> 318 bytes .../front_pics/ekans_still_front_pic.png | Bin 0 -> 566 bytes .../front_pics/electabuzz_still_front_pic.png | Bin 0 -> 882 bytes .../front_pics/electrike_still_front_pic.png | Bin 0 -> 511 bytes .../front_pics/electrode_still_front_pic.png | Bin 0 -> 490 bytes .../front_pics/elekid_still_front_pic.png | Bin 0 -> 646 bytes .../front_pics/entei_still_front_pic.png | Bin 0 -> 1284 bytes .../front_pics/espeon_still_front_pic.png | Bin 0 -> 659 bytes .../front_pics/exeggcute_still_front_pic.png | Bin 0 -> 711 bytes .../front_pics/exeggutor_still_front_pic.png | Bin 0 -> 930 bytes .../front_pics/exploud_still_front_pic.png | Bin 0 -> 1157 bytes .../front_pics/farfetch_d_still_front_pic.png | Bin 0 -> 701 bytes .../front_pics/fearow_still_front_pic.png | Bin 0 -> 1022 bytes .../front_pics/feebas_still_front_pic.png | Bin 0 -> 539 bytes .../front_pics/feraligatr_still_front_pic.png | Bin 0 -> 1122 bytes .../front_pics/flaaffy_still_front_pic.png | Bin 0 -> 652 bytes .../front_pics/flareon_still_front_pic.png | Bin 0 -> 717 bytes .../front_pics/flygon_still_front_pic.png | Bin 0 -> 1076 bytes .../front_pics/forretress_still_front_pic.png | Bin 0 -> 835 bytes .../front_pics/furret_still_front_pic.png | Bin 0 -> 659 bytes .../front_pics/gardevoir_still_front_pic.png | Bin 0 -> 737 bytes .../front_pics/gastly_still_front_pic.png | Bin 0 -> 772 bytes .../front_pics/gengar_still_front_pic.png | Bin 0 -> 704 bytes .../front_pics/geodude_still_front_pic.png | Bin 0 -> 486 bytes .../front_pics/girafarig_still_front_pic.png | Bin 0 -> 871 bytes .../front_pics/glalie_still_front_pic.png | Bin 0 -> 788 bytes .../front_pics/gligar_still_front_pic.png | Bin 0 -> 914 bytes .../front_pics/gloom_still_front_pic.png | Bin 0 -> 727 bytes .../front_pics/golbat_still_front_pic.png | Bin 0 -> 764 bytes .../front_pics/goldeen_still_front_pic.png | Bin 0 -> 725 bytes .../front_pics/golduck_still_front_pic.png | Bin 0 -> 799 bytes .../front_pics/golem_still_front_pic.png | Bin 0 -> 876 bytes .../front_pics/gorebyss_still_front_pic.png | Bin 0 -> 659 bytes .../front_pics/granbull_still_front_pic.png | Bin 0 -> 720 bytes .../front_pics/graveler_still_front_pic.png | Bin 0 -> 767 bytes .../front_pics/grimer_still_front_pic.png | Bin 0 -> 626 bytes .../front_pics/groudon_still_front_pic.png | Bin 0 -> 1247 bytes .../front_pics/grovyle_still_front_pic.png | Bin 0 -> 970 bytes .../front_pics/growlithe_still_front_pic.png | Bin 0 -> 657 bytes .../front_pics/grumpig_still_front_pic.png | Bin 0 -> 831 bytes .../front_pics/gulpin_still_front_pic.png | Bin 0 -> 428 bytes .../front_pics/gyarados_still_front_pic.png | Bin 0 -> 1229 bytes .../front_pics/hariyama_still_front_pic.png | Bin 0 -> 1006 bytes .../front_pics/haunter_still_front_pic.png | Bin 0 -> 806 bytes .../front_pics/heracross_still_front_pic.png | Bin 0 -> 811 bytes .../front_pics/hitmonchan_still_front_pic.png | Bin 0 -> 693 bytes .../front_pics/hitmonlee_still_front_pic.png | Bin 0 -> 739 bytes .../front_pics/hitmontop_still_front_pic.png | Bin 0 -> 772 bytes .../front_pics/ho_oh_still_front_pic.png | Bin 0 -> 1332 bytes .../front_pics/hoothoot_still_front_pic.png | Bin 0 -> 525 bytes .../front_pics/hoppip_still_front_pic.png | Bin 0 -> 551 bytes .../front_pics/horsea_still_front_pic.png | Bin 0 -> 510 bytes .../front_pics/houndoom_still_front_pic.png | Bin 0 -> 853 bytes .../front_pics/houndour_still_front_pic.png | Bin 0 -> 558 bytes .../front_pics/huntail_still_front_pic.png | Bin 0 -> 833 bytes .../front_pics/hypno_still_front_pic.png | Bin 0 -> 862 bytes .../front_pics/igglybuff_still_front_pic.png | Bin 0 -> 376 bytes .../front_pics/illumise_still_front_pic.png | Bin 0 -> 729 bytes .../front_pics/ivysaur_still_front_pic.png | Bin 0 -> 689 bytes .../front_pics/jigglypuff_still_front_pic.png | Bin 0 -> 496 bytes .../front_pics/jirachi_still_front_pic.png | Bin 0 -> 637 bytes .../front_pics/jolteon_still_front_pic.png | Bin 0 -> 706 bytes .../front_pics/jumpluff_still_front_pic.png | Bin 0 -> 734 bytes .../front_pics/jynx_still_front_pic.png | Bin 0 -> 832 bytes .../front_pics/kabuto_still_front_pic.png | Bin 0 -> 440 bytes .../front_pics/kabutops_still_front_pic.png | Bin 0 -> 844 bytes .../front_pics/kadabra_still_front_pic.png | Bin 0 -> 1016 bytes .../front_pics/kakuna_still_front_pic.png | Bin 0 -> 442 bytes .../front_pics/kangaskhan_still_front_pic.png | Bin 0 -> 981 bytes .../front_pics/kecleon_still_front_pic.png | Bin 0 -> 762 bytes .../front_pics/kingdra_still_front_pic.png | Bin 0 -> 858 bytes .../front_pics/kingler_still_front_pic.png | Bin 0 -> 936 bytes .../front_pics/kirlia_still_front_pic.png | Bin 0 -> 618 bytes .../front_pics/koffing_still_front_pic.png | Bin 0 -> 634 bytes .../front_pics/krabby_still_front_pic.png | Bin 0 -> 633 bytes .../front_pics/kyogre_still_front_pic.png | Bin 0 -> 965 bytes .../front_pics/lairon_still_front_pic.png | Bin 0 -> 814 bytes .../front_pics/lanturn_still_front_pic.png | Bin 0 -> 738 bytes .../front_pics/lapras_still_front_pic.png | Bin 0 -> 811 bytes .../front_pics/larvitar_still_front_pic.png | Bin 0 -> 480 bytes .../front_pics/latias_still_front_pic.png | Bin 0 -> 867 bytes .../front_pics/latios_still_front_pic.png | Bin 0 -> 959 bytes .../front_pics/ledian_still_front_pic.png | Bin 0 -> 766 bytes .../front_pics/ledyba_still_front_pic.png | Bin 0 -> 637 bytes .../front_pics/lickitung_still_front_pic.png | Bin 0 -> 821 bytes .../front_pics/lileep_still_front_pic.png | Bin 0 -> 692 bytes .../front_pics/linoone_still_front_pic.png | Bin 0 -> 703 bytes .../front_pics/lombre_still_front_pic.png | Bin 0 -> 647 bytes .../front_pics/lotad_still_front_pic.png | Bin 0 -> 492 bytes .../front_pics/loudred_still_front_pic.png | Bin 0 -> 936 bytes .../front_pics/ludicolo_still_front_pic.png | Bin 0 -> 1040 bytes .../front_pics/lugia_still_front_pic.png | Bin 0 -> 1030 bytes .../front_pics/lunatone_still_front_pic.png | Bin 0 -> 660 bytes .../front_pics/luvdisc_still_front_pic.png | Bin 0 -> 328 bytes .../front_pics/machamp_still_front_pic.png | Bin 0 -> 1046 bytes .../front_pics/machoke_still_front_pic.png | Bin 0 -> 796 bytes .../front_pics/machop_still_front_pic.png | Bin 0 -> 516 bytes .../front_pics/magby_still_front_pic.png | Bin 0 -> 506 bytes .../front_pics/magcargo_still_front_pic.png | Bin 0 -> 708 bytes .../front_pics/magikarp_still_front_pic.png | Bin 0 -> 753 bytes .../front_pics/magmar_still_front_pic.png | Bin 0 -> 921 bytes .../front_pics/magnemite_still_front_pic.png | Bin 0 -> 390 bytes .../front_pics/magneton_still_front_pic.png | Bin 0 -> 707 bytes .../front_pics/makuhita_still_front_pic.png | Bin 0 -> 637 bytes .../front_pics/manectric_still_front_pic.png | Bin 0 -> 685 bytes .../front_pics/mankey_still_front_pic.png | Bin 0 -> 646 bytes .../front_pics/mantine_still_front_pic.png | Bin 0 -> 983 bytes .../front_pics/mareep_still_front_pic.png | Bin 0 -> 571 bytes .../front_pics/marill_still_front_pic.png | Bin 0 -> 563 bytes .../front_pics/marowak_still_front_pic.png | Bin 0 -> 753 bytes .../front_pics/marshtomp_still_front_pic.png | Bin 0 -> 736 bytes .../front_pics/masquerain_still_front_pic.png | Bin 0 -> 782 bytes .../front_pics/mawile_still_front_pic.png | Bin 0 -> 774 bytes .../front_pics/medicham_still_front_pic.png | Bin 0 -> 711 bytes .../front_pics/meditite_still_front_pic.png | Bin 0 -> 573 bytes .../front_pics/meganium_still_front_pic.png | Bin 0 -> 1117 bytes .../front_pics/meowth_still_front_pic.png | Bin 0 -> 637 bytes .../front_pics/metagross_still_front_pic.png | Bin 0 -> 911 bytes .../front_pics/metang_still_front_pic.png | Bin 0 -> 899 bytes .../front_pics/metapod_still_front_pic.png | Bin 0 -> 406 bytes .../front_pics/mew_still_front_pic.png | Bin 0 -> 577 bytes .../front_pics/mewtwo_still_front_pic.png | Bin 0 -> 875 bytes .../front_pics/mightyena_still_front_pic.png | Bin 0 -> 856 bytes .../front_pics/milotic_still_front_pic.png | Bin 0 -> 966 bytes .../front_pics/miltank_still_front_pic.png | Bin 0 -> 791 bytes .../front_pics/minun_still_front_pic.png | Bin 0 -> 505 bytes .../front_pics/misdreavus_still_front_pic.png | Bin 0 -> 590 bytes .../front_pics/moltres_still_front_pic.png | Bin 0 -> 1014 bytes .../front_pics/mr_mime_still_front_pic.png | Bin 0 -> 821 bytes .../front_pics/mudkip_still_front_pic.png | Bin 0 -> 572 bytes .../front_pics/muk_still_front_pic.png | Bin 0 -> 710 bytes .../front_pics/murkrow_still_front_pic.png | Bin 0 -> 601 bytes .../front_pics/natu_still_front_pic.png | Bin 0 -> 375 bytes .../front_pics/nidoking_still_front_pic.png | Bin 0 -> 1084 bytes .../front_pics/nidoqueen_still_front_pic.png | Bin 0 -> 893 bytes .../front_pics/nidoran_f_still_front_pic.png | Bin 0 -> 480 bytes .../front_pics/nidoran_m_still_front_pic.png | Bin 0 -> 505 bytes .../front_pics/nidorina_still_front_pic.png | Bin 0 -> 632 bytes .../front_pics/nidorino_still_front_pic.png | Bin 0 -> 716 bytes .../front_pics/nincada_still_front_pic.png | Bin 0 -> 578 bytes .../front_pics/ninetales_still_front_pic.png | Bin 0 -> 885 bytes .../front_pics/ninjask_still_front_pic.png | Bin 0 -> 740 bytes .../front_pics/noctowl_still_front_pic.png | Bin 0 -> 700 bytes .../front_pics/nosepass_still_front_pic.png | Bin 0 -> 565 bytes .../front_pics/numel_still_front_pic.png | Bin 0 -> 574 bytes .../front_pics/nuzleaf_still_front_pic.png | Bin 0 -> 624 bytes .../front_pics/octillery_still_front_pic.png | Bin 0 -> 653 bytes .../front_pics/oddish_still_front_pic.png | Bin 0 -> 451 bytes .../front_pics/omanyte_still_front_pic.png | Bin 0 -> 514 bytes .../front_pics/omastar_still_front_pic.png | Bin 0 -> 783 bytes .../front_pics/onix_still_front_pic.png | Bin 0 -> 929 bytes .../front_pics/paras_still_front_pic.png | Bin 0 -> 505 bytes .../front_pics/parasect_still_front_pic.png | Bin 0 -> 721 bytes .../front_pics/pelipper_still_front_pic.png | Bin 0 -> 771 bytes .../front_pics/persian_still_front_pic.png | Bin 0 -> 710 bytes .../front_pics/phanpy_still_front_pic.png | Bin 0 -> 462 bytes .../front_pics/pichu_still_front_pic.png | Bin 0 -> 447 bytes .../front_pics/pidgeot_still_front_pic.png | Bin 0 -> 1085 bytes .../front_pics/pidgeotto_still_front_pic.png | Bin 0 -> 783 bytes .../front_pics/pidgey_still_front_pic.png | Bin 0 -> 515 bytes .../front_pics/pikachu_still_front_pic.png | Bin 0 -> 600 bytes .../front_pics/piloswine_still_front_pic.png | Bin 0 -> 643 bytes .../front_pics/pineco_still_front_pic.png | Bin 0 -> 646 bytes .../front_pics/pinsir_still_front_pic.png | Bin 0 -> 867 bytes .../front_pics/plusle_still_front_pic.png | Bin 0 -> 524 bytes .../front_pics/politoed_still_front_pic.png | Bin 0 -> 706 bytes .../front_pics/poliwag_still_front_pic.png | Bin 0 -> 526 bytes .../front_pics/poliwhirl_still_front_pic.png | Bin 0 -> 725 bytes .../front_pics/poliwrath_still_front_pic.png | Bin 0 -> 777 bytes .../front_pics/ponyta_still_front_pic.png | Bin 0 -> 752 bytes .../front_pics/poochyena_still_front_pic.png | Bin 0 -> 570 bytes .../front_pics/porygon2_still_front_pic.png | Bin 0 -> 541 bytes .../front_pics/porygon_still_front_pic.png | Bin 0 -> 559 bytes .../front_pics/primeape_still_front_pic.png | Bin 0 -> 777 bytes .../front_pics/psyduck_still_front_pic.png | Bin 0 -> 589 bytes .../front_pics/pupitar_still_front_pic.png | Bin 0 -> 594 bytes .../front_pics/quagsire_still_front_pic.png | Bin 0 -> 706 bytes .../front_pics/quilava_still_front_pic.png | Bin 0 -> 671 bytes .../front_pics/qwilfish_still_front_pic.png | Bin 0 -> 566 bytes .../front_pics/raichu_still_front_pic.png | Bin 0 -> 877 bytes .../front_pics/raikou_still_front_pic.png | Bin 0 -> 1155 bytes .../front_pics/ralts_still_front_pic.png | Bin 0 -> 433 bytes .../front_pics/rapidash_still_front_pic.png | Bin 0 -> 986 bytes .../front_pics/raticate_still_front_pic.png | Bin 0 -> 754 bytes .../front_pics/rattata_still_front_pic.png | Bin 0 -> 488 bytes .../front_pics/rayquaza_still_front_pic.png | Bin 0 -> 1059 bytes .../front_pics/regice_still_front_pic.png | Bin 0 -> 883 bytes .../front_pics/regirock_still_front_pic.png | Bin 0 -> 965 bytes .../front_pics/registeel_still_front_pic.png | Bin 0 -> 948 bytes .../front_pics/relicanth_still_front_pic.png | Bin 0 -> 759 bytes .../front_pics/remoraid_still_front_pic.png | Bin 0 -> 483 bytes .../front_pics/rhydon_still_front_pic.png | Bin 0 -> 1039 bytes .../front_pics/rhyhorn_still_front_pic.png | Bin 0 -> 789 bytes .../front_pics/roselia_still_front_pic.png | Bin 0 -> 745 bytes .../front_pics/sableye_still_front_pic.png | Bin 0 -> 619 bytes .../front_pics/salamence_still_front_pic.png | Bin 0 -> 918 bytes .../front_pics/sandshrew_still_front_pic.png | Bin 0 -> 600 bytes .../front_pics/sandslash_still_front_pic.png | Bin 0 -> 884 bytes .../front_pics/sceptile_still_front_pic.png | Bin 0 -> 1047 bytes .../front_pics/scizor_still_front_pic.png | Bin 0 -> 998 bytes .../front_pics/scyther_still_front_pic.png | Bin 0 -> 896 bytes .../front_pics/seadra_still_front_pic.png | Bin 0 -> 734 bytes .../front_pics/seaking_still_front_pic.png | Bin 0 -> 944 bytes .../front_pics/sealeo_still_front_pic.png | Bin 0 -> 758 bytes .../front_pics/seedot_still_front_pic.png | Bin 0 -> 502 bytes .../front_pics/seel_still_front_pic.png | Bin 0 -> 644 bytes .../front_pics/sentret_still_front_pic.png | Bin 0 -> 610 bytes .../front_pics/seviper_still_front_pic.png | Bin 0 -> 886 bytes .../front_pics/sharpedo_still_front_pic.png | Bin 0 -> 748 bytes .../front_pics/shedinja_still_front_pic.png | Bin 0 -> 654 bytes .../front_pics/shelgon_still_front_pic.png | Bin 0 -> 631 bytes .../front_pics/shellder_still_front_pic.png | Bin 0 -> 494 bytes .../front_pics/shiftry_still_front_pic.png | Bin 0 -> 1023 bytes .../front_pics/shroomish_still_front_pic.png | Bin 0 -> 493 bytes .../front_pics/shuckle_still_front_pic.png | Bin 0 -> 587 bytes .../front_pics/shuppet_still_front_pic.png | Bin 0 -> 435 bytes .../front_pics/silcoon_still_front_pic.png | Bin 0 -> 520 bytes .../front_pics/skarmory_still_front_pic.png | Bin 0 -> 992 bytes .../front_pics/skiploom_still_front_pic.png | Bin 0 -> 503 bytes .../front_pics/skitty_still_front_pic.png | Bin 0 -> 639 bytes .../front_pics/slaking_still_front_pic.png | Bin 0 -> 1034 bytes .../front_pics/slakoth_still_front_pic.png | Bin 0 -> 602 bytes .../front_pics/slowbro_still_front_pic.png | Bin 0 -> 982 bytes .../front_pics/slowking_still_front_pic.png | Bin 0 -> 792 bytes .../front_pics/slowpoke_still_front_pic.png | Bin 0 -> 578 bytes .../front_pics/slugma_still_front_pic.png | Bin 0 -> 493 bytes .../front_pics/smeargle_still_front_pic.png | Bin 0 -> 758 bytes .../front_pics/smoochum_still_front_pic.png | Bin 0 -> 495 bytes .../front_pics/sneasel_still_front_pic.png | Bin 0 -> 698 bytes .../front_pics/snorlax_still_front_pic.png | Bin 0 -> 814 bytes .../front_pics/snorunt_still_front_pic.png | Bin 0 -> 574 bytes .../front_pics/snubbull_still_front_pic.png | Bin 0 -> 606 bytes .../front_pics/solrock_still_front_pic.png | Bin 0 -> 945 bytes .../front_pics/spearow_still_front_pic.png | Bin 0 -> 615 bytes .../front_pics/spheal_still_front_pic.png | Bin 0 -> 507 bytes .../front_pics/spinarak_still_front_pic.png | Bin 0 -> 511 bytes .../front_pics/spinda_still_front_pic.png | Bin 0 -> 623 bytes .../front_pics/spoink_still_front_pic.png | Bin 0 -> 491 bytes .../front_pics/squirtle_still_front_pic.png | Bin 0 -> 543 bytes .../front_pics/stantler_still_front_pic.png | Bin 0 -> 881 bytes .../front_pics/starmie_still_front_pic.png | Bin 0 -> 780 bytes .../front_pics/staryu_still_front_pic.png | Bin 0 -> 566 bytes .../front_pics/steelix_still_front_pic.png | Bin 0 -> 943 bytes .../front_pics/sudowoodo_still_front_pic.png | Bin 0 -> 651 bytes .../front_pics/suicune_still_front_pic.png | Bin 0 -> 1179 bytes .../front_pics/sunflora_still_front_pic.png | Bin 0 -> 707 bytes .../front_pics/sunkern_still_front_pic.png | Bin 0 -> 448 bytes .../front_pics/surskit_still_front_pic.png | Bin 0 -> 417 bytes .../front_pics/swablu_still_front_pic.png | Bin 0 -> 586 bytes .../front_pics/swalot_still_front_pic.png | Bin 0 -> 677 bytes .../front_pics/swampert_still_front_pic.png | Bin 0 -> 1160 bytes .../front_pics/swellow_still_front_pic.png | Bin 0 -> 816 bytes .../front_pics/swinub_still_front_pic.png | Bin 0 -> 381 bytes .../front_pics/taillow_still_front_pic.png | Bin 0 -> 508 bytes .../front_pics/tangela_still_front_pic.png | Bin 0 -> 737 bytes .../front_pics/tauros_still_front_pic.png | Bin 0 -> 956 bytes .../front_pics/teddiursa_still_front_pic.png | Bin 0 -> 544 bytes .../front_pics/tentacool_still_front_pic.png | Bin 0 -> 571 bytes .../front_pics/tentacruel_still_front_pic.png | Bin 0 -> 1059 bytes .../front_pics/togepi_still_front_pic.png | Bin 0 -> 390 bytes .../front_pics/togetic_still_front_pic.png | Bin 0 -> 513 bytes .../front_pics/torchic_still_front_pic.png | Bin 0 -> 548 bytes .../front_pics/torkoal_still_front_pic.png | Bin 0 -> 977 bytes .../front_pics/totodile_still_front_pic.png | Bin 0 -> 533 bytes .../front_pics/trapinch_still_front_pic.png | Bin 0 -> 420 bytes .../front_pics/treecko_still_front_pic.png | Bin 0 -> 635 bytes .../front_pics/tropius_still_front_pic.png | Bin 0 -> 1172 bytes .../front_pics/typhlosion_still_front_pic.png | Bin 0 -> 896 bytes .../front_pics/tyranitar_still_front_pic.png | Bin 0 -> 1095 bytes .../front_pics/tyrogue_still_front_pic.png | Bin 0 -> 530 bytes .../front_pics/umbreon_still_front_pic.png | Bin 0 -> 650 bytes .../front_pics/unown_a_still_front_pic.png | Bin 0 -> 337 bytes .../front_pics/unown_b_still_front_pic.png | Bin 0 -> 355 bytes .../front_pics/unown_c_still_front_pic.png | Bin 0 -> 395 bytes .../front_pics/unown_d_still_front_pic.png | Bin 0 -> 352 bytes .../front_pics/unown_e_still_front_pic.png | Bin 0 -> 325 bytes ...unown_exclamation_mark_still_front_pic.png | Bin 0 -> 294 bytes .../front_pics/unown_f_still_front_pic.png | Bin 0 -> 364 bytes .../front_pics/unown_g_still_front_pic.png | Bin 0 -> 359 bytes .../front_pics/unown_h_still_front_pic.png | Bin 0 -> 424 bytes .../front_pics/unown_i_still_front_pic.png | Bin 0 -> 305 bytes .../front_pics/unown_j_still_front_pic.png | Bin 0 -> 334 bytes .../front_pics/unown_k_still_front_pic.png | Bin 0 -> 347 bytes .../front_pics/unown_l_still_front_pic.png | Bin 0 -> 315 bytes .../front_pics/unown_m_still_front_pic.png | Bin 0 -> 414 bytes .../front_pics/unown_n_still_front_pic.png | Bin 0 -> 379 bytes .../front_pics/unown_o_still_front_pic.png | Bin 0 -> 417 bytes .../front_pics/unown_p_still_front_pic.png | Bin 0 -> 312 bytes .../front_pics/unown_q_still_front_pic.png | Bin 0 -> 320 bytes .../unown_question_mark_still_front_pic.png | Bin 0 -> 332 bytes .../front_pics/unown_r_still_front_pic.png | Bin 0 -> 313 bytes .../front_pics/unown_s_still_front_pic.png | Bin 0 -> 363 bytes .../front_pics/unown_t_still_front_pic.png | Bin 0 -> 316 bytes .../front_pics/unown_u_still_front_pic.png | Bin 0 -> 391 bytes .../front_pics/unown_v_still_front_pic.png | Bin 0 -> 349 bytes .../front_pics/unown_w_still_front_pic.png | Bin 0 -> 355 bytes .../front_pics/unown_x_still_front_pic.png | Bin 0 -> 337 bytes .../front_pics/unown_y_still_front_pic.png | Bin 0 -> 347 bytes .../front_pics/unown_z_still_front_pic.png | Bin 0 -> 324 bytes .../front_pics/ursaring_still_front_pic.png | Bin 0 -> 894 bytes .../front_pics/vaporeon_still_front_pic.png | Bin 0 -> 802 bytes .../front_pics/venomoth_still_front_pic.png | Bin 0 -> 851 bytes .../front_pics/venonat_still_front_pic.png | Bin 0 -> 696 bytes .../front_pics/venusaur_still_front_pic.png | Bin 0 -> 1107 bytes .../front_pics/vibrava_still_front_pic.png | Bin 0 -> 708 bytes .../front_pics/victreebel_still_front_pic.png | Bin 0 -> 907 bytes .../front_pics/vigoroth_still_front_pic.png | Bin 0 -> 886 bytes .../front_pics/vileplume_still_front_pic.png | Bin 0 -> 694 bytes .../front_pics/volbeat_still_front_pic.png | Bin 0 -> 774 bytes .../front_pics/voltorb_still_front_pic.png | Bin 0 -> 407 bytes .../front_pics/vulpix_still_front_pic.png | Bin 0 -> 669 bytes .../front_pics/wailmer_still_front_pic.png | Bin 0 -> 596 bytes .../front_pics/wailord_still_front_pic.png | Bin 0 -> 766 bytes .../front_pics/walrein_still_front_pic.png | Bin 0 -> 997 bytes .../front_pics/wartortle_still_front_pic.png | Bin 0 -> 794 bytes .../front_pics/weedle_still_front_pic.png | Bin 0 -> 471 bytes .../front_pics/weepinbell_still_front_pic.png | Bin 0 -> 681 bytes .../front_pics/weezing_still_front_pic.png | Bin 0 -> 988 bytes .../front_pics/whiscash_still_front_pic.png | Bin 0 -> 752 bytes .../front_pics/whismur_still_front_pic.png | Bin 0 -> 527 bytes .../front_pics/wigglytuff_still_front_pic.png | Bin 0 -> 717 bytes .../front_pics/wingull_still_front_pic.png | Bin 0 -> 471 bytes .../front_pics/wobbuffet_still_front_pic.png | Bin 0 -> 683 bytes .../front_pics/wooper_still_front_pic.png | Bin 0 -> 464 bytes .../front_pics/wurmple_still_front_pic.png | Bin 0 -> 522 bytes .../front_pics/wynaut_still_front_pic.png | Bin 0 -> 532 bytes .../front_pics/xatu_still_front_pic.png | Bin 0 -> 597 bytes .../front_pics/yanma_still_front_pic.png | Bin 0 -> 747 bytes .../front_pics/zangoose_still_front_pic.png | Bin 0 -> 844 bytes .../front_pics/zapdos_still_front_pic.png | Bin 0 -> 904 bytes .../front_pics/zigzagoon_still_front_pic.png | Bin 0 -> 797 bytes .../front_pics/zubat_still_front_pic.png | Bin 0 -> 570 bytes graphics/pokemon/icon notes | 3 + .../pokemon/icon_palettes/icon_palette_0.pal | 19 + .../pokemon/icon_palettes/icon_palette_1.pal | 19 + .../pokemon/icon_palettes/icon_palette_2.pal | 19 + graphics/pokemon/icons/abra_icon.png | Bin 0 -> 327 bytes graphics/pokemon/icons/absol_icon.png | Bin 0 -> 371 bytes graphics/pokemon/icons/aerodactyl_icon.png | Bin 0 -> 369 bytes graphics/pokemon/icons/aggron_icon.png | Bin 0 -> 367 bytes graphics/pokemon/icons/aipom_icon.png | Bin 0 -> 399 bytes graphics/pokemon/icons/alakazam_icon.png | Bin 0 -> 401 bytes graphics/pokemon/icons/altaria_icon.png | Bin 0 -> 419 bytes graphics/pokemon/icons/ampharos_icon.png | Bin 0 -> 430 bytes graphics/pokemon/icons/anorith_icon.png | Bin 0 -> 377 bytes graphics/pokemon/icons/arbok_icon.png | Bin 0 -> 373 bytes graphics/pokemon/icons/arcanine_icon.png | Bin 0 -> 445 bytes graphics/pokemon/icons/ariados_icon.png | Bin 0 -> 430 bytes graphics/pokemon/icons/armaldo_icon.png | Bin 0 -> 383 bytes graphics/pokemon/icons/aron_icon.png | Bin 0 -> 262 bytes graphics/pokemon/icons/articuno_icon.png | Bin 0 -> 384 bytes graphics/pokemon/icons/azumarill_icon.png | Bin 0 -> 445 bytes graphics/pokemon/icons/azurill_icon.png | Bin 0 -> 342 bytes graphics/pokemon/icons/bagon_icon.png | Bin 0 -> 359 bytes graphics/pokemon/icons/baltoy_icon.png | Bin 0 -> 279 bytes graphics/pokemon/icons/banette_icon.png | Bin 0 -> 321 bytes graphics/pokemon/icons/barboach_icon.png | Bin 0 -> 337 bytes graphics/pokemon/icons/bayleef_icon.png | Bin 0 -> 427 bytes graphics/pokemon/icons/beautifly_icon.png | Bin 0 -> 449 bytes graphics/pokemon/icons/beedrill_icon.png | Bin 0 -> 437 bytes graphics/pokemon/icons/beldum_icon.png | Bin 0 -> 294 bytes graphics/pokemon/icons/bellossom_icon.png | Bin 0 -> 363 bytes graphics/pokemon/icons/bellsprout_icon.png | Bin 0 -> 252 bytes graphics/pokemon/icons/blastoise_icon.png | Bin 0 -> 397 bytes graphics/pokemon/icons/blaziken_icon.png | Bin 0 -> 448 bytes graphics/pokemon/icons/blissey_icon.png | Bin 0 -> 406 bytes graphics/pokemon/icons/breloom_icon.png | Bin 0 -> 321 bytes graphics/pokemon/icons/bulbasaur_icon.png | Bin 0 -> 316 bytes graphics/pokemon/icons/butterfree_icon.png | Bin 0 -> 421 bytes graphics/pokemon/icons/cacnea_icon.png | Bin 0 -> 370 bytes graphics/pokemon/icons/cacturne_icon.png | Bin 0 -> 299 bytes graphics/pokemon/icons/camerupt_icon.png | Bin 0 -> 404 bytes graphics/pokemon/icons/carvanha_icon.png | Bin 0 -> 392 bytes graphics/pokemon/icons/cascoon_icon.png | Bin 0 -> 342 bytes graphics/pokemon/icons/castform_icon.png | Bin 0 -> 263 bytes graphics/pokemon/icons/caterpie_icon.png | Bin 0 -> 277 bytes graphics/pokemon/icons/celebi_icon.png | Bin 0 -> 330 bytes graphics/pokemon/icons/chansey_icon.png | Bin 0 -> 317 bytes graphics/pokemon/icons/charizard_icon.png | Bin 0 -> 462 bytes graphics/pokemon/icons/charmander_icon.png | Bin 0 -> 303 bytes graphics/pokemon/icons/charmeleon_icon.png | Bin 0 -> 412 bytes graphics/pokemon/icons/chikorita_icon.png | Bin 0 -> 334 bytes graphics/pokemon/icons/chimecho_icon.png | Bin 0 -> 258 bytes graphics/pokemon/icons/chinchou_icon.png | Bin 0 -> 378 bytes graphics/pokemon/icons/clamperl_icon.png | Bin 0 -> 345 bytes graphics/pokemon/icons/claydol_icon.png | Bin 0 -> 331 bytes graphics/pokemon/icons/clefable_icon.png | Bin 0 -> 339 bytes graphics/pokemon/icons/clefairy_icon.png | Bin 0 -> 305 bytes graphics/pokemon/icons/cleffa_icon.png | Bin 0 -> 302 bytes graphics/pokemon/icons/cloyster_icon.png | Bin 0 -> 507 bytes graphics/pokemon/icons/combusken_icon.png | Bin 0 -> 351 bytes graphics/pokemon/icons/corphish_icon.png | Bin 0 -> 286 bytes graphics/pokemon/icons/corsola_icon.png | Bin 0 -> 365 bytes graphics/pokemon/icons/cradily_icon.png | Bin 0 -> 452 bytes graphics/pokemon/icons/crawdaunt_icon.png | Bin 0 -> 402 bytes graphics/pokemon/icons/crobat_icon.png | Bin 0 -> 422 bytes graphics/pokemon/icons/croconaw_icon.png | Bin 0 -> 356 bytes graphics/pokemon/icons/cubone_icon.png | Bin 0 -> 350 bytes graphics/pokemon/icons/cyndaquil_icon.png | Bin 0 -> 360 bytes graphics/pokemon/icons/delcatty_icon.png | Bin 0 -> 420 bytes graphics/pokemon/icons/delibird_icon.png | Bin 0 -> 357 bytes graphics/pokemon/icons/deoxys_icon.png | Bin 0 -> 430 bytes graphics/pokemon/icons/deoxys_speed_icon.png | Bin 0 -> 456 bytes graphics/pokemon/icons/dewgong_icon.png | Bin 0 -> 415 bytes graphics/pokemon/icons/diglett_icon.png | Bin 0 -> 249 bytes graphics/pokemon/icons/ditto_icon.png | Bin 0 -> 270 bytes graphics/pokemon/icons/dodrio_icon.png | Bin 0 -> 446 bytes graphics/pokemon/icons/doduo_icon.png | Bin 0 -> 351 bytes graphics/pokemon/icons/donphan_icon.png | Bin 0 -> 471 bytes graphics/pokemon/icons/dragonair_icon.png | Bin 0 -> 383 bytes graphics/pokemon/icons/dragonite_icon.png | Bin 0 -> 414 bytes graphics/pokemon/icons/dratini_icon.png | Bin 0 -> 334 bytes graphics/pokemon/icons/drowzee_icon.png | Bin 0 -> 416 bytes graphics/pokemon/icons/dugtrio_icon.png | Bin 0 -> 296 bytes graphics/pokemon/icons/dunsparce_icon.png | Bin 0 -> 341 bytes graphics/pokemon/icons/dusclops_icon.png | Bin 0 -> 344 bytes graphics/pokemon/icons/duskull_icon.png | Bin 0 -> 294 bytes graphics/pokemon/icons/dustox_icon.png | Bin 0 -> 428 bytes graphics/pokemon/icons/eevee_icon.png | Bin 0 -> 296 bytes graphics/pokemon/icons/egg_icon.png | Bin 0 -> 310 bytes graphics/pokemon/icons/ekans_icon.png | Bin 0 -> 333 bytes graphics/pokemon/icons/electabuzz_icon.png | Bin 0 -> 321 bytes graphics/pokemon/icons/electrike_icon.png | Bin 0 -> 352 bytes graphics/pokemon/icons/electrode_icon.png | Bin 0 -> 245 bytes graphics/pokemon/icons/elekid_icon.png | Bin 0 -> 327 bytes graphics/pokemon/icons/entei_icon.png | Bin 0 -> 453 bytes graphics/pokemon/icons/espeon_icon.png | Bin 0 -> 354 bytes graphics/pokemon/icons/exeggcute_icon.png | Bin 0 -> 383 bytes graphics/pokemon/icons/exeggutor_icon.png | Bin 0 -> 368 bytes graphics/pokemon/icons/exploud_icon.png | Bin 0 -> 447 bytes graphics/pokemon/icons/farfetch_d_icon.png | Bin 0 -> 396 bytes graphics/pokemon/icons/fearow_icon.png | Bin 0 -> 465 bytes graphics/pokemon/icons/feebas_icon.png | Bin 0 -> 359 bytes graphics/pokemon/icons/feraligatr_icon.png | Bin 0 -> 488 bytes graphics/pokemon/icons/flaaffy_icon.png | Bin 0 -> 376 bytes graphics/pokemon/icons/flareon_icon.png | Bin 0 -> 380 bytes graphics/pokemon/icons/flygon_icon.png | Bin 0 -> 411 bytes graphics/pokemon/icons/forretress_icon.png | Bin 0 -> 332 bytes graphics/pokemon/icons/furret_icon.png | Bin 0 -> 401 bytes graphics/pokemon/icons/gardevoir_icon.png | Bin 0 -> 386 bytes graphics/pokemon/icons/gastly_icon.png | Bin 0 -> 442 bytes graphics/pokemon/icons/gengar_icon.png | Bin 0 -> 382 bytes graphics/pokemon/icons/geodude_icon.png | Bin 0 -> 304 bytes graphics/pokemon/icons/girafarig_icon.png | Bin 0 -> 370 bytes graphics/pokemon/icons/glalie_icon.png | Bin 0 -> 305 bytes graphics/pokemon/icons/gligar_icon.png | Bin 0 -> 425 bytes graphics/pokemon/icons/gloom_icon.png | Bin 0 -> 313 bytes graphics/pokemon/icons/golbat_icon.png | Bin 0 -> 355 bytes graphics/pokemon/icons/goldeen_icon.png | Bin 0 -> 354 bytes graphics/pokemon/icons/golduck_icon.png | Bin 0 -> 351 bytes graphics/pokemon/icons/golem_icon.png | Bin 0 -> 395 bytes graphics/pokemon/icons/gorebyss_icon.png | Bin 0 -> 382 bytes graphics/pokemon/icons/granbull_icon.png | Bin 0 -> 352 bytes graphics/pokemon/icons/graveler_icon.png | Bin 0 -> 366 bytes graphics/pokemon/icons/grimer_icon.png | Bin 0 -> 356 bytes graphics/pokemon/icons/groudon_icon.png | Bin 0 -> 377 bytes graphics/pokemon/icons/grovyle_icon.png | Bin 0 -> 363 bytes graphics/pokemon/icons/growlithe_icon.png | Bin 0 -> 348 bytes graphics/pokemon/icons/grumpig_icon.png | Bin 0 -> 329 bytes graphics/pokemon/icons/gulpin_icon.png | Bin 0 -> 293 bytes graphics/pokemon/icons/gyarados_icon.png | Bin 0 -> 524 bytes graphics/pokemon/icons/hariyama_icon.png | Bin 0 -> 387 bytes graphics/pokemon/icons/haunter_icon.png | Bin 0 -> 485 bytes graphics/pokemon/icons/heracross_icon.png | Bin 0 -> 370 bytes graphics/pokemon/icons/hitmonchan_icon.png | Bin 0 -> 306 bytes graphics/pokemon/icons/hitmonlee_icon.png | Bin 0 -> 335 bytes graphics/pokemon/icons/hitmontop_icon.png | Bin 0 -> 477 bytes graphics/pokemon/icons/ho_oh_icon.png | Bin 0 -> 480 bytes graphics/pokemon/icons/hoothoot_icon.png | Bin 0 -> 350 bytes graphics/pokemon/icons/hoppip_icon.png | Bin 0 -> 367 bytes graphics/pokemon/icons/horsea_icon.png | Bin 0 -> 354 bytes graphics/pokemon/icons/houndoom_icon.png | Bin 0 -> 406 bytes graphics/pokemon/icons/houndour_icon.png | Bin 0 -> 358 bytes graphics/pokemon/icons/huntail_icon.png | Bin 0 -> 419 bytes graphics/pokemon/icons/hypno_icon.png | Bin 0 -> 391 bytes graphics/pokemon/icons/igglybuff_icon.png | Bin 0 -> 322 bytes graphics/pokemon/icons/illumise_icon.png | Bin 0 -> 325 bytes graphics/pokemon/icons/ivysaur_icon.png | Bin 0 -> 326 bytes graphics/pokemon/icons/jigglypuff_icon.png | Bin 0 -> 315 bytes graphics/pokemon/icons/jirachi_icon.png | Bin 0 -> 340 bytes graphics/pokemon/icons/jolteon_icon.png | Bin 0 -> 324 bytes graphics/pokemon/icons/jumpluff_icon.png | Bin 0 -> 398 bytes graphics/pokemon/icons/jynx_icon.png | Bin 0 -> 375 bytes graphics/pokemon/icons/kabuto_icon.png | Bin 0 -> 264 bytes graphics/pokemon/icons/kabutops_icon.png | Bin 0 -> 322 bytes graphics/pokemon/icons/kadabra_icon.png | Bin 0 -> 432 bytes graphics/pokemon/icons/kakuna_icon.png | Bin 0 -> 266 bytes graphics/pokemon/icons/kangaskhan_icon.png | Bin 0 -> 389 bytes graphics/pokemon/icons/kecleon_icon.png | Bin 0 -> 384 bytes graphics/pokemon/icons/kingdra_icon.png | Bin 0 -> 385 bytes graphics/pokemon/icons/kingler_icon.png | Bin 0 -> 440 bytes graphics/pokemon/icons/kirlia_icon.png | Bin 0 -> 351 bytes graphics/pokemon/icons/koffing_icon.png | Bin 0 -> 315 bytes graphics/pokemon/icons/krabby_icon.png | Bin 0 -> 432 bytes graphics/pokemon/icons/kyogre_icon.png | Bin 0 -> 444 bytes graphics/pokemon/icons/lairon_icon.png | Bin 0 -> 362 bytes graphics/pokemon/icons/lanturn_icon.png | Bin 0 -> 442 bytes graphics/pokemon/icons/lapras_icon.png | Bin 0 -> 409 bytes graphics/pokemon/icons/larvitar_icon.png | Bin 0 -> 304 bytes graphics/pokemon/icons/latias_icon.png | Bin 0 -> 396 bytes graphics/pokemon/icons/latios_icon.png | Bin 0 -> 396 bytes graphics/pokemon/icons/ledian_icon.png | Bin 0 -> 377 bytes graphics/pokemon/icons/ledyba_icon.png | Bin 0 -> 314 bytes graphics/pokemon/icons/lickitung_icon.png | Bin 0 -> 368 bytes graphics/pokemon/icons/lileep_icon.png | Bin 0 -> 361 bytes graphics/pokemon/icons/linoone_icon.png | Bin 0 -> 390 bytes graphics/pokemon/icons/lombre_icon.png | Bin 0 -> 319 bytes graphics/pokemon/icons/lotad_icon.png | Bin 0 -> 283 bytes graphics/pokemon/icons/loudred_icon.png | Bin 0 -> 387 bytes graphics/pokemon/icons/ludicolo_icon.png | Bin 0 -> 379 bytes graphics/pokemon/icons/lugia_icon.png | Bin 0 -> 454 bytes graphics/pokemon/icons/lunatone_icon.png | Bin 0 -> 261 bytes graphics/pokemon/icons/luvdisc_icon.png | Bin 0 -> 281 bytes graphics/pokemon/icons/machamp_icon.png | Bin 0 -> 414 bytes graphics/pokemon/icons/machoke_icon.png | Bin 0 -> 415 bytes graphics/pokemon/icons/machop_icon.png | Bin 0 -> 313 bytes graphics/pokemon/icons/magby_icon.png | Bin 0 -> 296 bytes graphics/pokemon/icons/magcargo_icon.png | Bin 0 -> 444 bytes graphics/pokemon/icons/magikarp_icon.png | Bin 0 -> 381 bytes graphics/pokemon/icons/magmar_icon.png | Bin 0 -> 398 bytes graphics/pokemon/icons/magnemite_icon.png | Bin 0 -> 289 bytes graphics/pokemon/icons/magneton_icon.png | Bin 0 -> 416 bytes graphics/pokemon/icons/makuhita_icon.png | Bin 0 -> 326 bytes graphics/pokemon/icons/manectric_icon.png | Bin 0 -> 316 bytes graphics/pokemon/icons/mankey_icon.png | Bin 0 -> 374 bytes graphics/pokemon/icons/mantine_icon.png | Bin 0 -> 374 bytes graphics/pokemon/icons/mareep_icon.png | Bin 0 -> 391 bytes graphics/pokemon/icons/marill_icon.png | Bin 0 -> 365 bytes graphics/pokemon/icons/marowak_icon.png | Bin 0 -> 388 bytes graphics/pokemon/icons/marshtomp_icon.png | Bin 0 -> 294 bytes graphics/pokemon/icons/masquerain_icon.png | Bin 0 -> 371 bytes graphics/pokemon/icons/mawile_icon.png | Bin 0 -> 433 bytes graphics/pokemon/icons/medicham_icon.png | Bin 0 -> 369 bytes graphics/pokemon/icons/meditite_icon.png | Bin 0 -> 329 bytes graphics/pokemon/icons/meganium_icon.png | Bin 0 -> 451 bytes graphics/pokemon/icons/meowth_icon.png | Bin 0 -> 304 bytes graphics/pokemon/icons/metagross_icon.png | Bin 0 -> 439 bytes graphics/pokemon/icons/metang_icon.png | Bin 0 -> 445 bytes graphics/pokemon/icons/metapod_icon.png | Bin 0 -> 241 bytes graphics/pokemon/icons/mew_icon.png | Bin 0 -> 377 bytes graphics/pokemon/icons/mewtwo_icon.png | Bin 0 -> 368 bytes graphics/pokemon/icons/mightyena_icon.png | Bin 0 -> 403 bytes graphics/pokemon/icons/milotic_icon.png | Bin 0 -> 455 bytes graphics/pokemon/icons/miltank_icon.png | Bin 0 -> 351 bytes graphics/pokemon/icons/minun_icon.png | Bin 0 -> 296 bytes graphics/pokemon/icons/misdreavus_icon.png | Bin 0 -> 369 bytes graphics/pokemon/icons/moltres_icon.png | Bin 0 -> 421 bytes graphics/pokemon/icons/mr_mime_icon.png | Bin 0 -> 311 bytes graphics/pokemon/icons/mudkip_icon.png | Bin 0 -> 353 bytes graphics/pokemon/icons/muk_icon.png | Bin 0 -> 441 bytes graphics/pokemon/icons/murkrow_icon.png | Bin 0 -> 370 bytes graphics/pokemon/icons/natu_icon.png | Bin 0 -> 318 bytes graphics/pokemon/icons/nidoking_icon.png | Bin 0 -> 420 bytes graphics/pokemon/icons/nidoqueen_icon.png | Bin 0 -> 374 bytes graphics/pokemon/icons/nidoran_f_icon.png | Bin 0 -> 287 bytes graphics/pokemon/icons/nidoran_m_icon.png | Bin 0 -> 326 bytes graphics/pokemon/icons/nidorina_icon.png | Bin 0 -> 325 bytes graphics/pokemon/icons/nidorino_icon.png | Bin 0 -> 324 bytes graphics/pokemon/icons/nincada_icon.png | Bin 0 -> 352 bytes graphics/pokemon/icons/ninetales_icon.png | Bin 0 -> 421 bytes graphics/pokemon/icons/ninjask_icon.png | Bin 0 -> 324 bytes graphics/pokemon/icons/noctowl_icon.png | Bin 0 -> 362 bytes graphics/pokemon/icons/nosepass_icon.png | Bin 0 -> 282 bytes graphics/pokemon/icons/numel_icon.png | Bin 0 -> 301 bytes graphics/pokemon/icons/nuzleaf_icon.png | Bin 0 -> 342 bytes graphics/pokemon/icons/octillery_icon.png | Bin 0 -> 349 bytes graphics/pokemon/icons/oddish_icon.png | Bin 0 -> 284 bytes graphics/pokemon/icons/omanyte_icon.png | Bin 0 -> 308 bytes graphics/pokemon/icons/omastar_icon.png | Bin 0 -> 350 bytes graphics/pokemon/icons/onix_icon.png | Bin 0 -> 456 bytes graphics/pokemon/icons/paras_icon.png | Bin 0 -> 387 bytes graphics/pokemon/icons/parasect_icon.png | Bin 0 -> 329 bytes graphics/pokemon/icons/pelipper_icon.png | Bin 0 -> 374 bytes graphics/pokemon/icons/persian_icon.png | Bin 0 -> 328 bytes graphics/pokemon/icons/phanpy_icon.png | Bin 0 -> 371 bytes graphics/pokemon/icons/pichu_icon.png | Bin 0 -> 281 bytes graphics/pokemon/icons/pidgeot_icon.png | Bin 0 -> 456 bytes graphics/pokemon/icons/pidgeotto_icon.png | Bin 0 -> 387 bytes graphics/pokemon/icons/pidgey_icon.png | Bin 0 -> 364 bytes graphics/pokemon/icons/pikachu_icon.png | Bin 0 -> 353 bytes graphics/pokemon/icons/piloswine_icon.png | Bin 0 -> 341 bytes graphics/pokemon/icons/pineco_icon.png | Bin 0 -> 290 bytes graphics/pokemon/icons/pinsir_icon.png | Bin 0 -> 334 bytes graphics/pokemon/icons/plusle_icon.png | Bin 0 -> 303 bytes graphics/pokemon/icons/politoed_icon.png | Bin 0 -> 428 bytes graphics/pokemon/icons/poliwag_icon.png | Bin 0 -> 339 bytes graphics/pokemon/icons/poliwhirl_icon.png | Bin 0 -> 348 bytes graphics/pokemon/icons/poliwrath_icon.png | Bin 0 -> 389 bytes graphics/pokemon/icons/ponyta_icon.png | Bin 0 -> 457 bytes graphics/pokemon/icons/poochyena_icon.png | Bin 0 -> 360 bytes graphics/pokemon/icons/porygon2_icon.png | Bin 0 -> 341 bytes graphics/pokemon/icons/porygon_icon.png | Bin 0 -> 386 bytes graphics/pokemon/icons/primeape_icon.png | Bin 0 -> 370 bytes graphics/pokemon/icons/psyduck_icon.png | Bin 0 -> 329 bytes graphics/pokemon/icons/pupitar_icon.png | Bin 0 -> 291 bytes graphics/pokemon/icons/quagsire_icon.png | Bin 0 -> 362 bytes graphics/pokemon/icons/question_mark_icon.png | Bin 0 -> 271 bytes graphics/pokemon/icons/quilava_icon.png | Bin 0 -> 402 bytes graphics/pokemon/icons/qwilfish_icon.png | Bin 0 -> 337 bytes graphics/pokemon/icons/raichu_icon.png | Bin 0 -> 411 bytes graphics/pokemon/icons/raikou_icon.png | Bin 0 -> 486 bytes graphics/pokemon/icons/ralts_icon.png | Bin 0 -> 262 bytes graphics/pokemon/icons/rapidash_icon.png | Bin 0 -> 478 bytes graphics/pokemon/icons/raticate_icon.png | Bin 0 -> 374 bytes graphics/pokemon/icons/rattata_icon.png | Bin 0 -> 318 bytes graphics/pokemon/icons/rayquaza_icon.png | Bin 0 -> 507 bytes graphics/pokemon/icons/regice_icon.png | Bin 0 -> 334 bytes graphics/pokemon/icons/regirock_icon.png | Bin 0 -> 379 bytes graphics/pokemon/icons/registeel_icon.png | Bin 0 -> 351 bytes graphics/pokemon/icons/relicanth_icon.png | Bin 0 -> 413 bytes graphics/pokemon/icons/remoraid_icon.png | Bin 0 -> 330 bytes graphics/pokemon/icons/rhydon_icon.png | Bin 0 -> 381 bytes graphics/pokemon/icons/rhyhorn_icon.png | Bin 0 -> 356 bytes graphics/pokemon/icons/roselia_icon.png | Bin 0 -> 414 bytes graphics/pokemon/icons/sableye_icon.png | Bin 0 -> 319 bytes graphics/pokemon/icons/salamence_icon.png | Bin 0 -> 477 bytes graphics/pokemon/icons/sandshrew_icon.png | Bin 0 -> 338 bytes graphics/pokemon/icons/sandslash_icon.png | Bin 0 -> 402 bytes graphics/pokemon/icons/sceptile_icon.png | Bin 0 -> 383 bytes graphics/pokemon/icons/scizor_icon.png | Bin 0 -> 447 bytes graphics/pokemon/icons/scyther_icon.png | Bin 0 -> 345 bytes graphics/pokemon/icons/seadra_icon.png | Bin 0 -> 351 bytes graphics/pokemon/icons/seaking_icon.png | Bin 0 -> 368 bytes graphics/pokemon/icons/sealeo_icon.png | Bin 0 -> 387 bytes graphics/pokemon/icons/seedot_icon.png | Bin 0 -> 271 bytes graphics/pokemon/icons/seel_icon.png | Bin 0 -> 382 bytes graphics/pokemon/icons/sentret_icon.png | Bin 0 -> 363 bytes graphics/pokemon/icons/seviper_icon.png | Bin 0 -> 368 bytes graphics/pokemon/icons/sharpedo_icon.png | Bin 0 -> 373 bytes graphics/pokemon/icons/shedinja_icon.png | Bin 0 -> 298 bytes graphics/pokemon/icons/shelgon_icon.png | Bin 0 -> 333 bytes graphics/pokemon/icons/shellder_icon.png | Bin 0 -> 295 bytes graphics/pokemon/icons/shiftry_icon.png | Bin 0 -> 349 bytes graphics/pokemon/icons/shroomish_icon.png | Bin 0 -> 317 bytes graphics/pokemon/icons/shuckle_icon.png | Bin 0 -> 334 bytes graphics/pokemon/icons/shuppet_icon.png | Bin 0 -> 275 bytes graphics/pokemon/icons/silcoon_icon.png | Bin 0 -> 329 bytes graphics/pokemon/icons/skarmory_icon.png | Bin 0 -> 418 bytes graphics/pokemon/icons/skiploom_icon.png | Bin 0 -> 375 bytes graphics/pokemon/icons/skitty_icon.png | Bin 0 -> 371 bytes graphics/pokemon/icons/slaking_icon.png | Bin 0 -> 437 bytes graphics/pokemon/icons/slakoth_icon.png | Bin 0 -> 319 bytes graphics/pokemon/icons/slowbro_icon.png | Bin 0 -> 446 bytes graphics/pokemon/icons/slowking_icon.png | Bin 0 -> 364 bytes graphics/pokemon/icons/slowpoke_icon.png | Bin 0 -> 342 bytes graphics/pokemon/icons/slugma_icon.png | Bin 0 -> 343 bytes graphics/pokemon/icons/smeargle_icon.png | Bin 0 -> 377 bytes graphics/pokemon/icons/smoochum_icon.png | Bin 0 -> 414 bytes graphics/pokemon/icons/sneasel_icon.png | Bin 0 -> 347 bytes graphics/pokemon/icons/snorlax_icon.png | Bin 0 -> 346 bytes graphics/pokemon/icons/snorunt_icon.png | Bin 0 -> 283 bytes graphics/pokemon/icons/snubbull_icon.png | Bin 0 -> 325 bytes graphics/pokemon/icons/solrock_icon.png | Bin 0 -> 286 bytes graphics/pokemon/icons/spearow_icon.png | Bin 0 -> 346 bytes graphics/pokemon/icons/spheal_icon.png | Bin 0 -> 317 bytes graphics/pokemon/icons/spinarak_icon.png | Bin 0 -> 345 bytes graphics/pokemon/icons/spinda_icon.png | Bin 0 -> 375 bytes graphics/pokemon/icons/spoink_icon.png | Bin 0 -> 277 bytes graphics/pokemon/icons/squirtle_icon.png | Bin 0 -> 344 bytes graphics/pokemon/icons/stantler_icon.png | Bin 0 -> 356 bytes graphics/pokemon/icons/starmie_icon.png | Bin 0 -> 380 bytes graphics/pokemon/icons/staryu_icon.png | Bin 0 -> 294 bytes graphics/pokemon/icons/steelix_icon.png | Bin 0 -> 433 bytes graphics/pokemon/icons/sudowoodo_icon.png | Bin 0 -> 395 bytes graphics/pokemon/icons/suicune_icon.png | Bin 0 -> 471 bytes graphics/pokemon/icons/sunflora_icon.png | Bin 0 -> 447 bytes graphics/pokemon/icons/sunkern_icon.png | Bin 0 -> 366 bytes graphics/pokemon/icons/surskit_icon.png | Bin 0 -> 325 bytes graphics/pokemon/icons/swablu_icon.png | Bin 0 -> 324 bytes graphics/pokemon/icons/swalot_icon.png | Bin 0 -> 315 bytes graphics/pokemon/icons/swampert_icon.png | Bin 0 -> 417 bytes graphics/pokemon/icons/swellow_icon.png | Bin 0 -> 369 bytes graphics/pokemon/icons/swinub_icon.png | Bin 0 -> 320 bytes graphics/pokemon/icons/taillow_icon.png | Bin 0 -> 329 bytes graphics/pokemon/icons/tangela_icon.png | Bin 0 -> 365 bytes graphics/pokemon/icons/tauros_icon.png | Bin 0 -> 421 bytes graphics/pokemon/icons/teddiursa_icon.png | Bin 0 -> 304 bytes graphics/pokemon/icons/tentacool_icon.png | Bin 0 -> 333 bytes graphics/pokemon/icons/tentacruel_icon.png | Bin 0 -> 486 bytes graphics/pokemon/icons/togepi_icon.png | Bin 0 -> 347 bytes graphics/pokemon/icons/togetic_icon.png | Bin 0 -> 324 bytes graphics/pokemon/icons/torchic_icon.png | Bin 0 -> 338 bytes graphics/pokemon/icons/torkoal_icon.png | Bin 0 -> 342 bytes graphics/pokemon/icons/totodile_icon.png | Bin 0 -> 331 bytes graphics/pokemon/icons/trapinch_icon.png | Bin 0 -> 314 bytes graphics/pokemon/icons/treecko_icon.png | Bin 0 -> 346 bytes graphics/pokemon/icons/tropius_icon.png | Bin 0 -> 422 bytes graphics/pokemon/icons/typhlosion_icon.png | Bin 0 -> 417 bytes graphics/pokemon/icons/tyranitar_icon.png | Bin 0 -> 435 bytes graphics/pokemon/icons/tyrogue_icon.png | Bin 0 -> 321 bytes graphics/pokemon/icons/umbreon_icon.png | Bin 0 -> 358 bytes graphics/pokemon/icons/unown_B_icon.png | Bin 0 -> 256 bytes graphics/pokemon/icons/unown_C_icon.png | Bin 0 -> 276 bytes graphics/pokemon/icons/unown_D_icon.png | Bin 0 -> 257 bytes graphics/pokemon/icons/unown_E_icon.png | Bin 0 -> 249 bytes graphics/pokemon/icons/unown_F_icon.png | Bin 0 -> 269 bytes graphics/pokemon/icons/unown_G_icon.png | Bin 0 -> 241 bytes graphics/pokemon/icons/unown_H_icon.png | Bin 0 -> 270 bytes graphics/pokemon/icons/unown_I_icon.png | Bin 0 -> 223 bytes graphics/pokemon/icons/unown_J_icon.png | Bin 0 -> 244 bytes graphics/pokemon/icons/unown_K_icon.png | Bin 0 -> 244 bytes graphics/pokemon/icons/unown_L_icon.png | Bin 0 -> 243 bytes graphics/pokemon/icons/unown_M_icon.png | Bin 0 -> 268 bytes graphics/pokemon/icons/unown_N_icon.png | Bin 0 -> 259 bytes graphics/pokemon/icons/unown_O_icon.png | Bin 0 -> 260 bytes graphics/pokemon/icons/unown_P_icon.png | Bin 0 -> 227 bytes graphics/pokemon/icons/unown_Q_icon.png | Bin 0 -> 238 bytes graphics/pokemon/icons/unown_R_icon.png | Bin 0 -> 232 bytes graphics/pokemon/icons/unown_S_icon.png | Bin 0 -> 259 bytes graphics/pokemon/icons/unown_T_icon.png | Bin 0 -> 241 bytes graphics/pokemon/icons/unown_U_icon.png | Bin 0 -> 250 bytes graphics/pokemon/icons/unown_V_icon.png | Bin 0 -> 255 bytes graphics/pokemon/icons/unown_W_icon.png | Bin 0 -> 261 bytes graphics/pokemon/icons/unown_X_icon.png | Bin 0 -> 255 bytes graphics/pokemon/icons/unown_Y_icon.png | Bin 0 -> 251 bytes graphics/pokemon/icons/unown_Z_icon.png | Bin 0 -> 244 bytes graphics/pokemon/icons/unown_a_icon.png | Bin 0 -> 245 bytes .../icons/unown_exclamation_mark_icon.png | Bin 0 -> 220 bytes .../icons/unown_question_mark_icon.png | Bin 0 -> 245 bytes graphics/pokemon/icons/ursaring_icon.png | Bin 0 -> 355 bytes graphics/pokemon/icons/vaporeon_icon.png | Bin 0 -> 393 bytes graphics/pokemon/icons/venomoth_icon.png | Bin 0 -> 400 bytes graphics/pokemon/icons/venonat_icon.png | Bin 0 -> 322 bytes graphics/pokemon/icons/venusaur_icon.png | Bin 0 -> 447 bytes graphics/pokemon/icons/vibrava_icon.png | Bin 0 -> 356 bytes graphics/pokemon/icons/victreebel_icon.png | Bin 0 -> 437 bytes graphics/pokemon/icons/vigoroth_icon.png | Bin 0 -> 358 bytes graphics/pokemon/icons/vileplume_icon.png | Bin 0 -> 410 bytes graphics/pokemon/icons/volbeat_icon.png | Bin 0 -> 335 bytes graphics/pokemon/icons/voltorb_icon.png | Bin 0 -> 242 bytes graphics/pokemon/icons/vulpix_icon.png | Bin 0 -> 307 bytes graphics/pokemon/icons/wailmer_icon.png | Bin 0 -> 359 bytes graphics/pokemon/icons/wailord_icon.png | Bin 0 -> 392 bytes graphics/pokemon/icons/walrein_icon.png | Bin 0 -> 473 bytes graphics/pokemon/icons/wartortle_icon.png | Bin 0 -> 371 bytes graphics/pokemon/icons/weedle_icon.png | Bin 0 -> 279 bytes graphics/pokemon/icons/weepinbell_icon.png | Bin 0 -> 365 bytes graphics/pokemon/icons/weezing_icon.png | Bin 0 -> 456 bytes graphics/pokemon/icons/whiscash_icon.png | Bin 0 -> 420 bytes graphics/pokemon/icons/whismur_icon.png | Bin 0 -> 291 bytes graphics/pokemon/icons/wigglytuff_icon.png | Bin 0 -> 327 bytes graphics/pokemon/icons/wingull_icon.png | Bin 0 -> 360 bytes graphics/pokemon/icons/wobbuffet_icon.png | Bin 0 -> 335 bytes graphics/pokemon/icons/wooper_icon.png | Bin 0 -> 307 bytes graphics/pokemon/icons/wurmple_icon.png | Bin 0 -> 331 bytes graphics/pokemon/icons/wynaut_icon.png | Bin 0 -> 353 bytes graphics/pokemon/icons/xatu_icon.png | Bin 0 -> 350 bytes graphics/pokemon/icons/yanma_icon.png | Bin 0 -> 388 bytes graphics/pokemon/icons/zangoose_icon.png | Bin 0 -> 419 bytes graphics/pokemon/icons/zapdos_icon.png | Bin 0 -> 375 bytes graphics/pokemon/icons/zigzagoon_icon.png | Bin 0 -> 347 bytes graphics/pokemon/icons/zubat_icon.png | Bin 0 -> 335 bytes graphics/pokemon/palettes/abra_palette.pal | 19 + .../pokemon/palettes/abra_shiny_palette.pal | 19 + graphics/pokemon/palettes/absol_palette.pal | 19 + .../pokemon/palettes/absol_shiny_palette.pal | 19 + .../pokemon/palettes/aerodactyl_palette.pal | 19 + .../palettes/aerodactyl_shiny_palette.pal | 19 + graphics/pokemon/palettes/aggron_palette.pal | 19 + .../pokemon/palettes/aggron_shiny_palette.pal | 19 + graphics/pokemon/palettes/aipom_palette.pal | 19 + .../pokemon/palettes/aipom_shiny_palette.pal | 19 + .../pokemon/palettes/alakazam_palette.pal | 19 + .../palettes/alakazam_shiny_palette.pal | 19 + graphics/pokemon/palettes/altaria_palette.pal | 19 + .../palettes/altaria_shiny_palette.pal | 19 + .../pokemon/palettes/ampharos_palette.pal | 19 + .../palettes/ampharos_shiny_palette.pal | 19 + graphics/pokemon/palettes/anorith_palette.pal | 19 + .../palettes/anorith_shiny_palette.pal | 19 + graphics/pokemon/palettes/arbok_palette.pal | 19 + .../pokemon/palettes/arbok_shiny_palette.pal | 19 + .../pokemon/palettes/arcanine_palette.pal | 19 + .../palettes/arcanine_shiny_palette.pal | 19 + graphics/pokemon/palettes/ariados_palette.pal | 19 + .../palettes/ariados_shiny_palette.pal | 19 + graphics/pokemon/palettes/armaldo_palette.pal | 19 + .../palettes/armaldo_shiny_palette.pal | 19 + graphics/pokemon/palettes/aron_palette.pal | 19 + .../pokemon/palettes/aron_shiny_palette.pal | 19 + .../pokemon/palettes/articuno_palette.pal | 19 + .../palettes/articuno_shiny_palette.pal | 19 + .../pokemon/palettes/azumarill_palette.pal | 19 + .../palettes/azumarill_shiny_palette.pal | 19 + graphics/pokemon/palettes/azurill_palette.pal | 19 + .../palettes/azurill_shiny_palette.pal | 19 + graphics/pokemon/palettes/bagon_palette.pal | 19 + .../pokemon/palettes/bagon_shiny_palette.pal | 19 + graphics/pokemon/palettes/baltoy_palette.pal | 19 + .../pokemon/palettes/baltoy_shiny_palette.pal | 19 + graphics/pokemon/palettes/banette_palette.pal | 19 + .../palettes/banette_shiny_palette.pal | 19 + .../pokemon/palettes/barboach_palette.pal | 19 + .../palettes/barboach_shiny_palette.pal | 19 + graphics/pokemon/palettes/bayleef_palette.pal | 19 + .../palettes/bayleef_shiny_palette.pal | 19 + .../pokemon/palettes/beautifly_palette.pal | 19 + .../palettes/beautifly_shiny_palette.pal | 19 + .../pokemon/palettes/beedrill_palette.pal | 19 + .../palettes/beedrill_shiny_palette.pal | 19 + graphics/pokemon/palettes/beldum_palette.pal | 19 + .../pokemon/palettes/beldum_shiny_palette.pal | 19 + .../pokemon/palettes/bellossom_palette.pal | 19 + .../palettes/bellossom_shiny_palette.pal | 19 + .../pokemon/palettes/bellsprout_palette.pal | 19 + .../palettes/bellsprout_shiny_palette.pal | 19 + .../pokemon/palettes/blastoise_palette.pal | 19 + .../palettes/blastoise_shiny_palette.pal | 19 + .../pokemon/palettes/blaziken_palette.pal | 19 + .../palettes/blaziken_shiny_palette.pal | 19 + graphics/pokemon/palettes/blissey_palette.pal | 19 + .../palettes/blissey_shiny_palette.pal | 19 + graphics/pokemon/palettes/breloom_palette.pal | 19 + .../palettes/breloom_shiny_palette.pal | 19 + .../pokemon/palettes/bulbasaur_palette.pal | 19 + .../palettes/bulbasaur_shiny_palette.pal | 19 + .../pokemon/palettes/butterfree_palette.pal | 19 + .../palettes/butterfree_shiny_palette.pal | 19 + graphics/pokemon/palettes/cacnea_palette.pal | 19 + .../pokemon/palettes/cacnea_shiny_palette.pal | 19 + .../pokemon/palettes/cacturne_palette.pal | 19 + .../palettes/cacturne_shiny_palette.pal | 19 + .../pokemon/palettes/camerupt_palette.pal | 19 + .../palettes/camerupt_shiny_palette.pal | 19 + .../pokemon/palettes/carvanha_palette.pal | 19 + .../palettes/carvanha_shiny_palette.pal | 19 + graphics/pokemon/palettes/cascoon_palette.pal | 19 + .../palettes/cascoon_shiny_palette.pal | 19 + .../palettes/castform_normal_form_palette.pal | 19 + .../castform_normal_form_shiny_palette.pal | 19 + .../palettes/castform_rainy_form_palette.pal | 19 + .../castform_rainy_form_shiny_palette.pal | 19 + .../palettes/castform_snowy_form_palette.pal | 19 + .../castform_snowy_form_shiny_palette.pal | 19 + .../palettes/castform_sunny_form_palette.pal | 19 + .../castform_sunny_form_shiny_palette.pal | 19 + .../pokemon/palettes/caterpie_palette.pal | 19 + .../palettes/caterpie_shiny_palette.pal | 19 + graphics/pokemon/palettes/celebi_palette.pal | 19 + .../pokemon/palettes/celebi_shiny_palette.pal | 19 + graphics/pokemon/palettes/chansey_palette.pal | 19 + .../palettes/chansey_shiny_palette.pal | 19 + .../pokemon/palettes/charizard_palette.pal | 19 + .../palettes/charizard_shiny_palette.pal | 19 + .../pokemon/palettes/charmander_palette.pal | 19 + .../palettes/charmander_shiny_palette.pal | 19 + .../pokemon/palettes/charmeleon_palette.pal | 19 + .../palettes/charmeleon_shiny_palette.pal | 19 + .../pokemon/palettes/chikorita_palette.pal | 19 + .../palettes/chikorita_shiny_palette.pal | 19 + .../pokemon/palettes/chimecho_palette.pal | 19 + .../palettes/chimecho_shiny_palette.pal | 19 + .../pokemon/palettes/chinchou_palette.pal | 19 + .../palettes/chinchou_shiny_palette.pal | 19 + .../pokemon/palettes/clamperl_palette.pal | 19 + .../palettes/clamperl_shiny_palette.pal | 19 + graphics/pokemon/palettes/claydol_palette.pal | 19 + .../palettes/claydol_shiny_palette.pal | 19 + .../pokemon/palettes/clefable_palette.pal | 19 + .../palettes/clefable_shiny_palette.pal | 19 + .../pokemon/palettes/clefairy_palette.pal | 19 + .../palettes/clefairy_shiny_palette.pal | 19 + graphics/pokemon/palettes/cleffa_palette.pal | 19 + .../pokemon/palettes/cleffa_shiny_palette.pal | 19 + .../pokemon/palettes/cloyster_palette.pal | 19 + .../palettes/cloyster_shiny_palette.pal | 19 + .../pokemon/palettes/combusken_palette.pal | 19 + .../palettes/combusken_shiny_palette.pal | 19 + .../pokemon/palettes/corphish_palette.pal | 19 + .../palettes/corphish_shiny_palette.pal | 19 + graphics/pokemon/palettes/corsola_palette.pal | 19 + .../palettes/corsola_shiny_palette.pal | 19 + graphics/pokemon/palettes/cradily_palette.pal | 19 + .../palettes/cradily_shiny_palette.pal | 19 + .../pokemon/palettes/crawdaunt_palette.pal | 19 + .../palettes/crawdaunt_shiny_palette.pal | 19 + graphics/pokemon/palettes/crobat_palette.pal | 19 + .../pokemon/palettes/crobat_shiny_palette.pal | 19 + .../pokemon/palettes/croconaw_palette.pal | 19 + .../palettes/croconaw_shiny_palette.pal | 19 + graphics/pokemon/palettes/cubone_palette.pal | 19 + .../pokemon/palettes/cubone_shiny_palette.pal | 19 + .../pokemon/palettes/cyndaquil_palette.pal | 19 + .../palettes/cyndaquil_shiny_palette.pal | 19 + .../pokemon/palettes/delcatty_palette.pal | 19 + .../palettes/delcatty_shiny_palette.pal | 19 + .../pokemon/palettes/delibird_palette.pal | 19 + .../palettes/delibird_shiny_palette.pal | 19 + graphics/pokemon/palettes/deoxys_palette.pal | 19 + .../pokemon/palettes/deoxys_shiny_palette.pal | 19 + graphics/pokemon/palettes/dewgong_palette.pal | 19 + .../palettes/dewgong_shiny_palette.pal | 19 + graphics/pokemon/palettes/diglett_palette.pal | 19 + .../palettes/diglett_shiny_palette.pal | 19 + graphics/pokemon/palettes/ditto_palette.pal | 19 + .../pokemon/palettes/ditto_shiny_palette.pal | 19 + graphics/pokemon/palettes/dodrio_palette.pal | 19 + .../pokemon/palettes/dodrio_shiny_palette.pal | 19 + graphics/pokemon/palettes/doduo_palette.pal | 19 + .../pokemon/palettes/doduo_shiny_palette.pal | 19 + graphics/pokemon/palettes/donphan_palette.pal | 19 + .../palettes/donphan_shiny_palette.pal | 19 + .../palettes/double_question_mark_palette.pal | 19 + .../double_question_mark_shiny_palette.pal | 19 + .../pokemon/palettes/dragonair_palette.pal | 19 + .../palettes/dragonair_shiny_palette.pal | 19 + .../pokemon/palettes/dragonite_palette.pal | 19 + .../palettes/dragonite_shiny_palette.pal | 19 + graphics/pokemon/palettes/dratini_palette.pal | 19 + .../palettes/dratini_shiny_palette.pal | 19 + graphics/pokemon/palettes/drowzee_palette.pal | 19 + .../palettes/drowzee_shiny_palette.pal | 19 + graphics/pokemon/palettes/dugtrio_palette.pal | 19 + .../palettes/dugtrio_shiny_palette.pal | 19 + .../pokemon/palettes/dunsparce_palette.pal | 19 + .../palettes/dunsparce_shiny_palette.pal | 19 + .../pokemon/palettes/dusclops_palette.pal | 19 + .../palettes/dusclops_shiny_palette.pal | 19 + graphics/pokemon/palettes/duskull_palette.pal | 19 + .../palettes/duskull_shiny_palette.pal | 19 + graphics/pokemon/palettes/dustox_palette.pal | 19 + .../pokemon/palettes/dustox_shiny_palette.pal | 19 + graphics/pokemon/palettes/eevee_palette.pal | 19 + .../pokemon/palettes/eevee_shiny_palette.pal | 19 + graphics/pokemon/palettes/egg_palette.pal | 19 + graphics/pokemon/palettes/ekans_palette.pal | 19 + .../pokemon/palettes/ekans_shiny_palette.pal | 19 + .../pokemon/palettes/electabuzz_palette.pal | 19 + .../palettes/electabuzz_shiny_palette.pal | 19 + .../pokemon/palettes/electrike_palette.pal | 19 + .../palettes/electrike_shiny_palette.pal | 19 + .../pokemon/palettes/electrode_palette.pal | 19 + .../palettes/electrode_shiny_palette.pal | 19 + graphics/pokemon/palettes/elekid_palette.pal | 19 + .../pokemon/palettes/elekid_shiny_palette.pal | 19 + graphics/pokemon/palettes/entei_palette.pal | 19 + .../pokemon/palettes/entei_shiny_palette.pal | 19 + graphics/pokemon/palettes/espeon_palette.pal | 19 + .../pokemon/palettes/espeon_shiny_palette.pal | 19 + .../pokemon/palettes/exeggcute_palette.pal | 19 + .../palettes/exeggcute_shiny_palette.pal | 19 + .../pokemon/palettes/exeggutor_palette.pal | 19 + .../palettes/exeggutor_shiny_palette.pal | 19 + graphics/pokemon/palettes/exploud_palette.pal | 19 + .../palettes/exploud_shiny_palette.pal | 19 + .../pokemon/palettes/farfetch_d_palette.pal | 19 + .../palettes/farfetch_d_shiny_palette.pal | 19 + graphics/pokemon/palettes/fearow_palette.pal | 19 + .../pokemon/palettes/fearow_shiny_palette.pal | 19 + graphics/pokemon/palettes/feebas_palette.pal | 19 + .../pokemon/palettes/feebas_shiny_palette.pal | 19 + .../pokemon/palettes/feraligatr_palette.pal | 19 + .../palettes/feraligatr_shiny_palette.pal | 19 + graphics/pokemon/palettes/flaaffy_palette.pal | 19 + .../palettes/flaaffy_shiny_palette.pal | 19 + graphics/pokemon/palettes/flareon_palette.pal | 19 + .../palettes/flareon_shiny_palette.pal | 19 + graphics/pokemon/palettes/flygon_palette.pal | 19 + .../pokemon/palettes/flygon_shiny_palette.pal | 19 + .../pokemon/palettes/forretress_palette.pal | 19 + .../palettes/forretress_shiny_palette.pal | 19 + graphics/pokemon/palettes/furret_palette.pal | 19 + .../pokemon/palettes/furret_shiny_palette.pal | 19 + .../pokemon/palettes/gardevoir_palette.pal | 19 + .../palettes/gardevoir_shiny_palette.pal | 19 + graphics/pokemon/palettes/gastly_palette.pal | 19 + .../pokemon/palettes/gastly_shiny_palette.pal | 19 + graphics/pokemon/palettes/gengar_palette.pal | 19 + .../pokemon/palettes/gengar_shiny_palette.pal | 19 + graphics/pokemon/palettes/geodude_palette.pal | 19 + .../palettes/geodude_shiny_palette.pal | 19 + .../pokemon/palettes/girafarig_palette.pal | 19 + .../palettes/girafarig_shiny_palette.pal | 19 + graphics/pokemon/palettes/glalie_palette.pal | 19 + .../pokemon/palettes/glalie_shiny_palette.pal | 19 + graphics/pokemon/palettes/gligar_palette.pal | 19 + .../pokemon/palettes/gligar_shiny_palette.pal | 19 + graphics/pokemon/palettes/gloom_palette.pal | 19 + .../pokemon/palettes/gloom_shiny_palette.pal | 19 + graphics/pokemon/palettes/golbat_palette.pal | 19 + .../pokemon/palettes/golbat_shiny_palette.pal | 19 + graphics/pokemon/palettes/goldeen_palette.pal | 19 + .../palettes/goldeen_shiny_palette.pal | 19 + graphics/pokemon/palettes/golduck_palette.pal | 19 + .../palettes/golduck_shiny_palette.pal | 19 + graphics/pokemon/palettes/golem_palette.pal | 19 + .../pokemon/palettes/golem_shiny_palette.pal | 19 + .../pokemon/palettes/gorebyss_palette.pal | 19 + .../palettes/gorebyss_shiny_palette.pal | 19 + .../pokemon/palettes/granbull_palette.pal | 19 + .../palettes/granbull_shiny_palette.pal | 19 + .../pokemon/palettes/graveler_palette.pal | 19 + .../palettes/graveler_shiny_palette.pal | 19 + graphics/pokemon/palettes/grimer_palette.pal | 19 + .../pokemon/palettes/grimer_shiny_palette.pal | 19 + graphics/pokemon/palettes/groudon_palette.pal | 19 + .../palettes/groudon_shiny_palette.pal | 19 + graphics/pokemon/palettes/grovyle_palette.pal | 19 + .../palettes/grovyle_shiny_palette.pal | 19 + .../pokemon/palettes/growlithe_palette.pal | 19 + .../palettes/growlithe_shiny_palette.pal | 19 + graphics/pokemon/palettes/grumpig_palette.pal | 19 + .../palettes/grumpig_shiny_palette.pal | 19 + graphics/pokemon/palettes/gulpin_palette.pal | 19 + .../pokemon/palettes/gulpin_shiny_palette.pal | 19 + .../pokemon/palettes/gyarados_palette.pal | 19 + .../palettes/gyarados_shiny_palette.pal | 19 + .../pokemon/palettes/hariyama_palette.pal | 19 + .../palettes/hariyama_shiny_palette.pal | 19 + graphics/pokemon/palettes/haunter_palette.pal | 19 + .../palettes/haunter_shiny_palette.pal | 19 + .../pokemon/palettes/heracross_palette.pal | 19 + .../palettes/heracross_shiny_palette.pal | 19 + .../pokemon/palettes/hitmonchan_palette.pal | 19 + .../palettes/hitmonchan_shiny_palette.pal | 19 + .../pokemon/palettes/hitmonlee_palette.pal | 19 + .../palettes/hitmonlee_shiny_palette.pal | 19 + .../pokemon/palettes/hitmontop_palette.pal | 19 + .../palettes/hitmontop_shiny_palette.pal | 19 + graphics/pokemon/palettes/ho_oh_palette.pal | 19 + .../pokemon/palettes/ho_oh_shiny_palette.pal | 19 + .../pokemon/palettes/hoothoot_palette.pal | 19 + .../palettes/hoothoot_shiny_palette.pal | 19 + graphics/pokemon/palettes/hoppip_palette.pal | 19 + .../pokemon/palettes/hoppip_shiny_palette.pal | 19 + graphics/pokemon/palettes/horsea_palette.pal | 19 + .../pokemon/palettes/horsea_shiny_palette.pal | 19 + .../pokemon/palettes/houndoom_palette.pal | 19 + .../palettes/houndoom_shiny_palette.pal | 19 + .../pokemon/palettes/houndour_palette.pal | 19 + .../palettes/houndour_shiny_palette.pal | 19 + graphics/pokemon/palettes/huntail_palette.pal | 19 + .../palettes/huntail_shiny_palette.pal | 19 + graphics/pokemon/palettes/hypno_palette.pal | 19 + .../pokemon/palettes/hypno_shiny_palette.pal | 19 + .../pokemon/palettes/igglybuff_palette.pal | 19 + .../palettes/igglybuff_shiny_palette.pal | 19 + .../pokemon/palettes/illumise_palette.pal | 19 + .../palettes/illumise_shiny_palette.pal | 19 + graphics/pokemon/palettes/ivysaur_palette.pal | 19 + .../palettes/ivysaur_shiny_palette.pal | 19 + .../pokemon/palettes/jigglypuff_palette.pal | 19 + .../palettes/jigglypuff_shiny_palette.pal | 19 + graphics/pokemon/palettes/jirachi_palette.pal | 19 + .../palettes/jirachi_shiny_palette.pal | 19 + graphics/pokemon/palettes/jolteon_palette.pal | 19 + .../palettes/jolteon_shiny_palette.pal | 19 + .../pokemon/palettes/jumpluff_palette.pal | 19 + .../palettes/jumpluff_shiny_palette.pal | 19 + graphics/pokemon/palettes/jynx_palette.pal | 19 + .../pokemon/palettes/jynx_shiny_palette.pal | 19 + graphics/pokemon/palettes/kabuto_palette.pal | 19 + .../pokemon/palettes/kabuto_shiny_palette.pal | 19 + .../pokemon/palettes/kabutops_palette.pal | 19 + .../palettes/kabutops_shiny_palette.pal | 19 + graphics/pokemon/palettes/kadabra_palette.pal | 19 + .../palettes/kadabra_shiny_palette.pal | 19 + graphics/pokemon/palettes/kakuna_palette.pal | 19 + .../pokemon/palettes/kakuna_shiny_palette.pal | 19 + .../pokemon/palettes/kangaskhan_palette.pal | 19 + .../palettes/kangaskhan_shiny_palette.pal | 19 + graphics/pokemon/palettes/kecleon_palette.pal | 19 + .../palettes/kecleon_shiny_palette.pal | 19 + graphics/pokemon/palettes/kingdra_palette.pal | 19 + .../palettes/kingdra_shiny_palette.pal | 19 + graphics/pokemon/palettes/kingler_palette.pal | 19 + .../palettes/kingler_shiny_palette.pal | 19 + graphics/pokemon/palettes/kirlia_palette.pal | 19 + .../pokemon/palettes/kirlia_shiny_palette.pal | 19 + graphics/pokemon/palettes/koffing_palette.pal | 19 + .../palettes/koffing_shiny_palette.pal | 19 + graphics/pokemon/palettes/krabby_palette.pal | 19 + .../pokemon/palettes/krabby_shiny_palette.pal | 19 + graphics/pokemon/palettes/kyogre_palette.pal | 19 + .../pokemon/palettes/kyogre_shiny_palette.pal | 19 + graphics/pokemon/palettes/lairon_palette.pal | 19 + .../pokemon/palettes/lairon_shiny_palette.pal | 19 + graphics/pokemon/palettes/lanturn_palette.pal | 19 + .../palettes/lanturn_shiny_palette.pal | 19 + graphics/pokemon/palettes/lapras_palette.pal | 19 + .../pokemon/palettes/lapras_shiny_palette.pal | 19 + .../pokemon/palettes/larvitar_palette.pal | 19 + .../palettes/larvitar_shiny_palette.pal | 19 + graphics/pokemon/palettes/latias_palette.pal | 19 + .../pokemon/palettes/latias_shiny_palette.pal | 19 + graphics/pokemon/palettes/latios_palette.pal | 19 + .../pokemon/palettes/latios_shiny_palette.pal | 19 + graphics/pokemon/palettes/ledian_palette.pal | 19 + .../pokemon/palettes/ledian_shiny_palette.pal | 19 + graphics/pokemon/palettes/ledyba_palette.pal | 19 + .../pokemon/palettes/ledyba_shiny_palette.pal | 19 + .../pokemon/palettes/lickitung_palette.pal | 19 + .../palettes/lickitung_shiny_palette.pal | 19 + graphics/pokemon/palettes/lileep_palette.pal | 19 + .../pokemon/palettes/lileep_shiny_palette.pal | 19 + graphics/pokemon/palettes/linoone_palette.pal | 19 + .../palettes/linoone_shiny_palette.pal | 19 + graphics/pokemon/palettes/lombre_palette.pal | 19 + .../pokemon/palettes/lombre_shiny_palette.pal | 19 + graphics/pokemon/palettes/lotad_palette.pal | 19 + .../pokemon/palettes/lotad_shiny_palette.pal | 19 + graphics/pokemon/palettes/loudred_palette.pal | 19 + .../palettes/loudred_shiny_palette.pal | 19 + .../pokemon/palettes/ludicolo_palette.pal | 19 + .../palettes/ludicolo_shiny_palette.pal | 19 + graphics/pokemon/palettes/lugia_palette.pal | 19 + .../pokemon/palettes/lugia_shiny_palette.pal | 19 + .../pokemon/palettes/lunatone_palette.pal | 19 + .../palettes/lunatone_shiny_palette.pal | 19 + graphics/pokemon/palettes/luvdisc_palette.pal | 19 + .../palettes/luvdisc_shiny_palette.pal | 19 + graphics/pokemon/palettes/machamp_palette.pal | 19 + .../palettes/machamp_shiny_palette.pal | 19 + graphics/pokemon/palettes/machoke_palette.pal | 19 + .../palettes/machoke_shiny_palette.pal | 19 + graphics/pokemon/palettes/machop_palette.pal | 19 + .../pokemon/palettes/machop_shiny_palette.pal | 19 + graphics/pokemon/palettes/magby_palette.pal | 19 + .../pokemon/palettes/magby_shiny_palette.pal | 19 + .../pokemon/palettes/magcargo_palette.pal | 19 + .../palettes/magcargo_shiny_palette.pal | 19 + .../pokemon/palettes/magikarp_palette.pal | 19 + .../palettes/magikarp_shiny_palette.pal | 19 + graphics/pokemon/palettes/magmar_palette.pal | 19 + .../pokemon/palettes/magmar_shiny_palette.pal | 19 + .../pokemon/palettes/magnemite_palette.pal | 19 + .../palettes/magnemite_shiny_palette.pal | 19 + .../pokemon/palettes/magneton_palette.pal | 19 + .../palettes/magneton_shiny_palette.pal | 19 + .../pokemon/palettes/makuhita_palette.pal | 19 + .../palettes/makuhita_shiny_palette.pal | 19 + .../pokemon/palettes/manectric_palette.pal | 19 + .../palettes/manectric_shiny_palette.pal | 19 + graphics/pokemon/palettes/mankey_palette.pal | 19 + .../pokemon/palettes/mankey_shiny_palette.pal | 19 + graphics/pokemon/palettes/mantine_palette.pal | 19 + .../palettes/mantine_shiny_palette.pal | 19 + graphics/pokemon/palettes/mareep_palette.pal | 19 + .../pokemon/palettes/mareep_shiny_palette.pal | 19 + graphics/pokemon/palettes/marill_palette.pal | 19 + .../pokemon/palettes/marill_shiny_palette.pal | 19 + graphics/pokemon/palettes/marowak_palette.pal | 19 + .../palettes/marowak_shiny_palette.pal | 19 + .../pokemon/palettes/marshtomp_palette.pal | 19 + .../palettes/marshtomp_shiny_palette.pal | 19 + .../pokemon/palettes/masquerain_palette.pal | 19 + .../palettes/masquerain_shiny_palette.pal | 19 + graphics/pokemon/palettes/mawile_palette.pal | 19 + .../pokemon/palettes/mawile_shiny_palette.pal | 19 + .../pokemon/palettes/medicham_palette.pal | 19 + .../palettes/medicham_shiny_palette.pal | 19 + .../pokemon/palettes/meditite_palette.pal | 19 + .../palettes/meditite_shiny_palette.pal | 19 + .../pokemon/palettes/meganium_palette.pal | 19 + .../palettes/meganium_shiny_palette.pal | 19 + graphics/pokemon/palettes/meowth_palette.pal | 19 + .../pokemon/palettes/meowth_shiny_palette.pal | 19 + .../pokemon/palettes/metagross_palette.pal | 19 + .../palettes/metagross_shiny_palette.pal | 19 + graphics/pokemon/palettes/metang_palette.pal | 19 + .../pokemon/palettes/metang_shiny_palette.pal | 19 + graphics/pokemon/palettes/metapod_palette.pal | 19 + .../palettes/metapod_shiny_palette.pal | 19 + graphics/pokemon/palettes/mew_palette.pal | 19 + .../pokemon/palettes/mew_shiny_palette.pal | 19 + graphics/pokemon/palettes/mewtwo_palette.pal | 19 + .../pokemon/palettes/mewtwo_shiny_palette.pal | 19 + .../pokemon/palettes/mightyena_palette.pal | 19 + .../palettes/mightyena_shiny_palette.pal | 19 + graphics/pokemon/palettes/milotic_palette.pal | 19 + .../palettes/milotic_shiny_palette.pal | 19 + graphics/pokemon/palettes/miltank_palette.pal | 19 + .../palettes/miltank_shiny_palette.pal | 19 + graphics/pokemon/palettes/minun_palette.pal | 19 + .../pokemon/palettes/minun_shiny_palette.pal | 19 + .../pokemon/palettes/misdreavus_palette.pal | 19 + .../palettes/misdreavus_shiny_palette.pal | 19 + graphics/pokemon/palettes/moltres_palette.pal | 19 + .../palettes/moltres_shiny_palette.pal | 19 + graphics/pokemon/palettes/mr_mime_palette.pal | 19 + .../palettes/mr_mime_shiny_palette.pal | 19 + graphics/pokemon/palettes/mudkip_palette.pal | 19 + .../pokemon/palettes/mudkip_shiny_palette.pal | 19 + graphics/pokemon/palettes/muk_palette.pal | 19 + .../pokemon/palettes/muk_shiny_palette.pal | 19 + graphics/pokemon/palettes/murkrow_palette.pal | 19 + .../palettes/murkrow_shiny_palette.pal | 19 + graphics/pokemon/palettes/natu_palette.pal | 19 + .../pokemon/palettes/natu_shiny_palette.pal | 19 + .../pokemon/palettes/nidoking_palette.pal | 19 + .../palettes/nidoking_shiny_palette.pal | 19 + .../pokemon/palettes/nidoqueen_palette.pal | 19 + .../palettes/nidoqueen_shiny_palette.pal | 19 + .../pokemon/palettes/nidoran_f_palette.pal | 19 + .../palettes/nidoran_f_shiny_palette.pal | 19 + .../pokemon/palettes/nidoran_m_palette.pal | 19 + .../palettes/nidoran_m_shiny_palette.pal | 19 + .../pokemon/palettes/nidorina_palette.pal | 19 + .../palettes/nidorina_shiny_palette.pal | 19 + .../pokemon/palettes/nidorino_palette.pal | 19 + .../palettes/nidorino_shiny_palette.pal | 19 + graphics/pokemon/palettes/nincada_palette.pal | 19 + .../palettes/nincada_shiny_palette.pal | 19 + .../pokemon/palettes/ninetales_palette.pal | 19 + .../palettes/ninetales_shiny_palette.pal | 19 + graphics/pokemon/palettes/ninjask_palette.pal | 19 + .../palettes/ninjask_shiny_palette.pal | 19 + graphics/pokemon/palettes/noctowl_palette.pal | 19 + .../palettes/noctowl_shiny_palette.pal | 19 + .../pokemon/palettes/nosepass_palette.pal | 19 + .../palettes/nosepass_shiny_palette.pal | 19 + graphics/pokemon/palettes/numel_palette.pal | 19 + .../pokemon/palettes/numel_shiny_palette.pal | 19 + graphics/pokemon/palettes/nuzleaf_palette.pal | 19 + .../palettes/nuzleaf_shiny_palette.pal | 19 + .../pokemon/palettes/octillery_palette.pal | 19 + .../palettes/octillery_shiny_palette.pal | 19 + graphics/pokemon/palettes/oddish_palette.pal | 19 + .../pokemon/palettes/oddish_shiny_palette.pal | 19 + graphics/pokemon/palettes/omanyte_palette.pal | 19 + .../palettes/omanyte_shiny_palette.pal | 19 + graphics/pokemon/palettes/omastar_palette.pal | 19 + .../palettes/omastar_shiny_palette.pal | 19 + graphics/pokemon/palettes/onix_palette.pal | 19 + .../pokemon/palettes/onix_shiny_palette.pal | 19 + graphics/pokemon/palettes/paras_palette.pal | 19 + .../pokemon/palettes/paras_shiny_palette.pal | 19 + .../pokemon/palettes/parasect_palette.pal | 19 + .../palettes/parasect_shiny_palette.pal | 19 + .../pokemon/palettes/pelipper_palette.pal | 19 + .../palettes/pelipper_shiny_palette.pal | 19 + graphics/pokemon/palettes/persian_palette.pal | 19 + .../palettes/persian_shiny_palette.pal | 19 + graphics/pokemon/palettes/phanpy_palette.pal | 19 + .../pokemon/palettes/phanpy_shiny_palette.pal | 19 + graphics/pokemon/palettes/pichu_palette.pal | 19 + .../pokemon/palettes/pichu_shiny_palette.pal | 19 + graphics/pokemon/palettes/pidgeot_palette.pal | 19 + .../palettes/pidgeot_shiny_palette.pal | 19 + .../pokemon/palettes/pidgeotto_palette.pal | 19 + .../palettes/pidgeotto_shiny_palette.pal | 19 + graphics/pokemon/palettes/pidgey_palette.pal | 19 + .../pokemon/palettes/pidgey_shiny_palette.pal | 19 + graphics/pokemon/palettes/pikachu_palette.pal | 19 + .../palettes/pikachu_shiny_palette.pal | 19 + .../pokemon/palettes/piloswine_palette.pal | 19 + .../palettes/piloswine_shiny_palette.pal | 19 + graphics/pokemon/palettes/pineco_palette.pal | 19 + .../pokemon/palettes/pineco_shiny_palette.pal | 19 + graphics/pokemon/palettes/pinsir_palette.pal | 19 + .../pokemon/palettes/pinsir_shiny_palette.pal | 19 + graphics/pokemon/palettes/plusle_palette.pal | 19 + .../pokemon/palettes/plusle_shiny_palette.pal | 19 + .../pokemon/palettes/politoed_palette.pal | 19 + .../palettes/politoed_shiny_palette.pal | 19 + graphics/pokemon/palettes/poliwag_palette.pal | 19 + .../palettes/poliwag_shiny_palette.pal | 19 + .../pokemon/palettes/poliwhirl_palette.pal | 19 + .../palettes/poliwhirl_shiny_palette.pal | 19 + .../pokemon/palettes/poliwrath_palette.pal | 19 + .../palettes/poliwrath_shiny_palette.pal | 19 + graphics/pokemon/palettes/ponyta_palette.pal | 19 + .../pokemon/palettes/ponyta_shiny_palette.pal | 19 + .../pokemon/palettes/poochyena_palette.pal | 19 + .../palettes/poochyena_shiny_palette.pal | 19 + .../pokemon/palettes/porygon2_palette.pal | 19 + .../palettes/porygon2_shiny_palette.pal | 19 + graphics/pokemon/palettes/porygon_palette.pal | 19 + .../palettes/porygon_shiny_palette.pal | 19 + .../pokemon/palettes/primeape_palette.pal | 19 + .../palettes/primeape_shiny_palette.pal | 19 + graphics/pokemon/palettes/psyduck_palette.pal | 19 + .../palettes/psyduck_shiny_palette.pal | 19 + graphics/pokemon/palettes/pupitar_palette.pal | 19 + .../palettes/pupitar_shiny_palette.pal | 19 + .../pokemon/palettes/quagsire_palette.pal | 19 + .../palettes/quagsire_shiny_palette.pal | 19 + graphics/pokemon/palettes/quilava_palette.pal | 19 + .../palettes/quilava_shiny_palette.pal | 19 + .../pokemon/palettes/qwilfish_palette.pal | 19 + .../palettes/qwilfish_shiny_palette.pal | 19 + graphics/pokemon/palettes/raichu_palette.pal | 19 + .../pokemon/palettes/raichu_shiny_palette.pal | 19 + graphics/pokemon/palettes/raikou_palette.pal | 19 + .../pokemon/palettes/raikou_shiny_palette.pal | 19 + graphics/pokemon/palettes/ralts_palette.pal | 19 + .../pokemon/palettes/ralts_shiny_palette.pal | 19 + .../pokemon/palettes/rapidash_palette.pal | 19 + .../palettes/rapidash_shiny_palette.pal | 19 + .../pokemon/palettes/raticate_palette.pal | 19 + .../palettes/raticate_shiny_palette.pal | 19 + graphics/pokemon/palettes/rattata_palette.pal | 19 + .../palettes/rattata_shiny_palette.pal | 19 + .../pokemon/palettes/rayquaza_palette.pal | 19 + .../palettes/rayquaza_shiny_palette.pal | 19 + graphics/pokemon/palettes/regice_palette.pal | 19 + .../pokemon/palettes/regice_shiny_palette.pal | 19 + .../pokemon/palettes/regirock_palette.pal | 19 + .../palettes/regirock_shiny_palette.pal | 19 + .../pokemon/palettes/registeel_palette.pal | 19 + .../palettes/registeel_shiny_palette.pal | 19 + .../pokemon/palettes/relicanth_palette.pal | 19 + .../palettes/relicanth_shiny_palette.pal | 19 + .../pokemon/palettes/remoraid_palette.pal | 19 + .../palettes/remoraid_shiny_palette.pal | 19 + graphics/pokemon/palettes/rhydon_palette.pal | 19 + .../pokemon/palettes/rhydon_shiny_palette.pal | 19 + graphics/pokemon/palettes/rhyhorn_palette.pal | 19 + .../palettes/rhyhorn_shiny_palette.pal | 19 + graphics/pokemon/palettes/roselia_palette.pal | 19 + .../palettes/roselia_shiny_palette.pal | 19 + graphics/pokemon/palettes/sableye_palette.pal | 19 + .../palettes/sableye_shiny_palette.pal | 19 + .../pokemon/palettes/salamence_palette.pal | 19 + .../palettes/salamence_shiny_palette.pal | 19 + .../pokemon/palettes/sandshrew_palette.pal | 19 + .../palettes/sandshrew_shiny_palette.pal | 19 + .../pokemon/palettes/sandslash_palette.pal | 19 + .../palettes/sandslash_shiny_palette.pal | 19 + .../pokemon/palettes/sceptile_palette.pal | 19 + .../palettes/sceptile_shiny_palette.pal | 19 + graphics/pokemon/palettes/scizor_palette.pal | 19 + .../pokemon/palettes/scizor_shiny_palette.pal | 19 + graphics/pokemon/palettes/scyther_palette.pal | 19 + .../palettes/scyther_shiny_palette.pal | 19 + graphics/pokemon/palettes/seadra_palette.pal | 19 + .../pokemon/palettes/seadra_shiny_palette.pal | 19 + graphics/pokemon/palettes/seaking_palette.pal | 19 + .../palettes/seaking_shiny_palette.pal | 19 + graphics/pokemon/palettes/sealeo_palette.pal | 19 + .../pokemon/palettes/sealeo_shiny_palette.pal | 19 + graphics/pokemon/palettes/seedot_palette.pal | 19 + .../pokemon/palettes/seedot_shiny_palette.pal | 19 + graphics/pokemon/palettes/seel_palette.pal | 19 + .../pokemon/palettes/seel_shiny_palette.pal | 19 + graphics/pokemon/palettes/sentret_palette.pal | 19 + .../palettes/sentret_shiny_palette.pal | 19 + graphics/pokemon/palettes/seviper_palette.pal | 19 + .../palettes/seviper_shiny_palette.pal | 19 + .../pokemon/palettes/sharpedo_palette.pal | 19 + .../palettes/sharpedo_shiny_palette.pal | 19 + .../pokemon/palettes/shedinja_palette.pal | 19 + .../palettes/shedinja_shiny_palette.pal | 19 + graphics/pokemon/palettes/shelgon_palette.pal | 19 + .../palettes/shelgon_shiny_palette.pal | 19 + .../pokemon/palettes/shellder_palette.pal | 19 + .../palettes/shellder_shiny_palette.pal | 19 + graphics/pokemon/palettes/shiftry_palette.pal | 19 + .../palettes/shiftry_shiny_palette.pal | 19 + .../pokemon/palettes/shroomish_palette.pal | 19 + .../palettes/shroomish_shiny_palette.pal | 19 + graphics/pokemon/palettes/shuckle_palette.pal | 19 + .../palettes/shuckle_shiny_palette.pal | 19 + graphics/pokemon/palettes/shuppet_palette.pal | 19 + .../palettes/shuppet_shiny_palette.pal | 19 + graphics/pokemon/palettes/silcoon_palette.pal | 19 + .../palettes/silcoon_shiny_palette.pal | 19 + .../pokemon/palettes/skarmory_palette.pal | 19 + .../palettes/skarmory_shiny_palette.pal | 19 + .../pokemon/palettes/skiploom_palette.pal | 19 + .../palettes/skiploom_shiny_palette.pal | 19 + graphics/pokemon/palettes/skitty_palette.pal | 19 + .../pokemon/palettes/skitty_shiny_palette.pal | 19 + graphics/pokemon/palettes/slaking_palette.pal | 19 + .../palettes/slaking_shiny_palette.pal | 19 + graphics/pokemon/palettes/slakoth_palette.pal | 19 + .../palettes/slakoth_shiny_palette.pal | 19 + graphics/pokemon/palettes/slowbro_palette.pal | 19 + .../palettes/slowbro_shiny_palette.pal | 19 + .../pokemon/palettes/slowking_palette.pal | 19 + .../palettes/slowking_shiny_palette.pal | 19 + .../pokemon/palettes/slowpoke_palette.pal | 19 + .../palettes/slowpoke_shiny_palette.pal | 19 + graphics/pokemon/palettes/slugma_palette.pal | 19 + .../pokemon/palettes/slugma_shiny_palette.pal | 19 + .../pokemon/palettes/smeargle_palette.pal | 19 + .../palettes/smeargle_shiny_palette.pal | 19 + .../pokemon/palettes/smoochum_palette.pal | 19 + .../palettes/smoochum_shiny_palette.pal | 19 + graphics/pokemon/palettes/sneasel_palette.pal | 19 + .../palettes/sneasel_shiny_palette.pal | 19 + graphics/pokemon/palettes/snorlax_palette.pal | 19 + .../palettes/snorlax_shiny_palette.pal | 19 + graphics/pokemon/palettes/snorunt_palette.pal | 19 + .../palettes/snorunt_shiny_palette.pal | 19 + .../pokemon/palettes/snubbull_palette.pal | 19 + .../palettes/snubbull_shiny_palette.pal | 19 + graphics/pokemon/palettes/solrock_palette.pal | 19 + .../palettes/solrock_shiny_palette.pal | 19 + graphics/pokemon/palettes/spearow_palette.pal | 19 + .../palettes/spearow_shiny_palette.pal | 19 + graphics/pokemon/palettes/spheal_palette.pal | 19 + .../pokemon/palettes/spheal_shiny_palette.pal | 19 + .../pokemon/palettes/spinarak_palette.pal | 19 + .../palettes/spinarak_shiny_palette.pal | 19 + graphics/pokemon/palettes/spinda_palette.pal | 19 + .../pokemon/palettes/spinda_shiny_palette.pal | 19 + graphics/pokemon/palettes/spoink_palette.pal | 19 + .../pokemon/palettes/spoink_shiny_palette.pal | 19 + .../pokemon/palettes/squirtle_palette.pal | 19 + .../palettes/squirtle_shiny_palette.pal | 19 + .../pokemon/palettes/stantler_palette.pal | 19 + .../palettes/stantler_shiny_palette.pal | 19 + graphics/pokemon/palettes/starmie_palette.pal | 19 + .../palettes/starmie_shiny_palette.pal | 19 + graphics/pokemon/palettes/staryu_palette.pal | 19 + .../pokemon/palettes/staryu_shiny_palette.pal | 19 + graphics/pokemon/palettes/steelix_palette.pal | 19 + .../palettes/steelix_shiny_palette.pal | 19 + .../pokemon/palettes/sudowoodo_palette.pal | 19 + .../palettes/sudowoodo_shiny_palette.pal | 19 + graphics/pokemon/palettes/suicune_palette.pal | 19 + .../palettes/suicune_shiny_palette.pal | 19 + .../pokemon/palettes/sunflora_palette.pal | 19 + .../palettes/sunflora_shiny_palette.pal | 19 + graphics/pokemon/palettes/sunkern_palette.pal | 19 + .../palettes/sunkern_shiny_palette.pal | 19 + graphics/pokemon/palettes/surskit_palette.pal | 19 + .../palettes/surskit_shiny_palette.pal | 19 + graphics/pokemon/palettes/swablu_palette.pal | 19 + .../pokemon/palettes/swablu_shiny_palette.pal | 19 + graphics/pokemon/palettes/swalot_palette.pal | 19 + .../pokemon/palettes/swalot_shiny_palette.pal | 19 + .../pokemon/palettes/swampert_palette.pal | 19 + .../palettes/swampert_shiny_palette.pal | 19 + graphics/pokemon/palettes/swellow_palette.pal | 19 + .../palettes/swellow_shiny_palette.pal | 19 + graphics/pokemon/palettes/swinub_palette.pal | 19 + .../pokemon/palettes/swinub_shiny_palette.pal | 19 + graphics/pokemon/palettes/taillow_palette.pal | 19 + .../palettes/taillow_shiny_palette.pal | 19 + graphics/pokemon/palettes/tangela_palette.pal | 19 + .../palettes/tangela_shiny_palette.pal | 19 + graphics/pokemon/palettes/tauros_palette.pal | 19 + .../pokemon/palettes/tauros_shiny_palette.pal | 19 + .../pokemon/palettes/teddiursa_palette.pal | 19 + .../palettes/teddiursa_shiny_palette.pal | 19 + .../pokemon/palettes/tentacool_palette.pal | 19 + .../palettes/tentacool_shiny_palette.pal | 19 + .../pokemon/palettes/tentacruel_palette.pal | 19 + .../palettes/tentacruel_shiny_palette.pal | 19 + graphics/pokemon/palettes/togepi_palette.pal | 19 + .../pokemon/palettes/togepi_shiny_palette.pal | 19 + graphics/pokemon/palettes/togetic_palette.pal | 19 + .../palettes/togetic_shiny_palette.pal | 19 + graphics/pokemon/palettes/torchic_palette.pal | 19 + .../palettes/torchic_shiny_palette.pal | 19 + graphics/pokemon/palettes/torkoal_palette.pal | 19 + .../palettes/torkoal_shiny_palette.pal | 19 + .../pokemon/palettes/totodile_palette.pal | 19 + .../palettes/totodile_shiny_palette.pal | 19 + .../pokemon/palettes/trapinch_palette.pal | 19 + .../palettes/trapinch_shiny_palette.pal | 19 + graphics/pokemon/palettes/treecko_palette.pal | 19 + .../palettes/treecko_shiny_palette.pal | 19 + graphics/pokemon/palettes/tropius_palette.pal | 19 + .../palettes/tropius_shiny_palette.pal | 19 + .../pokemon/palettes/typhlosion_palette.pal | 19 + .../palettes/typhlosion_shiny_palette.pal | 19 + .../pokemon/palettes/tyranitar_palette.pal | 19 + .../palettes/tyranitar_shiny_palette.pal | 19 + graphics/pokemon/palettes/tyrogue_palette.pal | 19 + .../palettes/tyrogue_shiny_palette.pal | 19 + graphics/pokemon/palettes/umbreon_palette.pal | 19 + .../palettes/umbreon_shiny_palette.pal | 19 + graphics/pokemon/palettes/unown_palette.pal | 19 + .../pokemon/palettes/unown_shiny_palette.pal | 19 + .../pokemon/palettes/ursaring_palette.pal | 19 + .../palettes/ursaring_shiny_palette.pal | 19 + .../pokemon/palettes/vaporeon_palette.pal | 19 + .../palettes/vaporeon_shiny_palette.pal | 19 + .../pokemon/palettes/venomoth_palette.pal | 19 + .../palettes/venomoth_shiny_palette.pal | 19 + graphics/pokemon/palettes/venonat_palette.pal | 19 + .../palettes/venonat_shiny_palette.pal | 19 + .../pokemon/palettes/venusaur_palette.pal | 19 + .../palettes/venusaur_shiny_palette.pal | 19 + graphics/pokemon/palettes/vibrava_palette.pal | 19 + .../palettes/vibrava_shiny_palette.pal | 19 + .../pokemon/palettes/victreebel_palette.pal | 19 + .../palettes/victreebel_shiny_palette.pal | 19 + .../pokemon/palettes/vigoroth_palette.pal | 19 + .../palettes/vigoroth_shiny_palette.pal | 19 + .../pokemon/palettes/vileplume_palette.pal | 19 + .../palettes/vileplume_shiny_palette.pal | 19 + graphics/pokemon/palettes/volbeat_palette.pal | 19 + .../palettes/volbeat_shiny_palette.pal | 19 + graphics/pokemon/palettes/voltorb_palette.pal | 19 + .../palettes/voltorb_shiny_palette.pal | 19 + graphics/pokemon/palettes/vulpix_palette.pal | 19 + .../pokemon/palettes/vulpix_shiny_palette.pal | 19 + graphics/pokemon/palettes/wailmer_palette.pal | 19 + .../palettes/wailmer_shiny_palette.pal | 19 + graphics/pokemon/palettes/wailord_palette.pal | 19 + .../palettes/wailord_shiny_palette.pal | 19 + graphics/pokemon/palettes/walrein_palette.pal | 19 + .../palettes/walrein_shiny_palette.pal | 19 + .../pokemon/palettes/wartortle_palette.pal | 19 + .../palettes/wartortle_shiny_palette.pal | 19 + graphics/pokemon/palettes/weedle_palette.pal | 19 + .../pokemon/palettes/weedle_shiny_palette.pal | 19 + .../pokemon/palettes/weepinbell_palette.pal | 19 + .../palettes/weepinbell_shiny_palette.pal | 19 + graphics/pokemon/palettes/weezing_palette.pal | 19 + .../palettes/weezing_shiny_palette.pal | 19 + .../pokemon/palettes/whiscash_palette.pal | 19 + .../palettes/whiscash_shiny_palette.pal | 19 + graphics/pokemon/palettes/whismur_palette.pal | 19 + .../palettes/whismur_shiny_palette.pal | 19 + .../pokemon/palettes/wigglytuff_palette.pal | 19 + .../palettes/wigglytuff_shiny_palette.pal | 19 + graphics/pokemon/palettes/wingull_palette.pal | 19 + .../palettes/wingull_shiny_palette.pal | 19 + .../pokemon/palettes/wobbuffet_palette.pal | 19 + .../palettes/wobbuffet_shiny_palette.pal | 19 + graphics/pokemon/palettes/wooper_palette.pal | 19 + .../pokemon/palettes/wooper_shiny_palette.pal | 19 + graphics/pokemon/palettes/wurmple_palette.pal | 19 + .../palettes/wurmple_shiny_palette.pal | 19 + graphics/pokemon/palettes/wynaut_palette.pal | 19 + .../pokemon/palettes/wynaut_shiny_palette.pal | 19 + graphics/pokemon/palettes/xatu_palette.pal | 19 + .../pokemon/palettes/xatu_shiny_palette.pal | 19 + graphics/pokemon/palettes/yanma_palette.pal | 19 + .../pokemon/palettes/yanma_shiny_palette.pal | 19 + .../pokemon/palettes/zangoose_palette.pal | 19 + .../palettes/zangoose_shiny_palette.pal | 19 + graphics/pokemon/palettes/zapdos_palette.pal | 19 + .../pokemon/palettes/zapdos_shiny_palette.pal | 19 + .../pokemon/palettes/zigzagoon_palette.pal | 19 + .../palettes/zigzagoon_shiny_palette.pal | 19 + graphics/pokemon/palettes/zubat_palette.pal | 19 + .../pokemon/palettes/zubat_shiny_palette.pal | 19 + graphics/trainers/back_pics/leaf_back_pic.png | Bin 0 -> 2352 bytes .../trainers/back_pics/old_man_back_pic.png | Bin 0 -> 1739 bytes .../trainers/back_pics/pokedude_back_pic.png | Bin 0 -> 1921 bytes graphics/trainers/back_pics/red_back_pic.png | Bin 0 -> 2270 bytes .../ruby_sapphire_brendan_back_pic.png | Bin 0 -> 2197 bytes .../back_pics/ruby_sapphire_may_back_pic.png | Bin 0 -> 2223 bytes .../front_pics/aqua_admin_f_front_pic.png | Bin 0 -> 838 bytes .../front_pics/aqua_admin_m_front_pic.png | Bin 0 -> 800 bytes .../front_pics/aqua_grunt_f_front_pic.png | Bin 0 -> 722 bytes .../front_pics/aqua_grunt_m_front_pic.png | Bin 0 -> 726 bytes .../aqua_leader_archie_front_pic.png | Bin 0 -> 684 bytes .../arena_tycoon_greta_front_pic.png | Bin 0 -> 702 bytes .../front_pics/aroma_lady_front_pic.png | Bin 0 -> 769 bytes .../front_pics/battle_girl_front_pic.png | Bin 0 -> 702 bytes .../trainers/front_pics/beauty_front_pic.png | Bin 0 -> 738 bytes .../trainers/front_pics/biker_front_pic.png | Bin 0 -> 1179 bytes .../front_pics/bird_keeper_front_pic.png | Bin 0 -> 829 bytes .../front_pics/black_belt_front_pic.png | Bin 0 -> 888 bytes .../trainers/front_pics/blue_1_front_pic.png | Bin 0 -> 598 bytes .../trainers/front_pics/blue_2_front_pic.png | Bin 0 -> 646 bytes .../trainers/front_pics/brendan_front_pic.png | Bin 0 -> 698 bytes .../front_pics/bug_catcher_front_pic.png | Bin 0 -> 747 bytes .../front_pics/bug_maniac_front_pic.png | Bin 0 -> 932 bytes .../trainers/front_pics/burglar_front_pic.png | Bin 0 -> 726 bytes .../trainers/front_pics/camper_front_pic.png | Bin 0 -> 614 bytes .../front_pics/champion_blue_front_pic.png | Bin 0 -> 644 bytes .../front_pics/champion_wallace_front_pic.png | Bin 0 -> 978 bytes .../front_pics/channeler_front_pic.png | Bin 0 -> 834 bytes .../front_pics/collector_front_pic.png | Bin 0 -> 852 bytes .../front_pics/cool_couple_front_pic.png | Bin 0 -> 1072 bytes .../front_pics/cool_trainer_f_front_pic.png | Bin 0 -> 715 bytes .../front_pics/cool_trainer_m_front_pic.png | Bin 0 -> 598 bytes .../front_pics/crush_girl_front_pic.png | Bin 0 -> 669 bytes .../front_pics/crush_kin_front_pic.png | Bin 0 -> 1227 bytes .../cycling_triathlete_f_front_pic.png | Bin 0 -> 890 bytes .../cycling_triathlete_m_front_pic.png | Bin 0 -> 900 bytes .../front_pics/dome_ace_tucker_front_pic.png | Bin 0 -> 906 bytes .../front_pics/dragon_tamer_front_pic.png | Bin 0 -> 710 bytes .../elite_four_agatha_front_pic.png | Bin 0 -> 692 bytes .../front_pics/elite_four_bruno_front_pic.png | Bin 0 -> 916 bytes .../front_pics/elite_four_drake_front_pic.png | Bin 0 -> 828 bytes .../elite_four_glacia_front_pic.png | Bin 0 -> 797 bytes .../front_pics/elite_four_lance_front_pic.png | Bin 0 -> 834 bytes .../elite_four_lorelei_front_pic.png | Bin 0 -> 709 bytes .../elite_four_phoebe_front_pic.png | Bin 0 -> 661 bytes .../elite_four_sidney_front_pic.png | Bin 0 -> 696 bytes .../emerald_aroma_lady_front_pic.png | Bin 0 -> 619 bytes .../front_pics/emerald_beauty_front_pic.png | Bin 0 -> 662 bytes .../emerald_bird_keeper_front_pic.png | Bin 0 -> 698 bytes .../emerald_black_belt_front_pic.png | Bin 0 -> 735 bytes .../emerald_bug_catcher_front_pic.png | Bin 0 -> 682 bytes .../front_pics/emerald_camper_front_pic.png | Bin 0 -> 629 bytes .../emerald_cool_trainer_f_front_pic.png | Bin 0 -> 681 bytes .../emerald_cool_trainer_m_front_pic.png | Bin 0 -> 627 bytes .../emerald_fisherman_front_pic.png | Bin 0 -> 889 bytes .../emerald_gentleman_front_pic.png | Bin 0 -> 647 bytes .../front_pics/emerald_hiker_front_pic.png | Bin 0 -> 952 bytes .../front_pics/emerald_lady_front_pic.png | Bin 0 -> 825 bytes .../front_pics/emerald_lass_front_pic.png | Bin 0 -> 617 bytes .../emerald_picnicker_front_pic.png | Bin 0 -> 633 bytes .../emerald_pokemaniac_front_pic.png | Bin 0 -> 793 bytes .../emerald_pokemon_breeder_f_front_pic.png | Bin 0 -> 742 bytes .../emerald_pokemon_breeder_m_front_pic.png | Bin 0 -> 709 bytes .../emerald_pokemon_ranger_f_front_pic.png | Bin 0 -> 710 bytes .../emerald_pokemon_ranger_m_front_pic.png | Bin 0 -> 709 bytes .../emerald_psychic_f_front_pic.png | Bin 0 -> 668 bytes .../emerald_psychic_m_front_pic.png | Bin 0 -> 690 bytes .../emerald_ruin_maniac_front_pic.png | Bin 0 -> 782 bytes .../front_pics/emerald_sailor_front_pic.png | Bin 0 -> 801 bytes .../emerald_sis_and_bro_front_pic.png | Bin 0 -> 934 bytes .../emerald_swimmer_f_front_pic.png | Bin 0 -> 617 bytes .../emerald_swimmer_m_front_pic.png | Bin 0 -> 584 bytes .../front_pics/emerald_tuber_f_front_pic.png | Bin 0 -> 557 bytes .../front_pics/emerald_tuber_m_front_pic.png | Bin 0 -> 548 bytes .../front_pics/emerald_twins_front_pic.png | Bin 0 -> 829 bytes .../emerald_young_couple_front_pic.png | Bin 0 -> 805 bytes .../emerald_youngster_front_pic.png | Bin 0 -> 564 bytes .../front_pics/engineer_front_pic.png | Bin 0 -> 897 bytes .../front_pics/expert_f_front_pic.png | Bin 0 -> 670 bytes .../front_pics/expert_m_front_pic.png | Bin 0 -> 706 bytes .../factory_head_noland_front_pic.png | Bin 0 -> 736 bytes .../front_pics/fisherman_front_pic.png | Bin 0 -> 841 bytes .../trainers/front_pics/gamer_front_pic.png | Bin 0 -> 754 bytes .../front_pics/gentleman_front_pic.png | Bin 0 -> 691 bytes .../front_pics/giovanni_front_pic.png | Bin 0 -> 653 bytes .../front_pics/guitarist_front_pic.png | Bin 0 -> 765 bytes .../front_pics/hex_maniac_front_pic.png | Bin 0 -> 719 bytes .../trainers/front_pics/hiker_front_pic.png | Bin 0 -> 939 bytes .../front_pics/interviewer_front_pic.png | Bin 0 -> 1032 bytes .../trainers/front_pics/juggler_front_pic.png | Bin 0 -> 921 bytes .../trainers/front_pics/kindler_front_pic.png | Bin 0 -> 745 bytes .../trainers/front_pics/lady_front_pic.png | Bin 0 -> 717 bytes .../trainers/front_pics/lass_front_pic.png | Bin 0 -> 662 bytes .../front_pics/leader_blaine_front_pic.png | Bin 0 -> 849 bytes .../front_pics/leader_brawly_front_pic.png | Bin 0 -> 799 bytes .../front_pics/leader_brock_front_pic.png | Bin 0 -> 713 bytes .../front_pics/leader_erika_front_pic.png | Bin 0 -> 645 bytes .../front_pics/leader_flannery_front_pic.png | Bin 0 -> 770 bytes .../front_pics/leader_juan_front_pic.png | Bin 0 -> 820 bytes .../front_pics/leader_koga_front_pic.png | Bin 0 -> 726 bytes .../front_pics/leader_lt_surge_front_pic.png | Bin 0 -> 770 bytes .../front_pics/leader_misty_front_pic.png | Bin 0 -> 659 bytes .../front_pics/leader_norman_front_pic.png | Bin 0 -> 692 bytes .../front_pics/leader_roxanne_front_pic.png | Bin 0 -> 631 bytes .../front_pics/leader_sabrina_front_pic.png | Bin 0 -> 703 bytes .../leader_tate_and_liza_front_pic.png | Bin 0 -> 936 bytes .../front_pics/leader_wattson_front_pic.png | Bin 0 -> 720 bytes .../front_pics/leader_winona_front_pic.png | Bin 0 -> 784 bytes .../trainers/front_pics/leaf_front_pic.png | Bin 0 -> 722 bytes .../front_pics/magma_admin_front_pic.png | Bin 0 -> 841 bytes .../front_pics/magma_grunt_f_front_pic.png | Bin 0 -> 789 bytes .../front_pics/magma_grunt_m_front_pic.png | Bin 0 -> 751 bytes .../magma_leader_maxie_front_pic.png | Bin 0 -> 649 bytes .../trainers/front_pics/may_front_pic.png | Bin 0 -> 689 bytes .../front_pics/ninja_boy_front_pic.png | Bin 0 -> 632 bytes .../trainers/front_pics/oak_front_pic.png | Bin 0 -> 761 bytes .../front_pics/old_couple_front_pic.png | Bin 0 -> 1097 bytes .../trainers/front_pics/painter_front_pic.png | Bin 0 -> 630 bytes .../palace_maven_spenser_front_pic.png | Bin 0 -> 802 bytes .../front_pics/parasol_lady_front_pic.png | Bin 0 -> 710 bytes .../front_pics/picnicker_front_pic.png | Bin 0 -> 626 bytes .../front_pics/pike_queen_lucy_front_pic.png | Bin 0 -> 678 bytes .../front_pics/pokemaniac_front_pic.png | Bin 0 -> 821 bytes .../front_pics/pokemon_breeder_front_pic.png | Bin 0 -> 699 bytes .../front_pics/pokemon_ranger_f_front_pic.png | Bin 0 -> 709 bytes .../front_pics/pokemon_ranger_m_front_pic.png | Bin 0 -> 746 bytes .../front_pics/psychic_f_front_pic.png | Bin 0 -> 811 bytes .../front_pics/psychic_m_front_pic.png | Bin 0 -> 754 bytes .../pyramid_king_brandon_front_pic.png | Bin 0 -> 721 bytes .../trainers/front_pics/red_front_pic.png | Bin 0 -> 691 bytes .../front_pics/rich_boy_front_pic.png | Bin 0 -> 580 bytes .../trainers/front_pics/rocker_front_pic.png | Bin 0 -> 953 bytes .../front_pics/rocket_grunt_f_front_pic.png | Bin 0 -> 675 bytes .../front_pics/rocket_grunt_m_front_pic.png | Bin 0 -> 673 bytes .../front_pics/roughneck_front_pic.png | Bin 0 -> 1225 bytes .../ruby_magma_admin_f_front_pic.png | Bin 0 -> 782 bytes .../ruby_sapphire_brendan_front_pic.png | Bin 0 -> 688 bytes ...by_sapphire_champion_wallace_front_pic.png | Bin 0 -> 791 bytes .../ruby_sapphire_may_front_pic.png | Bin 0 -> 683 bytes .../front_pics/ruin_maniac_front_pic.png | Bin 0 -> 870 bytes .../running_triathlete_f_front_pic.png | Bin 0 -> 585 bytes .../running_triathlete_m_front_pic.png | Bin 0 -> 586 bytes .../trainers/front_pics/sailor_front_pic.png | Bin 0 -> 685 bytes .../salon_maiden_anabel_front_pic.png | Bin 0 -> 667 bytes .../front_pics/school_kid_f_front_pic.png | Bin 0 -> 548 bytes .../front_pics/school_kid_m_front_pic.png | Bin 0 -> 606 bytes .../front_pics/scientist_front_pic.png | Bin 0 -> 866 bytes .../front_pics/sis_and_bro_front_pic.png | Bin 0 -> 958 bytes .../front_pics/sr_and_jr_front_pic.png | Bin 0 -> 1005 bytes .../trainers/front_pics/steven_front_pic.png | Bin 0 -> 703 bytes .../front_pics/super_nerd_front_pic.png | Bin 0 -> 672 bytes .../front_pics/swimmer_f_front_pic.png | Bin 0 -> 646 bytes .../front_pics/swimmer_m_front_pic.png | Bin 0 -> 602 bytes .../swimming_triathlete_f_front_pic.png | Bin 0 -> 624 bytes .../swimming_triathlete_m_front_pic.png | Bin 0 -> 675 bytes .../trainers/front_pics/tamer_front_pic.png | Bin 0 -> 848 bytes .../trainers/front_pics/tuber_front_pic.png | Bin 0 -> 651 bytes .../trainers/front_pics/twins_front_pic.png | Bin 0 -> 726 bytes .../trainers/front_pics/wally_front_pic.png | Bin 0 -> 616 bytes .../front_pics/winstrate_f_front_pic.png | Bin 0 -> 849 bytes .../front_pics/winstrate_m_front_pic.png | Bin 0 -> 786 bytes .../front_pics/young_couple_front_pic.png | Bin 0 -> 959 bytes .../front_pics/youngster_front_pic.png | Bin 0 -> 579 bytes graphics/trainers/palettes/aqua_admin_f.pal | 19 + graphics/trainers/palettes/aqua_admin_m.pal | 19 + graphics/trainers/palettes/aqua_grunt_f.pal | 19 + graphics/trainers/palettes/aqua_grunt_m.pal | 19 + .../trainers/palettes/aqua_leader_archie.pal | 19 + .../trainers/palettes/arena_tycoon_greta.pal | 19 + graphics/trainers/palettes/aroma_lady.pal | 19 + graphics/trainers/palettes/battle_girl.pal | 19 + graphics/trainers/palettes/beauty.pal | 19 + graphics/trainers/palettes/biker.pal | 19 + graphics/trainers/palettes/bird_keeper.pal | 19 + graphics/trainers/palettes/black_belt.pal | 19 + graphics/trainers/palettes/blue_1.pal | 19 + graphics/trainers/palettes/blue_2.pal | 19 + graphics/trainers/palettes/brendan.pal | 19 + graphics/trainers/palettes/bug_catcher.pal | 19 + graphics/trainers/palettes/bug_maniac.pal | 19 + graphics/trainers/palettes/burglar.pal | 19 + graphics/trainers/palettes/camper.pal | 19 + graphics/trainers/palettes/champion_blue.pal | 19 + .../trainers/palettes/champion_wallace.pal | 19 + graphics/trainers/palettes/channeler.pal | 19 + graphics/trainers/palettes/collector.pal | 19 + graphics/trainers/palettes/cool_couple.pal | 19 + graphics/trainers/palettes/cool_trainer_f.pal | 19 + graphics/trainers/palettes/cool_trainer_m.pal | 19 + graphics/trainers/palettes/crush_girl.pal | 19 + graphics/trainers/palettes/crush_kin.pal | 19 + .../palettes/cycling_triathlete_f.pal | 19 + .../palettes/cycling_triathlete_m.pal | 19 + .../trainers/palettes/dome_ace_tucker.pal | 19 + graphics/trainers/palettes/dragon_tamer.pal | 19 + .../trainers/palettes/elite_four_agatha.pal | 19 + .../trainers/palettes/elite_four_bruno.pal | 19 + .../trainers/palettes/elite_four_drake.pal | 19 + .../trainers/palettes/elite_four_glacia.pal | 19 + .../trainers/palettes/elite_four_lance.pal | 19 + .../trainers/palettes/elite_four_lorelei.pal | 19 + .../trainers/palettes/elite_four_phoebe.pal | 19 + .../trainers/palettes/elite_four_sidney.pal | 19 + .../trainers/palettes/emerald_aroma_lady.pal | 19 + graphics/trainers/palettes/emerald_beauty.pal | 19 + .../trainers/palettes/emerald_bird_keeper.pal | 19 + .../trainers/palettes/emerald_bug_catcher.pal | 19 + graphics/trainers/palettes/emerald_camper.pal | 19 + .../palettes/emerald_cool_trainer_f.pal | 19 + .../palettes/emerald_cool_trainer_m.pal | 19 + .../trainers/palettes/emerald_fisherman.pal | 19 + .../trainers/palettes/emerald_gentleman.pal | 19 + graphics/trainers/palettes/emerald_hiker.pal | 19 + graphics/trainers/palettes/emerald_lady.pal | 19 + graphics/trainers/palettes/emerald_lass.pal | 19 + .../palettes/emerald_leaf_back_pic.pal | 19 + .../trainers/palettes/emerald_picnicker.pal | 19 + .../trainers/palettes/emerald_pokemaniac.pal | 19 + .../palettes/emerald_pokemon_breeder_f.pal | 19 + .../palettes/emerald_pokemon_breeder_m.pal | 19 + .../palettes/emerald_pokemon_ranger_f.pal | 19 + .../palettes/emerald_pokemon_ranger_m.pal | 19 + .../trainers/palettes/emerald_psychic_f.pal | 19 + .../trainers/palettes/emerald_psychic_m.pal | 19 + .../palettes/emerald_red_back_pic.pal | 19 + .../trainers/palettes/emerald_ruin_maniac.pal | 19 + graphics/trainers/palettes/emerald_sailor.pal | 19 + .../trainers/palettes/emerald_sis_and_bro.pal | 19 + .../trainers/palettes/emerald_swimmer_f.pal | 19 + .../trainers/palettes/emerald_swimmer_m.pal | 19 + .../trainers/palettes/emerald_tuber_f.pal | 19 + .../trainers/palettes/emerald_tuber_m.pal | 19 + graphics/trainers/palettes/emerald_twins.pal | 19 + .../palettes/emerald_young_couple.pal | 19 + .../trainers/palettes/emerald_youngster.pal | 19 + graphics/trainers/palettes/engineer.pal | 19 + graphics/trainers/palettes/expert_f.pal | 19 + graphics/trainers/palettes/expert_m.pal | 19 + .../trainers/palettes/factory_head_noland.pal | 19 + graphics/trainers/palettes/fisherman.pal | 19 + graphics/trainers/palettes/gamer.pal | 19 + graphics/trainers/palettes/gentleman.pal | 19 + graphics/trainers/palettes/giovanni.pal | 19 + graphics/trainers/palettes/guitarist.pal | 19 + graphics/trainers/palettes/hex_maniac.pal | 19 + graphics/trainers/palettes/hiker.pal | 19 + graphics/trainers/palettes/interviewer.pal | 19 + graphics/trainers/palettes/juggler.pal | 19 + graphics/trainers/palettes/kindler.pal | 19 + graphics/trainers/palettes/lady.pal | 19 + graphics/trainers/palettes/lass.pal | 19 + graphics/trainers/palettes/leader_blaine.pal | 19 + graphics/trainers/palettes/leader_brawly.pal | 19 + graphics/trainers/palettes/leader_brock.pal | 19 + graphics/trainers/palettes/leader_erika.pal | 19 + .../trainers/palettes/leader_flannery.pal | 19 + graphics/trainers/palettes/leader_juan.pal | 19 + graphics/trainers/palettes/leader_koga.pal | 19 + .../trainers/palettes/leader_lt_surge.pal | 19 + graphics/trainers/palettes/leader_misty.pal | 19 + graphics/trainers/palettes/leader_norman.pal | 19 + graphics/trainers/palettes/leader_roxanne.pal | 19 + graphics/trainers/palettes/leader_sabrina.pal | 19 + .../palettes/leader_tate_and_liza.pal | 19 + graphics/trainers/palettes/leader_wattson.pal | 19 + graphics/trainers/palettes/leader_winona.pal | 19 + graphics/trainers/palettes/leaf.pal | 19 + graphics/trainers/palettes/leaf_back_pic.pal | 19 + graphics/trainers/palettes/magma_admin.pal | 19 + graphics/trainers/palettes/magma_grunt_f.pal | 19 + graphics/trainers/palettes/magma_grunt_m.pal | 19 + .../trainers/palettes/magma_leader_maxie.pal | 19 + graphics/trainers/palettes/may.pal | 19 + graphics/trainers/palettes/ninja_boy.pal | 19 + graphics/trainers/palettes/oak.pal | 19 + graphics/trainers/palettes/old_couple.pal | 19 + .../trainers/palettes/old_man_back_pic.pal | 19 + graphics/trainers/palettes/painter.pal | 19 + .../palettes/palace_maven_spenser.pal | 19 + graphics/trainers/palettes/parasol_lady.pal | 19 + graphics/trainers/palettes/picnicker.pal | 19 + .../trainers/palettes/pike_queen_lucy.pal | 19 + .../trainers/palettes/pokedude_back_pic.pal | 19 + graphics/trainers/palettes/pokemaniac.pal | 19 + .../trainers/palettes/pokemon_breeder.pal | 19 + .../trainers/palettes/pokemon_ranger_f.pal | 19 + .../trainers/palettes/pokemon_ranger_m.pal | 19 + graphics/trainers/palettes/psychic_f.pal | 19 + graphics/trainers/palettes/psychic_m.pal | 19 + .../palettes/pyramid_king_brandon.pal | 19 + graphics/trainers/palettes/red.pal | 19 + graphics/trainers/palettes/red_back_pic.pal | 19 + graphics/trainers/palettes/rich_boy.pal | 19 + graphics/trainers/palettes/rocker.pal | 19 + graphics/trainers/palettes/rocket_grunt_f.pal | 19 + graphics/trainers/palettes/rocket_grunt_m.pal | 19 + graphics/trainers/palettes/roughneck.pal | 19 + .../trainers/palettes/ruby_magma_admin_f.pal | 19 + .../palettes/ruby_sapphire_brendan.pal | 19 + .../trainers/palettes/ruby_sapphire_may.pal | 19 + graphics/trainers/palettes/ruin_maniac.pal | 19 + .../palettes/running_triathlete_f.pal | 19 + .../palettes/running_triathlete_m.pal | 19 + graphics/trainers/palettes/sailor.pal | 19 + .../trainers/palettes/salon_maiden_anabel.pal | 19 + graphics/trainers/palettes/school_kid_f.pal | 19 + graphics/trainers/palettes/school_kid_m.pal | 19 + graphics/trainers/palettes/scientist.pal | 19 + graphics/trainers/palettes/sis_and_bro.pal | 19 + graphics/trainers/palettes/sr_and_jr.pal | 19 + graphics/trainers/palettes/steven.pal | 19 + graphics/trainers/palettes/super_nerd.pal | 19 + graphics/trainers/palettes/swimmer_f.pal | 19 + graphics/trainers/palettes/swimmer_m.pal | 19 + .../palettes/swimming_triathlete_f.pal | 19 + .../palettes/swimming_triathlete_m.pal | 19 + graphics/trainers/palettes/tamer.pal | 19 + graphics/trainers/palettes/tuber.pal | 19 + graphics/trainers/palettes/twins.pal | 19 + graphics/trainers/palettes/wally.pal | 19 + graphics/trainers/palettes/winstrate_f.pal | 19 + graphics/trainers/palettes/winstrate_m.pal | 19 + graphics/trainers/palettes/young_couple.pal | 19 + graphics/trainers/palettes/youngster.pal | 19 + 2750 files changed, 31920 insertions(+), 13 deletions(-) create mode 100644 graphics/pokemon/back_pics/abra_back_pic.png create mode 100644 graphics/pokemon/back_pics/absol_back_pic.png create mode 100644 graphics/pokemon/back_pics/aerodactyl_back_pic.png create mode 100644 graphics/pokemon/back_pics/aggron_back_pic.png create mode 100644 graphics/pokemon/back_pics/aipom_back_pic.png create mode 100644 graphics/pokemon/back_pics/alakazam_back_pic.png create mode 100644 graphics/pokemon/back_pics/altaria_back_pic.png create mode 100644 graphics/pokemon/back_pics/ampharos_back_pic.png create mode 100644 graphics/pokemon/back_pics/anorith_back_pic.png create mode 100644 graphics/pokemon/back_pics/arbok_back_pic.png create mode 100644 graphics/pokemon/back_pics/arcanine_back_pic.png create mode 100644 graphics/pokemon/back_pics/ariados_back_pic.png create mode 100644 graphics/pokemon/back_pics/armaldo_back_pic.png create mode 100644 graphics/pokemon/back_pics/aron_back_pic.png create mode 100644 graphics/pokemon/back_pics/articuno_back_pic.png create mode 100644 graphics/pokemon/back_pics/azumarill_back_pic.png create mode 100644 graphics/pokemon/back_pics/azurill_back_pic.png create mode 100644 graphics/pokemon/back_pics/bagon_back_pic.png create mode 100644 graphics/pokemon/back_pics/baltoy_back_pic.png create mode 100644 graphics/pokemon/back_pics/banette_back_pic.png create mode 100644 graphics/pokemon/back_pics/barboach_back_pic.png create mode 100644 graphics/pokemon/back_pics/bayleef_back_pic.png create mode 100644 graphics/pokemon/back_pics/beautifly_back_pic.png create mode 100644 graphics/pokemon/back_pics/beedrill_back_pic.png create mode 100644 graphics/pokemon/back_pics/beldum_back_pic.png create mode 100644 graphics/pokemon/back_pics/bellossom_back_pic.png create mode 100644 graphics/pokemon/back_pics/bellsprout_back_pic.png create mode 100644 graphics/pokemon/back_pics/blastoise_back_pic.png create mode 100644 graphics/pokemon/back_pics/blaziken_back_pic.png create mode 100644 graphics/pokemon/back_pics/blissey_back_pic.png create mode 100644 graphics/pokemon/back_pics/breloom_back_pic.png create mode 100644 graphics/pokemon/back_pics/bulbasaur_back_pic.png create mode 100644 graphics/pokemon/back_pics/butterfree_back_pic.png create mode 100644 graphics/pokemon/back_pics/cacnea_back_pic.png create mode 100644 graphics/pokemon/back_pics/cacturne_back_pic.png create mode 100644 graphics/pokemon/back_pics/camerupt_back_pic.png create mode 100644 graphics/pokemon/back_pics/carvanha_back_pic.png create mode 100644 graphics/pokemon/back_pics/cascoon_back_pic.png create mode 100644 graphics/pokemon/back_pics/castform_normal_form_back_pic.png create mode 100644 graphics/pokemon/back_pics/castform_rainy_form_back_pic.png create mode 100644 graphics/pokemon/back_pics/castform_snowy_form_back_pic.png create mode 100644 graphics/pokemon/back_pics/castform_sunny_form_back_pic.png create mode 100644 graphics/pokemon/back_pics/caterpie_back_pic.png create mode 100644 graphics/pokemon/back_pics/celebi_back_pic.png create mode 100644 graphics/pokemon/back_pics/chansey_back_pic.png create mode 100644 graphics/pokemon/back_pics/charizard_back_pic.png create mode 100644 graphics/pokemon/back_pics/charmander_back_pic.png create mode 100644 graphics/pokemon/back_pics/charmeleon_back_pic.png create mode 100644 graphics/pokemon/back_pics/chikorita_back_pic.png create mode 100644 graphics/pokemon/back_pics/chimecho_back_pic.png create mode 100644 graphics/pokemon/back_pics/chinchou_back_pic.png create mode 100644 graphics/pokemon/back_pics/circled_question_mark_back_pic.png create mode 100644 graphics/pokemon/back_pics/clamperl_back_pic.png create mode 100644 graphics/pokemon/back_pics/claydol_back_pic.png create mode 100644 graphics/pokemon/back_pics/clefable_back_pic.png create mode 100644 graphics/pokemon/back_pics/clefairy_back_pic.png create mode 100644 graphics/pokemon/back_pics/cleffa_back_pic.png create mode 100644 graphics/pokemon/back_pics/cloyster_back_pic.png create mode 100644 graphics/pokemon/back_pics/combusken_back_pic.png create mode 100644 graphics/pokemon/back_pics/corphish_back_pic.png create mode 100644 graphics/pokemon/back_pics/corsola_back_pic.png create mode 100644 graphics/pokemon/back_pics/cradily_back_pic.png create mode 100644 graphics/pokemon/back_pics/crawdaunt_back_pic.png create mode 100644 graphics/pokemon/back_pics/crobat_back_pic.png create mode 100644 graphics/pokemon/back_pics/croconaw_back_pic.png create mode 100644 graphics/pokemon/back_pics/cubone_back_pic.png create mode 100644 graphics/pokemon/back_pics/cyndaquil_back_pic.png create mode 100644 graphics/pokemon/back_pics/delcatty_back_pic.png create mode 100644 graphics/pokemon/back_pics/delibird_back_pic.png create mode 100644 graphics/pokemon/back_pics/deoxys_back_pic.png create mode 100644 graphics/pokemon/back_pics/dewgong_back_pic.png create mode 100644 graphics/pokemon/back_pics/diglett_back_pic.png create mode 100644 graphics/pokemon/back_pics/ditto_back_pic.png create mode 100644 graphics/pokemon/back_pics/dodrio_back_pic.png create mode 100644 graphics/pokemon/back_pics/doduo_back_pic.png create mode 100644 graphics/pokemon/back_pics/donphan_back_pic.png create mode 100644 graphics/pokemon/back_pics/double_question_mark_back_pic.png create mode 100644 graphics/pokemon/back_pics/dragonair_back_pic.png create mode 100644 graphics/pokemon/back_pics/dragonite_back_pic.png create mode 100644 graphics/pokemon/back_pics/dratini_back_pic.png create mode 100644 graphics/pokemon/back_pics/drowzee_back_pic.png create mode 100644 graphics/pokemon/back_pics/dugtrio_back_pic.png create mode 100644 graphics/pokemon/back_pics/dunsparce_back_pic.png create mode 100644 graphics/pokemon/back_pics/dusclops_back_pic.png create mode 100644 graphics/pokemon/back_pics/duskull_back_pic.png create mode 100644 graphics/pokemon/back_pics/dustox_back_pic.png create mode 100644 graphics/pokemon/back_pics/eevee_back_pic.png create mode 100644 graphics/pokemon/back_pics/ekans_back_pic.png create mode 100644 graphics/pokemon/back_pics/electabuzz_back_pic.png create mode 100644 graphics/pokemon/back_pics/electrike_back_pic.png create mode 100644 graphics/pokemon/back_pics/electrode_back_pic.png create mode 100644 graphics/pokemon/back_pics/elekid_back_pic.png create mode 100644 graphics/pokemon/back_pics/entei_back_pic.png create mode 100644 graphics/pokemon/back_pics/espeon_back_pic.png create mode 100644 graphics/pokemon/back_pics/exeggcute_back_pic.png create mode 100644 graphics/pokemon/back_pics/exeggutor_back_pic.png create mode 100644 graphics/pokemon/back_pics/exploud_back_pic.png create mode 100644 graphics/pokemon/back_pics/farfetch_d_back_pic.png create mode 100644 graphics/pokemon/back_pics/fearow_back_pic.png create mode 100644 graphics/pokemon/back_pics/feebas_back_pic.png create mode 100644 graphics/pokemon/back_pics/feraligatr_back_pic.png create mode 100644 graphics/pokemon/back_pics/flaaffy_back_pic.png create mode 100644 graphics/pokemon/back_pics/flareon_back_pic.png create mode 100644 graphics/pokemon/back_pics/flygon_back_pic.png create mode 100644 graphics/pokemon/back_pics/forretress_back_pic.png create mode 100644 graphics/pokemon/back_pics/furret_back_pic.png create mode 100644 graphics/pokemon/back_pics/gardevoir_back_pic.png create mode 100644 graphics/pokemon/back_pics/gastly_back_pic.png create mode 100644 graphics/pokemon/back_pics/gengar_back_pic.png create mode 100644 graphics/pokemon/back_pics/geodude_back_pic.png create mode 100644 graphics/pokemon/back_pics/girafarig_back_pic.png create mode 100644 graphics/pokemon/back_pics/glalie_back_pic.png create mode 100644 graphics/pokemon/back_pics/gligar_back_pic.png create mode 100644 graphics/pokemon/back_pics/gloom_back_pic.png create mode 100644 graphics/pokemon/back_pics/golbat_back_pic.png create mode 100644 graphics/pokemon/back_pics/goldeen_back_pic.png create mode 100644 graphics/pokemon/back_pics/golduck_back_pic.png create mode 100644 graphics/pokemon/back_pics/golem_back_pic.png create mode 100644 graphics/pokemon/back_pics/gorebyss_back_pic.png create mode 100644 graphics/pokemon/back_pics/granbull_back_pic.png create mode 100644 graphics/pokemon/back_pics/graveler_back_pic.png create mode 100644 graphics/pokemon/back_pics/grimer_back_pic.png create mode 100644 graphics/pokemon/back_pics/groudon_back_pic.png create mode 100644 graphics/pokemon/back_pics/grovyle_back_pic.png create mode 100644 graphics/pokemon/back_pics/growlithe_back_pic.png create mode 100644 graphics/pokemon/back_pics/grumpig_back_pic.png create mode 100644 graphics/pokemon/back_pics/gulpin_back_pic.png create mode 100644 graphics/pokemon/back_pics/gyarados_back_pic.png create mode 100644 graphics/pokemon/back_pics/hariyama_back_pic.png create mode 100644 graphics/pokemon/back_pics/haunter_back_pic.png create mode 100644 graphics/pokemon/back_pics/heracross_back_pic.png create mode 100644 graphics/pokemon/back_pics/hitmonchan_back_pic.png create mode 100644 graphics/pokemon/back_pics/hitmonlee_back_pic.png create mode 100644 graphics/pokemon/back_pics/hitmontop_back_pic.png create mode 100644 graphics/pokemon/back_pics/ho_oh_back_pic.png create mode 100644 graphics/pokemon/back_pics/hoothoot_back_pic.png create mode 100644 graphics/pokemon/back_pics/hoppip_back_pic.png create mode 100644 graphics/pokemon/back_pics/horsea_back_pic.png create mode 100644 graphics/pokemon/back_pics/houndoom_back_pic.png create mode 100644 graphics/pokemon/back_pics/houndour_back_pic.png create mode 100644 graphics/pokemon/back_pics/huntail_back_pic.png create mode 100644 graphics/pokemon/back_pics/hypno_back_pic.png create mode 100644 graphics/pokemon/back_pics/igglybuff_back_pic.png create mode 100644 graphics/pokemon/back_pics/illumise_back_pic.png create mode 100644 graphics/pokemon/back_pics/ivysaur_back_pic.png create mode 100644 graphics/pokemon/back_pics/jigglypuff_back_pic.png create mode 100644 graphics/pokemon/back_pics/jirachi_back_pic.png create mode 100644 graphics/pokemon/back_pics/jolteon_back_pic.png create mode 100644 graphics/pokemon/back_pics/jumpluff_back_pic.png create mode 100644 graphics/pokemon/back_pics/jynx_back_pic.png create mode 100644 graphics/pokemon/back_pics/kabuto_back_pic.png create mode 100644 graphics/pokemon/back_pics/kabutops_back_pic.png create mode 100644 graphics/pokemon/back_pics/kadabra_back_pic.png create mode 100644 graphics/pokemon/back_pics/kakuna_back_pic.png create mode 100644 graphics/pokemon/back_pics/kangaskhan_back_pic.png create mode 100644 graphics/pokemon/back_pics/kecleon_back_pic.png create mode 100644 graphics/pokemon/back_pics/kingdra_back_pic.png create mode 100644 graphics/pokemon/back_pics/kingler_back_pic.png create mode 100644 graphics/pokemon/back_pics/kirlia_back_pic.png create mode 100644 graphics/pokemon/back_pics/koffing_back_pic.png create mode 100644 graphics/pokemon/back_pics/krabby_back_pic.png create mode 100644 graphics/pokemon/back_pics/kyogre_back_pic.png create mode 100644 graphics/pokemon/back_pics/lairon_back_pic.png create mode 100644 graphics/pokemon/back_pics/lanturn_back_pic.png create mode 100644 graphics/pokemon/back_pics/lapras_back_pic.png create mode 100644 graphics/pokemon/back_pics/larvitar_back_pic.png create mode 100644 graphics/pokemon/back_pics/latias_back_pic.png create mode 100644 graphics/pokemon/back_pics/latios_back_pic.png create mode 100644 graphics/pokemon/back_pics/ledian_back_pic.png create mode 100644 graphics/pokemon/back_pics/ledyba_back_pic.png create mode 100644 graphics/pokemon/back_pics/lickitung_back_pic.png create mode 100644 graphics/pokemon/back_pics/lileep_back_pic.png create mode 100644 graphics/pokemon/back_pics/linoone_back_pic.png create mode 100644 graphics/pokemon/back_pics/lombre_back_pic.png create mode 100644 graphics/pokemon/back_pics/lotad_back_pic.png create mode 100644 graphics/pokemon/back_pics/loudred_back_pic.png create mode 100644 graphics/pokemon/back_pics/ludicolo_back_pic.png create mode 100644 graphics/pokemon/back_pics/lugia_back_pic.png create mode 100644 graphics/pokemon/back_pics/lunatone_back_pic.png create mode 100644 graphics/pokemon/back_pics/luvdisc_back_pic.png create mode 100644 graphics/pokemon/back_pics/machamp_back_pic.png create mode 100644 graphics/pokemon/back_pics/machoke_back_pic.png create mode 100644 graphics/pokemon/back_pics/machop_back_pic.png create mode 100644 graphics/pokemon/back_pics/magby_back_pic.png create mode 100644 graphics/pokemon/back_pics/magcargo_back_pic.png create mode 100644 graphics/pokemon/back_pics/magikarp_back_pic.png create mode 100644 graphics/pokemon/back_pics/magmar_back_pic.png create mode 100644 graphics/pokemon/back_pics/magnemite_back_pic.png create mode 100644 graphics/pokemon/back_pics/magneton_back_pic.png create mode 100644 graphics/pokemon/back_pics/makuhita_back_pic.png create mode 100644 graphics/pokemon/back_pics/manectric_back_pic.png create mode 100644 graphics/pokemon/back_pics/mankey_back_pic.png create mode 100644 graphics/pokemon/back_pics/mantine_back_pic.png create mode 100644 graphics/pokemon/back_pics/mareep_back_pic.png create mode 100644 graphics/pokemon/back_pics/marill_back_pic.png create mode 100644 graphics/pokemon/back_pics/marowak_back_pic.png create mode 100644 graphics/pokemon/back_pics/marshtomp_back_pic.png create mode 100644 graphics/pokemon/back_pics/masquerain_back_pic.png create mode 100644 graphics/pokemon/back_pics/mawile_back_pic.png create mode 100644 graphics/pokemon/back_pics/medicham_back_pic.png create mode 100644 graphics/pokemon/back_pics/meditite_back_pic.png create mode 100644 graphics/pokemon/back_pics/meganium_back_pic.png create mode 100644 graphics/pokemon/back_pics/meowth_back_pic.png create mode 100644 graphics/pokemon/back_pics/metagross_back_pic.png create mode 100644 graphics/pokemon/back_pics/metang_back_pic.png create mode 100644 graphics/pokemon/back_pics/metapod_back_pic.png create mode 100644 graphics/pokemon/back_pics/mew_back_pic.png create mode 100644 graphics/pokemon/back_pics/mewtwo_back_pic.png create mode 100644 graphics/pokemon/back_pics/mightyena_back_pic.png create mode 100644 graphics/pokemon/back_pics/milotic_back_pic.png create mode 100644 graphics/pokemon/back_pics/miltank_back_pic.png create mode 100644 graphics/pokemon/back_pics/minun_back_pic.png create mode 100644 graphics/pokemon/back_pics/misdreavus_back_pic.png create mode 100644 graphics/pokemon/back_pics/moltres_back_pic.png create mode 100644 graphics/pokemon/back_pics/mr_mime_back_pic.png create mode 100644 graphics/pokemon/back_pics/mudkip_back_pic.png create mode 100644 graphics/pokemon/back_pics/muk_back_pic.png create mode 100644 graphics/pokemon/back_pics/murkrow_back_pic.png create mode 100644 graphics/pokemon/back_pics/natu_back_pic.png create mode 100644 graphics/pokemon/back_pics/nidoking_back_pic.png create mode 100644 graphics/pokemon/back_pics/nidoqueen_back_pic.png create mode 100644 graphics/pokemon/back_pics/nidoran_f_back_pic.png create mode 100644 graphics/pokemon/back_pics/nidoran_m_back_pic.png create mode 100644 graphics/pokemon/back_pics/nidorina_back_pic.png create mode 100644 graphics/pokemon/back_pics/nidorino_back_pic.png create mode 100644 graphics/pokemon/back_pics/nincada_back_pic.png create mode 100644 graphics/pokemon/back_pics/ninetales_back_pic.png create mode 100644 graphics/pokemon/back_pics/ninjask_back_pic.png create mode 100644 graphics/pokemon/back_pics/noctowl_back_pic.png create mode 100644 graphics/pokemon/back_pics/nosepass_back_pic.png create mode 100644 graphics/pokemon/back_pics/numel_back_pic.png create mode 100644 graphics/pokemon/back_pics/nuzleaf_back_pic.png create mode 100644 graphics/pokemon/back_pics/octillery_back_pic.png create mode 100644 graphics/pokemon/back_pics/oddish_back_pic.png create mode 100644 graphics/pokemon/back_pics/omanyte_back_pic.png create mode 100644 graphics/pokemon/back_pics/omastar_back_pic.png create mode 100644 graphics/pokemon/back_pics/onix_back_pic.png create mode 100644 graphics/pokemon/back_pics/paras_back_pic.png create mode 100644 graphics/pokemon/back_pics/parasect_back_pic.png create mode 100644 graphics/pokemon/back_pics/pelipper_back_pic.png create mode 100644 graphics/pokemon/back_pics/persian_back_pic.png create mode 100644 graphics/pokemon/back_pics/phanpy_back_pic.png create mode 100644 graphics/pokemon/back_pics/pichu_back_pic.png create mode 100644 graphics/pokemon/back_pics/pidgeot_back_pic.png create mode 100644 graphics/pokemon/back_pics/pidgeotto_back_pic.png create mode 100644 graphics/pokemon/back_pics/pidgey_back_pic.png create mode 100644 graphics/pokemon/back_pics/pikachu_back_pic.png create mode 100644 graphics/pokemon/back_pics/piloswine_back_pic.png create mode 100644 graphics/pokemon/back_pics/pineco_back_pic.png create mode 100644 graphics/pokemon/back_pics/pinsir_back_pic.png create mode 100644 graphics/pokemon/back_pics/plusle_back_pic.png create mode 100644 graphics/pokemon/back_pics/politoed_back_pic.png create mode 100644 graphics/pokemon/back_pics/poliwag_back_pic.png create mode 100644 graphics/pokemon/back_pics/poliwhirl_back_pic.png create mode 100644 graphics/pokemon/back_pics/poliwrath_back_pic.png create mode 100644 graphics/pokemon/back_pics/ponyta_back_pic.png create mode 100644 graphics/pokemon/back_pics/poochyena_back_pic.png create mode 100644 graphics/pokemon/back_pics/porygon2_back_pic.png create mode 100644 graphics/pokemon/back_pics/porygon_back_pic.png create mode 100644 graphics/pokemon/back_pics/primeape_back_pic.png create mode 100644 graphics/pokemon/back_pics/psyduck_back_pic.png create mode 100644 graphics/pokemon/back_pics/pupitar_back_pic.png create mode 100644 graphics/pokemon/back_pics/quagsire_back_pic.png create mode 100644 graphics/pokemon/back_pics/quilava_back_pic.png create mode 100644 graphics/pokemon/back_pics/qwilfish_back_pic.png create mode 100644 graphics/pokemon/back_pics/raichu_back_pic.png create mode 100644 graphics/pokemon/back_pics/raikou_back_pic.png create mode 100644 graphics/pokemon/back_pics/ralts_back_pic.png create mode 100644 graphics/pokemon/back_pics/rapidash_back_pic.png create mode 100644 graphics/pokemon/back_pics/raticate_back_pic.png create mode 100644 graphics/pokemon/back_pics/rattata_back_pic.png create mode 100644 graphics/pokemon/back_pics/rayquaza_back_pic.png create mode 100644 graphics/pokemon/back_pics/regice_back_pic.png create mode 100644 graphics/pokemon/back_pics/regirock_back_pic.png create mode 100644 graphics/pokemon/back_pics/registeel_back_pic.png create mode 100644 graphics/pokemon/back_pics/relicanth_back_pic.png create mode 100644 graphics/pokemon/back_pics/remoraid_back_pic.png create mode 100644 graphics/pokemon/back_pics/rhydon_back_pic.png create mode 100644 graphics/pokemon/back_pics/rhyhorn_back_pic.png create mode 100644 graphics/pokemon/back_pics/roselia_back_pic.png create mode 100644 graphics/pokemon/back_pics/sableye_back_pic.png create mode 100644 graphics/pokemon/back_pics/salamence_back_pic.png create mode 100644 graphics/pokemon/back_pics/sandshrew_back_pic.png create mode 100644 graphics/pokemon/back_pics/sandslash_back_pic.png create mode 100644 graphics/pokemon/back_pics/sceptile_back_pic.png create mode 100644 graphics/pokemon/back_pics/scizor_back_pic.png create mode 100644 graphics/pokemon/back_pics/scyther_back_pic.png create mode 100644 graphics/pokemon/back_pics/seadra_back_pic.png create mode 100644 graphics/pokemon/back_pics/seaking_back_pic.png create mode 100644 graphics/pokemon/back_pics/sealeo_back_pic.png create mode 100644 graphics/pokemon/back_pics/seedot_back_pic.png create mode 100644 graphics/pokemon/back_pics/seel_back_pic.png create mode 100644 graphics/pokemon/back_pics/sentret_back_pic.png create mode 100644 graphics/pokemon/back_pics/seviper_back_pic.png create mode 100644 graphics/pokemon/back_pics/sharpedo_back_pic.png create mode 100644 graphics/pokemon/back_pics/shedinja_back_pic.png create mode 100644 graphics/pokemon/back_pics/shelgon_back_pic.png create mode 100644 graphics/pokemon/back_pics/shellder_back_pic.png create mode 100644 graphics/pokemon/back_pics/shiftry_back_pic.png create mode 100644 graphics/pokemon/back_pics/shroomish_back_pic.png create mode 100644 graphics/pokemon/back_pics/shuckle_back_pic.png create mode 100644 graphics/pokemon/back_pics/shuppet_back_pic.png create mode 100644 graphics/pokemon/back_pics/silcoon_back_pic.png create mode 100644 graphics/pokemon/back_pics/skarmory_back_pic.png create mode 100644 graphics/pokemon/back_pics/skiploom_back_pic.png create mode 100644 graphics/pokemon/back_pics/skitty_back_pic.png create mode 100644 graphics/pokemon/back_pics/slaking_back_pic.png create mode 100644 graphics/pokemon/back_pics/slakoth_back_pic.png create mode 100644 graphics/pokemon/back_pics/slowbro_back_pic.png create mode 100644 graphics/pokemon/back_pics/slowking_back_pic.png create mode 100644 graphics/pokemon/back_pics/slowpoke_back_pic.png create mode 100644 graphics/pokemon/back_pics/slugma_back_pic.png create mode 100644 graphics/pokemon/back_pics/smeargle_back_pic.png create mode 100644 graphics/pokemon/back_pics/smoochum_back_pic.png create mode 100644 graphics/pokemon/back_pics/sneasel_back_pic.png create mode 100644 graphics/pokemon/back_pics/snorlax_back_pic.png create mode 100644 graphics/pokemon/back_pics/snorunt_back_pic.png create mode 100644 graphics/pokemon/back_pics/snubbull_back_pic.png create mode 100644 graphics/pokemon/back_pics/solrock_back_pic.png create mode 100644 graphics/pokemon/back_pics/spearow_back_pic.png create mode 100644 graphics/pokemon/back_pics/spheal_back_pic.png create mode 100644 graphics/pokemon/back_pics/spinarak_back_pic.png create mode 100644 graphics/pokemon/back_pics/spinda_back_pic.png create mode 100644 graphics/pokemon/back_pics/spoink_back_pic.png create mode 100644 graphics/pokemon/back_pics/squirtle_back_pic.png create mode 100644 graphics/pokemon/back_pics/stantler_back_pic.png create mode 100644 graphics/pokemon/back_pics/starmie_back_pic.png create mode 100644 graphics/pokemon/back_pics/staryu_back_pic.png create mode 100644 graphics/pokemon/back_pics/steelix_back_pic.png create mode 100644 graphics/pokemon/back_pics/sudowoodo_back_pic.png create mode 100644 graphics/pokemon/back_pics/suicune_back_pic.png create mode 100644 graphics/pokemon/back_pics/sunflora_back_pic.png create mode 100644 graphics/pokemon/back_pics/sunkern_back_pic.png create mode 100644 graphics/pokemon/back_pics/surskit_back_pic.png create mode 100644 graphics/pokemon/back_pics/swablu_back_pic.png create mode 100644 graphics/pokemon/back_pics/swalot_back_pic.png create mode 100644 graphics/pokemon/back_pics/swampert_back_pic.png create mode 100644 graphics/pokemon/back_pics/swellow_back_pic.png create mode 100644 graphics/pokemon/back_pics/swinub_back_pic.png create mode 100644 graphics/pokemon/back_pics/taillow_back_pic.png create mode 100644 graphics/pokemon/back_pics/tangela_back_pic.png create mode 100644 graphics/pokemon/back_pics/tauros_back_pic.png create mode 100644 graphics/pokemon/back_pics/teddiursa_back_pic.png create mode 100644 graphics/pokemon/back_pics/tentacool_back_pic.png create mode 100644 graphics/pokemon/back_pics/tentacruel_back_pic.png create mode 100644 graphics/pokemon/back_pics/togepi_back_pic.png create mode 100644 graphics/pokemon/back_pics/togetic_back_pic.png create mode 100644 graphics/pokemon/back_pics/torchic_back_pic.png create mode 100644 graphics/pokemon/back_pics/torkoal_back_pic.png create mode 100644 graphics/pokemon/back_pics/totodile_back_pic.png create mode 100644 graphics/pokemon/back_pics/trapinch_back_pic.png create mode 100644 graphics/pokemon/back_pics/treecko_back_pic.png create mode 100644 graphics/pokemon/back_pics/tropius_back_pic.png create mode 100644 graphics/pokemon/back_pics/typhlosion_back_pic.png create mode 100644 graphics/pokemon/back_pics/tyranitar_back_pic.png create mode 100644 graphics/pokemon/back_pics/tyrogue_back_pic.png create mode 100644 graphics/pokemon/back_pics/umbreon_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_a_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_b_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_c_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_d_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_e_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_exclamation_mark_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_f_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_g_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_h_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_i_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_j_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_k_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_l_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_m_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_n_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_o_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_p_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_q_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_question_mark_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_r_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_s_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_t_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_u_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_v_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_w_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_x_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_y_back_pic.png create mode 100644 graphics/pokemon/back_pics/unown_z_back_pic.png create mode 100644 graphics/pokemon/back_pics/ursaring_back_pic.png create mode 100644 graphics/pokemon/back_pics/vaporeon_back_pic.png create mode 100644 graphics/pokemon/back_pics/venomoth_back_pic.png create mode 100644 graphics/pokemon/back_pics/venonat_back_pic.png create mode 100644 graphics/pokemon/back_pics/venusaur_back_pic.png create mode 100644 graphics/pokemon/back_pics/vibrava_back_pic.png create mode 100644 graphics/pokemon/back_pics/victreebel_back_pic.png create mode 100644 graphics/pokemon/back_pics/vigoroth_back_pic.png create mode 100644 graphics/pokemon/back_pics/vileplume_back_pic.png create mode 100644 graphics/pokemon/back_pics/volbeat_back_pic.png create mode 100644 graphics/pokemon/back_pics/voltorb_back_pic.png create mode 100644 graphics/pokemon/back_pics/vulpix_back_pic.png create mode 100644 graphics/pokemon/back_pics/wailmer_back_pic.png create mode 100644 graphics/pokemon/back_pics/wailord_back_pic.png create mode 100644 graphics/pokemon/back_pics/walrein_back_pic.png create mode 100644 graphics/pokemon/back_pics/wartortle_back_pic.png create mode 100644 graphics/pokemon/back_pics/weedle_back_pic.png create mode 100644 graphics/pokemon/back_pics/weepinbell_back_pic.png create mode 100644 graphics/pokemon/back_pics/weezing_back_pic.png create mode 100644 graphics/pokemon/back_pics/whiscash_back_pic.png create mode 100644 graphics/pokemon/back_pics/whismur_back_pic.png create mode 100644 graphics/pokemon/back_pics/wigglytuff_back_pic.png create mode 100644 graphics/pokemon/back_pics/wingull_back_pic.png create mode 100644 graphics/pokemon/back_pics/wobbuffet_back_pic.png create mode 100644 graphics/pokemon/back_pics/wooper_back_pic.png create mode 100644 graphics/pokemon/back_pics/wurmple_back_pic.png create mode 100644 graphics/pokemon/back_pics/wynaut_back_pic.png create mode 100644 graphics/pokemon/back_pics/xatu_back_pic.png create mode 100644 graphics/pokemon/back_pics/yanma_back_pic.png create mode 100644 graphics/pokemon/back_pics/zangoose_back_pic.png create mode 100644 graphics/pokemon/back_pics/zapdos_back_pic.png create mode 100644 graphics/pokemon/back_pics/zigzagoon_back_pic.png create mode 100644 graphics/pokemon/back_pics/zubat_back_pic.png create mode 100644 graphics/pokemon/footprints/abra_footprint.png create mode 100644 graphics/pokemon/footprints/absol_footprint.png create mode 100644 graphics/pokemon/footprints/aerodactyl_footprint.png create mode 100644 graphics/pokemon/footprints/aggron_footprint.png create mode 100644 graphics/pokemon/footprints/aipom_footprint.png create mode 100644 graphics/pokemon/footprints/alakazam_footprint.png create mode 100644 graphics/pokemon/footprints/altaria_footprint.png create mode 100644 graphics/pokemon/footprints/ampharos_footprint.png create mode 100644 graphics/pokemon/footprints/anorith_footprint.png create mode 100644 graphics/pokemon/footprints/arbok_footprint.png create mode 100644 graphics/pokemon/footprints/arcanine_footprint.png create mode 100644 graphics/pokemon/footprints/ariados_footprint.png create mode 100644 graphics/pokemon/footprints/armaldo_footprint.png create mode 100644 graphics/pokemon/footprints/aron_footprint.png create mode 100644 graphics/pokemon/footprints/articuno_footprint.png create mode 100644 graphics/pokemon/footprints/azumarill_footprint.png create mode 100644 graphics/pokemon/footprints/azurill_footprint.png create mode 100644 graphics/pokemon/footprints/bagon_footprint.png create mode 100644 graphics/pokemon/footprints/baltoy_footprint.png create mode 100644 graphics/pokemon/footprints/banette_footprint.png create mode 100644 graphics/pokemon/footprints/barboach_footprint.png create mode 100644 graphics/pokemon/footprints/bayleef_footprint.png create mode 100644 graphics/pokemon/footprints/beautifly_footprint.png create mode 100644 graphics/pokemon/footprints/beedrill_footprint.png create mode 100644 graphics/pokemon/footprints/beldum_footprint.png create mode 100644 graphics/pokemon/footprints/bellossom_footprint.png create mode 100644 graphics/pokemon/footprints/bellsprout_footprint.png create mode 100644 graphics/pokemon/footprints/blastoise_footprint.png create mode 100644 graphics/pokemon/footprints/blaziken_footprint.png create mode 100644 graphics/pokemon/footprints/blissey_footprint.png create mode 100644 graphics/pokemon/footprints/breloom_footprint.png create mode 100644 graphics/pokemon/footprints/bulbasaur_footprint.png create mode 100644 graphics/pokemon/footprints/butterfree_footprint.png create mode 100644 graphics/pokemon/footprints/cacnea_footprint.png create mode 100644 graphics/pokemon/footprints/cacturne_footprint.png create mode 100644 graphics/pokemon/footprints/camerupt_footprint.png create mode 100644 graphics/pokemon/footprints/carvanha_footprint.png create mode 100644 graphics/pokemon/footprints/cascoon_footprint.png create mode 100644 graphics/pokemon/footprints/castform_footprint.png create mode 100644 graphics/pokemon/footprints/caterpie_footprint.png create mode 100644 graphics/pokemon/footprints/celebi_footprint.png create mode 100644 graphics/pokemon/footprints/chansey_footprint.png create mode 100644 graphics/pokemon/footprints/charizard_footprint.png create mode 100644 graphics/pokemon/footprints/charmander_footprint.png create mode 100644 graphics/pokemon/footprints/charmeleon_footprint.png create mode 100644 graphics/pokemon/footprints/chikorita_footprint.png create mode 100644 graphics/pokemon/footprints/chimecho_footprint.png create mode 100644 graphics/pokemon/footprints/chinchou_footprint.png create mode 100644 graphics/pokemon/footprints/clamperl_footprint.png create mode 100644 graphics/pokemon/footprints/claydol_footprint.png create mode 100644 graphics/pokemon/footprints/clefable_footprint.png create mode 100644 graphics/pokemon/footprints/clefairy_footprint.png create mode 100644 graphics/pokemon/footprints/cleffa_footprint.png create mode 100644 graphics/pokemon/footprints/cloyster_footprint.png create mode 100644 graphics/pokemon/footprints/combusken_footprint.png create mode 100644 graphics/pokemon/footprints/corphish_footprint.png create mode 100644 graphics/pokemon/footprints/corsola_footprint.png create mode 100644 graphics/pokemon/footprints/cradily_footprint.png create mode 100644 graphics/pokemon/footprints/crawdaunt_footprint.png create mode 100644 graphics/pokemon/footprints/crobat_footprint.png create mode 100644 graphics/pokemon/footprints/croconaw_footprint.png create mode 100644 graphics/pokemon/footprints/cubone_footprint.png create mode 100644 graphics/pokemon/footprints/cyndaquil_footprint.png create mode 100644 graphics/pokemon/footprints/delcatty_footprint.png create mode 100644 graphics/pokemon/footprints/delibird_footprint.png create mode 100644 graphics/pokemon/footprints/deoxys_footprint.png create mode 100644 graphics/pokemon/footprints/dewgong_footprint.png create mode 100644 graphics/pokemon/footprints/diglett_footprint.png create mode 100644 graphics/pokemon/footprints/ditto_footprint.png create mode 100644 graphics/pokemon/footprints/dodrio_footprint.png create mode 100644 graphics/pokemon/footprints/doduo_footprint.png create mode 100644 graphics/pokemon/footprints/donphan_footprint.png create mode 100644 graphics/pokemon/footprints/dragonair_footprint.png create mode 100644 graphics/pokemon/footprints/dragonite_footprint.png create mode 100644 graphics/pokemon/footprints/dratini_footprint.png create mode 100644 graphics/pokemon/footprints/drowzee_footprint.png create mode 100644 graphics/pokemon/footprints/dugtrio_footprint.png create mode 100644 graphics/pokemon/footprints/dunsparce_footprint.png create mode 100644 graphics/pokemon/footprints/dusclops_footprint.png create mode 100644 graphics/pokemon/footprints/duskull_footprint.png create mode 100644 graphics/pokemon/footprints/dustox_footprint.png create mode 100644 graphics/pokemon/footprints/eevee_footprint.png create mode 100644 graphics/pokemon/footprints/ekans_footprint.png create mode 100644 graphics/pokemon/footprints/electabuzz_footprint.png create mode 100644 graphics/pokemon/footprints/electrike_footprint.png create mode 100644 graphics/pokemon/footprints/electrode_footprint.png create mode 100644 graphics/pokemon/footprints/elekid_footprint.png create mode 100644 graphics/pokemon/footprints/entei_footprint.png create mode 100644 graphics/pokemon/footprints/espeon_footprint.png create mode 100644 graphics/pokemon/footprints/exeggcute_footprint.png create mode 100644 graphics/pokemon/footprints/exeggutor_footprint.png create mode 100644 graphics/pokemon/footprints/exploud_footprint.png create mode 100644 graphics/pokemon/footprints/farfetch_d_footprint.png create mode 100644 graphics/pokemon/footprints/fearow_footprint.png create mode 100644 graphics/pokemon/footprints/feebas_footprint.png create mode 100644 graphics/pokemon/footprints/feraligatr_footprint.png create mode 100644 graphics/pokemon/footprints/flaaffy_footprint.png create mode 100644 graphics/pokemon/footprints/flareon_footprint.png create mode 100644 graphics/pokemon/footprints/flygon_footprint.png create mode 100644 graphics/pokemon/footprints/forretress_footprint.png create mode 100644 graphics/pokemon/footprints/furret_footprint.png create mode 100644 graphics/pokemon/footprints/gardevoir_footprint.png create mode 100644 graphics/pokemon/footprints/gastly_footprint.png create mode 100644 graphics/pokemon/footprints/gengar_footprint.png create mode 100644 graphics/pokemon/footprints/geodude_footprint.png create mode 100644 graphics/pokemon/footprints/girafarig_footprint.png create mode 100644 graphics/pokemon/footprints/glalie_footprint.png create mode 100644 graphics/pokemon/footprints/gligar_footprint.png create mode 100644 graphics/pokemon/footprints/gloom_footprint.png create mode 100644 graphics/pokemon/footprints/golbat_footprint.png create mode 100644 graphics/pokemon/footprints/goldeen_footprint.png create mode 100644 graphics/pokemon/footprints/golduck_footprint.png create mode 100644 graphics/pokemon/footprints/golem_footprint.png create mode 100644 graphics/pokemon/footprints/gorebyss_footprint.png create mode 100644 graphics/pokemon/footprints/granbull_footprint.png create mode 100644 graphics/pokemon/footprints/graveler_footprint.png create mode 100644 graphics/pokemon/footprints/grimer_footprint.png create mode 100644 graphics/pokemon/footprints/groudon_footprint.png create mode 100644 graphics/pokemon/footprints/grovyle_footprint.png create mode 100644 graphics/pokemon/footprints/growlithe_footprint.png create mode 100644 graphics/pokemon/footprints/grumpig_footprint.png create mode 100644 graphics/pokemon/footprints/gulpin_footprint.png create mode 100644 graphics/pokemon/footprints/gyarados_footprint.png create mode 100644 graphics/pokemon/footprints/hariyama_footprint.png create mode 100644 graphics/pokemon/footprints/haunter_footprint.png create mode 100644 graphics/pokemon/footprints/heracross_footprint.png create mode 100644 graphics/pokemon/footprints/hitmonchan_footprint.png create mode 100644 graphics/pokemon/footprints/hitmonlee_footprint.png create mode 100644 graphics/pokemon/footprints/hitmontop_footprint.png create mode 100644 graphics/pokemon/footprints/ho_oh_footprint.png create mode 100644 graphics/pokemon/footprints/hoothoot_footprint.png create mode 100644 graphics/pokemon/footprints/hoppip_footprint.png create mode 100644 graphics/pokemon/footprints/horsea_footprint.png create mode 100644 graphics/pokemon/footprints/houndoom_footprint.png create mode 100644 graphics/pokemon/footprints/houndour_footprint.png create mode 100644 graphics/pokemon/footprints/huntail_footprint.png create mode 100644 graphics/pokemon/footprints/hypno_footprint.png create mode 100644 graphics/pokemon/footprints/igglybuff_footprint.png create mode 100644 graphics/pokemon/footprints/illumise_footprint.png create mode 100644 graphics/pokemon/footprints/ivysaur_footprint.png create mode 100644 graphics/pokemon/footprints/jigglypuff_footprint.png create mode 100644 graphics/pokemon/footprints/jirachi_footprint.png create mode 100644 graphics/pokemon/footprints/jolteon_footprint.png create mode 100644 graphics/pokemon/footprints/jumpluff_footprint.png create mode 100644 graphics/pokemon/footprints/jynx_footprint.png create mode 100644 graphics/pokemon/footprints/kabuto_footprint.png create mode 100644 graphics/pokemon/footprints/kabutops_footprint.png create mode 100644 graphics/pokemon/footprints/kadabra_footprint.png create mode 100644 graphics/pokemon/footprints/kakuna_footprint.png create mode 100644 graphics/pokemon/footprints/kangaskhan_footprint.png create mode 100644 graphics/pokemon/footprints/kecleon_footprint.png create mode 100644 graphics/pokemon/footprints/kingdra_footprint.png create mode 100644 graphics/pokemon/footprints/kingler_footprint.png create mode 100644 graphics/pokemon/footprints/kirlia_footprint.png create mode 100644 graphics/pokemon/footprints/koffing_footprint.png create mode 100644 graphics/pokemon/footprints/krabby_footprint.png create mode 100644 graphics/pokemon/footprints/kyogre_footprint.png create mode 100644 graphics/pokemon/footprints/lairon_footprint.png create mode 100644 graphics/pokemon/footprints/lanturn_footprint.png create mode 100644 graphics/pokemon/footprints/lapras_footprint.png create mode 100644 graphics/pokemon/footprints/larvitar_footprint.png create mode 100644 graphics/pokemon/footprints/latias_footprint.png create mode 100644 graphics/pokemon/footprints/latios_footprint.png create mode 100644 graphics/pokemon/footprints/ledian_footprint.png create mode 100644 graphics/pokemon/footprints/ledyba_footprint.png create mode 100644 graphics/pokemon/footprints/lickitung_footprint.png create mode 100644 graphics/pokemon/footprints/lileep_footprint.png create mode 100644 graphics/pokemon/footprints/linoone_footprint.png create mode 100644 graphics/pokemon/footprints/lombre_footprint.png create mode 100644 graphics/pokemon/footprints/lotad_footprint.png create mode 100644 graphics/pokemon/footprints/loudred_footprint.png create mode 100644 graphics/pokemon/footprints/ludicolo_footprint.png create mode 100644 graphics/pokemon/footprints/lugia_footprint.png create mode 100644 graphics/pokemon/footprints/lunatone_footprint.png create mode 100644 graphics/pokemon/footprints/luvdisc_footprint.png create mode 100644 graphics/pokemon/footprints/machamp_footprint.png create mode 100644 graphics/pokemon/footprints/machoke_footprint.png create mode 100644 graphics/pokemon/footprints/machop_footprint.png create mode 100644 graphics/pokemon/footprints/magby_footprint.png create mode 100644 graphics/pokemon/footprints/magcargo_footprint.png create mode 100644 graphics/pokemon/footprints/magikarp_footprint.png create mode 100644 graphics/pokemon/footprints/magmar_footprint.png create mode 100644 graphics/pokemon/footprints/magnemite_footprint.png create mode 100644 graphics/pokemon/footprints/magneton_footprint.png create mode 100644 graphics/pokemon/footprints/makuhita_footprint.png create mode 100644 graphics/pokemon/footprints/manectric_footprint.png create mode 100644 graphics/pokemon/footprints/mankey_footprint.png create mode 100644 graphics/pokemon/footprints/mantine_footprint.png create mode 100644 graphics/pokemon/footprints/mareep_footprint.png create mode 100644 graphics/pokemon/footprints/marill_footprint.png create mode 100644 graphics/pokemon/footprints/marowak_footprint.png create mode 100644 graphics/pokemon/footprints/marshtomp_footprint.png create mode 100644 graphics/pokemon/footprints/masquerain_footprint.png create mode 100644 graphics/pokemon/footprints/mawile_footprint.png create mode 100644 graphics/pokemon/footprints/medicham_footprint.png create mode 100644 graphics/pokemon/footprints/meditite_footprint.png create mode 100644 graphics/pokemon/footprints/meganium_footprint.png create mode 100644 graphics/pokemon/footprints/meowth_footprint.png create mode 100644 graphics/pokemon/footprints/metagross_footprint.png create mode 100644 graphics/pokemon/footprints/metang_footprint.png create mode 100644 graphics/pokemon/footprints/metapod_footprint.png create mode 100644 graphics/pokemon/footprints/mew_footprint.png create mode 100644 graphics/pokemon/footprints/mewtwo_footprint.png create mode 100644 graphics/pokemon/footprints/mightyena_footprint.png create mode 100644 graphics/pokemon/footprints/milotic_footprint.png create mode 100644 graphics/pokemon/footprints/miltank_footprint.png create mode 100644 graphics/pokemon/footprints/minun_footprint.png create mode 100644 graphics/pokemon/footprints/misdreavus_footprint.png create mode 100644 graphics/pokemon/footprints/moltres_footprint.png create mode 100644 graphics/pokemon/footprints/mr_mime_footprint.png create mode 100644 graphics/pokemon/footprints/mudkip_footprint.png create mode 100644 graphics/pokemon/footprints/muk_footprint.png create mode 100644 graphics/pokemon/footprints/murkrow_footprint.png create mode 100644 graphics/pokemon/footprints/natu_footprint.png create mode 100644 graphics/pokemon/footprints/nidoking_footprint.png create mode 100644 graphics/pokemon/footprints/nidoqueen_footprint.png create mode 100644 graphics/pokemon/footprints/nidoran_f_footprint.png create mode 100644 graphics/pokemon/footprints/nidoran_m_footprint.png create mode 100644 graphics/pokemon/footprints/nidorina_footprint.png create mode 100644 graphics/pokemon/footprints/nidorino_footprint.png create mode 100644 graphics/pokemon/footprints/nincada_footprint.png create mode 100644 graphics/pokemon/footprints/ninetales_footprint.png create mode 100644 graphics/pokemon/footprints/ninjask_footprint.png create mode 100644 graphics/pokemon/footprints/noctowl_footprint.png create mode 100644 graphics/pokemon/footprints/nosepass_footprint.png create mode 100644 graphics/pokemon/footprints/numel_footprint.png create mode 100644 graphics/pokemon/footprints/nuzleaf_footprint.png create mode 100644 graphics/pokemon/footprints/octillery_footprint.png create mode 100644 graphics/pokemon/footprints/oddish_footprint.png create mode 100644 graphics/pokemon/footprints/omanyte_footprint.png create mode 100644 graphics/pokemon/footprints/omastar_footprint.png create mode 100644 graphics/pokemon/footprints/onix_footprint.png create mode 100644 graphics/pokemon/footprints/paras_footprint.png create mode 100644 graphics/pokemon/footprints/parasect_footprint.png create mode 100644 graphics/pokemon/footprints/pelipper_footprint.png create mode 100644 graphics/pokemon/footprints/persian_footprint.png create mode 100644 graphics/pokemon/footprints/phanpy_footprint.png create mode 100644 graphics/pokemon/footprints/pichu_footprint.png create mode 100644 graphics/pokemon/footprints/pidgeot_footprint.png create mode 100644 graphics/pokemon/footprints/pidgeotto_footprint.png create mode 100644 graphics/pokemon/footprints/pidgey_footprint.png create mode 100644 graphics/pokemon/footprints/pikachu_footprint.png create mode 100644 graphics/pokemon/footprints/piloswine_footprint.png create mode 100644 graphics/pokemon/footprints/pineco_footprint.png create mode 100644 graphics/pokemon/footprints/pinsir_footprint.png create mode 100644 graphics/pokemon/footprints/plusle_footprint.png create mode 100644 graphics/pokemon/footprints/politoed_footprint.png create mode 100644 graphics/pokemon/footprints/poliwag_footprint.png create mode 100644 graphics/pokemon/footprints/poliwhirl_footprint.png create mode 100644 graphics/pokemon/footprints/poliwrath_footprint.png create mode 100644 graphics/pokemon/footprints/ponyta_footprint.png create mode 100644 graphics/pokemon/footprints/poochyena_footprint.png create mode 100644 graphics/pokemon/footprints/porygon2_footprint.png create mode 100644 graphics/pokemon/footprints/porygon_footprint.png create mode 100644 graphics/pokemon/footprints/primeape_footprint.png create mode 100644 graphics/pokemon/footprints/psyduck_footprint.png create mode 100644 graphics/pokemon/footprints/pupitar_footprint.png create mode 100644 graphics/pokemon/footprints/quagsire_footprint.png create mode 100644 graphics/pokemon/footprints/question_mark_footprint.png create mode 100644 graphics/pokemon/footprints/quilava_footprint.png create mode 100644 graphics/pokemon/footprints/qwilfish_footprint.png create mode 100644 graphics/pokemon/footprints/raichu_footprint.png create mode 100644 graphics/pokemon/footprints/raikou_footprint.png create mode 100644 graphics/pokemon/footprints/ralts_footprint.png create mode 100644 graphics/pokemon/footprints/rapidash_footprint.png create mode 100644 graphics/pokemon/footprints/raticate_footprint.png create mode 100644 graphics/pokemon/footprints/rattata_footprint.png create mode 100644 graphics/pokemon/footprints/rayquaza_footprint.png create mode 100644 graphics/pokemon/footprints/regice_footprint.png create mode 100644 graphics/pokemon/footprints/regirock_footprint.png create mode 100644 graphics/pokemon/footprints/registeel_footprint.png create mode 100644 graphics/pokemon/footprints/relicanth_footprint.png create mode 100644 graphics/pokemon/footprints/remoraid_footprint.png create mode 100644 graphics/pokemon/footprints/rhydon_footprint.png create mode 100644 graphics/pokemon/footprints/rhyhorn_footprint.png create mode 100644 graphics/pokemon/footprints/roselia_footprint.png create mode 100644 graphics/pokemon/footprints/sableye_footprint.png create mode 100644 graphics/pokemon/footprints/salamence_footprint.png create mode 100644 graphics/pokemon/footprints/sandshrew_footprint.png create mode 100644 graphics/pokemon/footprints/sandslash_footprint.png create mode 100644 graphics/pokemon/footprints/sceptile_footprint.png create mode 100644 graphics/pokemon/footprints/scizor_footprint.png create mode 100644 graphics/pokemon/footprints/scyther_footprint.png create mode 100644 graphics/pokemon/footprints/seadra_footprint.png create mode 100644 graphics/pokemon/footprints/seaking_footprint.png create mode 100644 graphics/pokemon/footprints/sealeo_footprint.png create mode 100644 graphics/pokemon/footprints/seedot_footprint.png create mode 100644 graphics/pokemon/footprints/seel_footprint.png create mode 100644 graphics/pokemon/footprints/sentret_footprint.png create mode 100644 graphics/pokemon/footprints/seviper_footprint.png create mode 100644 graphics/pokemon/footprints/sharpedo_footprint.png create mode 100644 graphics/pokemon/footprints/shedinja_footprint.png create mode 100644 graphics/pokemon/footprints/shelgon_footprint.png create mode 100644 graphics/pokemon/footprints/shellder_footprint.png create mode 100644 graphics/pokemon/footprints/shiftry_footprint.png create mode 100644 graphics/pokemon/footprints/shroomish_footprint.png create mode 100644 graphics/pokemon/footprints/shuckle_footprint.png create mode 100644 graphics/pokemon/footprints/shuppet_footprint.png create mode 100644 graphics/pokemon/footprints/silcoon_footprint.png create mode 100644 graphics/pokemon/footprints/skarmory_footprint.png create mode 100644 graphics/pokemon/footprints/skiploom_footprint.png create mode 100644 graphics/pokemon/footprints/skitty_footprint.png create mode 100644 graphics/pokemon/footprints/slaking_footprint.png create mode 100644 graphics/pokemon/footprints/slakoth_footprint.png create mode 100644 graphics/pokemon/footprints/slowbro_footprint.png create mode 100644 graphics/pokemon/footprints/slowking_footprint.png create mode 100644 graphics/pokemon/footprints/slowpoke_footprint.png create mode 100644 graphics/pokemon/footprints/slugma_footprint.png create mode 100644 graphics/pokemon/footprints/smeargle_footprint.png create mode 100644 graphics/pokemon/footprints/smoochum_footprint.png create mode 100644 graphics/pokemon/footprints/sneasel_footprint.png create mode 100644 graphics/pokemon/footprints/snorlax_footprint.png create mode 100644 graphics/pokemon/footprints/snorunt_footprint.png create mode 100644 graphics/pokemon/footprints/snubbull_footprint.png create mode 100644 graphics/pokemon/footprints/solrock_footprint.png create mode 100644 graphics/pokemon/footprints/spearow_footprint.png create mode 100644 graphics/pokemon/footprints/spheal_footprint.png create mode 100644 graphics/pokemon/footprints/spinarak_footprint.png create mode 100644 graphics/pokemon/footprints/spinda_footprint.png create mode 100644 graphics/pokemon/footprints/spoink_footprint.png create mode 100644 graphics/pokemon/footprints/squirtle_footprint.png create mode 100644 graphics/pokemon/footprints/stantler_footprint.png create mode 100644 graphics/pokemon/footprints/starmie_footprint.png create mode 100644 graphics/pokemon/footprints/staryu_footprint.png create mode 100644 graphics/pokemon/footprints/steelix_footprint.png create mode 100644 graphics/pokemon/footprints/sudowoodo_footprint.png create mode 100644 graphics/pokemon/footprints/suicune_footprint.png create mode 100644 graphics/pokemon/footprints/sunflora_footprint.png create mode 100644 graphics/pokemon/footprints/sunkern_footprint.png create mode 100644 graphics/pokemon/footprints/surskit_footprint.png create mode 100644 graphics/pokemon/footprints/swablu_footprint.png create mode 100644 graphics/pokemon/footprints/swalot_footprint.png create mode 100644 graphics/pokemon/footprints/swampert_footprint.png create mode 100644 graphics/pokemon/footprints/swellow_footprint.png create mode 100644 graphics/pokemon/footprints/swinub_footprint.png create mode 100644 graphics/pokemon/footprints/taillow_footprint.png create mode 100644 graphics/pokemon/footprints/tangela_footprint.png create mode 100644 graphics/pokemon/footprints/tauros_footprint.png create mode 100644 graphics/pokemon/footprints/teddiursa_footprint.png create mode 100644 graphics/pokemon/footprints/tentacool_footprint.png create mode 100644 graphics/pokemon/footprints/tentacruel_footprint.png create mode 100644 graphics/pokemon/footprints/togepi_footprint.png create mode 100644 graphics/pokemon/footprints/togetic_footprint.png create mode 100644 graphics/pokemon/footprints/torchic_footprint.png create mode 100644 graphics/pokemon/footprints/torkoal_footprint.png create mode 100644 graphics/pokemon/footprints/totodile_footprint.png create mode 100644 graphics/pokemon/footprints/trapinch_footprint.png create mode 100644 graphics/pokemon/footprints/treecko_footprint.png create mode 100644 graphics/pokemon/footprints/tropius_footprint.png create mode 100644 graphics/pokemon/footprints/typhlosion_footprint.png create mode 100644 graphics/pokemon/footprints/tyranitar_footprint.png create mode 100644 graphics/pokemon/footprints/tyrogue_footprint.png create mode 100644 graphics/pokemon/footprints/umbreon_footprint.png create mode 100644 graphics/pokemon/footprints/unown_footprint.png create mode 100644 graphics/pokemon/footprints/ursaring_footprint.png create mode 100644 graphics/pokemon/footprints/vaporeon_footprint.png create mode 100644 graphics/pokemon/footprints/venomoth_footprint.png create mode 100644 graphics/pokemon/footprints/venonat_footprint.png create mode 100644 graphics/pokemon/footprints/venusaur_footprint.png create mode 100644 graphics/pokemon/footprints/vibrava_footprint.png create mode 100644 graphics/pokemon/footprints/victreebel_footprint.png create mode 100644 graphics/pokemon/footprints/vigoroth_footprint.png create mode 100644 graphics/pokemon/footprints/vileplume_footprint.png create mode 100644 graphics/pokemon/footprints/volbeat_footprint.png create mode 100644 graphics/pokemon/footprints/voltorb_footprint.png create mode 100644 graphics/pokemon/footprints/vulpix_footprint.png create mode 100644 graphics/pokemon/footprints/wailmer_footprint.png create mode 100644 graphics/pokemon/footprints/wailord_footprint.png create mode 100644 graphics/pokemon/footprints/walrein_footprint.png create mode 100644 graphics/pokemon/footprints/wartortle_footprint.png create mode 100644 graphics/pokemon/footprints/weedle_footprint.png create mode 100644 graphics/pokemon/footprints/weepinbell_footprint.png create mode 100644 graphics/pokemon/footprints/weezing_footprint.png create mode 100644 graphics/pokemon/footprints/whiscash_footprint.png create mode 100644 graphics/pokemon/footprints/whismur_footprint.png create mode 100644 graphics/pokemon/footprints/wigglytuff_footprint.png create mode 100644 graphics/pokemon/footprints/wingull_footprint.png create mode 100644 graphics/pokemon/footprints/wobbuffet_footprint.png create mode 100644 graphics/pokemon/footprints/wooper_footprint.png create mode 100644 graphics/pokemon/footprints/wurmple_footprint.png create mode 100644 graphics/pokemon/footprints/wynaut_footprint.png create mode 100644 graphics/pokemon/footprints/xatu_footprint.png create mode 100644 graphics/pokemon/footprints/yanma_footprint.png create mode 100644 graphics/pokemon/footprints/zangoose_footprint.png create mode 100644 graphics/pokemon/footprints/zapdos_footprint.png create mode 100644 graphics/pokemon/footprints/zigzagoon_footprint.png create mode 100644 graphics/pokemon/footprints/zubat_footprint.png create mode 100644 graphics/pokemon/front_pics/abra_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/absol_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/aerodactyl_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/aggron_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/aipom_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/alakazam_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/altaria_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/ampharos_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/anorith_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/arbok_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/arcanine_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/ariados_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/armaldo_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/aron_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/articuno_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/azumarill_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/azurill_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/bagon_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/baltoy_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/banette_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/barboach_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/bayleef_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/beautifly_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/beedrill_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/beldum_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/bellossom_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/bellsprout_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/blastoise_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/blaziken_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/blissey_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/breloom_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/bulbasaur_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/butterfree_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/cacnea_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/cacturne_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/camerupt_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/carvanha_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/cascoon_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/castform_normal_form_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/castform_rainy_form_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/castform_snowy_form_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/castform_sunny_form_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/caterpie_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/celebi_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/chansey_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/charizard_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/charmander_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/charmeleon_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/chikorita_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/chimecho_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/chinchou_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/circled_question_mark_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/clamperl_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/claydol_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/clefable_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/clefairy_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/cleffa_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/cloyster_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/combusken_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/corphish_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/corsola_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/cradily_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/crawdaunt_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/crobat_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/croconaw_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/cubone_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/cyndaquil_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/delcatty_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/delibird_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/deoxys_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/dewgong_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/diglett_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/ditto_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/dodrio_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/doduo_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/donphan_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/double_question_mark_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/dragonair_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/dragonite_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/dratini_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/drowzee_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/dugtrio_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/dunsparce_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/dusclops_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/duskull_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/dustox_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/eevee_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/egg_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/ekans_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/electabuzz_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/electrike_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/electrode_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/elekid_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/entei_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/espeon_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/exeggcute_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/exeggutor_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/exploud_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/farfetch_d_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/fearow_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/feebas_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/feraligatr_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/flaaffy_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/flareon_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/flygon_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/forretress_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/furret_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/gardevoir_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/gastly_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/gengar_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/geodude_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/girafarig_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/glalie_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/gligar_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/gloom_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/golbat_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/goldeen_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/golduck_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/golem_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/gorebyss_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/granbull_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/graveler_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/grimer_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/groudon_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/grovyle_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/growlithe_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/grumpig_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/gulpin_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/gyarados_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/hariyama_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/haunter_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/heracross_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/hitmonchan_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/hitmonlee_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/hitmontop_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/ho_oh_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/hoothoot_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/hoppip_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/horsea_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/houndoom_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/houndour_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/huntail_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/hypno_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/igglybuff_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/illumise_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/ivysaur_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/jigglypuff_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/jirachi_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/jolteon_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/jumpluff_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/jynx_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/kabuto_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/kabutops_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/kadabra_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/kakuna_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/kangaskhan_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/kecleon_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/kingdra_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/kingler_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/kirlia_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/koffing_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/krabby_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/kyogre_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/lairon_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/lanturn_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/lapras_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/larvitar_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/latias_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/latios_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/ledian_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/ledyba_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/lickitung_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/lileep_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/linoone_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/lombre_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/lotad_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/loudred_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/ludicolo_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/lugia_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/lunatone_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/luvdisc_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/machamp_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/machoke_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/machop_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/magby_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/magcargo_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/magikarp_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/magmar_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/magnemite_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/magneton_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/makuhita_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/manectric_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/mankey_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/mantine_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/mareep_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/marill_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/marowak_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/marshtomp_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/masquerain_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/mawile_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/medicham_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/meditite_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/meganium_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/meowth_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/metagross_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/metang_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/metapod_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/mew_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/mewtwo_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/mightyena_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/milotic_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/miltank_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/minun_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/misdreavus_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/moltres_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/mr_mime_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/mudkip_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/muk_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/murkrow_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/natu_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/nidoking_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/nidoqueen_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/nidoran_f_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/nidoran_m_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/nidorina_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/nidorino_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/nincada_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/ninetales_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/ninjask_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/noctowl_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/nosepass_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/numel_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/nuzleaf_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/octillery_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/oddish_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/omanyte_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/omastar_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/onix_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/paras_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/parasect_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/pelipper_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/persian_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/phanpy_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/pichu_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/pidgeot_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/pidgeotto_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/pidgey_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/pikachu_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/piloswine_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/pineco_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/pinsir_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/plusle_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/politoed_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/poliwag_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/poliwhirl_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/poliwrath_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/ponyta_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/poochyena_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/porygon2_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/porygon_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/primeape_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/psyduck_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/pupitar_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/quagsire_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/quilava_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/qwilfish_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/raichu_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/raikou_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/ralts_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/rapidash_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/raticate_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/rattata_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/rayquaza_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/regice_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/regirock_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/registeel_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/relicanth_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/remoraid_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/rhydon_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/rhyhorn_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/roselia_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/sableye_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/salamence_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/sandshrew_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/sandslash_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/sceptile_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/scizor_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/scyther_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/seadra_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/seaking_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/sealeo_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/seedot_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/seel_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/sentret_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/seviper_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/sharpedo_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/shedinja_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/shelgon_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/shellder_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/shiftry_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/shroomish_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/shuckle_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/shuppet_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/silcoon_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/skarmory_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/skiploom_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/skitty_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/slaking_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/slakoth_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/slowbro_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/slowking_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/slowpoke_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/slugma_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/smeargle_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/smoochum_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/sneasel_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/snorlax_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/snorunt_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/snubbull_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/solrock_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/spearow_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/spheal_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/spinarak_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/spinda_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/spoink_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/squirtle_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/stantler_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/starmie_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/staryu_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/steelix_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/sudowoodo_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/suicune_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/sunflora_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/sunkern_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/surskit_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/swablu_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/swalot_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/swampert_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/swellow_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/swinub_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/taillow_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/tangela_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/tauros_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/teddiursa_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/tentacool_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/tentacruel_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/togepi_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/togetic_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/torchic_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/torkoal_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/totodile_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/trapinch_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/treecko_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/tropius_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/typhlosion_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/tyranitar_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/tyrogue_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/umbreon_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_a_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_b_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_c_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_d_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_e_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_exclamation_mark_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_f_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_g_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_h_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_i_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_j_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_k_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_l_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_m_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_n_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_o_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_p_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_q_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_question_mark_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_r_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_s_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_t_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_u_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_v_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_w_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_x_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_y_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/unown_z_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/ursaring_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/vaporeon_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/venomoth_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/venonat_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/venusaur_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/vibrava_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/victreebel_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/vigoroth_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/vileplume_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/volbeat_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/voltorb_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/vulpix_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/wailmer_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/wailord_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/walrein_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/wartortle_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/weedle_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/weepinbell_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/weezing_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/whiscash_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/whismur_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/wigglytuff_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/wingull_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/wobbuffet_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/wooper_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/wurmple_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/wynaut_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/xatu_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/yanma_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/zangoose_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/zapdos_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/zigzagoon_still_front_pic.png create mode 100644 graphics/pokemon/front_pics/zubat_still_front_pic.png create mode 100644 graphics/pokemon/icon notes create mode 100644 graphics/pokemon/icon_palettes/icon_palette_0.pal create mode 100644 graphics/pokemon/icon_palettes/icon_palette_1.pal create mode 100644 graphics/pokemon/icon_palettes/icon_palette_2.pal create mode 100644 graphics/pokemon/icons/abra_icon.png create mode 100644 graphics/pokemon/icons/absol_icon.png create mode 100644 graphics/pokemon/icons/aerodactyl_icon.png create mode 100644 graphics/pokemon/icons/aggron_icon.png create mode 100644 graphics/pokemon/icons/aipom_icon.png create mode 100644 graphics/pokemon/icons/alakazam_icon.png create mode 100644 graphics/pokemon/icons/altaria_icon.png create mode 100644 graphics/pokemon/icons/ampharos_icon.png create mode 100644 graphics/pokemon/icons/anorith_icon.png create mode 100644 graphics/pokemon/icons/arbok_icon.png create mode 100644 graphics/pokemon/icons/arcanine_icon.png create mode 100644 graphics/pokemon/icons/ariados_icon.png create mode 100644 graphics/pokemon/icons/armaldo_icon.png create mode 100644 graphics/pokemon/icons/aron_icon.png create mode 100644 graphics/pokemon/icons/articuno_icon.png create mode 100644 graphics/pokemon/icons/azumarill_icon.png create mode 100644 graphics/pokemon/icons/azurill_icon.png create mode 100644 graphics/pokemon/icons/bagon_icon.png create mode 100644 graphics/pokemon/icons/baltoy_icon.png create mode 100644 graphics/pokemon/icons/banette_icon.png create mode 100644 graphics/pokemon/icons/barboach_icon.png create mode 100644 graphics/pokemon/icons/bayleef_icon.png create mode 100644 graphics/pokemon/icons/beautifly_icon.png create mode 100644 graphics/pokemon/icons/beedrill_icon.png create mode 100644 graphics/pokemon/icons/beldum_icon.png create mode 100644 graphics/pokemon/icons/bellossom_icon.png create mode 100644 graphics/pokemon/icons/bellsprout_icon.png create mode 100644 graphics/pokemon/icons/blastoise_icon.png create mode 100644 graphics/pokemon/icons/blaziken_icon.png create mode 100644 graphics/pokemon/icons/blissey_icon.png create mode 100644 graphics/pokemon/icons/breloom_icon.png create mode 100644 graphics/pokemon/icons/bulbasaur_icon.png create mode 100644 graphics/pokemon/icons/butterfree_icon.png create mode 100644 graphics/pokemon/icons/cacnea_icon.png create mode 100644 graphics/pokemon/icons/cacturne_icon.png create mode 100644 graphics/pokemon/icons/camerupt_icon.png create mode 100644 graphics/pokemon/icons/carvanha_icon.png create mode 100644 graphics/pokemon/icons/cascoon_icon.png create mode 100644 graphics/pokemon/icons/castform_icon.png create mode 100644 graphics/pokemon/icons/caterpie_icon.png create mode 100644 graphics/pokemon/icons/celebi_icon.png create mode 100644 graphics/pokemon/icons/chansey_icon.png create mode 100644 graphics/pokemon/icons/charizard_icon.png create mode 100644 graphics/pokemon/icons/charmander_icon.png create mode 100644 graphics/pokemon/icons/charmeleon_icon.png create mode 100644 graphics/pokemon/icons/chikorita_icon.png create mode 100644 graphics/pokemon/icons/chimecho_icon.png create mode 100644 graphics/pokemon/icons/chinchou_icon.png create mode 100644 graphics/pokemon/icons/clamperl_icon.png create mode 100644 graphics/pokemon/icons/claydol_icon.png create mode 100644 graphics/pokemon/icons/clefable_icon.png create mode 100644 graphics/pokemon/icons/clefairy_icon.png create mode 100644 graphics/pokemon/icons/cleffa_icon.png create mode 100644 graphics/pokemon/icons/cloyster_icon.png create mode 100644 graphics/pokemon/icons/combusken_icon.png create mode 100644 graphics/pokemon/icons/corphish_icon.png create mode 100644 graphics/pokemon/icons/corsola_icon.png create mode 100644 graphics/pokemon/icons/cradily_icon.png create mode 100644 graphics/pokemon/icons/crawdaunt_icon.png create mode 100644 graphics/pokemon/icons/crobat_icon.png create mode 100644 graphics/pokemon/icons/croconaw_icon.png create mode 100644 graphics/pokemon/icons/cubone_icon.png create mode 100644 graphics/pokemon/icons/cyndaquil_icon.png create mode 100644 graphics/pokemon/icons/delcatty_icon.png create mode 100644 graphics/pokemon/icons/delibird_icon.png create mode 100644 graphics/pokemon/icons/deoxys_icon.png create mode 100644 graphics/pokemon/icons/deoxys_speed_icon.png create mode 100644 graphics/pokemon/icons/dewgong_icon.png create mode 100644 graphics/pokemon/icons/diglett_icon.png create mode 100644 graphics/pokemon/icons/ditto_icon.png create mode 100644 graphics/pokemon/icons/dodrio_icon.png create mode 100644 graphics/pokemon/icons/doduo_icon.png create mode 100644 graphics/pokemon/icons/donphan_icon.png create mode 100644 graphics/pokemon/icons/dragonair_icon.png create mode 100644 graphics/pokemon/icons/dragonite_icon.png create mode 100644 graphics/pokemon/icons/dratini_icon.png create mode 100644 graphics/pokemon/icons/drowzee_icon.png create mode 100644 graphics/pokemon/icons/dugtrio_icon.png create mode 100644 graphics/pokemon/icons/dunsparce_icon.png create mode 100644 graphics/pokemon/icons/dusclops_icon.png create mode 100644 graphics/pokemon/icons/duskull_icon.png create mode 100644 graphics/pokemon/icons/dustox_icon.png create mode 100644 graphics/pokemon/icons/eevee_icon.png create mode 100644 graphics/pokemon/icons/egg_icon.png create mode 100644 graphics/pokemon/icons/ekans_icon.png create mode 100644 graphics/pokemon/icons/electabuzz_icon.png create mode 100644 graphics/pokemon/icons/electrike_icon.png create mode 100644 graphics/pokemon/icons/electrode_icon.png create mode 100644 graphics/pokemon/icons/elekid_icon.png create mode 100644 graphics/pokemon/icons/entei_icon.png create mode 100644 graphics/pokemon/icons/espeon_icon.png create mode 100644 graphics/pokemon/icons/exeggcute_icon.png create mode 100644 graphics/pokemon/icons/exeggutor_icon.png create mode 100644 graphics/pokemon/icons/exploud_icon.png create mode 100644 graphics/pokemon/icons/farfetch_d_icon.png create mode 100644 graphics/pokemon/icons/fearow_icon.png create mode 100644 graphics/pokemon/icons/feebas_icon.png create mode 100644 graphics/pokemon/icons/feraligatr_icon.png create mode 100644 graphics/pokemon/icons/flaaffy_icon.png create mode 100644 graphics/pokemon/icons/flareon_icon.png create mode 100644 graphics/pokemon/icons/flygon_icon.png create mode 100644 graphics/pokemon/icons/forretress_icon.png create mode 100644 graphics/pokemon/icons/furret_icon.png create mode 100644 graphics/pokemon/icons/gardevoir_icon.png create mode 100644 graphics/pokemon/icons/gastly_icon.png create mode 100644 graphics/pokemon/icons/gengar_icon.png create mode 100644 graphics/pokemon/icons/geodude_icon.png create mode 100644 graphics/pokemon/icons/girafarig_icon.png create mode 100644 graphics/pokemon/icons/glalie_icon.png create mode 100644 graphics/pokemon/icons/gligar_icon.png create mode 100644 graphics/pokemon/icons/gloom_icon.png create mode 100644 graphics/pokemon/icons/golbat_icon.png create mode 100644 graphics/pokemon/icons/goldeen_icon.png create mode 100644 graphics/pokemon/icons/golduck_icon.png create mode 100644 graphics/pokemon/icons/golem_icon.png create mode 100644 graphics/pokemon/icons/gorebyss_icon.png create mode 100644 graphics/pokemon/icons/granbull_icon.png create mode 100644 graphics/pokemon/icons/graveler_icon.png create mode 100644 graphics/pokemon/icons/grimer_icon.png create mode 100644 graphics/pokemon/icons/groudon_icon.png create mode 100644 graphics/pokemon/icons/grovyle_icon.png create mode 100644 graphics/pokemon/icons/growlithe_icon.png create mode 100644 graphics/pokemon/icons/grumpig_icon.png create mode 100644 graphics/pokemon/icons/gulpin_icon.png create mode 100644 graphics/pokemon/icons/gyarados_icon.png create mode 100644 graphics/pokemon/icons/hariyama_icon.png create mode 100644 graphics/pokemon/icons/haunter_icon.png create mode 100644 graphics/pokemon/icons/heracross_icon.png create mode 100644 graphics/pokemon/icons/hitmonchan_icon.png create mode 100644 graphics/pokemon/icons/hitmonlee_icon.png create mode 100644 graphics/pokemon/icons/hitmontop_icon.png create mode 100644 graphics/pokemon/icons/ho_oh_icon.png create mode 100644 graphics/pokemon/icons/hoothoot_icon.png create mode 100644 graphics/pokemon/icons/hoppip_icon.png create mode 100644 graphics/pokemon/icons/horsea_icon.png create mode 100644 graphics/pokemon/icons/houndoom_icon.png create mode 100644 graphics/pokemon/icons/houndour_icon.png create mode 100644 graphics/pokemon/icons/huntail_icon.png create mode 100644 graphics/pokemon/icons/hypno_icon.png create mode 100644 graphics/pokemon/icons/igglybuff_icon.png create mode 100644 graphics/pokemon/icons/illumise_icon.png create mode 100644 graphics/pokemon/icons/ivysaur_icon.png create mode 100644 graphics/pokemon/icons/jigglypuff_icon.png create mode 100644 graphics/pokemon/icons/jirachi_icon.png create mode 100644 graphics/pokemon/icons/jolteon_icon.png create mode 100644 graphics/pokemon/icons/jumpluff_icon.png create mode 100644 graphics/pokemon/icons/jynx_icon.png create mode 100644 graphics/pokemon/icons/kabuto_icon.png create mode 100644 graphics/pokemon/icons/kabutops_icon.png create mode 100644 graphics/pokemon/icons/kadabra_icon.png create mode 100644 graphics/pokemon/icons/kakuna_icon.png create mode 100644 graphics/pokemon/icons/kangaskhan_icon.png create mode 100644 graphics/pokemon/icons/kecleon_icon.png create mode 100644 graphics/pokemon/icons/kingdra_icon.png create mode 100644 graphics/pokemon/icons/kingler_icon.png create mode 100644 graphics/pokemon/icons/kirlia_icon.png create mode 100644 graphics/pokemon/icons/koffing_icon.png create mode 100644 graphics/pokemon/icons/krabby_icon.png create mode 100644 graphics/pokemon/icons/kyogre_icon.png create mode 100644 graphics/pokemon/icons/lairon_icon.png create mode 100644 graphics/pokemon/icons/lanturn_icon.png create mode 100644 graphics/pokemon/icons/lapras_icon.png create mode 100644 graphics/pokemon/icons/larvitar_icon.png create mode 100644 graphics/pokemon/icons/latias_icon.png create mode 100644 graphics/pokemon/icons/latios_icon.png create mode 100644 graphics/pokemon/icons/ledian_icon.png create mode 100644 graphics/pokemon/icons/ledyba_icon.png create mode 100644 graphics/pokemon/icons/lickitung_icon.png create mode 100644 graphics/pokemon/icons/lileep_icon.png create mode 100644 graphics/pokemon/icons/linoone_icon.png create mode 100644 graphics/pokemon/icons/lombre_icon.png create mode 100644 graphics/pokemon/icons/lotad_icon.png create mode 100644 graphics/pokemon/icons/loudred_icon.png create mode 100644 graphics/pokemon/icons/ludicolo_icon.png create mode 100644 graphics/pokemon/icons/lugia_icon.png create mode 100644 graphics/pokemon/icons/lunatone_icon.png create mode 100644 graphics/pokemon/icons/luvdisc_icon.png create mode 100644 graphics/pokemon/icons/machamp_icon.png create mode 100644 graphics/pokemon/icons/machoke_icon.png create mode 100644 graphics/pokemon/icons/machop_icon.png create mode 100644 graphics/pokemon/icons/magby_icon.png create mode 100644 graphics/pokemon/icons/magcargo_icon.png create mode 100644 graphics/pokemon/icons/magikarp_icon.png create mode 100644 graphics/pokemon/icons/magmar_icon.png create mode 100644 graphics/pokemon/icons/magnemite_icon.png create mode 100644 graphics/pokemon/icons/magneton_icon.png create mode 100644 graphics/pokemon/icons/makuhita_icon.png create mode 100644 graphics/pokemon/icons/manectric_icon.png create mode 100644 graphics/pokemon/icons/mankey_icon.png create mode 100644 graphics/pokemon/icons/mantine_icon.png create mode 100644 graphics/pokemon/icons/mareep_icon.png create mode 100644 graphics/pokemon/icons/marill_icon.png create mode 100644 graphics/pokemon/icons/marowak_icon.png create mode 100644 graphics/pokemon/icons/marshtomp_icon.png create mode 100644 graphics/pokemon/icons/masquerain_icon.png create mode 100644 graphics/pokemon/icons/mawile_icon.png create mode 100644 graphics/pokemon/icons/medicham_icon.png create mode 100644 graphics/pokemon/icons/meditite_icon.png create mode 100644 graphics/pokemon/icons/meganium_icon.png create mode 100644 graphics/pokemon/icons/meowth_icon.png create mode 100644 graphics/pokemon/icons/metagross_icon.png create mode 100644 graphics/pokemon/icons/metang_icon.png create mode 100644 graphics/pokemon/icons/metapod_icon.png create mode 100644 graphics/pokemon/icons/mew_icon.png create mode 100644 graphics/pokemon/icons/mewtwo_icon.png create mode 100644 graphics/pokemon/icons/mightyena_icon.png create mode 100644 graphics/pokemon/icons/milotic_icon.png create mode 100644 graphics/pokemon/icons/miltank_icon.png create mode 100644 graphics/pokemon/icons/minun_icon.png create mode 100644 graphics/pokemon/icons/misdreavus_icon.png create mode 100644 graphics/pokemon/icons/moltres_icon.png create mode 100644 graphics/pokemon/icons/mr_mime_icon.png create mode 100644 graphics/pokemon/icons/mudkip_icon.png create mode 100644 graphics/pokemon/icons/muk_icon.png create mode 100644 graphics/pokemon/icons/murkrow_icon.png create mode 100644 graphics/pokemon/icons/natu_icon.png create mode 100644 graphics/pokemon/icons/nidoking_icon.png create mode 100644 graphics/pokemon/icons/nidoqueen_icon.png create mode 100644 graphics/pokemon/icons/nidoran_f_icon.png create mode 100644 graphics/pokemon/icons/nidoran_m_icon.png create mode 100644 graphics/pokemon/icons/nidorina_icon.png create mode 100644 graphics/pokemon/icons/nidorino_icon.png create mode 100644 graphics/pokemon/icons/nincada_icon.png create mode 100644 graphics/pokemon/icons/ninetales_icon.png create mode 100644 graphics/pokemon/icons/ninjask_icon.png create mode 100644 graphics/pokemon/icons/noctowl_icon.png create mode 100644 graphics/pokemon/icons/nosepass_icon.png create mode 100644 graphics/pokemon/icons/numel_icon.png create mode 100644 graphics/pokemon/icons/nuzleaf_icon.png create mode 100644 graphics/pokemon/icons/octillery_icon.png create mode 100644 graphics/pokemon/icons/oddish_icon.png create mode 100644 graphics/pokemon/icons/omanyte_icon.png create mode 100644 graphics/pokemon/icons/omastar_icon.png create mode 100644 graphics/pokemon/icons/onix_icon.png create mode 100644 graphics/pokemon/icons/paras_icon.png create mode 100644 graphics/pokemon/icons/parasect_icon.png create mode 100644 graphics/pokemon/icons/pelipper_icon.png create mode 100644 graphics/pokemon/icons/persian_icon.png create mode 100644 graphics/pokemon/icons/phanpy_icon.png create mode 100644 graphics/pokemon/icons/pichu_icon.png create mode 100644 graphics/pokemon/icons/pidgeot_icon.png create mode 100644 graphics/pokemon/icons/pidgeotto_icon.png create mode 100644 graphics/pokemon/icons/pidgey_icon.png create mode 100644 graphics/pokemon/icons/pikachu_icon.png create mode 100644 graphics/pokemon/icons/piloswine_icon.png create mode 100644 graphics/pokemon/icons/pineco_icon.png create mode 100644 graphics/pokemon/icons/pinsir_icon.png create mode 100644 graphics/pokemon/icons/plusle_icon.png create mode 100644 graphics/pokemon/icons/politoed_icon.png create mode 100644 graphics/pokemon/icons/poliwag_icon.png create mode 100644 graphics/pokemon/icons/poliwhirl_icon.png create mode 100644 graphics/pokemon/icons/poliwrath_icon.png create mode 100644 graphics/pokemon/icons/ponyta_icon.png create mode 100644 graphics/pokemon/icons/poochyena_icon.png create mode 100644 graphics/pokemon/icons/porygon2_icon.png create mode 100644 graphics/pokemon/icons/porygon_icon.png create mode 100644 graphics/pokemon/icons/primeape_icon.png create mode 100644 graphics/pokemon/icons/psyduck_icon.png create mode 100644 graphics/pokemon/icons/pupitar_icon.png create mode 100644 graphics/pokemon/icons/quagsire_icon.png create mode 100644 graphics/pokemon/icons/question_mark_icon.png create mode 100644 graphics/pokemon/icons/quilava_icon.png create mode 100644 graphics/pokemon/icons/qwilfish_icon.png create mode 100644 graphics/pokemon/icons/raichu_icon.png create mode 100644 graphics/pokemon/icons/raikou_icon.png create mode 100644 graphics/pokemon/icons/ralts_icon.png create mode 100644 graphics/pokemon/icons/rapidash_icon.png create mode 100644 graphics/pokemon/icons/raticate_icon.png create mode 100644 graphics/pokemon/icons/rattata_icon.png create mode 100644 graphics/pokemon/icons/rayquaza_icon.png create mode 100644 graphics/pokemon/icons/regice_icon.png create mode 100644 graphics/pokemon/icons/regirock_icon.png create mode 100644 graphics/pokemon/icons/registeel_icon.png create mode 100644 graphics/pokemon/icons/relicanth_icon.png create mode 100644 graphics/pokemon/icons/remoraid_icon.png create mode 100644 graphics/pokemon/icons/rhydon_icon.png create mode 100644 graphics/pokemon/icons/rhyhorn_icon.png create mode 100644 graphics/pokemon/icons/roselia_icon.png create mode 100644 graphics/pokemon/icons/sableye_icon.png create mode 100644 graphics/pokemon/icons/salamence_icon.png create mode 100644 graphics/pokemon/icons/sandshrew_icon.png create mode 100644 graphics/pokemon/icons/sandslash_icon.png create mode 100644 graphics/pokemon/icons/sceptile_icon.png create mode 100644 graphics/pokemon/icons/scizor_icon.png create mode 100644 graphics/pokemon/icons/scyther_icon.png create mode 100644 graphics/pokemon/icons/seadra_icon.png create mode 100644 graphics/pokemon/icons/seaking_icon.png create mode 100644 graphics/pokemon/icons/sealeo_icon.png create mode 100644 graphics/pokemon/icons/seedot_icon.png create mode 100644 graphics/pokemon/icons/seel_icon.png create mode 100644 graphics/pokemon/icons/sentret_icon.png create mode 100644 graphics/pokemon/icons/seviper_icon.png create mode 100644 graphics/pokemon/icons/sharpedo_icon.png create mode 100644 graphics/pokemon/icons/shedinja_icon.png create mode 100644 graphics/pokemon/icons/shelgon_icon.png create mode 100644 graphics/pokemon/icons/shellder_icon.png create mode 100644 graphics/pokemon/icons/shiftry_icon.png create mode 100644 graphics/pokemon/icons/shroomish_icon.png create mode 100644 graphics/pokemon/icons/shuckle_icon.png create mode 100644 graphics/pokemon/icons/shuppet_icon.png create mode 100644 graphics/pokemon/icons/silcoon_icon.png create mode 100644 graphics/pokemon/icons/skarmory_icon.png create mode 100644 graphics/pokemon/icons/skiploom_icon.png create mode 100644 graphics/pokemon/icons/skitty_icon.png create mode 100644 graphics/pokemon/icons/slaking_icon.png create mode 100644 graphics/pokemon/icons/slakoth_icon.png create mode 100644 graphics/pokemon/icons/slowbro_icon.png create mode 100644 graphics/pokemon/icons/slowking_icon.png create mode 100644 graphics/pokemon/icons/slowpoke_icon.png create mode 100644 graphics/pokemon/icons/slugma_icon.png create mode 100644 graphics/pokemon/icons/smeargle_icon.png create mode 100644 graphics/pokemon/icons/smoochum_icon.png create mode 100644 graphics/pokemon/icons/sneasel_icon.png create mode 100644 graphics/pokemon/icons/snorlax_icon.png create mode 100644 graphics/pokemon/icons/snorunt_icon.png create mode 100644 graphics/pokemon/icons/snubbull_icon.png create mode 100644 graphics/pokemon/icons/solrock_icon.png create mode 100644 graphics/pokemon/icons/spearow_icon.png create mode 100644 graphics/pokemon/icons/spheal_icon.png create mode 100644 graphics/pokemon/icons/spinarak_icon.png create mode 100644 graphics/pokemon/icons/spinda_icon.png create mode 100644 graphics/pokemon/icons/spoink_icon.png create mode 100644 graphics/pokemon/icons/squirtle_icon.png create mode 100644 graphics/pokemon/icons/stantler_icon.png create mode 100644 graphics/pokemon/icons/starmie_icon.png create mode 100644 graphics/pokemon/icons/staryu_icon.png create mode 100644 graphics/pokemon/icons/steelix_icon.png create mode 100644 graphics/pokemon/icons/sudowoodo_icon.png create mode 100644 graphics/pokemon/icons/suicune_icon.png create mode 100644 graphics/pokemon/icons/sunflora_icon.png create mode 100644 graphics/pokemon/icons/sunkern_icon.png create mode 100644 graphics/pokemon/icons/surskit_icon.png create mode 100644 graphics/pokemon/icons/swablu_icon.png create mode 100644 graphics/pokemon/icons/swalot_icon.png create mode 100644 graphics/pokemon/icons/swampert_icon.png create mode 100644 graphics/pokemon/icons/swellow_icon.png create mode 100644 graphics/pokemon/icons/swinub_icon.png create mode 100644 graphics/pokemon/icons/taillow_icon.png create mode 100644 graphics/pokemon/icons/tangela_icon.png create mode 100644 graphics/pokemon/icons/tauros_icon.png create mode 100644 graphics/pokemon/icons/teddiursa_icon.png create mode 100644 graphics/pokemon/icons/tentacool_icon.png create mode 100644 graphics/pokemon/icons/tentacruel_icon.png create mode 100644 graphics/pokemon/icons/togepi_icon.png create mode 100644 graphics/pokemon/icons/togetic_icon.png create mode 100644 graphics/pokemon/icons/torchic_icon.png create mode 100644 graphics/pokemon/icons/torkoal_icon.png create mode 100644 graphics/pokemon/icons/totodile_icon.png create mode 100644 graphics/pokemon/icons/trapinch_icon.png create mode 100644 graphics/pokemon/icons/treecko_icon.png create mode 100644 graphics/pokemon/icons/tropius_icon.png create mode 100644 graphics/pokemon/icons/typhlosion_icon.png create mode 100644 graphics/pokemon/icons/tyranitar_icon.png create mode 100644 graphics/pokemon/icons/tyrogue_icon.png create mode 100644 graphics/pokemon/icons/umbreon_icon.png create mode 100644 graphics/pokemon/icons/unown_B_icon.png create mode 100644 graphics/pokemon/icons/unown_C_icon.png create mode 100644 graphics/pokemon/icons/unown_D_icon.png create mode 100644 graphics/pokemon/icons/unown_E_icon.png create mode 100644 graphics/pokemon/icons/unown_F_icon.png create mode 100644 graphics/pokemon/icons/unown_G_icon.png create mode 100644 graphics/pokemon/icons/unown_H_icon.png create mode 100644 graphics/pokemon/icons/unown_I_icon.png create mode 100644 graphics/pokemon/icons/unown_J_icon.png create mode 100644 graphics/pokemon/icons/unown_K_icon.png create mode 100644 graphics/pokemon/icons/unown_L_icon.png create mode 100644 graphics/pokemon/icons/unown_M_icon.png create mode 100644 graphics/pokemon/icons/unown_N_icon.png create mode 100644 graphics/pokemon/icons/unown_O_icon.png create mode 100644 graphics/pokemon/icons/unown_P_icon.png create mode 100644 graphics/pokemon/icons/unown_Q_icon.png create mode 100644 graphics/pokemon/icons/unown_R_icon.png create mode 100644 graphics/pokemon/icons/unown_S_icon.png create mode 100644 graphics/pokemon/icons/unown_T_icon.png create mode 100644 graphics/pokemon/icons/unown_U_icon.png create mode 100644 graphics/pokemon/icons/unown_V_icon.png create mode 100644 graphics/pokemon/icons/unown_W_icon.png create mode 100644 graphics/pokemon/icons/unown_X_icon.png create mode 100644 graphics/pokemon/icons/unown_Y_icon.png create mode 100644 graphics/pokemon/icons/unown_Z_icon.png create mode 100644 graphics/pokemon/icons/unown_a_icon.png create mode 100644 graphics/pokemon/icons/unown_exclamation_mark_icon.png create mode 100644 graphics/pokemon/icons/unown_question_mark_icon.png create mode 100644 graphics/pokemon/icons/ursaring_icon.png create mode 100644 graphics/pokemon/icons/vaporeon_icon.png create mode 100644 graphics/pokemon/icons/venomoth_icon.png create mode 100644 graphics/pokemon/icons/venonat_icon.png create mode 100644 graphics/pokemon/icons/venusaur_icon.png create mode 100644 graphics/pokemon/icons/vibrava_icon.png create mode 100644 graphics/pokemon/icons/victreebel_icon.png create mode 100644 graphics/pokemon/icons/vigoroth_icon.png create mode 100644 graphics/pokemon/icons/vileplume_icon.png create mode 100644 graphics/pokemon/icons/volbeat_icon.png create mode 100644 graphics/pokemon/icons/voltorb_icon.png create mode 100644 graphics/pokemon/icons/vulpix_icon.png create mode 100644 graphics/pokemon/icons/wailmer_icon.png create mode 100644 graphics/pokemon/icons/wailord_icon.png create mode 100644 graphics/pokemon/icons/walrein_icon.png create mode 100644 graphics/pokemon/icons/wartortle_icon.png create mode 100644 graphics/pokemon/icons/weedle_icon.png create mode 100644 graphics/pokemon/icons/weepinbell_icon.png create mode 100644 graphics/pokemon/icons/weezing_icon.png create mode 100644 graphics/pokemon/icons/whiscash_icon.png create mode 100644 graphics/pokemon/icons/whismur_icon.png create mode 100644 graphics/pokemon/icons/wigglytuff_icon.png create mode 100644 graphics/pokemon/icons/wingull_icon.png create mode 100644 graphics/pokemon/icons/wobbuffet_icon.png create mode 100644 graphics/pokemon/icons/wooper_icon.png create mode 100644 graphics/pokemon/icons/wurmple_icon.png create mode 100644 graphics/pokemon/icons/wynaut_icon.png create mode 100644 graphics/pokemon/icons/xatu_icon.png create mode 100644 graphics/pokemon/icons/yanma_icon.png create mode 100644 graphics/pokemon/icons/zangoose_icon.png create mode 100644 graphics/pokemon/icons/zapdos_icon.png create mode 100644 graphics/pokemon/icons/zigzagoon_icon.png create mode 100644 graphics/pokemon/icons/zubat_icon.png create mode 100644 graphics/pokemon/palettes/abra_palette.pal create mode 100644 graphics/pokemon/palettes/abra_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/absol_palette.pal create mode 100644 graphics/pokemon/palettes/absol_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/aerodactyl_palette.pal create mode 100644 graphics/pokemon/palettes/aerodactyl_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/aggron_palette.pal create mode 100644 graphics/pokemon/palettes/aggron_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/aipom_palette.pal create mode 100644 graphics/pokemon/palettes/aipom_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/alakazam_palette.pal create mode 100644 graphics/pokemon/palettes/alakazam_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/altaria_palette.pal create mode 100644 graphics/pokemon/palettes/altaria_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/ampharos_palette.pal create mode 100644 graphics/pokemon/palettes/ampharos_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/anorith_palette.pal create mode 100644 graphics/pokemon/palettes/anorith_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/arbok_palette.pal create mode 100644 graphics/pokemon/palettes/arbok_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/arcanine_palette.pal create mode 100644 graphics/pokemon/palettes/arcanine_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/ariados_palette.pal create mode 100644 graphics/pokemon/palettes/ariados_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/armaldo_palette.pal create mode 100644 graphics/pokemon/palettes/armaldo_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/aron_palette.pal create mode 100644 graphics/pokemon/palettes/aron_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/articuno_palette.pal create mode 100644 graphics/pokemon/palettes/articuno_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/azumarill_palette.pal create mode 100644 graphics/pokemon/palettes/azumarill_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/azurill_palette.pal create mode 100644 graphics/pokemon/palettes/azurill_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/bagon_palette.pal create mode 100644 graphics/pokemon/palettes/bagon_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/baltoy_palette.pal create mode 100644 graphics/pokemon/palettes/baltoy_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/banette_palette.pal create mode 100644 graphics/pokemon/palettes/banette_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/barboach_palette.pal create mode 100644 graphics/pokemon/palettes/barboach_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/bayleef_palette.pal create mode 100644 graphics/pokemon/palettes/bayleef_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/beautifly_palette.pal create mode 100644 graphics/pokemon/palettes/beautifly_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/beedrill_palette.pal create mode 100644 graphics/pokemon/palettes/beedrill_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/beldum_palette.pal create mode 100644 graphics/pokemon/palettes/beldum_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/bellossom_palette.pal create mode 100644 graphics/pokemon/palettes/bellossom_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/bellsprout_palette.pal create mode 100644 graphics/pokemon/palettes/bellsprout_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/blastoise_palette.pal create mode 100644 graphics/pokemon/palettes/blastoise_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/blaziken_palette.pal create mode 100644 graphics/pokemon/palettes/blaziken_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/blissey_palette.pal create mode 100644 graphics/pokemon/palettes/blissey_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/breloom_palette.pal create mode 100644 graphics/pokemon/palettes/breloom_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/bulbasaur_palette.pal create mode 100644 graphics/pokemon/palettes/bulbasaur_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/butterfree_palette.pal create mode 100644 graphics/pokemon/palettes/butterfree_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/cacnea_palette.pal create mode 100644 graphics/pokemon/palettes/cacnea_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/cacturne_palette.pal create mode 100644 graphics/pokemon/palettes/cacturne_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/camerupt_palette.pal create mode 100644 graphics/pokemon/palettes/camerupt_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/carvanha_palette.pal create mode 100644 graphics/pokemon/palettes/carvanha_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/cascoon_palette.pal create mode 100644 graphics/pokemon/palettes/cascoon_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/castform_normal_form_palette.pal create mode 100644 graphics/pokemon/palettes/castform_normal_form_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/castform_rainy_form_palette.pal create mode 100644 graphics/pokemon/palettes/castform_rainy_form_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/castform_snowy_form_palette.pal create mode 100644 graphics/pokemon/palettes/castform_snowy_form_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/castform_sunny_form_palette.pal create mode 100644 graphics/pokemon/palettes/castform_sunny_form_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/caterpie_palette.pal create mode 100644 graphics/pokemon/palettes/caterpie_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/celebi_palette.pal create mode 100644 graphics/pokemon/palettes/celebi_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/chansey_palette.pal create mode 100644 graphics/pokemon/palettes/chansey_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/charizard_palette.pal create mode 100644 graphics/pokemon/palettes/charizard_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/charmander_palette.pal create mode 100644 graphics/pokemon/palettes/charmander_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/charmeleon_palette.pal create mode 100644 graphics/pokemon/palettes/charmeleon_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/chikorita_palette.pal create mode 100644 graphics/pokemon/palettes/chikorita_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/chimecho_palette.pal create mode 100644 graphics/pokemon/palettes/chimecho_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/chinchou_palette.pal create mode 100644 graphics/pokemon/palettes/chinchou_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/clamperl_palette.pal create mode 100644 graphics/pokemon/palettes/clamperl_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/claydol_palette.pal create mode 100644 graphics/pokemon/palettes/claydol_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/clefable_palette.pal create mode 100644 graphics/pokemon/palettes/clefable_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/clefairy_palette.pal create mode 100644 graphics/pokemon/palettes/clefairy_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/cleffa_palette.pal create mode 100644 graphics/pokemon/palettes/cleffa_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/cloyster_palette.pal create mode 100644 graphics/pokemon/palettes/cloyster_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/combusken_palette.pal create mode 100644 graphics/pokemon/palettes/combusken_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/corphish_palette.pal create mode 100644 graphics/pokemon/palettes/corphish_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/corsola_palette.pal create mode 100644 graphics/pokemon/palettes/corsola_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/cradily_palette.pal create mode 100644 graphics/pokemon/palettes/cradily_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/crawdaunt_palette.pal create mode 100644 graphics/pokemon/palettes/crawdaunt_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/crobat_palette.pal create mode 100644 graphics/pokemon/palettes/crobat_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/croconaw_palette.pal create mode 100644 graphics/pokemon/palettes/croconaw_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/cubone_palette.pal create mode 100644 graphics/pokemon/palettes/cubone_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/cyndaquil_palette.pal create mode 100644 graphics/pokemon/palettes/cyndaquil_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/delcatty_palette.pal create mode 100644 graphics/pokemon/palettes/delcatty_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/delibird_palette.pal create mode 100644 graphics/pokemon/palettes/delibird_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/deoxys_palette.pal create mode 100644 graphics/pokemon/palettes/deoxys_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/dewgong_palette.pal create mode 100644 graphics/pokemon/palettes/dewgong_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/diglett_palette.pal create mode 100644 graphics/pokemon/palettes/diglett_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/ditto_palette.pal create mode 100644 graphics/pokemon/palettes/ditto_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/dodrio_palette.pal create mode 100644 graphics/pokemon/palettes/dodrio_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/doduo_palette.pal create mode 100644 graphics/pokemon/palettes/doduo_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/donphan_palette.pal create mode 100644 graphics/pokemon/palettes/donphan_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/double_question_mark_palette.pal create mode 100644 graphics/pokemon/palettes/double_question_mark_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/dragonair_palette.pal create mode 100644 graphics/pokemon/palettes/dragonair_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/dragonite_palette.pal create mode 100644 graphics/pokemon/palettes/dragonite_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/dratini_palette.pal create mode 100644 graphics/pokemon/palettes/dratini_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/drowzee_palette.pal create mode 100644 graphics/pokemon/palettes/drowzee_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/dugtrio_palette.pal create mode 100644 graphics/pokemon/palettes/dugtrio_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/dunsparce_palette.pal create mode 100644 graphics/pokemon/palettes/dunsparce_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/dusclops_palette.pal create mode 100644 graphics/pokemon/palettes/dusclops_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/duskull_palette.pal create mode 100644 graphics/pokemon/palettes/duskull_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/dustox_palette.pal create mode 100644 graphics/pokemon/palettes/dustox_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/eevee_palette.pal create mode 100644 graphics/pokemon/palettes/eevee_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/egg_palette.pal create mode 100644 graphics/pokemon/palettes/ekans_palette.pal create mode 100644 graphics/pokemon/palettes/ekans_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/electabuzz_palette.pal create mode 100644 graphics/pokemon/palettes/electabuzz_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/electrike_palette.pal create mode 100644 graphics/pokemon/palettes/electrike_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/electrode_palette.pal create mode 100644 graphics/pokemon/palettes/electrode_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/elekid_palette.pal create mode 100644 graphics/pokemon/palettes/elekid_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/entei_palette.pal create mode 100644 graphics/pokemon/palettes/entei_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/espeon_palette.pal create mode 100644 graphics/pokemon/palettes/espeon_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/exeggcute_palette.pal create mode 100644 graphics/pokemon/palettes/exeggcute_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/exeggutor_palette.pal create mode 100644 graphics/pokemon/palettes/exeggutor_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/exploud_palette.pal create mode 100644 graphics/pokemon/palettes/exploud_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/farfetch_d_palette.pal create mode 100644 graphics/pokemon/palettes/farfetch_d_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/fearow_palette.pal create mode 100644 graphics/pokemon/palettes/fearow_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/feebas_palette.pal create mode 100644 graphics/pokemon/palettes/feebas_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/feraligatr_palette.pal create mode 100644 graphics/pokemon/palettes/feraligatr_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/flaaffy_palette.pal create mode 100644 graphics/pokemon/palettes/flaaffy_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/flareon_palette.pal create mode 100644 graphics/pokemon/palettes/flareon_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/flygon_palette.pal create mode 100644 graphics/pokemon/palettes/flygon_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/forretress_palette.pal create mode 100644 graphics/pokemon/palettes/forretress_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/furret_palette.pal create mode 100644 graphics/pokemon/palettes/furret_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/gardevoir_palette.pal create mode 100644 graphics/pokemon/palettes/gardevoir_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/gastly_palette.pal create mode 100644 graphics/pokemon/palettes/gastly_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/gengar_palette.pal create mode 100644 graphics/pokemon/palettes/gengar_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/geodude_palette.pal create mode 100644 graphics/pokemon/palettes/geodude_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/girafarig_palette.pal create mode 100644 graphics/pokemon/palettes/girafarig_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/glalie_palette.pal create mode 100644 graphics/pokemon/palettes/glalie_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/gligar_palette.pal create mode 100644 graphics/pokemon/palettes/gligar_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/gloom_palette.pal create mode 100644 graphics/pokemon/palettes/gloom_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/golbat_palette.pal create mode 100644 graphics/pokemon/palettes/golbat_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/goldeen_palette.pal create mode 100644 graphics/pokemon/palettes/goldeen_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/golduck_palette.pal create mode 100644 graphics/pokemon/palettes/golduck_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/golem_palette.pal create mode 100644 graphics/pokemon/palettes/golem_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/gorebyss_palette.pal create mode 100644 graphics/pokemon/palettes/gorebyss_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/granbull_palette.pal create mode 100644 graphics/pokemon/palettes/granbull_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/graveler_palette.pal create mode 100644 graphics/pokemon/palettes/graveler_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/grimer_palette.pal create mode 100644 graphics/pokemon/palettes/grimer_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/groudon_palette.pal create mode 100644 graphics/pokemon/palettes/groudon_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/grovyle_palette.pal create mode 100644 graphics/pokemon/palettes/grovyle_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/growlithe_palette.pal create mode 100644 graphics/pokemon/palettes/growlithe_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/grumpig_palette.pal create mode 100644 graphics/pokemon/palettes/grumpig_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/gulpin_palette.pal create mode 100644 graphics/pokemon/palettes/gulpin_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/gyarados_palette.pal create mode 100644 graphics/pokemon/palettes/gyarados_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/hariyama_palette.pal create mode 100644 graphics/pokemon/palettes/hariyama_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/haunter_palette.pal create mode 100644 graphics/pokemon/palettes/haunter_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/heracross_palette.pal create mode 100644 graphics/pokemon/palettes/heracross_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/hitmonchan_palette.pal create mode 100644 graphics/pokemon/palettes/hitmonchan_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/hitmonlee_palette.pal create mode 100644 graphics/pokemon/palettes/hitmonlee_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/hitmontop_palette.pal create mode 100644 graphics/pokemon/palettes/hitmontop_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/ho_oh_palette.pal create mode 100644 graphics/pokemon/palettes/ho_oh_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/hoothoot_palette.pal create mode 100644 graphics/pokemon/palettes/hoothoot_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/hoppip_palette.pal create mode 100644 graphics/pokemon/palettes/hoppip_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/horsea_palette.pal create mode 100644 graphics/pokemon/palettes/horsea_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/houndoom_palette.pal create mode 100644 graphics/pokemon/palettes/houndoom_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/houndour_palette.pal create mode 100644 graphics/pokemon/palettes/houndour_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/huntail_palette.pal create mode 100644 graphics/pokemon/palettes/huntail_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/hypno_palette.pal create mode 100644 graphics/pokemon/palettes/hypno_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/igglybuff_palette.pal create mode 100644 graphics/pokemon/palettes/igglybuff_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/illumise_palette.pal create mode 100644 graphics/pokemon/palettes/illumise_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/ivysaur_palette.pal create mode 100644 graphics/pokemon/palettes/ivysaur_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/jigglypuff_palette.pal create mode 100644 graphics/pokemon/palettes/jigglypuff_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/jirachi_palette.pal create mode 100644 graphics/pokemon/palettes/jirachi_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/jolteon_palette.pal create mode 100644 graphics/pokemon/palettes/jolteon_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/jumpluff_palette.pal create mode 100644 graphics/pokemon/palettes/jumpluff_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/jynx_palette.pal create mode 100644 graphics/pokemon/palettes/jynx_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/kabuto_palette.pal create mode 100644 graphics/pokemon/palettes/kabuto_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/kabutops_palette.pal create mode 100644 graphics/pokemon/palettes/kabutops_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/kadabra_palette.pal create mode 100644 graphics/pokemon/palettes/kadabra_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/kakuna_palette.pal create mode 100644 graphics/pokemon/palettes/kakuna_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/kangaskhan_palette.pal create mode 100644 graphics/pokemon/palettes/kangaskhan_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/kecleon_palette.pal create mode 100644 graphics/pokemon/palettes/kecleon_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/kingdra_palette.pal create mode 100644 graphics/pokemon/palettes/kingdra_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/kingler_palette.pal create mode 100644 graphics/pokemon/palettes/kingler_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/kirlia_palette.pal create mode 100644 graphics/pokemon/palettes/kirlia_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/koffing_palette.pal create mode 100644 graphics/pokemon/palettes/koffing_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/krabby_palette.pal create mode 100644 graphics/pokemon/palettes/krabby_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/kyogre_palette.pal create mode 100644 graphics/pokemon/palettes/kyogre_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/lairon_palette.pal create mode 100644 graphics/pokemon/palettes/lairon_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/lanturn_palette.pal create mode 100644 graphics/pokemon/palettes/lanturn_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/lapras_palette.pal create mode 100644 graphics/pokemon/palettes/lapras_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/larvitar_palette.pal create mode 100644 graphics/pokemon/palettes/larvitar_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/latias_palette.pal create mode 100644 graphics/pokemon/palettes/latias_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/latios_palette.pal create mode 100644 graphics/pokemon/palettes/latios_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/ledian_palette.pal create mode 100644 graphics/pokemon/palettes/ledian_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/ledyba_palette.pal create mode 100644 graphics/pokemon/palettes/ledyba_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/lickitung_palette.pal create mode 100644 graphics/pokemon/palettes/lickitung_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/lileep_palette.pal create mode 100644 graphics/pokemon/palettes/lileep_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/linoone_palette.pal create mode 100644 graphics/pokemon/palettes/linoone_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/lombre_palette.pal create mode 100644 graphics/pokemon/palettes/lombre_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/lotad_palette.pal create mode 100644 graphics/pokemon/palettes/lotad_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/loudred_palette.pal create mode 100644 graphics/pokemon/palettes/loudred_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/ludicolo_palette.pal create mode 100644 graphics/pokemon/palettes/ludicolo_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/lugia_palette.pal create mode 100644 graphics/pokemon/palettes/lugia_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/lunatone_palette.pal create mode 100644 graphics/pokemon/palettes/lunatone_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/luvdisc_palette.pal create mode 100644 graphics/pokemon/palettes/luvdisc_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/machamp_palette.pal create mode 100644 graphics/pokemon/palettes/machamp_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/machoke_palette.pal create mode 100644 graphics/pokemon/palettes/machoke_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/machop_palette.pal create mode 100644 graphics/pokemon/palettes/machop_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/magby_palette.pal create mode 100644 graphics/pokemon/palettes/magby_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/magcargo_palette.pal create mode 100644 graphics/pokemon/palettes/magcargo_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/magikarp_palette.pal create mode 100644 graphics/pokemon/palettes/magikarp_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/magmar_palette.pal create mode 100644 graphics/pokemon/palettes/magmar_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/magnemite_palette.pal create mode 100644 graphics/pokemon/palettes/magnemite_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/magneton_palette.pal create mode 100644 graphics/pokemon/palettes/magneton_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/makuhita_palette.pal create mode 100644 graphics/pokemon/palettes/makuhita_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/manectric_palette.pal create mode 100644 graphics/pokemon/palettes/manectric_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/mankey_palette.pal create mode 100644 graphics/pokemon/palettes/mankey_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/mantine_palette.pal create mode 100644 graphics/pokemon/palettes/mantine_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/mareep_palette.pal create mode 100644 graphics/pokemon/palettes/mareep_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/marill_palette.pal create mode 100644 graphics/pokemon/palettes/marill_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/marowak_palette.pal create mode 100644 graphics/pokemon/palettes/marowak_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/marshtomp_palette.pal create mode 100644 graphics/pokemon/palettes/marshtomp_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/masquerain_palette.pal create mode 100644 graphics/pokemon/palettes/masquerain_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/mawile_palette.pal create mode 100644 graphics/pokemon/palettes/mawile_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/medicham_palette.pal create mode 100644 graphics/pokemon/palettes/medicham_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/meditite_palette.pal create mode 100644 graphics/pokemon/palettes/meditite_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/meganium_palette.pal create mode 100644 graphics/pokemon/palettes/meganium_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/meowth_palette.pal create mode 100644 graphics/pokemon/palettes/meowth_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/metagross_palette.pal create mode 100644 graphics/pokemon/palettes/metagross_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/metang_palette.pal create mode 100644 graphics/pokemon/palettes/metang_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/metapod_palette.pal create mode 100644 graphics/pokemon/palettes/metapod_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/mew_palette.pal create mode 100644 graphics/pokemon/palettes/mew_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/mewtwo_palette.pal create mode 100644 graphics/pokemon/palettes/mewtwo_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/mightyena_palette.pal create mode 100644 graphics/pokemon/palettes/mightyena_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/milotic_palette.pal create mode 100644 graphics/pokemon/palettes/milotic_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/miltank_palette.pal create mode 100644 graphics/pokemon/palettes/miltank_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/minun_palette.pal create mode 100644 graphics/pokemon/palettes/minun_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/misdreavus_palette.pal create mode 100644 graphics/pokemon/palettes/misdreavus_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/moltres_palette.pal create mode 100644 graphics/pokemon/palettes/moltres_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/mr_mime_palette.pal create mode 100644 graphics/pokemon/palettes/mr_mime_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/mudkip_palette.pal create mode 100644 graphics/pokemon/palettes/mudkip_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/muk_palette.pal create mode 100644 graphics/pokemon/palettes/muk_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/murkrow_palette.pal create mode 100644 graphics/pokemon/palettes/murkrow_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/natu_palette.pal create mode 100644 graphics/pokemon/palettes/natu_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/nidoking_palette.pal create mode 100644 graphics/pokemon/palettes/nidoking_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/nidoqueen_palette.pal create mode 100644 graphics/pokemon/palettes/nidoqueen_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/nidoran_f_palette.pal create mode 100644 graphics/pokemon/palettes/nidoran_f_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/nidoran_m_palette.pal create mode 100644 graphics/pokemon/palettes/nidoran_m_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/nidorina_palette.pal create mode 100644 graphics/pokemon/palettes/nidorina_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/nidorino_palette.pal create mode 100644 graphics/pokemon/palettes/nidorino_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/nincada_palette.pal create mode 100644 graphics/pokemon/palettes/nincada_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/ninetales_palette.pal create mode 100644 graphics/pokemon/palettes/ninetales_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/ninjask_palette.pal create mode 100644 graphics/pokemon/palettes/ninjask_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/noctowl_palette.pal create mode 100644 graphics/pokemon/palettes/noctowl_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/nosepass_palette.pal create mode 100644 graphics/pokemon/palettes/nosepass_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/numel_palette.pal create mode 100644 graphics/pokemon/palettes/numel_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/nuzleaf_palette.pal create mode 100644 graphics/pokemon/palettes/nuzleaf_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/octillery_palette.pal create mode 100644 graphics/pokemon/palettes/octillery_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/oddish_palette.pal create mode 100644 graphics/pokemon/palettes/oddish_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/omanyte_palette.pal create mode 100644 graphics/pokemon/palettes/omanyte_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/omastar_palette.pal create mode 100644 graphics/pokemon/palettes/omastar_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/onix_palette.pal create mode 100644 graphics/pokemon/palettes/onix_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/paras_palette.pal create mode 100644 graphics/pokemon/palettes/paras_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/parasect_palette.pal create mode 100644 graphics/pokemon/palettes/parasect_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/pelipper_palette.pal create mode 100644 graphics/pokemon/palettes/pelipper_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/persian_palette.pal create mode 100644 graphics/pokemon/palettes/persian_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/phanpy_palette.pal create mode 100644 graphics/pokemon/palettes/phanpy_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/pichu_palette.pal create mode 100644 graphics/pokemon/palettes/pichu_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/pidgeot_palette.pal create mode 100644 graphics/pokemon/palettes/pidgeot_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/pidgeotto_palette.pal create mode 100644 graphics/pokemon/palettes/pidgeotto_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/pidgey_palette.pal create mode 100644 graphics/pokemon/palettes/pidgey_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/pikachu_palette.pal create mode 100644 graphics/pokemon/palettes/pikachu_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/piloswine_palette.pal create mode 100644 graphics/pokemon/palettes/piloswine_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/pineco_palette.pal create mode 100644 graphics/pokemon/palettes/pineco_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/pinsir_palette.pal create mode 100644 graphics/pokemon/palettes/pinsir_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/plusle_palette.pal create mode 100644 graphics/pokemon/palettes/plusle_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/politoed_palette.pal create mode 100644 graphics/pokemon/palettes/politoed_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/poliwag_palette.pal create mode 100644 graphics/pokemon/palettes/poliwag_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/poliwhirl_palette.pal create mode 100644 graphics/pokemon/palettes/poliwhirl_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/poliwrath_palette.pal create mode 100644 graphics/pokemon/palettes/poliwrath_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/ponyta_palette.pal create mode 100644 graphics/pokemon/palettes/ponyta_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/poochyena_palette.pal create mode 100644 graphics/pokemon/palettes/poochyena_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/porygon2_palette.pal create mode 100644 graphics/pokemon/palettes/porygon2_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/porygon_palette.pal create mode 100644 graphics/pokemon/palettes/porygon_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/primeape_palette.pal create mode 100644 graphics/pokemon/palettes/primeape_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/psyduck_palette.pal create mode 100644 graphics/pokemon/palettes/psyduck_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/pupitar_palette.pal create mode 100644 graphics/pokemon/palettes/pupitar_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/quagsire_palette.pal create mode 100644 graphics/pokemon/palettes/quagsire_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/quilava_palette.pal create mode 100644 graphics/pokemon/palettes/quilava_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/qwilfish_palette.pal create mode 100644 graphics/pokemon/palettes/qwilfish_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/raichu_palette.pal create mode 100644 graphics/pokemon/palettes/raichu_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/raikou_palette.pal create mode 100644 graphics/pokemon/palettes/raikou_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/ralts_palette.pal create mode 100644 graphics/pokemon/palettes/ralts_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/rapidash_palette.pal create mode 100644 graphics/pokemon/palettes/rapidash_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/raticate_palette.pal create mode 100644 graphics/pokemon/palettes/raticate_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/rattata_palette.pal create mode 100644 graphics/pokemon/palettes/rattata_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/rayquaza_palette.pal create mode 100644 graphics/pokemon/palettes/rayquaza_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/regice_palette.pal create mode 100644 graphics/pokemon/palettes/regice_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/regirock_palette.pal create mode 100644 graphics/pokemon/palettes/regirock_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/registeel_palette.pal create mode 100644 graphics/pokemon/palettes/registeel_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/relicanth_palette.pal create mode 100644 graphics/pokemon/palettes/relicanth_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/remoraid_palette.pal create mode 100644 graphics/pokemon/palettes/remoraid_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/rhydon_palette.pal create mode 100644 graphics/pokemon/palettes/rhydon_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/rhyhorn_palette.pal create mode 100644 graphics/pokemon/palettes/rhyhorn_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/roselia_palette.pal create mode 100644 graphics/pokemon/palettes/roselia_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/sableye_palette.pal create mode 100644 graphics/pokemon/palettes/sableye_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/salamence_palette.pal create mode 100644 graphics/pokemon/palettes/salamence_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/sandshrew_palette.pal create mode 100644 graphics/pokemon/palettes/sandshrew_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/sandslash_palette.pal create mode 100644 graphics/pokemon/palettes/sandslash_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/sceptile_palette.pal create mode 100644 graphics/pokemon/palettes/sceptile_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/scizor_palette.pal create mode 100644 graphics/pokemon/palettes/scizor_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/scyther_palette.pal create mode 100644 graphics/pokemon/palettes/scyther_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/seadra_palette.pal create mode 100644 graphics/pokemon/palettes/seadra_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/seaking_palette.pal create mode 100644 graphics/pokemon/palettes/seaking_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/sealeo_palette.pal create mode 100644 graphics/pokemon/palettes/sealeo_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/seedot_palette.pal create mode 100644 graphics/pokemon/palettes/seedot_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/seel_palette.pal create mode 100644 graphics/pokemon/palettes/seel_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/sentret_palette.pal create mode 100644 graphics/pokemon/palettes/sentret_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/seviper_palette.pal create mode 100644 graphics/pokemon/palettes/seviper_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/sharpedo_palette.pal create mode 100644 graphics/pokemon/palettes/sharpedo_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/shedinja_palette.pal create mode 100644 graphics/pokemon/palettes/shedinja_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/shelgon_palette.pal create mode 100644 graphics/pokemon/palettes/shelgon_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/shellder_palette.pal create mode 100644 graphics/pokemon/palettes/shellder_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/shiftry_palette.pal create mode 100644 graphics/pokemon/palettes/shiftry_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/shroomish_palette.pal create mode 100644 graphics/pokemon/palettes/shroomish_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/shuckle_palette.pal create mode 100644 graphics/pokemon/palettes/shuckle_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/shuppet_palette.pal create mode 100644 graphics/pokemon/palettes/shuppet_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/silcoon_palette.pal create mode 100644 graphics/pokemon/palettes/silcoon_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/skarmory_palette.pal create mode 100644 graphics/pokemon/palettes/skarmory_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/skiploom_palette.pal create mode 100644 graphics/pokemon/palettes/skiploom_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/skitty_palette.pal create mode 100644 graphics/pokemon/palettes/skitty_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/slaking_palette.pal create mode 100644 graphics/pokemon/palettes/slaking_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/slakoth_palette.pal create mode 100644 graphics/pokemon/palettes/slakoth_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/slowbro_palette.pal create mode 100644 graphics/pokemon/palettes/slowbro_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/slowking_palette.pal create mode 100644 graphics/pokemon/palettes/slowking_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/slowpoke_palette.pal create mode 100644 graphics/pokemon/palettes/slowpoke_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/slugma_palette.pal create mode 100644 graphics/pokemon/palettes/slugma_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/smeargle_palette.pal create mode 100644 graphics/pokemon/palettes/smeargle_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/smoochum_palette.pal create mode 100644 graphics/pokemon/palettes/smoochum_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/sneasel_palette.pal create mode 100644 graphics/pokemon/palettes/sneasel_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/snorlax_palette.pal create mode 100644 graphics/pokemon/palettes/snorlax_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/snorunt_palette.pal create mode 100644 graphics/pokemon/palettes/snorunt_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/snubbull_palette.pal create mode 100644 graphics/pokemon/palettes/snubbull_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/solrock_palette.pal create mode 100644 graphics/pokemon/palettes/solrock_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/spearow_palette.pal create mode 100644 graphics/pokemon/palettes/spearow_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/spheal_palette.pal create mode 100644 graphics/pokemon/palettes/spheal_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/spinarak_palette.pal create mode 100644 graphics/pokemon/palettes/spinarak_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/spinda_palette.pal create mode 100644 graphics/pokemon/palettes/spinda_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/spoink_palette.pal create mode 100644 graphics/pokemon/palettes/spoink_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/squirtle_palette.pal create mode 100644 graphics/pokemon/palettes/squirtle_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/stantler_palette.pal create mode 100644 graphics/pokemon/palettes/stantler_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/starmie_palette.pal create mode 100644 graphics/pokemon/palettes/starmie_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/staryu_palette.pal create mode 100644 graphics/pokemon/palettes/staryu_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/steelix_palette.pal create mode 100644 graphics/pokemon/palettes/steelix_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/sudowoodo_palette.pal create mode 100644 graphics/pokemon/palettes/sudowoodo_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/suicune_palette.pal create mode 100644 graphics/pokemon/palettes/suicune_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/sunflora_palette.pal create mode 100644 graphics/pokemon/palettes/sunflora_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/sunkern_palette.pal create mode 100644 graphics/pokemon/palettes/sunkern_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/surskit_palette.pal create mode 100644 graphics/pokemon/palettes/surskit_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/swablu_palette.pal create mode 100644 graphics/pokemon/palettes/swablu_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/swalot_palette.pal create mode 100644 graphics/pokemon/palettes/swalot_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/swampert_palette.pal create mode 100644 graphics/pokemon/palettes/swampert_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/swellow_palette.pal create mode 100644 graphics/pokemon/palettes/swellow_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/swinub_palette.pal create mode 100644 graphics/pokemon/palettes/swinub_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/taillow_palette.pal create mode 100644 graphics/pokemon/palettes/taillow_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/tangela_palette.pal create mode 100644 graphics/pokemon/palettes/tangela_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/tauros_palette.pal create mode 100644 graphics/pokemon/palettes/tauros_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/teddiursa_palette.pal create mode 100644 graphics/pokemon/palettes/teddiursa_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/tentacool_palette.pal create mode 100644 graphics/pokemon/palettes/tentacool_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/tentacruel_palette.pal create mode 100644 graphics/pokemon/palettes/tentacruel_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/togepi_palette.pal create mode 100644 graphics/pokemon/palettes/togepi_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/togetic_palette.pal create mode 100644 graphics/pokemon/palettes/togetic_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/torchic_palette.pal create mode 100644 graphics/pokemon/palettes/torchic_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/torkoal_palette.pal create mode 100644 graphics/pokemon/palettes/torkoal_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/totodile_palette.pal create mode 100644 graphics/pokemon/palettes/totodile_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/trapinch_palette.pal create mode 100644 graphics/pokemon/palettes/trapinch_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/treecko_palette.pal create mode 100644 graphics/pokemon/palettes/treecko_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/tropius_palette.pal create mode 100644 graphics/pokemon/palettes/tropius_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/typhlosion_palette.pal create mode 100644 graphics/pokemon/palettes/typhlosion_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/tyranitar_palette.pal create mode 100644 graphics/pokemon/palettes/tyranitar_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/tyrogue_palette.pal create mode 100644 graphics/pokemon/palettes/tyrogue_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/umbreon_palette.pal create mode 100644 graphics/pokemon/palettes/umbreon_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/unown_palette.pal create mode 100644 graphics/pokemon/palettes/unown_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/ursaring_palette.pal create mode 100644 graphics/pokemon/palettes/ursaring_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/vaporeon_palette.pal create mode 100644 graphics/pokemon/palettes/vaporeon_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/venomoth_palette.pal create mode 100644 graphics/pokemon/palettes/venomoth_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/venonat_palette.pal create mode 100644 graphics/pokemon/palettes/venonat_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/venusaur_palette.pal create mode 100644 graphics/pokemon/palettes/venusaur_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/vibrava_palette.pal create mode 100644 graphics/pokemon/palettes/vibrava_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/victreebel_palette.pal create mode 100644 graphics/pokemon/palettes/victreebel_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/vigoroth_palette.pal create mode 100644 graphics/pokemon/palettes/vigoroth_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/vileplume_palette.pal create mode 100644 graphics/pokemon/palettes/vileplume_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/volbeat_palette.pal create mode 100644 graphics/pokemon/palettes/volbeat_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/voltorb_palette.pal create mode 100644 graphics/pokemon/palettes/voltorb_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/vulpix_palette.pal create mode 100644 graphics/pokemon/palettes/vulpix_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/wailmer_palette.pal create mode 100644 graphics/pokemon/palettes/wailmer_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/wailord_palette.pal create mode 100644 graphics/pokemon/palettes/wailord_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/walrein_palette.pal create mode 100644 graphics/pokemon/palettes/walrein_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/wartortle_palette.pal create mode 100644 graphics/pokemon/palettes/wartortle_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/weedle_palette.pal create mode 100644 graphics/pokemon/palettes/weedle_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/weepinbell_palette.pal create mode 100644 graphics/pokemon/palettes/weepinbell_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/weezing_palette.pal create mode 100644 graphics/pokemon/palettes/weezing_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/whiscash_palette.pal create mode 100644 graphics/pokemon/palettes/whiscash_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/whismur_palette.pal create mode 100644 graphics/pokemon/palettes/whismur_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/wigglytuff_palette.pal create mode 100644 graphics/pokemon/palettes/wigglytuff_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/wingull_palette.pal create mode 100644 graphics/pokemon/palettes/wingull_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/wobbuffet_palette.pal create mode 100644 graphics/pokemon/palettes/wobbuffet_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/wooper_palette.pal create mode 100644 graphics/pokemon/palettes/wooper_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/wurmple_palette.pal create mode 100644 graphics/pokemon/palettes/wurmple_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/wynaut_palette.pal create mode 100644 graphics/pokemon/palettes/wynaut_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/xatu_palette.pal create mode 100644 graphics/pokemon/palettes/xatu_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/yanma_palette.pal create mode 100644 graphics/pokemon/palettes/yanma_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/zangoose_palette.pal create mode 100644 graphics/pokemon/palettes/zangoose_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/zapdos_palette.pal create mode 100644 graphics/pokemon/palettes/zapdos_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/zigzagoon_palette.pal create mode 100644 graphics/pokemon/palettes/zigzagoon_shiny_palette.pal create mode 100644 graphics/pokemon/palettes/zubat_palette.pal create mode 100644 graphics/pokemon/palettes/zubat_shiny_palette.pal create mode 100644 graphics/trainers/back_pics/leaf_back_pic.png create mode 100644 graphics/trainers/back_pics/old_man_back_pic.png create mode 100644 graphics/trainers/back_pics/pokedude_back_pic.png create mode 100644 graphics/trainers/back_pics/red_back_pic.png create mode 100644 graphics/trainers/back_pics/ruby_sapphire_brendan_back_pic.png create mode 100644 graphics/trainers/back_pics/ruby_sapphire_may_back_pic.png create mode 100644 graphics/trainers/front_pics/aqua_admin_f_front_pic.png create mode 100644 graphics/trainers/front_pics/aqua_admin_m_front_pic.png create mode 100644 graphics/trainers/front_pics/aqua_grunt_f_front_pic.png create mode 100644 graphics/trainers/front_pics/aqua_grunt_m_front_pic.png create mode 100644 graphics/trainers/front_pics/aqua_leader_archie_front_pic.png create mode 100644 graphics/trainers/front_pics/arena_tycoon_greta_front_pic.png create mode 100644 graphics/trainers/front_pics/aroma_lady_front_pic.png create mode 100644 graphics/trainers/front_pics/battle_girl_front_pic.png create mode 100644 graphics/trainers/front_pics/beauty_front_pic.png create mode 100644 graphics/trainers/front_pics/biker_front_pic.png create mode 100644 graphics/trainers/front_pics/bird_keeper_front_pic.png create mode 100644 graphics/trainers/front_pics/black_belt_front_pic.png create mode 100644 graphics/trainers/front_pics/blue_1_front_pic.png create mode 100644 graphics/trainers/front_pics/blue_2_front_pic.png create mode 100644 graphics/trainers/front_pics/brendan_front_pic.png create mode 100644 graphics/trainers/front_pics/bug_catcher_front_pic.png create mode 100644 graphics/trainers/front_pics/bug_maniac_front_pic.png create mode 100644 graphics/trainers/front_pics/burglar_front_pic.png create mode 100644 graphics/trainers/front_pics/camper_front_pic.png create mode 100644 graphics/trainers/front_pics/champion_blue_front_pic.png create mode 100644 graphics/trainers/front_pics/champion_wallace_front_pic.png create mode 100644 graphics/trainers/front_pics/channeler_front_pic.png create mode 100644 graphics/trainers/front_pics/collector_front_pic.png create mode 100644 graphics/trainers/front_pics/cool_couple_front_pic.png create mode 100644 graphics/trainers/front_pics/cool_trainer_f_front_pic.png create mode 100644 graphics/trainers/front_pics/cool_trainer_m_front_pic.png create mode 100644 graphics/trainers/front_pics/crush_girl_front_pic.png create mode 100644 graphics/trainers/front_pics/crush_kin_front_pic.png create mode 100644 graphics/trainers/front_pics/cycling_triathlete_f_front_pic.png create mode 100644 graphics/trainers/front_pics/cycling_triathlete_m_front_pic.png create mode 100644 graphics/trainers/front_pics/dome_ace_tucker_front_pic.png create mode 100644 graphics/trainers/front_pics/dragon_tamer_front_pic.png create mode 100644 graphics/trainers/front_pics/elite_four_agatha_front_pic.png create mode 100644 graphics/trainers/front_pics/elite_four_bruno_front_pic.png create mode 100644 graphics/trainers/front_pics/elite_four_drake_front_pic.png create mode 100644 graphics/trainers/front_pics/elite_four_glacia_front_pic.png create mode 100644 graphics/trainers/front_pics/elite_four_lance_front_pic.png create mode 100644 graphics/trainers/front_pics/elite_four_lorelei_front_pic.png create mode 100644 graphics/trainers/front_pics/elite_four_phoebe_front_pic.png create mode 100644 graphics/trainers/front_pics/elite_four_sidney_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_aroma_lady_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_beauty_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_bird_keeper_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_black_belt_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_bug_catcher_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_camper_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_cool_trainer_f_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_cool_trainer_m_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_fisherman_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_gentleman_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_hiker_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_lady_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_lass_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_picnicker_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_pokemaniac_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_pokemon_breeder_f_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_pokemon_breeder_m_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_pokemon_ranger_f_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_pokemon_ranger_m_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_psychic_f_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_psychic_m_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_ruin_maniac_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_sailor_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_sis_and_bro_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_swimmer_f_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_swimmer_m_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_tuber_f_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_tuber_m_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_twins_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_young_couple_front_pic.png create mode 100644 graphics/trainers/front_pics/emerald_youngster_front_pic.png create mode 100644 graphics/trainers/front_pics/engineer_front_pic.png create mode 100644 graphics/trainers/front_pics/expert_f_front_pic.png create mode 100644 graphics/trainers/front_pics/expert_m_front_pic.png create mode 100644 graphics/trainers/front_pics/factory_head_noland_front_pic.png create mode 100644 graphics/trainers/front_pics/fisherman_front_pic.png create mode 100644 graphics/trainers/front_pics/gamer_front_pic.png create mode 100644 graphics/trainers/front_pics/gentleman_front_pic.png create mode 100644 graphics/trainers/front_pics/giovanni_front_pic.png create mode 100644 graphics/trainers/front_pics/guitarist_front_pic.png create mode 100644 graphics/trainers/front_pics/hex_maniac_front_pic.png create mode 100644 graphics/trainers/front_pics/hiker_front_pic.png create mode 100644 graphics/trainers/front_pics/interviewer_front_pic.png create mode 100644 graphics/trainers/front_pics/juggler_front_pic.png create mode 100644 graphics/trainers/front_pics/kindler_front_pic.png create mode 100644 graphics/trainers/front_pics/lady_front_pic.png create mode 100644 graphics/trainers/front_pics/lass_front_pic.png create mode 100644 graphics/trainers/front_pics/leader_blaine_front_pic.png create mode 100644 graphics/trainers/front_pics/leader_brawly_front_pic.png create mode 100644 graphics/trainers/front_pics/leader_brock_front_pic.png create mode 100644 graphics/trainers/front_pics/leader_erika_front_pic.png create mode 100644 graphics/trainers/front_pics/leader_flannery_front_pic.png create mode 100644 graphics/trainers/front_pics/leader_juan_front_pic.png create mode 100644 graphics/trainers/front_pics/leader_koga_front_pic.png create mode 100644 graphics/trainers/front_pics/leader_lt_surge_front_pic.png create mode 100644 graphics/trainers/front_pics/leader_misty_front_pic.png create mode 100644 graphics/trainers/front_pics/leader_norman_front_pic.png create mode 100644 graphics/trainers/front_pics/leader_roxanne_front_pic.png create mode 100644 graphics/trainers/front_pics/leader_sabrina_front_pic.png create mode 100644 graphics/trainers/front_pics/leader_tate_and_liza_front_pic.png create mode 100644 graphics/trainers/front_pics/leader_wattson_front_pic.png create mode 100644 graphics/trainers/front_pics/leader_winona_front_pic.png create mode 100644 graphics/trainers/front_pics/leaf_front_pic.png create mode 100644 graphics/trainers/front_pics/magma_admin_front_pic.png create mode 100644 graphics/trainers/front_pics/magma_grunt_f_front_pic.png create mode 100644 graphics/trainers/front_pics/magma_grunt_m_front_pic.png create mode 100644 graphics/trainers/front_pics/magma_leader_maxie_front_pic.png create mode 100644 graphics/trainers/front_pics/may_front_pic.png create mode 100644 graphics/trainers/front_pics/ninja_boy_front_pic.png create mode 100644 graphics/trainers/front_pics/oak_front_pic.png create mode 100644 graphics/trainers/front_pics/old_couple_front_pic.png create mode 100644 graphics/trainers/front_pics/painter_front_pic.png create mode 100644 graphics/trainers/front_pics/palace_maven_spenser_front_pic.png create mode 100644 graphics/trainers/front_pics/parasol_lady_front_pic.png create mode 100644 graphics/trainers/front_pics/picnicker_front_pic.png create mode 100644 graphics/trainers/front_pics/pike_queen_lucy_front_pic.png create mode 100644 graphics/trainers/front_pics/pokemaniac_front_pic.png create mode 100644 graphics/trainers/front_pics/pokemon_breeder_front_pic.png create mode 100644 graphics/trainers/front_pics/pokemon_ranger_f_front_pic.png create mode 100644 graphics/trainers/front_pics/pokemon_ranger_m_front_pic.png create mode 100644 graphics/trainers/front_pics/psychic_f_front_pic.png create mode 100644 graphics/trainers/front_pics/psychic_m_front_pic.png create mode 100644 graphics/trainers/front_pics/pyramid_king_brandon_front_pic.png create mode 100644 graphics/trainers/front_pics/red_front_pic.png create mode 100644 graphics/trainers/front_pics/rich_boy_front_pic.png create mode 100644 graphics/trainers/front_pics/rocker_front_pic.png create mode 100644 graphics/trainers/front_pics/rocket_grunt_f_front_pic.png create mode 100644 graphics/trainers/front_pics/rocket_grunt_m_front_pic.png create mode 100644 graphics/trainers/front_pics/roughneck_front_pic.png create mode 100644 graphics/trainers/front_pics/ruby_magma_admin_f_front_pic.png create mode 100644 graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.png create mode 100644 graphics/trainers/front_pics/ruby_sapphire_champion_wallace_front_pic.png create mode 100644 graphics/trainers/front_pics/ruby_sapphire_may_front_pic.png create mode 100644 graphics/trainers/front_pics/ruin_maniac_front_pic.png create mode 100644 graphics/trainers/front_pics/running_triathlete_f_front_pic.png create mode 100644 graphics/trainers/front_pics/running_triathlete_m_front_pic.png create mode 100644 graphics/trainers/front_pics/sailor_front_pic.png create mode 100644 graphics/trainers/front_pics/salon_maiden_anabel_front_pic.png create mode 100644 graphics/trainers/front_pics/school_kid_f_front_pic.png create mode 100644 graphics/trainers/front_pics/school_kid_m_front_pic.png create mode 100644 graphics/trainers/front_pics/scientist_front_pic.png create mode 100644 graphics/trainers/front_pics/sis_and_bro_front_pic.png create mode 100644 graphics/trainers/front_pics/sr_and_jr_front_pic.png create mode 100644 graphics/trainers/front_pics/steven_front_pic.png create mode 100644 graphics/trainers/front_pics/super_nerd_front_pic.png create mode 100644 graphics/trainers/front_pics/swimmer_f_front_pic.png create mode 100644 graphics/trainers/front_pics/swimmer_m_front_pic.png create mode 100644 graphics/trainers/front_pics/swimming_triathlete_f_front_pic.png create mode 100644 graphics/trainers/front_pics/swimming_triathlete_m_front_pic.png create mode 100644 graphics/trainers/front_pics/tamer_front_pic.png create mode 100644 graphics/trainers/front_pics/tuber_front_pic.png create mode 100644 graphics/trainers/front_pics/twins_front_pic.png create mode 100644 graphics/trainers/front_pics/wally_front_pic.png create mode 100644 graphics/trainers/front_pics/winstrate_f_front_pic.png create mode 100644 graphics/trainers/front_pics/winstrate_m_front_pic.png create mode 100644 graphics/trainers/front_pics/young_couple_front_pic.png create mode 100644 graphics/trainers/front_pics/youngster_front_pic.png create mode 100644 graphics/trainers/palettes/aqua_admin_f.pal create mode 100644 graphics/trainers/palettes/aqua_admin_m.pal create mode 100644 graphics/trainers/palettes/aqua_grunt_f.pal create mode 100644 graphics/trainers/palettes/aqua_grunt_m.pal create mode 100644 graphics/trainers/palettes/aqua_leader_archie.pal create mode 100644 graphics/trainers/palettes/arena_tycoon_greta.pal create mode 100644 graphics/trainers/palettes/aroma_lady.pal create mode 100644 graphics/trainers/palettes/battle_girl.pal create mode 100644 graphics/trainers/palettes/beauty.pal create mode 100644 graphics/trainers/palettes/biker.pal create mode 100644 graphics/trainers/palettes/bird_keeper.pal create mode 100644 graphics/trainers/palettes/black_belt.pal create mode 100644 graphics/trainers/palettes/blue_1.pal create mode 100644 graphics/trainers/palettes/blue_2.pal create mode 100644 graphics/trainers/palettes/brendan.pal create mode 100644 graphics/trainers/palettes/bug_catcher.pal create mode 100644 graphics/trainers/palettes/bug_maniac.pal create mode 100644 graphics/trainers/palettes/burglar.pal create mode 100644 graphics/trainers/palettes/camper.pal create mode 100644 graphics/trainers/palettes/champion_blue.pal create mode 100644 graphics/trainers/palettes/champion_wallace.pal create mode 100644 graphics/trainers/palettes/channeler.pal create mode 100644 graphics/trainers/palettes/collector.pal create mode 100644 graphics/trainers/palettes/cool_couple.pal create mode 100644 graphics/trainers/palettes/cool_trainer_f.pal create mode 100644 graphics/trainers/palettes/cool_trainer_m.pal create mode 100644 graphics/trainers/palettes/crush_girl.pal create mode 100644 graphics/trainers/palettes/crush_kin.pal create mode 100644 graphics/trainers/palettes/cycling_triathlete_f.pal create mode 100644 graphics/trainers/palettes/cycling_triathlete_m.pal create mode 100644 graphics/trainers/palettes/dome_ace_tucker.pal create mode 100644 graphics/trainers/palettes/dragon_tamer.pal create mode 100644 graphics/trainers/palettes/elite_four_agatha.pal create mode 100644 graphics/trainers/palettes/elite_four_bruno.pal create mode 100644 graphics/trainers/palettes/elite_four_drake.pal create mode 100644 graphics/trainers/palettes/elite_four_glacia.pal create mode 100644 graphics/trainers/palettes/elite_four_lance.pal create mode 100644 graphics/trainers/palettes/elite_four_lorelei.pal create mode 100644 graphics/trainers/palettes/elite_four_phoebe.pal create mode 100644 graphics/trainers/palettes/elite_four_sidney.pal create mode 100644 graphics/trainers/palettes/emerald_aroma_lady.pal create mode 100644 graphics/trainers/palettes/emerald_beauty.pal create mode 100644 graphics/trainers/palettes/emerald_bird_keeper.pal create mode 100644 graphics/trainers/palettes/emerald_bug_catcher.pal create mode 100644 graphics/trainers/palettes/emerald_camper.pal create mode 100644 graphics/trainers/palettes/emerald_cool_trainer_f.pal create mode 100644 graphics/trainers/palettes/emerald_cool_trainer_m.pal create mode 100644 graphics/trainers/palettes/emerald_fisherman.pal create mode 100644 graphics/trainers/palettes/emerald_gentleman.pal create mode 100644 graphics/trainers/palettes/emerald_hiker.pal create mode 100644 graphics/trainers/palettes/emerald_lady.pal create mode 100644 graphics/trainers/palettes/emerald_lass.pal create mode 100644 graphics/trainers/palettes/emerald_leaf_back_pic.pal create mode 100644 graphics/trainers/palettes/emerald_picnicker.pal create mode 100644 graphics/trainers/palettes/emerald_pokemaniac.pal create mode 100644 graphics/trainers/palettes/emerald_pokemon_breeder_f.pal create mode 100644 graphics/trainers/palettes/emerald_pokemon_breeder_m.pal create mode 100644 graphics/trainers/palettes/emerald_pokemon_ranger_f.pal create mode 100644 graphics/trainers/palettes/emerald_pokemon_ranger_m.pal create mode 100644 graphics/trainers/palettes/emerald_psychic_f.pal create mode 100644 graphics/trainers/palettes/emerald_psychic_m.pal create mode 100644 graphics/trainers/palettes/emerald_red_back_pic.pal create mode 100644 graphics/trainers/palettes/emerald_ruin_maniac.pal create mode 100644 graphics/trainers/palettes/emerald_sailor.pal create mode 100644 graphics/trainers/palettes/emerald_sis_and_bro.pal create mode 100644 graphics/trainers/palettes/emerald_swimmer_f.pal create mode 100644 graphics/trainers/palettes/emerald_swimmer_m.pal create mode 100644 graphics/trainers/palettes/emerald_tuber_f.pal create mode 100644 graphics/trainers/palettes/emerald_tuber_m.pal create mode 100644 graphics/trainers/palettes/emerald_twins.pal create mode 100644 graphics/trainers/palettes/emerald_young_couple.pal create mode 100644 graphics/trainers/palettes/emerald_youngster.pal create mode 100644 graphics/trainers/palettes/engineer.pal create mode 100644 graphics/trainers/palettes/expert_f.pal create mode 100644 graphics/trainers/palettes/expert_m.pal create mode 100644 graphics/trainers/palettes/factory_head_noland.pal create mode 100644 graphics/trainers/palettes/fisherman.pal create mode 100644 graphics/trainers/palettes/gamer.pal create mode 100644 graphics/trainers/palettes/gentleman.pal create mode 100644 graphics/trainers/palettes/giovanni.pal create mode 100644 graphics/trainers/palettes/guitarist.pal create mode 100644 graphics/trainers/palettes/hex_maniac.pal create mode 100644 graphics/trainers/palettes/hiker.pal create mode 100644 graphics/trainers/palettes/interviewer.pal create mode 100644 graphics/trainers/palettes/juggler.pal create mode 100644 graphics/trainers/palettes/kindler.pal create mode 100644 graphics/trainers/palettes/lady.pal create mode 100644 graphics/trainers/palettes/lass.pal create mode 100644 graphics/trainers/palettes/leader_blaine.pal create mode 100644 graphics/trainers/palettes/leader_brawly.pal create mode 100644 graphics/trainers/palettes/leader_brock.pal create mode 100644 graphics/trainers/palettes/leader_erika.pal create mode 100644 graphics/trainers/palettes/leader_flannery.pal create mode 100644 graphics/trainers/palettes/leader_juan.pal create mode 100644 graphics/trainers/palettes/leader_koga.pal create mode 100644 graphics/trainers/palettes/leader_lt_surge.pal create mode 100644 graphics/trainers/palettes/leader_misty.pal create mode 100644 graphics/trainers/palettes/leader_norman.pal create mode 100644 graphics/trainers/palettes/leader_roxanne.pal create mode 100644 graphics/trainers/palettes/leader_sabrina.pal create mode 100644 graphics/trainers/palettes/leader_tate_and_liza.pal create mode 100644 graphics/trainers/palettes/leader_wattson.pal create mode 100644 graphics/trainers/palettes/leader_winona.pal create mode 100644 graphics/trainers/palettes/leaf.pal create mode 100644 graphics/trainers/palettes/leaf_back_pic.pal create mode 100644 graphics/trainers/palettes/magma_admin.pal create mode 100644 graphics/trainers/palettes/magma_grunt_f.pal create mode 100644 graphics/trainers/palettes/magma_grunt_m.pal create mode 100644 graphics/trainers/palettes/magma_leader_maxie.pal create mode 100644 graphics/trainers/palettes/may.pal create mode 100644 graphics/trainers/palettes/ninja_boy.pal create mode 100644 graphics/trainers/palettes/oak.pal create mode 100644 graphics/trainers/palettes/old_couple.pal create mode 100644 graphics/trainers/palettes/old_man_back_pic.pal create mode 100644 graphics/trainers/palettes/painter.pal create mode 100644 graphics/trainers/palettes/palace_maven_spenser.pal create mode 100644 graphics/trainers/palettes/parasol_lady.pal create mode 100644 graphics/trainers/palettes/picnicker.pal create mode 100644 graphics/trainers/palettes/pike_queen_lucy.pal create mode 100644 graphics/trainers/palettes/pokedude_back_pic.pal create mode 100644 graphics/trainers/palettes/pokemaniac.pal create mode 100644 graphics/trainers/palettes/pokemon_breeder.pal create mode 100644 graphics/trainers/palettes/pokemon_ranger_f.pal create mode 100644 graphics/trainers/palettes/pokemon_ranger_m.pal create mode 100644 graphics/trainers/palettes/psychic_f.pal create mode 100644 graphics/trainers/palettes/psychic_m.pal create mode 100644 graphics/trainers/palettes/pyramid_king_brandon.pal create mode 100644 graphics/trainers/palettes/red.pal create mode 100644 graphics/trainers/palettes/red_back_pic.pal create mode 100644 graphics/trainers/palettes/rich_boy.pal create mode 100644 graphics/trainers/palettes/rocker.pal create mode 100644 graphics/trainers/palettes/rocket_grunt_f.pal create mode 100644 graphics/trainers/palettes/rocket_grunt_m.pal create mode 100644 graphics/trainers/palettes/roughneck.pal create mode 100644 graphics/trainers/palettes/ruby_magma_admin_f.pal create mode 100644 graphics/trainers/palettes/ruby_sapphire_brendan.pal create mode 100644 graphics/trainers/palettes/ruby_sapphire_may.pal create mode 100644 graphics/trainers/palettes/ruin_maniac.pal create mode 100644 graphics/trainers/palettes/running_triathlete_f.pal create mode 100644 graphics/trainers/palettes/running_triathlete_m.pal create mode 100644 graphics/trainers/palettes/sailor.pal create mode 100644 graphics/trainers/palettes/salon_maiden_anabel.pal create mode 100644 graphics/trainers/palettes/school_kid_f.pal create mode 100644 graphics/trainers/palettes/school_kid_m.pal create mode 100644 graphics/trainers/palettes/scientist.pal create mode 100644 graphics/trainers/palettes/sis_and_bro.pal create mode 100644 graphics/trainers/palettes/sr_and_jr.pal create mode 100644 graphics/trainers/palettes/steven.pal create mode 100644 graphics/trainers/palettes/super_nerd.pal create mode 100644 graphics/trainers/palettes/swimmer_f.pal create mode 100644 graphics/trainers/palettes/swimmer_m.pal create mode 100644 graphics/trainers/palettes/swimming_triathlete_f.pal create mode 100644 graphics/trainers/palettes/swimming_triathlete_m.pal create mode 100644 graphics/trainers/palettes/tamer.pal create mode 100644 graphics/trainers/palettes/tuber.pal create mode 100644 graphics/trainers/palettes/twins.pal create mode 100644 graphics/trainers/palettes/wally.pal create mode 100644 graphics/trainers/palettes/winstrate_f.pal create mode 100644 graphics/trainers/palettes/winstrate_m.pal create mode 100644 graphics/trainers/palettes/young_couple.pal create mode 100644 graphics/trainers/palettes/youngster.pal diff --git a/data/graphics.s b/data/graphics.s index 241b27bc3..64d7f94ec 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -647,20 +647,13969 @@ gUnknown_8D2EC70:: @ 8D2EC70 gUnknown_8D2FBB4:: @ 8D2FBB4 .incbin "baserom.gba", 0xD2FBB4, 0x20 - @ INSERT POKEMANS HERE -gUnknown_8D2FBD4:: @ 8D2FBD4 - .incbin "baserom.gba", 0xD2FBD4, 0x119184 - - @ INSERT TRAINERS HERE -gUnknown_8E48D58:: @ 8E48D58 - .incbin "baserom.gba", 0xE48D58, 0x21164 - -gUnknown_8E69EBC:: @ 8E69EBC - .incbin "baserom.gba", 0xE69EBC, 0xD0A0 - -gUnknown_8E76F5C:: @ 8E76F5C - .incbin "baserom.gba", 0xE76F5C, 0x420 + + .align 2 +gFile_graphics_pokemon_front_pics_bulbasaur_still_front_pic:: @ 8D2FBD4 + .incbin "graphics/pokemon/front_pics/bulbasaur_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD2FBD4, 0x02A4 + + .align 2 +gFile_graphics_pokemon_palettes_bulbasaur_palette:: @ 8D2FE78 + .incbin "graphics/pokemon/palettes/bulbasaur_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD2FE78, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_bulbasaur_back_pic:: @ 8D2FEA0 + .incbin "graphics/pokemon/back_pics/bulbasaur_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD2FEA0, 0x02C4 + + .align 2 +gFile_graphics_pokemon_palettes_bulbasaur_shiny_palette:: @ 8D30164 + .incbin "graphics/pokemon/palettes/bulbasaur_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD30164, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_bulbasaur_icon:: @ 8D3018C + .incbin "graphics/pokemon/icons/bulbasaur_icon.4bpp" + @ .incbin "baserom.gba", 0xD3018C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_bulbasaur_footprint:: @ 8D3058C + .incbin "graphics/pokemon/footprints/bulbasaur_footprint.1bpp" + @ .incbin "baserom.gba", 0xD3058C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_ivysaur_still_front_pic:: @ 8D305AC + .incbin "graphics/pokemon/front_pics/ivysaur_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD305AC, 0x033C + + .align 2 +gFile_graphics_pokemon_palettes_ivysaur_palette:: @ 8D308E8 + .incbin "graphics/pokemon/palettes/ivysaur_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD308E8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_ivysaur_back_pic:: @ 8D30910 + .incbin "graphics/pokemon/back_pics/ivysaur_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD30910, 0x0354 + + .align 2 +gFile_graphics_pokemon_palettes_ivysaur_shiny_palette:: @ 8D30C64 + .incbin "graphics/pokemon/palettes/ivysaur_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD30C64, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_ivysaur_icon:: @ 8D30C8C + .incbin "graphics/pokemon/icons/ivysaur_icon.4bpp" + @ .incbin "baserom.gba", 0xD30C8C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_ivysaur_footprint:: @ 8D3108C + .incbin "graphics/pokemon/footprints/ivysaur_footprint.1bpp" + @ .incbin "baserom.gba", 0xD3108C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_venusaur_still_front_pic:: @ 8D310AC + .incbin "graphics/pokemon/front_pics/venusaur_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD310AC, 0x0540 + + .align 2 +gFile_graphics_pokemon_palettes_venusaur_palette:: @ 8D315EC + .incbin "graphics/pokemon/palettes/venusaur_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD315EC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_venusaur_back_pic:: @ 8D31614 + .incbin "graphics/pokemon/back_pics/venusaur_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD31614, 0x04C8 + + .align 2 +gFile_graphics_pokemon_palettes_venusaur_shiny_palette:: @ 8D31ADC + .incbin "graphics/pokemon/palettes/venusaur_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD31ADC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_venusaur_icon:: @ 8D31B04 + .incbin "graphics/pokemon/icons/venusaur_icon.4bpp" + @ .incbin "baserom.gba", 0xD31B04, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_venusaur_footprint:: @ 8D31F04 + .incbin "graphics/pokemon/footprints/venusaur_footprint.1bpp" + @ .incbin "baserom.gba", 0xD31F04, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_charmander_still_front_pic:: @ 8D31F24 + .incbin "graphics/pokemon/front_pics/charmander_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD31F24, 0x02A0 + + .align 2 +gFile_graphics_pokemon_palettes_charmander_palette:: @ 8D321C4 + .incbin "graphics/pokemon/palettes/charmander_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD321C4, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_charmander_back_pic:: @ 8D321EC + .incbin "graphics/pokemon/back_pics/charmander_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD321EC, 0x0284 + + .align 2 +gFile_graphics_pokemon_palettes_charmander_shiny_palette:: @ 8D32470 + .incbin "graphics/pokemon/palettes/charmander_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD32470, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_charmander_icon:: @ 8D32498 + .incbin "graphics/pokemon/icons/charmander_icon.4bpp" + @ .incbin "baserom.gba", 0xD32498, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_charmander_footprint:: @ 8D32898 + .incbin "graphics/pokemon/footprints/charmander_footprint.1bpp" + @ .incbin "baserom.gba", 0xD32898, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_charmeleon_still_front_pic:: @ 8D328B8 + .incbin "graphics/pokemon/front_pics/charmeleon_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD328B8, 0x03AC + + .align 2 +gFile_graphics_pokemon_palettes_charmeleon_palette:: @ 8D32C64 + .incbin "graphics/pokemon/palettes/charmeleon_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD32C64, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_charmeleon_back_pic:: @ 8D32C8C + .incbin "graphics/pokemon/back_pics/charmeleon_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD32C8C, 0x02F4 + + .align 2 +gFile_graphics_pokemon_palettes_charmeleon_shiny_palette:: @ 8D32F80 + .incbin "graphics/pokemon/palettes/charmeleon_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD32F80, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_charmeleon_icon:: @ 8D32FA8 + .incbin "graphics/pokemon/icons/charmeleon_icon.4bpp" + @ .incbin "baserom.gba", 0xD32FA8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_charmeleon_footprint:: @ 8D333A8 + .incbin "graphics/pokemon/footprints/charmeleon_footprint.1bpp" + @ .incbin "baserom.gba", 0xD333A8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_charizard_still_front_pic:: @ 8D333C8 + .incbin "graphics/pokemon/front_pics/charizard_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD333C8, 0x04FC + + .align 2 +gFile_graphics_pokemon_palettes_charizard_palette:: @ 8D338C4 + .incbin "graphics/pokemon/palettes/charizard_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD338C4, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_charizard_back_pic:: @ 8D338EC + .incbin "graphics/pokemon/back_pics/charizard_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD338EC, 0x040C + + .align 2 +gFile_graphics_pokemon_palettes_charizard_shiny_palette:: @ 8D33CF8 + .incbin "graphics/pokemon/palettes/charizard_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD33CF8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_charizard_icon:: @ 8D33D20 + .incbin "graphics/pokemon/icons/charizard_icon.4bpp" + @ .incbin "baserom.gba", 0xD33D20, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_charizard_footprint:: @ 8D34120 + .incbin "graphics/pokemon/footprints/charizard_footprint.1bpp" + @ .incbin "baserom.gba", 0xD34120, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_squirtle_still_front_pic:: @ 8D34140 + .incbin "graphics/pokemon/front_pics/squirtle_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD34140, 0x029C + + .align 2 +gFile_graphics_pokemon_palettes_squirtle_palette:: @ 8D343DC + .incbin "graphics/pokemon/palettes/squirtle_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD343DC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_squirtle_back_pic:: @ 8D34404 + .incbin "graphics/pokemon/back_pics/squirtle_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD34404, 0x0288 + + .align 2 +gFile_graphics_pokemon_palettes_squirtle_shiny_palette:: @ 8D3468C + .incbin "graphics/pokemon/palettes/squirtle_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD3468C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_squirtle_icon:: @ 8D346B4 + .incbin "graphics/pokemon/icons/squirtle_icon.4bpp" + @ .incbin "baserom.gba", 0xD346B4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_squirtle_footprint:: @ 8D34AB4 + .incbin "graphics/pokemon/footprints/squirtle_footprint.1bpp" + @ .incbin "baserom.gba", 0xD34AB4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_wartortle_still_front_pic:: @ 8D34AD4 + .incbin "graphics/pokemon/front_pics/wartortle_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD34AD4, 0x03AC + + .align 2 +gFile_graphics_pokemon_palettes_wartortle_palette:: @ 8D34E80 + .incbin "graphics/pokemon/palettes/wartortle_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD34E80, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_wartortle_back_pic:: @ 8D34EA8 + .incbin "graphics/pokemon/back_pics/wartortle_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD34EA8, 0x0348 + + .align 2 +gFile_graphics_pokemon_palettes_wartortle_shiny_palette:: @ 8D351F0 + .incbin "graphics/pokemon/palettes/wartortle_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD351F0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_wartortle_icon:: @ 8D35218 + .incbin "graphics/pokemon/icons/wartortle_icon.4bpp" + @ .incbin "baserom.gba", 0xD35218, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_wartortle_footprint:: @ 8D35618 + .incbin "graphics/pokemon/footprints/wartortle_footprint.1bpp" + @ .incbin "baserom.gba", 0xD35618, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_blastoise_still_front_pic:: @ 8D35638 + .incbin "graphics/pokemon/front_pics/blastoise_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD35638, 0x0504 + + .align 2 +gFile_graphics_pokemon_palettes_blastoise_palette:: @ 8D35B3C + .incbin "graphics/pokemon/palettes/blastoise_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD35B3C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_blastoise_back_pic:: @ 8D35B64 + .incbin "graphics/pokemon/back_pics/blastoise_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD35B64, 0x0414 + + .align 2 +gFile_graphics_pokemon_palettes_blastoise_shiny_palette:: @ 8D35F78 + .incbin "graphics/pokemon/palettes/blastoise_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD35F78, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_blastoise_icon:: @ 8D35FA0 + .incbin "graphics/pokemon/icons/blastoise_icon.4bpp" + @ .incbin "baserom.gba", 0xD35FA0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_blastoise_footprint:: @ 8D363A0 + .incbin "graphics/pokemon/footprints/blastoise_footprint.1bpp" + @ .incbin "baserom.gba", 0xD363A0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_caterpie_still_front_pic:: @ 8D363C0 + .incbin "graphics/pokemon/front_pics/caterpie_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD363C0, 0x0258 + + .align 2 +gFile_graphics_pokemon_palettes_caterpie_palette:: @ 8D36618 + .incbin "graphics/pokemon/palettes/caterpie_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD36618, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_caterpie_back_pic:: @ 8D36640 + .incbin "graphics/pokemon/back_pics/caterpie_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD36640, 0x0288 + + .align 2 +gFile_graphics_pokemon_palettes_caterpie_shiny_palette:: @ 8D368C8 + .incbin "graphics/pokemon/palettes/caterpie_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD368C8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_caterpie_icon:: @ 8D368F0 + .incbin "graphics/pokemon/icons/caterpie_icon.4bpp" + @ .incbin "baserom.gba", 0xD368F0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_caterpie_footprint:: @ 8D36CF0 + .incbin "graphics/pokemon/footprints/caterpie_footprint.1bpp" + @ .incbin "baserom.gba", 0xD36CF0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_metapod_still_front_pic:: @ 8D36D10 + .incbin "graphics/pokemon/front_pics/metapod_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD36D10, 0x021C + + .align 2 +gFile_graphics_pokemon_palettes_metapod_palette:: @ 8D36F2C + .incbin "graphics/pokemon/palettes/metapod_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD36F2C, 0x0020 + + .align 2 +gFile_graphics_pokemon_back_pics_metapod_back_pic:: @ 8D36F4C + .incbin "graphics/pokemon/back_pics/metapod_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD36F4C, 0x021C + + .align 2 +gFile_graphics_pokemon_palettes_metapod_shiny_palette:: @ 8D37168 + .incbin "graphics/pokemon/palettes/metapod_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD37168, 0x0020 + + .align 2 +gFile_graphics_pokemon_icons_metapod_icon:: @ 8D37188 + .incbin "graphics/pokemon/icons/metapod_icon.4bpp" + @ .incbin "baserom.gba", 0xD37188, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_metapod_footprint:: @ 8D37588 + .incbin "graphics/pokemon/footprints/metapod_footprint.1bpp" + @ .incbin "baserom.gba", 0xD37588, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_butterfree_still_front_pic:: @ 8D375A8 + .incbin "graphics/pokemon/front_pics/butterfree_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD375A8, 0x0378 + + .align 2 +gFile_graphics_pokemon_palettes_butterfree_palette:: @ 8D37920 + .incbin "graphics/pokemon/palettes/butterfree_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD37920, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_butterfree_back_pic:: @ 8D37948 + .incbin "graphics/pokemon/back_pics/butterfree_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD37948, 0x0404 + + .align 2 +gFile_graphics_pokemon_palettes_butterfree_shiny_palette:: @ 8D37D4C + .incbin "graphics/pokemon/palettes/butterfree_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD37D4C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_butterfree_icon:: @ 8D37D74 + .incbin "graphics/pokemon/icons/butterfree_icon.4bpp" + @ .incbin "baserom.gba", 0xD37D74, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_butterfree_footprint:: @ 8D38174 + .incbin "graphics/pokemon/footprints/butterfree_footprint.1bpp" + @ .incbin "baserom.gba", 0xD38174, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_weedle_still_front_pic:: @ 8D38194 + .incbin "graphics/pokemon/front_pics/weedle_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD38194, 0x023C + + .align 2 +gFile_graphics_pokemon_palettes_weedle_palette:: @ 8D383D0 + .incbin "graphics/pokemon/palettes/weedle_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD383D0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_weedle_back_pic:: @ 8D383F8 + .incbin "graphics/pokemon/back_pics/weedle_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD383F8, 0x0268 + + .align 2 +gFile_graphics_pokemon_palettes_weedle_shiny_palette:: @ 8D38660 + .incbin "graphics/pokemon/palettes/weedle_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD38660, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_weedle_icon:: @ 8D38688 + .incbin "graphics/pokemon/icons/weedle_icon.4bpp" + @ .incbin "baserom.gba", 0xD38688, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_weedle_footprint:: @ 8D38A88 + .incbin "graphics/pokemon/footprints/weedle_footprint.1bpp" + @ .incbin "baserom.gba", 0xD38A88, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_kakuna_still_front_pic:: @ 8D38AA8 + .incbin "graphics/pokemon/front_pics/kakuna_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD38AA8, 0x0240 + + .align 2 +gFile_graphics_pokemon_palettes_kakuna_palette:: @ 8D38CE8 + .incbin "graphics/pokemon/palettes/kakuna_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD38CE8, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_kakuna_back_pic:: @ 8D38D0C + .incbin "graphics/pokemon/back_pics/kakuna_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD38D0C, 0x0284 + + .align 2 +gFile_graphics_pokemon_palettes_kakuna_shiny_palette:: @ 8D38F90 + .incbin "graphics/pokemon/palettes/kakuna_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD38F90, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_kakuna_icon:: @ 8D38FB4 + .incbin "graphics/pokemon/icons/kakuna_icon.4bpp" + @ .incbin "baserom.gba", 0xD38FB4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_kakuna_footprint:: @ 8D393B4 + .incbin "graphics/pokemon/footprints/kakuna_footprint.1bpp" + @ .incbin "baserom.gba", 0xD393B4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_beedrill_still_front_pic:: @ 8D393D4 + .incbin "graphics/pokemon/front_pics/beedrill_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD393D4, 0x0420 + + .align 2 +gFile_graphics_pokemon_palettes_beedrill_palette:: @ 8D397F4 + .incbin "graphics/pokemon/palettes/beedrill_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD397F4, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_beedrill_back_pic:: @ 8D3981C + .incbin "graphics/pokemon/back_pics/beedrill_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD3981C, 0x0374 + + .align 2 +gFile_graphics_pokemon_palettes_beedrill_shiny_palette:: @ 8D39B90 + .incbin "graphics/pokemon/palettes/beedrill_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD39B90, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_beedrill_icon:: @ 8D39BB8 + .incbin "graphics/pokemon/icons/beedrill_icon.4bpp" + @ .incbin "baserom.gba", 0xD39BB8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_beedrill_footprint:: @ 8D39FB8 + .incbin "graphics/pokemon/footprints/beedrill_footprint.1bpp" + @ .incbin "baserom.gba", 0xD39FB8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_pidgey_still_front_pic:: @ 8D39FD8 + .incbin "graphics/pokemon/front_pics/pidgey_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD39FD8, 0x0278 + + .align 2 +gFile_graphics_pokemon_palettes_pidgey_palette:: @ 8D3A250 + .incbin "graphics/pokemon/palettes/pidgey_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD3A250, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_pidgey_back_pic:: @ 8D3A278 + .incbin "graphics/pokemon/back_pics/pidgey_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD3A278, 0x0354 + + .align 2 +gFile_graphics_pokemon_palettes_pidgey_shiny_palette:: @ 8D3A5CC + .incbin "graphics/pokemon/palettes/pidgey_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD3A5CC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_pidgey_icon:: @ 8D3A5F4 + .incbin "graphics/pokemon/icons/pidgey_icon.4bpp" + @ .incbin "baserom.gba", 0xD3A5F4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_pidgey_footprint:: @ 8D3A9F4 + .incbin "graphics/pokemon/footprints/pidgey_footprint.1bpp" + @ .incbin "baserom.gba", 0xD3A9F4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_pidgeotto_still_front_pic:: @ 8D3AA14 + .incbin "graphics/pokemon/front_pics/pidgeotto_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD3AA14, 0x0398 + + .align 2 +gFile_graphics_pokemon_palettes_pidgeotto_palette:: @ 8D3ADAC + .incbin "graphics/pokemon/palettes/pidgeotto_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD3ADAC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_pidgeotto_back_pic:: @ 8D3ADD4 + .incbin "graphics/pokemon/back_pics/pidgeotto_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD3ADD4, 0x034C + + .align 2 +gFile_graphics_pokemon_palettes_pidgeotto_shiny_palette:: @ 8D3B120 + .incbin "graphics/pokemon/palettes/pidgeotto_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD3B120, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_pidgeotto_icon:: @ 8D3B148 + .incbin "graphics/pokemon/icons/pidgeotto_icon.4bpp" + @ .incbin "baserom.gba", 0xD3B148, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_pidgeotto_footprint:: @ 8D3B548 + .incbin "graphics/pokemon/footprints/pidgeotto_footprint.1bpp" + @ .incbin "baserom.gba", 0xD3B548, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_pidgeot_still_front_pic:: @ 8D3B568 + .incbin "graphics/pokemon/front_pics/pidgeot_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD3B568, 0x04EC + + .align 2 +gFile_graphics_pokemon_palettes_pidgeot_palette:: @ 8D3BA54 + .incbin "graphics/pokemon/palettes/pidgeot_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD3BA54, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_pidgeot_back_pic:: @ 8D3BA7C + .incbin "graphics/pokemon/back_pics/pidgeot_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD3BA7C, 0x03E8 + + .align 2 +gFile_graphics_pokemon_palettes_pidgeot_shiny_palette:: @ 8D3BE64 + .incbin "graphics/pokemon/palettes/pidgeot_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD3BE64, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_pidgeot_icon:: @ 8D3BE8C + .incbin "graphics/pokemon/icons/pidgeot_icon.4bpp" + @ .incbin "baserom.gba", 0xD3BE8C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_pidgeot_footprint:: @ 8D3C28C + .incbin "graphics/pokemon/footprints/pidgeot_footprint.1bpp" + @ .incbin "baserom.gba", 0xD3C28C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_rattata_still_front_pic:: @ 8D3C2AC + .incbin "graphics/pokemon/front_pics/rattata_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD3C2AC, 0x0258 + + .align 2 +gFile_graphics_pokemon_palettes_rattata_palette:: @ 8D3C504 + .incbin "graphics/pokemon/palettes/rattata_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD3C504, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_rattata_back_pic:: @ 8D3C52C + .incbin "graphics/pokemon/back_pics/rattata_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD3C52C, 0x02B8 + + .align 2 +gFile_graphics_pokemon_palettes_rattata_shiny_palette:: @ 8D3C7E4 + .incbin "graphics/pokemon/palettes/rattata_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD3C7E4, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_rattata_icon:: @ 8D3C80C + .incbin "graphics/pokemon/icons/rattata_icon.4bpp" + @ .incbin "baserom.gba", 0xD3C80C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_rattata_footprint:: @ 8D3CC0C + .incbin "graphics/pokemon/footprints/rattata_footprint.1bpp" + @ .incbin "baserom.gba", 0xD3CC0C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_raticate_still_front_pic:: @ 8D3CC2C + .incbin "graphics/pokemon/front_pics/raticate_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD3CC2C, 0x0390 + + .align 2 +gFile_graphics_pokemon_palettes_raticate_palette:: @ 8D3CFBC + .incbin "graphics/pokemon/palettes/raticate_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD3CFBC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_raticate_back_pic:: @ 8D3CFE4 + .incbin "graphics/pokemon/back_pics/raticate_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD3CFE4, 0x0310 + + .align 2 +gFile_graphics_pokemon_palettes_raticate_shiny_palette:: @ 8D3D2F4 + .incbin "graphics/pokemon/palettes/raticate_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD3D2F4, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_raticate_icon:: @ 8D3D31C + .incbin "graphics/pokemon/icons/raticate_icon.4bpp" + @ .incbin "baserom.gba", 0xD3D31C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_raticate_footprint:: @ 8D3D71C + .incbin "graphics/pokemon/footprints/raticate_footprint.1bpp" + @ .incbin "baserom.gba", 0xD3D71C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_spearow_still_front_pic:: @ 8D3D73C + .incbin "graphics/pokemon/front_pics/spearow_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD3D73C, 0x02C0 + + .align 2 +gFile_graphics_pokemon_palettes_spearow_palette:: @ 8D3D9FC + .incbin "graphics/pokemon/palettes/spearow_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD3D9FC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_spearow_back_pic:: @ 8D3DA24 + .incbin "graphics/pokemon/back_pics/spearow_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD3DA24, 0x02DC + + .align 2 +gFile_graphics_pokemon_palettes_spearow_shiny_palette:: @ 8D3DD00 + .incbin "graphics/pokemon/palettes/spearow_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD3DD00, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_spearow_icon:: @ 8D3DD28 + .incbin "graphics/pokemon/icons/spearow_icon.4bpp" + @ .incbin "baserom.gba", 0xD3DD28, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_spearow_footprint:: @ 8D3E128 + .incbin "graphics/pokemon/footprints/spearow_footprint.1bpp" + @ .incbin "baserom.gba", 0xD3E128, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_fearow_still_front_pic:: @ 8D3E148 + .incbin "graphics/pokemon/front_pics/fearow_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD3E148, 0x04BC + + .align 2 +gFile_graphics_pokemon_palettes_fearow_palette:: @ 8D3E604 + .incbin "graphics/pokemon/palettes/fearow_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD3E604, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_fearow_back_pic:: @ 8D3E62C + .incbin "graphics/pokemon/back_pics/fearow_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD3E62C, 0x02F8 + + .align 2 +gFile_graphics_pokemon_palettes_fearow_shiny_palette:: @ 8D3E924 + .incbin "graphics/pokemon/palettes/fearow_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD3E924, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_fearow_icon:: @ 8D3E94C + .incbin "graphics/pokemon/icons/fearow_icon.4bpp" + @ .incbin "baserom.gba", 0xD3E94C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_fearow_footprint:: @ 8D3ED4C + .incbin "graphics/pokemon/footprints/fearow_footprint.1bpp" + @ .incbin "baserom.gba", 0xD3ED4C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_ekans_still_front_pic:: @ 8D3ED6C + .incbin "graphics/pokemon/front_pics/ekans_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD3ED6C, 0x02C8 + + .align 2 +gFile_graphics_pokemon_palettes_ekans_palette:: @ 8D3F034 + .incbin "graphics/pokemon/palettes/ekans_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD3F034, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_ekans_back_pic:: @ 8D3F05C + .incbin "graphics/pokemon/back_pics/ekans_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD3F05C, 0x02F0 + + .align 2 +gFile_graphics_pokemon_palettes_ekans_shiny_palette:: @ 8D3F34C + .incbin "graphics/pokemon/palettes/ekans_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD3F34C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_ekans_icon:: @ 8D3F374 + .incbin "graphics/pokemon/icons/ekans_icon.4bpp" + @ .incbin "baserom.gba", 0xD3F374, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_ekans_footprint:: @ 8D3F774 + .incbin "graphics/pokemon/footprints/ekans_footprint.1bpp" + @ .incbin "baserom.gba", 0xD3F774, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_arbok_still_front_pic:: @ 8D3F794 + .incbin "graphics/pokemon/front_pics/arbok_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD3F794, 0x0474 + + .align 2 +gFile_graphics_pokemon_palettes_arbok_palette:: @ 8D3FC08 + .incbin "graphics/pokemon/palettes/arbok_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD3FC08, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_arbok_back_pic:: @ 8D3FC30 + .incbin "graphics/pokemon/back_pics/arbok_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD3FC30, 0x0288 + + .align 2 +gFile_graphics_pokemon_palettes_arbok_shiny_palette:: @ 8D3FEB8 + .incbin "graphics/pokemon/palettes/arbok_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD3FEB8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_arbok_icon:: @ 8D3FEE0 + .incbin "graphics/pokemon/icons/arbok_icon.4bpp" + @ .incbin "baserom.gba", 0xD3FEE0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_arbok_footprint:: @ 8D402E0 + .incbin "graphics/pokemon/footprints/arbok_footprint.1bpp" + @ .incbin "baserom.gba", 0xD402E0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_pikachu_still_front_pic:: @ 8D40300 + .incbin "graphics/pokemon/front_pics/pikachu_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD40300, 0x02D0 + + .align 2 +gFile_graphics_pokemon_palettes_pikachu_palette:: @ 8D405D0 + .incbin "graphics/pokemon/palettes/pikachu_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD405D0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_pikachu_back_pic:: @ 8D405F8 + .incbin "graphics/pokemon/back_pics/pikachu_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD405F8, 0x02D8 + + .align 2 +gFile_graphics_pokemon_palettes_pikachu_shiny_palette:: @ 8D408D0 + .incbin "graphics/pokemon/palettes/pikachu_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD408D0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_pikachu_icon:: @ 8D408F8 + .incbin "graphics/pokemon/icons/pikachu_icon.4bpp" + @ .incbin "baserom.gba", 0xD408F8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_pikachu_footprint:: @ 8D40CF8 + .incbin "graphics/pokemon/footprints/pikachu_footprint.1bpp" + @ .incbin "baserom.gba", 0xD40CF8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_raichu_still_front_pic:: @ 8D40D18 + .incbin "graphics/pokemon/front_pics/raichu_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD40D18, 0x03F8 + + .align 2 +gFile_graphics_pokemon_palettes_raichu_palette:: @ 8D41110 + .incbin "graphics/pokemon/palettes/raichu_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD41110, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_raichu_back_pic:: @ 8D41138 + .incbin "graphics/pokemon/back_pics/raichu_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD41138, 0x0320 + + .align 2 +gFile_graphics_pokemon_palettes_raichu_shiny_palette:: @ 8D41458 + .incbin "graphics/pokemon/palettes/raichu_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD41458, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_raichu_icon:: @ 8D41480 + .incbin "graphics/pokemon/icons/raichu_icon.4bpp" + @ .incbin "baserom.gba", 0xD41480, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_raichu_footprint:: @ 8D41880 + .incbin "graphics/pokemon/footprints/raichu_footprint.1bpp" + @ .incbin "baserom.gba", 0xD41880, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_sandshrew_still_front_pic:: @ 8D418A0 + .incbin "graphics/pokemon/front_pics/sandshrew_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD418A0, 0x02DC + + .align 2 +gFile_graphics_pokemon_palettes_sandshrew_palette:: @ 8D41B7C + .incbin "graphics/pokemon/palettes/sandshrew_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD41B7C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_sandshrew_back_pic:: @ 8D41BA4 + .incbin "graphics/pokemon/back_pics/sandshrew_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD41BA4, 0x0328 + + .align 2 +gFile_graphics_pokemon_palettes_sandshrew_shiny_palette:: @ 8D41ECC + .incbin "graphics/pokemon/palettes/sandshrew_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD41ECC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_sandshrew_icon:: @ 8D41EF4 + .incbin "graphics/pokemon/icons/sandshrew_icon.4bpp" + @ .incbin "baserom.gba", 0xD41EF4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_sandshrew_footprint:: @ 8D422F4 + .incbin "graphics/pokemon/footprints/sandshrew_footprint.1bpp" + @ .incbin "baserom.gba", 0xD422F4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_sandslash_still_front_pic:: @ 8D42314 + .incbin "graphics/pokemon/front_pics/sandslash_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD42314, 0x0418 + + .align 2 +gFile_graphics_pokemon_palettes_sandslash_palette:: @ 8D4272C + .incbin "graphics/pokemon/palettes/sandslash_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD4272C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_sandslash_back_pic:: @ 8D42754 + .incbin "graphics/pokemon/back_pics/sandslash_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD42754, 0x041C + + .align 2 +gFile_graphics_pokemon_palettes_sandslash_shiny_palette:: @ 8D42B70 + .incbin "graphics/pokemon/palettes/sandslash_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD42B70, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_sandslash_icon:: @ 8D42B98 + .incbin "graphics/pokemon/icons/sandslash_icon.4bpp" + @ .incbin "baserom.gba", 0xD42B98, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_sandslash_footprint:: @ 8D42F98 + .incbin "graphics/pokemon/footprints/sandslash_footprint.1bpp" + @ .incbin "baserom.gba", 0xD42F98, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_nidoran_f_still_front_pic:: @ 8D42FB8 + .incbin "graphics/pokemon/front_pics/nidoran_f_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD42FB8, 0x0264 + + .align 2 +gFile_graphics_pokemon_palettes_nidoran_f_palette:: @ 8D4321C + .incbin "graphics/pokemon/palettes/nidoran_f_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD4321C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_nidoran_f_back_pic:: @ 8D43244 + .incbin "graphics/pokemon/back_pics/nidoran_f_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD43244, 0x02E0 + + .align 2 +gFile_graphics_pokemon_palettes_nidoran_f_shiny_palette:: @ 8D43524 + .incbin "graphics/pokemon/palettes/nidoran_f_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD43524, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_nidoran_f_icon:: @ 8D4354C + .incbin "graphics/pokemon/icons/nidoran_f_icon.4bpp" + @ .incbin "baserom.gba", 0xD4354C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_nidoran_f_footprint:: @ 8D4394C + .incbin "graphics/pokemon/footprints/nidoran_f_footprint.1bpp" + @ .incbin "baserom.gba", 0xD4394C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_nidorina_still_front_pic:: @ 8D4396C + .incbin "graphics/pokemon/front_pics/nidorina_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD4396C, 0x0320 + + .align 2 +gFile_graphics_pokemon_palettes_nidorina_palette:: @ 8D43C8C + .incbin "graphics/pokemon/palettes/nidorina_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD43C8C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_nidorina_back_pic:: @ 8D43CB4 + .incbin "graphics/pokemon/back_pics/nidorina_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD43CB4, 0x0394 + + .align 2 +gFile_graphics_pokemon_palettes_nidorina_shiny_palette:: @ 8D44048 + .incbin "graphics/pokemon/palettes/nidorina_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD44048, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_nidorina_icon:: @ 8D44070 + .incbin "graphics/pokemon/icons/nidorina_icon.4bpp" + @ .incbin "baserom.gba", 0xD44070, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_nidorina_footprint:: @ 8D44470 + .incbin "graphics/pokemon/footprints/nidorina_footprint.1bpp" + @ .incbin "baserom.gba", 0xD44470, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_nidoqueen_still_front_pic:: @ 8D44490 + .incbin "graphics/pokemon/front_pics/nidoqueen_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD44490, 0x042C + + .align 2 +gFile_graphics_pokemon_palettes_nidoqueen_palette:: @ 8D448BC + .incbin "graphics/pokemon/palettes/nidoqueen_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD448BC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_nidoqueen_back_pic:: @ 8D448E4 + .incbin "graphics/pokemon/back_pics/nidoqueen_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD448E4, 0x03C4 + + .align 2 +gFile_graphics_pokemon_palettes_nidoqueen_shiny_palette:: @ 8D44CA8 + .incbin "graphics/pokemon/palettes/nidoqueen_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD44CA8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_nidoqueen_icon:: @ 8D44CD0 + .incbin "graphics/pokemon/icons/nidoqueen_icon.4bpp" + @ .incbin "baserom.gba", 0xD44CD0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_nidoqueen_footprint:: @ 8D450D0 + .incbin "graphics/pokemon/footprints/nidoqueen_footprint.1bpp" + @ .incbin "baserom.gba", 0xD450D0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_nidoran_m_still_front_pic:: @ 8D450F0 + .incbin "graphics/pokemon/front_pics/nidoran_m_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD450F0, 0x028C + + .align 2 +gFile_graphics_pokemon_palettes_nidoran_m_palette:: @ 8D4537C + .incbin "graphics/pokemon/palettes/nidoran_m_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD4537C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_nidoran_m_back_pic:: @ 8D453A4 + .incbin "graphics/pokemon/back_pics/nidoran_m_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD453A4, 0x0334 + + .align 2 +gFile_graphics_pokemon_palettes_nidoran_m_shiny_palette:: @ 8D456D8 + .incbin "graphics/pokemon/palettes/nidoran_m_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD456D8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_nidoran_m_icon:: @ 8D45700 + .incbin "graphics/pokemon/icons/nidoran_m_icon.4bpp" + @ .incbin "baserom.gba", 0xD45700, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_nidoran_m_footprint:: @ 8D45B00 + .incbin "graphics/pokemon/footprints/nidoran_m_footprint.1bpp" + @ .incbin "baserom.gba", 0xD45B00, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_nidorino_still_front_pic:: @ 8D45B20 + .incbin "graphics/pokemon/front_pics/nidorino_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD45B20, 0x0384 + + .align 2 +gFile_graphics_pokemon_palettes_nidorino_palette:: @ 8D45EA4 + .incbin "graphics/pokemon/palettes/nidorino_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD45EA4, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_nidorino_back_pic:: @ 8D45ECC + .incbin "graphics/pokemon/back_pics/nidorino_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD45ECC, 0x03BC + + .align 2 +gFile_graphics_pokemon_palettes_nidorino_shiny_palette:: @ 8D46288 + .incbin "graphics/pokemon/palettes/nidorino_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD46288, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_nidorino_icon:: @ 8D462B0 + .incbin "graphics/pokemon/icons/nidorino_icon.4bpp" + @ .incbin "baserom.gba", 0xD462B0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_nidorino_footprint:: @ 8D466B0 + .incbin "graphics/pokemon/footprints/nidorino_footprint.1bpp" + @ .incbin "baserom.gba", 0xD466B0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_nidoking_still_front_pic:: @ 8D466D0 + .incbin "graphics/pokemon/front_pics/nidoking_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD466D0, 0x053C + + .align 2 +gFile_graphics_pokemon_palettes_nidoking_palette:: @ 8D46C0C + .incbin "graphics/pokemon/palettes/nidoking_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD46C0C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_nidoking_back_pic:: @ 8D46C34 + .incbin "graphics/pokemon/back_pics/nidoking_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD46C34, 0x043C + + .align 2 +gFile_graphics_pokemon_palettes_nidoking_shiny_palette:: @ 8D47070 + .incbin "graphics/pokemon/palettes/nidoking_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD47070, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_nidoking_icon:: @ 8D47098 + .incbin "graphics/pokemon/icons/nidoking_icon.4bpp" + @ .incbin "baserom.gba", 0xD47098, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_nidoking_footprint:: @ 8D47498 + .incbin "graphics/pokemon/footprints/nidoking_footprint.1bpp" + @ .incbin "baserom.gba", 0xD47498, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_clefairy_still_front_pic:: @ 8D474B8 + .incbin "graphics/pokemon/front_pics/clefairy_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD474B8, 0x029C + + .align 2 +gFile_graphics_pokemon_palettes_clefairy_palette:: @ 8D47754 + .incbin "graphics/pokemon/palettes/clefairy_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD47754, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_clefairy_back_pic:: @ 8D4777C + .incbin "graphics/pokemon/back_pics/clefairy_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD4777C, 0x02D0 + + .align 2 +gFile_graphics_pokemon_palettes_clefairy_shiny_palette:: @ 8D47A4C + .incbin "graphics/pokemon/palettes/clefairy_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD47A4C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_clefairy_icon:: @ 8D47A74 + .incbin "graphics/pokemon/icons/clefairy_icon.4bpp" + @ .incbin "baserom.gba", 0xD47A74, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_clefairy_footprint:: @ 8D47E74 + .incbin "graphics/pokemon/footprints/clefairy_footprint.1bpp" + @ .incbin "baserom.gba", 0xD47E74, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_clefable_still_front_pic:: @ 8D47E94 + .incbin "graphics/pokemon/front_pics/clefable_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD47E94, 0x0340 + + .align 2 +gFile_graphics_pokemon_palettes_clefable_palette:: @ 8D481D4 + .incbin "graphics/pokemon/palettes/clefable_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD481D4, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_clefable_back_pic:: @ 8D481FC + .incbin "graphics/pokemon/back_pics/clefable_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD481FC, 0x0338 + + .align 2 +gFile_graphics_pokemon_palettes_clefable_shiny_palette:: @ 8D48534 + .incbin "graphics/pokemon/palettes/clefable_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD48534, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_clefable_icon:: @ 8D4855C + .incbin "graphics/pokemon/icons/clefable_icon.4bpp" + @ .incbin "baserom.gba", 0xD4855C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_clefable_footprint:: @ 8D4895C + .incbin "graphics/pokemon/footprints/clefable_footprint.1bpp" + @ .incbin "baserom.gba", 0xD4895C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_vulpix_still_front_pic:: @ 8D4897C + .incbin "graphics/pokemon/front_pics/vulpix_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD4897C, 0x032C + + .align 2 +gFile_graphics_pokemon_palettes_vulpix_palette:: @ 8D48CA8 + .incbin "graphics/pokemon/palettes/vulpix_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD48CA8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_vulpix_back_pic:: @ 8D48CD0 + .incbin "graphics/pokemon/back_pics/vulpix_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD48CD0, 0x0304 + + .align 2 +gFile_graphics_pokemon_palettes_vulpix_shiny_palette:: @ 8D48FD4 + .incbin "graphics/pokemon/palettes/vulpix_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD48FD4, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_vulpix_icon:: @ 8D48FFC + .incbin "graphics/pokemon/icons/vulpix_icon.4bpp" + @ .incbin "baserom.gba", 0xD48FFC, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_vulpix_footprint:: @ 8D493FC + .incbin "graphics/pokemon/footprints/vulpix_footprint.1bpp" + @ .incbin "baserom.gba", 0xD493FC, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_ninetales_still_front_pic:: @ 8D4941C + .incbin "graphics/pokemon/front_pics/ninetales_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD4941C, 0x0454 + + .align 2 +gFile_graphics_pokemon_palettes_ninetales_palette:: @ 8D49870 + .incbin "graphics/pokemon/palettes/ninetales_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD49870, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_ninetales_back_pic:: @ 8D49894 + .incbin "graphics/pokemon/back_pics/ninetales_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD49894, 0x03F0 + + .align 2 +gFile_graphics_pokemon_palettes_ninetales_shiny_palette:: @ 8D49C84 + .incbin "graphics/pokemon/palettes/ninetales_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD49C84, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_ninetales_icon:: @ 8D49CA8 + .incbin "graphics/pokemon/icons/ninetales_icon.4bpp" + @ .incbin "baserom.gba", 0xD49CA8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_ninetales_footprint:: @ 8D4A0A8 + .incbin "graphics/pokemon/footprints/ninetales_footprint.1bpp" + @ .incbin "baserom.gba", 0xD4A0A8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_jigglypuff_still_front_pic:: @ 8D4A0C8 + .incbin "graphics/pokemon/front_pics/jigglypuff_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD4A0C8, 0x0284 + + .align 2 +gFile_graphics_pokemon_palettes_jigglypuff_palette:: @ 8D4A34C + .incbin "graphics/pokemon/palettes/jigglypuff_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD4A34C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_jigglypuff_back_pic:: @ 8D4A374 + .incbin "graphics/pokemon/back_pics/jigglypuff_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD4A374, 0x025C + + .align 2 +gFile_graphics_pokemon_palettes_jigglypuff_shiny_palette:: @ 8D4A5D0 + .incbin "graphics/pokemon/palettes/jigglypuff_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD4A5D0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_jigglypuff_icon:: @ 8D4A5F8 + .incbin "graphics/pokemon/icons/jigglypuff_icon.4bpp" + @ .incbin "baserom.gba", 0xD4A5F8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_jigglypuff_footprint:: @ 8D4A9F8 + .incbin "graphics/pokemon/footprints/jigglypuff_footprint.1bpp" + @ .incbin "baserom.gba", 0xD4A9F8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_wigglytuff_still_front_pic:: @ 8D4AA18 + .incbin "graphics/pokemon/front_pics/wigglytuff_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD4AA18, 0x0374 + + .align 2 +gFile_graphics_pokemon_palettes_wigglytuff_palette:: @ 8D4AD8C + .incbin "graphics/pokemon/palettes/wigglytuff_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD4AD8C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_wigglytuff_back_pic:: @ 8D4ADB4 + .incbin "graphics/pokemon/back_pics/wigglytuff_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD4ADB4, 0x0298 + + .align 2 +gFile_graphics_pokemon_palettes_wigglytuff_shiny_palette:: @ 8D4B04C + .incbin "graphics/pokemon/palettes/wigglytuff_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD4B04C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_wigglytuff_icon:: @ 8D4B074 + .incbin "graphics/pokemon/icons/wigglytuff_icon.4bpp" + @ .incbin "baserom.gba", 0xD4B074, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_wigglytuff_footprint:: @ 8D4B474 + .incbin "graphics/pokemon/footprints/wigglytuff_footprint.1bpp" + @ .incbin "baserom.gba", 0xD4B474, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_zubat_still_front_pic:: @ 8D4B494 + .incbin "graphics/pokemon/front_pics/zubat_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD4B494, 0x02BC + + .align 2 +gFile_graphics_pokemon_palettes_zubat_palette:: @ 8D4B750 + .incbin "graphics/pokemon/palettes/zubat_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD4B750, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_zubat_back_pic:: @ 8D4B778 + .incbin "graphics/pokemon/back_pics/zubat_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD4B778, 0x02BC + + .align 2 +gFile_graphics_pokemon_palettes_zubat_shiny_palette:: @ 8D4BA34 + .incbin "graphics/pokemon/palettes/zubat_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD4BA34, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_zubat_icon:: @ 8D4BA5C + .incbin "graphics/pokemon/icons/zubat_icon.4bpp" + @ .incbin "baserom.gba", 0xD4BA5C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_zubat_footprint:: @ 8D4BE5C + .incbin "graphics/pokemon/footprints/zubat_footprint.1bpp" + @ .incbin "baserom.gba", 0xD4BE5C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_golbat_still_front_pic:: @ 8D4BE7C + .incbin "graphics/pokemon/front_pics/golbat_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD4BE7C, 0x03A0 + + .align 2 +gFile_graphics_pokemon_palettes_golbat_palette:: @ 8D4C21C + .incbin "graphics/pokemon/palettes/golbat_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD4C21C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_golbat_back_pic:: @ 8D4C244 + .incbin "graphics/pokemon/back_pics/golbat_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD4C244, 0x02BC + + .align 2 +gFile_graphics_pokemon_palettes_golbat_shiny_palette:: @ 8D4C500 + .incbin "graphics/pokemon/palettes/golbat_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD4C500, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_golbat_icon:: @ 8D4C528 + .incbin "graphics/pokemon/icons/golbat_icon.4bpp" + @ .incbin "baserom.gba", 0xD4C528, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_golbat_footprint:: @ 8D4C928 + .incbin "graphics/pokemon/footprints/golbat_footprint.1bpp" + @ .incbin "baserom.gba", 0xD4C928, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_oddish_still_front_pic:: @ 8D4C948 + .incbin "graphics/pokemon/front_pics/oddish_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD4C948, 0x0240 + + .align 2 +gFile_graphics_pokemon_palettes_oddish_palette:: @ 8D4CB88 + .incbin "graphics/pokemon/palettes/oddish_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD4CB88, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_oddish_back_pic:: @ 8D4CBB0 + .incbin "graphics/pokemon/back_pics/oddish_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD4CBB0, 0x02C4 + + .align 2 +gFile_graphics_pokemon_palettes_oddish_shiny_palette:: @ 8D4CE74 + .incbin "graphics/pokemon/palettes/oddish_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD4CE74, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_oddish_icon:: @ 8D4CE9C + .incbin "graphics/pokemon/icons/oddish_icon.4bpp" + @ .incbin "baserom.gba", 0xD4CE9C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_oddish_footprint:: @ 8D4D29C + .incbin "graphics/pokemon/footprints/oddish_footprint.1bpp" + @ .incbin "baserom.gba", 0xD4D29C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_gloom_still_front_pic:: @ 8D4D2BC + .incbin "graphics/pokemon/front_pics/gloom_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD4D2BC, 0x0368 + + .align 2 +gFile_graphics_pokemon_palettes_gloom_palette:: @ 8D4D624 + .incbin "graphics/pokemon/palettes/gloom_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD4D624, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_gloom_back_pic:: @ 8D4D64C + .incbin "graphics/pokemon/back_pics/gloom_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD4D64C, 0x0380 + + .align 2 +gFile_graphics_pokemon_palettes_gloom_shiny_palette:: @ 8D4D9CC + .incbin "graphics/pokemon/palettes/gloom_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD4D9CC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_gloom_icon:: @ 8D4D9F4 + .incbin "graphics/pokemon/icons/gloom_icon.4bpp" + @ .incbin "baserom.gba", 0xD4D9F4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_gloom_footprint:: @ 8D4DDF4 + .incbin "graphics/pokemon/footprints/gloom_footprint.1bpp" + @ .incbin "baserom.gba", 0xD4DDF4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_vileplume_still_front_pic:: @ 8D4DE14 + .incbin "graphics/pokemon/front_pics/vileplume_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD4DE14, 0x0354 + + .align 2 +gFile_graphics_pokemon_palettes_vileplume_palette:: @ 8D4E168 + .incbin "graphics/pokemon/palettes/vileplume_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD4E168, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_vileplume_back_pic:: @ 8D4E190 + .incbin "graphics/pokemon/back_pics/vileplume_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD4E190, 0x044C + + .align 2 +gFile_graphics_pokemon_palettes_vileplume_shiny_palette:: @ 8D4E5DC + .incbin "graphics/pokemon/palettes/vileplume_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD4E5DC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_vileplume_icon:: @ 8D4E604 + .incbin "graphics/pokemon/icons/vileplume_icon.4bpp" + @ .incbin "baserom.gba", 0xD4E604, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_vileplume_footprint:: @ 8D4EA04 + .incbin "graphics/pokemon/footprints/vileplume_footprint.1bpp" + @ .incbin "baserom.gba", 0xD4EA04, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_paras_still_front_pic:: @ 8D4EA24 + .incbin "graphics/pokemon/front_pics/paras_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD4EA24, 0x026C + + .align 2 +gFile_graphics_pokemon_palettes_paras_palette:: @ 8D4EC90 + .incbin "graphics/pokemon/palettes/paras_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD4EC90, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_paras_back_pic:: @ 8D4ECB8 + .incbin "graphics/pokemon/back_pics/paras_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD4ECB8, 0x02A0 + + .align 2 +gFile_graphics_pokemon_palettes_paras_shiny_palette:: @ 8D4EF58 + .incbin "graphics/pokemon/palettes/paras_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD4EF58, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_paras_icon:: @ 8D4EF80 + .incbin "graphics/pokemon/icons/paras_icon.4bpp" + @ .incbin "baserom.gba", 0xD4EF80, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_paras_footprint:: @ 8D4F380 + .incbin "graphics/pokemon/footprints/paras_footprint.1bpp" + @ .incbin "baserom.gba", 0xD4F380, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_parasect_still_front_pic:: @ 8D4F3A0 + .incbin "graphics/pokemon/front_pics/parasect_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD4F3A0, 0x0390 + + .align 2 +gFile_graphics_pokemon_palettes_parasect_palette:: @ 8D4F730 + .incbin "graphics/pokemon/palettes/parasect_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD4F730, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_parasect_back_pic:: @ 8D4F758 + .incbin "graphics/pokemon/back_pics/parasect_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD4F758, 0x02FC + + .align 2 +gFile_graphics_pokemon_palettes_parasect_shiny_palette:: @ 8D4FA54 + .incbin "graphics/pokemon/palettes/parasect_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD4FA54, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_parasect_icon:: @ 8D4FA7C + .incbin "graphics/pokemon/icons/parasect_icon.4bpp" + @ .incbin "baserom.gba", 0xD4FA7C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_parasect_footprint:: @ 8D4FE7C + .incbin "graphics/pokemon/footprints/parasect_footprint.1bpp" + @ .incbin "baserom.gba", 0xD4FE7C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_venonat_still_front_pic:: @ 8D4FE9C + .incbin "graphics/pokemon/front_pics/venonat_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD4FE9C, 0x0320 + + .align 2 +gFile_graphics_pokemon_palettes_venonat_palette:: @ 8D501BC + .incbin "graphics/pokemon/palettes/venonat_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD501BC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_venonat_back_pic:: @ 8D501E4 + .incbin "graphics/pokemon/back_pics/venonat_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD501E4, 0x0330 + + .align 2 +gFile_graphics_pokemon_palettes_venonat_shiny_palette:: @ 8D50514 + .incbin "graphics/pokemon/palettes/venonat_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD50514, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_venonat_icon:: @ 8D5053C + .incbin "graphics/pokemon/icons/venonat_icon.4bpp" + @ .incbin "baserom.gba", 0xD5053C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_venonat_footprint:: @ 8D5093C + .incbin "graphics/pokemon/footprints/venonat_footprint.1bpp" + @ .incbin "baserom.gba", 0xD5093C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_venomoth_still_front_pic:: @ 8D5095C + .incbin "graphics/pokemon/front_pics/venomoth_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD5095C, 0x0404 + + .align 2 +gFile_graphics_pokemon_palettes_venomoth_palette:: @ 8D50D60 + .incbin "graphics/pokemon/palettes/venomoth_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD50D60, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_venomoth_back_pic:: @ 8D50D88 + .incbin "graphics/pokemon/back_pics/venomoth_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD50D88, 0x03A4 + + .align 2 +gFile_graphics_pokemon_palettes_venomoth_shiny_palette:: @ 8D5112C + .incbin "graphics/pokemon/palettes/venomoth_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD5112C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_venomoth_icon:: @ 8D51154 + .incbin "graphics/pokemon/icons/venomoth_icon.4bpp" + @ .incbin "baserom.gba", 0xD51154, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_venomoth_footprint:: @ 8D51554 + .incbin "graphics/pokemon/footprints/venomoth_footprint.1bpp" + @ .incbin "baserom.gba", 0xD51554, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_diglett_still_front_pic:: @ 8D51574 + .incbin "graphics/pokemon/front_pics/diglett_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD51574, 0x0210 + + .align 2 +gFile_graphics_pokemon_palettes_diglett_palette:: @ 8D51784 + .incbin "graphics/pokemon/palettes/diglett_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD51784, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_diglett_back_pic:: @ 8D517AC + .incbin "graphics/pokemon/back_pics/diglett_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD517AC, 0x020C + + .align 2 +gFile_graphics_pokemon_palettes_diglett_shiny_palette:: @ 8D519B8 + .incbin "graphics/pokemon/palettes/diglett_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD519B8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_diglett_icon:: @ 8D519E0 + .incbin "graphics/pokemon/icons/diglett_icon.4bpp" + @ .incbin "baserom.gba", 0xD519E0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_diglett_footprint:: @ 8D51DE0 + .incbin "graphics/pokemon/footprints/diglett_footprint.1bpp" + @ .incbin "baserom.gba", 0xD51DE0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_dugtrio_still_front_pic:: @ 8D51E00 + .incbin "graphics/pokemon/front_pics/dugtrio_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD51E00, 0x032C + + .align 2 +gFile_graphics_pokemon_palettes_dugtrio_palette:: @ 8D5212C + .incbin "graphics/pokemon/palettes/dugtrio_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD5212C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_dugtrio_back_pic:: @ 8D52154 + .incbin "graphics/pokemon/back_pics/dugtrio_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD52154, 0x02AC + + .align 2 +gFile_graphics_pokemon_palettes_dugtrio_shiny_palette:: @ 8D52400 + .incbin "graphics/pokemon/palettes/dugtrio_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD52400, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_dugtrio_icon:: @ 8D52428 + .incbin "graphics/pokemon/icons/dugtrio_icon.4bpp" + @ .incbin "baserom.gba", 0xD52428, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_dugtrio_footprint:: @ 8D52828 + .incbin "graphics/pokemon/footprints/dugtrio_footprint.1bpp" + @ .incbin "baserom.gba", 0xD52828, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_meowth_still_front_pic:: @ 8D52848 + .incbin "graphics/pokemon/front_pics/meowth_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD52848, 0x02EC + + .align 2 +gFile_graphics_pokemon_palettes_meowth_palette:: @ 8D52B34 + .incbin "graphics/pokemon/palettes/meowth_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD52B34, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_meowth_back_pic:: @ 8D52B5C + .incbin "graphics/pokemon/back_pics/meowth_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD52B5C, 0x02E4 + + .align 2 +gFile_graphics_pokemon_palettes_meowth_shiny_palette:: @ 8D52E40 + .incbin "graphics/pokemon/palettes/meowth_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD52E40, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_meowth_icon:: @ 8D52E68 + .incbin "graphics/pokemon/icons/meowth_icon.4bpp" + @ .incbin "baserom.gba", 0xD52E68, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_meowth_footprint:: @ 8D53268 + .incbin "graphics/pokemon/footprints/meowth_footprint.1bpp" + @ .incbin "baserom.gba", 0xD53268, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_persian_still_front_pic:: @ 8D53288 + .incbin "graphics/pokemon/front_pics/persian_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD53288, 0x0378 + + .align 2 +gFile_graphics_pokemon_palettes_persian_palette:: @ 8D53600 + .incbin "graphics/pokemon/palettes/persian_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD53600, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_persian_back_pic:: @ 8D53628 + .incbin "graphics/pokemon/back_pics/persian_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD53628, 0x0340 + + .align 2 +gFile_graphics_pokemon_palettes_persian_shiny_palette:: @ 8D53968 + .incbin "graphics/pokemon/palettes/persian_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD53968, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_persian_icon:: @ 8D53990 + .incbin "graphics/pokemon/icons/persian_icon.4bpp" + @ .incbin "baserom.gba", 0xD53990, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_persian_footprint:: @ 8D53D90 + .incbin "graphics/pokemon/footprints/persian_footprint.1bpp" + @ .incbin "baserom.gba", 0xD53D90, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_psyduck_still_front_pic:: @ 8D53DB0 + .incbin "graphics/pokemon/front_pics/psyduck_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD53DB0, 0x02E4 + + .align 2 +gFile_graphics_pokemon_palettes_psyduck_palette:: @ 8D54094 + .incbin "graphics/pokemon/palettes/psyduck_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD54094, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_psyduck_back_pic:: @ 8D540BC + .incbin "graphics/pokemon/back_pics/psyduck_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD540BC, 0x029C + + .align 2 +gFile_graphics_pokemon_palettes_psyduck_shiny_palette:: @ 8D54358 + .incbin "graphics/pokemon/palettes/psyduck_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD54358, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_psyduck_icon:: @ 8D54380 + .incbin "graphics/pokemon/icons/psyduck_icon.4bpp" + @ .incbin "baserom.gba", 0xD54380, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_psyduck_footprint:: @ 8D54780 + .incbin "graphics/pokemon/footprints/psyduck_footprint.1bpp" + @ .incbin "baserom.gba", 0xD54780, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_golduck_still_front_pic:: @ 8D547A0 + .incbin "graphics/pokemon/front_pics/golduck_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD547A0, 0x03B8 + + .align 2 +gFile_graphics_pokemon_palettes_golduck_palette:: @ 8D54B58 + .incbin "graphics/pokemon/palettes/golduck_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD54B58, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_golduck_back_pic:: @ 8D54B80 + .incbin "graphics/pokemon/back_pics/golduck_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD54B80, 0x032C + + .align 2 +gFile_graphics_pokemon_palettes_golduck_shiny_palette:: @ 8D54EAC + .incbin "graphics/pokemon/palettes/golduck_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD54EAC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_golduck_icon:: @ 8D54ED4 + .incbin "graphics/pokemon/icons/golduck_icon.4bpp" + @ .incbin "baserom.gba", 0xD54ED4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_golduck_footprint:: @ 8D552D4 + .incbin "graphics/pokemon/footprints/golduck_footprint.1bpp" + @ .incbin "baserom.gba", 0xD552D4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_mankey_still_front_pic:: @ 8D552F4 + .incbin "graphics/pokemon/front_pics/mankey_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD552F4, 0x02F8 + + .align 2 +gFile_graphics_pokemon_palettes_mankey_palette:: @ 8D555EC + .incbin "graphics/pokemon/palettes/mankey_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD555EC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_mankey_back_pic:: @ 8D55614 + .incbin "graphics/pokemon/back_pics/mankey_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD55614, 0x0368 + + .align 2 +gFile_graphics_pokemon_palettes_mankey_shiny_palette:: @ 8D5597C + .incbin "graphics/pokemon/palettes/mankey_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD5597C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_mankey_icon:: @ 8D559A4 + .incbin "graphics/pokemon/icons/mankey_icon.4bpp" + @ .incbin "baserom.gba", 0xD559A4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_mankey_footprint:: @ 8D55DA4 + .incbin "graphics/pokemon/footprints/mankey_footprint.1bpp" + @ .incbin "baserom.gba", 0xD55DA4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_primeape_still_front_pic:: @ 8D55DC4 + .incbin "graphics/pokemon/front_pics/primeape_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD55DC4, 0x038C + + .align 2 +gFile_graphics_pokemon_palettes_primeape_palette:: @ 8D56150 + .incbin "graphics/pokemon/palettes/primeape_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD56150, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_primeape_back_pic:: @ 8D56178 + .incbin "graphics/pokemon/back_pics/primeape_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD56178, 0x0370 + + .align 2 +gFile_graphics_pokemon_palettes_primeape_shiny_palette:: @ 8D564E8 + .incbin "graphics/pokemon/palettes/primeape_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD564E8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_primeape_icon:: @ 8D56510 + .incbin "graphics/pokemon/icons/primeape_icon.4bpp" + @ .incbin "baserom.gba", 0xD56510, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_primeape_footprint:: @ 8D56910 + .incbin "graphics/pokemon/footprints/primeape_footprint.1bpp" + @ .incbin "baserom.gba", 0xD56910, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_growlithe_still_front_pic:: @ 8D56930 + .incbin "graphics/pokemon/front_pics/growlithe_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD56930, 0x0328 + + .align 2 +gFile_graphics_pokemon_palettes_growlithe_palette:: @ 8D56C58 + .incbin "graphics/pokemon/palettes/growlithe_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD56C58, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_growlithe_back_pic:: @ 8D56C80 + .incbin "graphics/pokemon/back_pics/growlithe_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD56C80, 0x033C + + .align 2 +gFile_graphics_pokemon_palettes_growlithe_shiny_palette:: @ 8D56FBC + .incbin "graphics/pokemon/palettes/growlithe_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD56FBC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_growlithe_icon:: @ 8D56FE4 + .incbin "graphics/pokemon/icons/growlithe_icon.4bpp" + @ .incbin "baserom.gba", 0xD56FE4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_growlithe_footprint:: @ 8D573E4 + .incbin "graphics/pokemon/footprints/growlithe_footprint.1bpp" + @ .incbin "baserom.gba", 0xD573E4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_arcanine_still_front_pic:: @ 8D57404 + .incbin "graphics/pokemon/front_pics/arcanine_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD57404, 0x04FC + + .align 2 +gFile_graphics_pokemon_palettes_arcanine_palette:: @ 8D57900 + .incbin "graphics/pokemon/palettes/arcanine_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD57900, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_arcanine_back_pic:: @ 8D57928 + .incbin "graphics/pokemon/back_pics/arcanine_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD57928, 0x03E0 + + .align 2 +gFile_graphics_pokemon_palettes_arcanine_shiny_palette:: @ 8D57D08 + .incbin "graphics/pokemon/palettes/arcanine_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD57D08, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_arcanine_icon:: @ 8D57D30 + .incbin "graphics/pokemon/icons/arcanine_icon.4bpp" + @ .incbin "baserom.gba", 0xD57D30, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_arcanine_footprint:: @ 8D58130 + .incbin "graphics/pokemon/footprints/arcanine_footprint.1bpp" + @ .incbin "baserom.gba", 0xD58130, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_poliwag_still_front_pic:: @ 8D58150 + .incbin "graphics/pokemon/front_pics/poliwag_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD58150, 0x029C + + .align 2 +gFile_graphics_pokemon_palettes_poliwag_palette:: @ 8D583EC + .incbin "graphics/pokemon/palettes/poliwag_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD583EC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_poliwag_back_pic:: @ 8D58414 + .incbin "graphics/pokemon/back_pics/poliwag_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD58414, 0x0264 + + .align 2 +gFile_graphics_pokemon_palettes_poliwag_shiny_palette:: @ 8D58678 + .incbin "graphics/pokemon/palettes/poliwag_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD58678, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_poliwag_icon:: @ 8D586A0 + .incbin "graphics/pokemon/icons/poliwag_icon.4bpp" + @ .incbin "baserom.gba", 0xD586A0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_poliwag_footprint:: @ 8D58AA0 + .incbin "graphics/pokemon/footprints/poliwag_footprint.1bpp" + @ .incbin "baserom.gba", 0xD58AA0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_poliwhirl_still_front_pic:: @ 8D58AC0 + .incbin "graphics/pokemon/front_pics/poliwhirl_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD58AC0, 0x0380 + + .align 2 +gFile_graphics_pokemon_palettes_poliwhirl_palette:: @ 8D58E40 + .incbin "graphics/pokemon/palettes/poliwhirl_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD58E40, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_poliwhirl_back_pic:: @ 8D58E68 + .incbin "graphics/pokemon/back_pics/poliwhirl_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD58E68, 0x027C + + .align 2 +gFile_graphics_pokemon_palettes_poliwhirl_shiny_palette:: @ 8D590E4 + .incbin "graphics/pokemon/palettes/poliwhirl_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD590E4, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_poliwhirl_icon:: @ 8D5910C + .incbin "graphics/pokemon/icons/poliwhirl_icon.4bpp" + @ .incbin "baserom.gba", 0xD5910C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_poliwhirl_footprint:: @ 8D5950C + .incbin "graphics/pokemon/footprints/poliwhirl_footprint.1bpp" + @ .incbin "baserom.gba", 0xD5950C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_poliwrath_still_front_pic:: @ 8D5952C + .incbin "graphics/pokemon/front_pics/poliwrath_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD5952C, 0x03C4 + + .align 2 +gFile_graphics_pokemon_palettes_poliwrath_palette:: @ 8D598F0 + .incbin "graphics/pokemon/palettes/poliwrath_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD598F0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_poliwrath_back_pic:: @ 8D59918 + .incbin "graphics/pokemon/back_pics/poliwrath_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD59918, 0x02F4 + + .align 2 +gFile_graphics_pokemon_palettes_poliwrath_shiny_palette:: @ 8D59C0C + .incbin "graphics/pokemon/palettes/poliwrath_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD59C0C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_poliwrath_icon:: @ 8D59C34 + .incbin "graphics/pokemon/icons/poliwrath_icon.4bpp" + @ .incbin "baserom.gba", 0xD59C34, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_poliwrath_footprint:: @ 8D5A034 + .incbin "graphics/pokemon/footprints/poliwrath_footprint.1bpp" + @ .incbin "baserom.gba", 0xD5A034, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_abra_still_front_pic:: @ 8D5A054 + .incbin "graphics/pokemon/front_pics/abra_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD5A054, 0x02D4 + + .align 2 +gFile_graphics_pokemon_palettes_abra_palette:: @ 8D5A328 + .incbin "graphics/pokemon/palettes/abra_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD5A328, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_abra_back_pic:: @ 8D5A34C + .incbin "graphics/pokemon/back_pics/abra_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD5A34C, 0x02D4 + + .align 2 +gFile_graphics_pokemon_palettes_abra_shiny_palette:: @ 8D5A620 + .incbin "graphics/pokemon/palettes/abra_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD5A620, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_abra_icon:: @ 8D5A644 + .incbin "graphics/pokemon/icons/abra_icon.4bpp" + @ .incbin "baserom.gba", 0xD5A644, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_abra_footprint:: @ 8D5AA44 + .incbin "graphics/pokemon/footprints/abra_footprint.1bpp" + @ .incbin "baserom.gba", 0xD5AA44, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_kadabra_still_front_pic:: @ 8D5AA64 + .incbin "graphics/pokemon/front_pics/kadabra_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD5AA64, 0x04C8 + + .align 2 +gFile_graphics_pokemon_palettes_kadabra_palette:: @ 8D5AF2C + .incbin "graphics/pokemon/palettes/kadabra_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD5AF2C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_kadabra_back_pic:: @ 8D5AF54 + .incbin "graphics/pokemon/back_pics/kadabra_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD5AF54, 0x03AC + + .align 2 +gFile_graphics_pokemon_palettes_kadabra_shiny_palette:: @ 8D5B300 + .incbin "graphics/pokemon/palettes/kadabra_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD5B300, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_kadabra_icon:: @ 8D5B328 + .incbin "graphics/pokemon/icons/kadabra_icon.4bpp" + @ .incbin "baserom.gba", 0xD5B328, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_kadabra_footprint:: @ 8D5B728 + .incbin "graphics/pokemon/footprints/kadabra_footprint.1bpp" + @ .incbin "baserom.gba", 0xD5B728, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_alakazam_still_front_pic:: @ 8D5B748 + .incbin "graphics/pokemon/front_pics/alakazam_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD5B748, 0x0498 + + .align 2 +gFile_graphics_pokemon_palettes_alakazam_palette:: @ 8D5BBE0 + .incbin "graphics/pokemon/palettes/alakazam_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD5BBE0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_alakazam_back_pic:: @ 8D5BC08 + .incbin "graphics/pokemon/back_pics/alakazam_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD5BC08, 0x0380 + + .align 2 +gFile_graphics_pokemon_palettes_alakazam_shiny_palette:: @ 8D5BF88 + .incbin "graphics/pokemon/palettes/alakazam_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD5BF88, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_alakazam_icon:: @ 8D5BFB0 + .incbin "graphics/pokemon/icons/alakazam_icon.4bpp" + @ .incbin "baserom.gba", 0xD5BFB0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_alakazam_footprint:: @ 8D5C3B0 + .incbin "graphics/pokemon/footprints/alakazam_footprint.1bpp" + @ .incbin "baserom.gba", 0xD5C3B0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_machop_still_front_pic:: @ 8D5C3D0 + .incbin "graphics/pokemon/front_pics/machop_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD5C3D0, 0x028C + + .align 2 +gFile_graphics_pokemon_palettes_machop_palette:: @ 8D5C65C + .incbin "graphics/pokemon/palettes/machop_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD5C65C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_machop_back_pic:: @ 8D5C684 + .incbin "graphics/pokemon/back_pics/machop_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD5C684, 0x02E0 + + .align 2 +gFile_graphics_pokemon_palettes_machop_shiny_palette:: @ 8D5C964 + .incbin "graphics/pokemon/palettes/machop_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD5C964, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_machop_icon:: @ 8D5C98C + .incbin "graphics/pokemon/icons/machop_icon.4bpp" + @ .incbin "baserom.gba", 0xD5C98C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_machop_footprint:: @ 8D5CD8C + .incbin "graphics/pokemon/footprints/machop_footprint.1bpp" + @ .incbin "baserom.gba", 0xD5CD8C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_machoke_still_front_pic:: @ 8D5CDAC + .incbin "graphics/pokemon/front_pics/machoke_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD5CDAC, 0x03CC + + .align 2 +gFile_graphics_pokemon_palettes_machoke_palette:: @ 8D5D178 + .incbin "graphics/pokemon/palettes/machoke_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD5D178, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_machoke_back_pic:: @ 8D5D1A0 + .incbin "graphics/pokemon/back_pics/machoke_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD5D1A0, 0x0350 + + .align 2 +gFile_graphics_pokemon_palettes_machoke_shiny_palette:: @ 8D5D4F0 + .incbin "graphics/pokemon/palettes/machoke_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD5D4F0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_machoke_icon:: @ 8D5D518 + .incbin "graphics/pokemon/icons/machoke_icon.4bpp" + @ .incbin "baserom.gba", 0xD5D518, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_machoke_footprint:: @ 8D5D918 + .incbin "graphics/pokemon/footprints/machoke_footprint.1bpp" + @ .incbin "baserom.gba", 0xD5D918, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_machamp_still_front_pic:: @ 8D5D938 + .incbin "graphics/pokemon/front_pics/machamp_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD5D938, 0x04EC + + .align 2 +gFile_graphics_pokemon_palettes_machamp_palette:: @ 8D5DE24 + .incbin "graphics/pokemon/palettes/machamp_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD5DE24, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_machamp_back_pic:: @ 8D5DE4C + .incbin "graphics/pokemon/back_pics/machamp_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD5DE4C, 0x045C + + .align 2 +gFile_graphics_pokemon_palettes_machamp_shiny_palette:: @ 8D5E2A8 + .incbin "graphics/pokemon/palettes/machamp_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD5E2A8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_machamp_icon:: @ 8D5E2D0 + .incbin "graphics/pokemon/icons/machamp_icon.4bpp" + @ .incbin "baserom.gba", 0xD5E2D0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_machamp_footprint:: @ 8D5E6D0 + .incbin "graphics/pokemon/footprints/machamp_footprint.1bpp" + @ .incbin "baserom.gba", 0xD5E6D0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_bellsprout_still_front_pic:: @ 8D5E6F0 + .incbin "graphics/pokemon/front_pics/bellsprout_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD5E6F0, 0x028C + + .align 2 +gFile_graphics_pokemon_palettes_bellsprout_palette:: @ 8D5E97C + .incbin "graphics/pokemon/palettes/bellsprout_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD5E97C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_bellsprout_back_pic:: @ 8D5E9A4 + .incbin "graphics/pokemon/back_pics/bellsprout_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD5E9A4, 0x029C + + .align 2 +gFile_graphics_pokemon_palettes_bellsprout_shiny_palette:: @ 8D5EC40 + .incbin "graphics/pokemon/palettes/bellsprout_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD5EC40, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_bellsprout_icon:: @ 8D5EC68 + .incbin "graphics/pokemon/icons/bellsprout_icon.4bpp" + @ .incbin "baserom.gba", 0xD5EC68, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_bellsprout_footprint:: @ 8D5F068 + .incbin "graphics/pokemon/footprints/bellsprout_footprint.1bpp" + @ .incbin "baserom.gba", 0xD5F068, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_weepinbell_still_front_pic:: @ 8D5F088 + .incbin "graphics/pokemon/front_pics/weepinbell_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD5F088, 0x0324 + + .align 2 +gFile_graphics_pokemon_palettes_weepinbell_palette:: @ 8D5F3AC + .incbin "graphics/pokemon/palettes/weepinbell_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD5F3AC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_weepinbell_back_pic:: @ 8D5F3D4 + .incbin "graphics/pokemon/back_pics/weepinbell_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD5F3D4, 0x02FC + + .align 2 +gFile_graphics_pokemon_palettes_weepinbell_shiny_palette:: @ 8D5F6D0 + .incbin "graphics/pokemon/palettes/weepinbell_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD5F6D0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_weepinbell_icon:: @ 8D5F6F8 + .incbin "graphics/pokemon/icons/weepinbell_icon.4bpp" + @ .incbin "baserom.gba", 0xD5F6F8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_weepinbell_footprint:: @ 8D5FAF8 + .incbin "graphics/pokemon/footprints/weepinbell_footprint.1bpp" + @ .incbin "baserom.gba", 0xD5FAF8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_victreebel_still_front_pic:: @ 8D5FB18 + .incbin "graphics/pokemon/front_pics/victreebel_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD5FB18, 0x042C + + .align 2 +gFile_graphics_pokemon_palettes_victreebel_palette:: @ 8D5FF44 + .incbin "graphics/pokemon/palettes/victreebel_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD5FF44, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_victreebel_back_pic:: @ 8D5FF6C + .incbin "graphics/pokemon/back_pics/victreebel_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD5FF6C, 0x0398 + + .align 2 +gFile_graphics_pokemon_palettes_victreebel_shiny_palette:: @ 8D60304 + .incbin "graphics/pokemon/palettes/victreebel_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD60304, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_victreebel_icon:: @ 8D6032C + .incbin "graphics/pokemon/icons/victreebel_icon.4bpp" + @ .incbin "baserom.gba", 0xD6032C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_victreebel_footprint:: @ 8D6072C + .incbin "graphics/pokemon/footprints/victreebel_footprint.1bpp" + @ .incbin "baserom.gba", 0xD6072C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_tentacool_still_front_pic:: @ 8D6074C + .incbin "graphics/pokemon/front_pics/tentacool_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD6074C, 0x02A8 + + .align 2 +gFile_graphics_pokemon_palettes_tentacool_palette:: @ 8D609F4 + .incbin "graphics/pokemon/palettes/tentacool_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD609F4, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_tentacool_back_pic:: @ 8D60A1C + .incbin "graphics/pokemon/back_pics/tentacool_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD60A1C, 0x02CC + + .align 2 +gFile_graphics_pokemon_palettes_tentacool_shiny_palette:: @ 8D60CE8 + .incbin "graphics/pokemon/palettes/tentacool_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD60CE8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_tentacool_icon:: @ 8D60D10 + .incbin "graphics/pokemon/icons/tentacool_icon.4bpp" + @ .incbin "baserom.gba", 0xD60D10, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_tentacool_footprint:: @ 8D61110 + .incbin "graphics/pokemon/footprints/tentacool_footprint.1bpp" + @ .incbin "baserom.gba", 0xD61110, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_tentacruel_still_front_pic:: @ 8D61130 + .incbin "graphics/pokemon/front_pics/tentacruel_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD61130, 0x04F4 + + .align 2 +gFile_graphics_pokemon_palettes_tentacruel_palette:: @ 8D61624 + .incbin "graphics/pokemon/palettes/tentacruel_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD61624, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_tentacruel_back_pic:: @ 8D6164C + .incbin "graphics/pokemon/back_pics/tentacruel_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD6164C, 0x039C + + .align 2 +gFile_graphics_pokemon_palettes_tentacruel_shiny_palette:: @ 8D619E8 + .incbin "graphics/pokemon/palettes/tentacruel_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD619E8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_tentacruel_icon:: @ 8D61A10 + .incbin "graphics/pokemon/icons/tentacruel_icon.4bpp" + @ .incbin "baserom.gba", 0xD61A10, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_tentacruel_footprint:: @ 8D61E10 + .incbin "graphics/pokemon/footprints/tentacruel_footprint.1bpp" + @ .incbin "baserom.gba", 0xD61E10, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_geodude_still_front_pic:: @ 8D61E30 + .incbin "graphics/pokemon/front_pics/geodude_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD61E30, 0x0294 + + .align 2 +gFile_graphics_pokemon_palettes_geodude_palette:: @ 8D620C4 + .incbin "graphics/pokemon/palettes/geodude_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD620C4, 0x001C + + .align 2 +gFile_graphics_pokemon_back_pics_geodude_back_pic:: @ 8D620E0 + .incbin "graphics/pokemon/back_pics/geodude_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD620E0, 0x0294 + + .align 2 +gFile_graphics_pokemon_palettes_geodude_shiny_palette:: @ 8D62374 + .incbin "graphics/pokemon/palettes/geodude_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD62374, 0x001C + + .align 2 +gFile_graphics_pokemon_icons_geodude_icon:: @ 8D62390 + .incbin "graphics/pokemon/icons/geodude_icon.4bpp" + @ .incbin "baserom.gba", 0xD62390, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_geodude_footprint:: @ 8D62790 + .incbin "graphics/pokemon/footprints/geodude_footprint.1bpp" + @ .incbin "baserom.gba", 0xD62790, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_graveler_still_front_pic:: @ 8D627B0 + .incbin "graphics/pokemon/front_pics/graveler_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD627B0, 0x03FC + + .align 2 +gFile_graphics_pokemon_palettes_graveler_palette:: @ 8D62BAC + .incbin "graphics/pokemon/palettes/graveler_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD62BAC, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_graveler_back_pic:: @ 8D62BD0 + .incbin "graphics/pokemon/back_pics/graveler_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD62BD0, 0x027C + + .align 2 +gFile_graphics_pokemon_palettes_graveler_shiny_palette:: @ 8D62E4C + .incbin "graphics/pokemon/palettes/graveler_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD62E4C, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_graveler_icon:: @ 8D62E70 + .incbin "graphics/pokemon/icons/graveler_icon.4bpp" + @ .incbin "baserom.gba", 0xD62E70, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_graveler_footprint:: @ 8D63270 + .incbin "graphics/pokemon/footprints/graveler_footprint.1bpp" + @ .incbin "baserom.gba", 0xD63270, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_golem_still_front_pic:: @ 8D63290 + .incbin "graphics/pokemon/front_pics/golem_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD63290, 0x0430 + + .align 2 +gFile_graphics_pokemon_palettes_golem_palette:: @ 8D636C0 + .incbin "graphics/pokemon/palettes/golem_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD636C0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_golem_back_pic:: @ 8D636E8 + .incbin "graphics/pokemon/back_pics/golem_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD636E8, 0x02C0 + + .align 2 +gFile_graphics_pokemon_palettes_golem_shiny_palette:: @ 8D639A8 + .incbin "graphics/pokemon/palettes/golem_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD639A8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_golem_icon:: @ 8D639D0 + .incbin "graphics/pokemon/icons/golem_icon.4bpp" + @ .incbin "baserom.gba", 0xD639D0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_golem_footprint:: @ 8D63DD0 + .incbin "graphics/pokemon/footprints/golem_footprint.1bpp" + @ .incbin "baserom.gba", 0xD63DD0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_ponyta_still_front_pic:: @ 8D63DF0 + .incbin "graphics/pokemon/front_pics/ponyta_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD63DF0, 0x0390 + + .align 2 +gFile_graphics_pokemon_palettes_ponyta_palette:: @ 8D64180 + .incbin "graphics/pokemon/palettes/ponyta_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD64180, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_ponyta_back_pic:: @ 8D641A8 + .incbin "graphics/pokemon/back_pics/ponyta_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD641A8, 0x033C + + .align 2 +gFile_graphics_pokemon_palettes_ponyta_shiny_palette:: @ 8D644E4 + .incbin "graphics/pokemon/palettes/ponyta_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD644E4, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_ponyta_icon:: @ 8D6450C + .incbin "graphics/pokemon/icons/ponyta_icon.4bpp" + @ .incbin "baserom.gba", 0xD6450C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_ponyta_footprint:: @ 8D6490C + .incbin "graphics/pokemon/footprints/ponyta_footprint.1bpp" + @ .incbin "baserom.gba", 0xD6490C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_rapidash_still_front_pic:: @ 8D6492C + .incbin "graphics/pokemon/front_pics/rapidash_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD6492C, 0x0488 + + .align 2 +gFile_graphics_pokemon_palettes_rapidash_palette:: @ 8D64DB4 + .incbin "graphics/pokemon/palettes/rapidash_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD64DB4, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_rapidash_back_pic:: @ 8D64DDC + .incbin "graphics/pokemon/back_pics/rapidash_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD64DDC, 0x0410 + + .align 2 +gFile_graphics_pokemon_palettes_rapidash_shiny_palette:: @ 8D651EC + .incbin "graphics/pokemon/palettes/rapidash_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD651EC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_rapidash_icon:: @ 8D65214 + .incbin "graphics/pokemon/icons/rapidash_icon.4bpp" + @ .incbin "baserom.gba", 0xD65214, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_rapidash_footprint:: @ 8D65614 + .incbin "graphics/pokemon/footprints/rapidash_footprint.1bpp" + @ .incbin "baserom.gba", 0xD65614, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_slowpoke_still_front_pic:: @ 8D65634 + .incbin "graphics/pokemon/front_pics/slowpoke_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD65634, 0x02D4 + + .align 2 +gFile_graphics_pokemon_palettes_slowpoke_palette:: @ 8D65908 + .incbin "graphics/pokemon/palettes/slowpoke_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD65908, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_slowpoke_back_pic:: @ 8D65930 + .incbin "graphics/pokemon/back_pics/slowpoke_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD65930, 0x0264 + + .align 2 +gFile_graphics_pokemon_palettes_slowpoke_shiny_palette:: @ 8D65B94 + .incbin "graphics/pokemon/palettes/slowpoke_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD65B94, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_slowpoke_icon:: @ 8D65BBC + .incbin "graphics/pokemon/icons/slowpoke_icon.4bpp" + @ .incbin "baserom.gba", 0xD65BBC, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_slowpoke_footprint:: @ 8D65FBC + .incbin "graphics/pokemon/footprints/slowpoke_footprint.1bpp" + @ .incbin "baserom.gba", 0xD65FBC, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_slowbro_still_front_pic:: @ 8D65FDC + .incbin "graphics/pokemon/front_pics/slowbro_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD65FDC, 0x04A0 + + .align 2 +gFile_graphics_pokemon_palettes_slowbro_palette:: @ 8D6647C + .incbin "graphics/pokemon/palettes/slowbro_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD6647C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_slowbro_back_pic:: @ 8D664A4 + .incbin "graphics/pokemon/back_pics/slowbro_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD664A4, 0x039C + + .align 2 +gFile_graphics_pokemon_palettes_slowbro_shiny_palette:: @ 8D66840 + .incbin "graphics/pokemon/palettes/slowbro_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD66840, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_slowbro_icon:: @ 8D66868 + .incbin "graphics/pokemon/icons/slowbro_icon.4bpp" + @ .incbin "baserom.gba", 0xD66868, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_slowbro_footprint:: @ 8D66C68 + .incbin "graphics/pokemon/footprints/slowbro_footprint.1bpp" + @ .incbin "baserom.gba", 0xD66C68, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_magnemite_still_front_pic:: @ 8D66C88 + .incbin "graphics/pokemon/front_pics/magnemite_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD66C88, 0x01D8 + + .align 2 +gFile_graphics_pokemon_palettes_magnemite_palette:: @ 8D66E60 + .incbin "graphics/pokemon/palettes/magnemite_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD66E60, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_magnemite_back_pic:: @ 8D66E88 + .incbin "graphics/pokemon/back_pics/magnemite_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD66E88, 0x01E8 + + .align 2 +gFile_graphics_pokemon_palettes_magnemite_shiny_palette:: @ 8D67070 + .incbin "graphics/pokemon/palettes/magnemite_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD67070, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_magnemite_icon:: @ 8D67094 + .incbin "graphics/pokemon/icons/magnemite_icon.4bpp" + @ .incbin "baserom.gba", 0xD67094, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_magnemite_footprint:: @ 8D67494 + .incbin "graphics/pokemon/footprints/magnemite_footprint.1bpp" + @ .incbin "baserom.gba", 0xD67494, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_magneton_still_front_pic:: @ 8D674B4 + .incbin "graphics/pokemon/front_pics/magneton_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD674B4, 0x033C + + .align 2 +gFile_graphics_pokemon_palettes_magneton_palette:: @ 8D677F0 + .incbin "graphics/pokemon/palettes/magneton_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD677F0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_magneton_back_pic:: @ 8D67818 + .incbin "graphics/pokemon/back_pics/magneton_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD67818, 0x0380 + + .align 2 +gFile_graphics_pokemon_palettes_magneton_shiny_palette:: @ 8D67B98 + .incbin "graphics/pokemon/palettes/magneton_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD67B98, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_magneton_icon:: @ 8D67BC0 + .incbin "graphics/pokemon/icons/magneton_icon.4bpp" + @ .incbin "baserom.gba", 0xD67BC0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_magneton_footprint:: @ 8D67FC0 + .incbin "graphics/pokemon/footprints/magneton_footprint.1bpp" + @ .incbin "baserom.gba", 0xD67FC0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_farfetch_d_still_front_pic:: @ 8D67FE0 + .incbin "graphics/pokemon/front_pics/farfetch_d_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD67FE0, 0x0354 + + .align 2 +gFile_graphics_pokemon_palettes_farfetch_d_palette:: @ 8D68334 + .incbin "graphics/pokemon/palettes/farfetch_d_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD68334, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_farfetch_d_back_pic:: @ 8D6835C + .incbin "graphics/pokemon/back_pics/farfetch_d_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD6835C, 0x036C + + .align 2 +gFile_graphics_pokemon_palettes_farfetch_d_shiny_palette:: @ 8D686C8 + .incbin "graphics/pokemon/palettes/farfetch_d_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD686C8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_farfetch_d_icon:: @ 8D686F0 + .incbin "graphics/pokemon/icons/farfetch_d_icon.4bpp" + @ .incbin "baserom.gba", 0xD686F0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_farfetch_d_footprint:: @ 8D68AF0 + .incbin "graphics/pokemon/footprints/farfetch_d_footprint.1bpp" + @ .incbin "baserom.gba", 0xD68AF0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_doduo_still_front_pic:: @ 8D68B10 + .incbin "graphics/pokemon/front_pics/doduo_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD68B10, 0x02EC + + .align 2 +gFile_graphics_pokemon_palettes_doduo_palette:: @ 8D68DFC + .incbin "graphics/pokemon/palettes/doduo_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD68DFC, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_doduo_back_pic:: @ 8D68E20 + .incbin "graphics/pokemon/back_pics/doduo_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD68E20, 0x0318 + + .align 2 +gFile_graphics_pokemon_palettes_doduo_shiny_palette:: @ 8D69138 + .incbin "graphics/pokemon/palettes/doduo_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD69138, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_doduo_icon:: @ 8D6915C + .incbin "graphics/pokemon/icons/doduo_icon.4bpp" + @ .incbin "baserom.gba", 0xD6915C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_doduo_footprint:: @ 8D6955C + .incbin "graphics/pokemon/footprints/doduo_footprint.1bpp" + @ .incbin "baserom.gba", 0xD6955C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_dodrio_still_front_pic:: @ 8D6957C + .incbin "graphics/pokemon/front_pics/dodrio_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD6957C, 0x0440 + + .align 2 +gFile_graphics_pokemon_palettes_dodrio_palette:: @ 8D699BC + .incbin "graphics/pokemon/palettes/dodrio_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD699BC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_dodrio_back_pic:: @ 8D699E4 + .incbin "graphics/pokemon/back_pics/dodrio_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD699E4, 0x0464 + + .align 2 +gFile_graphics_pokemon_palettes_dodrio_shiny_palette:: @ 8D69E48 + .incbin "graphics/pokemon/palettes/dodrio_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD69E48, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_dodrio_icon:: @ 8D69E70 + .incbin "graphics/pokemon/icons/dodrio_icon.4bpp" + @ .incbin "baserom.gba", 0xD69E70, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_dodrio_footprint:: @ 8D6A270 + .incbin "graphics/pokemon/footprints/dodrio_footprint.1bpp" + @ .incbin "baserom.gba", 0xD6A270, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_seel_still_front_pic:: @ 8D6A290 + .incbin "graphics/pokemon/front_pics/seel_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD6A290, 0x0324 + + .align 2 +gFile_graphics_pokemon_palettes_seel_palette:: @ 8D6A5B4 + .incbin "graphics/pokemon/palettes/seel_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD6A5B4, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_seel_back_pic:: @ 8D6A5DC + .incbin "graphics/pokemon/back_pics/seel_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD6A5DC, 0x02EC + + .align 2 +gFile_graphics_pokemon_palettes_seel_shiny_palette:: @ 8D6A8C8 + .incbin "graphics/pokemon/palettes/seel_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD6A8C8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_seel_icon:: @ 8D6A8F0 + .incbin "graphics/pokemon/icons/seel_icon.4bpp" + @ .incbin "baserom.gba", 0xD6A8F0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_seel_footprint:: @ 8D6ACF0 + .incbin "graphics/pokemon/footprints/seel_footprint.1bpp" + @ .incbin "baserom.gba", 0xD6ACF0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_dewgong_still_front_pic:: @ 8D6AD10 + .incbin "graphics/pokemon/front_pics/dewgong_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD6AD10, 0x03D0 + + .align 2 +gFile_graphics_pokemon_palettes_dewgong_palette:: @ 8D6B0E0 + .incbin "graphics/pokemon/palettes/dewgong_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD6B0E0, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_dewgong_back_pic:: @ 8D6B104 + .incbin "graphics/pokemon/back_pics/dewgong_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD6B104, 0x0294 + + .align 2 +gFile_graphics_pokemon_palettes_dewgong_shiny_palette:: @ 8D6B398 + .incbin "graphics/pokemon/palettes/dewgong_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD6B398, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_dewgong_icon:: @ 8D6B3BC + .incbin "graphics/pokemon/icons/dewgong_icon.4bpp" + @ .incbin "baserom.gba", 0xD6B3BC, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_dewgong_footprint:: @ 8D6B7BC + .incbin "graphics/pokemon/footprints/dewgong_footprint.1bpp" + @ .incbin "baserom.gba", 0xD6B7BC, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_grimer_still_front_pic:: @ 8D6B7DC + .incbin "graphics/pokemon/front_pics/grimer_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD6B7DC, 0x0328 + + .align 2 +gFile_graphics_pokemon_palettes_grimer_palette:: @ 8D6BB04 + .incbin "graphics/pokemon/palettes/grimer_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD6BB04, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_grimer_back_pic:: @ 8D6BB28 + .incbin "graphics/pokemon/back_pics/grimer_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD6BB28, 0x02C4 + + .align 2 +gFile_graphics_pokemon_palettes_grimer_shiny_palette:: @ 8D6BDEC + .incbin "graphics/pokemon/palettes/grimer_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD6BDEC, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_grimer_icon:: @ 8D6BE10 + .incbin "graphics/pokemon/icons/grimer_icon.4bpp" + @ .incbin "baserom.gba", 0xD6BE10, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_grimer_footprint:: @ 8D6C210 + .incbin "graphics/pokemon/footprints/grimer_footprint.1bpp" + @ .incbin "baserom.gba", 0xD6C210, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_muk_still_front_pic:: @ 8D6C230 + .incbin "graphics/pokemon/front_pics/muk_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD6C230, 0x0390 + + .align 2 +gFile_graphics_pokemon_palettes_muk_palette:: @ 8D6C5C0 + .incbin "graphics/pokemon/palettes/muk_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD6C5C0, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_muk_back_pic:: @ 8D6C5E4 + .incbin "graphics/pokemon/back_pics/muk_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD6C5E4, 0x02F8 + + .align 2 +gFile_graphics_pokemon_palettes_muk_shiny_palette:: @ 8D6C8DC + .incbin "graphics/pokemon/palettes/muk_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD6C8DC, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_muk_icon:: @ 8D6C900 + .incbin "graphics/pokemon/icons/muk_icon.4bpp" + @ .incbin "baserom.gba", 0xD6C900, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_muk_footprint:: @ 8D6CD00 + .incbin "graphics/pokemon/footprints/muk_footprint.1bpp" + @ .incbin "baserom.gba", 0xD6CD00, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_shellder_still_front_pic:: @ 8D6CD20 + .incbin "graphics/pokemon/front_pics/shellder_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD6CD20, 0x0274 + + .align 2 +gFile_graphics_pokemon_palettes_shellder_palette:: @ 8D6CF94 + .incbin "graphics/pokemon/palettes/shellder_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD6CF94, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_shellder_back_pic:: @ 8D6CFB8 + .incbin "graphics/pokemon/back_pics/shellder_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD6CFB8, 0x0314 + + .align 2 +gFile_graphics_pokemon_palettes_shellder_shiny_palette:: @ 8D6D2CC + .incbin "graphics/pokemon/palettes/shellder_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD6D2CC, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_shellder_icon:: @ 8D6D2F0 + .incbin "graphics/pokemon/icons/shellder_icon.4bpp" + @ .incbin "baserom.gba", 0xD6D2F0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_shellder_footprint:: @ 8D6D6F0 + .incbin "graphics/pokemon/footprints/shellder_footprint.1bpp" + @ .incbin "baserom.gba", 0xD6D6F0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_cloyster_still_front_pic:: @ 8D6D710 + .incbin "graphics/pokemon/front_pics/cloyster_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD6D710, 0x043C + + .align 2 +gFile_graphics_pokemon_palettes_cloyster_palette:: @ 8D6DB4C + .incbin "graphics/pokemon/palettes/cloyster_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD6DB4C, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_cloyster_back_pic:: @ 8D6DB70 + .incbin "graphics/pokemon/back_pics/cloyster_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD6DB70, 0x040C + + .align 2 +gFile_graphics_pokemon_palettes_cloyster_shiny_palette:: @ 8D6DF7C + .incbin "graphics/pokemon/palettes/cloyster_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD6DF7C, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_cloyster_icon:: @ 8D6DFA0 + .incbin "graphics/pokemon/icons/cloyster_icon.4bpp" + @ .incbin "baserom.gba", 0xD6DFA0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_cloyster_footprint:: @ 8D6E3A0 + .incbin "graphics/pokemon/footprints/cloyster_footprint.1bpp" + @ .incbin "baserom.gba", 0xD6E3A0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_gastly_still_front_pic:: @ 8D6E3C0 + .incbin "graphics/pokemon/front_pics/gastly_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD6E3C0, 0x03B8 + + .align 2 +gFile_graphics_pokemon_palettes_gastly_palette:: @ 8D6E778 + .incbin "graphics/pokemon/palettes/gastly_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD6E778, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_gastly_back_pic:: @ 8D6E7A0 + .incbin "graphics/pokemon/back_pics/gastly_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD6E7A0, 0x0324 + + .align 2 +gFile_graphics_pokemon_palettes_gastly_shiny_palette:: @ 8D6EAC4 + .incbin "graphics/pokemon/palettes/gastly_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD6EAC4, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_gastly_icon:: @ 8D6EAEC + .incbin "graphics/pokemon/icons/gastly_icon.4bpp" + @ .incbin "baserom.gba", 0xD6EAEC, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_gastly_footprint:: @ 8D6EEEC + .incbin "graphics/pokemon/footprints/gastly_footprint.1bpp" + @ .incbin "baserom.gba", 0xD6EEEC, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_haunter_still_front_pic:: @ 8D6EF0C + .incbin "graphics/pokemon/front_pics/haunter_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD6EF0C, 0x03E8 + + .align 2 +gFile_graphics_pokemon_palettes_haunter_palette:: @ 8D6F2F4 + .incbin "graphics/pokemon/palettes/haunter_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD6F2F4, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_haunter_back_pic:: @ 8D6F318 + .incbin "graphics/pokemon/back_pics/haunter_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD6F318, 0x02E4 + + .align 2 +gFile_graphics_pokemon_palettes_haunter_shiny_palette:: @ 8D6F5FC + .incbin "graphics/pokemon/palettes/haunter_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD6F5FC, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_haunter_icon:: @ 8D6F620 + .incbin "graphics/pokemon/icons/haunter_icon.4bpp" + @ .incbin "baserom.gba", 0xD6F620, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_haunter_footprint:: @ 8D6FA20 + .incbin "graphics/pokemon/footprints/haunter_footprint.1bpp" + @ .incbin "baserom.gba", 0xD6FA20, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_gengar_still_front_pic:: @ 8D6FA40 + .incbin "graphics/pokemon/front_pics/gengar_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD6FA40, 0x035C + + .align 2 +gFile_graphics_pokemon_palettes_gengar_palette:: @ 8D6FD9C + .incbin "graphics/pokemon/palettes/gengar_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD6FD9C, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_gengar_back_pic:: @ 8D6FDC0 + .incbin "graphics/pokemon/back_pics/gengar_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD6FDC0, 0x0344 + + .align 2 +gFile_graphics_pokemon_palettes_gengar_shiny_palette:: @ 8D70104 + .incbin "graphics/pokemon/palettes/gengar_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD70104, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_gengar_icon:: @ 8D70128 + .incbin "graphics/pokemon/icons/gengar_icon.4bpp" + @ .incbin "baserom.gba", 0xD70128, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_gengar_footprint:: @ 8D70528 + .incbin "graphics/pokemon/footprints/gengar_footprint.1bpp" + @ .incbin "baserom.gba", 0xD70528, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_onix_still_front_pic:: @ 8D70548 + .incbin "graphics/pokemon/front_pics/onix_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD70548, 0x04D0 + + .align 2 +gFile_graphics_pokemon_palettes_onix_palette:: @ 8D70A18 + .incbin "graphics/pokemon/palettes/onix_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD70A18, 0x001C + + .align 2 +gFile_graphics_pokemon_back_pics_onix_back_pic:: @ 8D70A34 + .incbin "graphics/pokemon/back_pics/onix_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD70A34, 0x037C + + .align 2 +gFile_graphics_pokemon_palettes_onix_shiny_palette:: @ 8D70DB0 + .incbin "graphics/pokemon/palettes/onix_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD70DB0, 0x001C + + .align 2 +gFile_graphics_pokemon_icons_onix_icon:: @ 8D70DCC + .incbin "graphics/pokemon/icons/onix_icon.4bpp" + @ .incbin "baserom.gba", 0xD70DCC, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_onix_footprint:: @ 8D711CC + .incbin "graphics/pokemon/footprints/onix_footprint.1bpp" + @ .incbin "baserom.gba", 0xD711CC, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_drowzee_still_front_pic:: @ 8D711EC + .incbin "graphics/pokemon/front_pics/drowzee_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD711EC, 0x0340 + + .align 2 +gFile_graphics_pokemon_palettes_drowzee_palette:: @ 8D7152C + .incbin "graphics/pokemon/palettes/drowzee_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD7152C, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_drowzee_back_pic:: @ 8D71550 + .incbin "graphics/pokemon/back_pics/drowzee_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD71550, 0x023C + + .align 2 +gFile_graphics_pokemon_palettes_drowzee_shiny_palette:: @ 8D7178C + .incbin "graphics/pokemon/palettes/drowzee_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD7178C, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_drowzee_icon:: @ 8D717B0 + .incbin "graphics/pokemon/icons/drowzee_icon.4bpp" + @ .incbin "baserom.gba", 0xD717B0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_drowzee_footprint:: @ 8D71BB0 + .incbin "graphics/pokemon/footprints/drowzee_footprint.1bpp" + @ .incbin "baserom.gba", 0xD71BB0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_hypno_still_front_pic:: @ 8D71BD0 + .incbin "graphics/pokemon/front_pics/hypno_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD71BD0, 0x0438 + + .align 2 +gFile_graphics_pokemon_palettes_hypno_palette:: @ 8D72008 + .incbin "graphics/pokemon/palettes/hypno_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD72008, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_hypno_back_pic:: @ 8D7202C + .incbin "graphics/pokemon/back_pics/hypno_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD7202C, 0x0330 + + .align 2 +gFile_graphics_pokemon_palettes_hypno_shiny_palette:: @ 8D7235C + .incbin "graphics/pokemon/palettes/hypno_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD7235C, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_hypno_icon:: @ 8D72380 + .incbin "graphics/pokemon/icons/hypno_icon.4bpp" + @ .incbin "baserom.gba", 0xD72380, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_hypno_footprint:: @ 8D72780 + .incbin "graphics/pokemon/footprints/hypno_footprint.1bpp" + @ .incbin "baserom.gba", 0xD72780, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_krabby_still_front_pic:: @ 8D727A0 + .incbin "graphics/pokemon/front_pics/krabby_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD727A0, 0x0324 + + .align 2 +gFile_graphics_pokemon_palettes_krabby_palette:: @ 8D72AC4 + .incbin "graphics/pokemon/palettes/krabby_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD72AC4, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_krabby_back_pic:: @ 8D72AEC + .incbin "graphics/pokemon/back_pics/krabby_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD72AEC, 0x038C + + .align 2 +gFile_graphics_pokemon_palettes_krabby_shiny_palette:: @ 8D72E78 + .incbin "graphics/pokemon/palettes/krabby_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD72E78, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_krabby_icon:: @ 8D72EA0 + .incbin "graphics/pokemon/icons/krabby_icon.4bpp" + @ .incbin "baserom.gba", 0xD72EA0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_krabby_footprint:: @ 8D732A0 + .incbin "graphics/pokemon/footprints/krabby_footprint.1bpp" + @ .incbin "baserom.gba", 0xD732A0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_kingler_still_front_pic:: @ 8D732C0 + .incbin "graphics/pokemon/front_pics/kingler_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD732C0, 0x0480 + + .align 2 +gFile_graphics_pokemon_palettes_kingler_palette:: @ 8D73740 + .incbin "graphics/pokemon/palettes/kingler_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD73740, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_kingler_back_pic:: @ 8D73768 + .incbin "graphics/pokemon/back_pics/kingler_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD73768, 0x0384 + + .align 2 +gFile_graphics_pokemon_palettes_kingler_shiny_palette:: @ 8D73AEC + .incbin "graphics/pokemon/palettes/kingler_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD73AEC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_kingler_icon:: @ 8D73B14 + .incbin "graphics/pokemon/icons/kingler_icon.4bpp" + @ .incbin "baserom.gba", 0xD73B14, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_kingler_footprint:: @ 8D73F14 + .incbin "graphics/pokemon/footprints/kingler_footprint.1bpp" + @ .incbin "baserom.gba", 0xD73F14, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_voltorb_still_front_pic:: @ 8D73F34 + .incbin "graphics/pokemon/front_pics/voltorb_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD73F34, 0x0208 + + .align 2 +gFile_graphics_pokemon_palettes_voltorb_palette:: @ 8D7413C + .incbin "graphics/pokemon/palettes/voltorb_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD7413C, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_voltorb_back_pic:: @ 8D74160 + .incbin "graphics/pokemon/back_pics/voltorb_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD74160, 0x0274 + + .align 2 +gFile_graphics_pokemon_palettes_voltorb_shiny_palette:: @ 8D743D4 + .incbin "graphics/pokemon/palettes/voltorb_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD743D4, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_voltorb_icon:: @ 8D743F8 + .incbin "graphics/pokemon/icons/voltorb_icon.4bpp" + @ .incbin "baserom.gba", 0xD743F8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_voltorb_footprint:: @ 8D747F8 + .incbin "graphics/pokemon/footprints/voltorb_footprint.1bpp" + @ .incbin "baserom.gba", 0xD747F8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_electrode_still_front_pic:: @ 8D74818 + .incbin "graphics/pokemon/front_pics/electrode_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD74818, 0x026C + + .align 2 +gFile_graphics_pokemon_palettes_electrode_palette:: @ 8D74A84 + .incbin "graphics/pokemon/palettes/electrode_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD74A84, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_electrode_back_pic:: @ 8D74AA8 + .incbin "graphics/pokemon/back_pics/electrode_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD74AA8, 0x0270 + + .align 2 +gFile_graphics_pokemon_palettes_electrode_shiny_palette:: @ 8D74D18 + .incbin "graphics/pokemon/palettes/electrode_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD74D18, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_electrode_icon:: @ 8D74D3C + .incbin "graphics/pokemon/icons/electrode_icon.4bpp" + @ .incbin "baserom.gba", 0xD74D3C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_electrode_footprint:: @ 8D7513C + .incbin "graphics/pokemon/footprints/electrode_footprint.1bpp" + @ .incbin "baserom.gba", 0xD7513C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_exeggcute_still_front_pic:: @ 8D7515C + .incbin "graphics/pokemon/front_pics/exeggcute_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD7515C, 0x0390 + + .align 2 +gFile_graphics_pokemon_palettes_exeggcute_palette:: @ 8D754EC + .incbin "graphics/pokemon/palettes/exeggcute_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD754EC, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_exeggcute_back_pic:: @ 8D75510 + .incbin "graphics/pokemon/back_pics/exeggcute_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD75510, 0x0308 + + .align 2 +gFile_graphics_pokemon_palettes_exeggcute_shiny_palette:: @ 8D75818 + .incbin "graphics/pokemon/palettes/exeggcute_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD75818, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_exeggcute_icon:: @ 8D7583C + .incbin "graphics/pokemon/icons/exeggcute_icon.4bpp" + @ .incbin "baserom.gba", 0xD7583C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_exeggcute_footprint:: @ 8D75C3C + .incbin "graphics/pokemon/footprints/exeggcute_footprint.1bpp" + @ .incbin "baserom.gba", 0xD75C3C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_exeggutor_still_front_pic:: @ 8D75C5C + .incbin "graphics/pokemon/front_pics/exeggutor_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD75C5C, 0x0450 + + .align 2 +gFile_graphics_pokemon_palettes_exeggutor_palette:: @ 8D760AC + .incbin "graphics/pokemon/palettes/exeggutor_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD760AC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_exeggutor_back_pic:: @ 8D760D4 + .incbin "graphics/pokemon/back_pics/exeggutor_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD760D4, 0x03CC + + .align 2 +gFile_graphics_pokemon_palettes_exeggutor_shiny_palette:: @ 8D764A0 + .incbin "graphics/pokemon/palettes/exeggutor_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD764A0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_exeggutor_icon:: @ 8D764C8 + .incbin "graphics/pokemon/icons/exeggutor_icon.4bpp" + @ .incbin "baserom.gba", 0xD764C8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_exeggutor_footprint:: @ 8D768C8 + .incbin "graphics/pokemon/footprints/exeggutor_footprint.1bpp" + @ .incbin "baserom.gba", 0xD768C8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_cubone_still_front_pic:: @ 8D768E8 + .incbin "graphics/pokemon/front_pics/cubone_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD768E8, 0x02BC + + .align 2 +gFile_graphics_pokemon_palettes_cubone_palette:: @ 8D76BA4 + .incbin "graphics/pokemon/palettes/cubone_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD76BA4, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_cubone_back_pic:: @ 8D76BCC + .incbin "graphics/pokemon/back_pics/cubone_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD76BCC, 0x0340 + + .align 2 +gFile_graphics_pokemon_palettes_cubone_shiny_palette:: @ 8D76F0C + .incbin "graphics/pokemon/palettes/cubone_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD76F0C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_cubone_icon:: @ 8D76F34 + .incbin "graphics/pokemon/icons/cubone_icon.4bpp" + @ .incbin "baserom.gba", 0xD76F34, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_cubone_footprint:: @ 8D77334 + .incbin "graphics/pokemon/footprints/cubone_footprint.1bpp" + @ .incbin "baserom.gba", 0xD77334, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_marowak_still_front_pic:: @ 8D77354 + .incbin "graphics/pokemon/front_pics/marowak_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD77354, 0x0380 + + .align 2 +gFile_graphics_pokemon_palettes_marowak_palette:: @ 8D776D4 + .incbin "graphics/pokemon/palettes/marowak_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD776D4, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_marowak_back_pic:: @ 8D776FC + .incbin "graphics/pokemon/back_pics/marowak_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD776FC, 0x0314 + + .align 2 +gFile_graphics_pokemon_palettes_marowak_shiny_palette:: @ 8D77A10 + .incbin "graphics/pokemon/palettes/marowak_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD77A10, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_marowak_icon:: @ 8D77A38 + .incbin "graphics/pokemon/icons/marowak_icon.4bpp" + @ .incbin "baserom.gba", 0xD77A38, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_marowak_footprint:: @ 8D77E38 + .incbin "graphics/pokemon/footprints/marowak_footprint.1bpp" + @ .incbin "baserom.gba", 0xD77E38, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_hitmonlee_still_front_pic:: @ 8D77E58 + .incbin "graphics/pokemon/front_pics/hitmonlee_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD77E58, 0x0374 + + .align 2 +gFile_graphics_pokemon_palettes_hitmonlee_palette:: @ 8D781CC + .incbin "graphics/pokemon/palettes/hitmonlee_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD781CC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_hitmonlee_back_pic:: @ 8D781F4 + .incbin "graphics/pokemon/back_pics/hitmonlee_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD781F4, 0x02A4 + + .align 2 +gFile_graphics_pokemon_palettes_hitmonlee_shiny_palette:: @ 8D78498 + .incbin "graphics/pokemon/palettes/hitmonlee_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD78498, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_hitmonlee_icon:: @ 8D784C0 + .incbin "graphics/pokemon/icons/hitmonlee_icon.4bpp" + @ .incbin "baserom.gba", 0xD784C0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_hitmonlee_footprint:: @ 8D788C0 + .incbin "graphics/pokemon/footprints/hitmonlee_footprint.1bpp" + @ .incbin "baserom.gba", 0xD788C0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_hitmonchan_still_front_pic:: @ 8D788E0 + .incbin "graphics/pokemon/front_pics/hitmonchan_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD788E0, 0x0340 + + .align 2 +gFile_graphics_pokemon_palettes_hitmonchan_palette:: @ 8D78C20 + .incbin "graphics/pokemon/palettes/hitmonchan_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD78C20, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_hitmonchan_back_pic:: @ 8D78C48 + .incbin "graphics/pokemon/back_pics/hitmonchan_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD78C48, 0x0344 + + .align 2 +gFile_graphics_pokemon_palettes_hitmonchan_shiny_palette:: @ 8D78F8C + .incbin "graphics/pokemon/palettes/hitmonchan_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD78F8C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_hitmonchan_icon:: @ 8D78FB4 + .incbin "graphics/pokemon/icons/hitmonchan_icon.4bpp" + @ .incbin "baserom.gba", 0xD78FB4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_hitmonchan_footprint:: @ 8D793B4 + .incbin "graphics/pokemon/footprints/hitmonchan_footprint.1bpp" + @ .incbin "baserom.gba", 0xD793B4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_lickitung_still_front_pic:: @ 8D793D4 + .incbin "graphics/pokemon/front_pics/lickitung_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD793D4, 0x03D8 + + .align 2 +gFile_graphics_pokemon_palettes_lickitung_palette:: @ 8D797AC + .incbin "graphics/pokemon/palettes/lickitung_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD797AC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_lickitung_back_pic:: @ 8D797D4 + .incbin "graphics/pokemon/back_pics/lickitung_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD797D4, 0x02A4 + + .align 2 +gFile_graphics_pokemon_palettes_lickitung_shiny_palette:: @ 8D79A78 + .incbin "graphics/pokemon/palettes/lickitung_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD79A78, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_lickitung_icon:: @ 8D79AA0 + .incbin "graphics/pokemon/icons/lickitung_icon.4bpp" + @ .incbin "baserom.gba", 0xD79AA0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_lickitung_footprint:: @ 8D79EA0 + .incbin "graphics/pokemon/footprints/lickitung_footprint.1bpp" + @ .incbin "baserom.gba", 0xD79EA0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_koffing_still_front_pic:: @ 8D79EC0 + .incbin "graphics/pokemon/front_pics/koffing_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD79EC0, 0x0300 + + .align 2 +gFile_graphics_pokemon_palettes_koffing_palette:: @ 8D7A1C0 + .incbin "graphics/pokemon/palettes/koffing_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD7A1C0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_koffing_back_pic:: @ 8D7A1E8 + .incbin "graphics/pokemon/back_pics/koffing_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD7A1E8, 0x0300 + + .align 2 +gFile_graphics_pokemon_palettes_koffing_shiny_palette:: @ 8D7A4E8 + .incbin "graphics/pokemon/palettes/koffing_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD7A4E8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_koffing_icon:: @ 8D7A510 + .incbin "graphics/pokemon/icons/koffing_icon.4bpp" + @ .incbin "baserom.gba", 0xD7A510, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_koffing_footprint:: @ 8D7A910 + .incbin "graphics/pokemon/footprints/koffing_footprint.1bpp" + @ .incbin "baserom.gba", 0xD7A910, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_weezing_still_front_pic:: @ 8D7A930 + .incbin "graphics/pokemon/front_pics/weezing_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD7A930, 0x04BC + + .align 2 +gFile_graphics_pokemon_palettes_weezing_palette:: @ 8D7ADEC + .incbin "graphics/pokemon/palettes/weezing_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD7ADEC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_weezing_back_pic:: @ 8D7AE14 + .incbin "graphics/pokemon/back_pics/weezing_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD7AE14, 0x0384 + + .align 2 +gFile_graphics_pokemon_palettes_weezing_shiny_palette:: @ 8D7B198 + .incbin "graphics/pokemon/palettes/weezing_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD7B198, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_weezing_icon:: @ 8D7B1C0 + .incbin "graphics/pokemon/icons/weezing_icon.4bpp" + @ .incbin "baserom.gba", 0xD7B1C0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_weezing_footprint:: @ 8D7B5C0 + .incbin "graphics/pokemon/footprints/weezing_footprint.1bpp" + @ .incbin "baserom.gba", 0xD7B5C0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_rhyhorn_still_front_pic:: @ 8D7B5E0 + .incbin "graphics/pokemon/front_pics/rhyhorn_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD7B5E0, 0x03FC + + .align 2 +gFile_graphics_pokemon_palettes_rhyhorn_palette:: @ 8D7B9DC + .incbin "graphics/pokemon/palettes/rhyhorn_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD7B9DC, 0x0020 + + .align 2 +gFile_graphics_pokemon_back_pics_rhyhorn_back_pic:: @ 8D7B9FC + .incbin "graphics/pokemon/back_pics/rhyhorn_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD7B9FC, 0x0348 + + .align 2 +gFile_graphics_pokemon_palettes_rhyhorn_shiny_palette:: @ 8D7BD44 + .incbin "graphics/pokemon/palettes/rhyhorn_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD7BD44, 0x0020 + + .align 2 +gFile_graphics_pokemon_icons_rhyhorn_icon:: @ 8D7BD64 + .incbin "graphics/pokemon/icons/rhyhorn_icon.4bpp" + @ .incbin "baserom.gba", 0xD7BD64, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_rhyhorn_footprint:: @ 8D7C164 + .incbin "graphics/pokemon/footprints/rhyhorn_footprint.1bpp" + @ .incbin "baserom.gba", 0xD7C164, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_rhydon_still_front_pic:: @ 8D7C184 + .incbin "graphics/pokemon/front_pics/rhydon_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD7C184, 0x04F4 + + .align 2 +gFile_graphics_pokemon_palettes_rhydon_palette:: @ 8D7C678 + .incbin "graphics/pokemon/palettes/rhydon_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD7C678, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_rhydon_back_pic:: @ 8D7C6A0 + .incbin "graphics/pokemon/back_pics/rhydon_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD7C6A0, 0x0450 + + .align 2 +gFile_graphics_pokemon_palettes_rhydon_shiny_palette:: @ 8D7CAF0 + .incbin "graphics/pokemon/palettes/rhydon_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD7CAF0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_rhydon_icon:: @ 8D7CB18 + .incbin "graphics/pokemon/icons/rhydon_icon.4bpp" + @ .incbin "baserom.gba", 0xD7CB18, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_rhydon_footprint:: @ 8D7CF18 + .incbin "graphics/pokemon/footprints/rhydon_footprint.1bpp" + @ .incbin "baserom.gba", 0xD7CF18, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_chansey_still_front_pic:: @ 8D7CF38 + .incbin "graphics/pokemon/front_pics/chansey_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD7CF38, 0x033C + + .align 2 +gFile_graphics_pokemon_palettes_chansey_palette:: @ 8D7D274 + .incbin "graphics/pokemon/palettes/chansey_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD7D274, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_chansey_back_pic:: @ 8D7D298 + .incbin "graphics/pokemon/back_pics/chansey_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD7D298, 0x0250 + + .align 2 +gFile_graphics_pokemon_palettes_chansey_shiny_palette:: @ 8D7D4E8 + .incbin "graphics/pokemon/palettes/chansey_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD7D4E8, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_chansey_icon:: @ 8D7D50C + .incbin "graphics/pokemon/icons/chansey_icon.4bpp" + @ .incbin "baserom.gba", 0xD7D50C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_chansey_footprint:: @ 8D7D90C + .incbin "graphics/pokemon/footprints/chansey_footprint.1bpp" + @ .incbin "baserom.gba", 0xD7D90C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_tangela_still_front_pic:: @ 8D7D92C + .incbin "graphics/pokemon/front_pics/tangela_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD7D92C, 0x03D4 + + .align 2 +gFile_graphics_pokemon_palettes_tangela_palette:: @ 8D7DD00 + .incbin "graphics/pokemon/palettes/tangela_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD7DD00, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_tangela_back_pic:: @ 8D7DD24 + .incbin "graphics/pokemon/back_pics/tangela_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD7DD24, 0x03AC + + .align 2 +gFile_graphics_pokemon_palettes_tangela_shiny_palette:: @ 8D7E0D0 + .incbin "graphics/pokemon/palettes/tangela_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD7E0D0, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_tangela_icon:: @ 8D7E0F4 + .incbin "graphics/pokemon/icons/tangela_icon.4bpp" + @ .incbin "baserom.gba", 0xD7E0F4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_tangela_footprint:: @ 8D7E4F4 + .incbin "graphics/pokemon/footprints/tangela_footprint.1bpp" + @ .incbin "baserom.gba", 0xD7E4F4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_kangaskhan_still_front_pic:: @ 8D7E514 + .incbin "graphics/pokemon/front_pics/kangaskhan_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD7E514, 0x04A8 + + .align 2 +gFile_graphics_pokemon_palettes_kangaskhan_palette:: @ 8D7E9BC + .incbin "graphics/pokemon/palettes/kangaskhan_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD7E9BC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_kangaskhan_back_pic:: @ 8D7E9E4 + .incbin "graphics/pokemon/back_pics/kangaskhan_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD7E9E4, 0x0430 + + .align 2 +gFile_graphics_pokemon_palettes_kangaskhan_shiny_palette:: @ 8D7EE14 + .incbin "graphics/pokemon/palettes/kangaskhan_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD7EE14, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_kangaskhan_icon:: @ 8D7EE3C + .incbin "graphics/pokemon/icons/kangaskhan_icon.4bpp" + @ .incbin "baserom.gba", 0xD7EE3C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_kangaskhan_footprint:: @ 8D7F23C + .incbin "graphics/pokemon/footprints/kangaskhan_footprint.1bpp" + @ .incbin "baserom.gba", 0xD7F23C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_horsea_still_front_pic:: @ 8D7F25C + .incbin "graphics/pokemon/front_pics/horsea_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD7F25C, 0x026C + + .align 2 +gFile_graphics_pokemon_palettes_horsea_palette:: @ 8D7F4C8 + .incbin "graphics/pokemon/palettes/horsea_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD7F4C8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_horsea_back_pic:: @ 8D7F4F0 + .incbin "graphics/pokemon/back_pics/horsea_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD7F4F0, 0x02E0 + + .align 2 +gFile_graphics_pokemon_palettes_horsea_shiny_palette:: @ 8D7F7D0 + .incbin "graphics/pokemon/palettes/horsea_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD7F7D0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_horsea_icon:: @ 8D7F7F8 + .incbin "graphics/pokemon/icons/horsea_icon.4bpp" + @ .incbin "baserom.gba", 0xD7F7F8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_horsea_footprint:: @ 8D7FBF8 + .incbin "graphics/pokemon/footprints/horsea_footprint.1bpp" + @ .incbin "baserom.gba", 0xD7FBF8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_seadra_still_front_pic:: @ 8D7FC18 + .incbin "graphics/pokemon/front_pics/seadra_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD7FC18, 0x0388 + + .align 2 +gFile_graphics_pokemon_palettes_seadra_palette:: @ 8D7FFA0 + .incbin "graphics/pokemon/palettes/seadra_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD7FFA0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_seadra_back_pic:: @ 8D7FFC8 + .incbin "graphics/pokemon/back_pics/seadra_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD7FFC8, 0x03A0 + + .align 2 +gFile_graphics_pokemon_palettes_seadra_shiny_palette:: @ 8D80368 + .incbin "graphics/pokemon/palettes/seadra_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD80368, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_seadra_icon:: @ 8D80390 + .incbin "graphics/pokemon/icons/seadra_icon.4bpp" + @ .incbin "baserom.gba", 0xD80390, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_seadra_footprint:: @ 8D80790 + .incbin "graphics/pokemon/footprints/seadra_footprint.1bpp" + @ .incbin "baserom.gba", 0xD80790, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_goldeen_still_front_pic:: @ 8D807B0 + .incbin "graphics/pokemon/front_pics/goldeen_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD807B0, 0x0368 + + .align 2 +gFile_graphics_pokemon_palettes_goldeen_palette:: @ 8D80B18 + .incbin "graphics/pokemon/palettes/goldeen_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD80B18, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_goldeen_back_pic:: @ 8D80B40 + .incbin "graphics/pokemon/back_pics/goldeen_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD80B40, 0x0370 + + .align 2 +gFile_graphics_pokemon_palettes_goldeen_shiny_palette:: @ 8D80EB0 + .incbin "graphics/pokemon/palettes/goldeen_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD80EB0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_goldeen_icon:: @ 8D80ED8 + .incbin "graphics/pokemon/icons/goldeen_icon.4bpp" + @ .incbin "baserom.gba", 0xD80ED8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_goldeen_footprint:: @ 8D812D8 + .incbin "graphics/pokemon/footprints/goldeen_footprint.1bpp" + @ .incbin "baserom.gba", 0xD812D8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_seaking_still_front_pic:: @ 8D812F8 + .incbin "graphics/pokemon/front_pics/seaking_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD812F8, 0x0474 + + .align 2 +gFile_graphics_pokemon_palettes_seaking_palette:: @ 8D8176C + .incbin "graphics/pokemon/palettes/seaking_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD8176C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_seaking_back_pic:: @ 8D81794 + .incbin "graphics/pokemon/back_pics/seaking_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD81794, 0x0350 + + .align 2 +gFile_graphics_pokemon_palettes_seaking_shiny_palette:: @ 8D81AE4 + .incbin "graphics/pokemon/palettes/seaking_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD81AE4, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_seaking_icon:: @ 8D81B0C + .incbin "graphics/pokemon/icons/seaking_icon.4bpp" + @ .incbin "baserom.gba", 0xD81B0C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_seaking_footprint:: @ 8D81F0C + .incbin "graphics/pokemon/footprints/seaking_footprint.1bpp" + @ .incbin "baserom.gba", 0xD81F0C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_staryu_still_front_pic:: @ 8D81F2C + .incbin "graphics/pokemon/front_pics/staryu_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD81F2C, 0x02B0 + + .align 2 +gFile_graphics_pokemon_palettes_staryu_palette:: @ 8D821DC + .incbin "graphics/pokemon/palettes/staryu_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD821DC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_staryu_back_pic:: @ 8D82204 + .incbin "graphics/pokemon/back_pics/staryu_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD82204, 0x0268 + + .align 2 +gFile_graphics_pokemon_palettes_staryu_shiny_palette:: @ 8D8246C + .incbin "graphics/pokemon/palettes/staryu_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD8246C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_staryu_icon:: @ 8D82494 + .incbin "graphics/pokemon/icons/staryu_icon.4bpp" + @ .incbin "baserom.gba", 0xD82494, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_staryu_footprint:: @ 8D82894 + .incbin "graphics/pokemon/footprints/staryu_footprint.1bpp" + @ .incbin "baserom.gba", 0xD82894, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_starmie_still_front_pic:: @ 8D828B4 + .incbin "graphics/pokemon/front_pics/starmie_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD828B4, 0x03A0 + + .align 2 +gFile_graphics_pokemon_palettes_starmie_palette:: @ 8D82C54 + .incbin "graphics/pokemon/palettes/starmie_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD82C54, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_starmie_back_pic:: @ 8D82C7C + .incbin "graphics/pokemon/back_pics/starmie_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD82C7C, 0x02A4 + + .align 2 +gFile_graphics_pokemon_palettes_starmie_shiny_palette:: @ 8D82F20 + .incbin "graphics/pokemon/palettes/starmie_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD82F20, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_starmie_icon:: @ 8D82F48 + .incbin "graphics/pokemon/icons/starmie_icon.4bpp" + @ .incbin "baserom.gba", 0xD82F48, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_starmie_footprint:: @ 8D83348 + .incbin "graphics/pokemon/footprints/starmie_footprint.1bpp" + @ .incbin "baserom.gba", 0xD83348, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_mr_mime_still_front_pic:: @ 8D83368 + .incbin "graphics/pokemon/front_pics/mr_mime_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD83368, 0x03BC + + .align 2 +gFile_graphics_pokemon_palettes_mr_mime_palette:: @ 8D83724 + .incbin "graphics/pokemon/palettes/mr_mime_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD83724, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_mr_mime_back_pic:: @ 8D8374C + .incbin "graphics/pokemon/back_pics/mr_mime_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD8374C, 0x0334 + + .align 2 +gFile_graphics_pokemon_palettes_mr_mime_shiny_palette:: @ 8D83A80 + .incbin "graphics/pokemon/palettes/mr_mime_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD83A80, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_mr_mime_icon:: @ 8D83AA8 + .incbin "graphics/pokemon/icons/mr_mime_icon.4bpp" + @ .incbin "baserom.gba", 0xD83AA8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_mr_mime_footprint:: @ 8D83EA8 + .incbin "graphics/pokemon/footprints/mr_mime_footprint.1bpp" + @ .incbin "baserom.gba", 0xD83EA8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_scyther_still_front_pic:: @ 8D83EC8 + .incbin "graphics/pokemon/front_pics/scyther_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD83EC8, 0x0428 + + .align 2 +gFile_graphics_pokemon_palettes_scyther_palette:: @ 8D842F0 + .incbin "graphics/pokemon/palettes/scyther_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD842F0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_scyther_back_pic:: @ 8D84318 + .incbin "graphics/pokemon/back_pics/scyther_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD84318, 0x0418 + + .align 2 +gFile_graphics_pokemon_palettes_scyther_shiny_palette:: @ 8D84730 + .incbin "graphics/pokemon/palettes/scyther_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD84730, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_scyther_icon:: @ 8D84758 + .incbin "graphics/pokemon/icons/scyther_icon.4bpp" + @ .incbin "baserom.gba", 0xD84758, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_scyther_footprint:: @ 8D84B58 + .incbin "graphics/pokemon/footprints/scyther_footprint.1bpp" + @ .incbin "baserom.gba", 0xD84B58, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_jynx_still_front_pic:: @ 8D84B78 + .incbin "graphics/pokemon/front_pics/jynx_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD84B78, 0x03CC + + .align 2 +gFile_graphics_pokemon_palettes_jynx_palette:: @ 8D84F44 + .incbin "graphics/pokemon/palettes/jynx_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD84F44, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_jynx_back_pic:: @ 8D84F6C + .incbin "graphics/pokemon/back_pics/jynx_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD84F6C, 0x02EC + + .align 2 +gFile_graphics_pokemon_palettes_jynx_shiny_palette:: @ 8D85258 + .incbin "graphics/pokemon/palettes/jynx_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD85258, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_jynx_icon:: @ 8D85280 + .incbin "graphics/pokemon/icons/jynx_icon.4bpp" + @ .incbin "baserom.gba", 0xD85280, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_jynx_footprint:: @ 8D85680 + .incbin "graphics/pokemon/footprints/jynx_footprint.1bpp" + @ .incbin "baserom.gba", 0xD85680, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_electabuzz_still_front_pic:: @ 8D856A0 + .incbin "graphics/pokemon/front_pics/electabuzz_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD856A0, 0x0458 + + .align 2 +gFile_graphics_pokemon_palettes_electabuzz_palette:: @ 8D85AF8 + .incbin "graphics/pokemon/palettes/electabuzz_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD85AF8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_electabuzz_back_pic:: @ 8D85B20 + .incbin "graphics/pokemon/back_pics/electabuzz_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD85B20, 0x0310 + + .align 2 +gFile_graphics_pokemon_palettes_electabuzz_shiny_palette:: @ 8D85E30 + .incbin "graphics/pokemon/palettes/electabuzz_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD85E30, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_electabuzz_icon:: @ 8D85E58 + .incbin "graphics/pokemon/icons/electabuzz_icon.4bpp" + @ .incbin "baserom.gba", 0xD85E58, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_electabuzz_footprint:: @ 8D86258 + .incbin "graphics/pokemon/footprints/electabuzz_footprint.1bpp" + @ .incbin "baserom.gba", 0xD86258, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_magmar_still_front_pic:: @ 8D86278 + .incbin "graphics/pokemon/front_pics/magmar_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD86278, 0x0430 + + .align 2 +gFile_graphics_pokemon_palettes_magmar_palette:: @ 8D866A8 + .incbin "graphics/pokemon/palettes/magmar_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD866A8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_magmar_back_pic:: @ 8D866D0 + .incbin "graphics/pokemon/back_pics/magmar_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD866D0, 0x0338 + + .align 2 +gFile_graphics_pokemon_palettes_magmar_shiny_palette:: @ 8D86A08 + .incbin "graphics/pokemon/palettes/magmar_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD86A08, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_magmar_icon:: @ 8D86A30 + .incbin "graphics/pokemon/icons/magmar_icon.4bpp" + @ .incbin "baserom.gba", 0xD86A30, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_magmar_footprint:: @ 8D86E30 + .incbin "graphics/pokemon/footprints/magmar_footprint.1bpp" + @ .incbin "baserom.gba", 0xD86E30, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_pinsir_still_front_pic:: @ 8D86E50 + .incbin "graphics/pokemon/front_pics/pinsir_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD86E50, 0x0430 + + .align 2 +gFile_graphics_pokemon_palettes_pinsir_palette:: @ 8D87280 + .incbin "graphics/pokemon/palettes/pinsir_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD87280, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_pinsir_back_pic:: @ 8D872A4 + .incbin "graphics/pokemon/back_pics/pinsir_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD872A4, 0x0354 + + .align 2 +gFile_graphics_pokemon_palettes_pinsir_shiny_palette:: @ 8D875F8 + .incbin "graphics/pokemon/palettes/pinsir_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD875F8, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_pinsir_icon:: @ 8D8761C + .incbin "graphics/pokemon/icons/pinsir_icon.4bpp" + @ .incbin "baserom.gba", 0xD8761C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_pinsir_footprint:: @ 8D87A1C + .incbin "graphics/pokemon/footprints/pinsir_footprint.1bpp" + @ .incbin "baserom.gba", 0xD87A1C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_tauros_still_front_pic:: @ 8D87A3C + .incbin "graphics/pokemon/front_pics/tauros_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD87A3C, 0x0460 + + .align 2 +gFile_graphics_pokemon_palettes_tauros_palette:: @ 8D87E9C + .incbin "graphics/pokemon/palettes/tauros_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD87E9C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_tauros_back_pic:: @ 8D87EC4 + .incbin "graphics/pokemon/back_pics/tauros_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD87EC4, 0x02B4 + + .align 2 +gFile_graphics_pokemon_palettes_tauros_shiny_palette:: @ 8D88178 + .incbin "graphics/pokemon/palettes/tauros_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD88178, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_tauros_icon:: @ 8D881A0 + .incbin "graphics/pokemon/icons/tauros_icon.4bpp" + @ .incbin "baserom.gba", 0xD881A0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_tauros_footprint:: @ 8D885A0 + .incbin "graphics/pokemon/footprints/tauros_footprint.1bpp" + @ .incbin "baserom.gba", 0xD885A0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_magikarp_still_front_pic:: @ 8D885C0 + .incbin "graphics/pokemon/front_pics/magikarp_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD885C0, 0x0348 + + .align 2 +gFile_graphics_pokemon_palettes_magikarp_palette:: @ 8D88908 + .incbin "graphics/pokemon/palettes/magikarp_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD88908, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_magikarp_back_pic:: @ 8D88930 + .incbin "graphics/pokemon/back_pics/magikarp_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD88930, 0x0330 + + .align 2 +gFile_graphics_pokemon_palettes_magikarp_shiny_palette:: @ 8D88C60 + .incbin "graphics/pokemon/palettes/magikarp_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD88C60, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_magikarp_icon:: @ 8D88C88 + .incbin "graphics/pokemon/icons/magikarp_icon.4bpp" + @ .incbin "baserom.gba", 0xD88C88, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_magikarp_footprint:: @ 8D89088 + .incbin "graphics/pokemon/footprints/magikarp_footprint.1bpp" + @ .incbin "baserom.gba", 0xD89088, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_gyarados_still_front_pic:: @ 8D890A8 + .incbin "graphics/pokemon/front_pics/gyarados_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD890A8, 0x05A4 + + .align 2 +gFile_graphics_pokemon_palettes_gyarados_palette:: @ 8D8964C + .incbin "graphics/pokemon/palettes/gyarados_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD8964C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_gyarados_back_pic:: @ 8D89674 + .incbin "graphics/pokemon/back_pics/gyarados_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD89674, 0x04B8 + + .align 2 +gFile_graphics_pokemon_palettes_gyarados_shiny_palette:: @ 8D89B2C + .incbin "graphics/pokemon/palettes/gyarados_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD89B2C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_gyarados_icon:: @ 8D89B54 + .incbin "graphics/pokemon/icons/gyarados_icon.4bpp" + @ .incbin "baserom.gba", 0xD89B54, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_gyarados_footprint:: @ 8D89F54 + .incbin "graphics/pokemon/footprints/gyarados_footprint.1bpp" + @ .incbin "baserom.gba", 0xD89F54, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_lapras_still_front_pic:: @ 8D89F74 + .incbin "graphics/pokemon/front_pics/lapras_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD89F74, 0x03E0 + + .align 2 +gFile_graphics_pokemon_palettes_lapras_palette:: @ 8D8A354 + .incbin "graphics/pokemon/palettes/lapras_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD8A354, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_lapras_back_pic:: @ 8D8A37C + .incbin "graphics/pokemon/back_pics/lapras_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD8A37C, 0x0344 + + .align 2 +gFile_graphics_pokemon_palettes_lapras_shiny_palette:: @ 8D8A6C0 + .incbin "graphics/pokemon/palettes/lapras_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD8A6C0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_lapras_icon:: @ 8D8A6E8 + .incbin "graphics/pokemon/icons/lapras_icon.4bpp" + @ .incbin "baserom.gba", 0xD8A6E8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_lapras_footprint:: @ 8D8AAE8 + .incbin "graphics/pokemon/footprints/lapras_footprint.1bpp" + @ .incbin "baserom.gba", 0xD8AAE8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_ditto_still_front_pic:: @ 8D8AB08 + .incbin "graphics/pokemon/front_pics/ditto_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD8AB08, 0x01F0 + + .align 2 +gFile_graphics_pokemon_palettes_ditto_palette:: @ 8D8ACF8 + .incbin "graphics/pokemon/palettes/ditto_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD8ACF8, 0x0020 + + .align 2 +gFile_graphics_pokemon_back_pics_ditto_back_pic:: @ 8D8AD18 + .incbin "graphics/pokemon/back_pics/ditto_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD8AD18, 0x0200 + + .align 2 +gFile_graphics_pokemon_palettes_ditto_shiny_palette:: @ 8D8AF18 + .incbin "graphics/pokemon/palettes/ditto_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD8AF18, 0x0020 + + .align 2 +gFile_graphics_pokemon_icons_ditto_icon:: @ 8D8AF38 + .incbin "graphics/pokemon/icons/ditto_icon.4bpp" + @ .incbin "baserom.gba", 0xD8AF38, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_ditto_footprint:: @ 8D8B338 + .incbin "graphics/pokemon/footprints/ditto_footprint.1bpp" + @ .incbin "baserom.gba", 0xD8B338, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_eevee_still_front_pic:: @ 8D8B358 + .incbin "graphics/pokemon/front_pics/eevee_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD8B358, 0x02EC + + .align 2 +gFile_graphics_pokemon_palettes_eevee_palette:: @ 8D8B644 + .incbin "graphics/pokemon/palettes/eevee_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD8B644, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_eevee_back_pic:: @ 8D8B66C + .incbin "graphics/pokemon/back_pics/eevee_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD8B66C, 0x0328 + + .align 2 +gFile_graphics_pokemon_palettes_eevee_shiny_palette:: @ 8D8B994 + .incbin "graphics/pokemon/palettes/eevee_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD8B994, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_eevee_icon:: @ 8D8B9BC + .incbin "graphics/pokemon/icons/eevee_icon.4bpp" + @ .incbin "baserom.gba", 0xD8B9BC, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_eevee_footprint:: @ 8D8BDBC + .incbin "graphics/pokemon/footprints/eevee_footprint.1bpp" + @ .incbin "baserom.gba", 0xD8BDBC, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_vaporeon_still_front_pic:: @ 8D8BDDC + .incbin "graphics/pokemon/front_pics/vaporeon_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD8BDDC, 0x0394 + + .align 2 +gFile_graphics_pokemon_palettes_vaporeon_palette:: @ 8D8C170 + .incbin "graphics/pokemon/palettes/vaporeon_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD8C170, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_vaporeon_back_pic:: @ 8D8C198 + .incbin "graphics/pokemon/back_pics/vaporeon_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD8C198, 0x02C8 + + .align 2 +gFile_graphics_pokemon_palettes_vaporeon_shiny_palette:: @ 8D8C460 + .incbin "graphics/pokemon/palettes/vaporeon_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD8C460, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_vaporeon_icon:: @ 8D8C488 + .incbin "graphics/pokemon/icons/vaporeon_icon.4bpp" + @ .incbin "baserom.gba", 0xD8C488, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_vaporeon_footprint:: @ 8D8C888 + .incbin "graphics/pokemon/footprints/vaporeon_footprint.1bpp" + @ .incbin "baserom.gba", 0xD8C888, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_jolteon_still_front_pic:: @ 8D8C8A8 + .incbin "graphics/pokemon/front_pics/jolteon_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD8C8A8, 0x0350 + + .align 2 +gFile_graphics_pokemon_palettes_jolteon_palette:: @ 8D8CBF8 + .incbin "graphics/pokemon/palettes/jolteon_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD8CBF8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_jolteon_back_pic:: @ 8D8CC20 + .incbin "graphics/pokemon/back_pics/jolteon_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD8CC20, 0x03AC + + .align 2 +gFile_graphics_pokemon_palettes_jolteon_shiny_palette:: @ 8D8CFCC + .incbin "graphics/pokemon/palettes/jolteon_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD8CFCC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_jolteon_icon:: @ 8D8CFF4 + .incbin "graphics/pokemon/icons/jolteon_icon.4bpp" + @ .incbin "baserom.gba", 0xD8CFF4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_jolteon_footprint:: @ 8D8D3F4 + .incbin "graphics/pokemon/footprints/jolteon_footprint.1bpp" + @ .incbin "baserom.gba", 0xD8D3F4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_flareon_still_front_pic:: @ 8D8D414 + .incbin "graphics/pokemon/front_pics/flareon_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD8D414, 0x0384 + + .align 2 +gFile_graphics_pokemon_palettes_flareon_palette:: @ 8D8D798 + .incbin "graphics/pokemon/palettes/flareon_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD8D798, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_flareon_back_pic:: @ 8D8D7C0 + .incbin "graphics/pokemon/back_pics/flareon_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD8D7C0, 0x0390 + + .align 2 +gFile_graphics_pokemon_palettes_flareon_shiny_palette:: @ 8D8DB50 + .incbin "graphics/pokemon/palettes/flareon_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD8DB50, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_flareon_icon:: @ 8D8DB78 + .incbin "graphics/pokemon/icons/flareon_icon.4bpp" + @ .incbin "baserom.gba", 0xD8DB78, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_flareon_footprint:: @ 8D8DF78 + .incbin "graphics/pokemon/footprints/flareon_footprint.1bpp" + @ .incbin "baserom.gba", 0xD8DF78, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_porygon_still_front_pic:: @ 8D8DF98 + .incbin "graphics/pokemon/front_pics/porygon_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD8DF98, 0x02B8 + + .align 2 +gFile_graphics_pokemon_palettes_porygon_palette:: @ 8D8E250 + .incbin "graphics/pokemon/palettes/porygon_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD8E250, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_porygon_back_pic:: @ 8D8E274 + .incbin "graphics/pokemon/back_pics/porygon_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD8E274, 0x02B8 + + .align 2 +gFile_graphics_pokemon_palettes_porygon_shiny_palette:: @ 8D8E52C + .incbin "graphics/pokemon/palettes/porygon_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD8E52C, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_porygon_icon:: @ 8D8E550 + .incbin "graphics/pokemon/icons/porygon_icon.4bpp" + @ .incbin "baserom.gba", 0xD8E550, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_porygon_footprint:: @ 8D8E950 + .incbin "graphics/pokemon/footprints/porygon_footprint.1bpp" + @ .incbin "baserom.gba", 0xD8E950, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_omanyte_still_front_pic:: @ 8D8E970 + .incbin "graphics/pokemon/front_pics/omanyte_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD8E970, 0x0290 + + .align 2 +gFile_graphics_pokemon_palettes_omanyte_palette:: @ 8D8EC00 + .incbin "graphics/pokemon/palettes/omanyte_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD8EC00, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_omanyte_back_pic:: @ 8D8EC28 + .incbin "graphics/pokemon/back_pics/omanyte_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD8EC28, 0x034C + + .align 2 +gFile_graphics_pokemon_palettes_omanyte_shiny_palette:: @ 8D8EF74 + .incbin "graphics/pokemon/palettes/omanyte_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD8EF74, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_omanyte_icon:: @ 8D8EF9C + .incbin "graphics/pokemon/icons/omanyte_icon.4bpp" + @ .incbin "baserom.gba", 0xD8EF9C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_omanyte_footprint:: @ 8D8F39C + .incbin "graphics/pokemon/footprints/omanyte_footprint.1bpp" + @ .incbin "baserom.gba", 0xD8F39C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_omastar_still_front_pic:: @ 8D8F3BC + .incbin "graphics/pokemon/front_pics/omastar_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD8F3BC, 0x03C0 + + .align 2 +gFile_graphics_pokemon_palettes_omastar_palette:: @ 8D8F77C + .incbin "graphics/pokemon/palettes/omastar_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD8F77C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_omastar_back_pic:: @ 8D8F7A4 + .incbin "graphics/pokemon/back_pics/omastar_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD8F7A4, 0x0340 + + .align 2 +gFile_graphics_pokemon_palettes_omastar_shiny_palette:: @ 8D8FAE4 + .incbin "graphics/pokemon/palettes/omastar_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD8FAE4, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_omastar_icon:: @ 8D8FB0C + .incbin "graphics/pokemon/icons/omastar_icon.4bpp" + @ .incbin "baserom.gba", 0xD8FB0C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_omastar_footprint:: @ 8D8FF0C + .incbin "graphics/pokemon/footprints/omastar_footprint.1bpp" + @ .incbin "baserom.gba", 0xD8FF0C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_kabuto_still_front_pic:: @ 8D8FF2C + .incbin "graphics/pokemon/front_pics/kabuto_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD8FF2C, 0x0228 + + .align 2 +gFile_graphics_pokemon_palettes_kabuto_palette:: @ 8D90154 + .incbin "graphics/pokemon/palettes/kabuto_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD90154, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_kabuto_back_pic:: @ 8D9017C + .incbin "graphics/pokemon/back_pics/kabuto_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD9017C, 0x0298 + + .align 2 +gFile_graphics_pokemon_palettes_kabuto_shiny_palette:: @ 8D90414 + .incbin "graphics/pokemon/palettes/kabuto_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD90414, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_kabuto_icon:: @ 8D9043C + .incbin "graphics/pokemon/icons/kabuto_icon.4bpp" + @ .incbin "baserom.gba", 0xD9043C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_kabuto_footprint:: @ 8D9083C + .incbin "graphics/pokemon/footprints/kabuto_footprint.1bpp" + @ .incbin "baserom.gba", 0xD9083C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_kabutops_still_front_pic:: @ 8D9085C + .incbin "graphics/pokemon/front_pics/kabutops_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD9085C, 0x0410 + + .align 2 +gFile_graphics_pokemon_palettes_kabutops_palette:: @ 8D90C6C + .incbin "graphics/pokemon/palettes/kabutops_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD90C6C, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_kabutops_back_pic:: @ 8D90C90 + .incbin "graphics/pokemon/back_pics/kabutops_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD90C90, 0x03A4 + + .align 2 +gFile_graphics_pokemon_palettes_kabutops_shiny_palette:: @ 8D91034 + .incbin "graphics/pokemon/palettes/kabutops_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD91034, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_kabutops_icon:: @ 8D91058 + .incbin "graphics/pokemon/icons/kabutops_icon.4bpp" + @ .incbin "baserom.gba", 0xD91058, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_kabutops_footprint:: @ 8D91458 + .incbin "graphics/pokemon/footprints/kabutops_footprint.1bpp" + @ .incbin "baserom.gba", 0xD91458, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_aerodactyl_still_front_pic:: @ 8D91478 + .incbin "graphics/pokemon/front_pics/aerodactyl_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD91478, 0x0450 + + .align 2 +gFile_graphics_pokemon_palettes_aerodactyl_palette:: @ 8D918C8 + .incbin "graphics/pokemon/palettes/aerodactyl_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD918C8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_aerodactyl_back_pic:: @ 8D918F0 + .incbin "graphics/pokemon/back_pics/aerodactyl_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD918F0, 0x0304 + + .align 2 +gFile_graphics_pokemon_palettes_aerodactyl_shiny_palette:: @ 8D91BF4 + .incbin "graphics/pokemon/palettes/aerodactyl_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD91BF4, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_aerodactyl_icon:: @ 8D91C1C + .incbin "graphics/pokemon/icons/aerodactyl_icon.4bpp" + @ .incbin "baserom.gba", 0xD91C1C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_aerodactyl_footprint:: @ 8D9201C + .incbin "graphics/pokemon/footprints/aerodactyl_footprint.1bpp" + @ .incbin "baserom.gba", 0xD9201C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_snorlax_still_front_pic:: @ 8D9203C + .incbin "graphics/pokemon/front_pics/snorlax_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD9203C, 0x03D4 + + .align 2 +gFile_graphics_pokemon_palettes_snorlax_palette:: @ 8D92410 + .incbin "graphics/pokemon/palettes/snorlax_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD92410, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_snorlax_back_pic:: @ 8D92438 + .incbin "graphics/pokemon/back_pics/snorlax_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD92438, 0x021C + + .align 2 +gFile_graphics_pokemon_palettes_snorlax_shiny_palette:: @ 8D92654 + .incbin "graphics/pokemon/palettes/snorlax_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD92654, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_snorlax_icon:: @ 8D9267C + .incbin "graphics/pokemon/icons/snorlax_icon.4bpp" + @ .incbin "baserom.gba", 0xD9267C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_snorlax_footprint:: @ 8D92A7C + .incbin "graphics/pokemon/footprints/snorlax_footprint.1bpp" + @ .incbin "baserom.gba", 0xD92A7C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_articuno_still_front_pic:: @ 8D92A9C + .incbin "graphics/pokemon/front_pics/articuno_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD92A9C, 0x04F8 + + .align 2 +gFile_graphics_pokemon_palettes_articuno_palette:: @ 8D92F94 + .incbin "graphics/pokemon/palettes/articuno_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD92F94, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_articuno_back_pic:: @ 8D92FBC + .incbin "graphics/pokemon/back_pics/articuno_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD92FBC, 0x025C + + .align 2 +gFile_graphics_pokemon_palettes_articuno_shiny_palette:: @ 8D93218 + .incbin "graphics/pokemon/palettes/articuno_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD93218, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_articuno_icon:: @ 8D93240 + .incbin "graphics/pokemon/icons/articuno_icon.4bpp" + @ .incbin "baserom.gba", 0xD93240, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_articuno_footprint:: @ 8D93640 + .incbin "graphics/pokemon/footprints/articuno_footprint.1bpp" + @ .incbin "baserom.gba", 0xD93640, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_zapdos_still_front_pic:: @ 8D93660 + .incbin "graphics/pokemon/front_pics/zapdos_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD93660, 0x0450 + + .align 2 +gFile_graphics_pokemon_palettes_zapdos_palette:: @ 8D93AB0 + .incbin "graphics/pokemon/palettes/zapdos_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD93AB0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_zapdos_back_pic:: @ 8D93AD8 + .incbin "graphics/pokemon/back_pics/zapdos_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD93AD8, 0x033C + + .align 2 +gFile_graphics_pokemon_palettes_zapdos_shiny_palette:: @ 8D93E14 + .incbin "graphics/pokemon/palettes/zapdos_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD93E14, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_zapdos_icon:: @ 8D93E3C + .incbin "graphics/pokemon/icons/zapdos_icon.4bpp" + @ .incbin "baserom.gba", 0xD93E3C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_zapdos_footprint:: @ 8D9423C + .incbin "graphics/pokemon/footprints/zapdos_footprint.1bpp" + @ .incbin "baserom.gba", 0xD9423C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_moltres_still_front_pic:: @ 8D9425C + .incbin "graphics/pokemon/front_pics/moltres_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD9425C, 0x04CC + + .align 2 +gFile_graphics_pokemon_palettes_moltres_palette:: @ 8D94728 + .incbin "graphics/pokemon/palettes/moltres_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD94728, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_moltres_back_pic:: @ 8D94750 + .incbin "graphics/pokemon/back_pics/moltres_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD94750, 0x033C + + .align 2 +gFile_graphics_pokemon_palettes_moltres_shiny_palette:: @ 8D94A8C + .incbin "graphics/pokemon/palettes/moltres_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD94A8C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_moltres_icon:: @ 8D94AB4 + .incbin "graphics/pokemon/icons/moltres_icon.4bpp" + @ .incbin "baserom.gba", 0xD94AB4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_moltres_footprint:: @ 8D94EB4 + .incbin "graphics/pokemon/footprints/moltres_footprint.1bpp" + @ .incbin "baserom.gba", 0xD94EB4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_dratini_still_front_pic:: @ 8D94ED4 + .incbin "graphics/pokemon/front_pics/dratini_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD94ED4, 0x02BC + + .align 2 +gFile_graphics_pokemon_palettes_dratini_palette:: @ 8D95190 + .incbin "graphics/pokemon/palettes/dratini_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD95190, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_dratini_back_pic:: @ 8D951B4 + .incbin "graphics/pokemon/back_pics/dratini_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD951B4, 0x0290 + + .align 2 +gFile_graphics_pokemon_palettes_dratini_shiny_palette:: @ 8D95444 + .incbin "graphics/pokemon/palettes/dratini_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD95444, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_dratini_icon:: @ 8D95468 + .incbin "graphics/pokemon/icons/dratini_icon.4bpp" + @ .incbin "baserom.gba", 0xD95468, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_dratini_footprint:: @ 8D95868 + .incbin "graphics/pokemon/footprints/dratini_footprint.1bpp" + @ .incbin "baserom.gba", 0xD95868, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_dragonair_still_front_pic:: @ 8D95888 + .incbin "graphics/pokemon/front_pics/dragonair_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD95888, 0x0398 + + .align 2 +gFile_graphics_pokemon_palettes_dragonair_palette:: @ 8D95C20 + .incbin "graphics/pokemon/palettes/dragonair_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD95C20, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_dragonair_back_pic:: @ 8D95C48 + .incbin "graphics/pokemon/back_pics/dragonair_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD95C48, 0x0310 + + .align 2 +gFile_graphics_pokemon_palettes_dragonair_shiny_palette:: @ 8D95F58 + .incbin "graphics/pokemon/palettes/dragonair_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD95F58, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_dragonair_icon:: @ 8D95F80 + .incbin "graphics/pokemon/icons/dragonair_icon.4bpp" + @ .incbin "baserom.gba", 0xD95F80, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_dragonair_footprint:: @ 8D96380 + .incbin "graphics/pokemon/footprints/dragonair_footprint.1bpp" + @ .incbin "baserom.gba", 0xD96380, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_dragonite_still_front_pic:: @ 8D963A0 + .incbin "graphics/pokemon/front_pics/dragonite_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD963A0, 0x0550 + + .align 2 +gFile_graphics_pokemon_palettes_dragonite_palette:: @ 8D968F0 + .incbin "graphics/pokemon/palettes/dragonite_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD968F0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_dragonite_back_pic:: @ 8D96918 + .incbin "graphics/pokemon/back_pics/dragonite_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD96918, 0x02F8 + + .align 2 +gFile_graphics_pokemon_palettes_dragonite_shiny_palette:: @ 8D96C10 + .incbin "graphics/pokemon/palettes/dragonite_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD96C10, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_dragonite_icon:: @ 8D96C38 + .incbin "graphics/pokemon/icons/dragonite_icon.4bpp" + @ .incbin "baserom.gba", 0xD96C38, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_dragonite_footprint:: @ 8D97038 + .incbin "graphics/pokemon/footprints/dragonite_footprint.1bpp" + @ .incbin "baserom.gba", 0xD97038, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_mewtwo_still_front_pic:: @ 8D97058 + .incbin "graphics/pokemon/front_pics/mewtwo_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD97058, 0x043C + + .align 2 +gFile_graphics_pokemon_palettes_mewtwo_palette:: @ 8D97494 + .incbin "graphics/pokemon/palettes/mewtwo_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD97494, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_mewtwo_back_pic:: @ 8D974B8 + .incbin "graphics/pokemon/back_pics/mewtwo_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD974B8, 0x03CC + + .align 2 +gFile_graphics_pokemon_palettes_mewtwo_shiny_palette:: @ 8D97884 + .incbin "graphics/pokemon/palettes/mewtwo_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD97884, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_mewtwo_icon:: @ 8D978A8 + .incbin "graphics/pokemon/icons/mewtwo_icon.4bpp" + @ .incbin "baserom.gba", 0xD978A8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_mewtwo_footprint:: @ 8D97CA8 + .incbin "graphics/pokemon/footprints/mewtwo_footprint.1bpp" + @ .incbin "baserom.gba", 0xD97CA8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_mew_still_front_pic:: @ 8D97CC8 + .incbin "graphics/pokemon/front_pics/mew_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD97CC8, 0x02C0 + + .align 2 +gFile_graphics_pokemon_palettes_mew_palette:: @ 8D97F88 + .incbin "graphics/pokemon/palettes/mew_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD97F88, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_mew_back_pic:: @ 8D97FAC + .incbin "graphics/pokemon/back_pics/mew_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD97FAC, 0x0350 + + .align 2 +gFile_graphics_pokemon_palettes_mew_shiny_palette:: @ 8D982FC + .incbin "graphics/pokemon/palettes/mew_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD982FC, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_mew_icon:: @ 8D98320 + .incbin "graphics/pokemon/icons/mew_icon.4bpp" + @ .incbin "baserom.gba", 0xD98320, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_mew_footprint:: @ 8D98720 + .incbin "graphics/pokemon/footprints/mew_footprint.1bpp" + @ .incbin "baserom.gba", 0xD98720, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_chikorita_still_front_pic:: @ 8D98740 + .incbin "graphics/pokemon/front_pics/chikorita_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD98740, 0x0268 + + .align 2 +gFile_graphics_pokemon_palettes_chikorita_palette:: @ 8D989A8 + .incbin "graphics/pokemon/palettes/chikorita_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD989A8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_chikorita_back_pic:: @ 8D989D0 + .incbin "graphics/pokemon/back_pics/chikorita_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD989D0, 0x02C4 + + .align 2 +gFile_graphics_pokemon_palettes_chikorita_shiny_palette:: @ 8D98C94 + .incbin "graphics/pokemon/palettes/chikorita_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD98C94, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_chikorita_icon:: @ 8D98CBC + .incbin "graphics/pokemon/icons/chikorita_icon.4bpp" + @ .incbin "baserom.gba", 0xD98CBC, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_chikorita_footprint:: @ 8D990BC + .incbin "graphics/pokemon/footprints/chikorita_footprint.1bpp" + @ .incbin "baserom.gba", 0xD990BC, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_bayleef_still_front_pic:: @ 8D990DC + .incbin "graphics/pokemon/front_pics/bayleef_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD990DC, 0x03D4 + + .align 2 +gFile_graphics_pokemon_palettes_bayleef_palette:: @ 8D994B0 + .incbin "graphics/pokemon/palettes/bayleef_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD994B0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_bayleef_back_pic:: @ 8D994D8 + .incbin "graphics/pokemon/back_pics/bayleef_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD994D8, 0x0390 + + .align 2 +gFile_graphics_pokemon_palettes_bayleef_shiny_palette:: @ 8D99868 + .incbin "graphics/pokemon/palettes/bayleef_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD99868, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_bayleef_icon:: @ 8D99890 + .incbin "graphics/pokemon/icons/bayleef_icon.4bpp" + @ .incbin "baserom.gba", 0xD99890, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_bayleef_footprint:: @ 8D99C90 + .incbin "graphics/pokemon/footprints/bayleef_footprint.1bpp" + @ .incbin "baserom.gba", 0xD99C90, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_meganium_still_front_pic:: @ 8D99CB0 + .incbin "graphics/pokemon/front_pics/meganium_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD99CB0, 0x055C + + .align 2 +gFile_graphics_pokemon_palettes_meganium_palette:: @ 8D9A20C + .incbin "graphics/pokemon/palettes/meganium_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD9A20C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_meganium_back_pic:: @ 8D9A234 + .incbin "graphics/pokemon/back_pics/meganium_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD9A234, 0x0350 + + .align 2 +gFile_graphics_pokemon_palettes_meganium_shiny_palette:: @ 8D9A584 + .incbin "graphics/pokemon/palettes/meganium_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD9A584, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_meganium_icon:: @ 8D9A5AC + .incbin "graphics/pokemon/icons/meganium_icon.4bpp" + @ .incbin "baserom.gba", 0xD9A5AC, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_meganium_footprint:: @ 8D9A9AC + .incbin "graphics/pokemon/footprints/meganium_footprint.1bpp" + @ .incbin "baserom.gba", 0xD9A9AC, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_cyndaquil_still_front_pic:: @ 8D9A9CC + .incbin "graphics/pokemon/front_pics/cyndaquil_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD9A9CC, 0x028C + + .align 2 +gFile_graphics_pokemon_palettes_cyndaquil_palette:: @ 8D9AC58 + .incbin "graphics/pokemon/palettes/cyndaquil_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD9AC58, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_cyndaquil_back_pic:: @ 8D9AC80 + .incbin "graphics/pokemon/back_pics/cyndaquil_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD9AC80, 0x032C + + .align 2 +gFile_graphics_pokemon_palettes_cyndaquil_shiny_palette:: @ 8D9AFAC + .incbin "graphics/pokemon/palettes/cyndaquil_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD9AFAC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_cyndaquil_icon:: @ 8D9AFD4 + .incbin "graphics/pokemon/icons/cyndaquil_icon.4bpp" + @ .incbin "baserom.gba", 0xD9AFD4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_cyndaquil_footprint:: @ 8D9B3D4 + .incbin "graphics/pokemon/footprints/cyndaquil_footprint.1bpp" + @ .incbin "baserom.gba", 0xD9B3D4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_quilava_still_front_pic:: @ 8D9B3F4 + .incbin "graphics/pokemon/front_pics/quilava_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD9B3F4, 0x031C + + .align 2 +gFile_graphics_pokemon_palettes_quilava_palette:: @ 8D9B710 + .incbin "graphics/pokemon/palettes/quilava_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD9B710, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_quilava_back_pic:: @ 8D9B738 + .incbin "graphics/pokemon/back_pics/quilava_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD9B738, 0x0374 + + .align 2 +gFile_graphics_pokemon_palettes_quilava_shiny_palette:: @ 8D9BAAC + .incbin "graphics/pokemon/palettes/quilava_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD9BAAC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_quilava_icon:: @ 8D9BAD4 + .incbin "graphics/pokemon/icons/quilava_icon.4bpp" + @ .incbin "baserom.gba", 0xD9BAD4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_quilava_footprint:: @ 8D9BED4 + .incbin "graphics/pokemon/footprints/quilava_footprint.1bpp" + @ .incbin "baserom.gba", 0xD9BED4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_typhlosion_still_front_pic:: @ 8D9BEF4 + .incbin "graphics/pokemon/front_pics/typhlosion_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD9BEF4, 0x0428 + + .align 2 +gFile_graphics_pokemon_palettes_typhlosion_palette:: @ 8D9C31C + .incbin "graphics/pokemon/palettes/typhlosion_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD9C31C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_typhlosion_back_pic:: @ 8D9C344 + .incbin "graphics/pokemon/back_pics/typhlosion_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD9C344, 0x0404 + + .align 2 +gFile_graphics_pokemon_palettes_typhlosion_shiny_palette:: @ 8D9C748 + .incbin "graphics/pokemon/palettes/typhlosion_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD9C748, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_typhlosion_icon:: @ 8D9C770 + .incbin "graphics/pokemon/icons/typhlosion_icon.4bpp" + @ .incbin "baserom.gba", 0xD9C770, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_typhlosion_footprint:: @ 8D9CB70 + .incbin "graphics/pokemon/footprints/typhlosion_footprint.1bpp" + @ .incbin "baserom.gba", 0xD9CB70, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_totodile_still_front_pic:: @ 8D9CB90 + .incbin "graphics/pokemon/front_pics/totodile_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD9CB90, 0x02A4 + + .align 2 +gFile_graphics_pokemon_palettes_totodile_palette:: @ 8D9CE34 + .incbin "graphics/pokemon/palettes/totodile_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD9CE34, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_totodile_back_pic:: @ 8D9CE5C + .incbin "graphics/pokemon/back_pics/totodile_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD9CE5C, 0x02E0 + + .align 2 +gFile_graphics_pokemon_palettes_totodile_shiny_palette:: @ 8D9D13C + .incbin "graphics/pokemon/palettes/totodile_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD9D13C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_totodile_icon:: @ 8D9D164 + .incbin "graphics/pokemon/icons/totodile_icon.4bpp" + @ .incbin "baserom.gba", 0xD9D164, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_totodile_footprint:: @ 8D9D564 + .incbin "graphics/pokemon/footprints/totodile_footprint.1bpp" + @ .incbin "baserom.gba", 0xD9D564, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_croconaw_still_front_pic:: @ 8D9D584 + .incbin "graphics/pokemon/front_pics/croconaw_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD9D584, 0x0368 + + .align 2 +gFile_graphics_pokemon_palettes_croconaw_palette:: @ 8D9D8EC + .incbin "graphics/pokemon/palettes/croconaw_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD9D8EC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_croconaw_back_pic:: @ 8D9D914 + .incbin "graphics/pokemon/back_pics/croconaw_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD9D914, 0x0350 + + .align 2 +gFile_graphics_pokemon_palettes_croconaw_shiny_palette:: @ 8D9DC64 + .incbin "graphics/pokemon/palettes/croconaw_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD9DC64, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_croconaw_icon:: @ 8D9DC8C + .incbin "graphics/pokemon/icons/croconaw_icon.4bpp" + @ .incbin "baserom.gba", 0xD9DC8C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_croconaw_footprint:: @ 8D9E08C + .incbin "graphics/pokemon/footprints/croconaw_footprint.1bpp" + @ .incbin "baserom.gba", 0xD9E08C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_feraligatr_still_front_pic:: @ 8D9E0AC + .incbin "graphics/pokemon/front_pics/feraligatr_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD9E0AC, 0x056C + + .align 2 +gFile_graphics_pokemon_palettes_feraligatr_palette:: @ 8D9E618 + .incbin "graphics/pokemon/palettes/feraligatr_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD9E618, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_feraligatr_back_pic:: @ 8D9E640 + .incbin "graphics/pokemon/back_pics/feraligatr_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD9E640, 0x04CC + + .align 2 +gFile_graphics_pokemon_palettes_feraligatr_shiny_palette:: @ 8D9EB0C + .incbin "graphics/pokemon/palettes/feraligatr_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD9EB0C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_feraligatr_icon:: @ 8D9EB34 + .incbin "graphics/pokemon/icons/feraligatr_icon.4bpp" + @ .incbin "baserom.gba", 0xD9EB34, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_feraligatr_footprint:: @ 8D9EF34 + .incbin "graphics/pokemon/footprints/feraligatr_footprint.1bpp" + @ .incbin "baserom.gba", 0xD9EF34, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_sentret_still_front_pic:: @ 8D9EF54 + .incbin "graphics/pokemon/front_pics/sentret_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD9EF54, 0x02DC + + .align 2 +gFile_graphics_pokemon_palettes_sentret_palette:: @ 8D9F230 + .incbin "graphics/pokemon/palettes/sentret_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD9F230, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_sentret_back_pic:: @ 8D9F258 + .incbin "graphics/pokemon/back_pics/sentret_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD9F258, 0x02A4 + + .align 2 +gFile_graphics_pokemon_palettes_sentret_shiny_palette:: @ 8D9F4FC + .incbin "graphics/pokemon/palettes/sentret_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD9F4FC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_sentret_icon:: @ 8D9F524 + .incbin "graphics/pokemon/icons/sentret_icon.4bpp" + @ .incbin "baserom.gba", 0xD9F524, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_sentret_footprint:: @ 8D9F924 + .incbin "graphics/pokemon/footprints/sentret_footprint.1bpp" + @ .incbin "baserom.gba", 0xD9F924, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_furret_still_front_pic:: @ 8D9F944 + .incbin "graphics/pokemon/front_pics/furret_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD9F944, 0x0334 + + .align 2 +gFile_graphics_pokemon_palettes_furret_palette:: @ 8D9FC78 + .incbin "graphics/pokemon/palettes/furret_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD9FC78, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_furret_back_pic:: @ 8D9FCA0 + .incbin "graphics/pokemon/back_pics/furret_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xD9FCA0, 0x0328 + + .align 2 +gFile_graphics_pokemon_palettes_furret_shiny_palette:: @ 8D9FFC8 + .incbin "graphics/pokemon/palettes/furret_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xD9FFC8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_furret_icon:: @ 8D9FFF0 + .incbin "graphics/pokemon/icons/furret_icon.4bpp" + @ .incbin "baserom.gba", 0xD9FFF0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_furret_footprint:: @ 8DA03F0 + .incbin "graphics/pokemon/footprints/furret_footprint.1bpp" + @ .incbin "baserom.gba", 0xDA03F0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_hoothoot_still_front_pic:: @ 8DA0410 + .incbin "graphics/pokemon/front_pics/hoothoot_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA0410, 0x0284 + + .align 2 +gFile_graphics_pokemon_palettes_hoothoot_palette:: @ 8DA0694 + .incbin "graphics/pokemon/palettes/hoothoot_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA0694, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_hoothoot_back_pic:: @ 8DA06BC + .incbin "graphics/pokemon/back_pics/hoothoot_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA06BC, 0x0308 + + .align 2 +gFile_graphics_pokemon_palettes_hoothoot_shiny_palette:: @ 8DA09C4 + .incbin "graphics/pokemon/palettes/hoothoot_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA09C4, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_hoothoot_icon:: @ 8DA09EC + .incbin "graphics/pokemon/icons/hoothoot_icon.4bpp" + @ .incbin "baserom.gba", 0xDA09EC, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_hoothoot_footprint:: @ 8DA0DEC + .incbin "graphics/pokemon/footprints/hoothoot_footprint.1bpp" + @ .incbin "baserom.gba", 0xDA0DEC, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_noctowl_still_front_pic:: @ 8DA0E0C + .incbin "graphics/pokemon/front_pics/noctowl_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA0E0C, 0x0354 + + .align 2 +gFile_graphics_pokemon_palettes_noctowl_palette:: @ 8DA1160 + .incbin "graphics/pokemon/palettes/noctowl_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA1160, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_noctowl_back_pic:: @ 8DA1188 + .incbin "graphics/pokemon/back_pics/noctowl_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA1188, 0x035C + + .align 2 +gFile_graphics_pokemon_palettes_noctowl_shiny_palette:: @ 8DA14E4 + .incbin "graphics/pokemon/palettes/noctowl_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA14E4, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_noctowl_icon:: @ 8DA150C + .incbin "graphics/pokemon/icons/noctowl_icon.4bpp" + @ .incbin "baserom.gba", 0xDA150C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_noctowl_footprint:: @ 8DA190C + .incbin "graphics/pokemon/footprints/noctowl_footprint.1bpp" + @ .incbin "baserom.gba", 0xDA190C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_ledyba_still_front_pic:: @ 8DA192C + .incbin "graphics/pokemon/front_pics/ledyba_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA192C, 0x02F4 + + .align 2 +gFile_graphics_pokemon_palettes_ledyba_palette:: @ 8DA1C20 + .incbin "graphics/pokemon/palettes/ledyba_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA1C20, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_ledyba_back_pic:: @ 8DA1C48 + .incbin "graphics/pokemon/back_pics/ledyba_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA1C48, 0x0330 + + .align 2 +gFile_graphics_pokemon_palettes_ledyba_shiny_palette:: @ 8DA1F78 + .incbin "graphics/pokemon/palettes/ledyba_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA1F78, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_ledyba_icon:: @ 8DA1FA0 + .incbin "graphics/pokemon/icons/ledyba_icon.4bpp" + @ .incbin "baserom.gba", 0xDA1FA0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_ledyba_footprint:: @ 8DA23A0 + .incbin "graphics/pokemon/footprints/ledyba_footprint.1bpp" + @ .incbin "baserom.gba", 0xDA23A0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_ledian_still_front_pic:: @ 8DA23C0 + .incbin "graphics/pokemon/front_pics/ledian_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA23C0, 0x0388 + + .align 2 +gFile_graphics_pokemon_palettes_ledian_palette:: @ 8DA2748 + .incbin "graphics/pokemon/palettes/ledian_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA2748, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_ledian_back_pic:: @ 8DA2770 + .incbin "graphics/pokemon/back_pics/ledian_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA2770, 0x0358 + + .align 2 +gFile_graphics_pokemon_palettes_ledian_shiny_palette:: @ 8DA2AC8 + .incbin "graphics/pokemon/palettes/ledian_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA2AC8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_ledian_icon:: @ 8DA2AF0 + .incbin "graphics/pokemon/icons/ledian_icon.4bpp" + @ .incbin "baserom.gba", 0xDA2AF0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_ledian_footprint:: @ 8DA2EF0 + .incbin "graphics/pokemon/footprints/ledian_footprint.1bpp" + @ .incbin "baserom.gba", 0xDA2EF0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_spinarak_still_front_pic:: @ 8DA2F10 + .incbin "graphics/pokemon/front_pics/spinarak_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA2F10, 0x0274 + + .align 2 +gFile_graphics_pokemon_palettes_spinarak_palette:: @ 8DA3184 + .incbin "graphics/pokemon/palettes/spinarak_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA3184, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_spinarak_back_pic:: @ 8DA31AC + .incbin "graphics/pokemon/back_pics/spinarak_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA31AC, 0x0264 + + .align 2 +gFile_graphics_pokemon_palettes_spinarak_shiny_palette:: @ 8DA3410 + .incbin "graphics/pokemon/palettes/spinarak_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA3410, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_spinarak_icon:: @ 8DA3438 + .incbin "graphics/pokemon/icons/spinarak_icon.4bpp" + @ .incbin "baserom.gba", 0xDA3438, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_spinarak_footprint:: @ 8DA3838 + .incbin "graphics/pokemon/footprints/spinarak_footprint.1bpp" + @ .incbin "baserom.gba", 0xDA3838, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_ariados_still_front_pic:: @ 8DA3858 + .incbin "graphics/pokemon/front_pics/ariados_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA3858, 0x03C0 + + .align 2 +gFile_graphics_pokemon_palettes_ariados_palette:: @ 8DA3C18 + .incbin "graphics/pokemon/palettes/ariados_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA3C18, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_ariados_back_pic:: @ 8DA3C40 + .incbin "graphics/pokemon/back_pics/ariados_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA3C40, 0x0378 + + .align 2 +gFile_graphics_pokemon_palettes_ariados_shiny_palette:: @ 8DA3FB8 + .incbin "graphics/pokemon/palettes/ariados_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA3FB8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_ariados_icon:: @ 8DA3FE0 + .incbin "graphics/pokemon/icons/ariados_icon.4bpp" + @ .incbin "baserom.gba", 0xDA3FE0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_ariados_footprint:: @ 8DA43E0 + .incbin "graphics/pokemon/footprints/ariados_footprint.1bpp" + @ .incbin "baserom.gba", 0xDA43E0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_crobat_still_front_pic:: @ 8DA4400 + .incbin "graphics/pokemon/front_pics/crobat_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA4400, 0x03B0 + + .align 2 +gFile_graphics_pokemon_palettes_crobat_palette:: @ 8DA47B0 + .incbin "graphics/pokemon/palettes/crobat_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA47B0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_crobat_back_pic:: @ 8DA47D8 + .incbin "graphics/pokemon/back_pics/crobat_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA47D8, 0x0308 + + .align 2 +gFile_graphics_pokemon_palettes_crobat_shiny_palette:: @ 8DA4AE0 + .incbin "graphics/pokemon/palettes/crobat_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA4AE0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_crobat_icon:: @ 8DA4B08 + .incbin "graphics/pokemon/icons/crobat_icon.4bpp" + @ .incbin "baserom.gba", 0xDA4B08, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_crobat_footprint:: @ 8DA4F08 + .incbin "graphics/pokemon/footprints/crobat_footprint.1bpp" + @ .incbin "baserom.gba", 0xDA4F08, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_chinchou_still_front_pic:: @ 8DA4F28 + .incbin "graphics/pokemon/front_pics/chinchou_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA4F28, 0x02D8 + + .align 2 +gFile_graphics_pokemon_palettes_chinchou_palette:: @ 8DA5200 + .incbin "graphics/pokemon/palettes/chinchou_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA5200, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_chinchou_back_pic:: @ 8DA5228 + .incbin "graphics/pokemon/back_pics/chinchou_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA5228, 0x02F8 + + .align 2 +gFile_graphics_pokemon_palettes_chinchou_shiny_palette:: @ 8DA5520 + .incbin "graphics/pokemon/palettes/chinchou_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA5520, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_chinchou_icon:: @ 8DA5548 + .incbin "graphics/pokemon/icons/chinchou_icon.4bpp" + @ .incbin "baserom.gba", 0xDA5548, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_chinchou_footprint:: @ 8DA5948 + .incbin "graphics/pokemon/footprints/chinchou_footprint.1bpp" + @ .incbin "baserom.gba", 0xDA5948, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_lanturn_still_front_pic:: @ 8DA5968 + .incbin "graphics/pokemon/front_pics/lanturn_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA5968, 0x0370 + + .align 2 +gFile_graphics_pokemon_palettes_lanturn_palette:: @ 8DA5CD8 + .incbin "graphics/pokemon/palettes/lanturn_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA5CD8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_lanturn_back_pic:: @ 8DA5D00 + .incbin "graphics/pokemon/back_pics/lanturn_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA5D00, 0x0300 + + .align 2 +gFile_graphics_pokemon_palettes_lanturn_shiny_palette:: @ 8DA6000 + .incbin "graphics/pokemon/palettes/lanturn_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA6000, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_lanturn_icon:: @ 8DA6028 + .incbin "graphics/pokemon/icons/lanturn_icon.4bpp" + @ .incbin "baserom.gba", 0xDA6028, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_lanturn_footprint:: @ 8DA6428 + .incbin "graphics/pokemon/footprints/lanturn_footprint.1bpp" + @ .incbin "baserom.gba", 0xDA6428, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_pichu_still_front_pic:: @ 8DA6448 + .incbin "graphics/pokemon/front_pics/pichu_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA6448, 0x021C + + .align 2 +gFile_graphics_pokemon_palettes_pichu_palette:: @ 8DA6664 + .incbin "graphics/pokemon/palettes/pichu_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA6664, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_pichu_back_pic:: @ 8DA668C + .incbin "graphics/pokemon/back_pics/pichu_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA668C, 0x025C + + .align 2 +gFile_graphics_pokemon_palettes_pichu_shiny_palette:: @ 8DA68E8 + .incbin "graphics/pokemon/palettes/pichu_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA68E8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_pichu_icon:: @ 8DA6910 + .incbin "graphics/pokemon/icons/pichu_icon.4bpp" + @ .incbin "baserom.gba", 0xDA6910, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_pichu_footprint:: @ 8DA6D10 + .incbin "graphics/pokemon/footprints/pichu_footprint.1bpp" + @ .incbin "baserom.gba", 0xDA6D10, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_cleffa_still_front_pic:: @ 8DA6D30 + .incbin "graphics/pokemon/front_pics/cleffa_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA6D30, 0x01E0 + + .align 2 +gFile_graphics_pokemon_palettes_cleffa_palette:: @ 8DA6F10 + .incbin "graphics/pokemon/palettes/cleffa_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA6F10, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_cleffa_back_pic:: @ 8DA6F38 + .incbin "graphics/pokemon/back_pics/cleffa_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA6F38, 0x023C + + .align 2 +gFile_graphics_pokemon_palettes_cleffa_shiny_palette:: @ 8DA7174 + .incbin "graphics/pokemon/palettes/cleffa_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA7174, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_cleffa_icon:: @ 8DA719C + .incbin "graphics/pokemon/icons/cleffa_icon.4bpp" + @ .incbin "baserom.gba", 0xDA719C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_cleffa_footprint:: @ 8DA759C + .incbin "graphics/pokemon/footprints/cleffa_footprint.1bpp" + @ .incbin "baserom.gba", 0xDA759C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_igglybuff_still_front_pic:: @ 8DA75BC + .incbin "graphics/pokemon/front_pics/igglybuff_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA75BC, 0x01E8 + + .align 2 +gFile_graphics_pokemon_palettes_igglybuff_palette:: @ 8DA77A4 + .incbin "graphics/pokemon/palettes/igglybuff_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA77A4, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_igglybuff_back_pic:: @ 8DA77CC + .incbin "graphics/pokemon/back_pics/igglybuff_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA77CC, 0x023C + + .align 2 +gFile_graphics_pokemon_palettes_igglybuff_shiny_palette:: @ 8DA7A08 + .incbin "graphics/pokemon/palettes/igglybuff_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA7A08, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_igglybuff_icon:: @ 8DA7A30 + .incbin "graphics/pokemon/icons/igglybuff_icon.4bpp" + @ .incbin "baserom.gba", 0xDA7A30, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_igglybuff_footprint:: @ 8DA7E30 + .incbin "graphics/pokemon/footprints/igglybuff_footprint.1bpp" + @ .incbin "baserom.gba", 0xDA7E30, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_togepi_still_front_pic:: @ 8DA7E50 + .incbin "graphics/pokemon/front_pics/togepi_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA7E50, 0x01D4 + + .align 2 +gFile_graphics_pokemon_palettes_togepi_palette:: @ 8DA8024 + .incbin "graphics/pokemon/palettes/togepi_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA8024, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_togepi_back_pic:: @ 8DA804C + .incbin "graphics/pokemon/back_pics/togepi_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA804C, 0x0274 + + .align 2 +gFile_graphics_pokemon_palettes_togepi_shiny_palette:: @ 8DA82C0 + .incbin "graphics/pokemon/palettes/togepi_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA82C0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_togepi_icon:: @ 8DA82E8 + .incbin "graphics/pokemon/icons/togepi_icon.4bpp" + @ .incbin "baserom.gba", 0xDA82E8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_togepi_footprint:: @ 8DA86E8 + .incbin "graphics/pokemon/footprints/togepi_footprint.1bpp" + @ .incbin "baserom.gba", 0xDA86E8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_togetic_still_front_pic:: @ 8DA8708 + .incbin "graphics/pokemon/front_pics/togetic_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA8708, 0x0274 + + .align 2 +gFile_graphics_pokemon_palettes_togetic_palette:: @ 8DA897C + .incbin "graphics/pokemon/palettes/togetic_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA897C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_togetic_back_pic:: @ 8DA89A4 + .incbin "graphics/pokemon/back_pics/togetic_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA89A4, 0x032C + + .align 2 +gFile_graphics_pokemon_palettes_togetic_shiny_palette:: @ 8DA8CD0 + .incbin "graphics/pokemon/palettes/togetic_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA8CD0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_togetic_icon:: @ 8DA8CF8 + .incbin "graphics/pokemon/icons/togetic_icon.4bpp" + @ .incbin "baserom.gba", 0xDA8CF8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_togetic_footprint:: @ 8DA90F8 + .incbin "graphics/pokemon/footprints/togetic_footprint.1bpp" + @ .incbin "baserom.gba", 0xDA90F8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_natu_still_front_pic:: @ 8DA9118 + .incbin "graphics/pokemon/front_pics/natu_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA9118, 0x01CC + + .align 2 +gFile_graphics_pokemon_palettes_natu_palette:: @ 8DA92E4 + .incbin "graphics/pokemon/palettes/natu_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA92E4, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_natu_back_pic:: @ 8DA930C + .incbin "graphics/pokemon/back_pics/natu_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA930C, 0x0214 + + .align 2 +gFile_graphics_pokemon_palettes_natu_shiny_palette:: @ 8DA9520 + .incbin "graphics/pokemon/palettes/natu_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA9520, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_natu_icon:: @ 8DA9548 + .incbin "graphics/pokemon/icons/natu_icon.4bpp" + @ .incbin "baserom.gba", 0xDA9548, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_natu_footprint:: @ 8DA9948 + .incbin "graphics/pokemon/footprints/natu_footprint.1bpp" + @ .incbin "baserom.gba", 0xDA9948, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_xatu_still_front_pic:: @ 8DA9968 + .incbin "graphics/pokemon/front_pics/xatu_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA9968, 0x02DC + + .align 2 +gFile_graphics_pokemon_palettes_xatu_palette:: @ 8DA9C44 + .incbin "graphics/pokemon/palettes/xatu_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA9C44, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_xatu_back_pic:: @ 8DA9C6C + .incbin "graphics/pokemon/back_pics/xatu_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDA9C6C, 0x0378 + + .align 2 +gFile_graphics_pokemon_palettes_xatu_shiny_palette:: @ 8DA9FE4 + .incbin "graphics/pokemon/palettes/xatu_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDA9FE4, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_xatu_icon:: @ 8DAA00C + .incbin "graphics/pokemon/icons/xatu_icon.4bpp" + @ .incbin "baserom.gba", 0xDAA00C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_xatu_footprint:: @ 8DAA40C + .incbin "graphics/pokemon/footprints/xatu_footprint.1bpp" + @ .incbin "baserom.gba", 0xDAA40C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_mareep_still_front_pic:: @ 8DAA42C + .incbin "graphics/pokemon/front_pics/mareep_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDAA42C, 0x02B4 + + .align 2 +gFile_graphics_pokemon_palettes_mareep_palette:: @ 8DAA6E0 + .incbin "graphics/pokemon/palettes/mareep_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDAA6E0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_mareep_back_pic:: @ 8DAA708 + .incbin "graphics/pokemon/back_pics/mareep_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDAA708, 0x02F4 + + .align 2 +gFile_graphics_pokemon_palettes_mareep_shiny_palette:: @ 8DAA9FC + .incbin "graphics/pokemon/palettes/mareep_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDAA9FC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_mareep_icon:: @ 8DAAA24 + .incbin "graphics/pokemon/icons/mareep_icon.4bpp" + @ .incbin "baserom.gba", 0xDAAA24, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_mareep_footprint:: @ 8DAAE24 + .incbin "graphics/pokemon/footprints/mareep_footprint.1bpp" + @ .incbin "baserom.gba", 0xDAAE24, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_flaaffy_still_front_pic:: @ 8DAAE44 + .incbin "graphics/pokemon/front_pics/flaaffy_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDAAE44, 0x0300 + + .align 2 +gFile_graphics_pokemon_palettes_flaaffy_palette:: @ 8DAB144 + .incbin "graphics/pokemon/palettes/flaaffy_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDAB144, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_flaaffy_back_pic:: @ 8DAB16C + .incbin "graphics/pokemon/back_pics/flaaffy_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDAB16C, 0x031C + + .align 2 +gFile_graphics_pokemon_palettes_flaaffy_shiny_palette:: @ 8DAB488 + .incbin "graphics/pokemon/palettes/flaaffy_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDAB488, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_flaaffy_icon:: @ 8DAB4B0 + .incbin "graphics/pokemon/icons/flaaffy_icon.4bpp" + @ .incbin "baserom.gba", 0xDAB4B0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_flaaffy_footprint:: @ 8DAB8B0 + .incbin "graphics/pokemon/footprints/flaaffy_footprint.1bpp" + @ .incbin "baserom.gba", 0xDAB8B0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_ampharos_still_front_pic:: @ 8DAB8D0 + .incbin "graphics/pokemon/front_pics/ampharos_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDAB8D0, 0x035C + + .align 2 +gFile_graphics_pokemon_palettes_ampharos_palette:: @ 8DABC2C + .incbin "graphics/pokemon/palettes/ampharos_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDABC2C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_ampharos_back_pic:: @ 8DABC54 + .incbin "graphics/pokemon/back_pics/ampharos_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDABC54, 0x0378 + + .align 2 +gFile_graphics_pokemon_palettes_ampharos_shiny_palette:: @ 8DABFCC + .incbin "graphics/pokemon/palettes/ampharos_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDABFCC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_ampharos_icon:: @ 8DABFF4 + .incbin "graphics/pokemon/icons/ampharos_icon.4bpp" + @ .incbin "baserom.gba", 0xDABFF4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_ampharos_footprint:: @ 8DAC3F4 + .incbin "graphics/pokemon/footprints/ampharos_footprint.1bpp" + @ .incbin "baserom.gba", 0xDAC3F4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_bellossom_still_front_pic:: @ 8DAC414 + .incbin "graphics/pokemon/front_pics/bellossom_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDAC414, 0x0270 + + .align 2 +gFile_graphics_pokemon_palettes_bellossom_palette:: @ 8DAC684 + .incbin "graphics/pokemon/palettes/bellossom_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDAC684, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_bellossom_back_pic:: @ 8DAC6AC + .incbin "graphics/pokemon/back_pics/bellossom_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDAC6AC, 0x0324 + + .align 2 +gFile_graphics_pokemon_palettes_bellossom_shiny_palette:: @ 8DAC9D0 + .incbin "graphics/pokemon/palettes/bellossom_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDAC9D0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_bellossom_icon:: @ 8DAC9F8 + .incbin "graphics/pokemon/icons/bellossom_icon.4bpp" + @ .incbin "baserom.gba", 0xDAC9F8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_bellossom_footprint:: @ 8DACDF8 + .incbin "graphics/pokemon/footprints/bellossom_footprint.1bpp" + @ .incbin "baserom.gba", 0xDACDF8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_marill_still_front_pic:: @ 8DACE18 + .incbin "graphics/pokemon/front_pics/marill_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDACE18, 0x02C4 + + .align 2 +gFile_graphics_pokemon_palettes_marill_palette:: @ 8DAD0DC + .incbin "graphics/pokemon/palettes/marill_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDAD0DC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_marill_back_pic:: @ 8DAD104 + .incbin "graphics/pokemon/back_pics/marill_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDAD104, 0x02AC + + .align 2 +gFile_graphics_pokemon_palettes_marill_shiny_palette:: @ 8DAD3B0 + .incbin "graphics/pokemon/palettes/marill_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDAD3B0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_marill_icon:: @ 8DAD3D8 + .incbin "graphics/pokemon/icons/marill_icon.4bpp" + @ .incbin "baserom.gba", 0xDAD3D8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_marill_footprint:: @ 8DAD7D8 + .incbin "graphics/pokemon/footprints/marill_footprint.1bpp" + @ .incbin "baserom.gba", 0xDAD7D8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_azumarill_still_front_pic:: @ 8DAD7F8 + .incbin "graphics/pokemon/front_pics/azumarill_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDAD7F8, 0x0300 + + .align 2 +gFile_graphics_pokemon_palettes_azumarill_palette:: @ 8DADAF8 + .incbin "graphics/pokemon/palettes/azumarill_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDADAF8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_azumarill_back_pic:: @ 8DADB20 + .incbin "graphics/pokemon/back_pics/azumarill_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDADB20, 0x02BC + + .align 2 +gFile_graphics_pokemon_palettes_azumarill_shiny_palette:: @ 8DADDDC + .incbin "graphics/pokemon/palettes/azumarill_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDADDDC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_azumarill_icon:: @ 8DADE04 + .incbin "graphics/pokemon/icons/azumarill_icon.4bpp" + @ .incbin "baserom.gba", 0xDADE04, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_azumarill_footprint:: @ 8DAE204 + .incbin "graphics/pokemon/footprints/azumarill_footprint.1bpp" + @ .incbin "baserom.gba", 0xDAE204, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_sudowoodo_still_front_pic:: @ 8DAE224 + .incbin "graphics/pokemon/front_pics/sudowoodo_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDAE224, 0x0318 + + .align 2 +gFile_graphics_pokemon_palettes_sudowoodo_palette:: @ 8DAE53C + .incbin "graphics/pokemon/palettes/sudowoodo_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDAE53C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_sudowoodo_back_pic:: @ 8DAE564 + .incbin "graphics/pokemon/back_pics/sudowoodo_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDAE564, 0x035C + + .align 2 +gFile_graphics_pokemon_palettes_sudowoodo_shiny_palette:: @ 8DAE8C0 + .incbin "graphics/pokemon/palettes/sudowoodo_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDAE8C0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_sudowoodo_icon:: @ 8DAE8E8 + .incbin "graphics/pokemon/icons/sudowoodo_icon.4bpp" + @ .incbin "baserom.gba", 0xDAE8E8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_sudowoodo_footprint:: @ 8DAECE8 + .incbin "graphics/pokemon/footprints/sudowoodo_footprint.1bpp" + @ .incbin "baserom.gba", 0xDAECE8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_politoed_still_front_pic:: @ 8DAED08 + .incbin "graphics/pokemon/front_pics/politoed_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDAED08, 0x033C + + .align 2 +gFile_graphics_pokemon_palettes_politoed_palette:: @ 8DAF044 + .incbin "graphics/pokemon/palettes/politoed_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDAF044, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_politoed_back_pic:: @ 8DAF06C + .incbin "graphics/pokemon/back_pics/politoed_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDAF06C, 0x02BC + + .align 2 +gFile_graphics_pokemon_palettes_politoed_shiny_palette:: @ 8DAF328 + .incbin "graphics/pokemon/palettes/politoed_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDAF328, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_politoed_icon:: @ 8DAF350 + .incbin "graphics/pokemon/icons/politoed_icon.4bpp" + @ .incbin "baserom.gba", 0xDAF350, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_politoed_footprint:: @ 8DAF750 + .incbin "graphics/pokemon/footprints/politoed_footprint.1bpp" + @ .incbin "baserom.gba", 0xDAF750, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_hoppip_still_front_pic:: @ 8DAF770 + .incbin "graphics/pokemon/front_pics/hoppip_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDAF770, 0x02B4 + + .align 2 +gFile_graphics_pokemon_palettes_hoppip_palette:: @ 8DAFA24 + .incbin "graphics/pokemon/palettes/hoppip_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDAFA24, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_hoppip_back_pic:: @ 8DAFA4C + .incbin "graphics/pokemon/back_pics/hoppip_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDAFA4C, 0x02E0 + + .align 2 +gFile_graphics_pokemon_palettes_hoppip_shiny_palette:: @ 8DAFD2C + .incbin "graphics/pokemon/palettes/hoppip_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDAFD2C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_hoppip_icon:: @ 8DAFD54 + .incbin "graphics/pokemon/icons/hoppip_icon.4bpp" + @ .incbin "baserom.gba", 0xDAFD54, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_hoppip_footprint:: @ 8DB0154 + .incbin "graphics/pokemon/footprints/hoppip_footprint.1bpp" + @ .incbin "baserom.gba", 0xDB0154, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_skiploom_still_front_pic:: @ 8DB0174 + .incbin "graphics/pokemon/front_pics/skiploom_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB0174, 0x0288 + + .align 2 +gFile_graphics_pokemon_palettes_skiploom_palette:: @ 8DB03FC + .incbin "graphics/pokemon/palettes/skiploom_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB03FC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_skiploom_back_pic:: @ 8DB0424 + .incbin "graphics/pokemon/back_pics/skiploom_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB0424, 0x02E0 + + .align 2 +gFile_graphics_pokemon_palettes_skiploom_shiny_palette:: @ 8DB0704 + .incbin "graphics/pokemon/palettes/skiploom_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB0704, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_skiploom_icon:: @ 8DB072C + .incbin "graphics/pokemon/icons/skiploom_icon.4bpp" + @ .incbin "baserom.gba", 0xDB072C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_skiploom_footprint:: @ 8DB0B2C + .incbin "graphics/pokemon/footprints/skiploom_footprint.1bpp" + @ .incbin "baserom.gba", 0xDB0B2C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_jumpluff_still_front_pic:: @ 8DB0B4C + .incbin "graphics/pokemon/front_pics/jumpluff_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB0B4C, 0x036C + + .align 2 +gFile_graphics_pokemon_palettes_jumpluff_palette:: @ 8DB0EB8 + .incbin "graphics/pokemon/palettes/jumpluff_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB0EB8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_jumpluff_back_pic:: @ 8DB0EE0 + .incbin "graphics/pokemon/back_pics/jumpluff_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB0EE0, 0x03F8 + + .align 2 +gFile_graphics_pokemon_palettes_jumpluff_shiny_palette:: @ 8DB12D8 + .incbin "graphics/pokemon/palettes/jumpluff_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB12D8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_jumpluff_icon:: @ 8DB1300 + .incbin "graphics/pokemon/icons/jumpluff_icon.4bpp" + @ .incbin "baserom.gba", 0xDB1300, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_jumpluff_footprint:: @ 8DB1700 + .incbin "graphics/pokemon/footprints/jumpluff_footprint.1bpp" + @ .incbin "baserom.gba", 0xDB1700, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_aipom_still_front_pic:: @ 8DB1720 + .incbin "graphics/pokemon/front_pics/aipom_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB1720, 0x02FC + + .align 2 +gFile_graphics_pokemon_palettes_aipom_palette:: @ 8DB1A1C + .incbin "graphics/pokemon/palettes/aipom_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB1A1C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_aipom_back_pic:: @ 8DB1A44 + .incbin "graphics/pokemon/back_pics/aipom_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB1A44, 0x02F4 + + .align 2 +gFile_graphics_pokemon_palettes_aipom_shiny_palette:: @ 8DB1D38 + .incbin "graphics/pokemon/palettes/aipom_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB1D38, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_aipom_icon:: @ 8DB1D60 + .incbin "graphics/pokemon/icons/aipom_icon.4bpp" + @ .incbin "baserom.gba", 0xDB1D60, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_aipom_footprint:: @ 8DB2160 + .incbin "graphics/pokemon/footprints/aipom_footprint.1bpp" + @ .incbin "baserom.gba", 0xDB2160, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_sunkern_still_front_pic:: @ 8DB2180 + .incbin "graphics/pokemon/front_pics/sunkern_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB2180, 0x0238 + + .align 2 +gFile_graphics_pokemon_palettes_sunkern_palette:: @ 8DB23B8 + .incbin "graphics/pokemon/palettes/sunkern_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB23B8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_sunkern_back_pic:: @ 8DB23E0 + .incbin "graphics/pokemon/back_pics/sunkern_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB23E0, 0x02C4 + + .align 2 +gFile_graphics_pokemon_palettes_sunkern_shiny_palette:: @ 8DB26A4 + .incbin "graphics/pokemon/palettes/sunkern_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB26A4, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_sunkern_icon:: @ 8DB26CC + .incbin "graphics/pokemon/icons/sunkern_icon.4bpp" + @ .incbin "baserom.gba", 0xDB26CC, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_sunkern_footprint:: @ 8DB2ACC + .incbin "graphics/pokemon/footprints/sunkern_footprint.1bpp" + @ .incbin "baserom.gba", 0xDB2ACC, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_sunflora_still_front_pic:: @ 8DB2AEC + .incbin "graphics/pokemon/front_pics/sunflora_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB2AEC, 0x0358 + + .align 2 +gFile_graphics_pokemon_palettes_sunflora_palette:: @ 8DB2E44 + .incbin "graphics/pokemon/palettes/sunflora_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB2E44, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_sunflora_back_pic:: @ 8DB2E6C + .incbin "graphics/pokemon/back_pics/sunflora_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB2E6C, 0x03A0 + + .align 2 +gFile_graphics_pokemon_palettes_sunflora_shiny_palette:: @ 8DB320C + .incbin "graphics/pokemon/palettes/sunflora_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB320C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_sunflora_icon:: @ 8DB3234 + .incbin "graphics/pokemon/icons/sunflora_icon.4bpp" + @ .incbin "baserom.gba", 0xDB3234, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_sunflora_footprint:: @ 8DB3634 + .incbin "graphics/pokemon/footprints/sunflora_footprint.1bpp" + @ .incbin "baserom.gba", 0xDB3634, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_yanma_still_front_pic:: @ 8DB3654 + .incbin "graphics/pokemon/front_pics/yanma_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB3654, 0x0384 + + .align 2 +gFile_graphics_pokemon_palettes_yanma_palette:: @ 8DB39D8 + .incbin "graphics/pokemon/palettes/yanma_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB39D8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_yanma_back_pic:: @ 8DB3A00 + .incbin "graphics/pokemon/back_pics/yanma_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB3A00, 0x03B4 + + .align 2 +gFile_graphics_pokemon_palettes_yanma_shiny_palette:: @ 8DB3DB4 + .incbin "graphics/pokemon/palettes/yanma_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB3DB4, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_yanma_icon:: @ 8DB3DDC + .incbin "graphics/pokemon/icons/yanma_icon.4bpp" + @ .incbin "baserom.gba", 0xDB3DDC, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_yanma_footprint:: @ 8DB41DC + .incbin "graphics/pokemon/footprints/yanma_footprint.1bpp" + @ .incbin "baserom.gba", 0xDB41DC, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_wooper_still_front_pic:: @ 8DB41FC + .incbin "graphics/pokemon/front_pics/wooper_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB41FC, 0x0240 + + .align 2 +gFile_graphics_pokemon_palettes_wooper_palette:: @ 8DB443C + .incbin "graphics/pokemon/palettes/wooper_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB443C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_wooper_back_pic:: @ 8DB4464 + .incbin "graphics/pokemon/back_pics/wooper_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB4464, 0x028C + + .align 2 +gFile_graphics_pokemon_palettes_wooper_shiny_palette:: @ 8DB46F0 + .incbin "graphics/pokemon/palettes/wooper_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB46F0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_wooper_icon:: @ 8DB4718 + .incbin "graphics/pokemon/icons/wooper_icon.4bpp" + @ .incbin "baserom.gba", 0xDB4718, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_wooper_footprint:: @ 8DB4B18 + .incbin "graphics/pokemon/footprints/wooper_footprint.1bpp" + @ .incbin "baserom.gba", 0xDB4B18, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_quagsire_still_front_pic:: @ 8DB4B38 + .incbin "graphics/pokemon/front_pics/quagsire_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB4B38, 0x0374 + + .align 2 +gFile_graphics_pokemon_palettes_quagsire_palette:: @ 8DB4EAC + .incbin "graphics/pokemon/palettes/quagsire_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB4EAC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_quagsire_back_pic:: @ 8DB4ED4 + .incbin "graphics/pokemon/back_pics/quagsire_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB4ED4, 0x02FC + + .align 2 +gFile_graphics_pokemon_palettes_quagsire_shiny_palette:: @ 8DB51D0 + .incbin "graphics/pokemon/palettes/quagsire_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB51D0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_quagsire_icon:: @ 8DB51F8 + .incbin "graphics/pokemon/icons/quagsire_icon.4bpp" + @ .incbin "baserom.gba", 0xDB51F8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_quagsire_footprint:: @ 8DB55F8 + .incbin "graphics/pokemon/footprints/quagsire_footprint.1bpp" + @ .incbin "baserom.gba", 0xDB55F8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_espeon_still_front_pic:: @ 8DB5618 + .incbin "graphics/pokemon/front_pics/espeon_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB5618, 0x0340 + + .align 2 +gFile_graphics_pokemon_palettes_espeon_palette:: @ 8DB5958 + .incbin "graphics/pokemon/palettes/espeon_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB5958, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_espeon_back_pic:: @ 8DB597C + .incbin "graphics/pokemon/back_pics/espeon_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB597C, 0x02DC + + .align 2 +gFile_graphics_pokemon_palettes_espeon_shiny_palette:: @ 8DB5C58 + .incbin "graphics/pokemon/palettes/espeon_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB5C58, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_espeon_icon:: @ 8DB5C7C + .incbin "graphics/pokemon/icons/espeon_icon.4bpp" + @ .incbin "baserom.gba", 0xDB5C7C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_espeon_footprint:: @ 8DB607C + .incbin "graphics/pokemon/footprints/espeon_footprint.1bpp" + @ .incbin "baserom.gba", 0xDB607C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_umbreon_still_front_pic:: @ 8DB609C + .incbin "graphics/pokemon/front_pics/umbreon_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB609C, 0x0314 + + .align 2 +gFile_graphics_pokemon_palettes_umbreon_palette:: @ 8DB63B0 + .incbin "graphics/pokemon/palettes/umbreon_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB63B0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_umbreon_back_pic:: @ 8DB63D8 + .incbin "graphics/pokemon/back_pics/umbreon_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB63D8, 0x0314 + + .align 2 +gFile_graphics_pokemon_palettes_umbreon_shiny_palette:: @ 8DB66EC + .incbin "graphics/pokemon/palettes/umbreon_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB66EC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_umbreon_icon:: @ 8DB6714 + .incbin "graphics/pokemon/icons/umbreon_icon.4bpp" + @ .incbin "baserom.gba", 0xDB6714, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_umbreon_footprint:: @ 8DB6B14 + .incbin "graphics/pokemon/footprints/umbreon_footprint.1bpp" + @ .incbin "baserom.gba", 0xDB6B14, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_murkrow_still_front_pic:: @ 8DB6B34 + .incbin "graphics/pokemon/front_pics/murkrow_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB6B34, 0x02E0 + + .align 2 +gFile_graphics_pokemon_palettes_murkrow_palette:: @ 8DB6E14 + .incbin "graphics/pokemon/palettes/murkrow_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB6E14, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_murkrow_back_pic:: @ 8DB6E3C + .incbin "graphics/pokemon/back_pics/murkrow_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB6E3C, 0x0318 + + .align 2 +gFile_graphics_pokemon_palettes_murkrow_shiny_palette:: @ 8DB7154 + .incbin "graphics/pokemon/palettes/murkrow_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB7154, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_murkrow_icon:: @ 8DB717C + .incbin "graphics/pokemon/icons/murkrow_icon.4bpp" + @ .incbin "baserom.gba", 0xDB717C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_murkrow_footprint:: @ 8DB757C + .incbin "graphics/pokemon/footprints/murkrow_footprint.1bpp" + @ .incbin "baserom.gba", 0xDB757C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_slowking_still_front_pic:: @ 8DB759C + .incbin "graphics/pokemon/front_pics/slowking_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB759C, 0x03B4 + + .align 2 +gFile_graphics_pokemon_palettes_slowking_palette:: @ 8DB7950 + .incbin "graphics/pokemon/palettes/slowking_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB7950, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_slowking_back_pic:: @ 8DB7978 + .incbin "graphics/pokemon/back_pics/slowking_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB7978, 0x038C + + .align 2 +gFile_graphics_pokemon_palettes_slowking_shiny_palette:: @ 8DB7D04 + .incbin "graphics/pokemon/palettes/slowking_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB7D04, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_slowking_icon:: @ 8DB7D2C + .incbin "graphics/pokemon/icons/slowking_icon.4bpp" + @ .incbin "baserom.gba", 0xDB7D2C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_slowking_footprint:: @ 8DB812C + .incbin "graphics/pokemon/footprints/slowking_footprint.1bpp" + @ .incbin "baserom.gba", 0xDB812C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_misdreavus_still_front_pic:: @ 8DB814C + .incbin "graphics/pokemon/front_pics/misdreavus_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB814C, 0x02C0 + + .align 2 +gFile_graphics_pokemon_palettes_misdreavus_palette:: @ 8DB840C + .incbin "graphics/pokemon/palettes/misdreavus_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB840C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_misdreavus_back_pic:: @ 8DB8434 + .incbin "graphics/pokemon/back_pics/misdreavus_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB8434, 0x0324 + + .align 2 +gFile_graphics_pokemon_palettes_misdreavus_shiny_palette:: @ 8DB8758 + .incbin "graphics/pokemon/palettes/misdreavus_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB8758, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_misdreavus_icon:: @ 8DB8780 + .incbin "graphics/pokemon/icons/misdreavus_icon.4bpp" + @ .incbin "baserom.gba", 0xDB8780, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_misdreavus_footprint:: @ 8DB8B80 + .incbin "graphics/pokemon/footprints/misdreavus_footprint.1bpp" + @ .incbin "baserom.gba", 0xDB8B80, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_unown_a_still_front_pic:: @ 8DB8BA0 + .incbin "graphics/pokemon/front_pics/unown_a_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB8BA0, 0x01D4 + + .align 2 +gFile_graphics_pokemon_palettes_unown_palette:: @ 8DB8D74 + .incbin "graphics/pokemon/palettes/unown_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB8D74, 0x0020 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_a_back_pic:: @ 8DB8D94 + .incbin "graphics/pokemon/back_pics/unown_a_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB8D94, 0x0200 + + .align 2 +gFile_graphics_pokemon_palettes_unown_shiny_palette:: @ 8DB8F94 + .incbin "graphics/pokemon/palettes/unown_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB8F94, 0x0020 + + .align 2 +gFile_graphics_pokemon_icons_unown_a_icon:: @ 8DB8FB4 + .incbin "graphics/pokemon/icons/unown_a_icon.4bpp" + @ .incbin "baserom.gba", 0xDB8FB4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_unown_footprint:: @ 8DB93B4 + .incbin "graphics/pokemon/footprints/unown_footprint.1bpp" + @ .incbin "baserom.gba", 0xDB93B4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_wobbuffet_still_front_pic:: @ 8DB93D4 + .incbin "graphics/pokemon/front_pics/wobbuffet_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB93D4, 0x0350 + + .align 2 +gFile_graphics_pokemon_palettes_wobbuffet_palette:: @ 8DB9724 + .incbin "graphics/pokemon/palettes/wobbuffet_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB9724, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_wobbuffet_back_pic:: @ 8DB974C + .incbin "graphics/pokemon/back_pics/wobbuffet_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB974C, 0x0244 + + .align 2 +gFile_graphics_pokemon_palettes_wobbuffet_shiny_palette:: @ 8DB9990 + .incbin "graphics/pokemon/palettes/wobbuffet_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDB9990, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_wobbuffet_icon:: @ 8DB99B8 + .incbin "graphics/pokemon/icons/wobbuffet_icon.4bpp" + @ .incbin "baserom.gba", 0xDB99B8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_wobbuffet_footprint:: @ 8DB9DB8 + .incbin "graphics/pokemon/footprints/wobbuffet_footprint.1bpp" + @ .incbin "baserom.gba", 0xDB9DB8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_girafarig_still_front_pic:: @ 8DB9DD8 + .incbin "graphics/pokemon/front_pics/girafarig_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDB9DD8, 0x0404 + + .align 2 +gFile_graphics_pokemon_palettes_girafarig_palette:: @ 8DBA1DC + .incbin "graphics/pokemon/palettes/girafarig_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDBA1DC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_girafarig_back_pic:: @ 8DBA204 + .incbin "graphics/pokemon/back_pics/girafarig_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDBA204, 0x03AC + + .align 2 +gFile_graphics_pokemon_palettes_girafarig_shiny_palette:: @ 8DBA5B0 + .incbin "graphics/pokemon/palettes/girafarig_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDBA5B0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_girafarig_icon:: @ 8DBA5D8 + .incbin "graphics/pokemon/icons/girafarig_icon.4bpp" + @ .incbin "baserom.gba", 0xDBA5D8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_girafarig_footprint:: @ 8DBA9D8 + .incbin "graphics/pokemon/footprints/girafarig_footprint.1bpp" + @ .incbin "baserom.gba", 0xDBA9D8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_pineco_still_front_pic:: @ 8DBA9F8 + .incbin "graphics/pokemon/front_pics/pineco_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDBA9F8, 0x0340 + + .align 2 +gFile_graphics_pokemon_palettes_pineco_palette:: @ 8DBAD38 + .incbin "graphics/pokemon/palettes/pineco_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDBAD38, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_pineco_back_pic:: @ 8DBAD5C + .incbin "graphics/pokemon/back_pics/pineco_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDBAD5C, 0x02D8 + + .align 2 +gFile_graphics_pokemon_palettes_pineco_shiny_palette:: @ 8DBB034 + .incbin "graphics/pokemon/palettes/pineco_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDBB034, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_pineco_icon:: @ 8DBB058 + .incbin "graphics/pokemon/icons/pineco_icon.4bpp" + @ .incbin "baserom.gba", 0xDBB058, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_pineco_footprint:: @ 8DBB458 + .incbin "graphics/pokemon/footprints/pineco_footprint.1bpp" + @ .incbin "baserom.gba", 0xDBB458, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_forretress_still_front_pic:: @ 8DBB478 + .incbin "graphics/pokemon/front_pics/forretress_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDBB478, 0x041C + + .align 2 +gFile_graphics_pokemon_palettes_forretress_palette:: @ 8DBB894 + .incbin "graphics/pokemon/palettes/forretress_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDBB894, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_forretress_back_pic:: @ 8DBB8BC + .incbin "graphics/pokemon/back_pics/forretress_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDBB8BC, 0x02C0 + + .align 2 +gFile_graphics_pokemon_palettes_forretress_shiny_palette:: @ 8DBBB7C + .incbin "graphics/pokemon/palettes/forretress_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDBBB7C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_forretress_icon:: @ 8DBBBA4 + .incbin "graphics/pokemon/icons/forretress_icon.4bpp" + @ .incbin "baserom.gba", 0xDBBBA4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_forretress_footprint:: @ 8DBBFA4 + .incbin "graphics/pokemon/footprints/forretress_footprint.1bpp" + @ .incbin "baserom.gba", 0xDBBFA4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_dunsparce_still_front_pic:: @ 8DBBFC4 + .incbin "graphics/pokemon/front_pics/dunsparce_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDBBFC4, 0x0310 + + .align 2 +gFile_graphics_pokemon_palettes_dunsparce_palette:: @ 8DBC2D4 + .incbin "graphics/pokemon/palettes/dunsparce_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDBC2D4, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_dunsparce_back_pic:: @ 8DBC2FC + .incbin "graphics/pokemon/back_pics/dunsparce_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDBC2FC, 0x02FC + + .align 2 +gFile_graphics_pokemon_palettes_dunsparce_shiny_palette:: @ 8DBC5F8 + .incbin "graphics/pokemon/palettes/dunsparce_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDBC5F8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_dunsparce_icon:: @ 8DBC620 + .incbin "graphics/pokemon/icons/dunsparce_icon.4bpp" + @ .incbin "baserom.gba", 0xDBC620, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_dunsparce_footprint:: @ 8DBCA20 + .incbin "graphics/pokemon/footprints/dunsparce_footprint.1bpp" + @ .incbin "baserom.gba", 0xDBCA20, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_gligar_still_front_pic:: @ 8DBCA40 + .incbin "graphics/pokemon/front_pics/gligar_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDBCA40, 0x0428 + + .align 2 +gFile_graphics_pokemon_palettes_gligar_palette:: @ 8DBCE68 + .incbin "graphics/pokemon/palettes/gligar_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDBCE68, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_gligar_back_pic:: @ 8DBCE90 + .incbin "graphics/pokemon/back_pics/gligar_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDBCE90, 0x03D8 + + .align 2 +gFile_graphics_pokemon_palettes_gligar_shiny_palette:: @ 8DBD268 + .incbin "graphics/pokemon/palettes/gligar_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDBD268, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_gligar_icon:: @ 8DBD290 + .incbin "graphics/pokemon/icons/gligar_icon.4bpp" + @ .incbin "baserom.gba", 0xDBD290, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_gligar_footprint:: @ 8DBD690 + .incbin "graphics/pokemon/footprints/gligar_footprint.1bpp" + @ .incbin "baserom.gba", 0xDBD690, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_steelix_still_front_pic:: @ 8DBD6B0 + .incbin "graphics/pokemon/front_pics/steelix_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDBD6B0, 0x04C8 + + .align 2 +gFile_graphics_pokemon_palettes_steelix_palette:: @ 8DBDB78 + .incbin "graphics/pokemon/palettes/steelix_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDBDB78, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_steelix_back_pic:: @ 8DBDB9C + .incbin "graphics/pokemon/back_pics/steelix_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDBDB9C, 0x040C + + .align 2 +gFile_graphics_pokemon_palettes_steelix_shiny_palette:: @ 8DBDFA8 + .incbin "graphics/pokemon/palettes/steelix_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDBDFA8, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_steelix_icon:: @ 8DBDFCC + .incbin "graphics/pokemon/icons/steelix_icon.4bpp" + @ .incbin "baserom.gba", 0xDBDFCC, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_steelix_footprint:: @ 8DBE3CC + .incbin "graphics/pokemon/footprints/steelix_footprint.1bpp" + @ .incbin "baserom.gba", 0xDBE3CC, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_snubbull_still_front_pic:: @ 8DBE3EC + .incbin "graphics/pokemon/front_pics/snubbull_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDBE3EC, 0x02D4 + + .align 2 +gFile_graphics_pokemon_palettes_snubbull_palette:: @ 8DBE6C0 + .incbin "graphics/pokemon/palettes/snubbull_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDBE6C0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_snubbull_back_pic:: @ 8DBE6E8 + .incbin "graphics/pokemon/back_pics/snubbull_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDBE6E8, 0x0328 + + .align 2 +gFile_graphics_pokemon_palettes_snubbull_shiny_palette:: @ 8DBEA10 + .incbin "graphics/pokemon/palettes/snubbull_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDBEA10, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_snubbull_icon:: @ 8DBEA38 + .incbin "graphics/pokemon/icons/snubbull_icon.4bpp" + @ .incbin "baserom.gba", 0xDBEA38, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_snubbull_footprint:: @ 8DBEE38 + .incbin "graphics/pokemon/footprints/snubbull_footprint.1bpp" + @ .incbin "baserom.gba", 0xDBEE38, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_granbull_still_front_pic:: @ 8DBEE58 + .incbin "graphics/pokemon/front_pics/granbull_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDBEE58, 0x038C + + .align 2 +gFile_graphics_pokemon_palettes_granbull_palette:: @ 8DBF1E4 + .incbin "graphics/pokemon/palettes/granbull_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDBF1E4, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_granbull_back_pic:: @ 8DBF20C + .incbin "graphics/pokemon/back_pics/granbull_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDBF20C, 0x0324 + + .align 2 +gFile_graphics_pokemon_palettes_granbull_shiny_palette:: @ 8DBF530 + .incbin "graphics/pokemon/palettes/granbull_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDBF530, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_granbull_icon:: @ 8DBF558 + .incbin "graphics/pokemon/icons/granbull_icon.4bpp" + @ .incbin "baserom.gba", 0xDBF558, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_granbull_footprint:: @ 8DBF958 + .incbin "graphics/pokemon/footprints/granbull_footprint.1bpp" + @ .incbin "baserom.gba", 0xDBF958, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_qwilfish_still_front_pic:: @ 8DBF978 + .incbin "graphics/pokemon/front_pics/qwilfish_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDBF978, 0x02C0 + + .align 2 +gFile_graphics_pokemon_palettes_qwilfish_palette:: @ 8DBFC38 + .incbin "graphics/pokemon/palettes/qwilfish_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDBFC38, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_qwilfish_back_pic:: @ 8DBFC60 + .incbin "graphics/pokemon/back_pics/qwilfish_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDBFC60, 0x02E0 + + .align 2 +gFile_graphics_pokemon_palettes_qwilfish_shiny_palette:: @ 8DBFF40 + .incbin "graphics/pokemon/palettes/qwilfish_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDBFF40, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_qwilfish_icon:: @ 8DBFF68 + .incbin "graphics/pokemon/icons/qwilfish_icon.4bpp" + @ .incbin "baserom.gba", 0xDBFF68, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_qwilfish_footprint:: @ 8DC0368 + .incbin "graphics/pokemon/footprints/qwilfish_footprint.1bpp" + @ .incbin "baserom.gba", 0xDC0368, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_scizor_still_front_pic:: @ 8DC0388 + .incbin "graphics/pokemon/front_pics/scizor_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC0388, 0x04E8 + + .align 2 +gFile_graphics_pokemon_palettes_scizor_palette:: @ 8DC0870 + .incbin "graphics/pokemon/palettes/scizor_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC0870, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_scizor_back_pic:: @ 8DC0898 + .incbin "graphics/pokemon/back_pics/scizor_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC0898, 0x0380 + + .align 2 +gFile_graphics_pokemon_palettes_scizor_shiny_palette:: @ 8DC0C18 + .incbin "graphics/pokemon/palettes/scizor_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC0C18, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_scizor_icon:: @ 8DC0C40 + .incbin "graphics/pokemon/icons/scizor_icon.4bpp" + @ .incbin "baserom.gba", 0xDC0C40, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_scizor_footprint:: @ 8DC1040 + .incbin "graphics/pokemon/footprints/scizor_footprint.1bpp" + @ .incbin "baserom.gba", 0xDC1040, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_shuckle_still_front_pic:: @ 8DC1060 + .incbin "graphics/pokemon/front_pics/shuckle_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC1060, 0x02C8 + + .align 2 +gFile_graphics_pokemon_palettes_shuckle_palette:: @ 8DC1328 + .incbin "graphics/pokemon/palettes/shuckle_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC1328, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_shuckle_back_pic:: @ 8DC1350 + .incbin "graphics/pokemon/back_pics/shuckle_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC1350, 0x0258 + + .align 2 +gFile_graphics_pokemon_palettes_shuckle_shiny_palette:: @ 8DC15A8 + .incbin "graphics/pokemon/palettes/shuckle_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC15A8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_shuckle_icon:: @ 8DC15D0 + .incbin "graphics/pokemon/icons/shuckle_icon.4bpp" + @ .incbin "baserom.gba", 0xDC15D0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_shuckle_footprint:: @ 8DC19D0 + .incbin "graphics/pokemon/footprints/shuckle_footprint.1bpp" + @ .incbin "baserom.gba", 0xDC19D0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_heracross_still_front_pic:: @ 8DC19F0 + .incbin "graphics/pokemon/front_pics/heracross_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC19F0, 0x03F0 + + .align 2 +gFile_graphics_pokemon_palettes_heracross_palette:: @ 8DC1DE0 + .incbin "graphics/pokemon/palettes/heracross_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC1DE0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_heracross_back_pic:: @ 8DC1E08 + .incbin "graphics/pokemon/back_pics/heracross_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC1E08, 0x0370 + + .align 2 +gFile_graphics_pokemon_palettes_heracross_shiny_palette:: @ 8DC2178 + .incbin "graphics/pokemon/palettes/heracross_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC2178, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_heracross_icon:: @ 8DC21A0 + .incbin "graphics/pokemon/icons/heracross_icon.4bpp" + @ .incbin "baserom.gba", 0xDC21A0, 0x0400 + +gUnknown_heracross_icon:: @ 8DC25A0 + .incbin "baserom.gba", 0xDC25A0, 0x400 + + .align 2 +gFile_graphics_pokemon_footprints_heracross_footprint:: @ 8DC29A0 + .incbin "graphics/pokemon/footprints/heracross_footprint.1bpp" + @ .incbin "baserom.gba", 0xDC29A0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_sneasel_still_front_pic:: @ 8DC29C0 + .incbin "graphics/pokemon/front_pics/sneasel_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC29C0, 0x0344 + + .align 2 +gFile_graphics_pokemon_palettes_sneasel_palette:: @ 8DC2D04 + .incbin "graphics/pokemon/palettes/sneasel_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC2D04, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_sneasel_back_pic:: @ 8DC2D2C + .incbin "graphics/pokemon/back_pics/sneasel_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC2D2C, 0x0324 + + .align 2 +gFile_graphics_pokemon_palettes_sneasel_shiny_palette:: @ 8DC3050 + .incbin "graphics/pokemon/palettes/sneasel_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC3050, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_sneasel_icon:: @ 8DC3078 + .incbin "graphics/pokemon/icons/sneasel_icon.4bpp" + @ .incbin "baserom.gba", 0xDC3078, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_sneasel_footprint:: @ 8DC3478 + .incbin "graphics/pokemon/footprints/sneasel_footprint.1bpp" + @ .incbin "baserom.gba", 0xDC3478, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_teddiursa_still_front_pic:: @ 8DC3498 + .incbin "graphics/pokemon/front_pics/teddiursa_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC3498, 0x02A8 + + .align 2 +gFile_graphics_pokemon_palettes_teddiursa_palette:: @ 8DC3740 + .incbin "graphics/pokemon/palettes/teddiursa_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC3740, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_teddiursa_back_pic:: @ 8DC3768 + .incbin "graphics/pokemon/back_pics/teddiursa_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC3768, 0x0278 + + .align 2 +gFile_graphics_pokemon_palettes_teddiursa_shiny_palette:: @ 8DC39E0 + .incbin "graphics/pokemon/palettes/teddiursa_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC39E0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_teddiursa_icon:: @ 8DC3A08 + .incbin "graphics/pokemon/icons/teddiursa_icon.4bpp" + @ .incbin "baserom.gba", 0xDC3A08, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_teddiursa_footprint:: @ 8DC3E08 + .incbin "graphics/pokemon/footprints/teddiursa_footprint.1bpp" + @ .incbin "baserom.gba", 0xDC3E08, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_ursaring_still_front_pic:: @ 8DC3E28 + .incbin "graphics/pokemon/front_pics/ursaring_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC3E28, 0x0438 + + .align 2 +gFile_graphics_pokemon_palettes_ursaring_palette:: @ 8DC4260 + .incbin "graphics/pokemon/palettes/ursaring_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC4260, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_ursaring_back_pic:: @ 8DC4288 + .incbin "graphics/pokemon/back_pics/ursaring_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC4288, 0x0388 + + .align 2 +gFile_graphics_pokemon_palettes_ursaring_shiny_palette:: @ 8DC4610 + .incbin "graphics/pokemon/palettes/ursaring_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC4610, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_ursaring_icon:: @ 8DC4638 + .incbin "graphics/pokemon/icons/ursaring_icon.4bpp" + @ .incbin "baserom.gba", 0xDC4638, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_ursaring_footprint:: @ 8DC4A38 + .incbin "graphics/pokemon/footprints/ursaring_footprint.1bpp" + @ .incbin "baserom.gba", 0xDC4A38, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_slugma_still_front_pic:: @ 8DC4A58 + .incbin "graphics/pokemon/front_pics/slugma_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC4A58, 0x0274 + + .align 2 +gFile_graphics_pokemon_palettes_slugma_palette:: @ 8DC4CCC + .incbin "graphics/pokemon/palettes/slugma_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC4CCC, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_slugma_back_pic:: @ 8DC4CF0 + .incbin "graphics/pokemon/back_pics/slugma_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC4CF0, 0x02E8 + + .align 2 +gFile_graphics_pokemon_palettes_slugma_shiny_palette:: @ 8DC4FD8 + .incbin "graphics/pokemon/palettes/slugma_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC4FD8, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_slugma_icon:: @ 8DC4FFC + .incbin "graphics/pokemon/icons/slugma_icon.4bpp" + @ .incbin "baserom.gba", 0xDC4FFC, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_slugma_footprint:: @ 8DC53FC + .incbin "graphics/pokemon/footprints/slugma_footprint.1bpp" + @ .incbin "baserom.gba", 0xDC53FC, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_magcargo_still_front_pic:: @ 8DC541C + .incbin "graphics/pokemon/front_pics/magcargo_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC541C, 0x0348 + + .align 2 +gFile_graphics_pokemon_palettes_magcargo_palette:: @ 8DC5764 + .incbin "graphics/pokemon/palettes/magcargo_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC5764, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_magcargo_back_pic:: @ 8DC578C + .incbin "graphics/pokemon/back_pics/magcargo_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC578C, 0x0418 + + .align 2 +gFile_graphics_pokemon_palettes_magcargo_shiny_palette:: @ 8DC5BA4 + .incbin "graphics/pokemon/palettes/magcargo_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC5BA4, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_magcargo_icon:: @ 8DC5BCC + .incbin "graphics/pokemon/icons/magcargo_icon.4bpp" + @ .incbin "baserom.gba", 0xDC5BCC, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_magcargo_footprint:: @ 8DC5FCC + .incbin "graphics/pokemon/footprints/magcargo_footprint.1bpp" + @ .incbin "baserom.gba", 0xDC5FCC, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_swinub_still_front_pic:: @ 8DC5FEC + .incbin "graphics/pokemon/front_pics/swinub_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC5FEC, 0x01FC + + .align 2 +gFile_graphics_pokemon_palettes_swinub_palette:: @ 8DC61E8 + .incbin "graphics/pokemon/palettes/swinub_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC61E8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_swinub_back_pic:: @ 8DC6210 + .incbin "graphics/pokemon/back_pics/swinub_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC6210, 0x023C + + .align 2 +gFile_graphics_pokemon_palettes_swinub_shiny_palette:: @ 8DC644C + .incbin "graphics/pokemon/palettes/swinub_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC644C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_swinub_icon:: @ 8DC6474 + .incbin "graphics/pokemon/icons/swinub_icon.4bpp" + @ .incbin "baserom.gba", 0xDC6474, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_swinub_footprint:: @ 8DC6874 + .incbin "graphics/pokemon/footprints/swinub_footprint.1bpp" + @ .incbin "baserom.gba", 0xDC6874, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_piloswine_still_front_pic:: @ 8DC6894 + .incbin "graphics/pokemon/front_pics/piloswine_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC6894, 0x0328 + + .align 2 +gFile_graphics_pokemon_palettes_piloswine_palette:: @ 8DC6BBC + .incbin "graphics/pokemon/palettes/piloswine_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC6BBC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_piloswine_back_pic:: @ 8DC6BE4 + .incbin "graphics/pokemon/back_pics/piloswine_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC6BE4, 0x024C + + .align 2 +gFile_graphics_pokemon_palettes_piloswine_shiny_palette:: @ 8DC6E30 + .incbin "graphics/pokemon/palettes/piloswine_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC6E30, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_piloswine_icon:: @ 8DC6E58 + .incbin "graphics/pokemon/icons/piloswine_icon.4bpp" + @ .incbin "baserom.gba", 0xDC6E58, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_piloswine_footprint:: @ 8DC7258 + .incbin "graphics/pokemon/footprints/piloswine_footprint.1bpp" + @ .incbin "baserom.gba", 0xDC7258, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_corsola_still_front_pic:: @ 8DC7278 + .incbin "graphics/pokemon/front_pics/corsola_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC7278, 0x02E8 + + .align 2 +gFile_graphics_pokemon_palettes_corsola_palette:: @ 8DC7560 + .incbin "graphics/pokemon/palettes/corsola_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC7560, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_corsola_back_pic:: @ 8DC7588 + .incbin "graphics/pokemon/back_pics/corsola_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC7588, 0x02C0 + + .align 2 +gFile_graphics_pokemon_palettes_corsola_shiny_palette:: @ 8DC7848 + .incbin "graphics/pokemon/palettes/corsola_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC7848, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_corsola_icon:: @ 8DC7870 + .incbin "graphics/pokemon/icons/corsola_icon.4bpp" + @ .incbin "baserom.gba", 0xDC7870, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_corsola_footprint:: @ 8DC7C70 + .incbin "graphics/pokemon/footprints/corsola_footprint.1bpp" + @ .incbin "baserom.gba", 0xDC7C70, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_remoraid_still_front_pic:: @ 8DC7C90 + .incbin "graphics/pokemon/front_pics/remoraid_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC7C90, 0x0268 + + .align 2 +gFile_graphics_pokemon_palettes_remoraid_palette:: @ 8DC7EF8 + .incbin "graphics/pokemon/palettes/remoraid_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC7EF8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_remoraid_back_pic:: @ 8DC7F20 + .incbin "graphics/pokemon/back_pics/remoraid_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC7F20, 0x0314 + + .align 2 +gFile_graphics_pokemon_palettes_remoraid_shiny_palette:: @ 8DC8234 + .incbin "graphics/pokemon/palettes/remoraid_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC8234, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_remoraid_icon:: @ 8DC825C + .incbin "graphics/pokemon/icons/remoraid_icon.4bpp" + @ .incbin "baserom.gba", 0xDC825C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_remoraid_footprint:: @ 8DC865C + .incbin "graphics/pokemon/footprints/remoraid_footprint.1bpp" + @ .incbin "baserom.gba", 0xDC865C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_octillery_still_front_pic:: @ 8DC867C + .incbin "graphics/pokemon/front_pics/octillery_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC867C, 0x0334 + + .align 2 +gFile_graphics_pokemon_palettes_octillery_palette:: @ 8DC89B0 + .incbin "graphics/pokemon/palettes/octillery_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC89B0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_octillery_back_pic:: @ 8DC89D8 + .incbin "graphics/pokemon/back_pics/octillery_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC89D8, 0x02B8 + + .align 2 +gFile_graphics_pokemon_palettes_octillery_shiny_palette:: @ 8DC8C90 + .incbin "graphics/pokemon/palettes/octillery_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC8C90, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_octillery_icon:: @ 8DC8CB8 + .incbin "graphics/pokemon/icons/octillery_icon.4bpp" + @ .incbin "baserom.gba", 0xDC8CB8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_octillery_footprint:: @ 8DC90B8 + .incbin "graphics/pokemon/footprints/octillery_footprint.1bpp" + @ .incbin "baserom.gba", 0xDC90B8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_delibird_still_front_pic:: @ 8DC90D8 + .incbin "graphics/pokemon/front_pics/delibird_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC90D8, 0x0370 + + .align 2 +gFile_graphics_pokemon_palettes_delibird_palette:: @ 8DC9448 + .incbin "graphics/pokemon/palettes/delibird_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC9448, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_delibird_back_pic:: @ 8DC9470 + .incbin "graphics/pokemon/back_pics/delibird_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC9470, 0x03C0 + + .align 2 +gFile_graphics_pokemon_palettes_delibird_shiny_palette:: @ 8DC9830 + .incbin "graphics/pokemon/palettes/delibird_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDC9830, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_delibird_icon:: @ 8DC9858 + .incbin "graphics/pokemon/icons/delibird_icon.4bpp" + @ .incbin "baserom.gba", 0xDC9858, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_delibird_footprint:: @ 8DC9C58 + .incbin "graphics/pokemon/footprints/delibird_footprint.1bpp" + @ .incbin "baserom.gba", 0xDC9C58, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_mantine_still_front_pic:: @ 8DC9C78 + .incbin "graphics/pokemon/front_pics/mantine_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDC9C78, 0x049C + + .align 2 +gFile_graphics_pokemon_palettes_mantine_palette:: @ 8DCA114 + .incbin "graphics/pokemon/palettes/mantine_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDCA114, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_mantine_back_pic:: @ 8DCA13C + .incbin "graphics/pokemon/back_pics/mantine_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDCA13C, 0x02A0 + + .align 2 +gFile_graphics_pokemon_palettes_mantine_shiny_palette:: @ 8DCA3DC + .incbin "graphics/pokemon/palettes/mantine_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDCA3DC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_mantine_icon:: @ 8DCA404 + .incbin "graphics/pokemon/icons/mantine_icon.4bpp" + @ .incbin "baserom.gba", 0xDCA404, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_mantine_footprint:: @ 8DCA804 + .incbin "graphics/pokemon/footprints/mantine_footprint.1bpp" + @ .incbin "baserom.gba", 0xDCA804, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_skarmory_still_front_pic:: @ 8DCA824 + .incbin "graphics/pokemon/front_pics/skarmory_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDCA824, 0x04E0 + + .align 2 +gFile_graphics_pokemon_palettes_skarmory_palette:: @ 8DCAD04 + .incbin "graphics/pokemon/palettes/skarmory_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDCAD04, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_skarmory_back_pic:: @ 8DCAD2C + .incbin "graphics/pokemon/back_pics/skarmory_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDCAD2C, 0x0304 + + .align 2 +gFile_graphics_pokemon_palettes_skarmory_shiny_palette:: @ 8DCB030 + .incbin "graphics/pokemon/palettes/skarmory_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDCB030, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_skarmory_icon:: @ 8DCB058 + .incbin "graphics/pokemon/icons/skarmory_icon.4bpp" + @ .incbin "baserom.gba", 0xDCB058, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_skarmory_footprint:: @ 8DCB458 + .incbin "graphics/pokemon/footprints/skarmory_footprint.1bpp" + @ .incbin "baserom.gba", 0xDCB458, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_houndour_still_front_pic:: @ 8DCB478 + .incbin "graphics/pokemon/front_pics/houndour_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDCB478, 0x02B8 + + .align 2 +gFile_graphics_pokemon_palettes_houndour_palette:: @ 8DCB730 + .incbin "graphics/pokemon/palettes/houndour_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDCB730, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_houndour_back_pic:: @ 8DCB758 + .incbin "graphics/pokemon/back_pics/houndour_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDCB758, 0x0280 + + .align 2 +gFile_graphics_pokemon_palettes_houndour_shiny_palette:: @ 8DCB9D8 + .incbin "graphics/pokemon/palettes/houndour_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDCB9D8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_houndour_icon:: @ 8DCBA00 + .incbin "graphics/pokemon/icons/houndour_icon.4bpp" + @ .incbin "baserom.gba", 0xDCBA00, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_houndour_footprint:: @ 8DCBE00 + .incbin "graphics/pokemon/footprints/houndour_footprint.1bpp" + @ .incbin "baserom.gba", 0xDCBE00, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_houndoom_still_front_pic:: @ 8DCBE20 + .incbin "graphics/pokemon/front_pics/houndoom_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDCBE20, 0x0400 + + .align 2 +gFile_graphics_pokemon_palettes_houndoom_palette:: @ 8DCC220 + .incbin "graphics/pokemon/palettes/houndoom_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDCC220, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_houndoom_back_pic:: @ 8DCC248 + .incbin "graphics/pokemon/back_pics/houndoom_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDCC248, 0x0324 + + .align 2 +gFile_graphics_pokemon_palettes_houndoom_shiny_palette:: @ 8DCC56C + .incbin "graphics/pokemon/palettes/houndoom_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDCC56C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_houndoom_icon:: @ 8DCC594 + .incbin "graphics/pokemon/icons/houndoom_icon.4bpp" + @ .incbin "baserom.gba", 0xDCC594, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_houndoom_footprint:: @ 8DCC994 + .incbin "graphics/pokemon/footprints/houndoom_footprint.1bpp" + @ .incbin "baserom.gba", 0xDCC994, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_kingdra_still_front_pic:: @ 8DCC9B4 + .incbin "graphics/pokemon/front_pics/kingdra_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDCC9B4, 0x0420 + + .align 2 +gFile_graphics_pokemon_palettes_kingdra_palette:: @ 8DCCDD4 + .incbin "graphics/pokemon/palettes/kingdra_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDCCDD4, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_kingdra_back_pic:: @ 8DCCDFC + .incbin "graphics/pokemon/back_pics/kingdra_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDCCDFC, 0x03B4 + + .align 2 +gFile_graphics_pokemon_palettes_kingdra_shiny_palette:: @ 8DCD1B0 + .incbin "graphics/pokemon/palettes/kingdra_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDCD1B0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_kingdra_icon:: @ 8DCD1D8 + .incbin "graphics/pokemon/icons/kingdra_icon.4bpp" + @ .incbin "baserom.gba", 0xDCD1D8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_kingdra_footprint:: @ 8DCD5D8 + .incbin "graphics/pokemon/footprints/kingdra_footprint.1bpp" + @ .incbin "baserom.gba", 0xDCD5D8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_phanpy_still_front_pic:: @ 8DCD5F8 + .incbin "graphics/pokemon/front_pics/phanpy_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDCD5F8, 0x025C + + .align 2 +gFile_graphics_pokemon_palettes_phanpy_palette:: @ 8DCD854 + .incbin "graphics/pokemon/palettes/phanpy_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDCD854, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_phanpy_back_pic:: @ 8DCD87C + .incbin "graphics/pokemon/back_pics/phanpy_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDCD87C, 0x02C4 + + .align 2 +gFile_graphics_pokemon_palettes_phanpy_shiny_palette:: @ 8DCDB40 + .incbin "graphics/pokemon/palettes/phanpy_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDCDB40, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_phanpy_icon:: @ 8DCDB68 + .incbin "graphics/pokemon/icons/phanpy_icon.4bpp" + @ .incbin "baserom.gba", 0xDCDB68, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_phanpy_footprint:: @ 8DCDF68 + .incbin "graphics/pokemon/footprints/phanpy_footprint.1bpp" + @ .incbin "baserom.gba", 0xDCDF68, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_donphan_still_front_pic:: @ 8DCDF88 + .incbin "graphics/pokemon/front_pics/donphan_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDCDF88, 0x0474 + + .align 2 +gFile_graphics_pokemon_palettes_donphan_palette:: @ 8DCE3FC + .incbin "graphics/pokemon/palettes/donphan_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDCE3FC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_donphan_back_pic:: @ 8DCE424 + .incbin "graphics/pokemon/back_pics/donphan_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDCE424, 0x02FC + + .align 2 +gFile_graphics_pokemon_palettes_donphan_shiny_palette:: @ 8DCE720 + .incbin "graphics/pokemon/palettes/donphan_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDCE720, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_donphan_icon:: @ 8DCE748 + .incbin "graphics/pokemon/icons/donphan_icon.4bpp" + @ .incbin "baserom.gba", 0xDCE748, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_donphan_footprint:: @ 8DCEB48 + .incbin "graphics/pokemon/footprints/donphan_footprint.1bpp" + @ .incbin "baserom.gba", 0xDCEB48, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_porygon2_still_front_pic:: @ 8DCEB68 + .incbin "graphics/pokemon/front_pics/porygon2_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDCEB68, 0x0288 + + .align 2 +gFile_graphics_pokemon_palettes_porygon2_palette:: @ 8DCEDF0 + .incbin "graphics/pokemon/palettes/porygon2_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDCEDF0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_porygon2_back_pic:: @ 8DCEE18 + .incbin "graphics/pokemon/back_pics/porygon2_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDCEE18, 0x031C + + .align 2 +gFile_graphics_pokemon_palettes_porygon2_shiny_palette:: @ 8DCF134 + .incbin "graphics/pokemon/palettes/porygon2_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDCF134, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_porygon2_icon:: @ 8DCF15C + .incbin "graphics/pokemon/icons/porygon2_icon.4bpp" + @ .incbin "baserom.gba", 0xDCF15C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_porygon2_footprint:: @ 8DCF55C + .incbin "graphics/pokemon/footprints/porygon2_footprint.1bpp" + @ .incbin "baserom.gba", 0xDCF55C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_stantler_still_front_pic:: @ 8DCF57C + .incbin "graphics/pokemon/front_pics/stantler_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDCF57C, 0x0414 + + .align 2 +gFile_graphics_pokemon_palettes_stantler_palette:: @ 8DCF990 + .incbin "graphics/pokemon/palettes/stantler_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDCF990, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_stantler_back_pic:: @ 8DCF9B8 + .incbin "graphics/pokemon/back_pics/stantler_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDCF9B8, 0x034C + + .align 2 +gFile_graphics_pokemon_palettes_stantler_shiny_palette:: @ 8DCFD04 + .incbin "graphics/pokemon/palettes/stantler_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDCFD04, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_stantler_icon:: @ 8DCFD2C + .incbin "graphics/pokemon/icons/stantler_icon.4bpp" + @ .incbin "baserom.gba", 0xDCFD2C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_stantler_footprint:: @ 8DD012C + .incbin "graphics/pokemon/footprints/stantler_footprint.1bpp" + @ .incbin "baserom.gba", 0xDD012C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_smeargle_still_front_pic:: @ 8DD014C + .incbin "graphics/pokemon/front_pics/smeargle_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD014C, 0x0394 + + .align 2 +gFile_graphics_pokemon_palettes_smeargle_palette:: @ 8DD04E0 + .incbin "graphics/pokemon/palettes/smeargle_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD04E0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_smeargle_back_pic:: @ 8DD0508 + .incbin "graphics/pokemon/back_pics/smeargle_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD0508, 0x0324 + + .align 2 +gFile_graphics_pokemon_palettes_smeargle_shiny_palette:: @ 8DD082C + .incbin "graphics/pokemon/palettes/smeargle_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD082C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_smeargle_icon:: @ 8DD0854 + .incbin "graphics/pokemon/icons/smeargle_icon.4bpp" + @ .incbin "baserom.gba", 0xDD0854, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_smeargle_footprint:: @ 8DD0C54 + .incbin "graphics/pokemon/footprints/smeargle_footprint.1bpp" + @ .incbin "baserom.gba", 0xDD0C54, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_tyrogue_still_front_pic:: @ 8DD0C74 + .incbin "graphics/pokemon/front_pics/tyrogue_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD0C74, 0x028C + + .align 2 +gFile_graphics_pokemon_palettes_tyrogue_palette:: @ 8DD0F00 + .incbin "graphics/pokemon/palettes/tyrogue_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD0F00, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_tyrogue_back_pic:: @ 8DD0F28 + .incbin "graphics/pokemon/back_pics/tyrogue_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD0F28, 0x031C + + .align 2 +gFile_graphics_pokemon_palettes_tyrogue_shiny_palette:: @ 8DD1244 + .incbin "graphics/pokemon/palettes/tyrogue_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD1244, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_tyrogue_icon:: @ 8DD126C + .incbin "graphics/pokemon/icons/tyrogue_icon.4bpp" + @ .incbin "baserom.gba", 0xDD126C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_tyrogue_footprint:: @ 8DD166C + .incbin "graphics/pokemon/footprints/tyrogue_footprint.1bpp" + @ .incbin "baserom.gba", 0xDD166C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_hitmontop_still_front_pic:: @ 8DD168C + .incbin "graphics/pokemon/front_pics/hitmontop_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD168C, 0x038C + + .align 2 +gFile_graphics_pokemon_palettes_hitmontop_palette:: @ 8DD1A18 + .incbin "graphics/pokemon/palettes/hitmontop_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD1A18, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_hitmontop_back_pic:: @ 8DD1A40 + .incbin "graphics/pokemon/back_pics/hitmontop_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD1A40, 0x0428 + + .align 2 +gFile_graphics_pokemon_palettes_hitmontop_shiny_palette:: @ 8DD1E68 + .incbin "graphics/pokemon/palettes/hitmontop_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD1E68, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_hitmontop_icon:: @ 8DD1E90 + .incbin "graphics/pokemon/icons/hitmontop_icon.4bpp" + @ .incbin "baserom.gba", 0xDD1E90, 0x0400 + +gUnknown_hitmontop_blank_space:: @ 8DD2290 + @.space 0x200 + .incbin "baserom.gba", 0xDD2290, 0x200 + + .align 2 +gFile_graphics_pokemon_footprints_hitmontop_footprint:: @ 8DD2490 + .incbin "graphics/pokemon/footprints/hitmontop_footprint.1bpp" + @ .incbin "baserom.gba", 0xDD2490, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_smoochum_still_front_pic:: @ 8DD24B0 + .incbin "graphics/pokemon/front_pics/smoochum_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD24B0, 0x0258 + + .align 2 +gFile_graphics_pokemon_palettes_smoochum_palette:: @ 8DD2708 + .incbin "graphics/pokemon/palettes/smoochum_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD2708, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_smoochum_back_pic:: @ 8DD2730 + .incbin "graphics/pokemon/back_pics/smoochum_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD2730, 0x0278 + + .align 2 +gFile_graphics_pokemon_palettes_smoochum_shiny_palette:: @ 8DD29A8 + .incbin "graphics/pokemon/palettes/smoochum_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD29A8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_smoochum_icon:: @ 8DD29D0 + .incbin "graphics/pokemon/icons/smoochum_icon.4bpp" + @ .incbin "baserom.gba", 0xDD29D0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_smoochum_footprint:: @ 8DD2DD0 + .incbin "graphics/pokemon/footprints/smoochum_footprint.1bpp" + @ .incbin "baserom.gba", 0xDD2DD0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_elekid_still_front_pic:: @ 8DD2DF0 + .incbin "graphics/pokemon/front_pics/elekid_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD2DF0, 0x0308 + + .align 2 +gFile_graphics_pokemon_palettes_elekid_palette:: @ 8DD30F8 + .incbin "graphics/pokemon/palettes/elekid_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD30F8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_elekid_back_pic:: @ 8DD3120 + .incbin "graphics/pokemon/back_pics/elekid_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD3120, 0x0358 + + .align 2 +gFile_graphics_pokemon_palettes_elekid_shiny_palette:: @ 8DD3478 + .incbin "graphics/pokemon/palettes/elekid_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD3478, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_elekid_icon:: @ 8DD34A0 + .incbin "graphics/pokemon/icons/elekid_icon.4bpp" + @ .incbin "baserom.gba", 0xDD34A0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_elekid_footprint:: @ 8DD38A0 + .incbin "graphics/pokemon/footprints/elekid_footprint.1bpp" + @ .incbin "baserom.gba", 0xDD38A0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_magby_still_front_pic:: @ 8DD38C0 + .incbin "graphics/pokemon/front_pics/magby_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD38C0, 0x0284 + + .align 2 +gFile_graphics_pokemon_palettes_magby_palette:: @ 8DD3B44 + .incbin "graphics/pokemon/palettes/magby_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD3B44, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_magby_back_pic:: @ 8DD3B6C + .incbin "graphics/pokemon/back_pics/magby_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD3B6C, 0x02AC + + .align 2 +gFile_graphics_pokemon_palettes_magby_shiny_palette:: @ 8DD3E18 + .incbin "graphics/pokemon/palettes/magby_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD3E18, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_magby_icon:: @ 8DD3E40 + .incbin "graphics/pokemon/icons/magby_icon.4bpp" + @ .incbin "baserom.gba", 0xDD3E40, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_magby_footprint:: @ 8DD4240 + .incbin "graphics/pokemon/footprints/magby_footprint.1bpp" + @ .incbin "baserom.gba", 0xDD4240, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_miltank_still_front_pic:: @ 8DD4260 + .incbin "graphics/pokemon/front_pics/miltank_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD4260, 0x03B0 + + .align 2 +gFile_graphics_pokemon_palettes_miltank_palette:: @ 8DD4610 + .incbin "graphics/pokemon/palettes/miltank_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD4610, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_miltank_back_pic:: @ 8DD4638 + .incbin "graphics/pokemon/back_pics/miltank_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD4638, 0x039C + + .align 2 +gFile_graphics_pokemon_palettes_miltank_shiny_palette:: @ 8DD49D4 + .incbin "graphics/pokemon/palettes/miltank_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD49D4, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_miltank_icon:: @ 8DD49FC + .incbin "graphics/pokemon/icons/miltank_icon.4bpp" + @ .incbin "baserom.gba", 0xDD49FC, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_miltank_footprint:: @ 8DD4DFC + .incbin "graphics/pokemon/footprints/miltank_footprint.1bpp" + @ .incbin "baserom.gba", 0xDD4DFC, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_blissey_still_front_pic:: @ 8DD4E1C + .incbin "graphics/pokemon/front_pics/blissey_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD4E1C, 0x03E8 + + .align 2 +gFile_graphics_pokemon_palettes_blissey_palette:: @ 8DD5204 + .incbin "graphics/pokemon/palettes/blissey_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD5204, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_blissey_back_pic:: @ 8DD522C + .incbin "graphics/pokemon/back_pics/blissey_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD522C, 0x02CC + + .align 2 +gFile_graphics_pokemon_palettes_blissey_shiny_palette:: @ 8DD54F8 + .incbin "graphics/pokemon/palettes/blissey_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD54F8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_blissey_icon:: @ 8DD5520 + .incbin "graphics/pokemon/icons/blissey_icon.4bpp" + @ .incbin "baserom.gba", 0xDD5520, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_blissey_footprint:: @ 8DD5920 + .incbin "graphics/pokemon/footprints/blissey_footprint.1bpp" + @ .incbin "baserom.gba", 0xDD5920, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_raikou_still_front_pic:: @ 8DD5940 + .incbin "graphics/pokemon/front_pics/raikou_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD5940, 0x057C + + .align 2 +gFile_graphics_pokemon_palettes_raikou_palette:: @ 8DD5EBC + .incbin "graphics/pokemon/palettes/raikou_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD5EBC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_raikou_back_pic:: @ 8DD5EE4 + .incbin "graphics/pokemon/back_pics/raikou_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD5EE4, 0x03A8 + + .align 2 +gFile_graphics_pokemon_palettes_raikou_shiny_palette:: @ 8DD628C + .incbin "graphics/pokemon/palettes/raikou_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD628C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_raikou_icon:: @ 8DD62B4 + .incbin "graphics/pokemon/icons/raikou_icon.4bpp" + @ .incbin "baserom.gba", 0xDD62B4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_raikou_footprint:: @ 8DD66B4 + .incbin "graphics/pokemon/footprints/raikou_footprint.1bpp" + @ .incbin "baserom.gba", 0xDD66B4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_entei_still_front_pic:: @ 8DD66D4 + .incbin "graphics/pokemon/front_pics/entei_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD66D4, 0x05FC + + .align 2 +gFile_graphics_pokemon_palettes_entei_palette:: @ 8DD6CD0 + .incbin "graphics/pokemon/palettes/entei_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD6CD0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_entei_back_pic:: @ 8DD6CF8 + .incbin "graphics/pokemon/back_pics/entei_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD6CF8, 0x0424 + + .align 2 +gFile_graphics_pokemon_palettes_entei_shiny_palette:: @ 8DD711C + .incbin "graphics/pokemon/palettes/entei_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD711C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_entei_icon:: @ 8DD7144 + .incbin "graphics/pokemon/icons/entei_icon.4bpp" + @ .incbin "baserom.gba", 0xDD7144, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_entei_footprint:: @ 8DD7544 + .incbin "graphics/pokemon/footprints/entei_footprint.1bpp" + @ .incbin "baserom.gba", 0xDD7544, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_suicune_still_front_pic:: @ 8DD7564 + .incbin "graphics/pokemon/front_pics/suicune_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD7564, 0x0584 + + .align 2 +gFile_graphics_pokemon_palettes_suicune_palette:: @ 8DD7AE8 + .incbin "graphics/pokemon/palettes/suicune_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD7AE8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_suicune_back_pic:: @ 8DD7B10 + .incbin "graphics/pokemon/back_pics/suicune_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD7B10, 0x04DC + + .align 2 +gFile_graphics_pokemon_palettes_suicune_shiny_palette:: @ 8DD7FEC + .incbin "graphics/pokemon/palettes/suicune_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD7FEC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_suicune_icon:: @ 8DD8014 + .incbin "graphics/pokemon/icons/suicune_icon.4bpp" + @ .incbin "baserom.gba", 0xDD8014, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_suicune_footprint:: @ 8DD8414 + .incbin "graphics/pokemon/footprints/suicune_footprint.1bpp" + @ .incbin "baserom.gba", 0xDD8414, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_larvitar_still_front_pic:: @ 8DD8434 + .incbin "graphics/pokemon/front_pics/larvitar_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD8434, 0x025C + + .align 2 +gFile_graphics_pokemon_palettes_larvitar_palette:: @ 8DD8690 + .incbin "graphics/pokemon/palettes/larvitar_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD8690, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_larvitar_back_pic:: @ 8DD86B8 + .incbin "graphics/pokemon/back_pics/larvitar_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD86B8, 0x02AC + + .align 2 +gFile_graphics_pokemon_palettes_larvitar_shiny_palette:: @ 8DD8964 + .incbin "graphics/pokemon/palettes/larvitar_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD8964, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_larvitar_icon:: @ 8DD898C + .incbin "graphics/pokemon/icons/larvitar_icon.4bpp" + @ .incbin "baserom.gba", 0xDD898C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_larvitar_footprint:: @ 8DD8D8C + .incbin "graphics/pokemon/footprints/larvitar_footprint.1bpp" + @ .incbin "baserom.gba", 0xDD8D8C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_pupitar_still_front_pic:: @ 8DD8DAC + .incbin "graphics/pokemon/front_pics/pupitar_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD8DAC, 0x02F0 + + .align 2 +gFile_graphics_pokemon_palettes_pupitar_palette:: @ 8DD909C + .incbin "graphics/pokemon/palettes/pupitar_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD909C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_pupitar_back_pic:: @ 8DD90C4 + .incbin "graphics/pokemon/back_pics/pupitar_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD90C4, 0x0338 + + .align 2 +gFile_graphics_pokemon_palettes_pupitar_shiny_palette:: @ 8DD93FC + .incbin "graphics/pokemon/palettes/pupitar_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD93FC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_pupitar_icon:: @ 8DD9424 + .incbin "graphics/pokemon/icons/pupitar_icon.4bpp" + @ .incbin "baserom.gba", 0xDD9424, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_pupitar_footprint:: @ 8DD9824 + .incbin "graphics/pokemon/footprints/pupitar_footprint.1bpp" + @ .incbin "baserom.gba", 0xDD9824, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_tyranitar_still_front_pic:: @ 8DD9844 + .incbin "graphics/pokemon/front_pics/tyranitar_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD9844, 0x053C + + .align 2 +gFile_graphics_pokemon_palettes_tyranitar_palette:: @ 8DD9D80 + .incbin "graphics/pokemon/palettes/tyranitar_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDD9D80, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_tyranitar_back_pic:: @ 8DD9DA8 + .incbin "graphics/pokemon/back_pics/tyranitar_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDD9DA8, 0x03EC + + .align 2 +gFile_graphics_pokemon_palettes_tyranitar_shiny_palette:: @ 8DDA194 + .incbin "graphics/pokemon/palettes/tyranitar_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDDA194, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_tyranitar_icon:: @ 8DDA1BC + .incbin "graphics/pokemon/icons/tyranitar_icon.4bpp" + @ .incbin "baserom.gba", 0xDDA1BC, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_tyranitar_footprint:: @ 8DDA5BC + .incbin "graphics/pokemon/footprints/tyranitar_footprint.1bpp" + @ .incbin "baserom.gba", 0xDDA5BC, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_lugia_still_front_pic:: @ 8DDA5DC + .incbin "graphics/pokemon/front_pics/lugia_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDDA5DC, 0x04C4 + + .align 2 +gFile_graphics_pokemon_palettes_lugia_palette:: @ 8DDAAA0 + .incbin "graphics/pokemon/palettes/lugia_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDDAAA0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_lugia_back_pic:: @ 8DDAAC8 + .incbin "graphics/pokemon/back_pics/lugia_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDDAAC8, 0x03D4 + + .align 2 +gFile_graphics_pokemon_palettes_lugia_shiny_palette:: @ 8DDAE9C + .incbin "graphics/pokemon/palettes/lugia_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDDAE9C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_lugia_icon:: @ 8DDAEC4 + .incbin "graphics/pokemon/icons/lugia_icon.4bpp" + @ .incbin "baserom.gba", 0xDDAEC4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_lugia_footprint:: @ 8DDB2C4 + .incbin "graphics/pokemon/footprints/lugia_footprint.1bpp" + @ .incbin "baserom.gba", 0xDDB2C4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_ho_oh_still_front_pic:: @ 8DDB2E4 + .incbin "graphics/pokemon/front_pics/ho_oh_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDDB2E4, 0x0654 + + .align 2 +gFile_graphics_pokemon_palettes_ho_oh_palette:: @ 8DDB938 + .incbin "graphics/pokemon/palettes/ho_oh_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDDB938, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_ho_oh_back_pic:: @ 8DDB960 + .incbin "graphics/pokemon/back_pics/ho_oh_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDDB960, 0x0410 + + .align 2 +gFile_graphics_pokemon_palettes_ho_oh_shiny_palette:: @ 8DDBD70 + .incbin "graphics/pokemon/palettes/ho_oh_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDDBD70, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_ho_oh_icon:: @ 8DDBD98 + .incbin "graphics/pokemon/icons/ho_oh_icon.4bpp" + @ .incbin "baserom.gba", 0xDDBD98, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_ho_oh_footprint:: @ 8DDC198 + .incbin "graphics/pokemon/footprints/ho_oh_footprint.1bpp" + @ .incbin "baserom.gba", 0xDDC198, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_celebi_still_front_pic:: @ 8DDC1B8 + .incbin "graphics/pokemon/front_pics/celebi_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDDC1B8, 0x0278 + + .align 2 +gFile_graphics_pokemon_palettes_celebi_palette:: @ 8DDC430 + .incbin "graphics/pokemon/palettes/celebi_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDDC430, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_celebi_back_pic:: @ 8DDC458 + .incbin "graphics/pokemon/back_pics/celebi_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDDC458, 0x03AC + + .align 2 +gFile_graphics_pokemon_palettes_celebi_shiny_palette:: @ 8DDC804 + .incbin "graphics/pokemon/palettes/celebi_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDDC804, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_celebi_icon:: @ 8DDC82C + .incbin "graphics/pokemon/icons/celebi_icon.4bpp" + @ .incbin "baserom.gba", 0xDDC82C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_celebi_footprint:: @ 8DDCC2C + .incbin "graphics/pokemon/footprints/celebi_footprint.1bpp" + @ .incbin "baserom.gba", 0xDDCC2C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_back_pics_double_question_mark_back_pic:: @ 8DDCC4C + .incbin "graphics/pokemon/back_pics/double_question_mark_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDDCC4C, 0x0184 + + .align 2 +gFile_graphics_pokemon_palettes_double_question_mark_palette:: @ 8DDCDD0 + .incbin "graphics/pokemon/palettes/double_question_mark_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDDCDD0, 0x0014 + + .align 2 +gFile_graphics_pokemon_back_pics_double_question_mark_back_pic2:: @ 8DDCDE4 + @ .incbin "graphics/pokemon/back_pics/double_question_mark_back_pic.4bpp.lz" + .incbin "baserom.gba", 0xDDCDE4, 0x0184 + + .align 2 +gFile_graphics_pokemon_palettes_double_question_mark_shiny_palette:: @ 8DDCF68 + .incbin "graphics/pokemon/palettes/double_question_mark_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDDCF68, 0x0014 + + + .align 2 +gFile_graphics_pokemon_front_pics_treecko_still_front_pic:: @ 8DDCF7C + .incbin "graphics/pokemon/front_pics/treecko_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDDCF7C, 0x0308 + + .align 2 +gFile_graphics_pokemon_palettes_treecko_palette:: @ 8DDD284 + .incbin "graphics/pokemon/palettes/treecko_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDDD284, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_treecko_back_pic:: @ 8DDD2AC + .incbin "graphics/pokemon/back_pics/treecko_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDDD2AC, 0x0300 + + .align 2 +gFile_graphics_pokemon_palettes_treecko_shiny_palette:: @ 8DDD5AC + .incbin "graphics/pokemon/palettes/treecko_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDDD5AC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_treecko_icon:: @ 8DDD5D4 + .incbin "graphics/pokemon/icons/treecko_icon.4bpp" + @ .incbin "baserom.gba", 0xDDD5D4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_treecko_footprint:: @ 8DDD9D4 + .incbin "graphics/pokemon/footprints/treecko_footprint.1bpp" + @ .incbin "baserom.gba", 0xDDD9D4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_grovyle_still_front_pic:: @ 8DDD9F4 + .incbin "graphics/pokemon/front_pics/grovyle_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDDD9F4, 0x048C + + .align 2 +gFile_graphics_pokemon_palettes_grovyle_palette:: @ 8DDDE80 + .incbin "graphics/pokemon/palettes/grovyle_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDDDE80, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_grovyle_back_pic:: @ 8DDDEA8 + .incbin "graphics/pokemon/back_pics/grovyle_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDDDEA8, 0x033C + + .align 2 +gFile_graphics_pokemon_palettes_grovyle_shiny_palette:: @ 8DDE1E4 + .incbin "graphics/pokemon/palettes/grovyle_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDDE1E4, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_grovyle_icon:: @ 8DDE20C + .incbin "graphics/pokemon/icons/grovyle_icon.4bpp" + @ .incbin "baserom.gba", 0xDDE20C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_grovyle_footprint:: @ 8DDE60C + .incbin "graphics/pokemon/footprints/grovyle_footprint.1bpp" + @ .incbin "baserom.gba", 0xDDE60C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_sceptile_still_front_pic:: @ 8DDE62C + .incbin "graphics/pokemon/front_pics/sceptile_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDDE62C, 0x0504 + + .align 2 +gFile_graphics_pokemon_palettes_sceptile_palette:: @ 8DDEB30 + .incbin "graphics/pokemon/palettes/sceptile_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDDEB30, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_sceptile_back_pic:: @ 8DDEB58 + .incbin "graphics/pokemon/back_pics/sceptile_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDDEB58, 0x03FC + + .align 2 +gFile_graphics_pokemon_palettes_sceptile_shiny_palette:: @ 8DDEF54 + .incbin "graphics/pokemon/palettes/sceptile_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDDEF54, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_sceptile_icon:: @ 8DDEF7C + .incbin "graphics/pokemon/icons/sceptile_icon.4bpp" + @ .incbin "baserom.gba", 0xDDEF7C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_sceptile_footprint:: @ 8DDF37C + .incbin "graphics/pokemon/footprints/sceptile_footprint.1bpp" + @ .incbin "baserom.gba", 0xDDF37C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_torchic_still_front_pic:: @ 8DDF39C + .incbin "graphics/pokemon/front_pics/torchic_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDDF39C, 0x029C + + .align 2 +gFile_graphics_pokemon_palettes_torchic_palette:: @ 8DDF638 + .incbin "graphics/pokemon/palettes/torchic_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDDF638, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_torchic_back_pic:: @ 8DDF660 + .incbin "graphics/pokemon/back_pics/torchic_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDDF660, 0x02D8 + + .align 2 +gFile_graphics_pokemon_palettes_torchic_shiny_palette:: @ 8DDF938 + .incbin "graphics/pokemon/palettes/torchic_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDDF938, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_torchic_icon:: @ 8DDF960 + .incbin "graphics/pokemon/icons/torchic_icon.4bpp" + @ .incbin "baserom.gba", 0xDDF960, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_torchic_footprint:: @ 8DDFD60 + .incbin "graphics/pokemon/footprints/torchic_footprint.1bpp" + @ .incbin "baserom.gba", 0xDDFD60, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_combusken_still_front_pic:: @ 8DDFD80 + .incbin "graphics/pokemon/front_pics/combusken_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDDFD80, 0x03EC + + .align 2 +gFile_graphics_pokemon_palettes_combusken_palette:: @ 8DE016C + .incbin "graphics/pokemon/palettes/combusken_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE016C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_combusken_back_pic:: @ 8DE0194 + .incbin "graphics/pokemon/back_pics/combusken_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE0194, 0x03D0 + + .align 2 +gFile_graphics_pokemon_palettes_combusken_shiny_palette:: @ 8DE0564 + .incbin "graphics/pokemon/palettes/combusken_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE0564, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_combusken_icon:: @ 8DE058C + .incbin "graphics/pokemon/icons/combusken_icon.4bpp" + @ .incbin "baserom.gba", 0xDE058C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_combusken_footprint:: @ 8DE098C + .incbin "graphics/pokemon/footprints/combusken_footprint.1bpp" + @ .incbin "baserom.gba", 0xDE098C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_blaziken_still_front_pic:: @ 8DE09AC + @ .incbin "graphics/pokemon/front_pics/blaziken_still_front_pic.4bpp.lz" + .incbin "baserom.gba", 0xDE09AC, 0x0478 + + .align 2 +gFile_graphics_pokemon_palettes_blaziken_palette:: @ 8DE0E24 + .incbin "graphics/pokemon/palettes/blaziken_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE0E24, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_blaziken_back_pic:: @ 8DE0E4C + .incbin "graphics/pokemon/back_pics/blaziken_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE0E4C, 0x03DC + + .align 2 +gFile_graphics_pokemon_palettes_blaziken_shiny_palette:: @ 8DE1228 + .incbin "graphics/pokemon/palettes/blaziken_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE1228, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_blaziken_icon:: @ 8DE1250 + .incbin "graphics/pokemon/icons/blaziken_icon.4bpp" + @ .incbin "baserom.gba", 0xDE1250, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_blaziken_footprint:: @ 8DE1650 + .incbin "graphics/pokemon/footprints/blaziken_footprint.1bpp" + @ .incbin "baserom.gba", 0xDE1650, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_mudkip_still_front_pic:: @ 8DE1670 + .incbin "graphics/pokemon/front_pics/mudkip_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE1670, 0x02B8 + + .align 2 +gFile_graphics_pokemon_palettes_mudkip_palette:: @ 8DE1928 + .incbin "graphics/pokemon/palettes/mudkip_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE1928, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_mudkip_back_pic:: @ 8DE1950 + .incbin "graphics/pokemon/back_pics/mudkip_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE1950, 0x02E0 + + .align 2 +gFile_graphics_pokemon_palettes_mudkip_shiny_palette:: @ 8DE1C30 + .incbin "graphics/pokemon/palettes/mudkip_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE1C30, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_mudkip_icon:: @ 8DE1C58 + .incbin "graphics/pokemon/icons/mudkip_icon.4bpp" + @ .incbin "baserom.gba", 0xDE1C58, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_mudkip_footprint:: @ 8DE2058 + .incbin "graphics/pokemon/footprints/mudkip_footprint.1bpp" + @ .incbin "baserom.gba", 0xDE2058, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_marshtomp_still_front_pic:: @ 8DE2078 + .incbin "graphics/pokemon/front_pics/marshtomp_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE2078, 0x0388 + + .align 2 +gFile_graphics_pokemon_palettes_marshtomp_palette:: @ 8DE2400 + .incbin "graphics/pokemon/palettes/marshtomp_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE2400, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_marshtomp_back_pic:: @ 8DE2428 + .incbin "graphics/pokemon/back_pics/marshtomp_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE2428, 0x03B0 + + .align 2 +gFile_graphics_pokemon_palettes_marshtomp_shiny_palette:: @ 8DE27D8 + .incbin "graphics/pokemon/palettes/marshtomp_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE27D8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_marshtomp_icon:: @ 8DE2800 + .incbin "graphics/pokemon/icons/marshtomp_icon.4bpp" + @ .incbin "baserom.gba", 0xDE2800, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_marshtomp_footprint:: @ 8DE2C00 + .incbin "graphics/pokemon/footprints/marshtomp_footprint.1bpp" + @ .incbin "baserom.gba", 0xDE2C00, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_swampert_still_front_pic:: @ 8DE2C20 + .incbin "graphics/pokemon/front_pics/swampert_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE2C20, 0x057C + + .align 2 +gFile_graphics_pokemon_palettes_swampert_palette:: @ 8DE319C + .incbin "graphics/pokemon/palettes/swampert_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE319C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_swampert_back_pic:: @ 8DE31C4 + .incbin "graphics/pokemon/back_pics/swampert_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE31C4, 0x03B4 + + .align 2 +gFile_graphics_pokemon_palettes_swampert_shiny_palette:: @ 8DE3578 + .incbin "graphics/pokemon/palettes/swampert_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE3578, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_swampert_icon:: @ 8DE35A0 + .incbin "graphics/pokemon/icons/swampert_icon.4bpp" + @ .incbin "baserom.gba", 0xDE35A0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_swampert_footprint:: @ 8DE39A0 + .incbin "graphics/pokemon/footprints/swampert_footprint.1bpp" + @ .incbin "baserom.gba", 0xDE39A0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_poochyena_still_front_pic:: @ 8DE39C0 + .incbin "graphics/pokemon/front_pics/poochyena_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE39C0, 0x02C8 + + .align 2 +gFile_graphics_pokemon_palettes_poochyena_palette:: @ 8DE3C88 + .incbin "graphics/pokemon/palettes/poochyena_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE3C88, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_poochyena_back_pic:: @ 8DE3CB0 + .incbin "graphics/pokemon/back_pics/poochyena_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE3CB0, 0x032C + + .align 2 +gFile_graphics_pokemon_palettes_poochyena_shiny_palette:: @ 8DE3FDC + .incbin "graphics/pokemon/palettes/poochyena_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE3FDC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_poochyena_icon:: @ 8DE4004 + .incbin "graphics/pokemon/icons/poochyena_icon.4bpp" + @ .incbin "baserom.gba", 0xDE4004, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_poochyena_footprint:: @ 8DE4404 + .incbin "graphics/pokemon/footprints/poochyena_footprint.1bpp" + @ .incbin "baserom.gba", 0xDE4404, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_mightyena_still_front_pic:: @ 8DE4424 + .incbin "graphics/pokemon/front_pics/mightyena_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE4424, 0x0438 + + .align 2 +gFile_graphics_pokemon_palettes_mightyena_palette:: @ 8DE485C + .incbin "graphics/pokemon/palettes/mightyena_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE485C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_mightyena_back_pic:: @ 8DE4884 + .incbin "graphics/pokemon/back_pics/mightyena_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE4884, 0x0378 + + .align 2 +gFile_graphics_pokemon_palettes_mightyena_shiny_palette:: @ 8DE4BFC + .incbin "graphics/pokemon/palettes/mightyena_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE4BFC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_mightyena_icon:: @ 8DE4C24 + .incbin "graphics/pokemon/icons/mightyena_icon.4bpp" + @ .incbin "baserom.gba", 0xDE4C24, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_mightyena_footprint:: @ 8DE5024 + .incbin "graphics/pokemon/footprints/mightyena_footprint.1bpp" + @ .incbin "baserom.gba", 0xDE5024, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_zigzagoon_still_front_pic:: @ 8DE5044 + .incbin "graphics/pokemon/front_pics/zigzagoon_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE5044, 0x03D0 + + .align 2 +gFile_graphics_pokemon_palettes_zigzagoon_palette:: @ 8DE5414 + .incbin "graphics/pokemon/palettes/zigzagoon_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE5414, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_zigzagoon_back_pic:: @ 8DE543C + .incbin "graphics/pokemon/back_pics/zigzagoon_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE543C, 0x0340 + + .align 2 +gFile_graphics_pokemon_palettes_zigzagoon_shiny_palette:: @ 8DE577C + .incbin "graphics/pokemon/palettes/zigzagoon_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE577C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_zigzagoon_icon:: @ 8DE57A4 + .incbin "graphics/pokemon/icons/zigzagoon_icon.4bpp" + @ .incbin "baserom.gba", 0xDE57A4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_zigzagoon_footprint:: @ 8DE5BA4 + .incbin "graphics/pokemon/footprints/zigzagoon_footprint.1bpp" + @ .incbin "baserom.gba", 0xDE5BA4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_linoone_still_front_pic:: @ 8DE5BC4 + .incbin "graphics/pokemon/front_pics/linoone_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE5BC4, 0x0370 + + .align 2 +gFile_graphics_pokemon_palettes_linoone_palette:: @ 8DE5F34 + .incbin "graphics/pokemon/palettes/linoone_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE5F34, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_linoone_back_pic:: @ 8DE5F5C + .incbin "graphics/pokemon/back_pics/linoone_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE5F5C, 0x02D4 + + .align 2 +gFile_graphics_pokemon_palettes_linoone_shiny_palette:: @ 8DE6230 + .incbin "graphics/pokemon/palettes/linoone_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE6230, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_linoone_icon:: @ 8DE6258 + .incbin "graphics/pokemon/icons/linoone_icon.4bpp" + @ .incbin "baserom.gba", 0xDE6258, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_linoone_footprint:: @ 8DE6658 + .incbin "graphics/pokemon/footprints/linoone_footprint.1bpp" + @ .incbin "baserom.gba", 0xDE6658, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_wurmple_still_front_pic:: @ 8DE6678 + .incbin "graphics/pokemon/front_pics/wurmple_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE6678, 0x0288 + + .align 2 +gFile_graphics_pokemon_palettes_wurmple_palette:: @ 8DE6900 + .incbin "graphics/pokemon/palettes/wurmple_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE6900, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_wurmple_back_pic:: @ 8DE6928 + .incbin "graphics/pokemon/back_pics/wurmple_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE6928, 0x024C + + .align 2 +gFile_graphics_pokemon_palettes_wurmple_shiny_palette:: @ 8DE6B74 + .incbin "graphics/pokemon/palettes/wurmple_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE6B74, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_wurmple_icon:: @ 8DE6B9C + .incbin "graphics/pokemon/icons/wurmple_icon.4bpp" + @ .incbin "baserom.gba", 0xDE6B9C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_wurmple_footprint:: @ 8DE6F9C + .incbin "graphics/pokemon/footprints/wurmple_footprint.1bpp" + @ .incbin "baserom.gba", 0xDE6F9C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_silcoon_still_front_pic:: @ 8DE6FBC + .incbin "graphics/pokemon/front_pics/silcoon_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE6FBC, 0x0280 + + .align 2 +gFile_graphics_pokemon_palettes_silcoon_palette:: @ 8DE723C + .incbin "graphics/pokemon/palettes/silcoon_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE723C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_silcoon_back_pic:: @ 8DE7264 + .incbin "graphics/pokemon/back_pics/silcoon_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE7264, 0x021C + + .align 2 +gFile_graphics_pokemon_palettes_silcoon_shiny_palette:: @ 8DE7480 + .incbin "graphics/pokemon/palettes/silcoon_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE7480, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_silcoon_icon:: @ 8DE74A8 + .incbin "graphics/pokemon/icons/silcoon_icon.4bpp" + @ .incbin "baserom.gba", 0xDE74A8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_silcoon_footprint:: @ 8DE78A8 + .incbin "graphics/pokemon/footprints/silcoon_footprint.1bpp" + @ .incbin "baserom.gba", 0xDE78A8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_beautifly_still_front_pic:: @ 8DE78C8 + .incbin "graphics/pokemon/front_pics/beautifly_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE78C8, 0x0358 + + .align 2 +gFile_graphics_pokemon_palettes_beautifly_palette:: @ 8DE7C20 + .incbin "graphics/pokemon/palettes/beautifly_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE7C20, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_beautifly_back_pic:: @ 8DE7C48 + .incbin "graphics/pokemon/back_pics/beautifly_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE7C48, 0x03B0 + + .align 2 +gFile_graphics_pokemon_palettes_beautifly_shiny_palette:: @ 8DE7FF8 + .incbin "graphics/pokemon/palettes/beautifly_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE7FF8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_beautifly_icon:: @ 8DE8020 + .incbin "graphics/pokemon/icons/beautifly_icon.4bpp" + @ .incbin "baserom.gba", 0xDE8020, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_beautifly_footprint:: @ 8DE8420 + .incbin "graphics/pokemon/footprints/beautifly_footprint.1bpp" + @ .incbin "baserom.gba", 0xDE8420, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_cascoon_still_front_pic:: @ 8DE8440 + .incbin "graphics/pokemon/front_pics/cascoon_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE8440, 0x026C + + .align 2 +gFile_graphics_pokemon_palettes_cascoon_palette:: @ 8DE86AC + .incbin "graphics/pokemon/palettes/cascoon_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE86AC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_cascoon_back_pic:: @ 8DE86D4 + .incbin "graphics/pokemon/back_pics/cascoon_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE86D4, 0x0210 + + .align 2 +gFile_graphics_pokemon_palettes_cascoon_shiny_palette:: @ 8DE88E4 + .incbin "graphics/pokemon/palettes/cascoon_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE88E4, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_cascoon_icon:: @ 8DE890C + .incbin "graphics/pokemon/icons/cascoon_icon.4bpp" + @ .incbin "baserom.gba", 0xDE890C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_cascoon_footprint:: @ 8DE8D0C + .incbin "graphics/pokemon/footprints/cascoon_footprint.1bpp" + @ .incbin "baserom.gba", 0xDE8D0C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_dustox_still_front_pic:: @ 8DE8D2C + .incbin "graphics/pokemon/front_pics/dustox_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE8D2C, 0x0368 + + .align 2 +gFile_graphics_pokemon_palettes_dustox_palette:: @ 8DE9094 + .incbin "graphics/pokemon/palettes/dustox_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE9094, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_dustox_back_pic:: @ 8DE90BC + .incbin "graphics/pokemon/back_pics/dustox_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE90BC, 0x0258 + + .align 2 +gFile_graphics_pokemon_palettes_dustox_shiny_palette:: @ 8DE9314 + .incbin "graphics/pokemon/palettes/dustox_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE9314, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_dustox_icon:: @ 8DE933C + .incbin "graphics/pokemon/icons/dustox_icon.4bpp" + @ .incbin "baserom.gba", 0xDE933C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_dustox_footprint:: @ 8DE973C + .incbin "graphics/pokemon/footprints/dustox_footprint.1bpp" + @ .incbin "baserom.gba", 0xDE973C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_lotad_still_front_pic:: @ 8DE975C + .incbin "graphics/pokemon/front_pics/lotad_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE975C, 0x0260 + + .align 2 +gFile_graphics_pokemon_palettes_lotad_palette:: @ 8DE99BC + .incbin "graphics/pokemon/palettes/lotad_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE99BC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_lotad_back_pic:: @ 8DE99E4 + .incbin "graphics/pokemon/back_pics/lotad_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDE99E4, 0x02E8 + + .align 2 +gFile_graphics_pokemon_palettes_lotad_shiny_palette:: @ 8DE9CCC + .incbin "graphics/pokemon/palettes/lotad_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDE9CCC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_lotad_icon:: @ 8DE9CF4 + .incbin "graphics/pokemon/icons/lotad_icon.4bpp" + @ .incbin "baserom.gba", 0xDE9CF4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_lotad_footprint:: @ 8DEA0F4 + .incbin "graphics/pokemon/footprints/lotad_footprint.1bpp" + @ .incbin "baserom.gba", 0xDEA0F4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_lombre_still_front_pic:: @ 8DEA114 + .incbin "graphics/pokemon/front_pics/lombre_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDEA114, 0x0318 + + .align 2 +gFile_graphics_pokemon_palettes_lombre_palette:: @ 8DEA42C + .incbin "graphics/pokemon/palettes/lombre_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDEA42C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_lombre_back_pic:: @ 8DEA454 + .incbin "graphics/pokemon/back_pics/lombre_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDEA454, 0x02FC + + .align 2 +gFile_graphics_pokemon_palettes_lombre_shiny_palette:: @ 8DEA750 + .incbin "graphics/pokemon/palettes/lombre_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDEA750, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_lombre_icon:: @ 8DEA778 + .incbin "graphics/pokemon/icons/lombre_icon.4bpp" + @ .incbin "baserom.gba", 0xDEA778, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_lombre_footprint:: @ 8DEAB78 + .incbin "graphics/pokemon/footprints/lombre_footprint.1bpp" + @ .incbin "baserom.gba", 0xDEAB78, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_ludicolo_still_front_pic:: @ 8DEAB98 + .incbin "graphics/pokemon/front_pics/ludicolo_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDEAB98, 0x04E4 + + .align 2 +gFile_graphics_pokemon_palettes_ludicolo_palette:: @ 8DEB07C + .incbin "graphics/pokemon/palettes/ludicolo_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDEB07C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_ludicolo_back_pic:: @ 8DEB0A4 + .incbin "graphics/pokemon/back_pics/ludicolo_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDEB0A4, 0x02FC + + .align 2 +gFile_graphics_pokemon_palettes_ludicolo_shiny_palette:: @ 8DEB3A0 + .incbin "graphics/pokemon/palettes/ludicolo_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDEB3A0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_ludicolo_icon:: @ 8DEB3C8 + .incbin "graphics/pokemon/icons/ludicolo_icon.4bpp" + @ .incbin "baserom.gba", 0xDEB3C8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_ludicolo_footprint:: @ 8DEB7C8 + .incbin "graphics/pokemon/footprints/ludicolo_footprint.1bpp" + @ .incbin "baserom.gba", 0xDEB7C8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_seedot_still_front_pic:: @ 8DEB7E8 + .incbin "graphics/pokemon/front_pics/seedot_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDEB7E8, 0x0294 + + .align 2 +gFile_graphics_pokemon_palettes_seedot_palette:: @ 8DEBA7C + .incbin "graphics/pokemon/palettes/seedot_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDEBA7C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_seedot_back_pic:: @ 8DEBAA4 + .incbin "graphics/pokemon/back_pics/seedot_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDEBAA4, 0x02E0 + + .align 2 +gFile_graphics_pokemon_palettes_seedot_shiny_palette:: @ 8DEBD84 + .incbin "graphics/pokemon/palettes/seedot_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDEBD84, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_seedot_icon:: @ 8DEBDAC + .incbin "graphics/pokemon/icons/seedot_icon.4bpp" + @ .incbin "baserom.gba", 0xDEBDAC, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_seedot_footprint:: @ 8DEC1AC + .incbin "graphics/pokemon/footprints/seedot_footprint.1bpp" + @ .incbin "baserom.gba", 0xDEC1AC, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_nuzleaf_still_front_pic:: @ 8DEC1CC + .incbin "graphics/pokemon/front_pics/nuzleaf_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDEC1CC, 0x02EC + + .align 2 +gFile_graphics_pokemon_palettes_nuzleaf_palette:: @ 8DEC4B8 + .incbin "graphics/pokemon/palettes/nuzleaf_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDEC4B8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_nuzleaf_back_pic:: @ 8DEC4E0 + .incbin "graphics/pokemon/back_pics/nuzleaf_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDEC4E0, 0x02C8 + + .align 2 +gFile_graphics_pokemon_palettes_nuzleaf_shiny_palette:: @ 8DEC7A8 + .incbin "graphics/pokemon/palettes/nuzleaf_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDEC7A8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_nuzleaf_icon:: @ 8DEC7D0 + .incbin "graphics/pokemon/icons/nuzleaf_icon.4bpp" + @ .incbin "baserom.gba", 0xDEC7D0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_nuzleaf_footprint:: @ 8DECBD0 + .incbin "graphics/pokemon/footprints/nuzleaf_footprint.1bpp" + @ .incbin "baserom.gba", 0xDECBD0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_shiftry_still_front_pic:: @ 8DECBF0 + .incbin "graphics/pokemon/front_pics/shiftry_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDECBF0, 0x04BC + + .align 2 +gFile_graphics_pokemon_palettes_shiftry_palette:: @ 8DED0AC + .incbin "graphics/pokemon/palettes/shiftry_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDED0AC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_shiftry_back_pic:: @ 8DED0D4 + .incbin "graphics/pokemon/back_pics/shiftry_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDED0D4, 0x02C4 + + .align 2 +gFile_graphics_pokemon_palettes_shiftry_shiny_palette:: @ 8DED398 + .incbin "graphics/pokemon/palettes/shiftry_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDED398, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_shiftry_icon:: @ 8DED3C0 + .incbin "graphics/pokemon/icons/shiftry_icon.4bpp" + @ .incbin "baserom.gba", 0xDED3C0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_shiftry_footprint:: @ 8DED7C0 + .incbin "graphics/pokemon/footprints/shiftry_footprint.1bpp" + @ .incbin "baserom.gba", 0xDED7C0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_nincada_still_front_pic:: @ 8DED7E0 + .incbin "graphics/pokemon/front_pics/nincada_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDED7E0, 0x02A0 + + .align 2 +gFile_graphics_pokemon_palettes_nincada_palette:: @ 8DEDA80 + .incbin "graphics/pokemon/palettes/nincada_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDEDA80, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_nincada_back_pic:: @ 8DEDAA8 + .incbin "graphics/pokemon/back_pics/nincada_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDEDAA8, 0x02B8 + + .align 2 +gFile_graphics_pokemon_palettes_nincada_shiny_palette:: @ 8DEDD60 + .incbin "graphics/pokemon/palettes/nincada_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDEDD60, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_nincada_icon:: @ 8DEDD88 + .incbin "graphics/pokemon/icons/nincada_icon.4bpp" + @ .incbin "baserom.gba", 0xDEDD88, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_nincada_footprint:: @ 8DEE188 + .incbin "graphics/pokemon/footprints/nincada_footprint.1bpp" + @ .incbin "baserom.gba", 0xDEE188, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_ninjask_still_front_pic:: @ 8DEE1A8 + .incbin "graphics/pokemon/front_pics/ninjask_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDEE1A8, 0x0370 + + .align 2 +gFile_graphics_pokemon_palettes_ninjask_palette:: @ 8DEE518 + .incbin "graphics/pokemon/palettes/ninjask_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDEE518, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_ninjask_back_pic:: @ 8DEE540 + .incbin "graphics/pokemon/back_pics/ninjask_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDEE540, 0x03CC + + .align 2 +gFile_graphics_pokemon_palettes_ninjask_shiny_palette:: @ 8DEE90C + .incbin "graphics/pokemon/palettes/ninjask_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDEE90C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_ninjask_icon:: @ 8DEE934 + .incbin "graphics/pokemon/icons/ninjask_icon.4bpp" + @ .incbin "baserom.gba", 0xDEE934, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_ninjask_footprint:: @ 8DEED34 + .incbin "graphics/pokemon/footprints/ninjask_footprint.1bpp" + @ .incbin "baserom.gba", 0xDEED34, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_shedinja_still_front_pic:: @ 8DEED54 + .incbin "graphics/pokemon/front_pics/shedinja_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDEED54, 0x0320 + + .align 2 +gFile_graphics_pokemon_palettes_shedinja_palette:: @ 8DEF074 + .incbin "graphics/pokemon/palettes/shedinja_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDEF074, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_shedinja_back_pic:: @ 8DEF09C + .incbin "graphics/pokemon/back_pics/shedinja_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDEF09C, 0x03A0 + + .align 2 +gFile_graphics_pokemon_palettes_shedinja_shiny_palette:: @ 8DEF43C + .incbin "graphics/pokemon/palettes/shedinja_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDEF43C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_shedinja_icon:: @ 8DEF464 + .incbin "graphics/pokemon/icons/shedinja_icon.4bpp" + @ .incbin "baserom.gba", 0xDEF464, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_shedinja_footprint:: @ 8DEF864 + .incbin "graphics/pokemon/footprints/shedinja_footprint.1bpp" + @ .incbin "baserom.gba", 0xDEF864, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_taillow_still_front_pic:: @ 8DEF884 + .incbin "graphics/pokemon/front_pics/taillow_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDEF884, 0x0258 + + .align 2 +gFile_graphics_pokemon_palettes_taillow_palette:: @ 8DEFADC + .incbin "graphics/pokemon/palettes/taillow_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDEFADC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_taillow_back_pic:: @ 8DEFB04 + .incbin "graphics/pokemon/back_pics/taillow_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDEFB04, 0x0220 + + .align 2 +gFile_graphics_pokemon_palettes_taillow_shiny_palette:: @ 8DEFD24 + .incbin "graphics/pokemon/palettes/taillow_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDEFD24, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_taillow_icon:: @ 8DEFD4C + .incbin "graphics/pokemon/icons/taillow_icon.4bpp" + @ .incbin "baserom.gba", 0xDEFD4C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_taillow_footprint:: @ 8DF014C + .incbin "graphics/pokemon/footprints/taillow_footprint.1bpp" + @ .incbin "baserom.gba", 0xDF014C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_swellow_still_front_pic:: @ 8DF016C + .incbin "graphics/pokemon/front_pics/swellow_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF016C, 0x03C4 + + .align 2 +gFile_graphics_pokemon_palettes_swellow_palette:: @ 8DF0530 + .incbin "graphics/pokemon/palettes/swellow_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF0530, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_swellow_back_pic:: @ 8DF0558 + .incbin "graphics/pokemon/back_pics/swellow_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF0558, 0x0338 + + .align 2 +gFile_graphics_pokemon_palettes_swellow_shiny_palette:: @ 8DF0890 + .incbin "graphics/pokemon/palettes/swellow_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF0890, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_swellow_icon:: @ 8DF08B8 + .incbin "graphics/pokemon/icons/swellow_icon.4bpp" + @ .incbin "baserom.gba", 0xDF08B8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_swellow_footprint:: @ 8DF0CB8 + .incbin "graphics/pokemon/footprints/swellow_footprint.1bpp" + @ .incbin "baserom.gba", 0xDF0CB8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_shroomish_still_front_pic:: @ 8DF0CD8 + .incbin "graphics/pokemon/front_pics/shroomish_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF0CD8, 0x0268 + + .align 2 +gFile_graphics_pokemon_palettes_shroomish_palette:: @ 8DF0F40 + .incbin "graphics/pokemon/palettes/shroomish_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF0F40, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_shroomish_back_pic:: @ 8DF0F68 + .incbin "graphics/pokemon/back_pics/shroomish_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF0F68, 0x02E0 + + .align 2 +gFile_graphics_pokemon_palettes_shroomish_shiny_palette:: @ 8DF1248 + .incbin "graphics/pokemon/palettes/shroomish_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF1248, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_shroomish_icon:: @ 8DF1270 + .incbin "graphics/pokemon/icons/shroomish_icon.4bpp" + @ .incbin "baserom.gba", 0xDF1270, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_shroomish_footprint:: @ 8DF1670 + .incbin "graphics/pokemon/footprints/shroomish_footprint.1bpp" + @ .incbin "baserom.gba", 0xDF1670, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_breloom_still_front_pic:: @ 8DF1690 + .incbin "graphics/pokemon/front_pics/breloom_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF1690, 0x03E8 + + .align 2 +gFile_graphics_pokemon_palettes_breloom_palette:: @ 8DF1A78 + .incbin "graphics/pokemon/palettes/breloom_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF1A78, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_breloom_back_pic:: @ 8DF1AA0 + .incbin "graphics/pokemon/back_pics/breloom_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF1AA0, 0x03E0 + + .align 2 +gFile_graphics_pokemon_palettes_breloom_shiny_palette:: @ 8DF1E80 + .incbin "graphics/pokemon/palettes/breloom_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF1E80, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_breloom_icon:: @ 8DF1EA8 + .incbin "graphics/pokemon/icons/breloom_icon.4bpp" + @ .incbin "baserom.gba", 0xDF1EA8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_breloom_footprint:: @ 8DF22A8 + .incbin "graphics/pokemon/footprints/breloom_footprint.1bpp" + @ .incbin "baserom.gba", 0xDF22A8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_spinda_still_front_pic:: @ 8DF22C8 + .incbin "graphics/pokemon/front_pics/spinda_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF22C8, 0x0300 + + .align 2 +gFile_graphics_pokemon_palettes_spinda_palette:: @ 8DF25C8 + .incbin "graphics/pokemon/palettes/spinda_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF25C8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_spinda_back_pic:: @ 8DF25F0 + .incbin "graphics/pokemon/back_pics/spinda_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF25F0, 0x033C + + .align 2 +gFile_graphics_pokemon_palettes_spinda_shiny_palette:: @ 8DF292C + .incbin "graphics/pokemon/palettes/spinda_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF292C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_spinda_icon:: @ 8DF2954 + .incbin "graphics/pokemon/icons/spinda_icon.4bpp" + @ .incbin "baserom.gba", 0xDF2954, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_spinda_footprint:: @ 8DF2D54 + .incbin "graphics/pokemon/footprints/spinda_footprint.1bpp" + @ .incbin "baserom.gba", 0xDF2D54, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_wingull_still_front_pic:: @ 8DF2D74 + .incbin "graphics/pokemon/front_pics/wingull_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF2D74, 0x023C + + .align 2 +gFile_graphics_pokemon_palettes_wingull_palette:: @ 8DF2FB0 + .incbin "graphics/pokemon/palettes/wingull_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF2FB0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_wingull_back_pic:: @ 8DF2FD8 + .incbin "graphics/pokemon/back_pics/wingull_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF2FD8, 0x0350 + + .align 2 +gFile_graphics_pokemon_palettes_wingull_shiny_palette:: @ 8DF3328 + .incbin "graphics/pokemon/palettes/wingull_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF3328, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_wingull_icon:: @ 8DF3350 + .incbin "graphics/pokemon/icons/wingull_icon.4bpp" + @ .incbin "baserom.gba", 0xDF3350, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_wingull_footprint:: @ 8DF3750 + .incbin "graphics/pokemon/footprints/wingull_footprint.1bpp" + @ .incbin "baserom.gba", 0xDF3750, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_pelipper_still_front_pic:: @ 8DF3770 + .incbin "graphics/pokemon/front_pics/pelipper_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF3770, 0x0398 + + .align 2 +gFile_graphics_pokemon_palettes_pelipper_palette:: @ 8DF3B08 + .incbin "graphics/pokemon/palettes/pelipper_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF3B08, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_pelipper_back_pic:: @ 8DF3B30 + .incbin "graphics/pokemon/back_pics/pelipper_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF3B30, 0x0380 + + .align 2 +gFile_graphics_pokemon_palettes_pelipper_shiny_palette:: @ 8DF3EB0 + .incbin "graphics/pokemon/palettes/pelipper_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF3EB0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_pelipper_icon:: @ 8DF3ED8 + .incbin "graphics/pokemon/icons/pelipper_icon.4bpp" + @ .incbin "baserom.gba", 0xDF3ED8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_pelipper_footprint:: @ 8DF42D8 + .incbin "graphics/pokemon/footprints/pelipper_footprint.1bpp" + @ .incbin "baserom.gba", 0xDF42D8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_surskit_still_front_pic:: @ 8DF42F8 + .incbin "graphics/pokemon/front_pics/surskit_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF42F8, 0x020C + + .align 2 +gFile_graphics_pokemon_palettes_surskit_palette:: @ 8DF4504 + .incbin "graphics/pokemon/palettes/surskit_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF4504, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_surskit_back_pic:: @ 8DF452C + .incbin "graphics/pokemon/back_pics/surskit_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF452C, 0x0238 + + .align 2 +gFile_graphics_pokemon_palettes_surskit_shiny_palette:: @ 8DF4764 + .incbin "graphics/pokemon/palettes/surskit_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF4764, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_surskit_icon:: @ 8DF478C + .incbin "graphics/pokemon/icons/surskit_icon.4bpp" + @ .incbin "baserom.gba", 0xDF478C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_surskit_footprint:: @ 8DF4B8C + .incbin "graphics/pokemon/footprints/surskit_footprint.1bpp" + @ .incbin "baserom.gba", 0xDF4B8C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_masquerain_still_front_pic:: @ 8DF4BAC + .incbin "graphics/pokemon/front_pics/masquerain_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF4BAC, 0x039C + + .align 2 +gFile_graphics_pokemon_palettes_masquerain_palette:: @ 8DF4F48 + .incbin "graphics/pokemon/palettes/masquerain_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF4F48, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_masquerain_back_pic:: @ 8DF4F70 + .incbin "graphics/pokemon/back_pics/masquerain_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF4F70, 0x0358 + + .align 2 +gFile_graphics_pokemon_palettes_masquerain_shiny_palette:: @ 8DF52C8 + .incbin "graphics/pokemon/palettes/masquerain_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF52C8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_masquerain_icon:: @ 8DF52F0 + .incbin "graphics/pokemon/icons/masquerain_icon.4bpp" + @ .incbin "baserom.gba", 0xDF52F0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_masquerain_footprint:: @ 8DF56F0 + .incbin "graphics/pokemon/footprints/masquerain_footprint.1bpp" + @ .incbin "baserom.gba", 0xDF56F0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_wailmer_still_front_pic:: @ 8DF5710 + .incbin "graphics/pokemon/front_pics/wailmer_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF5710, 0x02E0 + + .align 2 +gFile_graphics_pokemon_palettes_wailmer_palette:: @ 8DF59F0 + .incbin "graphics/pokemon/palettes/wailmer_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF59F0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_wailmer_back_pic:: @ 8DF5A18 + .incbin "graphics/pokemon/back_pics/wailmer_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF5A18, 0x01E4 + + .align 2 +gFile_graphics_pokemon_palettes_wailmer_shiny_palette:: @ 8DF5BFC + .incbin "graphics/pokemon/palettes/wailmer_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF5BFC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_wailmer_icon:: @ 8DF5C24 + .incbin "graphics/pokemon/icons/wailmer_icon.4bpp" + @ .incbin "baserom.gba", 0xDF5C24, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_wailmer_footprint:: @ 8DF6024 + .incbin "graphics/pokemon/footprints/wailmer_footprint.1bpp" + @ .incbin "baserom.gba", 0xDF6024, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_wailord_still_front_pic:: @ 8DF6044 + .incbin "graphics/pokemon/front_pics/wailord_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF6044, 0x03C4 + + .align 2 +gFile_graphics_pokemon_palettes_wailord_palette:: @ 8DF6408 + .incbin "graphics/pokemon/palettes/wailord_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF6408, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_wailord_back_pic:: @ 8DF6430 + .incbin "graphics/pokemon/back_pics/wailord_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF6430, 0x0218 + + .align 2 +gFile_graphics_pokemon_palettes_wailord_shiny_palette:: @ 8DF6648 + .incbin "graphics/pokemon/palettes/wailord_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF6648, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_wailord_icon:: @ 8DF6670 + .incbin "graphics/pokemon/icons/wailord_icon.4bpp" + @ .incbin "baserom.gba", 0xDF6670, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_wailord_footprint:: @ 8DF6A70 + .incbin "graphics/pokemon/footprints/wailord_footprint.1bpp" + @ .incbin "baserom.gba", 0xDF6A70, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_skitty_still_front_pic:: @ 8DF6A90 + .incbin "graphics/pokemon/front_pics/skitty_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF6A90, 0x0300 + + .align 2 +gFile_graphics_pokemon_palettes_skitty_palette:: @ 8DF6D90 + .incbin "graphics/pokemon/palettes/skitty_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF6D90, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_skitty_back_pic:: @ 8DF6DB8 + .incbin "graphics/pokemon/back_pics/skitty_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF6DB8, 0x0348 + + .align 2 +gFile_graphics_pokemon_palettes_skitty_shiny_palette:: @ 8DF7100 + .incbin "graphics/pokemon/palettes/skitty_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF7100, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_skitty_icon:: @ 8DF7128 + .incbin "graphics/pokemon/icons/skitty_icon.4bpp" + @ .incbin "baserom.gba", 0xDF7128, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_skitty_footprint:: @ 8DF7528 + .incbin "graphics/pokemon/footprints/skitty_footprint.1bpp" + @ .incbin "baserom.gba", 0xDF7528, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_delcatty_still_front_pic:: @ 8DF7548 + .incbin "graphics/pokemon/front_pics/delcatty_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF7548, 0x038C + + .align 2 +gFile_graphics_pokemon_palettes_delcatty_palette:: @ 8DF78D4 + .incbin "graphics/pokemon/palettes/delcatty_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF78D4, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_delcatty_back_pic:: @ 8DF78FC + .incbin "graphics/pokemon/back_pics/delcatty_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF78FC, 0x039C + + .align 2 +gFile_graphics_pokemon_palettes_delcatty_shiny_palette:: @ 8DF7C98 + .incbin "graphics/pokemon/palettes/delcatty_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF7C98, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_delcatty_icon:: @ 8DF7CC0 + .incbin "graphics/pokemon/icons/delcatty_icon.4bpp" + @ .incbin "baserom.gba", 0xDF7CC0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_delcatty_footprint:: @ 8DF80C0 + .incbin "graphics/pokemon/footprints/delcatty_footprint.1bpp" + @ .incbin "baserom.gba", 0xDF80C0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_kecleon_still_front_pic:: @ 8DF80E0 + .incbin "graphics/pokemon/front_pics/kecleon_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF80E0, 0x0380 + + .align 2 +gFile_graphics_pokemon_palettes_kecleon_palette:: @ 8DF8460 + .incbin "graphics/pokemon/palettes/kecleon_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF8460, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_kecleon_back_pic:: @ 8DF8488 + .incbin "graphics/pokemon/back_pics/kecleon_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF8488, 0x03D8 + + .align 2 +gFile_graphics_pokemon_palettes_kecleon_shiny_palette:: @ 8DF8860 + .incbin "graphics/pokemon/palettes/kecleon_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF8860, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_kecleon_icon:: @ 8DF8888 + .incbin "graphics/pokemon/icons/kecleon_icon.4bpp" + @ .incbin "baserom.gba", 0xDF8888, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_kecleon_footprint:: @ 8DF8C88 + .incbin "graphics/pokemon/footprints/kecleon_footprint.1bpp" + @ .incbin "baserom.gba", 0xDF8C88, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_baltoy_still_front_pic:: @ 8DF8CA8 + .incbin "graphics/pokemon/front_pics/baltoy_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF8CA8, 0x0224 + + .align 2 +gFile_graphics_pokemon_palettes_baltoy_palette:: @ 8DF8ECC + .incbin "graphics/pokemon/palettes/baltoy_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF8ECC, 0x0020 + + .align 2 +gFile_graphics_pokemon_back_pics_baltoy_back_pic:: @ 8DF8EEC + .incbin "graphics/pokemon/back_pics/baltoy_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF8EEC, 0x02A8 + + .align 2 +gFile_graphics_pokemon_palettes_baltoy_shiny_palette:: @ 8DF9194 + .incbin "graphics/pokemon/palettes/baltoy_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF9194, 0x0020 + + .align 2 +gFile_graphics_pokemon_icons_baltoy_icon:: @ 8DF91B4 + .incbin "graphics/pokemon/icons/baltoy_icon.4bpp" + @ .incbin "baserom.gba", 0xDF91B4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_baltoy_footprint:: @ 8DF95B4 + .incbin "graphics/pokemon/footprints/baltoy_footprint.1bpp" + @ .incbin "baserom.gba", 0xDF95B4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_claydol_still_front_pic:: @ 8DF95D4 + .incbin "graphics/pokemon/front_pics/claydol_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF95D4, 0x03B8 + + .align 2 +gFile_graphics_pokemon_palettes_claydol_palette:: @ 8DF998C + .incbin "graphics/pokemon/palettes/claydol_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF998C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_claydol_back_pic:: @ 8DF99B4 + .incbin "graphics/pokemon/back_pics/claydol_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDF99B4, 0x03D4 + + .align 2 +gFile_graphics_pokemon_palettes_claydol_shiny_palette:: @ 8DF9D88 + .incbin "graphics/pokemon/palettes/claydol_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDF9D88, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_claydol_icon:: @ 8DF9DB0 + .incbin "graphics/pokemon/icons/claydol_icon.4bpp" + @ .incbin "baserom.gba", 0xDF9DB0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_claydol_footprint:: @ 8DFA1B0 + .incbin "graphics/pokemon/footprints/claydol_footprint.1bpp" + @ .incbin "baserom.gba", 0xDFA1B0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_nosepass_still_front_pic:: @ 8DFA1D0 + .incbin "graphics/pokemon/front_pics/nosepass_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDFA1D0, 0x02CC + + .align 2 +gFile_graphics_pokemon_palettes_nosepass_palette:: @ 8DFA49C + .incbin "graphics/pokemon/palettes/nosepass_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDFA49C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_nosepass_back_pic:: @ 8DFA4C4 + .incbin "graphics/pokemon/back_pics/nosepass_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDFA4C4, 0x02A0 + + .align 2 +gFile_graphics_pokemon_palettes_nosepass_shiny_palette:: @ 8DFA764 + .incbin "graphics/pokemon/palettes/nosepass_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDFA764, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_nosepass_icon:: @ 8DFA78C + .incbin "graphics/pokemon/icons/nosepass_icon.4bpp" + @ .incbin "baserom.gba", 0xDFA78C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_nosepass_footprint:: @ 8DFAB8C + .incbin "graphics/pokemon/footprints/nosepass_footprint.1bpp" + @ .incbin "baserom.gba", 0xDFAB8C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_torkoal_still_front_pic:: @ 8DFABAC + .incbin "graphics/pokemon/front_pics/torkoal_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDFABAC, 0x04AC + + .align 2 +gFile_graphics_pokemon_palettes_torkoal_palette:: @ 8DFB058 + .incbin "graphics/pokemon/palettes/torkoal_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDFB058, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_torkoal_back_pic:: @ 8DFB080 + .incbin "graphics/pokemon/back_pics/torkoal_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDFB080, 0x02C8 + + .align 2 +gFile_graphics_pokemon_palettes_torkoal_shiny_palette:: @ 8DFB348 + .incbin "graphics/pokemon/palettes/torkoal_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDFB348, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_torkoal_icon:: @ 8DFB370 + .incbin "graphics/pokemon/icons/torkoal_icon.4bpp" + @ .incbin "baserom.gba", 0xDFB370, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_torkoal_footprint:: @ 8DFB770 + .incbin "graphics/pokemon/footprints/torkoal_footprint.1bpp" + @ .incbin "baserom.gba", 0xDFB770, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_sableye_still_front_pic:: @ 8DFB790 + .incbin "graphics/pokemon/front_pics/sableye_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDFB790, 0x02D4 + + .align 2 +gFile_graphics_pokemon_palettes_sableye_palette:: @ 8DFBA64 + .incbin "graphics/pokemon/palettes/sableye_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDFBA64, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_sableye_back_pic:: @ 8DFBA8C + .incbin "graphics/pokemon/back_pics/sableye_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDFBA8C, 0x0328 + + .align 2 +gFile_graphics_pokemon_palettes_sableye_shiny_palette:: @ 8DFBDB4 + .incbin "graphics/pokemon/palettes/sableye_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDFBDB4, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_sableye_icon:: @ 8DFBDDC + .incbin "graphics/pokemon/icons/sableye_icon.4bpp" + @ .incbin "baserom.gba", 0xDFBDDC, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_sableye_footprint:: @ 8DFC1DC + .incbin "graphics/pokemon/footprints/sableye_footprint.1bpp" + @ .incbin "baserom.gba", 0xDFC1DC, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_barboach_still_front_pic:: @ 8DFC1FC + .incbin "graphics/pokemon/front_pics/barboach_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDFC1FC, 0x0290 + + .align 2 +gFile_graphics_pokemon_palettes_barboach_palette:: @ 8DFC48C + .incbin "graphics/pokemon/palettes/barboach_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDFC48C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_barboach_back_pic:: @ 8DFC4B4 + .incbin "graphics/pokemon/back_pics/barboach_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDFC4B4, 0x0290 + + .align 2 +gFile_graphics_pokemon_palettes_barboach_shiny_palette:: @ 8DFC744 + .incbin "graphics/pokemon/palettes/barboach_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDFC744, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_barboach_icon:: @ 8DFC76C + .incbin "graphics/pokemon/icons/barboach_icon.4bpp" + @ .incbin "baserom.gba", 0xDFC76C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_barboach_footprint:: @ 8DFCB6C + .incbin "graphics/pokemon/footprints/barboach_footprint.1bpp" + @ .incbin "baserom.gba", 0xDFCB6C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_whiscash_still_front_pic:: @ 8DFCB8C + .incbin "graphics/pokemon/front_pics/whiscash_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDFCB8C, 0x0378 + + .align 2 +gFile_graphics_pokemon_palettes_whiscash_palette:: @ 8DFCF04 + .incbin "graphics/pokemon/palettes/whiscash_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDFCF04, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_whiscash_back_pic:: @ 8DFCF2C + .incbin "graphics/pokemon/back_pics/whiscash_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDFCF2C, 0x034C + + .align 2 +gFile_graphics_pokemon_palettes_whiscash_shiny_palette:: @ 8DFD278 + .incbin "graphics/pokemon/palettes/whiscash_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDFD278, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_whiscash_icon:: @ 8DFD2A0 + .incbin "graphics/pokemon/icons/whiscash_icon.4bpp" + @ .incbin "baserom.gba", 0xDFD2A0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_whiscash_footprint:: @ 8DFD6A0 + .incbin "graphics/pokemon/footprints/whiscash_footprint.1bpp" + @ .incbin "baserom.gba", 0xDFD6A0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_luvdisc_still_front_pic:: @ 8DFD6C0 + .incbin "graphics/pokemon/front_pics/luvdisc_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDFD6C0, 0x01C0 + + .align 2 +gFile_graphics_pokemon_palettes_luvdisc_palette:: @ 8DFD880 + .incbin "graphics/pokemon/palettes/luvdisc_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDFD880, 0x0024 + + .align 2 +gFile_graphics_pokemon_back_pics_luvdisc_back_pic:: @ 8DFD8A4 + .incbin "graphics/pokemon/back_pics/luvdisc_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDFD8A4, 0x01D4 + + .align 2 +gFile_graphics_pokemon_palettes_luvdisc_shiny_palette:: @ 8DFDA78 + .incbin "graphics/pokemon/palettes/luvdisc_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDFDA78, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_luvdisc_icon:: @ 8DFDA9C + .incbin "graphics/pokemon/icons/luvdisc_icon.4bpp" + @ .incbin "baserom.gba", 0xDFDA9C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_luvdisc_footprint:: @ 8DFDE9C + .incbin "graphics/pokemon/footprints/luvdisc_footprint.1bpp" + @ .incbin "baserom.gba", 0xDFDE9C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_corphish_still_front_pic:: @ 8DFDEBC + .incbin "graphics/pokemon/front_pics/corphish_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDFDEBC, 0x035C + + .align 2 +gFile_graphics_pokemon_palettes_corphish_palette:: @ 8DFE218 + .incbin "graphics/pokemon/palettes/corphish_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDFE218, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_corphish_back_pic:: @ 8DFE240 + .incbin "graphics/pokemon/back_pics/corphish_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDFE240, 0x031C + + .align 2 +gFile_graphics_pokemon_palettes_corphish_shiny_palette:: @ 8DFE55C + .incbin "graphics/pokemon/palettes/corphish_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDFE55C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_corphish_icon:: @ 8DFE584 + .incbin "graphics/pokemon/icons/corphish_icon.4bpp" + @ .incbin "baserom.gba", 0xDFE584, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_corphish_footprint:: @ 8DFE984 + .incbin "graphics/pokemon/footprints/corphish_footprint.1bpp" + @ .incbin "baserom.gba", 0xDFE984, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_crawdaunt_still_front_pic:: @ 8DFE9A4 + .incbin "graphics/pokemon/front_pics/crawdaunt_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDFE9A4, 0x0490 + + .align 2 +gFile_graphics_pokemon_palettes_crawdaunt_palette:: @ 8DFEE34 + .incbin "graphics/pokemon/palettes/crawdaunt_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDFEE34, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_crawdaunt_back_pic:: @ 8DFEE5C + .incbin "graphics/pokemon/back_pics/crawdaunt_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDFEE5C, 0x03E4 + + .align 2 +gFile_graphics_pokemon_palettes_crawdaunt_shiny_palette:: @ 8DFF240 + .incbin "graphics/pokemon/palettes/crawdaunt_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDFF240, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_crawdaunt_icon:: @ 8DFF268 + .incbin "graphics/pokemon/icons/crawdaunt_icon.4bpp" + @ .incbin "baserom.gba", 0xDFF268, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_crawdaunt_footprint:: @ 8DFF668 + .incbin "graphics/pokemon/footprints/crawdaunt_footprint.1bpp" + @ .incbin "baserom.gba", 0xDFF668, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_feebas_still_front_pic:: @ 8DFF688 + .incbin "graphics/pokemon/front_pics/feebas_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDFF688, 0x028C + + .align 2 +gFile_graphics_pokemon_palettes_feebas_palette:: @ 8DFF914 + .incbin "graphics/pokemon/palettes/feebas_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDFF914, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_feebas_back_pic:: @ 8DFF93C + .incbin "graphics/pokemon/back_pics/feebas_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xDFF93C, 0x0338 + + .align 2 +gFile_graphics_pokemon_palettes_feebas_shiny_palette:: @ 8DFFC74 + .incbin "graphics/pokemon/palettes/feebas_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xDFFC74, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_feebas_icon:: @ 8DFFC9C + .incbin "graphics/pokemon/icons/feebas_icon.4bpp" + @ .incbin "baserom.gba", 0xDFFC9C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_feebas_footprint:: @ 8E0009C + .incbin "graphics/pokemon/footprints/feebas_footprint.1bpp" + @ .incbin "baserom.gba", 0xE0009C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_milotic_still_front_pic:: @ 8E000BC + .incbin "graphics/pokemon/front_pics/milotic_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE000BC, 0x0490 + + .align 2 +gFile_graphics_pokemon_palettes_milotic_palette:: @ 8E0054C + .incbin "graphics/pokemon/palettes/milotic_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE0054C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_milotic_back_pic:: @ 8E00574 + .incbin "graphics/pokemon/back_pics/milotic_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE00574, 0x02F4 + + .align 2 +gFile_graphics_pokemon_palettes_milotic_shiny_palette:: @ 8E00868 + .incbin "graphics/pokemon/palettes/milotic_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE00868, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_milotic_icon:: @ 8E00890 + .incbin "graphics/pokemon/icons/milotic_icon.4bpp" + @ .incbin "baserom.gba", 0xE00890, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_milotic_footprint:: @ 8E00C90 + .incbin "graphics/pokemon/footprints/milotic_footprint.1bpp" + @ .incbin "baserom.gba", 0xE00C90, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_carvanha_still_front_pic:: @ 8E00CB0 + .incbin "graphics/pokemon/front_pics/carvanha_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE00CB0, 0x032C + + .align 2 +gFile_graphics_pokemon_palettes_carvanha_palette:: @ 8E00FDC + .incbin "graphics/pokemon/palettes/carvanha_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE00FDC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_carvanha_back_pic:: @ 8E01004 + .incbin "graphics/pokemon/back_pics/carvanha_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE01004, 0x0310 + + .align 2 +gFile_graphics_pokemon_palettes_carvanha_shiny_palette:: @ 8E01314 + .incbin "graphics/pokemon/palettes/carvanha_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE01314, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_carvanha_icon:: @ 8E0133C + .incbin "graphics/pokemon/icons/carvanha_icon.4bpp" + @ .incbin "baserom.gba", 0xE0133C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_carvanha_footprint:: @ 8E0173C + .incbin "graphics/pokemon/footprints/carvanha_footprint.1bpp" + @ .incbin "baserom.gba", 0xE0173C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_sharpedo_still_front_pic:: @ 8E0175C + .incbin "graphics/pokemon/front_pics/sharpedo_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE0175C, 0x0390 + + .align 2 +gFile_graphics_pokemon_palettes_sharpedo_palette:: @ 8E01AEC + .incbin "graphics/pokemon/palettes/sharpedo_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE01AEC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_sharpedo_back_pic:: @ 8E01B14 + .incbin "graphics/pokemon/back_pics/sharpedo_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE01B14, 0x0358 + + .align 2 +gFile_graphics_pokemon_palettes_sharpedo_shiny_palette:: @ 8E01E6C + .incbin "graphics/pokemon/palettes/sharpedo_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE01E6C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_sharpedo_icon:: @ 8E01E94 + .incbin "graphics/pokemon/icons/sharpedo_icon.4bpp" + @ .incbin "baserom.gba", 0xE01E94, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_sharpedo_footprint:: @ 8E02294 + .incbin "graphics/pokemon/footprints/sharpedo_footprint.1bpp" + @ .incbin "baserom.gba", 0xE02294, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_trapinch_still_front_pic:: @ 8E022B4 + .incbin "graphics/pokemon/front_pics/trapinch_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE022B4, 0x021C + + .align 2 +gFile_graphics_pokemon_palettes_trapinch_palette:: @ 8E024D0 + .incbin "graphics/pokemon/palettes/trapinch_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE024D0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_trapinch_back_pic:: @ 8E024F8 + .incbin "graphics/pokemon/back_pics/trapinch_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE024F8, 0x0220 + + .align 2 +gFile_graphics_pokemon_palettes_trapinch_shiny_palette:: @ 8E02718 + .incbin "graphics/pokemon/palettes/trapinch_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE02718, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_trapinch_icon:: @ 8E02740 + .incbin "graphics/pokemon/icons/trapinch_icon.4bpp" + @ .incbin "baserom.gba", 0xE02740, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_trapinch_footprint:: @ 8E02B40 + .incbin "graphics/pokemon/footprints/trapinch_footprint.1bpp" + @ .incbin "baserom.gba", 0xE02B40, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_vibrava_still_front_pic:: @ 8E02B60 + .incbin "graphics/pokemon/front_pics/vibrava_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE02B60, 0x0370 + + .align 2 +gFile_graphics_pokemon_palettes_vibrava_palette:: @ 8E02ED0 + .incbin "graphics/pokemon/palettes/vibrava_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE02ED0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_vibrava_back_pic:: @ 8E02EF8 + .incbin "graphics/pokemon/back_pics/vibrava_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE02EF8, 0x0278 + + .align 2 +gFile_graphics_pokemon_palettes_vibrava_shiny_palette:: @ 8E03170 + .incbin "graphics/pokemon/palettes/vibrava_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE03170, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_vibrava_icon:: @ 8E03198 + .incbin "graphics/pokemon/icons/vibrava_icon.4bpp" + @ .incbin "baserom.gba", 0xE03198, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_vibrava_footprint:: @ 8E03598 + .incbin "graphics/pokemon/footprints/vibrava_footprint.1bpp" + @ .incbin "baserom.gba", 0xE03598, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_flygon_still_front_pic:: @ 8E035B8 + .incbin "graphics/pokemon/front_pics/flygon_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE035B8, 0x04F0 + + .align 2 +gFile_graphics_pokemon_palettes_flygon_palette:: @ 8E03AA8 + .incbin "graphics/pokemon/palettes/flygon_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE03AA8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_flygon_back_pic:: @ 8E03AD0 + .incbin "graphics/pokemon/back_pics/flygon_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE03AD0, 0x043C + + .align 2 +gFile_graphics_pokemon_palettes_flygon_shiny_palette:: @ 8E03F0C + .incbin "graphics/pokemon/palettes/flygon_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE03F0C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_flygon_icon:: @ 8E03F34 + .incbin "graphics/pokemon/icons/flygon_icon.4bpp" + @ .incbin "baserom.gba", 0xE03F34, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_flygon_footprint:: @ 8E04334 + .incbin "graphics/pokemon/footprints/flygon_footprint.1bpp" + @ .incbin "baserom.gba", 0xE04334, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_makuhita_still_front_pic:: @ 8E04354 + .incbin "graphics/pokemon/front_pics/makuhita_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE04354, 0x0318 + + .align 2 +gFile_graphics_pokemon_palettes_makuhita_palette:: @ 8E0466C + .incbin "graphics/pokemon/palettes/makuhita_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE0466C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_makuhita_back_pic:: @ 8E04694 + .incbin "graphics/pokemon/back_pics/makuhita_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE04694, 0x02F0 + + .align 2 +gFile_graphics_pokemon_palettes_makuhita_shiny_palette:: @ 8E04984 + .incbin "graphics/pokemon/palettes/makuhita_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE04984, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_makuhita_icon:: @ 8E049A8 + .incbin "graphics/pokemon/icons/makuhita_icon.4bpp" + @ .incbin "baserom.gba", 0xE049A8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_makuhita_footprint:: @ 8E04DA8 + .incbin "graphics/pokemon/footprints/makuhita_footprint.1bpp" + @ .incbin "baserom.gba", 0xE04DA8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_hariyama_still_front_pic:: @ 8E04DC8 + .incbin "graphics/pokemon/front_pics/hariyama_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE04DC8, 0x04B0 + + .align 2 +gFile_graphics_pokemon_palettes_hariyama_palette:: @ 8E05278 + .incbin "graphics/pokemon/palettes/hariyama_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE05278, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_hariyama_back_pic:: @ 8E052A0 + .incbin "graphics/pokemon/back_pics/hariyama_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE052A0, 0x03E0 + + .align 2 +gFile_graphics_pokemon_palettes_hariyama_shiny_palette:: @ 8E05680 + .incbin "graphics/pokemon/palettes/hariyama_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE05680, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_hariyama_icon:: @ 8E056A8 + .incbin "graphics/pokemon/icons/hariyama_icon.4bpp" + @ .incbin "baserom.gba", 0xE056A8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_hariyama_footprint:: @ 8E05AA8 + .incbin "graphics/pokemon/footprints/hariyama_footprint.1bpp" + @ .incbin "baserom.gba", 0xE05AA8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_electrike_still_front_pic:: @ 8E05AC8 + .incbin "graphics/pokemon/front_pics/electrike_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE05AC8, 0x0290 + + .align 2 +gFile_graphics_pokemon_palettes_electrike_palette:: @ 8E05D58 + .incbin "graphics/pokemon/palettes/electrike_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE05D58, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_electrike_back_pic:: @ 8E05D80 + .incbin "graphics/pokemon/back_pics/electrike_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE05D80, 0x028C + + .align 2 +gFile_graphics_pokemon_palettes_electrike_shiny_palette:: @ 8E0600C + .incbin "graphics/pokemon/palettes/electrike_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE0600C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_electrike_icon:: @ 8E06034 + .incbin "graphics/pokemon/icons/electrike_icon.4bpp" + @ .incbin "baserom.gba", 0xE06034, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_electrike_footprint:: @ 8E06434 + .incbin "graphics/pokemon/footprints/electrike_footprint.1bpp" + @ .incbin "baserom.gba", 0xE06434, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_manectric_still_front_pic:: @ 8E06454 + .incbin "graphics/pokemon/front_pics/manectric_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE06454, 0x0330 + + .align 2 +gFile_graphics_pokemon_palettes_manectric_palette:: @ 8E06784 + .incbin "graphics/pokemon/palettes/manectric_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE06784, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_manectric_back_pic:: @ 8E067AC + .incbin "graphics/pokemon/back_pics/manectric_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE067AC, 0x022C + + .align 2 +gFile_graphics_pokemon_palettes_manectric_shiny_palette:: @ 8E069D8 + .incbin "graphics/pokemon/palettes/manectric_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE069D8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_manectric_icon:: @ 8E06A00 + .incbin "graphics/pokemon/icons/manectric_icon.4bpp" + @ .incbin "baserom.gba", 0xE06A00, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_manectric_footprint:: @ 8E06E00 + .incbin "graphics/pokemon/footprints/manectric_footprint.1bpp" + @ .incbin "baserom.gba", 0xE06E00, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_numel_still_front_pic:: @ 8E06E20 + .incbin "graphics/pokemon/front_pics/numel_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE06E20, 0x02D0 + + .align 2 +gFile_graphics_pokemon_palettes_numel_palette:: @ 8E070F0 + .incbin "graphics/pokemon/palettes/numel_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE070F0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_numel_back_pic:: @ 8E07118 + .incbin "graphics/pokemon/back_pics/numel_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE07118, 0x02BC + + .align 2 +gFile_graphics_pokemon_palettes_numel_shiny_palette:: @ 8E073D4 + .incbin "graphics/pokemon/palettes/numel_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE073D4, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_numel_icon:: @ 8E073FC + .incbin "graphics/pokemon/icons/numel_icon.4bpp" + @ .incbin "baserom.gba", 0xE073FC, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_numel_footprint:: @ 8E077FC + .incbin "graphics/pokemon/footprints/numel_footprint.1bpp" + @ .incbin "baserom.gba", 0xE077FC, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_camerupt_still_front_pic:: @ 8E0781C + .incbin "graphics/pokemon/front_pics/camerupt_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE0781C, 0x0418 + + .align 2 +gFile_graphics_pokemon_palettes_camerupt_palette:: @ 8E07C34 + .incbin "graphics/pokemon/palettes/camerupt_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE07C34, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_camerupt_back_pic:: @ 8E07C5C + .incbin "graphics/pokemon/back_pics/camerupt_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE07C5C, 0x02C4 + + .align 2 +gFile_graphics_pokemon_palettes_camerupt_shiny_palette:: @ 8E07F20 + .incbin "graphics/pokemon/palettes/camerupt_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE07F20, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_camerupt_icon:: @ 8E07F48 + .incbin "graphics/pokemon/icons/camerupt_icon.4bpp" + @ .incbin "baserom.gba", 0xE07F48, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_camerupt_footprint:: @ 8E08348 + .incbin "graphics/pokemon/footprints/camerupt_footprint.1bpp" + @ .incbin "baserom.gba", 0xE08348, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_spheal_still_front_pic:: @ 8E08368 + .incbin "graphics/pokemon/front_pics/spheal_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE08368, 0x0274 + + .align 2 +gFile_graphics_pokemon_palettes_spheal_palette:: @ 8E085DC + .incbin "graphics/pokemon/palettes/spheal_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE085DC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_spheal_back_pic:: @ 8E08604 + .incbin "graphics/pokemon/back_pics/spheal_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE08604, 0x01FC + + .align 2 +gFile_graphics_pokemon_palettes_spheal_shiny_palette:: @ 8E08800 + .incbin "graphics/pokemon/palettes/spheal_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE08800, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_spheal_icon:: @ 8E08828 + .incbin "graphics/pokemon/icons/spheal_icon.4bpp" + @ .incbin "baserom.gba", 0xE08828, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_spheal_footprint:: @ 8E08C28 + .incbin "graphics/pokemon/footprints/spheal_footprint.1bpp" + @ .incbin "baserom.gba", 0xE08C28, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_sealeo_still_front_pic:: @ 8E08C48 + .incbin "graphics/pokemon/front_pics/sealeo_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE08C48, 0x0380 + + .align 2 +gFile_graphics_pokemon_palettes_sealeo_palette:: @ 8E08FC8 + .incbin "graphics/pokemon/palettes/sealeo_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE08FC8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_sealeo_back_pic:: @ 8E08FF0 + .incbin "graphics/pokemon/back_pics/sealeo_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE08FF0, 0x027C + + .align 2 +gFile_graphics_pokemon_palettes_sealeo_shiny_palette:: @ 8E0926C + .incbin "graphics/pokemon/palettes/sealeo_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE0926C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_sealeo_icon:: @ 8E09294 + .incbin "graphics/pokemon/icons/sealeo_icon.4bpp" + @ .incbin "baserom.gba", 0xE09294, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_sealeo_footprint:: @ 8E09694 + .incbin "graphics/pokemon/footprints/sealeo_footprint.1bpp" + @ .incbin "baserom.gba", 0xE09694, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_walrein_still_front_pic:: @ 8E096B4 + .incbin "graphics/pokemon/front_pics/walrein_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE096B4, 0x04A0 + + .align 2 +gFile_graphics_pokemon_palettes_walrein_palette:: @ 8E09B54 + .incbin "graphics/pokemon/palettes/walrein_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE09B54, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_walrein_back_pic:: @ 8E09B7C + .incbin "graphics/pokemon/back_pics/walrein_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE09B7C, 0x0388 + + .align 2 +gFile_graphics_pokemon_palettes_walrein_shiny_palette:: @ 8E09F04 + .incbin "graphics/pokemon/palettes/walrein_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE09F04, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_walrein_icon:: @ 8E09F2C + .incbin "graphics/pokemon/icons/walrein_icon.4bpp" + @ .incbin "baserom.gba", 0xE09F2C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_walrein_footprint:: @ 8E0A32C + .incbin "graphics/pokemon/footprints/walrein_footprint.1bpp" + @ .incbin "baserom.gba", 0xE0A32C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_cacnea_still_front_pic:: @ 8E0A34C + .incbin "graphics/pokemon/front_pics/cacnea_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE0A34C, 0x0310 + + .align 2 +gFile_graphics_pokemon_palettes_cacnea_palette:: @ 8E0A65C + .incbin "graphics/pokemon/palettes/cacnea_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE0A65C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_cacnea_back_pic:: @ 8E0A684 + .incbin "graphics/pokemon/back_pics/cacnea_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE0A684, 0x0360 + + .align 2 +gFile_graphics_pokemon_palettes_cacnea_shiny_palette:: @ 8E0A9E4 + .incbin "graphics/pokemon/palettes/cacnea_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE0A9E4, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_cacnea_icon:: @ 8E0AA0C + .incbin "graphics/pokemon/icons/cacnea_icon.4bpp" + @ .incbin "baserom.gba", 0xE0AA0C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_cacnea_footprint:: @ 8E0AE0C + .incbin "graphics/pokemon/footprints/cacnea_footprint.1bpp" + @ .incbin "baserom.gba", 0xE0AE0C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_cacturne_still_front_pic:: @ 8E0AE2C + .incbin "graphics/pokemon/front_pics/cacturne_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE0AE2C, 0x0438 + + .align 2 +gFile_graphics_pokemon_palettes_cacturne_palette:: @ 8E0B264 + .incbin "graphics/pokemon/palettes/cacturne_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE0B264, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_cacturne_back_pic:: @ 8E0B28C + .incbin "graphics/pokemon/back_pics/cacturne_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE0B28C, 0x0300 + + .align 2 +gFile_graphics_pokemon_palettes_cacturne_shiny_palette:: @ 8E0B58C + .incbin "graphics/pokemon/palettes/cacturne_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE0B58C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_cacturne_icon:: @ 8E0B5B4 + .incbin "graphics/pokemon/icons/cacturne_icon.4bpp" + @ .incbin "baserom.gba", 0xE0B5B4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_cacturne_footprint:: @ 8E0B9B4 + .incbin "graphics/pokemon/footprints/cacturne_footprint.1bpp" + @ .incbin "baserom.gba", 0xE0B9B4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_snorunt_still_front_pic:: @ 8E0B9D4 + .incbin "graphics/pokemon/front_pics/snorunt_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE0B9D4, 0x02C4 + + .align 2 +gFile_graphics_pokemon_palettes_snorunt_palette:: @ 8E0BC98 + .incbin "graphics/pokemon/palettes/snorunt_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE0BC98, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_snorunt_back_pic:: @ 8E0BCC0 + .incbin "graphics/pokemon/back_pics/snorunt_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE0BCC0, 0x02E4 + + .align 2 +gFile_graphics_pokemon_palettes_snorunt_shiny_palette:: @ 8E0BFA4 + .incbin "graphics/pokemon/palettes/snorunt_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE0BFA4, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_snorunt_icon:: @ 8E0BFCC + .incbin "graphics/pokemon/icons/snorunt_icon.4bpp" + @ .incbin "baserom.gba", 0xE0BFCC, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_snorunt_footprint:: @ 8E0C3CC + .incbin "graphics/pokemon/footprints/snorunt_footprint.1bpp" + @ .incbin "baserom.gba", 0xE0C3CC, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_glalie_still_front_pic:: @ 8E0C3EC + .incbin "graphics/pokemon/front_pics/glalie_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE0C3EC, 0x03C8 + + .align 2 +gFile_graphics_pokemon_palettes_glalie_palette:: @ 8E0C7B4 + .incbin "graphics/pokemon/palettes/glalie_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE0C7B4, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_glalie_back_pic:: @ 8E0C7DC + .incbin "graphics/pokemon/back_pics/glalie_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE0C7DC, 0x03B0 + + .align 2 +gFile_graphics_pokemon_palettes_glalie_shiny_palette:: @ 8E0CB8C + .incbin "graphics/pokemon/palettes/glalie_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE0CB8C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_glalie_icon:: @ 8E0CBB4 + .incbin "graphics/pokemon/icons/glalie_icon.4bpp" + @ .incbin "baserom.gba", 0xE0CBB4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_glalie_footprint:: @ 8E0CFB4 + .incbin "graphics/pokemon/footprints/glalie_footprint.1bpp" + @ .incbin "baserom.gba", 0xE0CFB4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_lunatone_still_front_pic:: @ 8E0CFD4 + .incbin "graphics/pokemon/front_pics/lunatone_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE0CFD4, 0x0328 + + .align 2 +gFile_graphics_pokemon_palettes_lunatone_palette:: @ 8E0D2FC + .incbin "graphics/pokemon/palettes/lunatone_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE0D2FC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_lunatone_back_pic:: @ 8E0D324 + .incbin "graphics/pokemon/back_pics/lunatone_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE0D324, 0x0358 + + .align 2 +gFile_graphics_pokemon_palettes_lunatone_shiny_palette:: @ 8E0D67C + .incbin "graphics/pokemon/palettes/lunatone_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE0D67C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_lunatone_icon:: @ 8E0D6A4 + .incbin "graphics/pokemon/icons/lunatone_icon.4bpp" + @ .incbin "baserom.gba", 0xE0D6A4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_lunatone_footprint:: @ 8E0DAA4 + .incbin "graphics/pokemon/footprints/lunatone_footprint.1bpp" + @ .incbin "baserom.gba", 0xE0DAA4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_solrock_still_front_pic:: @ 8E0DAC4 + .incbin "graphics/pokemon/front_pics/solrock_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE0DAC4, 0x044C + + .align 2 +gFile_graphics_pokemon_palettes_solrock_palette:: @ 8E0DF10 + .incbin "graphics/pokemon/palettes/solrock_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE0DF10, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_solrock_back_pic:: @ 8E0DF38 + .incbin "graphics/pokemon/back_pics/solrock_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE0DF38, 0x03EC + + .align 2 +gFile_graphics_pokemon_palettes_solrock_shiny_palette:: @ 8E0E324 + .incbin "graphics/pokemon/palettes/solrock_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE0E324, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_solrock_icon:: @ 8E0E34C + .incbin "graphics/pokemon/icons/solrock_icon.4bpp" + @ .incbin "baserom.gba", 0xE0E34C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_solrock_footprint:: @ 8E0E74C + .incbin "graphics/pokemon/footprints/solrock_footprint.1bpp" + @ .incbin "baserom.gba", 0xE0E74C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_azurill_still_front_pic:: @ 8E0E76C + .incbin "graphics/pokemon/front_pics/azurill_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE0E76C, 0x02C8 + + .align 2 +gFile_graphics_pokemon_palettes_azurill_palette:: @ 8E0EA34 + .incbin "graphics/pokemon/palettes/azurill_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE0EA34, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_azurill_back_pic:: @ 8E0EA5C + .incbin "graphics/pokemon/back_pics/azurill_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE0EA5C, 0x0318 + + .align 2 +gFile_graphics_pokemon_palettes_azurill_shiny_palette:: @ 8E0ED74 + .incbin "graphics/pokemon/palettes/azurill_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE0ED74, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_azurill_icon:: @ 8E0ED9C + .incbin "graphics/pokemon/icons/azurill_icon.4bpp" + @ .incbin "baserom.gba", 0xE0ED9C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_azurill_footprint:: @ 8E0F19C + .incbin "graphics/pokemon/footprints/azurill_footprint.1bpp" + @ .incbin "baserom.gba", 0xE0F19C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_spoink_still_front_pic:: @ 8E0F1BC + .incbin "graphics/pokemon/front_pics/spoink_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE0F1BC, 0x026C + + .align 2 +gFile_graphics_pokemon_palettes_spoink_palette:: @ 8E0F428 + .incbin "graphics/pokemon/palettes/spoink_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE0F428, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_spoink_back_pic:: @ 8E0F450 + .incbin "graphics/pokemon/back_pics/spoink_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE0F450, 0x0240 + + .align 2 +gFile_graphics_pokemon_palettes_spoink_shiny_palette:: @ 8E0F690 + .incbin "graphics/pokemon/palettes/spoink_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE0F690, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_spoink_icon:: @ 8E0F6B8 + .incbin "graphics/pokemon/icons/spoink_icon.4bpp" + @ .incbin "baserom.gba", 0xE0F6B8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_spoink_footprint:: @ 8E0FAB8 + .incbin "graphics/pokemon/footprints/spoink_footprint.1bpp" + @ .incbin "baserom.gba", 0xE0FAB8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_grumpig_still_front_pic:: @ 8E0FAD8 + .incbin "graphics/pokemon/front_pics/grumpig_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE0FAD8, 0x03BC + + .align 2 +gFile_graphics_pokemon_palettes_grumpig_palette:: @ 8E0FE94 + .incbin "graphics/pokemon/palettes/grumpig_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE0FE94, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_grumpig_back_pic:: @ 8E0FEBC + .incbin "graphics/pokemon/back_pics/grumpig_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE0FEBC, 0x0360 + + .align 2 +gFile_graphics_pokemon_palettes_grumpig_shiny_palette:: @ 8E1021C + .incbin "graphics/pokemon/palettes/grumpig_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE1021C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_grumpig_icon:: @ 8E10244 + .incbin "graphics/pokemon/icons/grumpig_icon.4bpp" + @ .incbin "baserom.gba", 0xE10244, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_grumpig_footprint:: @ 8E10644 + .incbin "graphics/pokemon/footprints/grumpig_footprint.1bpp" + @ .incbin "baserom.gba", 0xE10644, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_plusle_still_front_pic:: @ 8E10664 + .incbin "graphics/pokemon/front_pics/plusle_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE10664, 0x028C + + .align 2 +gFile_graphics_pokemon_palettes_plusle_palette:: @ 8E108F0 + .incbin "graphics/pokemon/palettes/plusle_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE108F0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_plusle_back_pic:: @ 8E10918 + .incbin "graphics/pokemon/back_pics/plusle_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE10918, 0x02B8 + + .align 2 +gFile_graphics_pokemon_palettes_plusle_shiny_palette:: @ 8E10BD0 + .incbin "graphics/pokemon/palettes/plusle_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE10BD0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_plusle_icon:: @ 8E10BF8 + .incbin "graphics/pokemon/icons/plusle_icon.4bpp" + @ .incbin "baserom.gba", 0xE10BF8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_plusle_footprint:: @ 8E10FF8 + .incbin "graphics/pokemon/footprints/plusle_footprint.1bpp" + @ .incbin "baserom.gba", 0xE10FF8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_minun_still_front_pic:: @ 8E11018 + .incbin "graphics/pokemon/front_pics/minun_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE11018, 0x0268 + + .align 2 +gFile_graphics_pokemon_palettes_minun_palette:: @ 8E11280 + .incbin "graphics/pokemon/palettes/minun_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE11280, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_minun_back_pic:: @ 8E112A8 + .incbin "graphics/pokemon/back_pics/minun_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE112A8, 0x02C8 + + .align 2 +gFile_graphics_pokemon_palettes_minun_shiny_palette:: @ 8E11570 + .incbin "graphics/pokemon/palettes/minun_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE11570, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_minun_icon:: @ 8E11598 + .incbin "graphics/pokemon/icons/minun_icon.4bpp" + @ .incbin "baserom.gba", 0xE11598, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_minun_footprint:: @ 8E11998 + .incbin "graphics/pokemon/footprints/minun_footprint.1bpp" + @ .incbin "baserom.gba", 0xE11998, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_mawile_still_front_pic:: @ 8E119B8 + .incbin "graphics/pokemon/front_pics/mawile_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE119B8, 0x03BC + + .align 2 +gFile_graphics_pokemon_palettes_mawile_palette:: @ 8E11D74 + .incbin "graphics/pokemon/palettes/mawile_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE11D74, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_mawile_back_pic:: @ 8E11D9C + .incbin "graphics/pokemon/back_pics/mawile_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE11D9C, 0x0400 + + .align 2 +gFile_graphics_pokemon_palettes_mawile_shiny_palette:: @ 8E1219C + .incbin "graphics/pokemon/palettes/mawile_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE1219C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_mawile_icon:: @ 8E121C4 + .incbin "graphics/pokemon/icons/mawile_icon.4bpp" + @ .incbin "baserom.gba", 0xE121C4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_mawile_footprint:: @ 8E125C4 + .incbin "graphics/pokemon/footprints/mawile_footprint.1bpp" + @ .incbin "baserom.gba", 0xE125C4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_meditite_still_front_pic:: @ 8E125E4 + .incbin "graphics/pokemon/front_pics/meditite_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE125E4, 0x02B8 + + .align 2 +gFile_graphics_pokemon_palettes_meditite_palette:: @ 8E1289C + .incbin "graphics/pokemon/palettes/meditite_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE1289C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_meditite_back_pic:: @ 8E128C4 + .incbin "graphics/pokemon/back_pics/meditite_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE128C4, 0x02C8 + + .align 2 +gFile_graphics_pokemon_palettes_meditite_shiny_palette:: @ 8E12B8C + .incbin "graphics/pokemon/palettes/meditite_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE12B8C, 0x0024 + + .align 2 +gFile_graphics_pokemon_icons_meditite_icon:: @ 8E12BB0 + .incbin "graphics/pokemon/icons/meditite_icon.4bpp" + @ .incbin "baserom.gba", 0xE12BB0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_meditite_footprint:: @ 8E12FB0 + .incbin "graphics/pokemon/footprints/meditite_footprint.1bpp" + @ .incbin "baserom.gba", 0xE12FB0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_medicham_still_front_pic:: @ 8E12FD0 + .incbin "graphics/pokemon/front_pics/medicham_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE12FD0, 0x0330 + + .align 2 +gFile_graphics_pokemon_palettes_medicham_palette:: @ 8E13300 + .incbin "graphics/pokemon/palettes/medicham_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE13300, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_medicham_back_pic:: @ 8E13328 + .incbin "graphics/pokemon/back_pics/medicham_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE13328, 0x0338 + + .align 2 +gFile_graphics_pokemon_palettes_medicham_shiny_palette:: @ 8E13660 + .incbin "graphics/pokemon/palettes/medicham_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE13660, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_medicham_icon:: @ 8E13688 + .incbin "graphics/pokemon/icons/medicham_icon.4bpp" + @ .incbin "baserom.gba", 0xE13688, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_medicham_footprint:: @ 8E13A88 + .incbin "graphics/pokemon/footprints/medicham_footprint.1bpp" + @ .incbin "baserom.gba", 0xE13A88, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_swablu_still_front_pic:: @ 8E13AA8 + .incbin "graphics/pokemon/front_pics/swablu_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE13AA8, 0x02D8 + + .align 2 +gFile_graphics_pokemon_palettes_swablu_palette:: @ 8E13D80 + .incbin "graphics/pokemon/palettes/swablu_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE13D80, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_swablu_back_pic:: @ 8E13DA8 + .incbin "graphics/pokemon/back_pics/swablu_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE13DA8, 0x03B8 + + .align 2 +gFile_graphics_pokemon_palettes_swablu_shiny_palette:: @ 8E14160 + .incbin "graphics/pokemon/palettes/swablu_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE14160, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_swablu_icon:: @ 8E14188 + .incbin "graphics/pokemon/icons/swablu_icon.4bpp" + @ .incbin "baserom.gba", 0xE14188, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_swablu_footprint:: @ 8E14588 + .incbin "graphics/pokemon/footprints/swablu_footprint.1bpp" + @ .incbin "baserom.gba", 0xE14588, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_altaria_still_front_pic:: @ 8E145A8 + .incbin "graphics/pokemon/front_pics/altaria_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE145A8, 0x03DC + + .align 2 +gFile_graphics_pokemon_palettes_altaria_palette:: @ 8E14984 + .incbin "graphics/pokemon/palettes/altaria_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE14984, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_altaria_back_pic:: @ 8E149AC + .incbin "graphics/pokemon/back_pics/altaria_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE149AC, 0x0378 + + .align 2 +gFile_graphics_pokemon_palettes_altaria_shiny_palette:: @ 8E14D24 + .incbin "graphics/pokemon/palettes/altaria_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE14D24, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_altaria_icon:: @ 8E14D4C + .incbin "graphics/pokemon/icons/altaria_icon.4bpp" + @ .incbin "baserom.gba", 0xE14D4C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_altaria_footprint:: @ 8E1514C + .incbin "graphics/pokemon/footprints/altaria_footprint.1bpp" + @ .incbin "baserom.gba", 0xE1514C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_wynaut_still_front_pic:: @ 8E1516C + .incbin "graphics/pokemon/front_pics/wynaut_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE1516C, 0x0298 + + .align 2 +gFile_graphics_pokemon_palettes_wynaut_palette:: @ 8E15404 + .incbin "graphics/pokemon/palettes/wynaut_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE15404, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_wynaut_back_pic:: @ 8E1542C + .incbin "graphics/pokemon/back_pics/wynaut_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE1542C, 0x0290 + + .align 2 +gFile_graphics_pokemon_palettes_wynaut_shiny_palette:: @ 8E156BC + .incbin "graphics/pokemon/palettes/wynaut_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE156BC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_wynaut_icon:: @ 8E156E4 + .incbin "graphics/pokemon/icons/wynaut_icon.4bpp" + @ .incbin "baserom.gba", 0xE156E4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_wynaut_footprint:: @ 8E15AE4 + .incbin "graphics/pokemon/footprints/wynaut_footprint.1bpp" + @ .incbin "baserom.gba", 0xE15AE4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_duskull_still_front_pic:: @ 8E15B04 + .incbin "graphics/pokemon/front_pics/duskull_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE15B04, 0x02F0 + + .align 2 +gFile_graphics_pokemon_palettes_duskull_palette:: @ 8E15DF4 + .incbin "graphics/pokemon/palettes/duskull_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE15DF4, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_duskull_back_pic:: @ 8E15E1C + .incbin "graphics/pokemon/back_pics/duskull_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE15E1C, 0x02B0 + + .align 2 +gFile_graphics_pokemon_palettes_duskull_shiny_palette:: @ 8E160CC + .incbin "graphics/pokemon/palettes/duskull_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE160CC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_duskull_icon:: @ 8E160F4 + .incbin "graphics/pokemon/icons/duskull_icon.4bpp" + @ .incbin "baserom.gba", 0xE160F4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_duskull_footprint:: @ 8E164F4 + .incbin "graphics/pokemon/footprints/duskull_footprint.1bpp" + @ .incbin "baserom.gba", 0xE164F4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_dusclops_still_front_pic:: @ 8E16514 + .incbin "graphics/pokemon/front_pics/dusclops_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE16514, 0x03A0 + + .align 2 +gFile_graphics_pokemon_palettes_dusclops_palette:: @ 8E168B4 + .incbin "graphics/pokemon/palettes/dusclops_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE168B4, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_dusclops_back_pic:: @ 8E168DC + .incbin "graphics/pokemon/back_pics/dusclops_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE168DC, 0x02EC + + .align 2 +gFile_graphics_pokemon_palettes_dusclops_shiny_palette:: @ 8E16BC8 + .incbin "graphics/pokemon/palettes/dusclops_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE16BC8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_dusclops_icon:: @ 8E16BF0 + .incbin "graphics/pokemon/icons/dusclops_icon.4bpp" + @ .incbin "baserom.gba", 0xE16BF0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_dusclops_footprint:: @ 8E16FF0 + .incbin "graphics/pokemon/footprints/dusclops_footprint.1bpp" + @ .incbin "baserom.gba", 0xE16FF0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_roselia_still_front_pic:: @ 8E17010 + .incbin "graphics/pokemon/front_pics/roselia_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE17010, 0x036C + + .align 2 +gFile_graphics_pokemon_palettes_roselia_palette:: @ 8E1737C + .incbin "graphics/pokemon/palettes/roselia_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE1737C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_roselia_back_pic:: @ 8E173A4 + .incbin "graphics/pokemon/back_pics/roselia_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE173A4, 0x03C8 + + .align 2 +gFile_graphics_pokemon_palettes_roselia_shiny_palette:: @ 8E1776C + .incbin "graphics/pokemon/palettes/roselia_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE1776C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_roselia_icon:: @ 8E17794 + .incbin "graphics/pokemon/icons/roselia_icon.4bpp" + @ .incbin "baserom.gba", 0xE17794, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_roselia_footprint:: @ 8E17B94 + .incbin "graphics/pokemon/footprints/roselia_footprint.1bpp" + @ .incbin "baserom.gba", 0xE17B94, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_slakoth_still_front_pic:: @ 8E17BB4 + .incbin "graphics/pokemon/front_pics/slakoth_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE17BB4, 0x02E8 + + .align 2 +gFile_graphics_pokemon_palettes_slakoth_palette:: @ 8E17E9C + .incbin "graphics/pokemon/palettes/slakoth_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE17E9C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_slakoth_back_pic:: @ 8E17EC4 + .incbin "graphics/pokemon/back_pics/slakoth_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE17EC4, 0x02E8 + + .align 2 +gFile_graphics_pokemon_palettes_slakoth_shiny_palette:: @ 8E181AC + .incbin "graphics/pokemon/palettes/slakoth_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE181AC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_slakoth_icon:: @ 8E181D4 + .incbin "graphics/pokemon/icons/slakoth_icon.4bpp" + @ .incbin "baserom.gba", 0xE181D4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_slakoth_footprint:: @ 8E185D4 + .incbin "graphics/pokemon/footprints/slakoth_footprint.1bpp" + @ .incbin "baserom.gba", 0xE185D4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_vigoroth_still_front_pic:: @ 8E185F4 + .incbin "graphics/pokemon/front_pics/vigoroth_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE185F4, 0x03FC + + .align 2 +gFile_graphics_pokemon_palettes_vigoroth_palette:: @ 8E189F0 + .incbin "graphics/pokemon/palettes/vigoroth_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE189F0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_vigoroth_back_pic:: @ 8E18A18 + .incbin "graphics/pokemon/back_pics/vigoroth_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE18A18, 0x02C8 + + .align 2 +gFile_graphics_pokemon_palettes_vigoroth_shiny_palette:: @ 8E18CE0 + .incbin "graphics/pokemon/palettes/vigoroth_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE18CE0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_vigoroth_icon:: @ 8E18D08 + .incbin "graphics/pokemon/icons/vigoroth_icon.4bpp" + @ .incbin "baserom.gba", 0xE18D08, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_vigoroth_footprint:: @ 8E19108 + .incbin "graphics/pokemon/footprints/vigoroth_footprint.1bpp" + @ .incbin "baserom.gba", 0xE19108, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_slaking_still_front_pic:: @ 8E19128 + .incbin "graphics/pokemon/front_pics/slaking_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE19128, 0x04D4 + + .align 2 +gFile_graphics_pokemon_palettes_slaking_palette:: @ 8E195FC + .incbin "graphics/pokemon/palettes/slaking_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE195FC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_slaking_back_pic:: @ 8E19624 + .incbin "graphics/pokemon/back_pics/slaking_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE19624, 0x03C4 + + .align 2 +gFile_graphics_pokemon_palettes_slaking_shiny_palette:: @ 8E199E8 + .incbin "graphics/pokemon/palettes/slaking_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE199E8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_slaking_icon:: @ 8E19A10 + .incbin "graphics/pokemon/icons/slaking_icon.4bpp" + @ .incbin "baserom.gba", 0xE19A10, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_slaking_footprint:: @ 8E19E10 + .incbin "graphics/pokemon/footprints/slaking_footprint.1bpp" + @ .incbin "baserom.gba", 0xE19E10, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_gulpin_still_front_pic:: @ 8E19E30 + .incbin "graphics/pokemon/front_pics/gulpin_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE19E30, 0x0218 + + .align 2 +gFile_graphics_pokemon_palettes_gulpin_palette:: @ 8E1A048 + .incbin "graphics/pokemon/palettes/gulpin_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE1A048, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_gulpin_back_pic:: @ 8E1A070 + .incbin "graphics/pokemon/back_pics/gulpin_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE1A070, 0x0284 + + .align 2 +gFile_graphics_pokemon_palettes_gulpin_shiny_palette:: @ 8E1A2F4 + .incbin "graphics/pokemon/palettes/gulpin_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE1A2F4, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_gulpin_icon:: @ 8E1A31C + .incbin "graphics/pokemon/icons/gulpin_icon.4bpp" + @ .incbin "baserom.gba", 0xE1A31C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_gulpin_footprint:: @ 8E1A71C + .incbin "graphics/pokemon/footprints/gulpin_footprint.1bpp" + @ .incbin "baserom.gba", 0xE1A71C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_swalot_still_front_pic:: @ 8E1A73C + .incbin "graphics/pokemon/front_pics/swalot_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE1A73C, 0x0344 + + .align 2 +gFile_graphics_pokemon_palettes_swalot_palette:: @ 8E1AA80 + .incbin "graphics/pokemon/palettes/swalot_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE1AA80, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_swalot_back_pic:: @ 8E1AAA8 + .incbin "graphics/pokemon/back_pics/swalot_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE1AAA8, 0x0348 + + .align 2 +gFile_graphics_pokemon_palettes_swalot_shiny_palette:: @ 8E1ADF0 + .incbin "graphics/pokemon/palettes/swalot_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE1ADF0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_swalot_icon:: @ 8E1AE18 + .incbin "graphics/pokemon/icons/swalot_icon.4bpp" + @ .incbin "baserom.gba", 0xE1AE18, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_swalot_footprint:: @ 8E1B218 + .incbin "graphics/pokemon/footprints/swalot_footprint.1bpp" + @ .incbin "baserom.gba", 0xE1B218, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_tropius_still_front_pic:: @ 8E1B238 + .incbin "graphics/pokemon/front_pics/tropius_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE1B238, 0x0578 + + .align 2 +gFile_graphics_pokemon_palettes_tropius_palette:: @ 8E1B7B0 + .incbin "graphics/pokemon/palettes/tropius_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE1B7B0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_tropius_back_pic:: @ 8E1B7D8 + .incbin "graphics/pokemon/back_pics/tropius_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE1B7D8, 0x0324 + + .align 2 +gFile_graphics_pokemon_palettes_tropius_shiny_palette:: @ 8E1BAFC + .incbin "graphics/pokemon/palettes/tropius_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE1BAFC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_tropius_icon:: @ 8E1BB24 + .incbin "graphics/pokemon/icons/tropius_icon.4bpp" + @ .incbin "baserom.gba", 0xE1BB24, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_tropius_footprint:: @ 8E1BF24 + .incbin "graphics/pokemon/footprints/tropius_footprint.1bpp" + @ .incbin "baserom.gba", 0xE1BF24, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_whismur_still_front_pic:: @ 8E1BF44 + .incbin "graphics/pokemon/front_pics/whismur_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE1BF44, 0x0294 + + .align 2 +gFile_graphics_pokemon_palettes_whismur_palette:: @ 8E1C1D8 + .incbin "graphics/pokemon/palettes/whismur_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE1C1D8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_whismur_back_pic:: @ 8E1C200 + .incbin "graphics/pokemon/back_pics/whismur_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE1C200, 0x0270 + + .align 2 +gFile_graphics_pokemon_palettes_whismur_shiny_palette:: @ 8E1C470 + .incbin "graphics/pokemon/palettes/whismur_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE1C470, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_whismur_icon:: @ 8E1C498 + .incbin "graphics/pokemon/icons/whismur_icon.4bpp" + @ .incbin "baserom.gba", 0xE1C498, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_whismur_footprint:: @ 8E1C898 + .incbin "graphics/pokemon/footprints/whismur_footprint.1bpp" + @ .incbin "baserom.gba", 0xE1C898, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_loudred_still_front_pic:: @ 8E1C8B8 + .incbin "graphics/pokemon/front_pics/loudred_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE1C8B8, 0x0478 + + .align 2 +gFile_graphics_pokemon_palettes_loudred_palette:: @ 8E1CD30 + .incbin "graphics/pokemon/palettes/loudred_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE1CD30, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_loudred_back_pic:: @ 8E1CD58 + .incbin "graphics/pokemon/back_pics/loudred_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE1CD58, 0x0370 + + .align 2 +gFile_graphics_pokemon_palettes_loudred_shiny_palette:: @ 8E1D0C8 + .incbin "graphics/pokemon/palettes/loudred_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE1D0C8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_loudred_icon:: @ 8E1D0F0 + .incbin "graphics/pokemon/icons/loudred_icon.4bpp" + @ .incbin "baserom.gba", 0xE1D0F0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_loudred_footprint:: @ 8E1D4F0 + .incbin "graphics/pokemon/footprints/loudred_footprint.1bpp" + @ .incbin "baserom.gba", 0xE1D4F0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_exploud_still_front_pic:: @ 8E1D510 + .incbin "graphics/pokemon/front_pics/exploud_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE1D510, 0x0568 + + .align 2 +gFile_graphics_pokemon_palettes_exploud_palette:: @ 8E1DA78 + .incbin "graphics/pokemon/palettes/exploud_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE1DA78, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_exploud_back_pic:: @ 8E1DAA0 + .incbin "graphics/pokemon/back_pics/exploud_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE1DAA0, 0x040C + + .align 2 +gFile_graphics_pokemon_palettes_exploud_shiny_palette:: @ 8E1DEAC + .incbin "graphics/pokemon/palettes/exploud_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE1DEAC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_exploud_icon:: @ 8E1DED4 + .incbin "graphics/pokemon/icons/exploud_icon.4bpp" + @ .incbin "baserom.gba", 0xE1DED4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_exploud_footprint:: @ 8E1E2D4 + .incbin "graphics/pokemon/footprints/exploud_footprint.1bpp" + @ .incbin "baserom.gba", 0xE1E2D4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_clamperl_still_front_pic:: @ 8E1E2F4 + .incbin "graphics/pokemon/front_pics/clamperl_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE1E2F4, 0x02D8 + + .align 2 +gFile_graphics_pokemon_palettes_clamperl_palette:: @ 8E1E5CC + .incbin "graphics/pokemon/palettes/clamperl_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE1E5CC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_clamperl_back_pic:: @ 8E1E5F4 + .incbin "graphics/pokemon/back_pics/clamperl_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE1E5F4, 0x0294 + + .align 2 +gFile_graphics_pokemon_palettes_clamperl_shiny_palette:: @ 8E1E888 + .incbin "graphics/pokemon/palettes/clamperl_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE1E888, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_clamperl_icon:: @ 8E1E8B0 + .incbin "graphics/pokemon/icons/clamperl_icon.4bpp" + @ .incbin "baserom.gba", 0xE1E8B0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_clamperl_footprint:: @ 8E1ECB0 + .incbin "graphics/pokemon/footprints/clamperl_footprint.1bpp" + @ .incbin "baserom.gba", 0xE1ECB0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_huntail_still_front_pic:: @ 8E1ECD0 + .incbin "graphics/pokemon/front_pics/huntail_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE1ECD0, 0x03CC + + .align 2 +gFile_graphics_pokemon_palettes_huntail_palette:: @ 8E1F09C + .incbin "graphics/pokemon/palettes/huntail_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE1F09C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_huntail_back_pic:: @ 8E1F0C4 + .incbin "graphics/pokemon/back_pics/huntail_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE1F0C4, 0x0354 + + .align 2 +gFile_graphics_pokemon_palettes_huntail_shiny_palette:: @ 8E1F418 + .incbin "graphics/pokemon/palettes/huntail_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE1F418, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_huntail_icon:: @ 8E1F440 + .incbin "graphics/pokemon/icons/huntail_icon.4bpp" + @ .incbin "baserom.gba", 0xE1F440, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_huntail_footprint:: @ 8E1F840 + .incbin "graphics/pokemon/footprints/huntail_footprint.1bpp" + @ .incbin "baserom.gba", 0xE1F840, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_gorebyss_still_front_pic:: @ 8E1F860 + .incbin "graphics/pokemon/front_pics/gorebyss_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE1F860, 0x0310 + + .align 2 +gFile_graphics_pokemon_palettes_gorebyss_palette:: @ 8E1FB70 + .incbin "graphics/pokemon/palettes/gorebyss_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE1FB70, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_gorebyss_back_pic:: @ 8E1FB98 + .incbin "graphics/pokemon/back_pics/gorebyss_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE1FB98, 0x02E8 + + .align 2 +gFile_graphics_pokemon_palettes_gorebyss_shiny_palette:: @ 8E1FE80 + .incbin "graphics/pokemon/palettes/gorebyss_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE1FE80, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_gorebyss_icon:: @ 8E1FEA8 + .incbin "graphics/pokemon/icons/gorebyss_icon.4bpp" + @ .incbin "baserom.gba", 0xE1FEA8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_gorebyss_footprint:: @ 8E202A8 + .incbin "graphics/pokemon/footprints/gorebyss_footprint.1bpp" + @ .incbin "baserom.gba", 0xE202A8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_absol_still_front_pic:: @ 8E202C8 + .incbin "graphics/pokemon/front_pics/absol_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE202C8, 0x0430 + + .align 2 +gFile_graphics_pokemon_palettes_absol_palette:: @ 8E206F8 + .incbin "graphics/pokemon/palettes/absol_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE206F8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_absol_back_pic:: @ 8E20720 + .incbin "graphics/pokemon/back_pics/absol_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE20720, 0x0360 + + .align 2 +gFile_graphics_pokemon_palettes_absol_shiny_palette:: @ 8E20A80 + .incbin "graphics/pokemon/palettes/absol_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE20A80, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_absol_icon:: @ 8E20AA8 + .incbin "graphics/pokemon/icons/absol_icon.4bpp" + @ .incbin "baserom.gba", 0xE20AA8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_absol_footprint:: @ 8E20EA8 + .incbin "graphics/pokemon/footprints/absol_footprint.1bpp" + @ .incbin "baserom.gba", 0xE20EA8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_shuppet_still_front_pic:: @ 8E20EC8 + .incbin "graphics/pokemon/front_pics/shuppet_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE20EC8, 0x0238 + + .align 2 +gFile_graphics_pokemon_palettes_shuppet_palette:: @ 8E21100 + .incbin "graphics/pokemon/palettes/shuppet_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE21100, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_shuppet_back_pic:: @ 8E21128 + .incbin "graphics/pokemon/back_pics/shuppet_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE21128, 0x0298 + + .align 2 +gFile_graphics_pokemon_palettes_shuppet_shiny_palette:: @ 8E213C0 + .incbin "graphics/pokemon/palettes/shuppet_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE213C0, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_shuppet_icon:: @ 8E213E8 + .incbin "graphics/pokemon/icons/shuppet_icon.4bpp" + @ .incbin "baserom.gba", 0xE213E8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_shuppet_footprint:: @ 8E217E8 + .incbin "graphics/pokemon/footprints/shuppet_footprint.1bpp" + @ .incbin "baserom.gba", 0xE217E8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_banette_still_front_pic:: @ 8E21808 + .incbin "graphics/pokemon/front_pics/banette_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE21808, 0x02B4 + + .align 2 +gFile_graphics_pokemon_palettes_banette_palette:: @ 8E21ABC + .incbin "graphics/pokemon/palettes/banette_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE21ABC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_banette_back_pic:: @ 8E21AE4 + .incbin "graphics/pokemon/back_pics/banette_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE21AE4, 0x027C + + .align 2 +gFile_graphics_pokemon_palettes_banette_shiny_palette:: @ 8E21D60 + .incbin "graphics/pokemon/palettes/banette_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE21D60, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_banette_icon:: @ 8E21D88 + .incbin "graphics/pokemon/icons/banette_icon.4bpp" + @ .incbin "baserom.gba", 0xE21D88, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_banette_footprint:: @ 8E22188 + .incbin "graphics/pokemon/footprints/banette_footprint.1bpp" + @ .incbin "baserom.gba", 0xE22188, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_seviper_still_front_pic:: @ 8E221A8 + .incbin "graphics/pokemon/front_pics/seviper_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE221A8, 0x0420 + + .align 2 +gFile_graphics_pokemon_palettes_seviper_palette:: @ 8E225C8 + .incbin "graphics/pokemon/palettes/seviper_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE225C8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_seviper_back_pic:: @ 8E225F0 + .incbin "graphics/pokemon/back_pics/seviper_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE225F0, 0x048C + + .align 2 +gFile_graphics_pokemon_palettes_seviper_shiny_palette:: @ 8E22A7C + .incbin "graphics/pokemon/palettes/seviper_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE22A7C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_seviper_icon:: @ 8E22AA4 + .incbin "graphics/pokemon/icons/seviper_icon.4bpp" + @ .incbin "baserom.gba", 0xE22AA4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_seviper_footprint:: @ 8E22EA4 + .incbin "graphics/pokemon/footprints/seviper_footprint.1bpp" + @ .incbin "baserom.gba", 0xE22EA4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_zangoose_still_front_pic:: @ 8E22EC4 + .incbin "graphics/pokemon/front_pics/zangoose_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE22EC4, 0x03CC + + .align 2 +gFile_graphics_pokemon_palettes_zangoose_palette:: @ 8E23290 + .incbin "graphics/pokemon/palettes/zangoose_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE23290, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_zangoose_back_pic:: @ 8E232B8 + .incbin "graphics/pokemon/back_pics/zangoose_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE232B8, 0x0374 + + .align 2 +gFile_graphics_pokemon_palettes_zangoose_shiny_palette:: @ 8E2362C + .incbin "graphics/pokemon/palettes/zangoose_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE2362C, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_zangoose_icon:: @ 8E23654 + .incbin "graphics/pokemon/icons/zangoose_icon.4bpp" + @ .incbin "baserom.gba", 0xE23654, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_zangoose_footprint:: @ 8E23A54 + .incbin "graphics/pokemon/footprints/zangoose_footprint.1bpp" + @ .incbin "baserom.gba", 0xE23A54, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_relicanth_still_front_pic:: @ 8E23A74 + .incbin "graphics/pokemon/front_pics/relicanth_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE23A74, 0x0394 + + .align 2 +gFile_graphics_pokemon_palettes_relicanth_palette:: @ 8E23E08 + .incbin "graphics/pokemon/palettes/relicanth_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE23E08, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_relicanth_back_pic:: @ 8E23E30 + .incbin "graphics/pokemon/back_pics/relicanth_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE23E30, 0x0358 + + .align 2 +gFile_graphics_pokemon_palettes_relicanth_shiny_palette:: @ 8E24188 + .incbin "graphics/pokemon/palettes/relicanth_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE24188, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_relicanth_icon:: @ 8E241B0 + .incbin "graphics/pokemon/icons/relicanth_icon.4bpp" + @ .incbin "baserom.gba", 0xE241B0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_relicanth_footprint:: @ 8E245B0 + .incbin "graphics/pokemon/footprints/relicanth_footprint.1bpp" + @ .incbin "baserom.gba", 0xE245B0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_aron_still_front_pic:: @ 8E245D0 + .incbin "graphics/pokemon/front_pics/aron_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE245D0, 0x01E8 + + .align 2 +gFile_graphics_pokemon_palettes_aron_palette:: @ 8E247B8 + .incbin "graphics/pokemon/palettes/aron_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE247B8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_aron_back_pic:: @ 8E247E0 + .incbin "graphics/pokemon/back_pics/aron_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE247E0, 0x0228 + + .align 2 +gFile_graphics_pokemon_palettes_aron_shiny_palette:: @ 8E24A08 + .incbin "graphics/pokemon/palettes/aron_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE24A08, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_aron_icon:: @ 8E24A30 + .incbin "graphics/pokemon/icons/aron_icon.4bpp" + @ .incbin "baserom.gba", 0xE24A30, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_aron_footprint:: @ 8E24E30 + .incbin "graphics/pokemon/footprints/aron_footprint.1bpp" + @ .incbin "baserom.gba", 0xE24E30, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_lairon_still_front_pic:: @ 8E24E50 + .incbin "graphics/pokemon/front_pics/lairon_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE24E50, 0x03CC + + .align 2 +gFile_graphics_pokemon_palettes_lairon_palette:: @ 8E2521C + .incbin "graphics/pokemon/palettes/lairon_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE2521C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_lairon_back_pic:: @ 8E25244 + .incbin "graphics/pokemon/back_pics/lairon_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE25244, 0x02EC + + .align 2 +gFile_graphics_pokemon_palettes_lairon_shiny_palette:: @ 8E25530 + .incbin "graphics/pokemon/palettes/lairon_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE25530, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_lairon_icon:: @ 8E25558 + .incbin "graphics/pokemon/icons/lairon_icon.4bpp" + @ .incbin "baserom.gba", 0xE25558, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_lairon_footprint:: @ 8E25958 + .incbin "graphics/pokemon/footprints/lairon_footprint.1bpp" + @ .incbin "baserom.gba", 0xE25958, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_aggron_still_front_pic:: @ 8E25978 + .incbin "graphics/pokemon/front_pics/aggron_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE25978, 0x057C + + .align 2 +gFile_graphics_pokemon_palettes_aggron_palette:: @ 8E25EF4 + .incbin "graphics/pokemon/palettes/aggron_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE25EF4, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_aggron_back_pic:: @ 8E25F1C + .incbin "graphics/pokemon/back_pics/aggron_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE25F1C, 0x0428 + + .align 2 +gFile_graphics_pokemon_palettes_aggron_shiny_palette:: @ 8E26344 + .incbin "graphics/pokemon/palettes/aggron_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE26344, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_aggron_icon:: @ 8E2636C + .incbin "graphics/pokemon/icons/aggron_icon.4bpp" + @ .incbin "baserom.gba", 0xE2636C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_aggron_footprint:: @ 8E2676C + .incbin "graphics/pokemon/footprints/aggron_footprint.1bpp" + @ .incbin "baserom.gba", 0xE2676C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_castform_still_front_pic:: @ 8E2678C + .incbin "graphics/pokemon/front_pics/castform_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE2678C, 0x0A88 + + .align 2 +gFile_graphics_pokemon_palettes_castform_palette:: @ 8E27214 + .incbin "graphics/pokemon/palettes/castform_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE27214, 0x0080 + + .align 2 +gFile_graphics_pokemon_back_pics_castform_back_pic:: @ 8E27294 + .incbin "graphics/pokemon/back_pics/castform_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE27294, 0x09BC + + .align 2 +gFile_graphics_pokemon_palettes_castform_shiny_palette:: @ 8E27C50 + .incbin "graphics/pokemon/palettes/castform_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE27C50, 0x007C + + .align 2 +gFile_graphics_pokemon_icons_castform_icon:: @ 8E27CCC + .incbin "graphics/pokemon/icons/castform_icon.4bpp" + @ .incbin "baserom.gba", 0xE27CCC, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_castform_footprint:: @ 8E280CC + .incbin "graphics/pokemon/footprints/castform_footprint.1bpp" + @ .incbin "baserom.gba", 0xE280CC, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_volbeat_still_front_pic:: @ 8E280EC + .incbin "graphics/pokemon/front_pics/volbeat_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE280EC, 0x0390 + + .align 2 +gFile_graphics_pokemon_palettes_volbeat_palette:: @ 8E2847C + .incbin "graphics/pokemon/palettes/volbeat_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE2847C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_volbeat_back_pic:: @ 8E284A4 + .incbin "graphics/pokemon/back_pics/volbeat_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE284A4, 0x0360 + + .align 2 +gFile_graphics_pokemon_palettes_volbeat_shiny_palette:: @ 8E28804 + .incbin "graphics/pokemon/palettes/volbeat_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE28804, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_volbeat_icon:: @ 8E2882C + .incbin "graphics/pokemon/icons/volbeat_icon.4bpp" + @ .incbin "baserom.gba", 0xE2882C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_volbeat_footprint:: @ 8E28C2C + .incbin "graphics/pokemon/footprints/volbeat_footprint.1bpp" + @ .incbin "baserom.gba", 0xE28C2C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_illumise_still_front_pic:: @ 8E28C4C + .incbin "graphics/pokemon/front_pics/illumise_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE28C4C, 0x0374 + + .align 2 +gFile_graphics_pokemon_palettes_illumise_palette:: @ 8E28FC0 + .incbin "graphics/pokemon/palettes/illumise_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE28FC0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_illumise_back_pic:: @ 8E28FE8 + .incbin "graphics/pokemon/back_pics/illumise_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE28FE8, 0x031C + + .align 2 +gFile_graphics_pokemon_palettes_illumise_shiny_palette:: @ 8E29304 + .incbin "graphics/pokemon/palettes/illumise_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE29304, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_illumise_icon:: @ 8E2932C + .incbin "graphics/pokemon/icons/illumise_icon.4bpp" + @ .incbin "baserom.gba", 0xE2932C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_illumise_footprint:: @ 8E2972C + .incbin "graphics/pokemon/footprints/illumise_footprint.1bpp" + @ .incbin "baserom.gba", 0xE2972C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_lileep_still_front_pic:: @ 8E2974C + .incbin "graphics/pokemon/front_pics/lileep_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE2974C, 0x0344 + + .align 2 +gFile_graphics_pokemon_palettes_lileep_palette:: @ 8E29A90 + .incbin "graphics/pokemon/palettes/lileep_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE29A90, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_lileep_back_pic:: @ 8E29AB8 + .incbin "graphics/pokemon/back_pics/lileep_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE29AB8, 0x0344 + + .align 2 +gFile_graphics_pokemon_palettes_lileep_shiny_palette:: @ 8E29DFC + .incbin "graphics/pokemon/palettes/lileep_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE29DFC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_lileep_icon:: @ 8E29E24 + .incbin "graphics/pokemon/icons/lileep_icon.4bpp" + @ .incbin "baserom.gba", 0xE29E24, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_lileep_footprint:: @ 8E2A224 + .incbin "graphics/pokemon/footprints/lileep_footprint.1bpp" + @ .incbin "baserom.gba", 0xE2A224, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_cradily_still_front_pic:: @ 8E2A244 + .incbin "graphics/pokemon/front_pics/cradily_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE2A244, 0x041C + + .align 2 +gFile_graphics_pokemon_palettes_cradily_palette:: @ 8E2A660 + .incbin "graphics/pokemon/palettes/cradily_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE2A660, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_cradily_back_pic:: @ 8E2A688 + .incbin "graphics/pokemon/back_pics/cradily_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE2A688, 0x03FC + + .align 2 +gFile_graphics_pokemon_palettes_cradily_shiny_palette:: @ 8E2AA84 + .incbin "graphics/pokemon/palettes/cradily_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE2AA84, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_cradily_icon:: @ 8E2AAAC + .incbin "graphics/pokemon/icons/cradily_icon.4bpp" + @ .incbin "baserom.gba", 0xE2AAAC, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_cradily_footprint:: @ 8E2AEAC + .incbin "graphics/pokemon/footprints/cradily_footprint.1bpp" + @ .incbin "baserom.gba", 0xE2AEAC, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_anorith_still_front_pic:: @ 8E2AECC + .incbin "graphics/pokemon/front_pics/anorith_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE2AECC, 0x0324 + + .align 2 +gFile_graphics_pokemon_palettes_anorith_palette:: @ 8E2B1F0 + .incbin "graphics/pokemon/palettes/anorith_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE2B1F0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_anorith_back_pic:: @ 8E2B218 + .incbin "graphics/pokemon/back_pics/anorith_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE2B218, 0x0248 + + .align 2 +gFile_graphics_pokemon_palettes_anorith_shiny_palette:: @ 8E2B460 + .incbin "graphics/pokemon/palettes/anorith_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE2B460, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_anorith_icon:: @ 8E2B488 + .incbin "graphics/pokemon/icons/anorith_icon.4bpp" + @ .incbin "baserom.gba", 0xE2B488, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_anorith_footprint:: @ 8E2B888 + .incbin "graphics/pokemon/footprints/anorith_footprint.1bpp" + @ .incbin "baserom.gba", 0xE2B888, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_armaldo_still_front_pic:: @ 8E2B8A8 + .incbin "graphics/pokemon/front_pics/armaldo_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE2B8A8, 0x0580 + + .align 2 +gFile_graphics_pokemon_palettes_armaldo_palette:: @ 8E2BE28 + .incbin "graphics/pokemon/palettes/armaldo_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE2BE28, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_armaldo_back_pic:: @ 8E2BE50 + .incbin "graphics/pokemon/back_pics/armaldo_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE2BE50, 0x0438 + + .align 2 +gFile_graphics_pokemon_palettes_armaldo_shiny_palette:: @ 8E2C288 + .incbin "graphics/pokemon/palettes/armaldo_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE2C288, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_armaldo_icon:: @ 8E2C2B0 + .incbin "graphics/pokemon/icons/armaldo_icon.4bpp" + @ .incbin "baserom.gba", 0xE2C2B0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_armaldo_footprint:: @ 8E2C6B0 + .incbin "graphics/pokemon/footprints/armaldo_footprint.1bpp" + @ .incbin "baserom.gba", 0xE2C6B0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_ralts_still_front_pic:: @ 8E2C6D0 + .incbin "graphics/pokemon/front_pics/ralts_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE2C6D0, 0x0230 + + .align 2 +gFile_graphics_pokemon_palettes_ralts_palette:: @ 8E2C900 + .incbin "graphics/pokemon/palettes/ralts_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE2C900, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_ralts_back_pic:: @ 8E2C928 + .incbin "graphics/pokemon/back_pics/ralts_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE2C928, 0x023C + + .align 2 +gFile_graphics_pokemon_palettes_ralts_shiny_palette:: @ 8E2CB64 + .incbin "graphics/pokemon/palettes/ralts_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE2CB64, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_ralts_icon:: @ 8E2CB8C + .incbin "graphics/pokemon/icons/ralts_icon.4bpp" + @ .incbin "baserom.gba", 0xE2CB8C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_ralts_footprint:: @ 8E2CF8C + .incbin "graphics/pokemon/footprints/ralts_footprint.1bpp" + @ .incbin "baserom.gba", 0xE2CF8C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_kirlia_still_front_pic:: @ 8E2CFAC + .incbin "graphics/pokemon/front_pics/kirlia_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE2CFAC, 0x02FC + + .align 2 +gFile_graphics_pokemon_palettes_kirlia_palette:: @ 8E2D2A8 + .incbin "graphics/pokemon/palettes/kirlia_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE2D2A8, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_kirlia_back_pic:: @ 8E2D2D0 + .incbin "graphics/pokemon/back_pics/kirlia_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE2D2D0, 0x0374 + + .align 2 +gFile_graphics_pokemon_palettes_kirlia_shiny_palette:: @ 8E2D644 + .incbin "graphics/pokemon/palettes/kirlia_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE2D644, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_kirlia_icon:: @ 8E2D66C + .incbin "graphics/pokemon/icons/kirlia_icon.4bpp" + @ .incbin "baserom.gba", 0xE2D66C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_kirlia_footprint:: @ 8E2DA6C + .incbin "graphics/pokemon/footprints/kirlia_footprint.1bpp" + @ .incbin "baserom.gba", 0xE2DA6C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_gardevoir_still_front_pic:: @ 8E2DA8C + .incbin "graphics/pokemon/front_pics/gardevoir_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE2DA8C, 0x037C + + .align 2 +gFile_graphics_pokemon_palettes_gardevoir_palette:: @ 8E2DE08 + .incbin "graphics/pokemon/palettes/gardevoir_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE2DE08, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_gardevoir_back_pic:: @ 8E2DE30 + .incbin "graphics/pokemon/back_pics/gardevoir_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE2DE30, 0x0334 + + .align 2 +gFile_graphics_pokemon_palettes_gardevoir_shiny_palette:: @ 8E2E164 + .incbin "graphics/pokemon/palettes/gardevoir_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE2E164, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_gardevoir_icon:: @ 8E2E18C + .incbin "graphics/pokemon/icons/gardevoir_icon.4bpp" + @ .incbin "baserom.gba", 0xE2E18C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_gardevoir_footprint:: @ 8E2E58C + .incbin "graphics/pokemon/footprints/gardevoir_footprint.1bpp" + @ .incbin "baserom.gba", 0xE2E58C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_bagon_still_front_pic:: @ 8E2E5AC + .incbin "graphics/pokemon/front_pics/bagon_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE2E5AC, 0x0278 + + .align 2 +gFile_graphics_pokemon_palettes_bagon_palette:: @ 8E2E824 + .incbin "graphics/pokemon/palettes/bagon_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE2E824, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_bagon_back_pic:: @ 8E2E84C + .incbin "graphics/pokemon/back_pics/bagon_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE2E84C, 0x02E8 + + .align 2 +gFile_graphics_pokemon_palettes_bagon_shiny_palette:: @ 8E2EB34 + .incbin "graphics/pokemon/palettes/bagon_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE2EB34, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_bagon_icon:: @ 8E2EB5C + .incbin "graphics/pokemon/icons/bagon_icon.4bpp" + @ .incbin "baserom.gba", 0xE2EB5C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_bagon_footprint:: @ 8E2EF5C + .incbin "graphics/pokemon/footprints/bagon_footprint.1bpp" + @ .incbin "baserom.gba", 0xE2EF5C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_shelgon_still_front_pic:: @ 8E2EF7C + .incbin "graphics/pokemon/front_pics/shelgon_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE2EF7C, 0x0304 + + .align 2 +gFile_graphics_pokemon_palettes_shelgon_palette:: @ 8E2F280 + .incbin "graphics/pokemon/palettes/shelgon_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE2F280, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_shelgon_back_pic:: @ 8E2F2A8 + .incbin "graphics/pokemon/back_pics/shelgon_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE2F2A8, 0x02E8 + + .align 2 +gFile_graphics_pokemon_palettes_shelgon_shiny_palette:: @ 8E2F590 + .incbin "graphics/pokemon/palettes/shelgon_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE2F590, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_shelgon_icon:: @ 8E2F5B8 + .incbin "graphics/pokemon/icons/shelgon_icon.4bpp" + @ .incbin "baserom.gba", 0xE2F5B8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_shelgon_footprint:: @ 8E2F9B8 + .incbin "graphics/pokemon/footprints/shelgon_footprint.1bpp" + @ .incbin "baserom.gba", 0xE2F9B8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_salamence_still_front_pic:: @ 8E2F9D8 + .incbin "graphics/pokemon/front_pics/salamence_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE2F9D8, 0x0464 + + .align 2 +gFile_graphics_pokemon_palettes_salamence_palette:: @ 8E2FE3C + .incbin "graphics/pokemon/palettes/salamence_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE2FE3C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_salamence_back_pic:: @ 8E2FE64 + .incbin "graphics/pokemon/back_pics/salamence_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE2FE64, 0x02E4 + + .align 2 +gFile_graphics_pokemon_palettes_salamence_shiny_palette:: @ 8E30148 + .incbin "graphics/pokemon/palettes/salamence_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE30148, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_salamence_icon:: @ 8E30170 + .incbin "graphics/pokemon/icons/salamence_icon.4bpp" + @ .incbin "baserom.gba", 0xE30170, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_salamence_footprint:: @ 8E30570 + .incbin "graphics/pokemon/footprints/salamence_footprint.1bpp" + @ .incbin "baserom.gba", 0xE30570, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_beldum_still_front_pic:: @ 8E30590 + .incbin "graphics/pokemon/front_pics/beldum_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE30590, 0x0270 + + .align 2 +gFile_graphics_pokemon_palettes_beldum_palette:: @ 8E30800 + .incbin "graphics/pokemon/palettes/beldum_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE30800, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_beldum_back_pic:: @ 8E30828 + .incbin "graphics/pokemon/back_pics/beldum_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE30828, 0x02F0 + + .align 2 +gFile_graphics_pokemon_palettes_beldum_shiny_palette:: @ 8E30B18 + .incbin "graphics/pokemon/palettes/beldum_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE30B18, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_beldum_icon:: @ 8E30B40 + .incbin "graphics/pokemon/icons/beldum_icon.4bpp" + @ .incbin "baserom.gba", 0xE30B40, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_beldum_footprint:: @ 8E30F40 + .incbin "graphics/pokemon/footprints/beldum_footprint.1bpp" + @ .incbin "baserom.gba", 0xE30F40, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_metang_still_front_pic:: @ 8E30F60 + .incbin "graphics/pokemon/front_pics/metang_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE30F60, 0x045C + + .align 2 +gFile_graphics_pokemon_palettes_metang_palette:: @ 8E313BC + .incbin "graphics/pokemon/palettes/metang_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE313BC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_metang_back_pic:: @ 8E313E4 + .incbin "graphics/pokemon/back_pics/metang_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE313E4, 0x0324 + + .align 2 +gFile_graphics_pokemon_palettes_metang_shiny_palette:: @ 8E31708 + .incbin "graphics/pokemon/palettes/metang_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE31708, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_metang_icon:: @ 8E31730 + .incbin "graphics/pokemon/icons/metang_icon.4bpp" + @ .incbin "baserom.gba", 0xE31730, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_metang_footprint:: @ 8E31B30 + .incbin "graphics/pokemon/footprints/metang_footprint.1bpp" + @ .incbin "baserom.gba", 0xE31B30, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_metagross_still_front_pic:: @ 8E31B50 + .incbin "graphics/pokemon/front_pics/metagross_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE31B50, 0x0464 + + .align 2 +gFile_graphics_pokemon_palettes_metagross_palette:: @ 8E31FB4 + .incbin "graphics/pokemon/palettes/metagross_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE31FB4, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_metagross_back_pic:: @ 8E31FDC + .incbin "graphics/pokemon/back_pics/metagross_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE31FDC, 0x02CC + + .align 2 +gFile_graphics_pokemon_palettes_metagross_shiny_palette:: @ 8E322A8 + .incbin "graphics/pokemon/palettes/metagross_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE322A8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_metagross_icon:: @ 8E322D0 + .incbin "graphics/pokemon/icons/metagross_icon.4bpp" + @ .incbin "baserom.gba", 0xE322D0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_metagross_footprint:: @ 8E326D0 + .incbin "graphics/pokemon/footprints/metagross_footprint.1bpp" + @ .incbin "baserom.gba", 0xE326D0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_regirock_still_front_pic:: @ 8E326F0 + .incbin "graphics/pokemon/front_pics/regirock_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE326F0, 0x04BC + + .align 2 +gFile_graphics_pokemon_palettes_regirock_palette:: @ 8E32BAC + .incbin "graphics/pokemon/palettes/regirock_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE32BAC, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_regirock_back_pic:: @ 8E32BD4 + .incbin "graphics/pokemon/back_pics/regirock_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE32BD4, 0x044C + + .align 2 +gFile_graphics_pokemon_palettes_regirock_shiny_palette:: @ 8E33020 + .incbin "graphics/pokemon/palettes/regirock_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE33020, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_regirock_icon:: @ 8E33048 + .incbin "graphics/pokemon/icons/regirock_icon.4bpp" + @ .incbin "baserom.gba", 0xE33048, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_regirock_footprint:: @ 8E33448 + .incbin "graphics/pokemon/footprints/regirock_footprint.1bpp" + @ .incbin "baserom.gba", 0xE33448, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_regice_still_front_pic:: @ 8E33468 + .incbin "graphics/pokemon/front_pics/regice_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE33468, 0x0448 + + .align 2 +gFile_graphics_pokemon_palettes_regice_palette:: @ 8E338B0 + .incbin "graphics/pokemon/palettes/regice_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE338B0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_regice_back_pic:: @ 8E338D8 + .incbin "graphics/pokemon/back_pics/regice_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE338D8, 0x02F0 + + .align 2 +gFile_graphics_pokemon_palettes_regice_shiny_palette:: @ 8E33BC8 + .incbin "graphics/pokemon/palettes/regice_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE33BC8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_regice_icon:: @ 8E33BF0 + .incbin "graphics/pokemon/icons/regice_icon.4bpp" + @ .incbin "baserom.gba", 0xE33BF0, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_regice_footprint:: @ 8E33FF0 + .incbin "graphics/pokemon/footprints/regice_footprint.1bpp" + @ .incbin "baserom.gba", 0xE33FF0, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_registeel_still_front_pic:: @ 8E34010 + .incbin "graphics/pokemon/front_pics/registeel_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE34010, 0x0488 + + .align 2 +gFile_graphics_pokemon_palettes_registeel_palette:: @ 8E34498 + .incbin "graphics/pokemon/palettes/registeel_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE34498, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_registeel_back_pic:: @ 8E344C0 + .incbin "graphics/pokemon/back_pics/registeel_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE344C0, 0x0338 + + .align 2 +gFile_graphics_pokemon_palettes_registeel_shiny_palette:: @ 8E347F8 + .incbin "graphics/pokemon/palettes/registeel_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE347F8, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_registeel_icon:: @ 8E34820 + .incbin "graphics/pokemon/icons/registeel_icon.4bpp" + @ .incbin "baserom.gba", 0xE34820, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_registeel_footprint:: @ 8E34C20 + .incbin "graphics/pokemon/footprints/registeel_footprint.1bpp" + @ .incbin "baserom.gba", 0xE34C20, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_kyogre_still_front_pic:: @ 8E34C40 + .incbin "graphics/pokemon/front_pics/kyogre_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE34C40, 0x0470 + + .align 2 +gFile_graphics_pokemon_palettes_kyogre_palette:: @ 8E350B0 + .incbin "graphics/pokemon/palettes/kyogre_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE350B0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_kyogre_back_pic:: @ 8E350D8 + .incbin "graphics/pokemon/back_pics/kyogre_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE350D8, 0x0278 + + .align 2 +gFile_graphics_pokemon_palettes_kyogre_shiny_palette:: @ 8E35350 + .incbin "graphics/pokemon/palettes/kyogre_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE35350, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_kyogre_icon:: @ 8E35378 + .incbin "graphics/pokemon/icons/kyogre_icon.4bpp" + @ .incbin "baserom.gba", 0xE35378, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_kyogre_footprint:: @ 8E35778 + .incbin "graphics/pokemon/footprints/kyogre_footprint.1bpp" + @ .incbin "baserom.gba", 0xE35778, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_groudon_still_front_pic:: @ 8E35798 + .incbin "graphics/pokemon/front_pics/groudon_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE35798, 0x0594 + + .align 2 +gFile_graphics_pokemon_palettes_groudon_palette:: @ 8E35D2C + .incbin "graphics/pokemon/palettes/groudon_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE35D2C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_groudon_back_pic:: @ 8E35D54 + .incbin "graphics/pokemon/back_pics/groudon_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE35D54, 0x0468 + + .align 2 +gFile_graphics_pokemon_palettes_groudon_shiny_palette:: @ 8E361BC + .incbin "graphics/pokemon/palettes/groudon_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE361BC, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_groudon_icon:: @ 8E361E4 + .incbin "graphics/pokemon/icons/groudon_icon.4bpp" + @ .incbin "baserom.gba", 0xE361E4, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_groudon_footprint:: @ 8E365E4 + .incbin "graphics/pokemon/footprints/groudon_footprint.1bpp" + @ .incbin "baserom.gba", 0xE365E4, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_rayquaza_still_front_pic:: @ 8E36604 + .incbin "graphics/pokemon/front_pics/rayquaza_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE36604, 0x0510 + + .align 2 +gFile_graphics_pokemon_palettes_rayquaza_palette:: @ 8E36B14 + .incbin "graphics/pokemon/palettes/rayquaza_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE36B14, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_rayquaza_back_pic:: @ 8E36B3C + .incbin "graphics/pokemon/back_pics/rayquaza_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE36B3C, 0x0338 + + .align 2 +gFile_graphics_pokemon_palettes_rayquaza_shiny_palette:: @ 8E36E74 + .incbin "graphics/pokemon/palettes/rayquaza_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE36E74, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_rayquaza_icon:: @ 8E36E9C + .incbin "graphics/pokemon/icons/rayquaza_icon.4bpp" + @ .incbin "baserom.gba", 0xE36E9C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_rayquaza_footprint:: @ 8E3729C + .incbin "graphics/pokemon/footprints/rayquaza_footprint.1bpp" + @ .incbin "baserom.gba", 0xE3729C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_latias_still_front_pic:: @ 8E372BC + .incbin "graphics/pokemon/front_pics/latias_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE372BC, 0x0424 + + .align 2 +gFile_graphics_pokemon_palettes_latias_palette:: @ 8E376E0 + .incbin "graphics/pokemon/palettes/latias_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE376E0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_latias_back_pic:: @ 8E37708 + .incbin "graphics/pokemon/back_pics/latias_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE37708, 0x02FC + + .align 2 +gFile_graphics_pokemon_palettes_latias_shiny_palette:: @ 8E37A04 + .incbin "graphics/pokemon/palettes/latias_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE37A04, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_latias_icon:: @ 8E37A2C + .incbin "graphics/pokemon/icons/latias_icon.4bpp" + @ .incbin "baserom.gba", 0xE37A2C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_latias_footprint:: @ 8E37E2C + .incbin "graphics/pokemon/footprints/latias_footprint.1bpp" + @ .incbin "baserom.gba", 0xE37E2C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_latios_still_front_pic:: @ 8E37E4C + .incbin "graphics/pokemon/front_pics/latios_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE37E4C, 0x0454 + + .align 2 +gFile_graphics_pokemon_palettes_latios_palette:: @ 8E382A0 + .incbin "graphics/pokemon/palettes/latios_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE382A0, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_latios_back_pic:: @ 8E382C8 + .incbin "graphics/pokemon/back_pics/latios_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE382C8, 0x0360 + + .align 2 +gFile_graphics_pokemon_palettes_latios_shiny_palette:: @ 8E38628 + .incbin "graphics/pokemon/palettes/latios_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE38628, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_latios_icon:: @ 8E38650 + .incbin "graphics/pokemon/icons/latios_icon.4bpp" + @ .incbin "baserom.gba", 0xE38650, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_latios_footprint:: @ 8E38A50 + .incbin "graphics/pokemon/footprints/latios_footprint.1bpp" + @ .incbin "baserom.gba", 0xE38A50, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_jirachi_still_front_pic:: @ 8E38A70 + .incbin "graphics/pokemon/front_pics/jirachi_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE38A70, 0x030C + + .align 2 +gFile_graphics_pokemon_palettes_jirachi_palette:: @ 8E38D7C + .incbin "graphics/pokemon/palettes/jirachi_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE38D7C, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_jirachi_back_pic:: @ 8E38DA4 + .incbin "graphics/pokemon/back_pics/jirachi_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE38DA4, 0x03A0 + + .align 2 +gFile_graphics_pokemon_palettes_jirachi_shiny_palette:: @ 8E39144 + .incbin "graphics/pokemon/palettes/jirachi_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE39144, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_jirachi_icon:: @ 8E3916C + .incbin "graphics/pokemon/icons/jirachi_icon.4bpp" + @ .incbin "baserom.gba", 0xE3916C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_jirachi_footprint:: @ 8E3956C + .incbin "graphics/pokemon/footprints/jirachi_footprint.1bpp" + @ .incbin "baserom.gba", 0xE3956C, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_deoxys_still_front_pic:: @ 8E3958C + .incbin "graphics/pokemon/front_pics/deoxys_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE3958C, 0x07BC + + .align 2 +gFile_graphics_pokemon_palettes_deoxys_palette:: @ 8E39D48 + .incbin "graphics/pokemon/palettes/deoxys_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE39D48, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_deoxys_back_pic:: @ 8E39D70 + .incbin "graphics/pokemon/back_pics/deoxys_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE39D70, 0x05F0 + + .align 2 +gFile_graphics_pokemon_palettes_deoxys_shiny_palette:: @ 8E3A360 + .incbin "graphics/pokemon/palettes/deoxys_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE3A360, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_deoxys_icon:: @ 8E3A388 + .incbin "graphics/pokemon/icons/deoxys_icon.4bpp" + @ .incbin "baserom.gba", 0xE3A388, 0x0400 + + .align 2 +gFile_graphics_pokemon_icons_deoxys_speed_icon:: @ 8E3A788 + .incbin "graphics/pokemon/icons/deoxys_speed_icon.4bpp" + @ .incbin "baserom.gba", 0xE3A788, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_deoxys_footprint:: @ 8E3AB88 + .incbin "graphics/pokemon/footprints/deoxys_footprint.1bpp" + @ .incbin "baserom.gba", 0xE3AB88, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_chimecho_still_front_pic:: @ 8E3ABA8 + .incbin "graphics/pokemon/front_pics/chimecho_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE3ABA8, 0x024C + + .align 2 +gFile_graphics_pokemon_palettes_chimecho_palette:: @ 8E3ADF4 + .incbin "graphics/pokemon/palettes/chimecho_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE3ADF4, 0x0028 + + .align 2 +gFile_graphics_pokemon_back_pics_chimecho_back_pic:: @ 8E3AE1C + .incbin "graphics/pokemon/back_pics/chimecho_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE3AE1C, 0x0274 + + .align 2 +gFile_graphics_pokemon_palettes_chimecho_shiny_palette:: @ 8E3B090 + .incbin "graphics/pokemon/palettes/chimecho_shiny_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE3B090, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_chimecho_icon:: @ 8E3B0B8 + .incbin "graphics/pokemon/icons/chimecho_icon.4bpp" + @ .incbin "baserom.gba", 0xE3B0B8, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_chimecho_footprint:: @ 8E3B4B8 + .incbin "graphics/pokemon/footprints/chimecho_footprint.1bpp" + @ .incbin "baserom.gba", 0xE3B4B8, 0x0020 + + + .align 2 +gFile_graphics_pokemon_front_pics_egg_still_front_pic:: @ 8E3B4D8 + .incbin "graphics/pokemon/front_pics/egg_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE3B4D8, 0x01B4 + + .align 2 +gFile_graphics_pokemon_palettes_egg_palette:: @ 8E3B68C + .incbin "graphics/pokemon/palettes/egg_palette.gbapal.lz" + @ .incbin "baserom.gba", 0xE3B68C, 0x0020 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_b_still_front_pic:: @ 8E3B6AC + .incbin "graphics/pokemon/front_pics/unown_b_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE3B6AC, 0x01D8 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_b_back_pic:: @ 8E3B884 + .incbin "graphics/pokemon/back_pics/unown_b_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE3B884, 0x0204 + + .align 2 +gFile_graphics_pokemon_icons_unown_B_icon:: @ 8E3BA88 + .incbin "graphics/pokemon/icons/unown_B_icon.4bpp" + @ .incbin "baserom.gba", 0xE3BA88, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_c_still_front_pic:: @ 8E3BE88 + .incbin "graphics/pokemon/front_pics/unown_c_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE3BE88, 0x0214 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_c_back_pic:: @ 8E3C09C + .incbin "graphics/pokemon/back_pics/unown_c_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE3C09C, 0x02AC + + .align 2 +gFile_graphics_pokemon_icons_unown_C_icon:: @ 8E3C348 + .incbin "graphics/pokemon/icons/unown_C_icon.4bpp" + @ .incbin "baserom.gba", 0xE3C348, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_d_still_front_pic:: @ 8E3C748 + .incbin "graphics/pokemon/front_pics/unown_d_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE3C748, 0x01F8 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_d_back_pic:: @ 8E3C940 + .incbin "graphics/pokemon/back_pics/unown_d_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE3C940, 0x0258 + + .align 2 +gFile_graphics_pokemon_icons_unown_D_icon:: @ 8E3CB98 + .incbin "graphics/pokemon/icons/unown_D_icon.4bpp" + @ .incbin "baserom.gba", 0xE3CB98, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_e_still_front_pic:: @ 8E3CF98 + .incbin "graphics/pokemon/front_pics/unown_e_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE3CF98, 0x01B8 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_e_back_pic:: @ 8E3D150 + .incbin "graphics/pokemon/back_pics/unown_e_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE3D150, 0x0200 + + .align 2 +gFile_graphics_pokemon_icons_unown_E_icon:: @ 8E3D350 + .incbin "graphics/pokemon/icons/unown_E_icon.4bpp" + @ .incbin "baserom.gba", 0xE3D350, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_f_still_front_pic:: @ 8E3D750 + .incbin "graphics/pokemon/front_pics/unown_f_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE3D750, 0x01F4 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_f_back_pic:: @ 8E3D944 + .incbin "graphics/pokemon/back_pics/unown_f_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE3D944, 0x021C + + .align 2 +gFile_graphics_pokemon_icons_unown_F_icon:: @ 8E3DB60 + .incbin "graphics/pokemon/icons/unown_F_icon.4bpp" + @ .incbin "baserom.gba", 0xE3DB60, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_g_still_front_pic:: @ 8E3DF60 + .incbin "graphics/pokemon/front_pics/unown_g_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE3DF60, 0x01DC + + .align 2 +gFile_graphics_pokemon_back_pics_unown_g_back_pic:: @ 8E3E13C + .incbin "graphics/pokemon/back_pics/unown_g_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE3E13C, 0x024C + + .align 2 +gFile_graphics_pokemon_icons_unown_G_icon:: @ 8E3E388 + .incbin "graphics/pokemon/icons/unown_G_icon.4bpp" + @ .incbin "baserom.gba", 0xE3E388, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_h_still_front_pic:: @ 8E3E788 + .incbin "graphics/pokemon/front_pics/unown_h_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE3E788, 0x0244 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_h_back_pic:: @ 8E3E9CC + .incbin "graphics/pokemon/back_pics/unown_h_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE3E9CC, 0x02C4 + + .align 2 +gFile_graphics_pokemon_icons_unown_H_icon:: @ 8E3EC90 + .incbin "graphics/pokemon/icons/unown_H_icon.4bpp" + @ .incbin "baserom.gba", 0xE3EC90, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_i_still_front_pic:: @ 8E3F090 + .incbin "graphics/pokemon/front_pics/unown_i_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE3F090, 0x0198 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_i_back_pic:: @ 8E3F228 + .incbin "graphics/pokemon/back_pics/unown_i_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE3F228, 0x01A8 + + .align 2 +gFile_graphics_pokemon_icons_unown_I_icon:: @ 8E3F3D0 + .incbin "graphics/pokemon/icons/unown_I_icon.4bpp" + @ .incbin "baserom.gba", 0xE3F3D0, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_j_still_front_pic:: @ 8E3F7D0 + .incbin "graphics/pokemon/front_pics/unown_j_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE3F7D0, 0x01C4 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_j_back_pic:: @ 8E3F994 + .incbin "graphics/pokemon/back_pics/unown_j_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE3F994, 0x01E8 + + .align 2 +gFile_graphics_pokemon_icons_unown_J_icon:: @ 8E3FB7C + .incbin "graphics/pokemon/icons/unown_J_icon.4bpp" + @ .incbin "baserom.gba", 0xE3FB7C, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_k_still_front_pic:: @ 8E3FF7C + .incbin "graphics/pokemon/front_pics/unown_k_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE3FF7C, 0x01D0 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_k_back_pic:: @ 8E4014C + .incbin "graphics/pokemon/back_pics/unown_k_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4014C, 0x01F8 + + .align 2 +gFile_graphics_pokemon_icons_unown_K_icon:: @ 8E40344 + .incbin "graphics/pokemon/icons/unown_K_icon.4bpp" + @ .incbin "baserom.gba", 0xE40344, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_l_still_front_pic:: @ 8E40744 + .incbin "graphics/pokemon/front_pics/unown_l_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE40744, 0x01B0 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_l_back_pic:: @ 8E408F4 + .incbin "graphics/pokemon/back_pics/unown_l_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE408F4, 0x01D4 + + .align 2 +gFile_graphics_pokemon_icons_unown_L_icon:: @ 8E40AC8 + .incbin "graphics/pokemon/icons/unown_L_icon.4bpp" + @ .incbin "baserom.gba", 0xE40AC8, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_m_still_front_pic:: @ 8E40EC8 + .incbin "graphics/pokemon/front_pics/unown_m_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE40EC8, 0x0224 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_m_back_pic:: @ 8E410EC + .incbin "graphics/pokemon/back_pics/unown_m_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE410EC, 0x02A8 + + .align 2 +gFile_graphics_pokemon_icons_unown_M_icon:: @ 8E41394 + .incbin "graphics/pokemon/icons/unown_M_icon.4bpp" + @ .incbin "baserom.gba", 0xE41394, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_n_still_front_pic:: @ 8E41794 + .incbin "graphics/pokemon/front_pics/unown_n_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE41794, 0x01F8 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_n_back_pic:: @ 8E4198C + .incbin "graphics/pokemon/back_pics/unown_n_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4198C, 0x026C + + .align 2 +gFile_graphics_pokemon_icons_unown_N_icon:: @ 8E41BF8 + .incbin "graphics/pokemon/icons/unown_N_icon.4bpp" + @ .incbin "baserom.gba", 0xE41BF8, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_o_still_front_pic:: @ 8E41FF8 + .incbin "graphics/pokemon/front_pics/unown_o_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE41FF8, 0x0238 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_o_back_pic:: @ 8E42230 + .incbin "graphics/pokemon/back_pics/unown_o_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE42230, 0x02C0 + + .align 2 +gFile_graphics_pokemon_icons_unown_O_icon:: @ 8E424F0 + .incbin "graphics/pokemon/icons/unown_O_icon.4bpp" + @ .incbin "baserom.gba", 0xE424F0, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_p_still_front_pic:: @ 8E428F0 + .incbin "graphics/pokemon/front_pics/unown_p_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE428F0, 0x01A0 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_p_back_pic:: @ 8E42A90 + .incbin "graphics/pokemon/back_pics/unown_p_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE42A90, 0x01C4 + + .align 2 +gFile_graphics_pokemon_icons_unown_P_icon:: @ 8E42C54 + .incbin "graphics/pokemon/icons/unown_P_icon.4bpp" + @ .incbin "baserom.gba", 0xE42C54, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_q_still_front_pic:: @ 8E43054 + .incbin "graphics/pokemon/front_pics/unown_q_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE43054, 0x01B4 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_q_back_pic:: @ 8E43208 + .incbin "graphics/pokemon/back_pics/unown_q_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE43208, 0x01CC + + .align 2 +gFile_graphics_pokemon_icons_unown_Q_icon:: @ 8E433D4 + .incbin "graphics/pokemon/icons/unown_Q_icon.4bpp" + @ .incbin "baserom.gba", 0xE433D4, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_r_still_front_pic:: @ 8E437D4 + .incbin "graphics/pokemon/front_pics/unown_r_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE437D4, 0x01A4 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_r_back_pic:: @ 8E43978 + .incbin "graphics/pokemon/back_pics/unown_r_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE43978, 0x01C8 + + .align 2 +gFile_graphics_pokemon_icons_unown_R_icon:: @ 8E43B40 + .incbin "graphics/pokemon/icons/unown_R_icon.4bpp" + @ .incbin "baserom.gba", 0xE43B40, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_s_still_front_pic:: @ 8E43F40 + .incbin "graphics/pokemon/front_pics/unown_s_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE43F40, 0x01E8 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_s_back_pic:: @ 8E44128 + .incbin "graphics/pokemon/back_pics/unown_s_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE44128, 0x0254 + + .align 2 +gFile_graphics_pokemon_icons_unown_S_icon:: @ 8E4437C + .incbin "graphics/pokemon/icons/unown_S_icon.4bpp" + @ .incbin "baserom.gba", 0xE4437C, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_t_still_front_pic:: @ 8E4477C + .incbin "graphics/pokemon/front_pics/unown_t_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4477C, 0x01B0 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_t_back_pic:: @ 8E4492C + .incbin "graphics/pokemon/back_pics/unown_t_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4492C, 0x01B4 + + .align 2 +gFile_graphics_pokemon_icons_unown_T_icon:: @ 8E44AE0 + .incbin "graphics/pokemon/icons/unown_T_icon.4bpp" + @ .incbin "baserom.gba", 0xE44AE0, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_u_still_front_pic:: @ 8E44EE0 + .incbin "graphics/pokemon/front_pics/unown_u_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE44EE0, 0x0218 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_u_back_pic:: @ 8E450F8 + .incbin "graphics/pokemon/back_pics/unown_u_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE450F8, 0x0254 + + .align 2 +gFile_graphics_pokemon_icons_unown_U_icon:: @ 8E4534C + .incbin "graphics/pokemon/icons/unown_U_icon.4bpp" + @ .incbin "baserom.gba", 0xE4534C, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_v_still_front_pic:: @ 8E4574C + .incbin "graphics/pokemon/front_pics/unown_v_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4574C, 0x01E4 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_v_back_pic:: @ 8E45930 + .incbin "graphics/pokemon/back_pics/unown_v_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE45930, 0x0230 + + .align 2 +gFile_graphics_pokemon_icons_unown_V_icon:: @ 8E45B60 + .incbin "graphics/pokemon/icons/unown_V_icon.4bpp" + @ .incbin "baserom.gba", 0xE45B60, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_w_still_front_pic:: @ 8E45F60 + .incbin "graphics/pokemon/front_pics/unown_w_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE45F60, 0x01D4 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_w_back_pic:: @ 8E46134 + .incbin "graphics/pokemon/back_pics/unown_w_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE46134, 0x0204 + + .align 2 +gFile_graphics_pokemon_icons_unown_W_icon:: @ 8E46338 + .incbin "graphics/pokemon/icons/unown_W_icon.4bpp" + @ .incbin "baserom.gba", 0xE46338, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_x_still_front_pic:: @ 8E46738 + .incbin "graphics/pokemon/front_pics/unown_x_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE46738, 0x01C4 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_x_back_pic:: @ 8E468FC + .incbin "graphics/pokemon/back_pics/unown_x_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE468FC, 0x01F0 + + .align 2 +gFile_graphics_pokemon_icons_unown_X_icon:: @ 8E46AEC + .incbin "graphics/pokemon/icons/unown_X_icon.4bpp" + @ .incbin "baserom.gba", 0xE46AEC, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_y_still_front_pic:: @ 8E46EEC + .incbin "graphics/pokemon/front_pics/unown_y_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE46EEC, 0x01D8 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_y_back_pic:: @ 8E470C4 + .incbin "graphics/pokemon/back_pics/unown_y_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE470C4, 0x01F4 + + .align 2 +gFile_graphics_pokemon_icons_unown_Y_icon:: @ 8E472B8 + .incbin "graphics/pokemon/icons/unown_Y_icon.4bpp" + @ .incbin "baserom.gba", 0xE472B8, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_z_still_front_pic:: @ 8E476B8 + .incbin "graphics/pokemon/front_pics/unown_z_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE476B8, 0x01B0 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_z_back_pic:: @ 8E47868 + .incbin "graphics/pokemon/back_pics/unown_z_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE47868, 0x01DC + + .align 2 +gFile_graphics_pokemon_icons_unown_Z_icon:: @ 8E47A44 + .incbin "graphics/pokemon/icons/unown_Z_icon.4bpp" + @ .incbin "baserom.gba", 0xE47A44, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_exclamation_mark_still_front_pic:: @ 8E47E44 + .incbin "graphics/pokemon/front_pics/unown_exclamation_mark_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE47E44, 0x0190 + + .align 2 +gFile_graphics_pokemon_back_pics_unown_exclamation_mark_back_pic:: @ 8E47FD4 + .incbin "graphics/pokemon/back_pics/unown_exclamation_mark_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE47FD4, 0x01C8 + + .align 2 +gFile_graphics_pokemon_icons_unown_exclamation_mark_icon:: @ 8E4819C + .incbin "graphics/pokemon/icons/unown_exclamation_mark_icon.4bpp" + @ .incbin "baserom.gba", 0xE4819C, 0x0400 + + .align 2 +gFile_graphics_pokemon_front_pics_unown_question_mark_still_front_pic:: @ 8E4859C + .incbin "graphics/pokemon/front_pics/unown_question_mark_still_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4859C, 0x01BC + + .align 2 +gFile_graphics_pokemon_back_pics_unown_question_mark_back_pic:: @ 8E48758 + .incbin "graphics/pokemon/back_pics/unown_question_mark_back_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE48758, 0x0200 + + .align 2 +gFile_graphics_pokemon_icons_unown_question_mark_icon:: @ 8E48958 + .incbin "graphics/pokemon/icons/unown_question_mark_icon.4bpp" + @ .incbin "baserom.gba", 0xE48958, 0x0400 + + + .align 2 +gFile_graphics_trainers_front_pics_aqua_leader_archie_front_pic:: @ 8E48D58 + .incbin "graphics/trainers/front_pics/aqua_leader_archie_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE48D58, 0x033C + + .align 2 +gFile_graphics_trainers_palettes_aqua_leader_archie:: @ 8E49094 + .incbin "graphics/trainers/palettes/aqua_leader_archie.gbapal.lz" + @ .incbin "baserom.gba", 0xE49094, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_aqua_grunt_m_front_pic:: @ 8E490BC + .incbin "graphics/trainers/front_pics/aqua_grunt_m_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE490BC, 0x0360 + + .align 2 +gFile_graphics_trainers_palettes_aqua_grunt_m:: @ 8E4941C + .incbin "graphics/trainers/palettes/aqua_grunt_m.gbapal.lz" + @ .incbin "baserom.gba", 0xE4941C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_aqua_grunt_f_front_pic:: @ 8E49444 + .incbin "graphics/trainers/front_pics/aqua_grunt_f_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE49444, 0x033C + + .align 2 +gFile_graphics_trainers_palettes_aqua_grunt_f:: @ 8E49780 + .incbin "graphics/trainers/palettes/aqua_grunt_f.gbapal.lz" + @ .incbin "baserom.gba", 0xE49780, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_aroma_lady_front_pic:: @ 8E497A8 + .incbin "graphics/trainers/front_pics/emerald_aroma_lady_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE497A8, 0x02C4 + + .align 2 +gFile_graphics_trainers_palettes_emerald_aroma_lady:: @ 8E49A6C + .incbin "graphics/trainers/palettes/emerald_aroma_lady.gbapal.lz" + @ .incbin "baserom.gba", 0xE49A6C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_ruin_maniac_front_pic:: @ 8E49A94 + .incbin "graphics/trainers/front_pics/emerald_ruin_maniac_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE49A94, 0x039C + + .align 2 +gFile_graphics_trainers_palettes_emerald_ruin_maniac:: @ 8E49E30 + .incbin "graphics/trainers/palettes/emerald_ruin_maniac.gbapal.lz" + @ .incbin "baserom.gba", 0xE49E30, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_interviewer_front_pic:: @ 8E49E58 + .incbin "graphics/trainers/front_pics/interviewer_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE49E58, 0x04A4 + + .align 2 +gFile_graphics_trainers_palettes_interviewer:: @ 8E4A2FC + .incbin "graphics/trainers/palettes/interviewer.gbapal.lz" + @ .incbin "baserom.gba", 0xE4A2FC, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_tuber_f_front_pic:: @ 8E4A324 + .incbin "graphics/trainers/front_pics/emerald_tuber_f_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4A324, 0x02A4 + + .align 2 +gFile_graphics_trainers_palettes_emerald_tuber_f:: @ 8E4A5C8 + .incbin "graphics/trainers/palettes/emerald_tuber_f.gbapal.lz" + @ .incbin "baserom.gba", 0xE4A5C8, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_tuber_m_front_pic:: @ 8E4A5F0 + .incbin "graphics/trainers/front_pics/emerald_tuber_m_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4A5F0, 0x028C + + .align 2 +gFile_graphics_trainers_palettes_emerald_tuber_m:: @ 8E4A87C + .incbin "graphics/trainers/palettes/emerald_tuber_m.gbapal.lz" + @ .incbin "baserom.gba", 0xE4A87C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_cool_trainer_m_front_pic:: @ 8E4A8A4 + .incbin "graphics/trainers/front_pics/emerald_cool_trainer_m_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4A8A4, 0x02E8 + + .align 2 +gFile_graphics_trainers_palettes_emerald_cool_trainer_m:: @ 8E4AB8C + .incbin "graphics/trainers/palettes/emerald_cool_trainer_m.gbapal.lz" + @ .incbin "baserom.gba", 0xE4AB8C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_cool_trainer_f_front_pic:: @ 8E4ABB4 + .incbin "graphics/trainers/front_pics/emerald_cool_trainer_f_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4ABB4, 0x0314 + + .align 2 +gFile_graphics_trainers_palettes_emerald_cool_trainer_f:: @ 8E4AEC8 + .incbin "graphics/trainers/palettes/emerald_cool_trainer_f.gbapal.lz" + @ .incbin "baserom.gba", 0xE4AEC8, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_hex_maniac_front_pic:: @ 8E4AEF0 + .incbin "graphics/trainers/front_pics/hex_maniac_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4AEF0, 0x036C + + .align 2 +gFile_graphics_trainers_palettes_hex_maniac:: @ 8E4B25C + .incbin "graphics/trainers/palettes/hex_maniac.gbapal.lz" + @ .incbin "baserom.gba", 0xE4B25C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_lady_front_pic:: @ 8E4B284 + .incbin "graphics/trainers/front_pics/emerald_lady_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4B284, 0x03B4 + + .align 2 +gFile_graphics_trainers_palettes_emerald_lady:: @ 8E4B638 + .incbin "graphics/trainers/palettes/emerald_lady.gbapal.lz" + @ .incbin "baserom.gba", 0xE4B638, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_beauty_front_pic:: @ 8E4B660 + .incbin "graphics/trainers/front_pics/emerald_beauty_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4B660, 0x02E8 + + .align 2 +gFile_graphics_trainers_palettes_emerald_beauty:: @ 8E4B948 + .incbin "graphics/trainers/palettes/emerald_beauty.gbapal.lz" + @ .incbin "baserom.gba", 0xE4B948, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_rich_boy_front_pic:: @ 8E4B970 + .incbin "graphics/trainers/front_pics/rich_boy_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4B970, 0x02B4 + + .align 2 +gFile_graphics_trainers_palettes_rich_boy:: @ 8E4BC24 + .incbin "graphics/trainers/palettes/rich_boy.gbapal.lz" + @ .incbin "baserom.gba", 0xE4BC24, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_pokemaniac_front_pic:: @ 8E4BC4C + .incbin "graphics/trainers/front_pics/emerald_pokemaniac_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4BC4C, 0x0370 + + .align 2 +gFile_graphics_trainers_palettes_emerald_pokemaniac:: @ 8E4BFBC + @ .incbin "graphics/trainers/palettes/emerald_pokemaniac.gbapal.lz" + .incbin "baserom.gba", 0xE4BFBC, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_swimmer_m_front_pic:: @ 8E4BFE4 + .incbin "graphics/trainers/front_pics/emerald_swimmer_m_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4BFE4, 0x02C0 + + .align 2 +gFile_graphics_trainers_palettes_emerald_swimmer_m:: @ 8E4C2A4 + .incbin "graphics/trainers/palettes/emerald_swimmer_m.gbapal.lz" + @ .incbin "baserom.gba", 0xE4C2A4, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_black_belt_front_pic:: @ 8E4C2CC + .incbin "graphics/trainers/front_pics/emerald_black_belt_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4C2CC, 0x0364 + + .align 2 +gFile_graphics_trainers_palettes_black_belt:: @ 8E4C630 + .incbin "graphics/trainers/palettes/black_belt.gbapal.lz" + @ .incbin "baserom.gba", 0xE4C630, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_guitarist_front_pic:: @ 8E4C658 + .incbin "graphics/trainers/front_pics/guitarist_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4C658, 0x0384 + + .align 2 +gFile_graphics_trainers_palettes_guitarist:: @ 8E4C9DC + .incbin "graphics/trainers/palettes/guitarist.gbapal.lz" + @ .incbin "baserom.gba", 0xE4C9DC, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_kindler_front_pic:: @ 8E4CA04 + .incbin "graphics/trainers/front_pics/kindler_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4CA04, 0x036C + + .align 2 +gFile_graphics_trainers_palettes_kindler:: @ 8E4CD70 + .incbin "graphics/trainers/palettes/kindler.gbapal.lz" + @ .incbin "baserom.gba", 0xE4CD70, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_camper_front_pic:: @ 8E4CD98 + .incbin "graphics/trainers/front_pics/emerald_camper_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4CD98, 0x02E8 + + .align 2 +gFile_graphics_trainers_palettes_emerald_camper:: @ 8E4D080 + .incbin "graphics/trainers/palettes/emerald_camper.gbapal.lz" + @ .incbin "baserom.gba", 0xE4D080, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_bug_maniac_front_pic:: @ 8E4D0A8 + .incbin "graphics/trainers/front_pics/bug_maniac_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4D0A8, 0x0450 + + .align 2 +gFile_graphics_trainers_palettes_bug_maniac:: @ 8E4D4F8 + .incbin "graphics/trainers/palettes/bug_maniac.gbapal.lz" + @ .incbin "baserom.gba", 0xE4D4F8, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_psychic_m_front_pic:: @ 8E4D520 + .incbin "graphics/trainers/front_pics/emerald_psychic_m_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4D520, 0x032C + + .align 2 +gFile_graphics_trainers_palettes_emerald_psychic_m:: @ 8E4D84C + .incbin "graphics/trainers/palettes/emerald_psychic_m.gbapal.lz" + @ .incbin "baserom.gba", 0xE4D84C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_psychic_f_front_pic:: @ 8E4D874 + .incbin "graphics/trainers/front_pics/emerald_psychic_f_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4D874, 0x0328 + + .align 2 +gFile_graphics_trainers_palettes_emerald_psychic_f:: @ 8E4DB9C + .incbin "graphics/trainers/palettes/emerald_psychic_f.gbapal.lz" + @ .incbin "baserom.gba", 0xE4DB9C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_gentleman_front_pic:: @ 8E4DBC4 + .incbin "graphics/trainers/front_pics/emerald_gentleman_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4DBC4, 0x0300 + + .align 2 +gFile_graphics_trainers_palettes_emerald_gentleman:: @ 8E4DEC4 + .incbin "graphics/trainers/palettes/emerald_gentleman.gbapal.lz" + @ .incbin "baserom.gba", 0xE4DEC4, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_elite_four_sidney_front_pic:: @ 8E4DEEC + .incbin "graphics/trainers/front_pics/elite_four_sidney_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4DEEC, 0x0334 + + .align 2 +gFile_graphics_trainers_palettes_elite_four_sidney:: @ 8E4E220 + .incbin "graphics/trainers/palettes/elite_four_sidney.gbapal.lz" + @ .incbin "baserom.gba", 0xE4E220, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_elite_four_phoebe_front_pic:: @ 8E4E248 + .incbin "graphics/trainers/front_pics/elite_four_phoebe_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4E248, 0x0300 + + .align 2 +gFile_graphics_trainers_palettes_elite_four_phoebe:: @ 8E4E548 + .incbin "graphics/trainers/palettes/elite_four_phoebe.gbapal.lz" + @ .incbin "baserom.gba", 0xE4E548, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_leader_roxanne_front_pic:: @ 8E4E570 + .incbin "graphics/trainers/front_pics/leader_roxanne_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4E570, 0x02EC + + .align 2 +gFile_graphics_trainers_palettes_leader_roxanne:: @ 8E4E85C + .incbin "graphics/trainers/palettes/leader_roxanne.gbapal.lz" + @ .incbin "baserom.gba", 0xE4E85C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_leader_brawly_front_pic:: @ 8E4E884 + .incbin "graphics/trainers/front_pics/leader_brawly_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4E884, 0x0394 + + .align 2 +gFile_graphics_trainers_palettes_leader_brawly:: @ 8E4EC18 + .incbin "graphics/trainers/palettes/leader_brawly.gbapal.lz" + @ .incbin "baserom.gba", 0xE4EC18, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_leader_tate_and_liza_front_pic:: @ 8E4EC40 + .incbin "graphics/trainers/front_pics/leader_tate_and_liza_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4EC40, 0x0444 + + .align 2 +gFile_graphics_trainers_palettes_leader_tate_and_liza:: @ 8E4F084 + .incbin "graphics/trainers/palettes/leader_tate_and_liza.gbapal.lz" + @ .incbin "baserom.gba", 0xE4F084, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_school_kid_m_front_pic:: @ 8E4F0AC + .incbin "graphics/trainers/front_pics/school_kid_m_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4F0AC, 0x02C0 + + .align 2 +gFile_graphics_trainers_palettes_school_kid_m:: @ 8E4F36C + .incbin "graphics/trainers/palettes/school_kid_m.gbapal.lz" + @ .incbin "baserom.gba", 0xE4F36C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_school_kid_f_front_pic:: @ 8E4F394 + .incbin "graphics/trainers/front_pics/school_kid_f_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4F394, 0x029C + + .align 2 +gFile_graphics_trainers_palettes_school_kid_f:: @ 8E4F630 + .incbin "graphics/trainers/palettes/school_kid_f.gbapal.lz" + @ .incbin "baserom.gba", 0xE4F630, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_sr_and_jr_front_pic:: @ 8E4F658 + .incbin "graphics/trainers/front_pics/sr_and_jr_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4F658, 0x0470 + + .align 2 +gFile_graphics_trainers_palettes_sr_and_jr:: @ 8E4FAC8 + .incbin "graphics/trainers/palettes/sr_and_jr.gbapal.lz" + @ .incbin "baserom.gba", 0xE4FAC8, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_winstrate_m_front_pic:: @ 8E4FAF0 + .incbin "graphics/trainers/front_pics/winstrate_m_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4FAF0, 0x03BC + + .align 2 +gFile_graphics_trainers_palettes_winstrate_m:: @ 8E4FEAC + .incbin "graphics/trainers/palettes/winstrate_m.gbapal.lz" + @ .incbin "baserom.gba", 0xE4FEAC, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_winstrate_f_front_pic:: @ 8E4FED4 + .incbin "graphics/trainers/front_pics/winstrate_f_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE4FED4, 0x03CC + + .align 2 +gFile_graphics_trainers_palettes_winstrate_f:: @ 8E502A0 + .incbin "graphics/trainers/palettes/winstrate_f.gbapal.lz" + @ .incbin "baserom.gba", 0xE502A0, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_expert_m_front_pic:: @ 8E502C8 + .incbin "graphics/trainers/front_pics/expert_m_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE502C8, 0x0340 + + .align 2 +gFile_graphics_trainers_palettes_expert_m:: @ 8E50608 + .incbin "graphics/trainers/palettes/expert_m.gbapal.lz" + @ .incbin "baserom.gba", 0xE50608, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_expert_f_front_pic:: @ 8E50630 + .incbin "graphics/trainers/front_pics/expert_f_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE50630, 0x031C + + .align 2 +gFile_graphics_trainers_palettes_expert_f:: @ 8E5094C + .incbin "graphics/trainers/palettes/expert_f.gbapal.lz" + @ .incbin "baserom.gba", 0xE5094C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_youngster_front_pic:: @ 8E50974 + .incbin "graphics/trainers/front_pics/emerald_youngster_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE50974, 0x02A8 + + .align 2 +gFile_graphics_trainers_palettes_emerald_youngster:: @ 8E50C1C + .incbin "graphics/trainers/palettes/emerald_youngster.gbapal.lz" + @ .incbin "baserom.gba", 0xE50C1C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_steven_front_pic:: @ 8E50C44 + .incbin "graphics/trainers/front_pics/steven_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE50C44, 0x0338 + + .align 2 +gFile_graphics_trainers_palettes_steven:: @ 8E50F7C + .incbin "graphics/trainers/palettes/steven.gbapal.lz" + @ .incbin "baserom.gba", 0xE50F7C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_fisherman_front_pic:: @ 8E50FA4 + .incbin "graphics/trainers/front_pics/emerald_fisherman_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE50FA4, 0x03E4 + + .align 2 +gFile_graphics_trainers_palettes_emerald_fisherman:: @ 8E51388 + .incbin "graphics/trainers/palettes/emerald_fisherman.gbapal.lz" + @ .incbin "baserom.gba", 0xE51388, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_cycling_triathlete_m_front_pic:: @ 8E513B0 + .incbin "graphics/trainers/front_pics/cycling_triathlete_m_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE513B0, 0x0410 + + .align 2 +gFile_graphics_trainers_palettes_cycling_triathlete_m:: @ 8E517C0 + .incbin "graphics/trainers/palettes/cycling_triathlete_m.gbapal.lz" + @ .incbin "baserom.gba", 0xE517C0, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_cycling_triathlete_f_front_pic:: @ 8E517E8 + .incbin "graphics/trainers/front_pics/cycling_triathlete_f_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE517E8, 0x040C + + .align 2 +gFile_graphics_trainers_palettes_cycling_triathlete_f:: @ 8E51BF4 + .incbin "graphics/trainers/palettes/cycling_triathlete_f.gbapal.lz" + @ .incbin "baserom.gba", 0xE51BF4, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_running_triathlete_m_front_pic:: @ 8E51C1C + .incbin "graphics/trainers/front_pics/running_triathlete_m_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE51C1C, 0x02B8 + + .align 2 +gFile_graphics_trainers_palettes_running_triathlete_m:: @ 8E51ED4 + .incbin "graphics/trainers/palettes/running_triathlete_m.gbapal.lz" + @ .incbin "baserom.gba", 0xE51ED4, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_running_triathlete_f_front_pic:: @ 8E51EFC + .incbin "graphics/trainers/front_pics/running_triathlete_f_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE51EFC, 0x02A4 + + .align 2 +gFile_graphics_trainers_palettes_running_triathlete_f:: @ 8E521A0 + .incbin "graphics/trainers/palettes/running_triathlete_f.gbapal.lz" + @ .incbin "baserom.gba", 0xE521A0, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_swimming_triathlete_m_front_pic:: @ 8E521C8 + .incbin "graphics/trainers/front_pics/swimming_triathlete_m_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE521C8, 0x032C + + .align 2 +gFile_graphics_trainers_palettes_swimming_triathlete_m:: @ 8E524F4 + .incbin "graphics/trainers/palettes/swimming_triathlete_m.gbapal.lz" + @ .incbin "baserom.gba", 0xE524F4, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_swimming_triathlete_f_front_pic:: @ 8E5251C + .incbin "graphics/trainers/front_pics/swimming_triathlete_f_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5251C, 0x02DC + + .align 2 +gFile_graphics_trainers_palettes_swimming_triathlete_f:: @ 8E527F8 + .incbin "graphics/trainers/palettes/swimming_triathlete_f.gbapal.lz" + @ .incbin "baserom.gba", 0xE527F8, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_dragon_tamer_front_pic:: @ 8E52820 + .incbin "graphics/trainers/front_pics/dragon_tamer_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE52820, 0x0354 + + .align 2 +gFile_graphics_trainers_palettes_dragon_tamer:: @ 8E52B74 + .incbin "graphics/trainers/palettes/dragon_tamer.gbapal.lz" + @ .incbin "baserom.gba", 0xE52B74, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_bird_keeper_front_pic:: @ 8E52B9C + .incbin "graphics/trainers/front_pics/emerald_bird_keeper_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE52B9C, 0x0338 + + .align 2 +gFile_graphics_trainers_palettes_emerald_bird_keeper:: @ 8E52ED4 + .incbin "graphics/trainers/palettes/emerald_bird_keeper.gbapal.lz" + @ .incbin "baserom.gba", 0xE52ED4, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_ninja_boy_front_pic:: @ 8E52EFC + .incbin "graphics/trainers/front_pics/ninja_boy_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE52EFC, 0x02DC + + .align 2 +gFile_graphics_trainers_palettes_ninja_boy:: @ 8E531D8 + .incbin "graphics/trainers/palettes/ninja_boy.gbapal.lz" + @ .incbin "baserom.gba", 0xE531D8, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_battle_girl_front_pic:: @ 8E53200 + .incbin "graphics/trainers/front_pics/battle_girl_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE53200, 0x0320 + + .align 2 +gFile_graphics_trainers_palettes_battle_girl:: @ 8E53520 + .incbin "graphics/trainers/palettes/battle_girl.gbapal.lz" + @ .incbin "baserom.gba", 0xE53520, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_parasol_lady_front_pic:: @ 8E53548 + .incbin "graphics/trainers/front_pics/parasol_lady_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE53548, 0x0338 + + .align 2 +gFile_graphics_trainers_palettes_parasol_lady:: @ 8E53880 + .incbin "graphics/trainers/palettes/parasol_lady.gbapal.lz" + @ .incbin "baserom.gba", 0xE53880, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_swimmer_f_front_pic:: @ 8E538A8 + .incbin "graphics/trainers/front_pics/emerald_swimmer_f_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE538A8, 0x02D0 + + .align 2 +gFile_graphics_trainers_palettes_emerald_swimmer_f:: @ 8E53B78 + .incbin "graphics/trainers/palettes/emerald_swimmer_f.gbapal.lz" + @ .incbin "baserom.gba", 0xE53B78, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_picnicker_front_pic:: @ 8E53BA0 + .incbin "graphics/trainers/front_pics/emerald_picnicker_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE53BA0, 0x02E0 + + .align 2 +gFile_graphics_trainers_palettes_emerald_picnicker:: @ 8E53E80 + .incbin "graphics/trainers/palettes/emerald_picnicker.gbapal.lz" + @ .incbin "baserom.gba", 0xE53E80, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_twins_front_pic:: @ 8E53EA8 + .incbin "graphics/trainers/front_pics/emerald_twins_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE53EA8, 0x03C4 + + .align 2 +gFile_graphics_trainers_palettes_emerald_twins:: @ 8E5426C + .incbin "graphics/trainers/palettes/emerald_twins.gbapal.lz" + @ .incbin "baserom.gba", 0xE5426C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_sailor_front_pic:: @ 8E54294 + .incbin "graphics/trainers/front_pics/emerald_sailor_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE54294, 0x03B0 + + .align 2 +gFile_graphics_trainers_palettes_emerald_sailor:: @ 8E54644 + .incbin "graphics/trainers/palettes/emerald_sailor.gbapal.lz" + @ .incbin "baserom.gba", 0xE54644, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_collector_front_pic:: @ 8E5466C + .incbin "graphics/trainers/front_pics/collector_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5466C, 0x0404 + + .align 2 +gFile_graphics_trainers_palettes_collector:: @ 8E54A70 + .incbin "graphics/trainers/palettes/collector.gbapal.lz" + @ .incbin "baserom.gba", 0xE54A70, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_wally_front_pic:: @ 8E54A98 + .incbin "graphics/trainers/front_pics/wally_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE54A98, 0x02D0 + + .align 2 +gFile_graphics_trainers_palettes_wally:: @ 8E54D68 + .incbin "graphics/trainers/palettes/wally.gbapal.lz" + @ .incbin "baserom.gba", 0xE54D68, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_ruby_sapphire_brendan_front_pic:: @ 8E54D90 + .incbin "graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE54D90, 0x0314 + + .align 2 +gFile_graphics_trainers_palettes_ruby_sapphire_brendan:: @ 8E550A4 + .incbin "graphics/trainers/palettes/ruby_sapphire_brendan.gbapal.lz" + @ .incbin "baserom.gba", 0xE550A4, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_ruby_sapphire_may_front_pic:: @ 8E550CC + .incbin "graphics/trainers/front_pics/ruby_sapphire_may_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE550CC, 0x0300 + + .align 2 +gFile_graphics_trainers_palettes_ruby_sapphire_may:: @ 8E553CC + .incbin "graphics/trainers/palettes/ruby_sapphire_may.gbapal.lz" + @ .incbin "baserom.gba", 0xE553CC, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_pokemon_breeder_m_front_pic:: @ 8E553F4 + .incbin "graphics/trainers/front_pics/emerald_pokemon_breeder_m_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE553F4, 0x0330 + + .align 2 +gFile_graphics_trainers_palettes_emerald_pokemon_breeder_m:: @ 8E55724 + .incbin "graphics/trainers/palettes/emerald_pokemon_breeder_m.gbapal.lz" + @ .incbin "baserom.gba", 0xE55724, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_pokemon_breeder_f_front_pic:: @ 8E5574C + .incbin "graphics/trainers/front_pics/emerald_pokemon_breeder_f_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5574C, 0x0334 + + .align 2 +gFile_graphics_trainers_palettes_emerald_pokemon_breeder_f:: @ 8E55A80 + .incbin "graphics/trainers/palettes/emerald_pokemon_breeder_f.gbapal.lz" + @ .incbin "baserom.gba", 0xE55A80, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_pokemon_ranger_m_front_pic:: @ 8E55AA8 + .incbin "graphics/trainers/front_pics/emerald_pokemon_ranger_m_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE55AA8, 0x0348 + + .align 2 +gFile_graphics_trainers_palettes_emerald_pokemon_ranger_m:: @ 8E55DF0 + .incbin "graphics/trainers/palettes/emerald_pokemon_ranger_m.gbapal.lz" + @ .incbin "baserom.gba", 0xE55DF0, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_pokemon_ranger_f_front_pic:: @ 8E55E18 + .incbin "graphics/trainers/front_pics/emerald_pokemon_ranger_f_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE55E18, 0x0334 + + .align 2 +gFile_graphics_trainers_palettes_emerald_pokemon_ranger_f:: @ 8E5614C + .incbin "graphics/trainers/palettes/emerald_pokemon_ranger_f.gbapal.lz" + @ .incbin "baserom.gba", 0xE5614C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_magma_leader_maxie_front_pic:: @ 8E56174 + .incbin "graphics/trainers/front_pics/magma_leader_maxie_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE56174, 0x02F4 + + .align 2 +gFile_graphics_trainers_palettes_magma_leader_maxie:: @ 8E56468 + .incbin "graphics/trainers/palettes/magma_leader_maxie.gbapal.lz" + @ .incbin "baserom.gba", 0xE56468, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_magma_grunt_m_front_pic:: @ 8E56490 + .incbin "graphics/trainers/front_pics/magma_grunt_m_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE56490, 0x0380 + + .align 2 +gFile_graphics_trainers_palettes_magma_grunt_m:: @ 8E56810 + .incbin "graphics/trainers/palettes/magma_grunt_m.gbapal.lz" + @ .incbin "baserom.gba", 0xE56810, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_magma_grunt_f_front_pic:: @ 8E56838 + .incbin "graphics/trainers/front_pics/magma_grunt_f_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE56838, 0x038C + + .align 2 +gFile_graphics_trainers_palettes_magma_grunt_f:: @ 8E56BC4 + .incbin "graphics/trainers/palettes/magma_grunt_f.gbapal.lz" + @ .incbin "baserom.gba", 0xE56BC4, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_lass_front_pic:: @ 8E56BEC + .incbin "graphics/trainers/front_pics/emerald_lass_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE56BEC, 0x02D8 + + .align 2 +gFile_graphics_trainers_palettes_emerald_lass:: @ 8E56EC4 + .incbin "graphics/trainers/palettes/emerald_lass.gbapal.lz" + @ .incbin "baserom.gba", 0xE56EC4, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_bug_catcher_front_pic:: @ 8E56EEC + .incbin "graphics/trainers/front_pics/emerald_bug_catcher_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE56EEC, 0x032C + + .align 2 +gFile_graphics_trainers_palettes_emerald_bug_catcher:: @ 8E57218 + .incbin "graphics/trainers/palettes/emerald_bug_catcher.gbapal.lz" + @ .incbin "baserom.gba", 0xE57218, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_hiker_front_pic:: @ 8E57240 + .incbin "graphics/trainers/front_pics/emerald_hiker_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE57240, 0x0480 + + .align 2 +gFile_graphics_trainers_palettes_emerald_hiker:: @ 8E576C0 + .incbin "graphics/trainers/palettes/emerald_hiker.gbapal.lz" + @ .incbin "baserom.gba", 0xE576C0, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_young_couple_front_pic:: @ 8E576E8 + .incbin "graphics/trainers/front_pics/emerald_young_couple_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE576E8, 0x03C0 + + .align 2 +gFile_graphics_trainers_palettes_emerald_young_couple:: @ 8E57AA8 + .incbin "graphics/trainers/palettes/emerald_young_couple.gbapal.lz" + @ .incbin "baserom.gba", 0xE57AA8, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_old_couple_front_pic:: @ 8E57AD0 + .incbin "graphics/trainers/front_pics/old_couple_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE57AD0, 0x0510 + + .align 2 +gFile_graphics_trainers_palettes_old_couple:: @ 8E57FE0 + .incbin "graphics/trainers/palettes/old_couple.gbapal.lz" + @ .incbin "baserom.gba", 0xE57FE0, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_emerald_sis_and_bro_front_pic:: @ 8E58008 + .incbin "graphics/trainers/front_pics/emerald_sis_and_bro_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE58008, 0x044C + + .align 2 +gFile_graphics_trainers_palettes_emerald_sis_and_bro:: @ 8E58454 + .incbin "graphics/trainers/palettes/emerald_sis_and_bro.gbapal.lz" + @ .incbin "baserom.gba", 0xE58454, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_aqua_admin_m_front_pic:: @ 8E5847C + .incbin "graphics/trainers/front_pics/aqua_admin_m_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5847C, 0x03B4 + + .align 2 +gFile_graphics_trainers_palettes_aqua_admin_m:: @ 8E58830 + .incbin "graphics/trainers/palettes/aqua_admin_m.gbapal.lz" + @ .incbin "baserom.gba", 0xE58830, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_aqua_admin_f_front_pic:: @ 8E58858 + .incbin "graphics/trainers/front_pics/aqua_admin_f_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE58858, 0x03C4 + + .align 2 +gFile_graphics_trainers_palettes_aqua_admin_f:: @ 8E58C1C + .incbin "graphics/trainers/palettes/aqua_admin_f.gbapal.lz" + @ .incbin "baserom.gba", 0xE58C1C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_magma_admin_front_pic:: @ 8E58C44 + .incbin "graphics/trainers/front_pics/magma_admin_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE58C44, 0x03D8 + + .align 2 +gFile_graphics_trainers_palettes_magma_admin:: @ 8E5901C + .incbin "graphics/trainers/palettes/magma_admin.gbapal.lz" + @ .incbin "baserom.gba", 0xE5901C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_ruby_magma_admin_f_front_pic:: @ 8E59044 + .incbin "graphics/trainers/front_pics/ruby_magma_admin_f_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE59044, 0x03B0 + + .align 2 +gFile_graphics_trainers_palettes_ruby_magma_admin_f:: @ 8E593F4 + .incbin "graphics/trainers/palettes/ruby_magma_admin_f.gbapal.lz" + @ .incbin "baserom.gba", 0xE593F4, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_leader_wattson_front_pic:: @ 8E5941C + .incbin "graphics/trainers/front_pics/leader_wattson_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5941C, 0x0348 + + .align 2 +gFile_graphics_trainers_palettes_leader_wattson:: @ 8E59764 + .incbin "graphics/trainers/palettes/leader_wattson.gbapal.lz" + @ .incbin "baserom.gba", 0xE59764, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_leader_flannery_front_pic:: @ 8E5978C + .incbin "graphics/trainers/front_pics/leader_flannery_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5978C, 0x0380 + + .align 2 +gFile_graphics_trainers_palettes_leader_flannery:: @ 8E59B0C + .incbin "graphics/trainers/palettes/leader_flannery.gbapal.lz" + @ .incbin "baserom.gba", 0xE59B0C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_leader_norman_front_pic:: @ 8E59B34 + .incbin "graphics/trainers/front_pics/leader_norman_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE59B34, 0x033C + + .align 2 +gFile_graphics_trainers_palettes_leader_norman:: @ 8E59E70 + .incbin "graphics/trainers/palettes/leader_norman.gbapal.lz" + @ .incbin "baserom.gba", 0xE59E70, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_leader_winona_front_pic:: @ 8E59E98 + .incbin "graphics/trainers/front_pics/leader_winona_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE59E98, 0x0380 + + .align 2 +gFile_graphics_trainers_palettes_leader_winona:: @ 8E5A218 + .incbin "graphics/trainers/palettes/leader_winona.gbapal.lz" + @ .incbin "baserom.gba", 0xE5A218, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_ruby_sapphire_champion_wallace_front_pic:: @ 8E5A240 + .incbin "graphics/trainers/front_pics/ruby_sapphire_champion_wallace_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5A240, 0x0378 + + .align 2 +gFile_graphics_trainers_palettes_champion_wallace:: @ 8E5A5B8 + .incbin "graphics/trainers/palettes/champion_wallace.gbapal.lz" + @ .incbin "baserom.gba", 0xE5A5B8, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_elite_four_glacia_front_pic:: @ 8E5A5E0 + .incbin "graphics/trainers/front_pics/elite_four_glacia_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5A5E0, 0x0384 + + .align 2 +gFile_graphics_trainers_palettes_elite_four_glacia:: @ 8E5A964 + .incbin "graphics/trainers/palettes/elite_four_glacia.gbapal.lz" + @ .incbin "baserom.gba", 0xE5A964, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_elite_four_drake_front_pic:: @ 8E5A98C + .incbin "graphics/trainers/front_pics/elite_four_drake_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5A98C, 0x03A8 + + .align 2 +gFile_graphics_trainers_palettes_elite_four_drake:: @ 8E5AD34 + .incbin "graphics/trainers/palettes/elite_four_drake.gbapal.lz" + @ .incbin "baserom.gba", 0xE5AD34, 0x0028 + + + .align 2 +gFile_graphics_trainers_front_pics_youngster_front_pic:: @ 8E5AD5C + .incbin "graphics/trainers/front_pics/youngster_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5AD5C, 0x02A0 + + .align 2 +gFile_graphics_trainers_palettes_youngster:: @ 8E5AFFC + .incbin "graphics/trainers/palettes/youngster.gbapal.lz" + @ .incbin "baserom.gba", 0xE5AFFC, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_bug_catcher_front_pic:: @ 8E5B024 + .incbin "graphics/trainers/front_pics/bug_catcher_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5B024, 0x0348 + + .align 2 +gFile_graphics_trainers_palettes_bug_catcher:: @ 8E5B36C + .incbin "graphics/trainers/palettes/bug_catcher.gbapal.lz" + @ .incbin "baserom.gba", 0xE5B36C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_lass_front_pic:: @ 8E5B394 + .incbin "graphics/trainers/front_pics/lass_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5B394, 0x02EC + + .align 2 +gFile_graphics_trainers_palettes_lass:: @ 8E5B680 + .incbin "graphics/trainers/palettes/lass.gbapal.lz" + @ .incbin "baserom.gba", 0xE5B680, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_sailor_front_pic:: @ 8E5B6A8 + .incbin "graphics/trainers/front_pics/sailor_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5B6A8, 0x0320 + + .align 2 +gFile_graphics_trainers_palettes_sailor:: @ 8E5B9C8 + .incbin "graphics/trainers/palettes/sailor.gbapal.lz" + @ .incbin "baserom.gba", 0xE5B9C8, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_camper_front_pic:: @ 8E5B9F0 + .incbin "graphics/trainers/front_pics/camper_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5B9F0, 0x02E0 + + .align 2 +gFile_graphics_trainers_palettes_camper:: @ 8E5BCD0 + .incbin "graphics/trainers/palettes/camper.gbapal.lz" + @ .incbin "baserom.gba", 0xE5BCD0, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_picnicker_front_pic:: @ 8E5BCF8 + .incbin "graphics/trainers/front_pics/picnicker_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5BCF8, 0x02E8 + + .align 2 +gFile_graphics_trainers_palettes_picnicker:: @ 8E5BFE0 + .incbin "graphics/trainers/palettes/picnicker.gbapal.lz" + @ .incbin "baserom.gba", 0xE5BFE0, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_pokemaniac_front_pic:: @ 8E5C008 + .incbin "graphics/trainers/front_pics/pokemaniac_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5C008, 0x03BC + + .align 2 +gFile_graphics_trainers_palettes_pokemaniac:: @ 8E5C3C4 + @ .incbin "graphics/trainers/palettes/pokemaniac.gbapal.lz" + .incbin "baserom.gba", 0xE5C3C4, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_super_nerd_front_pic:: @ 8E5C3EC + .incbin "graphics/trainers/front_pics/super_nerd_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5C3EC, 0x0318 + + .align 2 +gFile_graphics_trainers_palettes_super_nerd:: @ 8E5C704 + .incbin "graphics/trainers/palettes/super_nerd.gbapal.lz" + @ .incbin "baserom.gba", 0xE5C704, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_hiker_front_pic:: @ 8E5C72C + .incbin "graphics/trainers/front_pics/hiker_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5C72C, 0x0470 + + .align 2 +gFile_graphics_trainers_palettes_hiker:: @ 8E5CB9C + .incbin "graphics/trainers/palettes/hiker.gbapal.lz" + @ .incbin "baserom.gba", 0xE5CB9C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_biker_front_pic:: @ 8E5CBC4 + .incbin "graphics/trainers/front_pics/biker_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5CBC4, 0x0568 + + .align 2 +gFile_graphics_trainers_palettes_biker:: @ 8E5D12C + .incbin "graphics/trainers/palettes/biker.gbapal.lz" + @ .incbin "baserom.gba", 0xE5D12C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_burglar_front_pic:: @ 8E5D154 + .incbin "graphics/trainers/front_pics/burglar_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5D154, 0x034C + + .align 2 +gFile_graphics_trainers_palettes_burglar:: @ 8E5D4A0 + .incbin "graphics/trainers/palettes/burglar.gbapal.lz" + @ .incbin "baserom.gba", 0xE5D4A0, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_engineer_front_pic:: @ 8E5D4C8 + .incbin "graphics/trainers/front_pics/engineer_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5D4C8, 0x040C + + .align 2 +gFile_graphics_trainers_palettes_engineer:: @ 8E5D8D4 + .incbin "graphics/trainers/palettes/engineer.gbapal.lz" + @ .incbin "baserom.gba", 0xE5D8D4, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_fisherman_front_pic:: @ 8E5D8FC + .incbin "graphics/trainers/front_pics/fisherman_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5D8FC, 0x03AC + + .align 2 +gFile_graphics_trainers_palettes_fisherman:: @ 8E5DCA8 + .incbin "graphics/trainers/palettes/fisherman.gbapal.lz" + @ .incbin "baserom.gba", 0xE5DCA8, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_swimmer_m_front_pic:: @ 8E5DCD0 + .incbin "graphics/trainers/front_pics/swimmer_m_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5DCD0, 0x02D8 + + .align 2 +gFile_graphics_trainers_palettes_swimmer_m:: @ 8E5DFA8 + .incbin "graphics/trainers/palettes/swimmer_m.gbapal.lz" + @ .incbin "baserom.gba", 0xE5DFA8, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_roughneck_front_pic:: @ 8E5DFD0 + .incbin "graphics/trainers/front_pics/roughneck_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5DFD0, 0x05C8 + + .align 2 +gFile_graphics_trainers_palettes_roughneck:: @ 8E5E598 + .incbin "graphics/trainers/palettes/roughneck.gbapal.lz" + @ .incbin "baserom.gba", 0xE5E598, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_gamer_front_pic:: @ 8E5E5C0 + .incbin "graphics/trainers/front_pics/gamer_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5E5C0, 0x0394 + + .align 2 +gFile_graphics_trainers_palettes_gamer:: @ 8E5E954 + .incbin "graphics/trainers/palettes/gamer.gbapal.lz" + @ .incbin "baserom.gba", 0xE5E954, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_beauty_front_pic:: @ 8E5E97C + .incbin "graphics/trainers/front_pics/beauty_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5E97C, 0x035C + + .align 2 +gFile_graphics_trainers_palettes_beauty:: @ 8E5ECD8 + .incbin "graphics/trainers/palettes/beauty.gbapal.lz" + @ .incbin "baserom.gba", 0xE5ECD8, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_swimmer_f_front_pic:: @ 8E5ED00 + .incbin "graphics/trainers/front_pics/swimmer_f_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5ED00, 0x02EC + + .align 2 +gFile_graphics_trainers_palettes_swimmer_f:: @ 8E5EFEC + .incbin "graphics/trainers/palettes/swimmer_f.gbapal.lz" + @ .incbin "baserom.gba", 0xE5EFEC, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_psychic_m_front_pic:: @ 8E5F014 + .incbin "graphics/trainers/front_pics/psychic_m_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5F014, 0x0360 + + .align 2 +gFile_graphics_trainers_palettes_psychic_m:: @ 8E5F374 + .incbin "graphics/trainers/palettes/psychic_m.gbapal.lz" + @ .incbin "baserom.gba", 0xE5F374, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_rocker_front_pic:: @ 8E5F39C + .incbin "graphics/trainers/front_pics/rocker_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5F39C, 0x045C + + .align 2 +gFile_graphics_trainers_palettes_rocker:: @ 8E5F7F8 + .incbin "graphics/trainers/palettes/rocker.gbapal.lz" + @ .incbin "baserom.gba", 0xE5F7F8, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_juggler_front_pic:: @ 8E5F820 + .incbin "graphics/trainers/front_pics/juggler_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5F820, 0x043C + + .align 2 +gFile_graphics_trainers_palettes_juggler:: @ 8E5FC5C + .incbin "graphics/trainers/palettes/juggler.gbapal.lz" + @ .incbin "baserom.gba", 0xE5FC5C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_tamer_front_pic:: @ 8E5FC84 + .incbin "graphics/trainers/front_pics/tamer_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE5FC84, 0x03B4 + + .align 2 +gFile_graphics_trainers_palettes_tamer:: @ 8E60038 + .incbin "graphics/trainers/palettes/tamer.gbapal.lz" + @ .incbin "baserom.gba", 0xE60038, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_bird_keeper_front_pic:: @ 8E60060 + .incbin "graphics/trainers/front_pics/bird_keeper_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE60060, 0x03C4 + + .align 2 +gFile_graphics_trainers_palettes_bird_keeper:: @ 8E60424 + .incbin "graphics/trainers/palettes/bird_keeper.gbapal.lz" + @ .incbin "baserom.gba", 0xE60424, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_black_belt_front_pic:: @ 8E6044C + .incbin "graphics/trainers/front_pics/black_belt_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE6044C, 0x0420 + + .align 2 +gFile_graphics_trainers_palettes_black_belt2:: @ 8E6086C + .incbin "graphics/trainers/palettes/black_belt.gbapal.lz" + @ .incbin "baserom.gba", 0xE6086C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_blue_1_front_pic:: @ 8E60894 + .incbin "graphics/trainers/front_pics/blue_1_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE60894, 0x02B8 + + .align 2 +gFile_graphics_trainers_palettes_blue_1:: @ 8E60B4C + .incbin "graphics/trainers/palettes/blue_1.gbapal.lz" + @ .incbin "baserom.gba", 0xE60B4C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_scientist_front_pic:: @ 8E60B74 + .incbin "graphics/trainers/front_pics/scientist_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE60B74, 0x03DC + + .align 2 +gFile_graphics_trainers_palettes_scientist:: @ 8E60F50 + .incbin "graphics/trainers/palettes/scientist.gbapal.lz" + @ .incbin "baserom.gba", 0xE60F50, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_giovanni_front_pic:: @ 8E60F78 + .incbin "graphics/trainers/front_pics/giovanni_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE60F78, 0x0310 + + .align 2 +gFile_graphics_trainers_palettes_giovanni:: @ 8E61288 + .incbin "graphics/trainers/palettes/giovanni.gbapal.lz" + @ .incbin "baserom.gba", 0xE61288, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_rocket_grunt_m_front_pic:: @ 8E612B0 + .incbin "graphics/trainers/front_pics/rocket_grunt_m_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE612B0, 0x0334 + + .align 2 +gFile_graphics_trainers_palettes_rocket_grunt_m:: @ 8E615E4 + .incbin "graphics/trainers/palettes/rocket_grunt_m.gbapal.lz" + @ .incbin "baserom.gba", 0xE615E4, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_cool_trainer_m_front_pic:: @ 8E6160C + .incbin "graphics/trainers/front_pics/cool_trainer_m_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE6160C, 0x02D0 + + .align 2 +gFile_graphics_trainers_palettes_cool_trainer_m:: @ 8E618DC + .incbin "graphics/trainers/palettes/cool_trainer_m.gbapal.lz" + @ .incbin "baserom.gba", 0xE618DC, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_cool_trainer_f_front_pic:: @ 8E61904 + .incbin "graphics/trainers/front_pics/cool_trainer_f_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE61904, 0x0318 + + .align 2 +gFile_graphics_trainers_palettes_cool_trainer_f:: @ 8E61C1C + .incbin "graphics/trainers/palettes/cool_trainer_f.gbapal.lz" + @ .incbin "baserom.gba", 0xE61C1C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_elite_four_lorelei_front_pic:: @ 8E61C44 + .incbin "graphics/trainers/front_pics/elite_four_lorelei_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE61C44, 0x032C + + .align 2 +gFile_graphics_trainers_palettes_elite_four_lorelei:: @ 8E61F70 + .incbin "graphics/trainers/palettes/elite_four_lorelei.gbapal.lz" + @ .incbin "baserom.gba", 0xE61F70, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_elite_four_bruno_front_pic:: @ 8E61F98 + .incbin "graphics/trainers/front_pics/elite_four_bruno_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE61F98, 0x044C + + .align 2 +gFile_graphics_trainers_palettes_elite_four_bruno:: @ 8E623E4 + .incbin "graphics/trainers/palettes/elite_four_bruno.gbapal.lz" + @ .incbin "baserom.gba", 0xE623E4, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_elite_four_agatha_front_pic:: @ 8E6240C + .incbin "graphics/trainers/front_pics/elite_four_agatha_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE6240C, 0x031C + + .align 2 +gFile_graphics_trainers_palettes_elite_four_agatha:: @ 8E62728 + .incbin "graphics/trainers/palettes/elite_four_agatha.gbapal.lz" + @ .incbin "baserom.gba", 0xE62728, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_elite_four_lance_front_pic:: @ 8E62750 + .incbin "graphics/trainers/front_pics/elite_four_lance_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE62750, 0x03C8 + + .align 2 +gFile_graphics_trainers_palettes_elite_four_lance:: @ 8E62B18 + .incbin "graphics/trainers/palettes/elite_four_lance.gbapal.lz" + @ .incbin "baserom.gba", 0xE62B18, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_leader_brock_front_pic:: @ 8E62B40 + .incbin "graphics/trainers/front_pics/leader_brock_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE62B40, 0x034C + + .align 2 +gFile_graphics_trainers_palettes_leader_brock:: @ 8E62E8C + .incbin "graphics/trainers/palettes/leader_brock.gbapal.lz" + @ .incbin "baserom.gba", 0xE62E8C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_leader_misty_front_pic:: @ 8E62EB4 + .incbin "graphics/trainers/front_pics/leader_misty_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE62EB4, 0x0300 + + .align 2 +gFile_graphics_trainers_palettes_leader_misty:: @ 8E631B4 + .incbin "graphics/trainers/palettes/leader_misty.gbapal.lz" + @ .incbin "baserom.gba", 0xE631B4, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_leader_lt_surge_front_pic:: @ 8E631DC + .incbin "graphics/trainers/front_pics/leader_lt_surge_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE631DC, 0x0390 + + .align 2 +gFile_graphics_trainers_palettes_leader_lt_surge:: @ 8E6356C + .incbin "graphics/trainers/palettes/leader_lt_surge.gbapal.lz" + @ .incbin "baserom.gba", 0xE6356C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_leader_erika_front_pic:: @ 8E63594 + .incbin "graphics/trainers/front_pics/leader_erika_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE63594, 0x02F4 + + .align 2 +gFile_graphics_trainers_palettes_leader_erika:: @ 8E63888 + .incbin "graphics/trainers/palettes/leader_erika.gbapal.lz" + @ .incbin "baserom.gba", 0xE63888, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_leader_koga_front_pic:: @ 8E638B0 + .incbin "graphics/trainers/front_pics/leader_koga_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE638B0, 0x0368 + + .align 2 +gFile_graphics_trainers_palettes_leader_koga:: @ 8E63C18 + .incbin "graphics/trainers/palettes/leader_koga.gbapal.lz" + @ .incbin "baserom.gba", 0xE63C18, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_leader_blaine_front_pic:: @ 8E63C40 + .incbin "graphics/trainers/front_pics/leader_blaine_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE63C40, 0x040C + + .align 2 +gFile_graphics_trainers_palettes_leader_blaine:: @ 8E6404C + .incbin "graphics/trainers/palettes/leader_blaine.gbapal.lz" + @ .incbin "baserom.gba", 0xE6404C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_leader_sabrina_front_pic:: @ 8E64074 + .incbin "graphics/trainers/front_pics/leader_sabrina_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE64074, 0x0308 + + .align 2 +gFile_graphics_trainers_palettes_leader_sabrina:: @ 8E6437C + .incbin "graphics/trainers/palettes/leader_sabrina.gbapal.lz" + @ .incbin "baserom.gba", 0xE6437C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_gentleman_front_pic:: @ 8E643A4 + .incbin "graphics/trainers/front_pics/gentleman_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE643A4, 0x0338 + + .align 2 +gFile_graphics_trainers_palettes_gentleman:: @ 8E646DC + .incbin "graphics/trainers/palettes/gentleman.gbapal.lz" + @ .incbin "baserom.gba", 0xE646DC, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_blue_2_front_pic:: @ 8E64704 + .incbin "graphics/trainers/front_pics/blue_2_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE64704, 0x02F4 + + .align 2 +gFile_graphics_trainers_palettes_blue_2:: @ 8E649F8 + .incbin "graphics/trainers/palettes/blue_2.gbapal.lz" + @ .incbin "baserom.gba", 0xE649F8, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_champion_blue_front_pic:: @ 8E64A20 + .incbin "graphics/trainers/front_pics/champion_blue_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE64A20, 0x02FC + + .align 2 +gFile_graphics_trainers_palettes_champion_blue:: @ 8E64D1C + .incbin "graphics/trainers/palettes/champion_blue.gbapal.lz" + @ .incbin "baserom.gba", 0xE64D1C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_channeler_front_pic:: @ 8E64D44 + .incbin "graphics/trainers/front_pics/channeler_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE64D44, 0x03D8 + + .align 2 +gFile_graphics_trainers_palettes_channeler:: @ 8E6511C + .incbin "graphics/trainers/palettes/channeler.gbapal.lz" + @ .incbin "baserom.gba", 0xE6511C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_twins_front_pic:: @ 8E65144 + .incbin "graphics/trainers/front_pics/twins_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE65144, 0x0350 + + .align 2 +gFile_graphics_trainers_palettes_twins:: @ 8E65494 + .incbin "graphics/trainers/palettes/twins.gbapal.lz" + @ .incbin "baserom.gba", 0xE65494, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_cool_couple_front_pic:: @ 8E654BC + .incbin "graphics/trainers/front_pics/cool_couple_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE654BC, 0x04E0 + + .align 2 +gFile_graphics_trainers_palettes_cool_couple:: @ 8E6599C + .incbin "graphics/trainers/palettes/cool_couple.gbapal.lz" + @ .incbin "baserom.gba", 0xE6599C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_young_couple_front_pic:: @ 8E659C4 + .incbin "graphics/trainers/front_pics/young_couple_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE659C4, 0x044C + + .align 2 +gFile_graphics_trainers_palettes_young_couple:: @ 8E65E10 + .incbin "graphics/trainers/palettes/young_couple.gbapal.lz" + @ .incbin "baserom.gba", 0xE65E10, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_crush_kin_front_pic:: @ 8E65E38 + .incbin "graphics/trainers/front_pics/crush_kin_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE65E38, 0x05A0 + + .align 2 +gFile_graphics_trainers_palettes_crush_kin:: @ 8E663D8 + .incbin "graphics/trainers/palettes/crush_kin.gbapal.lz" + @ .incbin "baserom.gba", 0xE663D8, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_sis_and_bro_front_pic:: @ 8E66400 + .incbin "graphics/trainers/front_pics/sis_and_bro_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE66400, 0x0460 + + .align 2 +gFile_graphics_trainers_palettes_sis_and_bro:: @ 8E66860 + .incbin "graphics/trainers/palettes/sis_and_bro.gbapal.lz" + @ .incbin "baserom.gba", 0xE66860, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_oak_front_pic:: @ 8E66888 + .incbin "graphics/trainers/front_pics/oak_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE66888, 0x036C + + .align 2 +gFile_graphics_trainers_palettes_oak:: @ 8E66BF4 + .incbin "graphics/trainers/palettes/oak.gbapal.lz" + @ .incbin "baserom.gba", 0xE66BF4, 0x0028 + + + .align 2 +gFile_graphics_trainers_front_pics_ruby_sapphire_brendan_front_pic2:: @ 8E66C1C + .incbin "graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE66C1C, 0x0314 + + .align 2 +gFile_graphics_trainers_palettes_ruby_sapphire_brendan2:: @ 8E66F30 + .incbin "graphics/trainers/palettes/ruby_sapphire_brendan.gbapal.lz" + @ .incbin "baserom.gba", 0xE66F30, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_ruby_sapphire_may_front_pic2:: @ 8E66F58 + .incbin "graphics/trainers/front_pics/ruby_sapphire_may_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE66F58, 0x0300 + + .align 2 +gFile_graphics_trainers_palettes_ruby_sapphire_may2:: @ 8E67258 + .incbin "graphics/trainers/palettes/ruby_sapphire_may.gbapal.lz" + @ .incbin "baserom.gba", 0xE67258, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_red_front_pic:: @ 8E67280 + .incbin "graphics/trainers/front_pics/red_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE67280, 0x030C + + .align 2 +gFile_graphics_trainers_palettes_red:: @ 8E6758C + .incbin "graphics/trainers/palettes/red.gbapal.lz" + @ .incbin "baserom.gba", 0xE6758C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_leaf_front_pic:: @ 8E675B4 + .incbin "graphics/trainers/front_pics/leaf_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE675B4, 0x033C + + .align 2 +gFile_graphics_trainers_palettes_leaf:: @ 8E678F0 + .incbin "graphics/trainers/palettes/leaf.gbapal.lz" + @ .incbin "baserom.gba", 0xE678F0, 0x0028 + + + .align 2 +gFile_graphics_trainers_front_pics_rocket_grunt_f_front_pic:: @ 8E67918 + .incbin "graphics/trainers/front_pics/rocket_grunt_f_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE67918, 0x0318 + + .align 2 +gFile_graphics_trainers_palettes_rocket_grunt_f:: @ 8E67C30 + .incbin "graphics/trainers/palettes/rocket_grunt_f.gbapal.lz" + @ .incbin "baserom.gba", 0xE67C30, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_psychic_f_front_pic:: @ 8E67C58 + .incbin "graphics/trainers/front_pics/psychic_f_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE67C58, 0x03A0 + + .align 2 +gFile_graphics_trainers_palettes_psychic_f:: @ 8E67FF8 + .incbin "graphics/trainers/palettes/psychic_f.gbapal.lz" + @ .incbin "baserom.gba", 0xE67FF8, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_crush_girl_front_pic:: @ 8E68020 + .incbin "graphics/trainers/front_pics/crush_girl_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE68020, 0x030C + + .align 2 +gFile_graphics_trainers_palettes_crush_girl:: @ 8E6832C + .incbin "graphics/trainers/palettes/crush_girl.gbapal.lz" + @ .incbin "baserom.gba", 0xE6832C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_tuber_front_pic:: @ 8E68354 + .incbin "graphics/trainers/front_pics/tuber_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE68354, 0x0304 + + .align 2 +gFile_graphics_trainers_palettes_tuber:: @ 8E68658 + .incbin "graphics/trainers/palettes/tuber.gbapal.lz" + @ .incbin "baserom.gba", 0xE68658, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_pokemon_breeder_front_pic:: @ 8E68680 + .incbin "graphics/trainers/front_pics/pokemon_breeder_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE68680, 0x0340 + + .align 2 +gFile_graphics_trainers_palettes_pokemon_breeder:: @ 8E689C0 + .incbin "graphics/trainers/palettes/pokemon_breeder.gbapal.lz" + @ .incbin "baserom.gba", 0xE689C0, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_pokemon_ranger_m_front_pic:: @ 8E689E8 + .incbin "graphics/trainers/front_pics/pokemon_ranger_m_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE689E8, 0x0360 + + .align 2 +gFile_graphics_trainers_palettes_pokemon_ranger_m:: @ 8E68D48 + .incbin "graphics/trainers/palettes/pokemon_ranger_m.gbapal.lz" + @ .incbin "baserom.gba", 0xE68D48, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_pokemon_ranger_f_front_pic:: @ 8E68D70 + .incbin "graphics/trainers/front_pics/pokemon_ranger_f_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE68D70, 0x0334 + + .align 2 +gFile_graphics_trainers_palettes_pokemon_ranger_f:: @ 8E690A4 + .incbin "graphics/trainers/palettes/pokemon_ranger_f.gbapal.lz" + @ .incbin "baserom.gba", 0xE690A4, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_aroma_lady_front_pic:: @ 8E690CC + .incbin "graphics/trainers/front_pics/aroma_lady_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE690CC, 0x0350 + + .align 2 +gFile_graphics_trainers_palettes_aroma_lady:: @ 8E6941C + .incbin "graphics/trainers/palettes/aroma_lady.gbapal.lz" + @ .incbin "baserom.gba", 0xE6941C, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_ruin_maniac_front_pic:: @ 8E69444 + .incbin "graphics/trainers/front_pics/ruin_maniac_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE69444, 0x040C + + .align 2 +gFile_graphics_trainers_palettes_ruin_maniac:: @ 8E69850 + .incbin "graphics/trainers/palettes/ruin_maniac.gbapal.lz" + @ .incbin "baserom.gba", 0xE69850, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_lady_front_pic:: @ 8E69878 + .incbin "graphics/trainers/front_pics/lady_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE69878, 0x0328 + + .align 2 +gFile_graphics_trainers_palettes_lady:: @ 8E69BA0 + .incbin "graphics/trainers/palettes/lady.gbapal.lz" + @ .incbin "baserom.gba", 0xE69BA0, 0x0028 + + .align 2 +gFile_graphics_trainers_front_pics_painter_front_pic:: @ 8E69BC8 + .incbin "graphics/trainers/front_pics/painter_front_pic.4bpp.lz" + @ .incbin "baserom.gba", 0xE69BC8, 0x02CC + + .align 2 +gFile_graphics_trainers_palettes_painter:: @ 8E69E94 + .incbin "graphics/trainers/palettes/painter.gbapal.lz" + @ .incbin "baserom.gba", 0xE69E94, 0x0028 + + .align 2 +gFile_graphics_trainers_back_pics_red_back_pic:: @ 8E69EBC + .incbin "graphics/trainers/back_pics/red_back_pic.4bpp" + @ .incbin "baserom.gba", 0xE69EBC, 0x2800 + + .align 2 +gFile_graphics_trainers_back_pics_leaf_back_pic:: @ 8E6C6BC + .incbin "graphics/trainers/back_pics/leaf_back_pic.4bpp" + @ .incbin "baserom.gba", 0xE6C6BC, 0x2800 + + .align 2 +gFile_graphics_trainers_back_pics_pokedude_back_pic:: @ 8E6EEBC + .incbin "graphics/trainers/back_pics/pokedude_back_pic.4bpp" + @ .incbin "baserom.gba", 0xE6EEBC, 0x2000 + + .align 2 +gFile_graphics_trainers_back_pics_old_man_back_pic:: @ 8E70EBC + .incbin "graphics/trainers/back_pics/old_man_back_pic.4bpp" + @ .incbin "baserom.gba", 0xE70EBC, 0x2000 + + .align 2 +gFile_graphics_trainers_back_pics_ruby_sapphire_brendan_back_pic:: @ 8E72EBC + .incbin "graphics/trainers/back_pics/ruby_sapphire_brendan_back_pic.4bpp" + @ .incbin "baserom.gba", 0xE72EBC, 0x2000 + + .align 2 +gFile_graphics_trainers_back_pics_ruby_sapphire_may_back_pic:: @ 8E74EBC + .incbin "graphics/trainers/back_pics/ruby_sapphire_may_back_pic.4bpp" + @ .incbin "baserom.gba", 0xE74EBC, 0x2000 + + + .align 2 +gFile_graphics_trainers_palettes_leaf_back_pic:: @ 8E76EBC + .incbin "graphics/trainers/palettes/leaf_back_pic.gbapal.lz" + @ .incbin "baserom.gba", 0xE76EBC, 0x0028 + + .align 2 +gFile_graphics_trainers_palettes_red_back_pic:: @ 8E76EE4 + .incbin "graphics/trainers/palettes/red_back_pic.gbapal.lz" + @ .incbin "baserom.gba", 0xE76EE4, 0x0028 + + .align 2 +gFile_graphics_trainers_palettes_pokedude_back_pic:: @ 8E76F0C + .incbin "graphics/trainers/palettes/pokedude_back_pic.gbapal.lz" + @ .incbin "baserom.gba", 0xE76F0C, 0x0028 + + .align 2 +gFile_graphics_trainers_palettes_old_man_back_pic:: @ 8E76F34 + .incbin "graphics/trainers/palettes/old_man_back_pic.gbapal.lz" + @ .incbin "baserom.gba", 0xE76F34, 0x0028 + + .align 2 +gFile_graphics_pokemon_icons_question_mark_icon:: @ 8E76F5C + .incbin "graphics/pokemon/icons/question_mark_icon.4bpp" + @ .incbin "baserom.gba", 0xE76F5C, 0x0400 + + .align 2 +gFile_graphics_pokemon_footprints_question_mark_footprint:: @ 8E7735C + .incbin "graphics/pokemon/footprints/question_mark_footprint.1bpp" + @ .incbin "baserom.gba", 0xE7735C, 0x0020 + + + .align 2 @ THIS IS ./graphics/battle_transitions/vs_frame.4bpp.lz gUnknown_8E7737C:: @ 8E7737C .incbin "baserom.gba", 0xE7737C, 0xE8 diff --git a/graphics/pokemon/back_pics/abra_back_pic.png b/graphics/pokemon/back_pics/abra_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..fd53dd1f6736c80a9a331c8080f9be6286115e55 GIT binary patch literal 578 zcmV-I0=@l-P)!0RR60|MvEz|L!T?%^-tX5D*X$Yd-OA00001 zbW%=J06^y0W&i*Iz)3_wR7i>Kk}+@FFc5_`rClohI<_6NnCTF7bLhoLrdWdu|C=sU z(ai{;qm(H%P#xu|OD!c+(}4nel55u?39m(fyh+ge^zI$0D0UeskL3;uSb2&82M*HTy=q?j#2;G15MzvVpy9|4^YASO?B(}4FNFtQ>(MS)(Mm@U`%nd1Sr~;fHeVb2~(Q7tO^6FMQt}``Pl(FfO(1ZTV~i;v-xoi~hg<0O}%}+d-^b Q0ssI207*qoM6N<$g3quGX#fBK literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/absol_back_pic.png b/graphics/pokemon/back_pics/absol_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..876ba48aa0ebd6c4e239e19fdf727f53aad7b1e3 GIT binary patch literal 673 zcmV;S0$%-zP)tgOw0gRELwgDE*Vl%%9{gM(6HVgLXDTjD$B00001 zbW%=J06^y0W&i*JA4x<(R7i=5gFZ)I zDSdz{FQDG$T8>j`OT`pXH^X8NFAgk{rG}zF&-#D*&y{u*{cj<}&!8Sx{636`o&yr} z5S;Uya2ex7!K;TL5w~R-Zst&ypRR+%u`EA^lWfcK%imj!REm@)IxzfV)LJ8GwZsxRX*! z2uhMS064Rpf;kMB9s)5&3p2+IfZelhZ*{vK}9AvJ=_CSaiOOuLoTbg zGqC*0fDpljHODCWrA`g2BFS1XY!5P5rAm3q;>Q#Axs9Pf#p#lc=ogyZ$)2y!l4AkVZ zt91!@xpDOd5wV6oB!ZUDU0p8%kPd*<2BwXEQ2=CK;9tjYr1LwK_qci|00000NkvXX Hu0mjfLo*&DGwNth6ywTL1t5xq%4W00001 zbW%=J06^y0W&i*I*hxe|R7i>KlQD1OFbst~8?gTWRCqSxbU)>KdrAhK6Op~ywVe4< z^m3$Rw~nm9z|G|l$KvNl@kuO-@A!|Xey;%TX$9z?S0v1uL`iEB9uD`DEFZTH?@Cm= zLoJ(t<2}Lvaa|H1cg;4e3@=H262d!#cWYIp`t>)FAfn^o0O<6ylh@Prnp7)=U;@C8 z-qz-1Z7NZ;LMU*3Xj$@>Y(_##!0Vq2Sq)A*@)OY77(bSPDK`eD|H_{i0i2bW1A$M zh(Aq}%LlJ}Air?%761qA^N0dI^f+AdC3++ut?Dj0z(@-m&BV@RfJ*HhqQ?GQF9GR5 zV+d9rw%H0HuNM#ST&Eg+0Jv$%YcJ>RB^A&LEN3LYvJZT`1!SsJKxG@Re&K7K9ZX zsF}C7SL?)|uY1alm=qd2~SI5pxzWN1!;9K#M`p*z9EzT)aoQJ(M7a oh&aw;rp89s-88e9ZR0zNe=m0afa+ubi~s-t07*qoM6N<$g7Uc$;{X5v literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/aggron_back_pic.png b/graphics/pokemon/back_pics/aggron_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..24ade1ff437757c655ed57b055a4c3e9267f7ff2 GIT binary patch literal 860 zcmV-i1Ec(jP)&CUP+|ExJm-fC+9gM(_l{{R30T)@xq00001 zbW%=J06^y0W&i*J+DSw~R7i>Klrc{mF&Ku;(xg-3FmO=^bY>_UBF@&Ks>t5Iz*Nyr z+;k)hf=Z1qOB9wn--1|Z&r8MHPM!NJ_yZ*g1ImK?+UAH4N`F9A>y$+IKKFj#_u3ai z{;x;t**mPi==EF`QhwTf5*R5ZrBq*@BI;I``IE$RtHVN_{~7q;^wS%qoW(GXBOiD# zL;^tTzKmmGt<+Z^*rPN6v98+_rz&+g^#O_%NIB7M*|&14t34Qi!h-f?+cZ;soRC^S zbrx7Dt_P2k+Ca(3S)hzOyouv#>;n^XR9et;VP^6YLyRCy5#hqx6GQD+8CgIIc(iTa z=M@F?}5mvSoi{fHESb`(jt~l#U>!&DOq1gIXhfP^|_p(kav135EDvBV_oL^jYT=? zK$SXUFGYUV1R+tsv2df_8$>O}LLp!MAY?_G1{;ghG9`0J=$N(uBxgTiLF{pAOqUf9 z;FyIic97)XFVF^AX?iK)aZENw1#~H2TzqR1+I>?3E06=>02bOjCS6b_h~F=w39p3#>EI4#1p5K;!6bEA6(HI+Gl zbEk8odj|D8V2-<1<6X|Tz4y+vkb$}8{2JZuSQG!f1c0MzDsW8a0IvXoq6awZWd&1$ zcPcM-4To_p88Z~-U90m>(+38oN6Od+pKoxt*p_clWOp%kN}y8#>Sauf&6$z6;pPK2 z=tLY@fNga2OwS$zSvJOVAs~$p-SV3p**6wFP`1U)g)P(Gn06-+18!4jsIvNC2xT2i mkBrVupW7Jo!9U=?zkUOmPr!v)Il!X;0000Kk}+=MFc3vmNOkTYXD^_k>J3b?mH{q-q;lunAk+zB zI*r>njZ+40_G$tW#O}B=l#N|+l(-1C%P&Nj|M|~w$SnKT|IyVMKUe1f(R~fb3(*vx z)t0|RV@5NkWhA8d0LaU7Li>dPJ=#TH0{o;x24oMY*|5R{Ky+$a(yGa?ehdKsP*!3g zBnCaQQa9_27pAs0{IjnY&GG4G8H9MKw{(fLl3lj55g-dkzqxmAJqBcNJ#bhsAituoHe`qJ&VlJA66)0c`>kt#CqQ}G zA5bVg4}0ex*iDr5;sGo+I^SbJGKYdLSQx06EjGG${!J$lR${t=YwS)1te{eWrW8!Q zL@zwKcCF@Y2G$lpz}h)%A#~Y}O}hu&-NLmm=zBIy3AIOJvAA`Q+nsl-X9mEv?}4aQ zS_7YDee;Mwv|G;r9ENHR?k)y+zuKh0MZBuz@&B96mYo!bsOLTceiH(JR2THt4iw?H efw|xMTz>#a8RFWBBrz2L00005P)4)G=?`KokIAOJ!hzDC`|dx_6*^QS%$jKj7@8%2dun zC9~9ch}9p2U`>Z3ZI>?f13Ke4sFh$Tao>ABL#*DZdv1uy-RJk-y*qH6CpqAM;Kx_f zZ0j_;F@pB&1ZGAsJ-)Y@8#ABY+uRyKHeFYr)Y=5v)AjX*7Q6{!WJI&w=XOA&g$ zt<)C_C_`Jpol?05=53tmHxZ=9DiLrF1Yp|+=fGWnc^iM!V&za97O=7bik(>jZi80r z0ILKHK>*fPu*@0Qwy{`lW_CbTZl-fZ;K2fLU^g&RX1ur$N)Ie$VFFnNFo)^9&XgTU zDRl`INNdLtyRL{&0SMHZ*&Mp=K*T42MV8I%l^_xr!H?tk11{dkAi)3y_3GIAQg zeRN&dzg9Qz@qywOwW@L6=~n>fF^_j0(c=o>=YhbB&P&c9#KdJF{2@OQ`1TxYXmq=; z5bT8TdEFHv8Vqn<_^`|vbT0Y~BE9a5;gAxF17vidZ@U-x*wZ`(CNLNTmDJURTptwrrU}0+7J;rV zC@=%0|D=QeVnKr-2&~orbF}Vai^V}|obLAj-rnx4w8beoS^xk5Q1sQ+00001 zbW%=J06^y0W&i*JD@jB_R7i>4ls#|TFc5~hMu_zr3QrBvO`{F;XUSbV)KpQZMVDAc zAZM$sp+i=xK;Voz0YNjhunKLpj6%qmj}ASas4tpE_uL?ud>`JuccRSLGmI#T^sS<^ z6RkMs^NT)U7xf`a${5}r5fBp1IDcQ3O9QbA5Q*^Y*Bny#Kn|1Z+8(kpAeK6R_oUN-yNeHz$zuqImb%(a+p4*MX1s zxlwO{-MZfT-PIf59A14_TXy%pvij>v#3j67hOlM?d_Z7m(wP;g3gXhJV+|y{;4_#D zU=#sGX)ZuDWQ2EzbY>H9SeGXL0~7`TptE?8K;GAdfCkEbNnp{{j|B!nQg>eO0ZF9` zamCocsen*VK=F+Yvh3E;T^wZ&krJ?gh8SHt4pcx)kDsW| ze1Mxlc2fgR(gD`=ulWbkjfl~=H10G-s0Q5`|8I(?VgxptF5rY$L_)0(Km!1NRQGbx z0i3$gM8q+yUlI^JNk?pRElrLamq`L?I^_KAaHs$nlS^nb03;{gsSq3G@)^WGVx-t{ Tssx1?00000NkvXXu0mjfgKIU2 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/ampharos_back_pic.png b/graphics/pokemon/back_pics/ampharos_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..2e7c2399e67403411174e6cb4d8deb595f94c229 GIT binary patch literal 714 zcmV;*0yX`KP)P~feL9#($DS%sIIpZ(!vP# zjsQEFeFooj3L-Wa%MlrrzUe;UYYF5rxM>GMETEJz0GI`iTp)#K1b4s~M)1oypcXIT zqj8TI#^t{mfU!{TE&)pe;j71(1@XTFcVz^YETbC)0Kp6pt%LxV@e~S#T!La2xDiR8 zg4B3_0K_sq(*rP{uV1&9!1^L!;1+KI7QF!MPgy)up&p2rdh;5{1gJEyIDS6`3H9`M zYSAnYry@xUvq%KX2(MEC*6;HZAI= zJ~V{@G*MS%CssOW|8z}(Gb0*OsDcSx9VT!iFYILsmG-c9$FBQ95YPgvz*0R)(zR_n z08e&GwCbc#S6%n3kk`c>U#6%Y=?Rc$`G+M(qXUJ7^9_Pf1Bh)0=MpB1Z_Nbk9Dk2- zu*o6L%%GI-s<)m8I5qkaE5UTmeXg7gKnLLJps#A#2Vl6@<{a3400iKTKs=$tao6Jx z0PI6_2C$et5NGzzz)laqD2rYITV;SL#E$A5CO>pm1;Eb)#AsEBvd>qwQw4BKr|+!> wKlCe(1Fcd|zW{KrJQl;<-&Yl4?XXpp?msrCeV5ZD0 zusaFtB!WG$D>V!t;)mZ$3msaC8Rd@e9^YqQIS3XlTJ$FYY|mN7pg(jLPWw#j*8q$$ z07yi{AFJnm&CmrR232eiO>VkgD}5Ecc7^t!P_+tP8Mi2VgZ-_tyGQ#%7b1c7}zK2qTV n?Y!U3fN_4u*-x=((LdKWBZ~UvYG$+f00000NkvXXu0mjf%}c+? literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/arbok_back_pic.png b/graphics/pokemon/back_pics/arbok_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..63004593c81a958138e20ec9b289cd3f1850f7a3 GIT binary patch literal 491 zcmV0RPR+&Hw-Z{&|8L00001 zbW%=J06^y0W&i*IX-PyuR7i=_wMUV!^Tv9HnPy zD?OQ=b;_3`6~}_a%hkHT!A@P73It7JUQ&kSpp5KI1bWyMm8<28bC6pvtcR=<Oe-)Y0YmdVrOvR-80Lj=k$?RTFmX!)^O7FzYl1lY{@sxL hK`EdV literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/arcanine_back_pic.png b/graphics/pokemon/back_pics/arcanine_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..1b0840c8ae480c12e144653ffee65066a38ba7b2 GIT binary patch literal 790 zcmV+x1L^#UP)01yxmv}Jv^00001 zbW%=J06^y0W&i*Jlu1NER7i>4l)-Y^Fc5}ytq=HN@&J7-`wb%b5a(8}rvuy&n$GY5 zVupK14Nu_aiW0`ot=LIWSCUO)1=@4F9ANx^+WmL6hLHa@mVW~lw}eE01TsRnxTJm( zWRcDZ=T8@aC|O;nc|_?2pv3dP(yX(<{2cH_EYj z<#`uTLVWN?cx$MwSiFjh<11m~qx-?4t-GEAkE>!$!v^#k_+V|&C^ zU}JxmB$xqQhP_hiF7&97U|<1ugSy%V0I$`~HfXz?S|F&fq&GF5bqSzGJ!m3MQcn8> z3==dav~Zvq9ReDq_N$;mLHVGg({BQ1-AKm{^TR1cCIGSdn;se zeTci0`QF0V0ea}$KSi)mk-eTNKKDI*7&O7s-EOJ}0JmWb#CAV)qoHts#wi9R40@`M z8g>Zi=@Ijh4>2)EsCQPLzUrb7BIslCC^xm)p=?a0fen9DJ!X!N_`XV`8`GHA>L=c9 zzt+NXvAMds`fQ}!9F0L80haYHIsRyjk7v2IUsYAzV?X6Ep=@QOOOJ%wx&)Qcew0E8 zw}-1|OKgl$$|b0p!N04yCaU)S$m=SK>h5h?OUPRIX#3B~BVPXGV_ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/ariados_back_pic.png b/graphics/pokemon/back_pics/ariados_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b677b7222e26d2e74dfb65db9d82a8cf44422e23 GIT binary patch literal 706 zcmV;z0zLhSP)KlRs!{dpecy{L-ART{?UZNH{rTPVKKDnK^`if& zo4*Yw2MIfB0CI>(bbx;C8jwh9Yn^6QtOKNNVH0WsA3Fvb06oGVjCtqI$aPJ~To^#k z3DW?Z@ms^f;r#Bh&;Y^j=a~ldIOjqGtX*zeH zCukFVXaIN}q9mJ@hx5ZD&wB&FuTucBq6Xw_<+*#{SXmTXp6%2=5_n5ejwb8j&~;r8 zfU&ap#Ivn>=?TfiW(48fBhW~$e1D9<3;;}FPl*s~Oy;33@TlOdgf+kmnw@1&ZC1_F2=lG3P5EoVwX06?#T zz*Bo%E1;BNSOGLT!})jp!Q|}Ne->nopB-{Sm;#=reL}xf^ZqFSaBEipe5Wi0;Dk&E ogt7AqfUE^xYkJ`2z3AWQ593~-O1(J%-rnA{w7qI-djJ3cun1xM00001 zbW%=J06^y0W&i*K07*naR7i>4lrd}DP!Pv8#DnqRxoM#wwL_+Yo-$}M)K5dElvp*O*)qz*vtLi|K0uX z=``)X4uBVbOSfFccJCoT&b8KaoiWR694a(h1D*BeeH{U=0(j^NXssJvH<-onk2`Y( z=u<`<&_7EVo_88I^i5RVr9T2J%&P)gmsPWQdVkX`3_Jk&FH4Aw>l4A{%0PE zY`~ZR0Q`C3T^4oI0E#P+5O)EZC~LGJ0KB6!Y3AGJstd=1;r#1)G;RRCUIE^6JBm*4 z1wbz2NCi5Rahn+%U>SdE0O!%^j2RYs$omM~#_=>d9V@{52V|j?GIJexhrmOn#`7rh zEl1`enF$F5e3z3t(TUD{CqGFjL$;TwfXM!YV z0)e>ECf4{U_(f?!ks*Kz<2n$XYgIJd1Ib zCXH+FDZU4p{7~o6y}mf`nL!GpX9#?YKTni#Cy9TvQz+PG4`0HYyfKVi@9U>i(&f#0-mBkP5P$A%h#}rc^Jmi?W%@O z6kQJ1&k5fwMLc~hs~#p;g0TTc1W45=nOA_VX9TD|X_aDYoN%sBUQB!&`>b8vZ8M4S1{mIL}Uog5$xV0fee zTP))tGYH^b;E_|unOm!J#BA`*5&(%B;O-sOs%#sqC(<=QdEgG-u>rPlflFo@7A^?f zKP2Gtgcj^0!1`;z;T-Q+18p*?ho1#0KvoF2bca`!P%LVL_g8>}3V6p|3;AD+ Y-`GscuxjENJ^%m!07*qoM6N<$f(jLq&CUP+|ExJm-fC+9gM(_l{{R30T)@xq00001 zbW%=J06^y0W&i*IGf6~2R7i>KlfO>GFc8MOL>8mF08>OB0MAT318-7QLRGRvY!zF= z&|a2|)LwYBk}#kwJ?`8{NcA~FV$HYu=g;5$@nSJ+)<2{+tLgK?y>F&~!dYm_2?OUE zm?D(3)&kU@@fTjn0a}a$z^XB3Q5-w~<}nsw1OQ}$=afA++~OwAME-JsE)fJCiKC+iv-V f$imK=^%wmB{&D3Idz%|@00000NkvXXu0mjfHbuXh literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/articuno_back_pic.png b/graphics/pokemon/back_pics/articuno_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..7e06ba84e215d63d329fb7355fc57d3a67569f2f GIT binary patch literal 504 zcmV5dZ)GT(CbN00001 zbW%=J06^y0W&i*Ic1c7*R7i>Kle<#GFc3xE*rh*0?kQM1B?VDZGK>?c1doNb41Y;S zOYI>HrM>_rto#~3B&VTBk=rEWdv^CqUI)Qdm#Yw$eOV^OVmX6MT0-KZyBq{+sS#On z=P55)f_TpWvdUS`SOS1Ay3n39~z)OiX)^n zRn!65dNw37#wO{2y(5K{VhylzU4&IxUnT*b20`8eKA(VQM&$#-b3pWOfH!0ZxOTb) z+I#Q=x6447G#%z&MXS7N;0M&X4xeW_#OtO3?21V?W9lbyw=lbE?3VzW1O55xfz8-Y zQjUU%W4CeRi^v&}FGLZqdtjI{1W32^(Umu<-&sfpZ-Z8uYc6OVk9`D42ggt;-|o4j u8+hnj03RGfacaQHOS!~$!U(wPBJ>AZzm;slJ;UPw0000Kl(AC7FbsyXaF>i;TINoDoUoOV#VI3;m2Mn&!SdFH zOY*izwp%B%OOF{er^~F*9%~?oTacwdp8& zQKAL|y&E{SV2lB5*MJ289DD)b=mp?cgMtVQ@`fv5A>|Ti7eGNmTpT^%s-FQVVF8pi zM&O(P>2v~`0JKHG-3EfP1jsJ$1C0Qr4H00K2`vIR&qW)82t=Bi*BijZbw{oB$!jbC zh;B4mcgJEABm!~dQ8QrkapHJDM<;n&ZvfT7dqov^AD?p|7!(H<=NzyrV9GzNF#&8y z2GpF7}K;Y}(20;y*%~#7FYrSD$kBaIee(ZL5z^Hlf7KS!>hYlk@2gKNLTQ%{ow*sgH f2FD8H|2N|stH^&h5C{Ea00000NkvXXu0mjf)r09= literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/azurill_back_pic.png b/graphics/pokemon/back_pics/azurill_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..cf10bded4188dab1f69ef54ae7af61e1603b1723 GIT binary patch literal 601 zcmV-f0;c_mP)Kl(BAuFc5~##ulI*x<$EWsKi9QATdNj41KNO43;wV zSz0fZ{8B+(veEOMQ;eaVI`%{obN`p$_W3}F|M>gR$80eQqi^Af^BQ2cB+{N?v|yynoPpC97AZJgRy>2XHU<ayN*XQz zmz27P0xS)W5m371x$D}3y<*_}$a>cm>B7+5x$R74oWkY&AgAn;MP~avs#`3(AcMml9f1NLMk-*Kt$SPlHsni3u zX{59(K;Z#{4!;8I@bV*2vcn3{djqQD3gCC?kFt5YtZ$-Z0|XAS0nK2&j@?jA+Bo8# z?yL)Q)8(hU1OOtR%_I^~Pr!C?$b$;?O6dvMT*P)92dx9-paUQo@Z$gsZYHg+vwj%e zSFVG2#VZ7|n7D>B;41lMBDQ#iMcNFsl*8cl92Y&S;&z}?T0<*6j<3-<;2s6NS4vxB zL9X)!l1}dxd`Fe0=1DFKUEDhWn}Ku{SZr8NPV`WDi#j+6EFt{>JyZ-RrLu4eck|t` nk{yC}VT&1n4)cBd#~;KO=QIOy&>OKn00000NkvXXu0mjf(>oBl literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/bagon_back_pic.png b/graphics/pokemon/back_pics/bagon_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..0a058d768e1ac38ef4fd483a7457f61ae3857254 GIT binary patch literal 574 zcmV-E0>S->P)Pu zN@9C+lzV&LtgQdVgJS=bV*iw4gOrr4q`ltN?*IS)0000000960{}>n;fF#B700001 zbW%=J06^y0W&i*Iyh%hsR7i>Kld*DwKoEw(%FX~ufsL|E8XE@|>WqOma7dHh_sEPd zfZfq#ETKzl<15)%o4q|X6K}Cdot>fjKlc9J`_FOy>(2!+y{~uO_Tj!xM86z$T!-G@ z$68kEQ`QIFR_m?$@MIS=23qCy`JC|ys_yeS=rqu(@qK_BDAfpOxNJc;P*f72>ZWV; zr-51ow4h80t1v*QAukkn6`q0GkG3)p8o;M3QPOp2U_%XJO!gw+hV0QtO!t$i1n>}b zyhPmLYcH_LkC=SnLh?X>uL1(n083$&C0);;oDk6auwBp7IwU>%aE$=>fOT209;5tj-LfoF0|ZhK zhL1nM?T%S5HGl?4=YoMnmX*jrJm+C*``zK))LWO#HTrGUC!}rRd$aE+1AG0?zqkE1y|HhJsMTS( zeOM?!pW!uYLTdR>odr7Qm|u&fXDcwXrF{w$mhuv6wG~i&C9-fECmxO?%IU|(OBH4lV3W-U|XpCin$^({k2 zrci5IQ<)rtE~DC$xlLEp_C1hDW%|)lKKV3;^Ezy+4ZmQ%%AAqc<|5F zZFe&>Smv?v95{NZj%As@Gw z`BP6#sGPCAZtkHYi(9&0hpw;Vn{d!&QOE1j-(Pm?EEBreA00NK*Q}n0H6fVo`Jr<^ yRB}E&@L@61NdByHS7)j|!$hB}KTJPdeK)G=XVW!Rx|MOlYo|i zy$o;y@cNWwm;tU7@Hx8k@p_%G?jb+vh@Mvn0lLDmo*;9RQRE7I^4|~U^6mM5Z>>e2X{XC0*oJRUxQp* t46Km|C!nGX4CIFi6xJ^PSKaE5>KAwxyE+VKfL{Or002ovPDHLkV1j#Y*NgxF literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/barboach_back_pic.png b/graphics/pokemon/back_pics/barboach_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..4fa892c533219f362620bca20c592fa05e054a08 GIT binary patch literal 551 zcmV+?0@(eDP)Kl)-AkKoEw5IS7V=F`ilqii)Qe;uw0W5VPXFWPJm3 zE_e_M>9eE<5rjaYx0d)Cg0g|0goyhL-9%e$l1)MA&Hu88|J#{=W?=>4tpC#cuOmfs z=lDp`Meqk81;<>PeCLSchmba0Kw3rz;fL4(-s!;J`U{X&JX-{{cxaRq^sJ#?hfWQk2ffxA>cED-{#0u>HWa9IR{C5Sga5HpPR61M|W1DjO^Wdmv^ki#aFP(K@x zvjGHpJrgk6db!I7goXjAgt&W%0A0=kYDP;&s4{c7A&hpljQVuTBXR&;HYf49|5qIl pD`69#SE6npR>FSa|6gaFt}jnvs=8xkoKl)-A-KoEv~=|O@X`T(UMKS8ug4~AZnZJ~x390N?)1_&r}Hi4i^M1dpK0)PQvMnLTVFcy51sJI@0 zVt`VJ111!mbVWM9{nHQ8s8Vr&(zWVk04VBCm*d4??E$f_I6mp=P>j*fA=We9>d8=K z)^AljYh3+lLVy_iRmNZe44x%PB7_)ux&zE&nmFLyJ~T-YQ{1p`l)fh0KbiE!)W*W-7ep!K5FMfN(BB|sktBvI$E173vy+VA@g5Hbq@ zbewLsfXF@sfqdD@r{bbt1#}iGrK&E#h3r)k>DwK!^*Bf&Ql*PAyHPujgA^kAA6*J7 zr8_|OQ=oxVdf|%D9dJ}6tQ6uPrZb7UY7Gu|A}&p?k%1i1Gho2Y3swa^^#kc%7pXqF zHgvRSG=|TOC;urhNj}5B|Ai>P+$8Y5COo_WB@EPc}Zodd=JpY z5d+eprw`1}vyWI@o4i`@fVy-9nmVZ9}p00001 zbW%=J06^y0W&i*Jfk{L`R7i=1mA`J=Fc8K`!w(=5Mi6C4qC=&jfa_PNfuOsE%6kGx z@6k;e?WxRSbk*Z{7lNR33^iLO_wFcJ|7}i+@2Btk?np60^p@)X)LJrgE&$+N0^ov& zhH(!`0jFvl&>6Qd-iHR3m!lF=+ZJYLLMSROM*%9%hCGz2gHaP*4;&7hnwzS=2c`$` zDnibL{5}BG#L}5MLqJU^F#vd~PAZ*FO59>~mEfw9s?M|}mY>KZc(jE3tL>p|nF-GC zrY(tw1WqehS|DvmOzZkQhX5ftxMsk-i6-Hf5`Gl<*W_T#U#CTYm4FC6Eb!Lc5Lq<~5QQstXahpoam68;cow*A z0g`9Ejw6%+cNE~|hZfirO@NLahWJTD3G74%povFOgp79n=JV$uSb;PnM1@HtbH&UMDXgAK7oAS?QSAKQ9l1_0i#5>PGxcG(W0PQXejRJbb! z0J2c(_K>?<@SqD2f#3MyaCm26a^D6deg6PhKjg2*z*pS?1lNHD2)OA1l7Vk1kbfGp zz4_<@q6FUa{GV$!Sr4EPm=gtFg*<-l`XRA%O;-Q{VzMYYZE~IWBhT>xYap7VR$OOb zUIL;7=th$Y7F4$KlreAGKorMsC{h?|>BLY=l^Ea?kaLGfQHS~%B2|bA zSR-XI^b7Rip-5gZQ&d`1nz3uMq;roWJU}P&e)oU> zv)?mgkMaM3SNXCn@1QbEvW>t3$P#52NHNWYvUE!YmgYi^T_P(1#q1K9DggSXHVFb8 zWh#-+hXDOcZ8a$4Tn`2s(0;5@=}S52nv>Y`J<$-N-OcM*!WWH3lL)&!V^74c0ldpC zKu-fgi2d^)cEA_f0s-I7>=s24`(ID(7Fs3n{kgqDt(F7c&r_?3H?2a#yRZYjQbE2x zR}U&|14;!?`WIH9QYc92U)lk43{Mj9(w1keuXpS4JNI&?2P?jp1EPCxyz&kj$oAoi zfEViTrlU(^>rl!z5o96TY&y)$*i~LNJ=u{y31EtMPlBm~G}=9C7b#aA%F~uRfF5f^ zyxt{%BoyUQVYUe{T%UYwwDuOVgE}@ETMrYfE+K5zmf^wx#h*o5UspdrgHVVs5H8TD zJEe)IS&|Yk4~7tb+8YCeC&kUfyvlKsB&n)SgW(t!2N1(JycISgk?}MqAcmCz;Dfoj zY3_wZbz0Ya8jL^#WBR<+0?94Fk4b<>L0kY3A1MtanBdKo24=A41WX~6a!EC&L7ggS zYX}C2Va{Fd2E$3e0Jt&$-Wb4*Lv8?=ATDA2Zp3+=A?1Gq0Xy6!0Uq(`5a|6vKyVas zuAj$j2JoJMnW>-wYJ~$HMO*{yS1_8zIS^_A*M*5RfUEI3+X(^#JjTDpAEY~7kk#kq QfB*mh07*qoM6N<$f>9PhTmS$7 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/beldum_back_pic.png b/graphics/pokemon/back_pics/beldum_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..7a2cab465066344c1fb3647ef20f8e37a9cba3b9 GIT binary patch literal 575 zcmV-F0>J%=P) z&CRT=tdxtCb82(m-rj>sO8;tV)k;!>&Hw-Z|5~K~N`uuoVze^RRe)=00001 zbW%=J06^y0W&i*Iy-7qtR7i>Kl(BBYFc5}O)sY~Tu>(WI)S>Ud+JX18GSQJYKu+0F z&S9?bxm03lYrA~|dgq9RoLQ=Fcu0o-%l}{OKN$?J>pvI3C3Ogms`eN3l~StC14*w; z7D&3P@h1mt=y9#hTTXA3(yI#wL(+KycgzCxd}Yw#w+#4B$AFm-5BvrU*nJMDUXT*7 zSxfo|HYvejqqSr)GOtQgf&&6tDPgBHB!CDhBd7`(@BpAe$oNn-fa!on07h(Z0zd$Q zs+$Ca4Dh8OMS!;=FtWN~2MfV)R1XN&BnKb|3qmCj3_Fm0Fb3_mmp}kJ5D<|rz2l4# zTb_-92z>yx*3qXC2yk%TDb}@KTL#(~<9VYB-K~}rwxpj2>^i*$-o)+kc&?ueYC|Ut zLK6ruG`gmJ_R=0w0v(ZQJ(YoG5E{LsrdpfoP8mS}s79FDN}%ZjMKZAIgFr65cX;S)gSKlCf^vFc5|{6zCGc?;yW{sRt-(PF*<3LzYao$4>5= zmCn-D&eADB%0&-wDv-gOPEd9$@GA(gYP5|2_9#nsL@8^#JwSrE5t;y`ENB->CjcU*W5z^@33PyM1sI<(zl@>N35_5^+_OqPnjfiSMbH+j zRU&o(m$vpJ&#M4ofZPHy3h+E{*Z|rdWP}?EI41Zd?mB~vaBl*JO&{0~)Cqzbedqw= zbAmv7)&!)CY8cfCh!)@iZrISs0GxohJ!+SlV58A7paRgkRT=KsNnB)TUn=*h`6s9Z zUZ%QxEwh(^eSp!RIGw=Do?A=AxC!7o?*(|{i$2?NM8S{#D}Z1Hucdozu9<%VdWd&) zQ+&bCMDd{we6#?n#RACZ`V3IV?TEecYd{oLL>m|sTraMQrU0{Avl{3iP$uG&3V&Yd z?kwIfg3FcEg}#^a<}T2kVSkxik|n?XqD9^;g3orqbZUHA`BL6ZCV3}dDdlqcn^yV? zr&9|!%)hTl->P+W8%}1|?GtA6KkN1SHdJdPr4AM_m|ZKQP^rpShj|-#(?8H(y(?ok TR5n)^00000NkvXXu0mjfzuyvD literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/bellsprout_back_pic.png b/graphics/pokemon/back_pics/bellsprout_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..e2a336696c43ce761de3b9d36ebf1bcf7233da9d GIT binary patch literal 529 zcmV+s0`C2ZP)Kks(jRKorNDDGW3jGm-wv6N6b)qA@5)@`nG->|7`@i3{jxX-?)g`A0p?zGMgnaM_e^pQz|!>A?9R(k@yHhP3O)w z?x15UQ4&^|cBG6HLWK*E1L9LE(*t(n-A}+$y&97NIzwT{9MXMs5D!wB+}y%U044u@Gk>2iwHpRI T@cWxc00000NkvXXu0mjf#&O*G literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/blastoise_back_pic.png b/graphics/pokemon/back_pics/blastoise_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..f380e15151fc54e42ea5abb802c424d70a8be98c GIT binary patch literal 842 zcmV-Q1GW5#P)9YDzJzF*)9(bN|(9?yNz*i#eQgL7c_zbCl*vgOo~2a}W>^u1rp+00001 zbW%=J06^y0W&i*J$Vo&&R7i>K)W2`qKokdXBsxV3m6NVX#I-ZDVh1H<0G9k09y+xD zM27Rk!r)_ZhYoNHe*mce0Ov&N(4{pdsnnqbV}1;Pz}NTAHV~0?sMIY_NJ##E^8DU$ zN+R)8|E~^vUjJ{o^Q|MU9}~TP!fChLkBYgp{{!RhL09?@xU=u>%n8w;q z{Ud@h0Fzd?z>Hb52&8-Q^!l?z5AUp*Hwj)@S$?O=G4er8Ydd6^w`DTK- z!Q=$aR{K%N?0`j_e}Xk6Ngt7PzK{(M64x*n@EV92FHvR%FeOQ!#XwCtW6Z$3NMk^> zv9|>^Ib){Dc&m({pg>yl`^neQ8WyFO70&sx0ic$P8~;6!V;!c;Vs_4L8b~6 z{IQnT`f5rG7cgqeB>>>lyvh^flhK!q0(eZOS(lufxU`j*L zQ#F+`AS;2l6E0PwT7%q#4wo^oq?81%CVb#tH>kwP7~2BYlFdm*i0c7>14_%`(|U{Z zCVnfXfNLwTh(U!nn@u@J7y>~<&IG()WFgMJkcj$;{v`c9{lPV$97-z4AvcmMaE-sz0c z|3vs6FkZd`91PTxb#4T(uPom3Iz6jfRil0AX4clwXwW$1oJB$!eK+b~xCkJuzR4ih zIh$Lj#tM2o5Bfq(25nvfCWAIDfw{o|(_5u8IyV&fxd0fYHzu9ZLZ@^uMFNYrnFXaL zpe+^|W1KM~km=wc!USNNhuU8QvI4WXrzW7(XVeHJQjFvH!3f9#X;ijY1&RVYZvcr} ziXM2;gZ8T1<)*F%6vJwidc;jYr|5kK$Ekb|^U@$H5&+PV&x|RcM`s6Ap+{0DyXS2pjs!0Ow1Vl2#6lnJ=J6fp zpE&C0VL06iVB_^qf?=@e zgZG1wsRZm!%dP^*wMQOU3^o9KbD(Ibssi9w&+`bxj;E`Z0GgF5!w~eo00t?-7qDN; zV1?ntQ@R|>h27GCk*CQSfbgYl+eHc-!nDY7ILrwlfQM7ou=c~SkR^cd#??OHHPJ)f zva2J#$10I#Yn3kXrb6sr#Fn3?<3jiMukx`U1XmMP=Wy@u$Ra`TQ*=6!4*ppUH~=8H zO4C>AF${v5g~$MLhOl&~0~VM{0IhR}YK{XaO8~G9=MGhiu`eC!z&{PYl}~#qPQ(BJ N002ovPDHLkV1moQg46&2 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/blissey_back_pic.png b/graphics/pokemon/back_pics/blissey_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..9823bd9947ff7752212e60ed374abf51b70efee5 GIT binary patch literal 566 zcmV-60?GY}P)+}u00001 zbW%=J06^y0W&i*Iv`IukR7i>Kl08zxFc3yPL*;ZzI04}RFr-MAhO@}S1-!N|;I$hM zO&qxi%rM}%;cAA8q=A(z$-mIU@OAP&Kdn}Bod5i}xT5;0S{!nKmM8|W`^=*k0C+HU z&illc`w+$eX|t?2_n=F--19&N52ASeJaG;kofP=Kst1Boyi(O6YJt2F1Y52GI#%K8 z54z4hy{-)~Yu2%@TSIDre5XDbfiYyZhl3LM8t{z)Z4+`v34o`5w}Jrc4uCoMI;xmc z-2yIzI}(7`MExG_unXj&YSa9$#)Oy^_L#A}h<<_+(|tRKq+bnl2?zr?CGPsb_6~v! zlMayg>JbkBGZc0Xv$QXW=p>k;uyb(A0U)PzOynVMuIwngd7&MII62N4TdF|}4;f*4 zEcUd;H9PM<7e_$G{i zx_tVO4|52_#(?5|Jq1_;0jq3$*?|=haM?bZ|NMr00l%lk+&~`gEdT%j07*qoM6N<$ Ef--ORS^xk5 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/breloom_back_pic.png b/graphics/pokemon/back_pics/breloom_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..85df0804099d7ebbf6ba47266f68ff228e41e188 GIT binary patch literal 825 zcmV-91IGM`P)A00001 zbW%=J06^y0W&i*Jw@E}nR7i=O$zm3}QnDG_Uhbg}R%&I|Z-sT0T{LGF}8*%wHNGqd*E*0IngTOeS*{pX+AS-VpC zPnX6yKNGI8kW$Jwr{Zi*2mvBGL4*XCM=6WW#1ZhBN}@(eKwkkYGXOj=RSqd|5*W%1 z>o00RX1I%Q_bNck;&0+O{=*a|rG>Zg&E0`1%9IvXF?*Hl&jTNmeQ?_2>h{;CWPjSD z_dZFIgTkW(=sN(uDJ*FDIjoa|B12ZChizVeW!qzgk&OF{vA|LQG>yYCK%ec-F))Xf z39y~rR490!m&GGn1qcBV4|cYFaRj)OdTAUIC;^uG6A9XrV?bls5((_%GIIbEY!sJI z0%M4`p2YZl2R`>gpW9Cy4hDVwL;X2?(}5UoDwv^D5)NtLI`ukw(#5skqJ>g>;Fh?~ zi)Z;?Rl_VRXiGStnPV9F13>_V2W^hPU|>EBvKhNZpr}Hlg!<6r0i`pse`+95m;jG- zHU|*^`<3d;Yr`>T^?wj=A;Ka95?Ql#myI9=eI)(@ z{=PB{%g$CW72zDR`2HgeBX~Zdf{>Wlw%N$ixFHS0k?+qc_s|e4RcLo@%gWlJ!x=3Y z3peS0Q0U_JtBLHF{s3nPbEKoimIV?M*lqQ=?5_SA4hen%V754FG(f>D##*0FQ*;Nl zjnT!$4kU_hRwbZ=N`yX|I8_DEolf%aE&@iA!CbX}=0FJ^u`K}5UOweFC7>gZhWL?V z^a3{+^CbRU0CGTT#Agu?To~T(YZWl`aI!~u!=lUI5^!=rBM1cI3P+c#95C%h8ebB; zyl#5Oi#HpNi6~K(=krNKoAAcEkc6?6-q&w+<;v-R8hQXTp?f^3U0#z zxPc{7SxPS8hzoe^10au^Kx5f^24=hlvNpLve&a~SQmql=5aSZ%3eQE#zfksm?|Y zXOu-{0ZRZ9s|Nz{05ok=00OWG7z}4L6%7Dzf}+BOza-tAqXV!f5M22)F1q%;C>TtA zP(lvBq662l-@t)xk8XyVzW9&O1NWp1UcK+tIFNCF`uW9s$b}E+&TO|M(EvISdlML> zY34vZ0$D~NO}h?7&Ok|X@HI-%B7mfocB$GLQtkLwSi%_Wcn*?3#A)!8u~ZqAVHIA-^X7ud|^u zjhItt!aAf0O5Y7yw20iGvI!sRC+)olA+}u$L`!v^pw|N+lGbv$PCj)Q7^R{iID57f s^QbB2A=G2AdP#agtB7xJ3z00001 zbW%=J06^y0W&i*J;z>k7R7i={mA`A-KorM~h?801;zffIn43!e1_y;(JTxYkr4^J6 z${HK1Z?V!f`45_Q>sC!2ONSN(ikI^u5Sni8=7cQSqQ1M+k5k-uEj_S}^!@OC-}mk$ zcRK&|g7fWq$mmvmH#i+^1zdN#Zf(e}>$Wa8bg*sXW@)fjcVeM#+oT49QfG%HL8cP0 z>&}(I%!QDZS%}i@eyQ)imHMD#xumLaq={GMwbqSH0CNSrsDZuKpvm0s!KksojL>S5 z$O?2+rx>&ix=d%J_({$+V43bMn!G zgiJmbILK8lBoG9r4`xig8@LmkM}p<>4uLv@I{DK|r&uGEKwvyvU7b?u%dyCOSME%J zjTV(lR~<_U$h{C1P^@n&4@Qn;3!L(mU=;xCbrY1R(}aUsVFZ=oj6AMy8^DqWGQ=8K zA)Npcvy1h*Fa}P-MCx2bBAS32<+`|UbhHSuhMZI8D`3AU9tJI7A?L7)M4qM6pePE` zF&9w|nGi2C+^iWI+_!YJc!Pj1Qjy6QH!1E1Z2;fbZ#Y8(;Y-DGH~(>50#W7)4g7Uk uu1kE8iRXa`RgtC7=@RgKlFy3TKpe;Cum>qDVf+JSZ;p{JUP^aTSiCGIQi>Px z5E0K+i#l=Pd<8Y4A(wrT?DhpreE|z;x6~pm>2KneLX*5e@k z{mlfSz4nUGoh!NUiu5ICb+_`IRV1)lG{>Lvq!Ky6$bXtV~jnWfR8l!~|Y{y6wLHZPu5FpW<$#1{Z>G^!MQpetJb zD5NmO#FPm+_JIM*LrI9pvu@c#5_}agA*TTF4+3DET9g)HV#_${A&G2f;1f?K$DG3% z!JAT#($WOuRK168&)&9Sc_bNxgNU3t{YcMTBj0Ibtm`fStPMUw-xUGyBBcNzZ{Da* zc0hj9J9#Y5LwgQ>pK3IJ`Ib8}KsS`ZKrVMVfC00001 zbW%=J06^y0W&i*J3rR#lR7i>Kls#+QKoEwv3d%NSF4%-?!fha!bYWANYg|}GaN|m{ zabp~iqJI#TR>I1InyW(^9p^g^xlon=Wyl%AHOj0$d?NZP(uE8NR{K7hd1o0dWB;Qy zZiayIfNl%`s4kMYN9X(d2i~kN!`!m*p%38JL2m-amR|I?fZy-IuzZY%fL@ns2yh7K zGhtX7=rN(Ja{{_+gqC%V*jvrCSj9U%QI_jCRTD)-$<7ET$#tzK!1wb++j@q}!b8#J?Ja7;sr9mqS*CU# zlQhd*FRgb$PgVhGW}Y$jc=cziciWt{c+c7U&P11HCej)_^?uDda%oF2F9l)+1-j?S@O{mS(Yi#o-g z)~B61#e#sQ1KtMIeFXaDMz0KcB;`8MtNK(b8sca9^*5IvPNt}0_B_BWHl6^Cve1i? zgiag3%JqzW`)*?}zAwudHeQ2=AB9L3M~L$6Hkm*e08|rYTwDXZ355`^;Sj$F09qbS z;AM4Vu0w#4pakL_j1cq-g$9aWkV8=J5un#FDFK|n+NR9V-xPb49EceeG>qo}_cNyS nH=^8w7n3>-(T{<9_n(R1-(&XV;aik(00000NkvXXu0mjfd~qi= literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/camerupt_back_pic.png b/graphics/pokemon/back_pics/camerupt_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..3b17447551b669b0edcd023bc69a33cda9cc4e73 GIT binary patch literal 527 zcmV+q0`UEbP)Kl1)y-Fc5{SvZjg<2Pl6BfB|-0K-~ir(Gyha{a6o; z#Jb~1tQ}iOEMxl&JjaFpvP5k98abBVH*Y3MJDr0L`WFQYeP9!#-RJk%#c0a3VYYD( zuzb_h`~)QSJckxviIgt$qc1T1Y00q$kfcXlpPr--Os0vg_k=ot=DMZE2rgNwkL*SF0EuTB~+gVk6h zIxcMjj=q6l<~ADU(u-lK!Op`w&hPq5z+*hG@sT{9(QECD-2{4~T}+SXu>@;MZ9}mR zT#EJ*Pz}lj%cVFX5O+`6?@pe{>Jq>w(dWQ2ZbXkbf5^bqWb%w$Np;X5-&DUly6$w& zQUHK~Ao002ovPDHLkV1luk=(qp? literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/carvanha_back_pic.png b/graphics/pokemon/back_pics/carvanha_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..cef8c25ddd7c19b9cbf5bbac1ce2d2ca965baab7 GIT binary patch literal 648 zcmV;30(bq1P)|6)oxF-n|4d%a?$-n}_F_BlEKgM-bKDek=~|IJc+IXM6T0RR90-xG3p00001 zbW%=J06^y0W&i*J21!IgR7i>K(lKk>KokdX2h9x;M9`_9p{1KdTmq-1P(#4?O$wUa zsUR)(H%Os)F;7H`w>zBA&>>(gDl%zFaNwX@r;vBLlkU#3lG3$(i;eE*|9iUU!Qg*A zS;J?Zd-pxyUHzxvvIj(k{#-r>p#EDR4-N+&?*Zx{s`~-cfb9iC2?_}!8yt3Dn_m{# z#|1BD<`pz3BCr#(_Im`^3{N~(aDdkalx;)^cM8lA6lS)QHo}8>h#+F~r31n?!UI`y z!nZEC&=CsA2}2ivjxYcm;4vMcfShm#aL_%%KEQMj1=t?2=z#BE?*aT`s=!yD(!0Gt zCA-@v{#@c3{13Uu4 zx=Mz%n7UvpzSs$QzDOOg&Th}01inaYAa1iV?RuzX*g){5sFEG<$$*i(+u_9B7J><$ zjhkI<8{vQz-Xww;3t!=TnBy~Hcfei9A;z+*buw#KTw>2 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/cascoon_back_pic.png b/graphics/pokemon/back_pics/cascoon_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..fb6bc2955fe1589d55c29412252c9ce99faf80f9 GIT binary patch literal 404 zcmV;F0c-w=P)Kkg;mRFc5|OLdGY>%Xh6?*Y3T=Xs<2bzpY~sHyoaU~jZ2 z=Xq1pRX~ek*y>^$B|Wqzk!M7eo)bXRM-(HC-SgoYV}14`LA?~6104P)_B(Iv-dC#J zHvwd+$m5%|aeV?Fp5pt2_A&dNfn{hrgs*%f9e`+VcNgDY%CK2q9nz y0py3z(*%euolDLD9n1xg6Y@GvfLXKtkbVHFsfYa79wGYx0000dvo42zAB^XPB{DK)Ap4~_Taz1;yIEHw1zMZ_6 zugO59H8Fj|gBMA&Ut~OxP#0pi{-xK~vv1a^Tjd`_zi@64sLLwi>g?uD&nnti^PTOM z!VKf|bN7?;9@j28pEhTQ{?`^|pHG@hk6R42pZv2ja^R{E4cvMCSI95X(tOT@hk_2~ zjD2#B{11+@zHlpOWzAaj&Qjno=j@3q7TOyqoMTIHZU|TzH&Ila>BO4w6OT?YT(w-H zqs4aOS|b0^$;`FO7Hgru>s9&Yr zviADaPkXwnxD{KjF0pgiV*R7R+(pAzl(fwN007PI_O!*`i_PAHw8c_lgT=+gl#7&FT2lZ2{}>n;jJtrL00001 zbW%=J06^y0W&i*IZAnByR7i>Kl&x;VFcgIwjYXQYvQ(NhEd`YVV^%Pf7bzJV7#bQF zyD{iAmawTIRzRiUOzI2d6#~YBtUbbf)BM)g$uu(3Ljum1;}hFAv)Nf^{g*CS`aTNW zN#LW%z61b1LRbJ3gmWa!z@h@+%DhI1{`SiZL=ghg7-5AW64Dr9#c_-gr75BY0A38h z;ukExobG_!~QgdobQcC~-{}>n;PDBos00001 zbW%=J06^y0W&i*I@<~KNR7i>KlreAHFc5{MT|j!(eip}Wvn(60|{SARuvP?m2UuGsP{xZ0}9#+qmFnN4~QxN zIq?uWwvcRic7U+Lnns{*_lSK!A49W7!QRwM#vPy|-BpILM-?z=OW<=!E_OR@0k zCzVtlP{h)G;&}JJ$px|!@p0Ptq?(-EbN(t3uuB^uQZ5q@Kz!uJ0TAZG*&{0vI^h7w zdW`$N7*Gj|OD=WO$lS5Wh&aS@AR?t6kT}}CS|WSyO7l2|HX{WGPNaUVQLmrvHvqtS zoC4~2Z(^bAy5?NlXFeqNq__nDRNCCf_!==$Z7)E~O%N>@h?(U!8F&MTl#M8D|0aR} O0000 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/castform_sunny_form_back_pic.png b/graphics/pokemon/back_pics/castform_sunny_form_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..83b27298ad21d3d743885bbfdad51ea9925c5040 GIT binary patch literal 559 zcmV+~0?_@5P)n;1X!^m00001 zbW%=J06^y0W&i*Itw}^dR7i>KlrdAoFbsv0wF@|t!xm?0*l4!S{4sAzhH~C&77AU0 zep#nnSEeF4Jz_f{u(6<}cYfbVde3o_sg%bRyX79fmn;*qx}q)9YFYQCW|m zoHZ?2f7RBg3gF-a6vA-?YTDDk&|d%)W4jr3_Cb-2PC3T5ECYbDz`*c?$n#d|!T;3@EQ+V5K9VVBov}D50v0e-{&=5Wb#BO0o^~Oo;$! zB7l~({=-P^kAMl5;Gp2ipCKl|Is_6C%y2;T-Alhkmnr|MhBaVpfsj@4!{8Pcue#mq x4||F9B&B~3q$&4E5A$*}(Ffug@tt+=_!FQG9M0rMJRSf5002ovPDHLkV1k{u^Ys7# literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/caterpie_back_pic.png b/graphics/pokemon/back_pics/caterpie_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..801748d1c38da0e61ae5b880d52face3a4657d6f GIT binary patch literal 521 zcmV+k0`~ohP)KlQC<;KorNbS+I}~69)&OgBctO8T$$9+Ah_xf*HCw z$8V5(0XsO|3q-I}Jn);e0i}Zpr1wr;yqA6f{X-z+etGZz{&(j%H(j;Hum3K$5%H5= zT0Ga5LWpFg*WaF4K*rHr6GdzE%mVju6h*p5HX06JI3SOXfchQ27fl7Ig|{8E4$d9c z-#zYs>JZbqSpPioz+tXMK)q`K;y4yZAZ0BGVG4*e*kv5xij&fZeggnX>8t_Qy#`>T zGsp#Ey5T(}v=a*?*;9Pz2ThJ83*31VvlZGRl}M9IAoRMF15F7vVrcl!VS zQ?GLdbcf3Jpn-{#9|3{e+8QGCI>j+ckN|<5f$RAMD5X#$3>d)o^_&&WASKZIWex@) z6G;B+e{&P11i~!vxf55d95*)})7p+fm&eSs zfP-AxGY|k+P}G=#KjQ#b14`w93-lR_blx!2x3-jWKVX8q={ocW#wG`Qbi?`<00000 LNkvXXu0mjfwu9f) literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/celebi_back_pic.png b/graphics/pokemon/back_pics/celebi_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..c43e455dc19bc639c68549875e830a7a07a9febd GIT binary patch literal 757 zcmVZJw{{a8Aw7qI`gAfo9ch?_i00001 zbW%=J06^y0W&i*Jb4f%&R7i>KlreAGKorM4St1O`d;<)0$P$SIuTkUUhAvcz&r-U8 z;C!pcKt2J`xdO~+q6Ao?Or-u2{U{8EyG`000_^p$|$vW7TOo4Qz0p07`!KoB=RH+~UBfw#2GR42xjI5z^eymUOEULNPOI z^ag3ggV@=m0n@=CQLE68n(m67i(>#Y$1<6TYNg7RR^Da-ixCSO*hIQkF6kr#D2#y# zlVh`1(zIfwqo|iDfMCahHZTG}D-xxf0vr-aAl}sh&@PnTHZ=&$up@}dm5``}W(p`+ z91|d*QIII=Z!IMij4*6a3)S=}n%guGVrYR=GtTRm>Aa!}3B<2Y0tGH4YE>)BSKSPt zgp63U?M9cF=oXahza2^@Z80p$Qi5Q>QEUIr9GhI=ULvwbgp9ET9282I^BmIoJb zA)*p{>HC95xEYx!@8xe?NFWjQgFG*0Azai+<{Op@tsY4M z-6{ov`E>X|r-P;6;)cqP0JWsk+q>b=YdVvWhuWOK;iD?_S}UGIenEDRa}R~KOYzaW z=)wt~&%6cR?jF5yeP_EndIYEph}8nS;B@0Rc6LbU@wHaD7$A)JtpDVKlD%$&FcgKoWh<|m&1yxJ=eSWM#t1Kc0IX(=DqoT@ zL$T=IigrU(RIUpc68|*H8s)6#(>dp22)XHMbysQq<5%xlmhtK>=x3ey?#u71%xL2! zqF3W{vGD<|7y%TX84+>=AmXzN#6pPC_e9JPIUjw*y%T^s0gq%I@>!sz`RT%~?SC9~ zM5>Ns8`y6rKZTWY0#J=3W{@bSVTTi;RI`d5yVWg9bpa_r;x_CN0pO`?07adNxT+3 zeJc5=Z-@GuEl2=3FikAil=y*M%9=4?>*;rN07)O1DbWA32aqMD<9pgy<{cr6c?iIw v2hJtP@=QV)$cKnS2q=bxAaHrYO;@5{H)d*br5ssn00000NkvXXu0mjf8rI65 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/charizard_back_pic.png b/graphics/pokemon/back_pics/charizard_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..1833595015b1d12642640f0fad19b5f0c7afb9b0 GIT binary patch literal 799 zcmV+)1K|9LP)xV*ivu)oN0#K>*d&)&Kwhb1blf00001 zbW%=J06^y0W&i*Jok>JNR7i=Fbv1F`YI0I+ehlVxuasKokN}K?RU&wo zj>0kUVna@-x>jO&vH0K5lK9Dwu(66o)Qu_I|q%n_h@zBNCN7f#J55Kz2q zumTel{Jw^d)krSZJ)bDi${U~kXIC>VS`s!KT0Mup8r7(acV*g|D(eZG2 zYg{ObD*+C_?LUV6&=g~kCelp zH+Pk5zXG_(UPHA8jCUci2^dy)nLBXj1aO9SN7(9NdN)_uEr4BKg&zQCfHSm;hu5Se zInC+yFm*wI!^J=YHWiXL0OesWasuemlZ%07EcPXj7LW(C^z&Q~H0W^?NCw9iOhcDC zIamBtT(ip14jO8lCto#ue{B+Az-|GT01+Sy#{`7M0tUHh${12(MnEqDp^yaxB?Dq20wEh|Iap{|ZVTj+q2)L!@E?|okrd+cD!>@m4_7RE zMm$EBC1;57S-`9Teg`qW2=Ijnz-7>nDm@7tCxD)bRLL$C>2NgAVrXH?U?8plPrwf9 zhxluUNq`g*5J-XJCvLv1FNozzk@U{%Y>))>8tNFgA^?5?qCnbhvB+u93D8G@`M>iv dPQV8^{{U2U3-$hhVxj;5002ovPDHLkV1n=^Vdww= literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/charmander_back_pic.png b/graphics/pokemon/back_pics/charmander_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..c371553391accb113026c9fd163683cf7b05ece4 GIT binary patch literal 543 zcmV+)0^t3LP)JqwEzGA|K^JNR7i>Kl(A03Fc5~_DV34|<~{|FfW!nmOg4M$WcZgjv5f4b3l2A0B!*h0&jRkuDD1i0nSwjpcxqF(t5bRW4}cCf!5%*#|VsD zn(iD##HExE*!!Or8Dv=25&Y5ik6%T0e$0Qu6vs$vDiDy9;|Fr)awNR`R(mS0Gg(O zTCZOLNLIUS=#khHfpw_$JzG#9c{Ih118ivv%oe0Y@?fCaCanin&y3Az5W6RU_Rt^o hTCakC4%hmH`UL${Gq06xruqN?002ovPDHLkV1fWV>_q?o literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/charmeleon_back_pic.png b/graphics/pokemon/back_pics/charmeleon_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..84f2ee1e3ddd35e09ab07c6470b10fafcbc3680b GIT binary patch literal 625 zcmV-%0*?KOP)Kl(BBxFc5~h*@Fo`UB<#w_iR*w4&EpanHvv%0U3D# zAB$#507oa-TLww!E9e0fxOXR75NSnzfc6%{;D`Ty-u;wP|LdyodHQ^jJxv2;2B&EN zZU7a)uSr1XHzYKY#3a$?H;9%b_D>T;MF30;W8tU;5uZxD?Ldlc%*O=w8F+$#wVK6% z&Mp8?BfVBAvz_k&%{Z{%%c(22{SW{00c0S!G+f#bNS_lKc??mN(;B=j1ND(c{YRV(8j z0sN|0l}MDX83$fhoQg(60PwfT3%snBywVbI_>oxlS;UtwoXi?rU||4!JrVGS1d9=X z?cFu%{J~cWJo>a26~5lp=Tfd5ey99{DC)YdFn4|OVqj2>`p4=oYRT=3XC|{n00000 LNkvXXu0mjfjZ72w literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/chikorita_back_pic.png b/graphics/pokemon/back_pics/chikorita_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..18c3569bfa4d264da7379af546f6ba1bbb22c8be GIT binary patch literal 569 zcmV-90>=G`P)Kk}+Fan4}C>ew`dT(mNha3hW^h5VX15C@iz!@C6p(emQ4uLc3wXPT0I>>qr@{}4N zI5W@!{xxLu#vheW8_2U3}{{l4vbM=Cm>fjrZIvAstpj<0mn^p9qrXY?M@9K z%n_<|9gw>?EDDVIn?H(vsXx{aab3!YB_KUa00000NkvXX Hu0mjfnD6j{ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/chimecho_back_pic.png b/graphics/pokemon/back_pics/chimecho_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..7a3fedacbaf0bced63430bab05b40767a20dee0e GIT binary patch literal 507 zcmVd(|K^nc)mlMHYQ;)odnrNoT66ZjTC8(QltxAx00001 zbW%=J06^y0W&i*Ic}YY;R7i>ClfO>GFc8L_fh9s}D<&oc%pKs&g4BWL+JOZs$kG{A zyao$$-yoStm3GNv@CKCG4}noTA=UY9M@VF2VJlK{wVsw1aIM@dA> zGB$FBKR{E(^k!3jjv85C-Ov;er;@&hNErZ8YV;m60MHt*qy#epvMkd=isje=T5G^- z-eLR@GJqa&dWwj?1UgtTz&;MwunW9pfY+h5q@B~Tc+3GO*1nUthJm$j9ME?Fi7q6- zf_qr7XBfIQpbl7zs z)EJ0G%>(Ju|1fabO?s?F;l7K4ikmu1N91!)W^Oh9#MVrSTjc;d^u7Ii`xPkxx002ovPDHLkV1is@OlVi=?V01yxm)9+#p00001 zbW%=J06^y0W&i*I`$KlfO>fKoG{Kh-@h!MeeAr{OM!fAba=$l07RO3eLKW zMSR{8r88x^TfYHzcmR|j(sM=nhrF3?@_AzS~5Iu9cJI#K-`{tWH8Q`fNS?%e? zpL=zs)G;C2pBJ{itdy#MS^O!{pD(LQ6YcL&$4(KCqbk@UK>NLK)q3Q{G6=Q~*T6;< z1VN?y;}JNi0`#nZjO{n=a7ad;RM@J85snxE|43mq?Im{JM}>qwsLcVur(SNF zvtI8z`U~*bs=+$L*4uxzYK&t&0;z=6`JjV%lY=4Z!4e?W@6E0=0a&g-&wI!9gq&Py z+Bcg$(RSwS83Fv*d?PXHFee7(2*2pMQHP8I;3xw4nM3y|uIBh@x=U25`e+O`a6&eHgyBfFefmz^urVuhA`lp@#-$ zved-Cw_&(r0gDezN+GX!qF=lN8NReL_@6nKQeJC$zQCutv;GWBiKFEKPlV{;sT}nm XnpF$TaD`D?00000NkvXXu0mjf?|vh+ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/circled_question_mark_back_pic.png b/graphics/pokemon/back_pics/circled_question_mark_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..3056402db40adabac5a463995c694bdec359e5e5 GIT binary patch literal 397 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*Ewg;0-5;1*|TTYtXcE_ z|9_yeICobOAjMb`2mt|oEJ={|6P7}nZ)+$yZ7C;wLe_1WcN>s>Eq*PGXAsnHz&s= z7>nt%PWamtz-;#UYEdR!~X{G;Kp7JM4 PKq2bs>gTe~DWM4fhQyg8 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/clamperl_back_pic.png b/graphics/pokemon/back_pics/clamperl_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..5b1324473ccd6ad40751fa0d88f4eb7cd15f6eb8 GIT binary patch literal 475 zcmV<10VMv3P)K(y`KmAPfg^*SdA>6GL4(l5}x|_&tD@t#cphOC)$w zsC)04LGR4({t&S1e)Ww7a69auVqD+|+#}b>@I%l^`tvBT9n=f3m|#ozSsJ06qApeD zLpKcr1EOgVfMp-<5sfi%L8MudmJ$GeA_m4H(U6j={RahJ-kel{wECmA|f=Fcik&O4(yaAtGV1QMW9CzCg!r%|J3U#F@!( zd4UdOMCuT;F_KqE7w%AX@I&<++XSK;(djPjiDbavkMH>S4{@CTFkUzx2f{d>jvB;q z%*KI;e=raNz{f`UHvozNU?fMV0ZyJsljIvrBFqBloDt%XM{2Uqc^JjUfOE>pB7Y!2 zkE75UfCc5uI}Qdr$hGDfjSTj8e8c;^MvqF2aq#i0{V!Unhbs^ z(qo=E6{uF$tsaB&%ikTay8Rpgfd-slSt`YP2YpknRa*t7Ot-xT3Wj9f zQ^u=atEI_+79>z_y1xd1AX-tl3A#P!Ql{RpzoGz8y;xMWtTS*N!UIKdxj9oUXRzEr zQg+|8FEM3!++ZUj0A~{)`c3VG5uQmsNpa=iWfe?E}Cqpi`3liIJV41AxZV zPBi3ZO2{+wL!D=l|_=WM(A;8D~JN~Ws1KvqHr3~^8IsgCw07*qoM6N<$ Eg0%cv!vFvP literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/clefable_back_pic.png b/graphics/pokemon/back_pics/clefable_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..42592b8d7b0ec3ee8bde766923f57f07e9c67588 GIT binary patch literal 638 zcmV-^0)hRBP)Kld+E5FbsyZ#aZ%pR9&FxX3AL(T^zYv7AeY7WVr-> zpl(LqqCgJ_{0t@K$P$eMy4-jgEJy#BpA<(EBrAux{TpbAFCzsKMLS%lSS>~E$}8B0-VUArF-supyv} zI>BEA;L-4DECRh*u9OI|^_Gvh2K;g$!1N-^Eel*qV`l>j)R%xawhuhaIs-pNsV%Ei zg8H0oOzaV449dR^ zA$yoB)CIxA(t0Xi8mY6rQpy6*o&&fvlmicWuH}YsobNd&(^4s*NV9uN@ylid6No5E zNyps`_<8D$9d7m_02fWLk9{EEQVnVikU!mj?v#}?n*e+QM)o>hllo+?39zEqpX-Cx YKX?9U`vbSgYXATM07*qoM6N<$f{>gf+yDRo literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/clefairy_back_pic.png b/graphics/pokemon/back_pics/clefairy_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..6720a786524eb5ce2c51a5f05d7597a10565a7b9 GIT binary patch literal 561 zcmV-10?z%3P)QVKld*1tFc5~lW`M_}b0;gx(2jY7im8tgRcEng;2;kG zb~081O!l^+X9J0C@&b|aOPTKDzyEv}#-4gqMM~@LZe>eiEUo|q>O1vS^1?Uj)BqS_ zVDa~M`|bmL1CYT8XkG1-6Sc(~hsxvj=>5 zb)dR$umI8!SWP2LTBkt=0vb0$x&TAS#{$Qse4 zcnBg!W=S??)&e%L0OHwSx3nyR?*N6I7@_D_o)#fXZCgmwfo|d)7-YJ}vavpeS$7Cf zG=Y||_d;0$fT95s0Z>m{8)6U0N5Hh7*ZS(lG*b!#l;nZq+IH^sPaO!r9*ZAh>26&M zJ6L}qqQzeRS{C;=Aj-|tfcP^24r3ilKLT|YhZ?7^jgAf=r~_^2=mLfF5^IxLY;JuR_5R0xZXaA#HXA#-~3yFsrIC%hTEkK$x%HSkB`bH7a*OP(l zeITw;N;O=hoD4cY16jyXqeG#j3jcXeJ%IiJP7NezQ@$_t00000NkvXXu0mjfU literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/cleffa_back_pic.png b/graphics/pokemon/back_pics/cleffa_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b110614e1b7c1fe0f5b496162c1586cc79561bd4 GIT binary patch literal 461 zcmV;;0W$uHP)V$L002@_QVl00001 zbW%=J06^y0W&i*IOG!jQR7i>Klf7<(Fcd~TBvm)w0lxtks&189gVKqrkU5o*qGalb zyLF1qRtX8kQ(rLy&6*m-pKag)+I%DD_+nrCB6Q6^&SG<#<^C)7<_zDqZ3ySN?XM?G zEFH-)fInd@B3yHTaMTdFQ>7B%S(rS_09UDn6&Ifx=jj33_26=veyGN6N^|IP&sfSb zML2Sv^umg!l+rI%$a)T(F~+%a6mdKZgdLX=ieQOc6GVYjAyI@(i0>I;FJ#`-KAZ;} z0?CWhjPS4*#kfL9>EOjAvB|%~g&IH_%@u03m@X`0J=EA%z!R z@EkjM>?@FsULvwFP6mR$3HhQOxa;;vV!gr=_h+aCV>qH=8{{91Mpc4WcHEquSQair z(r~j+$a<0>ByEgCBCB54^0DbG<@cYs;nM?t&EL*13Vog))sgkt00000NkvXXu0mjf D>;1=p literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/cloyster_back_pic.png b/graphics/pokemon/back_pics/cloyster_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..fa69b7b59c14e64a993d04f26c6c8bcc1dfca319 GIT binary patch literal 769 zcmV+c1OEJpP)4R7sBGFbwp;zUC3~H7?UMjK|as<=2^_rC=5&-s3$pAkJ7`uYoZ`RAw6{{C2MN}&gZ{g|(So~H4W z$l2ItLMgt9^k!_lUMbw-j2pp13k^dgHJ{(}7YJx!jnJqf$b*cH18L}101{Wy}DVZ%CWOkl+R3 z>RAriq~j2Rju?Mnnaa-Ytxeo}NGV@hNbJi>LIXUkcv#2;_-^u|ln7VREdaHU0lFoh zAHwSyRzPM?bx&67Z;xf2(F)B9n6+L*rEvYrsND*v6gpJk?)8HJAe9C=NFj(>rvMK4 zQ2a@mgYHYRgN&*c6o4NPl$@ZfA28Rb_o9=G^w2Zb8G35@c9JmzW-tV9J#Gnf3_9xE zTXC3Yl6C;0lfD!#^&!VMKnSvwYixhS{_*$&uR$j)b-wyF00000NkvXXu0mjfrBz)1 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/combusken_back_pic.png b/graphics/pokemon/back_pics/combusken_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..6c6d094ddadff67da8ca54e5be2c3990fbaacc0f GIT binary patch literal 812 zcmV+{1JnG8P)p|7tnaS~*%dF%S?CH`2C%00001 zbW%=J06^y0W&i*Js!2paR7i=1)iH0{KokJr8zMy+;N(h`vPEWM<5wi@5Ty&pm@MQN zDj8L3YIOmcDOu#ovP&RBgFq`oqGE3`C~oeWz^e6Hifdv5A1q6P;D>35 z82noT{usf5p1}+@^)7?q65trO83A%`0;>_YG__cX0AB{KOf6zCFadO+f$`^#x3LTq zN6RXZ9m5pa>j)T%WPOJuv6GgkwK*U!YK(m9N>DV25v8sIr5%wbRNi&rSnpFRUe1x# z`8t3SO+;zFU0>zLp#&g8K`GSQr{$;(mT9*ZqM=*`fTr+Xl2#W{;NzRR7^+2DMOX@H zqaydN4xdo9h_ui#NO}N>*4~AQ*wTA>Qu%reXjvd!fzQg3wLVBheHwwX8uT8%{?;)mYC!Y^Kk{?wz{-h<$`Vn^5((x!TySK`4}L4 z%a|X``b?AqSprwFy@4kAK2~N@3Kc&Yqq%tJO+4v>hNu|Dc9xyN++rCJa7PC qZz|C5r-9kklWfuMLxW@&I{pLdEdLK?8k2hf0000@g8%>k-|xD<00001 zbW%=J06^y0W&i*J6iGxuR7i>Kld+22Fc5|fR=@8sO1a>mS$79Ew#z#VSqzs43OLnW znR^{`r6ENgAg^H78%PtBe|6^<9Z^YxTe+%5b2_zc< zHF$^K1KASr(sAcP@lr>NLll)XB3@NQ%P#pMn2DGR((3{M_8nEK>wA&lEuicJ zuyCkyzl*-_2p$W8lC%&pp#%XAqM$;SOsVg*10)XM;X6bP9VVxE59{}6KvI2<5+;Rjl0x%t3fg-hl)w*W@Ao?csFISxD*!0ng687| zz)1W{fK!;P18DR#X@;o}4xnj04FahRyVzX=vqQ@1d?dvR!0GV+RyW8?(iJ|!^ez`alq5%ym42tjC_sF*UVnw`2w5;fU-euRnhg*pg1%J+3TQy^~@c8G)Zx|Nz00kY#umAu607*qoM6N<$f?Y2#pa1{> literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/corsola_back_pic.png b/graphics/pokemon/back_pics/corsola_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..d15f330fc10f47308553522fd9813a9d6ca8742e GIT binary patch literal 525 zcmV+o0`mQdP)Kle>1pFbsw>l02w<+6RaXOFIRHg-p44Arpiwyjmw( zrdDz;jqM(m4()&rOQg^Gf5|3_9`Vm(MfrW80x0g);}qcOS3t$UT@!3U@7xr~O|*p|B8a3Fz6vK5|2RO%@DqB?NE=WNRTH zx->{+3ia0AG)Hotfl^^kA;22r4VQ}QIsh7;Y}8H2^g)M}j6P-ij%bvdBSWn8m`zwL z07|uHV}r(zK&%eZ*QQSc5W8=#ze$}MbNM`4;5J|WG$$u>(;?rw1+L%?B7ivo0Pjf) z5ZI`x$+%8n2PWhFF&M}@kWfk#@*N#~ptp5M(N5fStp^ww8z`)~LvB0^(UA}HFXfjb z9cmwl?O_S)kz4r77WE41T=>Y##PYGq$&Y`2YOBdv~YjPUn9O@y2HX zQ=M+4)6ENf*8zE0e=d^ruYi%J=~4%z_3!dfZ(!7b;dy!kBdJO|^t?!?cZ|S`={fiO zSPyvKCwhMK{LilearFRg38X}=5`@?T=%;yIf*}&vA?AJsl!Gwx6v9pK>&O8mHvw3= z7kH#_ub~LUdZm_W%R62LvMK&b<=YcH9tUS}En4Y}gQWOtIJ+1y^O1^80wX73cUU@w?jAnq9SYrtf5kmzxAs#>hK z254cS#ftO0))CiR1GCRQ;6WUI(`rJuG3c=gJP>f90`D4wKC|K#v-tZTDsWcS$9fpd z5;JCvg-}ODCG;5UV=!hxBm_`g#$E$VHb67Z zOVt4T0M$5O0jQG;9DR{y%Lc#<*Q**3Qd*olW7+ib3Jp$0?w0z81@-CNQKxam*kFmN zUD6?Pu+wtI?X7;m*?=!|AHKTo1ZR!@_MKFL(TLkd03cAs67SFX^{wPf#bJPe??<>R zF#?gpUv5__Ko0W&W4l)q}+KoG`-tzNiGcQ8_==0Ky$jSguG;YKeLPzr+` zxWc(2b(AJ>q)4{O1KeTKr8vkl_z{G6;X-1wnVFUU6q2tE+2RiE_tVU`GqVbU|8Iqt zhk#dyfVT%ig!P95fa+cj5vtXf1HhTSq~FE3e08-{wf?MB-H+-~-I1vEQmw{;z}5t; zD9V(NNcpw;Hs#TZUX#xkiItwPz^4Qto0FvoOQ5Cnqy^C-S#=XB!c+@UPxa$e>$QY< z_i0o={`!%Dq)aAye%cApSePhv+DVFg2hC`+j)eKqPvvNdf znhF5(cIknrgye}R*Fywo+T}uG@^s|SEWoh#?ULU+mg&KTmz{gC0LfkZx|h1~#&94D z^N06gzWecpwvK2x7?2zh!0jW@Y_=C1pkpA;k)x4XKFDyl+gxyKJ5J$&D1&0qHI#q0 zo1eb-1fXRgL>w}lX|R7byXzo0^NlGAHfab@ijpKW_Ql<1d+moq8p9T-IdtO^1@m+b zMZ4R6=Nlpx1c(rGNx(tkyglFCP-mnHae<8hg9ZAFao_H4hC2x8)N>%FKP2Ehcm!hW z0soAKbad@|uAIDqP>6>j6CLR|i1xzv1Av(EDG9)gXbRYibn8EBky6>TXaKoQu+DV67{ zaeJPPh|7>WLmPBTr2be#)u+|`YI!z(%bk)f=MR&xaR RhzbAz002ovPDHLkV1k6Ib`Jmm literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/crobat_back_pic.png b/graphics/pokemon/back_pics/crobat_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..d14ecec7b6d08f50d746c7529e1dbfa04b953802 GIT binary patch literal 600 zcmV-e0;m0nP)A%RShFjZKuTj@g z*45nxz#a;E3!tS2Sa^>*I6-&j5J;DR`pylkYheQW?Dm^dfp5nSxPSy~EI_G4<+Bb( z0@MOXCabD1jqq>=);p-}6`7B7L;EP(U8%gv?BzQvF!kM_JYf4hwV4O(fD(EUtb z$am{{)xho+cR9+7bevmScKssdt=Ti+f|z*Ua)BU4KA-X~8tGEXK!=*cS%w zNgu~w3y{|Y4LUqdsv0J)Fh1sp#(blBYX<1}o$!>>bS|Otg@uh{>=pp~F!9~dfcbxe m0q3|T$D(<~9`arHPd)EAbS7+|Eya7S|H6S7<&K!|K?)mv{IaN2oMku&TozX00001 zbW%=J06^y0W&i*JLrFwIR7i>Cl)sMCKoG`VkR}wT8jPN`{aAl-M>Q zjyEz*uMUU^u`IbIgqY^-M%<2*5O`K0D6M)02g5wi1lYMT7`qibx|5cD>DEQg`4CjjUdnQqED{CTifYF`Kyd_{+q09g8Lq54OBHL9GAI*J)p z1_^g9IGa+)LYztVsQ^mB006j9n>gcL;9$Z61Yi;? zH-9qyFaU@^M}QVDrhg~`0w*P?BD}E{fgc(jWphd)%5}&k-HpJPiZWfSk)U)aH2@ys rohVAmluG?G4*+;AuBv99|91TWS=)iy)9O-100000NkvXXu0mjf9UnK> literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/cubone_back_pic.png b/graphics/pokemon/back_pics/cubone_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..db4d31543744f8edd20ef38bb627e8ccbf144689 GIT binary patch literal 685 zcmV;e0#f~nP)KlD}`-KorL<6$vJ$P8qMvQS0Xcb*QS?{h2=sbaqSoW#hgTQ>A4= zE2C71tsy?$#hFBaVu>ZaDjCQOdrPY8eP;_`KU;V{j5`_$N`S>f1j6Z16M-miP+uy+ z=WXu|N8n_8$0hI3u^2+a(brpq(dII1m1;?Ws z3)~|q0N4%h;IYZzk>@&qWfMY72KEzhK^Gw}4E_fIDXfWo15g16{*=kVTAx3<1~BeW z&t*>}yuJ0!V+SW6(RubI;l}foRfFeA@^x$itksTtNiuI30d3*zB^Pt@^6xX+hsozT zF%F@(B!|hxIWhKF0gZ2oYfQSb1{Mp~6lBHKfW5!CGzD2vr}UcNFO3Ed_3!l?vL+Jf TQ(Uby00000NkvXXu0mjf7k@Z` literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/cyndaquil_back_pic.png b/graphics/pokemon/back_pics/cyndaquil_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..cfc64164e139c46dd124a091e7456af5da50a2b8 GIT binary patch literal 670 zcmV;P0%84$P)K(y?yaFc1Jx4eii@=s(2h4^&<}moB`uKwI<&igUJX zWin+b5X+Ma7>Jv|Ms~_SP(}FwStKC9lK|d7WGb?yM=G&J#cqlM-Ey!YoA-3QqZ9;B z@gJkym0*v8lGT@g2ioOuCotOV1grt{R$v#6vVd&|nx-S59|7tQpbW4EW;;+m@C|jy z6b7g$N(WkJMGY{zcMUKwtzAq>pmYG~7upTIK+Wjh8Xy7F2GoH|DOG4w&>!um179m257nlOKEq5EguIg6X%rd_-vwf_eZCoWh|^k7ymnLLB~}>yZyOA*Ld}7zx;KmUsdC z<2pSQB93mxw>JW=Jpgdwb{8UwZ=>k?Wh4%Qr}+E$4T5{U_^561*#H0l07*qoM6N<$ Ef@cLFE&u=k literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/delcatty_back_pic.png b/graphics/pokemon/back_pics/delcatty_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..38bcfd5a74f266aaa8551d8903a39a80372b8d71 GIT binary patch literal 737 zcmV<70v`Q|P)Klre7_F&KtDAtWU3$E16fLyFWP%ekt=g4BeCii|AT zP^w7%Ge}8UP?Ir>FKk)BN0zd{eRm64Am@Cx&p!K7wLhSJ2RQqEc>VdaIYR#H&&vMd zx99FC5OV6-16WRo5C&jb-ri1XKv1xS0hVljU>>lIvjdAa21psI1}qulxfvEXihTfo z5rds7Fyb+He2|ez1q8742(@Gk8&Uys$`Z=QfC@-KMzBY<@3!`1fPvj~oPeGcAY{SX zU&bbK%eanU>BH!fl?zD1BmmbD=#NIq$6rXo);${naGXcr()jDyY*uZ&0g%c?9*obE zp4&Lmf|AgF%K5^2`b>wC;L29M1%e>X^Af;d6eypYHn$OY)r z1Xe5gaOVfuyOO0md76~_sDNZ*0UQ--bnh%7Y>Q+9D4=;#lnH6NioR6b0`lQjR_&(~_XWw^${Z~B7rwleT~yiW z8gZt9WS`hp_w*~HR8#HhmH({Hdx691kEp8*ggtLalc@`oRpN!%U;`DF^gKWpL0aE$ zK2YqkBsOjhSVT{LUXPDD6eWoban4l)sMCKoG{a;HpTDwxEhdqzxTi_O7}j61H1{;L;$$ zJq=RC8&E-g)fq}#vRu%R34Vac7hH$F(%v|aX|x+Bm|gm zB+#K+z%@;fE?w%HGtX-y9TQ--D9oT#+yc_{8vq1_8Gv}HX%q7>BcxjhY}yq<37|Vy zFMzcRV5TbQx*$G)7l`bR3K(5KU;{qNP++0U6Y`5O#`#EZ!AL#vfw6PX<2zXB07`oU z#vb8OjPxFTh=v&GRP5$Dj~)2PG0tVLT7dWk!2LS_yowytp63BXLbE@ibjEog_roE( zY6D$>a3W}c`6v_9tEVku7lsrgP{8y}3s||7Dk94I)9H(5-cV^AJBSYb*OOWwj{KAY zaw4_>(rL9 zk5_ddw-FgJw&lD4#y4qDuYrpe0t3!ViFKpM1uho7a7#&~@oimVYun!|3ihGV2k92T z@Tg!vSvLn;IGo{OoR$hs3m{@RECtYzGfrD`+m&Y_1srU3Y`w0r*oqSh;3Y0J&7C18QJ2h3sD3f9u#XLPx#07*qoM6N<$g3}0LssI20 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/deoxys_back_pic.png b/graphics/pokemon/back_pics/deoxys_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..c6cf22288486c42e024666eb640693a5f06deb44 GIT binary patch literal 1146 zcmV-=1cm#FP)n;Ae06U00001 zbW%=J06^y0W&i*K_(?=TR9J=Wm%(b|NDx3JFT_V#((J-O!0EClmmG{;&cdDoW6gOW zOM8!=NpSno?p{E98HnTtVN-7VR&x@8~cHca7zt$M1euCA^w zJI)XJRyh$zfGM9HM4Ehj&p(u(G@!K)OgR6etnWswOx*MT_+(Lf(2W3C>GzkZL_TeQ zyU_>$&USzhVpjGMMgu6DXx<1h<$S&ah7#DtDFMM}tHMDW5%vKPgybQ(0bU^vq>1$w zI2Ry9Zoo(EBX&9fJ@A7qaJ~f+fKXdtfasrT7dPjk2r=P2#6d>|K}27r0mwrE1RzpW zi};xXbOzG!X9O|dt^pv?zzZ$y8t8fR7Wq~$myvW7kSH$_z{~M2&5q+Gpnw4Kbl%~3 z?v$miBV_c+$iNA{6RSPI)c|BVQ@58D19ByWb(sX@6$2CnsoR;}iss$BapqK|o&A!( zwYa++e>L>%q#0@1nMEm=V5Pe_fnc4MDcZ7K=gjMfGsCNTcH33?v z9#qji0;?u~g!z5|3b=TLo~ifAIQtCJ#YJEN0Q=c`A@a?7G(0p$S1V^B7Wr-k2GD)K za%ST~e_?oNL@PS!nc8lOz+6M)J)QIkMM}WmfhxC30{YGgmrto22{P9Zww&ffe({pL zUQJ-C%U6Z5@-4vqY6rO3ssI5~fb1<4V$a2^3g9xQIitnWfm~O&AmCA>J7|Ics2)56 zur!F0glIbzC6UMHpb2&To*e@Y`S8?@aKMKKEG7U70Qbg}LK;z|n}Py*W;=JIC>r_H zAl0OkUYXfUaTtv-%haWl;@SY@E|JhAL{TQT9a}3PQ~>K3t&*ZhC6Fo?J?cbeD&*bI zlmQ7`n~ly{lSbd11WYZta+3m}KKJI@Qdph@@=55N+xBA(p`OL49a{l6Nz^$kRMykgp_(HB5X1R7umi;`kEeX4h$48&QzUKx02eu^0^*I;z;Dat11jL(@~ M07*qoM6N<$f?aYHjQ{`u literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/dewgong_back_pic.png b/graphics/pokemon/back_pics/dewgong_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..ba6c297ea4ec7331e5c9765a698ac7214e2d7123 GIT binary patch literal 523 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*Q;0eK701<=-GF3mh5#5 zYW~mg9}`_Yd$zf{T0lVH|NsA)PgJaddKpWC{DK)Ap4~_TvO7Ip978-huTI&R*K8or zrhHK5<(hT5PmPVaW=Jxo`o-<-pP)8#;xCpjInEm%72nyo^~Rr{pX<|S-+i~g@67~; zReFjI#ZC(I7;joIiGBRJhg~4z*mM8SJPpYr78gw#jzo0S{4;A1*l7E!Tzf)?tbW1i z)&nQxX3lhv>VK-epP4bk{pT^Jse(5GedbT(*wNF;J&|S8Z@v!Qa+$sC3MHHl`!+Ph zEX#i4SF$>YS7yS&y9;h{Uw$LAjb~Tlt25@zi~`#(ZAmm;(Pp{!l<|XJ%eD86A6WJz z@K>8|2tQ|T@H$pG-1#`;)wG28uz6hx(wagCE_2LG?+`6CKf>@an|b!ZZ02ZJzD~Oe z*DE>d*Etf_n@qkWx=_+1Yeu1w2dZagrJVb!J|7ff!sGfHwCICy7g;Ol2HTpR%vYu`S$X5(B^ zd6h+ER~^R&u9lzrD;8dH(bz8>mcaX~sp`OLPYJW%{QdF=cXH9#t?(2tDnm{ Hr-UW|#J=c< literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/diglett_back_pic.png b/graphics/pokemon/back_pics/diglett_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..238432ddd48015d92c92c7ccf88dd5fe8b94a048 GIT binary patch literal 406 zcmV;H0crk;P)cg4)j3M$=Crh|bAx+IT2df;dwUQN5Z;_x#d|@dT0v?c0RI60SaP8p00001 zbW%=J06^y0W&i*I6iGxuR7i>KkiTw&Fc60`p$MtGof9dOr!&gl9P-p9sPa=}DO8d2 z1n>rRI->+v*+D!*4f)d)Y`1Dxe(UeM?@l+Fj2ZLi1WnU8`&vrboUHxBG1Gv2w-U!J z%R9m*$S#1iD72tkVFjwIKpl*IaNV$X0B3}^0jUCFh)GZsCTC4B`>qx^O^_%kuZUA_#L1S62>Dk!-R2Qn1+=0 z3?U$o$s7~J6+-~8XP^Kq<$%ahX9cup7&E5JCy9+6@gh!KaR2}S07*qoM6N<$f+i!b A&j0`b literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/ditto_back_pic.png b/graphics/pokemon/back_pics/ditto_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..002635423699cb98bbf315d8d862840c8d4ae6d5 GIT binary patch literal 399 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*Q;0eGW`D!N8gUVdpGCm z)#4>vf|`ppqu}B|hM}S1|NsA+oQ|Ia>SZhm@(X5gcy=QV$maEQaSZY3d^_22(jfyL z*I+B(Jayyhh7-=4@478X+;;OwiOK1fw#|X57Hpds)gzkLZab}SGxNpM-=~YZk}fW) zpZLEn-u%Y9`$@7^YBpzO>Rd?@qZ!#JXT#ix#UJ$Mq(?u&6I8Xi1l3Qe$VcbCo{G5G3Er zcV|}u^Q81d1=j@%6Bl~3J*<9eP(PpdNMNDxw|Nft7p{raR6N<(|J`yA3t#3mzq1L? z4)=*gb{H88)J|Jyus*mW!e2dK7X)! g;Xj*hvA-*|)429B9ND$49~epup00i_>zopr0PA+JcK`qY literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/dodrio_back_pic.png b/graphics/pokemon/back_pics/dodrio_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..090c189e4b06188925b0618a4285b1e0308dc018 GIT binary patch literal 910 zcmV;919AL`P)ay1$qB6|xu zB-9kai`A+9jUI|@7Fat`Cv(c4-b+fh9zlX?(87=Bp8KL@{m=Jd`yNrq_axLChr1mB z#qo{XNbJ-bL3TT35!DEit~(NiQUIJJ(&VNifv0D{N%{at6sH)QWYzUUwuLGRRSPV8 zexXc27{K|u%z9~Hcycr@eu}g!u+@M%s^MsAk^6^f_x=$9GWodoKK~w+_q%?8EdYNe z9;M@BDP94JZ6ODq>jI#TA}jj9kw|+u98yY^DpkL)L=ico`Wq|wdcy;Sel+LQS4#8& zOR3Af0a&OWUg5&K21wp@Q!L9(Ng5;V99=5~}r)OYRCny(5c8JgqgdIpGJRS1Df zZq!sDrbIk|b&#YA7c~IuU@8o?-31)sKplXH#VwzwEx=qAYve2|7QYr{ zdbjKYQUjnPr6V@02B7U*c@1Rv%lkl?Y7aU7tUP@km>R<%ktW}}fSsZh$1D{Qn?@S3 z$ZU9{QWM=gfq4^9xAT1{7crh03mEW}ryY5F80FC@#^}ZZny6h~PCVE1a7-3T>M9st zH4u#^L(jZll+J697-M77xEfM@o#U`mcp0)2pv^GQH*=~tW_AXM25fj5^zu_?)+ZEo zcE-fOts+$WN%yg=v-=BxJsDPeP^~BT&l}}HA#9T$zD;`CVO-fs!OG8XM@``q_Nf8b kv&K2x*7L5K3h#XX08|2OkuPfJdH?_b07*qoM6N<$f`NjH9smFU literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/doduo_back_pic.png b/graphics/pokemon/back_pics/doduo_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..4589eff60724b206d34276c3da35db3e5d24ce80 GIT binary patch literal 651 zcmV;60(AX}P)dvj_r{{a7DVqy>w5dZ)GsDas+00001 zbW%=J06^y0W&i*J2}wjjR7i>Kl(A0aFc5~_CDMt!ot>=^jqPo2MHAbih|=sXhs4$g zG*@z2DWU~lf)^l4gV098yux|xY&K2|JODRJ;mLgY=bt1tLjS{y_^W!Riqp^P0%MgP z@?s2Rgi<=|QcgyR`DdYRWH!xm6oLX94oc>vUz%x%Jn z)f>(fyIb=839_Y?W1a~C4Yu4^P)Kk}+=UFc3stNOkT&A{Q`~+JLpJ`4MYt9z(f7%BG5pE8i%8(TJD=93{;1dd9n zLsJGSylWfm-!dQpLU}^1v7-&;CF(-GThBpd&LDz|8PLtr62XAnJPaUUk?*N( zZ2VR<*?D;FhchfPaI({VNfb>y4}JeKz#?Zng{4Mf_JRD{Yv1?71qtG<=XMQf+1m`9 zzaslIqFet1{QWe)^$B?Y03jY7eUs%I@B-j^jYw6x>Rs_ChSES!o z-n^h(o9T4aK@J^neYXcc;+W<(Cr_}~pZsObwu`rl|Lt8c!QbUwdziAjT(IX)qbh`im literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/dragonair_back_pic.png b/graphics/pokemon/back_pics/dragonair_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..ee3cf04d142e605eb9dbf7206b9984c9b3d107e4 GIT binary patch literal 672 zcmV;R0$=@!P)@_9~}pxIQ+eI@xac=i)a-WJ;l~WrhkMm+fZvQk@Ks#@F;iwWa5BjK%o+8wt1u zkhzp!i^mOsRw?Qy*211z{3U>Tg%Cg20k2$@__Yq)ttvI}O9VARgqZ8V~6FQ@xDu51Y9I8MAbWO8`o$b$OBYIKx zB4GPfeo05Xv%rv^E+Wc`c}+XIW4RIVYAvtt;R-oca6iWv>`AF_RZDRq@0{;)z#i}b8`?75dZ)GZ`1@G00001 zbW%=J06^y0W&i*I?ny*JR7i>4(@S!rFc1b{Ev%(E1k7B3)@;3qnyrg6_BJPGNDg3P zs_^Urxd4fx)&qz^&N`ziKdSoUZ?yo%{-?ElrmsE>E`N3XGI&wfx8UtVBc+Ch=Tv_h zY9H&?>(JGz>V}H%bm568W9MoDky5I9W^ZKy4Lhs8Qy*+w&H$^;HQVw4dv^{z0(K?!el5QQxOIX;WSzM(DywEu=K$h_vNn~MWt~05Ng@y+UzW_;#BrR0 zUVj2WYLFx(0ucwF5CA--1PJ#q0PcVy^#LGOdlcXU0-GpcT5CP{tPbf)#0XI8uis%H zP#-qL%Lot9fV2q#VF4^bF#&lGpam;)7GnVQ*xdt1{aJQ!0KWmkCG3}VH>K3z`q-}o zL@*{?GdjjBUjr0?=K4*%3nrNShhO_(f&m9{GYKE3MAN+R!0+Waog-y)0TyzN?V8Kl)Y}kPz;4LWQ8bFUmy;1QRA!yN-|dJySClJf?&fm z4^V>GOK2e-De3*8Ln}LxI&+pg_`CM8og2rw=>KxtfV+_pNYCf~N&v=ZV($wnlE4!C zKuD29_Nog4;G(&@eh1)dcnB&*NjX4IsuA?cY?4DL096Fni!93l@q;%J!8TJsh$xsa z39@+@Cj&OY0R{?~RK6cSaKISwmQ)3d0>8iEJR)w1D91R3{*tp0ry8IdF}2L?FckZyctm>wEn4tONwfzz^3eZr7t7&9K6x?2=0 z%EO}qh8*BHUkad_NZO}U7KQPN>@u_s3*?_dTmz~GZKSwkT+)je*Dh6!=Qbb`TF@%n z0MkY^Y6MpF*lz)54S?x$CcG>oy^TeaOS7&fmv#^hHOwHMWS7dM0vg)zB%rfX+87HQ z(AmAJXT4n4r-B8#ZF1jnSfF;x%{`_I|gEMhU5G|x{`XWi+c;FbI8u58D P00000NkvXXu0mjfuFT^t literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/drowzee_back_pic.png b/graphics/pokemon/back_pics/drowzee_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..6a5d988184c99a057632edf3d45750cfa2907ac6 GIT binary patch literal 440 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyA@{{R2~-r0Bm8UDl3 z-tM3&S&msjnqGzi|KCmdf6wvWUd<_43<3fImo3G`fO;8Ag8YIR9G=}s1G3FLT^vI^ zI^RyR&O2-%;Bs|m_XK8^ok>=5>c>4C6)hPwxnJ&FQq?`Fs=IIclH`xcr%IXl70fz%fImWGS!Mg!Ae*zDpnY{+gSoIFq?;!eX|4tUIJ`H?Ubw zRkAqXA$uhvkAdNK!#-w>js_cMrpHo7nu(3_b2eOCBh0`a@=LBk_m@zD_nEDMN1bn3 zpI*hMXPd$-z#%%nY2F?rH{#|fAz_-C+%i%Tqz6rYp2r8`O?wP;fkg+1eb*5u~ geKbE@xPL*i&n+O=%>7dsFgO`JUHx3vIVCg!04a5{jQ{`u literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/dugtrio_back_pic.png b/graphics/pokemon/back_pics/dugtrio_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..84fd0b6307191ea699c39ac7abc56c0d55d6bc7f GIT binary patch literal 541 zcmV+&0^Kld*2XFc3gl+D^^iB?CjnWKbs-YAZw41rk-_AG(xE zmih(BA7DovQSn*q(0oH3$95obGFBZp30cZLy*uBT(dZigGeE^)o~bAY@>xDe+-F%< z0qoEN>@86A3v`J-g{#m9xC%n}YwS%0&iODP0OVi`Tusy0gaUGHfF2;&Zns8ImgScR z$ZG+IvYJ)b5m-T~dnr1O!1$#ZXy>W{ld3kr(N4TwBq;TseliQR71De@_UzQnsmSVX z+cn&(*eUld{p>Lm=DxfGn8#4m1|ejtf)OxwtOd{pOlzEvZ)rqmSgZ0Y1Stu%qxzNfL$;#tlHmYY_S`l`bQ?Nj{buh#jyP6AHUj{Zs-? zNxV=8#`6Y1IHAihp^Fe9l}R@0oZ{vZH&dL(VKj?LROK;=)rrn-d5bW44^fh?v;fav fCX>nN8h;$Wu&fQ*lyZn000000NkvXXu0mjf{Z8nq literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/dunsparce_back_pic.png b/graphics/pokemon/back_pics/dunsparce_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..05f700ea720015b7e6e1537e7cbe20a93384d720 GIT binary patch literal 593 zcmV-X0i;IiJ&DCmJDZPsz-n}{I=7aY3#sB~Rm^<6i00001 zbW%=J06^y0W&i*I&q+iKlf6m0t~deAk(HUY#S&ll~ICAd;^W_WFR4 z1mJN5I!9zUjy`IH$NPN*HV$9Om-35jHtCRQkmEUvZE0crK-bz##$W zG9<1z_ffdgJ5#f0B!J#(9s$%NEvzeGMsy-T+U2|f9wK0xfSgWXR(Y}?;4sH%;8g=y z%g?To0qg@+Ws%-)773<+$|6q6y{8@abPs|=dcl0tN=iXhz>Aj?<>H3AMJxyX+;r*oh55N4q&Q>(5IAbDL<^`C?KaQ zO!xrv*tS&;12UOiwg!O7ZyKl?pcVpIHdP8csOSKRMaDn;RK$9N*-g6Gi3HFPNzLN5 f*>R0S{Udz?-(~0O{)QaR00000NkvXXu0mjf2eAy& literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/dusclops_back_pic.png b/graphics/pokemon/back_pics/dusclops_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..9362e84213d5b79b6d81574e0325ec760e133940 GIT binary patch literal 559 zcmV+~0?_@5P)Kl)G~4AP|Pl8+d2XC6B|*>hzvr)u(`-N;##fpfc5Q z-Zl#oHi{5M+LJA%kN>h*zFdCiCnMl;0l1z6y$A4qt|;{Xrs=*^G(Hs{KWI{$fETVk^qzWyb0+tBj2(&u@k2Pi5K`0qAe*5}F zEVx}10|@R`a^Rl|I|QJcc9$U@5wr>sP)&QF&q~4uG+78SKi-ccL3G#w{hV&v7|sY0 zkl7}BN$LC;GD>#H0pXj0w(}-rR1vu5fF@c4P%Oa?A6bijX-H9;bqjxI_1xu)^ z*x_wfe%?gH6aZ3?1NT|E-d}SdA!`IbW50ZUM4+48KnZEK2wn!veFunc0Kl)_0^rt| xfK)4fi^Fc1guq+;uW8!1b=i&R45B?1ylmb7ypiaR%D>-ohEE-knDe>V1?+=s&GV%#h@sTl20Y@7=2PvAQ5X0jZ9(g~YT76XEUbXw zYp(7!)i!_zic9@q1z=QFLWEsltuQ1|@;!tGeDIFKg#`jyQb=sBN;IIhK^(|{9uZK(lKtrKoA8`&k4d>N+JP8a2nbu4cEvKC}M7aYl=u? z3ZziQH;Ax>l$J$`Xw67m15vCX7a+3(CN`09nG_z$js5n|?5-WBs;d59sgm#TSi1~d z@1YFbUyK0H^IB!#VuS^qLH@;=b{Qb%w%Yh8f-mlXh^J+sb?qFq8JwEHB>n|Dn2V^> ztN=hp$VD_s7lydXKo-%Ye_*s1*;?A4#r?~Ct#t1AW#hkv-#o&49z+mvw+2I5cK`7W}qkA3>cns z9Y)*)_`C1>b=!bwD|caseCG!vZX)X~m?uQ5<4JM8?SWzR3OxzvrbKBX0S>r)P`rsD zr$o_BUjm+p*QdL~b+=rUeOmA~==FR7X|md7m(}8Po(e#G>DvJRS?%{F|9Vwb{ZV}b X&3(Frv~F<600000NkvXXu0mjfVffNh literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/eevee_back_pic.png b/graphics/pokemon/back_pics/eevee_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..79bd1129c6aac100c0e9f5240487025fac940d31 GIT binary patch literal 641 zcmV-{0)G98P)K)4gunFc1J>E?xvg4?)9|(?x721)b8RQ;k0~2T*{TcNHk^ z0oDMG68~*2P`n35+4B)#iuPyY;=La4`E~YuEp9)DfIV1aOsgv_WCkiw4QuPQ%To?iAYjU(c)|Cz z8LGgn$sh64!$$RDs6vdH=|pm!YyZ-BtHAD-pur*-Nfmr7SJW%yMbfhq|++F|fE b{%`yR^!&s4fHvE400000NkvXXu0mjf`t2vR literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/ekans_back_pic.png b/graphics/pokemon/back_pics/ekans_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..e72a7a9edd89da64379cd7a14a90148201f969d5 GIT binary patch literal 616 zcmV-u0+;=XP)Klsj(1KoEvqvO>zrO(NPHAva3nh!Ys(DxD*mq;Wt= z?tqjc#l~;}BWje4Ie^2GHsZ0FS=+*oHIY&?1sKhzfBtzG%R0rs<4jDB=eH4Tj_0G< zF=7`H0OO`S2LxdB5;qFKX9SB*w@HEnMR5KWP8)!)83E4QboJfP0x2v!4`68mw$uQ| zQwU&^;E@){!eDb(%o_l{c*&Eo5J_F&C+Oycur_r8_TV`El=x7l7FxD*!V>2B7l{qu#)>#9m5iXp%kSn1&?X zp30;g3~0D#=A-*nx(34%&;q&V*&^4% zP@#{XXPBjfP^wmjU3>I}Ch(+GEM=8o?ts49fG@=yi%41Vp*>>YsYY9zMs3pCBL+u; z4!bJB?0)vd!=<*N$`Z`>@<%?!DhfL(tvmCWS6QNqSQTHJ+@p?mNH*iLiDB_qdka;7 zb-f}G)d9N*ywh1oS@aOty#t>Kl-hiB4*-7$EwCvA{(bhi3H8RSlg!)XBAP2Lur334 zB9o^-7=`)jz5{oh=C%I5DuDNL;~nyHT|byp{29N*PLl1iz{KGI0000@00001 zbW%=J06^y0W&i*I;Ymb6R7i>KlrhuWAPj~XGKU{i=3efsHTEBOu8YSAe}l&&d{>VJ zDj@lcG2hU+)sW--K1ia#xew!OWvSKDU7P*eN#=iyDAvXd?qh`dJ zZ|&UW3bZhAcz-V5Fn&==LH`2oSl*aBYRgC7b=d;-0Q`zeKofXG;0y^^79M=rNY7h5 z>X;$TlDN?PtpGp)I9xbEZX$3Wn^HRvw^|*&5BWU&0$ulgPjOK|medYdUaI2eU!pM| x$JA#)g}5v(CVz)t@ESDhux{+8etrLR`~fd0C55TQ$;AKw002ovPDHLkV1hwH5y1ce literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/electrike_back_pic.png b/graphics/pokemon/back_pics/electrike_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..c6e9e83e53cc57866c18336c06dd8c2b4abb4cef GIT binary patch literal 499 zcmVKlCe(1Fcd}IR_fZAgb~!Z3N!9AWke;;j4I*ofCwWS zd@chY(4c-mcy?^ZX;T)~+`*M{Pv5(~2_b_9{YL4t#nm$*GXywjeHj0Ze|0>Zb2>UErGTGm@7|T)ze`F_4Z&z@Z} zXHHa5(0_*i2()F+|7x#ijtpB28JYz^;EvSW9-v;vk|4ie28U-i(tzw}PZ!4!kIuJ~ z_vSSlh`32!675u*xq4T1+YH;p6B3#pXT5jjH+cSLn6WU(-Ffm>j$7_8zVaXJEBqF= zQ~CbIkLA292Xp_u&iQ7LonP}^rgP@o+DfJ3o{woJ^OqRSXKHYl)#`tz81J@wB6EnG zB7;EH2kr~PaY`b8D_FTIN<>!nnLg0i;^4BWdGU+zn64P6;OL1wls^*r~PA zsIimxgz+=w=?RS2kgrKl#QUYwk9J6`? z7;fA=(Di7G8KYC2#@XD%=U64odDR5cS~w0EJUO;ng5mOqOs0e46Lo(J9V*z;;KsO@ ziD&8G(00iwGS?WIYne1OWW5T`ojN_=SmeM?my>#|+nS2q3uf;(*#Gy5dYz&}2q@YZ NJYD@<);T3K0RXFG%4q-q literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/elekid_back_pic.png b/graphics/pokemon/back_pics/elekid_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..0d8d9428abaadc973389f7de2613b5943972ece8 GIT binary patch literal 660 zcmV;F0&D$=P)Kl)-M|Fc5}wAV-=9;AYeFN*VWz6voG0qd-n8k!RkO zIFd?jbHp1}aBRIZ2_!b5yuj{UkTswG`Dex}U71#CjVpg9qM9gu=T9Rd;!tQeq+JMy5=jDe>!kg&rmKrKpSsMU{103fF@FWrByqO*j3=9jM+NxT}B|s*ZX$mH>tgsmdkH$j!ZHGzb5CZtob};~J zwG;vH$z9YwunvKIA9NW_RDK2UlkMnI8LT=HAnjDUw)O4gvf4))js z*5)M9X007t;4i0-4UR34OMS_bhj9g}@un!aMSaTx*Ql4v&Y>NT>1?x$8gB|*Y}UM~ u+dyRB+BLiKDgJK|3IRO8ADds5voB#m-=9K@<0M(QL)z#IktgK>UVh|7zb=_Z300001 zbW%=J06^y0W&i*J*-1n}R7i>Ck}*%)KorL<0b{9dU^A#X(;;hY4@^|}dFbS{@hwn^ zkI|8CbVG6{Po4S^x|Hb#wsVjNwp`puj9_I55<@Kaot<;+0Q~^%o8r9R{onup?hNBU zuFZFUX#yC=$&Z)&b{vHU`!#r}zY$aFFvebz*f^k;4L*&T8una2qP7D=+KT~T|Ea$t zN-e+vHjU$$zIoE8lo+vPzy+@NYa&444G>onFFbst)+Ur>;;XW8! z$7{f597UE(qbPQ5^vaGe*MNh#M{O4s;%`G6z`y*t7BY&|7Wyi}(7~K1>jHS*UIH!( zg#KENBRp>d^Keb^cNBOC&ekTV^Gptv2`dD6JpJ5}*u?V=6Jls#j%W^W`t`gcaisd3 zkR7|<>(M!c!9`hiw#2|EyPRCvxJT-OAAIRpmVBg$v6mSTB_qrzpD@h6ASB}?L z0EBIeugJ1Ya|c3{a6*{3fm8#8b9UqPEoTmoZHrT~lK6B37zly0XC^2Kk%TpHzM8R3 zS_%kww&O$jJWwfko)^HNHKPrn!VNf1;QOyHbYC_hIOjyj4DT|4z|b)yN%j1yWL831 z`avtgRF4;eb0P1gl-B`kEorI)V3|oK2^r6WW|LD5C;=>4q-6IRf-McCra4^+h$Ksu z0D7Eh3!K*qwLnr3B>*jtrkU0YsDVW#&;mFgbu281nL`WMHqAY4;SL3od;G|6!EXR< zfs0Y4P(7}_d>@!(wKO5tfR_#$at3osu@S3o{z$AIo zuGXOUhzZNG7*DV(M)|F;*I?FfNhcJEl#{Z^<_%Dpt^^c-tH{ejd6^HEfG!oWP(LcK lNX)tb3M>IpbclbT{s8-rh(#HV=NK00001 zbW%=J06^y0W&i*Is7XXYR7i>Klre6@FbqXK%0ut$QI!xNqgAK7M8^lHm=n|>T&+Tad+xc&_#tb;UZ3GG+woT^H zBD5JWLeQ&cg9vlxVM18F(jvwjs3%;ATI;RTCk_k6K z*C=yR(Z~c?N)X^hz^4p2v<>hrK-Z3azHkh%z>w=lO$h@e^EBh`ae)n^8D$^JpT z+){ih0M897pG+ch`n6Jyaz~wq)@sPK=nT>(3r#0K?JsQ s^52n30{z|;1VCexfLPc7kMkGj3vO4Mly1AIqP)Kld*EbFbsyXWF^PYwL|Z^@+@>tg$l?(wp6n5^=0%v`ZO&}wn@$ykhg%!+c1mI9u*5d+klEdZ#$YOLgYLP=u zD63!$BDy^y6UQlRK+G)w`?p2s0cO@F32c@pVD~e9>2U4>uaHuOgJ>8KLQdCMxWKO+ zZ4Fhyz;1^%%FY2IJ2@^K_)L3s4?i?>RCArPKgy z8OTSbhb+sEBk+`r7OcoQ`tyuhSF+`N=lNwh0Av%5D=bWh2i;r&C>f|$w$Zz5m;ulh j_+&rsUwubC;}PNy+64X;pA+Va00000NkvXXu0mjfGe8Y? literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/exeggutor_back_pic.png b/graphics/pokemon/back_pics/exeggutor_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..a44877f9cdefa73c023d851d98ec6a54b50573f8 GIT binary patch literal 778 zcmV+l1NHogP)w5dZ)GzwiV?00001 zbW%=J06^y0W&i*Jh)G02R7i>KlD}))KorNd86+^644r))yoC@^y!DSL*!>F}4~1ZA zT5s)oP9bFUoxymtoiF-}mFrasJ0~ zz$sucKLM<6{ueG>_|G|3oG-U~0GL zb6vU-F{OXOWFpN6fqGuay(Qd0yUY z0HISCLM)xN5M&U?aTTazuPFg3+K6%L#klMd89-DQQl@AiW}bpT%yx}Z6=MFwU}UGQn>^ZD8a82ypVQ z45FSBKvhNxLX_10RfMsr%VdBgBM1A2iXv$60;o|mNdU);CES#Rx1u>4M%= zNi2+R+9>LzBJhd-usYaDN-(p|w%3Hs+c)l#Zt4bGCFsW4g>Bwk7~VyKN4zky2` zaaQSo-xB93j3mPx(N(|EV1p7^-I|0d#CW_8Kfz;vH2TciC149upm4NT6#b#^w}(5x z1Wh+}z8c`($7uV5s_xkb_DK3Q%9kJ5{b1i9#owASzyyBt4Lcv~86>pSx?P)rA<(+0 z8boHP^?C*H@tIX8;i%LsU&x{F`|n1Z=Vqf-$zTnfhfc@VxY_(-l}R~XS^`}IU=lWZ z>m0?;EzoA?L)JP59!9;wL4RlL{R=>+|4nNGE*bM*0RG|l4O-mG{|Dgky8r+H07*qo IM6N<$g2ympzyJUM literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/exploud_back_pic.png b/graphics/pokemon/back_pics/exploud_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..37132bf48cc3b8c2e8ffc534f691d4dc017ebb03 GIT binary patch literal 838 zcmV-M1G)T(P)N{j#ATHdruoO2leb5hkxF`PLVYB3nq-v5Jxg8%>kWUJ-`00001 zbW%=J06^y0W&i*J#7RU!R7i=vmCtJ1KoG`#h`^`#5ehOs8@lq@5RGd?4+@P$DHIH$ ztbFsu&G_aVf})!qpohFdpQLY)wog!u|ChFGXLi@IWp9#8>0X31KY#P>%nuCddNf)CtfQ#$+NRVCV#R2L!Cxh||O^Vk8+zF?8m*#SvtPV~L}% z?E-2e0Cq_nv|JLkI>4Ip11)jxlDGiqk<$eM?i{lKA`5_UVa`L zRPqLX-W>rm-vB+O)&#t0mBLA7=38Jzz=RY^CS$+v`}KX`-QDNC_(}7PnE4_!DTWGf z;Pt0{;7rX$`yvRm1b1`^Q4;Oth*S^?5gG;9V3F{1w+*jBB@k8sAW=zD?uKXVh0y(= zyO1RDLAz`XU-7(Z0-|LS?|`ZWx(48WzyEUoZD%rT1SNppe*d}ux~qb0mVgU-Q>S~t z*`+T^KoWPRr}y8t@&4@6b^%dmXyHfl_hTFHP#fx|1O|xSBK8m3V2Wrm^cgs>C}n|= z+Ym#b1+;~}TH~~~oqMmzZLki|Osn5eN<9D#TO^Kaf$*izYgkAmt3b_N|jXvL_p)Lfy$D!VheP~Xn;l3;epq{LJzjKlf919KoG}WpLDiT(VWC{q~aM;1WGDW(@~~1G%0A} zG%l`+LCOQHNm_)*wxA`J-N$i4VO>7trc%Ra3>_kpnSdjKBd++w7-_`0A+h5Stt_c=rVW?p zHt>io5kQS|6d{nA7Pr6|V}<3Q#^;bWY)znq4FY?MfAhQ<&?FD0Leu~$#*hH)E`TL^ z-{Yp^Q~`Nf7z%8O*$OJ-{RcXa1vdbUK2GB2*jV*u#I02{;_ijvJDZdY-yfJ}*nUXS4xT-M`_fp*> zrsN99p)mpVYZFLRzj>)NQt?Iys)&&TkQa%7`+78brJIaY2x$~`+)4d%G3Izncidrgm_otEIYV&_0RxH-YkfcN@N*#@5aMnPYYVEq{lM+g11=+H1Q5s zXeMly(6@?|P%I9v7}ta6e*lNc65#jbf}@BASP%4?18)GvRzlQz6PCc&_xZX>OaCoc e=|w!vKhGn<*CWNzWE0W=00000)+jEP)5D@=^bM{g}%^(o}&3pE=TGgC6taA{1K>+r&TL1t5iMV2400001 zbW%=J06^y0W&i*I`AI}UR7i>4l(BBxFcd{O)SLMe+JpQ;U}!90Es8rdqs1wsLoFJO zXwe7w7o@dWL}zn=qNM@BfUVRrkujSG!x;nRQA$x*BB_o+I0%sM;eGc}k4ESdF6?vx z$hQkXOJMsDb)hk8TP1Lff_)YAlp;`4b?!81U2A?nl3I$y*~`6@>PiD zdGrX8+t=U1DFha?*-SL7E^nwGiRHna2I9|bzu(i~qzy45ezarv<;#fD{j==HJ#EAD zqu-3NrS-tvFiVx`nloh}MCQ(_zF70ia!Zh)P5*U`} zuMGCHA76({bfKtFT4&W=SRBivOx(6O6xCf>ln2WmvjbEK@r&EEg!-sb=R{}>n;_yF~j00001 zbW%=J06^y0W&i*J7)eAyR7i>C)W3_{Fcb%HX9}o8Ps)%kJ@E5jxDFv!!Q%}v+`m(7 zgXWGM?>|U?K*0)JX1zf6L=difDfAC0*)zCLaY9e(HMylrD?*IX$KUs)M2@2WbReFY zwswAE{+YE;0MnDeEY5(rIS1JK6ks@K_;*2s3wCZN*X9hs(?CB3yg3CLY(C#SBAUZB zl{D(#1v~72zi=QgZvF)74#*;mu(MScP)wXiWcoO$yLnk<5Jb%Oe*y}SM-W8JRt|Il znUa-+JZN(5YIH58D#@gL?bl#ducE%1bfC&5PcFh5i)p{86V_p8>*+anW+6Ush zxb^|Mjp#sH$|}AeT>B*&=9+{70j2U}%m*XCNrnbLKnyOS5&#_dtq1f0K$c~B2>|iC zTR#9BBR~NpNkRfJDiu)e$w_oi)D#jpyw! zhIZ>-BX@q2cx<|DTe@FtyhTvN(z|6gnE&U;PZN?DO84y7^Z)<=07*qoM6N<$g2iSk A>;M1& literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/feraligatr_back_pic.png b/graphics/pokemon/back_pics/feraligatr_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..d996dd8ce0564f66a0e16e524664ca8742eb0bac GIT binary patch literal 999 zcmVtU;V}2oMku@!1>t00001 zbW%=J06^y0W&i*KWl2OqR7i=Pl)sPLHWbIbc<3!ghHeE8p-xK{10=n4h=7V(f(ANR zVz=U^u2}|KK#D# z`#}u`|L2^&z7Lq)2h5lE0Okbn&60o|5Y{d$%FH>mmck%EvW(5 zoy1Sy*#iK?ngE@*8qcbO97Noj>nRJhC*tTXVCFAP7BI#%#pSo6N-hs_;9R2tj0FU! zUos&ReFw-;KO{)t{l~W%es>2s0B|mx!qd%W^QRDX*v#)WMo1aD^CN(FnTVoh2sb76 z$o$sD<$C}d^^17p0Iksn_S6A? z{qxbshXowmxE5+#aSg!b_+#6YnSGBU)*6GF2tKw|#=|WU+YgO^$RP2CfXr61f{Abo zV*8;L5ZRN}0)P^ljcbj5g+Fh%U7P?}tTg~+;9-zt99FMv8y_-Ji6@+zQokRwQu?Lj(L=GX@6|#qGK^}hX|l+S>OB7)wQRVfxco%(X?MgX!}CAOx&whG|GK5$k?ULc`mq=sADF5gA% zfW3$ba0?~r`mS!D@Yo5&k`y#=S2BXF<|Dv&t`Q`V{J=!BlXwiSmPyRB$Ymgf)W6Az z!0Wxlw=SOKT*u)<*Cv%VXhkLYC$-5go~UpK|a$T4~dVBqHA+LVe05UGtFfEKh{?}5)x+m4e#7xlwJ zimFG{lR^L71%hCI2<(-VGP!D>KF(br#?dr#f1j~5In02pQdi1KlfQ4%P!PwTM6*#@&+1kdUtHD-J$Fv)zOt60SPhdG z)cyxJ8w(=N78YR}wq29?*Fk z^$N`9wM6@_CheeS%YnOffP=GA9{@xRFnj)b3G8D~BOsGAn|Jr{K0B=GumWOC5vvlI zmMsAPT)=77gtPc$>H%<`NLeG{6y*#Gz`7n1tOYmfq}MGjj_opo6cd0Oyli_QWJTV^Rn~ft>UFyY1kD5fI{lcF1p@GAV=I{BeJdP_n-H)*mx*`3@e!1bsEb@59HD3cHp0BDcx-)gN} z;PW+rtlF6wV6`djp$f3@h}3TY#i@Rau-v2pjsyCdc%r{8&kkY)g3fyiTpG&}_;%HL z$~gt@FOA+j>YD0%s<9I;xBHy;~%hSc9#GE002ovPDHLkV1fD00001 zbW%=J06^y0W&i*JLrFwIR7i>4l|hc$FcgNfs5eN3JDBzYJZHluqp{g!QKCt^nbSoA zHkD>hLZ*9!6AnKuS&j98;J+r%3)i*T%5tn9OA{^7>}BZ#xoon4Pz^N4 z{2H*AG7Hj=IF`}}#`|2#UGVTB!9Z65t*|3>+5=ulom@}%Q9u%bo*nzB?_o&o}>Ft6)YoqQlUD@6L&MxF%;d8fd6J<~lq zxeAW}odN^n6`gE=%sI?V1kMql5ZS;xw(2^mk8%ZgE@0oMl&$;2&txpJuOUjY>Yyo2Vtbsv>k#Or-Rn{&X0kQn$0Bctv)TK}}P=5uq+F);uD0RR90S5&7h00001 zbW%=J06^y0W&i*J_DMuRR7i=f)xS^MKoke?i`h?+s&dnXx!I5`OM0FPsMXrZ2rF!u2y4HC`>q#VkcbCBm%La5zgaWQh;Ow~)W()*6LV*=b z@S=kArivx+rw71;IU3Sc30^dXUs25Ll?ikOPL6_yu%Z+0A`sP&dtWcjF-W8=fsU(z zP-|)b$7Q(>l!!TiAaGCm_4H1huv7 zKE{Ht5~zcK$OF6{pad0Rb>Wu~t9igH0EY@Js+VF6AOQ>1!66c(fbkQc5bUTZK#wv1 z=Rc(yj7SuqA-R(~EKig$K;l-q@HPji=5R66pvd?O*}OW5s)4kP7ms`VwOos@3Kf## z#nv4U$r^LTVdwdhyBChN8O zeOVj_p3v(lB~B>E6tIG$Ur*VT;~S=QL$xQmv!?gt-aJn0|xZP!1zKPX|pix3$A O0000Kn literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/forretress_back_pic.png b/graphics/pokemon/back_pics/forretress_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..5761be13799dfc30c80e7d6cb7e7d90573d30a3f GIT binary patch literal 525 zcmV+o0`mQdP)KlRa*OKoEtI%mIv?E|*9&KyNWX9kD|n8I}`-Jx`P_ zS8$mw%AqndyT%|ainQ@7_}TaE%wvEky6djL3JZAJ@?+=RX$z>F8|_w!%8flW(hA^a zhhemY2oVm>?QZ}D7ifqG-R&%pJ4+dnVcXg@0A}C>tXljvu;ZPV0#>vP5kpFq2P$zP zv#*PISyPH55d}cRc3vVL`?NGx0XcOH03T-nrE~?@XS}Q3G}L-Dr8qK$oF4$?ZkWxY zehUC0^)cRDg$X(iuR8Z!#%>J_G|)NF?8auK++hV4}c|cgZC4 z3Gm_$;8W%@Lc}U`n0!2dri?pYy$pdrmB~M*2L*PW?nP7|3-bLLz+=dufPPXZ^nelI zP$c>?K78$x^hF84cJhGuaQyjBqUiH$>aSL&)d3LG$MgC8zWP7z`q%metkC52BneU& P00000NkvXXu0mjf{{7=f literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/furret_back_pic.png b/graphics/pokemon/back_pics/furret_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..0dd2873af8748726df712a73110e1f1670fa4b4b GIT binary patch literal 660 zcmV;F0&D$=P)KluwJ(P!PZaLTFEZhXfH%LMCPH$wObw=ATl#vkv}V(M%T*715}e7OHh*6733g7Q^UH7MP3F}woc zU^oG{pGXz}_kD&GapI<$M$GwKQ5@9~DQ>=Lx&v?#)jCug#P2WLhAYnFR!S;@A78f> zTpgFOlw894{ita$O_nN_0p%n6-`}=^CEHvOIdA`b(4I1tL1qBkYPZP|%WF0)#won& z09b(NNx0Dh>)e1*dg1GVAU8x2=uW`~%mHv8w7@VZ0k4sn8-rU0@)mFc@9TNfnwxKK z&jxUtEzInDJ3JfOEtuALKiV0C($H+dFdf(f0oVml4S=u&78>9S0pk*gT0Ig#D>vFD zoq%bR!R-Nt4lnI)Q_QIi+}R9-o31$xK2aWoj~&2ZEhh|Y%TqQ0$_M&Hw-Z|IPobl;)Iky>l^pN)Qkb`XQs!00001 zbW%=J06^y0W&i*JAW1|)R7i={l(B9TK@f(wusd?rT+&B3m>S6m5*@_4f{F-vZ$G@);zol?e$G9*Zo|$)<{0hU86|KJr^Yy|n=0_c0apO0V`q}-$u@9PcDH1LnCSNfU~~eZ zrLjq8e&E}@89{SJL;`Rh;tA}3{vZL#HG~NJU%oOh-3D$MFtk7iJQOsm{LNsXO-f6| z2wuJ~@_buYfnj}uT=3$!$SWmLi7F7EiNK7Pxfo$n z1}3WhiAHg+BPY}^h`#qOq=ab+{OtJ?0=Luk-rKos;10uC8#{u5DQAfRVIBF*Px)0t z^ln8kPMZ6ZigzPPU4cQJ-O3;QeC z=m3#7qhZ}~thIqB5EUI1OK*u1K%}`aO#gLxc~qF07*qo IM6N<$f)8Rg3;+NC literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/gastly_back_pic.png b/graphics/pokemon/back_pics/gastly_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff1badde4394788d650180ac6864f2912946b8a GIT binary patch literal 613 zcmV-r0-F7aP)KlQC}NFc3vmlNH^$47N&XQ_HdLfp>BvX&n{AGM=ZVmIUiuvNU9cKw%ka4#HD+>0<;X5|1(u0zuKxW&yGf^CYB@ zFc4$x4b)z!mGdmEO@W4UYl`~IakzJZV(C5F>+-&7%;A~j4S`x1Z%tz+)rZYF+_HpW zDe?JQ>v}{S)H81Oj*w`;@1O6w0Q862?){wy?K|Su!OMstrd#+Hy9~VP6_zo{LYV1EZOM992tFKQ%kbkAPn>c#=c9gk25)dg`Is6%>H5g_5l+K%*Rue zRVurusTu51(-N&_7{22F$M|Z`?s^_=m;YGXi+#REN9#1dTK>CffUrCdak}C0>sh!y z1a>7RwTQ3@N5~%~FY&Vjpb}1baRh{z^E2KU5Y>hrq(MeZUJ!xqj}#Cw7(fCbn%~Pp z1m+!(vi#s-p5+^WYtSc$0sva{8vyukB{P7R&*4^sw{ge>z`p}Hmk2t*=$s3%Hj30p zC&LJ^9j8sZGXQ9O2l$a^I%KezSq;@1Ez1X}Y3Mn&#;cH8yNQ9P_9rF!U z*F7~n%)Mv}Nnd$+vH*r?LKUCBs%%d2GkZSd+2s+^-s3j#2N9iIMh84GGaR9|Kz^xk v6B7Yf*O4J6St?*3wFMnx?C;iB{A2t9Bd%wQi$h_R00000NkvXXu0mjfnr_+ zE{lNa`Va5yVf(}#zvYxGbDnzVAvVj0E7+E(rAS?P(wUd$9NZAi#rx@s_4cA$9Zbe8 zOq0#4H$Pw8$>iN2$Id07U(N8{g)!NMdyo8e_Ch9}waa-qHeL1fSybH^5x~0k+e!z| z4E?5@8{Z097QHmS-M#Hk&4wNSCF7Z1A9U;#eB6*UXWo;$53YX8F2fzZ|-xgYPH`hBKn^x&Ft=RuHYn_^UQ_4*5>Rzv{KNRGd}{(m&ZT{&)cFX>kERwC`^ctp9LK&ej-h;DWZM@L z<17wrzpj)yXYo}&@0kJX7U;{92;f}MER<5xJccEfE{&knz^tnN%X4+EPNQ<~r_yEA z@Bs7ez!HJV7Jxlp1LjF45Xfx<;@5XT-!%ch;xV<* z0Ip(FvxRy4ScpSv~e7(LmcAx>F#{koUksMu7rSYmKKrU(*T*w1pzB9sPdnGAfQcaU_A#* z=i<<|voO`BXWCO35a~3)RGXd!J;gxhKs6!Ls38R0R;dY-6aUNyM8--!vU4J_!q^#ed+N~`<^)57Y!iO|&$n_~gY3MqY0 z|F>2d0c!A_0FdGP%c}H!U``t0Kt^4G|7QIKZKQp8bGWNj00000NkvXXu0mjfKr?O` literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/glalie_back_pic.png b/graphics/pokemon/back_pics/glalie_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..9c73ee9b221d53303d662343288498a64ebf3458 GIT binary patch literal 701 zcmV;u0z&Kl)-Y^Fc5})A;)^`rVoHTJ!goVUNZ#4)eS+t(#|lw z^29PvV2PxL8`}OW*@iZOV-KC^z(M=*?Jun$ir&|Mvncwoy;!Fxt}YO?0iZW$>#m}0 z6xZ6Gt82@E(Px^(x*`CPtF?I(I6y!wg5oX0v48Ri8Tv&KXz7|S2^Q@-cSpW zIaHSZsynSw4`yy0HB!~l)qIBJv^C1ZScj%Yf-8G}GiNnS#`drX%s zFxU=_V^&yd#z}e5dh;VmZ*X#FAqa(bxX$teN+8YLeWv!9_Z<-Hf243H+HB%iJ6ITaZLxfdLP zcr3EKSYu0gfs`fBhjv|yRho*TBn;rC1#&M?-&z@2ys=; zMON|)pa&QP8z4ZLI-n8RjPHg8*;Gj{P`Jwg49cAlxF;_V)AfEKb7b^yJ={}iAH-)U znw0B!Jd26si!<#naz*Av2(@k?xMR^?`H8w7a0bnXslX_ge$bp^`UgO`3cMxhqXL*n jdB?wni+^zM>tC|MuSh7%_7YT9itQy<)}g)ml0Klxh$V5dZ)G_hi^R00001 zbW%=J06^y0W&i*Jen~_@R7i={ls${wFc5~#$=e=T@&nSOk3nmtTMleCof~_i~=x(se$Zoz_3p3>T-&JK%+6+0%`-KXs{!o2VdC&>mGK! zL6tdRT6aRAU2x7rOT9)lP*^QMn{Z>aCmN&el7;}+1hW&?8-tjI7VMJLy-Ao`DM57+ z9|NE~zy)F_keU&w-2w;b05nL2X(7Ow-l3-nkXa%WQek5g6X4G!ZS0bINOCa)EsFsZ z>|Kc&I3FDV*o{y+0IdMwEd$qy2bvr%1mx%k>7Bt2ei$5315{;}1y~vPG%IMW15hn_ z=3{+t`dQ&P+ybZ<0bCnD#aUue=vIKh$XElX81T5{KcbES??V3W=Tdkz+V27Q^g~A! zRQuaY-2Lie3IuqG57@}#lnHJTpF$VRMJUfXJzi|wuXZYY z9_r#y+Eb%ENsr?SAb%Ckjb(xJrCS{}6l|n>L7p5BB(eR;*(M}K$cm~amlQVwbg#di z=}mUEKq77gKq#^gYp^ZjfaJ%~l>p~-ab1Fa?u{N9=L)L99m^JAIa;@m4dm`Jx}Vsl y#fJP&|EV`6CqQih=06a$Al+3E0M}jq>*EiMJft^eR6Yy<0000g literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/gloom_back_pic.png b/graphics/pokemon/back_pics/gloom_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..8b4d4221b81d0494e0c476a822cdc9bfacca4af3 GIT binary patch literal 709 zcmV;$0y_PPP)KlRt0TKp4h7ge6jAc|o+JQ|3w>EL}k2cB4|}hy_Lc z0%m36#S2^I>*8#2yyT0Rs%s@2@&VEc#ZH8)(Cd2#R6g5kr*_IS+~DWu=l$cerakLF zi+29vo3H=qADQ*RF5)-{%7Axux^u6lwmn~$0Pn@aiu*Xhtoe<08IiOG4nzjJ|=h7a}6U&Dj5t9~H0K@TZtTNwV z)I|Zn3Pu133~K>4;}ih{9A5yFsw2j^P=RLe5dnZHt^vTuQyHXBNbm6+eAo*~m}dc< zkQNT{8<>{^AKXbz`ZW+ED>Y);P2ttds0x2#6al?SQ|7rtOkj)+5ty8->*myA-VCJA zm;hd?K!tNmaG@#z7fYxg>?|hjl%+EmNx*Y4DGQvP64AuQmG+2vY^dCcifJN%O-TRa zh^5R>fPTXi5!}0y1pAaSwL(G&=P?pLcEGjBQ2;6~6sOcmWsBnU2EELhsK9leQi~t_ zgtR(2;9C@Z<){R6yo8cQ=3nFDQr|5iAyJ7x40zlyI~hXLUW8$EAY@Omndt&`5{BU} z1Lx^tP5r*E0N+C?1XhF)*>%0dUo0>sCXF}Z*+a&U!o8MDj4(|JRFwBWXCm%T+e&%u zBnlU+Ohlhpc>t%&B&?`)s}h{AwYzC(y?yBFc1b{1|;$TeV|mba0k{zeSmUwVCWEHh71fX z~25ZLJ&+60%{!sDX#2bp;TbX9M;hedO?|k1Doy+kfcDMdx*)L04UYHjXX(U z0HnPM5hU|@KS3%VarGS- zpeZBe>sr|q2KLl6|M0|)Hl{ptDuX_u-OeMJkZ00000NkvXXu0mjfV;JzN literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/goldeen_back_pic.png b/graphics/pokemon/back_pics/goldeen_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..8ac7cb7bcb9b874be14874471742a5b20820d0fd GIT binary patch literal 700 zcmV;t0z>_YP)Kls#|SP!xtyusT{gl#(r$-OOp4s2$6PNJo%Ge8)tJ ze6Kf#O7&&y2opc8>My7u4U9%Eak^AFJ=dmu|OkXzvBEwNtMG?r7uSRKME^G}rH4!24jEt|7b?Z=xmdZ3hkog@dzl z;0!~bbnamJG&RH@>b!G}StDfoXNNY{(dQY$GBcHv?#35^(8oPImze+rDO22#?n!?M&u0W6JZ6FTE_qVQ zr5jXqwNfK>uc-*(d9gkfE&3x+3!SBbhVbQ>^wCtfidbaJP)a}fUk|E%8sl(f}ad#o{1Y7h_*#W~I(00001 zbW%=J06^y0W&i*I^hrcPR7i={lTC8lFbsutfKt9?rnx}1OplQJNYe`#w7fS#YUj>W za8{eWi%B)b&G5WfbHHv&kAJgmxy zxu?o)2ZS2)45~=Yb%{6$1v${nRP%tIfn!n~zzbQ0N!}Bnu!}YU9ulIAiou>CD+V5@ zb#QOOzFsk)CT913X+{g&paATD^ZNMbVBlw{-!Gl&e#o~RaQz7AZMh#{L;W0p%isWY z9JqcYY}D6BK)`GbEcUy5`W^tV!0ZA3xOU%OGoXbN1epk+BV4V)36!r(0=`DTWOqE% zHQ#Nd?z-m)7@dI*0A2&oGQb9~H~?v37>!|p8RYxIo0JP`dP)Lb18{0KFo4Pd$WGVp zX$=6Z8~R()h#NSsIP6c80L`YNYveiB1fUFQ4cs{| zWMNX^1C^C^n3nWtd8!dnvK-K+XKxp@VUTH3ix!>5F71Hb;()ou+9v-x1n}x2!Zm?! z0bmOq2$N;-H`<|&GAy8dhJSSl77tBi$_EYU`sQrbE$*^8EPI_)0RC}(0{>R@>_fiy Q5&!@I07*qoM6N<$f(WG-?f?J) literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/golem_back_pic.png b/graphics/pokemon/back_pics/golem_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..fb27ae43f1c1d0c10bcd082a814f6001689deb36 GIT binary patch literal 510 zcmVUK^-h0)wTAYhHT1pWA0RMx7gAfo9X2s9E00001 zbW%=J06^y0W&i*Id`Uz>R7i>KlCf^WKoCSJBL#^ch{RW|p`-Gd&K;Z1G=_AkFUl7< z6sfsLPKy;Ozmmo_N{Y+w-T?-iq(~X2vY59sW1!c&=%T;q{q+}LKR*BL>xb1@qW_j_ zon_hToWId|ChDF+zSafVMP|sXvl$eok!0Ju8>2FAC$h#)E< zn0Ep}s#r+C?Ga#0<$z=sA!5Q$O(2D_3LQ|R14c<>=Yp&yM^LyWBC-5%*m))MW?UYj z6%kZ{n(qrhA~+mt8EGjXP}4>Lz(o8+rhu{(pnQY}fag)LQyc~a#Ek|RNqOjjpyo}} z{X3A4c8PeeV4ufh_*WfNa)r3%3Kbp!Jff_W1i1ZG4lQB=iKp2L*(U8te{tySp@)N#;fwhM*9UKTUIAGFH zV)`Rwa53UL>~!}8?nHwg@9*pYZxVK7 z148x=kE=ci9Xz|~;N-wj!zo+f76>gkgbfNoIiX1p20Vh62@ehE-hf_B`uxGl357X5 z#w7@cr37Ju&=3>Ky1a+dT#Bb8By^=yDjGP1TnIpK4}^2P3r<%^F!u?|%?n;Q;;SmS zn>d*PxC>Q4)V=PTFc1K6OR)82BKaRLER`@UjQIXbM&e`04zGpO zc5?Fs%_Ed|>Dht!_=-AKy(!{;+?_vy5dU+?%(*w|L?XrMIInyjo1=VMV)qVEev17b zY1#HYRgm%klzrc~2#wZi+as6sUfXpY!iU!RZIkZMQtP%wy9YGYp2ve)Z-CE7aN&SD z)9^muMNkyQ3{rZKOTRc@zz;zqT(r5C6A1g#pr1Xw{24$2h__dP1%Lnm;FE)^UtEY> zQVuSDM{chUJ-+szN@PC(1|hz>(*#LkD0=+A)(LM;v-hF<1+c+H(xbes3nlf)`&IlfV_vqGbjWTOC(E>5jaz+fsepJ zW!FHh0C;dd2Krm>Dpy31A_ugc-;FjJ;>}Oipb9@Ku@CeFOa%XS`~hT{oBgGL=V$-` N002ovPDHLkV1jGtAs7Gv literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/graveler_back_pic.png b/graphics/pokemon/back_pics/graveler_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..79e87cee9da8a531063cdcc256fe849e10c0e77b GIT binary patch literal 490 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*L(Nw{r~^}?AfzZrc4nK z5ctpV9}}Iu+Pr2azSMnHtW{f3d(SsbXScsoHpyNuQ%=?4deWwFpmw33%Hm~}uj0AiHTr*v z+8CTZQ`=!Rb9?quhtrMcw=y(8woa90YEstES%{&}} zmI_<3&C$N)E6iJysY8 z6S^$2%=5@@@0kxaFkE^g(qHGTnKXx?Ve+%}%mx!oB)wVH9-U8SoZGmRW&VpDH?199 zj-Qp;BE!2pkKwknGrOhaxyz!#Y=L+9b<++AzpQ)mQ)M^vr~79uJ}#A0@?kEP)KRI75sFc37Wk#SkSN={K{0(=rmQ&63eC&&`YHwIZn zE^JZVJ>}t79yl{u;LPM!dwZ+1ljMQB#1r2je5%bYg1K5xRld4fua#-9^{9zRy%l{E({ykk}s6NpS1|}5+(o$owGoi#b(5Ech;jh*6ICkPH>j$p3u!l z349dDb6R#kvkuG^Q2~QRfoJzUm1u~aB$-1&Dg83*0Yb2viyYGy3;yVSCn+!)q>QXM z!Y-dD7MxvaX6N>GMz_s`ASrQKO6@Gcb3>$|AXg^!8Nth+I-ZS~?$+0qdO*hPW`rnC zM;&ahA2rDuJ~3p>b>h|ANFqdnV-fIpx%8vzF?j;X!(ZkHDM_$6s528E=2Bs7yj z)99_lbqK+63oE0=%c40eX`)`W=wwF{{WfWwZ!`!@!z@BQNTHI4HEux2%98pNDxq1k z9SS%%AcXkq%HG2k5m-4D36;YzWIUf*WLQPbhatGEWn~=ust*aTo8GU9#+0=f@I3fd oG zIZCXQq?~(;ds<@udxLu*DgPiTtSLGF%`wHr&Hw-Z|GmAOYB4!EIS>#KGmH3600001 zbW%=J06^y0W&i*J_(?=TR7i>Cl)p~fP!z^9Wo()uz{W$s+%6UaL!u0BIv`P`l31wf zRfOz=s!DDK;ydBFGn*^Xp=0J$eGDo^t;FC2iC$l!%BSD81BpXIAAqxDI6t57JAZCU zrKcM0@1&F%L+8b;)g2k1+YvbDvQ8i?JJQ#els0ftN z0wTa5SbvBHgF)aG1%^XoQB^T0eH=ySR#E^C?Wsk_0A94+_*?+WSsoTQmF&OQWT8=Y zvZO$FgXPtEgUCzviDr|?9HM=yVvf-lba3>QgE>I_-Lo-ev&%DOI@qc2HuS8|N+w`? zSOhFaQMBz@SG$c_pNCV6Ue?3adHmD2tkG9)7g~VD6H_9r$2&~`_3^!fah4bDz}M`w zQ_I?EzO}Yq-sda1f*G_7Q;Z0}jWwR!1Dxge6B1g=TQs@#tC{j_M$c5P5Rkd(ThpX! z&OV32pIia=ii5o}YbqDcjSr^^RP9N57QGmkia@U5=L&-3QKJaV6aWb9+qzr;$aOKr z?8$^K7JdVRVh+F+whUly&Dk50;Q09|h|rXP4yUok0}B!|H(i;2zm83W$ezJV8jk^l{F_oJKlrc}+KorOAAqxY#7%>njmijESAVtDwISoQ#1 zaQlAU?z2J#z+thzYPYpQE-K)5-EC`yTzCNkcdkAw7@%|k!wqoZ1b9HP^cYw<6Sm$0 zR1KT~a3$ygQ1FRjr-HJ8a}jz#h6Dy&3Rq*7G0<}ZevZ-rZ-Wa^N@0Si7U2K}d_My| zy?(I@nw~U(O2Gm>JiuXW6KaKc<9Lo!q!h0dkPyX> z4Iud>S_z4imo`CCbhrU{pQ8wG9+g&sA}I`jiy%qlc%0O)Gz*V@^6NP;10)8d$gOr4 z{jl6_0y}&pU_zCFJqwqm7n(%~Z7tIj!5YAderMmk(kl4+P~ihmR0*M;TLUHmONW{n rkY%L>d})p^1~6cRpNqyn`@h#8GfW~5Cv43r00000NkvXXu0mjfsX`b} literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/growlithe_back_pic.png b/graphics/pokemon/back_pics/growlithe_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..2b89351a32f8b30abf83277afb705500eff0c694 GIT binary patch literal 650 zcmV;50(Jd~P)KlreJRFcgMqQL(waC@p9xv9^JZ;N2Mx zAZ9s0p1l`{%y!ufB%7HO5LQHamTh8VX^U->SE%_v|L=dYq)z9f{;OiM&fLIci3=IH z0YZ@={-YD~&;JCn6KGqDDj_5{ zwlQmfZOm>w!<~2oE8a%#*XzhbJOM&k7dZj^T(J37u(EDPE(4}QPA<$Rt4ilfA zE&5vTS~HNaviQ5!TE9SYJ8J;*N~hn1Km?L~10ZLe4#etOE0yenCU9;s==CAZThO}2 zd|ccJT!v454L>m?t&iayiVK0z5Hsq0pJ?Nm*&96yOJE05-qtO;roo7Zl$8!r?&}W3 z7%VvR8CQ@RheJIj35)^9dppH#Rw@T3^^_W=F^?Dc=N#ZBA|&@& z)O**d>{~YXh*< kM=5WLiz)Bi&-J^kS6%q!ag-iUoB#j-07*qoM6N<$f{V2vQUCw| literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/grumpig_back_pic.png b/graphics/pokemon/back_pics/grumpig_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..08d476c2910880635ea65c7f2096974dbb0c8b58 GIT binary patch literal 727 zcmV;|0x127P)k zl$3jWdtzc@N=i!qwAJp5tkr6R=B)0`i`BGqy?auNoJwN$&Hn%Z0RR90r}Y5G00001 zbW%=J06^y0W&i*JRY^oaR7i={mA{J(Svo5kju*;A}i?CgP9q)0|NtK-%m1TjTW@<$wcAS{wv2#E7$H_2}1CFulTlj8fy z_x+eRvzqq*MQL)m9=IZ{$p!~P))U%zxPcgXL$bDxYpyqJp-REN4?o+k>){p;jEbEA zE^bjU3a^d(wEPXI>(_|l*h+YFsj+PRYg$5j<529z<& zah{lWPa{fH;Jxn);GS5Cm`~{|6^H`HSVxSj#ozsjp099VHra`JZ~FW6Gw#6HB<7q? zI%<{KAap@|OA<(BMD&zS!4r|V?^flMZwzJLEP{sODppUch-?dAXg002ov JPDHLkV1m8GNpS!G literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/gulpin_back_pic.png b/graphics/pokemon/back_pics/gulpin_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..928f291d1da1164fbdf9e7235839525d0ff3109e GIT binary patch literal 497 zcmVKlD%%iFcgIo2Bc0YKb<25m{DrN%D~+#s60n%D|_z{ zzeYQE>1(t`>W=y_l!{6SBx)y7VuxUFOq}(8IpLDTjaBAL0xlRzp`~=ZJBbep@u3M!y0)QNd;yME;0W?3hNDT@AA6du-P;{sPI%wQ4 z4Nz3A*+66VR2m52M}JWlQTANUQM8HiwN`P=Sb|hwrq}3D9hhLO0S#fmSg!;^0jM=y zDuG8O0%KoIXr_RYAqXEh7Y& z1lm;*nud`4`)PL?54B%GNRm)SGJ`Ha82LKj5lRSo7~IPZC4kqf3Lq5(15rNs1vHC; n%02w0^Gri=vui!!qI2jU8x_M0)Vzd>00000NkvXXu0mjfC-cgX literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/gyarados_back_pic.png b/graphics/pokemon/back_pics/gyarados_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..3db55190d94735ba9334ff0b9e08e58b238bafa1 GIT binary patch literal 1010 zcmVnot-NA%&zHhE}U_+(jcKQe$R=|8S zL+aZnovk*5zWF@?+v*mud8c`9R5F;VP zS<#HpI>Z`o#2N0N;N}P+dC?SsqvUjU#c;8I;?ZU*aTQdCGqxV}*`z0Ba3bYUNCE;G zAmD^^>yg`^bO-dH=SdC7G)Pz$RxO)!-DAE#(xIjFBm4@|RR*iXAYqC}H)CE`~4 zx2SX7CYL&Wf;+dA62tg@Dcx=PwWV5+GZy zJD<*fu?9fH>gRd#h|_g|fa~^}8pTjY$ft>(&jKR%qxxM*a3}yp2=nQTwRx|^lUWv! z*EV^=&ihwDU`2Id!|D5~MO30{uXO9>-dj z!oK0UFPEMfx~29RATxlI;0p#Qo%4KZ2F{!~$dv~0z*vB_1%+@t+lhP@Kk5KAz@Ept z*}4@7On;DOeEF;@pdGARft{Gz4D3Z&z^MSC0sUTD;#WJLVr%t0kN*K4EWpZ_Jl7@T z6-|Tgc0AR9PRl-&e~bll19hQUCw| literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/hariyama_back_pic.png b/graphics/pokemon/back_pics/hariyama_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..09eba4b52351dfdc53306700077a5471f905d341 GIT binary patch literal 780 zcmV+n1M~ceP)C)G=?`KokdX1_rtyk$!@nGiUH2C6h(LGux$1QJ46b zP=(5w2}O|rPwe)<(00Hc{F$seBEiFbhQ4=aY~xb8w{KwJ|I2&t&M}R~e_r0x<-Em4 z$wjbq9v?1(mE%nQ1{U@2Y`a%%;GF@@PUpRy=PTz7_}GCO>J8b*`2#S91>iN%#Qe&j z3Elzw1R(hxToFpG1c6YXOUQxs>Uq}5gY3i90f6r+zw>5{$!ZP_4BE}q z3Xnt0*z>Rg29Q%L(7;|YcJDkslgf$%%;74dAGU4NC3CndrleO+z`epC%9mW;<71wZ zn<~(`26y<3#8+}%0aoaT2zDE6rof08NeK>q5I~FFlBMTBBlE)$JFFRdfEFtaXj0|@ zRAq#D5aT#+6DJ%Y9$=>ODchUc3UpqoFAcgK9kaJz8kn4#S*$p?AF0k4q~a_yw@7gzs3-#G5BJvPQfe(u{`AO z?wi_gegr}RIEMl_X1~UpfYLzf%aj`6Nn!^Z%vF#1=H%`9x9b;DO9i0eYd7ft0000< KMNUMnLSTZd(rD%Y literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/haunter_back_pic.png b/graphics/pokemon/back_pics/haunter_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..ee4740636a8301815e4bc361b08963c3a001cc76 GIT binary patch literal 612 zcmV-q0-ODbP)_&S~+w70RR60|Nj90{{a8qF)_3l7-A3*-rnAGb8`?75dZ)G;0cj<00001 zbW%=J06^y0W&i*I;z>k7R7i>Kl(A03Fc5|#kvWo8c9d)83VfL|n9_PG61*G>3kxjm z%tR#~foCXnCqO}h6{+0Cj%vq&O3d6+tM~c8-@lV2$$$N&((xW3JKP84dnB@x!{gsQ zpeTQrFuCX*Vp?G%MX%52fg=p|OC01vH;XAs81(>|6qZO40akq`m>}&8sZ`GpL())a z3t$-&8A}gQ)%XM9cAg2-EMyT8P2)_oKpsWTjZz4ha(_6?#h_;ffNuIyN)X~W0;JaD z(<(qLVQ{?$u!kT8h$1%%3h4mg>OMOMYZ##u0L}zD*P7A*vjga-2!RXwx0T>N-D@yI zkH}dIaBV_h0tKC|ox$~HaP0TNkOF$Z`;%{i67+f&_?r3;_y(Jhryj61D#(d@dg!{Z zh?m>90N~5gZPe72nUSrqpQP@P)%==A zsia$}OKEUu!d+HmNZO5l9Q;g^U0000jb00001 zbW%=J06^y0W&i*JFiAu~R7i=rvV{3UE^JVkv5q4}c=w z!=pYx>ry9kqtJmGKu)ADRnjuD*P!x3>Pwvx5WqqMh+4lcNCZH0FEGyj;dA!z`-4Jz zaWN)vBx9^*{#lEt2p$%=-XJ3E5fBLbB6X88DI{?AVqyO{RZ{tKtX@lEy~Ke;jPlcsHoM%FSjCEDH?YOnpq&$Jc|QaD5|#(Fxf)sk*y$P;Eb{`u z(J{_p0nE9|oc4GKRqTQtf(Nczxf(aBY;<)T+c=B^b=Vq?Dv{VsrnLTIOOoy)h7rAOQaW|L)bC&9r-@i&AP*5D*X$j=Kld*EzKoEx2q?Gjz;te=zH<9Z!rlu2bfb1%zoGR&J zo<$0N0QOM&aJtN-MBFgLB;Y|}vv;y*PL|}_h5wG(Z+CzFdpOR!-l$yh^R=>aekBX{ zcW-^0r~>%rM;~#KKvDn{%S9gm01JQ>Ec-@K`-%$*&;#TP;DS^__YOBzR7Vs7RJVl` zgirt|WV-7DHUL5;Dey|BohCNG^CU?CYE5ybC;sjY2;29tV;Ia?Mbw2@lH{cYx zsZ$t5=FI19poCf!RW=W!CgG}`4d8TsfB0qt^bYU=o;HZ$Fbi+L+ki{Gyo9gYuXcie z1Jc!)tesM5|Mw6LF`npo9l!_Fx;6voeYZDw?2{(OSpRBo*po?3vVcq@;6VV($Nx#m#ebdmt$(DgXcf(~@>m00001 zbW%=J06^y0W&i*Ilu1NER7i>Kl(BAuKn#YFC@T`Y0lqSHiP|%)S$eD}g0S*DQI-zb zo1sglJ`)l|>U3S3DYZk|gwv5um0BrY82*pnzkLUebFF_`ZdKi1(klrds>?c6I;tZg zKoo>CyY3+u0YPjBO6-Xs0INlBfGDFdv`%s~K#U@=_4qO%i!ihSHz&aE@ZEt&6+Z#C zF&<9~TPVo3;}O4f8kz|lIVzOS0cP*k~ZtkUt7s`Z?;86(E~*ZKqX Y30VuNOKTT4w*UYD07*qoM6N<$f~qp)?f?J) literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/hitmontop_back_pic.png b/graphics/pokemon/back_pics/hitmontop_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..09d16414cb9ec38e4317ed8afc094deaddda6f67 GIT binary patch literal 892 zcmV-?1B3jDP)Y$#&CSh}l$>H>Y7h_*fs=cD00001 zbW%=J06^y0W&i*J`bk7VR7i>4ls{|RKp4g~)I&mTquuUs{r~}=v(|&obgPXWLFwWz zQIP1Ikdya-&qJIRN)=JsFCtm>8XV%#so)4f6o^CM`rb*lC8bH$(svSietO=2cT$x9 zFV25HqgUon>+0kgz2ZM1JI*K7eIkQn7$3j6;iLM8J z0x&(_=-Y>eVV)$wzR)dpKb`1nz^2gnK%zF4!Pxz5g7gg_J`xtw(?lP8?k|iwtHP)Q z0F+r&PnqxsAP5M-&G*iU1O~26tq~Xi5C_oxhaOXH`)wckcxxsuX03MeH-5XHSXM`@jrLYZPTIGf6 z@}%~Ice1?^!f$<+CI|IyI&PJh9AY_l=*VR`T)|CZ(Se8=I8l)AGOK*Z3B%7in#}0RlkQQHfJ|QIk zKPl*)J-Eg2Dd9Yfav4DH;a!YsG0_UkJa3@w_Ih=Mga_ESAN;R$EDWTBw8#@L8hTFv z^#lM9o=pJnHC(UN)(FbBq(B}Kt(hN1Iq}wI4H4eW14<oBY7h_*)*a~`00001 zbW%=J06^y0W&i*Jy-7qtR7i=nmA`A-KorLXjlm*;AW9>$+W&zsn}rcb;TZ+S5(hlQEl>p+lx7kf~$-g_5O6UUGd;t`jTVdFze(e*AsE?wuXy zKOCW^O|e050wgnkY6tje1QI58f9d;>BsPHjN03dD)aLK|LLwk-z|4b8CdepD1dNY> zf&|QEG_it2jx)$CWw_`th7>?%<|JGI1TsjJ*aVc2aB*h^GAJO6t$o1o2ox3r$B_U< zf<;N|hhq}KB&~oHsFe4C)g;Hhcfdx=Pd}X5W_5rl1)&^sOG1kL*n47uPYNM_-huGY! zqgIQt1O41);Jj*~MeqJaVKLZhk%PYfRagw3wOj2r0=Mri(>m&OI^=Ns(X3;UtSaKS z1=wB!J*_Rk)e?BA|Cm$Q$yql)C&1Wcj4)?;p0k5MkIf;j&QQ;T;2oHOo%tyNmv1C| zGXmSE<14_e-^!nr!Ntu71ga$6*?uj;=@~g(YsKND`ZDwCzYpqLB0ccRO=y&H;ijK1@6m8v?aIX$f3HdesR?&Ai8Vm;BV~7T; zY9xTXr>+dcaNVE+7)5ZtqxH0mqA2{dmSew*I(vIld58PEFdWu&0`MjTKXCa_I+hSc zwe@eXF6sxtA-)h%v{&M0)|b0qT_pnW8H*OACv}7B1i>LarN^YlwMo8S0e5JCi;HLB zxaz3^0-B__($(Xz8_NtZg`nUt=A46e)!?yB|8xX;B8D=KK`U(JL!(y#Fha?>MgyI3 z?Bm`F=sy5GAyOe?B{7TP;In#Sz=BfXD=hGt!Ym@S;oo`v`~{8GjnE7;sZ#&|002ov JPDHLkV1n16fmQ$j literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/hoothoot_back_pic.png b/graphics/pokemon/back_pics/hoothoot_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..2ab2253bd99e89c06cc9b55fdcbc5c250daf05c9 GIT binary patch literal 618 zcmV-w0+s!VP)q-5p00001 zbW%=J06^y0W&i*I=t)FDR7i>Kl(BBxFc5}4N{jU{@}7l4(aA$Wrk%W4XKTt*#Ld*9 zsC%9gpoT0i@sla_3)Bi=#Hfe(dX$rxlw<|%+WvqC>i_P)BVn@B`LA{n-M8Dh1rSwn z%JUzzdRac^yte(|XPy%s*98NG1FSh=f6s{nUS(=I)(OTa^Ya{zd%l~qBsF1P^a zB2oqk3bIGwA&B<0nhBPSlbc}A{@w< zb%FYnuL7w9;H)~O2Y&>N{{nD#iLU@-L|p@>P5{;qDsuwxa~+u4{-g%@8Cw3g5op)f zX~y55`ZI6|qr(Mxu9uLY&hS~n{3)(1!VguV@u*E?!mjKVI)xN5o0a}-*^4RwMv5m$ z$_W|J6!Hc5aP+-lPe;lCzYL(49omF%trL>TtIhrNCoaBp4&=dfu9eDUT&T^PT9 z&Zb}skWOf)6TNJH-2%SQn{;um2d7^@FBETt7@YJwUxfT5`YnL>_5Jo?+xET&1pTHh z9F^+%S)1=`7+$xu@D~e>gR_%_znFZST*mKC6aTV)16~bgrQXSg$N&HU07*qoM6N<$ Eg0+erWdHyG literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/hoppip_back_pic.png b/graphics/pokemon/back_pics/hoppip_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..a5d042909610279d17b0d57fa2b2dbc540679c26 GIT binary patch literal 582 zcmV-M0=fN(P)Kl(BB&KoEvqKmm>4!LG0IKp7#$L+w+*HIHHEnv@=B zD8tf(F0jqMOxk+~>o7XW&E6Oe5Z=wEij*Q#&j0cMGsA-Ceb*PSo)B(eOC&cR0JL-k z5D6;Z2VM)-9R~e8dn9s=@LD`CTnUmyCbc7BwJ3^Tt!8h1jqHmpp&g}xoJPgICJU(TDhzuO71@osBNSteFAFL`!fNei(2o97EDUWE3v zmgbIr$=9X16zjUIYbo3MX$%tLrIrlT$_nU4SG7`79nv&42<`3o^HMROD*#B%@1no) zwN|RGbsPmjm{@W=UxS{_rmRN;3xMf_y%A%G!VrJ945D7 z3<7{=ws#CVEQM@vb}$UOK@`FGNF5Cl;|hE3K3oh2l>zuM;GeSrz;tFD;eg3?2f(p; zCY=PAEAX`}Ka1({kpH)|0Nn`;_bwpj?&y+W12C=Py#wf^FhZUp-8TuAEjoZPKc!(X zV%<1(0}N+4MTo07*qoM6N<$f}2GI$N&HU literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/horsea_back_pic.png b/graphics/pokemon/back_pics/horsea_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..bd6cb3d2b3f7336f9a7ba5fe851cc9e28bc55279 GIT binary patch literal 585 zcmV-P0=E5$P)Kl(A03Fc5|_AdxB0#9$aMOD~y1ht|#%bs_20 zi6t32Rf2lxGw>)GP+Kwh1sKZNNeXE%AR)2!mMFSU|NZ~jiQ}B>A4_&ME=Sdak2-)! zU?1*a+5rfdRzTSSxDfpS7y~KnoOl)kIbw1Fym~73Sv*1h!J?? zfCA#4(NXOH#rg=>L$ zXJRI&0)A0$EnqRxHsR&@YN^W1^fRzPShj(pQ2tAT{j}O8w2#AMOsVA>8)gp%5Y_ej z@~}dpZvfE7Bo1o<&U>MlS~eN1(RL0`Ddj)Qx)P0frtP2_Jv2a4I^I^cb2?dHzg2tE z+Pu5E-FF*xwRFgm)kTuNTF^iWc7KvF8n~?Q;#jFG5^xVdUj7XbHQ+OrkU-i1Y8{cl z2C5VYkRP1^f(qEs-|eKl)Y{mK@i7JI%tu`5=EMgWc&bzIa(CkdkR(T2)2bT zZMyIZ=cmZCt;n?lQc`o7ojnBX4ZJ|I1+17K|M}i5`+shp0XpT^En<7iJ>2cPb^x%C za`k-usM!G?0x<|T^OkrOyD{6~K?A%1;K^p$7=U~VjKL6*;ScBdz8lje(1W`N+mQD} zIQ3u-RA&kBi}Py8&=#ivyIBf68Oi&=0s;^{CO}NP&jJjXHBnNir&e)=h%*?z&UQ%> zUp~d}J_BE2Su}t4HvqG+)|N>Y*%>gz!rIqNJ^c{_HNLRKn+o*qC%9T*!4lnmM_@FX zvKv--|E(dDdzQeUF#qvg1D;ud0gmDG=9>;oM8Vo>vr&K$LR6SnRiyy=DTJ!|sm6E= zVgCN%rU1v#C<1v5;UyGOv$KbgLlG2IJ9{{Wptq`b3PEqgDTgb-vj|)thF%o78bXfF zVH<)540t2KEn*0z0>tedE~JdgxW)Akgw>NcuD`FBSAe2iH{S66*E$gXXPx8qr=Klf6#EFcgI&)txK9K!&;xK<&(^ZEog(n#>&$Q#UG} zfNsFpiDyHU)kUZ+WvQ{9pM_%>Vd$AG-7m-Y-0MWqN&iuuvtIx?Xpe*eIjT=gTp%D7 zViYl=Q8WnvQYLK7<24BdfvHkr%=J2zirxZ%91u-}3II&0zLd&}Fwj*}2>ZE8fllb8eN|mR1XDz=J!@bca#-*5MdJ_x)XxsA0@9!Zt8Q>1_74c?iq_%d8oiBP8-n&X z23e$S3yZ6H2uOU0yTvU6rp~}Q9F~jw5a3%lESG2*tZ9Kh%?bg%W(s5;aR^bbGG9Hx zb-&BHh1}p5=bsY=HxZ?!RpkKd-Am4STsjB)>j0f|FHfKrI=t45s6fDw$69N5%Qnjp zFm`o^#2YFKkWp(Yjq%Jj12LG+-JH$Q0-It6uE-NR1vf+sWC+NfZG*2CvBVAl%twr0 yj3W>*tcIYqC62rDTfG^R%Ru=K|Jx`1vAzIlDW<`KTo5t<00001a4 z|Nri^V&0ShoN7U|?(Ur4_It(NN}RMYVtW7p0RMxO&2yBLIa<}l)ue-z<_VQw00001 zbW%=J06^y0W&i*JE=fc|R7i=flre7;K@f$vaFc5ga)ao&bwO+INhB^1I&X1uk)Lsq zXhEDwg|e1z?kXfC6uUA`l*pSRzkvThk0Mc17-*@O*}KEoH)|xsmVTe#d$Vhg5dZ&l zw0^c%9)zLPUY%q*J`e3wsrA_7@4nxQL#Y-l5ECFt=YftS1E&x9gdPPr-IG8-jQW_@ zMT`+WsUpkELIjxK^VvH<#d5Sq7vdsPqkXyvB0Zb!0}f_snp(fd!TU5l$+A-)L3);f zdg3EUpMZJP%};p)^q&Bj`yUSTw;qFu16C2d_84S2z_dT_!ho@G31rcK*oFQZzG99J zVEPiw1J4X-05CcP^Oyr%h5D#giQg3f=BpXB2PGhP9iX&!l`j~eu7JSpw>ej#)}gSs z>n|+OG+c-u-?<9#7a;osxW^=e>$OF_BN(73#R*6l8QmXUf z^QYZ0wgI^Lxc<5DbSy%JCGPCibKf<^YDfLPa;x+_8!C6eBl6SN!7W+mKDJK+!}x~ zBJfxQIEJYJ-XeH)lEJ_M(Ei`jxyB88Rsnp-^~(g%0$bwGk|TnVO27~>)xJso_51?e W!cd<w5dZ)Gr#3ph00001 zbW%=J06^y0W&i*J5J^NqR7i>Kl);MIFc5}y2<)XXr0oktHuSb^Ekkd{Sfa-~MUgMN z$)Vt0%KGixi*fn@rKs!By%hIS(#sO9mSMAdK{t#@UPyas}k4?yv{!6oq@h0;F zH{o#e?WG^+=+PorzVHJ)j*b9bcr#{0iQX@DLD!fbCt? z?<@gMU?4k|qKIm%^vCCG+;m1@-_KlZ~n1+5lhLtz&TpKqWVY z*?-*wpytiGb}h;eo6>sA9=cp!s-P~Kg9F^M>K00q#o9c{S1k!@_0a{OwX7_<^1XSz zX#|JdBEZf|+Oap|%!0$gjhN2tIhi-IxpEWSiHyxh=0{U2A7BP1v>8q7)Oec4g3+tcDC{@pK4lU;)UO08e^c_k_KlQD0DFc5_qaMt{XJCyD|%36sy?MOw{c0~+cE3x=* zS50?nhlb$epz2VmL!QLK`*?RYcS&;9|CBL5_^z{Se(E}a_Z6Ua-~sjAECSxg>ecNQ z3LM%K;5wAcJahx#9}!3$>;iBPK$Qfj0ibpXC;_q(DA#~8;E#~epj_->ejr3&!6+0XN(eu5P$Bp!+&H%u;RDp%h7qz%>b7U(vbyc%Z!O-EN@ z&MSC-60pfD9#HhrMf5!nI5h08KX`#;29O@}!|Zcl8$Q!;-k$k#oq$ofuw2K;7uI)c lCce0xpJ&1tDd4I<*B4j|fzAd``49jA002ovPDHLkV1iNlyFLH_ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/illumise_back_pic.png b/graphics/pokemon/back_pics/illumise_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..a06de56a1b97ce9b17bc94c7c0eff844f47bf29d GIT binary patch literal 663 zcmV;I0%-k-P)N}PjIti|q&tj$_#i~s-s{8d~m00001 zbW%=J06^y0W&i*J6-h)vR7i>C(=lt?Koke?gBluY$cH#Bne{YWQV7NpSYN|k`7LWqn{g_60hhYnp@XXzSu$QMvOcaaDrkj2pl=+vi^CF0X5nM)toGXDSc-rZRy zYXvIUS;36?EO zKp>-4J1Fm6wN8k!^8BW?ffx^mUYxA+7Et6U!jDO=&G%$JeB*}?saA+G_c)K!^hN__ zascL>U;Mt%ObEsp`&`y+95#W!jZg6vdc(8EgrK~cZ|-G_w~aOO$AEk9+Q4bDE-u0N z{o`~$Cj$j|y&aHbooYe}xC)Z22KO33Hl>(4P6d3T0t_4g*d%vyIg?$0Gk#?e=J2ov z%XK*4olvw$vm!rE*T94?rs^^5Cuw>sK?Wl5PSl)`Je4hukqI97>I5mafZ=Xj4VdM5 z0Wx5G5>Xwni$%gMf(YnA6NnJXV%!Fko;83w*#V6f9aeP!fx~E{MaPJ1Q1qgf0{RBC z>lrS-E1*LGDgf~mg|g8XcuODZvK&WU0$4rUsDar$D5ppIU_JrlIt}A#KuvSoBi4bv zlY?_?Q5=WhBMo>tI$TiW^*q8{eW+#4Mu+qB=)?RgEB-h-;InV+6I(`tPn^a>i#70U xIGRT>{uX^Y&;U1>09)X*&ux=h+I{}B^%o5W9)5F{Oicg)002ovPDHLkV1nACDHi|$ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/ivysaur_back_pic.png b/graphics/pokemon/back_pics/ivysaur_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..2a979d70ced3708c0aa8d16384545a9d586d7f9f GIT binary patch literal 695 zcmV;o0!aOdP)Kk+EyrKorJ>Aw!9%|AlgsjJzdVhYmeW89c-{x!^xT z5NGmqrk*_caW|BXa)%%YL_W0yE%sTWQ@20~lny1u6l`w=_bIUx$N1Ex&?OHcgudVV z-uLb->#6=vJ-;shDg?gOW-klmy=!l=m={706o8FPADH3W9X z+@ouN?G9010Uk2}^%b!&0c>S(ZUorffC7Nk>-Ae;_nJ7HdEQ@uycVXTF5l@5Lxg(^ z1kOq?h}q(tHA+s#vu(9Rh_z%HOIagCop-l%;&7hn-~0`zNN_B*)y_NEg--_nbf2fn z3f^t#4)1Ud9U&tT$tVKO&ustX0nnU}ajFLOseomKJPePEv~Lq zdgBsT4Shde>oy3;Kqk4z$FI|A7!m@)Zw)V3z%wmW1Y@2#U7_OXRH?Wkvr%ifz7egJ zwIAY|Tw|~LoWB6%>0}LL`N}rxZ9%Zy{H3H)!J|7(W5ONmO%scn-N$6Iv9pod2{T7~N{u@L(P(2Cg z5y9mHFbUp|+Y+w{U>FP{7yBWT8(R$HF>j+PFnbVuP&pt#YycOygvP&-2>g>^fU3rC d>#6=>{Q=xiLF1U-w%Y&z002ovPDHLkV1k|`HVOa$ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/jigglypuff_back_pic.png b/graphics/pokemon/back_pics/jigglypuff_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..8055a79b0211bfe39e7788e351aa2318e85f2247 GIT binary patch literal 451 zcmV;!0X+VRP)F`S%gAag+&=H}+4F#y#$F%S?C|INk!tfc01Vx%z;UHpC;00001 zbW%=J06^y0W&i*IK}keGR7i>Kk-d(CFbsg%k;voT)@Ne70Vz-5JV9}KJH%m!!Z}b1 zHuP@2lj6wf#5g3u9KNxQ1O~o&=ljkrK=r8s{>%648eaqT zCP1n_j=)ZE0u)IAkNanUNdmwPxTsYcAwX&_YEecAkVpfq$fGCy7Q?>440JyNTtiM# z$O`B^$tjEi*q{ODltFfBwk@v)4g6+Mg20AJG!cYgHlWzV9kn5b+a4GXf+$yIq#*S` z{T|4@5U^p4VvIZlCFmNR^ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/jirachi_back_pic.png b/graphics/pokemon/back_pics/jirachi_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..4fa283e0dcc6d4a2e0e998241b0d41d059741541 GIT binary patch literal 738 zcmV<80v-K{P)tSLcr=I-`VbN_>+|7vq{#Q*^AQc|>wG3Lcm|K?i%_LTqs{{R30;V8PU00001 zbW%=J06^y0W&i*JU`a$lR7i>4lrd}DKorMCLJ8P|xZuf4hzJC_v|u`S(bTD6+%Hh< zwK!<%(yyX~bU8U(WCqxVTpreE3F-Lo7acJ@0Nf?XqXwSeHyci4!^(-olfMWTtcsz2g9Pf#Vwz(h-N zzQiiw#(FqjAeN9)hy}1zw34U7;-wCdNvUmKDw^GItH1deHRSWCUe-%Ej|&lmkQhGP?-kOeL9%^tb@NsE_aNIG7@t%hV|W zA9QyRVM|Cle04xrUGBIBh82KIGh6-89vu${`+&34Q|09k&f%9D&6}#%(|{`-DW!KM zB|y3ds5&`Ogm-!6dEPrIoui`)5Cl>NjFZgIJExv^5$pr*g-`VfZoId^Z+$-)vkIVe zKZ0x4rJW*xv0krNj@W1exK$5&`s~!%FSpCtcQu!6=GPscomBuQ0?|@a2|&TvS?!LA zU>d=V4#IF;Hy{8wh>o&|LwDT>0Elx+C%|#*x0nXP4P&eu-`7;9ZMr3N#|kh9q74NI zv1umq-gpy4bt2lcWCd2IF4xVbHiQv?ToQpYXQXu~T|GhCWY5)NL0RR60|K8@_iK)4gxnKokJ*8+==^l%qva6cc0!?3Cx>3&`GYS*GjyudCm|v3$9wPI-7)q*jJH6)_eKKi_Af#I zyaHTj54@{@zUA&zc;Bi3!`cztItsR80CBa+0a)ij@qGv{RltEF_yeF{LBQ>4;0~Z( z7cFM=m~jcKDi}6E2o%r!g7HgSRVx@nK#I=2b<3f91TdaxV7J62uiM{`0A^}{iv)rb zfMqE>Pc-oa&_y}|fI#OcU?vF~SK}mL+}HC&58J1JPC$L&pm!X2*+$S2@expaV4w4K zY(u=Rf_YebEdWC6aFk~c>`~6wh_f7AAA;KJqe{o=?BhBE0cMDM>NbpBcs^o;R!X8fsKNm1Tqx zZ6({Lk-e0=9%J!D?u1%<`4|j~))?JV%CRfd&p6Jr-(8U4SAM>WEqGMFa=@?jzZVVa zcrSyJ&qaGf@bx=tW3D*Gora06#}rCAD(C2l4rcdQKf07I{Zh`N5rJ~drqfOk z8Uszb`UI9EjAl_7ZVn=GJ|VUmgL-ip?HPVZmZ2<~bZ_q4lmZt`4>!?8d$io_0uuKI zkw)bRD6$JKIWe3uq{usQjL~fraDd{d{E;IHb@yDB#QKmwk&%YVl-z=W@-^J!HdHtMw zetEi@an7^6H1DrD#%xnkXS1V}GRDQS3;=mLnM}AUA$*~9@dt!orHhH=fZ!r=B6f5N z9Rh-Ll~peDRX&|?&Hw>|Byb7ng7XQbfN|DX!(PUi5vU|{2^cg;EkS*D3(Q4;Ksp3f zQ{MuBaM@)J1ZHlM3oRW2ARq#7+7RBj1Pp_h5OVX>1;EvVuOvT&R7ziz@KSM5E0zkb96 zQ0$nQ0rZw%1H(fPYDF52R&@V!KuGM@jK!1m$um<2ZkI{F)o3)EH)9Zxp0pNMPXP+> z5MmC1MuU(j0>KTOOcrD8UvqHUEbXJ9*(4^~J3bSKF$P0RDdwFPlxUG6Y7zn32rB5- zbWTVUqY&H*T(l!*%$5vD3*$hz1u7Wby3d%cZwQAxiRwr0tAN>79daD)=%WT~Vc#Is zdPPnJ-A;(^I{Y_;VSFlx9@|53&ylGH=Ya0R>F0KE(nHi~kI!8Dcr0i~QFnMQh&spl nyV0fKpn!CA7suyKle+b+eCR!j zX4lI^|M7ule*pCLYd%U1h!~xB69$o{Xcb*_`MnTPV=hQLfGI{OOQ0jfG63Z9!zhG~ z5L0jj+x7;|TLHK|;3{$(!m!y$4{886)G86stpPw3h7n@i01^y&*c$RHVm(K%=#N`1 z^$IXoJxB5u02lFjM~LxGCtx=v6+ebzygqd6sIc0oMPM`7THh?2r~$FEMci!!{^-Hx zIBNlfcqQ(AfBSxGSOIcQ=@MWuu(Yofss%u5QVcwdIm8pE__9xRfPSA41K+a15B!vY zV=`(ENTSKX9$tOQvK5XXa)69=V`nq4yL)=MmOZbGf)N8t4j@f-QVFbOnYWtuQ@ajl zx^PS2@ZjeW`(9dXMH^swp7*`nE8_su1O|f=_-ER{FVFir2NGopK=L3tvB01zK^P;A zl!m=TDMd<64j=#C4pyrZsg+9HRLoi3JZidpssi*i#Ztz^PGY}jj*~5%>%M(f+Iq&8 wDBY@I6+rY%)j`ol1DLt@Eui`LedrzN1=V;#DdhHBkpKVy07*qoM6N<$f^EPG?*IS* literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/kabuto_back_pic.png b/graphics/pokemon/back_pics/kabuto_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..9664ead41a7f8f312de4511bc54d5bc3051da740 GIT binary patch literal 499 zcmVd5D*X$F1@&Z00001 zbW%=J06^y0W&i*IaY;l$R7i>KlfiYuFbswnpwJ0AL$~7E8@!&n0vmJ?XM@;u0Fc6s z16a=MJx!$;h-`-e+Q)y&%m3+@tT?mTL;qDsME<`0gtal1rNbS6;l(z_ZfV-zv1e;$ zteqmn7cXj}%gGo;Y|8+X0A-V%sf^5UP3W^Gb7Sgy^sW1TDFUi7pA}wnz|`8euFpH9 z0r^Q6dcaA*-6m}MEBPX7 z*q%il0JM4rM9;u>C}%;)0Z&v79k`r5z^+J$02fD53V84&GhXUhAq6@>8fJv6xJL@W z0NeruIHUN>qj>}CBs1eZP zdf94#4`EdY1Y9YAH<L800001 zbW%=J06^y0W&i*JZ%IT!R7i>4l);YLFc5})SdIiOk5F~bNQL`qx4pL&j|=+*waxb2 z%s8rgBeo-<-f-L*2S}Vkd#&mN2>%~5|4e2g#D9F;U-Uv&e+Kqj%r7ASX}@fBb}`+& zX1bJ8H97Ed&N+3Cb(xzeHd5Opx^J5;%TAgMc%eHakxu%%hI*F)s-#<%)8D1EBVejf z4vw+_ke6Y>^}1#qWL8EEJ>il*0!q4RSq0^wJ7oqG3c%E)_a_IY1dvY!Xs-io!lVFr z0je=jQvf>QOk|B<6UWZM4L}^R3*g}fFf%EDclHJ#Y6gt$>(C?M$Qjx}9o0C3N&$MC zc^_zwSxSJp3d{&FD0^Tu*6C>kP6MV(VMYLHCZ)Myfs1JBG)mV4h$9C`*;{)p06i^J ztB`ulCj3|zGiXZ=fT2`AwsiC1H^6#u6hL-6b9etK18j6a$$dNnpGQCpz$r>iDLP=j z$O6zbFhE-ox)Pq=EHa&XWCH_CR6wmeQ;CGY4i(5&3e*U!C){Z@jB%DDtc zE!o21`O>UnqkXif0ew6&QNN0(w?n{Hv~Wls(IrId$^FA&HK?=TrQ#x}RTyI{f6N!} zR|A*(Q(~Zz+48*8xyV!%K&b%S6Ct4A7ABN~2#sMqXfZ0^aqrKTE)2 j`A8jcr=ib)fBgIcx$5teJ<~b?Vv{I~tDT`7NYC#Cz-rlsdwEzFT|L!T?y%2+H5D*X$%x;CN00001 zbW%=J06^y0W&i*Ja7jc#R7i>KlfQ1;Fc8Lx42BUP5!xr{+Psf~EJeG7HV~)nBziHd zrM89`o|~nAwr1%AC|QdDIn|wP1MyjYfFLnCSRNv%ccd&U4zqR44W{Jp$B%c^oe80}SF;KZ!|5>@V0K4I^(2p)=7T_vcZ96(g8vqx%MJ0@4OOh3Uk$GwW+5j;D z{K%_>2;bX)e4{ggXgIe65t48ZfX7x~hX8CRK+CbE2%Y6s7y=oLtT~bcgkgC8G|&JO z5w@mQ;3Nm&i4>|(IM}N^E({PK0oA~Fa8l?v*wjC{`#r=71L4wSgwI4yZ14<6Wc$|zB6zG zm{kivwYvl$F6UzF^o%d73N(m8&?$hWQYrEX5%5azoL~@y=a*gO>H3=4Qne7L3~&k# zMD(@YH$a5a_48*>x$7K#f`hD6LrgA}iFUS_I|u{em>R~129S{CMAq>sbC})z&D(|b zeJLA*98gUmZUKJ7V8%ztYnr!+3n(n=oEk(opsQ@?d1NArbHF#n-D;qdPs>os);L(5 zz{$t49^utM{;E;+Dc@q-G)k6EV^JE&AzyGB>ozcLgy~e@(`sND=wYJTt46!aW+ebM k5Mvw^&AewF@#nC|KQ*}lJU{-c2mk;807*qoM6N<$g7?fb1_uiGoSGMC#%xOed^zM7Mx}f+3Wub| zUlJY5e_XtM+VsKHK7*Hkn;FdZH?VWPSjUw0Nj1o!DeKe6i3~wKELNe}Oak#1E0@+x zoH;r6YqgNT@pHS&Orth6dv~tBn3>Ic*J<~cYpYjHc(d?tO~)k(XXeO=rXaqo7d*~4 zCQUivvrznB+$y>LY3mjwinVX>>0YC=u*i7_PYJi7h#^Z~wp7I1LmPh;o@S7J7t^+Q zYpgG`bjR!?v-n=dr|wu5W7NRc&p9E{_h6vUpK3H8+uoo+Z0@$ b|CLuWrg!hW)@@IL5y0T->gTe~DWM4f$UfSe literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/kangaskhan_back_pic.png b/graphics/pokemon/back_pics/kangaskhan_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..babb41fce6380ef40051a7d032d90a5e91fa29f1 GIT binary patch literal 881 zcmV-%1CIQOP)4ld*4`KorJ3W#|y(TFsbBmO6CCdxoHHRsMu}x<-kN zw~(z{e{6RS6ur6XZxM3p~sZIa$I*?LX%4bjwro`QMlU@v3DDhc?KxAX`(UpnV1`iPmj`w zZ1>Qp=P?${U;8u_vP-rGuHD8yV=NpnB7|(eIIWw|;v0r5Bx1&R``NJ8V>hNe0~pj9 z``&(Y+OO3a8?g0y*q@OKFoilV0UTs12NrvUc4-9_iwIQfd{P7W2FRuAfY<;5T!d9k zLI=5#kBBKqWtZ5Yx>+a$}Og7AesW-!sk$XvP5 z0ty@CagfE5hawyKWMqabAoh65rtlNuS*?KgLatjt<^}bH2r+IZ*a-yVkr4egAOV1% zFaUuR?WQvh?+Oz;;2PRPa|DK2dM84d>8b~OBmx0=!Axo9@g~BAmMcIYfNus9VDpin zYyqSQhzLqz5a1sq;1(9Zj@YblsPLB68vzlj((|gtKfnF}c6C6bA*e+a00000NkvXX Hu0mjfAe@eR literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/kecleon_back_pic.png b/graphics/pokemon/back_pics/kecleon_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..1baeeb58a3e041fbeee581edf3983bc4d97faec0 GIT binary patch literal 818 zcmV-21I_%2P)ClreA9KorN%6|0r_(hZ^DXHX-eDzYyULustg>(oLQ zy73*5I(0*Wq2?2?cZ}4fW$G!-0#nlxsZ6!44#3n3C2_VEnRj*?YUlC=;3<-&{D1fU z|9f{fA^%sI>EnWsPz{udQq;f7pR%Y;f<6g4Bv1k-p;j^I=*QxBx1%ZEfSqo+tYxCfRGMnj5(q=ts4{; zWxO_%Kws4W7LP^JKnchU;HM4LfR+MhvjJ>@AuI_rx{8p};z8=rxayuLBbYD5z67qi zr?014XgnZJj6eeH8|^eYEw!td!~ z`EU$uyjkDOc<5o(?`a6^$_Q(prhqx|%_R5kw_8cZ#t|Q^t*&Q0O1w$5>KI_6&M*11 z3@|5wW~-IVkzIag2W%+=X#BYZ_7a^ngg9W?YgypDNaoMS0J}U|65+)(uzU+J(GFXg z11;1MC`Fdpz=+<_3HY}I*AQ@PeKL@M5vTqd-LxkjB_u{0gJIOf21cqs-h5?F-mnNm zluZzdrucf`TvPCX4_&{fo({+)eT?hqh?M+tz}hOaPIyE}@Qxd1h= zQavd%JFIvJQIw7$8CYJIV=6l+mXX9JPF~mIxWM9Au8$>>*YVcbF=L5AU($J9!`Ln! z6f6J~iJ~;lS0H){P}u@k1VmwS+@L(KL7v#07*qoM6N<$f=Cc^CIA2c literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/kingdra_back_pic.png b/graphics/pokemon/back_pics/kingdra_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..3e6ec7789ad2f29c286a5ce9f745584251d20795 GIT binary patch literal 743 zcmV?P)4lRb{xFc5_WM5-6`Pq__cA3z?eUz@|ufb5Wils-ic zkYfbM4RVDPX_K@$NB}#v@<`eFk?8F=1Z=~aPj6=442$BwJbZXQR@N>XEBP8LDG%&4 z53&0IJ*8N62e3qKWx5D-`5HX60zkx1fmmQsc_I-Z$|%GFqc#~LW}5+O;#i&-=4=Xx zC;5O6gr-(jDK#>1hnVLdnI;lqgah9JB7*cz)d$acr&2La>9sdmr;-;DSjingaRO#_ zn`t8fS_*HDGfgNWLzJq973QckxpR&vXEl+xEdbL|rjacGv)hmWV4o>tJHtZMbxjTf zI~$pFQo%|HAd1%kg{ht5eVT_y5k}gK86`=7VZ3hm{CLWkQMJt7CF=7}_3kpwVOxYc zW_)XT^LFY*tikXF0ByAE*~u8Nu?fdE5gNa86DgUW($>bM4VJF^#nfJjoz^Q(0G&DfSksXCp@;YoM=tDx0|fd z)kq>dZXfU8e;xrC!dyk7*E+7%m$Af_8r5jQr29GoUq6l{N;NmQ|1F4f1oq!PO&WRG Z=NI_h*p?y>bK3v_002ovPDHLkV1m13O5Fee literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/kingler_back_pic.png b/graphics/pokemon/back_pics/kingler_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..11338630f362e74710f968529fb5f70e6947aebd GIT binary patch literal 716 zcmV;-0yF)IP)5dZ)GCT~wW00001 zbW%=J06^y0W&i*JN=ZaPR7i={l+TWvFc8L(Kx$4%pzOVvJ+E5KN_&a`!xf3DM16rc zx7=3ADO#y&+Ebn}Dy#O!Gjzr_e{5iTtU6Lc$o!aZzOjvE{eNNS`G>di`A4t*%$DBH2p zgTA;7(?@itx?2G3pzeT>M&e>PxT};zNFk<8MqcIhX^J%x9mqUXP-#(O0{Fg9=o>%~ z1fv3=Vf2s@D4+rFbrW>dA>A~fac=s-*)`> zQEITb!i-aeW8isvIUK(#z?XowW!`<^{QFt9Ac4%+7JPN+f%c~Y^l6`W{CJj&Rm=ic z0HDdT?FNt$9dLL1Q{KMf&w|AGx(Rh)RqwBGvEktqp9LV6x1Ei8kIIkh4j^G7Z@W=S zpa5@KC;;4B#bEWaMZgIjlsZGesRrPAdwc-^rUS)$;8PE*cH5JME4V=b+G8OA=`ag- z$Il3WLr{+sM{J6em_P=tBX9!%%A{d3NbJwT+YL{d06;8I#|TaE{fqJ@044x30KYi8 yWK;o(02rMC5&`7+H3hKsIL9^bzll^pN)Qkb#Q^(u00001 zbW%=J06^y0W&i*JQAtEWR7i>4lRs_~)Sw7>vfe2BI&v4Cvz*=a)Lea#Z}Z z08Uib7>VUrW<~}DT+X#FmbsLr39KR!!yl1KDXvXmAw;ZX5lfkfuVx1R2tc<2Z5}7_ zqb^f%WdQ34f)Ghk1H!0s6`{5~j+H|$*Cw#gK%yNK&}_rupKzYbKMu_*Yao?6)+oXR zt|0FK+5mJ8L?&dKH2Yj})m?3|Q9!ee701izgDjxC0%leqBh?+-5I42~kp@VMl{JuL z&j9i-z?2=?fuhK>swCSEV^yVq%J>*Kaku*bShqqnWsOYe0cFQPW;U5rl!h0Rju(b@ z!lnDOl1w_?RuCQ^TDIDy%*~#FT}sYY;6;>Bj_%@SSz1a5-w|FYx}s8}(m(!>BPScJUOr zg&v$JAXQa_)278Obnir^Kn{5Hf(GDjF`oy$^EXHlc)ezo?tQ;<>ZPxsdwru#w_xm<>^%Sg002ovPDHLk FV1knsNj3lg literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/koffing_back_pic.png b/graphics/pokemon/back_pics/koffing_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..a76b27fae698a605a9ca481e01c70614c830e157 GIT binary patch literal 634 zcmV-=0)_pFP)Kl(BBxFc5~h+JF`45!#_IkTpP;jIOu5MbT%;DotLk zr9fA)Q?i*%hjufMF0$I9gU+?p|3oL2NG3t|90b9@{rc|iCw)S^#ec@Ad__fbE!L{nOppQljt^C^~bUxf%tOJ22@&Lm>&H4Gqf#A&B+l{C! z(a(#}$@X|exYN!N{hCtf)SjLK*V?+#9KUa8LH^i<4>OGpb6CS%eoFj>djeFL zhAoK9vcJtEBWM8&BI`!9#}c!lk63XKp!>!XZfDIp03i0%J{DN-1Di%=Rh3^`apo1f zhpZK`pflq@c6W#d#D-a535~F4fmkQ?J U8&2SkJ^%m!07*qoM6N<$g0~qVvj6}9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/krabby_back_pic.png b/graphics/pokemon/back_pics/krabby_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..d0501e77af2666aa3284770f2fb0c1f56ce843b4 GIT binary patch literal 710 zcmV;%0y+JOP)KlD%@9KoG~NELRw>@J%6*i4Jg&0@9GK zYxY3e%5i@bKr;%2XczGyP@p(`R3ss-xSOSrn_59S9!jLS1$bDQF(pY1?=~KG3Vpx} zIo-Pr=4b=%9>{8-=mDsCQ$h`x9-t%-0JWB-rsxBt!~s!}DmA8Cqzh^*RE~?rY3(6SmyR>L3N3*NE3@Cg zw^Qfn|$10ztEg(gxxnxs0qyDJw2x#zu>)zXHjcPZ(q84ZuCd)}QcUPsTiP-W;WO z1fnrMY#dLD8#C_({E{!&m@|9V1mF#l`X~tk=I=&M%SySoH4DRlM}8c30HyE@HHBjS s$iogmSBe(%T^L`?csOqZulDcu3+T)h6m`8^sQ>@~07*qoM6N<$f`ZREXaE2J literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/kyogre_back_pic.png b/graphics/pokemon/back_pics/kyogre_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..d0c4f55c1198980b30bc6f2ad3f439af69df3a2c GIT binary patch literal 497 zcmV^!(&5&00001 zbW%=J06^y0W&i*IZ%IT!R7i>Klf6#EFcgI|po)bj;SG?O=qq$3Ovw|p&Qdx>$xzxE zv32YVP~=Lim2!ia0101b1PNkgV5n67Y$t9)i?Sgx*A=ym&$7UBiq zp&_Kj&e3$AR*04?9~c0~R{LOLrT`JmELYmPX9i$z(}|e^Ai#BtjLVi%H{wy%1Bh8f z=P|-k0c8nfk$yWy23O}7fXwyO*2)qH+8YgUM|=g8B`Tnd09+C~KdN*akcyK_&(2Rm zYywP2@t~XK7tVjlkX2Ts^Q8|n7;R-JCDgN%{6bH+GL-nNYhzXbX(~;)5LI#&`cG>> zaIVHuW!g*F`RHf5zN(g*bwxkKD= n&>pX0=TkfnYJP}Djs8O4c*)kQgCNEi00000NkvXXu0mjf_rKG3 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/lairon_back_pic.png b/graphics/pokemon/back_pics/lairon_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..552c013561ed1f48e473d1f80d6e55ef7b47e8f3 GIT binary patch literal 575 zcmV-F0>J%=P)&CUP+|ExJm-fC+9gM(_l{{R30T)@xq00001 zbW%=J06^y0W&i*Iy-7qtR7i>KlCf68FcgM6365cL^ql$toMRurr_i|*!c<%uWl;y= zhJ_6i7FV0aS1S%wrug3^a;WEUoZPrWLb+eR{7IT5$2!(OR(JeIfAtY&IsnYA&i!0H z9RMm?@Vu&)^&x=J>DmbHRc9OkMbiMNwxT=v2!Pgj_0(ETZ@<&k(Lgz#0JIe`9UJh& z18v3pJpwRHla&Wd-3B;53`A5|YhQ^}-U1X9oe8!{LnZ*U)|kI@{0BaVp)#hZ3=I1* z{o;+a_@4}FYwk(wd>=skjWHYn20a6yR6I@jW1zth1CYe+ke2JDcD!fl9H z!Dog`uoX-`KHN(XkFLSPmiO`E0hmC=bW4ggV#SmJ1Yb;c@y%`M%SXdR9RO@l`*a(n zNpf4t(lC)nVBz;yIL?17xx_huS6;&d@eTRP9XGOXeXL9tG zjEoKjT5$N(r6?$XiE~+c04H#L!>1v|XO=P1@9`i+Q?|eDV;$?S`UZn(Ospm}5LW;I N002ovPDHLkV1h%q0A&CG literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/lanturn_back_pic.png b/graphics/pokemon/back_pics/lanturn_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..1b9543d639cf6f3daf1d76484cef7dce2d82db37 GIT binary patch literal 644 zcmV-~0(&`*i{?3M%>Yu1|L%ML=2F$PTC|HfgHi|(5D@=!0JH!AgvIE^00001 zbW%=J06^y0W&i*J0!c(cR7i>Kl0Q$|Kp4hvAs!MB*|H!$K_}-M_%$6OCVa_~NJus3 zsZykdL>(C-*%FLMIZy{SVwfxP2Pt%@1WhXsq)G>WgMI`C?3@Gl$MGlNS**L~chCFy zY=qvGr!C^Pv-T(Hv+h{9kwHx86p;gjTmzzL(NO&2WrhAUa9cB=hmgKdB8ug*|2;Zt zb-+!QdR+!aF>r%4@^_b=?JB@=B>{Sl%huhwJYwLTPm$K$4O!)r2Z<;RX%M2Wv&Zl& zk6z3~;#Y8o&?jIGipQQ$C7|?shO{cM3Ag2nAK!~29nuS00e33Uf!6w+JembOSt;;1 z@aee<=wPu5s5qoFn908T1ULms;~=;WW#0zCQM#B30t|Q4Wd@&4>Q2jNL z^}8{@T3rDjGYBW~4U;8+`nwhO4K4vJCF0OD8ekJZ>>%spHXfACSiU+o#Z!&D{z3G e(Lk*5u0$_w0w*euQ9yzK0000oW16Al+8I(b15k)QyG3O00001 zbW%=J06^y0W&i*JEJ;K`R7i=v|No!yv|9glC4cMdE%$u0UY+_8 z2i#bYq;nAtBfVE zbgY0`~?ouheIUs5v0RI60{{a8R#l>P`Vh|7zmvFp&00001 zbW%=J06^y0W&i*IgGod|R7i>Kls!_zFc3yl$OlNl3~8ksWTiTTwXO~NsdEYrkppl~ zW^C7D*BMA;ISKwtnf;6Qg(AOQANK->isVpXCc z;Qg0?#(E8_?^w3q0O~cIu3HKQD$fwkX$$6NgmBUVjk#$krDEXLD;JUmDiIVQ6-VHD z#2m1n6YOe)m;)5V7|m*g-Sd#Z%g)1EQ?GdF0Z+TvHBABY{R})lz@Y>h_#E7xye=g! zfZ3h~T}s$1;B8p>Jp31+j|p`7N-qGw8X&IL;aI$KymDj<2ziSjV+K&wydfQfkgYEi z=&u0AWmJM~^>79jEtznVHm4<^Pvo2LQD5ggfPSOEOrIyVj2Gte(<{Q3C+AULDzZ-45y00000NkvXX Hu0mjfP2kxE literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/latias_back_pic.png b/graphics/pokemon/back_pics/latias_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..a4286579b9d8dd103b0984308196f22f70044678 GIT binary patch literal 619 zcmV-x0+juUP)Yn4K@boSgE`O300001 zbW%=J06^y0W&i*I=}AOER7i=fl(A03Fc5|-r7M*jIv4rc6{=KBOijs(cnBVVhe9wQ z@dQDzu;GA^*jg8a*a(4v70UUXIsu(iA#p>h)}O!o&#l{P{eLB^fVewu2HLW_LNSr6 z6ws_l5@=RT`Xd-Ncj&|5y$Kk>2>2dJLZ43n_#SO3)(v8S0c+R=5Z#4&0boP4&0g3K z=;_Oc^30)uRqp;E519fR9i`^hBs4@<2_%XRHbMjL{09)`1_Q`l9)abc$ialqRB- z{vnLO8On^oZ-FzEKs5d-=oLkMi0zK3fC2@*nNmfSG3ZTi9PoOD>(f*z{p5i5ORAoi z>nb+u>ABK#H$(^D-dROQp&(BY$Sgn^*HCzG1vvseg@DR5^&lWWSJ}K2V24~? z&CRT=tdxtCb82(m-rj>sO8;tV)k;#F&Hw-Z|5~K~N`uuoVze^Qt}+K00001 zbW%=J06^y0W&i*J9!W$&R7i=%lrfLfFc^k|nzccW=-4~;t5;g(L|4?76;;ZK{tW&W zVn7Ut%_$2DQk;sLFAlWpB}akvq~o*GG?va^Sdhrj#ZTV%@fW+E_aB}f_qzd~Kbm(Z zTrU0wM7$da$3RB-27n6+=o!5kz?1-@#Sx$+78lbRfCB-H^{ajeu)6)~1OVnWFcqI% z1TN_g1h^2J?+$?Jb{~V_E)^f$9aHax23|_>VeSOrex`r9OvO{D1n~7M10eCxLIYz1 zKq^n8@t?mH^_V>B!zx4hew4nsME6E8o6zOnf;;0CWUYU+x^hZ>|CJ zOw{Xd4}r(e)^S(^uu=}d`_%%lasfXr0Dd@ts8ImorfV<9BkHu`%vF`N-EDUQ2 z_qmMXcvL6cJJ-EPCy;_ig%MrgMeL|R2C%ce37C@sdC{>23>ZoS5SJ5yGAlav5V13v z?P-Mo1EkuM3c*eX7{IMinE+a$y25~@23!i2h}baQkP3aV!66AnDqJVnkS3%;Uu3A5 zW+Y$&P*D+M3Zx0xDBID-O8FTBnuZ$ipV$HN3WtOZr%&l0cIVa%GHl2(pl;BPiz;ca zRgmXeQ7Q{qiDY|{sFYU3?__P_M#${E1u!7j>#gH;BC}@Tfl|+RL#1pWNU`y73Mk5= zGQhq8`ZBQrJcz0VCiu5erl@pi8VWonR)YcbP>9R*&!0d4%r#R?i#N*v00000x$iEP)K)V;3SFc=2l3^1M(d52aaJC)*`l??eZbqEr%TD4Mp z8T1CK)2-LiwHrI9N4)@kF5uJ-KiPnIuxF*N*)L&-*{x2D+#H!h*sL z?7ZI+akBHLmI#IRQ(HtO{I&=@Zv$H*&_=XA$Q}Tmv)mC74mgLg&T>X1;b0JOemC~r zpu-0=I0HT#4q`|5JK4Z9865rEFrXo-8KM|PKz}q~kqw)aI+{K*`pS{BzXMGC}D}@`-HNah{ zTPZyM5f2X*_=^)l81T46-8v&s9Tyf*%c<~#kt%Up)pC3y&^XQx{ayoIeW{Lh0NtdX zmnaY`z(1hh2$VVvxm^! zX|uO<&tVvH6hH?Rm;er$TsO90Mk!#g>2oVG_M!nKwK*ztNR1rH9o1^X)^-acN$*1} z&Vb&)NQ0#X=AFzmNKAmFUZk7e>Kag4CI+ZK0A2z#U|s`Vl*oYG{5u$Mc(7+R(Jw6& zB>|Dp2^b&_^>t5T3Wy4yHmOr|^#DHpYF_uhK7Ipsc89j8adblf0000^PZOY000001 zbW%=J06^y0W&i*J07*naR7i>K)IV?9KokIQe}UfVhHO@luAN(n=dMI8$4n&Zt*Sq3 zc2m?3KpZRTmfo4#jQI6E8~aQUR-~%xl9OP$AMdYC5WJrMbsT@;2*~IovJqg5mjE{c zB;^-lHM|JOzW~<$jBf*X5eRkt2p{9iAir8oH9&F+h^rN7{TASxy#Q7K905M5hqF7L zprI4fJ(wTg&$6pYfKzQCidPVsulHx=D}`Dcj=%U~%;GtCx(lK8} z3D`%7mc}G!p#IGP^m}W|$W#P`D+b_K=2|eb79+DDkl#&)Mb^{;Wzd#DWtJumY#t6m zNQcJ~tRrCJLa50Jz;gP5d!PV_#_VsYaU49FSi;Oz)Z@%GAPI1%LJwRC{M$Le4K`qj z)~U1yBBTHWhymU22~a8Nx(9g(4XA)a?0M9PhwZj2@{I~P17+t;(yACx-Th-D)Ee6I zJs3`rzy_dp9WX~A9!>yPe+u$z-$d4es>{GNh&=2<$P`;pdQca;dq1cHwiB9n_XONd zJ@r7=B}8or78{VDQ)=T!Eh+et1I&2Y3?wSG_U}*5ms|l)s{sL~>DmutHzCo0W>rm> zhpo>*4+nKn9+zFUK%x&IRZ26Ma~&;63UTswGC;Ti(*xS&a2t|VkMyK=U{PD#j{OzB co_}%v0NT`T)5lA#=l}o!07*qoM6N<$f-?3Q`~Uy| literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/lickitung_back_pic.png b/graphics/pokemon/back_pics/lickitung_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..f6524e2c0e482c27d6ea98def8e308a2b7df5b4a GIT binary patch literal 517 zcmV+g0{Z=lP)0RR8ZwEv`o?rKuaQZbYe01yxm0r&HY00001 zbW%=J06^y0W&i*IgGod|R7i>KlFx0zFcikU0AZ9$?E+n*S2$5NC_5R60We7pJ;s8b zi9#Y(YNZ+sl`1Z7X`lUq?Ksc@TE2s0`TP0(iwU{tpQ`}8=tg08NP-L?ft0RNu=lJ{gs^~FU@cV@0+=DMfmBVx8WUFstVuTYLPR!r%q->u z-JpcIStm^(VGdYlI#_xh_~g7fs>oWV2@U|rA4G1)1ezJ(`{0@^R?_u{z}DHMSi+B# z!Uxt1FZu@Gh;#twFSwb*;gZLU^3k)i6$S76!Izyn>0#Xl{kM8ew z?jblJN1$8{9|rvZ;F)4G?2><#`#OZn0LQ8(^%T1hqSpZ6czz`L2O%#ffW>jcpKnQb zXmSWI0|I)(ZxE;gfQ$P3cyncP^g}@52Y~Ax*&iFd=&$GpaDOfC{p}-;00000NkvXX Hu0mjfDJS6O literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/lileep_back_pic.png b/graphics/pokemon/back_pics/lileep_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..75360209100d616329c60aec196b372a09816c19 GIT binary patch literal 679 zcmV;Y0$BZtP)Kl(BBxFc5}0G&O+?1&0Wk-8V2j1juN1sRj-9P@qHM zh1O^T2~VSp6rnahL_5W!Jrw5PSIT4<=-}K@QYy)|0(8zl3Azvee|MzB*t`Bq0MpjG z5n_^_c+a!^ZASHz3rMu0xD-~ccdliWaL<_NF>0EM%USijc#D8p)R5lrU@ zm{S1cz+|q+;_(b%sJllnnBalhJ~$*T48Nh>5KNdUf0nwQEut$fV3JF~R*R}em(GBE)Cq&Z%?xnPlI7h@Tv&{@6hEo2? z9^|cCD-}KC`5+Ki>S7?>N}~Ei9H{9EkO^@mZ&zIcq{5VMWIhj|$iTS~aNX`_4}@zK z(Y3)-PG5IDzLKjFK#MP$2wMS?^n0({rHsB(ATC`k?yW0)fT^rAi0&Z0qr*E|gceef^;{HSz%7*mJs| zJ+;&s8_M=N+x%*;U%F*$9eZ%?z@>~@>umG%2H>8y?Z7B}19;bYy#Ndi{$I^|2IT+% N002ovPDHLkV1oYtGE)Em literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/linoone_back_pic.png b/graphics/pokemon/back_pics/linoone_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..9fc8fad388d38e7751158cf7dbbd5c8b648f92b3 GIT binary patch literal 546 zcmV+-0^R+IP)()wKWi_Bm36dyC%xthE2d&HwKIeAZ!b00001 zbW%=J06^y0W&i*Iph-kQR7i>Kld(?1P!xt623& zArjvr->iRMnRP8tI<;+QeVlYub)K|)Fd?||8A}5U;8_FU0B7V|mbLalYhcL*Bx5PT z0k}E-4U}*LYQ7bKd~cEgP{FHq-t#6Kfb|8?4?WM_0HouYCqRIXkq4Zw04)k=15f|~ zZ)jO*0XFDc#s>UI=6H4T8$f{^02{z!Frxq{x%q}T#?>W&5Hd?v4fqk_+Y~S^3dC_t z0EU2|RnQPc5dqi?0mFO%0qQ*d5-@8dfqa7k%yCK!Ah>wU2C%^aBFqtjI|?p`0d(D5 kKvOsxj-jjXX|MmI9~^`0S!wWy^Z)<=07*qoM6N<$g3#vbn*aa+ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/lombre_back_pic.png b/graphics/pokemon/back_pics/lombre_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..c87b4bcf37ea37b63caa2a47c74b0bf449a4862f GIT binary patch literal 585 zcmV-P0=E5$P)Kl)Y|)FcgKIE#0t$nj-NqMRKY^7wyK6d}n=f|{1}JO?(s15Y2)W=i-6{TbWylVg&RXS$QmD3llCpUT!RRJs`b6`-w+vcEs^)C@; z?(ZT+peONR^egK6IOB`~SfSHCr^HvndqP=B(;@6*#EHa|g7I&c07=Luvo>W>0Kkwu zF*aKPuJa?MG1_du20SU3#q9AIo{&G^8{jSvMNB}(_IW4*fd>n)JP&OG0XCKh5`SGk XS=r;C>vGO-00000NkvXXu0mjfQhfMD literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/lotad_back_pic.png b/graphics/pokemon/back_pics/lotad_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..d8ca7648d71e0faeec4e8ab1ae6ddc5131b5f039 GIT binary patch literal 544 zcmV+*0^j|KP)Kl0R<3FcgO~FodZWE9ztdQzwjb03ba;;^(Pd5^Sm5 zDBZdsVQ~d6P^s_PiDQDw1HGA1f0875)IY8isP5pBF~<2H3gN;faBe}4p7DsY0r%-O|RQ!B$Qc)aRID1RHTf0Oc`Ni+=gD!P;7=C>4LZm z-r%LOE$8`OMnlv^&!IwLL)Xl8@j8rvaF4<0Nyc{QusP2m2q})JpyC|UfvuUVIp{%H zhI9nj!0)VLK?Q>XvXL-dLYR;OIwKNR+6%a3Hvt*t`yiP91arZHQ4a!N%9Wo`)XZIV z$GIvZVP!gQ@MYoK?cov*RS9MsKUjLY2^)xnh6Ae|x5v^&m_|V8fQJwQYR9c@Fv1uv zAQq;)f(9H%K^exWOZ-P^0a`h3wP0&EWE6lA8uX_Zjv|weUy^G>wO?LP3;I^-=bT&{ zruD|L+)4WVW+NeaYCEGY3Q!08av2Gewliv}%)y?=JefU{K|KuZ`#t6pd+H;6-E^>) ig!a@6;~5|IALKlf7=+Fc8NDNSgf)WIP%Pd?YjqkW^$1L@OS(xt*I7 zS~K?fvg;j;%0@@_?nsH00~B4l0GZR=&cHnazl10k zpb|YvO0QY$-BH~mGx0&oh50Ar!N$^c+S6oID| zU;~gV1nT8V0H&}(G6!u9fDVJqQ8UhoUWiLz&5M&v0Ul5SO@|CgGHDb*AO#vnmwSKK zbiUBdL^0>oy|d^5dh)ko+s%brEK*nFI|Dv{)k+f&Ly3`Joq#@}CzMdD&}?4qMyDWs z1w?{b0NkU|uM+SSGd^7$&~<(hT?Q^9=OY8TxvMXWUo!CX%>kC;52BK40 zUj^uTts5d7@SQWzq_h1V2Ud9T$HA3RP5}Ts7_}sKDe(P;o2XZS7l^I%_<2^~`-wtiCxFxbgDJCtGVG15pW zNhC`DI{*_vOS34VHud2cfQ?s(dpI=5xA4chIt2`$d(h1aNUV_(VpBK3r~QNd0ky&+ UC(N_Kls#_aFc5{M0|X!;DJcTqVTIXVAWWAj3@i`ehOPo^ zny@l_MmI_|&Iv4J3nNvaouMp>7AzasW}Cc-A%L$_ECv)4oWl$M!3^bfO%|)xME( zh9XI|U_LTAlIo|XIUwRL$+cp>uRIq%lIwlbAWLekMXCb;Wl9l>_CQWsl{4hK*T$65J&f89=vxIvhG+cLJ2E2w2Vou-|(h-*r!T0J0uH903^vze+{G!Wgp*0Br`q z6dH`z8DNak3OumTg;^FH>Vch+w96hdC>bzXnY`o*Gk;2m$0bk>fCmx==u4ucVD6kBb~0VoGS1q+_@V*5!r?Qk)PD7F;cak(fhfx)~?!iu-o?2x!+L% z0<3c{?MeQD#V?G3wHs@D*5Lx+!Vq`0?=TJ2NWcci{w4xyyGDEqPPf8M7~#3Lo426^ qVuuZY#b*qO?C=V&{F8j^AM_XeTUl>iD3&$=0000w5D*X$#_CKZ00001 zbW%=J06^y0W&i*JjY&j7R7i=nl)rM?KoG_$q!O5uachrGrpg2+I$UEhb{Rm#Zk-3E z$P@4eNW*xN4y_P>s*F)~?@o*W9aOmj3GGk2-?zHkTJ66qkiYeXDc*<|>S9a)Kty9^ zh+6?`y-L7P!(zCQuxF+k0pl(akqHPH=bVje35-oO93huPR_50Z;TNd0typY9v7P z*1RfOnDE3%7yxBLh>h?KfHWcc&8^=pJ#HNKhLqrmRjrwqGbAw_1E*gpiBffAGXlip zY2{@B1WLl0zGbX|PyuKAUrNV=^8tVGmb4gGJzek zp6MpezhT^YNaBxU0MdXx;mv36Q-Wax>k|MnhFf#{^M{WmFhRB?XjuW37#TLhT1P5N=&#lLfL3Jhb|1uD+w=s@@cyu2NNAc2jJ zV~;XN0yb+Mx*godsje`ONU)D*0zcYF$1QgAnfgk>3{qDe8vJNQ3X47Vw}MhQOEe@; zRc}Opp9)}tWeNBmL#{StFC#!(30id2@IebGF3&9`U`|if2yeB8`<&tu2qoYtnPI4b zn`cr&v*m>;K-Ji4i;Q85)aa0k7;2R@b_alYzMMUtPm&y*07WY4lreA9KorM4RCo@N_yA;JtdI{eqU4@!GIhX?!URZ8 z8zx-Iid&W}w7E=lYi?rh#20{1z*p#3z|9IsF?Z+l`R;nz5l^wA=>7bE|M%`)Jn#RD z@)%eg=X=tA(Q6_u-LDUu^ur)Pr9-6T$;W|=_#WY_Gy>p+ooD(3ndZT&n82ybLmLpmLdeXl&^94v5EHr~mv3yKSp`0Wv#<5dhP;1k z0PlKgSHjP`s=gr?3xjC76z-$Cs_uSmF5%IM8<^JB?f2gs0#AD?>d?flr_l_kpqiLF5_$2C$~|x`04VeAExHT$GQE$#Ma3PH8Ct z7^n*~7j0gb6aHgdOAlFhp{8H>pjI3htDX0t08J8org%) zY>&*3r2Dpu1j2-Uw||44x6pwJ&oZ3^o45QQj=xfJZ99I!iYEX7002ovPDHLkV1hHL BKz0BC literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/luvdisc_back_pic.png b/graphics/pokemon/back_pics/luvdisc_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..04895aa259ad1e0d5a028472e321bf009b69d7d8 GIT binary patch literal 357 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*QB#kiY*P7WCi{I|Nq|E zXV2y|pPe%0|B~u&SEocJ?Tt$61}cOD2?>d*b^BU?e8!R>zhDN3XE)M-oX4Injv*eM zZ!a(8J7gfh_Fyd=XBSI1Lmd0TWrBOpF($p1VZ3U~pt47m%lCTTj{moE4!+&~{pq_~ zYdwvg^3Pm*-sZ+k>uB*~Gg$8*m?6!*W!+9Or`uN)7tEBry=`7>MLH3pg0kml!VC(jYM7`CG-DJ`N4@M#ibU_Z>B_GwN+rd2}${#AEj_;k=ixH%apB zNHjxx$JuUjC;7JTd}xBIFVdQ&MBb@0PuN@FaQ7m literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/machamp_back_pic.png b/graphics/pokemon/back_pics/machamp_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..98f6f961ba2eb0984b0dfd641cce01c34ff15e00 GIT binary patch literal 903 zcmV;219<$2P)%OUKvRzM>8&}0?V(T#HOIrU{OND3w==N#1d;n#@xxxP zx5h+Eq60u$DNeArX)|mvvEBx9nzMknBKCa2XKSs$*#=Ze3K-b-ABu{2u<@n|5C8&9 zz5V^Z$n$SOAh!C`mI5Dz77#g6dcnkAtI7guudYPSS~aoh0GRPluAW;hu*A#9O`yv_ zX#rCKNVy9XNOJ}jvH~Febn&WHLzk$OV@?%wG(3Q`_wl?9s5FtO*Ns>K#kQi}@xizW z7`9suy>1*Md=>s9`f?mMfz=U!l*9a5f;tm@-w(sL2WQPeF%X{))o4yo0Y06Fdrukw z&smO64QK_45WZh8%`Kp~{djO%02UV5-mg4w7;YGlhzkG>xG%)cW#0i5E5uY7NB}N{ zcy=;l%WwT&wIxWI6=-vu?~0wH4`m>3CuM77g{t?y$LVUhQ!WfKoaTzYgCwfuaWH6@a9J;C1<8+5(VB;T&)= zDS>Df1iO9<;5d=ySCPx2k`S#F9UG^Nmj z(%bZdkf{_&vjhz&r5h=6Nl2#{00001 zbW%=J06^y0W&i*JAxT6*R7i>Kl)rAg=&v|9|6$| z80dopAe*c%bQHRWq%vf){uFLDOLp!gS#~8h=+Z6c!Nd3C$Gh)n_j)h&pK7sKJS)$g zch3>?ku!E3XZHE8`p0wkEo08;msLMw?uc~8KD@UAUuLY*8JpTH&c^O}t&hi-7GPKb z7ipSKr=RSA%h)8*TBi?V+aUAb8^#i#G7q*U9ub%*s0b_YxTy^Qf_vK)^UXzV5azeG zIcK{`Z4kb>u>if|>){6ZI=3|uD|KkW3iJgWDtP5vx*YHZkZJtg1{^IQ;6E(@KLxrL zeO_C{&$*F2~i(Dapdfvu>U$o4p|>9nxlRt{J?D|FP>6Vo`9L@TL*0==$7z$c^4 zzGZMHAjB!9L366CGolFB98%gO5m|c`cO2IICJrbnQ*?DqIpiF53R9b1XO*}o#Y56D zOxc+bUjj%>n3sUSDLM|6eq}&e>262>3S@NyhJ`7#fMLC1GAJF|cMPco5aoGM0sZv; z6rjhd0xXkOQKvCK4LdUg;AsS5qS2VVgOvv! z7;OT~OCNy(fe=lUf9(rT>Lel{+h<2$r@{zeb%h@Sa^T#^<}YBNb%CcqUSE0s%9q+8 zKzSV;h6EH*9D97pe|*DTVQ3hb{1Y&FyyQzkKu)QNBk)rHP)~xFASe(l|3Lr%002ov JPDHLkV1lrmCK~_% literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/machop_back_pic.png b/graphics/pokemon/back_pics/machop_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..6b0dda04cac7344ad7350af86e275baef70af298 GIT binary patch literal 584 zcmV-O0=NB%P)WrF%S?Ck{*D>00001 zbW%=J06^y0W&i*I#z{m$R7i>Kls!(vKoEtufHJnIppL}}ELtM*bAiBtxYsybV8;eT znVoec%B&57GBIX$?MSh;3ndgxmFRtWZ+2!BA^z)6*1`3`)%7>})qHw8ora0S)8urT zrs-PYA-X9*|NN-kCbhgtHT)`S3yKo8F!@8_gY zLgCjZFCXWXLarx&MqKEMte&6vfh8)ZV}5k!1=bmMl^^@xxt8(=Aj@{Zrx(~j?|?|& zE+g1Afw?y$>K%#@AWY{#uMIJv>#<%}+PV{wF8Le4<51UF7_0N|*Qfdq4uT{8PhE8UPh!Dp#oZ8Zx_WGkRh(&Y=|1)_xkF#6}vo zYSR4bhQK;J?gxL4?}%@gh%txkOf|HJ<4x9bZY W?6KkNcGX7!0000F(Cf{|NsBA_SHGntN^To0RI60{{a8R#l>@Tdk_#1F{)ql00001 zbW%=J06^y0W&i*Iph-kQR7i>KlRZwuKoEtuNNP8<5z;umfM?T3>}-*0^J7baCf7-B zKxoJfI13V-BZL?U3bf4HaU$U{REQ=cx$%5{`)2l8sdN2b(eRf(*zr&O4nS<%RcLs{ z01+gz3PB&^SX%%{TIBm_iZo*&mL!5aq9#lM&dE1UyvAg$oJL1SP== z@t|pRJ_0j}_xw>tAbILAZC15kMm(4x{$ItW0Rsd9XA|8bkl!}TYv3tJ}iMLwB-Yz#1 zF{`H-EmzGkgU|S|hxzhO1R^*{%vVBSLcQ`Pcnu6Z$Uw9$X!1;Sy}p-$&#m{nr;OZM z_BajzUnF^PQEEDHzDL;B<~7jXT_C!isIS6h?49ShHUX+EWR7UTTkzk34wOVUDac|W zq>b~O2amjHtDTfKlR`dL(<)HX3>-&DatarbNqOe9m4A~7Nhs)JBMnH$$oi46hUgT> kj3hw$8elCEIM-j-7n5zIPip`uzW@LL07*qoM6N<$f;bN}v~|J8H<#Q>ygTCA+BgM))&Vq!r-K@boSnx7>T00001 zbW%=J06^y0W&i*JyGcYrR7i>K(m!k4KokIQLF3WRcaZ59=&8_bA$o!~l$=TIIiDtA z&uNG5ngqcgz)HJYCwq7NtR+(&%Yob!EM4Ep^_@&gDRj*n3`W0u|Lz>;HU2pc{u_Mk zI8gV!&Iq5slXnP$C`h%-_0!F7#+MY?_4+iWSYy$e! z>ym;x@QykLu=lP@2>?0Fe)mAun-8LmK;9zj=dH&JwInLXjOQFG|1>nJ7K!X76 z0JZS00@TB9jK&8I{4d)-Z40>BWCgZeHW*{BZn6$8YT$wZrC_=TGsYWVgN^|@ygG1v zuL4cX^ELA-pwE~t5583`H}6Ii>dE(+=T#ZZpaIihslSinDKOu!64)9I4O*y_+Khyd zU?Ql2vns)KBgDi4Zks$?Au5rG2Lkth0Ne9Qi0L@W+f3;1iLYvR!lJwA)n(SU#&-rEieh3R-RLLN|h;6EJx}6egy}q_Xm;Y zE37~q6X4K2-hFS<1Y#;uIzPT4kO-=wple#Vt5z)Li1Y9ik*Y1I0Z>jI2vO(+05_O_ z7Fm}E_O^9}I2I-5MaUImcA93Afa$SGOGt#^i#Q9FJk3@z8gkiX=C+$c$Czig8PC_S znPxOX;Je=C9te4sKJy$U0VVgqVMaIc3?-_lTwykx6u5=}80>&kv=4bX3H4=istVmX?wFw!6@=>36&UeAJflhPw8D-cCRQRY&@6T7sa zphvO=vj~dk5;Gc-u}4!v11vG*Kcf(&EO4lwod4*&#y`g|3(^}}K@CFT00000NkvXX Hu0mjf&`)s5 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/magikarp_back_pic.png b/graphics/pokemon/back_pics/magikarp_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..66e874bb96f207e1a9d205d0624b836188c14bce GIT binary patch literal 673 zcmV;S0$%-zP)K(mik5Ko|$`8$ee{oFK7ni3=H;z)6joa16m{R#;3u4 zKrX#g-}CE$PZ9Y0K^WleI?xR8b`U(&g5hwusD7_DA6lbT!nLY)%x`y74u{`US&e8< zH?5a}A0(-cs#7d~t>q-}(-?%PMx3uB=9AI2LIAolg`GznO(&y7aR9BO3ixohidaq| zRT89dKvaM!SKrKMpcDYt8lHM3&|nGt#?9nF;OnspEcrl=ZWVC30uk>XR{%>QvYdkk zTpA)l%bx$2Y|W1WZOaBgi~LKT@2sy*cql=Ph=K z=^f-9Jatx}y*;i5?Yv_aT+P-%fFo!x)%<=7XvenX5)*h{;Rq`QwHWLGJ+@_p36Pxw zI1q!nVB6E`Q`$9k7B91%I9$gUj1CIGFjTfjor9QvVsr+x(|4InWDM5<}0RI60c&vEN00001 zbW%=J06^y0W&i*JFG)l}R7i>ClfP@*KorMsFgP*PQ0Ux0q4ZBki-y?r^0#<9(W!$$ zPcf7X9wZk^h73aOA5bcf-7K3>JhX}K$eL47G@`ojvK_!U1XWtN^;h)*cqu2yRV>=uJ$wMv&usbf=<3aNkZmMKOB z$Xc1ZR9!RnjO27}fLaklnQqGKp$0M=z|JK0US?#lwxwW0j-3&*&d{Myh1@ne=;`Lu zLP~T{Z(rrDIdI*5QQ5zF@wzpHp4JTT^Z8v1V7Yt>_40j7k7G=t9*BDpH+2D1{s@%d ziOZTkpx2U1ZZgo`?zN%H@)rpB$Q`UPj$;HO81Eh5;Q$dToio(&>{!8KUuQio^&RC- zaf40({JvfQ5jwTwL{tk*e=nL-;uSCk4ZvvL1m;BK2KkTFifKoCV;(4+`f>U1=e6kH*dZ;%6!f(y8eMTOFU zC?ZS)r8Uhe_4o$a$Opg+;Q&DtmVgar*j-Z2&_+mp%@p(W|LjIlN5{XVm+$7SB%ED` zd2{^63-if1ct`oYBovt&@ySJ+u?=(%mr?(f-qV!rI3R-J`w@}SDcjH_SD;>oh#$ls z*(3$1!2q#pc_9XXtrtpD@vpF;aN#NtwG^S;(nshuA3iljK_UxlZX+<)V6@pNQh{SyVDD& l(wXk1m4#U&2^}5#=Lfg7qh7mUHQfLJ002ovPDHLkV1naCubuz^ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/magneton_back_pic.png b/graphics/pokemon/back_pics/magneton_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..5fc357dfc984f50f29f2b15cba1eb9dfc0563987 GIT binary patch literal 749 zcmVKlrfLfFcinVW@*%!t;@m0a4a|7a9JpG2d0~@5@KL1 zOduw1;v|reE1@tTB#cnh*`@gaP3Z@?xapo=Qvqs~q~T#ZPU|Gx1mpdOR__1j=lA@c zi_ne!vy3D0dH(vvb-#uruKKCIBYP0!Ak(0Nn^+BP7w zXJ?W0$+`-d?au(AjkC*0__zk3gxD!{fsN@LFed!KvM>;5aEnfSN=Gp!PSrQgAoCVtN?6(b?I2B7$> z24Gw(6PejqniJ;J_%A*}8NVYsWL#r_*4=8e1dwY6zv-rB->CtO+z&!ZqfHB*>K>L! z_}un|Pe;&;d)gVsiA-tXdEO+HnFgC5CBQlsUt12$@~etr^9<=gTZCwEARNek0ESW( zzlhUVE_sM4Z8pVSxe$~J;IkldHy7U(@QuxM-#B$r5jZka1yFW5*MV-D=LR7isF|Q8 z;EDP%pnHww{RzH?CLSm=G<*VwZX(foY!r;g4shD_{96kU&fvoP2t` z521$5_gEm#m=Y4dvb){W9bigd%+t(Nz&Ui!I$9E9yU-k^5^!v^?mXNBnWwZujd18C z{P7~Qqs^3=@At(0H$uuo@FKC^t*i(jh~<)ed=Tq4GC|%@RII_Wj!Hwz|5CP^k4)?2 fu>Ll0^iTQ&8Uiw-W!-pD00000NkvXXu0mjf8$?~* literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/makuhita_back_pic.png b/graphics/pokemon/back_pics/makuhita_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..45423f822ee98be1562f7de6288f517441d03c74 GIT binary patch literal 579 zcmV-J0=)f+P)s zoTP(;lv-MIF*#cQ)l%-gG0mJ(|5{4TQbC+jK>z>%|K@vpS~&m!0RR90gpkl900001 zbW%=J06^y0W&i*I!AV3xR7i>Kk}+<=KoCW(1c_>qoZKL}K!kgwgjG^ej;WjmJkS`? z;H{viNlBSAQDCTyETu>lpCPl0F}rJ%R8bnHz{vmU|C#YP&ZYjf*1zbx*Prz!oCDH> z^$hxFoS~o6g8}$iolXM4S|*$WLIMKENdT}GkP5(*T7Xe~4=t1#vV}=S^SlT8{URbr z37Fb?+jVbcY>t=&H7#7bu6xsw|MEHX!C%-0S0&(VF~WIehDXxxJ$lVj0v6R7pQKIz zn?ZmWMK;lB-;wTRqywa65?DloRPV#fq)sCshSt~YlHTz;O@NXxExI@$gHBQaJ`twH zGvc63I9M2~V)8|vG0=gD1w_R;lt5$vLd?~joO&=a*hm41322wkgb65JZ$bhhbCNLB z^zmC2@O}U2kGOo-y4(@4aGD`iA>(+Zuj*4-FeHm3urxN+lE8wYRyBagww8OJdLCy+y?In)6<&y1A?G}$qKAmB zyJXSUs R>b(E}002ovPDHLkV1n>22_*mk literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/manectric_back_pic.png b/graphics/pokemon/back_pics/manectric_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..9373757a05b7dc46a735f2d8fa784eea677c840c GIT binary patch literal 437 zcmV;m0ZRUfP)&Vd|4QEGYP7{_i+e$=AQ0|SY5)KL00030|Nq6s<`@_l8?Qh100001 zbW%=J06^y0W&i*IGf6~2R7i=<(=l?xAP@ymrQ6c$6mlzWkoYWOaslJCuAoeVq+a=a#|Dshz?Xoz3zX^t9TtC~Rz{#V7ASrF z0V_Ac#^-rJUsD83O^^xLm==&E7=fio!BIGo*ML3YHsMj=DIc*$fFsQ~RDqiz+{yvy zhZ16HfE$Vlu{da&;cDckc+Aj-yRS9bE}u_F)c)WQN7TR`!2=qA{+N}IGTejzVKZQ% zcSvC5MlAk1QH(T(0Vn0&Fp2<*iy8)eL!>JTIpzNOENBIg4|s9=?*ULm4)Ar~XMlfv f-=_?w!{4rN!j$T(0`LV*00000NkvXXu0mjf#2338 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/mankey_back_pic.png b/graphics/pokemon/back_pics/mankey_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..00336d751dbbfae33e56b20d33c4d5a59bef6b69 GIT binary patch literal 697 zcmV;q0!ICbP)Kl(BBxFc5~d8K?jWoU#z;D{3Q}8qPChDySDQA}!tu z%LNKfMrukLvxs&wd2v{KG7vaXf6}&0szAm}`3J*y_vyc*NGb?E_2J5Ay_orN$oWq< zE_jx>@vPwdE^+xZAG`GodT}yEnr7FD!}ov?br+Z-%x9ScaAd}lbNIy=e9trH0LWaz zh^ARSU^el1ngPJ2!xJHYCasC1=*nhvSU5mT2$=`FD4iMMU*Mj#>_3%FchtTWM1ExItJ$@HRbN3dQb-F6iA@^o*M`+Be=2_tZ zu|p_m&9iH7go{OKfaRL|9n1{n2`~oBZ|S&q`3?bt81UJs>8{5o!e0nC1~oBdFh4_-aOO~CMtnc+04Z(uG>sdOW|h3xD8B4MBp z)ke0hI-bb6XED5Q)t+g+X|>)n_V(O(ClbI*hHu~qh-SfHq_tZ4z`%Y_1_66B?+?W4 f)nCS^K0yBfxn~$jTfR5p00000NkvXXu0mjf4IVz@ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/mantine_back_pic.png b/graphics/pokemon/back_pics/mantine_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..186e90e1e29bb08a96304bdd606bd401c38b3944 GIT binary patch literal 526 zcmV+p0`dKcP)Cl0A;ZAPj{gEve@Y$qiz*9%(T(BN6J{zl$`XW=(zw z!K7JjH?AW5`T5y#(|mRaeAOOZ`d0AG0R^c{483F$@lo&JZP&?}33Ml*YQRqc=prwM z?(|RxdcZ^04m~me;4HEL3{V7^955U>x2JA^G?@U&08%}>wgi-$w3)|$0oargFgZ|q zjH>6`<1fG?2i}r;_gZt|!va|-ZVng;L~ z0#2j8m{8C6nwL_V#e@)y*HbR=+&U_w%g5B%MT!=GF7hoTe1oj+JV-6^Q zBoLQKu^_q^7g!ajJnjMATnHqEEp!4(fjwLT)KQ+-)4xbSwVuN7z*k*>B<8#W7dS3L zR0cRCR-nyxSd~z>0=tC0F%V;%w+=V;sN+erw+3(=<1+27fYzFBv-ynp1(l)p<1O}T Q*Z=?k07*qoM6N<$f-6zrs{jB1 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/mareep_back_pic.png b/graphics/pokemon/back_pics/mareep_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..601d13c8daa4ac9a60966b11ebe1df092d81081c GIT binary patch literal 635 zcmV->0)+jEP)S<{*^407{eqAZq{K0OqU!w0i)gq@+?(QVK(?5^XFcbjr4C&hHR@iLu1^S#hsBspSoSIfhRHC1Q zjg^fLaV+jo-5L-19!Tx6+yZJ--4(%cA`iPx6UXHONR0P}{?YrrKTciGdyM}a{P`d9 z;-XXdmruk+7kF`YmWi$w3P^F@F+p5DmDz`fK~G5e7hu`3!>fht+`;=HWF~eUU?7BO zCh+(apjaLoT;q_Ohz+92`|)%>B7{2Q`YSXa{4t?15CWkC)`tq8kBO?j1r_ZUn=Ad@ zA3Y;FLX{8kQwtQjd`e8fSAeo8ofZ6%nm#fhorar_3$#~2Pv>Z;^AsY6XXP$6osSLF zzPa_NW{Z4GoCxuK3k+Sr?%rBJ5CGUh1o z?Og+s)%MFx05+iT-8w}y+seE!fCA_f0lTw)?kE-uiH8Kyw@JS;`%0xjrhyU^jxqOa z05hS16)dnp4}xr2+_uGe3&882WxGZDTBiUwpVTd)6EFY>CcG|A!8wK3+eg5ndVH*! zI3P*w{bFD#Zv!4#fG5BviPwsW7EuHE-T`~AM71U3d!BIT|3BdTU=Dc=(0h!3i(drn V1ODtgKlRIw1Fbsw>#DlYC$+kfNM&Vm%vST zH4aZ%>S0(9#A{I?91NNNho2HfZ8q=tpYgn}>r}&SUeb{3ySfHE+T~PVt~v2jU!c_< zy}&gyXlj7Ab0{w%wb*eETE#U=U;_Y|0A&E!=n`NwNi=|6LF+f10P-%y3eZa8?+PFv z4e!qbDgnwKkaa$x126*+C9uv-bQLHE#%2K!b=t}=2@Y_&$^ouz0HCj&S}+-&5y-Vlw|4Kl)q2gKorM4#2$$bCF-0Po1L7KwFCrnZRaw!5g{Is zaQ~D}NbNs>L>B%LvoiHy3Q{V?>eP+8@14^n_YVF6-r(i?x$paRKF@m(JACy9kcdw% zsihhqa-Q8s;xvU<08kV03g82Tq6;9^kpmcnLhM6dCLITHGTs8B!vmQR0x(4^1aC3v zp#eqDVUfcB=F;s+vB-L(AeEj*YY(S8O#Jq(0VG_{JQh=-0=gpH4(SJc@<+%>qi8>If0jrMvwJ(r$zDeo|61fkx>(-iJGzgPX?>wF%}1ZBYPsAsz~5e- ze56(8sB-{4ZxV;}=b3IqUGMG_TgTG!DhC5B?{*vTadr#zukwNi-oyI``NG#pyX8S( P00000NkvXXu0mjfoRuMe literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/marshtomp_back_pic.png b/graphics/pokemon/back_pics/marshtomp_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..6c530aaee87ff83d3a251950b7720ff2c052b51c GIT binary patch literal 748 zcmV^m0fWa00001 zbW%=J06^y0W&i*JYDq*vR7i=$P7L@6s*4YB$*$<%GRp}AMpL?`+n$IbUOdxVp?mjo(Dm&_Ufuu z9-s=87w82w0A;&D-mg`u+JPP>-~*~Y0qrT|n4u>}7Q6uTLIOM~gphy_$V*lFieP~O z+H>r`0Q8^>UI5!vuEeZ$94aVrC1AB>3BXR!Iv=E4l`0hvoD1=I7Fbk}fZ&`@geD7h zVsKZftpV<%4_MUrINR>Hf(QiML~jt_i6goa9;5Lm1^HnPH&FyJy1ba!Y`^iZor~B2 zxFQ0I#1-5v2)O%bfiF>XdHWWDIbT~~+Sv>qCd&r6iZ0*tsaTqhED}Dw*bIbQ1Vpc) zTniLa&VLT$Lm-ah0veVYK=B3taR^+!0$>4vn4``Ts683R?;LOs@@)+fY|j}OaQ@r(mMt~H@0m#Bs zXaH00{Ajey8r@ zri0LVyZgTZGSK1Hww+>d{~N>t&}`8AssZ35AnOj3ZXhz!mAz{ieGWpcsSk9VMn3{n z9)vrXhjg!NS4OSO%0rxonboy+4p@cOL}?l+%1`e@7>5#fC>)3kb@Q9+pbY^oB>=V4 eJ%23!c>M*Msst`eN@_p=0000n;{rSw^00001 zbW%=J06^y0W&i*JH%UZ6R7i=n)Vpq@KokaGvl2bS_yNMOT`FH*Aj#AS7np4NMYJha z2yGo}+ASi4wzpR4ws6JUL_Elzxia8^Z4wI0(tQ5UnKO)6tNABeSmTdhq@N9rp96^9 zf&+Y^H~#~{GVm;L{0Q*f0q(AVKLemgStB16T06jx8F12|N}b@56|xDxvLmny*b#Ua z7;sYC$n6LNe8$1c0w@76mQHJg2AmlySfRiWf#Z$*^7O`-+9!Y^BHS8K+Q3A3aiqZ? z8`L_&Qwjdt1iWfMA`6&ZRBf9sfR=+-4dOtyV3lZF04l-)<;nEGL35b`a~86P-(6|} zXyI%C97a_GxJW=0DEXvEKtur82q2Dvr2}X>5uw3ZoVEhr+6I~!fk(#l3nli+!B0^G zKqSG*0+njwA^`6aKml{mCnTDH8W0f*;Pc;?%-pPLhP&jMh=VjntgOm}1)Z{V2ps5{e{<@IJZ!N+BZ|GQ4%)--%bAM1coC ff2Ta-p0E7_tC1xlw|-gD00000NkvXXu0mjfMBgxF literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/mawile_back_pic.png b/graphics/pokemon/back_pics/mawile_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..5bbf44ca9ca9e3ad3ecd7209d9f58bed298869d8 GIT binary patch literal 825 zcmV-91IGM`P)oJyQ~IRF3v#l^*>q@;s`gHlpbh5~ZP00001 zbW%=J06^y0W&i*Jw@E}nR7i=De2cIi*FzE~{yuN}Zr>l|a%u6Ifqqdi3&a=s7fa1*UH;#`ta z?gJv!Wr7d1y+W=_neGCjB$H)|7MFOe)MXO$n>GtksY{u)01oFu8eqE(2OZRah__vK zcoY~Q+Xm9wBF1mo1_-AH?w@Z1aYSn%>GtEzL7+!!RWeKzSDc zBHIKq4zvbzpEsL22SpujfMiWq`X)gcAOYFz(@wPxz-mA;XaYgFKw|(Nk6HnH87>kK z>%h+w16=(Hudyh5Bv&csB^G-)`9$<4lm?` z_w-$yn=N*iWewoMb(7)8?rD&lg`l|43dkfIxUM_={O$BIjx-<&pfq9Q0zDu=X0Kn7 zK>8H5g1LpPnP9ZK<~ITq0i7UdKh`rDYXK>XjAl#pjav!kI;jmOD^Zr$vL&9@8?|} zvuf*@Cg;SXlPPh}{pv0PV4x}hAAEX%F2@Z5R9T|{ENeU>WP~&K4WN!nK$BA!0Rs4U zLc-S@18nx9c4@(n0UZQc3^-0Hlj*q@<*SgMdP8O`+zpoR~CmCU`P&Qk8k9jOQI zn!v)49^u%!5x)qXfRBsdL zB_%^ora16SC5Q+a$rRh8=S96ZR>VN2sD*Yf7vdIrF_gH+)^j*Ru>?Yj6ruAW>}`91Ut-5lRY8a2mmDr|O84FIp3q%G#mjxB)JlSy5#h}72 z*OdDkb0va}Sgvg%5a(u^Ko>P~frCu&MhC(MrotouJ*!ssBjVSBtG6zI&x^Z>{fH=_ zE|V#IT$Ce!f|N*kGOg>PSgXDI$S&Bo8$YS5(v}*4frJj638{fS0RVon9{{e$Ma98; z0MgR!VD^j z7W3l%OGGq*0WkmDBGH0Yb}WD$lzV&sgKFklIkZ7Bv^iRHDM0`L0L9+_i@o+@l+8+WtV&vQquN*X00001 zbW%=J06^y0W&i*Ivq?ljR7i>KlCe(1Fc5|#k;wyj2b&2o`7)&osxwtWykaCXxkBt1 z6$w_i3~Y#~eE_H;F+vGvCrz5vgbfx>iX!>{{Qq~C1i^p(Ri!`ZA4zvfmH^~n<1JOtiv76+aDclHASvq**nk8;fH@fwq&weT zP;>wgP?rQwcP9xU7D*TAjv9i9I{-l1nIy!M2|jV7#|ZZTAzL7EUc0*xJwRF@+W{nM zs%;|M1IUF?NYy|Rkhs5XqVSPbMuJyWI>~~)BFavuoT5B>5Ja22RKD|-dzIyDj#YYq zg;hWEy2`?y6|G)GX1zA^t!~UiSw=6bMnAls>bnzEmdfht!x%%KO$$U?Yp`+_Tq2N> zD|0`(S*+HLg9VmuEc=zuam2@w*4NX<<4WIFQ~Am*$9qs{`600001 zbW%=J06^y0W&i*JUP(kjR7i=9l{;(OP!z{CID!OBr_Kfm`~mbRv{P%#Lx+~&N1;Q& z&^BY%tLh6#3KYCaS6~RZC9xnMr65QP$)K?r?agD;bM&|p*1dB77+qQCr~f(UK9D5s zshg(B{()o_78XRMs-IuZh4p!6SgBseAfeVR*0igL02gv4nh{%o_808lf)NJpF+ z0T?UV`zHX*#}E7_CTf4P8v@Y#+{htg2?OoLW``y8o;SOIc{);ouD7BQUd0{FO)jw1%xE+Mw(Md6RKODk|_K&~plC9Vg$%z>Bj zTjCJnmVgv`wrwNe$14N^at%3c`zv$s+{^$JWdQs~&l0PilS?k{=3_Zsl6h@aHrFd2sczX?e9b)a_dmn+h(9{F|HOBxm-z2`YF!1rmr zqa|C;^8Ju5DbJu=yzbLF5YlSbJlx>xA*D2;p~rBx+)^52`a)rz4brhVgkzeb9suxj z(F!;rp1=G(#GQ7Qu4x$N*(j^w+V+;yY$sZySxPGcB0000AxgNL&7=VTb5hk>IS>#K=H}+^oH5ON5R^dx|NpfA=7Z+6L7Zv;;Febn00001 zbW%=J06^y0W&i*IzDYzuR7i>Kl(BNcFbsyXvEhf|0Xmci%9gucf#-l1;2Iu)D~t?X zoH8;LnUT8|3$`pcs$@cO2+*)Pfg# z1)yAjChc5&d9&6z0~4Z;<4R!J)J>arUYiK2fJsW zrlI&Fpfg0pR%?Ko23ueN3BZuBt4n~vrRHQItT{Jv05k_!xC+=CK;+oM(n}ZtunLd| zEM%D!Dgkvms>+A~1XwO5X~j;g+}o)_4&)Gy!6k65T*XFjo53j%zmnw4W-kN)U;Be` z^$-mm0w4YUAdPPUFM~84UkA)25o<@QtnC+X-ZG@-I2 zin>1pw}AyJCP-|eE%$q1cL`QtK7b zhKI$c{qeftF{O=Kh6z03_1tIBs7BC6Cf4!^Okkn$?oWvBK-gFS&xJQ-^2C)@_*r!T z!`H_bA=X_vkr3xHm0^#p44Cp$wUyTg6$MdTMmirU{ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/metagross_back_pic.png b/graphics/pokemon/back_pics/metagross_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..2097f945d611de43f1b5b1d03a5b448d36e202e0 GIT binary patch literal 515 zcmV+e0{s1nP) z&CRT=tdxtCb82(m-rj>sO8;tV)k;!>&Hu&T|5~K~N`uuoVze^on~2X00001 zbW%=J06^y0W&i*Ifk{L`R7i>Kl0i@7Kn#U*M@@gfo0i_A>y6B=`A^-aQ#N~IN{5drfBDS{p6u|}UrvULe5aX67 zKr}M970; z_D+EH2XLFNdrhEvk&2eguIK(x!N-nSnv#>+-9viPpB>A$0#5;`W$;p^K{r;ueI0gO zEz-S|g5@IkyN#^yMF1*TmCVn}JOj1CT3e&{zNp~(AK?0BZf#~0t0F`!J%*MBR^E@f zI>sCURQaI*qd*K$`*Ej6mLwXHiOsD5Nup;Q6mZ=UFh(;ry1=^uD z&CRT=tdxtCb82(m-rj>sO8;tV)k;!>&Hw-Z|5~K~N`uuoVze^RRe)=00001 zbW%=J06^y0W&i*I=t)FDR7i>KlCf^vFc5|{bZr7AUOSlRoHr;?2pZeGA7P_Ukwu{V z0ESKu($zdA=vG9ejG(K{{-h{ZMw<+seKuf8->3ghCuiBY&h`Iw;hr+*-rzsgH&?4y zjf<{SORAN6dWBo1)B+#G{ENTemJrrzfiL}K6rZ!Lu9RAq(IN7u{GFJ6t+g(fC4^FG zBHEn_a&AcLY7MF?RY7>1;-Zk!5F)f*E2TpKnccL3D46OXR8*>fsiFI61Mz`qy@asR z!~GC8lOFkvCEN>LxCp~<}vvrz!8r~s+c1VkNe#MQ@9&?^v8d>SSU5iNdRcTYjE}Mwu=zX#xfrR zymNlf_(!bb-57u!w?P;J4&1ulbEvRl=WJ^knJkOM*&!nEHh#l__uf7pc@X;jLs_Cn>s+Vx8@sLU9)EDX%>V!Z07*qoM6N<$ Eg3Lf1xBvhE literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/metapod_back_pic.png b/graphics/pokemon/back_pics/metapod_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..825f6d504679e41f5d1ae65af925ccfeb0d84433 GIT binary patch literal 411 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Qv)d@BiXCSG|hY z7zQP2{%80PM@Nqy6%Y^rDu9D&k1t&Z>SZhm@(X5gcy=QV$d>eUaSZY3d^_2&tl2=o zMKj>2;GKh~S#K;|SMVvYg>(xL)qERA8g;fe4lr96RC~0|aJFVs_oJJXthhkDE+L zLWJN0jY&+)r5V(2i9Faoxi)V5;(3$jgiFuZ-Onr#a6~YW@j|I>J)_R0+paHs?>CBD zA2xsB%YQwMU0~72?;V+Mc*IX0xOwl9+Ny&+EUVrwY7lpPpD6tzfPwGou@Vghg=e}G zTqjpMDb_Q5SR|9mKf}m-N^sDP@(&u)^JhI$)zvb4IKwt`_9mv@>{kxHV$%|YdOPA) uhV8qMx3!S>Wc>bqBjsQA=YOvL$@2F^%y!usw^@K8#^CAd=d#Wzp$Py>Ahv7( literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/mew_back_pic.png b/graphics/pokemon/back_pics/mew_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..85303cf707434544777a36f31561f5840057334b GIT binary patch literal 654 zcmV;90&)F`P)ZFTIVmYAVCv4300001 zbW%=J06^y0W&i*J3`s;mR7i=9l*@LbFbszM0@&~W3TB$_5ly<30MHwt^nqex&fdx zZ30l};3IW|LI+h^LYb5xZeWrU#89Rsh}%AW1A0h15Z#IcxuO7pcG~@EMb`Xmt!_?I zrr+FAztz%39AtT^wa%-fZaHxJ%CZDa0KhLUI)ior3IyO=?LU`RlKb4-fmcq#Ld&8k z$R6a)vR?dzJofF>NB?=V%Ahl&5_5(^~YK0WskAQfBqJ8dtI z&=}wdu-l8^mY^0DIk?u7@9lS$J_x(hFBAS#gjaCZn;-*{%^qb@0d`#-q{uQC%3+XN zztl`a;KIQUsIxagd;_?}j;W;1ZiVW~x#r3kPe=zJjsihoJ9ez*y)peb(x=u(TAjt9vwEHAd`WF#dekMgiyL#K)@Co~T?5xayoj zx`rbp0APn9V5%a3r3glYVwEwh&)r(rJb1{_v0RR60|Nj90{{a900RIpW5dZ)GvFg)@00001 zbW%=J06^y0W&i*Jtw}^dR7i=fl)H|bKoo|NOpSB~YLE|8JL^jwuC=K)4-jcd-oV`! zsr;DOTBSr{mwG4v433S>kSbFcsg@6EIb3_Cpe0}!>A2pxszcsT(6)Pe5fnVFZfZAd6A0Pw|y zr3MP!8!(kM8r^7MJH+^$0BE!ZV&fuMPi3uvoOvVLGmy;E27IT1#_`@r?JY%Q6iD90 zW#Kscx2b)hP9$RTOQnjb)c`%2CPhkFnxqB&$!x?BsSg`~D^YL;yWlU@yAObj-ejBE zVz`yQP})Jkt0=XkP$_dANTS<$V*&ceco6xL-p>Yb@5-%$VTb@C1vR-(PIjk>O6*%x zLyj`xAoI(3J<`NN38_L5D~aoyItza-I38U;w*wFbEYIi#8s#R$cR<#?8H$bOfZ)*l01n4DJ4@=MJF%w%zD;)vhuwQuPnJgin4O4TAfOi+u z0D$@dV3)+p(0Kr~2kD$BO5sw-b{v5qGGvL|8vuQ!NRDbiSV^su=_I*9_#O^Mb^u~Y zL21-tvg{w081Bo4GCc~kuiTrdHDkcZIhSUf%qQ|S`Eaq^ma{>REBr$L%X-y)3O$6P|sr~s|UB5C*lgM;MdM^Ne9L__8J0T3`_ser# t9}d5Cj#>zhHF$Nc?T1%3iB5rko5D@?W{{R302+E$r00001 zbW%=J06^y0W&i*JQb|NXR7i=_TeHx zv=27B<($sTC1blZD8R0HN3bO#9b(xVCyriIj0 zw}8Ei2O2jSQG<%01++=x^L1#Dpv#~mqBA`_>4@HS(@N??2RwU#TodKJ!`5TL%h1c1 ztF0#j67>~QEYB>gd)Yg17Cq4m+d$KGk){Dn911(3H0yzBo1xQDLm#0TZ$go^3f~th zXK>I1wXl!1HQ)-aNJFP*cLUH5xaN&f$^m9@6Lf6Nt`x((x(hSRz}M^!-!>|6i?>Y1 zyW$9*Ga$HvT8x0Gwiz@}l0^kdN-g3aXS#LaZg{tW9qtE!Z5~|?4&Y+&Mh<|;{;Iua z<;KAwO)>y#>)AQDc_{lYQyqbbTW?!vr`*2GxEf^m*XIvPvwLhaLEZuY0000 zIWeSaQr^9s|JAhr=GBy}#f!!N)nY;JgIcswLFR*t|D=OzVte-X?f?J)v-9c300001 zbW%=J06^y0W&i*I%1J~)R7i=v)WL3oKoACCmKP|92lRx|7a+sIcp=LA2K9Z)ZRy2$ zgWj56n!Z)vpvKOUD)bsxR@sl1fTlInEp8<4~n1u8Mu4O+= zEE+i0?e7sxLOI0#>KCx`9fBVPu=JE8Ri4c^SA*7#n z2`~>uU^hnqsz3tt5(krl!ISG{hN0E~i>h&+$FK+ZT4Tn-)b9?UXaKw#vrjq_2pr`M zn}DFq<*REGz?c%`n>oxfppFQ%RKhQc!h%OSF(H8m5QrfA5Wtj{bC?qV3GhMfi`bYK z$fXLj4zo1Ij;S<2F@Q0GqqJ@-SRgI874q~Aci92<%V%R82hnzPg0^E^{u&C#*T6uBz)xq3SKz5;OuoPh&3snU46IXMiIZTwG068*||EUegH0!0`qC a`1u0QM6)m^N~-h#0000d(T3T8$F)ClrfLfFcil#a6@&MNL>$!p}Co%_DCb7xDpE$qSy7l zMq#-b7Q_Z$a zGCv<~>~vz>J;&_sG;lur0a_1F16pTmDUGIYgivPdwaj6q`||_*TV)afkmar?S2+pR z5)hDim#8FEt1Ke{C@Jrc^GG6K1-%M|k7g*S0g!pwU7?g~QzGaCP8|S$lCl;gFMEJU z>&oVj$)(o1r%|jurxl81*cTf>k)hx({`Br;RSO{Hmua$TXRtLuZD2Hx6e`EPwk6cS ztSvaGEdfSg06uLCG~=|{jUnv<>~-V}DPuyk0Zme61yC?H74KTWoR+PuzyLZ3w;jL= zun3Mlv`*t0=821Oh*_|xqz9Z4ptZ~Ks22FZ5pW$}m4uY~aWuM0nSh;N1n2KZW5!B- zVB-;vn2FY#Jx`~jI5vCCVv}=m2zQ*nS2-ze^1{z~vqG35fS)5c%ALRgAqie7C~V%87-9_syrqB+!{*Hk71Gx3 z>~SeY0OgH1njoD=hwcz~B>o znKvC6!<)|@@WmV!bx^m+kAUw4Tu=$tKs5>om9V;4y1#pce?08sJ%=P)Klef~kT~xlSf<4Zvct43SZ5 zl1ZXmnj`S77QxHLIAgicBg&ebVT#yRXH)?dp=wTwg_XV$o~mJjL=D(SBntR}QJU2O z5fQ`a(Bl&zNos455sv^^41$2*SCLjktR>J2D5aMIXaooXgReaFY0n2gZ~92&;GcIp zg1|NEJ}RHMt}7$PS_7#TRREZQ3GKR_Juo&0C>;eLx-<1SDS!cwO~9n+Fl-#Q21G{y zh&VL?7s`iQY6MzDQEsMRE)9#1`^4SPlyTzLNiX*m!ppfPWw`gOxcz z0e)!lNju`#qJ?h6B{Q~f#&cb$Q;d1~0 N002ovPDHLkV1j%y@lpT) literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/misdreavus_back_pic.png b/graphics/pokemon/back_pics/misdreavus_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..44b44a3ffd1fc874b48a46d289a1ca1573fd5e08 GIT binary patch literal 618 zcmV-w0+s!VP)T9p6Q#d{zCy&xF>S}FgOz5oCJ9iTDZ00001 zbW%=J06^y0W&i*I=t)FDR7i>KlOc24KoEsfn@G%73yM19lR&9`0x4{?L`1)-DM}4I zosLKY4z~gV`A6;;oZOlH4Sjp(CMV_GfP#=Lu}AyedvAB{E-qf`Su1^_|Mm9MKM$rq z&H>xS3FvH$NdE#`05*31OZV3O`Ox>feH_?1i82l(o$Xny=fuo0py%FwpOZNUFk1&S zY$74kpFA)l#EhDuiA_P#pcCMU(JB%? z3gILwt;K|{LSV~%f3lFillT|{w_SJYYaIj9?s)VO-1*!AVaTNKkAXl0z-8fkfsL~m zMUW|n2Z0h(wAax!cmXQw`Y;CG1Nd%QaaiYNMNMN@VSjcB0W-J=83f1}tHO}E_8|Z) zwXWn^d=7z`764=F_0o-KVt@#&v)tbrwkia2edz?QGKC?e4QMwdmOB9o^8IDF1-(XuhBKw|4c^4Gj|>3F{8p$pi1NVhBg_Suq)l!caknGtjFW?{h$7SwGw0hX+hDac!8_l zrG;CqdklEN6$hybnFhF4T52h!Qb7N!5Fo8CKw>Zn4I1@iggzykb^-o`3{GGqWj@BI z(@F&nS^{bS2myuY5a7TxYVe#Osc_8aZ`= zM$<|sft=u2V7!r-8r>)|d0vZg)zm3kQNLtx|kTdwz(euj3PHdr&^EN)k?BfuHpyS6UsE!2M>#Krln(?sSCmWLO2Z)cq*cIKGi zE#I7XG9rL1+8H-Ng0pC42ygJIo%(Rm%18n1zLg=O7U*RwBlAFTfcM8??vj8wHsJvq zUV*y<;C8u)0MWegJ=zEeTCm|II#!)vzxC)o0Rj8#@q|929-{;L`}~LX7cbAPE^iXr QCjbBd07*qoM6N<$f`;5T#sB~S literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/mr_mime_back_pic.png b/graphics/pokemon/back_pics/mr_mime_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..129fbb4e2c3c23189b6c17dad86875a926249ca0 GIT binary patch literal 677 zcmV;W0$TlvP)tXg7oF*!=^tfb~*O1(-sgE2Ax?(YB1&F-wEi&|3u0RIpW5dZ)GxKlRsC3oXc`UqJzb3l3KV9=cuMJL}KMgm!Mpv%SyryZ6qo zUL*9N|6i8BYlwF3yQH0;ki1nNyY7)`oE(tn1|fVxjt^QL3H1XYx{Jl!7J?9{56zB* zf&y`u#qmc<2^m3YUTP@=bQ;I;ds@mj0G}>(o^jp)ORoWFU@2?CLDyw2=%~3N$Zgd? zG9?_vBq(EBV#Y5?dnM|Ic&(HZ2p zz!>+Z8ep$CmQ(-=d)gsojX$u4GNX>qA1F|0)9&A zg${zJ=nk)NEnTh@K(T}1Y4R61lLmMU!T1y7hF;Hghh3h2;S+BQ zz#l3%fPo8u&H0*N*UOlq+g1ZN2XoEm^(y5CFc@fH&C?2a(7&SJ)*oK20VdVU00000 LNkvXXu0mjfoRcxT literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/mudkip_back_pic.png b/graphics/pokemon/back_pics/mudkip_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..1b1282d42b42a76bb443079eae6d263e7e3c9cb1 GIT binary patch literal 627 zcmV-(0*w8MP)4)IV$6KokIQK@9N{hljjm=!ZBwgg^>5EhK@IPHH-K z>3PjkYf1lXS_&oDi$06&ZfyrYnQUHksmBhA`UPs5_fB^1)XH*bI)pqB2EU)*dv~X^ z<2=a7vRP%mfx}UyNHM|B>p)UfB4Kb*F@gq@y8yfuh*yIx4RH4FpmBG=BVxsnIjC5s zvlgWP2h1wK)jF`X4m224y)YT=BgQL5Bb^W!N266D#TY3cMWf>PPuuzDHZq7f3MFdc zAQ!)oLxaNII0|#IjRq91*Ir0MFHy&shZtHtY9R-e2y%eKVHDvz3vdN4@e!9L#)vO1 z(AT0}KSLAWybo3jEe4-#@U;NKK7;qZ1-=wP*rMmT4c>TNzpzYtb^{B@7oOL(Hj0}J z0&551>lxmz>F>}?`-mJ8}gNvL&N?QK_|Nj90{{a900RIpW5dZ)GAVn5y00001 zbW%=J06^y0W&i*I#7RU!R7i>KltFH!Fc3wN61F}BXf8nEEoy}#OQsdf*2_6}G?=aD z1~d6ph5>auStn9zfxv$LF8?Z16yNc6-cJnlJComlHJr$i9P=j!6h2 zvez6iF@T-O2~ewqMwbB|Y5*J2jv3&kCIH+M`M|ID^Yat-7J}M~iJ1(Nx&S=nj$l-r zqG;q2NC0<*k1h{PtHWCHr;M2liy7Vkcr69X%$KYQ4)Y|{${@&~sc25c66A8L5SS~U zDxvY?rdp33vsaUaXz;kHXGyc)>(tbBUES0Zozf+vPBEVVbV}f()>~Z9z{vN&vB_%P z%A*sn`=+^iR#hRn>&P`z@n941*e`Jq5k3XbX>_si53CC@8=)b6h#~ zl_482x+&{nk*{B$f2|wPVcC%z@A32BpTEhZMcTdJTi)_1^ca#~o4%Fscv+{UCdVix zscl*E+Q;>LeT=>Z9&z#d>hPdd8d;i&AZ_C$`)nRikE<0p0nW$0jIu||$t84Wz^5$? z-hIk$h({vgQK>h?2px3Hu}>$l5gJ$YsmBFa^fY+31Lm}=?8J-YZ#erG`HoK;Z$4GZ Uz!2DFbpQYW07*qoM6N<$f|Vy11poj5 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/murkrow_back_pic.png b/graphics/pokemon/back_pics/murkrow_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..3007b7643434cf3afdeccb8ebb4f31c8eb5aec6a GIT binary patch literal 640 zcmV-`0)PF9P)Kl(BBxFc5}skOFk^Lu5;rzJgIuDY^(5d^Eavvd)`3 zRUG>YSzBf3+`)S)APA4UJr zkIFOoNl{sf9neI*Xhut&D|qp$oB|}70;DVFN`!g20LV}Q;M8#y0vJSGjC(jGA>P@A z=vDy|iUi>n)daC1R}$fZ4OD^>AXt;ikFr5zTNpxdjQ`>*CQ=oocLYaw!7>7J;Ys-b>%AtxW2Xf z03`V>$#K*B)st3Lffw_zf z1AT(ORsccJ5t%7?zm=Y-QOb3>QDR;6W+2X)^6aJSs~_Ch(s_SV9GHNSdzGGd+SQf)`u6J}~)~ zfkrNkXsubKt5O^yKx@r_51RoiI%as2N|Zq{Vk!ULLCvf=gJK~6N&w9{0D~z2&CSh}l$26ZQYk4ZL(dC|00001 zbW%=J06^y0W&i*I4@pEpR7i>KlOYbmKoCVMKvi&uas#&LCNR}aAYgHTL;(jtaD`oi zE~dIva3vB*N-@JMg$)U_1%vCi^YZ4;ChItL>ii>amQ@3(l$C@V%P&N>|4Nh&fRU9r z5P?F7$;sB^7)x~~qH7}@ylI0Ffo0zC#4{E}&j67{;I*Fsu!^Q<3_Q^H+Qtxaz@XDH zhH$|ELnH7ZoG~4Ri4QRTZ1DyFK>i6d&3wDv05Vs;=GWzP&E47Rm-7Hu)7hp1Ktxh- zFLfz_+Ya;PoCO|=piqc84*(H<6z^h0c0~)29sp$`6J)N`e@9*jP=%rz9FVCr0fFbszM0&!sE-adqTUJ7jYKCry)0Zb{o$COia zx7c!uUM*{+Bqy>L^tkb0B++N`C;2N`_CI5zPoD#g{2bVT{yaf<7eGvadlintTzvj4 z2YI;z;)wvO)#5T(-B|x@R^01Pi;3pzp z8aP)Kx7n@A39KHbhK6AKw@0(|%MbtqvZpayBH!%-2v+Gkb`@%C5nGq~C6|6p zZDWkKWGn)3At4W=X>|i;Fq5V_dSSRu`!+SVad7O-#W^h~%vv=(C>RE_5U>>@3|boq zA6+`-uuC5wJyelc0?}uZfVvLEu&5E8sCJ~Ws%YW<+a*omiNo$oLn-Q5F!^)n!X^$y zY2X&-nFr*pJ02piE6r?N)Wu`Qb~Y!vwc3}E?>B;MTa=_?6yk^3LNt6^5D}a~z^;7a z5eQKYQ@k(ein6rmuO{M~<7tfkpqcBsujQTq$=eFU$`jdSCGFfq0KPt4w>@81iiWQ& zCvS97^s}FG#3TbHj=;m!aP~^@IThhYQIylX(QO|HDdmlL-RLKSLKnRO9T4l)aAIFbv1@0&&n6=)FOg1G;u-`UcHbq*F2#eL*Qc z+-yqelqII@U9x;jr`T{wIf*ShKe*8&kvG~ty`Rgx$J&gbJqe0WtmP@xfCLU`f&gN55@{9 z)f`At3uGG53ILn~)~57(u0ab4%FJu9R(geKa?JsL&VZG$LRE;?SqXUBJ^)ey28{p< z>a=?RWZ*z~AvGn~ZMH=@1%Lq1mfBFb-))_mc1d0YFbtgb`)?qo)29R#=0^&|0Dw45 zfQA7afGnLAp$y3owA}w-QGFF>=>S{I2f(@PW$^Msc35KrAqNlT1B`dV9;olmc41x> za>q}4ES41q&r1h^VBqy#TSfqB-~?|3mq&lE@0&4@(2QwSGPs+5YD}aPpEWQx7Y!@{ zM3`7SQIavA05~pUu|h;O0ph#SBI?1}Q8*I=6r#QRkDHc?iUHdew;~k&-h9Uqur#bh zdT#^$*Y%eghb|IfN+)hA8DFi}>(9^i+X#^6BIH#<2f8Ewr$}g8`O7teV5AYo6_XUM|LkBitGO~UmhW}%qr3*%`Ly$VhSU?LK!bRDL0^v;k{7>_a$ zFIe>@07$93t{s40M%m>zfVUQlA;nU7YV#%|%T(oRoPkdJ%XM4%aq23H6$2zvbDJZb z6i?lgvl>Y$#{{a900RR90{}2!m)D(_|00001 zbW%=J06^y0W&i*I$w@>(R7i>KlfO>GFc8Kq(aceccmOW(N>Hz!L-S_^8rKqH;VIx5 z!i*Tg6F?ST3W*V@>C&Z~-J+t{nGq7-P)oUAzdPTZ8T;4Y)S%cLy+ANLF~{`0*I{~K zj*nh|Ee;i9T~9+Lt3ljVY?;4&ms=J1`X? zF^D4LuTi(%gObslD2Pjy10Oq8PDf^rWU+>gTmTe&D~@8`O<~%!17bLJ?x}we*#gS0 zLy+K($SNVa277!5#BbmN72qZsWwfJP)Kl)sLgFc8KqYG|%bfoS#=yvn;o%Cqd&+uS}!O3)SO z>ZHL@zHW?vN_{TT@KBLtC_`ASI2j%zm)uji(?NzCYfxdnK zbayq;*$r%c7gO~1z5=bWqC^Bc8A{VP#>ff)U@8Khk0Njbj=3)SXFdJ_xHt)@7GPlD z+WZDE3|#7mfX9Y_s{~M+Bru@s57+BO0>UDIAN#{u1j>#T&~Gi_tRNVg9H?s6db;vrp5-T4^@QOX$>!v0cjodQ8XI0PXq{-D9KXV zYsz7hwUE1tEL9zms+j!@-`X6gdYBz@ryk(#vyfx=>M#!(|ht*WNcIq;9iPlWcUi5#C` Q(EtDd07*qoM6N<$f+(9AyZ`_I literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/nidorina_back_pic.png b/graphics/pokemon/back_pics/nidorina_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..14940d21f01c88a36a945e75bb01d2e2aa4f0900 GIT binary patch literal 693 zcmV;m0!safP)Kld+Q8Fc60I0ydL(BI(kFJVDMKFD4Vxv$C(FVP&Vb zEt%TF#y#f9O3d6LW9FKhNpo8;%>1AK)vkUq_F4b0g8e%{lfDBKanIP_N2+El=(PAvIG#z}FXcD$*7ZB~Bf}@KtA;7z9%7CxFlZ!1D$$T0Q_` z0^lUJQB+N}2pX${vA`1ZJ6$)<08$ZARd+zZue!(`u*{|pKocBAwD=h<<;$4pP8Pt- zY@ZfHRHwT+X3oG21kAq@aKB8l5E(O6yV*xVAKx#hU+*!eQl8@_pNy&c&l7zs(&5+F++$7}z4o9MIzVF4*ia)6P+>H2CUr2yLl zkj36NFxOY*LeLI7`me`2I$h%ql7W7_*X_Qi(@VNW>Xp{kNcO%iFh|{0nA={1yG-_3 bA6owaST86Q)p`kK00000NkvXXu0mjfL!>Vi literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/nidorino_back_pic.png b/graphics/pokemon/back_pics/nidorino_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..01b866e00569dac4dc191d992a0a2572146ba04b GIT binary patch literal 741 zcmV>|K^<4y<)wCDTBqu#e;)`5D=0S00001 zbW%=J06^y0W&i*JV@X6oR7i>Kl(BBxFc5~l8n94!?9#_mCa=}xcW_5R(hHEyTu4U( z>B#U1B#Q%?yrE-<0(pb>NJ+LF$KJZ-213AnKK}RL(Tl}L{D)Y%r`y0me5ad0=7n&# z3Fxj9tC;aO2n+PY0LK*_Sp{X|HQ`laX@s=8AhOqpx&%-~QILms{UAgpUYOW=^$xK_ zjwS)c7TUMz)x)9;CZK=Gb0+)+@OaNPs({sxJkRgA#O@7ni2l?q8vQjAmp~?=Uj&VP z0`kJY1r`;+F0+lRiU{0Yidb4`Gh2s>IKSC%+w(?|1z2d%xC&^WZ}e8{hqES-eE?u1 zdQfh^0k1$4(Xq@y&=RdebjXIfz*E&)$dg}LCquv#KmncQsr!KD)Jxzwr8J}uF5vAv z9~E$#Acf)r`nNJ?Ueug-FpDqs%nEdAn0`pvbgs)8@F>WuK|oZOuK76!G8;XxU8AxKl0QqsP!z@QDzufm#kMLG!M*wc1OtA86kOcwAP5=! z0&nZ6LxqYJ9DSjpoAPQjqiO7)(P~6N5wxZq9E*BilGb9y*`a4h0_T@=&wUBNNF)7M z6*m9&$F$`F-CVa0j&phO8=z$h;4(JpA?B0yVPZR*&F(6S!tf6BTa&{;Uenf*fF>$3KZ$sdsoZ$aI(SEYKVrPW0|v5?7sO3_V@V%~ zw~bcaQUV|uKYSHtt*Xv{6A^xRdxgjX!hSdx)oxWy&-Q^PH{VdAV5vegcZ2aAt2|kNWQq00LU47SmBJWF}Vb9l3#9xfI6p#6>1WYzEL6I zGlEm#&rtR782#Vpg>yrch4~4Qee4VXK?Q(UdYNo`4gmP*C5$xEf6^DfTE@_9H0nnH O00006_U3cu#cG3UDG(44`@OHx00001 zbW%=J06^y0W&i*JfJsC_R7i={B&m7dSFa^zg)|*?4tOOTlF1q`Hm=I{}=1@<_1iBZw-|)`yTQ94%m1wxR0NB zL~Pz#M349OVo{2F40q)Bv%Uq4s{_&LMK`NG>(o60tn=WaJ4e*UJc^C#L}?1oKO^K( z^yscPMf81kXu)K_2Cugwe$Ez-JUjH5M>$MI8Iu7~`jG=uQ3T3c+dn5_GflTl4?NRz zri$V^O|y^YlU{P2jMPeU)xHCSS=RCufL{S&&N$Kgijbu0ZZP&XN>1vsoi7!U1G;e! zb5vE@-9AmgK%VOg02?79-hsTPSm%OjA{TU;q2r`3HC4t>P=K+zPr$h-uPI2b#x3g> zonUnWvK4IMz_KysmjKWotLgzLdCVGX?NN1z7l0}Q%B`JUac8VJHOO69fj#0J7k8FV z1_Q{E+>4=P^`d%{js*ACuE4g(W$C(CU43$h9Z`2We;!wO&mjF!qMk0-SC1K`>vPc+IU(s{k+GN5|_ z?y|rPu^;9X$cGI1mN7L|Q^x0q+!y^e?jdAUFJF(iOSCm*?$y!XqyvyD{5h6bWx7J_pt zAU0aIV-Q7!#8Fr%-S3ZXiE4f`J$0{_{Xc7e0LQty=%A_aKl(BEqKoo~FRG=zD^@6aPSfc7Bb1QL~iRy#}iCRe5 z>P9m-3ljrk&S2(xW^uBxF z@9eV+h3kyM3rbba>l5x|JFIG}RM#YkoxK8=Ks<|Tm{3s zmq-YZ4}{RCBQ@4~iU5|e$$W{}z%--x2cwa~g-r2E;v8gB$znnW2>cupFh&3<7Jho? z5kXeoeMG@bjZef|2rvXqB!GV7H>ju|L&`AL;x$d67Ue%{Fsa4LiAWSW1%fljBK|B> zigDq zfMv&XysbWM!qd^7()-CXBfa+Rwy{N5%5!|jcaw|0gn&xl4bpG>UBhW3aKm+6cRRgr z8tdspS9H3byPN=pPN%bdwl(zp-Qv0amgjUY?cEFGM#sT$?oKX1gzvb$d?0Z@{a5{Z b{CDFw?2%c{kG$_u00000NkvXXu0mjfZenMF literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/noctowl_back_pic.png b/graphics/pokemon/back_pics/noctowl_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..e9984ea5e6b21f73526f6dfdad477aef1aea9246 GIT binary patch literal 659 zcmV;E0&M+>P)^U#@kA00001 zbW%=J06^y0W&i*J5lKWrR7i=(k0Iks&*3&h0{k`P|Ffk@9mK^%a3 z%py5<26AHqaB4)_-avB;xV**%Ns_aHEG+>22B7T(Eg|g5{HoFA4FQ7=80ZrYzfA#D z!{@Dz0+u29WdP5lQxKv7ax&(qAfwQwc>n-(0+?Bp8~eA=4j1mzaJ_%fPm=-RFBD=fX^81 z!kDW9lwisM+d<$20yczy0c6}!0aCNI8m}`x2k=aX&j0~mcTs;}R|i>h-tBh-a(Bx= z^V6DN>_u63!yi@S0Pc69th)K#Rx}m>0?{;jeh`q_{8fXXDOF7lD>U^ylP-`zuh;mk_K=9fsg>a?FAerrF=AjR|Qo3ZVPS86D%k5VA}}gt@vTLQ{=k| tNIjR;Mhm2Tunc;x04Wk)0000002mk;3q(bC00001 zbW%=J06^y0W&i*IgGod|R7i>K)4guOFc1guAYPzV6SYizg`zX8Rb-pBLb9_~4DsA8 z9XrygE9nbV;^}yVp3iaOI3F_uHz1Mw>3`;MlH^ubS4#kx?QgX)u$~56V^Em;$pCE5 zime5u*1EWx4k#r8y&n}6pp+sp9e^c-)*}%VpfN!S6#JJ^fG4y8Rt&e%01B`b4{=Mt zYWgCN#Ih)gG6W)zK#A1@(GZ3SdJd%81q9&nvk#i;&QRA?)tO8Vz^bl)&sFu+2deF- zPMrTHKuSZb_!tGb-S>*b#Q`-0#R0+Tdj=ScI3B0L&Ky>! z0sQ-(roh^M?C^F*K(P?mN6$$JlxP5llx|)Cq@w%*@NdAvU1tw~0LRq#Hi3&6aQxDO zrE=$E%>=+x0t+uzMiHDf0SLf>i@#Df0vHDmFa<)8N!c`+odEC<0ZicjClXi#&EWq1 z*hsb@?P)r zVj%Y30L`>H-pwHP_N3L-l>hE(l-?M$_Azs$Ia+gSl$28D-tPbZ{}>n;TuTxC00001 zbW%=J06^y0W&i*IyGcYrR7i>Kl)p~GP!xyTl`zVIYCTC_Dy>OCLm* zE29%-LUEApOjX05=mPKHBdBpRCiR?4OIzULWa7XHxh4F*eD{>oTTR>5zpwm!v^Cc! zaI6gHV@3YzfR5nK7b#YRAi#Cq_%=-elvi2{LS8J+-RP;*j|5ML6O;l{9E6mI zS`1v;6th8M{3&T+80T{S6>btm)CoPc=|P%~!+o`Q5gUNKW!oqX5r8YFW@0)?i>(+) zO?qO*KawK)QgTj`9bk%Ul?B#ww92q-LbrbdHsthv0M+5&)nC;Q>XZ1Jl#-%R00000 LNkvXXu0mjfoNM~i literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/nuzleaf_back_pic.png b/graphics/pokemon/back_pics/nuzleaf_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..858377c116f41aec7c3127571fc31bd851312403 GIT binary patch literal 583 zcmV-N0=WH&P)Kl)p~GP#DF_0?j`;Nt{c~?SnK*HhwrS3<=Y01Ts%a`* zmKQG!fHK>-RRVVC`^?e-V7mW2@5(?D;N#-}`v@Z>AV`6Y6Z?43xeTo02ENIBfcbT` zfv*CNT4R6W!%zmi*!R$h5`SXcbgO`$0a?K0{;CdG9|HgsAR8eI05I-q0IvvuNgeQB z1`G*6g^QvA0coSqXJr5eG7$C=hzfvI_d4*jDnO*y)qX>OM*7j8QpT)mNym1a0*DxM zW->sj9+d!q>J%NOJ61k|PVtxVEdf?ufIys81zHRWf)EwZ(ET8KYHP_=1tPEr3XxX4 zR29hOkV}BCs;{*UaAa_o^!;Ai2h^eO9EpWGLb?)G>S+cn5}(xuRG%d!*5Ri%AO~hR z@uAKyfF@-Cl|MhFAyc5XKM6>eN$rLJGX*BbQxou*0cL$i&om$KUx^wvM4a>|{Q~u3 VU&J%g&!7MR002ovPDHLkV1n04{^9@t literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/octillery_back_pic.png b/graphics/pokemon/back_pics/octillery_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..09a8678817fa61eac644511a8217c3bbd683c694 GIT binary patch literal 558 zcmV+}0@3}6P)Kls#_3KoEsp*ax6aH&zNLch(ocvu%j5w~NFv;07TF zK#3`lP!u|fbU6-Pq$m>c% z&^zq*y5Zs10TuPGcKhbegIZjwXv=_X?4u6El)k?zYAvj4Lh>oye2l2Iu%u={oSyQt z0R)wSB+_4O&@pJt4uy2`YDY7)7(iJdik4Pv9Lfr`@7!CRAnJwk6gA6cA_}WRD09@w|AdxBY wqDUdzj0&JxBT>i7X>4x3u~7ChFZ!dt0kLw#iUTRKHUIzs07*qoM6N<$f&@1EkpKVy literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/oddish_back_pic.png b/graphics/pokemon/back_pics/oddish_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..a1919e4ea31acd91856554fbd71d6d9d041c72cb GIT binary patch literal 548 zcmV+<0^9wGP){{a900RR60|CF@FbCje?YJ({`N)QkbL;5s200001 zbW%=J06^y0W&i*IqDe$SR7i>KlCfHYFcgKeSSHI$rTPL58QY<`Y^8&QkrzaL0fJ6$ zP#4pQ;=L5>Cy)%TdcUx6{+xS~T*m(ESG9nxU*GXNFYv%QKX~+D&AE_1K!`l^0jbCn zP@W!n2eI}6j9IWS4}iJ?6ygS86p!=%k49j_ShVB!BZq9=6FN%8h5_fBNuyM)w~Q%; z0IY<1pM=0WkSvJML9PU~nE+CVLr4yYh^YbgK=Uw)KBPiq7LX#c09LC=&2(4*0U5vv zK#D1_P}o>Q0-$jTxfowm8ljkxtRV(GCgQcVnVx-OXh|G$4%pcM9=Gtb(X@R-nphOxBIt!*G=+W z>-MRxYBTpxLzP8gjCpYz6h-l9O!?|D=q;Wd`mz`Rm&G^Wh*^ID=4l>i%S%Y-Ia*U* zbT`mf)3|_e(3{#3vIi;;z}l)Jy*WB`7S?r5fcv$&hAf;0c$denJA3pai5_5SnlrgL mf!0twPsX;Q&1YZ8zgwT;=N;DcO0HP|0000w5dZ(I?&gcl#cHgiN@7|NgU!WatfV=Edk|Vuz3%He00001 zbW%=J06^y0W&i*J6G=otR7i>Kld+PUFc5~RD2^hP-!GGbiE+j)o;-jpg`QzWj}NIy zMUd2|B5kTLmlwE8=8BZL>f;brikCe+Xr*HP_RL$uXGxcrAaX zG-E}vPRx16`gNk0*ubp=Sg|G`^Zdk$o&nSqTaoyb=Z6C}pb>y-DUo0UrxRnK2!P`C zs=$G95ZW=v5I9d00D#5^bXX&K?`Gf#H0c(BDyVUDb{1KHGLuS+1<*T(7}tY zBdzwkjNKI0>QX8iQ*MJXVon`!t~zW$;=2GU7wF?PfV&_-T>#ZB6mU^Ag^{L_JF7i~ z1m-XkfF)|rYW){bcACO-GTL79%Frqd0qGi`bWH#{3Bq_1G1XA$AJ(8MxL_c1d_wevE{#xW;;@{#AVH?*mkZGcl00000NkvXXu0mjfRW>T~ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/omastar_back_pic.png b/graphics/pokemon/back_pics/omastar_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..3f746795040e2e153254b60bc293bfcbb768176b GIT binary patch literal 634 zcmV-=0)_pFP)Kl(BMyFbswnGL@Igz|fG_=^eZQcC#`dymatgK`a?M zfc*^NkA3F zm2L+>J_B~|Xh%o``TULmLf~yoip&S$W4?VP1t16IK}nS=fK^3V6aWe!(POTvswTn! zzzF@mKvTI25*Fa!PK7H#6OoC}PVHc86kO+$r@U%f0)L0^oV#6s#({KUSP*U2^ zAE$c=)OB4y0j_~MI94aB(1#jPk?5ps89F;UmhYkfs+HuuteUiHuN4~x61I0CD&IUjbU}J&<aq;ygm&Esuo>{mj&Q5 zVAyVO282c^9Yz2g@|gq~uJRkOEFWW>79w1gf*1zCVC>RuT87ptZPAWEVJMz_y0z$7 z!Xkdo%>oH42^hEFaW-r3gj5sM~_sFjNS=gJH|+z>d?nb+ymU55oj;e zhIE_uGMlnv%HooE(g><%fWwfJm`urda+3}EJV&bl4N-u89WeA~-^~Z{4#-p3uK+EM zhk?%m@N^H99-trC<=;$6n&E)1vkLcurDE$!90X=v9>j=+}$4&r54#!HMP z0p9!bu+3@y>I?u4%V7Y@PwaUd$CW-2py<#ruhpQs@_S-lsZ;6pSq3No>({D8fF2fl e75D@H1^flc_Of~Oto1bj0000bUfy$}%p0RQgZi{`yjy^ArVS`hyL{}2!mft8;|00001 zbW%=J06^y0W&i*Idr3q=R7i>KlCe(1Fc5|_cA&~jCA>k~7pMXoONG0YfzoV!4dkfm zo@8KnG^rTg^%|D7BJg9iOqjnaqT=TA4w?(|C2USK_q zW~(3=+caW*#Aq^)CalAc=S4J4dcsCi2Uy@o7AMK=Pv9|O(Tpj8BV+f;T@Ns0jI9cZ z8v^Fn-PLO!VB2iJSww6eo0r`;VomdH%k$zGQB-U=FMJ@RxygB!y*q#@&cU|`)2#u{ zbHGK+*iz*gl)iJLLZJ#*0kDwPNaR}h8McAe zRRB=6lvYFO10h&4a1J!7G1pZos^X%=xNXY(%i*AFl8s3PdA~Y617wMk!aJJctI-0o39Qj71kB9nu8|L}wn7#Tn2IEedqr zgP;azT{KlR<96Fc3xAX3=sfq@KVMy#ToZ&IO`OHiT7a7Htm_ z)C+&D~@Y$FK zFaXb^7&!x13P3Ar1H96Quo>Z4J_C58fztO`pNMek0G}}kpRa+{LlvNbW{p+P0KodA z?blU}`(DqCfKwLYV|xue)ByTvl3Wr$ysiKR?j;gS8`yhg08R*_a&?n;%kKv2kyQUU zK=nK92*=Z}#57P;-^+^Fn}B{*LG@9O`h30sJZ}NQ)aZhxs0PgLJ2a5xyUPmKz+9fj z%>X+=uETSHui8KBO?gF`umD|T56l8ym4}y=Wtq%jT+W~`NL>W3W2|oSi09|{MfcIg okeCz38u-Ql^@rEge*a1R0)0IjK~BwP9{>OV07*qoM6N<$f*sosyZ`_I literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/pelipper_back_pic.png b/graphics/pokemon/back_pics/pelipper_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..4b155c28de12fe97b24265e3df884e72c954cdd5 GIT binary patch literal 737 zcmV<70v`Q|P)j005kvtRP~0slp^n00001 zbW%=J06^y0W&i*JUr9tkR7i>4l)rD&Koo$@;0?8L5JM#p%Cp!~A$*KwKco8P$6z>9i-QdOh( zsaA1ACsGkW_vJ;cU?}od41ji$B)M1>NJ9VsHbT#KcXwJV0%>RiSMac(t_dar0P6uj zVp$fHiY%!%*tQLp#W=XMcxL%6&&xxcg5x-{26WgJQhL5zioBXazzr(8{EmlIg_=@O zGC<2PnO3CpjT{9~7+@v|mkcd7pEaNj+R)(xDg%76!?ylCY%{=H z15W<}M0*9mOL*ljM=Jnd|BW&bim$i=n3H4`D7xeeVbb_>6^MG}9@#nLZgmh*SOvTo z3WZw+Z21@UuAo~5hN^}mchW>qDEK)k9ZSJ;Ljzh7%Jt}p&CZwlirvj+6&UlplfM%8 z_~mWo$B+xwLkMl>3w>AI?pAb`{bpTC;C#Oj7j`x0god(&8FlyB_DEPle|L` z=mQ7NQj#7DLIeIoQ9%IUiY)v5!b*`6JX=6|OneS>Ug5Wgc#!&dfEym%e=q(3R`Lhb TNl}gx00000NkvXXu0mjf1@K39 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/persian_back_pic.png b/graphics/pokemon/back_pics/persian_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..f9acc3c249eb1acc8b7fd5e519356167da67c16c GIT binary patch literal 663 zcmV;I0%-k-P)Cl(CMSFc5|5H0T~Hjj1S- zV#l21+5-|rQUu71F~;^v_X6hz@65+P|JcI{@tM~3`t{?yQa?W;o|IDe!ENXI2%bA3 z{wdXU-9)=W%5sm%uoL2S7^a->D5|x)DiG{nEXbn2#X#Wt^kx%&?qMlEC3_YI?UZ& z1;pTyfSG~P|JWCrqrwyHfN_3~ygmgerf-#hAp*(>7{tY$Yjal6V;=$iv3q+-fTr0f z{5=3-h7&;3GsTcm);Z4%%OKeuNIi=mAZXa`vb1#Px1 z2j)@~HYgax?Un-Wy7913lHBiG2D}XwT5A~?seoLD6nF+%A!bDe8_neU%=NA(Y(Y}3ty4* zVO~OL2l|J67?BvboWqa+7YlmI^D)5A%RGM$*$zyiNb_+QVr9WJZxev~EYkNEJw*VY zPF7%vJvtLh2ABk36G>jLDL@8vQUlj90jP#H(fgahNn{d;b)+z3nE^Da2~p)h&woJ? xU~&M~6nH2BeH8=r*`xrqF`|tG(1=gA{sRd{$6>!@^F;sv002ovPDHLkV1iN4CU*b; literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/phanpy_back_pic.png b/graphics/pokemon/back_pics/phanpy_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b40fb8ddf9b5bd2825bdc177561f2454d73e6a41 GIT binary patch literal 541 zcmV+&0^Kk}-0_AP_}WNVV?(;|mDXxbciw8X9>dtIl<7oxr3~ z3Kx`EM>m@>|ZUZClkNg$JR#21d9>`Id8iA_nenyOz zY9^3E8yJH^ym=X*H11-$2BlOCqH%!*M`q8Uu0fTcYda5!N@QLNK2mZz($&80ckT@J zRjgsexNDeDz@hN~Yz(wWS37wWvX!!Nc9koEHqe6gdkuWak^2$M0tV;|P+Z^!#OAMR zKpdnT6#(D>$qnfHod%8y*f;>b0*AcKl)Y}kFc8PHz*xUS@&-L%MQWT5U8ta8ZKWXAyj6!T zeIn8)AdUoNBiD0Gq9neAE=V2tZ`S>M-?ro2^{*r_y9OW*18J%TorwJ|#V#SR2_zJx zO^DX{tgu4}EL7uIpi$GF3;|@{Db;e=1`u^tPA{Mx;4rXPo!-^JC=6c-NV`>6K)7_h zU@f{u*8o1bt_u^i0e$B*#igqOn75l!XSo88>>j|o4U{o*cq9P;^1u{%jQk3a@{0q;vUVUp8N1_bWM!A% zEFh#``j;~3d1fe$o_k+v{zm3?OikdD)OnggAM@>k@o#__apO}WmJ6YXh~mQxkG`(N z1`>)K%>ZIkidDx$Qebu&hd)`^b)0|7wJjBFnIg;=ahV0zCjv5o2h(c?5cEZ4Cl)rA;Kpe;Y00h)0sMJ^RQdJ$z+Dtd%ZqC**_7pPJ zUK$>v+sW_(uGE3Dpu5naRwc`aSqM=Qj0YlBDscUs|8ZAH_Nuo8<@@3L{oe2H(6s+` zQO3SMr!$NRVevD%PcSU@v_8i8Y2pO;BV4Z8F<|TqeX!z>2$@Ip297~b7p~g_;)uo2 z7rJdbjswIY(9nmv&~4ZCysPF& z-SzPTcCg8T2>>tus&E$#Krajgz__}JCW_43fF%5f(N;&8g4Ze6?k zPy%bic-K>b(DXcaN6H8Rcxr|47Uth9fyqVy@;0FY09lzp7<4#I<(6Rw5_(zUFB z9mxQIkphgxL3V2ck$_}?RI<7~yWHlVb&kb!Cj6Bd`S0&J(X0b?{g0wmQ8mM|Z5(4oc3>Lh`G&&^Vw?kliO z(Vgy=U|<%TtR^Xdgy!8Ddqn9REpvG)0o$Y)Elb*P4N71scPxIE05AlQijUz@U~RN3 e!juyJ{q+aEh~~OPMceuS0000KlRt0TKp4guQEc%Es(zLZ_7YgFE>=cgrCN-<9!?qE z8xT8em5>m2gfetV4h{^2we|jbWs6>x?3p=9(sLqks0ulsJ^uQcYXVH{spmhKk)Bs~sQ$q4FvQPYM^L-H8VUay~Xp1-@T z05K84qZA~3<_NrBRshixT`7Z}(iizxTCosa(cK90lWX7?e69dnv0aOtAAp+){TFB< zvYsWW0`gsF5>=~cHSUr`6Zy`WMAb<&?BNIr1&p29?*iyAPl0IxIG1c@+NVdtDjl3l zb9T*`9M`he4yghUNJPylht3-E4hY#g=f*4P9%-yAKqHtJ@ zO<@-uf;Y4sw_P8BA4yUGyAuE)>N{=6Z`j|puDakQV0AzPj^i6$1B()H@HYSjc$?$| z;5ER$(9^>{O&4R8gRM>gCC_CEeA7jo0Loy#;oMB}!p&X+TE~yEu-uOY@Mm8b%s10% zk`{oSt$f|5>pksnjE*ZwiyST3dD#KT_V;^L0P4eG!b{-V^MN671(d0apC?0HNopEx zLG<9=Gq&=s@Q-~y7+?vKlrf6iKoo|jmc_yzA!m4UBSZ*z)HouIqb3e}4X4-x zq}nEx%oYa8g~x*l#4grjj6qVu3gI&toXQS!hJBK(^(ZTA50Lzg2EA|o_iJV}g#1^d z_~sQLa9$yTE^h|>uH9@ASw=GuI<&b*Xc;%nz^8g(D@(wy2Od31v{3_~vx$s8;2`!{ zeTIawJ?w~Xnob?SxSlW$?=rxe)c^scDFPY!$%JRwhK-3W^@LE&igWimje=kwhB=AUW{5fFq7bq+Z!c9 zr(->L7$WcoeBVB2&}aaVD8PCTW={cHwCjVFJ3bV^1Wc#^VD${1lo6%~_~4u)EXRQB z!+1J+D1gKVh?KpWcQXRNF7(R7i>Kl)Y}kFcgJ70An7ZgAFf`n=o|9KnzPIgrH`uP#_-j zXjS)0eTWX-K&YT>^)vM5$6y{ZW{_*tKY*sT+?tpJd1#`!HUs4ZZv)Brnp01_Y(FDYe$LA3DzNW?3OLLYvU zu_3k$>kJ^8dFx~lhK)gFMd*uu=vzsz_Nh9NXMS^yo1`hlTZ;K2p}1e){! zw1It?ld5kl+F3SA%pS|eSF8*m@&GVC8H72Bo=#>E(W{wK1CU&R$1dQh6L_=ssh6)C zeK&VOmU{UTGX5a<0oYhTp-{UN#@8{7H^gS}XV^lrUP~!jLdFXRV36msQakcAwt*~4 z%XJOpsV@h~_)OFe`AX+-I`CPc%;N$(!(hl!8i+Vgofa9c@wxt(pE-9f0G!26Tn&_S zDOEiZ@zO>_v!h$aGc9G=jG=1g0RmabW(?d9V5xS1R7i>KlDl%lAP_}e1bqnn0jo)yf~9tWa2wA!<2JvZB9l7H zLuh%qPsX?9=xFc4>GaG$jrR|ag$KA_ADrK$l<+zw;<=Q1N~CkC)Z0X$6QBV;hk%1D zP-8-XjtWf%z@K{uETD1-SkKtiHDri^0N}U1bR$3!&_B+bzjgrR@5!(twh9L<20P$| zp9cZj`X8ba1Oxi7A+W~GffbEO0`!-m0ZaUQy{Dqcu{Gc{YZ$Wm29SA&*?14!E#j zXbr6Awj0t-Cjp=GwhOYM13tYNtX)sJb6l-{&S>;fiZ{t@V?S^|rof_-g_#S8k-@NnOPt!tm_OsSV&7*gx+<0_H z%!lDY)V%*5S2zD>JAI|=Ft@)_kxIxufmL=VS~T*?gd3{9eNCMGiNVB#`Nf?;ZBd^k ze!Xq`8CD##*zBjp?w{<_=<8J?(iQSZy;t!3D+ys%^@R)~Cl^hr-v5gIM0f0#D|T{> zvg>P;_Pa9#UHTmMK!5m}lUmlMp99@qFLs^O=(TF5Ji}9dg=kOHERQcnT|JUbB7iwkJ-#VENj2;G0S3j3^ HP6OkkG literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/pinsir_back_pic.png b/graphics/pokemon/back_pics/pinsir_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..95ee9784c5c0ea074c1a8a8364ff06cd71ef4ce6 GIT binary patch literal 657 zcmV;C0&e|@P)Kl);YLFc5})AXj*Y@#c(VCudM_uL}z7(>m%4V6qRe z3S9P<)QgsIqfN&o7&~dH)bq|I8qJq~{+Uri$XEPF1e=G|d62;B0g%QC(A5K}bqaKL zgW=^53IP0ggJIZg1VE#Cmk5Ax;1LC8mS)zD(}A+s(hOkk*Np%@+Kl&mj9!3pwz3&x z@Z;rJJ zV~!YOp$8a`tg-2WB0uc`&YtjC+y}m;=#d>g-UR|cz*Xo2WSwxw!$_E|+)rmDIK~t@ ziQoy0rLYIE=(d?4#GyHxJHW^&P&=kMt!v4c5DSzzj{V7QOyuEdJ z$5V1~@>`I)>HwuajeuDC0%WXIS63%vQ8Z)#Y}>l3jezJ0kV@TRS1(XtN&XHTa3=$S ziE@C=P+kbM`ap3Y6Xtxo%3;Zm~>yo!p|3HKI%+%q6 rPOS$7va134+B8kOt%C!6#lPb>r`28oDe50t00000NkvXXu0mjfEZ8&8 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/plusle_back_pic.png b/graphics/pokemon/back_pics/plusle_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..7365f9921063e502f1e322b54601baa22020fad8 GIT binary patch literal 568 zcmV-80>}M{P)Kl)X;FFc8NhQ6wfy=^NA)A1k@^W9m@C3-GaaU`UuU zR1jyXDj{em9s@R>2?;?m*Sk?YsH zR>9MwB4^swY-%A)Cd@q3YKq{B3cx(mQrl;78o;`l4*%c9<+tvdfJ7?+EIRTEupYP) zNN+jdca4y59_iJN8D97WKIU)H(L(?u%@gAfo9dr-|N00001 zbW%=J06^y0W&i*Ivq?ljR7i>Kls#^PKoEtuNkIe32{;74L2zwLmahO^N@gutcF9sX zQli*Y>75${cP=PQpC*ywGL4~dWLIovH%`Le5-GKx1QhSvH?uncA!q$xI_LQxKB@)a zd`AqPDSd;#iMzUpsGoA8tRcd6o@OloUYV{2xCB~y5bf)nD0g9`nT%1lkPARp`WjEw zCxi;`^ZY$*@g3)S=eQ555cH*B+DwGrm+u0Mnh4E10UiKM8-Tg%%Jr@b6BFtY8h9uN zFMusS)FbBLo+JQHs}UN=1hHNKCd_I9D7jn!W_oA@zBMsHEoU|~RyGy|042_ayYM|JdlY5TsKk-bjCFcgI?wQGwU7*ncvF0GLI06}6z>btV0OS0y= zs9CW~A0U*#-iFvt@O5aqFp{&LPv7wmA$|J%Eu-CGf2o%OU~{<8gH9(gf@rOYt`(6+ zkp^Bm1(8w2j$*J3Yk>t$7`Ug`hRD-qBK|~*0i}i*1FYBPkT5NUo~D0`ZIhrGPDCY>o^J0ZJiw1+e@_ARS;B z&^zErA*E#K!wGrxya^*tq6DO;H%^<53vd-(m1xU%5P{gqYvNoUzp0Py(6m5X4 zz8F-*u@fNgWjSk(Am4uXWGv-JS)L4VMnK4wv^fj(`RDltxk*w3=TfVV00000NkvXX Hu0mjf&Kld(?2Fc^gM0%_&2FoB{ju+~$jJ{ub&jC~AdXQ69; zJKf_yDXf%$)U{Qy-MWokn;q1Xq73)x?(8T@a?yWO+AYlcYZvkBLg;tLAWYP(0FKx& z27DO`C=09^W9k9;4gr9S8K3}Y0)Q0kAONTW!0O}Vhk;%IhyY*%3JnBS4$59YC_*{` zFkhZcPzhyO9(({FNCC=1$@*~PPXJFoAbo&%9V^$CkjH@)0|D^jcBCht*9LgKjcpX_ zs0x_J0d-fZaPF>jC%{Gn&ga;i19=1x`bH|4&3*;CM?z*1phD$e6Q!pZAO(5Qz zxWzXUkkNj`@OY27ZHNJ`=p+Onw#~j_M5lc~+5l|dvu6!Z2S`4xkGQ_uPjD)dEt-4- zO!gC;k;wq9c&mUc8@U0=(E3ug)12hF7oa+jhEoLR9M_b3 dhrH;I=m)<7#JV+e(yagh002ovPDHLkV1nvx)X@L{ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/poliwrath_back_pic.png b/graphics/pokemon/back_pics/poliwrath_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b38239be7723c59560839919922615e5a2a16856 GIT binary patch literal 615 zcmV-t0+{`YP)KlRa+RKoEu5h5!j{@XqALli z!ic%RDrr=STnYhF+0+>7W$_H2*(LXfrqj4^qbVpr@6&s4hpQmC%*Rax@Rsmbebizz zNW``HeGG!;B!rO10pJ;hebf9A1QbJn#3=Akff{wJsL}Kt<_g zDdaE^RW%vlyam+Spj0}x{FHw8BS;sWfs{XH?2AX7gm!3kIb-Z|@*jg8Lx4LLssTDU z1|ARz-+>I+h$p=UwgLgyDWCdhBnO*teaBLh(I%J*1p*Vs#`A@rAi9dnTk62ZNe`fa zihvcFn1gli$IrP3$kwCfN` zJ3lwFS@tSKk5=E8=wtxB>bNc}P-tMHJL-tj#s&1EC(1wrQTYle*ytk%@9UkV1 zxeGxEa5e_;2x{(E+yKEZFfCEaNzXXHasCuxW()wHa;4h~t7dI(qWS5Xqjged?3002ovPDHLkV1g35 B6N~@= literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/ponyta_back_pic.png b/graphics/pokemon/back_pics/ponyta_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..cc4bf118933e84c047872feb113b2d7664989735 GIT binary patch literal 680 zcmV;Z0$2TsP)Kl(BBxFc5~hc(CPnC_ut5po?Y?mS-1Xv`;@P9o1cRZP~5B*maMW+?H9b?0M z*Xc`1=3aIJdr1V_=bNreJRlL5%xv1`H^!WlO0N--8QTU1&YxFW=ZL##*#=4~E~VDG zM6^R0xPuIoszm>5gN+QF!;_2*+~JW|z;_#z$-QkoPz25w-mqxx!AJ~*SR0v>_EPo^KoF7HAKLC&bxqeV9@@6Yc3W+pp-_bd<8KV&p(6p zsn0du5CG4CHc4i!$}IqhWLg9Pq{q4^0IsHCpDw@^RK({{1X>te@eV*!6GrM4uYv3W zD2m~Z9kyD>HIV$e0C0nr8G7ow8W?}N0EQ|zD02@8NC;Uc`RIuYG4sH< z=|}#1saqVyG2CY9qzMcnMicbgP6-7Fam=Vh1L)gLRDF<-K4KhS9si`+A!e% z54`FD64pzn>G2)d`!~cbuO)6Me>Q72F|7Vo?p}d}yxz;P37}DLehpmcfa<+MXq6V# z6i)@98SkVoiUw&bTL7f3b?y0#_Mw^q?PA)>&?6roX%9%`w}B7+TYmw+Q$qr_YN`JK O0000rF)=~Kz0LpCTC|H=-bz8NIYIyb{{R30k)OvI00001 zbW%=J06^y0W&i*JB1uF+R7i>Kl(CM}KoEvq;d15jDjtAm;4x->TjeO$<_e@V-btXi zYfe~5$fDSbrb42mp`@VTNqB&(@D;h_Dl@xlC$^)dK%%=zB3b#r{PWM)n z#4fIjqD{oB&vD>^f%~&KkQPOoX0-SV(6wuVizr|ovgc%>jYr6`GlDoEK4lpj$f&_1 zIUS-I1(DNH$67oR_XjA=1W1>M%S--!iD-(e39uOm?qID%EQ)e9258e?JtI=w0PE&w zQ4ca35-pQuAHnjB_~F|N^QMnsvh22`Jl%LJ=fExAe%;~A0HkhlWB@npk@^T6^4*v3 z_^WqVldDP+BWnsnApSu7*aK-G6d}KO3ljS}44NuW&@F{6I*0Rm1SD5I5p>`TtKX`_ z<1XEpy@^{hH(A|v@0+6m9ZP$nT;1(P5oiu@%sn3O*8Ra>U25qKIHl>C%o^}zPj zfxl@q$ODki9bmCKlreAAFcil<+%4P?xgY^T43~U@#$jSWD6W9EQW4ji zI`A28a$rYsVd#p}fo=ug&_?ah_J)d`vEPHDX5p6do}EZ_;$uNW}4E6#a_oC39;Dny%$snk$vhK zpdK+wxe!vy-8L|ajn3#f2YI__chO@EWdO?R<+dtjZG%3G;~0VOW%Www>&_kej77%b z`Oj+Aqa$Ez{qe=BqigK|3ID-2Zt8cW)GomJr3>WQ9)4_EfOi3L|08}>X=C6dpaV4) z0k6-y1_pRwGAeG%HNYk(HY2dahHF5`SD8<2n}Jscpt%Rx>@66gceEfaewffCU08I1CR!PQl_m z>5XI9Id7L}k)My?S>ZSrSiCFY;etcrxA>-1Ny9KU3*)nxEA=Zx0|efBfZ(^kz5A_EQ!Rbpd^tK}a0000*`P-sb-R|Nj90{{a900RJf|DgXcf{gg3<00001 zbW%=J06^y0W&i*Imq|oHR7i>KlfO&DKorL_6zmj8{R7mCvxAqploD{OQ_``ZD0C4zYBu4Qw6bt)A`0z^32(o#wdgq+(YohQZu`0CN`aC7(;aHfH9S+|Z$#)Z)*;{J bPJdosSt`z=kMo!300000NkvXXu0mjfn`-b! literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/primeape_back_pic.png b/graphics/pokemon/back_pics/primeape_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..02b326cd4412636e47fee562d46576158eaae576 GIT binary patch literal 714 zcmV;*0yX`KP)KmCbV6Fc8PNdj>yDZheHl5Zrr+;0fa9(j#@IQ(qh5 z_yH=FYYSfKo`7JcJp~)OD}PDGOzxfjff*0`^M60Ah0*B0dJ2L!fFeyA^a>ywph$+| zp~$oPa=RKLLMfMrutHaQ02m8hd@m37D&Gv2P=ZJ)QV2N+xY`#?h+P0s;aaoQ{-I;`(*C!bnidugy>lj*!aC+nc`g$9gG*sQS_S97Wybh(aU9Wyp%Q3I5l ztSdq9e@0&(7VLI9i$2yskaY&id}UF5g8-XF_iY#5qtK_tES}#`2~h`>+8Wpr*6e|O zc!wDrAlxkN{dNkkbH;wZ$0iYIiVTvB?zdCW&ojpUAi!8#BWfx0dW!n>t_GYMaZ>h> zS*Zn!j*r-cQzK2P)8{BU@&#saQf%>iTp3k8rf<_ZT*SJBRC!oKnx6^T(Ju z8OjaEWut{7fHwGr^O$!Bh9?1TE3Pz!?TQo8od(p2wi-VO>`X29%m$p3!A`YN)PCeC wCBV4i{`RKIi<+0G-j5LYag)6D=kbr}FYpTf)aCyupa1{>07*qoM6N<$g879*`2YX_ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/psyduck_back_pic.png b/graphics/pokemon/back_pics/psyduck_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..65f8032a755b71fcfd85fd79108b450dfd1c9e5f GIT binary patch literal 534 zcmV+x0_pvUP)CluLGmAP_}efi9xw$so&bPd4BKH$Z8ho(8oSfK3W) z74XyZZXM;^IG%?Qx!5u5v(mV3BvwRkb?c zmH-{3;uK|x{Tw+UQL*MYWNHBZ%GDq#B3HnONFpkNGsJ+FV|xb3+O!eSIY0#fP)7jo z4?0=_o*}WRq^<0P0LaT3kUJQ4+$g0XXwe2J z{MZtA8BpIMz>SH}0L^Dqgd5}JUcF!I{UZdPet%d*b35*rTME3IpwtTpJ7F+e2)AM` zSlqw1z+~c4YAzvAAQ3P1YsiiPu62lBiDDC{_+Ds89VMXT)EoSKo6sP=-bPlXGyyPV zDd2WzK9s8I)4MxL!mC5@{Z0YhOeba1wnpCWaXD^cyT}=!dHx}=YV!h(Z4}>o!~V8@ Y0occih&D%1!2kdN07*qoM6N<$g7Ss)K>z>% literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/pupitar_back_pic.png b/graphics/pokemon/back_pics/pupitar_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..1f49a87f9886c32ee782ec3c91a0234f36d056b8 GIT binary patch literal 642 zcmV-|0)737P)&CS)UtgL%`gZ}{k{{a900RKTjVh|7zqTm^H00001 zbW%=J06^y0W&i*J07*naR7i>4l(BB(Fbsw@$aCL8M&|;eG^dEE*+C`EdH8#Q;Nr|K zN!f==a+~3n!+Ee1==0B?KP4;me_q4o384Mo0s}m$@f1)~_~~_eJN^XdR|4>ozpXOZ zn~E-**Y6FyDeZzeFp5}!@iw?{?g4E~ey3-&m%-uhu}e#j06x(Z-UwKFfV@uti2%4e zOk-bTKp_SIKn(W4WfCIOGU9BZuQ3SWod5u*J_0I&69FM#*9b==BMHnd(;_SYw?m1L zvVj6LCN$=p6DGs!nSsiL4y;RWoh=7u@-o#X&Z0}#$UnS+G}R`~5)Yzf0R}wQ0B1l~ z0K))$083OGONbDyl|mmQ_y}{|;zAh|3sggNYCyd#EFddzIs(+o17K_BgnY*~>-yj(maio;$GA1&3pTIssv-hS z;|t)fYu#i{*^XuEa>KRVQkgx{2*3sDp#!2=Ai{+-(cWIWAWIXTW8m307WmASCL%S& zz_kH}eG;C|jqIKd7)y>o1$g_k9!cR(&|;zm^sd0m#I)N*P5Ueb2t5$DCLA|0r_>$I zeU^OqNud*mlwy?sbF}{e{}2!m)tj4)00001 zbW%=J06^y0W&i*I*hxe|R7i>Kls#^PKoEuPAm;{73Q{0jP8*Yzu{&QOGFrK`u*Fa! zCDLwgU{2(Q^e)0-tfWkl>@V!HkP9T!!TXqbJ2T5*@E?5v7~@~$YfM?Z%zO3iYf%)G zl0HJ{#gS6zCPqRRDfZn73Jp*Qx)M+WIP^LY9y)7`Xl;Q39X2&^l)#f)fzn!MfNO#Q zROaUx2P8E5U&S)wxd40fcW=r4ZNyT$~DFC4yHV z2S{DOm%y238Ng)L0&au_5rlA$dFv2kWudCxGj0)fEntYkQs`wV^tOe;F!sxm%L*_P zAS6usrHm8TH%0=4W5nB_fp!5eULDCiVip=5%uy~@Y{t(T5czEfF<&w=M(gH#tIeLg zOZ@=9ENsgX1*j4qlNwkmAYL1Xga~S4EB7#oL$eJS>vizd3MF+LN(sb|7C;j8RT?SS zUjzpVfQ)a@)CLw9VR;gdjh-zKaR5APfQ)UB0dNm9jMcbC{E?77vWL0*#=6`0>@kBJ zS*K*fdbk(>TR>#>$(&{+UuXav;7Y!kTBGOyK5ZZk8bX@bgjNZ2-rA*a5f`_HxwBnB ot~+^huFXvCsR5+zd-uoV2c;{;oqXH~%m4rY07*qoM6N<$g4DtOH~;_u literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/quilava_back_pic.png b/graphics/pokemon/back_pics/quilava_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..5a97c1b11fd14c312cfe02a81cf8b035b81baf47 GIT binary patch literal 746 zcmV*!ptJ+r53mL3fM+sDNxHxR?g6|uKp;m3 z+B*tI17HDFV(0}301g1n*4L#4kkXIg#z8JVS)eC z<(UI&5U`sD;2!{gp55BCOozb(>QJfG>KItB*W2w-3+zQESF6=!_;|TI^W{gguirLd z7*3;L+yh;?#TbiA0$~t@J_do9p=GL^7r0)+#1gdSi9lxp_; c0QmRu8yZ*oa2P~Y-T(jq07*qoM6N<$f|E{GPyhe` literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/qwilfish_back_pic.png b/graphics/pokemon/back_pics/qwilfish_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..34fb6e12e63c9ceaa2c4ecd19482563f5cf4ca9b GIT binary patch literal 572 zcmV-C0>k}@P)h(#9+fnh00001 zbW%=J06^y0W&i*Ix=BPqR7i>Cl(BDuKp4f30g`UAIP|Zo!vWUGfrEs}p&YSO7mmb5 z$98jQ6VJ&7mG7VH9a!ZK@6z3uU}E0S_rCi85qez37H=Xh@5Ai3o@)Wzh4@GpW}x*V z3lQRo@6(C7AtzGt$mEAqDkp7(i~AhLvY@D{mXHxR%KJc6VT^@eF-Z{drDAg>J!NmS zlIlv5f)RC+aYBn8KqyfH5OPQt&{j}+7VWT3a%<=S{j43pt^gha#nq?72ISG6^8WyH z8$j*=i58#(m-}=JAk($#2bxc2O`nKpp!sA5eZmH;LzW6K$6?9HK%h3jRs+yj4SgE0K}nq*PwpooHtFg9{?evBm=0Y z0^nPp@6W35Rk`#bMxSE15%Qn4MW;CdXn~8K)FXJT^TG5Fn&w&S*DoeO1RUQ1ehh$Y zIMS5`D6KlRa+RFcg5bcqky~5b_Q9+$9mbG(fhZNDk4hqv=8D z>>*P|ubo60Mu2Q)UQWQR-L*ZtwF#Zf#rzeNPw(E&X=X|0igz-5a9kA1mu!x@YD-X4^m2n z053;?Tq*?#0xz=gR(MhX8n~0gE>W;KKnJ8lK#8L`uy{HKsBIf=E2LEmFn53=xX}erkhTr}es+Lp!n6QVrH6%? z)n-&w6UG>Ap=xvXcR_+|sQ#(<~M7{m96fdTr! zVqq_HVgxWhB>xQ#U<3ed+cn7@0GzmXfLj-seGSe7SMLJ#dBClJpX9Hz70j*Kz2=kO zP6fK#JG?fs^RPq>fjlR|Sa7e(LL$a4w82Q|WG{C`e+Y9FuMT>W{R{e+b!TxQr4XhM z3uwB-q!8W2mtKR}($yCNdXq-*Ccq_OAkp@Rz}_C;-lwqg9})ZmrH@D?<_0c-00000 LNkvXXu0mjfXy6l- literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/raikou_back_pic.png b/graphics/pokemon/back_pics/raikou_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..e187eda52ec267c3bfe31033f3b312d28ef2a4df GIT binary patch literal 745 zcmVf~^)to7dVi47||Fm=ednw*Q5R}CL0RI60)z#Icq@-$UY7h_*^b?1P00001 zbW%=J06^y0W&i*JXGugsR7i>Kld*2wFc5}4DuWepca(>4G8aYY+3gc#BhwcUsVSXA zYN?h$vZg*lpCMxbCPDWaiP6=SJP5D{SLz)l*Rc#|C<=7RL9&Pc(|@9TB9gA@8bml4-ED{uD2JamANUkMo{2!MrG zbR#%SC>|wD=-A-6z4@YRAel%Q4|HVEf_NQ3$&dxi7lFQ6TZ_Ri;K-2kgmXU8H)8`u zOw~$S>yI#l1fEWOUrZuOe<5+#0-7=QA=A)Z1YjU1F{SWU81uM(+UQW3fC|7sPfGfh z+~q%~xdj|63&B$W;Fh|k0GPYFx-5PMT=Svl%0RSVL za9|UJ8(oN%jL`srYHl9gW(*YjUwz|lqx zvg~s#l+`J9VbQxlfJ;ijprjW=N-v?kYa^%@NEmJj77hCFjK14$ur;tpkrOZ&LebG5 zAZ-nrtdTA+EHLf@?OzmGgXh4q>Ch&T*+myvH50&}8phOgID77(ASUhrT&|_u0NYcn zBv!1H!WfOiIi=f|@dzXsA3%^sUfYa2z_GTKDzy|!#TFQq+c7{73#{;xvZna_s2ulR b>tEMzG&!XczCtt700000NkvXXu0mjfJ6=go literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/ralts_back_pic.png b/graphics/pokemon/back_pics/ralts_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..926bdc0ab90d754fcfc59cbd97b0bdb36efaf752 GIT binary patch literal 451 zcmV;!0X+VRP)&Hw-Z|IPobl;)Iky>l^pN)Qkb`XQs!00001 zbW%=J06^y0W&i*IK}keGR7i>K(Xmd$Fc1b{4`oavm+Yukc3y$x1z@S#h36nIfa;}> z!{jh_!e(QNkMIB_ASM?k+ZChx*@jwE89AUR|W~Mv@={=hlrR zLDne%CrJ=;rIeG`M1xM<`dqc|1jueycMQhn)00001 zbW%=J06^y0W&i*J#z{m$R7i={l)rAkBZ!)Fo+7U>F zu;kbBwALD1Th;AC^c~f8P2@n79-juk+N7Nj))EL;5mlDpf|@P@6o=-;fM*r>o&eC{ zS*WjQTtBIafsRZ_g#~joy1d!~&fSDWATbc^AiJU=2Du&)kbr?k@3>GPE>B)ZKsBhJ zH>Goqz?Do``ZeDHN*%9Bolz|(Cuc*ss)0%6(MwF$m?;NO_K?_Wer#^Xm^baX6pF SAgas&0000^`))z#Isw6t?`a}W>^uA}~M00001 zbW%=J06^y0W&i*J0ZBwbR7i>KlfQ1;Fc8K$n}Z&rV}};e*r5wOWylgv9x_EshKwEh z0xCSTLj&Zf!2uc%JPi_1yO7L5uOzfhTFZla`cKKt0|dw!vLN1%_kDMi7<-B59OlUk zB7R|d`g3#ELS{P9#tq)fFQf|;g-O}kB&7`2n@g{ zpi)a;M;=aQ&0+3C`w$*YSjk%A%KcXtbmLDFr{2fyF^_rcCjVc(be7o zz`+7z4+Inl^wW9(dIiQFFSl_)YgG$vABZ>BhqDi4UbO4Fz2iC`K40$145tyAlh+;K zcvlxkz&H2Z&#r_M{E)>Ia9#IJukq+zPBlW;HLvmkxbh|?7Mc70dk>I?cRk9lW&G=H d$zI}l#XtTm)<%Mz9K-+s002ovPDHLkV1j_I9R~ma literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/rattata_back_pic.png b/graphics/pokemon/back_pics/rattata_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..717be0bc68d5767d18a43e2d903b9247e7e357a5 GIT binary patch literal 566 zcmV-60?GY}P)KlCf@sFc5~l;sr5Qs`{EHSvuy-Le(W4LNZ$cManZ| zN9`-*0jh{@afi?|28sj9+)B9tPW&Htzt6|mJ^o*K_;Op{iu5M%CPbLu&^ZVJ&9vfG z!vrW485ujST%Z7`2-pfVcF}Zn8hQW`NW}$xC%YmQp$l*T4YHw^Skcd79l~bqT8I#^ zp+>MKU6|zAwGbmJ;{=Kg9oQt0JAl$?IskTB7mWinyk$P==^!V`1n@wbdOpY=Ktw4g z0Eei1pJm^H0H?wLaE*EZuyw`|_erahURMn}9cKVz8oMad-Q^TKEdZqj(p~)-v||NU zjDT-}L-6>1na*JZm^K!&L+~)26AdaK(z7v{)xpP9Clk$>QOK;WodPsNI|x?MWz%ky zb<5naCU|A;Is}NXb+Se#xY-p`!M#b_BT0=_`~MO^6U@22=c=MdGy{B8=k5R`7fS$@ z*eCt2#0g-&Py(xgpc}g^mB6H5wr`D(#~HBK7LZaZKMNMlp-Qv`Q1REVrGutOgf!d4 zyxAznRq57cuCj4eOw7+{g8u^Z{?e)I02mk;wBjQ400001 zbW%=J06^y0W&i*J7)eAyR7i=XltF9TFcill`~hO2h{EWyuQ2hlOEw6`&zHgiqtbEx z4n6s6tgwrB8+0F_=N)@oFQfFBUA7))QfSZFlWeDnEX`#TgvjXU|NH-+C5=W;AIZxB z;MMT}AkBaTGXoOL3`t1yZU`{xP>p|-NZ=6&N=O6S8bOI|J_`gTggH*T8bOJq>%ap6 zc}Rk_FGg$FCR$=_A~m)>l7EpfyfqP(u!Q}KOITtfO;N-obWX&0rgcmL0f<;27Cb01 zApkfx_lPn~aG|&{KfWX8k)6Y2UDr2yMnxhvYKo%Kj-U;8a%+rR#(WkkGOe5UkLbsX z{vlz%-`_Zaqv{+p-ghxI=2kaAb)G%XdIHqr6;%hoN>v}H5B@O&t@YBbgE%XBl}X>_ zq(EFE2nUq>lmE#Q7w?w^o}FzDO8&)*!5r`t6agPbKl1*;oFbsw5jn)yA`T`luUZLUbpfH;YG}_m3svMx` zz2^vhk8+$J!0EoImgeV=kCdwF_x#}FhHrpVw|Xr2*gZcMyz23h!hN+0Meo=r9R4g@lHvxc!CN32~#|6cEvJM2U6fWm{Ct#0@qJBxK5J$ZN za-0E8N#6>frGqN0|1QAGUUw59)42t7uT(g_0c14;y(kp~qW69R#{XxaM`YE3K>w7| zKHLEnKcKckgno^{@gAt@)IJ)3z!C~D&sni++sm2&gGK``V-!Lp0*DjP-2#k}1&RWo zM|VA^^Hm+XJQ{!sTn5Z3kLrERKLUPkP`CqJg4VM@Ad-~8g?WE|1be3QC~(uBim?GD z+Y$oHvt&LPz$OH;Y&UV5fOm|2$JPKe83`OVQs&?ytuz5>G5|UVfH-d&s{=rd51nrY zCf(u!n)7AZ@&&*eNRtN$L^iFxld8r*+N#*d(+e5JnLnSl^jwyfC p6i5Em4Ke{efxiZv6~E`loG*Cnt>f6ni6Q_1002ovPDHLkV1lJV>%0H} literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/regirock_back_pic.png b/graphics/pokemon/back_pics/regirock_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..7175fc90a6c7ae0597a45e1bb23497c416c1b394 GIT binary patch literal 859 zcmV-h1El+S^IT#oi7Wt&300001 zbW%=J06^y0W&i*J*-1n}R7i>K(=kumKokJrn5i2%Vg-k#*aoDq*@v>nTxS;Y0}>?f zsDmA*rXBp8rHU8(SWq@{OaB^DkP2JhyR$YLf*%F@7~?DTA%9!7l8TP^Nx3g zzkpJ09Y4K}c7eH4YDr&CM?!czz)=mn(X|j_M-c+&?be>~FoEa3i(7?KUa@SQP*_B~ z{SL@;Pf8cTCFi?AA#oiD!8yN(_;42}r?Q{~oNod6@doaeJ)076?r#97M;1<8VBr8`O zCaGF<>Jsj;E-V3nnt08Vg>W)Cm$UB(LhfBh#~S3aB=Ay!eHmo3l#o#hPkbA>ZA)&z zD}c=dn93>q)IFSzMk5y!R8p4Ir3Ewm6>F49qPqyak;k{dehu=nsx-I|9%qkKL6)lx z2p~!FyarLA6lie21yV>CH@XQ8R7OWUrAawJ|Hx99&dj8Q-@8|;2Gg9$Ds{RI2)R?0 z09gZY*i4oc%=iZMu!SvP<@Vw9Kj2gic+!AQ6VLY728`)XY$7qhW@3nQ%9V(l9oga%Ys_v!U&m#k0cFt@o&`RMfB;8<@fu))nZCZy zQ6Tt$u^8ha#Sx56g5L)C!H^B&NlX>`1mxK`NiYGJ2e6OVg(mG$2My2}@+b2M*8yZX z>*_riP%!Etf2betkU>^ei#JfXcu8=QbplHavoz0h0-*+HZ7aYne663kEv}pts*2|1 zhZy(bc84=&*Uud1unwrB?!*sys5fchd4ysEqBUJvh~tS*gFK7d1o%mGWx&3_<}9O) lPV`a41dxUe_*@^e{sEhrj4s63k$3W$00001 zbW%=J06^y0W&i*IK)3I`!Ko9^>q#rOVkSJ0l9CnrJSW+C z3U!%u`k<)dr|j_$WcQ8;jGTOc$6H7T`)+q{P6~pLc#p9(U;dx}+Hc*$n1AJeQ>Y8( zw@NKP^*uo;t2Hw>*Fy4bX#^~|KZ}^>7kz)G6~v(w=vB;1NCEy10v61>e#gAMD!^@- zLK^A>XQ{y9>jLtsO+iAzPAa@EA$6H$1UUTSON4VEBOFc>FfFnEVT@V9=6G7a3Ct>! z7bPUelUw;{FFlsqJAJmkgBb{oV7+x4Qt12$=9@kem6r(zuo(b1B4`TSWGy6JH_Rx4 zs-gsc@9{O@rX@tc+KHG3a2NsK5`r-@kAP?dkC!txmCcZhyVaK>_Mn@9Hj5C6@AQWu zpuPg+L8B#JFea+!z@mU!N(?|Eoq*N@El~=H{({RP+A4B@=(Y@QFmg+K=whme4h|Fw z?j2BF?)Sczh6B1Uzn5cZKg4`90kVlJEQ&(GjddL7fC{XtTrPd_>;>#2*H-faimKAO zPXf9qPlcp=93vgRZQy`NKnr6&x5MJI1CL78Ai&DyGxT#MKlQ>B1@Z>;1NHxt=>{FE z^FVt@&Y~Tg6wiXX?)c<@?}1bB5CDXU2Osfn;t!Tg?wm_!G*18k002ovPDHLkV1m)6 B5Ly5L literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/relicanth_back_pic.png b/graphics/pokemon/back_pics/relicanth_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..c9ae2e5728b6dcfca9fc0f08fc25f99d9ab22292 GIT binary patch literal 704 zcmV;x0zdtUP)qyPW_q>F=#b835HT2etd_F6&BK{5aK-iv!u)?j~~00001 zbW%=J06^y0W&i*JK1oDDR7i>Kl)sMCKoG_)xrlTH((Zu{Q6PCP(K+dCfj|@|6q+lp z2szNbL9nh0PQZwQB0}~g9cgf`I-MYn{3H~-M6RIpGce=$&)P*5c@6BUrgxN&G3DT^C<&;V{AQfQ+gK>(C{TiK9c;HX$x2DIxQ&#n~- zO9DKv0mr>%DPaLX-QyT~r35Q<8UQRI$QJ~_pjM@X?jep9peCVHksG|)E$%Q-lh7Y5 zp@%^s#}d_!SUu=s=AjD)K%A@ZX;G2Or&lTf#$Clmmvm2a=V4_)g&<$5bHP7bQ#gF& zd3`4CRXreN*LdW4ALH1g{KM@)0lGHK39x@T$PxDmNJsrodtXhDemQ z+KBUc&`J^^5SaKzHx;kStLn5DhMy=;ai12EO%g-pEk3Zs`wJr_*n{t(%#qe&g#alF zJ75Cu&QyRTs0d_z!^BfuOaa=%$68GSjkEy#`2!=i=#Og>h$-+n2ihvo+F*#R&%g=a zvj(i+U=gQ?Z&N`1SFSILJU#c6nrZ{QDBH0&+GJ_p=R6J8uroYUf#SU51e^!=Wye+l zKNs*ZNJqwX)$v}B94A-EfY+7zUpu~ERJj9=D$Q6snZit%I3H%fKn1eXhLE^&)0tGi z8+)VOEoLTle17?z@RiDHUt0uHJ` m>ahx`ydD9OQ3Y<}pW`>KB>b}k3=~rU0000h literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/remoraid_back_pic.png b/graphics/pokemon/back_pics/remoraid_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..22e48fa6d69c3f0055cad48340888136d03ad702 GIT binary patch literal 596 zcmV-a0;~OrP)$q3i=;V9dy4=7{{a900RR60|JBvitgN(qdxKh9S}7?xM3K2@00001 zbW%=J06^y0W&i*I(n&-?R7i>KlEIFfFc5}00C!uvds{_}A=gTn&9zEu`&MP4G1m8V1 zK?=?P7_okKg0yp^rixEPW7z=cw&X(2Q`7|1&i6u$#W=6Tah{1}`33(W;Z`VUF)n6M zY>{|aSl8l-oaQY$0=YR~9B+I5ib759hxrUj!6@#y)|2q~@bdguNJ$3UBQIf#+(OB# z`nu_6f(wBHXDC?47_Yitn`C|xKEw}Ra%;%vwc|qYAtuai z->L(^=Y@bFfQc`jYuzfmdn*vw8Yk?K8)1d$mqJGiBV2>tabfJWp1&o2jr+#<5xwI| z2=THMbiF+ZXDG+?kKWy}kaSqU`?dqQcRWll&}5jt#u i4yhE5Q@;WBgNxUJQFTfH0000sN=`00001 zbW%=J06^y0W&i*J?ny*JR7i=s#gbr9vDi8p7r6CkJhfeN&; zUqyIXo`0DX5rJzrh!8y!>rS8DT+dSIc)mwhB#EE*=KOX7*c||xC5}(JU&~1f!2(Yk zrN$89zBY zabOqdsVrwHV2w(dbd(-k5eKOBY6c*Z#K0zYsyl8-==-+`kYSG`LAybhDxMM_tNUq^ z5z`>IG&pyfo@YP`f~i*HP+n$DRfi4G^}VRAX8Vg$Nr*P4WDwiwdR7#W07rF1D#y;( z7XzK9Wnf^Zqf%kpF$^BS2|uGo<uz55y9x4`p?t4u!f&;n>X1E{01 zmiuG`Fgt)P%aMFU=jCoP&=a6ISx~9W-VYvxaGXVCE5s0~A{Q5#pjb3|gt1=v80JGG z#K5z42<_OFR*cHlMQPWnS literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/rhyhorn_back_pic.png b/graphics/pokemon/back_pics/rhyhorn_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..67d006205c08c72f3cbc52af81cba5135696b6ee GIT binary patch literal 633 zcmV-<0*3vGP)KlRvOP1IYZzGbgSWx7`@#O}4Kz3i3W zodgeKYfRJe$48{}K8Y@bz{&eeMQi8_;bx6;F zg~01NZ<$6EAin_MV@{UV%sldQC-)kYu6cSZmPen?w^g<6?X2B-O-v)mkoUj*{V9J3 zwC#t*3FtUR?g@^-9ZK_`Rby5Y0FHZtpY#MARUr-swaBH7)gGbi;|VZA^Ul6Mhq`G|81!-QJL&W!qI5{Vz6{<&D`|1e-kNe^eMD}g?OR%&hKW09aBe+^S?oIW~u4qwwgUnD#+&OPj8=WAZV zGFhK2L8ScV|D?SsT9i_h)nc^&d}JD=00001 zbW%=J06^y0W&i*Jgh@m}R7i>Kl)-A-KoEwtg%St^GzB|OOcK0Ms>ewJYVc8qEaX-j zihQjgWUo2Ypj*${9&*;|34{;v14zLSAca0a%2@40R~jvmVTe))5E1&r`cB#Bn55bU8U>-zrT z$Hex-V~43!r+O8W6(s_7y$Ff83PaanI#CIR$a4Y?tJ(n7ZfI&m33Q$)t#aB0!vq$X zpHcra&d^slB#xOH025RMl(!6t5p8K7{Z+0pD0&=Gm%e4?z}cwdA2&djD3z~(y2K=v z@A>{I{}4KT3+P9{Jg92llR$TmhX_yzt8i!{&Vz#bA~5&T0$HvVg(Luk=wSaMo|1+n zAfxj%rvZocA{OERK*U%905DAw3K_G?161fIc5N5fJ{102AT_K8gS~3H;Ob3sj}J7h&~LBme*a07*qoM6N<$ Ef^KVE3IG5A literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/sableye_back_pic.png b/graphics/pokemon/back_pics/sableye_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..75c12743c9b6b81c92bda3e1295f686928bf1d92 GIT binary patch literal 654 zcmV;90&)F`P)Klp$~1P!PxcSWB$D*q{NnN7sapVV zcOb%#D#tiTog6zbgqV~{AqJTP_+W@|Y=GrRJ2@&Qo+de}JZ=XHBEkuh!nzIc2}s_L z83=Se(oPYaBcT(JmYJ^GfC7RB*kqa%x8yhgl!Ig!A!X025_JIf3?vq?&)2d_^1K14 z2n}Er!Do<3S(-Q(0Ve>T0my-_OhiR-3Yaz^XifJk+@+3#X~Rkz0W86BV2dPe09_1Q z9LPcs^ieygoR7!X^&g-by3_J%PYkp~oJwkA<<5d7U8=jN&7?#r3Pl0LOKRY zHNZPv(_=W6_UCdIahy_=InP?mvdISv`1WGrQ|k4)$MKokSO%Y8O7cgDd7xrOw6>aY zcJl*K<0{=g^Sn$sPp^TWzam^OBA9zVC!zgEupBPF-{akvN1)1|o4vrk4SdDb-Qtml z6gBZ!SirOoKmhHcKz&c;&{?;y0a^jLU3?mH3nea{W(%M#Nw50}za=nsrX?VGpv?tS oxma%p?Eo~ZB<9_}{C`fr0a=VCa6tiYTmS$707*qoM6N<$f(EP{nE(I) literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/salamence_back_pic.png b/graphics/pokemon/back_pics/salamence_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..748147e777b7855f7b8bb82c9fe0229e69acb7e7 GIT binary patch literal 578 zcmV-I0=@l-P)4l(A03Fc60ACul62g@tE`u3@1|6|)yrsSpcOyml&` z847s~)+{_gr@j$V3qu*;d>iZsU67uf5kVx3C z9Nz+e7er7_WxRlIQvwp0Q{9swG6zM(<(veVP*tODqevJ##4Tumld5TEtPRMm#ef{3 zxNa8AfNdCSNr3ekFDs?22Xd@G*8F)44hf;&ESN!qraGX13>Oooz>U(XnujsK;Ee;4 z>P2%`;m_ce1Db&AhdP+}nIWKKld+E5Fbsyh*lWL$0v;T4xxofZak(K6 zcm;~S(E&}my1$$ZQ4*u`0mseOr=LG5vZ_Agqeip*2bld4&@wf4+yERcf5i2(>z@Pa zY;FV1&Tj$6V&rE}8-TH&gQ-&Y{v1dydQZ`aH-N#z0a4#=0JRJ10nmAjPXW#ra~w}k zP1bH7$P_>#no9Rq2ZwA?DUwoQqH)v3!JI8d-2jHYt@^9RkFU4D!NYXJLkJzR6B-r2 zf4c=V1GRJBdo+oVLVlM3S$;_u0{mG-74oG3EQP5WvH;u>G}7zO+cInXo*D-Q$^aDj zv`DwO2qS5*S!ZE*40M|gaFzXL*mN4@lsVv?~cfk?h}?$Sr3NYWNS zHQ?_&x9dwIor<_}9_AJo+jc#VF%qjU0fRZrqS>0lI>tuKlCf&rP!xs@ol2vCwYT8wsf!^|C}fDCG)uQWLkmj1 zWQ^LSYw=P_3raFH4h@k?$wafy9F+3*D9M)I&vm5EQ`*4Xy$`X`_|(b0UTbgthi~ zakwU_EMwLa0D<4FtW~d=5b;QKyzi43GrC5#wg5cJ@SR!K^!yIwg2`Bb=nE1>z8n|GPA0{lX8x^IbHSqKxUch`=XZ6S z!blFFJ_j=540AJN5hkNzm;7V_$S90)ih91JBz};?ma3N~V~-eX_>m_LWfN4GD{Gd+ z3Up)HLj*#2`6&PoPfFm2ABq48fL-EDh){r8P*^H2ZptencwSYw5$2)Vns3n)W08-( zKC7DM24YC8g)IybpdJkBxLU2LjYG}Db=AnP2y}Z9ZaOhdRo}F~X-lcb(HtPsIgW>% zC{?#!+Fvc(e%){f6ExH z@61|P*5*O`^L4<0`X~({pioc03~m4tFNHt>D0KtCBd-I2^(DZ4-BtepI=)E7md8?G P00000NkvXXu0mjf5e0g} literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/sceptile_back_pic.png b/graphics/pokemon/back_pics/sceptile_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..5b7e8696ef5790342484043e20a6f362ed3eca0e GIT binary patch literal 838 zcmV-M1G)T(P)(VZTv{NJs;;&$2YQ_o} z%EHhcMfArMspX$wspOEQLIwHRMPdn(Uz`yXJI#nxr{>+Ao!H?*CvJ$6dmq2|z3+SH zSk`}8W8Kw|jw?-gRGWR1Go4vLom0^Ex+=`X}sDM_h zwP)e3U*flm#y9B#;^pWhRdb#4EVe>P9r6Kc(XK4&62>&!p?6K zP)NYOEC60m29o}QM!$Szm}deC(^|oU1qogmNd5w%(v4x>0zK#wtb!x2-;qKa^_{+$|G+sFYc zQGYBGhUjS^E&}AOOyPy{Bn%r0z@biZe53d zRb#|sYW0~0KnY8A4{lUz+larmL{r-o!9l@c_U@eeAS?gqpb4(@G-E61-G9S~}56d6oFa*l8gkWkcE-02Gr?c04pc}mhMUb&arhUWWe4%Oug)Kb_|`|75EgVuPxb^LCgST4Hvwu&5((&^Vv_i{1XKndvxF@G<#h%GfGp8Zt2L1Ggm13{DTBTD z@FCfV(@R&UQk-qi(Hvu}K15!s8DM@J%bp&O)-Pv3y>*&zBR353z9hfsJg2!QaNp>- zPdzpV2IOJD-BkksHS5i~c>%h#Ebrv^`5vjo^lGH(Em6BYUvPNJ-r&X#~s>{j2C z99y4nMkye6{3*sP?zl139O%ffX6hIfR)ET3KLfTu@5#;qky4BKq`0J9?v*K*glH^t zB)v*FJ|9PPb*cl%2@qyEDbu-|`(Zu^M<;K9DCb;lt*-=H;})MQBzVq}ce%N0{4GGj zyj;tgC%w+Y&F=YDXsA0wH=;)Cr&=l-aG{`naT7P#AYqzwj%n=T>d0eeC6fR0`~`@H V9fe3VN>Ts-002ovPDHLkV1fZ|M2!Fd literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/scyther_back_pic.png b/graphics/pokemon/back_pics/scyther_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..bf598ee88a7ecb5f7c7513fbaf0f13122583a79c GIT binary patch literal 854 zcmV-c1F8IpP)TL1s7_U3!dIXRq*F}?qDoZd=vtU*CyAP^7`@g5>A00001 zbW%=J06^y0W&i*J)Ja4^R7i=v}RCkMAVc7@`3HK^JhZrDxk$9s!W6Dg}rD^tr#ay#07ACtM>*)e$0Mpwdlvq+nSd z0nY|-7U=o>+JtpgH`?T>iguY?Yi_f|NTzF%sTv4Uwb5!^yQDx84&+<4sDXD|Z4|CN zu!22u;6*hG@Kmien{p~SJO_@@##0$uz2cht_2w1eMA2*E^oY1RRQpa*44Mf5s8!3}CcX%jdu3dDZ4}5@)GW z>UDVzlgH;xF#-a**R;7sW>tbuGm2qF2i^f*GJcjw1EOd)D(Z-@@{H~hy91{r*@IMF2r1 z%#f{iCRIFKd{S!Rw=2R<)hlGF^6{Kr!uSpcGiBK(gagDo6nohuL)F#ZP&m8>x$Zz~)0NC7b`z7v#Q9K(!FZiP!tDn4Xwb79ztpI06zAGEF#p$rddQtd<|WK ziKGi&LZO4~rAwUncrk%MExlc-KX8^jL;u$)RJPtI^B?EqTiFFZ zmuGJPWkLTiaO)Ru09!jkc=PK3xJ&?!4*-`D_{NFqeJ82{3mQBo^`pL9KduHIosJZd za>>7_1kU1gL{~(H>L*kQJb;KOi4Fm0kUlj@^Y~2 zgUQHTVGs*WN~wt(=aZ2p+b6)Mz1+n;K9^xcO=AEezrQDL*A0O05h>p{aZA;A=BPd5 zvyQi*x$yl)OVLi3^Pv^qv)l!wuNTAsstB@lE8OfZ(7G2ch?*4iKm2>7Hc5xM1!I-y z9*1nf$>+i(n-s#BY)oq%GcQ|Yn=S0Zo1_n>!I`wyhPi`fQiJ@U(8Wfu9}94wW90S} zfhP}!8UO(vu=g3DxQd#Hm`)}Pa6>_tJ9_{%L!P$@f+?%JV%tYF{2XS5o5JQoT+~eN>Fs*39!w9p#0JSQ{ct*Op*WIoK zX$9~S4bX1e9@BXRSZRGNm;{n00001 zbW%=J06^y0W&i*JGf6~2R7i>KlQD18P!Pu>HDeX&VowMf$vcI}AHcQxCW4YFT`KVj zs(vZb#X^WmOnJ4%5~ir4td`wGFky0)p(Dw0@40d67w`y6PqGK!@Ba6{d(Vx=L;SCB zpVy{$T>4pC?orpSt0w}#4)7=k-}-yL$$9WQ8<&R$;CBJQf`hVP&kz8g0lNg6o&mHB zU_e`drGZPFzEcJ$pH+c5CmHAm!P)V&At-PE5$IzkgW+(>E7|IxfIcE-<6w9!a@aS4 zE(jY{jDxcQ%*_ry4Si9pju~F@Dx|zbG+n1p(XL&4I$;t3lDL_QG zYd|K&B=Ygc(~SU8-dm5b4)`_O2=G7Glhrtf)mos*H`sCPUJa19oo9JLsA04T=#&88 zSH~m1^@@lVYSZW7Ufl!cZAZBPt2ihI0BCu=S>)XDR35;U(sdPe1sz(JKno73ofL#i zB!mKh=u-(G&_u005kvw7tF6-roPcoO{)@lhe&Hw-Az5oCJ0FPgm00001 zbW%=J06^y0W&i*IbxA})R7i>KlD%%iFcd}&NU$OWsa+x=)EB619)RX%w8VrM)5Ub{ zLU@AUjhD;nhhS+(*H&Y4{R3Uf#y9$&oclQmA&=ZA!^L7Tzcpt7@V34&=js+QWJ;;l z5aku%g?9j?6+{WZ>+cSk$dlG*Xahi+<1bgBKAn|kcs6r!kWIH_CuOcY zLun01*J3PFK+_AxvUykj3TrqX96-eGGXPfd_#qp2Pcp9a0Dw)sm+}G-5mW$p+STH+ zfsg?Yfl?f*3IQqvRu%pjWEKJb_Z&bBOz}K}@Dlz{l~Eo8=%*S`mH<$REDcP10R@!+ zmc1Ye6w6+~61RlnwHMe5JOb$22`tb?2I>Q`!2#J7LxBOxO(FpXpbZU$GuR3S2n~!; t4`8jYpoK9k2?9KWJursLtA6A^@&kCdGrzxFyDR_z002ovPDHLkV1h=`(Wn3b literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/seedot_back_pic.png b/graphics/pokemon/back_pics/seedot_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..ee4017cf5a6cc14aa4a97a834bad949520db2894 GIT binary patch literal 561 zcmV-10?z%3P)Kl(BAuFc^ekV#R6`AbE<)OFLGA2Z$7wYz$$pmBBDF z@n?)O1dkcgfh}u!x!Sl%{R1IGJLaTJ_i;X-rC8QO|1F2#@i+8i6xdMuG73CV%0>YX z%5lKv{EvX;amLAr?=T*SijZ4(<@rtm0(|BU`$7nBD@0X5F+?~yeG^I&fT6Cr+_43~ z2MGERj(F8T#Q@4|*ALiJP(VpCfC9GN2uA`GI42%R`TZ6xAWJG6m|{8+`9UbZQht%C z76qO(7rbq#zW1SRAuQYF_FmCmZ}$MD0{sOiB@Y%;Dmux5=g81h=DYY5fIhp4wg0T z0^!QN1BArA1I*9pJ=1j$XwDq~-{ZY$zRZYe52%|O0kTA70<-!vMJ1+jyfiaN2e8OG zjw17fS(>0F>Kls#|TFc5|Xh;sq5nj`3_*|2 z!A^VaF<#mTpt(4bBjC<}Mhr)C1?(fBCSb$g+e_eA1e)m`fmqD|>Ig8=&b;EJKobsM zo-a4yEY{JW|SavfKgJ}wSNv6jUV0m^+X zq_Wr#0MbVJ3?vl$VW2Fk8tYLeh#bs-jB5#02h5-a>KZd3H%ht!B+D925Wr^wFaVJH zL_K(X$Wh=#DFp!jhUkvag$1w>0V3Ks0JB?+XzKv*gc~RauxC8~ILy!%TLxqhsxG=VZbr^8kAw;xH6y&X*`~ zmnUhS(Ey9s-fo5ghlLX02?mUUEJ=6S>Wl$olP%JnyFR1O9ElcbNCsXp$M>)?{}LEo n1*kYlbPJ-^5wO`1@K@^#<_%K;00000NkvXXu0mjf6h`ck literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/seviper_back_pic.png b/graphics/pokemon/back_pics/seviper_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b9849a6fa0e524c9cdf36db81ea26a8ef2fd62f5 GIT binary patch literal 934 zcmV;X16lluP)EQ+M00001 zbW%=J06^y0W&i*KBuPX;R7i=c(}fjJI^8x;W{u8vulv<2a(0V&3x1M}_+ z=IOn54v^F@0me(X_2zQm>ok`jI@yrZgW*D6U8y%=H%ZzOSb8e~4=sM{FTw#qf=l?M zLCBi|K!>fmivZNv;{b`tcVS|H!2D{x#euvA2bP41E22Y%)x{R=VCDh=f`Dw}>Kfei zR*V*HBcKalFa@Yh!|0WO4{4o{h6FYu)o{VW9&XKn7y&&8;_KG{w0h_6951J literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/sharpedo_back_pic.png b/graphics/pokemon/back_pics/sharpedo_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..4e011968bdc4e4609b3ff296752974713962757a GIT binary patch literal 676 zcmV;V0$crwP)+BQeXuHNKMy@BllUG@s@a471}0R?oCS;&^(H*bbBk{NrsfCW9XY6-CKmVj?* zz!;OX$ZTCFEi!9Ny2ksuu9G!hYhyp90j-mx@PJO$ARtwPfK-iFW}!xA7HVYD1Dhov z)kMKdB=!k{d0?B+v!xm|iA0TX&cr0BLaK>y&QzDBUKkbELzkDQlLDB%Oj$w5id~#e zcWrxXjaIXksn0EZX(?{4)oL{XXc8Ok?gDXdwH6bDFp1x~4uos85@!Zl`_r_c2MwEZ z0}9vP`#S}X^A@}KjP@8H$3P*+0O=rqjC4H*a8zISG$4x5U5tiw4`hV|z|)u3OaZUU z-HLIbD6PHLlK>FK`X}oEQR7_4p-|=^o*2t{XJDr3esc;QSRjP1r@AQoN5yGZNQ~R_ zdf|Vt>g_QsGw0<@_gDM<`0?<}kg+i7wcQ-5=KzTM_V~Ao%jR-O2SGR1h(iVOc{)Nb z1MujC2ETd$FilDtnUs=rxT?g%001Zz4Dd^^s$l)t12=$)-a(+54C_H)w~9a$9lG6x z1?_hG?wH_WVh`Y|*1M;!L@wP;mo(%T*up+OZf{(320$_B?2mIWj!@`ocwjGGSA&my zFiI literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/shedinja_back_pic.png b/graphics/pokemon/back_pics/shedinja_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..bb3a5be7db4206ae9d3903d889ddc0fd55a94415 GIT binary patch literal 763 zcmVBIi!Ozi*qSbN+|#U000000001US}FGCV*mgD-rnB5y}f&Tdk_#1oVClh1D2KoG`P3O@9}VO*SpZ(iWgoYF3-)Sd#dBbAel zStM>z6Z?e+5+hu2veYPXuCCl{0KFdmnOiy&_o&frr{b~dGzP`pombWePeE)j6&ow|d&$Z{K zMFY@|ak$m%uO4T9Um*w0Jxi4()a}W|;n=w)U0omP7jVrC9}oC7?lEC2^;}EEZw+|M zrb9eThc1AZDy4o@z-QGbvjF@t52fTh00_`P{j7j1rM{!d7_3QXE0fPn@N9H=_DkJB zHcf>A02T+}(s2d=wq5H5VB64tkHnmF{Pe~EX|L893(+72Fo~F<&c_ZwLnp$9x=aMP ziQSHNa7PYQUOXYdIR$WnN{^$;!9NCqLhr>`GjecF446?6mjpbK#nA7#Sk-H}uJmaO za8CgBc(-z=Hty1|S8exPIRS`^a`<3^Dd{mv;G$eZ6(NpIvq*VxxKPy^tU`|*3JGv{ zEJIaWxQy!z=wRDJS&u3u)IbzfV?vrXHeo>BVzF2dV4_2>y-153sDqcF#nGw)@Z^}r zTr9pKFpzVAhbAB;n-@<}7$ET&ElzgbfpV3=@6p2vKc47CiV)|(XIOI%RtvyEyc@70 zoM9O`8V43wVF2?d4}oN63BLsxp$K5PTyvQun@91`0$3<+q!216avd#o$c^1*I$dz2C7wBIhz0g002ovPDHLkV1i(BO??0W literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/shelgon_back_pic.png b/graphics/pokemon/back_pics/shelgon_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..9c87ad57cdbf9c232ca3097ef5955c18a197db98 GIT binary patch literal 549 zcmV+=0^0qFP)Klf7;NF%X0)p+srYCa=H?Qkp{|De<{Td$%V+3%3$^ z9eyN-bm=bRwS7MvP)8AqK)`&S*5Q#7Xkw$z`*PM5F-h-LEl0W8UyBYZv;Ly z21NYX?O^L#s0|3!1&jxRfzz|jI!73Q@**UZ(AAvV>ojbLa=eJVf$C0*9i$PUT5nAn zfs}ly%SlZa$h=%q)&OPF0_GfBJ=X~Y02l2IDC!iNNbxJ7x)OKcg=en;8QvwzeK%q; z+OhvT8W0tQcQ^?!7hq-WF&a1v_nEU~Bn)M5rKsHu8D0zE#|1)yr2sKlDlr>Fc3vmSgnB+`vXIzO~D~sVZldh7$Vu~+r4qr z@*8$Ik`2;%s0bF@WC|9#M|bWF*>yklf2%+50F&MW#+?qZ2Z$YD`YzB*{CZ3RE}x1% zr5NBd;E)nhS%J&%kMtCZthE$)RUf4Aw&)mwM2+Ucc13P^z=mzPyy;; zmE;cv5VwqvK(B#;H6zdZu*eC(fDqya*zs2jm;y+7A0muT=Tr|$_LdE98RtLATw1^s zgALF)=SiHJT^5HsV8^@&RRP8bF%&tvIdg<1qH6$<6faptLu9g9qI2$2MPP@x4yoS4 zSae_Qi4vmn+g-be3+b*}RWIn7x-Fveb}j~0hwcalmDuju#Zz)^hwdook;?TVl#eI( z(19E@269mJJKdUja%SQ_s|Ly%Xx{Omq5h1 z2Egi7$2CGCs(!bVv@-(%RoT)hr_^lXIw0$G4-~@rOLtsSeOs^M)`0`?uQ^u0PyPG) Y3+%DSwv*S#u>b%707*qoM6N<$f)0NP1ONa4 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/shiftry_back_pic.png b/graphics/pokemon/back_pics/shiftry_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..17ddb24caf1f2589e72e5f531d133dee4acad2e1 GIT binary patch literal 580 zcmV-K0=xZ*P)Kluc^GFc5_u_W-HDhU}U;o2&|nHr^VPwJ~JCyPm}n zhIh?gAheJ|cj-vBV@Wj*blVOj4$PKCt@l0^AcNm$7G9n zi5QTw??g=HH_(y^gDmKAA}{;kI#PNM^VuzLnhk+C%cK*#1^Iw;x{H*KE)WN4xg%0D zK#m<9mDhz=fCf@hDrmtupXUq|g%3DIYK?~IQo47e>oM1z0MOEFQaWqv_01yq3#Nn* z25xH`dH{5e0Z^shhyEC%p;w{4pw~YXMj&y4LBa)8$^kerhtPj(yjtjSpXiO4kll8fc*nA;BFyNCZ5di zmO2R!fG~t8`;l3Rt+#=s;8EKWn&_HZ2_I;zg#q~R^3zE80E~roFzUv=lf S!ngYX0000mbG1a76?!}A$=B)q!)mno}d#q}U#e<~PltEH4ti^)>000000RR90(=g7_00001 zbW%=J06^y0W&i*Inn^@KR7i>Kl(A~VFc5}guZ7aY&KhFu3|#`&sjDH?6wnZmlOu*U!I%G3reeqi^ zH>|a2M|2lI11#hvKn`hVP3Nx%eMUPgM@|l>4nV&Kl8DXMksv{lc7Rk5QdnSO9Ew>A e{a1I@pVv1!qs%%_DbDx+0000qh00001 zbW%=J06^y0W&i*IVM#Kl(9;~Kpe&|#4U>#RFoD*CNYheKb%Y{EhF0J%pnLLR_C9SWtx^?%Vi#QyIlap|{yKfdq#A0&kA^gjx(#f#Bb zO05jUp3++3z*Pe*&d`83)&RT30CxdWZ1jKugBZlv=n?A}Fi2n^1aR3#HUO*m0kDy- zC4e~J{yE}rfE&yw&b{`deH4IqfC4;#kRuHYEr6+^sW1X?Mq~z}$PBm|FpVUK0GQ4s z7dAkTxU-Hh0ZoT-rDGj&X&KSehf4lfP2LAP~kwky`g6bEOk9)Q)g(kUW5ZTi^H;zP62Z z1d=FWF^prSTco(}$G3m4Y5s4tHNZX9fZIw2T?14FaK8mwEvmqAo2~-1S_yfiI}h~V zs)&FG06tICs5RO$(Bc##7(hv9cTx8iLiD9UbkhbXQ7VF6RzPcSQJ7`70OL4DfLe6g z6Bi$g1F>K_M0_7=pcZVREJ%oE`JMgb-g;J%=TX$LK2x>5tSY-0iD zyoDB^TPNsW&og=5ZI>7NVAE)63HaU00000NkvXXu0mjfWKkuh(=Fc5`Z@&}rQuE;~OrdW!94_JB`qsGG5nWg+( zSUT7CImQSH=At~wx%l3f=aVDEqD8Nu>M3BK0PW_nzoL79rV^O$e9@L4wKLF_sj+F4 z*LH?0Du|Y(Q0f$v(;9O#m}UF4rRgX`>jUp4VD&cxL=*WqQM+9^Wu=KC@e=`(HQ}7B zIEnYO0zlG@^A*@G44gE?r}L{x0YU~M2e{0A<>Nh}a=c^I`nU6y08~!5Tr^=61rfRj z2EfGu*N7D&p*cJhX8>ICO|KijO#o?2V2z)(VrIRM4KoY_(3`mFJ>YYr|Aqv>x#08( q!0)c^7(fEp$-t%jTZ1r;P)Y zD4j3YIP*C291%c8;^5LpvcC+WnL4rD=YZVvq1Z%S%-z) z_B_z(#0c*yQ@Z5=?0F!Uh6iXfK4*YxU;)I6-Mw6DHwW+;dIhg+1_D~n0(S!e!-6h; zqMPAa2sO0m8X=16_>j+*Limi1)?Z5bjKBMppbu#?{rgbRmg@EgU^l{l2v{oV%U}O{ zB9mPZsDWM>s<0mS+h?~?ppQ??Wxwi_03f1s7>VPf0AhSbFs$+Qf@h-h$#q?$6#g0U z@`1QaHQ$6^hq^BcFAxKaHwn860x*_AAo_==3?k5VLBK!|fNPnX$KTgCH0!q|6U>*7 P00000NkvXXu0mjf$w~;L literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/skiploom_back_pic.png b/graphics/pokemon/back_pics/skiploom_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..8f010fb4f2e54aafaad70b8979ec704681314b72 GIT binary patch literal 575 zcmV-F0>J%=P)Kk}+=MFc3xAsBxDo(8vWW=>!_q8(3nKM#rGKEj>!J zt*Ityf=JWkM2kf(5CoB%O~W19yDM9sAa#IDBLV--pU)wc`l?S_3;ICskqM%^_kiBH z=8h0=-XVw_i^$c<`lg}QcYcc`Mp+>DQ%6I`LnNZd27MR8+ptCSLW;g68tCcb*T7$Y zdkzfLU`NkCpWn84GYG(9nO;as;xnx@&c=aBbx$n9LO^pb(pToc_}VA#%eo$kw6 zYXRcl36bb%u!<%b#Qr(4jt2Q*%2f6kSf<%puTFv0)dZ~AdOdg0-=+)zVD#jW$9}z> z098j|IXP6^ud^dSh489vIpyP%0vrQMjhFiJKVbq7h0_ZeIb{Bi02?ZpUC3C*T^xuE zOdaMIHkNzkU;t37c_n!fmA|?Kl>1Uc z&e&y8i4)j%A7U(^Ho}`sqOFY%{3GZL7@lh_$1p+w6}6Wm@~b{&{Q=3y=8KG#d_n*K N002ovPDHLkV1hrE3W@*# literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/skitty_back_pic.png b/graphics/pokemon/back_pics/skitty_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..e7f5ebb67b4cb46a5b80e0c87773fb7d5850c872 GIT binary patch literal 677 zcmV;W0$TlvP)g0Q&747lYC!-100000|INL{YP5R*Y5)KL|E!e%gKEW6IfE%Npl<)o00001 zbW%=J06^y0W&i*JBS}O-R7i>Klf91HFbu~vWGgDYL-GdAZMOs$ujz9csM}}BV+1Ij z49RdnL_6aRcI&Y~{85sU73BlCp&gG1Acg$tPg0_l`mq0Q=JX!$L*E`akNaf7j_+?* z8fI(0`R!!-#16Otc7FtzBmztl4clwrH7$94nJp&sCtAJ&Y-6B>?a(-YYj~NhDuCaY z^F06}ODyLLWq4WD7N8m9MCW*1yBZjnB&I`~7fpx*mi~|XHOe45QO?hRm*bFQ0$@0v zTDBnTaQ`AIpiYyEywznnlADOGpMy?mACg2S>hOFGs7B)Y@MStn@DZRs39y__r?V9S%RAu1{?+~hF!WYWP)K)4y-iKokdXcPdkqvvKKwD)~Z4S%RFGADxg&Jr^bI zwHs1Fxw&dVwx`f!@Ofcqhx#V|1$O=f_#@IXuraWdPUi0XvreG{Yu}K;@00I6pPn`C zzW%G0@9Kw#cl7zcfq(rs;JU61;5=IFAtZh#aU5vc1J2JE`g(WEs%y)!6h7x47W<9^ zmWqfE1*nd&1dae55%DRGul&Um3<0*lZflw+0FM^lp#j}302|LWIY9JoRIi=@q7R_Y zHJ7_SKO+?(Kv#kGa?C}Y5qfZYLVKbBe@bb+0%RTAt@t_v!$mMSwbKCJqvO#nfLoI! zfS;0=&G{{$#nU?7C2y)=fCpiafoYRaTmjD_m-%TwlHhfDh$A>|@o2+K`)o?c-VNX% zonwzNKMYl00@5ynA7Vv37O+SZV+vSnUrON8<7~!)Fl0&1M(88@_PGRF^07!r0Yk6i zhmXIOfSf>pyiT6~GB*oQ6We?fFoc?;67U$SfGH-VxXYzh^3*E3lRRS}lzm3vjYRS6S5C|E*`2UHb`c;N?@AD|90an?s#!rv1zIAe~Ht z8ST>{i<*Qu_3V-?aEtM0bZ1Nudm=uy^z}QNl$D8 zrS^6itmnWOlN}L3^DpBk98ij~F^K$37@s{R0A;*3^0 SC0N4%0000Klfh2HKoEvo!qtQl6K{YE@dhT!U2S@mz5?;Bh>4ty ziFX4}AQv0Ct__5XCY?soiwAa`*`+{J%LAx;;L!i$|7T`rE$jdM<#QmVeA%OyLqv=& z_v@&N2_H28iy{N9BLEaw_^A%_Jpk(k8D&$UB;cg~BM@_sPE9~?)VD;w4hB?U+341f zZal2yfSytq(dRmzURCk)hZ^G;W|n0;sAdr54afl)sOdhYo|h}42O6+D3{br}5B{s9 zuXdaD$jL>dfY2Fv-Ks4hl0n7jFmL35lHZdua6ALxGE0btW&4SAsy=FhhPKQAhi=23 z#*Ppoq=nFc%2?RlD~E2=O$ol2%%xXF(>w2`gc(F;nl`zgoe_};(bggKvzu`kuH0r* zv@{W#wTWh1-Qi_fkv|bjaf&>4cnh`xW?gYANJOF%p6ZUn1#XBYg(OH8^u{(00yoDM zX1CjN3zS-~i0^}e781(PV`RW|QM#5F`1LRv-w&DaeKQ2MsH}Avl0F(uo`>nfAd7jL zz$AQ-J|2&s5KV&+D|Ng!;4HWuvBP9?hicI=L=49pgEc@FkNoU9)M3$5{hwcbz5$*s Vvc_y7?Ir*K002ovPDHLkV1o3Q0-pc? literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/slowbro_back_pic.png b/graphics/pokemon/back_pics/slowbro_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b62c5fcf42c976575a2ce70e91f4ba7bda901558 GIT binary patch literal 737 zcmV<70v`Q|P)oUCGEb2;WxDgV8c|BGtoQYn-m5D*X$>-yGm00001 zbW%=J06^y0W&i*JUr9tkR7i>Kl)sYNFc8LRT@dQD%;X7pfNRnxlRvK@rAud-igb}H zQ$eWwAo8TU>f|F=WYSo055W1DNydhWLD`jLFqlb|boY&oiv4-_+m%G8^Q8Zz{QmFp z2XPBTH_!9V;u88yB1bgjpBevjh(4OekY|ecpt8+wWgFz-IwRqB^NC7z}EF z(tvN{7VvXmyY~v8v1k^qPfJ`6uH0@+N=n&=^SCEZ^zP*=yFp~+vzT)podLfb;1N26 zS#lok&jGODK?On>Lx5MOfH@G;ai<^z<`A@jxf$~i0pDiOa^7G>f=!leTo8(L0F%7h zM2Gl|5O}r9ARPI=ZxX~j3XT9=kFV%~Plk|yViOx)HUK=`_s|6|=)_uxxn>Oj@5eWo zQb@>fia@-HV2NEg%`gL+(9k3hfi4*bpzcDcy3wAGgw{BT&q3&bbfGd_(F7%CP<9e^ z1+}y(a1sS}$;>D>p>_!n$Q%HBO>LYBB$(mPIe-=5xB#HHCQEz-G6Z_Y!A!d_lyLx<$lQ^5(!bCjLR8j) Tv@cA_00000NkvXXu0mjf0{K#R literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/slowking_back_pic.png b/graphics/pokemon/back_pics/slowking_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..16a77950623b0fe01701578456ca8f9fc9608a9c GIT binary patch literal 712 zcmV;(0yq7MP)KlfP=)P!z@mZYO!LAf4<`@B<_e&n*-}pku+x6SRJx zj(H1fzOoX{xmO_4&G)FdtK=h+wTW)e(M^Xd$tj)NGidpK_d9>(dH>_@L#|)e$0q+1 z025Cfl>IdWzMLEa;xuU>kL6^1a{!PDLN4VrD-Qr7!9DPIJ6NC)B@zJi8EiH|tPl~3 z7k~_H3}*1W!dj3)Y#n^ZXuKv1)NBIBJL~B*ldb)vwg%g@XlIq|oDxbeu1&*0ZUG;2 z7w{`I#!v>B0l&=}7eIkoZFmy7WMEuBIlwh0jp7Pn8%ve1z0B-gph--nfOMg?+Loej zAawwf)J=6OM6m~@Hi)JHXYUCCZ4;D5%i{v;y>|_1j2n#|7yG^otywzn{IVYowC@%ljz0G@oSm2-1kgtB7K=sD+r^09&Rd`X0wC`?kU`UyV4fIw*ZC{R u;M8ylr(|G(&Pj0w3+!890bPrKK7Ikx0|VJ+nKl(BAuFc5~Vj+Fq>wNpE0t<<$cQJo0Hih#=mUOX3dHw+ z6vhIGo-Q2V+mjE0l_)$wzyW+)0<{A?zn-c7=qFDkY zz+732(*y>J2Qf#)HgZ)h9ekclp%;0M(n0kx#yCsi>ZzHK9L z_5=SYe&Sf}=!=;Jly*#X)Sc@1W<bN}v~|J8H$qyYZ_|Nj90{{a900RL)gY7h_*luZZh00001 zbW%=J06^y0W&i*I#z{m$R7i>KlfiPNAP|PBS~%w&Ao>8bbB;BD*I1%nw`$h$`E$rU z+YRGR7CM;+*yUu&=f~gOD8&Eu)shdk`?cpFiEn#)IB)YN#MGC-u#Ivfux;027SmW6 z_N%(mL%3Y^9`svf*xNM$Vr{H$o-06|FPFBbY^#n&&lTWftJ{&XDQ&>crz*l^Ei`cy za%8X)41|KkGGK3OPQwrgiWsU&O zSAdX|%m;u|q$0{jC3EKkHv9w`trW3~-fCkYQW14Zq40FAwMD>r4nV{rU{W8eM%@9O zBK-Vd_JxCNz_6|=BE__{auMZ~$^aN#IRdAUaI7x?b?j3cxHHsegMWEsV9xjhP$Rzu zvVm#k-v$PVhv5;B4BRy1JwkZlrupM8cxT#h1G;pbs{j99rz62Qv-4I*54_^%?T$GF z#m*vCk$%8e9#HTtAVaiA7ybBNH8RZkx@E=NQ*o=q0{V7iJFd^+HUv$QtYB*Rm)CE< We5t*0IGSDn0000KlQC=CKorN1fWU%&h+ub$1BKoh8a$*#?;xHUur-Jb z{wf`%sRdhb2L(a8$(y@b9Ws}Gm|Hqza^E}2l1^6Qp&j!UVf}ypzyG~^V(hj4dwF*! zfcb}0fcSg@fZJ2REPW}4&jD7G@LAmpIRu=G@EH?t&dY+^{-_6?i~gt{Zvg1Cn74tC zF9HBnk8`I(a0HzFYy$&mb%0M6czEmsNH2klhu;nWbprrnfz7YB#o7{9hCRI)=9|2o zB89s4`YR?F@A5V<(2GXbin06YG|#t9k2u!WW2SA|DRtZ74~IqLwZq66JE0Wf11=Pr@HovuG}Oc!o%H? zX6yooFC!vY5b(yy;PK*z1!znR4Kl&x;VFcgI?OOwp<3Y9@pHjuH=^hFBp!YT#CW}5~Y zv%W_{%Uo%EowQdOsRjzNYxhT~eG@j;Q>h^5(>eFrX&JlgA0=la#`$>$KeW%69?F0O zHTDXsvx zh`57aeQeRy;}n3mBIAm52&m1}2(BYOh+%_UHL3`KXp0btI?@1`PXc(_(VhWNg+Mrh zjDY$kK+13iu5Nu9-Gx-c{HTGk_e|B7`KSOUr1Yz+IK=cvYb_b^W%tGy>qPEG_r0jTZbK<|(o xo}F)tVnGA!A-Cv1O#!*Jc~KN2e=v7V>JN|(|I=dXOjiH^002ovPDHLkV1igA;eP-C literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/sneasel_back_pic.png b/graphics/pokemon/back_pics/sneasel_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..5a0765cb2bb83315122a9911ba393dc2b4ce8538 GIT binary patch literal 664 zcmV;J0%!e+P)Kls{`5F&M@*I1uB(7_v3fae4*m4J|0EIetpAcy zPXL#h`uGHpz1wSYm}NzNvj^yBc`h&Z5toIO@?sA#&k>Mo`xBo9V(4`_vp+lzS;$g7 zT5t$iluD@w3js;MVxcslEqXKvSYl=X2J0ZPRjR`8!M^}9L}EkY6oF73I@5(}Qu-2s zU=padp;`>i12G1-w<$eAAp!8(Utb=t=t&esNU%^6%j0iiJVqcIQ_8_>=3w;V3#EEJ zG7es$%h6XscO7ES;JctEN1Y|}3LT6_E6jeZMNJt_63e4EE4m|=I7v)7`>_iEv|T{p zh&vAOvjgsdcWIgaat6g&qxm*l{nKDlUz2CrqhS@je8nkf_K}_ z2zR$Ban*Y}mow90NW9(ngb{Oj7cF)vbR!NkB>GosJvBl61CI~XHQw%W!%dJ7kmCb3 zSCyS(AVyu_^VGKhX93_Ym*vg51{lMW<5w}1@~RTsit90B44>GRrD|SPT#s4beede_ y@nN{8W=x6D?TnoxtBJ}sIytcYj$87qzxo67o98`~asN^P0000K)J<-KFc1Y`RJ^VPH;5B8yGZpz$__#BSx8r1)>%ay z6}1Iyt#QGH1@6($z)eJh1m@b^adh zbYbWU7RXHsNZ;a}0d8v?aPOKIGr(Ww(fzfUA#a;o&wwf9U_JB4IRQYiurQETPq_d9 N002ovPDHLkV1fa}xTgRB literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/snorunt_back_pic.png b/graphics/pokemon/back_pics/snorunt_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..53ddf9fdc90fee980376bf4e1bedc743e9992b41 GIT binary patch literal 557 zcmV+|0@D47P)&)r)(3Qc6lWF)=A1ApigWr_&VA00001 zbW%=J06^y0W&i*It4TybR7i>Kkuh$AKoCW@KuO0TRto2Ev4PHol_k9e=OF=vaV1Pzk1DJIK0^MsSth)hv6_`amz*9J$g0?8=G(@Ta zlxj^3OINi3B5~8x0v7EeAw&Zxuj!eYKvJIz93gHhu3_n^ zqD2DZ7-b^Fyl97rIDpl04A4Ym02TteBFlCSQPNS=?HIOpIMf-91`Z|NNz|37vZ^I& zYDridQHv_g_O!3-BF~Fc-2qss>TUW?06ynpw-=%`E0|p-X_`_;g_ v7C+}5O3yuI{7%Nc44|TbGMcmd{Na297ExBQ$;E0P00000NkvXXu0mjfr>p5A literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/snubbull_back_pic.png b/graphics/pokemon/back_pics/snubbull_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..2b212b708777a6e4df4f6d61b507e5202d75ebe5 GIT binary patch literal 627 zcmV-(0*w8MP)Kld*2wFc5|XxP$aI0jL7*RzN2}9lVJi40NoPzJvjJ zpxY%tJd_GD8mQR0McsRh)>FWD=^aJNO2wu_hA#PGzykk|cjVnMNuKrJC4|=3kJ(Ue zjQ*Sbf@~>`>Bp5!--y@jfDqzp@lvvk`8@jFQOa5*ypKM>`5V)J3cv@`G_*7r^v@i; z(R%Csv?Ji1tYyq}i z7_QkFGvpmb2X;We^<^})1P=fJ-I?B3a&LNw03_dvz1IH(4iA93@PKbcy4N=Vc{vGC z{PWv>|mOpYF}M^ho}XFX>p=n|1pLOn5v2lYCZ+F5nvi(d5XP=ONb@n_gDx| z6bj?O-B01{kBFynTqn}j;!?4Vcqrz6W?5ufdyfEZ1V9^ff*5hj0FD4$%|h@Y^ey{` zc&+lgdrc40`*UDHrkfP4lreAHFc5{khMT-~EM=h8$`g<(Q&6&lyvt~kS#r}g zfUfeCv13v(7U;>X1Q^zyF8y;o%98CUfjV?4dV`kx^zL}~$kFIO3v)M|XMQkDFsZ^n zC@487!IYB0UjZYnq(2B$N{aJg0EPiAC7%rBneW3OaN#>vy zI$`RbPfQ2weq+jq1HeFV9_|2m`?cv?Ne~Bjk%VjeU=rZr>eH>=YYs;fD?te2StY?l zkH3E2lD9y32Y~+M?j74y%EZyt)#IgB;S*;ta*{aTpbnEbiXNki%nAJ1;N&$pL(G;* zL~)@=z&A(v=F}TROdCKe4ZSb9svI`T#@B;WTN0 zgi7J_<`>S`YkRm5j&t-N{onxx77&wW+RJq`^}S%oConw;+O zF8F$sbN9!DvQ(lP3m&Ek8Omsi9KfHFTfi@A%y>h9RNTY#nust|N}0M|H?Lpm(;hO! zO8EpJnpLH>g0s5yf|>?Uq?E{{e7~F6f*!Q9_1-PD(gn`vxKO^>0k~+?_feS;Q9i(yJ0_dvF-t_rRXGc g%CFS4pZ~|>H$b2-^=<;(!~g&Q07*qoM6N<$g1TvTZvX%Q literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/spearow_back_pic.png b/graphics/pokemon/back_pics/spearow_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b630f24e0bc5873d0c24b721e9b257605493e8a8 GIT binary patch literal 601 zcmV-f0;c_mP)+{NtQZ&=q~+4W00001 zbW%=J06^y0W&i*I*GWV{R7i>KlQD1GFc5{c$Atbv{y>MU9kqMX>`ffIh1O7Hj5@VL z0LM$bD+s#xWN641QBbEAFkNWNC>Sl|*0Ivdkx76OCFcS~-oWL)d%UBbg5X8}ff`?7 zB=yNgAAJDJkp^9RNN%>r6EhGSGl~ zh836{{6mKLB<1@SVe<^QX9$94hc9nD4)G&!|MkRO@AVEEcB2G?<&=XB%dd?4OdKa7Tl@*oR|aTS04>?igh&!TeQ#Ys zIRV&H7#04-_6eUWzP15d`Yan}PzcItT{#~}>qD#0ju(vP>*4NFhqYcwj zk!7wx{aC-=Qhz$5`dd`6BuCDp^Z125$|AEROKwnzvJ&?s%666=m;PC858jvmQ>EamT z(fM|wVbEa%0asfy_QaIsi<8=$x+F8_PIJ4x(>0Xupdp9*f`>waQ~4%Kt7J>QnHmse z==?bT#?kuU|Epp{SBL#wEOj-G-O6P9^*^^5?tG4pU6d8D#%rS8G{&WE0xw)r=6Bb5 zCthjmD7pB4vHT77;1?NxMIPugn7?andtbSUHQ{x}#H;>0?_20ITq!tZBC!UVObm+_$4T9|U&y-5VKT$R58N+2LRt(|PXu!$ z>`^Kkk3xSKp4b(frJZ$2QVhP-c9(*nFFg=V_?rUN_>TK zk{j7uk35}!Uchbv8+viaZy|wd70;T^rA_CzGt&)%TDAUz(qH_i)8l@-d-8J3Z(MgD ze*oIZf}lB8_pjMEF3`qihUP>FaduPnJJ?tllWVPopgt;qLu>#DAxRU3%SwsE)Fdm8 z7esofme17*C~jrMk2j*Rdbj-PQwq{zF3$Y~Ci*IZKT_V9!rb`+AwzJ)72r}^ih#vD z#9D|Rd0i^-mvV;#)&t~HasZD|lgQ6GbhI9T5hwI|Gyo{%4cy=kz+#4+cJc`f#1^jD z1Fd+9HJiS7#80IzHohS_048I=Ik&wB#Xymifkm7&6b-Dk{@mCD{-xOe#bV095ZeIO z7RUmatklrp;aExH8$zy>X0KHOlAxm_tc2W!e+6pQ`cwJ<5~bm7?i^l300000NkvXX Hu0mjfq(;v^ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/spinda_back_pic.png b/graphics/pokemon/back_pics/spinda_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..c5f699e2cf61dee02fd6000dabef423af652ff57 GIT binary patch literal 684 zcmV;d0#p5oP)A}swuM&~sFKj!O3Ed;Wi=M0n;x&h)-9h!-@@p|B9f+Yi1SWoi}bJt zOykW4$3Tcb7(-YC)OMrqL@%n;0yD6E#h1Qria-32=jNVe<O`y9YMf)_Y$ z415j~VB(Um3I|uoQBQI`D}$>vQ8cv&l_S2^eajlfr8p$B@1NTPX zQWxV-ccY0n@t*WsZse)fUSg;970=32Un_5x-NTk&ozhBu^Aaz1+7vnXi7CH2NZgluAm)i&_{M7ytkON=i!q|NmlAQUCw|;zd`700001 zbW%=J06^y0W&i*ILrFwIR7i>K(y>y5KoACC3JRz#UT(;2C;=$9bNsLvm@~fuO7lZYeO~n+$>(1w>Oo z0B1hg7QET#&Ri%Vq@?b_6PTHlufzrga4dzO0Paw^zoO=jSBoqqfjdGm&ESg!Fj_1g zGa$u92r)YWfKvjDk6{zy6mAfN8xY%fjDw)5_&KM*wjzzrtQ%SYtH=cYK1dT2d>~*A zfXq0>`!^Qsz*+|`L%>>)qy~T$7Ou0}7 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/squirtle_back_pic.png b/graphics/pokemon/back_pics/squirtle_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..36c9d266649545955f21788c9be2cd0fbc983780 GIT binary patch literal 484 zcmVVh|7zqZ@^_00001 zbW%=J06^y0W&i*IVo5|nR7i>KlRZwuFcilt(KW5IBO=+|k!CeEEAJE3MCVA}zf-nqkfY3!x z D27@f4%O1*maSLuQYAOI+8ACQtIrHdpy15q{}11eI+m_P~b33)^XN|VTF?Gcz0 zLKdLFvhZv^JqeBgUqRu)n)j@JDn_uA3-EY_V+ifEW zwK7oC1>m))jbP9q#th#N4)AUt!_j^$mIycvW_S%t^gmdKode9_-0ECo!WdinuG2XG aVSWIMN${1u?*3>10000+^%|NsB2|K5ZD-cshIAk_f>w6wH)dwWVsN)QkbR_1Jn00001 zbW%=J06^y0W&i*JCP_p=R7i=P@$0o()cL4Vl$Q^CU~)_wm1<_dw|X4J__$A(lEHZ4Zxs1M+bm z*9}4<$vXh=ACmxH>IQY+^@q8xJHKLmGC8hI05meNvsOx*oE*$e7MINpkhL;!U>8(C zL>&Wrpbcls&=+2*{08VQj|vq4%h%hkJh|Fr6_i-2)wKqxeWDD3S|6=ne>)7oIq*;$ zEn5%k{QKoAfY!#`fcEXuPJvUi836n1H`F7e0b&3ux7=NUb_6Kn_d8X+T>#h}Q5ZX= zJy5Fi=X;A}eI5h#01&0m7V_H25FoY6{OY8BRH{?!n-WH zv)w$&s07@~0YsaovL9dGXcy9);l0VSe+;pJqs0?tr72__fZ|(9`AZ|XjBAt)rHo~T z;QS#fLbh}^<8vVvoX=w-i)Y3d02xRKv6A3+4q8uCZBCEtE3OEZbsjU5s0D}cs+RJ;y!nV7F?|_X65N{#c zqF%sR5LF^iXs0kwjj4CgTZneZIdB$I061_K5`gR-qyb5L0iK%Dzm7kj^#D-UT~>Mk O0000K(o2$pKnw<8s$fkOcmmTLVC-aV37s|fUph0aIm0CB zhhj0hx6DGZ{rHn^sH#uBZPi~dz-f39(79ItE>A(z!Sf+bJ)|LMAB+cxL*Ra^x;udV z)4)DxGVp-^0~w+Qhu3F70yd!LJYxq^7lH@ifiv&|7^K4nOyD?f!oZ{f8_=Lfwh!`b&yagDbki;Sph@@a}&H@C~+;?9Y1YM)? zFihTC04{twLP(9;2#}oivP=B#`hLIyIIa@vxDgyB;0~k+#GLS>0p*!4DMEmc6i1MN z@?I?|g3V~1ccb;QUJ$V*Xkzb r8{krNd8^uGUTq19nD@k|-lP5il8m7Wrkk(G00000NkvXXu0mjf9YfkN literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/staryu_back_pic.png b/graphics/pokemon/back_pics/staryu_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b48a929ea99bea49a0c28f015b76bc3cc6e59b37 GIT binary patch literal 446 zcmV;v0YUzWP)S^)0Vtktx0q;oN9K_LIt)$W{&=3+stK_JDPQvd(|T9}t`00001 zbW%=J06^y0W&i*IJV``BR7i>KlCg4wFbsz2hPU>vL;D?kX-gNd z-nJ4hEwzbRd%bA=ztbm6E{c2o*W#VLtgm^%oiBNy-vh=oJ?;V77A5Qe4qD1O91vw& z^x%ndyBZD1IRbFoQ9`u_SdtkVG$1%wpo$OUFaVdL6alCto@PL_oLD9V=zKEngzcP9 zs3jW@p0G2(Yus%r|*Mysaga8DK=ZRzz3ps?+@!9wV# z*F(<4@Lr@uqwlm!n*t<807*qoM6N<$f=Ok+NB{r; literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/steelix_back_pic.png b/graphics/pokemon/back_pics/steelix_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..74cb256d0f97a6748cf1c3375af55d8a909d04e7 GIT binary patch literal 819 zcmV-31I+x1P)ti8>}-sax_0RR60|Nj90{{a8hQb7<95dZ)GH1Aqv00001 zbW%=J06^y0W&i*Ju}MThR7i<^mAiK0Fc5|*a7vzuLTs6{1tU?Z!oRmtwU%6M7w}W& zP+*)&`v|);Qi8cynSyid`Sj1#VzIchiheG>HPgG2tBUf|l>yVA1UM9d-NC((=?^#+ zB6J69LI@siKFunKH6frtXz?RSzzqe!Cl!w-%n+tY0g?_7;!_yI(%}oR2<>c+*?esW zG!GI|Vd!!tO-+&T&@j^-#pJyAM3#xueT2U6yRJ(D4QUrY=nfb=2EG(p(uncj`yJ5V zDAdHgihtj4Bvuk3D|k^rvYRwlT~^3NKxg14P3Psg)=g4?%TLqP@Rr^j#K8i<1vQL| zVnw{VG5WY?A*P zLH}aepq(e1fj!*`EPmh^TCW`h*vHys0ehN&?r2(VLEC}VWA?}Obs@QGZ+Jen0Lb!m zp4Mf_0F2fbqHW|9WT&V28Sr(`dXU%LR=Zwoo&gU!Z)htIoZIsCW@EWb#G!>#N(zs0 z@nn^QVc@Jb>t|=O56%+SonH(7sz;;wn|G=J?0V@xv^&lFt3Iza?7UwtkL0h*Ko;OG zlz{A~`zv9xB@678`Ua5rMBM0a0A7JDsqX<&C4h&OmQbm6sfJ^^ zHH~B*Z|E-@&)FYP`nRz$ir-^D5Aek{uwPm}n?=>)B-cG(HJBY3FXWnm4n+WtccK@8 xdLGbw-U+#W=9i`l`m~Zp6akNQ0+^sD;6H$V&)!7AM56!z002ovPDHLkV1n!^girtg literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/sudowoodo_back_pic.png b/graphics/pokemon/back_pics/sudowoodo_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..befda7efca2d328cee5263df4265c7f7de0b58c4 GIT binary patch literal 696 zcmV;p0!RIcP)Kl(CN5KoEvqoC~|*9hSQ~65})=q|>o9G@x5t^AyOu zK;-rHr+8^VIz<6DRH-24b(adI%R?aLsGWc9<05;Pi=lqwDm#E4=S#;=WnyU(UIar- zc(?SGQVTmUDJRU-!d8KYG|>~zopEl>w-}M0P=%KxOa7w8S^(l%a(~MQnF;h5Yc>fJ zCV~xC(j;&SP#C0A(d8;KjY5Sc6b6{^A^054OaKB<;2X6#wqpQwr`$q-IL{AmTcSkW zsZT8}0N~)b?G(GH0cu(Z6o4bvGN~P%7f%ZT3Q7R2R-5$WDba6WuvWDfwvr!Czyv^l zQ_asc(0c)f2jSfl3k7w* z>M@Qc;HB^}7*l5}U}b0mX(Y!SucEWvYo{g#@G+8$JOr?Nd|6km0-l>%=11y26#%c- z@Zc2gqtVmAcQOHZsq_sC`XT5^a6YU9>+-dWeV1tW%>wxAxmI<*z=rLkr3uGh>R)#U eGdot`UyomGiUEK(bla=|0000K|Ey~Ni!tU>Ig6wK0M*siw6wI8l$2^}Y7h_*dvSFx00001 zbW%=J06^y0W&i*KO-V#SR7i=vld*3bHx!2tXpB089Net>5){clU^`pU#JZ=+h-IMC zobj3|n@COCN^WkB{#h=lieLQR;dCrTBQmDw6tHMC^EKT6|l}<)J?|D zii~v@JlCz2WpZ)UZnwKDGepn{0um5yGio<7*4v$Lq<{q_s{|8vm3xeM{BVE&q zuVnnuX}3E)!dcfU05jGOmJ^Hs_c`x|U^5;&&Hn)8sNEqH0Y2CDr~VGyUxSO~5;`P! zW&{X?x}^=^F9W>}A-w`PlzFbFP^(*@^5OIgKzo#nyw76z6+l(l2Bpau8_>H3cF)uh z8doYEDP@Ytl6OS*39-{;flM94!G=ol_ovB7q{LB1fOEm6h9_}6feSnzjZ6*BZAt9H zr{+Q+updRb?qow1<#ys2F$6UN-j^Y~PUBcNHsbN+$-l#lvxu8Uz@@}CWYG{yh{kt{ ziDfvcCfx{x%$v%K;}bZ@MoZI<Be++!zoD3&8n~>mT}>HN)F{%dP+b002ovPDHLkV1g0t!5;ts literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/sunflora_back_pic.png b/graphics/pokemon/back_pics/sunflora_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..c048bebc225cb6ddb53cb96f178dad163c9dc3c2 GIT binary patch literal 749 zcmVKls${vFc`;Ow04My-6{7SE+{!DbUCbSS%Uin3Ryz2 zAds~2v)5X&f7{}AFMrrA{i!uzz;14Ed86{}`oO7=yx*_1>Hs7eYmN58i+dJuRC1RnBOJKhIOPzB1aqRr<-=UO{(gF1BU8Dz8x z60P+Ezz~fE_PJ#UCdEyzF<$2(c&JZ!#ZyBim#b}(V~S!Q0(#Tt?m5uMF|HCFV}>kC zVL~bA{H#sF-ypEf9}l|7QU@js_1m)q1Mbpg@FjUd{mub!fK?J8z@n>bD=?r|eGxiFz%9#rydGZ;bF7QBtd3^kZ2(Vn z<~#!s19VR%ZkzfMNKy8EyA`nB8M}31I(<*=*2nU-0Xo$8sr9N&N1#B%TD19momO%L ftc!2)KfQhdYT96-N=R*z00000NkvXXu0mjff(un> literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/sunkern_back_pic.png b/graphics/pokemon/back_pics/sunkern_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..e6adde7754fdf62ea663a69808c1c70781d05ae6 GIT binary patch literal 555 zcmV+`0@VG9P)K(lKkoKoke?)3~Hikaj5DN|ZVk#6aBJV5WYEU^pkY zlKUF2i3rjym*xXB=O<_!Z0XWMzDwVEiC}UU3hn5_Tm1j-y%!@wr~2 zz~X4h=u5`w@eDm?FajD!OSTOt&bX+&88jz=Ipgym97qY#E=^(8?Buv)bG4vMF! zOyCu)@|{kToQpJB)PdL~K|x6AN|l>B-61{ylBW+yBiGbW+(oEEh8l67Nws1t2r{0Qh{A?*K6`tO65}6Cd}h??IGv0GBh(egI3o{W?B5wKf0%002ovPDHLkV1k2`?{WYD literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/surskit_back_pic.png b/graphics/pokemon/back_pics/surskit_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..85b8a8a4f49321f2279b93410d9568867ea7e071 GIT binary patch literal 459 zcmV;+0W|)JP)U00001 zbW%=J06^y0W&i*INl8ROR7i>K(y?xXFc1LHSPTp-vCPOv6d4Jr8;YfV0qKz43|T6n z;@|2LdGOS|AJsE9^iVGKP_^oin~3k_?l`mC-Q&-rcuRo%lq&K1A4=rA$jaL>;6CwDV{=?#FRHaEbf@3nK2HijOgfII*nmIQ5o9E?8CU{B<; zr+ygQ2x<}xqnrX5DbT1<0`OBPpkpQI!20}_2h=W8y0FLuD zzZM(d$yHvUH0MHYg+E)<0`|oCMo0y#i6!c|CM+`5!5ND}#CPCo6-_rEF&@T~@hVES zUkWTQ#UXsJ@SBxg+!4AwzW}!EDLyc~w|PVBKf(jUw;zDol&Ibjs2}|KI+XAoKk(kO zFn@=7FkB!;xpehCDgu1X4LvI2?h&BA-+TN{d;;iNYLLfEcf|kz002ovPDHLkV1lne B&1wJu literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/swablu_back_pic.png b/graphics/pokemon/back_pics/swablu_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..802a9e37c6d1b21c01ac60b2c301c56244f90e4c GIT binary patch literal 740 zcmVQ_W%F?X7H2a00001 zbW%=J06^y0W&i*JVo5|nR7i>KlRayD^I#xi2b3)ci9~o!JFkq5xm~1#7QPVahg5-oHD=*~ zOY=LWw3eKN$5fzamfj&iGC83UWN2G}e4}B1Id=Sx`qCwvu{B=kTC|e`YcIAMws;cbUoz@QE z00=U(huW+V$Sw&GS^>c9YGJxal%r~t0iYCSgU+D`fdDl12adCx&1PA41<4#j0RU5Q z2XLJ>vk@9xVJhcB2&|BBK>$1lnT;QsbLS8v0H|Ktxg2mq0627*1r!&H1p*(eKD?n4 z;6MPB;xt!jf&9(^I0JkObRgiK42oN=Hv#SdTVa^X70_YS1h-13v$1QeVD{RGKw01i^b8^CnSK`D1# zf~0GKq97vakOP0`uWpdyMpyb812;x}x2ejP$P+SI&FDQ6t4AAst{Gqz5GS=o`k8mq zcpYG8uzgVjZMG$|2JDVsdVTWxJ==;4Srij%gXHOBAk3$-&)9hcVEgn<=MnH6|BAn% W^)tgaeP#^+0000)xC@V)vW*j|Nk*DF;Y@eYHDiD&CP>*LI2fS|0w|f?vz?NY5)KL+lb%!00001 zbW%=J06^y0W&i*JElET{R7i>4)G=$@KokIAJAc5oB#ehb&|S$AsL?%~ zPz^U{a=I1*(a$Jkvq=gat)WBdugH=%`2oQ#pD(0wjr1Ab;(g zvkg`p9+gKL7J2XLHlo;X2TM#e7)FBg_8QE|Ysmc%uTUlSRj;2(zh(Hmkg}1|??`k%-*!L--B!wOVX)VI zzhjh1kSIKmq}Xo)ph1sQF90)H1OV*Uj29@hh65fUpqWshaZ>rEy^Jz-TTBRW zXbz5TLu@@B3gDU-J#^4lT zMF1|#Pv`7w1_JOG0U!)OE;zGhk%M^wjS!64xCa1)kP`rwDMpE2r~z6b1Yc$nt2m8; zR0{~9-$s+?a~T6?do3UYL})bmrw7#aH61k;z&>Ag$2_U)x-8G=2pu+=aT2TplCpyO zP74bdA&}_w;h(U2Md@b|0&8*|W>CK={bB(Wx+QO3)^$KUrj#x`u&$~S3evr^K|fF@ zai>4t>s%TsP1O44bq8Qg%NG}b*q?}#x~i_eg}}N5VCH^6PHrkf-trzW1&d2-KlpJ$ zKC0b>QRV@CGu5R%MS@ZZXA2JyLNwyefc4-bij7h~37G{pS|aF=7hrEx1$Q4D&|Mez;h;Qy2m8==C{s3Y?n@S@nQ1^Vi@8 zp@+@YufXF83k16I9uVM&K;SVxD&Rea$NHRmiE&_n;7aKc3^zL`(Ay`({eu~rcip=J ybD#Ima8l38+5ldFqsCJW@HLs1W%y+N;ra_4_)KE6w+)E^0000Kl)rA&KoG|5dx2=Z7DzNF??n;UTx5@%q(CzE1JI;I z${SERsc7j=q8kc_8l*e|RCJN3C{NIyIFSo^fX&R>XYcxK3hGRG-_PIt-SfQ1`0r2@ z|I&3qal0MW4^jqBuSbb{AR>p;uVV&K$Kvydg(NZ70LAZN3qQ|mqImXYNS}mh3Wi8u zej3Oz3G=*QASwT513(lO+yKYLQuKg{5P}EL0MD1}>Xlo4(S*@Ys&`oZaEUt-gT~+l z@egiRJwofdoxvKh+T5)Agn!uRfQXxKXJ@ZhKW$yK`V5W3&3D~3B1EwBha_1up)J|- z>jq;0+C?&(6L96uNQd;fmLQD73j+FcJkXl-sYx-L4FH7P!_;R$sbqopYY!k3Pv!S#vNE1I|rKV1sP8a22REez2Db#vt6CY|;lBgYF_C zRU&>IH6Y-~0VEt+6`CrK%F7O*9f!uC)j>TiFS{C~$>(10`00001 zbW%=J06^y0W&i*H{7FPXR7i>KkU>rZF$_h!p$AC>>|?2Ofru?qQM#p4ruG&wBm3Gt z0!}g`lF+gTjThOx_rH_ucH3<8&*vc^o`1s;PDpZ>AI&2oGs^WoC!%O!xMgI{%+3Ma zG>*n-oUFBwjGqO@Jgs>c2tRt^EfAv&9nEut=NN0 z1xuck``1pe&stFSr@Z&rycEHauyT#dn7MQUh)lXbMCQWzRBwn$fOLo?P9m50TA1LF zgyEZWs0E73rd%)R cw)so*1(soatxi44g#Z8m07*qoM6N<$g19ED`Tzg` literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/taillow_back_pic.png b/graphics/pokemon/back_pics/taillow_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..997d6db4515bd701cc234e1fb98b790fad7babb9 GIT binary patch literal 446 zcmV;v0YUzWP)Kkuhq+Fc^iS+(0rVB$R@FB{W?MkxHSnb%hLttfgZ{ zlPPm2PaW(bnd7CW=$s4GkTpZ0H*kMRO*%+2g|2?X>W39EiskSknpr0y4!~%%{sOwb~>kxP7t7-lcIg==>Y2LiH1>}9+e9l_}0@fFG z9ZdWXhvdl13z|Unrk*KQoYXGFbp(c&jsXUZV^gz(1@JfnAH5e|7h5r1LO^Q z^bg{o-xCz^V9Vm^?s!yHeV)(5zrWiR+gJ7T^j-ZK&i8eB3pD&wub-i%Se!)y(Ypq( zr>Nu*tTC)KHuuBfU%>Z7Mnpj1ohbeJc>siaRa5c`5NFOwDTV6`&|J<{lQI zifVhbnS+Uj(58od(Pb{TaMA-oRp}*p9WJ?}IA=JKH$X$_65K$tqO9)ZRNgXB4amR| z#e_+ef*#te`gC*p1!2Z)LX^{ipiM-Pc_B~mVVp_g!GZ%MvJ^*LZFcCDUK+R7C@K|W znLza@5CPy7L{CcW`7;+ISCE3VhidOc36csKL?{#UYyd#_lyM}EF z#qu6D05C=#=ez+x05h~*8jlsDz#AiQfSAJK-8K^q$|LzjCP<@#P*}L@8eTPOaF2cu zdIz{k#D#al%fBhVz&xXpF}={NNn`3ZG`wC_XQZ zxKktTfEqdBC@(;K4Q?lfs8o;rLWuz4y*t3$8RJ~mQGK5O>G=y^v$!3aU6FtQ0000< KMNUMnLSTaI&@KlCe&MKp4jv?9jpV9pDWlolUgejd3-740r>N4y~I7 zYwBPV+oZk#ygsrD`9d&3zoHVhicfcJGpnH>k!wuYz|NnOfl60JdoRw+5OOiD; zEB2o-#&grqG|hUh+Q*of6flg0XlM587z;wzjeGX&M7>IZA?Cz`rrjA`_N=Bf3jxey zpz8=lB^POgk8RsYh}8fg6h&Ms95|)>86pLEN8M$B&0AQ+m{lm}yur=^a|+BtmcW6> zJb-^_$6Bh%97q~cU`c_S-M6eZD}V))P-U4Pa~J~-&UTE|Ger$^fa?n26QP&ZrJ5)- zFuMlF$s|yT9tA=HxViTuiEc~nNCKdfc^_l=ME%Z=UvwQ823}FW{lUM~UlAY_xDEFJ zECKcageK6tF8obme45Y;_zZNq8>0B>N4LzF0NXhMIV z;|3Kls$TbFbsx000%KQK!yXVN>O=LtyWp~4d1BIy;s4?nsykK~Gae7P6C+qmoPe^&{mm=6fRitJ^?K56&8UM27hoq z0S@1@g#O<9`CSG=J1>5IO97l&*9Tz0e7@y>Grj;`dbnFkyuUaA0000K)3Hv&Fc1b{OVA-hi^2mSH83;O=~|@5Gh*Of3QquR zY;B(}88uMt$bkPqKT*^p9VH@bU>@tYC_y))$jtr182wlcJdVv7SQUm1D zbzL0L6r_~#o9Cek9ZF?vKuC3Ai})M`1_bg`18htUq^bC&1!Sq*R6$1=sQWSGYYg�_&5M^NnZ$nGo9q^vmvr+k^lzM0C?&lMsLcF3BElHE^{lt`Zt zRkzo#C?NS7sx~a1ageC8EcKL0(ULGzs(N5?|Ih*+h|Va8HM@Vr`c{3=y1T_eeQr9z uBBnRLgZX5aYfTz=So6t`QwZ4CU+W8!tXv+@G=W$E0000Kl0R?SKp2M^sFVyPa@4sJY354h+%;73&1t15Yrclf z)RFT{De$JGer}LY`+~;1 znQE9ev{P#AD~$T71UR48HSK_+`ayde`ab6&(KPK1B_GRzhW7r>^E?Ekf$pt&t)E>< zLllxrO{0{M;*(a1PNN6~2+;aDHOfo8B9v}6oGXA*tRT%&gMJlq3GgYUmuF}w0fc`3 zkpembXdufxu+sG?;%Y)2D~Le|6aZrU_EgN}5=0sviiW1I0M%j0{6b8!ymm)6?js=o zOEpcg%mYn-2k@x^9>g{SV%K*wAY3Vd$aTzJ&-HcyAFoJrE=FQ^IBVSX<(o_eJQ%}V z2)v%Qh1VO}6FBbS2r-C8=Ix}z~37J1B=JIZCgZw(p)%Hpmu=- z5*s0yR7zua0P`4n4gyK199NDk<^aU;0s)2>lz}z_d&@@%*lX5VGsFvr_Q-@D`_6>| zI?V1d)3Wo#@z-OEZ3hU*0x(++m{xv~ZmY|nHjt0OIwyTFP3D*^r|5Srr*c0Ks!{)ws7qk0`~I6Yyq7SrGxkO|BaXVm-7c7y$qO&HwhS-oV#Q%_us00001 zbW%=J06^y0W&i*IfJsC_R7i>Kl0j<1Koo|D)=jz#E=vjS?5d@7*McsDMkw_brE4j? z=~e=H*-0tH9Kr7FRv`y)p!5Lh39JO&shz$t3Tr?m2DFt<%L|-vwud|w6~H< z^SkU>g{6Oh)Btw}I4R&}H$4axD)HY2>1vDK^piB8zX596p11wp23U%r0`!wQK2<=H ztb~YZP0eS8WzTjJP)T5}K(5dQ%G{{a900RM{s0N!(Rv;Y8VgWdos#sB~RGp)0q00001 zbW%=J06^y0W&i*I^hrcPR7i>KltFH*Fc5}WKo2r5Ue*#*vVN)pTOttMCbIjw?VWo7 z7H*a8bZisF1(P129VrnppZ|YmJWiJV#YW`+egL}9p8#n1d)x+kRHv*^hZ{h3&I;ND zazK{o)4+b;WQ9PMI8vF~Ok_t6#8S~Y1=vbpZ4jUJ20#O%sX(BHB#?C_?ka$)1|XZt zvilee0EpcdkXtjb0`?9#C4j=pK?uPP8vvh!sVZ!@fg?!7M|}gZ@ZtrwfZT%I>l;8p z0Hb@)oqUb)?&o>(!dVz-sV1k$3${PiTG6pyaDBV7Oyz>Ch zEMnA3x1B%o0+h;@SjQcPAaR-jNeMtkKu<8>E&{xV_8uPKQcRpe47g5}%FWF;;OgN4 z{_)+xN#G1vkD4XGSGLv;aIMy`Oo4-MB(JwTwhmaP;2MO8AX?|ZfLJ;N3BD0dKypGW zfgpjc4dr0FdY@&lh&w+l62#+LfMZ0s0P74~rTsAg8rr15lcF$?dT;(G{v2}UX4?;B zi!aUdT7cYW13XMzqye#X$$9iGkM_efy(8AJs-s{Bo@|)jVd8p|jrh&+1#9Br=Wxa( QdH?_b07*qoM6N<$f;wRowg3PC literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/torchic_back_pic.png b/graphics/pokemon/back_pics/torchic_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..ed2c53879679829eb429414e7c04fbaaaefb0d8a GIT binary patch literal 576 zcmV-G0>Axp|7tnaS~*%dF%S?C*O{oY00001 zbW%=J06^y0W&i*IzDYzuR7i>4l)X~IKoo`3NtL{Vl|9cA$qQsdqhl2*bcQOEf}aN> zSZa}7#s-JN&BQ{a2!Y0tLcp8d!~ym$w2o&clj3|i_h*wB#y`^8?agtZW;fc$0a6k= ztVSeJb94~_5MTzbE@Dc6XrBOFrv{e>Fi8;+5`qK0Q~+*E2fW*1QG0KNTabo6OXY}K- z6AcC$BEO&0gvD_T1PWLgql`fS2#xrrg@iwNzyjzFFiep#Bp`YiL`V%;fzl{~HlmRV zWF;UnDATp@E2W7;V0H?4YaaryCjeu<=d*Ja*ozolC}Ws>hhP&Wz_2*ymCv~{C1}kh z!r+!5zG2OIr34GuAv8YpxfOn{Y_UrCBAYo+a^k2X2;Z;1KHEcyPurD%ZHJnK%POIz z>CtY;e?ZW{fpyCnd&F~^6Z{h|c0KL}-EN2V@E!n|aK^CrO-e4ZI1LT3<|Tn1Rarv_ z53q7$BmEqIepOFRL2Pve!sQ~|=6s>?;TO{n`>9oLYk^hRTN=lJzpEeOE0Rs#AmY{l O0000=G`P)Kl0QzvFcikEcBs@X;R5*i0>KtSEKKbUns9=;TVbKu ziUdo!0qq52bf8 z=pz}OL9egJ*_*#WMp}-2M2GB`$tYX;CnQ?yk-qi-ci4b5i9It)VCVw|u>nSU(_A5r z69eeV!k(<Kl(9|%K@f&1yh56bg*3*HEb#@Hqp>mJ<`QFbD7Tdb z6}Fc62#Ym|VCxm=OW*^T_$m+&8jE#y7f^TiT5Xt6kj%$_^ZzqPrLwDkDb70;F3bDK z*h!bMURi&SHKHyw8#pfku2{qY;H*eXfHtExMDn%-2v|b_xT+WPfO`fBm{!2WaXl@7 zEqybRM3gS-?;iD?=eK^ zBp!lJA;Oerh>7ew!08hKG3x5ggF_pbjPr;}wG$<8o0ts5Q>=f_d%k5+f0!G2cRZ^7 zfe`oWK7PJ>0Pz!e^GJ*pFfu?|^GiHltTocU2Ox=j1K_n!VM4%AyCh)79hVOSk)LZI z$uK#nSusrpcS7V-{fLBPd}%F0r9e3uAfsKitSnUuBX1=qVJ|cb06QnHA`HOfVV6>i~QwgP=R6qy+Y+S}*=d3DJFXhIA51`jM lGJU^77;gdeZDLn{QC}|zKlR<97AP_}upCHEBr+lJrQK2WWxkxv?b=51h-dAM6 z;E;jz0B!!lvh*K+hOwvX9{T43@brs4z&SVLzJGR6_lWE}*RC?C>^sv0l-&V)X!yOg znON*g1DFV~ukk#ojtBvTYG5i{169|UN*}0z{?>=$H3|SxUknhpz7!moRPyy203jLB z8bz^A&i7;piOg%!0jB z7C`JjR8i!zb_SAuDUt_Pam7 fzf}`_=&$GkQ|5DpE}NG`00000NkvXXu0mjfChNPK literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/treecko_back_pic.png b/graphics/pokemon/back_pics/treecko_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..89e53390dc8d023027e713a5c257da2bc6fdb977 GIT binary patch literal 636 zcmV-?0)zdDP)sYEsowIiyN47(qEoi(3Ex|GocnoYhKmtT9qzDG(440KCfT00001 zbW%=J06^y0W&i*I`bk7VR7i>Cld*2wFc3gFcB$DPXac)yr|xYQ4e1A@T|2pBJ7w2m;?xgu(jkF^06ED;mo5}-bm%108a#MV#om#&3_GF>WK0jX0rNfG9gh@a|7X}) z3+x!i;j+cZM@0ul-@}4}NeOqOa0&%U2{8H*Yyluq0FZ_Rjtn^@Eg75up(dU>Au%e{ zL=J!-{le&0;b-@_MZit`?jD7DsD)<-gyW;IfN|A5c^;_Yh3nqQ%fLRpko4ZDz_7gl zuX-vl?6q+H8ekt8*Hs5Lq4qexOAT|UNueQiqpY~81xVGb7S7C{nR}|--mMbmQ!J4Y zAD_MZWNys?b;TMqwxz(v#`|fe0y_B`kz`VGG&WOx&2OTQ473sb2fIKY3s+4 zEVkGyxJXTA%455K9@N%`H(^R*=bCr`J4I9aMF?+pGd?JMez?H%LxLO8_(O|uJ4E4q zSh$sP*eVR9jN1f;f`swM02M+Ym&2RpU09;Akb_~?BybT$Q7o{8$fmP~$G;*M_#@@& zo*)=oMa1#@R>~^Vy8@5CJRw9J6U2Dyc7&YEs2oTyF1P00001 zbW%=J06^y0W&i*I_DMuRR7i>Kk-ci%Koo^1TWqyOB*S8Gz)0H~wvbDM2vV71U04uE z5f_?W8MW5>4R&5Y3lmZYR`?+{g;SV$nUx;k=FUjQl14udklbp-`E<^?Glcw~-kI2z zF(BLa!uP#T$6o!~SM#}tkh-I$n?T)ja>G~xbP^NP-Tch=6!AsZ7pMbv^c@S3&@51Q z0L~;i3U`{KofQv*Ox zIk~w6)a?s#YeGF^0&jq=#!5nC`LPCELVkC5i+@`sVeK9b^QsQy0j1Qyc7`GKbG8%W z_q+Zf54Kbi^ZO`7W*#uMs#m<9KW!6AUm}|FSd!a-HLhX97&^pL9#sI{eyamh#&&3M zj3n?ZWSy{KfB+`MB--5J(@Z>Y9*A}Vl?h?2&aVgF z-BDGLZkZ0?k`gF`XIa+KvAl(H{^-C)0rA_X&^opNZK?{ZF`ymXNEiibOLQlUb{qs$ zg=Aofv5qQX6c}1UC9L~9N&}V*EU~F7^e#~@ne=uncUZ4`0r?JSkn}I{Pt0E@x*k7c S^*t&80000D;oN)Z3v0RNl-|6%~{2mlZe5dZ(hBEQ_i00001 zbW%=J06^y0W&i*J&q+i%{{Zr(tvaNtT1#C)DD0@x zwG8c8mw}AHSf&bs|ABM=0b=(LAURi&Tz(|nL)p6VH}Kv$w(ndjM!3Nl?&I%!_rr0V z|830v20%aEX#1{L!KEpe^==7R{an+O%UG`qyedLn>z8*K8+3t=@FXx22-xE;nALzq z+gO9Gb(??+lx%G<7$9KFE|?K0zVvqefIUU9WmP}`71;5EQUfc(n|TFBfGofd!;+P( z8v$4zGzfxz+1J2|0LU?d0Am&42Udhv{gqq;n zEuerW&sf`n0~2gQA%H%DuLSP@+;8?9X5J)~pmGyDzq)zU9)-6^WuXBUssMj@v(*Cl zA@UZSaDMpqHIIh|0C6EzNR@iG>dX_|_K zln8J`B_g8*fMEbU+_1t45Mc7ge)`^@gP<03+LF}VCdc)0v|W6} zbzE9KUOg}gVT02#=wVf85@ODetk+kdNkG8u0#$`NVS}!GVx4sb>I4GT zZE6zg3IvAMyc^;^H9M)nu?<+zwy>wciw+2JRP(*Pm{xJHv;hn1fG9rI!0NKS3#=E# zG1WL2-T@*?KoQ>oA_Vap42fUbE!6o@w6_BB@-~Q~3Jm`UdQnt^Qw`2+5JfGBZwT0% b{g20Qk5oA6DnPJN00000NkvXXu0mjfbPRoJ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/tyranitar_back_pic.png b/graphics/pokemon/back_pics/tyranitar_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..273318be0cea8c7677b8fc8fc89aae43ed40e1f4 GIT binary patch literal 776 zcmV+j1NZ!iP)@Ta}W>^8t6D300001 zbW%=J06^y0W&i*JhDk(0R7i=1ltGfCFbqXm#0QuYOqB`iuCmO!Q%GJX)7a}AeXh_8 zdd++};5Z~qynrfrd`VvtP4jf*`O)JUF7JTu4REk;B#eC{VeC5z{;vdz97!ckJHT*i z4(z(d?5W7HF+%Od>?L9#Axyn-dw_IJ6r#laPK;5fYJhfy6`} zz^2f{X#s+>ID}A-z;MiyB4M<)ZCe1FB-mMj$j}0C&Y_GAfG_M(PSN&XDga=UghA#= zE)Dt$r>AX}5!K_lw0GjN1(b+3%Yzv=0Q}P^anP?*mIzNVgk7&P`S|ht3{cy~0{oTl zZH$pz8+iqOZ-6ESB1^@hmI@2pVu-B zS@Z$7uNEE!xe=I~QYW&92m^qN0mWp~LoC2y5$)h}3So&LB?QFt6Q_WraRugknTvfE zG0KtJY26iK=i(jk4?f<;1&yeH$5vq#JQ~sSJ;Kwtur`8UN6;7nDZs`8Y^DVO=`c?( zYsfL8a|-Z_6v9a*Vz2V0Q&kFvebnoye+_vBU=%}CfcjaA&s7n5Ws+_R(Yy$7ox`#+ zfvV%BDpOYmgsdKDJEaD068L6GF!tpA76=s5b(!agwG^2jY?RyR%@3($``zntC|J?a+eASvI5$1ozAYR zvjT#eeN}~zEf7*tBAb03okJ4eRT4qcoU6EXqaRx&k%51hGA-y`avr$=0000Kl(CNMAP_~}KaVZP1P!f$yt0#|Y zcgF-Y6u@dRB|wpf5W*$^D8LHw@IW5Ii0Yw00jQ9Gb{Gf^R@dnWR)PzCU>k~6sX%C` z4uIJlmOl!FhKEjaxdoELR^mRK@SlFuZ=Tv{LxB*Askv`Vq&7|~z^(e&Xnd|cm|z9u z8+3#Q^br{OB)e{7qJ%(Tq9SlVTiHE@;xq1mjtXbfsOQv_E8*~W6OC5z9De?n&<=c4 zX$@@_n?!j07}}#)mQ3D5>-`0-y1BUe95_vInlBh?Uxw8A=Y6JZH;X-%FK#^*{2qf} z3vn1r|7S-5F|-)0Wol~q_6oqyu{aD(n>i?0?DYy@%QF!c1AUb0y&UkQxlI-)V!}(H zxD5c;Tp|uKuZaOSI9!!lFrA<)mlt4- z5w)5l04}$P(}@xmQ^L`z%Pkfh=evs6BxdTK@BjMs1=x7LWqulHWdHyG07*qoM6N<$ Ef>mx47ytkO literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/umbreon_back_pic.png b/graphics/pokemon/back_pics/umbreon_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..d73508aedecfb06fd4c6995f8abb6889968fde1a GIT binary patch literal 638 zcmV-^0)hRBP)&&#})xA;8*tvVC9f&W@w#-;eT6eEfO`R6MzzK->Y<9WWL> zz|yprKtKR04ry`=U{5f2JCh#=zyePo-~_5?ssZp$;H$A!y+W5X1)*K)~KuCDu~Hyqk~2`VtiCE2s?+Z&F*_=Xy42n!^rs>lxOA z0np$WNuA#8g?(Diop=Q*t1z1>EU@OF4HLR>Zj9r2Nj4~By)AP~oDS(?BBT|f< z07`D-8Z0-oOaX9RfO`v*Z`_a{w2Y=*r!GM>IS4Ktz(aMwy+3t59*8w4=RL4XLSQb` z+#dqF# zg8&~&2iTd8kOONyfDZ*htind*?Ci%e1+UXg2rGJVOu^MNF@T2+=oB4*>MAHQ?8^gf zFCL2wN-#AzT!LJzxc;7BUV`d?+M~FC&l*(jgu}qKHwdQCAM+5Lf?$b$ne>477fXgf z2IqXh@YKc6IN$dGWAspJ_7puL2%0z|V5X0H)^?!23XZKhbpTWasv)=dl14c!w$a}i Yzu2BYgt^xAWdHyG07*qoM6N<$f;UMPGynhq literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/unown_a_back_pic.png b/graphics/pokemon/back_pics/unown_a_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b909730231026f887603c65cc8da8e5d86564455 GIT binary patch literal 376 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}qS zJv!Z(n!9O%J#+JEX2Ypk*IPEcIh-K)d8QsqzZOUPv<>~6PU#i0v8Xp>aroIPYSaZROLL{OHk|*-QWL)==GkPIvi%qrebg@O1TaS?83{ F1OU~JpH2V( literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/unown_b_back_pic.png b/graphics/pokemon/back_pics/unown_b_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b398754ca1db6f82d74fa59f731ed49388f04007 GIT binary patch literal 394 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}bk+pCTFSwndiDVHE?DM)$XerShw@4j!-wI@B>oC~UvXbo1ZG z6CW~e`PS#OrJmb7;~9@|JnP;=FroIGmQt`r>QZqJ?DO)Bw(!a zVD6+#my@p^FFq*nh~+}`5wiu(#j*^4f3Yesewt9t=yFE(z}BP)yAGbXe@b??eDq1HZKX^vD%{l*wlBDC#rRk7g6w@p mbLS=D<;)%Lf;~Hsr zc(2jp?23yA)9!29H5@;&dri!aT-8QnPl1Z7p{tkvfBaf`ipJOYBH3%-QeN+A-?(;n zLlt|$>kSS-qW6p1g6?}PX_ww!WcgyXV4cYu-Uglm7T*RQv#X3J5>gaS9&k4cusYfB z?+n|iB_-1t9&c{!WSE^|sO!L9y2MkK>Em4MGd8FGu2B9_EplU4b>{Us{ci^|^Ltyha}xE!GuAgwpHR*E;HLH2hm3pTFMrT`z1e-Q ziIx8D>{5jWryUVIDh>0kU9Yuno#WkqBvhY=aZizthj#jcoV}AvCac~PaAzcT+MT5Zt-82 z2^;jfIxaOd*!h`oGpe1=Ok2dxWTnp~$vpKEgYhbdpoRln3T4|KC%GJcE3~|YGkT4R zoWO+qjY}L#qpWtWoa)5-iQAz(WtFK6^ELJ=&5b7C%GvMy{>=8H^W!hM_enm|34e^M zWiOU8v%Ea{PV>^S@`U&mK6ki2#5`#ff6T=of2fL?Athb6Akq_pQdC#cn5-q$bLdNK9qu~TBtPqm0PHSHg0jC!hT%R-fM@{GL%?Sm8 z<(JsDX$U*mG?+Mlv}k7eC7Yj6-B!)~!6HS7!S>)T-gml3=6}xjQagB6+ z6gP3zPS-!y)>VBE^6<)9XYAHBT&fUeLBY6^M zb7;vlhH~z!O5JSx&9cP)3O-14IQ4MD)eVe0ELj-j(wAPB*}K)Or9*|W{#(eS87>d5 z7{#k5@MumKa%u2?RUOAr#p=WCQ^LLBmrs9q9p8)TJlY5D+&tvc^gFNZWRl0t3n?2I zZ!js%ugd!PHuT4}dS~D4=Bz;fg~z_To%7$OaKxH^q{s;~J}2 zxZb0>cdg9@_b5LHpY5S6+hwIEb#6(xlw&9rzWC4d^dup+2h69H9<7&?KI1awL-gs- zoBnWY?B_hUU*$T-N#==uJ3@$HLw1yUx(j8rmnY~YbUGO3OuTuUdXJF z|8Uc+gGz7Y7eqHN6j)!klD#4Pn0Wb@$9zRol}-p0=&b0nTGHa&s1YPxBFP;war>^w zOdWxvyRN(qVo7+g);PrcX!w_IXbG{MO@irzO+fZOvcXv>(3{uWoYoXYI`A46o*2oPAw*-qsfrWaCpG0Yj0& M)78&qol`;+0I9;i>Hq)$ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/unown_h_back_pic.png b/graphics/pokemon/back_pics/unown_h_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..992e34e21b44409d6589f841fd585a1c1876a89c GIT binary patch literal 534 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}^q{s$hS!@`^>Fx77LT`lWS`jvFz=ZJno)zrZt-X^nX%^Fe-*^_%<34&=+a zP8D5g6JYT+TTa6$BU-OQbg`34)6Gx0SDHO~_nNA04^ud*#@NT1wbwM6@03g1CX>|~ z(>$D+c(fOM2oq#EcQ%yyf}XhC`Q}5V47XGmH|L!3Vc5gOHlb}|!=B|g4$IATez+ha z`zH^JheR6hfvNrs?OY9+j3-3O8Wu5r+%I$~C1vtQmM7QRnK#JX4edSEeyFGlbah+?%r$^tnCwBi;PGLHid^_di@i&|k9{p`76PRmdKI;Vst0EDyj{r~^~ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/unown_i_back_pic.png b/graphics/pokemon/back_pics/unown_i_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..5640fd5e0278dd5f01c96d9165cbae04bff9d843 GIT binary patch literal 328 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}#p{HLh&sQ%rc&2~8fcZfk6XW8!3?Hl% z8TI1o_cF!Sf4j;-hBq-IM%*;M44@m1^6 znrpA;yf|;AEFjPjKEYP*&3?9rqAmB96n@(NPEg@N_<80BKc>8ny3+I-=pzPCS3j3^ HP6DTj{InKmA8}FC9O(MME`yHlhMp8_Se>)YzE_-yBz(KWnZ+d z%u-}fT{=Tja9)S5uprlJ){da%oPvp7Te=*@&OW@lUW_xsqRQh^S8FC?B6~o;gDNu< z&)Zpj)i3NB_9;rnxcp#vAoplFGsBmd_X_8CN-8+G>Xm-ElN8v(lcIF3Dz`aiv7TW} zGPAN@h0uqBCFhyGKetqfOz&{OcDMEf;lqH-&YJOBCa^HEGv& z&cC!K($`I2VV^1Q>i27x+}35fbXO$&!rQ6`f22gh1M&{%EWDw;kv}nPzoh(LnY|{Z T89&v4LBrtb>gTe~DWM4f!WF0E literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/unown_l_back_pic.png b/graphics/pokemon/back_pics/unown_l_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..da0c6c5f5665ca948814499e4403ac485341dc7d GIT binary patch literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}>nB=H#Bo+NUb|@&!g7DxAJy1TFB-H;JHqR0C60!4tgee>u4mNWx{W#S)kT)s zrE-76UWa;kb2AtT*s3`n5q=|F>CD6A^Xhno8)HhWkj>(T=PSI9R5oz1GlVbTdLX;v zT!X{DWX9*|Gwd0TPvBOV literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/unown_m_back_pic.png b/graphics/pokemon/back_pics/unown_m_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..37dd0a97fb321c43bff854c52148cccf35e3bd3c GIT binary patch literal 499 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}Swk_D%Tvb zVsJkF)~$|V4TDd@z0gTwA0PYG{aR4$lcMV&m`Xae4t&vnqV|fz%#UHa{S@bh;u@wKQ8)DW zTfaQ0;m$M9rgK4YPU)%Kbf;aN*oan)IDbH2X!`swvm^>W+)zTJ8M z*8%y+{ik+x+V$l8H&)@C(|_QgNr$c)N1)8Y#?J!G{#Lbf4xIZuSLlFPMdWQxAI1oG zp9ymqzA=cfpXjS&n!&JE#l6r&^3@84XG`oqG`hqVJ$ISNabouk{^~A4#tn9F`A#vH zuv9#kW@KhRAe12@<7HSJw zL~Pu+blcS1E91FTo(JbCZEu)m%JSMK?}h)L5Bj$^uIMk*m+G&Xo0zW%0t1}E)78&qol`;+ E04fp4(f|Me literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/unown_o_back_pic.png b/graphics/pokemon/back_pics/unown_o_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..7260da757fdaa9511d5c999ddf8974bc715a4a37 GIT binary patch literal 517 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}}yrvX^S;| z7^fC@_~;Vm-=1F>^!e}X6=mK&*QvYdMYO-s<=#X8e+GM{O8k4QWV5JJd2ykL-20Mb z@vfFTFZwlCzUwpS-}quW%Zr6Vh&-Tq` z2BQ@*rm2^sGK^NFE!g~H#x2fTrU%)n-lC7ab!M4fIV7*4b*MP4o9#ym^9k2a#?e=@ zYm65Z3!2|&Opx{0%T{_+6X(p3dpvWy1!MFn+baxL8a8Dz_%-ZtV{Wkt@GBBna4P8e z_YK>{wq9<~`BTpy>U)$toxSo2i_g~xy&czU1<&L@ zzqtKa&ypxPhJePM*QZ6A$fSRp#wv0n^-rk&iiX>Hf{y|YJ`P(i`jd&vnj!iD%L6%! zwTz8Bj*C8dzQLa1n=2o~3g#I$H?&w7ihlDvSQG2P%AvtoC=+LH>FMa;`cRf7u;Q)( z%aWdpR}O?vH2TXv!{70tO7a^`hyG&khi3O#;$kF2mi>|5`zdmswa|jdzNjbZKyNX4 My85}Sb4q9e0GEZ09RL6T literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/unown_q_back_pic.png b/graphics/pokemon/back_pics/unown_q_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..08d5a0d0a0c1a5bc4810ac8782dc7c5ff095d882 GIT binary patch literal 335 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}+&JfN1fBPYwWws9a45uP;Z`U*Ul&$_{<9v^yLS|EA`vq%; zdy03385FerKNQ~LN!TAOZFMIxbMb`6|Ifnb@}}OoIJYC_|Ak-d>f3i*>g!)E2Mh-W MPgg&ebxsLQ04%|&t^fc4 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/unown_r_back_pic.png b/graphics/pokemon/back_pics/unown_r_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..9ea2bd6f7e520c59f8944242cebd8c7a3ba6c9a1 GIT binary patch literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}FpF`Lf3>iIJt}RY>G+x-Psk1=tu+}qu_6Jr!7&de4a^|~HW|?Z>wmL7tai2%I zSin9tn}$6`avF=Z6`nIc2xNUT-{weI;~$2chyI^s1r}*HFZ*+8?$4lkJ7X4H`k}k| QHqdJfp00i_>zopr0QU!wlK=n! literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/unown_s_back_pic.png b/graphics/pokemon/back_pics/unown_s_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..c85571503c3ad52f8c2dd9740c229dee15b5dd62 GIT binary patch literal 439 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}D7ZnzjTZfm4WNla~C@Q{C>x`F3C~HsAj9pWY zu<1OCWmdTUYT7)dqK31%&6%05V(Z$r%9r>|Vt8e0x~QY6b{0RYzQIr44NMD!7d(n+ zT)Mf9tAOe9_X>tTn(OYfxX3lU<<(h}u=`tNOYs|7#q<+)yK1;@Y~R#A!|Pq4ne(@= zY_TuBMI>IhJYwnJY2WC!q42Y@{COFHn>%)%by~b9>qB!~vu)3>o8EVSEWFUUY(=a( z|H*X=raV1Zcy}qsoEEdH4ROoD(}f?|y*_;UfeAwbN5wza{nJW4|6ggl|7iajb)S@n VeRkr@Re_<&;OXk;vd$@?2>`v2#_|9F literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/unown_t_back_pic.png b/graphics/pokemon/back_pics/unown_t_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..f840953b853137522c2587a9df5fd42cda199eb8 GIT binary patch literal 324 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}|x;Tb-biSQz$aUC&$JLm# zX1&9@iwh;H^;Og}-mVSakQaS?n)88aPMWH^Pu5q}{B^k>TmFjQ^mT8JZTR&>omqGO zMlu#?H*|lRE_GtEPQU2_o;;Jyih?^QY{|%)v7f!?KD!?hA-=c0(5TpMN~So zFi93LBzP3>E1gzs~GY$`q)y(ld)`wP5h~l8^kADa)0PWduV=10=Qa8He?yn)Plf-R*_?TuR9eJ$#Ddku z!A6bcs^H%l7ed^hw=-pwDYfNh{NC%QdPv|$le)EtLiLjrzI?M&2`?3yEoVO7DEFkn zbWy!(w1YoGG5ZYRfbxc{#=m?wq8U;zFHv^5!FGYCLwJF8x4ME+fNF($%fcAeA8tAN z?2+uI zxG2@(vV`yJyGb+OF!KBgW{>;R-4_m)@coog>F;SYd2Zfd(^q{sCDEx5wq-jTo#bf?*?lXiPEhmD^89AcmLD(rRZVS|_gwlln{nSG z-;O^4UX}cT+ZnaiC|Q@(GF&;uaC6tq!|TeOeoeS5;~=ieuiOM zo_H^KtMzHc=3L&FhcZ2l8rr!Z{NpmQ}?=a#N%*r2k3%O^% up8Dpe)2)kB?{-e~w-2%XV*ktbFT>~mXOnYfbBlq&#^CAd=d#Wzp$PzT^tNLF literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/unown_w_back_pic.png b/graphics/pokemon/back_pics/unown_w_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..3d42e4eb220dd2215f82633335e114012351da5f GIT binary patch literal 378 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}Ui32~RQBinh|qbb^Y(}}TEx!c zcl^u6lO}!Q+pOj-6Oy)`a*Xn@yq?Tp)l{5&pZTr;qtc5nOfR-G7Cm@$Psk+R-$#wz zh{4lk8|U@2_Z@xq1z8pBd0}EIxgzhu)Ji@*ab}JA;d{-(5--FB+)gfJsjrzZ+ply5 z!!+vx)(;FUQDOzH#vKeb(?c1#TPxUFR<9F!Cvf1}AMOSJI*{Z}3MOOtz%N&3ZYM}JP7e@^z`zb$hNHDOG8!c*EdM!Rv*rYm9XoYTACPE0{1?FsL&Bp0l#_ z>bKvVvJtmfcn?bmtu3A9(s+8SYMQ>L+r5z4r!OuN7J2aLl9Aw4RnLP=?|4o2dwDb| z?O$`fWD?V_B;SZY=KR?iE8}XS@9}X=|M{7{=&0l)&erVBX;tU_tbifF;OXk;vd$@? F2>?(Jpqu~z literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/unown_y_back_pic.png b/graphics/pokemon/back_pics/unown_y_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..3ccca08e803c0f02fd7fcb087fcbe30db0f15628 GIT binary patch literal 404 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}gO? zXSnLRgHtB#)taMFxQ$P+_4c(V+l9vVMZ-`#e{f;}~l0eywpAL+R4?a8V>%pGP>Cqn_%JQO@)nge$iz`EELxSQ|whYFT zX|g+ABsng!7T5`|T+DMpi7$O`#00h(N$eT1hqxwW3;ax9FKLkw_n7H|?HhiE<-YQg z4ss0(8*}HLSyK@8m5<}d)duF2uFdC49lA}#(;LK$558^dUGdVx#5eT#oSH+d56n*U z{Sa^1RU=n1)zL0idC9$JkK;2hST#I6B|Q0CvW$%V*&1Hg6$}-ZTlI?Ct<#URSbX$4 jWs`mL!>|4KR7smMA7id>iP5b|B))ba=vSZI)}yk_2nuY*Ul-6 zRWLHJ3hrza%$p|770IgMAiTiN(_caMppfL-i4Q|~5?H40^SHtp{(F;4s6yR3mun(= zH-tl$@HuQ^y4B-&jYsOjwI3|o(s$T1+*1^1UBGXU$E@#qjW79-FxP~zMz#RIwd>`! z&n(jZdPpLRWk*qO$C~fiJY^0ajvl`Gw`8M&kr>bOPv!^Dzf3A*;)+OUyC*kgLJy1k b+coSzCN7lLPFc4A=t~AqS3j3^P60RQ%+|J8fdtWvatDeh8g-rnA{w7q+Kix3bHmUkji00001 zbW%=J06^y0W&i*JOi4sRR7i=vl);YMAP|OgNcmBJt(ppJDLf@P8N5@Ar>Fya%)`0dE3c-7hV^ol62x_(??PN(fm{ z93>$B1c29@V0N#tz_piB0tl(pxC2h0+O8I&W(hP{02&2S@bRorssJ3Osb;~dXi$Id zfq4SEFRTHn093FUuyg_gTL#2};LrmrcySTf4h3N19l7>_Bb1J?fLmAuPVm=&`V+uy z(&oGaC^K}=z=`_QKwbO1FE)U0O6%@>zHL5a9|e2_Wk4syO*WZ6a2g5g7|F)PA_c!VQPqE@tT z0|Rtkfuoc-JsB8SC;)FYUlkjY2%Ny~yE2dbz0vloBb~q*c;>VR_~XZoh9|>{IH2PQ z1R%2rZl+e?$muyF_-Tj&Yp`{mq*NH+b#53!g!EBu%MW%Z*Ni&>D?GpvBH#@sF|Zve zH}Km}3>HWtxK|Ynw%1%hEW-6s(~vYG1N@tCfNy2BGuUUD7&5>;OaA8^TUjL`Re0ER zPs*6!<+%tCm>m!eqc^w^FL?xO7{ia!NB>{1Unn$JAOSOSHUIzs07*qoM6N<$f>(bv A`v3p{ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/vaporeon_back_pic.png b/graphics/pokemon/back_pics/vaporeon_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..5ac5b94fb8e46b48844046af8be3d93ddffde9b4 GIT binary patch literal 572 zcmV-C0>k}@P)(SbA#^HV$HNUq>B)0QYk4Z50Kld(<$K@f(iE;b%7b&ycm7!xWj4x(?uRZvLcCdxes zya2gb?ge%@8?89BP?1D(&g_PeIExe(Hf%^J{%`;PpINBYj_1ElatOE?8~|eVyB#B3+nSd;U zD86Lb+Dg>87z6Sjd2c0_dUG zfik=e>|?M)ft4JgQcL@n;Gff622jEXw+6ld0!n9~_W;N9_wx;*d!|Ib*nRZ?0000< KMNUMnLSTZ=1@{L4 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/venomoth_back_pic.png b/graphics/pokemon/back_pics/venomoth_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..9106080883d9f371bf419b7fc0ce736f8aa4db73 GIT binary patch literal 769 zcmV+c1OEJpP)>Rj00001 zbW%=J06^y0W&i*Je@R3^R7i=9>226k zs|O&Cvq!Pb4ykb_Phv+?KW6OwvC~qv&x=ZpfBwF2X5wVo%Ut=>e*o9r-)Bd-FTo0V zU&8X^5@7Hg{cDOsryi_1@QARSFM#H7D8&2-mI{~}xRB#BcCg$gAs7mP71j8cH$@6y z0?wr!O|VK{E`UM^Ax8N8mSyYvg9^tKAP=fSY4tNG+yq3cRBM95!ea2y2w+Thv>4f%E1;AL zJ)WqMR@^E>+ZF*sZ4gTULr7@L5Tc>J2Vj0ju$6VKS|6hK3W6#=??#|4X=xwg>=lIm zljVmAU^On>C6AuZz?6fL02wH41_gQ9oxf$Nf(O)v6qE;k%w=3iAb7aYcWF8mHS41M zLJ3pW6R?{B01u#q5q1DBF_0?&Jgxu%IRfz&&gr-(43*#k6%RBg3r#;=EpS)_=*~ss zQo#Yh(0LnxcacXM&SOX)0SGv~eH8;Lh|E>!)2G*qMvzFTLVz@IdVGJ?DS(b{01*b@ z27p!2CIv;{^P6ixcYYK|JOlimtH@OXP!8wdYxYk7OL32S6QVCl)rA%P!z^9bfk_f9)M@4+!?28_6nrFK!>hKSr}Q< zM{ou@(jyTHVeBb%q?;QW>_5SlZ z7!LogpZNZO{nKh7-9Kg>zCYxbe!vW;zW>xhp7=o!6wGkcbmZo$AN~r0kcSGImdv!3 zMej^A0EGj3*cpy}^A%c4bstjPh0g>zQ)}bEaA_roCf^rVI!vFxelo<%|VeQcACV&)qCP2a* z03C)W`D`|m5}N8dyo7Wi#MYpeE`1N^=xFpkVD+lK0x4|(e16&5Hf^y6{Lx|c;u$w2 zvaX#@1a3H#LI?{0tMhYq#wQk_p5lUqpf$4uWVpP1V@ISl&ujpw(S>awM2i4l7@=MR zi$G(Hm>~hd0ia%Mwx$k2jqa>5Xo?nq9-cevc4W}%H)mKO60RAy`uKBToxsWjj`h(l zga-~noLYvw3m}92f@Z8=$~=qXGz`+B2E+m?yJ<+z3puEN@J`IQ)JJir+?Ro7>!|Z6-}lLK()q12t>dn zMtnEXRqMs+BT7k9^Shr+u|?=>4FuR$dQ+vH58YZ1R7i>Kk~?eLP!z}2!S)o0yBGo%)JwjOJID{}Ko>iNX0Qh5 z$cZhw2wy=vCeZ~i8M+ASu{JoXhI4uum9O!=V<+)h{yErq*7d2fSz;}4~@6K0976+;!;ahDOdmQXClM; z!OUPEDz*0pCL*oNC+@Ui7$<>OGlEGlsZjSb}R1Pect1RAHBAwLFnKOAe9)D@nCyaY#fU38as3>>;E9>1GE)b}z$t7VHXa|FsbJm##clW~z0sPX? zDg;!R%RL~ivW3{~@YrH_MRP4>2(T(HZ&50sELePtDFGU$8g^#HuIX*`XG~cSNI;F| ziX0asmxLTO2{Hgk`VMAlQkD`(x$9vmpq*?BM@K~}fohOU8ykXFITNVWV^Qc!0STZU zPj0VqvBgfXmg}w8)uwQz%Xjk;leuTsO6O@d?D?Plg|Ovn0|*pL z$aq1(+>Z%}%~hxZ@nIq`mqOS%s^Y+pWmbfyl<`6dgxx623yFnCxmeR)EC;siiu_d`O213MmYqew51*S%jGhTg~TvS5TV>$uB0@Z+M|vDfFJ4pJU_=M6adU; z&Si{PQ#-I_4qhI@qfbEG#b%;H0VGJ7$2xMF4Nxc)Uim%&QVk4&0vxK;a-lujKe8W! WTXm4Fg>CEr0000b z?zCdXlrf89|No@s)r-Bfd*0svy}jPe&CPprIRF3vq@<*SgM(61Qvd(|M)zWM00001 zbW%=J06^y0W&i*Igh@m}R7i>Klc8?HKmdlT5N&93-4k$?6AX~c)Gia79Gzft>;xp( z?hy!L&w!z#7&3uaLk(i4D8xv*t68#<(K|7V*0-SU_|` zZo8DY{+m$^4bgX@{t7Co000CBQG>I&Sd#H`<;im(KX1jaGFg4ZAOHXW07*qo IM6N<$g8%6B^8f$< literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/victreebel_back_pic.png b/graphics/pokemon/back_pics/victreebel_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..a92b61f7a205ef3168daa63db0cffcbd43e9cab8 GIT binary patch literal 752 zcmV~0|D4l(CMRKoEv`0A!RWNb)3Uu6J|PmQrx;t^*e*MY_fm zkzC_9U^vNF-;!{(cNLx>zB+}2l@syF#@d@%u-U~SeKL||ng82wXEBUr{cn{DA$Wf* zctj;0d-9(@qG%36NZFG=MG-*7u*5xGVE0BocmgcR31F$fe!$#ny~BKwrmQZ(!2|}Y zT^z%n^9BG&m=4(M0$`4Uqk&2XzO8l;#|wTkP$Rlvfxvve5V|1KfaSVK*aK8TH*DJ6 zNe%@yRtbS$5^HY??5``l!XB!eLf3UKhkIRM?K1^ra%0KTrMegz_nX&1ZaLCz>SCzx zz`hi!E2li>?&XEvBU>v#wz;WjfK<=1PaROF%$kT!QuYHQDQn^!$m{$i48z&8`~y%b zeHaE<&mT(d6n1(jxB_tbG^hco-^uDw2!V&d^+8>;x5k}RK#u!2>jVG#&E^b1!Ap|| z{`kECI0z^~lLwx6`%4F`b&;3u=p;bE``7{05dsakHh{s3fUqBM6fpf8fKS?}1$@sN zzw0z%NofF{2^G0Ova?eBW=oyfpypfC>i#56GBjy@W|1wK~WU^3Z3L=zVP71|uL83FlpI$aVFBakNgAmcSKnS25S=44=8 z8&o#J1mIf-I1ghouvD9sE$|s5B}iDN%|fyvKrikR>cT7gwh0=0cuWFzb)L{jX`9f1 i*)e8nkIrBA&(ZttsNilo?0000_KWi)ukZK|zCqgU!v&|NsAsL0Z*0G5=y>=H}+CgJN1*QUCw|-$tW+00001 zbW%=J06^y0W&i*I%Sl8*R7i>Kk}*%hKp2K`fW%1$CKrDLITDSFF*Gr8VKAkJ#YHHC zOC#+yrU`=)Zy-@e!!O`E7)I&f1a-I{qan`vU0d2~Im+PR!mZ!a_kF&*77Cm5zi0bp z4X{O@*ARQ7-TaEN`}Ua&OsF@`1w86`xg|sDdhhE1FVA8K5;+m2w(3!LGFcU&b_i)T zsq4x#;o}D3r{AQLR|(J=n8BQ|DRrd)>x6TRn{*@ru4jDQR&|U`N+p(B(9f8uVWlYp zR1Vxj0q&wB8E_E*J^(idhQy&rVxUG0$rhz>M^MCwoUdvi11$jN%RtEv0UQD+PjUr* zOWfh^>`mT4xFc+VZnHoX5CUCPHM4u_;e6m@1MXTmHM0&;12`J>p9aR+Efx*nSgsd# zzAw`os;ZVKl;LO69>sYJ;ybYdE<<`z1X}!&Nup5Y^@2k1$abP&ptN66ob!e(5S2%O zrRoMc)-nNoJ0^T=eWA*OkO2$Kgb6cRDA9PmG00000NkvXXu0mjfL4o;P literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/vileplume_back_pic.png b/graphics/pokemon/back_pics/vileplume_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..8aa3006ee23fb281bb110ce6164478a7f6db8e76 GIT binary patch literal 860 zcmV-i1Ec(jP)P&DHj-v~z=`T4IAiN@5r(N)Qkb`}*be00001 zbW%=J06^y0W&i*J+DSw~R7i>Klsj(QKoEx6NtJyE%DsTdg*yWQi*&A5fDXWA$X*=6 z%?3$GvtuO%>pnEhv)D&almi%np@*py!e(Z7DT#jM0?EK`^naZB=RrEo|9CYzImTb~ zJmwh1<6Am#9f5dDXDpH>0`PhY7){u%IKwglCdG`5WwAMAs*W zp_G_F+FC6W88<&x@We*OY}-Vp?E!%BZMQE0k_~`*geDGvBriCMN~yXwwL%`=?0`q9ObG3B)K#!w=3Ys=krspf(_p!vXSA(_N0Jude3ag${ zd5&qI30q-2GQi?oef7M8fCN*iE1RH$OCmt@)XMX`3-`1Zik@#SW=wOT!S@yF-pV~y zPn2+9fdE+s%RVLW7QG8|xsAsTO+J!5SoBSWleJky0Ez8k!dQq)UYuZwi-mi}MpL^N zz06o!D0#4SPn7!X_EIJh2+Ib@>>CXb}7rIjVzq# z#n5cN3Vr;4o}UiMDrHFDTBEe zyR0jK_5QWB-<2 z&zeSKsr3l`ZRbb`HJjnzYzM$C9ht-ilI?7+)D|`RpEqsPG@ghWEM^DsV>gN8+FDPx m2m0Z+*b=$g%X8)YL-7Z3Ydfz0daDZn0000K)Uj^bKo|#b7mz?@GB9+rIA^H35ZOpg+r`1Bs8XbE z^aW7Qd4SYrj}$zV?iYqe-M~X5H4FBdN9al)A(FFox_)7jPH_z;h0WGyeq-6BTygIotx~Vq>+#RglYD5pWbn~IGL5rm0INtnslrPu=t_z@WNIT%cOgC0Gt|8q``n^K{X)N~L zG%kQXV=Pu*%)H&qty~U3?UsNVOMrUfc?ij#uX_ap0T_TDMylF*>3RO_QZdtlI0YE1 zd~}~&V2q9v@J!PZ(8IVd#A^o|2yM3*#If7~@&t6Jrnv)}CMwjPZ4U8BfR1g#Slbn1 zUh#za#i3k6<@xq!QDe|>Bw~J5g6=-x*Oi8uOg{zLm(hTwbPi5sg>B;O+q4mq!jJ&x z@|M8?+AYz`=E@a>NyX_Q(3Vc|2Q%Xv04l(V=S~I%Frsh^3E&Im+Jii>myqA^9pGDs&#bzc1+B|9 k6-&Yjo^4kDoBxyZ7c!b9Vc^`FDF6Tf07*qoM6N<$f*-(4xBvhE literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/voltorb_back_pic.png b/graphics/pokemon/back_pics/voltorb_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..c379b4a8bb57047d3387b6214ea317d8ed25174b GIT binary patch literal 475 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*Jsb3{r~^}-qovH)~tyN z3i{9R9|f(M^FK)8nIpqhLxyGn5csur;%uN^#*!evUbVRN_!r*@aew^e%>_N0GeE9Fiq*Itsh^;~P&nxw8H%mrn$xc+;V2kie^ z_w$`i%LMO#*-A^V+@5K7PNG91OzDKg>cOG@M|PHz}X5sPn-q|J^jR8_@}_FFoclPr8&Q%(9uU=OAM*s{>=r ztp^v`9yGE)WSD84prWI&eY=@NfO6CZhMnH(W)hE1KV-SG%7hCA7U z{U6WYS{gZR>N(B|Ra2#_nq8Yt#2Wly-LPQBjs%Hl-g}%olsyBsutvVjy&(Ega7l&J zgY!!9oX;wp7BozF9dTS_%0ecmeYd%ED!9%C&S+ayUUzc-d47HtPrXxJtB(UioWax8 K&t;ucLK6Vo>&LnP literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/vulpix_back_pic.png b/graphics/pokemon/back_pics/vulpix_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..2272a71dd875e8961b2f13549caf96d1cd781608 GIT binary patch literal 656 zcmV;B0&o3^P)k)_Pu-NlxoFuN`pB79d0J<00001 zbW%=J06^y0W&i*J4oO5oR7i>Kl(BBxFc5}0Xe(+V$fG!WGH|HT7;w4(LWQd>|MbVB_GsI{Yo?IYVqj(TnJ8+>MB~?x>GAKId*8k)GAMZpl_FVs6 z@dbZMc4LU);t60C`5wT5Rey2fU5@<7XRMQbHzsHxiUljy^2!7(PsR~|fI><+H@4t| zPkTDNHfV?hQk5G%$_@C71ziq2kZ|sRj%Q zrNvt6A!2%O+yu+#QdR_-0ajE%f+&p{%xwT=ws4vVROU7}KzmsmAh83i-{>>*H4c>` zG0SWQ%uNzK$1FQC>&(#(X?APVD+jzaPf6FhY|)Zm0h+KIysXA#x#9*eKB}@*1>D%0 zaO+LnbS=wX*PFQBZ)rI{sCB){`QEn90Rn#5taAHv;z#tHAi!qT^6JfFy?~`hKPD(& zR#_@J{_&_aFYpKmILA$W9TW|)9Ff6DECGs2{Lt6H@!~H4Ug?x7WG6@bHW<9Eb%zq@ zw?ru;IM@2e-9?VW;jjTfoB^C`;B=xJ+}YD(`8muRU=l*ugRvJpgp~fNo9lFkCRYQe qlQ0Zd0ON;{fa~sl@ke^Df3DwE+QFlQnDdAL0000YGO)*i=4E*#sB~R-et4j00001 zbW%=J06^y0W&i*H*-1n}R7i>Kkv$HBFbqav?!wPfi3xkD#6;WyiIE(PE5U^1%he=l zX`8-UT+8E(_ zt&IUNB$!BFfC9kD-w!>2KnPE9?r;0$3&0czt{u$?$?6LXVL#FVFJJH<0AH~Oy>fti zl)6g@;IKUni5|AI@8+gO!dMS1OOyotu9W%_3Vfhd(4$2DTv!WG6=hxTg9!Y>W#HqS t0Id-u0GR+y%D^W8#t;=4ASdT;`2f>NXhGZE-6Q}2002ovPDHLkV1hMJlPUlJ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/wailord_back_pic.png b/graphics/pokemon/back_pics/wailord_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..7698ba500d8398e226e8b04c848c9b5afb9a3d0e GIT binary patch literal 368 zcmV-$0gwKPP)Kkf9F3Fcd|nG0P19hba!ZF8hJC7;L+Q49C*1nMGic z3l0ovgPHj!=WI8Q zH@2k}O$ihEl8uP#sH9D-yUWiN^_oCU8R^jeLds{qdh8DPTkw0uMez zSPw&75Cx2o;0y9*?knrza++KiQImh^c446Ih3v4v1^k7ZqF8^u23sH{Zmiq`3xfWj zK3CSmMJfEO>^$)<;r&%(!`>HcLI7845xi2Wbp=tNmp}*D0&GYm{*E_7UFymm5Qk6z O000000001 zbW%=J06^y0W&i*JRY^oaR7i>Cl)Y}-FcgL9%ycVN84b0z*S3JftR7P90sJUk3VSHf zsdHb+Qim)Il}=s~6wJ(0$S#Pv{1HvbP9LDXfMJ>Emq*l7j^pZK#J?= zMV;14l|}JM6ZDME6jWCh>kJ{R_UCn_WJ&U~z$@hdnUDz8svQH32TIveb>h$)03gkG zgojA&^bP=R*0%NVkR|{Op@sksPB4eGt#8A8y$%gzWBn|EMc9Hh==7s-VKRY%YC_#Q zl(7RO+hZm}-E`Tx4lw)_%-p@}JRnsg#lClt!rC@oh6SKS-veW&vA}>!O*;VZSvPjz zu!Tw=b#1o>4kDG}Yj1$)vH89d0Ja;qovLoEbCOAUv+?iX9Khtw7Z04AAjs;LZY_YG zp5C4SvRu)_cITRiu(bDU0wTG;^#FwJF4*-k@-(?G54+Dkhmk`nGV&{$?!NZ`vkpEe zZU%q4bpXa{>!uu?b&Q69mfRN(0|q*z6SG zbRGb51aQ;E9YVi1e&m=L)4qcgKGhL`BT{MS*cw#xl;;6}COp>pdVp4QPCkGz?URfy zQwK0W<$^8}okLIn$atpoAiz_ys0hjL2Ea8qXPuoj$oc(p4CsBS0b+PjBnOKSm=xC_ z>8m7}hDiQ61TFy3ldiRyb|4>@1K_eKVmMuBAag)AH~|WlWBm_FV$ezcb2T(5iZv{Q zjjOy`jSLF2o_OH#*uumbtVvh_VD;kaY6$!pHUI|emwK)3I*bFc1JxqDv>qV1B^B38*JYfNzfc6_UroL+GVI ziU5w0As^zYAENw06uVW%nn^07U0OSa11l&{Lp@5C5;<(Mv|Bjxp6-rEim{jV|CaIb z84%mgfCRKDWVPGS0t4)F+e~ydOn`DbakNb&P-b2^aH9c>D#Z#C9Y`p}&9=$d(SUdb zu%u??;udTjFkJwT8K1+m@gD%h(4lx3Ml0LWHep-%J@Y zda9#&70MG?Crd5Kl2IxIP{#yFO;k!I8C3^~7COGG<<2-&{ z0}0rYYP{xe(jMpc3e@j{?jPwzei8m45PWYVWyW?gSl9tb{jTo|!QDl+GX)b+0mna7 zphqdPdWi-iQWI|1UlS0#CFNBu$E$1Hr)TC4{BA&?*OW3EKNc}$8)~Ed)%TAHh`m#q z*tpgtEdpylIHdTHZ`4R1QWSHdKGswq?ca+6OsaUh1Sx%<4TLyqNhQi*EEYut#BT&t zmLpdx!Hct+G0Y3lQ4Ov|0p#?eS#@C3b+>CEBQd{QZqH~T{rQ%Ko&sqOM%nyRGb_)C z3Qz{5SdfF(XlZ86atKs?MhPs{ Xm?3H9>XoWq00000NkvXXu0mjfw4^S; literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/weedle_back_pic.png b/graphics/pokemon/back_pics/weedle_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..3180bf513b6cccbde0753aeba2bb3d8c1f5c9606 GIT binary patch literal 502 zcmVn;5f`e400001 zbW%=J06^y0W&i*IbV)=(R7i>Kls#_3KoEs3MKUE?kdhL~IRLSIg>{vZ9jBmhV=sjZ zP!w?KKDj`Ciu7rcmYj+vZk^f10wms=DoVo?F8n^fd9y$EymS3;MVk})pc{xpHxLPN z?G$~jwGe}`Q_rNNQUor*=rX1wz-*=cdK=-_Q*THcf`nuKUSZ51E@VUn4#aOJgsS0ZL z*)*C1!UUmxyVO;)!VxXttC&0FaK>=RkDinX*Eg`Z5Th+Xd0sp_0WUKLZu$a&p$%yk z>K1J^|1p00001 zbW%=J06^y0W&i*I?@2^KR7i>Kle^K7x5UA8A2rx2*id)OA#&#SUCy^05XNq(_f9Ll};yC~Hw|d}r*8U`p zZ-~R08O$$U^dM_=}95N-Uvu{+ySMC z1W=gap)Jnu2>_OYo&c!1l^Q}~1c(|s?pr`hAp{_B?sWdM$P zy&$jvk!T(sD!{l#O#@gS)&>K3RRDq(m4XUG27Iuo;j9X{X6z@!umWf?#!iJHD6P6S z1(*(D+%nx0YHTvCs9q#OSOKZQh~R0%Hd8aC!Hl2*A73k=wCEp0<0B1GdfAx)J~N>B zJ?*E0hMI9&`kb6AwFln^r4T^jzj1@})Bw=^l)#`McvFBc4W!HaZ1Bj}4IrYS3?L1J z5Y9XBv}{D|(a`smKmwv*cQHT23y#=DDrjl|FXm^s0ytOawSaW+(rP|}07A(1C9syi z1Z6BFooSztg{6%Gz%EI?o>%I_0ubi=?U#BUIFNv$=++J3zkaW87!R@PFi0gl00000 LNkvXXu0mjf+`tT5 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/weezing_back_pic.png b/graphics/pokemon/back_pics/weezing_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..beef9e8e4d643c931d302607ebcff4f1cafa8b5e GIT binary patch literal 687 zcmV;g0#N;lP) z|NrLZ=H|^g|Kv?=ba#nqIov}%isL1JPlK@boSP`^+>00001 zbW%=J06^y0W&i*JElET{R7i>Kld*E*Fc5}4V_M);L(=cncph{_-hMfj#&S&iNH39aVPJjg{rG-Cltt(S<>W*1}lv>&t zF3mWgT>}*z21Y~|NsC0Yx00001 zbW%=J06^y0W&i*JFiAu~R7i>K)4y-iKoke?BZDP-as*;vYOa73Hhio|g_yA$o#}L^ zW-3cgnExRPs)R66oJ_Igff>Xh1m-ksms zgxu8sFNbq}dQHxSl(M&9a4EAa6MF@hQHB>U?d{Dc3VR8(Oar#{dVUp<=AgdnzY30GLzC zR8d`-j0S7q;%Te9K@e2=BPl;w09(w}?Zd+=r>V?fpbw)27sZcyhctpk^@3{fl-4`6 zVezcWoKx?dT$sI?I$Iq374Q(aj0Ls)AwO=K?p~Lq2NCJG@FE2fZX29DfP*81JsWTKi~BpZ|Wb^ YUt&EiOwLT#KL7v#07*qoM6N<$g6so2>;M1& literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/whismur_back_pic.png b/graphics/pokemon/back_pics/whismur_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..f13819f1575427d5a35454d935055e9b2e86c154 GIT binary patch literal 493 zcmV|J8f;tU1-30Hkvm)z#jdoTOS>Y5)KLPuySs00001 zbW%=J06^y0W&i*IYe_^wR7i>Kld*2XFcd{I6xRGh_yeAU%G4n*tQm|eF@c1dwZ9S6 zp#w`Sej;oCDiTxGfj&D}PF_%=c0=NhzQ@#75k?FeasJkNJ$xOPxw)eV3} zP8+kP0^MSxKRXRzv7bj212+NM7Ly;%t~Q8NX?^l{q@{%XC~`i&Yps1tsvscpfWR#H zX#=*H2L!Ij`qsJyhz6K>KM22CfWQW5Mu5$$g#JO-m;lUO1I+kC5+K3LCA2hMK?le< z5T;{*907thAP`qQAn5|guQ7qY0Qeu^iPp9DCm{Re%_YjBI2MaKltE8}KoEuZDu)toJ?U@ltuZm`(HqC6N$U^5Uto4^ zyf!@0t0@D$s#Iqeq{~uDjPce9v`gmWy|u#Wb7Q7s1Z-cN|Z}$XIBQV|r zv*6~ZA4R)r_1Xd^=hb5L5k;~vt00&b4d6}dK)#F~1K2Q$~r*V zw#d?>5g1q>+{E4k1AzX~3<2RU0lxz{7G(!m9hsA;L88E|WIUofEc0 zKw9(zNs{PKn`mdqGCoC+PZqIo70fwX^#Nc7tzn&w_89p6Tq9vm1P##plIFd;)NfO6 c^-m?lH`zdpBEn8CD*ylh07*qoM6N<$f?1vA?EnA( literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/wingull_back_pic.png b/graphics/pokemon/back_pics/wingull_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..3ea8c64740adc608c1d2de688324d34311e7d1fb GIT binary patch literal 684 zcmV;d0#p5oP)KlfP=)P!z_mG#Ii7E0%^r39>EGEnuCSsZfw~O6ekS z6-`~TG($XPN*|#f3mr0)Lg^+?g_5Bc3fcP*ZZHXS=ri=3d*$f5m}U<-gOK$7bnbWl zNQj5H_c6Llul+mpy6*o+cS)}&o9~9c^+iH@1^s`%dDXWbNQaFS;{zhr4-Nqb0Co!Z zFt%)klz=kWDH53z5Uqh+CxFyC0kh|IJzWDB>I~f(?jd4m1DV#lGhB%nbS^{8YuGp= zLBtVgm%autWL>GFTMLLj0s(F{G(ZJUl~O-C3%C~}L0``* z!}B0wfOzx%u}^>;YZD3P0RtW;Es#GtyZl9WDQbXbO@&kJnpKOjeDP^15^@t1sRp7T zW8g{y6U4IQkrCh^yCefnw%$d6oGg{PIC2;;;AY|$sDMh6>_|Ag_+DWEp_gl*^`f9z z=`G=vTk&nXdJgrGTOws?7K;sf-Qqe_B#=%S%#fX_u!HsKSibyFVA;Of`1g7<)l3I6 zKA&T@6kFn$#y@K&SLgHnt$MHdv$#-df9LJ#R$X}4$G>N^f;;a{x9SgZPvS3{z`#Tc ST7gyo0000K)Ul3&KoACCDzV@ptvCt`E8$*X`8T1y>|E{zz9RZ>1}EBO^(_f7 z(pLto26V_85Gjzh_zZwsoX9!7MM)$?IJLIV8Z2b`bv5)1OFGzl9I^=<2h?6JvCZl* z-U!fTbzCtB05yNg;4$!w5>}VPgm9cA*x)7{L=1xtvry&67zN-$1n|c5md$j0=))pdr(u}i=v1?L1*dIBf~^9+6@`Co)rb)-AK b^XmKpkZQE@6pN&g00000NkvXXu0mjfL0Gzf literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/wooper_back_pic.png b/graphics/pokemon/back_pics/wooper_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..13cb768c1b012b364c87e25d6376cb2849097df7 GIT binary patch literal 533 zcmV+w0_y#VP)Klre6?KoCVoGR;zO29AJYjFct?9#YcaO-aX|fl#PuuG_N#NuK0% zY5AP7#3Y?KzkYPV^u(9;2gV<$RyeuVz-Q5xamMZkIm0-yQuWp{E%vZUx0Bt+O1+~ zGQ_Zd<=prI`iFFtP)}od5s-=GE@aQd;(VV)ng@=GE@r)ujLb)s&O~_Vxh9#aaLW02mk;j}Y3<00001 zbW%=J06^y0W&i*IW=TXrR7i>Kls#_3KoEt!1(g-qF1!*7R%&j8i&+Vw6fSnIkaMJ@ z;s~KaisTfoSqj%+J`8P>ccj z7y!dFCSw2q6oW(xApX`2x3>X6{aeyNlIT8&Bq$X*hhfnXxKamFAwrbUX{aN;K`YJx zU`+!Nn36QWS_9lLoE4^@(r$4B%qm)fU#?h{`yJJvm^1Tw#;F+sr2(=j6&#L2Sm1*I zv`=ynus-EYLjr;EY4vsd+)zMjB(i!h%zmr+dU(Qez8Mx+zPP>@EtiI+ z+c4aF3Abs0cMFtzFX0iF|AD7dtTpTsh(;p0{7r;vTRMO{0P`SOF#SNP(0d}>_I0`w z%sIxYnjPFlZb{KGD4$hz@?L)rh e&;uTIhx!FMsKWOky=uMQoYn56F+tv1VnI1MgL`{wVq(qB#sB~RIeVmgDLDWD0L}KK-p0i+00001 zbW%=J06^y0W&i*Ia7jc#R7i>Klud4fFc5{~tWneu){*?&B|?hLx{KnIlPporKy#9g zjY%Ohru(X+?B2(lUuU=b4>^Eebl>T1-Fx@8t$TOL>P1U>w*g$E?y^M`uJz72n+2{e z2C{&ebmY1yf^3lmieVTKB9mdD1gLw`WrIF8fULf6;{>RKQBLqajmTO1Ar}~T5W+yT zxFrK}u+64{Gory{rE|hcm@GAn*-%o0>ZWy0D2KvoPy-R?F$}F{2SLC%l^Frv=MDIpH!T6GqvF%C zj1o|F(DOPQ0Z`tep6^WpPL$y^U!=DD?r(Mi%nZD~9BNXV@GJvBGc&J$)`tgOS-MH> o$$-6!!$TjFL-h$GJ@3CB-@QzTTN$<%5&!@I07*qoM6N<$g7=Bp8vpa^AN|Zq{Vk!ULLA{h9i&_BgIRLaV0D~z2&CSh}l$26ZQYk4ZFFR&q00001 zbW%=J06^y0W&i*JN=ZaPR7i>K)ID$0Kp4RB8yX2UYNC@^Dn&(d*^zu<>VTA-rw#>L z7x4uQ*_iMM8*`UR=LkI888Wm>Eu@Meo7IGYy^&x;c~Lrm6y=v)|D|6WmTf=1YrkO_?D5|P?(Z^YfpA?NfPKScAntu|oHv?)X(R>4j~&N(tpjFS zs9OM>_X=pTU04YC@hkVO3J#fRVgP2ma9vjc8!TVka^)`tl-9t(JIy6aduOnBmV$`} zl*1Wgd!6KvS`e)POB?7Q2w?`-f+*~=yFfV%FEdcrf+!4cng}`&;OZNPK=+6z0QR|h zi6{X)1L}lw5QdWyJ{yJSoF6D4@VqV|M@yhg*c3qkpqc?qKzJTJCBFmkI_mGdDTKhl zVsyi!pd%F!2;un<7>&m=^4d~r0%C%Jg_Kw*CLkc%5V(Q>6vSmAkpz5F{n>{A6c9{` z0hmzv(tm_N6hRgsbJ_qf1JIVkelY-GSZh3#lI;Un(4E2U08XH_=Z2gmU{2{k2~_BP z!+63Fh|iSnC}4~B;Mhtbj`ZCE zz#}vPOyLNEUX$BvtH+Y>7vGo9;0U5ND1gecz_|@aIEnizNDJ`4dI?8}#|1#XC0{2j yaN7~F3VtL23*3?-zVeHpv;y3o$0G&&!|M<4>t`ZulN!GO0000Z>R literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/yanma_back_pic.png b/graphics/pokemon/back_pics/yanma_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..980bc86f2b895956da6decdcdbac56b8657b25b6 GIT binary patch literal 796 zcmV+%1LOROP)baBX`Pm!>)p%-7Yy82S-8e{@8 zL^qd$X?5^31p4PtsOUMgx(KJl*z*jXSy}Q*UfN?jU?X;ZeBZY- z5@Y{MS>OMBY^6&hP#&iMHzomC77qX>iL^LP&45+v5@7Ja<4NfNaQGKs?id`jjNokn zD6rT7b1CZ{=`smQ0Q+^of@B$#VjcoD4{Hf`r5Fj+fi&3w2?*TM)R)Hv z&{#WcfKSx#m(%V%z`s^9@0M;E0Z;|fj;sRx5@>h?eDs{41i&VNVqXfdGASxRUjrlp zEzJReOdf9l+d&|;okIV+?V7Ujc)#mN&KDyEY zH_KD*!6g9#GKk*j9(_;}ix)I?((A$bD9`{@R}!OWUkM=aY^VVZ?0w6DHulNkKD?^| zt5g9r=N^2Bq6)w$!B71Cx;QI=FLhu=z*qr`D7vm>P#%yF@RD;5x6$>ua*JGoE;2%a zBX~c?I@kNGwU&75;-*##cvS&dLURJJX_bpE0YMdL&5)Qu$M+qGyQ3|EoLFQou5$H` z4@Y%@HDOC~;C%QzWZOh@roQstTh0%Ltho)arl5CWMF4BX;Woh9xNNcDNBkg;rv`-v zZA#n@j;iEkd}a z9-Gk#o63}?9?R(D+4M9|xn;_*jE>paj99}5)Et5wGsdD_liPt-0z=f!<OimRVi(|{{^RFhJwvI$yeWkRMMxbqpgEKv ze@%K3=p_L98L>hMsF%tDV;cqR1R|mw)a_8t(t?%1KEom-URx;Il2HibCqh6Uii~&| zTQbDR6P0%|5i0OOzNyWt8gb@$EdE?P>_E?{ zEm1-|+bsE~3D-)50!-A2Uh1Na;F3PwX6y|q$IyDDxXswUdJ|jkfwKq}0%%Qiz!7v- zfR*Q2EKJ$4vjV9(#77)v%9e~h*RJ=d40y7*nz6%oYF1PO7t}{!N3+BC3OG8zXU`^A z(cAB`M+5xQy!j_W((B(kpljgz p6>y9|rF`W0>md22z#P_qT>@3>FUTQ$Ew@AI QZvX%Q07*qoM6N<$f~4M9*#H0l literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/zapdos_back_pic.png b/graphics/pokemon/back_pics/zapdos_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..248366dc5dcf0523ac3a47008c9e59d0d401f105 GIT binary patch literal 652 zcmV;70(1R|P)a*2Tp00001 zbW%=J06^y0W&i*J3Q0skR7i>Kld*2wFc5~dWbh(BMc>B@2O$vpGy&uxqk%|MmH>ud zfkHcZJKB?$!WU+j0&6i)Ly}n@Ny(Cc!duZHH+aZ>`tCoH34*Ws|0?{r2mH7Ph&zf< z9PZ37q5dmS?e!d3yiN>&C-XC!vDiFK6%tPjZi>YwSxx{3h#Ce(wt0S=rD!E$3vjic zZ zmHGjd11i_XtLZ}%C27X{)A0sPZFLnnfc_Sx>&PdlhJ(|es7vbaxQNo|#V3Hn7OhPu3Y0pRU8*?|wt zuU-H+TrR5s)&A&!q8CUt>Pu|;5k)VM#kj9rPU-*5Xr&&oH_`Y#y_f+x^0Csss3!xhILjmU)31|uEz-N5uf$}F0IxKV95nu(< z01te~PzTIBxm?D|09If&5BNBR0Tcn<(hAJxHJ$#jK0w)vW*j|D+%Q%{d^XlzV$xN)P}5dp&+V00001 zbW%=J06^y0W&i*JDM>^@R7i>Kl(CM}KoEw#Y0_rxpoAhEJ1*SiWbdJrrz3ua6-j$V zXtAweQCP@DL^_lLUAEw%DA0+*2;~I`G_=gDIqB^69TlRviDXOpKh69*GhWAei2oey zZ-6_vPt6@Cy#sh^p6P%=;=Jw9dl%-F1uh77-UY-aa|S7ZciIU&r&m7$3>&~d;}~7A zzyL=J7{(YE%we-T07k%kIAAl0deC73Q=FX*!=CgzEucp^pU*w%$qa$6Hn>tI+?Scm z&_rr`Kz$ZVAAeB<0lezaC8npC5n!2MJmg%|0G;Bc?ZNXg41vJwl~u!G0FlwDQLD8L z^f>r_UIW4E)H+69RNT$|8{qs`YiasQsio0tAp9v>8P-VXJn@XlV0C%SoT%@U?l_i$|L*r73**ioZF2spW2fchuH4IN__VRou<+hRTCXG&x2IDcZTJu}M? z^39Tv{eeuhnvi!L4hX!fY+YTMLr{#j z$#qMoRl-Y!E*1i=KfP}{AYEVa6jE9xNG2@+D^P=V8kp}Mja2vEk`M83;x{$2xxW=a R#7F=D002ovPDHLkV1jVMG6Mhr literal 0 HcmV?d00001 diff --git a/graphics/pokemon/back_pics/zubat_back_pic.png b/graphics/pokemon/back_pics/zubat_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..5589e57676d594581b960a14df25acc2ee540ed7 GIT binary patch literal 526 zcmV+p0`dKcP)Klre6@FbqXCc!>8NNP~eW_bAdHAPD8Hg8)%m2Ln=W zTauEUG^WM^9l{|I%%{&Ui?lJX_}6hrxBWxJuXUNSPy0>h^Cz}EfDQnpme+t0IBso$ z-+K>Hi0Q=t9_=2;a1Ydg10}8>4cJ?d+MbPyKu`d4gvdZ72U-PV28>)H`i_7xPJB{c z7a)lhSoC~5smG;L!I)By(6c}%MR5?``hdjL2Z{jJc0I^T3f+9F7kPc}99KY-pnkfguxdgugL+%{m`NyR$u#lrpQq=pMybJE_FCZx@y%>7sabSqHUyNt^yGczGhvnFn&=w9`NeD%9ss2;Uh!w~14~~I-|9P@ QN&o-=07*qoM6N<$g0bP0l+XkKnob^N literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/absol_footprint.png b/graphics/pokemon/footprints/absol_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..da4076f78051b15623b866725d85924bf17576a4 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~x}GkMAsjQ4e|(?+@LqYF@k<`} zJB}}|R<-qi;*me_f?eQd^M(0UZT6oXU)--|;M*w1=Ir|AJIDY}S3j3^P6_ocFNZ_VD~FjbGp88AJ|>F1oZ#W*bPSr>mdKI;Vst00bi-Hvj+t literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/altaria_footprint.png b/graphics/pokemon/footprints/altaria_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..6c65deae5395825eff738bb3460ff29bd8dcc550 GIT binary patch literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~+MX_sAsjQ4e|(?+(BJm(oTRpS xDQ(Pec=&%v+A&PDIm}-zz~psMFyQI_{|rxpMf?4#=VXGkd%F6$taD0e0stJH9+m(A literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/ampharos_footprint.png b/graphics/pokemon/footprints/ampharos_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..bfc2f80345670bfe3002935ba5e737bd42f12ce6 GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~ik>cxAsjQ4fBc`%*zxbG@t=+9 nKNR_$>%WDyrqf$NdK$<*V{an^LB{Ts589*D? literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/anorith_footprint.png b/graphics/pokemon/footprints/anorith_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/arbok_footprint.png b/graphics/pokemon/footprints/arbok_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/arcanine_footprint.png b/graphics/pokemon/footprints/arcanine_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..96b7f93ae2ce49a5bef125bebb74a6994233fbaf GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~TAnVBAsjQ4fBc{SFy8jCaA_O! w86Msq4wffO7n#chejPaf;rKkp6`%gsGt~bSxUoQX?rD&2Pgg&ebxsLQ04R jKRC{Nc)6}*<^TVT+XH3(Xl4A^1JdB>>gTe~DWM4f^xGYY literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/armaldo_footprint.png b/graphics/pokemon/footprints/armaldo_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..d12d2e42c098253a7527ec000040c60abae4a5de GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~YMw5RAsjQ4cl@9G@K3RTRo$G2 szIKOsi`$srym-NA&+&Id`j7we4DYrJ{kUQFI18lH)78&qol`;+0N8gR0ssI2 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/aron_footprint.png b/graphics/pokemon/footprints/aron_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..fe53cb5ebd8637877a64de8cf6435d5e57c2209d GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~ik>cxAsjQ4fBc`%*!1tJ@t@7< mKa}~M>=Rz}+cL*6N-#2n+>lJaCv`5@|>ix z4D+Itw)B@g{dXkoJ{bR*kp3g_{DmdKI;Vst0LzRTpa1{> literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/azurill_footprint.png b/graphics/pokemon/footprints/azurill_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..60db8e03b896c91b1789ba71a1f212454ba311d8 GIT binary patch literal 84 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~(w;7kAsjQ4fBc`%*!S;7^9BA& gmZpwBtJ_yIGDNSJ*kLm7PB2Khr>mdKI;Vst0A#)y7ytkO literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/bagon_footprint.png b/graphics/pokemon/footprints/bagon_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..9a93a7564e0f78f9fecae9c42d7a9960f329c610 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~N}eu`AsjQ4fBc`%*i?7RxMoWF n4+i&dJoXAJ<~`&WaGc7>U}+%!jepa-w;)}fu6{1-oD!M<^XM9I literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/baltoy_footprint.png b/graphics/pokemon/footprints/baltoy_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..6965dbe60faf9d737d166f33082414b9cfb07195 GIT binary patch literal 76 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~!k#XUAsjQ4fBc`%DExOdyJAid Y!_&EP_jhM1egP@-boFyt=akR{0CNTuX8-^I literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/banette_footprint.png b/graphics/pokemon/footprints/banette_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..a15814f2f0c258a565160837b88e47a3dc474ca6 GIT binary patch literal 85 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~GM+AuAsjQ4fBc`%DEW7F`j7PU hAJ}^ua!hXi|IfHuOJ;`ZF-rrGdQVqBmvv4FO#qA48N~nq literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/barboach_footprint.png b/graphics/pokemon/footprints/barboach_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/bayleef_footprint.png b/graphics/pokemon/footprints/bayleef_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..04b375a7a7e5b37c4e6ea11ce40053a66afb16ab GIT binary patch literal 87 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~a-J@ZAsjQ4fBc`%DEW7F`j5o( j9~|Xc>KZP}SEsNtG=)oPoo8;|2h!o`>gTe~DWM4fp;j3_ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/beautifly_footprint.png b/graphics/pokemon/footprints/beautifly_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..49175cb0267fddea4ef305365c533bf55c2bfce8 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~3Z5>GAsjQ4fBc`%DEW7F`j5@? mAHJ^@_+>o*;e1=>RZI+LR>*Fh?$L1=q{q|M&t;ucLK6TPc^r}e literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/beedrill_footprint.png b/graphics/pokemon/footprints/beedrill_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..5c3f21090f08b937a65491e712a8ba637195f7d0 GIT binary patch literal 84 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~(w;7kAsjQ4fBc`%$a>ZI53^Er fn|%UH%3>`BhNZ1C5~WejRv_h`u6{1-oD!M<_bn8| literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/beldum_footprint.png b/graphics/pokemon/footprints/beldum_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..0554eedfe051eda671f0d3f2faf2cb7b4dc37f8c GIT binary patch literal 82 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~lAbP(AsjQ4fBc`%DEW6ayCTQ$ e=QRROp$rTcC(8++yR`BGNU^7@pUXO@geCy_?H0HI literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/bellossom_footprint.png b/graphics/pokemon/footprints/bellossom_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/bellsprout_footprint.png b/graphics/pokemon/footprints/bellsprout_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..8fcf4f4f49fa5c0f743265ceedaf4702285901cc GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~CY~;iAsjQ4fBc`%*!1pxdd0ta z56kTizyHd!|Gn{Z;eVhM($$x*+e|(?+P~St6VaqI8QRN-qKZ4BhboFyt I=akR{0M0=xtN;K2 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/blastoise_footprint.png b/graphics/pokemon/footprints/blastoise_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..b881f92706b0e8f4a6036aa973c65ef6ae0c17eb GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~nw~C>AsjQ4fBc{SFy8jCe07`p uD<1bLl6(fnHVN*I@;@9mIk1F$`)|*1bc@jai`IH|AkChxelF{r5}E+H*Bv1M literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/blaziken_footprint.png b/graphics/pokemon/footprints/blaziken_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..cf18a353ab28f3f74a971e1e86a267dad8000207 GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~)}AhoAsjOq4H(Yzopr0LGOfQ2+n{ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/blissey_footprint.png b/graphics/pokemon/footprints/blissey_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..3da3dbf938db8c03eb06babb3041a4a35ba55815 GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~>Ygr+AsjQ4fBc`%*!4^D-*)3a t>Ff*Z|0sNMmusoJVf<%B`VZz%HU>|934!Ha8yi7dJzf1=);T3K0RYk99oGN= literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/breloom_footprint.png b/graphics/pokemon/footprints/breloom_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..98d920669da7e8cd5784a8a447c1645812c79427 GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~s-7;6AsjQ4f9#+C@Ow?${Lhkh r-;^(`uV}0P##8@b#k_~|EPvS<94?8kvfjh_5v0-6)z4*}Q$iB}&`}>M literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/bulbasaur_footprint.png b/graphics/pokemon/footprints/bulbasaur_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..8e9ab9c6bd25f1d07d0eb421947deda30eee968f GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~@}4e^AsjQ4fBc`%*!W7a?xpdc l2kr~(Kk@v3Gg0IZJ45_>Ngm#7sc%49JYD@<);T3K0RZ998!`X@ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/butterfree_footprint.png b/graphics/pokemon/footprints/butterfree_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..b2740e9ccc7a3f58bfabb6b9ed66b973d9391201 GIT binary patch literal 87 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~a-J@ZAsjQ4fBc`%*!1tJ@t=+C j3*|p?un01G9h}0*;K?arzL%lt07!?YtDnm{r-UW|bT=1e literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/cacnea_footprint.png b/graphics/pokemon/footprints/cacnea_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..00b6a8a7e3be0340500d796c6eb3c1cd835fbbc9 GIT binary patch literal 81 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~5}q!OAsjQ4fBc`%D0?>j$9X=t d&xT9>F*EE_lQlfF>#HM3t*5J>%Q~loCIJ5^7c2k( literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/cacturne_footprint.png b/graphics/pokemon/footprints/cacturne_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..5441f92d6b599caa9e8b89c618780baea7f61935 GIT binary patch literal 87 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~a-J@ZAsjQ4fBc`%*im=F*d~E} jA@i9R97=p43}KuMdmajf#(lHY1L^Q|^>bP0l+XkKQTrCZ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/camerupt_footprint.png b/graphics/pokemon/footprints/camerupt_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..40708b8a1fe2271b04f8058793a6f25c3cda4a11 GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~CY~;iAsjQ4fBc{SaJj9sr_SLi z32pn1^E{tte4;*O#(zn#dG+Tm)XiAfI8*WH^oRG#+y4J&{C!z8L2=_mHjp`*?y}vd$@?2>|I{7Igps literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/celebi_footprint.png b/graphics/pokemon/footprints/celebi_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..11aa4301cce9598005d4db1f0f42f69a45153a73 GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~@}4e^AsjQ4fBc`%DEar#`45Zd kJ?yvT_`5pYVe;Sq@(c%JWPK0R>4UX+y85}Sb4q9e00S5s(f|Me literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/chansey_footprint.png b/graphics/pokemon/footprints/chansey_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..17893b9fb7abe7579687ad5eb471d53578fab3d0 GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~@}4e^AsjQ4fBc`%*zxbC@t=wA k?)GmISIm3JA93^le+Ka|vG-c75+)!mp00i_>zopr0O~6nB>(^b literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/charizard_footprint.png b/graphics/pokemon/footprints/charizard_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..e69f383927475ff6ba14ae45014dfbc9c03d9721 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~YMw5RAsjQ4fBc{Su-=xV);Rsg sl5-y#BxP$8*cZzG;rahY^51`Uh8s_X4tv*#PXX!lboFyt=akR{0KKsuqyPW_ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/charmander_footprint.png b/graphics/pokemon/footprints/charmander_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..2f7723621e4196de12eaa3ddf4ceb7b2bb2e2559 GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~ik>cxAsjQ4fBc`%*!4=X?z!=w mOX)uj_BZ`I(R{(ay2FUUGD>WoTTA*&kS0%8KbLh*2~7Y(Tpca| literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/charmeleon_footprint.png b/graphics/pokemon/footprints/charmeleon_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..6ec15ee2042e2a1b3dff94fbe87151e9ae69ba34 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~YMw5RAsjQ4fBc`%*z(Hp#ca#N s>ZNV`ZvwtF%Xj@dVf<$^yY_E>2GL^C-p|WUTZ43Zy85}Sb4q9e0KNAfi2wiq literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/chikorita_footprint.png b/graphics/pokemon/footprints/chikorita_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..3ac4abd9f7a1a2a8d1ae64d938998b423cd51001 GIT binary patch literal 81 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~5}q!OAsjQ4fBc`%DExPG`VVD( dCkM7wA`H8jWM=Z*W!?o+>*?y}vd$@?2>{DK6vO}k literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/chimecho_footprint.png b/graphics/pokemon/footprints/chimecho_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/chinchou_footprint.png b/graphics/pokemon/footprints/chinchou_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/clamperl_footprint.png b/graphics/pokemon/footprints/clamperl_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/claydol_footprint.png b/graphics/pokemon/footprints/claydol_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..2f0bca1accbfb37f360006fbf40de9aa81bd01bf GIT binary patch literal 80 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~;+`&!AsjQ4fBc`%D0|cR&t!H* c1!iY4h7EgV=6BC~RRvP&>FVdQ&MBb@0JtUo1`TR((mc&=d#Wzp$Pz>!62sq literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/clefairy_footprint.png b/graphics/pokemon/footprints/clefairy_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..85c25a5dccebc65df4bb478874680cc968ac15ad GIT binary patch literal 85 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~GM+AuAsjQ4fBc`%*!1tJ@t=+C h3*|q(;LzX*W@B&)7hik)sU=7`gQu&X%Q~loCIDRW7r+1j literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/cleffa_footprint.png b/graphics/pokemon/footprints/cleffa_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..4bf9339ae59dbe3a12e0c5f713565afd450f41f0 GIT binary patch literal 79 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~VxBIJAsjQ4fBc`%DExPG`VVD( bCBr2QCuYmmXzp150i@E?)z4*}Q$iB}y^j^x literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/cloyster_footprint.png b/graphics/pokemon/footprints/cloyster_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/combusken_footprint.png b/graphics/pokemon/footprints/combusken_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..6b66429d8de8e7768cb0f90d625350810c8f2255 GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~CY~;iAsjQ4e|(?+@O*V!^>fK{ zOp-u?A<+Kt=Xb0V`iwoAhrFd@NyH7Ii9Y5F6*2U FngHX}CKCVv literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/corphish_footprint.png b/graphics/pokemon/footprints/corphish_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..f624724c71d78759167096cf7be0241a7803aade GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~x}GkMAsjQ4fBc`%C@K5zd;vqp z8%enn#x)Ppe;hpbVgJmB|C8JP&zJo7pG}K_Vah?NLk$wlB_IPlUHx3vIVCg!0N7+A AzyJUM literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/corsola_footprint.png b/graphics/pokemon/footprints/corsola_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..bae0aaf92d96bef615ac241959392feb33d668c4 GIT binary patch literal 81 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~5}q!OAsjQ4fBc`%$oqG5`VVD( dCkM7R9fl2BGBY37JG+9^db;|#taD0e0szqZ6%+sf literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/cradily_footprint.png b/graphics/pokemon/footprints/cradily_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..998229dc76af9e8cbbae4c475794e22e8cd2d8fd GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~nw~C>AsjQ4cl@8d@V_#1HbP0l+XkKwo@I> literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/crawdaunt_footprint.png b/graphics/pokemon/footprints/crawdaunt_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..9169e280710809b14d8795abd1d2c6683825c7c9 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~`kpS1AsjQ4fBc{S@Mn6P`zap( z7Rh}b#(y59|6p+De{%4|yoU$s+nOCx|4aV+&(82xTQnug=HXmdKI;Vst E075?^umAu6 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/delibird_footprint.png b/graphics/pokemon/footprints/delibird_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..e7348586ec32968bd988c204b0baa2332db7ca2b GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~ik>cxAsjQ4fBc`%*zxaL^9BFv mHhF_Dj&h9+ckI9NBur({Z4%pa>h4dFDGZ*jelF{r5}E)MjT`y^ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/deoxys_footprint.png b/graphics/pokemon/footprints/deoxys_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..ea97e4014c644dc0e5f62ff9fa3ed23c91c893c2 GIT binary patch literal 84 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~(w;7kAsjQ4fBc`%$oqF?`j2FO hr~hv*F8%kPong-fS#h!D|JHz%d%F6$taD0e0swuN8fX9j literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/dewgong_footprint.png b/graphics/pokemon/footprints/dewgong_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/diglett_footprint.png b/graphics/pokemon/footprints/diglett_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/ditto_footprint.png b/graphics/pokemon/footprints/ditto_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/dodrio_footprint.png b/graphics/pokemon/footprints/dodrio_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..34f85bfb39d0e1684275ad0a027684a58f925cd6 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~rk*a2AsjQ4f9#+C@NZq)=T8bH zcji5use5>_Qyc#o9{C@VbvKOv{NQ(z|8HFL@BD{9_J{xfXJ85yUv#8B(Gz5lr>mdK II;Vst0D}-I2><{9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/doduo_footprint.png b/graphics/pokemon/footprints/doduo_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..0710eca52335487793d62a73c3e601a453c398b7 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~I-V|$AsjQ4fBc`%*s*Uv`@-|j y9bY`J5fFNikdcs5ap2sC=J^l%ZJAwe{{PRA;wxdPB*)VR((mc&=d#Wzp$P!3&>>p@ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/donphan_footprint.png b/graphics/pokemon/footprints/donphan_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..394cf64570335f0d1ff910eed817c8c175a8eb97 GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~>Ygr+AsjQ4fBc{SFy8jCe6@g; s;+cX5$riZ{&XNLV0<{m=HGlkzopr0Cr;>ZU6uP literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/dragonair_footprint.png b/graphics/pokemon/footprints/dragonair_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/dragonite_footprint.png b/graphics/pokemon/footprints/dragonite_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..1f41296b0b0fced35c2b26ceb94fef6d537b36bf GIT binary patch literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~%APKcAsjQ4fBc{Su-^8ter=oo oD}^r&l8ts7lrQkt3H(y#XE=F6Ftg15R1rvmdKI;Vst06Q-myZ`_I literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/dratini_footprint.png b/graphics/pokemon/footprints/dratini_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/drowzee_footprint.png b/graphics/pokemon/footprints/drowzee_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..23293423e87fc13cb854332ea0893a6d6c853ad2 GIT binary patch literal 87 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~a-J@ZAsjQ4fBc`%*!1sA`j3PB iPVzS{3cCF1w+WDBkgXA!dOar>ti#jQ&t;ucLK6U^T^SYt literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/dugtrio_footprint.png b/graphics/pokemon/footprints/dugtrio_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/dunsparce_footprint.png b/graphics/pokemon/footprints/dunsparce_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/dusclops_footprint.png b/graphics/pokemon/footprints/dusclops_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..752ffa353cfaace66583dcf5d58ec644e7e49626 GIT binary patch literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~hMq2tAsjQ4e_3`9=HGi literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/eevee_footprint.png b/graphics/pokemon/footprints/eevee_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..4e4c01c9f52e8e339c7e5b2e69396dcd98705720 GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~>Ygr+AsjQ4fBc`%DEW7F`j02) tKQzd;$Za#Ou{-}^p=fS?83{1OWFQA0hw% literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/ekans_footprint.png b/graphics/pokemon/footprints/ekans_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/electabuzz_footprint.png b/graphics/pokemon/footprints/electabuzz_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..b2b4de625b1516ffa56b7d8babc4aeab17f9c571 GIT binary patch literal 93 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~DxNNmAsjQ4f9#vj*kO0u*k(fe qBK~h0FWhYp&;PIR<-7gi|Nj~OJ`#I3Ypu>fkUmdWKbLh*2~7Z$Mjyif literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/electrike_footprint.png b/graphics/pokemon/footprints/electrike_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..8dd914b35c815bb358c186a715258a330269723f GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~I-V|$AsjQ4fBc{SFxd8RcxBuA yk38~^B|l`BfUfzR!PX&&0^!xm`+P5(m#8kbX~BKbLh*2~7aHDGAsjQ4fBc`%*zxa%@t+Co l3;F+Oa42z1Y1R1sU!H-1NA!qQpq(g4kEg4j%Q~loCIGic7-9eb literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/entei_footprint.png b/graphics/pokemon/footprints/entei_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..7336df599ddbf4867b284a1eac39f6b54f8a30a5 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~I-V|$AsjQ4fBc{SFy8jCaCIB= yD<1Y4jxQLE53`rG@&5_<;w;zo?}qW8|NIPltb`JeT5%r%>GyQ?b6Mw<&;$TZmLItQ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/espeon_footprint.png b/graphics/pokemon/footprints/espeon_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7b17a4ad48219ad051ebcb7b2b7b2fca095f424 GIT binary patch literal 85 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~GM+AuAsjQ4fBc`%$ou#9`47kE iJ?yvP_`BJCGAqNTjWS^ylbS)w89ZJ6T-G@yGywpVn;Fgk literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/exeggcute_footprint.png b/graphics/pokemon/footprints/exeggcute_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/exeggutor_footprint.png b/graphics/pokemon/footprints/exeggutor_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..6df7122f84eff7e90ebe2c9fb76029973b7c15d7 GIT binary patch literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~%APKcAsjQ4fBc{S@OO3F@#Bs! p7>vcfG|0BteK7vBG5yDXd4|XKLQ{g`^z=d6JYD@<);T3K0RVpJ9d7^t literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/exploud_footprint.png b/graphics/pokemon/footprints/exploud_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..b27283a141af13e22cd338bd6cf3c068980bc019 GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~#-1*YAsjQ4e|(;w=x6BcZ**8N zz3uUN$+#27H4oA&YUVurSuF7D-<*ftc8BGw1%9!+d}R>2ET&_p5|#@x#?#f$Wt~$( F699R+BZ~k4 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/farfetch_d_footprint.png b/graphics/pokemon/footprints/farfetch_d_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..2f08f732d57ba03dd0dc4c80f222e72fae641c16 GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~TAnVBAsjQ4fBc`%*zvFN;+&*5 vvGg|PHws@GA!;(qeiG$L0w&77D%_JtDnm{r-UW|BgTe~DWM4frqLi% literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/feebas_footprint.png b/graphics/pokemon/footprints/feebas_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/feraligatr_footprint.png b/graphics/pokemon/footprints/feraligatr_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..efe894289cf4b2ee4305010527f4602f66b9a794 GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~s-7;6AsjQ4fBc{SFyHQQd~MtO rR|;R6WgGu}I6T3IgTe~DWM4f>oOph literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/flaaffy_footprint.png b/graphics/pokemon/footprints/flaaffy_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..d1695ec805ec5d5c06d1b784fd4f4158ac56c48f GIT binary patch literal 81 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~5}q!OAsjQ4fBc`%$oqFS`$GF~ d94t=`r7*70lMZ^iR4g8(*3;F`Wt~$(69DDL75)GK literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/flareon_footprint.png b/graphics/pokemon/footprints/flareon_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..db5d37ed461ebfb586a73eeabf27814696f06a4d GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~dY&$hAsjQ4fBc`%*!S#qi5pgTe~DWM4f9Jdz5 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/glalie_footprint.png b/graphics/pokemon/footprints/glalie_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/gligar_footprint.png b/graphics/pokemon/footprints/gligar_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..3ca9864f062e18a6989f5089c31d88208d310724 GIT binary patch literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~%APKcAsjQ4fBc`%*z}Jv(6-~_ p@p%v1ZA2Jv{(mF+AnV_Mc7|3ispL7DOSXcvdAjcxAsjQ4fBc`%*!V{B-^u0+ m@(P>Me=xdy<*A<_`iGsNaH3R3X8FZ5kS0%8KbLh*2~7Y3>l+jR literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/golbat_footprint.png b/graphics/pokemon/footprints/golbat_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..65c126fb3ea8c659d629efcf1e710c3e4815e1df GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~s-7;6AsjQ4fBc`%*z!j5-%00- r^_2$V9j_$+T`~UibP0l+XkKx}6^z literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/goldeen_footprint.png b/graphics/pokemon/footprints/goldeen_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/golduck_footprint.png b/graphics/pokemon/footprints/golduck_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..63ba752e43b25a1f79c4c9a3e204bfb4d0bee90b GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~nw~C>AsjQ4cYL4A*ikjfamCS@ v4;idQY#*>MgTe~DWM4f^8p%= literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/grimer_footprint.png b/graphics/pokemon/footprints/grimer_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/groudon_footprint.png b/graphics/pokemon/footprints/groudon_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..cb80ba48d503e8f7c15ed7f164dafab37330c23d GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~dY&$hAsjQ4f5e~vuy@YG*_MZu zQw4ri&wt2j&SWc?R`F-XLq_An>}75KuXy%mdKI;Vst0JusZ Av;Y7A literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/grovyle_footprint.png b/graphics/pokemon/footprints/grovyle_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c78ea507c9d1ad31443fbc7fb1531c862f38bca2 GIT binary patch literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~+MX_sAsjQ4fBc{S@N;F`_S=$i xe(4oA&V6W{|FGRgbP0l+XkK5{epO literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/grumpig_footprint.png b/graphics/pokemon/footprints/grumpig_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..ddff0e5001705c1144b35381ae543d2d15bb4cfb GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~>Ygr+AsjQ4fBc{SaJelJcSHHY{HnJ9{~5n)ihNDoT74O$)zj6_Wt~$(695S?AkzQ< literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/gulpin_footprint.png b/graphics/pokemon/footprints/gulpin_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/gyarados_footprint.png b/graphics/pokemon/footprints/gyarados_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/hariyama_footprint.png b/graphics/pokemon/footprints/hariyama_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..ab5d9f3697bdaed21b2f1b3f19a552108e03e0f6 GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~s-7;6AsjQ4EA-A6bjY^cnki{D qOHxWg@CAdhh;0Jzopr09BS8OaK4? literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/hitmonchan_footprint.png b/graphics/pokemon/footprints/hitmonchan_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..cfd1efd54a09ddefdf5afadc77a802ebd8f0c9a0 GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~ik>cxAsjQ4fBc`%*zxa%@t+Cq mj`dF*n-mHaRkx=X}Y& z9mX;V=@oa*7yPjhVZ15-MDpL2<_r7(D}4EH&tN@AVuh`LSTo23Pgg&ebxsLQ01z%C Ai~s-t literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/ho_oh_footprint.png b/graphics/pokemon/footprints/ho_oh_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..adceb38787b4292ab1935316d591bda35f49496e GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~YMw5RAsjQ4fBc`%*zxbGan0%U rifMdK^ZzV-(Qd=>cO$#v0wx0{26IWVaF@Gvk|3R)u6{1-oD!MWKcfLoYp4)ho}CDgTe~DWM4fg*qR( literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/hoppip_footprint.png b/graphics/pokemon/footprints/hoppip_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..0be22ed86982f826ab6fa1d9f8d052810f88adb5 GIT binary patch literal 84 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~(w;7kAsjQ4fBc`%$oqG7`j6!E gAIj}H7;moF#Bj1kc1BR2i!w;Lr>mdKI;Vst09tMse*gdg literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/horsea_footprint.png b/graphics/pokemon/footprints/horsea_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/houndoom_footprint.png b/graphics/pokemon/footprints/houndoom_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..b1f2c80f42b3719bcb1ef22002f344ec65881839 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~dY&$hAsjQ4fBc`%*zxbG@t=+9 z760ZuY%w^@n%BnuhDZK~p7LZO)S3j3^P6v literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/illumise_footprint.png b/graphics/pokemon/footprints/illumise_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..451d532b2f44e88db71bb31f1051d51ff4669458 GIT binary patch literal 84 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~(w;7kAsjQ4fBc`%DEW7F`j2FO gw@(3I&dWtIGITtbDoB0jZw6BC>FVdQ&MBb@08Tm>JOBUy literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/ivysaur_footprint.png b/graphics/pokemon/footprints/ivysaur_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..29206b935ee19c1ab050067906f6fa1016567e31 GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~>Ygr+AsjQ4fBc`%*!4}tqS_;v97hx2laco;NpiJr4P;L;1y>gnp|vd$@?2>|<(AK3r^ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/jigglypuff_footprint.png b/graphics/pokemon/footprints/jigglypuff_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..59b5f1171b3c10c930f8c598a8e81dae8a46f804 GIT binary patch literal 85 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~GM+AuAsjQ4fBc`%*zxbC@t=vu h9liy8SufXeK#Ni2i&%4i=(`Od^`5SNF6*2UngF8G8rA>+ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/jirachi_footprint.png b/graphics/pokemon/footprints/jirachi_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..856bb5faafd226f980ad8165ae3bf048bb4ee251 GIT binary patch literal 83 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~Ql2i3AsjQ4fBc`%DEW7F`j2FO fR|hkJg<1>@i|)&a{>j-_4pQyu>gTe~DWM4f42u?w literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/jolteon_footprint.png b/graphics/pokemon/footprints/jolteon_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..d1e9477b3d0c9da9d144ac0fe63e0bf72c968881 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~N}eu`AsjQ4fBc`%*!Su6{1-oD!MFVdQ&MBb@08~jBc>n+a literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/jynx_footprint.png b/graphics/pokemon/footprints/jynx_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/kabuto_footprint.png b/graphics/pokemon/footprints/kabuto_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..6965dbe60faf9d737d166f33082414b9cfb07195 GIT binary patch literal 76 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~!k#XUAsjQ4fBc`%DExOdyJAid Y!_&EP_jhM1egP@-boFyt=akR{0CNTuX8-^I literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/kabutops_footprint.png b/graphics/pokemon/footprints/kabutops_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..127b741d827af8c403e29d4b5bad7dce3b1725b9 GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~s-7;6AsjQ4fBc`%*im<%ePRD! rg)hZ+9DgUI|48O{`u|F>=l_4kN+F3mD_{M(3DW54>gTe~DWM4fynY}M literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/kadabra_footprint.png b/graphics/pokemon/footprints/kadabra_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..a699f29879c7bf7c74af15c828cbaab32f7c638b GIT binary patch literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~+MX_sAsjQ4fBc{S@ON$7`OlJa x-DV_jL7hS?83{1OTaPA&39~ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/kakuna_footprint.png b/graphics/pokemon/footprints/kakuna_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/kangaskhan_footprint.png b/graphics/pokemon/footprints/kangaskhan_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..7753a4a71b3e3e5d1edd254f4050e77cfb029322 GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~>Ygr+AsjQ4fBc{SFy8jCe6>K; sfpY~7k}VBA{C_yUILoPUhy46+&v5Rg@C1u=@0B2}p00i_>zopr0Jnl2y8r+H literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/kecleon_footprint.png b/graphics/pokemon/footprints/kecleon_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..3c69684379972211f839eaae341bbc76858585a8 GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~>Ygr+AsjQ4fBc`%*!1sj`i|gp tACAm_c(bxi{u__{lZ6~7+E)MkFV9faCwWZn%)Lz@t)8xaF6*2UngB@FA|U_( literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/kingdra_footprint.png b/graphics/pokemon/footprints/kingdra_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/kingler_footprint.png b/graphics/pokemon/footprints/kingler_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..b75db30dc4e31e28674fa14c3c9953ed61b8e1c6 GIT binary patch literal 93 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~DxNNmAsjQ4fBc`%*jIPO*k(ey q#es7d4xG90XX3*j@oXuP222da+oYa)t$y*?y}vd$@?2>|I{7Igps literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/koffing_footprint.png b/graphics/pokemon/footprints/koffing_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/krabby_footprint.png b/graphics/pokemon/footprints/krabby_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..eae28fe5ee2125eb9cf4876c41aa3d4038de036e GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~vYsxEAsjQ4fBc`%$oqF=`i}$W iKQMG$lC-OHpUldzqD;n_Lv!OMkOogzKbLh*2~7Zq<`~cb literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/kyogre_footprint.png b/graphics/pokemon/footprints/kyogre_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..8d58ee4621ff7b0b302139e4e003dacdb354e8ee GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~`kpS1AsjQ4E&k76_|yJyV^tgb zA0GZ2l5$Lf#)l8530QHssW)aA9X@}O=YQi1V}=)dMXk<1uQ~@Z!qe5yWt~$(699t# BAhQ4f literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/lairon_footprint.png b/graphics/pokemon/footprints/lairon_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..9a6527c1c98c0721021880ea08322388afeedf8d GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~I-V|$AsjQ4fBc{Su-^8teRZ4v yD}^r?=RRb&Kg?d%#(pM%C58E-d?nk2Q~w$6UlhI&6tYAFq~Fuk&t;ucLK6Um=peNK literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/lanturn_footprint.png b/graphics/pokemon/footprints/lanturn_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/lapras_footprint.png b/graphics/pokemon/footprints/lapras_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/larvitar_footprint.png b/graphics/pokemon/footprints/larvitar_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..a31e8d7f361584d11eb9fc0f8120cb0697f3f2d2 GIT binary patch literal 82 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~lAbP(AsjQ4fBc`%DEW7F`j7Pf emRFJiq6`f4c1z!Oi=6ixq}bEd&t;ucLK6TO`4^o4 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/latias_footprint.png b/graphics/pokemon/footprints/latias_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..0419630c1521eb245bb63cda013ca98adca12c89 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~`kpS1AsjQ4fBc`%*zxbG@t+^( zKYXx1%%0Z9|A)u^jpH5puRQWk9Ag&z;NLLo|9{5J|B@bNvXj+7MtHjVxvXzopr0EYM?IsgCw literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/lickitung_footprint.png b/graphics/pokemon/footprints/lickitung_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..1f88f23fc620f3ff118b2413d255c43f04fe7e3f GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~x}GkMAsjQ4fBc`%*zxa*@t+Op zKNQY?XpnE=+t7UBVOiVr=Z-H5?LD|wJo{hIz<*ry)~b)aGe8D-y85}Sb4q9e04Db( AIsgCw literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/lileep_footprint.png b/graphics/pokemon/footprints/lileep_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..ce6b2790e1380c56b9d03076b830c1cff67fa766 GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~TAnVBAsjQ4fBc`%*m15t&EmcxAsjQ4e?*^WaIt^8@WuDK mHv9jQbvKkR%&(I8#qYwPP{K|x!b>nfuTc8YSE&ld`%!Np00i_>zopr0N`R90RR91 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/loudred_footprint.png b/graphics/pokemon/footprints/loudred_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..604af90004997cc9af74376a03aae66c14e76dd3 GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~2A(dCAsjQ4fBc{S@K1W%<9kdzfh5!7I|Z;Q4vSJNfcEI`_Imhk|J4g+qhpDWQM1!pUXO@geCx8 Ch$Jrn literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/ludicolo_footprint.png b/graphics/pokemon/footprints/ludicolo_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..23163f358cdc6e382e2fd53e1dd42d97f0eacf18 GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~s-7;6AsjQ4fBc{SaIwu{=DN1_ rKRoO=1z#{oFdkKW(QL!{an^LB{Ts5V67XX literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/lugia_footprint.png b/graphics/pokemon/footprints/lugia_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..e6642ed07f1cd991dc6bcd8dc7bab0bd1c64f894 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~YMw5RAsjQ4fBc{SFy8jCdVQPw sJ0AWU3tuqXi~OD7zQFz)&;S3-4A)Kw>&l5r-2>_LboFyt=akR{0HXOFQUCw| literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/lunatone_footprint.png b/graphics/pokemon/footprints/lunatone_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/luvdisc_footprint.png b/graphics/pokemon/footprints/luvdisc_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/machamp_footprint.png b/graphics/pokemon/footprints/machamp_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..e562fd08cb7553eb06e87e8cc464c0a27eb6b569 GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~nw~C>AsjQ4fBc{S@Oe!e|6d;Y vTatDgjQ=z&wEv^~Q~0uc9^;Bn|LYlq0z`j#anJe(((CE!=d#Wzp$P!#;~u&I literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/machop_footprint.png b/graphics/pokemon/footprints/machop_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..8b2808553b5498ecfc464696ab5f03a82de570f4 GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~ik>cxAsjQ4fBc`%*!S&IZpfwKi{x~jiFdk@}$brrMo~{JYD@<);T3K0RXzn8Z7_- literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/magcargo_footprint.png b/graphics/pokemon/footprints/magcargo_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/magikarp_footprint.png b/graphics/pokemon/footprints/magikarp_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/magmar_footprint.png b/graphics/pokemon/footprints/magmar_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..17de53a46429c1ec410103870a85a57ff9f5a1fa GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~s-7;6AsjQ4fBc{S@ON$7`Ol6o qnr%dEAGj-YoZzo+v;WHT|35PW*Cde*#yP%WAdQ}`elF{r5}E+7I30rk literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/magnemite_footprint.png b/graphics/pokemon/footprints/magnemite_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..f710e502832073b9517ea3df1521259e00ef78fd GIT binary patch literal 83 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~Ql2i3AsjQ4fBc`%$ou#9`48!K f9gHfCIU$h@55?qW9%C+#2dVaS^>bP0l+XkKBZ?OC literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/magneton_footprint.png b/graphics/pokemon/footprints/magneton_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..00b8b0ebf42dddd351f70d62433d259818a3208a GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~ik>cxAsjQ4fBc`%DEW7D`VZsz n58dq#zyGcvbb_r*L6d=D%MF?7CZ&u1gEV=%`njxgN@xNA2~`_{ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/makuhita_footprint.png b/graphics/pokemon/footprints/makuhita_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..3da20ccb317125c24760c5cb14189361dc6bbc69 GIT binary patch literal 97 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~8lEnWAsjQ4fBc`%*z(Ny&-3&j uC(eDCF!v#&G1spHd`|X1B>&xH4rO9^ts|_FKO@8vq}S8c&t;ucLK6Tca34hg literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/manectric_footprint.png b/graphics/pokemon/footprints/manectric_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..4f4903bf94283371e9e0a8834f8ea26003d376d3 GIT binary patch literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~+MX_sAsjQ4e|(+)aJB8>>lFgO x1kQgbv^)I%x55|gc@O(-4$D^y{0irH{?BObCVsp+>8dzLyQiz4%Q~loCIGTkA?yGE literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/mankey_footprint.png b/graphics/pokemon/footprints/mankey_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..f02036af503a8618ff23ddf0eb1a09426c978b50 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~rk*a2AsjPB4;czFDDbcxEN);~ zqR=aps43ty(d?zuS03x`7VFyvkJs2sUtHs8+&67Int^;635Ky>q7kU^fVelF{r G5}E*pfgbh% literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/mantine_footprint.png b/graphics/pokemon/footprints/mantine_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/mareep_footprint.png b/graphics/pokemon/footprints/mareep_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..2913a4c4840510f565022cec4d4a884f2f233238 GIT binary patch literal 84 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~(w;7kAsjQ4fBc`%DE#;K`48!K ghvh5V>c3?KF@9z7oh+E literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/marowak_footprint.png b/graphics/pokemon/footprints/marowak_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..fbde41d04b5ae5170d314a631c21e1f9db79b3d1 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~vYsxEAsjQ4fBc`%*!ScxAsjQ4fBc`%*!S;>vCT*J mh3tQL*lz?11UzZC4d7)kwGz1?c(ddLNRy|lpUXO@geCyi!x^Cf literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/masquerain_footprint.png b/graphics/pokemon/footprints/masquerain_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/mawile_footprint.png b/graphics/pokemon/footprints/mawile_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..5195fd4df21c010d1ee029375a0d6ff1c846d8bc GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~x}GkMAsjQ4fBc{SaJ}u}_dgZB zOq~CaS?E{I{D<>x5A#>H$$#Uie1eIq}El0FZtLPgg&ebxsLQ02a&}0RR91 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/meditite_footprint.png b/graphics/pokemon/footprints/meditite_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..034cb0df8db238d6009b91e340d55de7355089f7 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~3Z5>GAsjQ4fBc`%*!1s)@t+Co l3;F+Wd})@~;+Vp!&CDS8TJ+3}-bLmhJ)W+9F6*2UngGSd8Dsze literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/meganium_footprint.png b/graphics/pokemon/footprints/meganium_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..39303ac4fa069d961f8b65445136b3d9bed42d79 GIT binary patch literal 97 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~8lEnWAsjQ4fBc`%*zxbGu}xsQ t#ep*)8f0A#2~Oa4k^dq2?}l+hC=gTe~DWM4f#ZMn{ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/metagross_footprint.png b/graphics/pokemon/footprints/metagross_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..07f91d604f6dff45dc0f8aa2acd8a39f29e4ef36 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~N}eu`AsjQ4e|(?+(BGEh?*{gX o4)5wiuKbs1`5|v~<3CFgW7m4A#jh>mdKI;Vst0KkVC{r~^~ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/mewtwo_footprint.png b/graphics/pokemon/footprints/mewtwo_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..0f7573dd3b9663a98152411aa68ba6474e86f3d8 GIT binary patch literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~+MX_sAsjQ4fBc;P@Ni`t|J#Hk x=RYuaJaK%{Z*y3`y3Id`GwBE$dy literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/mightyena_footprint.png b/graphics/pokemon/footprints/mightyena_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..b39af65bc021851d7d0e440e9623123885884c37 GIT binary patch literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~7M?DSAsjQ4e|(?+Fy8j?{iwE` z){@uWBt;}2xe#`u;E&>A!PGYKM?CUBB;__VUpQRWcK*5KzyItEOt(cj|4-^Z3^L2p L)z4*}Q$iB}v@Iyr literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/milotic_footprint.png b/graphics/pokemon/footprints/milotic_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/miltank_footprint.png b/graphics/pokemon/footprints/miltank_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..a7162cd21151155cc7fdedf8a54360c56d5b4508 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~vYsxEAsjQ4fBc`%DEW8y`48!K jhvh3Zex;vpSjE7w{JQk#6;9zw_$kl8C?GAsjQ4fBc`%*zxbG@t=+C m%9R?w*xkPcXfBxb|39PbT+w5Fr)+kC^mw}ZxvXcxAsjQ4fBc`%*!S~r mA5YGIXq4}&JJHNC@d^V&PLt%!2@Y;@AWfdGelF{r5}E)&X&h(( literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/muk_footprint.png b/graphics/pokemon/footprints/muk_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/murkrow_footprint.png b/graphics/pokemon/footprints/murkrow_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..0f0566834480272f97687667243de5248f518bbe GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~s-7;6AsjQ4fBc`%*z!tp-*n>| rzw{q-&wsc)|KWUFCdQ=;IF<-8c)yc~4?d^+2&B=|)z4*}Q$iB}n*bfj literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/natu_footprint.png b/graphics/pokemon/footprints/natu_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..f17821fc00dcc247dd6c8179d1696d3c5e211d39 GIT binary patch literal 84 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~(w;7kAsjQ4fBc`%DEap;zia&) g#~1Oo5{e=W3_G{VOq#%RpBbdw)78&qol`;+03#(9bN~PV literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/nidoking_footprint.png b/graphics/pokemon/footprints/nidoking_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..577e14f302b4639921e6bff5c839e751ab4f7083 GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~s-7;6AsjQ4e}td^;5_dkv;AS_ qGL6ax$*zVR4yG>Vs|=z4{_``m{S^3+Hn+AsjQ4fBc{S@NaqB^YfB& v+l*xr+#LCDIKE)E=lDAz{YUuu5C82MUepSEbZt#d2Wj?n^>bP0l+XkKFWDeG literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/nidoran_f_footprint.png b/graphics/pokemon/footprints/nidoran_f_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..f673df1128c0dd0eb1c4453f406ba2a3bea78a65 GIT binary patch literal 87 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~a-J@ZAsjQ4fBc`%DEas9`47kE kJ#4oTVZ8bO)kIMShKZA<9)C&NWe3vX>FVdQ&MBb@0N>0TzyJUM literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/nidoran_m_footprint.png b/graphics/pokemon/footprints/nidoran_m_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..874c6078172949c6f4b6df926e31b40bdd692131 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~3Z5>GAsjQ4fBc`%*!1rm`$GF~ lJoZlnIZm)Hs{hJkkjjwkCh^_AB=;alkEg4j%Q~loCIHEi8Os0w literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/nidorina_footprint.png b/graphics/pokemon/footprints/nidorina_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..94553054a5719144381181e7a756a2439693e06a GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~s-7;6AsjQ4fBc`%*!1sj`j2Vn rKb)NZkkOi{_5u4s`AYgr+AsjQ4fBc`%*!1tJam}an tiUWME{I@0T=Cd!H|5@_i4dVk-7#V^~CDrGBu=)Vf>gnp|vd$@?2>{919$Nqa literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/ninjask_footprint.png b/graphics/pokemon/footprints/ninjask_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..eacba16dc87057ad313731b6d7a45aaa64a7cabd GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~N}eu`AsjQ4fBc`%$okdzPjdQ? n`{zE)pZk#C{xEZO8@~n@!=xT*brEBeK#(p^S3j3^P6Ygr+AsjQ4fBc`%*im=GxMo6n sg~Is{6XriGv}a=6DgVPU$bmIsDuaZum^N!`mL^E6r>mdKI;Vst0E5mN<^TWy literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/numel_footprint.png b/graphics/pokemon/footprints/numel_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..6238f94004d4701946845b42b8ce6e85310d60ec GIT binary patch literal 87 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~a-J@ZAsjQ4fBc`%*i?7I*d~E} jA@dmy7C}a@gHsq8zMF`g-o2(z4y41=)z4*}Q$iB}Pcs(+ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/nuzleaf_footprint.png b/graphics/pokemon/footprints/nuzleaf_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..b35288e05947ef6d7fcbbd6f4c392d0152384447 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~I-V|$AsjQ4fBc{SFy8jCes!Dw xD<1iV4%x0c20?p{zl=(iZS~)H9H##N&&=>ZS;TD50r52;{hqFVF6*2UngA!+9)SP= literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/octillery_footprint.png b/graphics/pokemon/footprints/octillery_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..afa1f5433c3e8e975aa346658e2395ab26ceb1e4 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~I-V|$AsjQ4fBc`%*kxy2^Y6@u y&$@@@GyQ?b6Mw<&;$Tw@gP(H literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/oddish_footprint.png b/graphics/pokemon/footprints/oddish_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..d381752735786a75bb84537c55e7d2a6245857a3 GIT binary patch literal 81 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~5}q!OAsjQ4fBc`%D0|cR5A$OC duRQe^QWla;)=SKbb!*3;F`Wt~$(69Dsf7Nh_G literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/omanyte_footprint.png b/graphics/pokemon/footprints/omanyte_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..f5eb9fdba0aa321d78f34dbfb6b2e9ecead8e81f GIT binary patch literal 80 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~;+`&!AsjQ4fBc`%D0|cR5A&ib coTG&*bzU h%q|XYw#>WU)HBR^B_nBB!}%Vh-qY33Wt~$(697v~7q9>T literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/onix_footprint.png b/graphics/pokemon/footprints/onix_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/paras_footprint.png b/graphics/pokemon/footprints/paras_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..f8d7574d2e6de56a6732cc6c5e6336050be93c80 GIT binary patch literal 83 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~Ql2i3AsjQ4fBc`%$bIYlhxmC9 f_uC%cUuB}naJE*qp*NvzHAuCmtDnm{r-UW|P*WK3 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/parasect_footprint.png b/graphics/pokemon/footprints/parasect_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..e0f1715f2f04f00c853813b74b6d1e4984791432 GIT binary patch literal 85 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~GM+AuAsjQ4fBc`%$a=H+g1y43 h^dFz+KUAOfrk-I_wXE2x`_9}T^`5SNF6*2UngD-G8HNA= literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/pelipper_footprint.png b/graphics/pokemon/footprints/pelipper_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..54718d259e56a8cf58d8809950e3186a62d12ab5 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~x}GkMAsjQ4e|(?+Fy8X8b!nUW zDIWG23tun_Y;3;3uJ9=R2cyd;p86+}|86ofY!DXsx+{L&IgkOKu6{1-oD!M9U8 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/persian_footprint.png b/graphics/pokemon/footprints/persian_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..33f25f0aa85a3a057f84a9dc536a757c3b3fe158 GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~nw~C>AsjQ4e}td^;4=3igE5C~ vLfVf5=RP>fwY^#Rf?eRM@t>dPKm506nBOk!^-D;5CrGoWtDnm{r-UW|HUc2; literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/phanpy_footprint.png b/graphics/pokemon/footprints/phanpy_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..70498b18f6b273c127e876706cfde3a76b70fa84 GIT binary patch literal 85 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~GM+AuAsjQ4fBc`%DEW6n`i}$s h4i0((e>b*kGcY7hlgPb2&9oMz-qY33Wt~$(698P#7$^V$ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/pichu_footprint.png b/graphics/pokemon/footprints/pichu_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..823c7e32d4a43522b56932071ae5bd7df9342816 GIT binary patch literal 85 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~GM+AuAsjQ4fBc`%*!W8F-!0=m hj!yqyNd}1gVP|L+mlm?$vi2TGy{D_6%Q~loCIE5Z7}Wp( literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/pidgeot_footprint.png b/graphics/pokemon/footprints/pidgeot_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..025341554c1c0aa4a02ef23db433bfb2012aa120 GIT binary patch literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~+MX_sAsjQ4fBc{Su-^9Y_oBA^ xXFUB=9A7Y7i~N0%{zLivhx2k>4X6J7XJ>dTBNDT#?B_I)c28G7mvv4FO#s4rBaQ$7 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/pidgeotto_footprint.png b/graphics/pokemon/footprints/pidgeotto_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c507f72b8308b7b3cebc55ee37efa2fd298ddfc0 GIT binary patch literal 93 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~DxNNmAsjQ4fBc`%*ipBiePRD` q#~1AOB7Y~Q|48R|{r~#l3wwr44GE>4yF;x&`aE6zT-G@yGywo%m>jJD literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/pidgey_footprint.png b/graphics/pokemon/footprints/pidgey_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..6fe6e42824fd560dcad65a8e324c6badcf8cd329 GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~s-7;6AsjQ4fBc`%*i^TlePRD` r#~1AO9DgUK|48R|`v3YM#}Xcfu3M6~3I&<8K^i?>{an^LB{Ts5a~~XH literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/pikachu_footprint.png b/graphics/pokemon/footprints/pikachu_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..a8ee2e4ac9a4e18dddd27fb3126b657980aa7d01 GIT binary patch literal 84 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~(w;7kAsjQ4fBc`%$a>ZIPjC7U g<$j0%ZzhT|Fm$#^75V>;oefg%>FVdQ&MBb@08P{wX#fBK literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/piloswine_footprint.png b/graphics/pokemon/footprints/piloswine_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..0b7405eceb5df61de5729b7af406ff2fac69fd7b GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~s-7;6AsjQ4fBc`%*jINy{l|^- r9~$RBWV9Axyy@`8dEUc#TNhr2=s5AIM>2n02Wj+l^>bP0l+XkKuI(Oh literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/pineco_footprint.png b/graphics/pokemon/footprints/pineco_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/pinsir_footprint.png b/graphics/pokemon/footprints/pinsir_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..ebd22101eed710bcec3ce95693b7e8ba7ba386cd GIT binary patch literal 93 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~DxNNmAsjQ4fBc`%*kNa%UQr>@ pV#jo`kgY?3OADrd1I(izk{{LrZIO`+)c50uoD@doOtDnm{r-UW|e&QUl literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/poliwag_footprint.png b/graphics/pokemon/footprints/poliwag_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..04e411726ba15119f5a6b05e162da2ee6e6e4046 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~vYsxEAsjQ4fBc`%D0|ZQ&tvw5 i_Mdp_UrGL3aDs_peu(t8mgfPkAPt_belF{r5}E*w*BPS# literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/poliwhirl_footprint.png b/graphics/pokemon/footprints/poliwhirl_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..14f6c2ea91330c0d557baed10dcc15a778484efa GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~ik>cxAsjQ4fBc`%*!V>9-^b<) n@|6O=63>5FJntdgTe~DWM4fM7SN5 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/poliwrath_footprint.png b/graphics/pokemon/footprints/poliwrath_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..8f562fcef69f3b823f11712c9d16b2a50d0fb07a GIT binary patch literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~%APKcAsjQ4fBc`%*z!d3-$&y= piS7&P-y{esOk!VH|1BZ)KjY^rkpo}0eFo`b@O1TaS?83{1ORh=9#a4S literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/ponyta_footprint.png b/graphics/pokemon/footprints/ponyta_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..906ee7a5b5306d3ac20589488b697be0ff9b74f4 GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~ik>cxAsjQ4fBc`%*!S;-@t+Co n3;F*9u%!H-bN)lQeGD%{=sSrcE~^?rrZ9NA`njxgN@xNA8MYg{ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/poochyena_footprint.png b/graphics/pokemon/footprints/poochyena_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c4afe995f028c17f3013e5c3adc00383dc796659 GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~MxHK?AsjQ4fBc`%*zxag`j23K zr}RsbeX{8mb#oqe+8^exZsY&NBmY#g?tOZL#_#{~3|X?0)mP1eDnX`ry85}Sb4q9e E07dB{l>h($ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/porygon2_footprint.png b/graphics/pokemon/footprints/porygon2_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..f92224af35c43509cc3e19c400fff249400a23d2 GIT binary patch literal 87 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~a-J@ZAsjQ4fBc`%*zxa%@t+Cp ji}?R&aOm-ceEx6G@NJUtH`c(AERYUQS3j3^P6)z#&wu!D&v4<2(D(Op-#kECJYD@<);T3K0RZv%9C`o% literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/question_mark_footprint.png b/graphics/pokemon/footprints/question_mark_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..7c4f45eaad890c5daa66312196220449bae97634 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~rk*a2AsjQ4fBc{SFy8jCWOAFB zYuh%Lw$Jk=>rNQkB&1i=%y}4Lbhz;_5BqG#JMC{3KK}pD_zopr0PqPL^8f$< literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/rayquaza_footprint.png b/graphics/pokemon/footprints/rayquaza_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/regice_footprint.png b/graphics/pokemon/footprints/regice_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..6965dbe60faf9d737d166f33082414b9cfb07195 GIT binary patch literal 76 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~!k#XUAsjQ4fBc`%DExOdyJAid Y!_&EP_jhM1egP@-boFyt=akR{0CNTuX8-^I literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/regirock_footprint.png b/graphics/pokemon/footprints/regirock_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..44da2a57fd99456cc87a3b26569c3b06ece88ee7 GIT binary patch literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~+MX_sAsjQ4fBc{SFx=*_e07`t xFP{7NjrRz&FXI2Bz>;Vmd+x(Y`6X}u*E9S)A+l5G@3ToD?VhfFF6*2UngE0tB8&h4 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/registeel_footprint.png b/graphics/pokemon/footprints/registeel_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..e191faabc874c27330f63af3b9bd51571239febe GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~2A(dCAsjQ4fBc{Su;2DDdtKY{ zZ55B76n<+9$P7=m?(ImHE(SVNUx`>pUXO@geCwq*CDL{ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/rhyhorn_footprint.png b/graphics/pokemon/footprints/rhyhorn_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..632b753c24f66704784dc8ea326165c9c4b23e65 GIT binary patch literal 85 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~GM+AuAsjQ4fBc`%*i?5v{l^V{ hC;l577o2~tc#6TLLF|cz(~o-~^`5SNF6*2UngEUY8f5?g literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/roselia_footprint.png b/graphics/pokemon/footprints/roselia_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..bedf2ab695d1eb9a1a5bd7230764362960d7a89c GIT binary patch literal 82 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~lAbP(AsjQ4fBc`%$oqG7`VVD( eCBvov{L%kYZ0)KbLh*2~7YSB^TfT literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/sableye_footprint.png b/graphics/pokemon/footprints/sableye_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..204d8da54da9b4672a45fa9cf723c85f85b6055e GIT binary patch literal 84 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~(w;7kAsjQ4fBc`%DEar+`45NZ hJ>+M(dRV}Tkzvs^>BH%XeiuQ?Jzf1=);T3K0RU%?83F(R literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/salamence_footprint.png b/graphics/pokemon/footprints/salamence_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..2440a370fd6a5ea8af7c21ed6aecde31ffb01417 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~x}GkMAsjQ4e|(?+(AVy;aDAKd zJB5;emWNpj+t~l`u-_2mIPq8E{DcxAsjQ4fBc`%*!1sh`VV9I mo+pxZADjgz@H+l~qj-uT%3gd$T5899kS0%8KbLh*2~7YHR~v%> literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/sceptile_footprint.png b/graphics/pokemon/footprints/sceptile_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..1958a47780b2dd76e35032e5b839227751dd726e GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~TAnVBAsjQ4EyB+jl&T)Sx0ff_ wM6yrA*rq7`#{qsP`zMYs`fZv1u4Y$a*#1N4=E`qvyFt1=UHx3vIVCg!0KCW^DF6Tf literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/scizor_footprint.png b/graphics/pokemon/footprints/scizor_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..00824374adc2500177c9e63329e3cd9ba60f8e1b GIT binary patch literal 87 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~a-J@ZAsjQ4fBc{SP+sEi%JxO_ k-vU@tn2-KHyyQR*L-j?evj1l;=Yn*2y85}Sb4q9e0M^+Y4FCWD literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/scyther_footprint.png b/graphics/pokemon/footprints/scyther_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c6b7730285ade3c17cba3a1d256f04ddbece8ee6 GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~TAnVBAsjQ4fBc{Su-=wq@8-0M wv@;*h&Uwge&0(9+ro{1`-TttAW!wM%j8B<``PI3Ocz|?!y85}Sb4q9e03-k&dH?_b literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/seadra_footprint.png b/graphics/pokemon/footprints/seadra_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/seaking_footprint.png b/graphics/pokemon/footprints/seaking_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/sealeo_footprint.png b/graphics/pokemon/footprints/sealeo_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/seedot_footprint.png b/graphics/pokemon/footprints/seedot_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..9b41f13eda5389862ffe3e10542bfeab085567d6 GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~ik>cxAsjQ4fBc`%*!S;-am@qv mh3szvSVaCP@;fB0u#DdF)(aeBy)Ac0+F2{^`5SNF6*2UngDF(85;lq literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/seviper_footprint.png b/graphics/pokemon/footprints/seviper_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/sharpedo_footprint.png b/graphics/pokemon/footprints/sharpedo_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/shedinja_footprint.png b/graphics/pokemon/footprints/shedinja_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..d4118d5e6ee8baa6a9096169d68c7aa0dbfdeaed GIT binary patch literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~%APKcAsjQ4fBc`%*zu1c(DpEY pHOnt%=l`!H|6OYq`NOi3g&}OO#H;P{H{+2|g|z)-MWvSs)8AUBW}Pgg&ebxsLQ0NfuN5dZ)H literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/shellder_footprint.png b/graphics/pokemon/footprints/shellder_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/shiftry_footprint.png b/graphics/pokemon/footprints/shiftry_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..3ea82a3daba0d3cf013e74f314ee4809c1c76da4 GIT binary patch literal 76 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~!k#XUAsjQ4fBc`%C@h=Mro^Mk XusT}C;OXq%Ss-Peu6{1-oD!M literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/shroomish_footprint.png b/graphics/pokemon/footprints/shroomish_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..d3a5986ce431603a6ac52528187156e0f150b865 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~3Z5>GAsjQ4fBc`%DEW7F`j6!E mADrhsd|uPG|F>gI2rI+te=@y!lZ(|rdOThIT-G@yGywo2DIBB# literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/shuckle_footprint.png b/graphics/pokemon/footprints/shuckle_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..e26b60bcd3520fce27686fd5c5f174cedd50163f GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~vYsxEAsjQ4fBc`%*!S;-@t+Cl iKMwReIOqikc=9p?s!2>-+Vd(9q`}kG&t;ucLK6Uq4H($~ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/shuppet_footprint.png b/graphics/pokemon/footprints/shuppet_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/silcoon_footprint.png b/graphics/pokemon/footprints/silcoon_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/skarmory_footprint.png b/graphics/pokemon/footprints/skarmory_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..1134fec29456c3fe6a9a24be629ffb0dcf1cf45a GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~I-V|$AsjQ4fBc{S@Lze`=kt>D ygTe~DWM4fe~uVy literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/skitty_footprint.png b/graphics/pokemon/footprints/skitty_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..355153dcb5062c5a4e056d70ece1951051c4cb71 GIT binary patch literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~hMq2tAsjQ4fBc`%*zxa*@t?Kn z6?e`TR9POrThuoB6_5X4NxSpuKkDW`Y`0~0;gw)yh+8Z9yr!b231o<;tDnm{r-UW| Dh$18{ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/slaking_footprint.png b/graphics/pokemon/footprints/slaking_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c2c20413baa99d9dd5410c7e99a61a2a739ee0be GIT binary patch literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~mYyz-AsjQ4fBc{S@Ogb(|7S_L zZey9CG>b=PE?hWt;lRNI3MUc{o(VX9DB=9U1NTl`xOb*t#{7rPwhYVt`4(pNzupfr N%+uA+Wt~$(699baEwTUr literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/slakoth_footprint.png b/graphics/pokemon/footprints/slakoth_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..ec258f41b0222a2be42189be8ae184eb2afc560b GIT binary patch literal 97 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~8lEnWAsjQ4fBc`%C@K5r{DtK6 t2L1CB<%|zYI=0FG;rTyX@?U+6HUmTYOGyO{HO4NGUQbs)mvv4FO#rY196cxAsjQ4fBc`%*i?5v{l|^- m9~$Lb@t+Op gKNR|#8k9V;7?PGrstSFQa04m#boFyt=akR{09GFt;Q#;t literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/slowpoke_footprint.png b/graphics/pokemon/footprints/slowpoke_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..a66ebbc32e0fb18886e94ab7122c9a429372db80 GIT binary patch literal 85 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~GM+AuAsjQ4fBc`%*!S;>@t+Os h3;92Busl&($;gn-C+VxGGw(h~y{D_6%Q~loCIC~47hnJY literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/slugma_footprint.png b/graphics/pokemon/footprints/slugma_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/smeargle_footprint.png b/graphics/pokemon/footprints/smeargle_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..b946130cdf0ba968d7bd6fa05c93c734255e521b GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~s-7;6AsjQ4fBc`%*zxbGam}an riUWL3@;@A3wA=99biO#hYJnF6%XyJkEdmF4KpH(={an^LB{Ts5kAxjN literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/smoochum_footprint.png b/graphics/pokemon/footprints/smoochum_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..e901d9334cf4cf715531d83a799193ea9c7f786b GIT binary patch literal 83 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~Ql2i3AsjQ4fBc`%DEW6~`j5o^ fmRFMh7HBXq%$_g3V^9ChV32B0S3j3^P6Px# literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/snorunt_footprint.png b/graphics/pokemon/footprints/snorunt_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..14277b50686d0337ff592eac1e3b766afe5c6d8d GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~N}eu`AsjQ4fBc`%*!1tJ@t+Cl nKMwFa@!xRdIK;-qv^3!qgXTrC=RUIO@*rKFu6{1-oD!M<4-6Vw literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/snubbull_footprint.png b/graphics/pokemon/footprints/snubbull_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..443847cdd4ce7d512e40451f95983195b824cefa GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~3Z5>GAsjQ4fBc`%*!S~r l9|!s!?4L;fyJ4)bl93_tjijif#``xQJ)W+9F6*2Ung9=H8}R@D literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/solrock_footprint.png b/graphics/pokemon/footprints/solrock_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/spearow_footprint.png b/graphics/pokemon/footprints/spearow_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..6fe6e42824fd560dcad65a8e324c6badcf8cd329 GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~s-7;6AsjQ4fBc`%*i^TlePRD` r#~1AO9DgUK|48R|`v3YM#}Xcfu3M6~3I&<8K^i?>{an^LB{Ts5a~~XH literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/spheal_footprint.png b/graphics/pokemon/footprints/spheal_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/spinarak_footprint.png b/graphics/pokemon/footprints/spinarak_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..6965dbe60faf9d737d166f33082414b9cfb07195 GIT binary patch literal 76 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~!k#XUAsjQ4fBc`%DExOdyJAid Y!_&EP_jhM1egP@-boFyt=akR{0CNTuX8-^I literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/spinda_footprint.png b/graphics/pokemon/footprints/spinda_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..7be943a892aaef2f4d8336f73fb21149e4666eae GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~s-7;6AsjQ4fBc`%DEart`42ni rJ^WoK@Jsjn2lsgo=i3~vuinALuy&_(SPGNOLXbvJS3j3^P6GAsjQ4fBc`%*!S;m`VXP= l9~|Wx>uwnTS()w-#LQ6ZBc*@rDVHcnkEg4j%Q~loCII@I8oB@g literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/stantler_footprint.png b/graphics/pokemon/footprints/stantler_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..7f2b0f5325ae5274beb4fb7cd1b9b9937413179d GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~vYsxEAsjQ4fBc`%*!S;k`VZsz i5BqJnex;vpSi;6o>mtQFcZ%i&kOogzKbLh*2~7Z_OBtj9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/starmie_footprint.png b/graphics/pokemon/footprints/starmie_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c1c0058e74e9c2354f9bf9ca74251c564bcb95d1 GIT binary patch literal 81 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~5}q!OAsjQ4fBc`%$oqG7`j2FO dCkM7R9fpIaWFr^6biN8w>*?y}vd$@?2>|I{7Igps literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/staryu_footprint.png b/graphics/pokemon/footprints/staryu_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c1c0058e74e9c2354f9bf9ca74251c564bcb95d1 GIT binary patch literal 81 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~5}q!OAsjQ4fBc`%$oqG7`j2FO dCkM7R9fpIaWFr^6biN8w>*?y}vd$@?2>|I{7Igps literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/steelix_footprint.png b/graphics/pokemon/footprints/steelix_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/sudowoodo_footprint.png b/graphics/pokemon/footprints/sudowoodo_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..4ed751a794271e848ccb5949859fdf45f2e0e428 GIT binary patch literal 87 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~a-J@ZAsjQ4fBc`%*zxbC@t=wA juHO_6)_+Z431fC+P=6$$HM7De5v0S@)z4*}Q$iB}rCk{t literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/suicune_footprint.png b/graphics/pokemon/footprints/suicune_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..946c35dd0efade8dde45842ecdd7a8c04aba0df6 GIT binary patch literal 84 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~(w;7kAsjQ4fBc`%DEas1`47%= gUH=*`+E=HrGIaDyC5hdaasny$boFyt=akR{09BG01poj5 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/sunflora_footprint.png b/graphics/pokemon/footprints/sunflora_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..f6de3ca9f5a0ca46b74bffa59bf5644822b442cb GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~3Z5>GAsjQ4fBc{SaJ}te|4NNt mjV=EiCfJJnU7h~pzdXZ3B@suDTho<6dOThIT-G@yGywn<(;N{1 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/sunkern_footprint.png b/graphics/pokemon/footprints/sunkern_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/surskit_footprint.png b/graphics/pokemon/footprints/surskit_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..e4945976fc4d03603529884f5b53f5caed5e57ee GIT binary patch literal 87 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~a-J@ZAsjQ4fBc`%DEW6~`j5Ty kA6~B$;7nP3^51`chVu*L_FVdQ&MBb@0O8~uD*ylh literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/swablu_footprint.png b/graphics/pokemon/footprints/swablu_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..7e71113c3aff9a09dddd9672bc7f1200f7cb7a74 GIT binary patch literal 82 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~lAbP(AsjQ4fBc`%$ouy;zuPyS e|E~^mxQa2H?UkK6LF0EkKZDT)aTbBnPeLG5JYD@<);T3K F0RYC)B@X}q literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/swinub_footprint.png b/graphics/pokemon/footprints/swinub_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..fb56709ec6e920dd60f932e9b39bc68d95d5e68e GIT binary patch literal 81 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~5}q!OAsjQ4fBc`%$osc9{f9EY d>;E?wQy7C-&Nz9 u`tu)7${%5vWdB6+-;L%Q4lI*cS28kGC`c-N@Y#M6q}S8c&t;ucLK6T9#vd&J literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/tangela_footprint.png b/graphics/pokemon/footprints/tangela_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c05d3b4375c5773f50d3640439fee5368b504d10 GIT binary patch literal 97 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~8lEnWAsjQ4fBc`%*zxbA@t+6j uKMwG@@+)-6x7eL9uGx_OgE8#ee|v_P!6J`CCJQBl^m@AbxvXcxAsjQ4fBc`%*!S;k`VZsz n5BqII{_f>>`u|39!W9OF=_{rC{j!6UL7F^W{an^LB{Ts5E@m7N literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/togetic_footprint.png b/graphics/pokemon/footprints/togetic_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..b15913fa81c98af152bc727accfd91c152c53e5a GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~ik>cxAsjQ4fBc`%*zxae`VV9I nmbwp%7u$bQ_;P+8;~F6b(?epNr2@$}K$<*V{an^LB{Ts5EA<>d literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/torchic_footprint.png b/graphics/pokemon/footprints/torchic_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..955afa82accd31a048e4e2cdc2d3a1d5b8801017 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~dY&$hAsjQ4fBc`%*z!v9UZkM(m*oBSW1`X`Pt3QSrI6TdpJF<3~7%S~%}76vlG)78&qol`;+0JKIR A4FCWD literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/torkoal_footprint.png b/graphics/pokemon/footprints/torkoal_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..208f3bb7755de13b144695c6197394554a441766 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~`kpS1AsjQ4fBc`%*!1sjdd1}P zACAbk$bB%DNnl@i_$|-ze&acw=@kple>g0+f``GQR;>5HYgr+AsjQ4fBc{SFy8jCaA_O! t8HFz==00q<;rP3;U1@=i0OQm~L53IS#W;7q;g1Dr^>p=fS?83{1OURl9i;#O literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/tropius_footprint.png b/graphics/pokemon/footprints/tropius_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..e6e7e8795a72a03bd426610175fa67731f9b68b5 GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~CY~;iAsjQ4fBc{S@O*un`d6Ow zZzSce8t-|Z{^Rhu0)~zmjxQJmHX7F?r2ja0{=@ls5C7LQ{MQoR@-uj43&Do4v0QEu4}-mmxZPB9`x=lIPgg&ebxsLQ0LDofZvX%Q literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/tyranitar_footprint.png b/graphics/pokemon/footprints/tyranitar_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..ea12c75b08769cb2d340cd813324996649517447 GIT binary patch literal 97 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~8lEnWAsjQ4fBc`%*z(Qz&-U~m udFMWO&V9&iE%NsPyK<$#uVntPZ}JRcuS93KomzYzq}S8c&t;ucLK6TLksrMP literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/tyrogue_footprint.png b/graphics/pokemon/footprints/tyrogue_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..0ef849eb894a9c7217d53a5cb226786240cf94d7 GIT binary patch literal 81 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~5}q!OAsjQ4fBc`%$oqG5`VZy) drUoU0NQRy$$q&<7KevO_db;|#taD0e0s#2a7ZLyf literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/umbreon_footprint.png b/graphics/pokemon/footprints/umbreon_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..a1d897dc37dff520fc67ed0335aab7ca2475541a GIT binary patch literal 81 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~5}q!OAsjQ4fBc`%$osc9{l~$6 chx#WIQyC{*kZRabqzP8*>FVdQ&MBb@01KoSK>z>% literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/unown_footprint.png b/graphics/pokemon/footprints/unown_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/ursaring_footprint.png b/graphics/pokemon/footprints/ursaring_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..b1023bd3b7aeb3fc7753ba5b654ee533d1358a2f GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~TAnVBAsjQ4fBc`%*zxag`j6oA w7bc%6_-A>Tx44b}6A%9nL5>rwruWhRWWQ(-VD<1>FVdQ&MBb@08-8$L;wH) literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/vaporeon_footprint.png b/graphics/pokemon/footprints/vaporeon_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..2b44d4b2491b80132b81ff783599d8c301e6c490 GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~s-7;6AsjQ4fBc`%*!Scq2xkYRYuG7V~Uzz8`3)1N6>gTe~DWM4f(F7j^ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/venomoth_footprint.png b/graphics/pokemon/footprints/venomoth_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..6965dbe60faf9d737d166f33082414b9cfb07195 GIT binary patch literal 76 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~!k#XUAsjQ4fBc`%DExOdyJAid Y!_&EP_jhM1egP@-boFyt=akR{0CNTuX8-^I literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/venonat_footprint.png b/graphics/pokemon/footprints/venonat_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..3675945c9241a95407d89551b26a714a3978acdf GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~3Z5>GAsjQ4fBc`%*im=OxMm9b mLVk%C?Y10$SEe(pW?^93COYN+=FKNTdOThIT-G@yGywp;0U8Vd literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/venusaur_footprint.png b/graphics/pokemon/footprints/venusaur_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..bdef2c818ebc7cbff4ccb99329e3fa895ed23e22 GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~>Ygr+AsjQ4fBc`%*z!tp-%R70 tp!A9ZJWlKqf*dFQ9ys^GU2e@Adxob?!Zq7WEBAu5db;|#taD0e0sy2g9lQVl literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/vibrava_footprint.png b/graphics/pokemon/footprints/vibrava_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..fdf76f9f2289646d9f7e61d48684a2838409a4b4 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~vYsxEAsjQ4fBc`%$UAp^`iu1R ijQj+Pdp&wz|JySxW{{D4w&uqdkOogzKbLh*2~7ZuU>YL; literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/victreebel_footprint.png b/graphics/pokemon/footprints/victreebel_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/vigoroth_footprint.png b/graphics/pokemon/footprints/vigoroth_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..bc10a72309ece5db0bb447a7a289cb42af011496 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~rk*a2AsjQ4fBc{Su-^9Y{u+T_ zkI#L0Z*f?@v`zjIkNpoxyKlxdcKlBA&y8y)r2j}f|6#ctgT+U&x7-Kf*gyt(y85}S Ib4q9e04bFwEC2ui literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/vileplume_footprint.png b/graphics/pokemon/footprints/vileplume_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..8fd5bdf83d2c0d2421eac17bf99e4ebf4a4fb0c9 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~3Z5>GAsjQ4fBc{SaK7zf`AU{w ljE>(7LinBP{~7;bS7i7WD3*nKnpGl$=){*C0n>&_w!44sdqB*?y}vd$@?2>|I{7Igps literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/weepinbell_footprint.png b/graphics/pokemon/footprints/weepinbell_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/weezing_footprint.png b/graphics/pokemon/footprints/weezing_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/whiscash_footprint.png b/graphics/pokemon/footprints/whiscash_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/whismur_footprint.png b/graphics/pokemon/footprints/whismur_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..a2ad42b4cabdd82b5b275d75f007e2d2e5f16b0e GIT binary patch literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~mYyz-AsjQ4fBc{S@OXV2|5qOV z|Hd|x(<=_1|Ij@5A+vy?ag9LQkHj+{9-AMYpVC(Uj_3bR$$$UZ8I-?>{%+Iu?f@C) M>FVdQ&MBb@0Nso!eEGAsjQ4f25!P;4arvci@7& m#isT}@?RCcJhwmm|3AZ#*&>U6MQL9G>G5>+b6Mw<&;$S$cpX3h literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/wingull_footprint.png b/graphics/pokemon/footprints/wingull_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..057b2cefad6c44ce191fee72f5a3f3cf1505419f GIT binary patch literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~%APKcAsjQ4fBc`%*irXB{YNIh oll+sw3;fjrzk<&*1b+K(&!F{3JT!R8{%;^{p00i_>zopr07F0=$p8QV literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/wobbuffet_footprint.png b/graphics/pokemon/footprints/wobbuffet_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..49fa6818d129fc3a0be1917dc361834456f06769 GIT binary patch literal 81 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~5}q!OAsjQ4fBc`%$oqG5`VVD( d*Z)s0rZCQ*C_SywOidf4*3;F`Wt~$(69D}l7N`IK literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/wooper_footprint.png b/graphics/pokemon/footprints/wooper_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..5e1ba56e61e3e0899204630a37d9ad49eb98530b GIT binary patch literal 81 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~5}q!OAsjQ4fBc`%*!V{B-^s-a d3pl!({xf90k^ED8Ub_gS*3;F`Wt~$(695<+7%2b% literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/wurmple_footprint.png b/graphics/pokemon/footprints/wurmple_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..3ac4abd9f7a1a2a8d1ae64d938998b423cd51001 GIT binary patch literal 81 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~5}q!OAsjQ4fBc`%DExPG`VVD( dCkM7wA`H8jWM=Z*W!?o+>*?y}vd$@?2>{DK6vO}k literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/wynaut_footprint.png b/graphics/pokemon/footprints/wynaut_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..4fe4832c08b40644a12d1572d6047dc7cda5e97d GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~@}4e^AsjQ4fBc`%*!1tF@t=wA kPTv#+1y-dutp535p23|-;v8cwXDCREr>mdKI;Vst0KGdIQ2+n{ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/xatu_footprint.png b/graphics/pokemon/footprints/xatu_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..44fcad1e3ed9a90d7a426104e849b53c176eb5e3 GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~@}4e^AsjQ4fBc{SP@d=SN_W@) klK=jt|6p{hKltK*J;UaovKHw*nYkb>p00i_>zopr00d?nfdBvi literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/yanma_footprint.png b/graphics/pokemon/footprints/yanma_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..20b4a00b0694d397444b00299c735e9aca84f6eb GIT binary patch literal 84 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~(w;7kAsjQ4fBc`%$ou#1`47kC hTK-*K?EUvYKf{T&vNJZU&o~HD?&<31vd$@?2>_tA8>0XK literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/zangoose_footprint.png b/graphics/pokemon/footprints/zangoose_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..e07e58ceecbe4f320a940c538d4b2223aa8fd346 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~dY&$hAsjQ4fBc`%*zxaP`VVP- zC;K0gbzhACM4kWOEq~-krJTxF_jwQJ+cHO}GGsbS7QAY>zYk=Br>mdKI;Vst0OtWB AmH+?% literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/zapdos_footprint.png b/graphics/pokemon/footprints/zapdos_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..480063a88b754bf8889b0d48e7eb984ee208bd42 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~`kpS1AsjQ4fBc{Su-=wq@A@>0 z^pgc=COn*Jcvv~LjsFdg{SV21Cyf7WZdaPH=|98ob0TLs4kWw+8R6;b=d#Wzp$Pyr CYb5mm literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/zigzagoon_footprint.png b/graphics/pokemon/footprints/zigzagoon_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..d7373e064189cfb22854231695714a414b75a53a GIT binary patch literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~+MX_sAsjQ4fBc`%*!S;m`VXP= xA6CqN_`9}E{u__{6G^*M#(!?{3$YX(%wm|FAf>8#e`_vCyQiz4%Q~loCIF@)A#nfz literal 0 HcmV?d00001 diff --git a/graphics/pokemon/footprints/zubat_footprint.png b/graphics/pokemon/footprints/zubat_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ccf57f373ce23b1fe41fe7de4a616bbf5c2cc2 GIT binary patch literal 71 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~e4Z|jAsjQ4fBc`{D8j<<*H8YT S$ph={AQhgjelF{r5}E)6S`qR9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/abra_still_front_pic.png b/graphics/pokemon/front_pics/abra_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..a3f2aa4533a975671686f7cd82c77a524db141f9 GIT binary patch literal 575 zcmV-F0>J%=P)!0RR60|MvEz|L!T?%^-tX5D*X$Yd-OA00001 zbW%=J06^y0W&i*Iy-7qtR7i>Kld(?2Fc5}4vS2@5`v!D_j%9>YH$VF@@QZMa> zGWe2AEF?}gkg#JesSs^ri-`e=o2=aDyWe+z82gXE8M^p71OT&bxF$+JG=9Ls_H_-Y zr40b*N=gX;I}89K+XHPL&>&u=ToaIm0511H66nCxrtc62O4vsdXmJjkbq`lEV3Q890gvpWMx>h5Q^tlas4`S|S_ zSMRggHRIl4&BxQl!u5cF!q;MPGn!1P1p%|nt8qRWU)8B=2)OY9@x^GOHQti@zz3A^ z%j8NgQ^wlC!gyz7rzvXp&RUw*2_R%a%Ht)b5!9}m_Q@-RdSvBB#`qy2$Kg77VWBl3 z*DLZI0a{X*9OmG$twq%~ZJvup^uWLl1UM%0?z=S! z4wua6JKT(2w)2_$NU8kpGY0h);)9bs0o+gvI~> N002ovPDHLkV1nM91`GfI literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/absol_still_front_pic.png b/graphics/pokemon/front_pics/absol_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..17759b2e7beeb23cc7f1259b7b820c47ccd6996b GIT binary patch literal 890 zcmV-=1BLvFP)tgOw0gRELwgDE*Vl%%9{gM(6HVgLXDTjD$B00001 zbW%=J06^y0W&i*J_(?=TR7i=PmA`M=KorMMDw`FobD}P(K$vWi5`|-S@0|_7XOp2GY|HQC_rCYO_XDB-xs*7L--@$2 zW31oX9Un5bh~s7E+vDrI=XlHxrJu^f&Fh{sWOhF7Y?H!uyn;BItyAnd&Z0@Q!2t$9h*oBe%@SaeksttsN(-~WrW$Ez4f1UZur0=f2_?KF=l6tP^{h(OVk7b5 zS4|#`NuwbRLt!w^QWqbNOw#}D%NY=|0Dvz3_|m7JD?H643n;=K!>>3qI(iR)WW2)Q z-o+L7o_Y@Tb3pm|76#G8gCTW?o}cX`$QQpb|Lk!5LTTX38q3_CX2>5HTaLwYbRnZ0MN_=f6@#B(Ceg4o-Q&#l#HULgI_hSvfa-2VMUHKUDV=T4Wn!$ zc!?^C&UFE3&~|kTPUFu3d;ebXS_i}&`WwDwTs=1ZTfo1}zQ;aWEU7kz=NUZtG zyAhG@DhC+GwOE>9YSixBDyJXkmPE=kBfYEB4Odx1<<=L3Xz`{zmJ>hz_p98`; z1(H3`DmZS^PtfQ-iLE@a&UO6tnA%28HUFUNKu*1Q13H9WoPg;MaC>O4 z3G|>#9J-d&d+p>{s5}zA71kQzlcDxX=Mo5XR*tRDID4?Yde1X&-psBn>)^_lFW{&S z;sHwc5YAA(KZGB7(lKeCCHSE@qpuDA?#69c36p_M?z$O^ScpR6aB{!wQZO5fB7*hW z(XrbRAQXiJT4M*|HbIX??{xcWr$5Yk5+Yp4g=ip7^pBC zQwF~8>s@5j;_|pvVw40A@sbO+gaKows1?V& zLg)z(*8xO(LM-0CDV-b;A)ilYuy2SL4&~r@-)_#&E;rLDz|L<5G%wEJ-JUSKI0ssh z@!NJS+mC6a#o6V~26-VIfcY#p5;h_Ag64^HDNCnroe1VX?v!igpcn>(pWa&4b?Kv? zJSr7HuBcUg-a6Perk@@$OLUZ(ak{mdxCZ=41SGAY=(liOP>~T5Apx3rr->g;r^Y5k zWe6+bHVF&k5)Edi0wVlu1+X-Pq#+&R9}^)-mQ8{WDTV*$;|C;_QB<*LyBN7FudjWj z5tArMQVf~|blI=3zRR#!3Y!dHS@zW^bL|2Ll_J!2FxUD%8sSoBgeQQ$-@bMJjvkOE z$w$;QSspY(SnS{Evm!C6lx8qes9!qNjH@r6GRHD?$r4nMq;&#G$mr2puIUmdOCbvD z0j@_6W@LSH%w=FA)L#`WlwRbTV@p2Un8eKpESVNFZ7YvHJ&1Hu1C>|AbeSRK;9;Xo zTgvi@4l`BWNgc~pu{`)X(=vJ{!1jh&({yzQ$jv=Nr=0L*C!WNTOfpV);w%Bv2E&CUP+|ExJm-fC+9gM(_l{{R30T)@xq00001 zbW%=J06^y0W&i*L1W80eR7i=fmA`M>Mij^C3|2Pz?u1(8Q1*@liewSUxeJO`XDSi0D z3BPR^X<7Zxzg{s`R#TrIih~9)2L1EDua8{Cm;_=GHh~uS_h&{bS1pYxq+%j##Bik4 z5SsCdxe77DO(B{<3-U)&zrDF|6$St$LiFkepcBKce06jAPAN=z1bS8n9xGMAEZkgN z{-JV4IS~M`nv1bAExq*5FWVc;DND-GUnRWY!By-Z6{_FM~r@4 zKvpm6s%`K`Ws}65<6dEhbXhN@-g6uu0IPFu2#K1&_=N5uW+X24DCraKHh`x&rQjdY zzyeUHK0$ThQ6EG%ry@%dFknlaM)e?*XD19Jg`mV)7LmE_1yaQZ2*1`CQwsy zf1>s_K#UjwZ>{ryc!onW4zAUv*d)d!0M3Jq97L-mB|cTTUlo%)J+VNMCjCT&JUTPp za!rr&q#FI5Ckx0z6#{_`0Di~bjInNxL}kKXQ|2zIATSDP#y?n93k z8KM;Z3`)^s2vgZfH|y1g`?n)Pnv2y>X(#VJfLdU;i?Pn%ISU+7~wWgK(>ps_Kg z6ISgP6msA0uY@03U>-qynE9+)uQp|0V$nxnq6G3=pmz^A2GdleQ2x?{ivfsfz}B1P zF)S6ZF>f6`mFjcHOEBpc>xI+N2xUrsV`yQ4K zA%hU8@SzQ${ee^5GnViRa07hfkU10BDcZAxVct6kwkM{Iqu6y_1Ca z|CYVw9@SlT7PDM2nme*VSD?8KQj2DDvIOl7aPs52eAGmXhxf!X11L9k$VkS)U6ag}OjK@Aq(od zPaxs|bs>Nqpe8pRVL;lUp$e7wtIO$PrCmT$5KjvS=nhhe zn>fa3tpl7GxM{w|6VpSS3>;s_#dUk{$G*;+Pw}+>X8ROkb=^KV*w?Q*FN&`2Ihxss z+j|v(<+AAJ&hKyCy=iL7uq=Gjh>X>n8am1~Oj^o(xAxP6NvbS!O^aIbez90gdgVG( z=r{(Y7+7oHQGu1Oip&`ExPRrTLS){^pI!Jr5Z#Jh0Cs?g`8)hhAbAit?&9C8;uHLv Z^$X$X$MGPlFaiJo002ovPDHLkV1me-FNFXA literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/alakazam_still_front_pic.png b/graphics/pokemon/front_pics/alakazam_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..bd6d57240d04dc61f46e3bd23ce86b202e2c3ff4 GIT binary patch literal 1015 zcmVjxLc zoL68+U=BdEcvRp|Y@h;wqgAvtXkBdn-@ACQOn{F@IideG7L2lwQ95!d6t1zr7|lea zZiLoaFea3g10Z0n1!F?We*ek{CWbT$cok4N9-Jv4M(x9O^9MTvNdb&UA=VK4%_jp1 z3xM;-tMk{Jcg=Dd7{Z^Nw`^ei!`b}KQ3wIIB_4etU+mB!9DhX$@|5%T3UIIoFFt(G z|7o+j3j_HhZ|$uDJo7mLoFm1F_xC#%u$RGuzK;~a*Ii*LRJiD55Bmv*{_#u*vA=qn zE`98Ukl=7O6=qn+Jr(V}5WeA4(LDoJ=b1ZgCn4-&^rpR5fI0CT4L}Fo6`iAz1+YX> zHenCLHyu4+msDvOHBXVah7^dHJ@+&lC)qgNmw$p!Bci zcB>SlCnXG>95a9(P(pm)+%8>LWlRY@Pv{uICqO>G-)yzME(^$^0zA?n5U@;N1KDPtb-*0-APXnJ%h^2v;VqQZ5u+-`DX`&y&nq|iG#ZHWR< zX>N-){U*%)tXgY8I+jCG1l*Po>VWHry{&H4yw8#Ld@PEEG3yF7)QBUuUc2dSnLWd_ za12g@U1~n2FX+1GdCC;=@-`cdBuZWyfUcA2JKiTD%m@9;UfLjADo7pEddxMtly9*& zz67p)RNe4Y5Y0{9pEoZ`n>+bM+ht^ng8I1u@GO@I$bZQ(-um>M(4I&B^NAu4;km4N z$3MKS#)8le#<8QQyDj3HW{vt?{bpk!!t_MHe*f29)aSbnDV&boclFw>|D=QeVnKr-2&~orbF}Vai^V}|obLAj-rnx4w8beoS^xk5Q1sQ+00001 zbW%=J06^y0W&i*Jw@E}nR7i=vl*>-rKoo{Y-4Q`}g~(k}R0%I@_j&pTL4AOBLM5o! zG!uygsSEIk%c7gA9;7H)H9nxoEFn^sB&rNjH$a8mb8IKJV;iZPo+z<1|L6Z)>@j2i zJ*1S+>Xz`l>Haf%%VVrsPE^DRV@plW8=?e|W46S@C?*hC;w{hf1V$kt$IX*59=&M^ zaQmN&V|X&liQcP$5WjV^SRD=7R9d2=mjD3g!wEho2Q2luz&vy}`?NTVK>E@C zg?>gzICH(fk?7OLC01(P3~Dm6+Op6S1d9VW50)WKacKqE~P? zT$(X*uyrV9A0V@T@x8k@ih;Mh*?ez+%d#u-s?OR_6-;*-9ONep8incF(e5VJ#=%k2LJ-&QA_4zhqCB)4*Se2(Y z98DiYrvRwp_wh6!i`9uJOoB?l?zh8Z2|!x8^sn(30uEz;qs}IO00000NkvXXu0mjf D6vKJ5 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/ampharos_still_front_pic.png b/graphics/pokemon/front_pics/ampharos_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..cc4956afb69129b9dc92535efb3ea07a76fee66b GIT binary patch literal 721 zcmV;?0xtcDP)4mCcG1K@i7VOoKb%VHROw$*CqDHaE9s5CVcEGpx)h zJCnK0TZlr?n_rO4O+*%R3M2zb;~Ol2-Sg%k;!XDjJopS&ccST;>As6~2x;n<>Z$`3tOT*@oswHb*LJP9RnHq!sch7fXI>}V~q{qmw@%91{{+AungR4t~5Xp zATWqD;Hr83Wmko~!NW)guGdund-HH=0c4pT=Dkp>^X`R~153&8&*4Z{^Vd)9a2pY0 zmYxY+3`dK{5$S%u_)r=M{V)h~`b^rT5K9fPKnzcwF30$e~!k_V!q zMdJC(EkHyx!%hX@x!BtP&*YM%sE_C$d!+z1q60s&0SBs=aTwM8Ox1bNRhv4`>wd1v z7;b>Va05Sjx&sUW7;l}EfB04{q7i`eA=&d|YD8!%f9txp1d#t4e+*; z$REBm__>sE``!5Gak`K7eJcTP(9}QeiroI7|HJkhtt`DmSnD5600000NkvXXu0mjf DLCiw& literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/anorith_still_front_pic.png b/graphics/pokemon/front_pics/anorith_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..425ff4c0d67bf9f1b5607c02ace9b3363e5383d6 GIT binary patch literal 691 zcmV;k0!;mhP)KlreA9Kp2KC6^2Zw8v(Hxb*&{#RxAZ)#TDsomHapQ z2RgT_Q>n~0NS(0}C_^_xW+W$(DzSw-H@!$n8~fwV38;2`&JTcZuqA)bz3+Qx`_r`l zRa+?C0%WYf)Id(9M5fk3l*vmIaFuE~YY36+`;Qs~G>z+RzSjhxH|ES}=nJ6TX+8^> z>k6Rdi3YN52NX;D(N{nnVB8Vh(t8M;h4HrzP|EBSuEXH8+V}D#?iiy9P!0*kVHIe7 z`22lhfKbS}o8adUg4{)6Jj;?XP{v*Q>xWlXXnD&p9vY)DrNY7;4T8Wg?;wcJ>CZj* zYw;|&C{t4(=aiKbYbKZv6?IeF5mYl;vU@_W%S_SeX)t zBAAmb8DODRO1Waw-mTA;QN-s2Rv6>T+eGmY-uiGCec~42VI_hrNRdSa@czI&#L0DK z7i*EW@D&N*5LS@munLgH4FMp;JrQ|Q4Jt>eJvNS9(|kqTMJn=C)kVG2L7UrMSb)q^ z19Ws#>Y}6Lnx=HnUzo)@KHFCTRsr1TyS2cMZgL5rmnxuVIocYi|M7MlUU;LK3b5_s zIU))G+1>Ts)pzTG17~w5Zf!`7Z@v$1TJ^x6!NyI+^gtT`wgSo#nU<}Tm2aE&ssZ+| Z*KgC{T;H;VNaO$j002ovPDHLkV1gqRJ?#Jh literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/arbok_still_front_pic.png b/graphics/pokemon/front_pics/arbok_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..025f84b90e52667b7595fad4505f85fb2d17e0fb GIT binary patch literal 899 zcmV-}1AP36P)0RPR+&Hw-Z{&|8L00001 zbW%=J06^y0W&i*K0ZBwbR7i=vmA!7%KoG}WS~?393VMPRo+uIp5=x58)fB!I6ekL9 z@LEcnb@Bk`Sr_Tp+i`Inj@N?Mpx^;gGP~y^{t6welp;4j|L1!*2>$aSYT&PSDHWwp znj_2h??0a=YNPPS)dLairU46JkcbSbW)cXO%L+(agNT#Fv(?96OAtEcybq!&3A2e$-!V{G zs>BvY5;N5CX`)5N2xpt&2vApF-`5)ewl4(X$VW{z00LMIF#`sR0bof>xq*}*K4XAJ zfCg?CEUaFizwp2y%1B>=tyrLnk6vC{*O65pC}T$mf-?``82EH@nUW~iXRl7cw{!r| z=i`%0LHhIj=mMO8`UA{}9PsV@c#%3_zDP|6n9+7Ci2?oL^&1{3m|uWkJ5rm)R^CV{ z(}>FT@tk|jxq>Me(1!|Qfs(FwJPEOLUI7be_HY0qNU_M}iYp0_>O@r*i?jpqscMvk zExAivsv5CyK~Oi#1aT9UDN)G*Gz~av04N<1qz$yE?;!|PLuJ5yJ{(r0E)W^AEABUR z1bQBXqH^U*)!OTUKxmBr-?l{U1a@5yN_il(rr6t&dIM=q*;KwBJZIkCk021*wqFQ? zjqg)80{+>p^lG1uGY`ub#h~} z?6#>q@HmZ!1GSVzp6A7N&VVr-^<58$_|hre^;Jo)@I}g7+XZTw5m`<~FrbX#70$C= z2S_A0+*KoCfYe6b@GaF@-UwArO+}=)4j>*`^Emb{3%r-N#3PyT#iClETdk0%+I`C_ z;sN0**9D>y8So3_@ADSuL@C^6I3O#W2l9aF1DG?A@ipE8N^Lr6TEC2i??Yoqos9pPSql4tYjXR-1-G5Ye~ ZpWixMmnXh(ABX?|002ovPDHLkV1g9dmeT+L literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/arcanine_still_front_pic.png b/graphics/pokemon/front_pics/arcanine_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..2ee31ddab94ab65bfc4ccde471f40519deb5b191 GIT binary patch literal 1061 zcmV+=1ls$FP)%?%cda|MDamtl zrIuGvRbUQ*BL$?8$VNXv0a9F($DZ8>x1?j^3<;JfIR^vc!Q^IU$zAzu!$q15R4iw{ zo!8FDvi={jKc$Q;E8BJF>Ez=pUz}Q**8&sU&9V=Ga56p3TsBtlW80mv=&qA#=00YO zDG&C^%yk*_?>L#FDr77uOFW-EA)v!MnYo@HGI+fxCf3wLz+)^iR!8nqkAV;IuaW>) z*%>ogym=tyckrN!*G*YubC-mGGY$MKpSY*;pKtlIa#KOVMxBeX?m@g_%pJe^s$9hg z%&U>|047H71n`525}+*bG#29ax@$g47V+=^FN*#&KWY?^lua1a)u8Ui~mo z>L^XDvMd#lnj~$2>p=@Z6mLZ#6;YWYtTY~Ipo*nziNu!LZo_c!{lhLX1c+EA@6Xfx z>%ogIvy^~ZH2HHf=#jCv@)oqzf?U)D*ii@cj1}S%@1xYYWlwA~mfHiMBA_5}HUpE0 zG{m+e3hd4S$e7Hu3(*qA4xilsd**BVMhFGSh9*b@4l_i8?hk-oKU^fb@ z{OVFPzOKSP3)sl>JgNkXC>nfj&Wpwjt<3_=SdBVRi<+Pb5TGs7H3T_so@xaF%V3Fs zT$z#Fv-3QJu#IrVizUKq{%mE|!bu^=%LJSY&Y#le2V7u;u91#^p2sVg(NkP;{u^c! zZvLW0)@?}7^GySL8svAJ|A9S?%N4c#c?VQ4vG~<3L=tW|@6VXpOGp|$F3!uol(#k} zeS35N;vUv3l|46Ojex+FODyN6-@iw1l&Ok!h~7nCAmCtC@B01ws{VN+NY?@UQh%&3 z`n+w>`tks*IoIy+$W?=Sq|<*ei^VS@*UmWqotDzc#YQK&CZOmFLV%Mqrx10gvo>qY z!2pYe0xTRHokCsbCY$?CueRm2D+h9sgDk&oxvv6IHa3j;hU zIV<=1&)xs-*@EyNuC^Dw8ifNn6AKe-xr`@ms z(4h2D2$WaM{RU~xNQ;o;K(%`YtOof6rIt8F$ZTyJuzg~P3#eZ{hoxVa=^k~;q)cj_klVs z*^^y&3%WVv8%0YN-nWH5vj;BhsKU`LfLsq;fb)nvmokD=#7DUK0RS#{?G)O4?7Un1 zK436@;R5q%^hycy`PTO8nJ|KEgbOkuTKgYgrK9KMMS3pSF!bMMj`{o0J z7t4dOm_*;$72O9k`%G}`6dD5{<;J9ZJ|6;};A#wz8b9YoO1(J%-rnA{w7qI-djJ3cun1xM00001 zbW%=J06^y0W&i*L3rR#lR7i<+l`(JQMi52`kOk;nrxkl;t>PJXWeyh3(yfVtT_GPCJF_erS_N)SMXpU<7)5F7+ zq{Dx9_w3CKuMT(jNc!;5^>1Q!zdI@bnt3~gH^2A&Ij~=lplPG&6#U;p|LUeetr`?} zrdQ$6|5f-spbU!Nqd|55&0FZnm|8^vb4!fL4FC|DdI3A4P(@O6BG@cKiSy6(BuKpgD;=&x zUI*>g6Q+nfF7HvL|1OmX=r2UJI~lN0sf$6WmM)X%080QxB$soQx{xNzfG&z`3j|Pv zo7lna-T;Ay$vR8mUlhqZN@NsXIM#=IwVqJIWG10|eb<_&2tCddm|xprh14@ZgW#?y z@EpSS83Hy}5r$P#UmYksH<1Y2Eui4q{9J{tR?9g6@H}ariHjy)y9!w2Inb!)2W6K@ z4aR3q^Bj)K6=p$OeQH)~OaB*!K}Z4!$Pxaf3A8apiO{UajugOb&uPK}u*VBv*&`*x zC=*h%#|k(qD*$jGW+ekm4K0ruW@FtjgX0e1`@A@%ED+Gh4DI| zLxRPlEIt*lDQiq35i@Pg8tBBc*AZh7PlSLC0NaJBj>I`I&=UM>Zw&p#UCk0=HoE@o z=&CUP+|ExJm-fC+9gM(_l{{R30T)@xq00001 zbW%=J06^y0W&i*H{z*hZR7i>K(y>m%Fc1b{t4rA2bfKN9cxwkb!@?`EReggdixm*6 zZo1X(!aMZ=z%@(lq2`PblP@bm%D>*H^KZ*Sj2ZKa7U1FE1C z0ZgyOj%xzf6Lom;#WN(`5K|SLD00005dZ)G{;N7V00001 zbW%=J06^y0W&i*Ku1Q2eR7i=XRXvZ}HW=p6(?~!DnxR90qkA4bm^zMb0rNB(NzU{r zDEc6f3!wWq1+GJZE*(60%yK|~LFWtw3JCfF>IBS?Oc~m~FJ;MgY_~%N*rfPAeBS5% zAVmmKzMONgF4u7%7ti`mz^37tXyVo6hqFvIJBbJw6l9s%6a>O61*6kX@`5?Z|w=%!wZFB zUNkM>t8WwOYYkKm*PbVJt!50vj99}xUl2#gdBiXtDsE>p6ft2VOce8C&z}-HmlgNW zZ=6bxw*Zvp6et*cR6hEJl`@%G1}`u+-`XHxO0sHhY%t}*Lx!w<0}WDh>2v*{-+!`{ zVu1vT^AQFC8qkIGe_T~>KVrh@bRn%qZi65cv*yY9YPJ53Ppw7(T&s8+1m-10fVo?9 zjtphJkg!MS$uR8m4w)6dRWPCiB@w_q-P#?fRtzF$f0VEol6b0G37rFnjbp3wcN}uc zYm|_Jg7LPrSz&!_))>vaoLUdpCSqL|QS1mb0l+VL+6E~yLwZ1lwwLY`^emJD0*LWy z*IqRN@4|Im7prz=x%Cj3ot+dTULs%+ z+Y$)eKiabsCmN#%caYdd@nS*yBy0nTM()6MS!IjB%SmW*a)=lW2JQd=vsmzGeCS}? zHtcdRlF(Va7_nk}1kl9EYEcP>o%koM5p7q#6D5hX-&@>$;;z1C<7S8UnIeTlKW3s8dz<0JJr0wT|f?0JQ03MQ@wo@bRWe*;91b`2B^Q?joLgLrUU`GJ^_U4X(qfrNkUFGbf qNoLHK2bY}x@^+j4FW^wa7tcS-N^lz;-)5Nr0000Kls!-5KoEvkI!D;03lve_UUQU?Lx>J>N^xDpvC>^h z!6sKwP>@-=Yi!RJNNIw-1^*|7scGN5qv+*dlDQH3yZdg1_>8Kv5a4S?xg0Tj%XQ*CBBJOy)4 zB--p5cwIz9FQE$%1vUX@5E14V{VqU6`_BNfqui;rnrZ<^iXn~(aBaXv-1oqA!hQ~v zf`B@O)~=pqi2obFKKK*>r{jF8!FqzKS#wyn5%=w?(~Wp+8WuY-<-c;|fW@+rjDUv4 z7Xtb>lN@M43q-0j(`!Qyz7lZ*79`?drRYNG_SSZNw+0d^zpuuSd9wy^Bx?sLzYUi! zB1CL{8G)q3fX8y6)L}qv_KFvOlOrj&4IU5nL~k@a5r^v6i$7LCM1jA5&|x)FfjW6L z?cnF&z$(AiL(x+KvtK=>RI%!zW&Nn~w#8gV@diK!ZJYbf3}Vjznm*$_@dzwr=O|Fs R8;<}0002ovPDHLkV1lX+8%F>D literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/azurill_still_front_pic.png b/graphics/pokemon/front_pics/azurill_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..02cc79a6c128b13316bfff0c029cf07a84d5a39c GIT binary patch literal 589 zcmV-T0Klrd}LKoEs@N#oA4eZ_){MI(bnTm)%T2(B=gg+T6K zToJf7O>n8m#c(MMDFRpCmANh|^`|862k4$;SK1ZV1}@X6c%NqH?Hfsmk9vM?a9VwO7q< ze>Vb%xwUo|(*D~BFtHsFr|aj~4}8b`mMA4+?~oT70L_UgW3SDNtCgkrXQylL3AexS za@Z1;ejPx_kI^3hr$8LwK+(gTRcoa`yEd%$m9vGxMPlpZ0FZ1FysT`P zaiQU2cw3S=VUyt`#YMN1P8^C8#W|T&ahH{J0IBqh^N0)8XEkk|<)1O@CgWqS&&mLh zPehwcaih*L4Sh=L)+s?B>=Rsw;b*v9VIheObG8+=ZX6qDpv;Qm2+{pOm;Dg{&>^Tj zY05sUP02;kHom2mParl`H$$MkTdj~)g{1iCxyIhNLRirAvEPT7Hn;=!w?CI|TX)+( b>c6VLlJ1)2bNG_500000NkvXXu0mjf#Htis literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/bagon_still_front_pic.png b/graphics/pokemon/front_pics/bagon_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..259872b7254275f41a5b9c141f4d5d68f71fd900 GIT binary patch literal 512 zcmV+b0{{JqP)Pu zN@9C+lzV&LtgQdVgJS=bV*iw4gOrr4q`ltN?*IS)0000000960{}>n;fF#B700001 zbW%=J06^y0W&i*Ien~_@R7i>Kk}*!hKoCXkRCHnOASE>5aVnZ8?^8 z{-i&yoJg#mom)31$AW=7r2yBY$iR9?y6pnU#LB?PR`<@T;6W%ks%&LR2chI1s4l{( z1o&1dd-f7e=K=r!_ z1N`>%8)6XIr#lAdH+r&J0K_B9w)kv-atDB#FVWu>MOph0V=64WcUEurRWcrEtI{=4 zq4+NS0Rbw1b_kg ze6T=Fzzsw(-IWEr0HW*iDgs(M5BLBlMKPz8h}Bz*uc8P5CcF-qO#FIF0H4sKC7!oQ zf* zQj#6Zy5sA;B@^e|li_^+Z1RCuQ7_lMzHdCb!KvcglPp`6^t_nH6u39R zzhGFh{Ytqfs}GMRX*K{N%KW;MEMp5KjxwmG1*0-LZ8x~ZFV)( z;r8(iQs7Hvv;N{N^Nqust9c&7g7=)Rn;aMxt@yruIzMAg#Vqxn-*=7Yvo*|W?QqOa zs`ldRcobte?{19d$zp+|bu(6ZJx&!DnVKslbAPg;l{S}T>5ms(#}AiCDCs^nFy*pU w{>{|HR5SZZkNkpr46oMOpA7pS_kW8WmdKI;Vst0QWww9smFU literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/banette_still_front_pic.png b/graphics/pokemon/front_pics/banette_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..be02be897057b30bb319da4eb36690bcb36a15ce GIT binary patch literal 546 zcmV+-0^R+IP)Kls`|xKp4hvA`H-e3crJ!i-AohH{)c$(S!sXO)zou z3ti(E;0`9^K;J7Lpm!z42#K`yIbo8wFzUdQbb5Y$-amJ(5J&x6H5Ui`uLD3Vr~3mY zX<4{EzETq+swA4@NRijP0vOAUPlop!GSXV_0cJ9aW4O*%0NV=bB#+r;G^O0++bUoN zK!LG2v4GK$Hp&@FhzCBLLW6DVfjI}fFBQFYPApN*1Fu&Y;_@0@thReZ2^I)i z-fdk_0fq%eH_+%g3#xW~dkQ(X0Km>!>l6;kgs^;#+LQAjsv`M zXT4LfK+_4|UIHudo$P29Idtc2;(<96AeBnV$QO*5CrpKgQtMc!QX?WSm=dv?2FSpN zVLb4#3)n35z!Yl?DeK++1_HCdhZUz8fO`4aZ|_8u0wpE}Yg|1Iy1m^R!UL)_mX?F= zd6xxnXVh9#xq2EhB_OMGGLDQ0hr=P4;Lo`PBgC?Q&-nnbB!8vrk8FTHEbPFqxz75C kNc^~alpXlT9rc&`26qNUum5!KK(m_iCK@Q7K(fkF`=Hp^`o;PJ4bq%Kpkd>r00000NkvXXu0mjf D!PETl literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/bayleef_still_front_pic.png b/graphics/pokemon/front_pics/bayleef_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..ad6713c61ae7ccd77d908c15c71fb652d95668db GIT binary patch literal 815 zcmV+~1JL}5P)4l)r1+P!Pwp$TTJz@-Ik%LPwtxa8^GXR4|mvGGqvt zCRU*(U7w_XAhN;Gp`b`$FinCiLAKH@Q`ZbFtppB;Qo5&f>D+rtQYz`G9Si*q`oVp4 z@9z6fPZ0iB`KXt*(KX*cqLf7=ds5Tp;%@q>eB&^CIICAm0Mv z;t6zF4ep`@NLg!fU>jSw(*Uubw(v%VLIu!exrLFeCu0K6z>HfsDsA6CWh(%=ic3ZaI*v-) zv+10=yX>>>Az&Xwdry?nRi$T{poa8N`Tt2q98~JbUFlq zY69#r%M#63RYLmb#dzap&VU%Zo^?V9iHklp_Tf%Gbx$9@(k4M6LmtnkwN3rWY2;{h zI<;4BpDFGF9HGfsbt`Oa)AaK#&Rb^^MJdC1efC+ tFrHuVf$fdAEVq=^oy2LDaZdPuub(oEC_We6*E#?I002ovPDHLkV1mgHXjT9K literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/beautifly_still_front_pic.png b/graphics/pokemon/front_pics/beautifly_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..89020c63a6c309b08294d6e6a3edb7ab788fe6f8 GIT binary patch literal 699 zcmV;s0!00ZP)nmVZ9}p00001 zbW%=J06^y0W&i*JIY~r8R7i>Kl+SA0KoG`vbIPrnB{ewE*cxgz+&48qh$^ z7ODv7QdJFN49McJU&xxO`+5~XL;@}y(ACKWVyJs7{VF`Y3A{tocRI;j(F#ET2HvF^ z&>l#iPH(D&3=$0RgE51?XwdVg3xJ3v(9uZ{H;w%|fCQr$3jm{~g$i`s`#u?4)4)h; zoMKVu_ftgrc)~y$(1dtjouvh!1Mpc&dcs5Muwp?sY5Z;c!*y36X!mOzhy7x2RRy>e4$N(XXFI__T0X zyS^xz>GNv>!gp-n%JXUhy%18-S@=gBf%UiZfCrseILY8GA65-O>O$F(O|$IH5pDq5 z1bj3p1KCf==e2}3jhUL%T-|2b`hadox5;KYxSHN>0Z?FTZt}l;<2M5ILI{<6a?1C0 zD?rP8LOQ4ofa}BOQ$3ptBA~TC1$80WThUhmfUl~n_S}c9A2~s)wbKS?B3DB5wI*QS hpE&IK4}YltsDCw#%f$jlw(tM|002ovPDHLkV1g{%OSJ$1 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/beedrill_still_front_pic.png b/graphics/pokemon/front_pics/beedrill_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..adb2894c6f3c0c593ff05eefb5e8286b8f55da15 GIT binary patch literal 913 zcmV;C18)3@P)KlRr-zF&M_ZAT`6Cr3{xpfow27#P_ZFp zNz;K!46VaJq#K$uLl9X?kxHem$mG38%+ULRg}HV*WXj+ zQ7;7wRMk{#(Flfv6^fq}uqgGa)hN+(JJDRHs_U$s0yu9u(U^8&+XxgKhbl(B)Fe4X zV)5szGn_^Qg^sILrX@1KX*um*E0?$sBVg4W=F!ZfHc_uezPwx^R!r<*vsU-&4x<@B zj-6J-{L9zR7tlp;T=N{qt7jch;&}B+Hj-H$RR~FBeGFKwwU`gaI(yNO3lrnrDMC)9 z4*<1yK^`DmCmU}kN+r%KmTWYk3D*$ii2@xBKWJe3`@C$zr36S$SMq@Jn+JOc9PCWt z?hUyFr+)K>LIZa9O5^;~b{DRdT#gduH}XBsB<${&_+z@=otb~Lb<#XlzKrw7Sc8Lo z&Zj@`d=uAaa`~fFO15(ViQ*p!%zXJO#I=-iOE#3un;;O|T@CaEKp2LWlq&Bs0w83L za{&SY&=*KiV(2mqBU~KelVVl~*M?YMU{Pf*JG2b}84;p0#N*}-;rX!HgN+7Ne{r-6n=<+9ciev~FvmItK zg#gf`3qAaM<=+bFm_RU`Bg|1iFSrdD0hF^ffEI271rwM~*Djalgo_63C=Zx85`D+# zrLu5!Kga_naRZE(-Tp7g^|02+paTMrOx@g83dGro&nMHJ`5tCV-`2TH?gC8LUgd6} nKNg09@!x?=?;rL1aeMp*#b|?#f6mGX00000NkvXXu0mjfD_*5^ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/beldum_still_front_pic.png b/graphics/pokemon/front_pics/beldum_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..1c2a04e680366973c3204a04dea9fa3f7ab049f9 GIT binary patch literal 465 zcmV;?0WSWDP) z&CRT=tdxtCb82(m-rj>sO8;tV)k;!>&Hw-Z|5~K~N`uuoVze^RRe)=00001 zbW%=J06^y0W&i*IPf0{UR7i>K(K}KDF$@OaEmGz&oPdEVZ~=-OhLg}zdp0*wHaS4# z3@w9Xr=ZK)%M27LvTKw{!%So!0HRjkO25`sb*=wdW3;8 zU}h?fnDrtMV@br0M7(B&1LzTLlk1ZK@GatdX2jSSXxJk*D;>OB%Gzj1r5jzF6l%AeRzz|y-J}<$3oo)}uEt3EW zUdgadFNYzqk1<-O#GE#=BBlNe?B$LrNJyXhK|t%YJN7n7P}>U#&MG0Ma)D(Z&Jz?+ zB_{TLa5AA)L6xFAhIV@btb$XJKvs4jf8@Z*p_5<9Ul}lkMlvG1yGI?&2mqGMJ_o9v zPJRBK=fEsTo3-cuExO$2XOYr<5mcjxn=+_I^K$=Mf46=BFv=5=^mFM<00000NkvXX Hu0mjfI5cX;S)gSK(lJZJKoke?8;V^j{S2P76ugXrXtPSDL=eQODTol4 zwqw_1>YOR7cF6}w#7P};hk`h@pNHS z2g;%fJm#@%1PkuTLGWbKXZREWW3RXqv2YFpw8)N@c!$qICIP71S>jIiP8qxdLTRuU zP-(jLj>!^KI~Kw;aC z0DWjr0bI|jz|b@S(A3ug7-CB=AB}(+O}!8Y&@BOc4(%{7N>_l>!kJ8=y0}N*^?cpn zYYzrvJ}tay&nW!~I6q=vwb-F{=ucVz0000< KMNUMnLSTaaV&+2t literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/bellsprout_still_front_pic.png b/graphics/pokemon/front_pics/bellsprout_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..dba4f81bc05c1325d10ebddbdfae05e562562027 GIT binary patch literal 547 zcmV+;0^I$HP)s#gr+%?t`4wN^`6+&73Kmb0BI#01yxmjUctZ00001 zbW%=J06^y0W&i*Ip-DtRR7i>KlCe(1Fcd|tN=Qg3iMlW&Z-pU4*%`>50r&-X?ADGI zOT~hi)3ICK1$m4Iet{n#DIX9!NL7)jT4Tovg4his66#%|koAQ^4wUz zL#W?G9JY@U8Z`j7?KVQayrF>t2C@Ygc0hONXN+as2E49RhQVMfO%j_CA0w$=5yDxR zbyrp&#%MS!eol<~jgY|GssfA<2i^0P>d+hNMHs+Uw;QSi!(G7j=JEo`{-uKnEW>5+ zuIlBE(mLRULII<)?iy2g!8Q;=RQs{)VHt$q-ZFEOp8gv`s2q$4mEZ(pAArp+pcN5# zI?rtmy55<_cnY69>tRZDq6p(TJ=>FWc?SAMw$^pPVGHopLdvV3Sppc-PHBbytmi;~W(x)c lvkeeF8`Q&i1drkJSJG002ovPDHLkV1kHB^E3be literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/blastoise_still_front_pic.png b/graphics/pokemon/front_pics/blastoise_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..1166b98eafad06916151629ad294155c1fc3bebf GIT binary patch literal 1076 zcmV-41k3x0P)9YDzJzF*)9(bN|(9?yNz*i#eQgL7c_zbCl*vgOo~2a}W>^u1rp+00001 zbW%=J06^y0W&i*KvPnciR7i>4)xU4zb`$_`OX*Yz(ARY7a8&t*v4s-$G;J+TWC*%} z>((xpFQQU1MPcf#?H_>d#7Wh4h;CrHKfv5_>K2>yvW92J(B4vP6G9R-3VwaYU~Hsz zuKHvo#QW%df4#4fr2k(eobcfY4 ztFd%~@*PdnrvWGl3(*QepRp}X)6P5E>GZDMre7upX~aQho=@_1mg(t++I39Z6oSZP zH;taN1e`J3HoM4dfJ=qQWS5~c$ovw5^^9kObvFa7B!u!cOFM=4+lx7HK2%jr2SW!i zS+?C)Xj)8u|9v<{PE~cy4+1jZQI0LfdH&S`NaLL5^a5a;n_OuhTQcX9(vt;9<+LDl zn8Fp$wkw{@HzGh9-y4V?03ba)TS0G==apAWkn-@lT6NJAKLc)N(UZ5Fi6TbQG75iG ztBPlM{Gxcm#67UL4Ch$6X++zY_Zw6$Z8~7F4t3U|xji}=# zZ9#66Z{4+{Q;<^m$3pDYj`oqs#u*avzJm?;1zuB^!41K7qTxwqxMS>*}N1 z#y(zV=vd6b7EW5RA*A2;@VfB>BJ%+tV!0d#zdrow$3w(A8=kyzY@`CsW(?S$AeL&4 z!}VeJq+^)R;x14ul=d2hWhs7IdD!?7tCw~6y%eR zHhlMd4(#)eKAnO2MkE=hX6c@_YLtIc`pSBsff)tVPoU|>+4Fj<)vPt1THFTH-G~5p zN}Xb!1w%BRcByH=<>e)?4MqSKfI1ssOyI?04xd`G4K_XufTh7Z-3Kq)$MaRn2A>)z zEx-eVeP(jL(+-b&>{7!@(ro|^awfOOoLV~ssf*c2?ks;Kh@(rFZRa?C+{4q751Pue z0~-vl&$ID{Noc1+p?D@l&%dPx--rX+%v;(@>PrH&mC)a)tb&^(3L*AqSJ1xNC`RXy zq+iWittJAX!St$F9IXK3#xEca0$>!2UL5F#>lavpFCg-!O!hP|04ZPJrRnGja3|AwCqkqZ%2jg!y@UZ6K9!@p@00000A ze!PNsqARYRTA+k(Q_<->WJQH(Wd^PE@x;@38YE{>vETx<-Tt8Qsa(N8Ic@^!TpmPd*;qSLMvGB0Lu_^E4_vhJrB5x?mTiNvU|)XN8#Y;Y)~&4xKYKVJ{Tg}R|(nnZsD#Y z;ge8zxLNlt|0eY?z4{n>X2VQ?-W}-Eq#r*IGcX&8 zY&6CRBq2;5WAaJ97we70*a^NE8VojpnoOtjFoT`IpL%qWf!Us(pxEIOg4C22%Q&_%audNRR!v@g;? z0jWT0k^|@?s=$$)NzM>-0-!ZpwMV$OLAG(#p@&TCfF^g*DM4G0$%phcNqmrgKmZFS z$NdAe^~fF6TELgfK|-}aTaTP+fr$nH6CFUA0Goj>Fk#l(z@}-|>_Y}>1Wa5Uf&i-l z{9m7#)}_Fr;Luz5?-O9{vul$qyXGCDyiafLJIyrHwmrbV!4eM7faL{c`+#n;&l7fR z&k+8yn`*Zvc&DU;SzFjm@V}%}mJdBWHq9-w`Gc|P0^1w0g(ch)M%MQ-?+;SiAmz`d zy~nGQ9=f@M%XXFvbm`?cDS){x$db=?<13Z`0tg_000IagfB*srAb+}u00001 zbW%=J06^y0W&i*Jxk*GpR7i>Cld)^tKorIW$&h#{CxT0|`IMzokW*YVNNF8&+3 zoZPN0d2)sh#l&Yr2%!-Byf~B)J6iJZbjsS*&_bFHQQw^``IHDcmwtnd^!@IA@1E`) z=fBdXQr452Jo3+^jN|hSsU|V{Lc|Y%BLQ+a9`*r1#uXt%r$}sw5F$C5ftI`!_$bed z1wu6D`WJN|1VA)=kN_|+hL-+|P97xa_ZgrS$%VCt5R|E0g{P^lKo$V#3g{wm3%APx zV<~^zz?pzq0T@bocWwi4nD&+>6ai;8>P~cH$-N#G9ExZthstWAGK0J>yFycbcE*nqS5EQHf)<{w;!Jwj;1?yxz60m%y-MLn{W*vHZ* zBk1P94#-xGxP>Ok4jkkW)u_j6gx0MDS|j^!_cNgR?n_XkUfpVvHwoEAi!lv+Bq-j# zTNE-V7WhDjDZ?otTgv`cKA~+ie0&cnQ6s+w_8g3l1&F(!j+)W}u+IAhKuVrS8*nON znn2t}3ZMqoKAji(V&p(%0LE6MV(u%vGa8_ctiWfFv6uNSnO_y101J4HS?W_t>n!_T zYmE4$+KKTDuz0q#DfQY(77^&#ZAURm&6hT1)QWID1k41~SGv@0E06G94?l)G()~?? zY(3>U5O|!pKAHC+8W_OC^^Df@gI(uM_jyp;!S2)#(_V|#e=_^b?RkqmN@JxGlfWA2 zw(U_rS>UOmUXn25Gu9|xE2CD{K8}#RdFlBSX<2EUt-O-uz$RoXlTsgnlX4>mkpKDh=ZV?*>L~>002ovPDHLk FV1lz2flB}Y literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/breloom_still_front_pic.png b/graphics/pokemon/front_pics/breloom_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..932fdbad8a637cb9b8955ec93908857ab5bb8c05 GIT binary patch literal 849 zcmV-X1FrmuP)A00001 zbW%=J06^y0W&i*J&q+i4mCtJvK@`X56c5Gu6Ffxl4{(;!gSLkZB_QN4kQ$nh z?n!d$LKiQ#Yz7a#C;kB;6Aa!4cW^JcMk{#GLt_JmbYa`^ABc@_ciUw4N4yHY1U8%Z zneTh^X5I`!|D|n6u)q0xZLt3PwZMmVWN+6I8^W?(5a|rm8sLx}SU~Xevq>(19g{UI zm%kgyo1|k_ji1bc&w-l+?pe)X|55zgXANdD`{QDv0Y|(mUoQclG1ih7i*GA|UWXr& zXK_;al$MzSiLpokmUU`1!8!@fPQKKOmrKiO$Uw%*_xz*+6pj>56M;~tFU>iZx)M1Vw}88 z0XPNC zpR#J4Em5V?E~UHmBv4??iGkA_SPEDUm26H7&Cm#+YW@QNkJ4WWfv{nKs3L1HKcCV- zPAlWjC?mm~1J19WD+L=Clu%ZJy@AcEIPXj0U8O?A5=XopHWBX&FMEK1L<^3N4tIeN zUdE5G2>>WS6LOy1PfMaDLwNxDb~=NYm<1BT10`fGfN%g^FW_tEq!1H!*kZyK`2tZ3 zdKe0|7C=Gd3Khm*@_{J3z~!$-J9z|-kBto}=HuZ`9$@kAB+S)Y49|x-5|>{E2@g=L z7W1d0Pg&r4D9GS8f^agzncL-8a6kh;Fu%efJ*=X+Kk+DwWKoEvqm?qL8u1IvETyrnLt|deT_Usj|BC^v& zh}Q@$5{Nti6n7PfAR$ZK3phN1mplO2R%(R(49o_)aqFT9rK+nN8L^}Mydw|;ES zR|7>gyIEB)i^{G5%GYfAZr_#?MV{GN{#-8uHm$8*v+Su^1{8K?^DMXZoY(w5eco+> z$J6Pwe&ay&+tX+)20AAXFD*b2ODR#v#MbIsM>)Y*8>PBtFmIiu7JQb zfTS!5U?zN;5GbJ)=*M{iVPAUp&igMpo#agtB7xJ3z00001 zbW%=J06^y0W&i*JYDq*vR7i>Kk}+%BKp2LPgGfUsb*L8=#DQgKG5HTc=?@51J7fu> zxuuXuhV~XIU6uTU#9JsGl+8oqWRq#oavtiTT6}9p8~g+8ekaMY6~|7;4tX({yZ6!e zz4zTA^sN6-2T%CQPIav^Qr-BpmtnM6GEYn03UFv-*shWLnx?&ORe-FZLrCdsHI~C$ zwk`kU0vACGzX0l<#tI@3CXuyf$J4meL z34E^Cn75Pxdo@qjd-Dz|j}yii)F_YH5Ve5!TttfkiO*|H_Lu`W5X|qTc?6Z;`8zk(ern7CoCZT;@7Xp%Tf>BNND(hGN;UtmOKZozId|2*4?yDU z^0F2H7Tq7#yZ!LI9i+n{PrO79d-=NGhTkn~KRj&*LB9{D^kSHUu>`ybEz9bLrx({k zq`pj9&M{Z_EC-_N%+E$uc?~yb@2%Z#coB6{CgtmTr2x8Z+cq2`iaLQ1eHc`%B~{=G zfX`8M<-pfNnL%gEK6>-hbm{rwJWo#A*SgI@9rlI)s{z zfJyOR#Ha$ud`VtW&{u~vIqwni5WqB3!=}vvAx*IYAYy_~Y@0Sj0K*zQ^x?`0Y0$$D z)Ckg`pR`s0)Eu1LAKg=Gs8C?(rc2caGt+?|JTQ@xRUct{dvZK6<@v~CK5XL_#QgS1 z@lp!poJ}?W$1_*m1Sr$7p-yM(dnlusp^nDufuqp`Z3IrnPXOD{9x}LV0SxoO8;>cq e@=~7lZ~6-mQxRL?=uQFv0000Klh10~KoG_S4J8PQ7{#SU7t^&MA{SGSOM@@2{v6zs z$iXS}0c7yGSi+a$B-Fx}K0q#V93vwFKKImnancv4(-&}y!7hgFVY^DKP!h#`fclek z+4=3vr=3|rSZl3&#rU&I-^Xmcig@&6JQ-h3R{%dRFU}_`0O8wcGCIExpn)KsU5rLw zIY85ZU-ckto{heQ!zq2621rgbbm~#)HY4YKD&Ts%4aadkbZbGXiA4)OIF8qXwwvyg z0z7eQEr6$trlp8Zd8pw5m(r-GRp@5ui*_r+bWl=jNL~B5U#;4o<{+o{L$^P3;Pvl0 zKt3%#0Q>lPbuZ2UJJFr+25OMu{{gWF*(_Lp2R9?ZDiBS9YbkmL38=3GF|qp4?E$Ej ztU23av#nWPS1ke{Tm1ysy{^ku8tvFLH0mR39mYhQ)dkx4WXQIIYH&_A> z_Uq3GmQU0<2Qu^Ac8($H0MX78F!tXNEKL{WfO~+0ZSQbOu^2&BUe+*_CgN0Bc!a2g zXfOS8AoNPL?hUYEAeQ-A`vu~@Bbw$9xv#!^0%Qq@h{#W0Iz^ug4?7*cNF$3R9)w33K+86LlJiP w)n)t(y%@MV6T@VQwO8G~D`Ib8}KsS`ZKrVMVfC00001 zbW%=J06^y0W&i*K6G=otR7i=Hl|66TKp4kwV4z;Cb0tF4A@WgGX*xs-l`3Va+IVR) zbudMAs7S<%k|AmbU<^o*6CF^qW(a{$A!o4C0Y&l9kC3kdDU}jBxX*KTB0|oVdJE>B z-~FGL`(p_C&(&*(hLwDdH^T)|d>AfKw8KkK`mJ!FUg7Pqc+{-$P>DJKVO=y#lk<=q zQBwfH5_Qx3$U`I`fjNgjQ#z}5BM(3tfeH{0RIE%smov>c#P|32o7VPBTrtf&D14}( z0Ia4po2H-Pc_^~tDRAESJS&kQ{hsKu)tb0&-hNO7Y*;<$^4h*JhUAa5k@Z}GbNg}( zfGQotyFOgi&E?6uGzu%SRB4TmCdQjU;0GTY##%DabV`cvGB#QbibEUQqtR$J%(XWM z>{&Y`PRNO21PVm4irOo~@}D29I%r#m+A4m2v)X(2qsoPG-ZV(W$tG-~UYphViy0v8 zI6FU$_k+?Ib-%~bG@h9bpEf((fyE9BNseg@%P*qiRmSv2vFQWJq;Of47P0`uM0;JvmUssr6$CJulBMMm zO6+>)7_&s_DgyWr&Bn@K#K8P>erC)eG8|Jc1&tSP&w2J#yB_$KdPP$HY3SGH{{U21 z%wrQ`B1OFApS$nhUR9@aWxN(v8+zyN+f&)pv}v<@J$cEwI~6iX|%IL*KJSM*zzb zpgRr7`i#InT&n;U^O79VEr$302!TdU(&yilFotMjQP!u*1)v7jK)S*JYG4;cSwrio rD+tJ6m8y%*nc$s-{y)3!v{U{8{<1$q*zHjs00000NkvXXu0mjf&BdvY literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/camerupt_still_front_pic.png b/graphics/pokemon/front_pics/camerupt_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..ffd9ed0f2e56202418a6a227c8ac65768761b07b GIT binary patch literal 839 zcmV-N1GxN&P)Kl)-A-KoEu%`7R?`p$*_`fVTrn?LZAPw$)MrDd#PKqtY7$ zq}s!gi`N>35CE^JuF-jqz%V8zgKtL{MOj220k24)GbHGoLNZB`GD8nPGfLKToFrcpNMJfSA77jQ)xl5* zSs$x36^zeedR+tTI4*lcN?=?Ec1?9fmv-9#%k3NQsRu5!0#*S4E&O%hswmP(L;=pU z2?VB<_9^HN`Vj@@m$Se=V56vMgzcFX-~*w09Tk1RP6i*&1_f~G-@+~aj7tPq5a><@ zACoJ5=@q~)?=HLr^3DLh?~ju+R@e?RMLZw!V}5+}d`Su0v~B?$9dfiE&xcP9KedPf zoP`E5A}dc1op=q(6}K{gkmjq7WCK?}Rjb-$5V<0Z8sNa)w)I$UPDdC(KJ9OrK-R<1 z9&VgL1)#>Bkb0}>NU9&a8erv8NZid@vdm!XtygK_$$<8x19WD#qXCc7mm)NwbN~iI zF+I|C54zRP(x?2+0ny436sfmd*R3Bh>v!Ap=qMo8pRKDiw;j`sO#kh#?Kc~pt5$#~ RxJUp1002ovPDHLkV1h~5Zs7m` literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/carvanha_still_front_pic.png b/graphics/pokemon/front_pics/carvanha_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..f67f56cc7e03f1f05da37e0cca3441b5599577b2 GIT binary patch literal 692 zcmV;l0!#ggP)|6)oxF-n|4d%a?$-n}_F_BlEKgM-bKDek=~|IJc+IXM6T0RR90-xG3p00001 zbW%=J06^y0W&i*JGD$>1R7i={)xT@oKoke?3(gdfz>PxbRLGLm;7tc9A?MZ5;#>1a z)Wf+2XXzj~<#j@6XVn!P4A62N zg5MDZXuB)GSco0!5{loZfK0&zyYy*`Vn>0N2HcE5JM`IvoJd7T8v+A3l+p(sBBhf8 zbHZ+`(>WmRLpjqRFemJgS(`Y{;h6?x$&HYYo#CU&*Tvm>rtdLnHVyD__+qjiyk1X+ zq`r@ZdMe=-xIen+JzvNDv-(9HK&ZM-wn6Osci-+m%AvPZ{U73ZyN{Uf``*!DG3a}; z2_q^0&am*a@)(O4TbfHf{|y-HgZVJ6Kl<$49Dr=*zxRFJ?e*Bo&3WzTOhoDB%p0s+ z^QBfJf}4nquhfKOb(@#~*`LJC7_L+TWOefZn(Fn9SU*8_K0wk17)#xY@&U4?l<5vK zKhFoq&i;DHE(7T={9FRUf?if`x`C9`vKkzh1GOV3rNA!SiZ`I}bFe8~1-?{)%8%Or aSw8_ssx&G(iV;o#0000Kk}+Pj*L8a%6NJN;SLj_Ut zx}i>C&72cdoig_XRWFkasH!@+k3cI5P9t^Zmu!&#@BKFBG1jTm|70cS05v>AOnTMx z6gWvv1C~V-kIVPiRP9g|$IH=ZbmFi)88U%aS(b_KqcqeH#3RN8WO!{PxWEY_`D?`3 zL~yJrrG+Ns)B)Tx5&sc@ZYt!y6`-P{xj2s8Z|wj-<;AcY0UVdKygXD9uA8>LVMf-+ zW>!YHixyA>q^}#N0+RbC5R&ovv@3vUj?EEFyoYrKfG>oq??AVb7et}43ZS?qG5mdu3-F)> z;06ZFpn(SvhT$!MXL}}q*N1pc>eSK~HO7}&pdvo42zAB^XPB{DK)Ap4~_Ta{hR_IEHw1zMZr& z>rjA5TmCnPY^JhT6NFz}QF`W~ZvOtAGsp3j9I~^nPo8vfW%KMOoLs(bKCKn&7ES*D zk@eHs|HuE&=f1wPk+J*Y;<@iDvYr{5r#Z*yzHL19KmR?)%R5G8_v(!wD=U4Qcca4X z)Mi%Wbsfca&00zq1HvLCRx2!WV>J8ryZb|Vv_($X`yzovrbETLpFZB^R7||HGN4>l zWRiYWMUX=Eo=VZ5Y?(U9P)0iX$Vw}gTe~DWM4fbyla- literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/castform_rainy_form_still_front_pic.png b/graphics/pokemon/front_pics/castform_rainy_form_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..15537403506fc7a851a973d613327100419e3476 GIT binary patch literal 549 zcmV+=0^0qFP)pAzl(fwN007PI_O!*`i_PAHw8c_lgT=+gl#7&FT2lZ2{}>n;jJtrL00001 zbW%=J06^y0W&i*Iqe(KkuggHF&Ku^^`O+z`49xb#fXEe_e(6qsf$Y|_w zV_cLL9ZOSU(pEY&Uw%Pfvb_)Q`+Z*sIS5lE%f zRRJ>#=zV}_Sh|D>Xa|%SU=uVHN_!5`0sWr=(2D#mUdas1WsnXV`U%mn;myV nSQ+E}tAE1Vz9UT7KM2ExobG_!~QgdobQcC~-{}>n;PDBos00001 zbW%=J06^y0W&i*JE=fc|R7i>Cl(BBxFc5~R(UZeYB$CBi0(h)|4t<;&P$w^0Jayo9 zvW8R}&ki7<1&TCVHx)C^jH}6q@;NCYR9LL4Ab z!=O(Qk!cUO1d;#~5t*({r?|CWs86CcMuh-EZGihYhmI-=Eu>HHQV6K)x~uL&;O7Mg zVF+a8eJ@;LREKn9^e&ZqYNJMEp182q54;UC90=<~l_a~Jxi)xl9(KV?4^@&b0TK=) zfMqf0rH1oF1`Y2IKye9i5v~y*W<~L$B;aGBN&;5pjN&B`(-gquYW@pIw1H)-+ig+K zx8>~lG-bd>%iXptZ+GRZe3~kg>E#>p-|b$XJpzd3=~-URzb$eC+L&nMD$n!N#livD zHX(sV;yWT-Jf}WjFb>)q)$nJz*M!SG!d(O$UvE4yIRQnV=tF=ub8W8e#sMdmXb8q3 z>d*9Ju$C+)_QrIb2mw%Z3eIA3V@zF(>LDOO(5aH`)s+BR^iBoy8lwR6ZCYyuZ63gR zFfRuHNDnCY?S}x{dw?2*1JH&89m@(TiF?FGY1*B5F*4M60Nm!pU(A?Jn;x4D$~3_C ze&@bhnO;q@a71tIrcbXX5q;lFv|m}@C*xiMlJ56viGM9m4KVThEBpm8{zHcURzCp$ WMOrkDrv79A0000n;1X!^m00001 zbW%=J06^y0W&i*J4oO5oR7i>Kld+21KoEwdR&Y4(R#zmT=D=`G6jEFpJxL6k%FQ*d zQm7kkVWZBQ#)%VxvcniD(*wdYF?{uXzO+0$_so(dS6?eAAeOE14MZe*iHmpNTvV`5@>0mn48YD00s8g1-%V zL`WQzc#rjq;@u?z#4MjPadsK-!Ovk3^x#EvmMj+ML2x!4T0r>a{oy3p7-m0$!ummm z$J7HzZ12M5%9E<#y;I0%=QJUlW8uz17cqQV(MZXX9vpq_`ezZ z@__(4kSL|T$qC$bO2T(ee#u%?d8_qpO-vtY|HPQv68-YG{@w;`by=2LFK$R;ZEldT z!e11zHfv+G)hnatRExQ_7Y1FuY|atKPy>sFUXs4!JlfZKyQSaT9yZ_{zZTzdR%k9) qnjCXoVujV|HT=z4wpM@A|MUlW<36OcgYioM0000Mc+J literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/caterpie_still_front_pic.png b/graphics/pokemon/front_pics/caterpie_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b67875094936a5ead394d9ad9145cf4bbc70bcb8 GIT binary patch literal 501 zcmV^UQ{BU00001 zbW%=J06^y0W&i*Ib4f%&R7i>KkTGk*KorMsYd|4;KY|V&&Ou74LvL^>++;g;)3r;D zn}G;sa~8U^TQ7lv>EsKf&_UW9Nt)%h!8E2X7^DO&WKBna0ssZ-5C>3dpujSSAO)pQ71B2m2azT+Q?Lw)MO{;fOqEg=i&G3B z7Gofx@q_{s#u$gjb3*JZ6JU9i`ZHKGH^gS9Nvt+)dtE)JHggkTx4aJR7Le)p-V}kT zZHIA{>Cf4#5g@j&N@$*CN+9dDY0FO+$ubO(ZF^puawtZJw{{a8Aw7qI`gAfo9ch?_i00001 zbW%=J06^y0W&i*IfJsC_R7i>K)Ui&(Fc1b{3n>|zp>hNdz}3xKK_&JI(=|$vvo=jr zi!CDqVx&}J=M^AyzzY*E6;&lgFc@1%EOC;73Dke}C;RSV2ccd5ZS1%WjN8DxXaQ;V zYtVRxgVHo=0eoBMI&A<#gW;?eI0EG_VSgCa6|q7nPa*8pRoPh~=NKR6CB_Fc4KIAdR8iAi99BmQ({d7SwJ|u%VOQ2pbPu;57peEbFburMH*ba3dAnwc5V$JUytS($A`~F%OH<82G zgb*gUWwAv&qY=~-L81aX0*@VBoPgBE9^~YvS^;GMHt($3WQY&lebVerlx=hU_e%k1 zOm$N0&W8nbnF%yjzrA&aiS7i`SG7%vBG2Y;!_TV*!KpCuWUNX z;`5yla^D${n(bGGk9@;YRvk~(Y}hMG8$sCe3D0FZ2$v{e!M-_7TC4eOIU%Vhc?hXJ zpM=?b!(H=8!tT6QFL-`;)PoJ8rGJQ=`T!ahXtRNB1vayDLM*2o%-}ZviY5F5mwroyX$;8y00000NkvXXu0mjf D!j3sD literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/charizard_still_front_pic.png b/graphics/pokemon/front_pics/charizard_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..68653c55bd9d6d8c5dc6699e72192bfabd31fe63 GIT binary patch literal 1090 zcmV-I1ikx-P)xV*ivu)oN0#K>*d&)&Kwhb1blf00001 zbW%=J06^y0W&i*Kz)3_wR7i=HmA!A!One?Vpz`TQ3UE^XBA; zO=1_-Ttw@@I^mQ&6D-~Uln|>x=V_LY=!u8~(RyY*-spAUIinPSIMpfVGsZMgH}rIs z$$Uyt63u^3rQ#`A2cWkC$`R^&^Hi79^Y;*svCwOLID8cP0iCDmv+TFY$4n*!0je4x zqrUG`m6jaElxqVhUxo;bxz%H~jzFLeqP+ACz!)%4AtgyA|NP`4Rx3 zZnlBrV`|dcbq_=?L;|OfQX2y%(e3*1q9?DF`-KStfS}F-feu&*0;=+N2Qe5BazxD! zYM|Tc_+c2*(}iA?2nYat1GG#Tx}9SmEzpuBSyUPz4Ay{7rxTzB+It3#i@*$l(+dMY z89MBz0EJS+TJ#4h@RjjLlor_rEi*2k!nuqb^gFG0vUnuK_Lh zcLemSv;wlqK@B+WJJWL@n)B(Jf&Nz}^zs0o$_zCO9WJ`78pvTuX#Uy&g`NBHI-p>c z>Vg|Pu`v26KIEa*pDEMaQ(^%_OjFo!;#W(2kMkvpsJ;bJ6vb0mQ2=ye zFuTb%i4|~U^by%4m}h$hIt}$QzVna65(7jwZ75B&O*q)@vTCh@FPGbZ;(}M9;j;Y9 zwt)pKK-I*Kdtl4MUyF~6Pj?)zq|GMF$sNC&NYwrp1OF_41A_Mf^KYPLx&QzG07*qo IM6N<$f(jn-y8r+H literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/charmander_still_front_pic.png b/graphics/pokemon/front_pics/charmander_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..7235c104f932207f0fd140fdfcb30f63ee67add8 GIT binary patch literal 566 zcmV-60?GY}P)JqwEzGA|K^Kls!(vKoEtuvxK+6BBCIK_q)p7#Sk@=LU!qAaMl5tevFDF0Mh!R<`EbH*eo~&Dd%E!NsezwQeR5 zp0@$95Af6`;1d8X5@-H00BCVh0AO|Kajyk7gQCSmA0QkQ;qSmZ0Ut#mT^e&k)8vzY zuLfYQ&O;6md?yWH%oj?X%M|D!4d8hyu$1+12e_Wng9jl5FXg6rb3C<27qRMNM42;# zIqpK0uqwndVmwZnvv8baz+5q_M@UsPfO{+u$GDv!Vj>6TdJ6@}m$02oB@oodR6KBi zXE7!Th~zOH)npY4aZNxZlWZ)V~-?25+yup1d`5hC}x0BRnpkix(RQik)WWlq%>02=>lSReXFUHb&Lq0VO-AiH<%;#CNtbmL#Kd|W$6tz z9s(I+4>8pPSysxu1q8Y=NCnH1TQ9P#^*^=ePV0ZJA1jI3u1LW00{{R307*qoM6N<$ Ef)3U2-2eap literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/charmeleon_still_front_pic.png b/graphics/pokemon/front_pics/charmeleon_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..5cc6615a42d0e4071247d4a99a969313d9ff8dcf GIT binary patch literal 781 zcmV+o1M>WdP)KlTS|DKorJD-Z+a`R#?*%xIo1noEyZfy2UFZvUAw6 zOBOvqxq=fekeR4OYN?t$Yf_07_9$xCO)z`H^v#6SV`ISuc#7=U@8|FH`(r}h;)SrE z->Sna&(tqp(U^|1{GwZ-Fl7dCUg1DZz$Rf?rcUE|epTz*-4ZaPEH;2a7}^B@B1)+u ztUY}_=!bUS%#Vi%Ff_T}!9%S!KnW8VqrimHuY|ab<<_I0d(@+d4$~Q(Ah0?RD&G%# zCNQSs(P~D&5bI#lSfU9E;4imG=#>B7Wt`kM>EjY#w$@ibF7b}uJ|6Buj1H71fD*ml zML!4XDV?kjXMh>WfZ@pwdl#P#AX06h0NCvZ08~N(&hk2^I?puVBES*o!A}DiGL_aD zC816s{5Us?09eR01`xzq;D5Yle==s{Kq`L$PfGyFf&ZG2eD)!fCk6hY8Y+gWZB$*fi8 z&alri2ok1ySqketAyO46qdWwIKgnch_b+k)hdTvd8(!p+=_$QKmeqALCYSUS8xMPfNm00000 LNkvXXu0mjf$|Yq) literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/chikorita_still_front_pic.png b/graphics/pokemon/front_pics/chikorita_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..80f5dc9abd326f30f8b4ce10551702838631f764 GIT binary patch literal 507 zcmVKl(9+!K@f&lxWgz(XKk^;CzvIqP(-sQHi2loM!5FO z6S!%tE+&`adhZ#GFCjj_fdtbm;sc0?wTZKLq)B#SE0Vw5|6_LlnPC}Q>tAcL8z(xW z{cb-*bx1^og|1>dQA*P^M)kvPV)M5W{gM~x3{z`~Va7^>oKWh{Qo@V<7AvW1<0};} z`I1+`Yq5#Sbu(GK!{MBRXfmb;=Mt3gF!UuQbs9_zi#t2r;Eov_bf7?1Q9M12f~?>|E+G@k9E|#N;FhQn7r;sH!nXr%Edr=Tr#;!U1AaZKMfC_{cvisOs{-04 zr#d(|K^nc)mlMHYQ;)odnrNoT66ZjTC8(QltxAx00001 zbW%=J06^y0W&i*INJ&INR7i={)3Hv&Fc1b{FIhsQ5~(i$VgnW~St@0KTps{6Uh)7D zPlC#XI;Im++W}7?v1JLYH3MPA?*JoHIf~eN=b=+?{XhAB$+l8EIIB-jUfqhKcU@gg zB=9{R-_-jOsA;wWJ<7!n>Z_he2hiMma;>$Pj}XyFd4-|~umULXqUAtQ0HjmsPS}Ri zHE_pF9t{b=EOQ;RV-F2L3GTgn*bH8dz!=CJoEFGRym>(81s}c@r}FOlVi=?V01yxm)9+#p00001 zbW%=J06^y0W&i*I-AP12R7i>Kl0Q$|Kp4hfL1HS56m?^^N|uZlF(Y)M>cW6>u9y-* za#6ZC3t?tKjyiR*c#RP45;aMsbj17-tiXrhD|l%n#Blh|b`m>;FVH-a&*yu7_q^|& z3^3RKDnclG*XM_aEpxVSa5-ixa?EV;89u;QIecy|R#N^#yd~QVpY;@wk0)6_Oi4v7 zj6dt3`SP8N$d9KMXw50$!$h9ew9=sf-zVmpU!MYg|C|JdssiZ8qorm1n*jVY(8aqq z0Jw;^>FqJV16gU{!j1ur6H=sRB?;(1VnF(Y@LD;H@cL1UA8ou=vnuWrvW^ZbtBu{$ z5by%vj|%wm>=4p8#~PCnI=W%7XSZ>n0tTW($T#uqFnO1k7*+NV-2u=IXgpy@Cfsy_ z8kvnz@Artk+l-OdcF%$yiVY`d!u0nFzgF9-GCZK$_cg=dCOUMRZXtG z-T2z(npxu20H6)G#>zXJ1>0^9!ehK#34kD+Q6-ZzRx5sbIk7PUazdW5O8>D^;4`Tb z6*^)JMAs}VHj*V^#Y6WN5)ucoUzZp4*z5aA0CEQtKIE=a0dlRS{OE@e=>XZT)R0?K tPNXGeExiY*)YeP@L|AFM_*`=-y#hxjzHLi~dTsy!002ovPDHLkV1i346hZ(1 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/circled_question_mark_still_front_pic.png b/graphics/pokemon/front_pics/circled_question_mark_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..3056402db40adabac5a463995c694bdec359e5e5 GIT binary patch literal 397 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*Ewg;0-5;1*|TTYtXcE_ z|9_yeICobOAjMb`2mt|oEJ={|6P7}nZ)+$yZ7C;wLe_1WcN>s>Eq*PGXAsnHz&s= z7>nt%PWamtz-;#UYEdR!~X{G;Kp7JM4 PKq2bs>gTe~DWM4fhQyg8 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/clamperl_still_front_pic.png b/graphics/pokemon/front_pics/clamperl_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..1cfe4d4f81334fdf37ee730f270c21157012b86e GIT binary patch literal 611 zcmV-p0-XJcP)KlRt0MKp4io=C;?FYPo~Gpjs>`Ta@u2Uw~`A0DUb* zOenFJREW(mHEh=@7fX?H;!7lvh=fk?1#lSI?2)ByIHw&-?!u1fBg;Db`T70lJI8s{ ze=9z5oCg1k51!+UK_2oOt_mjvR4_RJjD5Adn)_0mchoW>mMkRWc~hwX zlsav5Zf22iBDLAlP$)lI3Kc4BYoHe7p)$%KO|=UBJ757F)!NTNwE0ZkOD`4%&{Tiu z)TmN)9{Q`uY!e;=<}e#lJguGWw!SYtdASF0aO)hmWm(l30@(kjyYJI)rPg)2i($-3 zsWo2QY|8Q%j`V{CNI&CsQGBf`e4UyA>8xpj$3^k|w!)Z>Rz@57fWAm?eiWPIDt$$} zZF3F-+NBpou_=F2y)*(iWLUp1in6T9o&k{Q6E>jF>o#A~E_)O06C(OF>{0escgg6m z_ho9d>8o|j&XVmmK4;0u+_(f_mdr3lOt2sK0gNI<8?lcuV+qa>b93hliGiCktu$~^ znn3POy)m9Mc7{hH3M_*XF!yFLK++c0 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/claydol_still_front_pic.png b/graphics/pokemon/front_pics/claydol_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..ea8e2cf7479e0a9e258337a60d601f0015d97ff1 GIT binary patch literal 771 zcmV+e1N{7nP)4ls$8sKoEw7GU>G^2?a#qJ(6*eO5i_m3X{yFqrk55 zWN^()lB<&nm2^6H>SA@S?MA(RRQ3Q%d`XRGQe+F3xqW!|*xTE|;9nbz&d1;Q-g&_F z`FV*~14G~E_$t69;9L$8AmFqFCjsB%{6w*a+%Jri2K2?+v-rtWF}*PBw>}G5nKaO^H!#oQjo-zzm-q} zF6}&$_BvbLo6()El)5*s)9v(_8b#LBX4HI1$~SC{!5%d1R?g4OkbzRRhRt0Kz*Bh!XfswJd;(17NH(fHDPu%2uQRl;ZfC z`0(rLvD~Eg^q=HaO<`{3PmdN!C?HR9?Ui%f!`$BNcSV8V=(jb%*fD1(zHYYy_d8*4 zw;=WmcD2)V2v`b$B>_tW;J9Z_z3~jdN!dzH<>7s+Wmvh+aap~HR_7WoM8$PG8(406}Gf)BV9V;GwIp6`d4Aw{wZ)=jlG5fl>ukp2>6nYJ%|bSnkfv<+2Xs-ka~bI=VOiy zfFYk3fE<5(W>hD}{T2XoEP?qmGl9{sE*dFD0|#RbFlW!q7!X(k&>|+K#w13d$Ef(G zX@;p!z>Mjf64p1RjHCdPSPy~TF;=F~7WYp=QYHb=XVDMnO^}KnVf}+rcO4d;hbI70 z^(6);#`Q!{Us6L(M1P!skpVC=P698r>(uZ+u)jR2;om!<+nWFY002ovPDHLkV1iyG BY1aS% literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/clefable_still_front_pic.png b/graphics/pokemon/front_pics/clefable_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..81d7456a1a022717c6836e1a70e357f7a04a50c6 GIT binary patch literal 674 zcmV;T0$u%yP)Kl)sAGKoG_U0*BNDt_a*K*$CLyaejo9DKLA7%L``J)4-?tfA?8;N zNy?Fpls)2`b3kRa3|w;fH8-Nh%mY;> zvcTa4vnfs)xN^X4655CeQ$#j_9;g#;=&DnS$rE;u{x_Cvw$aqFp?w1@>n6e@;eL<^ za=7?!zk0wGO7m_VF*zyu@&qKbQB60%%G5rG*Exe)1bv_<0QUieD!V{zWPSvQGt7ft z$M&d?9WWCi(au0ON`)h@j=+d5RMvLOjAYw_R3_XxE!!5Pnuj}6HF?Vd1JqmF`e=cq zRl58mKrVvSVVMVjGmw~3e{t)BMQ+0opuPUe>9ir;2V$R{_JEbv+X8-^I literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/clefairy_still_front_pic.png b/graphics/pokemon/front_pics/clefairy_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..4684b7df66f3f1db513ac0f2a32bbd633ac43763 GIT binary patch literal 540 zcmV+%0^|LOP)QVKld(?1P!xu{GC|xQXgu|LdcbD@agjaVb~Qe|Uh0oRL{EZctyG|Kf9F7e5+%G_U7-Q2X9pyD2=HO8 zw7`qE1-e405gL|sV=pLyl^AHQ(8t(8l%D`&A(ooL`W`@Q!Y=?93LvCF&A=}eu=;kD6454A4MJ$c@TLQf z4I|1z#i0p&`tZ5~qu3@&C{h3?;m^?S!1R>$C{T)sr)Qkt5@60i7D=4dfv*DKalUCm zQHWj*kgi_=5ame$)Qd2u@h`v`3qVPk{{e0R1PWkm0W2LTRDhOU>1;rYgzC3o0Q{{^ z8Ik7W$Bx8GXF!c$7;D>0sHmC3EYfYD$??)W=Njg@enYeK(%Iac?AT!Q=%Q52T(5Ik eJC(y6rkWqfCs(uq=Y7cl0000G literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/cleffa_still_front_pic.png b/graphics/pokemon/front_pics/cleffa_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..82b6c103b7f277fee5857f79379679e15b6d8f6e GIT binary patch literal 381 zcmV-@0fPRCP)V$L002@_QVl00001 zbW%=J06^y0W&i*H`$KlCcWHFcd|zC@v!S2`~BszP8{Xf~`)1Q0=Tx3Oa~m zbrr$R6~s*bm7DkrqLYKvB(8Z~b?9BsNph1s#)=gAVS*r^mw=CQ1s?z}LWUL)JA*h* z?&J}D1Sd`eAyjtHZVMVGK?(cq=mEfmI1_x`0u@TA#2d|_O`I@Kc9PZs8b`CR5C@4> z37i>)nn)#XGd8Z~bc~84<-&@OZ{_E3=zQE7e7dROn$NQu@ ziu>d!VTAZG3ErSj;FtuD5DMpA2%Op6){(+vUQF2Zu; z`+XFbMqM4;%2_4^Pc^2H>(AGdq2n^d*%&2uG;mq&c+8eSiJuz?nc}}{%jhc5Tz4C0T4@W2p+kTa?EW2VMFg@kCGeC(VC$eAIm zrCt{jMm~h7G{FDg87n8rL?a*Xv~IFhG_rvVQ2ow}I>QbNBKxQ;TL z_qte^l_52#!zaeABOwdyQ*c~53UykChl}rGT$ci+n!TqQ;wclbDjIqYrMr9^++s~A@G=6WRYEQ6jFgpxtW|jZ|002ovPDHLkV1mh4 Bq=Nte literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/combusken_still_front_pic.png b/graphics/pokemon/front_pics/combusken_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..5852709f3e4f6e6992fea18d8af79bc55acb9acd GIT binary patch literal 838 zcmV-M1G)T(P)p|7tnaS~*%dF%S?CH`2C%00001 zbW%=J06^y0W&i*J#7RU!R7i>4lfg?HK@`U45NN!(Oreld1AEFz4|~bU?ZLLR2ch6Z zJZLZNn?->jObo7q30 z50-`fe*3*|=FK4VKbN-`udlKgpsMs3;LcYx#Ml=-@PSnq82hI0u)sXVSV5}~tusgv z7lE^n>x?&>dVp_mUgvyK*MjrSzg(5B%lJ6yD*cB>e@vi$bN;=m)pLbe&Yx)X#4}6? z{pESOH9W-l9-+E;P;=mrqeZQrPzlEe0T24X(0akFv zeM4S{T^^BK6iB)l-zP+wBp4IN_Ly{Wk@v1KmY}ADU~5{lp6??Q?i9mXoyf6J<&;wD-x#vn%A0oC$9ƖU$f{=2F`{ ztDX{46Qre<3T@ne#AUx@?`QeOdqQS5i7ypVYW7wm19PckAJ}jg$n-SH`AE)FnlJV5 zmSK)|Y|Gx}qA|0*IS*NY$d^iPKZWIFtx7|P8r;lqn5QMES4&qw$ASt*gxH2VM+;zK zDB`GRVK@M^mm4AQ^MU|iANMShmNn)$LI?m(D1EM))E84`s%H@b4Mm7g#iAPLNvn-3 zK`*9b*;!kt+S-{7$88{^J=)*Rj%Ca95U7d9?v?MggORk<|G;?g+KCJkVAnnu(p&RF zm*|m#f%pdK{&@_5&enXS1OV literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/corphish_still_front_pic.png b/graphics/pokemon/front_pics/corphish_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..f8a06a67c29c0f64bd436cec7a5625c06ee0aa73 GIT binary patch literal 704 zcmV;x0zdtUP)@g8%>k-|xD<00001 zbW%=J06^y0W&i*JK1oDDR7i>Kl(BExKorJL0tP0;kg>~M*pR4r_7>?7_Esd4oDftX zbvvh1r}VwuOlomHk*YW>slfcw8%@kfsR2rW9Ngjl%%T68!e?d$~1@LQx~k|NCm$mp1~ zVRZmFr#6M|c_U9JC3?)jq)&j|ON#|~ixvh0tId;VtL~?g3MT>6M0CIa!$QUK>wYTg zB=9NdQeYVXz)3Oi1?4G#QVJjf%K}rtY7~5r;5ksBTi|STkIND0dQkK1RSKvH22dUO zU{>DIt4hwJJjPUhV*8DSHz*3fMLx zWCJNbk{v)z;L-01IQt0^M}tr4lf0I4EFNp_1lu$t+<|kG25#|{S05-90h~v_rM%d= z({cjPzN5Y{5YhUxvm>*o%-5ZL^-1Q6uW+C3j+FkDINNhag!WkzS z!1eApY)jj6Izxal9$U@R3?i0}!c8=rT*sD~2h2jo*7Id-Wmr^_E>sA7KA-A1W4J2| zc{NiZUr(p5)>+g4YcW&G+qhHh=?vNGZKP7F=Xx4qd*7h&t=2$;%e(bg6L=PI*U;s; zJG^TwHJEmH4|s>)RIC>WOufj6vw#(eyLw31%T>wH`#|#5V)H|a4OZ+d0Jl|n;u3Pd mPyOEr$=sjBA?dYVw*CMp^Y3ho8R;KlD$sjKoG~bL9*RM(4=Nj1iA(hKR{mLboT@_Yp4*7 zXGufkld@wsxr#V6NoU6eJQf{_lm^k{#vchVYx+atFBj{b-~Q)gSBP(YIU)P~%i>Nj zdRvc#s}c?0S3`2mT*>!cSc?MUZff!c} zfH>hL6o@dK*K3b}1qVct8r{_30XAMAlp7t_+f-s=J5=YAg@Yq6Bw)U6>AeLa##5!U zAi(9^gMz!{#nOP%211RSm52E~&!J$3KngT9>0!!eK|rH&OfKRh2XaHfFaW@O;icMY z)k|oapvZ^ZQ^2{^=S7YcK!Ze6cFN?a^bJ5<&UlKkx-@kShT@Zs4V-VA(A8~ic!ux_ z;JPA82m7`hxP|f~2T8YL#f4kODj+(+$a*l&Yz8;G5~Tg2#sP(kA|oI+k;H)w;1q_> zPtb)S$`+uLV+!z)U3UR;dGhC{Rb%Hh-d^TQbmX_ZN%4A2bLe8GlgRf^TLAG(!oHM0 z^u+i3vdv;oR(f3fgHM2dP4otg^nc5~Jm{^&UYh{{z0PKHc+h&fuAw}4_Bl|$ nfU|vTip=MzH9zIP)Myj8Owo+ZyppM=Q zQ>QA&gg3Y;88Xp~q>C9UHR+HrKlWkR+(lk1{1uPPUeWVM3;1J0-P_ zC{) zE=kdEI}9B3Tb8E^68UaTyM0Uz-K^y}uu_%EfAg#jx`)!q6s#6Nz~v%eM@<~2=+6jf zf+zX)!pr3-(~7A8tO9%Cu6X$Ix=^Nb2Uy^>R(!v6P-sM^KzHI(3t)*^ihh1%mE+7m zjK>HBQeKHc0T?Ra{D|3S03J^bDRPY>&hu{w3|Y)hn&9%t0GXfHD+TNv+3`pLD+Hhj zoKk9!Vg!PPyXr0=-v{#AK4nY+Hm2zQ5_({FWRG@TDP1X+5afZ1ttJ&ScH+t<0ynL~ zPF2PV*p0`iu<%lOF)l8hS_L$4$Fdoao5^LtPmF9?z`GbrNR8pR1Q1*S04aZ8&fU~F zFDZ};l^bKIa6BmkrkA-;5d!#cFDMm(fi3?TKHvtUb*uQc)&M}v?6|?qy4&(fKo$Mo z>11SoQ5UsUo<xO%WD$2BE=zfkqow`Q5#srRRRHvq)8j{2V4qyXYbA@2rqBs z%ON?t$VH~w-S^w~zW2?Wah(5iU3jzx_R=opNqQiYyt6kPT)gG4#m_MxbpDV3PJDuxMTWdWo1zg=5A&|#q zfOC3)DaMSIrg+*P^|fJ)mjdn4fdxuaoa#|e8=jY@IML8+8-Qj|28`Kh-#{%dt1&k| zKQOOrf3mB^fZME7Fkig>-IR!^5=|&;{2@$8~NFYg$+&{`rzT zoc@&&t!beZ*C+Syq%Ws?q&{SYonB9;hv{^>PlzW9y?XQN$8<9JMTI09nj+xhB%K^i zo~VpOgJR&D$*c4Sr7{{qF5VR(gm8D#G<~AfF5_OLy;VZsutN7inkc0@jE7neR;=)Q z1IB`5iSgad4h!^159pGN4|;t~S@1$`ZK{xWn9)5nYYDhw-&ru0QGgP27HRy0aQHV~ z#Y2fD_^=z%lZ-M1MiyY=42ba15|4>c5W*1%Hc*2F$lFe;Hcsk7WFC%FhHCMH9w6X* z3!qZB|6@tRe1h$=4ZVQ?<%0POp&23M84o$+ED%iu!e=%oH$TP(=t!@#E&0AXuXDR*PXg*S5V^H%GYIO${@rLvgKAh&>v z(=l@Zy0VkBTCHSTWq1iNW>5hvR9eSue0$bSl0@!q!an3aLr2ctP5>Uaw#3!yH7QlZ zkG=%(gJqzLspXBx3q9PI4(50DOaG8f2Ei#w>WsHp{HgwoPQ zuOoZu5O|;$7YG7aT>JnX`bui;3{46sM@qJ-58FdIiMpTu_rW`gkpEgvblFY=|C+tH zY@ci|3Ir2%5pY1Miyp*8<(B{o-<14u-kflF&DSQBuooDOJyij@@ILntf52DL0IuvK zl30hZGS7J*@i4{^WR-*~mw-glNNKS1)d4_>9fS!qa~2w?vvlWc@Y=~>osR(7pae8s zXyEVau-Tvlv|I$Q&nLjmP@>s86oJwLP@-%BN~P=Lb~BedySZj~R81h0kDm4U9idF+ z&nHm~Vr>Pf0Z+-L4a_CXj@zkc0J&`dyHgquKA{r?)+bSn^3f+wUCkguAeVAw0SmeG zh;wV)P^bXQPFw_7;f#zMrvhxd1|+62z11&81vF;D{hmpI#+%YM#wDn~Mm= zS%K{gm}YzGHrZU)Qb363>a!xA6m1||GD0}qj{x5Gp=b|-+GGpRXEYjv|8o}xouPBf z>N|CUw%OuciQVfJVoT|+sENB0dLj^kdhSweh+VkdzK`<#Lg4` z&G4>7AFP)c2r>PT;tT*kL(n+XW?)gmc`uOwQ~>EGXm|uj67X&=q6WA=)fhUL4`nYk zkm4>5Si4@>jKX-}+JcSIy2~A`aBKuZ17NPLiDonX8F1qPfdCp|nua4W=am2gyy?R+ z0F8N4%^U)OX9Ew+@U*OFk|ul3Y#&qB40=!uIJcstW7a9mz6sR9*&?y^#=-Q{j)VmS z5SA}(30ooXQjDwZ!^)z2G_7^zCwlJJV=ZyT1Bv^G<+S=og}ej7bqR_4R*lmD0000< KMNUMnLSTZ*s$CfX literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/croconaw_still_front_pic.png b/graphics/pokemon/front_pics/croconaw_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..585be79f48e7dcbfc8a075f51dd165610b92bdc2 GIT binary patch literal 730 zcmV<00ww*4P)AbS7+|Eya7S|H6S7<&K!|K?)mv{IaN2oMku&TozX00001 zbW%=J06^y0W&i*JSV=@dR7i>4l(BEqKorJ3^p;dg)PcE@vsMf|duwZfFDs7Xcu0qM z^UgvxSj!*4aOnVJ8-`{*Z`n^J=bbtbE(47_n?9&lrM<0qyumi?e z_jn1wSkUVgR!~3y)|X;{u(yCwF9upZgelmCfZqZ~N`S%|4S?%S>B3%5KWVKAPP8$1 z!DjDt`8Cs|&QI3@u=Q3vGt~(26cw~q5V(u$O@L4*KwNMEEN?VPq4ik@*tW{w4&ww` zOjpCl?!wy_L!RKA(|W!Pk@BX~*%W{Ut;) zqbg4|$Es7LI{lum5Na|O{EZvQJ_Eh?K@ycTxoqW$nMFahn>;A)7gt;?J-)- zPeEKEfKIMwfrdHcfZJFASYwa{Zp<-kdZYkKJxcTUKnhkHfl*2+4e`mEK?2wEk}@P)Kld(&~P!Pr+SV*Tp`~w7EoQrzu_|T@C;G(bX!_0%#V!9#Y-p$zUIz)d#Y=QC%{eRdhA!W)-+gzv$Jny|bs6WhU<__p z)oT-g_c6GTa^NMW1kjUSn#xw1galA+r)iqVv`GPMo&&N&>1>FAluboC^fLVypo;3L z9w_A!fQdi^5GyLg1nnc?xJq3U5wL@p9Cs8E!oUvg$^5-@Sq>OpHbEEm`e(Y-z{_@| zTy;hbF~l7xrKWuf=*d=$fFcrPYr2iyzEWDVN}~)gaf98X*ac{SD7A=PEkH!D&7I9s zzzj_%2vFw^k%HA{zJJf_yhiA(@i_8*KIR*QzET^F?);}3=R}LGwG7C5lmnI3*Dqjf zmyc_kvW8u}Bt&ER?Ck-+^WQ)%pbC(#m1n(~jH#0000< KMNUMnLSTZcVF{Z6 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/cyndaquil_still_front_pic.png b/graphics/pokemon/front_pics/cyndaquil_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..1a31da433833be2cbc9f82d2f041fb10de357542 GIT binary patch literal 546 zcmV+-0^R+IP)KlD$&GKoo_yNI?q5+RB;a4Om2LehLdq3T9$^*Hl)x zP}v|u2NWdY_yQz6f#eO?%s1en`xFLKUAG_VO70`xd$?;t=597;Cl({tY2=I;}tgUj((3=qe5pEw^E&WX;($>*rpfas$!IZKM? kWO{L6TPis+Kk3iw3l~c4NWykV&;S4c07*qoM6N<$f-{Zh@c;k- literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/delcatty_still_front_pic.png b/graphics/pokemon/front_pics/delcatty_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..bfb7f38944d6f4b5f0202bfcb4ce5b061a23c549 GIT binary patch literal 765 zcmVKl0SZC;);yR!36^9N~$3E zCxymq0yZf^)Q}I5PjS@}lI38yyC$5?yV{w?SyL?mb+m{_;MC2#n#1hB`vS=$vdlie zdEaN|T|)jVTyyV>gpL2*QtA_8yCBJ!k;(2&qEFU_<^q7vhC5){TZ8EW$kH(R-vD4q z55R}t?-o<&adYejB+iFD`_2c$6rO_!1OQAYAo^emVY`nB#^7RWOz_du#mrqI&h!Dp z63ylt^o?6x2r+W^APsf_-Pg2<`)}E$#hB&+E^Ew$C-PH(8Doti@#%8RPB*~lgz3V& z9Tl}$Y4w#F=1+w+tblpNMYVJ^<+BAa%+2oO(lPPToEs-$S-Wu^Ad!LfB z%n%rp)rzluIler8n3U5GK2k*^t10&djpPo`lJeo%XG#?^4FIxO{*j!<7L;lUjO*9)HI*XEF26dvjOq%m+%}Z@0DsF0)~^(HGlv0YFp;t5RqP zu_=-F0|_oFs#=(G2Z$YeZE0SIfr@&GU%X8sCthILuXnEqF@Zmbq*$;r54~zH+9a-uQ<1C zRShbz>__>4D%?7SMF>Eu7_wS^28%*~kH;XLyz?%YoN`ia9{)yjY^ekRG`$5KV;vt(1mLF&>tIL=ZSYAS?rkrL@+8P6!L} vH$Xbfbd=pAoqK_pM&8{EpyFZq{&D>V;ICJ`rPEJI00000NkvXXu0mjf0{>*D literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/delibird_still_front_pic.png b/graphics/pokemon/front_pics/delibird_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b31baa2033fd6c82894d825c24bc93a92823edae GIT binary patch literal 733 zcmV<30wVp1P)Kl)-M(KoEv~D2EiK)*OqST5@=TtaIuG>dh%gCIz2L zmB#?}37ozFB$r5VK#D4rh@!Kk%C|&ACA0T8t8bSpalRALPf{UCGQ2HnYSTN4Z0U#0|%kfM1VQ#Ab zAqR+tE`Z`P58Xo=A{C-M`1CyRkR<3MN$T^-d#Ag> zgBUr6t%tVcX;&|uHoplXM1ET*H5t}hz21n$7_g%2q}f>S@(v3k?4a)nz}N-;{UC^A zbQ4>I)P``l&sgl8VG;}A!GQpdImcoMK-8Nt7H~?RBE&PJwwsoc`IOQcCSfE`(qamL z5LCiW9?z>CniWE^G-Y!EjLk~fKx35WfM%Q9Iu7Vm5UN&p-Altl08x&Hxbo2v#32T( z>Uy~W?D>v5gpf9uvMlrjPz9FklpqC`y05TTDVGiSMC(IfA)P|zRuwwV+X^8snsief zW@0JX1}^M59YRPoF*iZw){ONt5`|aJz5r}-%ts-m)?ko*MBX^9cciM?gjk6H*g(y6 z`0F_k2*98zz_P%q)A~vbn^Kc302VF*Li(5eV56ls;HoWv8ovcb@lyB5!e?Dba~Ug+ z&ycJAjf+LHAUL1J=lClmjPvVuSLV6?G}}%)-!1IW>E5w^5#&zyKWaY#F)bCT@(HFP P00000NkvXXu0mjft$asD literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/deoxys_still_front_pic.png b/graphics/pokemon/front_pics/deoxys_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..017eb84d3624e6cbb1f1f830defe874016140a35 GIT binary patch literal 1579 zcmV+`2Gse9P)n;Ae06U00001 zbW%=J06^y0W&i*MsYygZR9Jmo{}FAWqxyF(*&p-n-(WM|bPK$=<-C=cC;-Ux z7cRhIjx3N9dLcSc4U5D|g@7XMb1$R_@X!6zvm#pTTV{(a#j>j0S6&H^a&mA^0471jU`#=`2S&wISJFg9Q)0C;18 zBc;vKr064X5+tey%tYnz>FW?G>OPW)mwB5{MfVKF$IKKGfy-aRB<1?jOMsSqDNgxd zkL{tHNYlD}6()Dx4{TJ?n+S0#1m0U;bd@CoF5iUeL%B<01sut~NKZF)+Hz##T`wRJ z0_8*jU&)CDrfXD4`3OHMFXdE-6W$U@2uW!NZ9v8LNV!dnH0))R^R~E7{=rnGrfIMS z>75Z{UO#=_;-_hbVc}G&x8jnK+jK(U+bdlp|qGo%KqzMmm!0PNWh?!@)4pcK1vH(DY5qBMS zpa(1l(QXYQV0C?qu@Nd$k3X_W_HyH}pfrT0M@n z8I!qR%CJqX0~yPb{kbMLasi0fr(fPPW8Dj5bDu}Yv?2bWQ#4Q)r}X?iz~lD<+LF&$ z@IfEL#j*DFsk}Tf+YG1__`kBC?3IniyNlNE(T3e1tiL{z1#KZc+usQRg{ujklK8pfjyBy? zB;46(ya6!eY&M=%3#^nZ=h@Bqa5fr&eg}HM?BTgQ|8evi1F6fK*zd94dW!=EH-cC* zFX(JM9?eFs>Xg&2Mup+Z(QKUFH5K-{3L5R8jxkAYvUjkaI9JbiC<4?^HWY5J*|2wm zDq1l7q!IPvySYm}2tPyM%6GMZA!}d{(TS&N34dhgfogPx;XEJS#J&&dzLa|loVUJZ zKf4*mwx8BG&1Gkm)tr4RW;fq^?CBTD(6F*S6DN_pVpfFPVngkV%F8I5|Bv^ju$!K% z0yPJ67E1ne(Z!(*RRz=&AaXNf@rA!V7;sjzK+2HSRrOJDyGwcb!RG@qX)E7pY;~JaGysqQ=Aq2S1i68@D^J$_ySOI?4 zLOX6u)Gwd(D+oBm@V7II+K~a(X=l+GX#LPd;33HXcqvrmfERwIVdCzI*SZb!=+WMx zd;h@Cgt9EoC{&Ej+=nthbnoOF?(k7SrgNZ&{%-MHI+agVY-#EQ#RV89?L5#W)Lq1P zf(tSNMy@LQX9`GXqLfkrG*=bVAU9E`FgeQS%Nl^8&W&*dvOaBhTnweP`VPK@@gxJ# zj@u8iIY+zXUL_Aq)lRugYji)i;TjzmmEwrWd@Db*EtjfnpsU)tvt;8dCOu-cVcgjp dq7T?J{sYzJ5ml{~SH=JU002ovPDHLkV1mnP`@#SK literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/dewgong_still_front_pic.png b/graphics/pokemon/front_pics/dewgong_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..1ab15de43013bdabb0a68fc2dc8def5970197417 GIT binary patch literal 763 zcmVU&b8`?75dZ)GShCQ_F7KFc1`AodqnVYh{quS%^)Y9Z_bl%BA^*9Q&{N zfk0AxW?{6)!tC-TQ?mO5?IMT`&Ukh>yG)Y*t~O7PzDD)j&R^4?{DHt_xDm9zX9$=H z&5PETW(jl2Ng!+hkdn6xTwh>5*#kf>brIp%Qv>*uR7#GN1|o@ZiwfXQ(vC5o){bp8T()=RS15;f2AQaUsOXME~q~MeyH~)fx&E382Jx1S`#S%k@93DwjsI+ zY>RiWQH@1s?tm1y_am;^ z@W~V^bO2+TKP8{Xf<_YHmr+>H9Evu{V1k)pJ`6+J4cg!@idMiRU{M3&m_MfRY#0L0 zOB~8G2G7hWUaT!Ca66*Px!rt|cj|pX@ad;=BT&5C#fXwS+)lqE_>}WKh?33{^W!oT z8!6rK1FN7Wgs|w>Sa!A(u_pp*O4+K8b{*}p#8n_i4#g?VSw z3g_G}C_d*xIJ@w1iX=YTH$>X*TjZwiQo3h5ioVNz=s8%WQKp9 t{qcT<`%))vt5FYOGg@V<{Tu$z)*m4z`{nfb>aG9)002ovPDHLkV1j93W@`Wd literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/diglett_still_front_pic.png b/graphics/pokemon/front_pics/diglett_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..cb26e4a635dbdb6bd9ebb56cb0050202a7f5604f GIT binary patch literal 424 zcmV;Z0ayNsP)cg4)j3M$=Crh|bAx+IT2df;dwUQN5Z;_x#d|@dT0v?c0RI60SaP8p00001 zbW%=J06^y0W&i*ICP_p=R7i>KkTFifFcgM6RVY$>0Y;7h6Dyh6)7cBJmM0ccDH986 z)KgRlrIm>XR@@VWm(D1}6*EGd0f%HVd0|G%H(B~WeYQLr4GjEqjQM)+-L>BBdyI*; z;GP!Vj`fp9Boh<;sGoO;Yf6~DSOF0al#msNPrGAI3F`jjyh1D}VOn0Co@IztNeEu< z`+n9_@QMfjvg#{fF6#hUQ20Y(s6y5Vh7yvj4Vcnfcf9~qyPGlQ0r;&Wj5!E^C>0`rWds)Y zjxj(CDW5|)--Hr?xdLNM*gV8S0%M8$1Y4-t#t;J7L&rC?l?GyOJM=m*@F(A3MyfP+ Skr`tE0000vf|`ppqu}B|hM}S1|NsA+oQ|Ia>SZhm@(X5gcy=QV$ocN+;uzx5`F4V?&>;sN zx9fpC+ZUTFXtK?0NHowrYG84oz)U3ME04@Q^IPM?>Tw+0vl44$rj JF6*2UngII`rsn_v literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/dodrio_still_front_pic.png b/graphics/pokemon/front_pics/dodrio_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..563a89cf068c15674f60cef7eddfc18720110959 GIT binary patch literal 910 zcmV;919AL`P)~00001 zbW%=J06^y0W&i*K3`s;mR7i=flf7=+FcgJ3aLPbHiq{q}rL`(5d5z-4vbQooVS4mr zaP(7TFgj$)PZ$JFh#?)EXu=2m>)HF+DJ;&-VaAw)6+${4;djyXeD&dM2F;+5W>*HialxnjkexEIMJ!O3?u-nngCiFpgq)c?W=0Xn$GJ$&nGzw_w|}Iwg?4gG1^-rlf6T zQ@_R8T^npuuXLGmID&x)Bp;f+*mXEujMv|&=a(t?*y}in5S&Aro=dZ-eeC=O(b6Q( zl5T`#%4L#Y${?Fq58-A49)H$9iHu!+Z|zJ7@9>AVt*T!DfO^!jsGW{PPu+|%W*Y5H zQE{bQn4FHL60T;a^0)y=PxZNsy%_efv_OWa1W@dE(lIQDeJ_t%S*U>CL4O>tK_Eg^ zrBMZt1CU=Y{6(#g$M7uyybfbOT&(K=0RWYO&^lbmFbu!fMhxoX5CdWzhN1~zVw%CG zOEImU$yy(CKFU-ts{!@ubI!#!Angyi9+^cAKsx67eHRTt27nUR(Vr@k2|Yb+0wAV- z-O`2$s0a-gpb^NuHcogZKz2;P>2^T&`EXl58NzvNQNX|89UV0sm8z5bo1b#<&@3UN kn|nk~wz(ux{(W}+0f+)y4X1@k_y7O^07*qoM6N<$g4hn4cmMzZ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/doduo_still_front_pic.png b/graphics/pokemon/front_pics/doduo_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..3a30b75e4bc5b4160d9654ab76bf88b951ff4846 GIT binary patch literal 619 zcmV-x0+juUP)w5dZ)GZ?AP100001 zbW%=J06^y0W&i*I=}AOER7i>KRIyIuKoH#uTZ*)Qx7Jm3%tk`8XxMRs<>qXv^cy7l z1IfA$LXmH{?kbQgFC=0qkwC!BI(GziV^duPFG?Kwy`6b8<1u4j_;1)d9OmN$(s+n3 zMFM3pAP@oonts8KaEfuiV80Wz{W;pi0;Es9IpUq|rxwzyOE#yP)n}8q8x32X?$iC%j5y zL}?M5l7wxU(w&88v(jgXI3}Z(S~Z~%o?xO+5%X&&xTR_OZJ-0w8nGxzkWw|W2n4gK zF^4uzZ=r0JlwpWjUBuiH6wpUCq2Qc;h#yPJB4xmjR`a9uj#n6X7_E9ADReYq7Fy^o z22la=c@SZ-nhhsX(ieS`ubr>3L-0uQ`tKiOHVfFlkUYvU!`#pC&P`>FKS?iJ!%yk~ z!HE1Wh6IlFAE)=YsM&A`{!tDmxEV?@J7%L`vEIOuJXp;&=5AwxtyyEKX|dKl)r1+KorLXO(0NE(AL52pmYyJ_M8%*W~GS*+4N_~ zo5>J-B}E$3PTf`LR0vqmQc58OyCGW(b$$#b9vmfc&-lR9ukW2?IkD6J1MS0L(0%UR z_kG{H)3pCF8*>cf$)DHRifNiwY29_*JJ-t=2BvWOZUyejUt%`ytvG_=?~WYv8zyCN zgaZJKtsf1K^y4>rSO$Siq9Cis#ch5m&brnpB}xbeJQ#k5PqN zg|H3UPXbuc-SQP7Zk)laO3>%zC7J_RfoMv?+DFdiMXUgQAh zrv&I9i~|B}A;TlXXh}W=XkFtY&_D|q{xS+JoYSL>=H zIWX_y1Tv=)?FYPvz*14BK;8_YW_mZSN^Y`&U>Oj4c{{1!_P`H$XhJ;{jDXG!U{TGi zH#!AardeXLqX2t+M%r(@YkDY2zZjtaz9Vu#qlqaBxYGGRS*Q|JSPtk)1Qw!o2IypR zi4TOmRbl!4)kAeFTu;*<7=`2JAzckwVfk2}SLq_S_^O@aAK&szkbeR`+cO4=EqC6dGK xS5504H`~XPk1)Ni>2T2wwZF#V%%*=heglzP8gkSX@mc@?002ovPDHLkV1jDUrd0p{ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/double_question_mark_still_front_pic.png b/graphics/pokemon/front_pics/double_question_mark_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..f23b08476d7b80a2d518d7bbfe8d39337e9c05c4 GIT binary patch literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ipSBC!#|Ns97@*pITfgh~g zVlW|5)h~ zwmNN1nC}hA{B!4a75@`=EPZ8sPidO(K5O=UEcZS)9zFE$8p}VSgRf@nf4_pe>AF++ TzSo}mAg_A5`njxgN@xNA$02mt literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/dragonair_still_front_pic.png b/graphics/pokemon/front_pics/dragonair_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b2a88698cd0a027d9f0ad5f04480c3d8613db29d GIT binary patch literal 758 zcmVMUy$@G500001 zbW%=J06^y0W&i*JbV)=(R7i>4lfP@*KorLXHHCv%ppp(Ad(IYTXs?T*f;i3GEp*Ek zO8$WuFZ~-_yFU=My?5<;nnD)iClP2D5ub6K$yn0g(03=vI@`Ja0eOR@yYENu*S)i> zr)j4~g&eC_>(~hF%V)*eHv!Lbpk@MEN@+R97`<8+!ReZSdLnKs&g&NjpzLpl58veSHe>>ZI8;0YkQe8+!8Al%o}oeDCX>%W_4gN*7v=U(Pq;Em2MM z20# zt$`TU$4VM92V4^7_9)G!7TuP>Ap+AWhU_=53xGg5S~is)g7MrUF{O18h1l_d23U)R zaxwE(6N*Jd5T`AF_RZDRq@0{;)z#i}b8`?75dZ)GZ`1@G00001 zbW%=J06^y0W&i*L5=lfsR7i<+mA`M>Mij@-Xb5De*&jmx0UBL98e?TpIGCEb6IyD2OA(ID_K$c{Y2pCc=x6*qQl<*jcmJG>w1y zgZ)6!996gE1O;l^CScdWngcj#g9`bY8f^+R=aCMuenxYEniczwt+@>Y0It@V!VWk_ z#a`2z?$77}5(F$hrF9#n4`z3dFarQeDPLJ@b{ke9!0hf5MFCI|;J)o<_o(nuYr36| zJ7)?s10>Du9_3NuhkI~v5QD?*9I%_6QUO1393OFOgU5htI$bvl0zYv5VfTdD4fcpg z+;rOrh&1NS-!41HUDtI`JxNd^k_{Juj!=-bOG3KcgTPNb2$|{J zKlz1Rw%aY=_bJs)6yQKvY)*Y}>IgKbUdOVu+in%$!+}pj1_1nxzyXR>c7yDE;{bdN z!mxq$){c`8hX|C#o=n+%-Sc|>YkUEV$cJvyF1AZf-?QmY;lT5LXK#3Xo}Z9k%l*94 z*;adAKlJ)w4+mW68OT_G1{$zgVkGW1>pZwh+8QDl2R z9Hi+>^f1VP$+&WU>7JIR|AYgUXJ1FaY&;&VO5mQN)L){9e?t)?0#Y(sl>t6dl&447SgWB_xJ0eoaG zY{-;IgPH*&Y++Yb5u*)xQ^(ZkVHUj@CJ!e7y3SooD4h2KrBBb!f-u(7^(_i$rtqv5 z_d`sVyF4EcUd#nO)q$*%gvw)h%fV*#oL;n@_>W^yLCD$-;GP32~pjkyk#lB@S?1e zthn-i%ndOWzkG-ozIyx@3%ex@4f9Q5&$5`!Zj6W*l*M8!g96Cvuv*_nc{0>o`u>|c z3Uc-bC9yfQ2SH9`S(2=OC6R3~^fThl6~?#ST3|{2AzoEzx9$Q`f>X)9ANm0@=h0nz mfh~ezaGLyYePy(g()=IWc{KT!AvtIO0000}M{P)KlfO>GFc8K)WGxYW0i+8XAVjYV1Ehag5f8`O@CXd7 zDeM&&RFMfaCJ07KRkdt@%-JR-P0b4c-(>mw>AUmU7UEyOR!8n_Z?ULPoj|AcwP*(x zs7)rzz_bVmt)CI)<*Zrg9m^pHfCWY|Me@Ex%)|Chd^z;igQf|H`;n9~FE!bO(ImcX z15RzgK%U~h{EqNP@@n@v?re6=UPejURBC@%0^+NU_ZxssJ%<`mq@z^00J;E&>YM=p zHr5z0o>~BVbqLgX(g;u+45TelmbcEpWSl&qX)>chI;{Wzct8a(UIidPJm@8P7n@E% zG!Ri{l=}s6_pl6f5hDhqP`bvLNFFW&{s&LCN6CXwEjx!ZQ6ZGPBO)8D=a5!v2=T%` z-PrY*N4)~n2>J!^Oi8s%&b@%GqQ)B~GOPmP7K#Wzb^?!}BlJ`B`%b{;t0Y6b5jVLC zcnoZ7LZ2t9T&K~@Mi@zS{ErTpF0=-z3(z&bh--6cPQVb?h^sxC8bJ_%ejDhjpby$; z=$C;%1n>vr1Pi$TxbWuI##gt`gfjU*`m7VB^rQOMU)3j=iT6;*KsLbu0000WIw00001 zbW%=J06^y0W&i*J3rR#lR7i>KltFLWKoEtwhJ*bFdg`AvirTZ+QBaO$AuZfU4GH%w z?YS~zd@Q0KoSq?Wdul;Ao0%m!V6R)L=Zs__`+a)v&8|eF@iPB2`9E|=eaOQBad$O9 zFJG%^G`N}F{o5}!V6-hhLGXOwz)wV`BPdao&W;IxoJ;@L+>;_HN zHw@r%X#+-NKUX;sh&ZqSH}_MRe}26&fTcuJeIo7quUDLbSZzTS<^W;1sRideb`wiY(Kb^&`NY@LQ9BBq<6!O!YQ~Z{h13z=eE|7_=7_!1KIT8V9mN zkdzgm=`kPz*$t(%0pS4<-78@QPEHvRLJU1}u>kL$fHStS0mIWn!mtLQiX{0${PqqJ z{gQ#}w}vg6GjTBJRsc%(eP3Kq%{t&h3K8_5fyy!b5pv7XojQQjJ_E92I!?-Z!=js4{pBXE`+RCPB22-rE~HM*7ra@RZh6>u2`whqru n=dh2nntxg|?DRMNWvufEyxQ?mq9`(s00000NkvXXu0mjfxjG&> literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/dugtrio_still_front_pic.png b/graphics/pokemon/front_pics/dugtrio_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..7b1127a5814b49d53baf40722351a990824339ec GIT binary patch literal 642 zcmV-|0)737P)Kk-u)+Fc8MINC*trd)M|6+__6VWzs^y=%hs_!+V{= zQx>U0fDE0xWGK`?k-fL{6R0Q6fhq<;ktvq>3_a5S5L?RHp*cVx#rxeIKYoVs68~)o zDes@n^92@H?fEX}L}cwiNx%(a`;gx^{3o?&ozdm5_?PEqbop2QgJV0;`$Z!bh-Dj4 zqm&Xc&sIV<1I3>=?^3KJiESj(;(h;ZnrB+j%7#TX6D7*QV1Cr0hk8Vw5l|#aebk||wxKEs(2?g)Wp3l?KFtr5$Yp zR$@LAy1_BTj z!DIqpS=$aaV=*;UHLmA*u-;J^`%82}QrD+qP7N>)JN0F1SWZm}Xn% cCH{H*1-V{)jLh~x^8f$<07*qoM6N<$f*qPAc>n+a literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/dunsparce_still_front_pic.png b/graphics/pokemon/front_pics/dunsparce_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..cf3c421affa714c7fd6ee371503b870e8fcfa2a7 GIT binary patch literal 645 zcmV;00($+4P)i;IiJ&DCmJDZPsz-n}{I=7aY3#sB~Rm^<6i00001 zbW%=J06^y0W&i*J14%?dR7i>KlfP@!U>L{WpwMz%8XAxa`ZrjTyG0#Jo~uJOASRnP z)gN1_ARb*BM{y}P9dWS-x`Y-KC-3!!gPYRVL1-7rdsFC@+IzrBGsP!o%e_a>c5%E9 z1d@C|d7g*&&CA$?3IB)Y1^G-od%m!9JXV-~d2&$nUDnddXq>CHWBU%rFzkJgxjp(zYjdUhV4J1|*54c!*eF_Q5md}GXQHUj$=(OCr f;7m@Ka1MU}w_FehQ;14100000NkvXXu0mjf1J5P9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/dusclops_still_front_pic.png b/graphics/pokemon/front_pics/dusclops_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..477423e62a42135c894454acf1107e173033c368 GIT binary patch literal 741 zcmV4l)r1+KorNV63FO0bNZ1fOARRO)Ts2EKorYF&vQK+WB=d(^tb zo*a3cIT!1>=mE}}@_Mt@AQ16njys+*0B{Y6rw&D!v*xHxBh;y#C&q+bg>5i!oFig^ z8S}s&rN|xu;Px1R5qO1~3*6>dC|Vp8 z0S-u%JRy87uz1CE@z`y_xi!W5>XiZX{7e__q6@4D67!(E$6O<-blC;CYU`|d;1qcY z2;u;U9Hg0RC#K<1XATsk^s-+ii>1-)SU~nzw{7;THh#%}Ec>WztA^r~J=)E+wiknuDVs#cb_I zQO)-!T+VSfL72Dq{9AMzfU86CZ^ZLIHT1=Kl+Q}zP!z@!yAoY!3K3~HIk&ipi)pS{1UF*PwF4P& zS&OF>W+k>+^eKwWK>YIp!z^qTx`;w6j3DL_##iteJU42c-pRdPxb3$+Kfdof=aLx4 zRI=d9gt=eV&S(5By+Os_)B|jrFKB@x=Xwj1O$G*&A{-sTe4q2GnwatZZLX_XSQB%` zlopIzRKoLCm4FrQkp;k_;#$?Pjf@iQfgrb z4}-6w1Yk2~S&?uU>}9|X9{m?m2t%X@EQ*ZE4s`Q?245F7$pTiI!@)RU*4nrconW13 zH7jU25@2^4(aqyJWn>n94ALfZoyN&iYNJKhbSx+V3}m2n@$0XRJ

@r+E%=`uy9* zI%B}IA}T;M5Iy8qEl>v$kpV&yU@o;A(JgJ!dk3Tl@m3qr8KUL7Z-BJs5?wO6A|Q?v zS`$Dzl(9^YMXI~5nnvwLDaq7dEZvL)*R3Bx@_^^bNK%FQUOPCq@%w1r zm+oZz3HQ@`?2P~^fh>Nu2D8!K2#^hkNDZ?*1eL+NQpj)cq4H2aH;P`)j{nHyuC{_< zdKnNa|EQ+-x`q6fA9{?_Qj(@aWd@yNUOk=aGkO8uM9i1-!p`{s0000Kld*5wKorK$t-4hz2eL)6f%>wf%779tbn4%5gXz+R z0W){0*QQzAN==2j#6yN`5se}dsY}REuf_j@6S-5B;RqQjCfs)iHU{FNu2tS-@%`TS zzV}WbbYK5okH4=02E8?ax(1L27r87+2-4T{EI{pXMf!1)3H14NZE)db0NQysw+cu& zG1N}_@Llr#qm)hx#&-N&@&~;~rq=Dw9Uc((%N&rP_mz!(Kk+2b-9@15we2?v0PXGq z05d$xep@=iN&6BYX`a=#HLscD?as8`lUiye1pq2Hnuu(I)@9do0DgIgkYZVO%WPPA zkUui0U(U`Hcxcq!gFOR)wguJX`n9t!fM+7HVemwXP!+3HbWWKAz_CMC0kt;+_IU=P zPq*GMKDeI(4m8iU6q5qLK;Mnx1q#NC!$1J)+157zAmg#vQlFj8s2>I{76$#EDHoG7 z%m4{O1cBP%0PzHH$~|^sfX_GxRG6XmiAT+%I77080AP>T0Kjv~7|%lN5psi)8QV`g zp4I#fDhqKOApuYUBiGfckz$&dg>?E@B>hxq!*x3pw@g~T98pKdo7^A;@LN?d^vmTd z#@E!N+tdV}qTUIHST<>O!Z0U@9!04Mut+Bug(j705VEmIm^KiLRLhqzga(tLNSIt{ zeysA9gE6bJVG)i<$kM-1GG6LqXP4hFtmVn#j-oKcb}E&SML!7;wVP!CVQBk28COJm zw5m^uDiQwVE*+sLPlO5vcj^c|8Qo_3$4C_YO}?-Hz5W1BeIqP)KlCg^0KoEx2Tw~Baz?Hj6lOlx{H!58C34+vxkTPBJ zOoHpyT0Ow6PQ^i*)yTL>3Rz$fi_J3M#C}eb2uyRVkpVN9$WaluF;Hc$n~eK%`ht0sF4Vbtb2Q)Jy;Z@i+xY z=zahqCU)C60xav6Q@G3Gyn~F zMBmHC>~!#8aYzGG;Ui}s&}y)=QyfJ!2tvLLuR!7gggit6jvu4e7!oXThQHbz?)>3wC#b2 jDc>^|5tG;7^grk?AnX^>-C-l-00000NkvXXu0mjfsiP5R literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/egg_still_front_pic.png b/graphics/pokemon/front_pics/egg_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..d9680a899240ddd41b41d025ed624401a51ac500 GIT binary patch literal 318 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*Cqd_IC^((*-I%m;JQH;0C-Mt$6j(bPu@F5d?7oCY zs)gI&cui}=M8@7srCO(k&|b+7j-O{;LsP^8nS5q9o>=r$_><~2o+(V)(Irdy7fn>n y-_U4s@kzALA6LoS>z3CFmDb+6zw`6&8b-l)*484MnWcdKVDNPHb6Mw<&;$THS$h=# literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/ekans_still_front_pic.png b/graphics/pokemon/front_pics/ekans_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..3e1d41ba161c9a2eb9bd8f4ab16495ea8eb99b56 GIT binary patch literal 566 zcmV-60?GY}P)Kld+D|KoEwvjUt^(3c9q{K}mfeHYY$` zeU>`JfxerPQjg806p<6A8iDl`m>>5ipy3`-02G@W(=$-8o0meGpUdSdA{6RaOMp__ z6A-e#k;dd0%jYksfxqA5P6l2s&I$0;bfT`d&lcy00ltUaA=@q%<$)a>M+5}GnJVlU zV1vQ#_^R6yn;el26ASq#OgHe&^>g0ZxdT<@traMtK`+3c*c* zSps&xord!11SN9>bKT1K*<0dIR++E%)jL0X#+b1t*3k7MZO+&4yv^d6F}YM`fbt; z%lcY)i}@-k>q42E)k^%uyOW-tzLIn%jFB(;vHq9(1CKvZ`>?m)*8l(j07*qoM6N<$ Eg6TK~*Z=?k literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/electabuzz_still_front_pic.png b/graphics/pokemon/front_pics/electabuzz_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..1bed04c89feee52972093e46230dd2c02bbc7ee3 GIT binary patch literal 882 zcmV-&1C9KNP)(Zo% ze@|TQ$;EBy0Xw2J!zrPObUp>;L5FVG_f5^HRkXlWl1Wk%FB)+SH} zdeIRe6AYpZ5zSDn^7ZO34R)Js$e`G%nyM=nfT+p(4{M!_Bp?HgCc&oM9F%K4x{ZW2 z=mkWWMP?Hb7sd^6mE8H~H-OeEdw`#r15`SDyt#rXYuG`pP!Zx1R!)FuT^a!V`GJ9y zlA0d?umv8W)jui-&AW+>K{@N2kn+Lr>087Hj!?asbP749wdEXu@Zs3c-b@O1Qxzda zOGvj(sWm1s*`ruOQvy>t03!pyDW`dyawXf#j}%jZCXm2MI{=j@e6G5_KFNvLFC+_G z3`r>VQ&2%NpMPnrfW2SjBT-)oNo7nybNy{Tk2`_9m)&L=Q=AL+dp`e)HrcGSnKRG~ zfP^X#DuV=b>I$(E9zU8=jEqI|u3agWjFXiendIt6xD0J6g)|HVV?d?ct|fHYtprdB zVh1n~`Cx-|=|i&P7exr2aVMzUby};Yeh1h-?y7edPNy)l0;#{96_3WiY-t7j?J#+T zJKEv&e8G95fdP(IS;k@3hY;@;LXvuQYegtE)wg_Kw!y^;u3w&EQ6s1=ykHk?FQh`EI#9eRIL{+8NKB zJzBc~gu3I&mK{-&33;>C=mtUo^1A{{G`xC&tYADZRoKmNWy{Em!J7oGfS`6LT1+`D zfrE`YdZG2A-$jlc`$<0bzdA;p4r`zwMy#t*0%xZuMEOuwMZ=$HYw-DP^Yq7&R4iwB z_Q@rDa6`s)HlfQS@vO=C@`%Fs&jY+ery%wY?o(DTdjGfm0V8o652bBvH2?qr07*qo IM6N<$f>vpof&c&j literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/electrike_still_front_pic.png b/graphics/pokemon/front_pics/electrike_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..0a86b13afdf0d91a94e55fded77959aee2914915 GIT binary patch literal 511 zcmVKk-cuhFcgJtc!2y6=$OWVv8tRKb&VjFI#r0ltW~8d zD;sOqbnM7uq0W7UHvA0T(rX8391u%~E}Sj-&h^Wq{!#6SX*qL^=R@||G)uG7=C$*8A49TU}6~dJYpfvbDNNEVHmu=h}CplWk?8>reQl7 zA-R*!)tVO)3fnMPvID#)r<&hq1#uJe5(Am}pWW(!c{Xz>3k=Q>eSLH#D$BCj)!b#b zc7uzDcOm4o;*zs%Eo5t#O$fwKrOQH*y7iD$?)ZoWPvU9yq{D&_X;^2ICe> zr?9^B)sBlq70QiU+!Qp=y)Z&z@Z} zXHHa5(0_*i2()F+|7x#ijtpB28JYz^;EvSW9-v;vk|4ie28U-i(tzv?PZ!4!kIuJ~ zHu@bl5OLL=DmbBOm(iE2vI~{k1RaBBIClI=(W+yZUB|HT)B(5GO%a*g^#SwdP6;{Z zJ=1Y-^0|w9^#dhtKe_*mX){~?*QNyizVq2X0|g?Q8mRfjtVY5XcZ+OUIT`Nz+k6s+Hd2?edYCpA zJ8@0z!^e`RWO_&#yX-Yta@EA``d_+Q@VxN3{pWu4PCjke1& zJT#{oCat=1;CW8T_eo0TYR__WKI9+KewxrGtmtyK_7RJZn!3`F`&wCYuW}-u=BPZq z^KVCBanxTfv)$jAw0%C9cC!AtHSzopr0DaTfe*gdg literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/elekid_still_front_pic.png b/graphics/pokemon/front_pics/elekid_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..0c3d5325e0b7893fc2a33bbffe62b867cc1fae6a GIT binary patch literal 646 zcmV;10(t$3P)Kl)-M(KoEvkqI;~ZBK5=pF;0#MDdR|RpdfpEgtW0& zAXUOo!GR|L9)JUnQB|CB;1w!LkDDG6j$RuzIU&W&hDbD7J4hgI{SR|kf1degydEKL z^dGcC)he_of&qtM(3${33xw@JkXRsT2Rcu425k6Sz?P7`#uEC>#)udQr~#0BpALTm zhc1wwoOZVXGCEF=&MZJ`9yCmHcb{m)z>s>-X#_?QC_WxWz(C>xsR9TqA)yBVU35L9 z2sZH$?%f6m@QDLV5Rri_;{-{JeFrGc5uaBwyfcLE$ti}8iC0=1BV>3tf}`(o1F%yV zQwoX5O%P(}xb$Mgfw+bJM<3V?x;MuAMoB5I5MRD~Z~f*%f=xgg3mh23Q=eQwM>*YQaWQ6xWGXTL0{uPbb{A7lKea;@9;JBf0K30{ zDW~?6eM){f-z4MoT*98uM;VPAK+fnZ51m^UzM|yw=5s!ttGuokws=j0rae*f+vO4v zb>kl421Gtn?K@^%TdNHhe;M1&07*qoM6N<$f=g-{v;Y7A literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/entei_still_front_pic.png b/graphics/pokemon/front_pics/entei_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..1aa34cf4d417572b71cafead2a85989537eeae9f GIT binary patch literal 1284 zcmV+f1^fDmP)gJK|3IRO8ADds5voB#m-=9K@<0M(QL)z#IktgK>UVh|7zb=_Z300001 zbW%=J06^y0W&i*Lf=NU{R7i<^)G=%#M-%|il@3dmP6kbJN{R(byIgUVCC_e=CY;P{ zL8N5u1*)@!Qsi<~x&)f&WLY|BB1_4+z$sGa+@?7wEQ%;DW*1$Tf?d4Q6)9i=8_SM@ znf#eujL&C#3N-9I{{Qo5SV@WoS(ok|*_HcNA3n`0!}~ykC?+A~=^e{4sd1A24ddcn zzmGk8bD{ybQ^cD4C*;@DJH^9TZvQZMz;>`k%q90@@OCZN_@i-fzJqawjp*^M;EVlc z1puBP*$JO|bNKdku8})9dRwOaXm3<2aeLUM|iGArX%@mX^K%jFuw z8PuZGMJ-2eOMTjoLTs~OnVpv_jNsFWEK@4Wey81UK{+A#ZnuNvqw+4vYPty#D3sBG zL@00)UMz+qRcI)S*)pIAN8GtcGgU7wD)Az%)A@Z`n&y*QY&i){7eY=Z6>Xpvo*Z z$))SJ{iN+7$L`rfDIN%L^!)2l`}}1VlY$8V*{+{-Jn9_BeIBH?ee_9f)Xs1)CINC% zeW;=z^qiD0_EFuIFMb(yS6LQoCiyB!{Y%)!RPNab1p-v$e>0P_RTXpKCp~$}8|8E; z^ontCx?NaXd8{ZP$k=y%c|_^R?sr;Iw|7@Fg}S1w32=sZe(0vx@4%s?#I07am8&b3 zqVOCD^24x$xXW1xR7+6e32;yQ%r9!EfXQm^lYMU0@0Fvi9(ap{Jw1fT<` zheeF&^gSU1Vhp7O3tRm_QFH}BR78=4qjYtx0pPU|sG4Sy+kk2Tc&(@am=OVU{@+?l ztJafxZcj-odf}7<;|9UmioMEjLCWdChftTWzbpXj8-)60SDU3R6rN8*ZJ8~+1gs;e1WNq%Jj0000P)h(#HV=NK00001 zbW%=J06^y0W&i*J5lKWrR7i>Kl+BLXFc8OmoT%dQ_SByH3Srd?w>6F;aa)`;Qg4uP zIaUHsx%N^H9HA&rP^phlb?juf*fG37YbiM4|I2)NCPMsQsg-H17k6}B6Oom-b&FEY zYg*s3PgrJ%Xl@Z1cA~}uK;gsXho11dZ(_)s6ny7%+>;B*-Rk6#bp*+HJm!2^bU1@*xJ z?Nmyii%?+*LVWZcn%-u-NfOa=JGLU`w_KrNErQi3*7y8Mtuzz+B5L9MO>jJGPnr=!N4!G)sN44j>cGv zO$4}+qq)`<4l4$L?QX90xKKhYc_^=RJjQ@C;)Is3Dh=@H-UozHEUd9@&TdZtMZr$i zx;d3>qD`1s8+Oul9PAG^k@yfTiCh8CT6bw51=$T7o}BfpQwadb_OXL*xF_So@O3Er zfpjCT#(;7u-UntwFQ)KlrfLmKoEu9YzuNh2a1A}Hcj#qExz;`9lH; zD9+;>3#y}r?ZOiYWN!f>X6FcqAold_N8oyljA0q#Ig0KzJ7=yp67is~L-zSPb9e~09 z(*@vmvN`mducH)1Ex<6bl1b77Afyp2S|Cj+ z7*csXfM$G2y2!A!_w9hh?n%A^ti9L06NJNk1~uM#|A- tSFvqgAJw5dZ)GzwiV?00001 zbW%=J06^y0W&i*KAW1|)R7i=1luv6KK^Vs8CXI9<={Hyp-Ym^PyluZjVfEHaaJ)(W zph7A3I;POG6G6N+jv(G@vf!oH68ZsJ*c!4{7sf+Lb86CO)S7j7O<%-a_WAAeKJPms zA%T+QKQ(ACu3P<0z{%oz=57Ga_*~iIn}8?072slOi@(=cV*IA?<&6oi;vpF$I*chCo977 z^=+aytsc{??jj{t(clk+uEgQ9?2(zG7UV86_#F_zO~1R@IowXaO3`UoT_6qF8u~n7 z@#EzveY^cUU)`U6dZU}@L5B~c7~4B$=GS)W?#pM3W|hAr0yRpTqZd2o{XMm)nQ?TN z^WI!7K>P^?H(l)6#Cux-1f6k|;LYyfOKS7YoL!$fs*ZT};#s1;+d z0+=^eae5JJt^i=H7?r;h!t8w6&Q%NX!0aGlm+d^>FJcH52A+PM-Cje^6*S?oQe?hA zvzxq~XRNFvmSTY4jM-&Y0gyujF9MJXV}%L;PX~z0=utd|yb(yyJ+$^pb3GaXA@(UN zl~g5{%f$@2>``*bb)is*?Eni;zh`)Gs1^=l0Ai@c_qbB9^Krl`E;jP|F~Gn^%5fnc z;<93{_^5@d#4REKl=CrX5vXsMZ!aHhfj_UdO8@`> literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/exploud_still_front_pic.png b/graphics/pokemon/front_pics/exploud_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..48e86c610c9caea55c9951b237041edf7f9005b9 GIT binary patch literal 1157 zcmV;01bX|4P)N{j#ATHdruoO2leb5hkxF`PLVYB3nq-v5Jxg8%>kWUJ-`00001 zbW%=J06^y0W&i*L14%?dR7i=H)j@0HMic;G!CEAz82d~*-QtDEUjURda{?zW|c9uhBPdnxR$i@|p#n9@UOw^1X_CTZzT z-&j&?fgR|aY`sr!X5O2z73F`7RkwXL*kf*ZWdg?Bj}*oGbV=A-Va>g^a-ZE>mcPTA zZdayRIL`_L;O>P|Ed;CV9=z+GGuCV^S)m8-wqned?6p8%0{8?W>@MC#0W}QQEhA*y zU0jR$W?8@aF#=#MT7U-t>D!P%Ck{LiBA=$?j;alW4M?DyA$T`gspn-oaNDSk@Tr`^ z480CJb6b$&K4V@AKD6Lnj3jWx+icWzy(h9aSyg``@UmV;$zV(X=qep3T3VE1BN(HN zBz$AcAVUklo-Azw)F22@6`=}6Hv$BYyPnsb&M*fy$Eflwf)x0c+dB8WC#!OX6zsnh zjNb{iF8Tm4p@LJ-3s>gB2V+zpKfUOkLZM9IaQdE5I>fk@frC0iwKqS%=zWh2;!x^P zDCcJwLwCYUpmX2hlu{1QBLH_(pvtvj>O`^?5T`;(L3%bCP)0dW0&ELr2;n=) zT2GNl|P=U^- zVE4NCyZ?>$`yhfkcLCJOn<%IdngaEe79aHce+~wRZ?L8W7+R-SXa+1M+B?1e!C)|a z$=ntvM0Q^187OSAW_!nE>OaS^8=T_XTj?D!A*gU7?+S@#?Qr#VnXXKiAC`QR%F zMqU>x=^#X~m4X5(Z^f3qp8~-XfXobBLmM>`UIIc>U^wX-tMaTXmtfjX2W{Afl>$=J z;kv1}XMj@<8E6U$@R7W$s5{9nMp%N=xhby69)|#YS%=}MW>EMSc#}bhAG(-&pPJ?P6Jo0CtCgjvos3Qu<9z6A@LxKu1iJ8?Y>BsB8%mXZJVsmE}SL&}F z4fY}W@Hamq0I(1u5B@rO{7|3h zNao}L5s+1IB5xb)QGT0`ua$^Ai%v29jg|*@zL3hKbZ5OZd!));2ua!>Lt^g-Of%(MJcy9a$ XCq++5=5@(s00000NkvXXu0mjffA$ZJ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/farfetch_d_still_front_pic.png b/graphics/pokemon/front_pics/farfetch_d_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..5b3bb3664fe951d61ee782c7002010266e3dbd5d GIT binary patch literal 701 zcmV;u0z&Kkuh)6KorNlMMa7&Z!9R{1E3Dh%)*s_iR}Y z`tP#2d7SP74jNbUFZzidS5u6ucP94WxmK^zV;kqOW-|6p3?QZiG0w(|KR1KA2_y?k zq+FzT1~4^&#Bwyi9@Jr>5jG~2e#N=SZbvwWrhTFVn8!A96uclN7anY8dJ|&;1Y(Sw zld(M>)SEMC>RZ7aMUERB@`XBiumo6WK#ubSH*rqDga)P=!31oK6U?%C!g)%x2Qx4d z=+Q7aP9%O8JXIYiV5u*HVpCU$fQ`eN;0nla z01bc)^feS2$16X*e#TQghmk^>CXi$9`=?Uy3AF%?kvU};(j1q*&sf0K3}gYBRzGsx zFwA2DPBTD{0Dy`9yC1o(`?&MoZ?T)@3(u>+lqPf58~@&kolsD@O5>{Vd6-wEfrWE1kn#Qhf`Qsoh%ntaL)vq4Wb*+P~83mAolm jL1AH4gVp1^>5D@>1l=fO$%{fZ{&3pE=TGgC6taDO(K>+r&TL1t5Y;%h%00001 zbW%=J06^y0W&i*Kd`Uz>R7i<^mAz}*S{TMPM3BMyCme4rT&SDr5(sXl+{Kh0SGShe zbn=)wi=nir(c*3%L~pj+p(pXE!F?qNr5ciR45qG$qmOQ-TmFM`@A;5qeYiakP;`EJ z-sgSJhZW`5qZVh6bR%$O&y$H7%r^LqGw}!?&#Lnp7qG{&0v=a^ zV9Ep}KmZ$6AcV1P+id}SoLpU2DxAaLi2w&aR9pt&z|`&~7J?7$DnNl1;U8)Yc)y`S z2&@SIP=yOTDSHUcJpkX%fasr+0A>Onkw6F-UzL)&<^mzeF1jwB;381NK!71K1_oS| zqP#u_E&%c^12Arv1b_>GeB1RfzNl3ICg9XAGvGGgCksIc^rZKY1BEEL1p=^~$}Tkb z8skYZB@iYOK!pI~_xTcmm=75+&wxUd9B`S*WVMx$Vtktew*CY;#)&cBMn0)l0ywF0 zUgPlDddsx_67$Pm_Nwds+rZg>TRR+>#b9R(6gpq)huJy%)JQC(9u-S-`t^guM50!2 z$`aE|;msWN>pKtA8jl`If$2DX)9I^6i@gW?`_e*FD$G#kN*rI2m~X+h~sahzT$SIMd>F z7pF`h#C(&v#%B)9$aI=N&N>6GG2ccsq8y;Jckl8CK|MVg-N)x$#HZL_L40dzsgvw=$2o^Dyo|3a65E2a(VAw?+>Uw*PH2jurY zsa#0gC??QjT?z@KSDsh2n`3Y^cAN-z=~pf+MI8)!Z6$PtfdPJGkT%Ous4GcA^KaJ=N z<-^!cD=4aU+KzPV7!{Z6)J&gNt5sVajZCFDR+-#N*LOA3eBJ&Ppz7#}W?E>!2v|9G sm-Si}&~hbJ5qZgiR$boWP=7c1KYbijOyR{K`~Uy|07*qoM6N<$f;h|9JOBUy literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/feebas_still_front_pic.png b/graphics/pokemon/front_pics/feebas_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..036e151e80df57cb84c1c9ad929ae816264d469d GIT binary patch literal 539 zcmV+$0_6RPP)jbEK@r&EEg!-sb=R{}>n;_yF~j00001 zbW%=J06^y0W&i*InMp)JR7i>K(=ltpKoke?I0ek0r$dGg#YAuti5KW7CI|gIF@b|F z(#?-hH|H48`7U5*4M;yghkk)JC4;3I(kJcKX99I9_@==9?*HB$7e%?$UrJk7fOuCS z;$*j|NQk%P;4!KI>+^vWr9cW1dKV9HctmIs4lhO6F+O< z8a8tnYbqLkod8UTVB-@&H5nw70pmCWb4=EZB5a7salaQhM)xG>vRk49u*44QFoc9L zA|+S-@s| d|E2yxeE}LZx~a?*A5H)O002ovPDHLkV1i;z>Hh!# literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/feraligatr_still_front_pic.png b/graphics/pokemon/front_pics/feraligatr_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..c44e7afc27f4f5d36f687e5164fe9ebb8e00424a GIT binary patch literal 1122 zcmV-o1fBbdP)tU;V}2oMku@!1>t00001 zbW%=J06^y0W&i*K;7LS5R7i<^luvKtL>R^`Q6HKEQ4ZZ}B)fY-E0Fwpu8q`;IpS^X zIUocU2e|gQ%QtX);g~w7NbHIvUm@L3&}1cc>8)ObfYVk{qB@8oka^xoluXjnsp_PC ze}3LS^UPS*YVCHdhgaJGvU}j&=j(rF&+Y-*X?Gnz*#JR{C@zYKG(pH%x>4X(>{Gk z)aaBP{l5I`P7{aiAEHJSJ$N5OmKf|aI_mq->l(&Pyzy$1l3L5oa_edzh zf<$klOsSe8BJvUQJl7?X;iJ46a``V0YXCFn!usMy5xTiz;jr^k8h0(I~+$W ztUnk5qC!%Jax$0j1)<%^o4IzPkG9dNj`Q zRgiFG5Lz1wA|H)jj{sb1z*Vt&Y7qabFV08205nN7N#REr#D^Ed;S%_{iF8~925tc7 z!*eZ>Yrv0`;|5Aj*Tnmai-kZQH}%^pkwrN*B}NN@OW71Pjch^|I^*a;v&!F%Y?} zr9y-cE*laI*a%ixK)lhO_djcSj_32_`W<7-B3HaxDE#4KKV5{%!3)DSEmsWRu)^fh zV@F7danIL)-6Ao31%b)K09U#sl#0s|rP(=*)YroB<#>&lj44>fqAYPXEz;i3!WIKj@24N!A zl)+{KrOgI6FUJNtG2?b^hRKxW^4eg4HYARYYscX_Y4t|mw`K>cmsf-mYOBr7sfgOq oH^&bERyjMaKL}XW>6DB55B?4e;&@%%B>(^b07*qoM6N<$g8GjOEC2ui literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/flaaffy_still_front_pic.png b/graphics/pokemon/front_pics/flaaffy_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..49f794128af4fe72d5a560d3649bce93d8fe58b3 GIT binary patch literal 652 zcmV;70(1R|P)KlQC}-F%-uwHI>RK==2ID1pz5uNpAeWr3E)yDhGF zF!~7P3V00001 zbW%=J06^y0W&i*JOG!jQR7i>KlreAOKoEu9Y?A`|(^ZRT(jYOWp*RXJjhjO@G?6a% z*HD0F6`Wsj-4a)6EY?IiU1Md3Q$&RfxiRD-j2+Mw*JUIM^ghkJoq4ilebm3!;~Bkj ze+~%G0CV;GH1L!TdMAN&>eWvYFVhEJx2zpg!J=M`2!I}|XYx~tVFG-BA>+NrRLx5K zRwL5E_4t=i%jvKPR34f&0(c|UQZC9&k^>uDNM}+8Q5oP9V0Sw@lG2n+u&fb)Bff1G z)F3I-tv(1Lrer{3X@l=G(p?iJ5=$GfM%owdwbl}sLpCS^-sR^X6Eqr8js{+>coeU3 zJDZ0xKnZQmdAkUt1U!EVa0D#^;MnJYr;6swEv^7=cnywQ-0((Z^!g4H;ka}YXdM9~ zera@!h)a6xU<6G%e9q_vKtM7kt85zp&05RP*`#y7W{hE9LUfH%KPei+oJ;1v0=94hr9z5^f4EKN zx4zquBwDec+POUaqngI6@|9<};lwbn+$-ST?=W9e14; zZBtVvWcFYO{kHVMz5eA++HXMjz~V&oEGFC-uTbLF7_DPE>fx;<{jQ|OEnO40ajbFa z6cS-ob-dA-Y^TN`uAD-qUV&gq9kNsugT2u)g*w0_iv^ve2&ix#;|pd^#<@rQeQg}6 z`@~vP^b;n_zE-VLP`v3I@mU>X&^}U(o00000NkvXXu0mjfi4I06 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/flygon_still_front_pic.png b/graphics/pokemon/front_pics/flygon_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..310966c6e2684f25bc70ee9252e213421a4b7863 GIT binary patch literal 1076 zcmV-41k3x0P)TK}}P=5uq+F);uD0RR90S5&7h00001 zbW%=J06^y0W&i*KvPnciR7i=Pl|5_|Nf?F)I}%b9uP`}CYx%m{1dyyGR2GE=$U4!W z*#i`c$n3cBMT(ruNED_+Yf2QPY>E?i3ItE#B1MX`uW^y$ybj0`ZtO*S@sWsxOoPNp zAR)e4dw-mDD41&2?=$cBGe1V?`$kHP6V;JaS{LI6=U0a5tfcGf0f&fb_GcyS(R%8- zrfJ0ixn8NnT>ZLMWb6h%c2kZxb7M`9fROit(R# ze<}YD^mYYg73Yi?ihL5WA6GX0;oDUqW2}J1*k7<-pM3c_<^hM*Z6U+R0k8w*uQe|E zf%lG%=Zsin2YT>lQre@q4MOxi?cye-A?q#{!Z# zhZU0BnetbGq)y9AB8;qC1M0E$6@xLQDX%1r&kx zz3uVU3rLIn+C*>30%{uo+jR{T%%@BnI1_^X?E!XHzLrgyO*Bm`xdXZ#11kf7ATD5H zO}0Q+6wvRQ7tkPK{-}`MzX4EHb%+i%rEUH^B;r2Z@1x2tVlamBTGN3!&Oj~Gd@a&NZlOH*1F1bmLNw4=jcmTL<22}1v!?-5e={p=fj ugE6M-BzuAm!~qbj9K135&s|>2a#U@0000Kls#_SKoEs#NLAc;5LKdrT*1UFMZk6=a7Y13Wss}X zfh76>wzSuYkdBTDLY>ww45foA|h)P`}9ucN>(5j z027fLx3++`BG%)?R4j%c5sJ`TWPPPn`j00)@PGJF18Bl7#CloqSUrJw4 zDMS_3LQhyHKFfF5BK@-NklclykdI+cMu@c!>HOCQ;LFYeIMXHFix8e8+$LDnQZ#jn>dx6Z5#Ck!F2y}7yIM08K>Nx`dB>Y`q{)9a0 znPPzNedCjG7C`;UySZS1zn-`R9N*8240Uf1)5XjU4B)SU>ujbj^6#COyP)Clre7GFcgM0RFE}!=m82OM|ctxqk{*^Q0K~o+$mQG zAQ?}ZQou1pO)<~{s?ebq=+<7L7w83g1tD;UPU<5WAc#r&0PPzz@c;Bb^6~L`-hUml z_fF-YzPr%{ypX_bpE!XX0b!djoyqSG!_XtYap@rrD8rdy*0fT;cV>_>FR(cWP88ml-Ty5pe4QeqO@z7bH#~cmRlwDOorG|6;)aM4p(N@OeSi^DjU50P!w1 z0RQa;BsZSVUVn$U1vmwy4w5M08^8vjIJpd^6XE%wqj-J{9}1?{N3zi9b0ENV${;H6 z+6%0Jw_TUrtCF z&Hw-Z|IPobl;)Iky>l^pN)Qkb`XQs!00001 zbW%=J06^y0W&i*JUr9tkR7i<^l`)UgFcil#*x| zXi;|P6~+2!Cp<dxEKqu>~lmB(0H{WJcgBD+GBm{Ksf+0~Ull{`(5c z;hzzxt<&K6d?uEUYFj{KK?Ovm9q_B1ekXVBfaA#;kK$Q}#UktmyaIvyQ3t?*kO!~r zK*gs(PKWR8zsji=3%hcEJpI6=T`}BGX9yq`WamzykP^GU>Pp2>?!>8hen^O$Im& zXptIZH%S^|V9o!T5CL}3`hSqsFV&aufmbHh{}@tzCRI!d4F%aF_ok^OM=uV2Lsjf|E?sG!3&_`maq5u+D zinOln`~bFpfY=frlWR^|>GH-vj`0SijxxGCq?^Z^H*aQKRsVYkeIsEEWi&o-kRG`iemq=S==Yc#Hb}^pD>Fi|?KD^oI)B zYYE1YGBjW+BT!uf<(LGUrJD?bNN`+4ol9f}V?aw?I9J+48f>-*Ae&pX+$MD4pg)Jp zHHd}zXRPxv`4}S^K|F=i!p9Io3V}$-4eFZ}K`JJM50tY#fb}Wo6N(_$XRsli15}RO z;2H!04yx^l0|4iF7tol}aa%9GbOf;If;kCiJ>_S!h7kToVS~VYL)z7Ky=ay#D4Z#r zcFv|lv#6U{qg0oIF976X+U*(&rCM}q*gnxZgm2GF$}iQn?K5DQLG3byQqy@CA%Zbf zU|7wUOUiGDqmEPx#$fzjzE>36seA_!juW87UJf2N8?~8A0$}GELq!boe!W&7q?Dr! zU<|ml{ZOtxt|!B-;T3sT;xHhMNGnw9W})g7A1 zur9h{S*VX=?oy4%7)G>Olq(z3^9i9ox2I_qcM;OlV2<>s`$y`MZivaWHXYwiDBhp~ zR?hR4qk~LOlQH4}1UN1HvPSS~gyT=-n>G{J@&Uo=VJV>#YfY~YZkatGmBu;8bbNW~ z^3uZ>&Oq@!6OGf zn%>tlg{B07dXsv^fLZHO{&j#_h(FXXP=5pbgYgUM;Th}uk3ziw0000Kls$6WFc5`t0RyABPiA}o&iDekh0>;S8y^senVt*K zO)6n2Su;t)KTQfZB86Z|OsyH3+TW=Y9Ld38v`8xRtCJn2OeU8`>0ZImc~;P0Rli~*#$tX7EPE;jTtm< z;l~1y*9?e7zG$M9a?F6(gV`+sxb|3Md=8#T+V6|}u0oD@5CTftD^>nL0Ms#Yf)>Dn ze0p66z|`{+qJm%Fv z#u^)?3An#st&+RsZeN`Nyj%zG2rvZPu095!a0HA^aB$)R+qHkBVkv8Mu-fC3GRM03(jQwKBP7Hwo}o=^Pb$J8UtD^#+- zdfpE@k3DykPkLOp{;QumN_fj!Ylr+uTpKycTUL982^Zng<~@o`L1ArJx3yhZjxkE^ zvhRLfwV{dF_8m3nj{fzcOTd4;7ZhZ|8-nqgo}VM2uCJTK?5fYP9B@0vPRk11=f3XY m&{aG3mRjc){}1naTYmwL7FIYTV5k}Z0000EY; literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/geodude_still_front_pic.png b/graphics/pokemon/front_pics/geodude_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..f6d2317d470d29459b21a8d1c0afedd94fbb44ad GIT binary patch literal 486 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*L(Nw{r~^}?Af#b8UABM zXRkJ|*^*S<9OdXG00gr)URMR`Wh@Eu3ubV5b|VeQPVsbc4DslEJL%x0*#-hGKN+2W z&iVhp>tK#$`1U1#8E)+;+Uk(AZdxE)Om_FJHTsrIPt^)uviWMl?E3MN_y5il&%b&; zsjW@iyOvMMw=TqMGn0+f#JkD+ExYFwDIAjjWSxHVYBHY+`|P`#sp${%BHMm$X=)eW zdEfHA)MdQ`ZV8upj@*32X!4=(QoF!XvylE5N=ok9aA#nJOM#eDl--TAgWSGRv*s@=ad zh^dxsN`~pd#pW(@?$1kD<^W;B%PF}5hD5XLtY}JVg-|Q2%MF%aPcVlg%(`4~~0jo`? z@7L}*8t(e?iuITJ)pvjKG#R|Su>Y#4)v|Zd%vTpg&cAAU`^%O;z(87M-#=C37XQBg Rg}}gP@O1TaS?83{1OVH(=*j>9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/girafarig_still_front_pic.png b/graphics/pokemon/front_pics/girafarig_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..bcada08ddc62eea99ed4e0eac4c4917854ac89f9 GIT binary patch literal 871 zcmV-t1DO1YP)=Z|bS{s#+I0|u~ zf%xM}+(L#z^9M3GPB+WJXEOD}pzALvo&@etP%?G2x^;^)lq{X{8~UF7A;mg7OZ)l+ z^4-IG@7+m4=-))--~mutejtGy%P!0x`F*ztK>nlK1%T&|ly3Pg*%ShvKe9{?BBU1= zrZ~FAh{W>euX|s`AVOlQTv}y4vpJ`VVrfg3c6H$V3y<;9`EFVyhtEM)--;!f1cYBN)z9Pb}j%y#A9#~5K0r2z2^1!>p509-0 zke8NL8Ks%w6sUw$niCKKkfT)78c4xND|ad7EeIzKRe zf#3MYk>of~9Mq6AG`kObR8DI507~ zw?+!{Kn)s$Y03gnY{19_=vsK-nnxcvS%Ebd-X&c3?aR zqVP6JOZG>;5glI!S?J4TELJ%03c_>q|JJ|56|oD3~&(b5m0Q56JpTkpq+(RMiBw2UAJJbPTW@pQYZny z>Q;l%_b#xYig*AtwNrTiIM6r>05hq}dUietrK}>a5msTjS0HRuq?@A} zLxN>OL`|A?zZ|fL;0zFFjBj@$ZHGwUtlWT&wnj4q57Ui2GXV4fB+{Z1!fz8vgdV|% xMNL&j;MufWsp=x2rY7AX|L4gIP2Bze<1Y$tHo)`FHZK4G002ovPDHLkV1j2WP)KlRa-5F&M{Lk})Tr=voOA=Bn|*7^GqtV+A;t43tnv zJ28?^P&HG>G*drCx*(Kq(Iq|_Sj|-R!%sHKaUIDg1Be0;J00Yyf@=$PrHmfjTrg^QtMJx=*q?kkE|*#;bm!hHc1YwFIaz zukSaQ$GNcQunQd*_j-={*}RHCEip;4{EV9kS=K*0Gd49)N#G=;V&;nFrw_n!QVC#R zERQ4XB>(Q`@E8-NfR2FS636)B^mOx>kET?Bt_2)sA$mJ= zsff@30WSK?0yfAVEQp&gnOQ^?92B#GO+q+vTMgU=c*AiF4OX;@%*i-FP^aVZ=qu_)fM#;iScD1-2wb8?8-W_6fOc3oKOY^O z^D4H{6p+Y(H-AxFj4sC)c)by*!RsW@-SO1r!5A<*^f<4j95xx-!~3GSH;9_a;}S=o zd3fV)c%{PE8DKjBurdzm+hB1F!MvGodJgQ^-#r`S&Gkyam|MuSh7%_7YT9itQy<)}g)ml0Klxh$V5dZ)G_hi^R00001 zbW%=J06^y0W&i*K5J^NqR7i>4lfP@*KorL>kpk^vk|7xr(tjWU)fx(s1M!b7B}mWS zRE%?{%^gxpTPSoXo;s&f$dbqq=$1zRLYt*)4FboeHRXzjdR5<@f60oRtxF%qr>FPP z_kBR@_joBO$SQ8lY@fZ(oJyd`+je)eTTaQw2%OH zhE4zK{kzI3@0Ri8f1II2+{AJ;Y+m{P^=KSW;j)PxV-ic7+;1YlJXeekwzzBsYpZiE zIa;_b%h>}HubZEu>ikCgxXrGtgDrsbXc#x~Y&+v~DGymw0RH*bFpTXY8g6P#=N-`i zEnvI;`DP4Q`W@A&UL#!%PeTH+qKr&brKT;W!ZHj5u1PZZ2DNQ5n+J+8nH0c@Vqyw) zjfYtT9twzOLos+(m^FBcfEZix2M6M_OAhQLtOJHv@{^c_+OVk=BCxgqD7lc$BXAUL zrwe!i@&|3#rKls|9UKp4hPYL_B`#nLj{AD~i>DGQajiJ?p$n-S3= zLzg-$OL$>nOm8xZk&14~2cT=Go~3?(oMFipETk}yD(3ngO(n3gzd-xSI>~x|_uTvE zY(oCWvEX7{ta~tA73fya`_%PwUn^>tsre-_1=I07*0K0@Rg;j+4O2d4^4&uFv28QBMksd4FJ>HWp_nN z^$bvhub(~Wzy=I(O*25p?^g{l0^loQI|o2Z5R3azy)X%U8Sr295MT}!HwXY+BEUcT z0X=c{s(5MJl(I(y0OupleMTwW0|NW)18wWgrq|`1KXSfCVE=@Gt}HEBdxQH8peKwr z_WKlI-vzC+_5gKXYt~}=ppQX|lx&AGrcqxr#+o;&F|^1Flc!EJJ_ykCDA(g_+jg|t zg~kl+af)EUi8EfRTPYpdK$ny?`H-uN2tXlbDxOy?&*8SbzP})fH+RhwAOd-2c_agsh!pK)V+?IKoAG;Es(s4T)Ieox)+GBl$JZM{G~hwTDwev zSc()xLV!}II5?Lsjxj}QJH-`gLhhk5`+*G@k=Fao;&VLsKA^!`@BP0=DhWo-H zgr`{fHU|DHSj}?Xdq9|>|*^3 zYCt#JP$3$W_~k+Mt@3yVG3P(qP612xpiE-I^}1`^ZX=dUKm z2(UG-2Ep``1Y~?Yp$0-dTjZ?=(1`+GPs@Ni+y1x^J+CX%kG!RQmx!Kpx_q$+*iv}m zK!3D#tc4I>_f>P5fZ-@(4!wROnyOy_@jwWgLKlRr<}Kp4hPvKJOhuZh&HRwATs`2%zXhlHU^JXGf~ zR;A<+OHox7#FTFVN-LGQ8TbNxhN_>Sswp(1(HRGXsCar8s$vJ5N|n0tZ1(%R_s?_h zG4`ncC$rsp7-%h)mmZAISISf`jvF*zAqtCu#$N!FXugb6F<=ncHMEL>205{VR&kSM z2NH3~EzST9P^q{FD8)qiDVAMkI1?V!3g$E`E3D~o5jZj*Xxnz!gumT)kOvrTawhF) z;_vkXBsoBX2bT%!R~1&1^mL}cF`So3s{bIN;`mj@O8ct%uU+2Gp zu@L(rh*Q9#gO6MOk7@iC5Zgh#aOZM`u3oSE16=MNsExCub>VLWvHJ(`Bt6^e3E-XB z)IezIZd1?i4DbdQDghV60c6Exok*2(Gr$*B{Zj1G0B@?d|LCqs3n+h6z}3NL>EUuX z9KL1NnM_S_f~2N^k-d2h;XYQYOa8 z+yv9EQy8`bYf&n=(T5Y(_Rb00000NkvXX Hu0mjf?MYPM literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/golduck_still_front_pic.png b/graphics/pokemon/front_pics/golduck_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..be5eea3bc838f6ee6b32ded62752f6e154c42a36 GIT binary patch literal 799 zcmV+)1K|9LP)a}fUk|D?tLi>%dqd$ci9Y7h_*%k|GA00001 zbW%=J06^y0W&i*Jok>JNR7i>4lfQ4%P!Pv&YzIH92#JYCj0`1zLkIo>CIqu1mUhGH zLN{RR78D7o{{-7}(uv7un~fnpJ6>8L+lgHXQ3S5JXQv^J?e1{$@_e6nKfZSl;QzCE z^>v#z0qyKAVCuoN8_+$6yfu|?fLU|WG4f9VD$avV!%2BM>pcq&~fDHDm; z0Z3(Zo#5;az;YABtU5QUjpe5o64~lTHMvo)u;uJlK4w~7_*zZ)pYAB%pFt2I0Z5W1mni3`GRyh)MZc=Q$ zJ$S+yjKR^dPynjSoM8pP)`X!jyfS3?Rci-FAm5M3OwILKQUa|Ey1L;3oUya1~J7J7{U0Hb{O>l^Mb zko32;WPpMf=d=&N0JZ|W3>0Pxu&~)An@+WQ zLOsB?8lb5EE3j?W?BN#YHP{M>gdfEY$Iy9qTXG2AW1{{tRLiUK+&2!bXTAYhHQb7p+0RMAya}W>^aMMm?00001 zbW%=J06^y0W&i*J>PbXFR7i>ClD}%(P!z_s)lgHRwK2^Dq_jgGphNQtk_`=L(v63J zCi@yXC`)8R2hVng?l*?4jgLSLg_KwZze4M|gWX1d5}BT!t2nWx{CR-(fit4{EK0PN#IJ>)nTH^_s4SI<49LdV^$B>bjZS2Q;K&HZmf*hbT!Mu`2bd z>mJ+z$Q&7HgtCPjx%M4^+>wE*S#5PXENZf%(NcVvouCmh#_W55Mzq(-#@jBdquXTl zVg_bpX8=P?Se@GBZI<+~CT;39marycE-TEC29`irrShl<$OywVz-HYQ@aHE1;SzA| zs3w7gt&*5)lSCSvAW}6ZdXtUE>~=o@tfgNVs+*1NtH|j9qP@Z4A!#t^rjGz$2jgu9pD=%d!bb#b602 zSO$P73g1gWh~UgHK_F;Byabff3V6O{pJ%`TLd&`m;Av@m6U6Bzq@NArQcggcXBg%J zyb9oL3^N3u$_N5aR261L!x}9{>d3)*h9LmPO%+3k|@h z2Q?BCgedpwBEuYsW0HfIJM2mvK>;XPwl_`z13%&Jo+Ak5x%*a)S_oO5+48F*?Hr0-mDYA3k~E!_#AOVRy*>GF|R9^p0Li0Ym~bLQ9B0irZ+BC=U_YlnrHl4s-fGJREeC*tn&pB15uKdN5pnwi z2ukY9I&j|WQ`2llx7A9Ag0l8L>DG*z0>8CJR8r;8b#wlr_#z6H)JHA+YwIrvJrMOsnC3|U0000P)Kld+21Fc`-*1r3652c;bXg$|vv^brd71GFG>l+fXb zzZ@lWO@|J5VCOveAv$FUg}#Cp2UB#pCrEEM#pzstp_5i` zYSC^(N5Ho0$zzPJj{-rDWw?!t3pa0Kt%I+6Fs^}?J9v5DX@p>oZWee~oz9EKM(KH10eu970j7GR>HDsUfGwVD zeKA!%Lg?xUfFZ|tL?VMv>&3%lSVho4fX6tv1&9-Jm(3B#LEacWQ`bVB%3Ds}mGg(i zI+p`>bN)Ip259khYg?|C#b$!zXbi6^fI1vvaXT6b`CHwW^D)osbNlnQ}N_ tpjyqg4&s0x$iEP)4l(BBxFc5|XP+R*j1}MpcQ8WNg?x1esdGXM}(g{UJ z$K=qwNngT%<%uaWbac=+@Dl{_l1yEilN=j?$fk4qPlE5$9q;!~MbZBzC10<{O+7k2 z%25EAT2mg&YHXK25mRF;Q2g%L+8Rs00Z{`)bt$biDCfia1=cOQ}UiQVz!!dIftPS!j>du#y~v>%^Lb3EK0T-6fuzIdF~lCt;d$?_YZ_Es07jb zFS4pJM2n2jCEzy0Gj;$SrMC&Jqs_1$iRXH)Qv~nzz6JGbc1nUkIy==d9K9G%n(u;u z$k}I^GH@LRBH`QylymO34Mn!o+n*D+zq#9mw_trd-0vA^LqH4{9dOw1cP{9|2cx6- z>TtN1Zi`w4fJ&|f1JX#6SojkR=^ygyPA-j>7yyK+{rJPR6+q@+E~k}T1cKo(7n@b@8jF)}u} zAKkSG0co1{zjv272ymuczfD={;1Xvs_@}%1&*};9z!~#fU5e5G0000KlD}@;Fbu{$c#aXE@6lJd0vgZubaR(BYhUt4`fl-f zpHvhcBg%u(Nq-}ZOOgBVl=o_IenHGlvj*%VlEMG(!7y-dk zrJ`9u)iY0;54kI$#3=N_jH04pW~Jo6za&8049ub+awW_QNW(fl{3{QgalCJyC0*TZotA5DIW;*kYk;d!*ZHLedB$ zMzvO`Rh2|AT7M2=bifK2pqEbDu)FAN3P&1fH9AfKGE*_P0S#P~2`@w&5DZwRBX!HO z)DV`gXbKT$X2P6df)9-uu<(q}I6J1`?vIjD=F$0euVBS4it+kj4Y1x39rsL2mU~>uN z2}mPs5@a(b1(qgcl#;iM836on2O2Q}c@Cq#KRtcP3&bgc{rM&D)~SKVr_ZO;C;4_H zN9L{}Xs7bjBHR9S`q<_M8IZ**(L%}EIiBQfQ6WDPtB(5@jq=`ED2p~LHsrp1O{!AW zFVS$9o9ET&*jk>e*U?QYl9!#eHoLq$m~zPFt@sSn9%w{FtEEo1G#&OprD~BD*Sy^; zSZl;>k$#TgwG0<|5i0%$s8{<Kld*2wFc5~d*^?eZd4oDbrmo%EiA1MvK5|mJh(9O6 zizQ9!D+X{&a^lpwqk59spb%Ma0XpOW+ko%m@&Au^Me!Q{TVS}I-wC=+G?M6at6E38 z)6do9DFOD~S^p{F1nC55Y9VJ}2Yhx!iJ-lxiIgqS2=Q^G@Ry)9N}@M8G4+qwTIJfVwC>{ zpr#L3s?mCz041C<3e)tHG%&GC`^(|p zk!6i(r+H>bU#h!s**H&}Pu`RFf^_7Q9@eAHs2q8{VVGe7u``*0I7^~c1h0om zHj5{Yc(J(5+$a;b9%h*yV>r&84#=FJiO5O-{?46$)*AkudySWkUq+-R4u&z*fdBvi M07*qoM6N<$g7s7;j{pDw literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/groudon_still_front_pic.png b/graphics/pokemon/front_pics/groudon_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..2e768694ff740573016bb354cf214e1227e6708f GIT binary patch literal 1247 zcmV<51R(o~P) zIZCXQq?~(;ds<@udxLu*DgPiTtSLGF%`wHr&Hw-Z|GmAOYB4!EIS>#KGmH3600001 zbW%=J06^y0W&i*LT}ebiR7i=vmCs8fXBfu^D#4Q>2gRE(N-14PS|c9p!J_X;A;TVC zC$PaN?IfWIgi?}sDXsAmJ5X`{1X&ReBN&!l){>Em2lW#0+*7TlOHi1MI!T7C%+qJa zxSLov^wbCDlIO$s`Td6D{vTUjUiNhJ_a41DNg7>%)#OolccBZ=FQrzFbFnTF#6*ha zN)Y=9vzpBw9W!=&5-$xr3gqL`Dq}-%ThBa7^v-2hMD&X&kvVxJN`6y4}$1T`41)47L$ln~kadgDh;)4tLsA^uPz z9#4q5KmHVda1}ruZ$uyDu$X6AOo7Er0_7V`o6L0rp6{^$Xf~_At`DH9b2Te5?yEqdPU2`{A&g`#SaI^X{kZQoaZ1l_#RjSr$b

71BeX$I;D#1anBv%!~f%*5clXZ%R<1s!5w+0}tqEY=@&fJ@#c zI+lrJo8o7SFZyfDvTSzc^ZEM2&fqUi-Wig>1q%qMi|KgQs-CMn0z(xC=o$6<5imxz zR~TXQ?Urw7O}WrC6+n+p41dA(@Ynt_ndDG`AK57vw|szrs^XUQN4K@t+-!gk_@|wz zn7sdNwzwIyD(1Ng7=q4C1Plkb4!B#0RgP%tjGCyJAwB8<&vCc7nQN4Aw*vhrpl+rW zA}|+_tIj?(1H2O;jR5*TSEm9d5g>;}=umZAZHyw&OXqn$U|*;ta5E<0p##`%5m+Z8 zc*BPXAOdg`978X&^}pRB+^xm$*V6nb&$}x#CRFHrL-En9Q^frNMh@qLcQ%H%vqy6| z%n?3ZkS9Z#PFy!3cBDj?61AvZZ98GcSUH5<)1BL)lrqac-w3t=4fY(*1J@pzMuv*a zsy8+5>$Ve>l`BHY}q{RP*4(b-PvO7B3NL_V3{57NJUwz)>^lS8CPZbZAS|F)|;6^ z_#UujMV9OB0)55H*Q#1k?%x9hln&sspuJMnLhGl#saQe&&T0p|%|cUsKbjtXTU{w` zb>yg@!iStL0`H2pR^UErV4Ur9PrCh)a((;UWmkYR+%@}8_7AY+fhYmZ7(oC4002ov JPDHLkV1ji+JBZ_vBW;KnF8H<&A znv~TpZ!_kFif~)ZQ`bxWaih)sr@uZpVK_n+uE>#Hx{n&1^VX*qAI(J=8kLU2oDfX> zDFWdp~fGHoR2Cv4@DVYq3Rm zwN!tSoDBh(I7pemKL7|HG>ZHLBM=0bn7Z7Dbe2tkBz*|Nk%+pSLoHWKfRTQ1%$c{Fkx)B!&~=;#I;o)h=30l0F^4jwN(K1gNeJ_-Y2@qI9UbmF5aJTZlky; z^1~p8!@&vn5US@zUIi`(Cms}|Ui5l7%HePrymg=jWL=gS5Lmn^QLNgvBGv`?2%yps z#$p{|odIypIRz7Bnb7Noy3fGJId665J@8j65u&pP-q^7%PSiTd(f|!XAPH#B{?9G_l zvS4T}zVj}K#gVMG8Z1DB?3oungF59o?Zt78=S;t0-84+$yfvU z^$oS@TqKmzB93u1jTTo(-@uGDVP!-QOyrA$qo^L$vi4OW77Y+e^Rd*xZT_zdu_Sb^ zTOOv*)J7E50LZG=^_iT<06@#LGl+2`n&!LI<*YZ4ZFP5%odEz|puHL(yeYQQB%xi} zL<$t0iG>h$nj}frX9I?O9LYsKhRK%bW!7PAq{_koE0Pq;hQ%St0wjr=16YDOeBx07 z2)QUd01CkB<QGyZ{++s9PUD s4m8tQSo1_=Q671ZsWKsthWBseH;hD;Cvs?SA^-pY07*qoM6N<$g3t56WdHyG literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/growlithe_still_front_pic.png b/graphics/pokemon/front_pics/growlithe_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..6a7f3f9a44f2cd8c94774e54ea181699e3a6a51e GIT binary patch literal 657 zcmV;C0&e|@P)KlCf^vFc5~h6&7F%LFeWTI%(*VAdf}IOGZ-$Tz9kO zq48!#K%fV3&^|!Uc7Se5PYT*09W1Fuh9E|zD@nOSNIyV^+#-Vir~B_G$=GYX(3&=% zR`6+`+G4Gs)eeJ;bJJojxAkaq1&V24=1_nb{Re#C9HBi||J8C8s)d-CBi!DLZoI{!V2+gi zz&C*QA`ub5>UvQqAPA;LgU%O_I>1+gyHGX=%n+U1E4aQYfTF)EswH4%U>kr%@gBBO zoOw`N4K%PmIanr9lzASMW(Mg2@PiI8i7p?&J4!8`UA%of4T2$J>3M6yJ5zT!eNZQu zmen`HDz_|L-dysqB&6yXEf4oJrZEr25Gl_PF|%fP;(WRlBFC&oRn`#NLwuA{rS#O! z8S6{LU6BpEkp@Bxw49e@S;(OBp^D1}NGp3vN2Tocl&oTu7NDP8Um##bGA3C-qTgKg z9gtX+Qf*Gz0pfjm4ifk^tFS;DNaP6qXMk+P+&w3?SyAXu{Bu~6w3mlv-p0=p3ZH`Q z=x9y49~e2?-f`x(Vn!aRfNq)^fSfI5j#6r^ka^a5jyJlKZLZ5bJZy4pV0p6-kS%Nd rtuZ(AJ+D9MJNu%adF?vA)(fnEEL(CS>g|?;00000NkvXXu0mjf1}rRB literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/grumpig_still_front_pic.png b/graphics/pokemon/front_pics/grumpig_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..42604aed2bb8a8800d5176ac508d49b52c5a6d56 GIT binary patch literal 831 zcmV-F1Hk-=P)k zl$3jWdtzc@N=i!qwAJp5tkr6R=B)0`i`BGqy?auNoJwN$&Hn%Z0RR90r}Y5G00001 zbW%=J06^y0W&i*Jy-7qtR7i=<)Xhs9K@L$UUJJEvCR*3c zXs!+fLf$X$y_tEtigJ0D^`Hls80-bq=EWePj`jcpilOxUx zNgM&maWJoiGg6SgLzWLZz?Oq?Abibd9ov@mpsf5pI0iG*GLS50IB-1(ou@Kzl`xDi z)&lc>!;r+4GUWxfj;ba2e<^1wEOFreJ*oywauEogJ#h$m&He8=5X`+n;v4JqsgjoHARO#9t zKL*3b{9V(X#OvOpK99HeaSy3DDC2$BcJUzdEim?FV1Q3V3z&{=7*0JE*@mbv_lpnR zGF!ia`-J^^JVUZLAjWnf#}5J?)l;!uB#R(`kH?KWHR|za_=?AF^0C7T8VC^Uv2O!z z5#sqJT@y#4#ODfuw&4ZATYwITuWy3@cY_`PfX|cw%`PyZb|TO^2js-8@#Jv0U`igp zJ`Kh?g88H*0cmlK_+f`WS&==!qIRA&m42^g$v_$lj9I+7Ez9b9wuE4oC4j=(Qh;yq zW1ys)(s)82mghcM@5}mypx@sq=HmNL^Q8|r6eyIQe002ov JPDHLkV1k*_e_j9p literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/gulpin_still_front_pic.png b/graphics/pokemon/front_pics/gulpin_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..14809cf73fce256d3218f17214e7405e4e6a0f3a GIT binary patch literal 428 zcmV;d0aN~oP)Klf6#EFcgK`Z0S;xmVpWRrm$McB{LH73lL;hHdda6 zohN|40P?_$)bFU@OW|RK0;@4f+-^wtsm0@5ZJ@B2C;JcwVqI#wf4x&itFcyi6y76h*|FQ8{!>ls@E+`EC*Sn+5Np#gF_ z0CnvIit4cDg=38bb1a4isO`s&@;glWAqb{m1Dl(6$YUq1O>Ic}S&8oyskk)M!6(kPpj$uPc z;_bUQ%KYBE|BT=KElIa4wRrcGY$BvgvZW{g0}P%-i>U=kTFecSPuLzr z0|HY2q?@?5@pS0lr(}~OzdPym!x7}K?Kd>NrY^Wh)fm%G)L9>vngO+vn5$oSM-jq zs_5ub#Jtv)xT}KG*-$m~L7N8H%&KZ}1AwDd2WU@fK(?V$0tW*0nYRO#$rLVLkOD2J zsOZ1&8lX*<;u8QJhN~+KtwIBIYYJd$1$`4V`h_Ow=7b6tEmB8)z!;#0n#Lr6E;34h z+$F%&_w}*(OrEx50HAY?`Id_>_Q9S25ZMBNx}q`9(JfDm19DzNw60-Q1?X|@+ARps zN24->oD;Bp6$9)5zF9^TU`RPTdxw-%&;hOAu0RDXaJHl6Iu&Bb(N=VK&J0xu$bSA8 z;xhFp8h9~4xAcC9_Pja){m4$;kAQQ{ z^-WPdMqF32(J}$d$YhpAQzSbbXx5q}u9(e`hPu@?XadrsGn~z)`1|G%aZAZO4NiHX zVT{k%r4aAK4=2aC9{wdn9Si$3L+Qm4(A^7LVR(6nOcp|TSl9_@4DW|%hJWS#+4>_4 zPkhG9w*Yl|OHn?im~nug9>u`r_lP>Ll30UtDK#7-Q!hqJuSI9H8b5|aQyVVw>S%yu zGKa^Hj#}aS^JZ7n0+srzu9VdLJ&}zD?;fADTIVq!PQ$#_p|-C+Ae3CcJ$Ll``S~w< zB+2%+oo&Q=BB$4I8)GS3=*!X;yf{fBAzdifuO^s?quhh}$mQu6T z`$Hu8i_>popi0-X5#-Tjp%X<{qqk8izx?j()uS55_t!Fz2b_Q1ADQA@sk`^;vo|+2 z8WGmf9JeiV+o#(#1e&F?IK64TKD0tcH9CPLaXydH@O{lTU*<)#^?J`Qc-`2ELQ=)0 zV14+$8jYHw;D%ns_w&=oczfp z6Il~jaYjLH!4CBDG?u)W9FmhEpp+N~fbt zOpT8z6P%e)e~2VqGIhBO3@uU>57(ueAyYO?rfvyR3W$V*dg@I3Y~NijDWp?hBumlv zlka=aes&Dw|3&p*y4{)2eIvq5GQIS9?g^TOs01)>Z^eu{u7qd1Zy zKr+&E9-Suc-$1qc;gbYr0q94-u+>!6w%6)ZCdoDcAR34bQoA+)9#uqxehGn{*Z}lZ zycSSJH0a8v^-Kb95&(9HvnUin=}HbQfbI-S++8JvIHyPi^fRJg7ZJ+1*coPk(~&?P zWp4s{M$cf!&~ri}1DHNj0>xTBd-E&s{do!WV?a({2;|Vq-#64>$N@n}m?5=gugmiT z;C&8dtoZ;kWYI&i(~BBd-7t&`1qkUqXTh=}M5w3iRpRzEPy++YdYlH}QC$DD4e3jU zfVKEGttLVO+1Nqtz=jzDnWv!7$TM4J-!!uO3IJD>0B~z)zV<^IAoSvd0U`m}AgOFf zta3KMC2fGZ{G`iRFWe%sEf<%-u&;rbA-N1!@x;&#M&UZHeX5Qjd(xFa+lVaU06U5AyvbC<}wa^knz!)U!RKV*l53Yy6 zMa6X^K>Yk}DWL6N$AIZTsO_jp<6{dKjyVtf1Q0s7*RnU>wYnT~P!R#psdgxFwLM*a z44*co*RAl(!%p!PXl<@!1^6PG3IW%GV8I}Dy8t4WIpCT{`VG1Uw{E?2H1Mkbo&=U&t$)%t7h7yi1;J-V~xww##EVz(YU< zy0<}<;E_LrzI@;sp6B`D&rBhbx(UN5J!qtl2fSDnRrwvdae)aui=(b1VTwWWUA;9X c{Cr~k0fi*63|pue)&Kwi07*qoM6N<$f>2|>>Hq)$ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/haunter_still_front_pic.png b/graphics/pokemon/front_pics/haunter_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..db6c294394d8c7c0c6f926d278c24384cc4bdf3a GIT binary patch literal 806 zcmV+>1KIqEP)_&S~+w70RR60|Nj90{{a8qF)_3l7-A3*-rnAGb8`?75dZ)G;0cj<00001 zbW%=J06^y0W&i*Jq)9|UR7i>KlfP@+Fcil{>cxvdB6Fypyp$Fvv2F{9vrbDP+~4LQ ziyH8r6f&e;l0t^kF*N_e#lFP}+)y&Mb)V$R)w+b-Ui!cw>3#HlKlDtkOa7vhM*a{8rP}CVuwJ#V(LqDOg`z`T6 zdWaH8sNw6r+C$)1(fhAa9f2S~#7w>W`>P8uz3!y*uXU>6^=|i&Bs~4zby9kPpivZM zZyo^n;Z66`17-q2o$wX|BX!+%KcxI5N4Uv`Y1El-6TapIuQ#sFz>lrGs+R~R=m0hJ z$Cl`WGk|+v;o`Ch{I(=Vri{epxjH@1?xi|C3;eNpZwua%=I$c`tvyD-4E2wgo3gAl z>h$iUvesUFDEPo17u#$b-?63g^2B;OVhmekRsy#Se;U9T2lm3+E8BiXL1Ngr2db2D z4RgpW&A+^9kD<;K4vk4zx&$(gXE@Gt+vHhxE~HQZ+KpbHNQ|@8C^sO}s>y|a2c5|w zAXL-%Kcc0L_e*y{Cw#t)A=_%w1BA}~Q@B=-FixLlrOLQ!aF5L*wD!~Hz7-JTITAYA zF3FNm_+kn&SQhHettxH@MPhawn=3UegAgqC`TP&EnW zHr7i4H(cTtfmss>#C7|)jG(@CK1u>$QLfgSX5nw=0sD6yy{^+IKw#rYj9&z{h<+Jx kQ8oZXZvwV90sof$0scGkUif{`!~g&Q07*qoM6N<$f^jb00001 zbW%=J06^y0W&i*JsYygZR7i={ zfXKvY5hIiXKoB~K13*~hL+?{rRi-+G0k4#CcvKy_mtm1Ajb11#Iy@0Ek9O9t+bBD59KM9^JZ1kY9yqA~`09Cu-b(*R%fInGqUC4lw_w9e7E6AT^_ z=HC$56%pQj$7dc0IC=fKC4z~ggP#bTkcbbzQABv!!=7Fr{KBu3O2Yj3PX(H15%;~H zZR$p6M+AJqcjw0uz;c086Ou4ow{E#_5VmhW=3@T!69IB9$#$T@5eGR00y2@g8ptR7=x8UgG9-ifyos~Rgp7a+0BSIiam&rdQsyKAOe!a_ zE0%#+mu!OJsWyaf0H>S^A$aPbH3BZHuotewSSZ7sfl8Ch7=9F2B+IMiRn|iAi!upd+LyeDl$+T2?~A$( zF!`vQ?M9zUZ@u**#MTu~(ZmM;1J+V`xvw7G!*+fLcsaV*ZX1>tJHYKlvHcG_rR%s| pAwK;bM>olE#pi$|J_r1(`U}It9^NmW!V~}i002ovPDHLkV1m3FYz_bb literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/hitmonchan_still_front_pic.png b/graphics/pokemon/front_pics/hitmonchan_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..5a16c407070b741c7584ccdb1b46c17c4343bf60 GIT binary patch literal 693 zcmV;m0!safP)=Vq?Dv{VsrnLTIOOoy)h7rAOQaW|L)bC&9r-@i&AP*5D*X$j=EmNPe6}?5U@8f^}kw-H2AI9BH zb>8x?tJhopq;h?LfK^c>4&q=ko6A)C6cWhPbCux-wi@rFg$Q&6 zN`+vgcZa9%LB+MDnjF;haCojFQ{mJ-_Rdv&uvFinHgG$~7x`C1!0mWvnV#)u>T0#; zx~|tV_xlwBCppYM2kNT!sQ`{f%mh5|q|Ypc=JbPyzr2MBbP(t6YbFg*tX+jY>sIu-_mo>-vG4aA(=;;7>9FOVW(LT zf|h8B*X_0tHff=WT{Noz(Qt%gHzj3)H*80wB5jZ^b8y5QjZ%3l)BveX-~YI{4Ukhe z3vW(XtmWURhm5N-lZ8YLuBJ)(rA*xFopwQx}_aBzD3Pjm00001 zbW%=J06^y0W&i*JVM#Kl+TKsKoG`-!OI>5g*?FYAcP!-%r?Rj7N22Jgh>eI zVU~fOIhfOey$1<7IUc;^4Fb7^Jj29BPy@Z!IgP1qcmBm5bIU2;LBaZU^;gwpYubOQ zHNto>?$1m!xVsz=$EImoFD?*z5Fk@%Y^!(o5JED8Whqn4ObZB+V2o5LMy3SH&yWEj zMT%Jm@C6du^Z`%C5#JW#<@5ph9e`Z~&xzZwv5TWT-(I5$?gPd%Fl|~NgL*Cjum$jn zKQRIHTo!2JcYAOpkYxxn2~3ng)^2kLcYw?A8(yBruiCaHWe14moTz~40Ju*(eqKc? z03tn1V13CsJ8xz6vE437E_)pEnH2tP=$1?>qd!kF2L7$D){odxtvCzwi(k9BNJO%7>_{U{?f~ig(CnX9 zi5*Ss5k5c^3OR8n9dgZgMWJiPB%m01<^skkbHxTKKnK@Tnt(fwu^nuB0O%S8OiU_s z-qH&I)N=bxGisWBx(Iy#0p%reqyoG>psmSYfI7)kz)1XWx5A#05|v9G?|%j(RszNm zsFq4#;rNbN8q|-uBCcukIhm6?O}7)8D1oXX0o3QcqnT<4a9NTKj6hMZ)d@gij`VDxG V6Nf5v!{Yz|002ovPDHLkV1nOYM9TmG literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/hitmontop_still_front_pic.png b/graphics/pokemon/front_pics/hitmontop_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..d2d7b50936d41525803d56fc79be3c40e3226186 GIT binary patch literal 772 zcmV+f1N;1mP)Y$#&CSh}l$>H>Y7h_*fs=cD00001 zbW%=J06^y0W&i*Jf=NU{R7i>4ltF6~K@`X5&|CsBtz`O%_Puj?E3Wn<`W@m`sSgO8y1k=tglhp3h+Z89G$kMgw-p+2?Ax)5*}kW&(g1BaODdgf=kG0q5Csu1E}z#!Qf2<==;IZNeL>`}7>CwRv)k|>maiU#+iYRctPwy$a%n0b1F|4Ph5?m$mC`B27L`KZU znJ;irlrau4^teqd-2!KA0(bxp1J{yJW4=Rajh2|e5)Oy4YXPN-bC;Guh^WViyI=ts z${lv+8+I@wa2brjauIug_jSNnwP*mM0#*f*DS`LfATTg60w4StpFHkVN3}ATvCAE> zB}66Ix>qTo2`CXiDMtI;tl|7(9o@8Dn0V#IE}DCD;@HHGH-XH&A6dqay1TXmNx}nX zZu*1(5Z404UkuDTWcB!4fcVZL;ChXOoBY7h_*)*a~`00001 zbW%=J06^y0W&i*LvPnciR7iMk{X$?Ip%e_(H&QNLNk(#87(>)r(>Ra0c6CD=u?ICRpv_1IMEy5di>fY%klg zt7G*AK5*#*=oa)Opkmd)k8YGQB|R5}-L@L{&`C|#D+P>|yCUq9F@A7G5vvIHtq-87v7aGp5d@%(Ds$k#T|^Pg zw)O4<*(ngu#RAaaUTjbpc9hZVSnui`uKvo!W$>8jntI3_a9~kJ>&Uzh!wTkrLJX{E zS{3hYoKtbHII!MowSH7t>6KfC_=>I(F<+Wjs-!A*{!5gx5y`;EX*k-sUHV48uOwG|F#&|2LFf08;yH`E!19 zSK#NQAZz^E(tfRW6d#e3x9sc9$?Y06Y6qb|IKX~4v-V>DIWouNEA18m@Dib1kx@Tv z)K6lI)%A9(I4OUJ*0=!5{aHR`P1A;uwm{y0Q*Sc;@fIQZB?p4(X{TYmuVrm?Gyea3Vg&)~!2YyRt06lYxY;t4AD#l!R;M{NO*7jO z5$hwP41hF1!XaQ`bJ}c}mWT+Qma41+AL+TkCEq`?VMRcuK9UG)@z?8I@Hrm@!I0T@ z$DBuyq;Mo9 zJSZ?b&LGwei-61ElCe$3I-md^b}W%bLtbYtV1pYr8-y(gX__@;#lYqb0GWR-XF0~$ z?PjxaWH%sXY%*js@W?Qh-VA}rh7i%V=d%z3H^WheLBCmZ#zL?#p#(e5Fv!o?4g3>M zpH-iQwrMpJB}jwero@IUy2}6@w`*;)cKifL5Au>U6IU%exVKi3ZLVh%5`Rh3S6BSa qJ|0Xh$(HO|0!Ysx@gCWW5dQ+c5w%O*UnKkh0000 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/hoothoot_still_front_pic.png b/graphics/pokemon/front_pics/hoothoot_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..12e160d813a41ec4c4385eb1601c41bba58da296 GIT binary patch literal 525 zcmV+o0`mQdP)q-5p00001 zbW%=J06^y0W&i*Ii%CR5R7i>Kld(zzK@f(wJga>KAqc*QoFP_L0d2($R&FJyl?pM; zRcE8-K=46QmfCs0yJ3dvqHoELKLxR;Af+)c0KU$|oC+x>rL_ZVC2pNkS(mH$+^ zezpT@QPv}62ecY20J0kMuTi;CEA5E(k}xlf`N*Ep06K|V5NM)-9Z;kIK&ULX_luY* zoM=LHSg_WU0^S<4Dlvu=pC}% zO2BskyacxVn&Z0Jd)apbe8-$`RI@+(BBnoA0>&FXOjTnP(ZPvS|oxdPzhWSp$BVBD;={;a+M1-ItOjvub@ P00000NkvXXu0mjfG?wbg literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/hoppip_still_front_pic.png b/graphics/pokemon/front_pics/hoppip_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..87110d09c008c14ca621c92f60cdd68a3ab08a46 GIT binary patch literal 551 zcmV+?0@(eDP)Kk}-0^Fc3vmKw&k$gSY`Qb!K8ylNoT$F@(8*Wg1Fb zZlEJp!$p$2sK7po%Qrqi)EVOkZ$h;-=GPJ2i;(hX$g&?0FwpG~7n|bP12*LkAVkBB>RFUP zYy)*2;UrOCCzh4l@(OIK`yFA3tYk{qXuRY6*avWKi4Sf)a9tewBft<`vaGTImd*LT zj$Zee@uHFnVbRfs literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/horsea_still_front_pic.png b/graphics/pokemon/front_pics/horsea_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..0ee92319ee9e3b51a55a53209f1b7464141290f7 GIT binary patch literal 510 zcmVR7i>KlCeqyK@f%)BHUH?EJ6e^mBoQ1{RS($%w8pFyxHnZ zVeVFuG}>(16M|Rx1OeY5zQTc!3n{KNWt<%8GV2SN;oxBZkAMEzSs{+~-wPe*-f;iF zb^yK_d8mcBOI+4z6a#3lU%CKqECC=^&TzhzeIm3#95ONv(*{t+$o_~+pwfY)6pFqH z+aUS@xZe=K>q6)az;+uW8dt_S!2B~qSEWsw3rFUVl2Si-0A zm97xWAY+@1>6Va+Ru$Bo!OaqIML_AA;nt{RKf+1KMl{rYbw#((>e@>N2(T8dVuqvE zg|)Ao1?gvDfx1(Ky`0a{wbLHzy!~!p7!}RQThHb@hr*s7>YkJjcG@j4`EIwv@(>tH z8HF|{AXpb4hq^zY2m9D5&gmwDnlT6fjC#rmV8jN9Bh1$M%=ugbOc2+zW>G zck(dXGkcv6=?@rF30<_PgQxppl@YwSt_$rD(1*~447b`~b_NC{DDo?Y8 zGUbZUo#8Na#Jdh8V2c1QMn|FurWucdZ3;W1Bkvw$3poT}tCyiXA9{ZP;*lwV0c@el zdJ$WIlv1&heOxF)cS^tK)Ui&(Fc1LHAX*8g$O0s$R0{k+dJba^*qu!k)NZh) z{6X1R0KwD^!Nj+fGB+tU5-c^>B4FSgHpIX!8T@j0K0675|M;^3?~kzbf#&XFU3$Sj zSIUJ_c!3lNn`Gd;J=CVGG0TJ>gj42bsrG|pkJ(nLye$NKNo2;h0%#UJYFPoA)97g( zc-sq>Uhf+Sv=^-8`Sq2o0GD~*ADmYK@dLPd&ChO!6<~ERc-b@*Sf1YmrDk_`gCXz( z0>o)%M{8_iv;j^Gss^zbu_P)C0FaZEaLmS?$bt{lVH(*^A-y0tY^|v|;IKo3TH25u ztl$Optqg>0Zb8=f0j!=P=$_Dn#3c?V%^13;G}y=PyZtPN-jD{^zv^9G#Goy`2~5y- z$^i(n$K`nfjmKy}kQG{ztG2;+L*V3RlVrT@3bz2{Nw5uD9!=shNSrGOaL8Cu9zSej zD#pe{iY%FopTS}E8H)%|$Gzz~9#k3XQB+U>xBm=6=um5CzwZ+>fGv&C2*?YAe1a4 z|Nri^V&0ShoN7U|?(Ur4_It(NN}RMYVtW7p0RMxO&2yBLIa<}l)ue-z<_VQw00001 zbW%=J06^y0W&i*Jzez+vR7i={lreA9KorMs@KAfH+-x1Fda+c*R?ZSurYQCRUjwAG z+R;PKWvnZ5&QuB1#*vT=L?u32m{E%Q0mvta6i~!Omnv&nc;~dpiLYd0;4OE#|1bad z?w#)t`k%vC2ArfzfTP1@DR%xMY92y*e3u2NE~%r0g?A7x@d&X6V{A`tKp;5htzav> z3vhT_aK5?56Lkj8MT+_oXep}DEQbpi4ZeRrpOk@{Wk{mZQO|1M%rd2pUg7j+)+rUB zc^+D!w}4)1wbsDcTcJVf)#XoPx1?7I!Gii0w(^B^0cg0gg^d#$U|d%er&VpxZSsK9 zeXx+{xd4zEP@|acTToBQ#U+r#C23}EF$VQoB@5RE187bL0OQyy_sN5=K#t-Vi03`O zyP)eylFYVdWQ@J7(QtmF`U^_g?FS%4l{EdiUh6GNsn2p-&8uq?XcvLwrUZBkY_*5P zen*^nKxYyN@ncwQ$d-~;lNA9d91H@}<|&%#jD`h34`B0nD_F1aLr6~?;QcvZbBzV& zS_DActHR%L(`Qa$7oF`20F{I73g^(J=2P<#i+-dU z1Q$j|$e)QmUWVKVdA<|4sY`=dL#Eul4Rt00000 LNkvXXu0mjf2-1U< literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/hypno_still_front_pic.png b/graphics/pokemon/front_pics/hypno_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..56687d4a47416dce23fd40159902bb2f68da5568 GIT binary patch literal 862 zcmV-k1EKthP)w5dZ)G^ERc@00001 zbW%=J06^y0W&i*J+(|@1R7i=Fw`c?)D7vR2Cx7C{E3ZR+YO@{5O|L3y5JMVp$!cHF6?+7z*Gq)m{N}c=9t`FXoo%m zXpfWJGJxZmG&B=hR|HyS+g@!J3IICNim?jNcPB*(j)QTS@;O@ru3cXjfDwSGVZ2)kY(KzVE*;InLb{~c4nAWRc4iv!)3D#2%Qep*|u zR)Nowk0InnXR(^&vsj~_K!i<*5_(qvY$k_d1%y83*quxiom~JS<&ij80aOVN{)Pfv zf_}OUsTia&Q$cyYI1|$z=;MXJ8hM)jVh9YeThpS55I5b{WWKm|T*{1XOBu5dWt>>~ zp57jBIc_@xW`pzxb_?AXXC~CkIQ!0XAOnO<5ttB7&c~;#h8$y&RA5}Az#paw+0gsr z@%JTgdl*p6jAHkXJz3?3FNKhXB?Y8Cj~p2c!+kv`}G zAUFG!eaJM_D2`Lj7%v=`>v3W$p@v6n{X|#IVx>I+*ii}aW*`Cjtb}FGV_~(MYpjo_ z{yB-3xmQb|^8~=S*3&1_+`)@SQQC~C#v~$>V-M%&G%zm>KwvWHneD(_R6PkZ6S$GK zc>%6+%P9_N-a+hyULG0?R-+jy17C)&Kwi07*qoM6N<$g0$6%5&!@I literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/igglybuff_still_front_pic.png b/graphics/pokemon/front_pics/igglybuff_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b232daaaca24ec60a57807e0f9660a015ac4829c GIT binary patch literal 376 zcmV-;0f+vHP)KlCf^WFc5|<5wrFYD*Z_+Wr!;INY_dR?}&)58OYAN zpe`M{^o`1n`U;f_tmYc%mOBPI=3l?hcjvQ>88YOiB;ktSv$=jA>9=~mLUvRIU_x4t z7YC5iBQOt&5D>UW6!{1lS5U6ukmplhCh0 z)cgp$w)7Y2wdxD6B*9M4g7})I?f6q83UfMko+mlT1G>L{7X); Wt4H4)GX|#s00005P)N}PjIti|q&tj$_#i~s-s{8d~m00001 zbW%=J06^y0W&i*JS4l)cR7i>K(!Yz-U>FDR41pE|{{nwNdh0EHZzxisBrk`{Ir*ke zPVJix9yqjb4zW*Cg5^s8o*P0hg}7WE)yoPp_4>iUNmS45yuemJK*EFich0#&p}mw-*N zXpaoiy{PVc5v9i;njM{p01l?# zuTVC*9yD}I2tKi|TZ|oFn^iHXgkc<5HPrlg)n|;&__*tI90y$km3fr~Y(_BNN`eeV zdccAcZo1gm^3H!RUk*Q$Dh`-`ld;Jyv(8u?&@umRFWMu7Hr#ybOL0JFrhQ`+hF=D+ zY`uN^JPA6sHXKAb=-dGti80J!2W!3k2t4mRRzN8ZG{vfcUhjy5H}>Q_E7X!ef&i%Ne2je78i1;xO9<5><-lVqD9OntdGbX% zr@rgvc@+xkvQl&@^}LDTjK9E`(z(llurArkdIac6@&v2w%dck>E>5NZnO zwuGPzlx1>h0PTWRyK(!FXMK@b4oL*OFPfy;p9YN}kco!uMbbCV`TJDgvi>z9Xz?&<3y@a!Gu{p5OnaIvS*v4YkZNKNLcAbUts*sv+~V z9PiC=O0Dw17DAb7AyDX`;J+V>Rro^V7?V7xtVA$gf=(U`+C~JkRiAbqXxw0(#n8DS z%6j@I8{i&!F!O@-4nh?IysF`S%gAag+&=H}+4F#y#$F%S?C|INk!tfc01bEHa2@+?+200001 zbW%=J06^y0W&i*IZb?KzR7i>KlCe(1Fc5~bS2QY8*P=c{d4w{fpl0Sppzi|{yOlB{ z&gsaIIw^DGa|J>SNn_4#%aY3zwEtj5xljN7cXkk*b@J*X`*;2SRTdmjrbHmFsV*P4 z46uP>ivVU@LpJAtD#;CiQf4Iu3;YVKK`Nyn6Z01aXoRiFfYbr>Uzg6HAmW1s!UqD1 zBy%2YhA_1tcUfW^YQofmi_a^NIx7YPt=L8B%a}rDUvWHAip!wK!+Vg6@i30G;xgpX zFseivdB8AJrnBi?4e9J=7U_J`0h9zxr;%cSzJc$_EdcyXu1Ct)7EmrBrBwr+Rx6OL zl=YH|@Gih#2eju5)rx?(Cpg?!J7l7r#k0R~RWN(#?VQElAaA%$qHp3GAhRcz;;0^Pi{4wHcK%%kp75%=>Op8--EtSLcr=I-`VbN_>+|7vq{#Q*^AQc|>wG3Lcm|K?i%_LTqs{{R30;V8PU00001 zbW%=J06^y0W&i*I`$Kl)r1+KorLhf(e|4@I;`{MV0W>4h@KOY6gdcLYEB2 zUNeMxZYK{N@~^mH2uLbPGv2fCSnwVA4~Xx7kiB$hL47BMQpu8_V%{uD>CTCi&JAt=a>yC&LSatzd1gMUP@sI$0o45J=v;ZP~ z+Y(X&N@~4o4v}H_2vD5{-!X~x5iOwhGn~}KS|e$p?fYIIsWB`3OZ9m;W}_tie*d!c zN5iV$8~vi{5uy)q0gSI|z~m>L1~+hb&s%^Tlle}F3(vKsmixd-p4@l@Tv|Y8t zpc7wjE`>PXfkv8juMWH!vh*935T9UyGsX@+)PU0=f4CQ-F8~rdq=QidfW9E#YXuZ8 zeE>J(%NGQMH6RQFn$XmT>pais>6Hj< zL{p6)0MpNFCEiT|t{Z%I1k=O!lyDK{(7d%dI~378@KClc{`Od$i!8>5zX3#g;ah-b zUows;@9MrW$au0HfL8#hu;M$0BoqBzyv}lF0ov<&g0a`7Z`Q}3z1u!exk4r$^ zRe=p%$?|it*7kPQfz{)~ag?!bqLSd4KR#p8jN_tm-bU!kaN8b4%47DV|4zRF X3ZO5ZIuncV00000NkvXXu0mjff<7uE literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/jolteon_still_front_pic.png b/graphics/pokemon/front_pics/jolteon_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..be21a9d9ebfd505fbf0ef5587b607daab6f44419 GIT binary patch literal 706 zcmV;z0zLhSP)oQpYXQXu~T|GhCWY5)NL0RR60|K8@_iKl(B2uKorI`NSka>=qOwGi~(o2EBDx?`>p}Szz(1A)Qp%|4O@d)(WS_n&eN({sul?BNN@xeEA zfT~qXt*FfCH$q&{yRayIAJTIsCEV6PFwg)a!sy|E$vmhCT3oku0HdFDJQ~1x_2V-M z4+izsa-^JV2L5e zXt2-^!_Eo$;6mHu$;JsF(Ar$Tycy*nhkR1`5wS3u#HbH}UiRF1iGwt literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/jumpluff_still_front_pic.png b/graphics/pokemon/front_pics/jumpluff_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..6b7cbaf61f55808cc98c23171b4c41e3bdc32c9b GIT binary patch literal 734 zcmV<40wMj0P)$JKIWe3uq{Cl)rD&KorMsXolv7>>W-10-m z%QML|4ADZ$cNUGkbN!z1JzCc}s3dusFV7iY5**6=9EJe20{ z%x`CVXFnar8oRhW17$X~GW)eRdFec0?3G?mIW~*v`3?jCkHiO9j&#l8p|b=IU}|Ed zOotuk4q(Yh3YnU(IMTWcI)mA&(q`oN{Sfu~+b8gh18n=sD`{~J8FUHtZvb?f1-AW< z1BJuQ0H~t}W?-k@b+%H$CAKBsVNY)W=z!jIJ@WVWL^qa?E9}{g(>g{27l4(hf*$aw z!uAjAFTQR7aJECCKBM&b3w-PwK!V#LRgBr$0%(;QbcKfv4jNcwXqSLQ!oSN%eQfC_ zVgk2aN^vFNs8TiQAG=H4?e|Kr5J@N^nC+>%jCQvKP&gOe`N|#Omx0C2VB`8r-SbN| zP`rpt-w_fmzgv0Ho*L1N@Wm8wo-wNv7Q6 Q3;+NC07*qoM6N<$f-(I`)c^nh literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/jynx_still_front_pic.png b/graphics/pokemon/front_pics/jynx_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..7af4ac93e32e9f26a506e1ae562554e5a77a3174 GIT binary patch literal 832 zcmV-G1Hb%K(!opHP#g#FFgBPl1H$ey&$3Hac5{Qq%MN8=v$5gu zR!<)FwFh_2%V8bt(g>MC05onQP|y| z$KNO4-|zRTAY9k~S8GQQ+}0I+Yzux3T`CAdT$bgRrfHDa8B^0o*x!&9B`YuVPc;rUBmEof*O9g2DHv}kRdxyuheW|WcHDDU zmayIOY{V*Y@O_d^2jFXN)izNFY7QZhEyW48`wA@Cxg78?{s!T@Dbf~hKK>`@T`9F! zsIM$?un9Hz_ISE|Yc4gEk(H$9MjZeSY)JJhXX85LawR zfmjCxpufR{185M^5JpP;2q4f`twx@MUIGwGfd6@94{%Vt6!v{VC literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/kabuto_still_front_pic.png b/graphics/pokemon/front_pics/kabuto_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..76fd39d3d47c451724766df9ae91d0c6ee3a7aa2 GIT binary patch literal 440 zcmV;p0Z0CcP)KkugrgFc^h%fhIz*a|R?Xfau;^m>bkgnKPwlVGcrK zchUniztf3CB6d1-s6^@?I}K8$-(`g%Z%Bss>Am;MK`?33-)RP*^)EhbvP=lQz369| z14MCwn7w>v*{gVOMd1fFZ(lB;=!Nh`gyK}-wDtk5IFm181OQ66)7LOq0K+e*5n(R1 zbEVdf*iisFGzw&gs6phkqm}q@Yjk&YgQ&`~B0w+k@p^&#yL&_fIX$$ma6d=H`NDoo zS(25<3eTi+vNEhp_hV~RK!8Zr@#xpQGav~7oR1Nl#|G#bin9}77?05d9BUS9H{gTW zC`EzDEZK91^^!gDgAWLzny)k(ZYQLu$Vhu=icM-KBoSc+uYHI%g|Nj90{{a900RR60|MuRL-o10Ilv-L!7!VK;xMI^#00001 zbW%=J06^y0W&i*J%1J~)R7i=cfHg>1SwVsB#h`4h{D+#f zQq?VInjJr1_h4+GnTmaVXB#_#YuKvZV1B%hzwf>8y*onwuN9t&H@}_%mS=#b_jpFY z|M_Ozm@ks*2WZ$8e>&9A1TWD53(u4Ji_N9?MU#O)d7kIT88MdL{D%%$dK{M@uJEZV z!O!CyRNU8=zzYHOT<9_^Y5}g<6v~5IK$n5?RV^S+_7 z@oldJt~vK~72w(^Kwk2Pd#wN=drTpE@3{}@S}Q>j2+hEUIE539iwQn5?xz3{?_>nW z61VSEnH(Y&x1;c6TpUwLM4`mB8wP%Kl%ruXB|)XZXVM-9d@bcG4W~7_QWCi3(=HpX zxQO^7dI?y4W=)ivV%qMvBVR;@0_kOtNHqE_Cf+O18Sp&K-L znxmVwgfl7tgKtW)-*ZS(s3f+f5tM(oSkCS_Bt}{_Lanlmz3B9F1;YnPXg$5#G6#)E zqg;$eLL?-vrk8dK2@2cN6Nv;)dL{8(_L0V&(h~#6hZvI7ME-v&wxfe5N5e0lNn^cE z1s#{3kk#=4YuxsD7|G7f0XV)3omLhAB-?ShF{|UN%(*kKAtrQO^k#_kbrD25t)8m- zSCQk>>0P#wg&Da-F**%V#Mi5^RGajFQHd&0u;CKO`u@@&H4j& WZ`kTrnY(-d0000J<~b?Vv{I~tDT`7NYC#Cz-rlsdwEzFT|L!T?y%2+H5D*X$%x;CN00001 zbW%=J06^y0W&i*Kc1c7*R7i>4mA`M>Mij>hPDTKeP`3=0(r%eNbk&xO?thS(&JahP za#;cfD9{>6T?5^mMd;Wr89LJS(!^-NcVxDx2p><~0`y2p9YP1a)Ab!K(V`-F?9dxX zg70(R_mfA*`F|~Jp0;0a1paDXXJ2jxepyPLPB#K78eckyVCrn+2H;*&J9&FbKnCNF zBJo~9Zg0_9;&?ld$fPm3yY}jz1B@L{LXkSNop}Oj1Kd8bQTea#K~hSvz{FsYHGtcx z0Y^RnyAmXehqEq>uYh44rMv_(>%5q0SY~_s=JOhu$I+=Jq%{-NKaqiC;Qzy0I?+CA%fA_q7r%e{nR-O zo}In*?S|0`n^yY3yEt|VWbX$Alf#ZA_QXDv;Xn~4YDInrv zMZ>q_WQ!&t4Y8;~fGW&j@U#W^hNc-RrUiQp1ZHqPxXR-4_D^)?vs7`W;^>G99W)Y) zdd1PyQ8Z4R=7#!(!NWG-!|Bxjw%_k_5k(0B`wzw~K&sSJYHx3k07waV^Qa9Nl}h;S z*U$TWq!QbbH!N@aP$__T`4TWtiP9DjZQwWs#INprfrU!M2Ecnqj?D!**GlpN5BApp zd9H=o!qUuhDftMG*rPQ7CNx%ZGeLEIp;_n5#NviX3Y^&7YfB^bR`J_-ubp)xEjUw z1oM+yj;A>nbVAUC;MDW zS|@LGhJSa8Wkdw_p0000C2O literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/kakuna_still_front_pic.png b/graphics/pokemon/front_pics/kakuna_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..393c3b4071e2e98266d58d4cb67bff3c52d58e68 GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*L(Nw{Re_)bH3e+I=eS$ zNw-9IHN$^~{}5DMTx@A+DIg#K7dgDRb_Gx`V@Z%-FoVOh8)-ncg{O;Sh)3t!$s7HS z7znt;x~#mUVCD7v2jjIR4&kcJ(lH7Gyk3P$YFGb?2#H<~jBo7FcYV@-i0?w>W#znE zl4tkDsyoSi&2N3(e%m#ETFBQu^F1{^S5D-;V(7qYC&rc3Y{cDYWL6;h_043a8C_N1 z)XgTiIz{~sSJ?Zq{6U(1AHRtG4Y9QH8jvR;wGfz2)8qI2r_wXGyN{k9)Oq!2lbTZ zgXBH|;PS*eHLjF$g=hgRCITr%wjuzal?-GFa7_u|B)ibm<-)?LYr?P?8tMxRqz`F_ zBK;}q&`H!Y-%)?ILO^l|=aTdm=}sfzqEcRmbB~Gy(H89lz--nJ0v($56_Mb=h0v6A z>iY>F45s!) z7)D66mBJq(W8oc~rNhqwU_23ivrYv^_q|v1P(L^~x>f_#tYesH@Jsq9irWLGvmKo- zR7Q7|&cP3yM=*>Tg+R$K=@WDz(Oqd4=vg?=OLbgCpzN1M`v8FPF;MgNcAmm;v-FUL zMn*~QOhDO$rQcOsEm0CvouDP1o`aFmNx)B)&8mIv5|B4Rs`$)sP7Y@`H{M$7> zeHD9MCT*@zXGI9-+H_PDM5E@ht`)lvOd{CZ$Z7nmDt&+p7^@ut9&N|Kx=&O#a0`e= z1o&7uE?_pNz_k>G?8Fxdri7m)E;*l^HT^CS?J5&G_>G6oOh5o$9+eUEj5a0+h!1*ig9(^&4l+SAuK@`Vl3tp6^nM4p;B<@R#V3B3_r6<8aGXbSi z5Hcr!{SUo)5?T+rd2Mb5Z%c#J;AxUVZEia)(PO)dhu%vP!Go9eZ7T({v-RG`p7Q<7 z_q}=VO&GhDVPB~h7>kBi=$6B*-tgvjJ^+QgVSgvb!{!AGoQGjQ%mcnU9AGI_>UbwG z5)n{DyCwf-Vs4qTydF8E{sZs~!P&j!DK zD*W9UnKJ0cC1BE7??_6q7S<|zn3!}bVNVF5P9JsAXkf>&)<I1qJ9L>PJe*ydOfVzk%>I?N6*2cGmKXsMiw-O@yDShz;>pYLyWodkP sml4g+<-VJXTB09U>Wtm^kA6+#4<%~!3S+tDeEE zq6?1SPFo&oV3uS*zbIlqn#9_3yDe-A;A5E(mmJ5Mjq3tL9&xf$lQU=L=WT#WB8x=1 z%)IAMar??5jkj?)_Z}(CJAh0Bz-&UtI1_gOVUlnYi(N?1mGM~zC~p&0 zQS5yaI1EK7He<}tcTC4b-6%rL(0I71j4m9T*Xc2!>js#OvmoKU<3%Np<}lKS22eMT zbri5Sla%?c4q<%vutCMycZPUT{{mpSAu>F)CH?@e(~(Ue)$R}h`!*oQ>+PB{GWAp# zqBbG*-4baah$?J8-PuSrfJ)T6CJWo39gO?BM4l;|s@`i|z}_q$H6ua$q^#mU-XUstR)@zB?D)?}D4ksNCIQ!?-`Y8a_u3M)Av3*`UlUEp$K7l~2 kRzLQ^H2CLmF#lKQHv-cQGq77b7ytkO07*qoM6N<$f{3Mr6#xJL literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/kingler_still_front_pic.png b/graphics/pokemon/front_pics/kingler_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..596f37d974c153f1551823e63add5d568ba41fa8 GIT binary patch literal 936 zcmV;Z16TZsP)5dZ)Ggk>mK00001 zbW%=J06^y0W&i*KCP_p=R7i>4l)q2gKorMMA`(oN?#LW9X9gyh_&j8C^TVo`vVl5f zDo$9UF3p+6LPU_8GD7=jRqC2z>=0)<)b6eO?wmjfBzyamNS5Bm?|t9b?+&5=I|?ni zIp3f(+K}I>P)heU5EV=)Etl38C}T`1CbhKy*1&odIY8C}b*wai%ymFR6);U|t;rjZ zbsNmy0GKRM73|vUK-_esO>NsW*QkuG#8w(@`*ol|=drGWLFRyMJ1eQJ1GH6p0vK~w zfJ#yQ46L)Z`5a(N08wwNSON;T_6U>-7$pa*KoKn7LuC`8J3`q^i01&hQ-HNa-+&Lq zltPHX5&-g>@Nwh40zE*55^*6fk|m(N3m?EjF*Rrn)k|bD0buk9@a;PGAS)@2X;dg% z5*dfWYb}87Bk>UvZ|;uOfFcNa5RBzc_D|ZroV(A!01FkG2NTb0P?moS@%h8Fs|iPH zcP0&71R!1j)9KNWpT}O)sgpzzHZ9gBUW+b(E8&lL=-vKlU}AYqAiM}k8AC&*2JLi0 zKM>x#EURE@X5X94k*J_B)9vKIj0f%AEX%%O3fPZ{i)F&pUbK@1WV;bbgv^)!LxNKjlUEjYj+2yf%0>gNy0YXXv@1OLJdNA7M zpvvw~wO!2N=lUusm#vWZeculTta{YFA5A-<22viWgRa`OI0t}t<<&92>h^CmpgYWg zDCK8<9v%Ob^FS@rEC+}hFG>YJyPhLAoDWA*rhxx^sl^pN)Qkb#Q^(u00001 zbW%=J06^y0W&i*I=t)FDR7i>K)W2)nKoke?gJNhPvUt&6k(Vh$YHUxPGIs4!@|P66 zWhxOFLYhreq5T_5hv#(d5ZUf7-$kWliF1c*FEOcmeR7r--qnRph2A9e{qTNBLQ4HV zzn;ePpRS(?;2^6-)7AOW3lXqzC7DVc^j-?!VK2)ZkuLOAFOxu{mz@xei3VIt0_rHc zqjO@wrKBNwhzXSp-i1Kpa8-cbXHM*(l)DEXt)9x@X4QcPT3?EJbPxJrU@sW-3vG=N z!FV(-sVI!oMjm23(xw=g>-migqJCkG*4M{x8B{V@YO8N=-%JKpnzE$fCC~Tt7{fq+ zGX}6#_N}zW1p~iykWLv0Q$|F5JD%ZmMMFTvIOQuDtO{@7X#gm1YjB3G5KyuA@nQ=* zukUE&9YC}jl@Xc5nGF>B3n$IH1= z8w=dw5retvZZSX%%*Z(aK1SS5QhCpAJ>Fgi0g`qqjmU8umS1X?NL?5t@JO4Q@w!5Z zuSpwHt3PuG`AIzB`%C9Wp&1nC-d4?_=LX^yF*ml==1}=|;92wb_7emCGQ_+-(Qva0 zhV^NFi2fFwuK}vGYry3D?{hT?eG7jK%5^~e`TYCm2lx9Y2#TKRK0H7Fc9V{0kPmcZ687%yES7n`Vs2q$w~n!ypllL z2cQ!mh_{}S2PjWchAx36yK50yJyLOEo{Vf60^~C!So}VH_d}k9c*mPYBv1D(KL3|e z3dJ?jy%qJVN;+@@C+Jrr&$BSJsJ8+oGpV>B*3Ohd^ad&+W4Sti|f- z_&oM;1Wxfa{oFg?+S%?{=mbfy_yX6*WPs=eSrDeftwT=y#>HjZ<vB6?+pp^VxkhM+ewrcS{=%Y8tewM@?(a+(Z*5QegR8re| z)?KCM=iYBdf<0=)`xze$8Vga^jxIM?P@7^k7(LOJUV&v@hJD^9kzm&n-&M&v8Vs*L z!<|c`>mP^1+ZVoBtsf2fSj0P>(Ub!3)GjoUgI0%vJ>RfEuKk}+@FFc5_~#gj#-YYPObjyLAy)8G-K!HTC89`yYvc!Ff z))Ur2D>G7v24=61$n}*aT^S zeh`#7$=*~Hdijevq!}3mKi^Zo=$DKD45)p1AO88C7uWB+g=i9yP25 z*_}Tb^AK@Vx0m6xr35TUTZEn5PsI zR4Q`TPBM(YEHPFi8ZhEO zT^Wky`^jViy3ty(OGv1|C_~YbRDnrg3-$3OE{q<4goNA;MM$8M&>YW5BW)6qK?D8+ zO-nQe4l@QLsIsjP8PXOE0Q$$$N3SI-JkS|#`?DGkOmtc5*D TE}Ct#00000NkvXXu0mjfDn%he literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/kyogre_still_front_pic.png b/graphics/pokemon/front_pics/kyogre_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4b8e0935c0f5b032e4dbd0ed137acf77640423 GIT binary patch literal 965 zcmV;$13LVPP)^!(&5&00001 zbW%=J06^y0W&i*KLrFwIR7i>Cl)+0IK@`T98oZgk^$!><6icgMD_KwhQYdLk z55|AMZVwxJ5E~CkJ&U*WQr3geTitjotdN%t6k>weF(MU8)!9|5J+$uj&F+q=(dez0 zzC*(De)E0byqz6M`d?~dR2m)W-R>Jn=;NvP6XDa;i{LN5-2oCSF>;TQRG`s6li`2N zwmL+TFj}N+XOKT+6%HI205v9nqi;Fdn9n!A@`q^-#K9>041|W9ZsusN*=Pq2isDN9 z0Dc^*j*!@;&0Iq*Qa1u*8*1`i8NiKz<1`YqQAEl9Ia+s*)3)nXj4~?tp@%|gj?yN2 zWGST?retIQ1N(8y6%vi&8PI0TImKOIW4~I9B#=;xZHX~PY29<&V;fGUB*}&lkUS(P z-C`}nuo(52&(a%N)s3T$*CDp{46HIR4~2HKGf&+C+-{TtiRa&!45*?II0!tM!HMBK zJgX-5x`}-nmgk(Pd>-f^VoFkL8Re@X(Dt$l3Sb0xU&I{H4dc^d1kjBc4*Uiy4g%O* zHY$rtRoWtV5I_NRz}1){d}RZx7~d$%n8g+DF z?7;Q_tk7W^S7UAJsDJ>ibAb827-cML1o>8V6d-H-)zNoIu!G1U_A?NmgcoLL2!KV0 zX7X1Ed<^;q2Ocd1Ks4yd({KW~$u<1BON$SNUB4qBCG%oLSYJ4B3zvG#5r?kt0|)YW zE`uaA1SDVdrI?<_WQT`Yp)xxxov(zRS6`jnJjsRqt(R^Wa6>PVhYSAOysB~^aHQ@U z(g~TLpXGBHQ)~do_qWdhu|$bPbvuJ+x>BiFeixw&Ksg40GJaX-jbuL=0&^LBN0o}I zb`yyFK$WqKD?bA;3+rm<>pZJeiSX%Q2oqpk6X)%(Bzka-;D==v5Hhuk5-WijdT5wb zGu8WDfE+B5(`D`fs#YW87iJcDfQlhZ?dWnqPV@C@0n|5__CpCU^XuA9j~kY!z!)lo zx8r3JoX}9A7a()uHRL~Em_&zA%4WeNy>EFW6wM;NEI8pSij%woz++7YW8+r=vC&CUP+|ExJm-fC+9gM(_l{{R30T)@xq00001 zbW%=J06^y0W&i*JtVu*cR7i>Klrc}+KorN_p|Lte=g^i;^qv*bHMvykhFZIOiDJ@- zN>r7C90tS!As&$mb{2~viO);b1#;fm@(r5L(K$d-)dlyRA;F=cGXqcZMe+OH|NY;) zOBCfH?rAi){-1vm9pS1r?*u~8P1esda_W{82>fLIFl%#1Q5@kSup!*hjOwDNWTF6p z61ssH_QA(c8y&D5N*o0N( zn|1;aGH0MmMvdYaIKnY(x4M@IwK>BQ zi%oX|pu(r&@Prjk&l{mU`!k&t7uUxnRJ33XhQkV@S3uws0N7oajB?kDF9yRwWhu^{ zH}*(w|8(IDUZu`kjp1VOC|O%C!kc*X$UPvbYYXse^`ycWzOr?I`H_+(gnqjL z<~91hViXX_9KO&f7Pt2g=lMh;6Zw9{fEZo>ITT-IBK{b}sb60lkFr&`*i{?3M%>Yu1|L%ML=2F$PTC|HfgHi|(5D@=!0JH!AgvIE^00001 zbW%=J06^y0W&i*JU`a$lR7i>K)IV?9KokIQOAYp580eIK4$}-(H+)?f%bBG}NQFac zgv3BVYQw5iV61i+2tWBKda3%>4rX&;kY^&`AHRs=fF}abd80ZH2J$l;1`pT*+5(_O8A3+(Bm`<&Dp-O68UPiB zs-!h>34`p@k^eQ~gChqjtN==>4=!5f@uYSGc#YgXrDMOsAh~Nz9*03iSU~Lp7(+g# zXXu+HD9kDKdyIEm<`Rs|S3XDxpl4afW1Z(6Ysvv^zj@HZ$g=DyD?aGo9`^ZL07wMj z(zZ`OK|a&{nDhZOIKKh$OX{)ahV35=@Hx7|28N%W%0Rc1yc+hA4?>}~p@P}@dexiq zIY$233=9B#IeEJVv~0U;c7DzKER9JNyiA&=+4g#Dfi!8O}o$Y&UXgt=~VzL={s$4^`fWS|M)xc8n+a literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/lapras_still_front_pic.png b/graphics/pokemon/front_pics/lapras_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..063068e90d4be3fa9b772d3300dd0cd8cc13b70a GIT binary patch literal 811 zcmV+`1JwM9P)N z|NrJ%DWm`Z|L&CL#cG3UG49^g)y2J}l#60gTAa=HbF}7ji^VZYYAGoxNNmY600001 zbW%=J06^y0W&i*JsYygZR7i=J->u{?&7hC#%JM+!1 zW(?#1ipqUJ|L`7Q2=@TL_ZP|lS$t$vcuAcKM0*j>jA4}P^?nrf_uLVWdWkkgzc-B7 z*W<@58L=aczRW}v$4}Tb*8#wl^^WPxr>Y}=L|AC=TWU{wO!@5@};YXVqu z-z@}!uG=(14e$_w-9fnRw!NKjM+4LmhzG9w*7JAVE@sjK@XPf)pMG?^OK;|TQNU%} z_dSZxxjzR83pRs`pxtVD7{PoA1;m^Ns3Jq>ebyzw_77TZEa3a}!yGWV1>nNR3_*wL zEZAc9242haTTL3wURHGqB+%|q>ILX!CP!TX$tZ#ICZ+U(((d0D5E!%ZK{E(w7|xkc zKrhZ13}~klc>e5rD3A6k%W!}@LD=qI(ixN0DZp3;2b2Z?moqhPftPZHK)3kB#}H}& zo24npKwxHus*VD7<2Y6T;L^N{3jd*iS82+#EK^zTRx0oJPNiO}#e5j`Se9{slue1{ zG>Q@;0LR(D{|K$-0HP!5lgst?6DN<~?ouheIUs5v0RI60{{a8R#l>P`Vh|7zmvFp&00001 zbW%=J06^y0W&i*IUP(kjR7i>Klc8<{F${(eT=2A4$gM9Bx1gxf#Q`h1s!61=dxoLD z!Zti`9h+3LKHb0-40%oq7w161NUbn`vi;|`tLhg27H(6{*Wk*4dbk#_Q^0n9HGo|) zui7b~nE*UED&-x(9KYp!Z5k#DJzA}S39&?N&H#vhDyriU?&t1EMVfioHk`V%DzO zZDLF^));c1T?ak8xIG*?%#>(nZL7~8k$}HbD5E|5Xjgu@d+RcbtDMCrhlO^2%x#jV9IWr#=s?xe&mrsEe! Wc7d4lyYn4K@boSgE`O300001 zbW%=J06^y0W&i*J;Ymb6R7i=nlreA9KorM~+6`puQocZ5Jfd0gj7+_;#YNMCB5(5H!O(iy@*iECV60&m+NS&x{-ksCfj$>fqNwJlCzx)5+-MzD> z{g2psNRN$`>O27D+5M{gGJvTqF=%gA03Cn_OLb_NRRWET_U3vGph{qAz1Dclq)kPh zF$Q%KSgQcWcY8-0c`vsuZ z{P^^32IzfFw}u&Thk!3n^1x8jo!1#~mjS=Jev{SU)9m1LW};J#SJ&;?Ds)>ucxIx% z=Ui++2An7$XW~zHVG2kGE#N#eApo{#fQ}O>Kru79*MnA&0kQ-wiFwW>Ogb<-EI*wm zHF7I4QeXg0tBWNp!Qd8cYFtFE@uIG82QTmeYBz zCxX1matZ|bbG{*9X7Ypj7S{3(%7f#r$s?suaF8C3(@jlO=Yv^rkPr3+AqWa@lsVN zBbf(uvvUTpfr##_)sQe0!~i{(uSWe$csoR(2w)e@-D?fgzhX# z0wnL{2rr)7g+z{uP^dCwe(Z*M6GKFVcu6e6arzcwTyRMeDlnwa&%{WQ3Dqm)t59P| t`TUAPtr)Re97)8SfIEM7fBXOM@f-5?*!iD=NdEu;002ovPDHLkV1j0Ym4E;M literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/latios_still_front_pic.png b/graphics/pokemon/front_pics/latios_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..a9c41e2507b85635867fb49b298fd2d9adefd010 GIT binary patch literal 959 zcmV;w13>(VP) z&CRT=tdxtCb82(m-rj>sO8;tV)k;#F&Hw-Z|5~K~N`uuoVze^Qt}+K00001 zbW%=J06^y0W&i*KJxN4CR7i=PmA`M(KorMKlK}yCbS52BcWpEj*&VbHNm_)Cyr~ofOt}5=ibNP z_q~^Qjv)L)l>d@XWmow%eK~N8U)QRa0!4l;tz81l$Q($^6*rc<@s2%-$G}n?IP6Y= zl#FA5sQEyCc@;e3IM8lzbJZ=m=q3T8#({^kTZ|~hfws;nNG72c#zh$yB6(Az3=r!Y z1)?DPUZ-(gqlN>-sj5>T@-d*!)?0#btiqKxD>wpx0Hp(0kls9D09}fDWCAT_;h8*7 zY0tnBfD2GqnwiD()W`u)aH9fr05?|<0AKfxA^;a)6&OI9uXj%{t`wsJtPAjCV`}`g z!9sW!fdeoJ9*vzN283K5>XQnB^pxM>$3@ZrLR7gxYf^CFodv|X+UQDcEnIKCp01$T89NixpV>m=Gr63K0P)g5)tl2~&sxfduXY5wtNBX9y`A$oD9TTM*Kv zO^bgegT7vm32yYtppEBwym?t#S1Dis2SfyB}bmaWaRT3b#1?w)Q3AT>2Q43 zPl-wrfeqcH)Gh;1hZ@b8%j(L9ZRnuAd`^f4Kqm^6-7niUARG^V%;wOF0FJXFT-~oR zq5}ih99;yYJ~iM?q0`z99Fif80+M-vHoEMDSX{!S_Q>jn^Y3pWc5wUp=cnu(dRE7> zyy-rN2T10Cv|TgV`^@r2mOZVJY05B5oFDPmnZ?330)_jZkb+ixw$GmLGoVLXV;89$ zLZvw$mj*0p!^fFU-L*Z0#(6<>2EQQNw;ju*o$+GEJ6f2OlWfQF`kf)GL7Ni~-{)RV zZbb*eb2Hp$FjV&z7ln|53-3lIVFxplnzl^rIvD}#WqPocLHr*~kc94}H(t2c2{Cj> he+DEWlThLR;x{9B5*V4}0)zkn002ovPDHLkV1mR7i={l`&7-KorMMDqgWp9Z7`bsA8FPx8sq`}zO= z_s)JM7&uptx;F!OV3P z5HGA6AQ*EL9sn%k4zLv)(P0$pD9vA#`7Y;&rFLsXzlC8!fYQOmPMPzTYqgJjN^iU$3BVsm$2-`; zX+=gp%?~~Q5is({1GqY_AIOP}AU6(%-eZZy^8hddC2*qY_g6!|AGFPR;j& z;Pxg7%zP}vbfsyy>}>$xrGZ7-_bzJ<{sJc7Juef;d6(5jbx%e&v%F8z3h=Jl*ybQX z0W3#b)#f(eaWXBSNeNrEMve1L8A4hBB_J+u<3ZLpM>H3v1+d0ItIdE9eM&R(WJH5$ zvySJ5Kz@)R(5FFM-sPrTlInC929n}gHTJ93Z|nKg{cHK3^PZOY000001 zbW%=J06^y0W&i*I`$Kl(BBxFcd|(c(erWvIR&VP^46W4nu=Gl$2+)YKJZ8yT-{Ixudl< zALxrUG8-TefS{0j0W$?;iUt8wt<9TUlt2Lu7E61L00QOVFwm3)P)Y|)z&porytjMX z#xKWlUE{KBJV{9%(H6qCuL-d+bT)N9Ryeg~3CtBhZfo?h zZSRNzKz_OPK$G~6yFXqj0dfSpuYC^+eTU^|LVVb~j^m&GH%aG416K0H_x)fa1nuV- zFRC8mZ?ZM=9p{-!`xJBl2`T;2vEve;1Da)4s-43ug6XkKUWCE6mu0aIAdu1JY&Pas zQ6P75&7GPMP8kbo!;2XJ=Mw-zHDHd{J$8P@IcE`k@Ms|(_S;>Y_J+gv zL&g~ABRW`AqEdi_DI2Rk3;9RLy4J%aj0G;l9~RyL6A)Qi1(p_U&;9|WOVFbFt)e*@ z-|eB!5#+cUm7$(p>m|D^EkxTsST#{C3V+O|p%Rc#zM*Qhv0VFS5$DlqQPV~!!HX2N z{BkIQq*HSjiAYLcrn-k5TiQIRiNLFSHN@l*!Yb+)g#qk X>dGAYQ3j0q00000NkvXXu0mjfv(z6p literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/lickitung_still_front_pic.png b/graphics/pokemon/front_pics/lickitung_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..445a7173e79081be366509722fd95bc22dfb6135 GIT binary patch literal 821 zcmV-51Iqk~P)0RR8ZwEv`o?rKuaQZbYe01yxm0r&HY00001 zbW%=J06^y0W&i*Jvq?ljR7i>Kl)rD&KorNlu@qZ|fdL7G5mSL7Hxj}B(3$ztscba^ zYPPZ<@qaj~klL-!#Hu2e=EX*^^%oJ9h*TRlWe7vu9PimqVmr`gdQJXt)Ds0l|<-Jd|vpxgqSCQT>`ci^nIt5^!L%}m8E5xI|jryovddF(L`!9^xAA37O=BG9fq z1=mMJdgHhV!MmIh!$UZGa65D{B4U^U5qS5~*<8qjHdwdDDKN<_7})g`11iPBOY6&% zF`_@!H7&wuoB|UbgOAqM0RcE$rIz@+t+Ygn`EcyC*ucEkhRqP9JTdH=f?jD6Be~va@`kO52q+N&GYfId6&f-H zRvwCE+XAbOK`^T>W9^5OnFWi1W!SFc&uIeIMv{RE1EQXEmSLxkD%WpF+m>sjQ-xE~ z1^OL1R7i>ClRazOP!xu>h-fnxiqx&({DWLAO@~5zOhYtiuv`Ke zgoa#ea{@uvV~iE)LI*+rf|rtP!G#bH{!4+zAd=zsTqy-tU*6kykcap2`FM4tY5%Fj z)efIeJAH$Vd1DDfl)p1#HUlZ==OsYG#sWbUSV$Ozylw8l141kX67>0Nxhi0uYY7WA zBP9rn3Ly|+p^m^&LX^hUP9kM2d`eiHuo9@pfdslDVOR{8ZO98xe>fmO{xEorhdxsvkXHfOaQ${fYy z zhf_{+mf@SQVDM<9)u6C1%VuPvUe%>asuC1l3K2OW?{c+}Ukj=@CHo5@Z$KcL)d8#= z)0qMQpGgy7ejB0{!{{VvxLbp>&|4vOeY(7lSp60Z&ZpjS%EoisS=Mg>frww}-|^#^ z(+`j~d^*Mj0(U?7l+s)0UOd)^RKb0^5pzmc&d+t-FM{(97Yj;{?LiZuq|?I%1!v(j zbSQQDU<1IatpI9+KDey~P|^eF@-?joqi#TZ?wFv^FLwv9yFz;kh4lB!t~GV(Q3|eX zMLhSQPwl}|>!9AC-`}Uu4)lgtfp&yFq)P2+>j(Srnc6_xTJ-404Sv5qw9fFlU;CQ> atbPM0cJHs%;#!LU0000()wKWi_Bm36dyC%xthE2d&HwKIeAZ!b00001 zbW%=J06^y0W&i*JJxN4CR7i=nl)-M=KoEu(A+0$E@&fI;LalGzwIbnT=_yY^Kr#v^ zP$UewRw6D(kbw2EMwp!k$SDukSsREU_C|`7l{kIh{4*XeCgdY$+%aOyS4|@ysOHcl z+=DcA=ul5dLjb+$L9{Xi(4U@CYlBb`x5_v|Pk=OyKzc4n(+KYi*PdCRUp+8BL@Jn` zf-(=xo4ytR$}~ie!xofZE>yS&zX8e(${mP3Q%1vvwz!2wsZn7N3jvCC%8ahF6~co> z>9y=SAlj}Wf;!;3*kkdfTxhpVJ-V>P1P7#D(xVG;TWEoo2m=s8;6CNDxJOm5K`>Bi zaZ@OGI)FL&(wBup2;`jEpc9IQ2!S)EIYg43C;YJpsbw556$U7FmQYJzSewT@E60Fn z!OoUl19(`9Lpe?;C93&XK8JA2{yhL3IcBx`c>(!;pQM<#Qf|wBt_Sk(pf*xM%zhmB zI>-s$FD<0ec9t*YDkoI8!k%O6rLH`lASZC)N}Nq^;Z^CcPeRoe{F^S%^VNFyI)Tk2 z;OBhP-{k~$;^}yr&&cr9fyNH-dLwUap7ML9G4R1lgV`;)38uO}JpY^zAZ|WCXVFoj z%P;KlfQ4%KorM)V)2+qgJVZ+{|1neGFuqL8p+PURw;M< z*ep~TiOCG;Qo+#8=dDAd=BZ2>GGt<-m6vQ?_+NN73R3EK+1UCfOYh_F``)|nInG1< zm(m45Z(kp&F6@M^u_dg)xB3>1)|ExV?P0ypO%;~^f4VpNZ?O_?T?cv}FsyIOEx^qX z*R28CgAHf|zJNgkJaAZ(!^agWi9QPq>nmN*CY4IZ9N^-0sr?!L*eH4IGp7)UTKnc` z1CzHIcV7Y*x|o^G(Ovp^oo5!nRNsGp9jvp#perHpN*^w&clspH`%%OL!(Y{04e~6G zV+(L|Hb2RsAIA~rf!1KoP$l#~2RK7A=~p=t__UXaQl)C(|xK7UE#mynKPilig(kc@*nU^kxD?1_)2nB!)H$ zfw@rW{R?}v3QxDj1b|FlJU@84tFQ{Q{#MqThNF+8<*r1ydiF1C0HcG^a#w+f9l_~G002ovPDHLkV1ks2C$j(m literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/lotad_still_front_pic.png b/graphics/pokemon/front_pics/lotad_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..0b7e0a0a68c201be2dc9a30c76c0cfa83fc82942 GIT binary patch literal 492 zcmVKlQB-iFcgL@bs%q$(M2nGnxP8sStu!7WI%3yupv;Ay`v0ZlgHATd0H!o@|#JL{cIyqt*@u69vw5OQ>WC$?gK~AGRc(XR*5iepb#6%zs zV@r^b$&?RB$d@Ri=*((mZwL~`oHD2?S|*UT02vq|xzHA;jyHu7jEz7%NvInE`Q{cz zve1PIeY)EKY$27CHRsf=*gozwoM=9T~Fxg-G=wVxh|+x9`gr5l2l8cD;yF z2+o7JzV2+gE%>E~*BEfBp0@<%m1$a+qf!qJf%)$e;Od^rNpQZYr#r-(Po;D0;_PUy z)Z?oWoD;P6XLGfVYYVLP()l(%+(Mhu?VT#M^4;(Lpxx>A4i|H0xkL^(wzyME!D|uTxbv`20^TOcQ|4u6HjTeP zcFTJ6V)phX1GNQ(ox6)y$@UMplz9|QP*euH)VY%$+>Es1VT{)&+14iM>`m}{YWaTh ze4o6}lUI`dQ(<*sqF?Q?=}AP6F(#`M0F4Pm9p|{9kg@MXIr2S!PuG0I+WJR8pGNM!&AS9mv08qm$ zVFD;HTVqjy(kD=(5@03gWm$Dlv}h!kf0n66Nb^zCdzCkDTsQ`{Et7zX%rd>?KOAY7 z0OxzRY=@4)G?{9pfznZhLX2O__L3O^DoY)w#OHgu41JihZT=X;VqdM)lfZdpG2hlptxkKnSNA zezz+&UkU&9V;v9^Yo$#OfWFq&q5ocpLwEhPgBE3ul#AC$+$7-8C2cr}skN3M*3GBB z?+$^&m*l9Afrs7AQ(#f-T}+lRBjC#YL$^a(+iAf+G77+FFEeKMJM&L({b0g%HMdjZ&=-x(kgtTgZ8|w(pLgxM9h9a zd%Mx7+D}R?Uay@Ad~UScPi(u*2~g%9j05Fp={U*38gf1cTx;`VIdz1&GXSj>S;x}n z_yZ&3=h?Isn~P#lMdUaRuxTn#6<96)!ZThXA6-8}gn7CciUV30DJv63j}^tZUx*tV zyPrnd-$u0bzXOHRHqE#{3HX6~<^I?OHJf2Ti6p`!v>&%zl10000< KMNUMnLSTZxCAjhc literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/ludicolo_still_front_pic.png b/graphics/pokemon/front_pics/ludicolo_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..df8e0091b332f8b77c749c23ccd41df7d5c81422 GIT binary patch literal 1040 zcmV+r1n>KaP)F43Q7e^xlZeiS&*va5^ze17>0dK~q` zmf88aTztQ=YT5oOLF-apT|EG7wXH7+aC`zz*5$<_z{HEG@W^CPIbDOL%w(ZZP%UGMS)ujMQ%d)SR0&Tneoq0+F(0bM>cf7(O0Du($TDZ2H zTUXrLjcmfp89;hiy+4dyyBD|vw2_%OO10rQPqm%KBA|$k$|=ANGgCv$@Y8u(3H73h zn1Hp;KfPz2=4n$LININNAd&BWW9-v=_$Y*Sso(;YTDbG>*P|VRcK97(0x|#a_i?1H z#62POalW}#*1n=*m+~lz#&18cZxOjT$VqMutoUuKw2M&`{XQXmN&p|4?!6!&-i<~R zWkTr**f(?Svvw)Q$q{WrUPujaqheONt{2nlWJCl>tO4TyFS;%~57JZta`F(+*@Wk5 zrY$Hz?D2%}87{bWSi=m@Mzq6Z)W@tBO2bQXK>;ZqD-R~4G{`PxXzXEk>Hr=&c|1`- zl4U3po+PjD0H~`ZBSxejMRAZ~nD8*{-J7H`(^vuHzVcDYeSc0h@XxUV&c?J? z?Q6~*M&TFx$8K9|nl@eu5g<1m+d{yF`J+p458mxtkt%%SA!~1T>0390Upo zW1z@TQ0uq(z zUkDIyJkI+C093D2K6-;Ud@vYH=K&jB`ZVcXamo)5hX57c-!%ZrH%y@^gc!od!9LZ; zvm#*S(5g;pa17~dsOsn0Aury1)aZ8pS?O9z?+J0pUt9C?)@M1BC!VXXT2wVAsO8pMz5RZ!S+z*6JQ`1?Q3p#iNn7L7Xq0000< KMNUMnLSTX;UGXmf literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/lugia_still_front_pic.png b/graphics/pokemon/front_pics/lugia_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..44f6ce2785b17d77f5b1d860fab764a305908f74 GIT binary patch literal 1030 zcmV+h1o``kP)w5D*X$#_CKZ00001 zbW%=J06^y0W&i*Kgh@m}R7i<^l)ZA(KoG|@gVZXlY^RjRYq?DZ%dQnU=YmSIiDszq zP~{B}Z-7%LO-c%y@CdvEZ$Ln^-5YUc%@MZ8G$79_S(2OQnEb%xnVSzfZ=|M_74QSC4P(k*#?V90N09Eoq zKprUIP}QLy>fxinlzv8`Pk?z<2XqOHokf8(edrfkmnbbvew00gDHx76H1-?0}r542-yOY3xWKtL$=d!9cSE7|3vP?u|_M zZBW$<%}WMGDn^zd0J9M!3b4W?A=hM=A()zMODsBeS^;|r35;2bL*VK#Kmrv2`y?Rk zG6YIlHojvgMFn74*<}^XubH|TdzU%DGnePtxFefDU4$f+-RCTl9G(v&c6ZxZ3vf{+ zu=kaIhj7@Z`72s*+(D@hW${z`eRG*YW1@g5Si&7FAA<^5P!dCcMjsmJ(|&jLSeO!M zB}v+hUI6sLqT@Xrt{;<~YXed^NJ$qJa5C5ebiN@+D8y?8oDR1H z44k4Ug_tSe#0|E9om(LSZB`a9&)I&u?SYcH4R~!P#QFL8>0n!c3AJZdmcQM>_?|#* zOncGnDSL#Dc*<^IPdpGn4G=}}lmG==miN~F12}(Sx@2zT@c;k-07*qoM6N<$f))kU AIRF3v literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/lunatone_still_front_pic.png b/graphics/pokemon/front_pics/lunatone_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..3458d32d5ba27b3f735a43bacfd7d318c65f8fe2 GIT binary patch literal 660 zcmV;F0&D$=P)Kl)r8hK@i4WT!eKE+BDQ&=LPWY$u05CVJQs=-{JH) zu90kO1x*?vUzalOKtV#nMf@NLUI2+V;6gzGiNrB8mw<9RM@N^@b>DBl`LnavYTd^F zhyXAiH0#jQy4SPrdBgF6)?Ex^`XYgP*Yq%qF++g}VvUL+1B|{83|Kd8fZZ#}sZb>YTBlVC_$B}W0TJvU5z_>iXg|-1klF|`Y_fk`u5!#H zRhjH&u{}I1Hmf5MnD44iHvUx<#gAM9=1S>p<<7o-EZ$=d4*}2XM2-Qve1O=?`h)YBiqj0K^>?RSSztU9U0Rfxj`KueQ{oxmJ?{ zI-bH|t;M(I&+#;omOgxDuYm+`7XI6PXDWh^OLGptQxbglG)nO%@6M30mCc^?s)(>L uS~TfMT+Hb2Gu$-jj5znQY?N=~AMqPMZr?Ix&CX*00000d*b^BU?e8!R>zhDN3XE)M-oMWCYjv*eM zZzt;V9dZz8Ew64|#36Qh&3cXND>Qh!6lSo6Ud(yU(d}N~8>0J$|C_JyhTm`Me%?FN z7i77A$&LIc<&UE#8uYz&6}mGsl4(!F&kpNF4lGR#>30%^43ZlDv;67V%ww^Sw~m`5 z<9Pq_Ez3L^_69iDJ_tTPZNkDuv)*2buxT>?aOKQ}1!XUlAM&h{2xF-2J-$SYX-b1J zQ^?hJwnN8n1zn%Wb0ooGJ!2}*$$fKHKIxj#HCu>0zOT*PQ^|2 zdQ+P5)@=Px@()mnrc z&#dhpkMoguJlzg!P}P3>VVmYB`=er=HqaegeQne!uu8WJp*mmD2QpN+3Be2@^)h@t}wf&!}IV*GxVT+J?j=4FcN z+6a{;0NgGJX32D%ydA%p@Nywhw}3S^2UrFSyd5W-OQ_9MXwVoRA(t=C^-iM zz8G9DUd6A!$3G;FBD7tg){+IVTs3YN@lzbfQ+JpAs)g`?l&aN%RTbjt?kRS^e7sI9 zr;vthpuLuyLmH9Z|M=nieE#w8DS|9Xub_7Bv6IrcIs^0i_xXH&n{Y%~p*dPTB(R{h zCkpTz1!$FQRXi|!zl+#Wo3<6QRq^O^YAh2sahy0Gfcu2UGe9`k?kgcwXQ+0Jxbd|R z60H}>(6s0SApvqL=(EX~H5mc@A|qC&VW1EcL6WPW=ocAjP^Iwz`9fk|6;k&Bx>uo0 zRSPn^sxdEUf`%{NQ)Jj&K9cB`FR&g%kG^tkPmcj2WhzvOZLIDE`o@h zxSuxzM;}(@9*ESlfW;%A)%ku{9`udmGbN0uFns8Kl;^-`MepH|!w%mik5#%8>7hz` zLSG+-K(QpLmtE;$CRXCh5QrQc_F0m0`0v2O9X%A0=wMEPAsn1r?*AMA0yXqt)z}K` QEdT%j07*qoM6N<$f-bD@9RL6T literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/machoke_still_front_pic.png b/graphics/pokemon/front_pics/machoke_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..a42831e68553333c6388b4adb680cc44085a02dc GIT binary patch literal 796 zcmV+%1LOROP)Kls#|LKp4lpbgV5lx-c}VROTon6U_=Jq+1amql{NHs`wliwNsTye$H7V#gE;Ap=!=AON9_VKRo9M6#LwM0K^TBmHXZQdHbIo=l|MX zyYcOl`?#8hPZ7I9Ox41?9lz@YRzg513uoteG&t@S2tn$?84Y@a{SFOROhI9FyVD!= zM!gQ81b_wVWT*GOH|h^;0p15BWMI_q1ZDs!R#>PJC-DlcdR-qDGP$KJFu(_l+ko;x zQk98NFmQmFw1GSD5z9bauWxQnPC~@I8N{8>0P%+}7HcsLuI?Fbw%vu9#KctkLWqFA zF#zE<;DImkZW4jo6Jl}s3=N$%lSH#X2_6YZ?ifGwEkNT2D1+4%cPvj65K}C+VsPGs zad2%qD)Wm}2SUj0Vu>6luL4mKQFU>Ndes6pIzp6tpH82D)(J)&VmroP;O_MFi;gv# zRJ(xdkjPApfyf4&wGhNd2{GayX#*wuinFZuA&Tsod8SBh^v#PrvwdNlr|MnvT-q@_ zCd%4=i2{FqW&zGyPC=Rd3cv>oh>PLt@B44KnPUcKFlkv2Mffm0oSYB)<8e{K%%3;Q zFxNADIDC12&>w#^f&6(h%e65>{PTQ&*eB9o!Pu+;{4#({j*d7{T4J4RqeQmAlt)BW zPCCUUGTadG*hG8?vn72Vu@taSVTSz4jnBf9AGsYjvIb aN7irlFH-xO%d3U}0000#KW;L2u00001 zbW%=J06^y0W&i*If=NU{R7i>Kls!(vKoEu9P})`wK#;7|6iD2F)ImY+atSVg#6`FP zCzvH2m1mcdf{aZ= z0B@H^Bx)o#02>GN0#UNW=K7F&eDDMBaHkNdM8szS0Cs^Ie)~02-8ERXTTp2H8ap($ zB?kyYBm)suL#?zQNE%};wL^m|@=n>HLDyo7+80>dp>EVC!5uunlhP&csfi5w5{&^& z1)y45u~~jV)%=*&0iHlp0B}~e)LZRMyoP1Lfa$8pTA$ThtZMd9K2Qm-$K^WsD|LY8 zE&VP!fY{>|$tTX*?NpE?z}ntj!{M_>M{sKjTSFX+z>g#q&;2Wtj~Zj zL=4}6q>*yWHcAQ*TUcuuE0hTQ^a=bzT=mxOLf`lGSM>qKAuyO7sy9*q0000F(Cf{|NsBA_SHGntN^To0RI60{{a8R#l>@Tdk_#1F{)ql00001 zbW%=J06^y0W&i*Icu7P-R7i>KlfQ1lFc8K)#A^^z84FVK1kE`^rwDSEx=_<%t72&$ zBRl}8*;_<;u+C7a9a}Px71z+!$J|QXdOzQHe?BvIj{g~fsmJsM5|Otp|!<51uFDtxXREcRQs2ULDj zZJ3pr)zVtp*$oK96TW6+v3$Y9rYLKVuS<7xIpUc=AHcGlI!iQ~0C>7A%V!5rACRX{ z<#Yzv7~)_YCsnmTYzk@$Ehnp$Rt0r&#lTs%EX>`%<3O5{y}$L9v%esL w?f$Z6;e}X}8q7MK?!HF@N2oi_@% literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/magcargo_still_front_pic.png b/graphics/pokemon/front_pics/magcargo_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b2e3679cd2cb8fcf6171ecbd9a839edc6ea5325a GIT binary patch literal 708 zcmV;#0z3VQP)bN}v~|J8H<#Q>ygTCA+BgM))&Vq!r-K@boSnx7>T00001 zbW%=J06^y0W&i*JLPK(=l(;KokIAOV}fS!io3+y(R zrQ#1TG<$=TAHcv5V2T1vOpch!=Gbf?6gLc!Kq91->MX_A<1X2JZaOek;v`S+ySw+^ zJzLhzUHAVL*u86keGPaGn?dW|W?;9;<|JBe@6{u7TVPp1cst9o&+RsV2|Rk{0Q`xf z=%YtHG!N(!rHn5P;CI{_?NbQnqeWa4Svd)tx(WaQ zixZfOVtggQ%h@oI!|_=Ocn#Mj8h|*7r|`f4erKyjbR5ELK3&Y-nt%`jySN6w7Z1y2 z*qji`&KY2MTudkFURnYUstlIF4i7Hgh|@_rKP~qmP!)3A0d@>ROw!l@eju0NQ_iFu z%b^LJ#x`=iTW8O*lO!FaiIKw{nseN$GnP$L2_iKBfpZK9F#N{isT66s4;F_dAslj4 zuaS!4*Z_`Hg`lb>6fzdY`*M8MtWf3v`&pqDs{&3M&_Pf@Z+{LP5W`a3R_D7e z1&;zzK&{dl>MhW%Bj`L)-@?n6Na(oqz+V^Apxpfbr5bCp?!;=i%`$XQe^Q5KMI%&o qDAmtt1+ub{N~mqY6|w*8Cak~6$sUwmpyc!b0000Kl(BEqKorIg2~$svuC!98Rx$02ARQPB3cC}yq@{I= zD&^b-sY~ikGz(7u0ftVUx@2Kufq|*pg-n(hdNvH++GjvSEfMx{u0Xe{y?}cs z{r)BXc{E=*VLcazPIPvBiI0_0IOm`6yd!JKT;X`EgAoHWb3EjshtN71>mW#6VU8Pa z=pe;gOd1qOIXE!*7d+25BJS!1XFBmU>xtFD_m|wmq1%ALh6pRgNOB(@m2B~5XuL4p zfK;_2#<-j`d4I}2>OL`eZSPyTTrSh@Xe*-!z7^G+k8d3 z26w1a)k+vYm>M|>Wp;DeJ>nc}C#V)nxUw*^(bs367KjnLP;W#*1(&KbBY;9W^0YjV z07O2X)3wdR>(MANK6G^})ceUk|5(NOb*b@MOe@h$xFO_XX z;G*?h?ltijQUG-eA=0rr0J`F9OJjM2ni8_CIuN7;DK35kyYhjeuPIk!qAjO`X|(spdwPXS`5O|?n&Uvye1I?`|C jj@h_M`wHNH{I&QAx+WK);#yK500000NkvXXu0mjf3Rg^d literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/magmar_still_front_pic.png b/graphics/pokemon/front_pics/magmar_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..1414e4e048eb2f7e7a381a87206991471c8af29d GIT binary patch literal 921 zcmV;K17`e*P)+x(|4InWDM5<}0RI60c&vEN00001 zbW%=J06^y0W&i*K7fD1xR7i>4l)-BnK@`Rpve3j@p~PboN}6LEVv}P7+B`_K>fe$> zV5Q`cgW%J6Tu4S}$w7z_au1jW4?+Y-Ns~RLj+oR#q3iw)eY0_sb=Bt9LkC@k{eFJ$ zdpplnl>cl!)1K0I<#lT!Fs*GV(-}>hf6!?ACYLhO3j@cXo^tng~ zT1MF7O=C<6Ram{G5dC(Ve8QtTE0@v>3t)*h#>E(e89D)sM3$&VON=wvhkY%jL!W>? z8H~13f*4}9AVZ2G1kC2WN!9+?5z|pbWG4iaQ@Oa)M%C{h07{I>MUCE2nDiip-v!tN z8T4WVFUW(RHfId=yI%d!AU6qX%QA2yJ$x&U8s1tgGV3@k3I z`0GQ!(e}zJzzs51;BX)FBJZl<(^BiJkTA&LOWOoH!^MsZP&EYT^CmF;#Nss@sPDK+ zsF*dmoEb=f==AJ+t(F^LU%3s?^G=#(@*a59r((Tyv|R#xQn;0f_57RX{W%)rMou)bB~{%)sYh1nl<^LX0YG@ z{WiC{CUVR-kVRhI&L?Gs5*|L3_&}rl3;8KkDHP|g7Q1%i7YZ<}Hxhxz&*&mL(2 zQBr)Hm~|W!H9mWzeMYRK1XA)mi<^kL>oF}D5+Ed}$%#nA0iAop1rk-`B)l&|{&#e@vbT v%^I-oO#yB=81~AZ$cum173B$of4%+yvcbb^-Z@N=00000NkvXXu0mjfDm$z| literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/magnemite_still_front_pic.png b/graphics/pokemon/front_pics/magnemite_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..4f1b8a04f30198ab0393c84757810348a0c8a20c GIT binary patch literal 390 zcmV;10eSw3P)Kkg-YwK@f(wy(^UU0Tiw=X>9DQt?UJ#K=2V#S=bCI zJdqTcppZt%4apO%PoNW1D~?Aj)jLv(&AJ4vZgLM0?rZ;V|Ct?Q8XDG}h_32|Yv|Mq zqup-3@JYkkymY_$LXRRMG8@jx+e{bYeE|Bh?txjahz}7iopsEdFWV{*^}A25{N`!? z18}VEIvVq{-JZ%TBA!-+0TGOOZfzlmVMOJicP9W7p6_fGk`1&a@6Qk?@{uG#=#z4; zIMl}Sp6p2&0T&1ASMgTLLgX>S-jS9^t+s^sH^b1DX~JgeMP6EMwS6gcQqQy0uM~`5 k81K*1)xy8k(6HY80eV_^&HS=w(EtDd07*qoM6N<$f~@JXa{vGU literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/magneton_still_front_pic.png b/graphics/pokemon/front_pics/magneton_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..2589acbb4b5353e62ae82b515cabaee65648c33f GIT binary patch literal 707 zcmV;!0zCbRP)KlfQ4;KorNlas$X&QCr0mjg)4fOFJ{MQ&s%~klMeX zUFm>f0imSgSy64N1>p-+VyxW1AbJjSBCd#xNkDF=5)obBL8-uY+qDC4IRAK`_v`L^ znzpt7(Ad9#4-PE}?*0j8kMp!P%yOL`EhnbH$0q&l7_Vt%#TOBv2ns=qv0f*(DhEqT_0oJwWA>M+ebq*tKy1>EerwKR( zP(>nR0KiE<{Y3$m3(+|#h1K<@Q$*ncL=%v4j%T|&H@@Hymq1m)OI?2?#08J{Yiu}v zpx+l_6z?WLjP<_)T5nmR9`C*44!qypnOME}4rsp9%){yQJhOMjqi#rgpN|LS88uLr zVkjf+Wlp?CW$>mpM_R44e`9j_WsgWF_KivQ< zPNq(Yo3_SgCKs2+WF2TdH_a-Y(na94Hw}*)CF?o6Cc(CBQTbs}kC(T)XHfJTHUA pH7Yt<$k;+jOIVE-_HS)#KLM^YPXlS}=H37R002ovPDHLkV1f$RMRouH literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/makuhita_still_front_pic.png b/graphics/pokemon/front_pics/makuhita_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..76a11c069c5b1264b331d3f41235fee6751659ea GIT binary patch literal 637 zcmV-@0)qXCP)s zoTP(;lv-MIF*#cQ)l%-gG0mJ(|5{4TQbC+jK>z>%|K@vpS~&m!0RR90gpkl900001 zbW%=J06^y0W&i*I`$Kld*2pKoEwfK%%mxP4WWqQ6qF4LB$Eh7KkErV>h@8 z9_tF9kZ^WIk?SJy1czvN8@ekfIJ;V8bW&2`XJFQsBCPlN6#0w0Vm|%z&v*ymLHAGc z89<;v?ybk-@D&7@?IRuuA&wv@Fayxq1DrB&2%s=G8gc0d4mxP)0yl_@F)%$AV$wlS z6!uxG>RkxhAJXYhcJqzoPjQ~hT7%WfPp8me5c;8e^h4SsY5WGoFpx-*K174 z6A^-QDPQ6MAd$x+pmVvwoLivZB1nlhU{_!Pj|Br2?ts(~{Ty2;s=grRw$2Wo9t~CH zl?5seNtG9%t4(gZFyIOCm@d_7W1FP(`KvFb*6qsX#JpV1)fj+Qza?rBvt~~8-Lvji zCyMCOD6)VjW~1vfW%JQo&9A8#t)ih1iP;g~`sbA9Zb9yb=KcL1gfz7iK8 z+oMk2*gvYpa3%jup$1|QmD^)+;5dYuXTN=LrQS}Xi96?w*25Y}v$oQn5jYliRC@sU zdk0v?a@M)PK>Y4o{xx0LkLyervxKlWM*FJ#EKBybaa+&%539&=IDEgoRlm3LpnIWz XHDCE!!A-+M00000NkvXXu0mjf%daHz literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/manectric_still_front_pic.png b/graphics/pokemon/front_pics/manectric_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..d4142301c0b371ddcccd1b7f09c6f2b680756068 GIT binary patch literal 685 zcmV;e0#f~nP)&Vd|4QEGYP7{_i+e$=AQ0|SY5)KL00030|Nq6s<`@_l8?Qh100001 zbW%=J06^y0W&i*JD@jB_R7i=<)WL4rKo9`XbuR49F-9eqD#GNR!nlfhLasN6Ta`-d z`WB&zF*k%NaBetKO?s>P1O2CdKvbz;V3C%qJ4ymMfiZ#dqu^Um z+60|~sC z&I%yeeE1eExP5?}7u@<1$fz zt#R1BZ8ziTZjS&*GD)}`Gmb-W+`%K@4&-&n<%B(1q6Fa;j)C2M=*aNW3WnAwz}LR( z7lD~x6A)ITF9U41PQ*g&5cxG0tCcch;=ts-UEPl8o(vBPry~6_c+hEnr~rsUEu?CG{88g zi?DKRoALmM8qlYkymDF%7oZKVG+;2th2xyk4jt&}cJM#uS>4HOfO;D=Q`o9-y``RY zC)YG-tJVonhsU}+Gt}^_mO(Q*+F!l_{vlgAIe}AMp0S3=nCWD9Zbvi12KY35&TQ8! z`ERkme5LoL@!ZqrnVGAVCXOyjz&6%0*aIT%ZFx}1b~WGB!!S0@Rz+T2;$Os1))3MO TC4#dn00000NkvXXu0mjf$%!{- literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/mankey_still_front_pic.png b/graphics/pokemon/front_pics/mankey_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..47b9e9d933dabb5eb2caba6204782263403f90d7 GIT binary patch literal 646 zcmV;10(t$3P)KlD}>fK@i5bTM3FS-2jh3!z+Xbpopkb(Qc|$E;(PD zJb_sk37yFr2wkM)0g%w0Qbt0|S*fn^jSY!pVO_k;-Wkx1tV1xOb~HK026a_G+5 zfG}pBcp-ER`01`YYu6w|G*GEmoo|n|@Trz&S2JKfkng}h+J=c5ztY$Gpsu1~Hvs34GYMX@+zXJ(lTI%uK>7 zi0OuPwaVO2^%5$rC z&D^=>f+POqo48~fz5F^~M;No*mB)QIJYUzwFYVY#D3jhEB literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/mantine_still_front_pic.png b/graphics/pokemon/front_pics/mantine_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b8a292d83d425828a6b6c03e2be1b9e1fe00b98d GIT binary patch literal 983 zcmV;|11S87P)zAnQ>=0I>|Cd3`LJp}f)8WGP?3Jqe>s`b#L~Rot~6spUkIMqbmq z5~xs4G>J3-&SOBI&s9ysVVM=Z++>MCRJHE>E4X}PF{%F;VG&5Rwiei2Vw5N>B2ysE zuWWWJAu)x=P_-&$N&qOUv&#t}gC{Y@)0dh~NN#Ap7UYnt-5i%3;AeyU9l8#I(XKyJ z5Vx!q0N#=2)>;6_uM0u@2qNo_LoB{+M-Qio1aEN>CQtv7!%&e&Xsz54zeAn}V207zE(1ih0I_C?a zK?%&}IUI6Ash0`6*Ze76KnY)LI{@4V>h*>M5=@2*pue^2N`blPYdh$2)_ryOA4jtM=BuLEPFwjE?}j=Tn;C;huH z4jtBmChiD{)EEFG!?*j8fcpeSJpynO>p}qHNkHZ%3IQHZ0_gd6*G4#Q5_px(Mg&~i z=>w#X%C@MGJPybgO4d&x07^SCqn==G1Qfy+IB;XNBG*fK9p7d{5BwV0&1N(X^PJr7 z0TgDLuC=1^w~fR1cKtyBqRG?cFb=x}KM3;u$UAZ!;S#Sfl@kEZ?*qg=a_^mPTuMFj zzhsC92Dy~^b7G>yl;VGvbiRwiVoKW#PEcD~$@v17W$kq(DDAyG0w@(6XJ;pra6Lbs zI%#uYMrrX3js~&OhCrP5h_=1i1hJ002ovPDHLk FV1o9$x#a)= literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/mareep_still_front_pic.png b/graphics/pokemon/front_pics/mareep_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..7f052faeaab7cd92af9a4ae1d01455d23ddd3018 GIT binary patch literal 571 zcmV-B0>u4^P)S<{*^407{eqAZq{K0OqU!w0i)gq@+?(QVK(mPAUKo9`nE$+aem|hEEVqqs_lKSM_R2Juh)al|s zaARd5KDsnMe}K(d307xmE7%MA11$8ohYvUyXLFw7?&%-!1_D{;%gkgFAx7~(qZGy8 zhsy;URKZJ1l8XEBsWU5I1^{dUCi-wO-B>okDg&91jEK z+ZOntM?HU5*C^G^86KZo0O9;oBhih7i0EhDy?bZ_ROavN4-5ky@Yw)8dh@+nPFKVL zH89?yN4q=pn$r#W40ynEV@UUQBTdyNb+7e0x;79iFKIfH(HioQxV9{oOyDx0tcSV) zE=H4Nf-&79Yx{bih+$#@N2Tj(>skXYQ8}|fbx$dk>kb8|UmE!m94qed1*D8rmm zhd2Q3j`b1%)Wu=~9x_0)fCk>@^IQOJAX@#We+OIwiY4eu7(^B*>s)_J9MYVz0O6oM z2GaUvh2s~%3;0U}(jGw^9bm;j^|8iFkg?stS>H^W@9B2f#+sDT5THn_ypvEz%Ea#A z>c7~@h?CtoCL0VCQC?iXhLh#O+5ZEGV@{s@1>9!;8pSAv#Rtuvv!rhmSor_|002ov JPDHLkV1fkz{yP8w literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/marill_still_front_pic.png b/graphics/pokemon/front_pics/marill_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..91cdf233f73a2413679e13a5713dff604d4ba0a7 GIT binary patch literal 563 zcmV-30?hr1P)Kld(?2Fc5}4G*X+PQY*nuB-EWpKy(ihR!cV)M`BN} z&A?U&ox0GJ4v2v?tq0x*q-0~M6h8y!I0E7%F97_5Ps;!K{3^;1eop!0-zbt^nG8SfdpOv*gpbriLv$l(u<(;DsYhi8Sx#}6Qq^M zCGs$x+Ku82X0|tzw^mmFr{9wKFlJ6hJjhSQ4om5B=8YDvPf5TJMhL-#QwmuFY>S1pvn(g|}Jia4&^jcTo5Bym>vbK`T& zLrN*Kl)rD zG3uY=R_Y&Msp(uXWXkqXwoE*erJmry#E`_M?}w>ugPOT&Z$Q5H{pjv{=Vuh0?^fMwb}ebnLVg>5i;6}+TRTns%3}Y<*|SeER77H`fdZHXd6&MQK_HVzIf1 zOrJ)6lmb+CQ~LaqiNm4TWk4Ng$Xg_U{3yY=&}_L(N>`Fg#^j&1Zr0ixH!B)4QsZ;V zF||E}DvjSddu!s{rR&YhWdA9(l%9mU&|?V{-T>HJx}u%yucZgg1arFpI~Ny($49fV jLr+D)*;U|w{EhJo-2GR9$>GDa00000NkvXXu0mjfP;O=F literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/marshtomp_still_front_pic.png b/graphics/pokemon/front_pics/marshtomp_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..92e043bbc0fcaeef32338ea90f9955710b338507 GIT binary patch literal 736 zcmV<60w4W}P)^m0fWa00001 zbW%=J06^y0W&i*JUP(kjR7i>4lreA9KorOQ1!Bwa2`~~iMn%UdAOQi~suR{f> zLzAVHkHX%Hu^@CIOoV~wve^rt(@x^yNs7bimj{KxbhRptG>52xzM7u`6ZjBe+E}Mpz>Y}>g*78`Na+x=g(Cm4D*2a$~OJIt{mF7z3=mv6KppRB%QZ) zUfZ*?dcgTJfxv05g(MWBUVD`3&N}DGGB6QX-yh$z?K_UUP6h%XzX^+g=FUUMx$nAe zEg>LpU>H*(2JTJG1SKrK6c&)h&rFX+(Eu%wXtarlH%bi1g6fnUHb^gi!-{}QCj+2F z&xkgjg6po8>qx|1ItK^Zt7gP3xyzq8YlZ%98%+Y{KLri&hB3x(0BdPlnF?2}69jw$ zEH$oH7mRRnC}SEBZ~#4&Jt>y}Db*i9W>o;>90=o-^rg?Mk1NqWHTfcrdrB2XDlSZ; z7V11kppZbbM@Hc%&iM`kS;i88+W?4b92252R%u}bSl$qU?%*(v@tTf`BcMM;fvO7- zriBEwm;qW-Ay7JGX4rjpbA^B^d0>-dc#+*qVNNb*sQKTlX0sHyEmaoqZ`W_?&D4O+ SMI8_T0000n;{rSw^00001 zbW%=J06^y0W&i*Jj7da6R7i=<)G=?FIkXKBkI5eLO7nIEUu{- z$kJ=elBqc=1}0K(jLyM`gb)i8m5{g2nV6f+A0P!4i2<2+_BlAQ6%SpwA+qoPyL<1> zQV98PhE@d*M-{*u-VoGS1<=@}3Y^>!cojfnjE%N|{WHc_$1ux4aJmBOlVVgPSqnV)D(5n8drd_IbBg=U(p;GUk;W1O7JeCIt zkNJ#JdA%OqgS?1N3bbe8x0$~J;wEv3bDCY5hvz!8kFGKO!8C4kE@Uk4=S6Y*vWpz+xY1fLN2Z&vpn|3Y9`2sCfzPZ1pX z(>x&cnCiX0WnFudBOkNmhb~EO=sm}=tUXGppANbX6w5(yA7{mCKiOcM-{8)Np3}D; z&`e;J=^D8G=R5WYF2=NHf*#i8yD99!3oyK~V(N#2Q~ zs1L1{0nlBRfSthr?+|oo#qp2Q3XtX|0B%zzM3ck-b60?JK?w9)3T|-)M!CQ$Hc{d$ z1q^6GNew4*n&LshxaSmwiU-L+8(VG`Kor>|1wEq-bnq%uU^&fBrt=`Oo3a_l#)~Tg znI{12MVmDsn@}C>763LuzF1-PX1jy!K&{#V``w=7zgPtz6%~r(FEc_Hl1DieEC2ui M07*qoM6N<$f)%x5YybcN literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/mawile_still_front_pic.png b/graphics/pokemon/front_pics/mawile_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..49f38de147ce807013b8d51d9d3ffa50ee670578 GIT binary patch literal 774 zcmV+h1Nr=kP)oJyQ~IRF3v#l^*>q@;s`gHlpbh5~ZP00001 zbW%=J06^y0W&i*Jgh@m}R7i>Kls|9NKp4hvO+8r2#Eit$p+by|q?4yq-uN8o5@1B? zIii9sIajK>HE{+kNQQDE_XSe%1+bCWswn5G5>ny7$NRcbbNS;8%st7|^YiomxyL5t z{`}7|=4!j1q?y>FyOT+xGF=Y*nM^K}GVvCJ0w}cr11Ol z7_q)l1X`*97<;E>wlZzeLI6OH06%u*%0`PJj+D9{PdN)@Gj`0fMdgq-*@>Fg5O}qF zb4uj$&TkkTs8HPl;Kk_XJ#m(6Ab>42z@hu*(}Okv3kz^B0XTs@dJ2KZT?FhNT-9Y< zDK+xcIfpS=NQh%s$kiphudIO2yI}DI_}^$gHaSAFtC6^fAVx5Vki3@^+Rq&VvPDT&~N8*L`>W~ zvjBM0seACxu=*Bu=Ag6`OZv)z_(PxDe$lIz_h-ZT2Qg$FJBON-+5i9m07*qoM6N<$ Ef+jOu4gdfE literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/medicham_still_front_pic.png b/graphics/pokemon/front_pics/medicham_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..1da67a1f2a10db859fa8ca217e1ea70f125edef2 GIT binary patch literal 711 zcmV;&0yzDNP)Qc3^-0Hlj*q@<*SgMBs;_R^Y`wa z&tC}n?`4HI0FRnC7Kdhjr+VN4 zrSyKDa_u5o5^xHx1HfNHhYQZH)H-c!yrw6coW~QDZqa%V0m%A-sd`w@o_UnI;5GY9 zIf*C~TN_6J`%Y7BK}ZsGJ^*yV>Fa=10Pr97Ak<7dSq)%wZx%*Gs5g4+^Q8E)ml0x5 zvqg#H-DWKQdPhE-FV50VSc<>m@@^c5#O8|zIcMkB2sXB2spU(rQ!vKL@dgk{Jzd^2OET@%#^#-p-j2+xQd8!9qu(QFZNZVs&a2P*- z6M(NHT04jQH~`1d#8icLMn6AF-Eq_wE!r6U3Oodq78OeCqul^?XI*VTX=l6apzeV{ z9f5m8B~X<*t>GSy2Sb@?P)$lzV&sgKFklIkZ7Bv^iRHDM0`L0L9+_i@o+@l+8+WtV&vQquN*X00001 zbW%=J06^y0W&i*IyGcYrR7i>Kle#hJu za|Hk^fEq?#C17GyX+e;Qsw`Af0CrUzBZS~US^yFT2tblVMPGmkk|Z^>%zyz~dR zJrglX3kF{u+sw@~Ai!Gp6L6WQg?V8r3 z4{?}#%LZtnLr+<>qcI2Gr?Y%8li!XK>US6vTFi7AM!jB>$$?>bYizA|7<-fe+VI{W z8=_GOplE#qVKyl=@GaHgk6XH402adX*Du7cb(Mj*cohZw>zDNjqkyOoi2>}-00000 LNkvXXu0mjfC9v{b literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/meganium_still_front_pic.png b/graphics/pokemon/front_pics/meganium_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..5ecee528700e96b3309b2df64d1910d883a4e666 GIT binary patch literal 1117 zcmV-j1fu(iP)~Am*$9qs{`600001 zbW%=J06^y0W&i*K+et)0R7i<^mA#7_M;M2UG4!;l0y@~M$}7dNXS;Hxxh4g}_; z;c%hDQ9xzPRbXdT!qM#XJZ0EyegA%*Jz$`PPXyF!RHi3lwecSs$9{hSb7_}17E!gam;Y94+BfPT720Z&Tj_Z6arE{rd}F;48et}DGY8^x$Zbu$!r2m7l6#7eGBi;L=1v%l-@i=O1S&q2{DHp$Q<*gFre{kL1(}07uF5)y(%1 z5Ds}a2Qqk2<&A_pIPZbNP`d6_$}_f2`M#Xk2@ubGSy0mRM1EnT8VGk{Gh-uGK~M;! zbiJ#RWOx&Sasteh^6~)4&Qi@X-viKK6;n{9oGB(_CE-)?vZ7PqH5nrC!d#uVVO{;U zqmnpwloJLI(tOwFc8=`I8A*Wh^jLMl2UGM+X%5`sTB@T2s3`@xk|xSMngRlh9vL6( z#uNgTo&$;GB|8nJn+wCCNqU7f)o};{e8h|N3b^|-A%_OASqrjAPk>Oo9#8oC7Kc1JjFV6IA^a2VH3ZHc5dyAmGPp z_67(IAQlS&o&p`5mq01?Mr+mU#VJrrqwK)Mb$tKzP^qEn`LE7#I2wx}Kmm4wzyYA| z%LgdnA;1<2xaT`l<@SX%)73d$22>6=J#u#V-7iGod`f4408cYbasqNwz{`Dz7=7dj zq)~)nACUYRYEOwU6VBNZ0QCmst#R&!>bg)0<0Ios|DAW=0buSbLh{=9xQNqq@NNzP zXYf=V4~z%v0PRCbpx0QH8wWOl-M(X5$s8r0RlwdQB!tV9n$yMxKv_TJjcUcTE<-cb z<|<%^O}JJ!0LM5sfa*wd{t=oNnk~ByWDHgNL&7=VTb5hk>IS>#K=H}+^oH5ON5R^dx|NpfA=7Z+6L7Zv;;Febn00001 zbW%=J06^y0W&i*I`$Klrd}EFcil%6f_)I+>}lYq#vOlARRonQ*P{*>zXbR z7aE6tfpjcB=p1@kx|O>u-Lfdw)|;NyLcvfZ*%t!7LAEL%Sz=qawnN?^1plA@PkQem zgdXF6jNoUp=39X8&2sINF%9@ufKtj)*Z`DzfhT(}gKM`r>IKGBhGA$jFK{q6w|o1h zJRbK0_+Vu2!qcCz_Db%!&d-5MwAq7HQ)t`7~?O@4ZxV1PBF0I zh2e&2CMw7c@8-Zp$n`m6Z2b|SM|VV(d{|4ycb`_G_l_t?hVKmHJHtx#10-#LWM`mhL_S2MngOj*V5R1^}(VrI^Rl%eJnSfF=Y8geLLy;-Ox%G6HM0wKah4 z0s(VFqE;2as#;R8llbx>fGHvcafcxl1)^y=yJ)3ANal!G1)_9&is(rjAk1C9uC>;i zi5$$nwhbIWbmD-fPG~-D*Fj2=*Ey5Cf~7NvJ6AACr1krR-3SMe>QASTq{MY*c#;Sx z@oAd1_03z44Cf-VXSL4z8;UAs%hNRS>L_TMvDBGQM?|?&W~EnmJ+s>HkD8um^h|q! z!4>EXVYT!D^Z2u~$IzX&dxP10BTeE@{QzDpHlsZG;00000NkvXXu0mjf3=Jw8 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/metagross_still_front_pic.png b/graphics/pokemon/front_pics/metagross_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..6349fe912f7bef381d69ecddadfab7066018814a GIT binary patch literal 911 zcmV;A191F_P) z&CRT=tdxtCb82(m-rj>sO8;tV)k;!>&Hu&T|5~K~N`uuoVze^on~2X00001 zbW%=J06^y0W&i*K4M{{nR7i>Kl(BBxNDzj%aBC43kO%Nuxb9-abZX(?To=Sh0F`+i zzr%*nJ%9kW2M9yPwV+w@kWL|&bR0K^$X&)tVZ$OfLq}E|+e&{yrdr_tIP>q!EE)S9 z|I26{FAnBm-6^sKsO-bKS^$nJ9wMq#my2Vqi}J3l9Hp0l)!MZ55BmDRDznV%5K)No zM<7e9Yzb&8B93kY9|l>bRms+sQvZ>iTI=y`pnh{08C_(>hrwWQXcc8JWB+>%=S&=; zt<9A`Xd=@_8=Js)pq>aH=hlLUq$^@|g*ikwdMgzoiIOlH4q+q;L^!f2=di3%q{72U zg?Qzm5J57ABdoId(nL!YqK~%9u}X$R4}vjNNH*h}8dZ8G{K#esKmO@?0KSryBBK(r zn+lg?!BHyZJO%)i?QNyBL50^fXb2Mzj~%N{_~xq^e0<;Lm8x})Xubhv)W^~q`;7BP zuMu&x-7y5r5%VTRofa6Q&GeOe_N3QS_kd527joxVWhP?zP*0T-2!QDnS|2Jsf@3 z2MD6MjN#vd%hL_cpC6!1ZvmGCkbwWT&DW-uCQ=f*xoIQ7!mR8N&uA|H8y8_aJHg^gW zFD8Im;_lX@r^YQE!*XaQOPyMW_@6P#W^S`Cv(}c3UQo$$q(yB24HLRV*o?)w{g_%g z0ij{75aK=o8M_-Z@;fV8jKMHKnc%(meBM2G377^kNJTF10Zw_|b?6d9Aq4H&ePH3K z0eoDzd?;GqfN;f+i?Ow0L_qp!RRXr=(!ap$xvPPW z&CRT=tdxtCb82(m-rj>sO8;tV)k;!>&Hw-Z|5~K~N`uuoVze^RRe)=00001 zbW%=J06^y0W&i*K0ZBwbR7i>Kl)rD&KorLf%9>aSbOWTG!W#aCG)guoYDNDC7R189 zpTI=tQz-uglXVU-upmD>BI;7b?@}ZfP<-c5Re;pm$8%!0F$oNeh$mU{<@?F|?X#@^ z_ICzvEr37h9)AH2f4g4nwk^eZpF8~J@jAUyzrO8olKY$oYlupR-JJHh$b4{bxC(65 z?@8g1PJj#UYz63S-ta|V2nykXx5h=M31jUD;RzuC+`)>AN(iwz69dv+0MDPCcDp5@ z>O%bRxi^^WWZ|%0Z~p@5eFLHJO)>}Igq47)fZ)lsyCHmg_V^sYhZVqa;nT*oyTK2$ ze-3^KaM~>8Fs1U|ZSGtjemDDxANt_e%RrSnB-lnh{`T~dj3|c>za&{Z;*RKSHV|=4 zjR2pqQVz9Q((m_2j7`P7Q$xkra)_#$rSBc_inZKK7m!TKMT{r2L{gXKlzQz7H^#}y zawFBi7>yGY<7^n9;{^5Tascs0r!l60NZBFE38i{$Sr-Evi&UrDqyP#fY099&iDkbj zDj)|sHI^Mg6cQlO7=@T#08s|S=IB~>nxy6|I{eW%p%H+bD)Nv zk~&@-Y-32aH1DU;c(@FdR;mDyoUpN<{2r)NJ&7zs*yH9f_ zAh-l-ng&LIfCVt-2U;xwc*I}Q{vo)*;s@_QZnO{zph`RMyv~*uCixt2w81befK+uu zPein|u*k7Gz|kH7c@?&zk2Dmo2~c^CJ|6Bh5p$q+xL0o>xd0{en7)?1ZCwD#Xm7Vg zTN!2JT$pU=&zj}_EY;g#Eeu6);nVusXvq<~lc#{ahNe-w0bbO7rP0DmKz`KO%0N&A zu&k>T6N?qMw{D@9ih#@6RCeznHrn}NhiTorg|K|Xu=~dB7Qil3@^(YP@^E`3J}BNB zOdam9s038#X%_(7raD-(<{DhsRx?3rM6h}b=GJM~l5SJQztgjD_Bq7Abuc&E{89cV Z?I(DGGSP#3!4Cic002ovPDHLkV1n_Bt91YX literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/metapod_still_front_pic.png b/graphics/pokemon/front_pics/metapod_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..5069c72026eeca76a59bf4db0c0adf552429d778 GIT binary patch literal 406 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Qv)d@BiXCSG|hY z7zQP2{%80PM@Nqy6%Y^rDu9D&k1t&Z>SZhm@(X5gcy=QV$QJQ*aSZY3d^<_8xWz!A zHN4@K{fd@dyKcM8-Kp8#wNq%(r{Alxtbz^B&VPOTq2Gi9H^V-pF{Rv_zJ0d9BIovh zZj;Wweq9x3I(_T=^OgzWbq0FuKjuY#b(wdZDI;I->TT`TzFZxKzV7>TnAzv;+qBMK zS38iOcfREOO>C>Y*&8m~Jh)n&HhpWrejarOr3#7sn>*ID?)vyvc0#_f=fy)0rnmI* zGE6_lWH2j1KvA#bv_GTimQudO9Tq*A(i?KFUYQuK(8aL9)+NJBtLBegh{tBV_EQX1 zOdsae5H&!zsnFaX~q-B207QwQ*PXNylCgsxFz?$ pc5bjc!fqGnmAU-iLg)W(`+2>i-v*d87Xt%}!PC{xWt~$(69D=jyiEWA literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/mew_still_front_pic.png b/graphics/pokemon/front_pics/mew_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..a2b2dd5736f0507ffb256370458720d370101bac GIT binary patch literal 577 zcmV-H0>1r;P)ZFTIVmYAVCv4300001 zbW%=J06^y0W&i*Izez+vR7i>Kl)Y}kFc8P{0@$t8xi8VqeNUtccB6`&Gh}XaNtlcH zSZPeiN)yFB$57#5(z$AHBHSDyZ7gslz$#xfp6$@@U%rXa-26EB1N0_Bh-Lx@Z-jgSLI9YT zw?1G;PGdJFNna5kBY;T+@MIpURM%~wLIPfn0ILvnONA4lGXT3MOxG99Qc-w!4nv==h-Qzsl;w8?JaZ)&&K?Mm7BD-@-L>QxEfG&+Z1g|feo*F!`{E2>V^>09oEKJ} z*`;n}!Rvls@8$uW1eZwzw0cfKrjP_>N;}uQ%MusJsmeU%BwyN<;qK<`$v+VV$uqEL z;Q}l&(-dPaH(aiROF%_Z8KjgoM;}lrjSUc&Rcz~XljJqS2&Q?qELCjlQ*IwjoiYny zO&ztKs=a#^CJ@T?GbWx0O%#lynM?;N_2g&)W7{D=rf|94%|uUU!91TSPT^nm@u4+K zYjuC9`_@s9J$~BNA~*~R(-m>`8^WtZ(*<0d&KXexgdKi!H|@Lnw_jmj)NwFt&|z2Y P00000NkvXXu0mjf7AE_z literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/mewtwo_still_front_pic.png b/graphics/pokemon/front_pics/mewtwo_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..a35fd8dda62f50e02ef60e393b35c4923d3d0d90 GIT binary patch literal 875 zcmV-x1C;!UP)wEwh&)r(rJb1{_v0RR60|Nj90{{a900RIpW5dZ)GvFg)@00001 zbW%=J06^y0W&i*J=}AOER7i=Plrd}DKorLhEQlw;lMLN#d=a#hitIqQ*pfxN*-I7r z0TQ`WXd$&cxyH0{rhZ06adD;tHJN*TcTyZlCw0hMbnyS_z5m_4dxX3whU5S1E&ljo z;6%tnhj$u(Jt4!lDVR;bi1Rznc?u^Dz>M=hBLOsJ(0ZJk0_cq!2p82p2k2RfbaS&7 z0O0Q!y}uQ?9fe`^1#3VSMg?duP>&*9IjB+u9;GB7FA4LH33!UgoX<{-%pT%7qorUu_bGjD5@7)70oz%A=TxP57nz$}pexKl8<7eP! z5Uvh@GZUwPE}nsQcs5_l)$qeg17X0tOA96RFt^ZxJpvZXno`db>N`8u?@R|w+OKWOMM7h@;~3($ zxT)%`(}Y^wxCOi~2f8ZYbg2Y7c;iM5p!L!LrLKMKTX<45ZU8KAOgxXC4po4-U21z4 z?ntv3t;x{7WV=M@M8k%nI~BmLoMtD2+c4~L6*xj*O`ZU-m4~r70HXC@Z<1*RxW-$T zx2pLL7#AORbQ;$J+9);PRS@{N=ePpM8u-A$c@qSmJWA~Sy4e61ND*(QaD7q5!r;B#x8?_}wib#wgT!c%d zLY~4E2{39B5FApXh9NSos5&S!;)>crPZWz;u&o4GoYYm2K0L}8BRZ`wf#JztlSV)T zLjV(eL-i(FDd3CH=`p6LB}N>)SOR@8StCFgqs9=px)W?^2_OR8Re_cZ!>1{I%M(z5 zQQGOH`6VTIAWDUq0CMwsokiF1>n6i<=qy(9{sV1hPj>SD(q8}o002ovPDHLkV1kXW BjX?ka literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/mightyena_still_front_pic.png b/graphics/pokemon/front_pics/mightyena_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..16af4c021faebed5f17bc6637705627728e33610 GIT binary patch literal 856 zcmV-e1E>6nP)5D@?W{{R302+E$r00001 zbW%=J06^y0W&i*J)=5M`R7i=<)V*)hKokIQ5BV7V$2bz|1X7-3It9sJWWh`CSzU03 z*r!gJDs^LM3V0!Z4GUs}35gA{VyTX^ARh00aTB|0I>L)&C3io+`+66{_&*|0kKVI~ zfm<_LJ9z|9db<;QcccmymS1pN_%zWp$8!A@cJt_$YFxiKs>knb;VWCskxtQe+s zTYvKMGIly(C<2UAztG>Wg4mYR=nx1$mcFl>hG$nON~pv^ih*B8qJNyf#e6lzLy*?} z!CWu%bafgoAj7Bw0@Sbc^40p=0vrtYQ^X+Pemw$%{P(AY=b)JHfe?tzpuLlvKJs2= z7|!niVvM-dzfSYq1xGT#c)kY-E}JRj*8mVIuv@qW)TI0TWdzX%6p+mr6*e<84DnunK)jvnTk9!eAQcdPkhFl>Z;rL#97_1RJ?nye6Y<-b%FqR#2J0w`vxHPNW$iIs z4OS%~B|xcQ#Fzz_)@lqe9w`yGQ}jk-%bIa* zc_Xkb1t@EQK7a=bxZLG(iiqo?1113Z%qpi_d288Tz?IXUr43}C_!bpgxdiAg!Z0=y zZ$ob2CWgrcgF$Bze4Z1&Mw>uzJEtJ~UJ6s)RDST-3{=_AJD|P@^>t9d#O@fwJ*bWV z^)%I;xexT|sP^hH;7GnymEQp-7r<_+r6&tBZT`S^F^F}Q@*D~}Bcsej+ybx9!>R%5 z3}p3g+S(}maiJR2->Yt)ZPu+R4Cs$KyEOCz4WfScu zIWeSaQr^9s|JAhr=GBy}#f!!N)nY;JgIcswLFR*t|D=OzVte-X?f?J)v-9c300001 zbW%=J06^y0W&i*KL`g(JR7i=1)y+#AK@>To;F@ephCuzJrs6(F1c)jcr6in+CAw04-vtFv~1tZY>XzmIIzoP z-Y@UX%+4kVjkJl;fm=Zpp```rC{yuqJ}iKs=P{IDBCdHAm0-!L}NQxsROY|?Ql?hl{bm{2c-7FcS~z{I-T3Bmzj`!xe$uQE=ZhgGZ(SyW@aT1i?C7H2`}Y z?2Y8--!=n41JD=&Ja`SVtL^4(!1McXndV0{**?gwGS(Ue<~3k30M-YfW>5eRS&PI1 zqt>Bbr;40d05uHi($h{KKtljk9sWkqAnd_v2{tSA1o_djzFVJ*NbJMFN*|b z;HxQGh4E=!kHB|t9YZ<|e)5!)I$cNTaubHjWgG#dOcO#%96auM6y|bi!!U&5?aYBt zvk=z@01}`p>lP4kc-8wz>7CR8q#%Kn;XoSz(dWQ7gS0Yd*%Fi_;K@oQUP6K6>~GCD zZ5W27LtHCJP%IX;W&W&u*oSS_;w3cEIN*Iq!1rOssCRv*HD@($fF|!3`4nJ%^wjNc zr)?|OP$bZDIhJeij@Zc5<*9pgj%;;u2vj(?Jl>ZlCJg)HA1jRpHMD$d7{A$+izr6{ oKsX-fM}HZ${&hyVZp07*qoM6N<$f*ZrMWdHyG literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/miltank_still_front_pic.png b/graphics/pokemon/front_pics/miltank_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..394b56fab91d2df6ab2810ce8d5ce5288e4e1478 GIT binary patch literal 791 zcmV+y1L*vTP)d(T3T8$F)CmA`J&P!z^JBtvLo3D$IS%GN2zse}X!@ks@Pt$-6L z1In-{_V0hK5L4%j2weT_(vstR2jqZgAyX=!?Yip2 zxlSle?=*X7*MuhnJ>~B)a8?3n4{8xWMBr8k&;gRuu&d7^P*ninHv?D;*#oiDOnH08 z2sH$<8W5q-Y?*2?aBcz^LaABcfi*&z4u)8RS!p(*fx6EV)ug<8x(dh*#3tgwJWQkp z(s<-1Qcz@3BQx$)&ku*fQfa9B5Ie982>`tbrDPr@2oE4JbZv*73i0_cSPzBdQZ;4g zf#dQ7Du&9{>Q!ipqCt)P;0An(^2*jTic&Hm4veNG_m_aGqNtDna!Wv7QJ@B3Sr!K{ zs_x>Z$Z^qx(Ki(v`&LA#7<=3R1>(19Bhsxy6`M3!rOeo7NIXaDFkDHH ztdiYB37AI}_B$FgF;W14JQe5c6D$L{xW*VTa__q< z4hx`zY$hHW7d8!6ftL}`MGf?cVc5dmzd_bTM|;JZ^e8p@NnLsis?|AyM==m2^~_VK zbh}k(vCE&(x%gaUOtod(X2p&GA%T>=%XGWfvU{jgiYWlxJGOZ=FwKEIdhnPNy*3+@ zm_U+d><&)Y`>8IqX__v{xY+ZWnB(;+tqJ)Yjr8P;U=?fx3a-2MV-bb_7l(fpe*i(L VSUvh!Se5_)002ovPDHLkV1o8CWo!Td literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/minun_still_front_pic.png b/graphics/pokemon/front_pics/minun_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..9b373c0a227e77a7cc0a8beaf7d0e44406a15989 GIT binary patch literal 505 zcmVKlD$sCP!z|{fU(m}O5zKg3OE=OduecTfSNcFHnAC|Ma#1hxwE7=6mu! z)E4mOGnYWAthmeR$tfrRlN0Th89~uta|dwzD^Ll!Dn3<`ZL5ef#|p_tE0hIx8$?n( zwY#_kf+&11s$2qquQ6WO>vPMwfl;J*UWsFY0c9=$fW|k!inj)E=KzS4eDK-f0# z&~l%%ojg3f8ORdA>qtB7LBsd!8qhN)7b?{q+3e1z96)K%jAhhfcQEHT9p6Q#d{zCy&xF>S}FgOz5oCJ9iTDZ00001 zbW%=J06^y0W&i*I%t=H+R7i>K(lJllP!I?3BU!>0#|%Xd!g(h#@m9e1I&aL&)H75Q%4_EU{n8hAMIE{q+8K zX9IlH|5&}!KS2MY1F+iZ$ic9zL+SaKq+NnwTCt!MOF?H4A6c;abe8HI&`SY)`Kn7m ze-KYlhdK(??d6DI(%(C>YKn?X?*`??c5x?&Pw5HKVvM}ua|Sf_xBrGAxvWmayvs=@ zpvZYZCq&fZMBBgr=!;;BbKmP8i@s0vDcUs`LBVK|H(jH&oQSMUM!`5ZnS8;(vY#)Ht5fw!UqMKX*38*r$g)@_b(S{F>D$8+(BRZWMU_TC!zb}gQ4Wfj0O^^MG09YyJRqu8UQw3y cKk6Op1pqaTFD_*Wp#T5?07*qoM6N<$g6#YWY5)KL literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/moltres_still_front_pic.png b/graphics/pokemon/front_pics/moltres_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..3ce75c7ccf373820e794d76d01d78256395376cb GIT binary patch literal 1014 zcmV4lfQ4;KorMsvw{TdmD>CV?U1G2&v?s3%$fntODi#? z_7La{T~N1>g^X#WHe&}P+NlgZUouo#@Hq@Fl?oV8rK&%Y(0BfYp$UILPXf%n&-?X# z&j{Um`tXqq<94GsmiJX6q7w7UbO+ss=Rpx4aMsqx^f4^2p1p=0C&~Iwq&7dn~@UH^eBRZ-5sU8 zhyY5sYLSHV6~cI*p^2CfH*PKu^OSrCD3U`L3+dBPchHEhMHbowV9|u{!?s;m5iN=! zbSf_cBUcUE_~VyUN=5*2;cgIC34mCDr9JIIT91W*2eTq8gix0;Pv3=EJCinp*J_!_ zbSqtIJXdyM7usi3YzxWf#QPfpl3wW=1?Vhon&y=l1isX zed+bHr?qJUc(>nqX!&*DKmZ1&)7n8ju`Z@Lc@O|-GM|4#DD|@T>o5VFu+96tAO3sY z5fjVvw>F5M!mHam7KlzYId{=95km}vDb8-UA3cw7JB@T*HVTldOTeR kK=}GPASI+@~ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/mr_mime_still_front_pic.png b/graphics/pokemon/front_pics/mr_mime_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..aac232c6707ba4366536ad59c5e8086dd1caa212 GIT binary patch literal 821 zcmV-51Iqk~P)KltF76K@`WA>cK-sBCepMr3G)v z7bqR2ElqQAJelNBBNWoJz2?%6rpFu{krWRFL;4K_jln`vW|0l1C#P>iOxzvYeu2Ex z%)a0J-~Y`HPt$JW?|~El$s6YAgNB;%r2F5*A!iOVQt78z*J4$}h2&Xiy-EM*I0_1^It}PW1rRvOoMDYNM0H&zP(+lfUsrOnVw~!kAfO);_W9{>ZcypbZAB z8j}F5S@v+G04)HZL}mX)Ts~TmYA>gZyaHyAn`;XQ+1Q&8l!}DxF;?Z493T{0^SBJW zU(FT?YwaD@3zh>6B5t6#vO=rfelMmNSyGSxLAG!q2=}yb}W7p+} zvx5hApHNzm@}jf>z~&jByvQz^k>+Td<}E36BqPs-cK6q$2OmN+!%;(QfxydEvT?4o z2;R{d{{{|z1Mo4p=_Q~$%k}@P)Kld(_2KorI=k-@}Jz0{a=WjC?n;y|K_i;LT-gN`k% z4&vm%AnAZ6jeky&O%|>&XyRb6kmz87MP@|wJ!I(thlzuW-}?Rf-FvU^5%RCUQ8H{P zeJ$`SN+9AsS4C(yKLNT5;BhA4&j8xL2YBH7Dj3JRioZ}-2)7_GRM*so@aF)A47jk1rQW;8n*q1>vkuiMjRW)c zX=%{syw|U?gCZ-Klj{wBN z1bBhQC+Rr3tiXuS27ndD5(u%KLPm%?n$NSW1Hgvl6Ng+;)JpF3_=)OiT?Sy-9eld; z@o*WYO{s)$K!i`}jsS&nlOu_{R4Ri&Q|@7;NUWz;zk%_6LM6rhwhn$2PWEBz#q%Ec zQERdfm)AgOAf}yXJ9vY=srRRzhW6Ga3zg=g>b}Y1r_%n{U+N25t_FKJ3AXb90000< KMNUMnLSTYw`V)5m literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/muk_still_front_pic.png b/graphics/pokemon/front_pics/muk_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..f1ec93830b04a7a852b6f95dac180bf25d354c28 GIT binary patch literal 710 zcmV;%0y+JOP)1>lxmz>F>}?`-mJ8}gNvL&N?QK_|Nj90{{a900RIpW5dZ)GAVn5y00001 zbW%=J06^y0W&i*JL`g(JR7i>KR56a*Fc5TMwF0il2PotNTB=oXT(-o;qKY)iGyH-e zs#2euyv?v=;N0vz;WA4(cV|mZl_JG0V8iAPcZb7Su2vuMU&flbZU2(zdt(af_P6rU z7(>>al zd|6`rQ=BS^Dg|8~B%ctzbwL{MsA{fHnqwcgB26a^H8%R|9=UJZP84t?ihh35+)D~n zAnT*M0od)DufHaemM_)J066XXet7zcUaVK&T>uV)oF4nW9~Ce{Gq8A%kYW(c1Mr*7t;x!Bip;*#=V~6va8_+{ozHm#QhQtX)KlD~@EKoG{KkPOy=n!G`{CkW}IVy!9&7n-yMzl`demRpbV~R#bYORUauul*cvzr@pF)QfUGFqLPBRGFt=0 z!VuC5ctQvig!YW-k-$#eQI6w3X}p()NbU|j;jn7YpPq>_mz!t^oO#j7p>5mq zU$-LOX0LkF91#^Nj)LC|ynAvhM44glA->|GG-%({?fON&VGGo~6f?yG#ApuV`Qk$8 z&19QV*SDxh%9Kyd>LT$K_0udt!uD>NA?D*URMkb@g zNd!MXhgsYipx*(FLwXuP*zHmo%7KBI6FZ1!rxSpXvYi|n@GFS;6P^=lqax~oL8f&~ z8booNht@;gRIJTLDJ99WZ^ujVU!Zw?FT(&)$@|oNu>n5stDFaixef3TcX(AV7JCZ- z6MkY{zrVRZr?E)19-O#CrAz;`zHv49v1*(N n!~K5j3INb`q08X0{$>3EsS?Uo^@-gH00000NkvXXu0mjfS&bFG literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/natu_still_front_pic.png b/graphics/pokemon/front_pics/natu_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b25742d8ef9131b0cb233c246d96acbcccaebed2 GIT binary patch literal 375 zcmV--0f_#IP)as2N|Zq{Vk!ULLCvf=gJK~6N&w9{0D~z2&CSh}l$26ZQYk4ZL(dC|00001 zbW%=J06^y0W&i*H^+`lQR7iF6XV88+Q1_JUsXA_X0xeA{V+&gEj`j1nV#o5?( z)p|VgK}yEPp&xJ?@1&#zR1tvN0HC~*vavrddG_)SC6)Ki#-_Lw6pE!a1-=(CHjc;P z%J#JM3YGsN_WvViVs|G;dwB)Wk!|(=SMSEEfZ3v>3FwKmjQ_t@Vl{%*7z8ZR(trNm zjopr5sDl5$)?;@iSb<4e#qa+(0+S!CpuB!3&cOZ*Qql1ncVzL008NO;Z2-_C|NsAI zz-<5!aIeSV0SMsRwQBdw`FL!2`*+{WowM%aR>1%7<3l-IfdB#j`SCh&6pVsF0067< VS!|;48eISY002ovPDHLkV1jVGtrY+O literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/nidoking_still_front_pic.png b/graphics/pokemon/front_pics/nidoking_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..db7740e991fff3f7faa302af3a284969819fe8b8 GIT binary patch literal 1084 zcmV-C1jGA@P)aJr`emDvVDueKUTYvVsB9U{-J zf$mm;c6LzsFL;c+6!4&Xlsb73?>*V=P?wLC5*g@VKC*X|B2tFypj%In0P#NWethp9 z9q0dOjnNl?vHTKn_|Q{a1#g0S@EH3VALu8|9t7eE10e^nD*z`I@CzSyVd5BR^^BdP z##n?EaN4IT+;`X%QfCC9$b|@W1)KzT=(uGv>CCW;STzv_fiBP zvar`XC1B=EsgSA$1AQ|VLY%`*@8t9cjjEtJYfUr(!k7S{497=j)*{uZY;6(-;4o&5 z=na9Z-NM9CukvQl(P6p;#rP9NJ!nLXueYw;D%d9I^&#{w-1p zBZkGIjbvG6BMzh?f01M1Q|{1E4$=zMvdVGa@BoUBKNu)7A-ZZar-?+16l!yux^{|UzC-?8jNL0000x_PS`ZKri}vsj00001 zbW%=J06^y0W&i*J`$Abg0aP(xI&< zz64v?8OYQR;t;{mE`4VM5?yldjzlU;Z6}nrQbp|JotsK_a_z*z$;$G6x%Yqn_ug67 ze|7Ba;dp~bjV})Y!~Un?RD*cWO+$$K1mG}?%?kQiic<^2K1}bCNTEq19App~fh-I| zfb;OoPfP%ca~+SuLEv}b$1?DTq6`4SpTU8j7(_UX!+BpMgCGcuz%b`g7=25QOTds~ z7y=upCT9e63_dip!g0|Aj=@34P=y_m33M1^rw1kp_V6Q=hvVsMlhgKX7@`zW8l9df zr3wz0ZJf-a%uvOnUhi@5PNS#RzQA0lLDFLIWSV@4Rh9oMc9s z`#0V0d#_DEin1{1-2c^md+AY`f*5Jg>AXm`t> zVxi7a2H#x*_FQ)>VHuF!^(>>O`p=ukbirtqGLcg?nPS``V51#*&$d3VB&0#6H4R_m z0!}@@6Zw9Jt(BE|9Y-z-XjgYUWI@Xj%e@)f8NoaSbp% zJd~o^F`Kb?PscUDMLF15^NREIdf)S&2fOr0#HANFsn$s|B3}jc#_cA&lz?e{Bpli~ z6i?lgvl>Y$#{{a900RR90{}2!m)D(_|00001 zbW%=J06^y0W&i*IUP(kjR7i>Kk}+<=KoCV;;M%fsgIQKeXUU_HQiYH}Z|!E4h$61i zCRM~0Ebc+Wu}Gg-UO_sXS)gN9T)@Aendd+M&ypmA2E{abxB?h`#Q=zZW-bb(NXclL zgOicb+&NpBJO@SMe99y3036h!0nc+X0E>-Lm9&3+lf(XFtD9zBYJo_BrS7-4O|!Bf z5E<0$uS)gWtk#H^F*BWWKyB1r0P0=*@}`n{Y2Z5mxXHR>2UI zrSurQ1mPs5=@`#y7URC*rj?qL^7nm-z`IJ)<+DIp6eeDvFTZve4{~wj`|0Y W`EJ~M=$d-~0000Kld(?2Fc5~L%!w+PK?-JU@;E$8c!Nf2p2QJL7b=}2 zRhdxyTS6V{_z?inC*WKJ3l|0^hMpo@%6+-}{hyO0=QzjT!kyNv$e!hV_Hf$9YAoh} zU0k)N8DQ-C2y{d)*=g^or)FKZ zgEgYr2dy{kGZ%ntgx1>F^Kl(CZ2Fc60I0+EN328NO*PhmRRqoL*0^8~b1^t?i5 zDDRq8QqgH8r-ejLhANz8+0?OPRtaQ=c#n>uxh-ss_M6@Pch?r;!Tyg;mZJVEAR&e= zb6+ooh{scrCu*ip>)9kw@O{(_I{vx zrIh*wV9V90PQWC_6$fN{rScbRCszQT%Rn_;=Xr3X0nESw+3lMIAOU*uyQzNwH)p_@ zR;F?2zpj)a<^aN94A@G_wR0 zCENqRT>`Ku((19m{OgSB=n4al{eCF=;L&z8Pq$_PEHdx?kQS8t31sQI_Z#1Kv=I!@ z(8>!r^d$`z$CD6pilj}JzLC>VawYtT&*-`t+U)T38~15s?XW$c82^L)Tl)zbE~lOb S3k`Yz0000Kl(CM~Fc5~*M%pxV$5Fu}P*G4p!;2iE*mk$tci2TI zt;{;xUsgOo7+a$CWh`xX3LdXSdCf_@0b}RHUL04nFhy*6zRdidnWQNG+h5x3d+zXf z-nwHBxcRgFag*^s0c^9*0*7@!Y?{N-XOP*!w{dgZfQKxg+s6O`+DwWHz{IuDE6j;t zz=qYq-3pISZ+!;hi>_U+nCvD&ZW*wF+b-v}n5hh)(8K_XxhWh@QUricoen^y%tWLM zz`APgmRFyQQ+6WLsQ{GCHUL3yDzoZ3*1*8xN*YF;N>vbxta{ikK9WSVfD;iNS_f|H z=Ny2|7S%XLrO-9aZmY>q0L-LiWWO=sG=BLS2tR2VaR3cKh8NHNNzW_S92meIuz3gC z`$PmpLl>UPV)r-zXTV2Ka4?3{K{6LkbrG;(v1BpvBfkaE@&#nbKq$uvW{pAuI0c{s z&x=7nB6?AyQkxgZvAr?@NHt)m_2yC&Hv&+4lww?mpzZV=DCiFWCH`VI)M3vWtVd%h zovNWw;wMVJsLTK*2R7pU2Sr@VHuU_M0?NqicW*Rz!z&(|^aCrA2(MqiZ8?MHsq$!( z91 y7z68Zf9rmKKRPJKmnzDKKKsi(TRJfRy8Q-tm*7i=6vSo#0000_qke literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/nincada_still_front_pic.png b/graphics/pokemon/front_pics/nincada_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..576144c488493046a9370c57b680c787164d33d6 GIT binary patch literal 578 zcmV-I0=@l-P)KlD|vCKorMs5Jaevw}~DduKouWx=SEK!Ma3nakHQ} zNEHg|;?_m&QlWx_;9_bbos?cg3koI1Uz3tHV09^t)XomZYwb^((nYs^hYP&#=id9i zBM9}?*FP%S!ylUK1&C2(nvdOqJ@Ft1fX(i}ax$W(0lM^X>3Sxz1>I zfHb)0mlU`WXAN2D1lamj;1KJYCQF?m?kYg6c#@LBk|E0-A;R_;z<5cs=rdV2uQ2dvvRHNQe+$ss!q`nWe@Q@ljj0 z0lzjI5aRLgAWPk~D2w0`K2!4L7c^HLARh1eE8+?d-#L250F`FT+~HWG#o8n-AZu5!fY5YDxkW6g?eMep)z{zY2R4ztK}j+J Qg#Z8m07*qoM6N<$g1Ej1ssI20 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/ninetales_still_front_pic.png b/graphics/pokemon/front_pics/ninetales_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..30b5d0d1fe144b5d24948566ae5274e787403d71 GIT binary patch literal 885 zcmV-*1B(2KP)6_U3cu#cG3UDG(44`@OHx00001 zbW%=J06^y0W&i*J^GQTOR7i={l|OS6JrKrSdj|V6Q1dn3j^P6`lR#?uUynRthR)7P zep`FAl3TEJrsaq@p4H*wE+naF*ejCp{ zE?D(|gIodUqcO?)D0#+4EiQM+r*efz(Yfdv_CH!6T^4up>yE~vf=NxSQfV=DZI&j< zI*-TQ2c;G)EvC!j#uo6XVAy6W1@F~y+bePla8awXaG2eH3@j`i8ffM zZV<&tDPWSMvzMt}v-=H9sf1%6IC&``8vC0*kgiaHgI9G}F-&*RIP?L#7k`8LQrD|W zJlnAUEit;^1nlrNfV!>|BYjWZsEgIinNdOV4Q-P*XX*we0b>KKIRI$z((-#gZw9~= z*+zh611UsKiTmFV6RxVN0kDFS#4hInFqVtcxmLLpnB&z7p%19mnu|aLz_|yEXEICi zq0~2#u040V(5?eMUsg>qnNorYzHfuP*jojo+9@Ot8$-X#Z`in*j936kVx4jy$XB#2 z8t}EG%RH_y(ZwaH&jYgMgS~*?l%FA;9R>^ z6@YpLAPj(MW6Y){mWi9M`5}Onf%w}(*t1$b0!+CLKwhawfKkI;oPT7rd3;Em1@TQI zDFBcC;GCQ0D5l)N+IRjBjV_S+Os0AI7YUiEwSQdUq1yBLzZ*XReIH!@S!%s#00000 LNkvXXu0mjfndYl; literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/ninjask_still_front_pic.png b/graphics/pokemon/front_pics/ninjask_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..c642dbad5f5e5cdbba965bca2b952f6f7f7bbbe8 GIT binary patch literal 740 zcmVKl0R?LU=YUN0cA);s%sbG1;xoHsI$9i!oomU93d8n zP^xbI3NW;an25xbE<~y-`SnmHB>W2e9axc4q-07JJH@3#toS(F3AGc8O04t-|9S6s z_dIttV|VeNMfSrjK&!z2n$Nre=%pn%j|wx-T4_X92Y^sKqcxY0@$xPm!n+92`l~I% za)ABU5dejLvPCv1mrgs{(`X8MNdm+JX&h=V!`F6T5~NrIst7b5EP!x~t`u(|g%;sx zu?X#X9}4dSjeCm*p+={(0N6ehI8=9-jn!$?fYSOO1u}6&CaRC^Iu?mdfwexdpU&m^LkAk4D}xQ4br znam7f>bjB8IBUMDI}tD#INT)UIH_?xk^xGO_L?}EAUC;gBz!vaa}T#=^tA)@9fuoc zuNR;5zI8sGi(T0h=*`i$XWaO#CoC9KwlNn>FH|k?!sIDncT!?SsG3sO_CC~ETt%a85q%|PoN90yudVYzC)c&!+Tk?1D@9`U! WA2x&+3$+CR0000_YP)^U#@kA00001 zbW%=J06^y0W&i*JI!Q!9R7i=<)W3@wK@PuR$X5>xIZVYR;f~5AJT*~m6=(SBIJ#!0-5UJ_p@)_><iC^BH)TrIye+1 z>L5F)y!yNR6F5W&Sk@>lAyX<)8VKit)s;L)M#!t*m+Wfj_^N1Q$9zL+MbzX-_amKS>2Z3=p! zG=X^Oa{(kcOVh8@EPa^;4hoF5HLF41FW45JmtkxR>iVM#UONU1&mkvff3guqF$h@@8Wl z?;>2JF%LKoG7!aB3z-TL?BiLiK!m+DYEFP#)nFaX_ULP6iGrB#z!Vo`sHOyKzTaap zDGXZ)OYOw;>5;9UFg|3C;ja% iHzyl2(B^3RPu36ZJm)4n^jrA=0000Wk)0000002mk;3q(bC00001 zbW%=J06^y0W&i*Ivq?ljR7i>Kk}+=EKoCVqKt(zw5Y+|n6(THM8-)HQjR6(jp$}kj zE0+>h0o;qaf#nm#x`hGT6%S(|2vjnkbYj5XC0)AFwEyk=+4&Pihx))W(EYNtHtW%C zQ^n_gU8JkUe_ik`sN=c6h(XX}AT3}zfmm`|6vdnlT>vZ3O(&2fnnY3P4j{(YdqC%+ zO%S*)*RHC*Kt#g_K9!r@?pJwLRkWEZczf9Ib}jH&-GM;rZF0Z5x!uy_fdG_Jv$w#| zZMFm!)n%0sxI6Mj+&cmboIY3r6Zl~b-Kr%jdZ@7kzUf?fbK4S_h{aRD!~NWrYfOQ0 z9s-7rJ<7E`IUfE7C!$;8elp3bPi77K1Ull<(&*JI#^b6^ySi1L9!hPD`ZqK)!K z7<{+K(#iyYsRxY3UNj<}0WS(3TV5oMuEnJAKN+7d8w16A7NmXy0*-)c3^+jO-o|ce zFw(lYS4{jhM#tw3kQ&1%;D556(qy&Ln5JQX|C~KVzf+`a5!f@cs`)Hdl+!HK;9u2T zQa0)VV&O#x9bQJ^8hU|0p`c#P`W_I~b=|8U>f`D!5!1XL33c{F00000NkvXXu0mjf D!e9MX literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/numel_still_front_pic.png b/graphics/pokemon/front_pics/numel_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..1aca480f7f8b1db94407fce0c0f7bb949fcc7be9 GIT binary patch literal 574 zcmV-E0>S->P)r zVj%Y30L`>H-pwHP_N3L-l>hE(l-?M$_Azs$Ia+gSl$28D-tPbZ{}>n;TuTxC00001 zbW%=J06^y0W&i*Iyh%hsR7i>Kk-I86#^DyJA#5j(e??1^)6yA z3W9H7y+m&wd-GU(?J)&4Ju3JFK7k;uXQ9q+qGpre3)ufqO8zh3PG%XKWtNgWKm6TS zz+;tX{dcb4?-hXl2`^`mRcWSZLz}V3)C8ctw2}-sS)c(cNe_ z*?gGhIzOasyNFHZgrT1hIYqq52^d@8cR=@k%@ownV?hGT2k0n82QJJJygDFGnB!9o z=_kq3*kPE1UBe(plpRW&H@0oyB!Tk0y-Qo4Irjx__Q

;R70kM0&sHwKKve`U^rI5@NJX` z$dH?XElPQC8Vx@n6=;K-+0>Fe2!iM(?UNAKl(BBqKoEx4QY4yKmzC~hhb9u@4I+9#wgnXm+}=?j zMF@Mic8h4MC~|>zu0)DN{0hlQ>CXkJoolGzio63?rJz`LeNcJFPmo{k=G%YfUyse$ zgDCB;RyV!%=JImUN8BzKt7g$-u)M05i-xwiy{hZlHX(t={Hg2jrXf3Avt46;duuz- zS@?tVJ<>eL!*x|*NfH6Pt}YPZBSi!vhgKy4@N|;B;GDyZuy{EV+1tlYp2AG}LwrgF zE-ANjwl9AdN|x6CPI850eJt#Z3AhML7q8aOj!&e$tO^Z z(_;b{B}Xt$l2lMYAdcD=;te(BFde2KMB=|CXTe9dMM8C8k0K>ULL8F@b}QA!e%w^u z0+C^ZNRmI8fia9lwh!6E$!$x|`(*51V%ZA}3}SB!#@r+i>gX?ulGJL}0(RE`0000< KMNUMnLSTa48ynOB literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/octillery_still_front_pic.png b/graphics/pokemon/front_pics/octillery_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..99d3a166edd2c00562b5a1fa1cdc4930c8430c65 GIT binary patch literal 653 zcmV;80&@L{P)K)V+$^Ko9_65v0Z>7}wXW;v&}sZq|)47__qx496P% z)P4+$Jb`shAOwQk_&6uXR&z~Wzuim!L4u3gPK*2Er7~d|MUrWpwsm5J200000NkvXXu0mjf01qnH literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/oddish_still_front_pic.png b/graphics/pokemon/front_pics/oddish_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..6b43f168390e42e036c515d7d6cade7372b32c36 GIT binary patch literal 451 zcmV;!0X+VRP){{a900RR60|CF@FbCje?YJ({`N)QkbL;5s200001 zbW%=J06^y0W&i*IK}keGR7i>Kl0903KoEwv!b-S<*Rb7?3ouD(!_JmT5q3)s29Jep zpt4jF58w}lCXEqiv7JFXn|$s2?#u_fN}Y4gL?ZtS&tclgQ^2*r5NUu;q3i|WU0aoF z1H>)6=0fZBM(5B+9+s?->7`C*v%Ub}YZO3221mmSXbW%|O*kOjFg((FUKC(paX`av z*rfUVNATY99aCKZ_3!{-ORl3fL0F-&4pxlt0ZWU7(9<67Zzg~q9Xf}=4p8cV#PNv8 z51!nyz~ixq7JTrtNkU!gYN&C0thH1bGJu zSC3OdyshtpAU#?YH%<5oS=fIzp~7CSaQjSL7UFHY3tZfg5FCcDH;F5C3jGqfqe@Pr tAa)>w?)ha(2>F8`cNi1P&*_|h&Nt0itr;jck%a&N002ovPDHLkV1khw!$trA literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/omanyte_still_front_pic.png b/graphics/pokemon/front_pics/omanyte_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..5c779d1286861e6776a2a86414de1c61b8930186 GIT binary patch literal 514 zcmV+d0{#7oP)w5dZ(I?&gcl#cHgiN@7|NgU!WatfV=Edk|Vuz3%He00001 zbW%=J06^y0W&i*IfJsC_R7i>Kk+D+3Komt&QAoj1zz0z9K^E4)3~wfJ0%g=M*g%gY z^bvL&ZIo<&VHvtqyum7+(aI{In*iMlAE4ZsP4iCfy>HhrF8aT^;fu{msV=hW8-g1C3PX>aVSNWW=5trTsIGIs(9=K*kp(P}_ z$MTTiPCRar8Ox%gz6Q?^$d*!9U?UNl9w&jK0-rl$)3?YytLz}x41{<+2ZVv3BTj$} zN;>d`9{XHqAfij&>ylH)oe61Cz||?jmq0$}{0Qi4;^bR|vuH7Oqp$?n8s?4`8T>3Lk3U=(p3{;WJwiKuxJ$Ymg?bcDhqB zu|o}242TG}{!oCiLsTo==z~ZkFh0qj707*qoM6N<$ Ef`I<$RR910 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/omastar_still_front_pic.png b/graphics/pokemon/front_pics/omastar_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..2a1c58e389e3d4a8c2b6a94be255bc918005318e GIT binary patch literal 783 zcmV+q1MvKbP)Ck}+?aKorLrJO!yJRkyDB1pNe7dy7d6ALp!ityHkr zNbO;%6Oxn1&{jgS;iOI-oh_St_TtUq$iP;>eTUMD0Cqk=o|t&Q`@jGH-D%phEBz^8 z@%<@a%0ohqP?0xaj0fRC3lT$raX3KeiwOZ>3}Wba^-mUK7&;CI1Ue=3(VQaSa_~vq zCBf-rt^kjl5c?g#Z0=40u3XOt2!f6Ybnae$aVFd|0d2Hr=obM)z;R;*@b)kh#~FOiMj6rMlLh2 zoT(XD(q1-Fyih5Ikr&}*2Bwwf%k#(Q@9uT_3D=OrWGQ7<7b(QK zi|Wzz&*_vbxn6q_1htanO1v?P95DIs<#Zfk&)ky4kOtG>+eU#}E3iBj(P>Di7@ z=Vt}j>Xf*zOKi)~nv)^>s(?~v#MX*U&8A^3Z&uX5_Rp2cEqWAvqh><0mk11fLWq<} zvPP@vBf$8rfR6;D+&23A_12L48UWvlV)380%G-Z5oPqD@?1tT(q4hBT1FWqTkLKpk@gM3u}>v3RUK{s z2>@xGb8pypMk>{gInQoD%94s8?g&6czpudUkdfJ%01#J>l1s73Tr&{?Fxoi$%ei9b zD9urf?3SwiFD~Tr)F%U~*oMb#PJqbXXhrkjsZO{on& z?p0 zs^J8y_1OdWhUuLf86L&KUZVIZX8hh!m`XBXnCFC=a(Kl_Nqw)ipSs%UP>PAN{-0L^ zrEGWrcBRZ7_yNP~56Uy!EC;XKHl>^o7oe~;B?xOdx>4S6TcZO9+>#7^*q3wV8;!>z zJ#0py0zf9(%@3n}bThMWNhCcdg54|yycf7x0K_@@2#j;~8-NM`_)x|-n{(#)2t*2F zr#(2ZX)5PrrLdU{ChyY&meBXJtZ&KKO&kDC1c6C!)+?q4O?*77d@6BPF`s z#62A+oZxGFcQEluPS2@7H=Z}+ai(PHLd^DH`{X!%IlgKZteHwWv$=jD;*s6Tzh=nC zQr{wvS9Y}IShnU{QXu~T{}2!mdV+y900001 zbW%=J06^y0W&i*IcS%G+R7i>Kl0iztKp2Iy?4ltQ4;>{qi0fuTQpHUtC0A%GQZN&KCxXJnG=ku+4?-q+AMbxNiD4Xd)W2zZ*X*~P z!K@Lubq4OH44NJSM$;0wAB=7eOc)Pm>$K%KpE)&vJGpu%By&c?as7z>MEPX?;tsEC zeQqHr0NyU$TEK*5uSi1xe_z{SE&R@_P38h+jK=!$M?MLnKH7x%CpM4Jd#LzrLIKZI z0$HA3NI?WibYMYfnC`kcz%y>;iUfI72_TGR0Rq5NzgKu9uwotXXc#IxDLFr3PNV{=yM&^=qlH~e3>jry@6e{f*Ams0s)_nRntEw#MNzL{7W!ij v_5a+rBuknBGivsY%9pCqFBOhD>hJmh!0+AMJ*AQ%00000NkvXXu0mjfAqL$Z literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/parasect_still_front_pic.png b/graphics/pokemon/front_pics/parasect_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..ebded40abed85dd3b3494a25f6017b7c8fff24fd GIT binary patch literal 721 zcmV;?0xtcDP)KlCf^nKpe(zqmigj^bzO-Fmx}=i42`BF)<6-&d_`h~|B%S~e*V7i{%3^# z&tDHa`~0vT9Mgvg7Q7}?`pK#91VKQC;i(gNPk^9NG+O zORRz2uQBMHUr~CZukzStu#Xn7I-eWeA|d-=Tkdi*S$1U;tO>I%vCxwxN%BMc>apPZ zlTgAS*&S;qGKj6IYJ<$#7X@>%v3YB2dW|mmN}2h|&Tov%J4+M=02KgxO5HwF>i&9m z*O;`c$iV<}dAs*qKG|35I-aFEsRMAaK(+Y3f0#c#sPjtzbeX8VjwKf*!nHhD@^6PC zgUzM)QeCWf2|yy@C#_Y+=Y{yC0U>I&xz0+Ku+kgR99SoCDY8^-E*wLfY+gtV$H`Z5 zJWEnl@gnbh63F9=qC}ojMFk0&L>OZ7E|7Xq6oEwr2}ugMTy;WFAw8-8bG3xq2M6#h z>kd$tSlBGi69E8D%DU_V$UGXL)E~kYfMo{|8t{aYXbZs70!;!MYy;mg2_y%QDzSxpGpn2a0_5v=&jwc+}?X3Qw|C{q0V2sxUbLk|%00000NkvXXu0mjf Dc2`B? literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/pelipper_still_front_pic.png b/graphics/pokemon/front_pics/pelipper_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..1bf3669ae403faac5a11f776c6a7bb8f862ba2e2 GIT binary patch literal 771 zcmV+e1N{7nP)j005kvtRP~0slp^n00001 zbW%=J06^y0W&i*Jfk{L`R7i={lreA9KorOANNlmJI1*ASI^+yn#1Q8j#4A#TK$Rm3 zTSy1Qmg{19tGzG==_0kvu|)X*5kr#+VUP=yG@u(hBtz-uEFrveNOHDok4XF%>->KA zzjyE6ogn;=S}Ycs@u2BA)^*1GCIEIiAv?{MjWJFoB$$rdguH&40^B;V@jhWnvly}Y zprf=TcJV%a3V@#mjPMI`G$Ea|xG-u@_6#F^1>sA3OvhuglM39uZCp)$bQ38c5PWi| zUM6&G^kP6x)pfn@d7i3ytc9u~wB>?gIh;~T6%px=w$xD18*}mjS$mSc5t}p!6Gj!eTIhTy8u>_^GdJwF2Ce$2%Ort6G{6G9g`e zedxm|fIdtKG5EeK#(@SQ#~DDG0MOxgl8>ga2G;u!Yc(FIFaWaLw6>_#>l*+mB?cIL z?+ zM3s-D`@O^kFRFm3=&$beNW7`UYN!?9lEf3Bs2~&pqKzvmtLaSB8(tYn;ec=(@dtH& z#sTjZZx%TAkj<{>8fnaMfCDqSgoA(oT3+I9`pjW~6#-<{719S#D^d2X>04}7<+ z&@|Zf1IwJ*42UE#vqw09KT_b!rWqW@laN}lX6PyT!nH3al8|i^n{+ciNF+gh$`8XN z?9>+-91rn@Jx`Cru3HzcG7Q)n^USy))6DQc)gMc%e!pv2s*3;s002ovPDHLkV1l>D BT08&% literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/persian_still_front_pic.png b/graphics/pokemon/front_pics/persian_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..baf8a4eed8cde68b10b3638650a76acf3b2db34e GIT binary patch literal 710 zcmV;%0y+JOP)Kl)aABFc8Nry6#iiBy?k(+TO??2icNOr=l_hyo-p=k|8ChbgnJ&i zdx7|pEu@s)9{@mp_k=tIE9HISBCRAL_`H;IYga%}J^`Lx!;&!$@Z~DXZ(EjGxtanW zL4@Go;wk~MB%hs1@DJBwuS$4+^*-fSE#;d^L_nz;etk;7Is(jXCpo@qOKyihQwCzm zS5(s+D*3f3)@ypIGWpsGP|0tX1mL2oRJ2$`!cz2x`AWWdL4GV$?IIA>T@Tppjql{U zS4smKvs?8*VfvG>Tl=G;6yhlc*%cJmu}XpMK*-xmYR}s<+;pjgeG^mTu#L=}zn1d* z%QJ)&S30K8Mj$x-M9SN9Z$ju5co+cge^UC;;P5#p-eIF~VA#jM_QYz^r$rs?jWKL`s3!63`6WWPHVq=tSeO@Mw@MXWj@i z3giqBjX-Q_gaZ)&i~`j74n&L;O-8@8HWOnBoZh&`WG1bR;=?TTHv-Wgi%-ne!t6CR z9i72EpiS%m0a2no2B?UJdbm6Q`7uDnCxAju{S_#W0Fc`i`EAKiYrUZ{V=k{hULhPXGV_07*qoM6N<$f(4dH@Bjb+ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/phanpy_still_front_pic.png b/graphics/pokemon/front_pics/phanpy_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..f9dc5fce65201ddcfb2d9837424d8e91cebecaef GIT binary patch literal 462 zcmV;<0WtoGP)KlCf^WFc5}4kU2tXU%-I}XwM!xAvI^UVgVXkf{EA2 z3seeOI%Ggh3}q;NI;5sc7xzrWcFq&zAFL?yPAAJa+(GIDkw`z9b)JY{FDNHIGz4Wqb)c$yC|U=b8Yn&4Rqw8XiDPJ|iVS z9X@Bh0GtVUBS3Ra{6HrH)P@7vyaS3!qe~7*u_KC?cU^ukfN1fG*!@mbH8*H#@%v=Z z>?^xIF1Qk@Kh!PGtLn5l8pn3=RU-krc0-leLFOk!JRkfYqU8q(TKI5oxh4__7Fp{d>0nH^+K%f*+qGOdrCd$4;m!?0oS;EsXC#SfB*mh07*qoM6N<$ Ef_Xl|a{vGU literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/pichu_still_front_pic.png b/graphics/pokemon/front_pics/pichu_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..f061d578b9ef61e9fae34d939a6f8c57a6ae287f GIT binary patch literal 447 zcmV;w0YLtVP)Kl)X;FFcgJ7kgR?OckgoCAp=Be9M&KL0}BjP-4G9h z82SPXUD(T0@Bp+!J12#t*@(HVRK(yL4-81Ccd?Z7`P?7d5#kX4Gpt9K<=O{)TS)6- zWwHM(+kye?UUz1b#cF3E+p=`0SS_!&7Hz4mvmv=muoY}|!T~@`YefqS)W+-p_e3_( z32>7G&KfE5p;ADOlp8wf1W*NxL2yh!T;Yt_FOJ^H;??p%ZilM3Sm2Ze?x?`Ho@5+w z1^qHZG%viAwAH!iZeZTwO_a2W@l>fir+nG{INGbjHOx-l_J*{icX82b=;|ScItbiB|aub^D>?Q?Z{Sz~?b) zWbv=7Y0U?=UE~92=>7!&o=KZ~mu)J_t5@1x%X&~8IHkc4zjg$Wmu*IE%-zwn*Opbp z4sMjY!T|ifXw!&>H}|;m#4Z$v;`5Dj0dNsQ#EjbfvvT~fJY>H3a)A{Num+5ErC*1) zB|c&df5|jD*nxVR8VYT5h&%R z*@r)hQ4RY2nFN?WJQM~#?;D0O3Y@5od46_5RzwXZ0XZo%?>OZsm_>&S?;tUa^8OQ`2CV_YB!hsMW=dgm$hcR7I4-QR| z%@RZ2YpgK!C}s{#UDrbZutIMVP=;+Sixw!?Da5;sinKLNlOd>=upbu!p#$W3B9KBL zYy+BpGJtv*GM5bKL;~W)5^I=pP^N}&bQXY{?`v5Da#M4X04@Ms0Lgu(@fbo**T^iu ztf9eb`|CE$0Pf#GrFE-y3rF>L67X9#fYsLLt;G)HO9@0!BSz3V>KP_wUxKC8y+Uy|)V+;|NRLuKO(95WJ{jf@8b*$r=MH z&tUEKu-X^B0Y=0>MJqPXz;&zAY+*?mp!~_UM)66UoJc^yB*!*ZC|DCWB(qSx`iT1r zA2*aq;A)3zZ4|7HsXID;SX9gUI9XtV4ls{|RKp4g~hFTc9WePNNH#t*ApN2M}OZ_g1$tVY! zrHjuHVY1XY8sS~0Tc%1G0&y_$8Iy(tsqvxD;Fg+**xYC6dk+00S@Pb#U=V(OexB#< zwXJFY=IELx#Pt#&)CHw>KA|&78&b+#AZXL3q?Cy~0~$0RP-iSBB(UuV+Gt~jlV=c6 z8pV##;!KN`g9Azh2C%U{&H`GkR!z_blQGM#fPigLHq(kSWx&tp71+MjsyU07uyS;< z`2^VeR&&Z1`W^3gjl#JC9EXl1A1naYiP5Ve5r(0&E~jaruvLFo-m(yg<2ZUglbp(p-*%|_))DgPIR{fCl4)Iak@yi`KN@WzvrJhZ~6HV=c5RiPBDsfWYX1Ck8 z9^In1CQQ?SPP>GCsN#l2tvP|65$B^MP(Qq@I^YO#M&k+Wan2vl6NISQ5c03C>qQa( zbw2cyAtC$dnXdcU>-&<=fwNT2`%|Ojb~+v3^Et=Yz)RlMvs1%(r5t<@r$Tm90O}jw zmD@qFuXJJ#`iaZD*nkSzQ6Kj1Jq#mc!2bpc-dlY0wbJ>$XBZ`u>?HxiAY|^~^G9q` zs#M-27aA$u=L+~yM%py1sdYt<9)L<1R){iyX?k773BWF1&;alVChlvjr3ndmMSKFp z1e}at_e4%PpTX1YE$Uhks`8hf31|`gnS}=PnZi;79I@O$)xfC&%yM)*i8`PVpK^iX zB}mh+%K&zSIV`%)({+aN0XuHqECKXY<^=DvJw(vJ4wA9<&CATs z)8mFJ7{%+^f95Y%W7Pp`ejjHh+{kZhPfx|{3R3$L<+T6ZBHQ}^pP!DpX2}#i`8@yt N002ovPDHLkV1i99cz^%^ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/pidgey_still_front_pic.png b/graphics/pokemon/front_pics/pidgey_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..081602716f52dfe97a69a0d8ecab428c8069f1cd GIT binary patch literal 515 zcmV+e0{s1nP)K(J^bnP!I?3EYf0vU_U^IeucPLI$j1vq@Zsp!OpJ|PpcXoxdUb}s5TXEtoZu@02J&p_<3Mmz z<|Ph}nl}M7Oj3$F|z{ z!V)Nu^V5}RU3c&ixtW%?><2WDOOx{xe886M&JXpM>lbOrveMZtu`vJu002ovPDHLk FV1hJ8=~w^& literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/pikachu_still_front_pic.png b/graphics/pokemon/front_pics/pikachu_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..18f83cf023ea0d8c9a9003aaa5b60ae06650735c GIT binary patch literal 600 zcmV-e0;m0nP)Klrc|(KorMskQ@034iLY9@9JXHg$J7q0v(Mh$k-2N z9Nl!&$#itZG%0q_l+WP1LTTY%+riEF5|ZZrKmPB3$Lk64x5_>SRP)~gtLjLEVi#cS z?Bb(cw5x&x-ZzW(Y6so{pjouMqTuo@Agq5xP<(Je)BrKS6}#mIkN_}ZcYLD41pRSJ zK*$*g3lqn273s+8LSzn=*6Rj|(E@5fP3x@gZ4XG{+;LRpskLCa&>l80Hi?`}17Qc4Y-SGep2Tvv%(1M=&4Ad9p$2!-Sflh%*C?;oV3zXd4CxeTo1BQ0OSY-7{>PZQgd2Cu( zh?xiVB;`}?znS5BN~m)FIxDekfIXL)tQy^C-`7=DcjhQ|%U&|0)FnP|4qvA-Ne&ta mIX(vXha&1adgcGuzWMKlre7GFcgM0)E*OP>7*{=4Mf^&2a#L_RC!tzL$c5Y z2z(9K2MCZ0^d4O@)kBx8zCZ)GsA+U#9xbVjNGizz^26Kz>G3_jpALdIdBg#l%jf(! zCUibdpdTl6oS2|b2&Ghx0C|E!pK^bR3GKxTe}U$r^_d@d2ekJ&_|8cC`Y2I)3M5^N z%n%+RB}RP-PZPQEe(I!bd zg$GC|Ieq^OKnY3y0nSC_=#YLDD6r@3H_;Vvfd5%&f!YCB@3U6`_**)_EFA#S2BuE{ z=?C%wkU7AdJ_W=JfI#5V0%ZGS%sm*ObaI{JqF4t|0kCucOp0W<(hgAeIzJg;o?zl6 zuY?dbFu}aAY@TAQXHan$m|_FGW)%W#S>c?81>}`v^??O#RvTVtMm-|hpge@9z=D2sF3MmKl(BBxFc5~NMG7*Ri{$j_%;hL)3ApeiPw67D-n@{e zw=R~$XED%c$&#sndo&sZ5QzrJ(j`9(dbm%=|9+9mvM>E7J$+EWvn2wolC=qFDQ)MR zvnfLRo`@ee!0i*gz3=rV8;nQ9VP9;Pz|JesW9iJ90NivY0syhm!i{qPD({vysE$g1 zKXd_5-{v8*5r~F>iT>pgF=~;C(4y(W4iA=$E`dU!;u_8X0v`xsOCU$_cwP6W$17k> z^(ctEhU;bBkC$JsoLnU0&f)jVx;HPES1zzh07dI=(i${CWFfn29Z-3Cc8BqxdGvg? zbt<%g9WCvFUduwIM>u+ahMjj#IXy0c`&oA0`xEG}4snYKtB|3ACPdwuep&!Rf+p?7 z4FCgb0dV#gP@FNwM~LPqo`EVXyi^3fQc>31nO8t+$)t~;4`Ws$Jl)c;{%4%Sy_J*` z{fwm}Bl{?a!B$6aT2BCZl_F}K~?Hym?vxP#pcNLfR+tN<+tEB3b}CjNv>1 zt71S;6kjk9fK?vlP*4U9MZ{Q5r#Fh>hBTTcRCKCUl?1j*6QP``B`${yDrdT!dQ#5G z8f9t+x(q~&&ha#m)v}m`)~)3^CO<;?s$din<(S3y>P@Xx=`Yxu2Adq(~YovVr*j zDy3CtTSDqc&JIJn6hB|)68{KJC*r(5J0Z|JO2_t;$i91@`@ZjczB7#faqu@!$E()P zUx*G7Pa%K2Zt*K*0A2{fVBcDQ)aP4HD0mqeN`FT)^b#>y%k|H z#%xuf^H8-*gp%W+VV&Kp^$6(w4p8mw)ucmlW+@V#2e!->0jkTJ?FY7yv6c#C+pNb| z6K32!c7e5A&uO|5h$8p`E%{Xr>K(Fjg&7m#;fG(y%>~n;YsvWz{F$TUIOC_fPfmRj57kt4E_rN5Q~o*F>Nm_Bx|A{4%`dP zhKbIYitxAAg%>)`#V4&0(^;Fj;>$X@96t)w2cNfsvW)(0;P#~k7~>+C%!GjAA7~~F zT8UZ4pM{4**}Q^U8_DbQ34@2tXo4p$-h=q>ayVpiYf3*Gycy zL*efuz6(TO2B`@{1&9QUy(v!e@4_p#=dmJT0+lD*7=f1njEuUYNYo>cA0WxYpFJR; zPAL^YBq`1*Hd#9ZC>l0bQbd>3D+1)J6GVEd=Q5XtNu$AJe$rIO~!>U&qad4Q1M$hdVqgw&wdc}xwxQ|Ka9UeVE`h9>%eBMBGG$r_=j=3VEN^(0npv}4Mry(GteOl>TmmNj%6N58vM5`wYWKe| t)4bV6)DQD&V0!cN&(U)9p4k2m$1nEH@A#Jqt?2*&002ovPDHLkV1hxCnBxEd literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/plusle_still_front_pic.png b/graphics/pokemon/front_pics/plusle_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..dc38ca3d1a4d35b0d4c79d0e57edf0a09fa80c6b GIT binary patch literal 524 zcmV+n0`vWeP)Kl+S9yKoG_kT4_#!2z`OEX+1@B2;K@+p*7@0V}BS#~4DrT(If^z*zv58~=AO&L9` zfRspMWvrAg4?4xCz$yqT-5@Ps1VJbdBa)AVtj^X3(YlR96-N!$BMD1iG3Ag+&5rS#^L$tZ7gZ8><93 zU5FZJT-l>Kw6goT%K*Jr2H<32q#r_vwNnDb19A4CGETu^fFx3T zkTht@Iow3>vQCg9$pFR-nzY332M35H;#xgErwg->svh~v^W|?4U%h|}X@rqC=wnBB zoT?54cd7+AY{+e|2iUQt!G_4k0Jbky?;If1PLFQYo^yIl8DKl-0j~h?d%s{p)T~Jf zJkx>!&_$fMgY_BU4P8H{SbK3)O>mn__5YCU6y=FO1Bl8x=YdQ8@A?5ohl`S_b$m?# O0000@gAfo9dr-|N00001 zbW%=J06^y0W&i*JKuJVFR7i>4mBDJ;KoEv?F(j8PA<%1~eT0>h90G=R0}T{REeqO{ z4+T39&}8LPD7LFvD5wyMtyAvy8$>yk9D=hikr!}Oni46b-p(2qQtw(hw{!i!otgb- zR&t#GFI4)7KDjO=$V92@B4CQ@v?#?iRSr>w0G=-b$aIoAq^O3@UkJ>i5Lf{aae)q> znoZ76mdR^*6C(gvMqGucw?3}#gT0Nlj2~iwr@x*+WCci{>-etL!Jc9@;2{F)9sz5L z)mZ|rmy}9it9k7R8d^K%>3ysdBdytDg(wECeY%C zv`qb<8(DP2SalKTY-0ECsUP%c77z}YMMFfSUN)LMZgu8BCL%|f*ZdK7 zwqXufw>A$un?T)=3$O$6tKcPd_YQm^>~E_-;9bV{Jlcqsyqq@rI|Fk2+v6M`O}C1G z{R4nN5aSST++|z^gJigC_6zKlRZzuKp4kwUU?roNF z>S`ejaGb((&~e>6C}S^8*!^^G2L!1ljwb=)TT4H?DZ-)~;=l-gvJeLEXF-?B=y|V+ zLeM?GxI(=J_7jIFVDIwd8g)ExHG~icF`?FOUt3z}_m@KmfXce?03#ZJg`QIWii5RQ zqHqsU_SI6z+2-wNO*n))(FyRC(6lTS7n~C5G_z*|J$T9};(QQ`I`XKYcYnb^}y=A`2|@)u`}glH(=d`l_iZ_Gx@9MwGS(lUkS z2#f0FHJRsK^dbT8l8pkQX+Q6G+>~2OWV+84rv4dGiu2_j83twZZT@+F0HZbE#fX&K Qp8x;=07*qoM6N<$f=$`(RsaA1 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/poliwhirl_still_front_pic.png b/graphics/pokemon/front_pics/poliwhirl_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..ab7eb3a4bf36b65ed584258700146de190343f0d GIT binary patch literal 725 zcmV;`0xJE9P)KlfO^fKorM4wyJP+W^ty9^8ykfg100R!T(ypi!+rZ zOKhlg$`m`}W@;$hujaN!1Sk;0)#0laP` z{4^Z&8>eBwwnf+1IYt=GR^sni^+xW55VH1{J*rP@myIra) z4d8F)fWHJd=LhJCYOhW`^3}6;;Eb0*1&%l$LDYyi`BPs_0lRt+G)q7eqdUJFDIoPZ zP%WHr?m=0k0`Nw6&B-1SfzD9?9;^V`0!~sO9#PqKl!m>ts;}gvu=MM%wC5w&PYLnQ~*LqP~1r5Y7zDzJ%IHd9I8eyl`5*I*@^7?YE zQ+s~W#|t2pNw$_kH<-=J=cQX|LA1Kl(BExKorJ3rbvl&P6je^ERm~5BDVlihx9K?LI=lN z$dW^?L|}o}fW-Vvq-G2Us@e^6h-Qp|zoB;~F<_q}b#6Z~oOnNf-+Rv-mi1qMtzG$J zb&%3n-wW`5rVk6mXA=jDgxLJc zc7|%V&^{o4qzD__^Z4xD8a;GQcF&T}h(@ilNpy$q6lSJf{y za7svl=F2g#Lu?92vgiBmCqfP>z0jWx;G7)P6i_T=FGz`dlvXuxRGz&8SL8Ewkf?;y zLp8*S2CB5|#e29tP#K{D+#Ijc8e`Wqf6dBX+@qdr1rScDcg>oLVQT{wK}ad=sWPcG zZjRa-Xcl3;q<3m>C&#^Ff#)1(9|5#k31GSfsNc%>!>dx&hKAE(03hY&qHp!$=2@Nv zO7qYxL*?T(kRg<@IpqycJqs1D#iW$84ZvzM2AKy3sIHfxse$??U_r~W?()!Lj1>Wx zN|;(Hjeiv(Qbik#(?BrRPeUuJCla)F(eJWI(rlmr30?UrLjv~Yc&dBoE~K2yQb349 zxmY=Oq%>UKg@~i~3M>AS0z)s2Vi7{{;{@wc7Ct9a2K)MM1Js7+ED z-^EtH12koxTe?xx&cBYIPbk{j^00000NkvXX Hu0mjfl(1+S literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/ponyta_still_front_pic.png b/graphics/pokemon/front_pics/ponyta_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b2a4e903d3838130cb3bb10b8490cd082a4fa4d4 GIT binary patch literal 752 zcmVClfiDgm$QJsQ0RM5WH zLSBHFL#2vC7)!C#=HS>;U!jqDZ9-({L>oFw0UO&S_jWG8&bR+RGdl?JZ-tDX$cHL; z6o}3qRgjX1VwN~Wh0%OGS5pz^eBymTc{EqCI?eKaF8^GeEB2VEOh8f|kZLkwfX=3W ze+DAH@-j1lQmHY`mbAGQ1(GIt;N3teZI|WYyq(!9f^S4KYP%^f}K!g9?kI0SDXg+R_04!~MK? zX4TPUKod32!=eC)p34qx*hQxZxahc;<-sWe#%f{Y1nd%^nO)ifd=xl30GM0(BkuXQ z;;*^^Z0s^XabecF({&yZ6ANsj!mKsWhBn{FxX;|6Oc>x|59~Pdoi*SWYcQaN2{d^n z^v9rFLbujT6QBWobxdeplmLEDx=3I~GoC@uz9`jbSWOCgeDf0VB*o%Bu!F_6>>Znk z3j>S$z|Uzr@g+2W@wbjJv9u4u;EN`&S|C!V5)dnNR?uQ=28`0atWEG1PPEjCaH}3u zm~VS}6+ix1h@=t_4{4i$hg*KvYQRjj^=c(P+*H=UwQnx|zNu&;53ooza6ow%KX1N2 i1yoz_;*j-!5q|)7DLy8Mvj7hO0000%A_P)rF)=~Kz0LpCTC|H=-bz8NIYIyb{{R30k)OvI00001 zbW%=J06^y0W&i*IxJg7oR7i>Kl(BBxFc5|{dLujpsHg0GhQ5S{lcK4~K(U&V4%SJ? zprKG~PeBICxTSf3K0tx?8Tu@B3P@Cjh9RZRq`0<2ZX)o1`v1EV$S8WN|FYOIAfgeU zuLD3IA0yQUfPp8G&I1|jF1yjyWf0KU&yS%daQUvFK!#q!fdT;Qvy6!5Gx`hxu$luF z_lONZl0VF3+zG_`_s{RMO?>&V#oIscw>h2rfxo{H@y9nTXv%PY+pxu{#!WEx`P7IB z-0d1ma5Kl#)9U6F$OgTCQP!c=YDuI{n=l#mS7me}xn9x1nZ{(`Zq(`FO!!th2-`t! z9hOT&B+jHGF|w!^ z{Ys`d3q(!4C%C{;4*;K%*abT144{t@i(~9+7wDk_xVI-Iu=6ZJWs38$d4;v-wPA>= zun&zrc>*F<*4s&7W$C>?S{GvaQqSBkR$}O#8$H7MTm92|1zrB}+Lpz@3jhEB07*qo IM6N<$f_kY2{Qv*} literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/porygon2_still_front_pic.png b/graphics/pokemon/front_pics/porygon2_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..ef08816d7f3f21aa4abcd179fee1ce1ca6c2a38c GIT binary patch literal 541 zcmV+&0^Kld(?1Kp4kwz=1L$CUr0&7N3ASAAs-?2M08vbDyD8 zZ#9u{2a}Ur8PLIiFet$U2}2hi$H7gv^R8%OxV8_Vd`X*J{=fTw*ZclOXjgxeEznX-k(^8>p8;cLq_xFLZIeZDeADZ<00000NkvXXu0mjf9PR7a literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/porygon_still_front_pic.png b/graphics/pokemon/front_pics/porygon_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..c22e57d32d876d302c2901ef498abc4d2b7fe335 GIT binary patch literal 559 zcmV+~0?_@5P)Kk}+!nK@f!(3?$XToTL?Q71ITD1iM4=Af4TrGL?I& zv@z~gB7}gIz5h;Qz*JiX(!|W(so<`gRH@>0=lgi`=BMIxn~WS?!nb*vWvpngMoZcqTeJO(bvfHw~YHK-UH+5o(aq%U*aHzTyc z=ZJE?N#FGez>Ns{r!sa`Q;K9h^}ve2JR}(r$3loyfp11&OeuDOSg#Twk{LH6?1TDT z17cuBpoyXkAd7x)Qa2;eWqyUa0&<8GnTEDO4N8Fq`aNpv*#>mg>pDO+k)u1gwl~mz z2oVE%j&@~Z1N0P7#5H15j;Mq;%fRCRh@l2L6r`eTfETGpvXCnRIPaQ7m!1McDtiRF z4bIKKBvWNnEw;vvZle)JmIYHfnWt9TfwrBf>TnL|ICc~H=sxHkv^VVLHOMxEEhoSO x+R$(00001 zbW%=J06^y0W&i*JheCl)rD+^uUzGIcGRXQu2d`2(O^x13vb zs|05&AzKWnDOJ-5bH(`s>MCm}J-Z#jLm!-pw;eV;D>W#$@S z><$RX*IjQJEvr=5nLCU*mQG0jWpu51Lk*Fgqe_*o6XTp;=tRAt!NC8DlMc_uDd?Ze~wvhxJW@?&*g{~le=0l1*nDY54${8{C)td?>}1HL zcbgjAHmqc~;xvR0@`XCJ3SGlY?UFiKwi?CQt9>~z$!fdc-?_jtTokj*sJgHM7`xCB zNLCW_fQf(@fKd#j`}qd?le;3B?Ja=P2;Ef`Val`jK%q_pTnOKl(ACWFc5}aT#GzT-aw{?A-bANjSGf7<&q|GECn&)X?pWaWG zxKI7G1@D_lgaBIO`hoR+R7YBy71%NTK;NR)8el!r=4NGd0N{oPcB>ufD*}K`A@mwI zq$7@`aA1l{pwC4K>suxPz}*#TKd*|fu=~aX{pP!(xW3ux*o6bAi!XcEmw3`TuJH%J zq0Nq*t>H;CHVLTK+f1I;G$~pU(1EEwZL?oWIa5(HQ4N8J4=3+st~#^?L@rarD$BBW z`2uYRfN>igwmqO0`?@X-#%-kC0|8Qn-$AF~BxhmePb?fN=4!1$a*bhaRwwISmIxgc@BLmvG<1jU8%qj7|4?Wdl$% zgZL*PUV-4DW(FY!4gmPD*-NmSdBqXiH;4hLQh!cIMCf?LR*A31-V& z&FS@M&(wkimO0&6)g-@Fu3FaP@=(rwG7G2vkt2Mo$lXjH%03aBBe?he!}0V}nM^%{ bZ!s1x$@Xm;4bkEZ00000NkvXXu0mjf1$`BG literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/pupitar_still_front_pic.png b/graphics/pokemon/front_pics/pupitar_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..9e48ec20a27e75c95a1eb26f1e3f6e6897ad6f3a GIT binary patch literal 594 zcmV-Y0&CS)UtgL%`gZ}{k{{a900RKTjVh|7zqTm^H00001 zbW%=J06^y0W&i*I&`Cr=R7i>Klre7OFc3vm(6!-ew+lepwSf#(C!mJ442i6HhCM>6 zly1}c2z#mR?F3ShCfuPYH`dU(Kz=2FPk;UlN2;nHF%pMw0FwdX*;7lvWqN9A)_zwB zIRQdj7T8xpB|rdP?gEYG0keHJ>f);vV9R&V)kcqS>2(?CbdMtxDhOGtuGVb>$N`uD z+4VR;uHbJVa}aW8R5D1w%H6t{gORFJWB_OntA0_&>=FRBApkwoh>=FhTKDioFH@BT zAfybP@&IwfNwv)*2@saU{j-|yLK445XPvq4avUsBU8g{6}SfK z1h_C10BVCQT5Q*D3HU}QfKrS$RO>~bw(4t4gBWmJzMdP+K#NR(NvqnWeeiMdOX>tmPIehseNC1YEWVvFI?Zf-h!F2&q`$n)99k&7z!e g);iul|4~8z0Uj8{>*EWU@c;k-07*qoM6N<$f_CBz#{d8T literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/quagsire_still_front_pic.png b/graphics/pokemon/front_pics/quagsire_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..d065f9fa10ea34b09d31dd723e0815395add033c GIT binary patch literal 706 zcmV;z0zLhSP)mlwy?sbF}{e{}2!m)tj4)00001 zbW%=J06^y0W&i*JKuJVFR7i>ClfRDIKoG|Fu;}lEM2(CLWe%@cm-h^S#x8<%IpR#yts;05m{PisARtf&pTy(Fp6%T6wl+Yv3;ddb+V$s3Rrd z*Ww01x_Yw!g8=tQrR!HKAbFjifWqc-ra3pN(0W^xE*Y^p=<3R~em>?NjkJAO)S*aF z$K|+=Ip|dV?gEL_vYO{t0(9GB`E`6()C{wtyef3qmK-j6kM0NJDTLbXKIzTD- z^Ry&J@YG4b2Iig9B+XjY=s%qeLh`-GxrVjYtHpg+XUsD|8qer5)PqGgDI^()DaC_D zrf@@=vl$djthxiIKQHCwDmxHJcs`vBA?<(&6bD$lTJ~6Yz$7JreLC57cDD;qt!(|B oV;rP6b#^yaH+3R<+K(lKw-Koke?TP!uhDW8B2@yyaA?ZTMsh{#ARjAuGA z6y=gB15)Zvkq~O)*+Qxg_X~s$NNmnoGAliQh00TD24vpZ25evKe1Seiag_J-|L**Z z&|@`Kw5N~1?E~SS3G)F%U0Sq+&Q2mO3%sw z-XH}+_+X<)`uCJldytf$P8h+AguDS@l4GjsQyIVpq~JHcFQifQ>H89h)dC{m>o2~D zUQxPIz%BtCW9SRcIe?Dq<`I=WNQi(w|7=;vcY2yd5}DxKHAz-FP-4xmKIDBu>!&C(zLIi41?1Z-`X~7*-&JR+#CO#m)1qdm zS}~-YmHPG;)$6k846CX6v>2T&1g;=ukGT%4p1=F_pwX4@6D zXRhn$;DFK#H%+=rI6%^QaGZs{N2YGNr)-;`t{yR;pU?83X$n_8;(WPGvLHKqhFxd1 zsz!8Nb>qS5Da-$VSS+-2D6srh456E*JNgKv>8|@8>ko|gRWhJIg!TXc002ovPDHLk FV1kh(#9+fnh00001 zbW%=J06^y0W&i*Iv`IukR7i>KlfO;^K@i5Txl8QW0th}24xL{8$fog{~cngRxMBp+o~wx1^_UD2*^8KcObwF(OW%T*Cn?A zVGVF2P_bo; z#)QH8r(yy+GiCzftBn%i=wk(#Ap@~omhMXeL~drJt2$i@9*eJYGPr%P0m=CA?OA-r zWU#okScJgenlGG#=;T`8n84PYzcvrzvc6!fVd*iQKfRMfC(ms&lotBnjM0v#p7Y<3|N3=(17tYKj1#A-Bme*a07*qoM6N<$ Eg8sevdjJ3c literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/raichu_still_front_pic.png b/graphics/pokemon/front_pics/raichu_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..8c324b5e5ef6f97ce0b10a930765dc56311ee2f7 GIT binary patch literal 877 zcmV-z1CsoSP)q$gGR7i=<)K5zrK@M#xIu-2yKqDBZT^Sx!kwkx0leL3tSHweW0_NVPr5aaH5VWKox*UfU!wPAquwO+85w)7Zb7+1>*d4 zXc0gC2|%d<`w)N({>`!ViZoPkCBY8>x$XnYQfdIu1-Nr>4u-%2glhmmVsxDwLlCMl zv00Ya;-%38K%fU@&_f@HUC2FZpA&VCUt1o)rH8!f(EVkiq`2~cj&uE+KgX2LE-NX% zc>wkBlbal4AH;5lQY3t!wF$}h*=}A1IvkYsUM2JDJ2#B3N#>t(&U=yXGf3gTDS9uq0>rtW`|E8$^PBsk ze80o>rs;va8P|i>Zo&?Vf7P%VGlk|*?+9)K4yA9&lC03AGzRqf1*B=U7eQHv{n(!v0F&-eRfa00000NkvXXu0mjf Dl-iC} literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/raikou_still_front_pic.png b/graphics/pokemon/front_pics/raikou_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..f9ee02ea9d916105790deacd12119e5fcf589cec GIT binary patch literal 1155 zcmV-}1bq96P)f~^)to7dVi47||Fm=ednw*Q5R}CL0RI60)z#Icq@-$UY7h_*^b?1P00001 zbW%=J06^y0W&i*L0ZBwbR7i<^l|gUfMij?=h^6EZ&`8~zAu8TurPVUtThvv_aI3;D zglltK`Ux``FZZ5d%fhsu0n`VnHEQDrA`z#ZbV79MJDuKZ)w+8@)tq!Huf-c<|?}=UF z3Iw(mly-l&f6ci)vDyHm7-)cqr>=PF1p9q-iT7;bE$0+ZyCF@U9K!!`8MSmgKb^D0ty}o$d^m{mwB4D@K1Y>Y`$hDPlNE%SQ zi5<^l{B_?SG2yTT7=Z$L+1-L30sJf93x|wUlKld+8SXoO6fo8eT=0wN#9?;{aGdu> zex~P$zYDsd8%2ooCCUL%UIVw#IYq3LY5|w@GYPzfKHQN+gv)qzTh(iD6$(WOXdA$B z8H;v)_5FhcbbSXHAZV_7zoAs(f~{8YY)w9pXDUHuxBP zf<=|F69f@Z4;}FgWLy_X;PrVR9>Z`P0q=UtUbxPY4G|m|Y9&A?eG!hMGCpb^8;#d8 zv+@h0&Q6f#O|x-e2rBb#jb;88fFv(RJ+TdBhprZE{)sTR`{feLt&Hw-Z|IPobl;)Iky>l^pN)Qkb`XQs!00001 zbW%=J06^y0W&i*IFG)l}R7i>K(y>m%Knw=p8`2H6@~O;Goa`0t1JFe5K}d*5yhvXl z(n*NNVY&t$fCjOrmo6|t0u@>5abd3g09C#E)9;HNA&zyRb$!YA2aB8+gN4eCd1ZmR zt)9MVktvmH&4?SN?zIyncvtGqftrkPpwhZnQeaqRJ*bu&5f&kEJohBbxHL(5n|igL+-A%7z1GW6ZBH)FOsW^AGAT;*nz1zS(xyp3}#O0TDyy zoF1HBVM_Of=p?30KrbS`FD@d!?c%9vsRF~|rf`-O)HJ#ZJ_zl)LW0JiRru$FvhH~X2Tmi&ri b9en)(fV7P_-UZCb00000NkvXXu0mjfW|hLi literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/rapidash_still_front_pic.png b/graphics/pokemon/front_pics/rapidash_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..156aa6a5906b16f97987f238115e8d9119d7d95b GIT binary patch literal 986 zcmV<0110>4P)V$LoSa%(S`ZKr{lv!M00001 zbW%=J06^y0W&i*KSV=@dR7i=9mA`A-KorMs@?udf{RD^l3(RC7!z(Ji`reKWX?;ospFEQTo7`B9$F_29iSCqNRlV~Ob& z_u`>A$cGGobrOWrPG?7PAP*f#6yl&56{o15I_h*_;cC#?BKryeLLs7`yB%2g9&-Fd z_Th6mjyBauw{i!2s@E5yf3_6QuO1*XVu`h5b%i)i5TW)?I6s$swX);B=hXnLqpeqf zpC$WVWQgLpMFg=b6uDUb=o6Nb+hljk0-q~@`u~J8jg_*Uk|*+NDZ3{K|d2w!cS!Q z)C^#PXJNv>j@5M1sM3*vqVaL?t!!3lX7rJ}$DE$_n$w^Wo^&1Sr!fY7swX|+?e!^9^`))z#Isw6t?`a}W>^uA}~M00001 zbW%=J06^y0W&i*Ja7jc#R7i>KlfQ4;KorMM$_9hQT%kxXW{RYL}>6HohK^-}j^U zzVBHebkIRhq!c{=^)H=E2c;N~-aaH<=Adic(z$o7Q!bI-s|1mP^0G^Hy3}>OYspHl z8VAxB-K9=V*VNDXh2@7Ol4#+cU+d<_&$RpV%%xF^Ako5|5Letkqt=<$rj{d13UPJ` z7`(k`egeScAj@=;EqY|gNx#mzl#dC>rB;+;+d^5BP+(UDh*FCuXCU7DA?^sNiCp!iB@tpXrM0!zTg*g+_XpuXB@XadWW_6(n( zJx$(gp!OOP%y6-=5AcNqv=+M=Vq7fm14wC$DG;JGD~0NucAb!KewEC2ui07*qoM6N<$f)5o~kpKVy literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/rattata_still_front_pic.png b/graphics/pokemon/front_pics/rattata_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..28abd0e9a5570988c7a702a9e43216c43a3eac28 GIT binary patch literal 488 zcmVP)Kld(?2Fc5~VFr^ZMnUJy+Z!Kbim+07mr4Nve*@dyw zB}-9-RL)aVftt8ek&vK%iZa4Wz*eSmL1KU$&Wz{{H~9a2_up9-VjKTE5dC^M*47Vb z4HF;G(EU91mdGKk0|qrcVB`nHw3%Oe0qWv6L0xKr0ed>B0j^D%vBVl94!BC_nL<7M z71&849FS{(#2k0lU|9>IAl)M38j>le z8`6wJ+>~`V2aqDZb#a5%A_oME2!?SN(Z09>Ig*A~6oIOY5tQlv)U^RfI(%VwEwV__uPSlH?BVmAepPh?-=_io?pLg`J+CfQ e;4iR^KOP@AeU*LR>Z=_90000e)I02mk;wBjQ400001 zbW%=J06^y0W&i*Kp-DtRR7i<^lrf9rRuIP}+@!PSo($36f?(M`_ZYcI;3D2>RBRwN zI!kT#Go;#&kn4iUrf|C8DsDp9@&ZT5b-R$l+uk*IX^oAvgeNkXSoZtr z|DQK+W-O~(XdPa??9u**>;#H#5v~sbGR3Ym8UVmC1`&qc0AznAV6(yhIAHeGYW2$OcMJ3~vyv3M z1$szi_E|t`=m3T(JvlicB9z65I*4KR^pwm}1<~!6uv-C~MgW2+Vz0MU5uVc&pjTit z_z*a{t%wFNczXKe-v`D5&HDV-B-Os$U5TAl0nithD7S=a0{v9M(PFXqX?BSSf{Dj$ z;_(NzF8ZIf$ZvTRb2!XRjr-$&29`Pv4SaICwG6XGhwXxwo4=03Dt0zXc`=W__ji4XSWW&a5C z4P29?yF`uAkAvWNQSijVIq5FY}-IXZvn7X*@y zUn&$-s3stBGfd$5RS==8e!VGyaRZQX7P{W_55yb;|2YsJ!T@y-^tkGi9Nfa!A<7#K zu9W1CQP%=NoTap>YA%=8za0O@fFj>&2vD>sOA>tj0&cDlXiV#t0K0Qg8b5Q^{tHgz zNgH5w!F`wG&wOLnT4O+;NN4Ym5_gW-*43XvBPm}s0cB4?>-rsmc`y#^dI^Xfl)z76 zKWs&ac^GVeyA+!yVB2Zk*+PP55mf`cAIHF7XI0=_*tEoVxb@(+R+Od_aBDzd@Oml5 za_eCS1VJ2UnFOx{SZhRYLi_R7!$y@U7@8?1Va)@Pz21)aqQr6=b}nb%r&5%I>>Nx; zv|5H{c48HEAGuMps1$*65{#DSra4x(lGt!p8xc3=exNT`ydRd?r~%W_M&yi=!c3_* z7@BBpiBi=SX-30rDi|2is@gAsvr6JfnYqE(3MZh8K002rd2Ppw(*IYqR)V7)+G_}Xd#mfM&@e!ggL^Wm(1b4=Oq d@0+Eq{{R9|Uz%Gij&A?}002ovPDHLkV1jL}?t%aS literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/regice_still_front_pic.png b/graphics/pokemon/front_pics/regice_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..022a3a855cab3b63746f9a39b4359852b13def12 GIT binary patch literal 883 zcmV-(1C0EMP)|ec4(> zmcvYKhM>?N&73Ld7#Jwf)jd*@W65%+a7*~;mrC6qvU%FA@UwFsBK|Jj37Wf(UKb?HX|xJu7c%<6@LLpQ1b zspO^0sO>MFo}S_Prw(yuW3`rP{drovyu8BeFAY2ZAE5p`(So?ie69xB1bqm4wS5Nk zT=W6F%@A>LARuSp61`Sn%{_X|4jr8l0D!AJ_LGi0FXfpB^c`n8df90Cjc^7 zWqY88_>Hd7HxV$%c^};sR-muc8o4ZAZS?^(();rjQUwCO?TF|)GGIz0UD6zB55O~E z7^&MLA=ZHBxC9|GSaS(@>FFAz%OJWWtN7~n2$3VX;Zm?dHu{s4Jb4%WD0v-wj z;_4UTp|LM4uLd5P0o*A4qaaJrvd>ivf(Idsxo_DofzUC#e{DcG15>#ZL2y)I0b;KN zUOTYjPvucw>j@R$qfP)}7yozW?I#FvUM8Ic)siPpXeNEw`VUL`DDu0o361~&002ov JPDHLkV1gxkhlBtC literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/regirock_still_front_pic.png b/graphics/pokemon/front_pics/regirock_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..9e179079a863240612832fdf9eaa0cd01660e013 GIT binary patch literal 965 zcmV;$13LVPP)+S^IT#oi7Wt&300001 zbW%=J06^y0W&i*KLrFwIR7i=Q&Zs%3E3}@mfyxezlH(j6R6M8cEppMjztfGAmRPp^Su8^#{SzQ z#M3V+96MD0Y~tE81ZS+*EN<<1GdFQPB3#^a*wLT01-xjQh2To5Bn%iw3_$H{0CgXL z@&dM7-}ahqpt{w$0Z5dKE2L0c9xs}|s@wZa-vih!Z|1L_0|s}QzRNrc%5rWTZI7dm zS6XHGoYVgG?3GEu2EKhe|M72l=yR#WRbzlZnl8YrUw`P|W%t<#i3%wXo2L0R?*ioj zHDpMGl-h&*QPa$Rv!KP$IYkm#%dFDBi*ipiBnvNSy{T))(*}|J;vjUxNt=|r-0cWL~XqI=^X_W376uf zB>{gRaZ#2nkdQjH0MTYpys4`eP|1Pv?K0Y(K1GYF_e8ErNM71GoIL^cJL!GK@`f8g zE71aoEs;k9KAFEwl53vi8!*+;$J^u7WR7WOcp zBjK=v$7ghj_oei=fv~u6`glzJ%f9l`WDDq%^oIRJ$^yVav~AJHDi3*Lvg1jbrv8?N zN`^};0v$7+L{W6iHqUCceApa(Lt#_k@$6t6OU9#U_`(c*A_<@?)l` np00000NkvXXu0mjfXSBu; literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/registeel_still_front_pic.png b/graphics/pokemon/front_pics/registeel_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..d7fe7e101b914a99742b794a1da1022cf08dbbdb GIT binary patch literal 948 zcmV;l155mgP)W$00001 zbW%=J06^y0W&i*KGD$>1R7i=%mA`M=KorM){s+oo0~xAP3`mtSMCLhjIgz`zL6rokn*ODNC^2mt#!f; z0v+MTL}-dwh+|PI0%Z)VS(XiK3N62zidI|{s89-7HnD&>_RmHnQAo6b1WdB&r3GSf zHcFEM5cFsc7t<`ev_-~Im;PI;X1JpY6+scMzFWY9ZdVk5eFI$mm|p!f5eN`znlz7I z0AB;YYzSchk-!RY5q)t?AqWuK5&{y~1SZ)e2f|1I0m~{FrUsZ&nc7W0A0Xu33J_Fy zVnPhSSSR$L+CN|B$YLG?6oDqa-!A}f9yvhcVg;1xH+xZFHF=93m|=bKD7f}RiS@I5 zoUb2-hu8}m)jk<*WmEg9!decvUmpgCcY#y_XVSMUjoR|GdeS1Tw#&VjH1c-*tZScpjbc`k;YpAwt$YB`6PfJw#Rs-lqyPW_q>F=#b835HT2etd_F6&BK{5aK-iv!u)?j~~00001 zbW%=J06^y0W&i*JbxA})R7i>KltF6~Q4q%;i4ts1?_sIE6f!0(#8Z3*C5KX5a}|>k zf_{LQVgIv;Gth4MLp&-IB&DfZqj8vc@gKbu>aqi z`Ooa^W9;9KrQ<*7?^oi1&v`pm|0=#1ar&($!dV<})B|kACK%-J#Q{eO;w|(K^3fJ< zZ1@!p03s_Crf*M`f;Uk*hz;L@Qc(#KWAK2brc#j!)*%4MA|5a3N#O%z;VtQnmx~TT z15)CtcHlOymDwa<>;7c&ODDjFmnIyNba*`(^E=do))zXFobHPs$ok#k?x%w!B8ky`w7=3+mnxAyAP68mopI!mV2UabV0gzdqj3E~S zIsy<&4}%%iIgN2osdwL%%21U8)FbGXT+x-=Hl4P^+f*o5%T*wk+|b_aRvPDt>i7xIZWn>`7hVNg zX+-N&0Nm8&vo+2|8`~oXZI(u>A70sAO%w}!xs6WCb=?;G)}R0Th>)_v4JvN8UB_mr z^PU=neeOzGukdHuo$26^5i#h^{aL2TDnh$+Y#i#NDOW9Clqr+3a|d02Kq)ioib(fd pC+>D*Y|k-cb(V@h|3Cg>{095>AozH2cEA7t002ovPDHLkV1gIBTn_*M literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/remoraid_still_front_pic.png b/graphics/pokemon/front_pics/remoraid_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b80e2af891ec185acfcdd9bf672beb871da18220 GIT binary patch literal 483 zcmV<90UZ8`P)$q3i=;V9dy4=7{{a900RR60|JBvitgN(qdxKh9S}7?xM3K2@00001 zbW%=J06^y0W&i*IVM#Kld*2XFc5}4)LBuamQEGIfj$72uvP^(YeCTLub(U`NdDH@^SzCdp6M?yE0aV%o z=>E1P!U@2IMkHX+ZSpfA1oG(K5t7dieh}uN?*eWaBR>FuM6VoI5U@Z=HY|#*hYnz{ zrvInpttHkp4H7zSdf=>{rMB#c?p@TmTypVt}JGGW|m zRE?54EMSafwcB!-2>WFa0Abw&%|T82<71y+cL5|~Sq~x``WC>j zAX_gDJ@D@=z$+_y5$3xmTsu`uWyVOG03MoM$}gLMkpa9WfTcZiu9^UTFgky~t+W28 ZegKn)Urq=BeLw&J002ovPDHLkV1l%>*4Y36 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/rhydon_still_front_pic.png b/graphics/pokemon/front_pics/rhydon_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..1455d70106f82bb549dcf353668f70785f27c9bd GIT binary patch literal 1039 zcmV+q1n~QbP)kT<&PSMnJ&?Wr_ zU9r-9_70^dSr}_7D@YZX@*K--=ihjI<&ZsC16-0fBwJs{(Pi^;Quxv^O<#v z+sXUm@PzxXx}5;gX4yZ5h4d3k#K$9GQ>eou1$UdJR!8fh5u@G)gmGojO@N0xJ?ce( z03{GWQ{lTl?wuO7oa-v6324e~Sd~2>YF%Sr>0bl_3^H?8h zrb)yK1o(lS_P;6*IR*|H055>jyFn=&l@t-tueZdq_QMo-ySdxzd%*e}j{&NKfd*hj z>nfN6U*y++`9fEehW0?b4c|&L0O#3{uN?gtc3*>#oUdzEAt~4%xXR97W!G>ol3AZb zBNTZfWbeb5XQz2~RoyRlDaS$UlvWV|qft-ut8d@bo8`|92-Ql?Vh;>P#b@)gc~igK zf@)E*59nel3x~}LKIT_vb?HD*h9qDNs<@D5EF*|7@}JmgHAAIY!=j_Qa43WJ;^LCl z#V*lQ1AEyjSW$>W%Q@a@d|6vcuma8!72sjNBQ`*&n_H5X^h9AuLree)`R5JS$evP+ zwqb4zQI~+~*I(M!1A+i|4A2pxurD{aNPE>n=~{GDM>`r(*FdkoIZ#+paLr{>8lCCA zly@b`Iobz}AT(toITn4i&yt(kX>2TMQhduf^uXSThk{F_XKm=i~rHyl-S$E#&+)s?NXCqB9hNfx6&z8PwwG^qaQ5=SJW?mt7CAA$(Lq z@swrXRRu@jra{}GVW6vpKPm?Q$TEBHBk+bw*+~zqXZ*H}z@BF(GvJJUS83fD!)3lt zd@MTn`RPgGw@UI!meTe>Y799>4e{aooG%h8k`JmjJrJhrbhqV>pd?RbUY+|-nthHz z@EE2M143olI_0MKR{+Ca0 zTsjX-Lqx;ewR`>{{s%ylF>;uTxdr4TMmUp6XY6)#g^&rbPOBsxXWk1CYcm02w@d7J zyC*5iB%S6En1itq0ZsDNCuJU2VYt8@w002ov JPDHLkV1mqj=n4P; literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/rhyhorn_still_front_pic.png b/graphics/pokemon/front_pics/rhyhorn_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..357977812030132f89d69b4ad1b2ee26162e0b19 GIT binary patch literal 789 zcmV+w1M2*VP)Kls#|TFc5}?R$2{Ew$}hYTF9oxI%*{#TV9Qb3RjKJ z)&L#St-saQ2ePqa#`Y*Vl9Jc~+Br9Hxre8FU*5@aKI4DG)wdr5-aPmi$fj_ygj>*& zL~ytSB-4ZAGIbePt#6!U4i^EJt$E5KfcOINbq0Wx=LG0;RT2VhaJ=!I`9oBQx-l}vE*Z+*(S2>CB7-QDAg3JqC5*g4O_$}Cy3)1SZ!>6$>`YR zNFh1O-B?5i_yFOiY5{x&cr)x;fUxd?Iz5blQwx+w0%9E#U=6b ztg(df1gz$orR1{A?Z{goY{=>o#L0&*3^enBAJK}%R27QTdjo%Y3y=9+0hot&XT)~F zpasP4#mS5j5MDh*v@s-t(S?}4knRSVR63yhG?ln5Z3QV&q)q?cCFSWOg?ZwIDQzQC zRw5k+f(BI4&Rp+HTB^$KrmT0S5j}8ZF$Bf$=lu_qX=BKb!z8ty4Zw;OPxsIFAdDfO zwR9#lIoMl0SzMW?$NkUmG$J0-^3u)YQY?nuGL;M;_xnNy1xH4>*$!uzYU-qA% z0*rIYOb*UyIXzu~F_FEgjQJKiXM*InKNaIl{v6H$lM3Z2Vb0}=812bt{CoTb0L2I0 T3vi0!00000NkvXXu0mjfePU`g literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/roselia_still_front_pic.png b/graphics/pokemon/front_pics/roselia_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..d018ba6581bbc4f7165494735cc317d7b7b0fa8b GIT binary patch literal 745 zcmVcV|D?SsT9i_h)nc^&d}JD=00001 zbW%=J06^y0W&i*JXGugsR7i>Kld*2oKpe*ZH@HESkbDD$4sFFn72YF6AHWsrMoKR! zqX(`O38`2Dd#zEFTalW=F}171!fL-ko1uLGJK_QEDjuLU=Qv3PjhzR8zdW4${qFld z+h>6PGkXr^=(Y7Zfctn35FBck*)gNrHF5}sYt9CqXu>6jhFekt1>J+1*QLAKq@*9| zx`g}0dQk#AvRpz)K=|wmxo|Ssa|jaUAK@{=^{7 zRFYla0%1QMSpXBx$RJfRORg@a32~$W6FiT$Xqy78rYcoe!(S6X@7I^<5%Th>=lK*? zrIhJVW@C%RI0vGKgnVc;sKx`L5=?Y0IZ!U|3a}9(H1Kz7QT&u+#-62&Pl0U~l6i0$F%(m+rgwQ6#D`^1~4$#*R z8TOVK-mX6*?B)rq?AI-TaYD(|a)WB1d0dqM&~A!q06C&6VFWByIsg_+b1XiiY6n!kUr+V^ be|UZaN*ot*fh0P&00000NkvXXu0mjfm3Udh literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/sableye_still_front_pic.png b/graphics/pokemon/front_pics/sableye_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..5004a61ec3ad14e249a362778c0443535d6b12d8 GIT binary patch literal 619 zcmV-x0+juUP)K(?4t5KokJ*J8cnYn$j;2gO`4VR;B?JJhtCQP8JVmoY191ZqArHH;|~lbLrG2ZxC4Tckj<3BlHsg zBkVUcn%f zkVCn&*fC>TWKs^U091$)aDiA#F;h^gB?dR>i-EGy5O9ou=mH>L0~I>~zL*-Y*fkZv z2}b81xl-RIGc|XPfJT#Jt`_4TXQqb-oN{&f;o|$uG|_*GdZ!+}KP}becs%SH!1h~d zbHx>VeLl^fK&wI|CBU4%v0yYAnii^60P|}ppkyRBTMm!TSgz)+0&yl&4voHH=Iqy# zijj5!6bT&{c5G5HwpTOOBkdhJ8l~$ac#qkLYE8pV+dQtVzc5Clx~>?#b6u4YTK}qR zeM@5=5vMR$c3&+!1bF|Q2kd^zn+O1k&;!VQWIj!x?itJ`C6#^Q&j(XT4gi=hk5Ygn z;jX{tvml3u+W}s!wu6`0hzA1QwxxSR(z5^n002ovPDHLk FV1f(p4zBPyQes*nClnyh zwjKd25p<1emP5+(Jfbg;+#5J7fa6@kvQwfQQhZ~p0OU~ylzcng>=_6TESv$dkbqj6 z3t=M+_j8xy5{l64K0HvLM?ld}!34)ifF*Vw=O_tSJE;4P^T5FQ2uO!^^vXgRQoP*> z)!HfmWn%7~h28KiI6@5f9s$Zk*}@k=V1f`GZUyHU0c=7b?lJ%(rfyCHB}9MzR}Xj@ z)!l%J3BW=h)~{3?(4&cwLJ?<|C6hxo{hdx+<&lm9C*+}K5aO7KwL7rY%vFYN0X(hh z1}zs22|y--E(1p+1zocm-R;OkPfD=qYN|%QNs^rmpgIb^5veRpiOMj2 zH2V?n?mPm3?j3-OwdJuJuP-Hvj~Q?gRZ}+$qLlCSH3_aufKQlJ-xT?s&Dc_l-t>J$ zCE@dH?_b literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/sandshrew_still_front_pic.png b/graphics/pokemon/front_pics/sandshrew_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..12c9cad5a971947f044a39f0135c21717dd87406 GIT binary patch literal 600 zcmV-e0;m0nP)Kl(BBqKoExAV5;DU8C%yRP-JWuAYF0ZxS$A}^)Bq2_YBT+&wNg|-Ik=1_7EnFbmx?Zq0flk7 z9_<1l#JA17xsV0coPMbaN&^s##4Zp`;xnZ_%MrfC^Zd22(wZF~uC!i( zz)p_M%B-}i?r5P~{UskGnyiHFu|v|DzT!H@Oysp?ft|i;weA-Lke+8^w);W^K)u!r zN*Q~D*Vd2&aH337pUhDRymlJayEA zfH19z=%oSOCl&GO;5|gNN4V3&`wC~JvmS{1)}5!r!9s5f-Lnr)4+niq+Yh~J-BbK+ myj*(!09!@$@A_W4bRi&0;zfc0000% literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/sandslash_still_front_pic.png b/graphics/pokemon/front_pics/sandslash_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..86115f777db41c7ea282e2bd6177b4067fb351bd GIT binary patch literal 884 zcmV-)1B?8LP)KR55SUKp4%y(5N_4ghXLrIZsHGp=YULXcm79gZ(Fv z5+nptg~TaCydZ^@p^BA-AKAS6C zb=}|tc}|UAgch^kDztK^TC;9Xrx;1A@csy3p-^OYs1W+K%1&9V<8JCEnuNi^!%EE# zheU1FtThWZuvKir+cOTXT-piY{#t#;;)DQ6Rc@+?Sr`!8x?olVDAo?i;-nU$7@kuZ zGs|Wp9czc_1a~NPpM?_Y;!-j+k7tB!#~A`DOV&u9Cgi+nrk4zvNSJvqyAmSC;rwZY zIXG55g82_)F*0*-#lwo{<)cy_;mxx)odZhZC1*ynUfrL6UwZud(M~qQO08Afzud#w zljifRKv7ofKljwGwqE3=Sp1b%UVW+O5w4Cs%kh{V_hnrO7k%Q0000< KMNUMnLSTY|hnyw= literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/sceptile_still_front_pic.png b/graphics/pokemon/front_pics/sceptile_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..f6ce3a0540cbe7e649ad76973bd5e96a1bf42744 GIT binary patch literal 1047 zcmV+y1nB#TP)E%n5QdIo@yizWe>15$t>-@`0$;zQsmeI7`*zSOTjzr%?ic!>&- z&j1i?{og(R5g<+A=Iadv7oP{TG%c@wK0SwErb;cjgg4Kg0^l4VYc$TGngbSIz$yqB z#xnsH$c#1nYmGBSXqx!-%rJ~c08Rhp>~TQFc>5Tj>HlnSHpwwl8gqS6!~QS8lECV_ z2azwPyB`8f|2}>CAi2pSUwlJ;`17YH4|ZwC5Z`}Eeuz$wz+$}9gFn>uxdg(~uO>jZ z$Ga@~psp{z^=J?NY&u5P*tL@n-laM=WSr^sX5`vvN8A1N3kF4nEPCXZ0mWdLAL;;BV z$g!h4?^S4ehX}l+vz0MwcS}o}d+oA$h2q723s3@YFz>89z6&feCWQ9m?y?N1l`CPR zb^o>6jB2Mcyt0(QOT9rfqxxl)hwR0OYGK>vL|qBJJCjG!ZMb}JZLgeFlWjmg<#Y% z69lj}whD(AeAG`o{|X>YNxyjqQBg3P+nhOk0`{K&aT5d-;O5P_2MyyP4;|J!6Oa&K ztT!|agW!m@nVIzk>+6N9Dg_Td8fRzfgcAUL$J&B%#u_^s0Dvpw)hp7C*93#flw8nP zrJjIrBV}X#PI*Sk1UPK81+_UtNvz*y10a`^&c;62Bb;j9pvljO>TK%z&8~AHOJ_Q|o<&8DkvLb)+mqbufkK$rO5{77CLB zm=4J{nrSq;iYeC!iE!39m6CIenh|gq9||I~3FeAHjx7+w<7U!jMK0rJM=~WK#vOEI z(`zHR!J=^y8+2jXfhuE%2!i&PAzUkJK{=a}ui}HZbeDkKbSXa&!>jrfdf{*H4}jU5 zu_+o_-PS@qYOe|Kk6Scg`&OjWZ(1Wjw9z3+O@|KJYbyBoNDSUTOm%T*{x3V&J%+dz R`y~JX002ovPDHLkV1f`$;#mLy literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/scizor_still_front_pic.png b/graphics/pokemon/front_pics/scizor_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..33bdef332d4207657455989d3fa32ed647a08c0a GIT binary patch literal 998 zcmVeBLz;&}1={o12SDFb}G&-s^!|i(c z99`}^+$ZQ~(H^7Ga9f<*4P9gP=%O7O^PX3>YfCZ_z!CN1^Zt7%A@*y$7DB!iKiBwP zbk}$$#5_Me*Rwt_y%*^T7)R?KAnJP=>ob9>AERFF0kapVd%);700{uOz>{>dst>$Y zZj@w=C`vpP^ko1fHnRX^0zgtW08nDKq^y}k1OjFVq;vz|D@TDq84UoLEK+JkgeCK1 zI_)<~CV5PGLZwg;sHy=lit*MG02ZjKst<@c@!|+sc{hy)jTC8;Fz{8i0@G*!$T($S z>lV(rXpn*sDu#m2%EdA!R5=7DaZL2xlqG)43lYR5jY)rF0HqAt`nE%aWwJvaw{<(PLQj^569)qzRg#avgly0%>daP;edVr(Fx6 zR$GQ`3yhMssd=Er>zDQOCbYK$*8{**9ZYXwH>sk5huV?BQt;fxbc}O zIYZo(a5Rb#5YQl1yxR~1D%*Aq$pZMmx%3*AVr6$@&I!dnM+yeFiwpzH#2hl%uUp_q zfh+@DjuR4F1q9 z4x2^1cX(HVjd9x?TL1s7_U3!dIXRq*F}?qDoZd=vtU*CyAP^7`@g5>A00001 zbW%=J06^y0W&i*J{z*hZR7i=Pld)^tKorIW@l>#coHeeAlGOo|{sVE>(#_B*Wb9Nr z)!?a9Ej(m5B;cjQc*s8>C81NA>PhOB(CBn_h7!n0c88QgEL~5MWhIuaq*Q6hO{9&yv30NR1#DorBIqpXl{Y8aQvo zfTP#v0T+#f_t5}2ucs#j3e6AE(_Dc-p&7oHX9D$JFAbcw z?lK8cLW$G-k#eM5Ap>-xXqsVjTgwb6+lfa8oUB?Vz>T7+Cgv*3VnLD;;58`fPy`qo znxg4w#O1`z&1y1ZsiZ0Dpa|d_nhJ;kOQKjv$M{u5CjIrJD)cN9^1EG6G%-!Xt6_Bp{p7}KE_ItqXp z0Y*@dT@iu)jyl8HKF2@T1J$4JQm@8EMb;YHj=c!r=)~(nfO`VK^2!D*g(cO`5YUu3 z>iH$GKSn0t1*f@qn;c)XNv6p`X;8GCEDNJS@oHmnpUo)Ht5OyqP)^7Mg37S)KlK+Z W@dTL_YIuAA0000YJ;3gYJ(s_TL1s7-o;XsdqHYaDgOZf-rnAvoSXmv0RR903g#C=00001 zbW%=J06^y0W&i*JTuDShR7i>Kl)sA_K@`UaP9)i4Tl-x|uWwkpC_a*6$i=|_gAFO-ykYRjxcGiPu^$}b=|cMfjkhA?}zXEIWqP?{$7YG zp%(4GUR42|J?3Zlq6YImIM9j QuK)l507*qoM6N<$g6>;akpKVy literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/seaking_still_front_pic.png b/graphics/pokemon/front_pics/seaking_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..155dc617211f3d6d297354b2c29d901d9a1a05ff GIT binary patch literal 944 zcmV;h15f;kP)m;{n00001 zbW%=J06^y0W&i*KE=fc|R7i={l(BEqP!Pr~C1VxoOs1m7IPC^$+PVu;sT0UtPo0op z>x9^#e@m)L?5{0S#fC#rBp4`Bt9qn*5F;ccps%u>1!!~JvlI6@ZN-TAmRSCNxjWyz zcbfJ;$@&{$_x=Xd(pa@i0cS9L$U*UPpq~_yvjbS9pGM=x7!Xhqjy2~X0@O4cF&YOb zwS$qvt3v?i#(+``obgWtiy>C6pGUp4xmnjn#Mh$1b8S;R`)i~ggD)DiU1hs*tgUS55BHH+1ri? zVEf=3s8_MStduzMczylp9_uXor>yP!2AGI_wF?t#Yio}-*f!!GYYQKAL-sVaE$ilF zx4S#ZSgXsJOMvv1VL5o4`eOWKBu;<;a>FvFvv7jf@juv(5Z@#q16257+UmS{kO1tt zU>^wZu|mW0(sAaE1lZVNOt4oH@G^jj3Gj=_6m21MfCNT4>M1}eMnHv|>9l<83<1)X zI1+6bDg~~e1J94C%HzWfP{7~kfH<<~F|x?6;OIL~PUF^XkpIz*d%~-hjo#?8X?d}m z^npr9dd4~S5mP|ZIvea+-0CeGP1$LV=%9Ka*if!(V;SNoeHB=86MxHfU*M2%lngn1 z|8nTNuFmOB7})?h{O-P#@uj9XzW|)zz)f|B^N5!GQbo+H0*sk3I`Eg?~+w7eO7@y z=)4*s%FPr7B|=twm{ouR4L7ur5CfwSM0^-#GJp|QF|simPRq1fgPr(jp7AKK z>M@Y{Oj@7Pk3a&`E7I39Uoj)6i_yFUa8~mH%4&_IMNxBb;SfSkC!lb*ywcOgRS;9O z7SNPaEQkxX7WbPLrKyfNt9UPjFu2O6Zj`&_u005kvw7tF6-roPcoO{)@lhe&Hw-Az5oCJ0FPgm00001 zbW%=J06^y0W&i*JbV)=(R7i>KltF6~K@`U~6{Ck73`vlp2PuAmbv6o3J;a^hA!r-w z-g*#}xFG03NCF;u5Vmtz=(+S5PYHMtBFU76rHX+LdhwbsU|^3XN@0C7yGeI8-9Ybs zAm$}+Gz9(-%BR0;3p%D^-Cpdd+hUQEF#V3zVA;^4($rU zm#bV0lKzL)zI!uV`+uTD;}uU$Rw?bD3U$&X&!fQgeV(=cQaU(&%a<+EkUD7Dkeu58 zD5Zx#xxQywGB6~&Q}X%{0NR`G5tCSwgOVOvkUZf!Jt7u-WL;5An+&b)pi60on#8os z_=Tmv+b!Fp{euHahoo-ZuPmHY-F)MD!lP$*Uz~Fvw>Th(Ba60?ws7aA-VZM%P5?l0 zk5tv+x;GXs0BEr`GgU7FAcSzNL>>o#@ECBQ90!~jfMt)b`01I)X8<%T&5_Y?*n|T> zXTSlei43a#4hoFN;TX6m17VM%LSUlGfa7(YutFyQfb;hiI_7Bqk`pOTNR2P|q@knvvbGzp!<+HV3i@v12sbjYvQ!ieUs6S&XwAEH~fX z6weJ~)<6n$tTT5`sPKhfZZRZMD$f|;83N4U1@bsMyDx)>Sk#~s71lMl?lN;{Gep7& o`!Z_GWk%8;;tX9TU&e*wKc4J}J2|aijsO4v07*qoM6N<$g6W`HiU0rr literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/seedot_still_front_pic.png b/graphics/pokemon/front_pics/seedot_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..6be5868e6121493178117652357e237a89a4c237 GIT binary patch literal 502 zcmVKlp$}!Fc5{^X;Wx#YSlDBqoW}ktmGCi(lXGZNvp|F zkP}#x1P8Q+k=6naMOp{qKeuz$v2%vT`sn-Y_s(|0*hT*(`G@aC!+u~8ZTbOUro9EE zFMA?9SwBuvaQk@`MO(jg5_$blN4v5t93fs+N3v37;XCHYcS@;3%1K$0TX^Uqp)g}Z zO^OYbk~tD(N@ir0P1s5)AtN&e=LForF~<}Weu0z%06m#mpn!}j0aH5yRsfunDgp6S zoyVksxCJ;@D9P)HkAVg_*&Cor#&F*?0a%SV1uWsyv|-nb6V6HC#u#%Pn>g4zfNS$@ z4DPQ#IG;aJz-s?)S_t$r=QF}*Z2qz~Mr(};ws6<10$Bm?QzXe!+lq7oW1|Fx zHn^Vk-H6-eq0w~2RXejph)o+BFb6#3nduJVm5u-*#tE2%Z~+X@u?d$#h@S6v7=A5! s0Ty;|&T}|vfDQV8LO?#Ji!M6p2k`uus=vphj{pDw07*qoM6N<$f^8MmIsgCw literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/seel_still_front_pic.png b/graphics/pokemon/front_pics/seel_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..e6bbb25801b67204bb08cd345ee14a59b345a288 GIT binary patch literal 644 zcmV-~0(KRI!fKFc3|V+R}tbbdF+O?Gw5WAX!JXTT5Dnq?Fca3-87*9-&hO4GgjS8ofp#%2bpP4Xam0t$`+sygNBM)@iLHT zHNl0LNCrv(3dUE1j$d20+2A{pJ)##R*(k`gpih9pER zMPIXZ3htf7ab|ycg=7zAFE1@ABztJH@ne}LD3H^U5I?9YLDuLAQJ2ixLe$_UGftSV zXqf54ND)Zjxq+)^(24|s&laB0Z%h#M?EGOZE>Z*}0zbHcjvteKq*>s2Bn%P4zI%;N zKcMg}ntwpmWcar0zQ6BYy%P}&%Kk?Ft@E`bd^Kcv`r+h23xOXz{$l%v1aPX%dLfLU zXrq{)xbI#bw$!6`PngB%C|$z#$MyAIdjf3`Tk6HgYOLu6Vt?D;%tTmu1;ZBt^Wn1o zbN>bRJK7GkKop1*n`?T$VSWGUX1l{7_l)r@EPtrm{ww-j%zPA)74&yguSrA3(q585 eY#zcNE37|GRqimxBKr9N0000l?(&q|43GZNWq5vzp%&r9#-kFqPifjH)Gylx&?kV-MqTMv^ zGiQN6Hzd-B2dY`4nu-V76^V;##+zt<&gP5Xya%NouIGzu31}1WOVE|Nv$m4-Xdf__ zN*n>Ccqk-*Tc}ZANI+Vnkm3loGemsH0tFm?BY>&V8k!8>UlK63mdTG#aS|}t0gXFJ zvf=b>cXb$1nqfDgNXZ21RiKrA!7T^8LhR-G(<-o?Wr+{UQ0A+EDsVqZV9VFYL%;<0 zD1F!4)T2O~(O}PM9>_n0266lZ=uvRx(PIgne+=nLeO{W}$j1STF5+dIo1qq#HTF%&%> z(bW$DaAokV2*k#q1jMJtOwI(C#sv>V696p$@mCr(40(X+n|}JnaO;e{fdR4^PCYQe zAq({3H4)fjfS6iIMj`mbs`$!r}+QkFPqh@iSJz^4FCWD07*qoM6N<$f}K4Uy8r+H literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/seviper_still_front_pic.png b/graphics/pokemon/front_pics/seviper_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..41635e5fb7e9df7c8407d281d2fe26dddf5f537e GIT binary patch literal 886 zcmV-+1Bv{JP)EQ+M00001 zbW%=J06^y0W&i*J^hrcPR7i>Klh11tK@`V_AS5Z>Q+pN4NDp0i5#3xW6``Gj2^FD` zW1BxCy-1FYhf;0!lG3201tlas=s_^i!)npiNnO@JZPHZ`dXwow>qR8>&2ILW4b9bq zLpEgg`+4vCear-*e{+4a1_1lH0fdmv4FFzd&n_l9@3R-1bm#yRq0z5Jq*AGvdJpK+ zqVlo+hSpy>NQa(lu`^YtT}o;FwFA(_m9VZ%QOW?I&7Q}He6YpvsG^d4HZbM^%K_lg z%w(eW)duw5pfn%wh!CZ4Yw7-$>)-%+-FFzdU3k{c9#ZT$*g(+ZigHHwFPlHG>)?d& zJ>E{SQ}Z!9BGl~w0C>2%@M4c0lP=4U^(G1co`q2FGIo?sXUMGPzT+XhkU|6W%+K^m zVzwCoyx%DD9Q4yB z+ASpCFuH`s% zKryR|(^xJP$us~v#snz|%m-pt%#vt&PF6=$8-Tmh6xe(KK)>ihS`udzbsYe;4PR!( z2ats#+l)!#=SjjdsI4lc2KFsrRTo%>Y6ohPPqEorhut1f4grw`#?3e3VvF1&MKv*awy4UExw#AvlhSTU18tNvbfe-1qilzqB>|Eo zxoQxX(5*+q;qW;}6bulSP&yWhBR|px5qLbcFnKT-9*`!bMtpMy zGb&-grYV50Z{#eYgg)a02PotndNOB>y`oP!KuI3(dW-~~kPsb9M4)mUA~9_@Evrwc z7KuQ8=2scpu;TBQr5Pe1)yet0L#B2=ob`}siNGkSc@A@0A3r^5TP6`dR(0ume$|0{ zXWeecglz%Xed&6i9R}LBm;>UN^5N1={HhADh^YaF7%{<)FF%iCb z7|~L-PEQ4KQ`tp%4ghG>>Z#%$Dd1k>6rj>hPZ$EUWg2nB0iYf8{)(;Wl-8~yGyweu zp&I}k@RDSP1mQ%#ksW{#!hs8WpYb_U!fdRxNVm9e+oz0hLKO))_3cZ>_$I9dK&QU~ zj6Ck!?-_G2Ba&ha$zDT#dtq<>PGD?1#wY6w$X>ktV!3~A+a605rOyb-0C#uxCi6`% zNPR~*v?OgMdoyPzoTtD^4)D-B9c_g{wqZqUb3!J6eevgl+6}`$`LkSKTL1b6h4wh# zN5yfx7>{!YyjC@TgKO32jFbR*H_E8uv*Q06IVhPy4od)OQU=uLWq@Biq*Mu_Vn8kf eq~b&VAN>Ny_y^13>*zNC0000BIi!Ozi*qSbN+|#U000000001US}FGCV*mgD-rnB5y}f&Tdk_#1oVKk+E)^KoEvk5iU>GAZTbVjF-aIN!g@ul>_fKZfr1H zoSS=AVBS#$M|G*J^b` zubUxx^dzlTL;b%F{T`#+>hVy0>$ezH)z{^6Sy2tls4CKzp9uIe5VAI?E&3xk^n54% zbALBu@znZ&HsD#hd2IpiZx+t#HGnD1GP;W{z*N`(kuGw=a%ukx`WYM>qF4~%opf}zZh&Z3T;w#U zhuB4$p=L!PRYsTPcZm&0P5M^KMSTd)H~N0q}*8l7Pd*KAkc|f{3(n=miqgVo#(lW#|VSJlA_dxtl2O2Uv1` zy3lj?9(BLYcGn+Ji1j^oS9~V+-w5$O8wS{e5L&8eAVO^+4v=nh7+{-scp;C6b;f?+ o{?L-o9=QFZ&e-4dm-@&02`?C{E=3LHng9R*07*qoM6N<$f(MQzQUCw| literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/shelgon_still_front_pic.png b/graphics/pokemon/front_pics/shelgon_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..c9474977e35020f2ba9a235026aebdc61b18231c GIT binary patch literal 631 zcmV--0*L*IP)KlCf^vFc5|{%2VKG$&jUegmTHyzD|I=MY;r(1jv~R zQ3R@$JOj>Z>i{oZyL4}N2L{+0U7VnRawO%V5+!HKmK*th{O`Xbqv*9>ri6G#N4P$E z9kEvY$aRUhDq)P6;F@%a^%x;>h1LUMIL8EWYY~b8Y6OtZV8miVnsf#ufRvPR)#^Nq zIYFCIwmO7^$bUesIWa*K2dtezV&{P010$?0P%Ga?4FI$UlCr^7l-N$-4G7S;9fKNi z=|{}kRV-Au!xop6>|j7Z*#YADmX2t+g8{DKu9G3vwN6Rb{xNV}_JBl!E(lQIbu#QO zB0~`S<`GhulWu5U)m>#=gV;@{4YfgIY=+)r#I>%bR0Ozv7x|_Oq^YjHpT2*4Mmg>| zPmIaC8B)!6KmRax0lpR+(*poM{rJn+$J7HV4}sbFSH`}1pvX-xLk#of^pvp=JRzBX z0rM*ac5mLX3v@C-uLA)Tg2p^MgzN(pLS+PG2cXx%TBL|>QLfCa4@C6U?FL(5Qw2cs z2=q{;x43&404l$sRB_Tp5dg8+dqRlW&6Vg6VS&#)H^wAFR5xM(h!Sx*YnuHP0kJ5r zLkGCOq-!Sx6j9TJ25}4Olrp=#@-X*&(||G(4X8Gte#(<91v)Zn$o>Is)EuNzc; RVrl>Y002ovPDHLkV1g%J6z%{3 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/shellder_still_front_pic.png b/graphics/pokemon/front_pics/shellder_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..0cb47ebf8b601cedfc2fbe0228c71c7e93919641 GIT binary patch literal 494 zcmVKld*1tFc5}4BvL0!yg&x0tQm5!qDmYqssOJUNuQuF zRh6nXTc5FDtaiG*LFv(UsAQ)+Kys4B@PB+hpFxOAon62*eR-h}N zK=f74J&t2wA=Y3$z>qgY$B{LBC+--8Ob%`Hz>)!XygYk+)Q9GkfoV|E_tCuEHSLsZ z^t~>`RlUD&5&6z_>IGz7*UwrjAn**~2iQMt74Jb_fe`OaD~ZJ5IpME@9={(j^Mft@ kE&i!~4v=%erOvs&0C_H*X*DO0djJ3c07*qoM6N<$f)CKxWB>pF literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/shiftry_still_front_pic.png b/graphics/pokemon/front_pics/shiftry_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..580c248b731595a2ffcd8f3d56bbff1ade1e06c4 GIT binary patch literal 1023 zcmV9FGWy4%_L(zs@?|YUAK9|0DAz*q{T}MK)|L3 zSn)QFex5*J1=%Ze@Ed7~PxLnCn9MsM01f8*_jC}U=N*aMlvM=U%pczqH4#=fR*u4j z7+mm^F=KlV#U!{D9OeN$>h^TP7#lyr5CAHUtrtYEJC!dG*aDmp;4ki!Y@qV1lrJ3C zaKTN1xvYy(6usmfDfdwcwBF)6>#G=|S9~{)Ur$p2f-OMN$6xJCk5M1QF#;~f?IzP$ z8$W*PAIC}!-tNBnAop8%oB-u5V9aOGOo1=>nh(+BS>IeE+D zlP3m13x{a~T(dW?sLpoZ51x$h8u2b;jl)Do${Mo}25LtQ)y~K@EizwXA_-$_rI~^L zx3K{^PFN*Ns&GdGmk8(>(0ZyJ*j6jMbF?Gn4g-ea0b(#HP^n{Q<8EaqlI7Hn5PI>!=DS+GK##)v`F*&9+A$}W43C-=p z8L(|#7%H9*wB=c{T~35 tIF5al^J{W-iM|1RvjSPZ8u5Q!e*mbG1a76?!}A$=B)q!)mno}d#q}U#e<~PltEH4ti^)>000000RR90(=g7_00001 zbW%=J06^y0W&i*IYe_^wR7i>Kk+Dj{P!xt^+)Gna#HCP^4lae{WN<2&bAlAQNOK1t z!$E=svUE`d7ZrP<@6n;)q8)sTI#np#XYeLLP;+mdAV1m8cmMxCCx+3ekzQuoYS#jT z3wBlu*dc{hEkG1vO~`RTM7|zyB1VLse$E+-2}ip5-guD%9d%0#Zf=)B_+@z?O z(|Mw{a0&aC<;a$ax{!TuH zL?8T32^{e!a)}(`{1H5%2J(Cf%)o;R(I4~YC?{mZ4E)L>4vRU(1u&Th06pt3U^4le zqNub$M1bM{BcR`nrE(yU4wZQiJI4q8X3knQ1^ODP8TFV00000NkvXXu0mjfEq2xm literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/shuckle_still_front_pic.png b/graphics/pokemon/front_pics/shuckle_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..1747fe5e782dcc5e49fa7852ee566d47d96f025c GIT binary patch literal 587 zcmV-R0<`^!P)qh00001 zbW%=J06^y0W&i*I$w@>(R7i>Kl(9;~P!xt!+O3NRtF&|wope%BT&48dRm5KRpq|xd za0}GM%}~K-=%(Cg9w6}vB))(e=^_@v+|37CE=?ou=htYtXb09%Yrp*ykl$sI-5r#cF_rRmLb(sMZX6P9 z$c7OJ0R|eV2w|=e!lJK%Ss|*%gc+hiz(8L#=JSAVe0@U%;2D9se;UN;-5HVBF#+W( zb@lj~-e1tO*NIF4w`oeRX%dB=7ewO`<(CY2Na9GT_GC$E2R60N4-GS1CP~6G zbl8u)aiBLiVj$$j3p6nK-7mR*_c{akxEX*EwN$mt zov*+rmz7dI#=-DmmIVKNzKlQB-iKoCW}#rA9x7l;COtkg(5$pIqI0kE-a#3`uh zs3|!>iX4Gc!3mbxU8kF|3koEZFS*+1KY!=jRdvxH=wad99+m*QTLP{Y0QA2E3bFWW$^q`L-%edEN8lL%TW*^( z$`g`Bkz$aDKDVtIu%6=g$jEI}88apm4?Zfus-$pAP&?*rGSSOPheJC7@>MJiRN4f2 z#BlC=257?s$e#=YkiP1mT*B~#1Yo0Wdqezgc2NE;<5n5a`%INL7-#xSyN;FK6Kls|65Fciieascp7B|DI6il%V;6O96OAoo`H)<`M6R*H(qnpGgx?$Rc4i9Sm55MU@0$DTXER-9UbUW zxWqW78nGhcgqc7{%T37>6>zKBeeO!CP&`2wt27wRe)@KCTe=`8i)gN7@GrsQBYBPo@>@J`I_1oy> z>nv18Oi=-sa`lrzy;v^4Yx!`|V!F2q%2sI-qJbP^p^4deQRy0$sd|N$T#j;<~31{H%Zr>Np*(7k^hCk0zO5P+Cb)nz=Efzqaus zE3iY$RV8e^flfXfXZLT~Jj$j50^1cS?uA27>)Cj6ziMHX0s)?Q0RnNmEpw&kuf$=# z%nR`2(Ewdm>~lU-IyUh_%*MBME+B>|C~d~-IqGOq5i1L`$sGa}h(xx!o%~j!$w`(; z`Es8}^Q|~kEd%@6Vsyby*Nxk@ci!Qd_38ZF=Sp#=7yCAa$e`R6TB*% zvb`R~;Y1eFg~;)EUF6xFzRD$u*T5{p3@+TTj;QOo#7U#c>GFIHESBil4IH%x1s>1F z7}<2NVdE;H3gAMjSgMFN0lY=rGz@HD&}aDM4L5+BHQ<*PJ4Zb%n}DkTDEmqdH!YA4 z+CriLuFr2JFw5+-kpjY~3d2o{2;lPsKJ_$E+UMH|h;@xpKpiZ?BVwO#Cm`0D0nkPi zk+_in2Qg9rHj>J)l*5Kj`W|ksZnTumGra{jSB?q-4*b@@X6W>B&gY^dw^JJH%~iF+HOkr*0583cC@pN*c?sY&4Bx5r_vrO z6Yx$7>)4Ya3@Y``mi)PCvxm$nri zuj(J2v literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/skiploom_still_front_pic.png b/graphics/pokemon/front_pics/skiploom_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..0efc78f1d69edb14048a62a38fbe4d3e307faa81 GIT binary patch literal 503 zcmVKk}*!hFcgM6l!c|@3eJKU^OA*;I&)AGFDyMqDo*f{ zg%x*6r4DU9&=bKCP$kkKm5_N(+77AB0ieH>>HqS--_ITlF8a4pbEW3L`T28>l^eOv zrzK(~XD&i1l#N^w;|$oyMoA~I%u()@k#+#6^!Lq2^NNMNgi^VDd;i?8u-G~}b4-=q8;LBRpW3Ujzgn@s*(e*};0W8D=^Frov zlJSA}dtNaH34NrX1>zo%P=H@D#%>oOMFgBb_5nzJMZnzxG78}R87Ty*&x`jw_{r+{ZytM~u_002ovPDHLkV1mID=5GK1 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/skitty_still_front_pic.png b/graphics/pokemon/front_pics/skitty_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b0b85cc956aa7cfc3f13ee252f824d564aa22092 GIT binary patch literal 639 zcmV-_0)YLAP)g0Q&747lYC!-100000|INL{YP5R*Y5)KL|E!e%gKEW6IfE%Npl<)o00001 zbW%=J06^y0W&i*I{YgYYR7i>Kk}+@7P!Px808`bx?{Fy-qN@75MTw$fCIoa~;|qDP z==ZQx6t!fjrDo0W+<`D4lCvvkK_NC)r>IRF?!5wypKUrKq@FCPxeOw|2yFQo8{kBydO|62Z0tE-_87ZHMC!t&48r1!jJqzCoE;;k z6r|63MW8X1*kflNrj8>+#F=LROV z4{|$@6Xoz(6^8(?OrU{eKtK%8N%w)U5AX-z!L4iWB3TLb5eF-D>4`} zK82^Co{qVN1|kIjT!9+W1h{r!x!9!%K_q4e4NwuEiXZE#D0k33RB|vCLcC7=lFoSY zUB3smZQoSrbZc*2^DzB|mZGn9bsH)s&=!Z($oUJv{6n^+`!<4hY02M&zmmZSpjijd zFG2i72l=v2f818L1>jvRu!AE3@TA_MXKlud6NRTPHD*>q>+Ix~$W)PcGF0wEcV$4PgVVqe!F zRY4wn?5>bv$ShG@iag#BW#t)xgorBDv&w&9)5VZpMIv;QdgHw_OAJi)s(Bmjp-5~GR8D|l`xlp z9QrMdCPb8G3COf~0j-7v{wrvoQQ?Ml6%gxn^f^FRGdT&$Mr8@eXf0F>DCG|bZ0 z-cSAAp6NK_*d~PpAoRP?Hov&*y*z6cVKN@4Pn7s-W!(vXAGyz;dZ!YU-rKu&fwn$2 z?eLG0dvf1l!aNQ>tpuGL-z)mUWQ zP$F32aQLmubq-Bp+j~h1(uPsKGX(UVhdVz;zzKjko9!i!ENzr`H;s08;y9(9<7cNF zXoG3nUnhVHcXl^FFTpwj!=F7)oNRz;O<^7b4c!uGS;ymo%I{VW*JAtlctr-RfG8Bmg+9kN> zIES$F1c7q|(3g0IEaeJx3Si@gwEN^6F966N7&muR4g}m+6aW}F4u$}b(TBX$-Ri21 zRUu0_P~`xO#}ns!h}2c3Zi_c42#Xx8(&{2QF5!~p_z%6v)HMwUIFB;OvL97|%FMQH zB=r12y~Wp1=3V$Q@e67MygRdIGmDVCwH9wF4=HZ@1Rtx!fr*vqAlX3<5p?u_AA`BwH zoXTkkvF9s1WON5~+XHLbvA(=LO+w7$3Ot0$q7uw}z|8w(MEtY@V~gkxO=NB8Z50u? ztq?+Fex_A<7mAF}jV1V3j5RBo#(f0vj8?Hvxk@-us0GhC!D!?Y;zv{DYdc@evjIxT zE;tYb*8w4W`6Y@tAwm8D{;e26fBp&}t`!8Y_Fp&s4bE1OjFB~)2><{907*qoM6N<$ Ef?F)!ZU6uP literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/slakoth_still_front_pic.png b/graphics/pokemon/front_pics/slakoth_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..5440669ae98328921a24da59a5f9637b7539fbc1 GIT binary patch literal 602 zcmV-g0;TKlfO>eP!z^}0}sH3B2}tl$cfZ45Ue_^C_r2~g|Hyy z1yEV3Q1b+>+_BwI-vX&am91;D#AH21B&<1>+b$jA!?})Vj7c(e%s2V^{OFP(;Uk2dbF<|^|#0*!0ySoMjp}O5kMwv;)T_51_8RmYO?Zp z&`I(KGDT_-g+Udzng5gz2LZVyEMzy9ue)vWuL|V>+PtUNv+Gjz%^z=N{&um3cF04| z+szQp=GTv{Z!cQkcQ8*R&14w|{4ed+M&nWd{7Io{I7oSEK_5P~o_+RoUCF}Vln1YDgV8c|BGtoYHE}@IS>#KF2x)700001 zbW%=J06^y0W&i*KR7pfZR7i>Kl)rD&KorN#P$?Z6%NvN6{1I+v2Hb_EL)(q2nYP`6DJX=VxuIFcV{O~>5l<1@)Rldy^r5} z-|wBRDF5SM2JbwaUvq=>|NI`{s>PxxQi^A-!QH@wMXt;GUDsPKL6-o`yDirBdtts< zFyAk(i%$_?42c{lyesGZhTq)QS8bh5yc{?sl?9+`__U^JY{v67LMqn$W@UdLfs)1o zkoT)pQ6V{|^?80**S9C40!!^!CDjjR*^1`?=5>8*C;+b`S7O^V%cPd|ThX_4WS--Y zj195@z{D8_mK3V$X&hpnohvpjL4zcyqE2KJ)c_bFU`!AQmGK+JF<;Yhbxi4TS`ebB z4=*;29SNLP9n-YwnA9juMJbOu#eQ^cY#Xl_q7(?#Q=LPXdGmKkMjW} zG5Y?w*Lp?;b zSO9e=bzwsSQ_cd^!rJX~+_D(A!lEQ4pd^4HZzF>RynuNjNGpzOX%FV_Auua(d1QEq zKcK?vY>F-mHuv{I2YF&7&_}>(z+kQ-kgtw(iAw-rNhN-P*rlH7$biIN+A0BD?};}& z?ZA6HM2)b>Bo-7~f$E+hOSD@ycm z`TO2Z3f%EA#SbLs=K#}tfYpsIHV@Nbkh}$)JbC8va3CBLD#Kd<47DC~@M6}MPT!uP z0Wg=a5+xwBbgN-xisx1x?=iU0rr literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/slowking_still_front_pic.png b/graphics/pokemon/front_pics/slowking_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..11b16a9526e4dc71d718d20e099e61b0322d89d0 GIT binary patch literal 792 zcmV+z1LypSP)m=mNQHw6k3v}od^Fo5eV%t35U0M+H zy*T=j-17bS-uu41ms6Dg5$Zqkk@nEEt-L=T3cT?itBlFZm%Rr2&V~S5Wvtq;%TnP~ z^*Y;i_vIx{y7y_#m9Jr+pa-98LkiSAy>XC`7jW3Qy+`*!5d9z?do9kIRBR!#JqQ}& z>sD;rsfi|>!6H$%t%xBo*09}uy9t5gUDo29v8HXa8nBHja~S8m$C%BVM_>m|ods*O zdK8*Os80KF#At1>2@w-i^dPzr2A*}q-8sXnXOA7(tV5M22F6djs|hy&E)lBmE;czg z%Btk&j9r2iR|eXrg%@pZnBx)4qZUb}W{G9xIJ|{Xl1d{%tlZBW2tF0>JtF7_v0`Wi%13!|eU^w%ERIcR zjVM1QR-s7NrZC13@H$$75MoUnNWe!;n=BLx&$U}Hh>AS#X#CyHxD;@%O`dC01`Hxe zzrdu|@j?DBum^RTe-W!3`T(4Ra+@ZT(-$-*z#Irthsop}T1H6BDFkdHY|f}6c94j% z3{WF$rqNYEAdHu=9|5?I^?@}Wntc$6I0W=Rz*2q?jAYb4Fa^lzgFw6m=J8dH|#k&Uk*ylL9@)}{bT=n7(n7$toH$Qq_TLyZ=er=yfT9G3xuo%UuP}j literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/slowpoke_still_front_pic.png b/graphics/pokemon/front_pics/slowpoke_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..5c6c8702601a76909bef7235167327cad647c6f8 GIT binary patch literal 578 zcmV-I0=@l-P)2>$^8_CX-DDJg1VV*j+1|AS)YT56mzF%S?CvqbD000001 zbW%=J06^y0W&i*Iz)3_wR7i>KlQB!fKorL_3nrYag4kJcsJnyFPhh$V7PE<8qmFKN z5*!8b16->(=wL66yLm}JKvG-Kg3{!C?^Mu>xy8l7KbdmBd;kA?FR`qD{arb)XXjuz zm#2))bGWa(U#l%K&Uv?zxRCNx2+l7D)h;tqAaZ32s)&(^m?Cj$0vrTF6QD{AOhAf& zF$8(^e-*;60s!9EfFU9I;a)~-z+DzX1Q3^vQ%>qU(j)^Il+Q(v03oPJfNyQi4lNiC zu{B8}>X#iJItA5E3mzgMrU87^}6e` zIe;8UI^b*&;O?#fWD3yd{Ny&*UDw^(hfj@kKxwm41vs9R&)cr&VTo8h8eq$I`$T#T z0x(4xaISA&+DG!)qaJeVL<^aQJMC8MaBqj~W88%PHBH0DajWHfc}z2qr8(FFn!fM5 z2Zfc>$C}qxwFr0xCpA%QkXVkst1*L-l#>ru%ctJT;tOp2CkZy6|LgDS4XM6i^fQj% QPXGV_07*qoM6N<$g76~;$^ZZW literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/slugma_still_front_pic.png b/graphics/pokemon/front_pics/slugma_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..4b27af3fc042f1d23889229ba2f722b4f92c8627 GIT binary patch literal 493 zcmVbN}v~|J8H$qyYZ_|Nj90{{a900RL)gY7h_*luZZh00001 zbW%=J06^y0W&i*IYe_^wR7i>KlfQ1lKn%uj$h|=&_Pg{2@MVXb59mac7^F^-!k@hx z6H67TJV4(Qsohftb+nnQ3a|IG{rR)cm`D8A$YyvSSm5(7r~zeldoM{QvZJfU^u+-y z=^d%duM8ZzJjo407rv_uyIqulY|p^e?v6gJMZh{2IJN0KUgaU`>6p58kVK6P0IV%J z52$E}0kEm_7;umQm`8$g`J@yuHcZ~B$lp#R`(zAF`Vjnt0cDEp+yl(d7m_6~aOxc_ zPkovxfLZm&W(Ur z!j^2a!;-Be@v0l}n94;Bp-bX6h+W<{kYn&NU#Fzpvp j`Yy&!t#;Cn`1A1t+c0O;$|?m100000NkvXXu0mjfAiLtp literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/smeargle_still_front_pic.png b/graphics/pokemon/front_pics/smeargle_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..91c400395f8f58f7bd21c57de6a4cae71a70bc31 GIT binary patch literal 758 zcmVCl(CB2KoEw-VSx<+VeSDEM5-iJMh2TJ5~4McDji4* zR^`qq^9V6mhIOTwSm3SF+ud>1ks@`TMj)F=)n-<*9Z89Fb;vXpo=-Es{+V4x`TwHx z_7T7xJ_49;+Vfo?pIa4JKreqPaid|Sk|M_^@fo3HBZC1 z&|E7(*9qsm-ycm_Sh!LvK-b^`f7%~W#?lU3fKdY`s}aBoD^SY9rM0XXwxukK0DRPN zL?X4sk&MfRF%}+C*I>oBVo4{dP_&H3SNd-tj1y@TDhx!*g#1q^KX%W~fEMGvmm1(ie<{SQ48I@}=S&SNQew5}<;QW(8yc6s;J$#ztCFmXHr$3mgCj1`cIoVyjYz z0#G!Oz>sr*5#b)0#${k$JZK5CKH=)t54k4f zJi>$ZRb~!R^ye)gF!0rdoVOO$TU-h;$QMF1TvhVaHl^~QsI(1`i_&^uALsxYZ&Dc< oxJ?&n5k2CGw!HMBJ^!!9FF5Q2Fa=@YBLDyZ07*qoM6N<$f?Lp4egFUf literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/smoochum_still_front_pic.png b/graphics/pokemon/front_pics/smoochum_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..60884160014b7b6b88de97571d1f695381169e90 GIT binary patch literal 495 zcmVKlQB!fP!PvMsF0yh3jG8f5;up}egShC3YJRk!$J!} z(aRpHFI%P9CYy^6`3gaB_XTuuYQe>i;NsTj=5|>jGfDiav2t07R205(R)23lWJGshc)V194s801@LLT$3rRIXas0Lz%G+@jYX}ZYd6A6?C4|h^Z zdavE4mgNhn8!qEgW>AnpcgcGNKuOP`0Uljq$JIKV(7=)d0AG?N%4x>=;n#v3R5`uZ lZ$;9R{JC5DdbjcK;~U?dj=6fy^Wgvh002ovPDHLkV1mW*4ld*5pKorJrNJT0S)=AxBDU#j);GO3v^?59gVrN6T z&9Jc%GQpHyrXmIsrc5kMbYOC%DpHvmssBXTE#pcJDjauCk!W&0R>WJspTGC{-FpcA z$MtCV+N_ULBhVbDW?-6*o|*Lh;pm+am=0&-=SG7GAHUHljot=$IpZg}4hX`Em`-MV zr1cI+hz2a5O*nt01!6)6ltzg!*3cL%(k) zX)30C9(kRgdZ76teY(Ca4-1GkK(+u g>T+0SgMYVv0g@ih$#%zJ@Bjb+07*qoM6N<$g4C}*g#Z8m literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/snorlax_still_front_pic.png b/graphics/pokemon/front_pics/snorlax_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..e71642b2c01741f4e2072d9791f9056a6da8a22d GIT binary patch literal 814 zcmV+}1JV46P)BQoR@$)z#i=YI6_}5dZ)G?S=x`00001 zbW%=J06^y0W&i*JtVu*cR7i={lh11tK@`UannQbVA^8uSM0yL7SG>8lm~+6x1}_#` z$xK1ap@AJNBzVxaPzau^?LQ#qAMmiCe}U19?WLwm60@T1270a=-^}hNn_ufyzlUXK zzMpyT&6^oQ{$s&k{Dsu*cwjAM$NKrTWH!$4-ZCB}^Kt&8uSPO;f7)3(LcP*x$yooM zq_jKfzji!2JT1Iy|$cZ0&PjNUk~Wmz6$CjfTfYit}~zpM}Vg)qZH4@YCb z6YD)=9Q44?vM5l*K^bdcBHU$L1{e|YpBK;Dux$dw{J=2^4P+AE4+~%B50Xa(jqrCAY0j4<_!>k}cRiCuq z3Ai&60*7e{q|t9_gBNgVVp}51Q6K?%>CWBHuI?=(Ak5Kvz6l@!tm49JnSC#(h(Izx z#Ro9N*$HF)CICbc&T&HJu!)9|c?)0+kpUEuz9OeGcMT?pv>GGOC626r3&x4S->P)&)r)(3Qc6lWF)=A1ApigWr_&VA00001 zbW%=J06^y0W&i*Iyh%hsR7i>Kkg-a`P!xs(20Eo6u7Yqw+r=pvTvBi_b`ghS&E#g2 zNswUfne+kN`UKsjPhjF;y9hlkBBDcEEhsn$f)60|+;)-X-Z%*kJwpiheEi>kucj^L zpHA-h7a-dEC7@Q@%m%#ZAQNyy7Tsp-b6Ef+x}k$Ct7c>(TG3%v1;lp2 zQv$iFgV-sl9d3v;tfst&%LHIWp6V&U6hOP6a_H4{0Z<9WbL*m`D4}xXLOe&jX<3E3 z+(8{L;`p-FDecQ0uGx*nAgc#5hwiO+6U1(eZSKn)23_KMxv@$YE&8XjgwVNePMV($ z0f5Buz??M#CXH3A7=R>Vo0*d-u)=r%C+P}2WOnmw^xUu*2S_^%2#6RYJ)4z$0#f(T zffGRh69#~@dEgNO-w%h_W1Ip`WB}*N?SRjJ{h}})S!%u+zQUO~2jgHHs;S5Lz5b+9N+c*WDBzr;FcKL~bt(~-BM!eY0 zc*)*EQ~=sgtPE5GgM?Q3IO!?&ni2Qu`=0bwfc7D>^B*e1V*Yf#0W7uLY*609PXGV_ M07*qoM6N<$g4Kl(9=3K@`RZHpS*T3-R9&W=}4$xZ>W*TBO>2O9)tb zJB^iQH z?b~JSS^u@9wBJ{1FunRpSqWbs4yT8g`p`yv+tymmSEtu>P;yZ7TjoUTWbgn`1@of@ z92v8R7}3cK-;r7RBR}`y4h!o>E z6&b2JpmL0t2$C> z70Am8CIG$WtUX?CBE~o67<-+@pewbzliT;$E!#9Mi_Ko(Z&8PN3*dz`V)+QzI(UF@ zXJ%%@=`+{?xS88npH#lJ1>1sq&bybDAK857Z3Wf)21f^yACOl8uk8MGn(*OR%46;* zv47f;g)t^~^-u-r;`50kB=d0pLKXRP9ytnlu$+VX1aG)2WM>mokrZ(1s6aJV&a0AUSB(bR#}dA%Da&p sIQVkaI=CG zd_Vd9e((3*@Ao+FzYQkn7sTcSK$-xgF3@;X8pOAZu*kcaH z0M39qJe0N#!mQjBL{aepoSCU^%9^HSNgiFRUuQsb9N^yMwvw7fY@tO~4e-~Cm$p}4 ztgbSmj$0TY<9EQL?RU%=aJ!*{+VJb#bY;~tJBtm~9M_Fqj;nUGm7?Q<5LzB{4k)=h z-R)_c3zmnjmLqvDAmfyblh1$l)+KutJuREfQ#Ztvh?F#j<>R>?-gW>hh8GaU1VD9u z_Nb(3>qjTU?qEC#b4f%9?;zB*{vUpnI-h)5Mq2>*=?~PifZxnt-@lBgX||r6edw_i z)_%n$)F=6aF~DMWJ`eksH0@5CosEM}`E3}b}JNeQpgls}}fnvXq z)3R&FOz7un3!%8k>Vw=UkJ##SIcJQs-cuEsNAUQ7QbO_%C^LVd znV!f*l9og()}!eIu+?b7q76`^WR!h?kiu3Qm~U04m!JWaW@7z&{;E0Cv8!80la@R-8d? z=;^>LYjSKfC57|tKLSEWJr{|`0zJZ6mvdVu`_oUJ@2 TPhGzJ00000NkvXXu0mjf&H%UG literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/spearow_still_front_pic.png b/graphics/pokemon/front_pics/spearow_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..f6408d7c0b6a65ca8419140d91ca15aabcfc5288 GIT binary patch literal 615 zcmV-t0+{`YP)+{NtQZ&=&8_IN00001 zbW%=J06^y0W&i*IKlCe+QKorK`5(!I2kr?_1bfOc3(?0;^P}KpYhj}m0yORduNVUk{YU>dg-*g)&duc#^T^IoDbf$PJ zN1o^TZJ~8oygaD~Q$+ksfDlc+gWbEXkw3b*2lP#Yjq&s+;QPLwKp8RF5h@kz@0${! z2-Adyj4K`Ci|o=sz;1-``WbuP7G0F4XAvlj7%P`vb`|Z*Km>1+F=NhCR#6#BeN$kG zmWz2P)s=_!k0fkr0b<2*ksWRi!EnGdK4$LVzhWwc})N-xL*xF|4 zg&9!GljfT1R$0aDQ%NDlic)eCXxl<4D2`c9!ab1A){*B^2HoO9+jNz`My$}n{W$=n zU_J9pujRK^p9D*}e=*bBw6HSI2L%N+7kJRW(;bUq?P0EB*U10?002ovPDHLkV1hKo BBL4sY literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/spheal_still_front_pic.png b/graphics/pokemon/front_pics/spheal_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..f07cf67b5b6e12ac15ace0b764b2849fe777f5fa GIT binary patch literal 507 zcmVq?Bsa#gyjNtoG);-roNJ0000000000FB>B700001 zbW%=J06^y0W&i*Ic}YY;R7i>KlRs<1Kp2O`4yNCtGz#5>yL1*VZ@LOK?@$ngg3_%8 z2i-adEzz-ym$8;o&(RL8w~2Pjhbip`NG~d=$wfaveb(P|??1Rq=D>d?d%8y`xF@>{ z0JRW`-|2!`4d#`goN5#TMKwQVDMt1-5|B-ytQShnYB0M-WB}S(E!RP;-6H}5)8t1^ z1raZQ(RCU#&`gn4?;{1kY1E;lDUnB}954aC>e?PncGdwP{s0^o>|~GQ&pPjSh(D48 zQ0RmkDITsyQc4SSi+Zvrphr6*SJ zhkPl-Phs$dAym#OQ3c|AdL9>I5&KWnq>2Ayh(2H9i)Ruh4yiiu$0+uEA>NX)qSeZ@ xJkI-V)#*+rMC8IS%(XdB|Gx_~0~|Q8KlCf&SP!xtUiGf0UN`aD;@F=7jn+Wx#$0H6s1t1|Ew0O z@k^h1$BEL~qLi}QQKIeES4h+@j{$4C2a<;Nb?^q)AhhOrj5RVC9so3pkTU>Cm>oeU z--k6di0p&H-Iq4V6H$G3K2( z?T4R)5Nd-R3>9h3Q72ZkU^y3nGY6h?5nuuMGQuRxWwha0Boo+Q^Z+mk6JXPaEcaaM z08&WsG0i&E(e+mL*+ZWtSNt%HiTiq8IZGeQ_pjK0v&DBR0cAeGb2eq{dh#L)niRIW z3uZQL!}la_KmfamCsP3(>MQDg>32nruu!2t)(=K1vzi2jY7YPa002ovPDHLkV1gFv B-1qCld+D|KoEvkx`N6+Id5>kX}uO+q^puhMi$AfZc zKE5OkkPAdy6CXnmK|i@b4C0iohKz)5=VoBUkI`e)IdvzCxI_yvkLr3ABirXPvJ{Xm2b_|_tUDWYOr(@)_CSXH3@`r#3&-@!JowHJ``qy3n!m6V^o5_?Jg z=cbf;@S7YgkXpcNVSbEW;aVLIfiW)cfS0%5RA@{V-<9PJre}a<`CcpWHVClaOIfM# zB^djm)TcA2GAYf3^=;UJvF`Q#Lukf9BKWNwYxh5Zoi%vI^#@*p&zpOytH}TW002ov JPDHLkV1guQ8hro& literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/spoink_still_front_pic.png b/graphics/pokemon/front_pics/spoink_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..ee4afc1edbafdf5cac72c2b630f45e25e2c77412 GIT binary patch literal 491 zcmVZgluAm)i&_{M7ytkON=i!q|NmlAQUCw|;zd`700001 zbW%=J06^y0W&i*IX-PyuR7i>KlCf^WFc5~VlA%bIDz{HiC+Y-CE+Z1)c#OmpHpaST z?T~crPzlCPMVWaK1Wc8sJ^}B51Y@Q20*tw1=*qwTpYMMEwh$N9swmF*sbz`gXfw2* z4DdDDr1s?>K+~paYMUkk`(lz8#f$^4a}={d=xLrC z#=lXE=|{u>UMpF6&|@|z=&WGNY*0P`&^wmuKy=9gSzA{K30x)LbJf;9nQ|@Vy$j|( zm9o)aNqMIqUkRWQ_MKeGj>`P{YiQM%(#eQSxzoV|hM<94trDdGyP%rF4xDpX1cW^b zILL=Es0HE^094stcp4Cu^+k9Po_VYoj;fDXjo2N0a=?k`(jQ6)QyL=RQETUtA2I>{ zD7@g_?U@KIJe}<55#BN|1{gq?>Zv{Enz0#_TNa3Le9RT4A`HP6g>O|dz7T_w_kW$^ h7U0J%nI11<^#|32cOz~6oc#a*002ovPDHLkV1mo2*qZVh|7zqZ@^_00001 zbW%=J06^y0W&i*Iok>JNR7i>Kl(9<0KoExW0w!p0rEjo;u@h9Z7A>uWXn&wsSsch# z`T~O39*Pf;!w2vtcZH>y>}jRkCOHwg1I>+_w9dxT=Kdnhe3^e{c6J?Ss;O+6!K_~! ze+r>nM?8gL8@l$m8I4fahzCLmTi70Q8>P zftx=7M;qYk60Lv>rJ_0@HaVhHt=npt03B%`3o}w~;vd0Tup%#JMGYU6+5gV?6p?M_O1}ckggnh@uge$Nrl8DOP(%O1= hDjBR_3rzJt`T>S`8v~&={_6k$002ovPDHLkV1jsJ^@IQb literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/stantler_still_front_pic.png b/graphics/pokemon/front_pics/stantler_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..aa3d80efcafd45908ee345cb75280b7025eb4260 GIT binary patch literal 881 zcmV-%1CIQOP)+^%|NsB2|K5ZD-cshIAk_f>w6wH)dwWVsN)QkbR_1Jn00001 zbW%=J06^y0W&i*J?@2^KR7i=9ls#|TFc5}0h^qn=9XrXHJLD*2Okh!P)5WeO!m)?s zMfZfWwZ1h`UY0>2$h=F~Jn$lh05r2vf&t`tp#Sz#|0>Q6ey?w7gh zjm;8`L2@4B9H}6^SUn`;WMKefkt8A!0SNq(BuW`AaPx#9q3gJtd!Lhwr73YmwOOsc z8Mj2i!YbNz2ez2-tMa^7hcw)Bf;-HC{}7e~^%_9v1pwSH1Aw(_;4oawDrxFFjyBU&(A};54UkI(fh;BEWPP~0o-%g z9v-p4EzUClz3rfDZ1Z5JkQadrbb-_hZ<-r#`OuNx8YnqAc51Nclxr=`F=D+pl~?vo7SQFp!(eZ9ihfD z0N)O7ejO_O`&0tcSYQ5f%{R# zUGWUSPA`)G0MiEq?C7*Ak2{8I?aNAFBb~_f#=O;yNH4s9>jFD^DbcU%00000NkvXX Hu0mjf(4LtH literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/starmie_still_front_pic.png b/graphics/pokemon/front_pics/starmie_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..e695d83dee11c2882591ed517e2c76859625ddf0 GIT binary patch literal 780 zcmV+n1M~ceP)Klrc}+KorNVa&sgX1|}pPCzZ)6d7drDmzgc%6XeX& zu{lp3f^aNQ)o;-O)U`uXW;z)00RSl^k%Bth2VkM^94ca;C6;dO8v zAP?VnKbC+%w2~koKk97uVgfXxeMTzfAaMyuA&X}XfZyHkALJA&k+GhOD)0tz+jWn7 z${`H@adK*mF%RdY{kk#)kuPF-z>el!81dg2TtB^P6uYb%dp&`;tiuOzi%; zejHyEiJH=42P?JE^eE3yuFuC`i&W+Lu>8mBK{f35dnY&Jvx_1f$T%_kx{`?Y`n}Ve z@8?S(wf2cn>eI#9`1UqcN~OT-`wr8K(;s(t#Z{^jJ>_<(Bd)WnqPV?WP!`_Yep!*X zm3%0QpDF26OIQE{Z!^w{;&MTihMBPDCxZJ-()mmdLzwx??q3z)4>DF-FO-x7Pd~5;!3XeEN}aM{#!usZHII$~xSn@hBQS^)0Vtktx0q;oN9K_LIt)$W{&=3+stK_JDPQvd(|T9}t`00001 zbW%=J06^y0W&i*Iv`IukR7i>Klrc-gKorN5L1;E(BaMSgsvjVI4d@s>!EUBa(A6c{ zMR1VQMJTQMvWP`$dtbq?P?rvFSvuG3^(#1eRut5iR1gQj|9JP~-o1DK|0&A9enq*h zDZqK-hd?gGt4u&Uz}ZaTW*?(WpnHPZmzV}<{1`JYq49Ax(B+7kHMV*08vtDcBO&zp ziwU3;`?)X-cS{uvbVLCQqW2k4FT=2IEp-6&s0c3SW6}9Y6vpSfYrp_t4jc(coqYf_ zeu{Z;f?BBvzIh=}=zZ!&aK7VIt>r4LFf$Upugw&=QT6ni1I!g07*qoM6N<$ Ef|wo%zyJUM literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/steelix_still_front_pic.png b/graphics/pokemon/front_pics/steelix_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..e5b3a35d62391d6ba0158d9f50b144d92f2a0519 GIT binary patch literal 943 zcmV;g15o^lP)ti8>}-sax_0RR60|Nj90{{a8hQb7<95dZ)GH1Aqv00001 zbW%=J06^y0W&i*KElET{R7i=Hl(BZ3KoCV$L@N2F6v%Pq<3a;!f*bFkYOBCdxf9wd zf0sHG0=e2cRgyOg2#cU1du-{TxxAfuGrOzR|Evu^=knFPeC z#t`O2fd}4>K#KHE`RN+xMEBS+HKRjFudJrH2}#iF2n2zH)@RxQ2uWi4L*4DSFsU{kr3Q&ZQMg|Dy|Zt&uhWYpc1tR;agI#b*gKn- z-H=A+6T1r%Yv*dxA6~vYb77MVL}6Mu1we1Wf4V8(xA}1i3Z<5gzuHhJy!^;gEGqDFEMhD^otqx$&(OO_b6( zjx$s|4sF(r{;neLR~LaxJGuyG)4|QO^!|kiog@rT2TxW@3%x!GHIbLXG|NC$bB6C&E>w#VnKw zr|1lTpD12<9}72E-0mJ;EiGiIOYOnDuw5`|L>RZv!`(2J_i=nje?qPTe*sP8F{aRf R)G+`6002ovPDHLkV1j^SvU~sl literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/sudowoodo_still_front_pic.png b/graphics/pokemon/front_pics/sudowoodo_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..8975169534d569bb8c1bfc786072ff1933c3acc5 GIT binary patch literal 651 zcmV;60(AX}P)Cl(BBxFcd`vSVW;LLW_O@<<3U@sHKYwky;u9DPVfm zXDFW_b?I0ui;GTim;4&hD1*DOkEBqeBALDD8wdeBe7wB8Vv_uSB|eyue2UGdl$o)5 z7Y6_r^Ytpag@jTGD0LJdJJ;0_B)X#pxbCXXr$$*d5dpbou~s_g`a+l-O+?EfR(zfpcB}M>ORRLSh zymMY^O%Z_23(u4TqI+NK|Ey~Ni!tU>Ig6wK0M*siw6wI8l$2^}Y7h_*dvSFx00001 zbW%=J06^y0W&i*L8A(JzR7i=9l+SA$M-;~wYJmf?%|LE)RoHcpz39yzTeaTVOG8*A zt+0y&z8DGL6Rma1DQNcO_|Qm$3;Gvo+8)X{a(!tjGHHEwDN=oC!NpmMgl$~BeY2}y zc4DOu^n-mLzVG|qyd6!`rulPC1s9FzSDX4&8;@zfw&^PjBaEI{=8b&S!w{m*H#x5d zN+1JY+*0u3;DRF{ECW`8F`(*IRJJ1Of^#9nGabO(8s+Z^QQO4)4oUsh2+>E*hyd|? z#LS_@SBHY6m6%a!UzlZHUP%c+wP4I26zWmsrD;@$D+;3=oK*IrXU*I>IK!xQ9sEa^L zlGubM8sT|`E8xe+1K<*m_J9m$@xrTfUiC>@DLly_u!RDt`Qd>Tl>o1hrc%IRnmDK6 zV0V8Alp}!e%p)M4=#cf1xRS#P)1^}6bbHqYvx2?cal z5#TxeaDFL*8$eQsFl4K)VLr=177K(o^ElRa0!##G0l>kdxs^|nW-|}whu=jTw-ScY zJ2dm_7;q|2z%<-NYC-lXbC%T8qtuX?A!o7)kTY`>pl7krQ4fD7FGoQ80ZO>WKL%ti z>J$`keAsz^1pILyB??B@01KQRV}Uj!_r`$Trj8P;Ime*Dx?Kev%U?R_q06JRPGu7T z9q1Z!7<2xXvONYIr%vF3d{tn$3~mHS`ARz&0_-DlLYpqZKfTJ`EyS8q^=Xqe)P301ScAS4tH`#I8(dH0f_I(<* znp6P?ss4#%3}6qDRsbO>=QkMxgC?f%(r_Q{qFgW2A*8wAlE+kyveRGNMFY%4LE#DL zkkskEl&1<9zIuyz=V)3>0oEsS|Miu8DI<@43s`|J#k`w`*WE`rqHk^GabRHqqPz6~ z0UPaJU+tZ;HD#e+Az@Kl{kGBx#&U!PbJvkTa?oVLvZ8;@!DoO6p#-$fXm8_N9!<=J*b;MZ2@GRaxt=m;Hxif)-T<_-7_isgObsGYC>Rj$ z{M#dM>N#L<5g!QPQ1OnN02n}RgWg>t!NBerVBhT_#J4^N&fS2D{{gTGePXaleQIid tjLE>FPA3DFWlje2`F8+w{TnQf{{Zwx@nVynt}Xxo002ovPDHLkV1kyTBbopJ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/sunflora_still_front_pic.png b/graphics/pokemon/front_pics/sunflora_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..9752bb9d4126f3f2db29e113dd6f8831a8d5596c GIT binary patch literal 707 zcmV;!0zCbRP)Klrd}DKorN%$k`Oo;ieF%{TX5o$@bQON#jun)$V9q zsp)8p(Fbr%wHF(1?$%Esll3guyUrnWRW5W-t-gz)M#;(0xqWCj?tb@w|M%V@g#O2~ zD8EM9*%3J_1Ug@kN#4;ypiF7Sp>$RRv^#X(Z&BJW61cdaexFj`GYSC9^4rAneYa9q zJ0Mm&3@4`Rp4e&!GZI2L04Q^G=*(({VY6%6qyTt7nS}6-PAO4ZpjW+5;pH?OQA$-B zrTJA4EbIVPrP|9&X_ACP00xQ_rrqokLZ+XGAE~dZ^QhJAO}>4d2E(_$r<#UF8@-S; zr@|~jK7zaTx4otURQ2`w~kU-$fU8k+`P`3O=7Zh65v(J^i z*8D*u7(1r`6g-If$$$`3DyYwq<;*?Tt+?lffK7eZeSry148lSf z0B_?|L^(i*`y$;$tF2&nAeP1=-z~T)gUdu4xw_*|+PRdw=_=a_{;DR=^A75V+&fA)o|6(f?%^3#@t!`(SIG zv*J_61OUmRpb5+EKk}*!hFcgL#BuhI%xd5`VR-m{__QXmiPJ#70bwlBi z>;aGqd!8}D-9-V)wUkeVsqn$=$76!LGoQ$A-2lmJDb4wW%=cs~W`VC$#ylCYB5S!Z zlqNpl@_Vpro+w%R05kBC-UNX2Pz!uay#ScHLi<|8`|+YhMKjL4HQ|CHO$qZR04$P% q5PyOlK^P&%@7p5RCg@N4*ZKh)X?>}&|4H=#0000U00001 zbW%=J06^y0W&i*IA4x<(R7i>Kk}*%iFc5`(QwBQZ>I@ZPDgVH|p$kh@FQBfbLw7G( zkP!H{6tS@}u|NivA~E(yaS;QtW5?=%gizo3?$dkcON2P;@9N|w1H9g30@lABP}CXV zEz=u8@WWP%@;Q`e`jDA*!_S#+qoO5W$kc%Kq;Qti8hR})uUMTeDk=EfQB8t==2t@We>i_EtN0T)m%a$o;00000 LNkvXXu0mjfD*wG} literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/swablu_still_front_pic.png b/graphics/pokemon/front_pics/swablu_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..1992c2d060e63138ecd50cca4ecebd4437d00bfa GIT binary patch literal 586 zcmV-Q0=4~#P)Q_W%F?X7H2a00001 zbW%=J06^y0W&i*I$Vo&&R7i>KlQB>0FcgI?l(bTJ#NWwKQ0W4dxF9iv4k$=W8Hmi( zsR$Q|4GEfwp(->I;@>>pk^$-ERWMv8V5_;d(-NAd-I#hNTj%pR*G|jWQopWBbUPog z?%N9@Ea5C5YH38ZT0mBGgjJ9KUKK>#->OmKKVGu{s8B~u;s8YfH~0L z8l8T0`g%Uvx-KRLD1(l8eM0=_iSS5jAR$3|4NgRYFHiVoi(Ec9F0Pan^4mEL( zv(h2?8^^sFmeC4$o(H>=A5C7ZR&%8>4=9ybdH8=&^v5)6HaF)3blpL5M@lRLmRhP< YU*t3xoeF1q%K!iX07*qoM6N<$f+E5Oy8r+H literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/swalot_still_front_pic.png b/graphics/pokemon/front_pics/swalot_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..7607b8c2e3ad465d6fe381c3b78f5faba516586b GIT binary patch literal 677 zcmV;W0$TlvP))xC@V)vW*j|Nk*DF;Y@eYHDiD&CP>*LI2fS|0w|f?vz?NY5)KL+lb%!00001 zbW%=J06^y0W&i*JBS}O-R7i>Kl)r1+KorNNj2;|fshL8-?~I289CWA2gN&<3^mnur z(Jf0TnmX2+`cHVXafgg99r|yy6jBK~x*s|#Xb<7XXBrR_yFeIo3Qv6@gjK?&fIxiqg??5E1qg8_fykP} zQ$V18wj3@OPj+V$zy@F`qEiyU*?wSIkpJSg1}s%BKQiu}ueUjNs_d-2=Rd^w5Fp)$ zfZKyW$63y$n}6E2(Hg{RQAd{Z@!Zzu>f2fa7wgqm8_-#tXyx(e?^eL`13}kDf%Ane zg*!za>SGG%6STI=77%-=&&@|415xsk2}Iywq6lwFls5q|2GNDW$LvM{5dq}{`sSpH zk)P!6B`}Rb6a)-Spt~7l`RuhMuBnCc0Zv=9c9T5M-%|WVUW&+M zy*7cPHw5HVW=2BkOBn6|SrbTi6?~~MLz!Zhk^-FC05yn=fLA~gW|cICd^V6kLK%7h z?LPf0oq_t4HInu3On|Dp(fb-I0RVHKv@0!u7$^Y%bDs>c7C^2ATKgQ})?&_OlmRr0 zaR0{X?3e@yYv%Bt;=ER1Mvh(>%lC=ykuz2+@FoCE01GLuBNheeqf4pFQ(YQ^C}77P zt7etxIpbavv8kx_7F|v6*roSNk6Of7|{5;;8oM3}vrK00000 LNkvXXu0mjf>k>7` literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/swampert_still_front_pic.png b/graphics/pokemon/front_pics/swampert_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..eea565e4390b39b843afb8b797ba31e3821e288c GIT binary patch literal 1160 zcmV;31b6$1P)bFxo@N(59W%z`lpdeAHaBR2tSx)&Y9f=7z25Vz85`et@l z+LaUNGYHMhxBvU!o2PXu^?xI67++nfoum8QO01?yV3+gOdhdvPd?zW8Yr)jw*-O*O#rUHWKqUaKFHfbfwu*qnX=6G zuqzX_cD?{;EwDbMU(F!v;B%YGV!h2KL?(VCw4dV;n-&bEsPPG*T>z|EE14pFzpYYu z7nJUDZ{aYJ6xiiWiRCUyuk$xAQ0lk|g>;U4u#vvJB&1XFD5ZZ^RYU*`*tlM=`<1y( ze*ZK9feKdf8L^=N>WKH{$EBYV9R^^0i1#mSY6(X){1=b$_w_j7@iE3X z^#j^%G(_Vqa>Z+m*F;NB5FfD*Re#Wcc#FREnYh7G7ML)YkcrP&?dl&1oS{BrY+Z!} zM&cLP`|z<3&!1(w2o`J_2gdlh-0SO&Ur%*`6foF{05DLiJd}HAq3e1d1ppg_8m6qF zL>%S{9T{Q<=V&`1jIc`c6MjgXfk=JSb%a7-NCA0SSHP%NeM;juA}!Z4%|(H zvu;t|X}&{F3_h-s(>O586KGX;0ABJZw9k#hS0sL}!#ROw%lCDGiX|VHdI=y?WOHKs zYHBnvz-zBa0?2+R{N718R`6n-lnAl2F@a2`=rR$_9b^Cj8?Dc?SyZHbLET`cX2xei zh=Wj|VIY*r+<_XVG#omOf9?_LoXKm1E+1c^Z1x@ieJz@7aWJF~I}2vz8vqb0!pym= z-k99sz8lj|6u&V@QRni41`ftg&pO##~fHk*cVWw8Vx@5NzobSwmX7?w!Q z7`5o?|6-vFBgF&|5XY8~-u(-EZil~LjpREpGSG7sL225I4WdSB4BECm9cNyKorJpq*Ur+dUjO_kb-qltKuC5P}@?X2(wwM3vkL z=yhypJV!y2G(SSGIa`k;rL>CiAB1_21Zju{K7awhS(i_3cuMbUxS**fH^6zC;vf08h!0j*$nbdL-h*ZF7^c6P@dv07>?!X>Ftr8Dr-SBmh_~ zh=9CzZbf=vOtje3;gMwp7CJ&4Fk(HVq6h4IO%PIZ@em>bHt`Ug*aM*Wfj7W8V!{rJ z6ZeWxC3oZ_FHBRPLx!$98Nk8olQT^-9|M%3l$;FtW(_L-Bvk5-q|oKhN2LopZaJU~ zdQI@`*-P|9rghb%wp+93I{Wn)Wg01a(jK&EX(52d*>TqCx7y5J?2sHeBPUsU*ScI5 uGRa@rvAejzw49MUw~TS075^juYW)Rfc^hPuD00001 zbW%=J06^y0W&i*H`$K(6LU#Fc1b{4^2Au9YQO1?$Q+rU&0s(#|>Kt+H2Jb z$*MB4!XxksJYA%S+1O=0cSb1x;N?D_e_5$1Q~r0d4fEm3d}i1H_UZZ4au0AtJQPa} zQM@J=6srOZK$)tci`xQR*ia{c>D&!Gp2I7Z_{I$GR@TN2KqANhp5H%qVP3Y|6gZwD zSaTA5eno&a4>DLYQv`I7KpxwXzMP!|l!4!1wYLcnua~$ZK8qbndqVft3#eMV{T54R;7Ai{Xh{4?mG|geGdB0=y|_Wm`}ty645{&y bDSsnB83Iu9#zRu100000NkvXXu0mjf70aT1 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/taillow_still_front_pic.png b/graphics/pokemon/front_pics/taillow_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..6ff802ac69d0d6a928dece15acfb82f9b46decb6 GIT binary patch literal 508 zcmVKkg-m}P#A@8NyCXc+w7!6m7jSSOp)@Yy z#s+aTCUV0@9L!zZOtgb9;6~EK!NAH;iAx8GG<3nS-dlvk_Lj{_zODJco^x7+wru$e zPEg)|-*A`5&h+`IkS^rR@zAFIbR*}O?gzc8q*plJo3(#oq({_!^Cjr%E1{S$<)JqU z2&l^^Nf!uy{fhwLWq>N`@SH0EmA@)QTQWE%_@4t%%ZG(kKrALVee_%?R;!hQq|XIA zO#9v)z}}G#8pce>#CJ68*=tQb&;cM&ctI>cp4_=L+Beu8G$vrsVxKvgIh6K!0Kihq5y=lgpljV z(1Zbz&}~NsTL}WANxGd*8#AG77*(7Uvds>oeae+E5G2Uqf(fmVBOGBKTZ^++C|=01 yN+AjqMf`Szf+Wk@aOadt=?xLm&gT1;|IIgKs)7dQxZB(S0000Kld*2wKn#WjNNBbIchOuRyqk?$ce5bfaV&20BjmgV zUE*wc#N-u}NbnReOUEE8?Vtrtl09^7>A`^biTwGK%Ci6QSCJcI&gF}>0B9IH1+0Y( z1OMq$4TPja9od}fAo$fhTdx+g)@KEnCR;b{B9M!#2A%3M*R&8804Jn1R@H^mg#rQ|%7R5Ntlxr!+5m$0;D8)V03Lt~5Fz_z z2G*$tp8%~8@O^wFdisf`cGhr>#ERlt+NbfIUdQnfgJa7e1w3LH$C2K~@q>nnC#m}+ z&j!-?#=r*y-u9JG-E$gu|N zwGTu?;B~kae47A;JTBv~33d!tlU;F;5xa2#0ymeuRG9wy8!UY zrKXne<(A?S5M#k7DZuPwjGG^`{Flw0QSXV=A=r!dogoT7!VK;`KZ4000001 zbW%=J06^y0W&i*KI!Q!9R7i==2>L7dNg zXLe?GMd%hblfK!1cPgBoxd{kFBC+w&3W!A$V}Uz!X_O*_%#AB=J|0IMLhNw@3)7J# z!X!Dqz8Hb@W_v7v32CFyct1i0WWNqfN-5oMp(Yvu7(aDgH<}LM{9q3H^PdU;=$}?Yee5b!g$j)!urQK~UbqikhsT}ik^AF!!_ zOolS16-C=8`p&VbDId+Sj8+g;l^YxVK%QzD1`6=eSWz6gB^vVBFOfpLYrqtW!j&*> zp9oT_q8&?TIY_`HpxcJ+b~bPi0AJ%|F)xIuwvAphWFpG}=AThY^Q^F?fQ5ttMAZlx zFz!jGSJ5*{U+4vK07N>PbO6y)e)k-K>G&Bf?nReG)jpk$C7}i-;jEhr%!cFkVM3I} zd}=xpTjc8sI6{{IBH{3(z5CDgFH=v#G1BD@QFF2z4wjk?Km8C@z-){pvwTA-RGL@g z3J|hWP9N&kINXHuEVpVP;3#;#4!$Ehuqx$BCq-9~=MK=|%2s6E&7dOvt%XI{=G+1DB^PL* zehZ!}VAoL?34~0xS}4Jwc^8h;x(@sj``orwd;@$vYZ#c+%cAS(=WB47HdfR?23;55 zT>v%(Vl7#(4+7%v^Nn3^*RbkjpWzl1)&0ZU82aTj$C86j zn5jw&VuWiRfQ_Ly&Z?WKl)p>EP!Px8AYC7Vd*K3g6mp@u1xRHPmFrUpTV*zj|N4S|dH>es0Br!80aLal;mKo7UUv2hY2Q38I1E9U~| zD8;ebY_)%F@_xf9qyWZVI`_6;y{SO&HY#vop-3=h-vMsPMN}g2{tb-9BBO})B4(+_ zG?D=m+A|&}1F{5jGJ%J>u3xka<{F^S{&A@U;7vrfHHzKucg6ovf{a(K)U(@Ft66&(N?&_n^)APh7hUM~Zw223F?J?H2vKx}2g zN72_BVGBr8b)BO5B1z~VFgiF3^O#W?TK!jN`J#Nu&C*ib@jbMUqz|jNJ>%%j=~iol iv7vidy^5p#t9=4)#;{nWbSgOj0000u4^P)K(!Wl^Ko|h<8#JK{4RJS7d;%LsHA-2HG4U1nGr0*& zZUiTp04H}AAE1>N;Ny6K9@WH2+JcF(M8WeKJuvbePHuctlkeB>&)pHS3?$;gU~%39 z>-1EePxtM1%QTf@W!{TR)B-P052Pft+WE1NU($FSC4GljzH4Dd#vuY+YrsL zom7BbQ2?l!+D;A?Koo$kX&43$$XMjTc~Jr#;7)*UN)6h910CSTKHhsZgz*S znbPZtvpZh9tLy7?{m&)vgZMRDbF%u!{u5D<;yuWlLt7oR^g{j0~#w15Br002ov JPDHLkV1fs+{Hy=~ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/tentacruel_still_front_pic.png b/graphics/pokemon/front_pics/tentacruel_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..6c95795737aabb6c6472fa10f978598ce71083f0 GIT binary patch literal 1059 zcmV+;1l;?HP)8S|HWc)s)TlYP9A-q?{m9gAfo9kr|U^00001 zbW%=J06^y0W&i*Kp-DtRR7i=mi=;&Du@J7?yaXiu=HFX_5&Gs`O z?eR+i==zH%EmQ~SkHMzlmlD`F6ac*dTAHqFX!d>=_=rRa@ov=WaUOp@m|oq)spvz~p3xb-*diK}C?0(~|EHaT$W5!& zUIK7A+5nR$aV61!D6Drn0PsB+(gXy+wW@{7f;j(hFdc+p z6h)L$$h85aCE!3nkpK(^A{Y-T-BhX2B!$p~ zj%DIXGiEu=n0rPgao2FKyS5`T$Y4NYZ1|4RwU4{UD?l~^_-g@^%={9VlfJ>dj%SuY zzoQ&+e-T3og~zk&j&B<#RBo+-euwZ95TeWLu1xw}8*^vXWZCHVyQ#g;J>Ygca zm@BW&t^y~@l6;b9g}X3x`GjOLajGMS;gGosJfsLwpTKXDmA;na!raEDw7$(C&qc24 zcFV>QuUrw<3ZRk~B^Z{n=}BZXWwL!eOGEOleMj1Uc}P1u0F1iZyR|%{_Wo}c!~X#& d`Oo9G)_1ptmI|_}_tyXb002ovPDHLkV1hZj@{9lg literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/togepi_still_front_pic.png b/graphics/pokemon/front_pics/togepi_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..2fd04df59504a5292c09a12844f2daf2fd6a99c2 GIT binary patch literal 390 zcmV;10eSw3P)7y$qO&HwhS-oV#Q%_us00001 zbW%=J06^y0W&i*I1W80eR7i>KkFid|P#A@8f`jdLH<)|~NpulO;7ugA=qky7i32ej z%iU-+(7M22h+*q2qhpgk0k6PLX?#JEu#aub6uDUciwep zE_@}NEtD6%jyp&g-@Gf&%&7+j^`tzXun;Px$O1PUcdyi~CTb$V(H*a+$w1-Er#m7& zgu;1M`)06t*ns>wkoQ#?$V(tN)R#H6i1&9melC2(6Pkh%VPJ(go@gXgkw3(?r_^5hc<7vH>O&Qj1|JJy`0oS_MpQ%;wh)nP7T5}K(5dQ%G{{a900RM{s0N!(Rv;Y8VgWdos#sB~RGp)0q00001 zbW%=J06^y0W&i*Ie@R3^R7i>Kls{9#KoG@u$dUd6(lWWAg#}DwVvWS6PdoV81S%qPudEIE@hUCGz?obd9>7}lu18;J%kLUH%le_ z1-V_RM!fY4*diaUN*~V_lSg6sY>pcL1-SS=oQ3rZ(;tI#kbbg_00000NkvXXu0mjf DHQ?uC literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/torchic_still_front_pic.png b/graphics/pokemon/front_pics/torchic_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..a8eeb26999bc82d372aff0ac6c0bfa771eae01e7 GIT binary patch literal 548 zcmV+<0^9wGP)p|7tnaS~*%dF%S?C*O{oY00001 zbW%=J06^y0W&i*IqDe$SR7i>KlCe$#K@>$_Lg6+pK^q%lLPckcjXyFAjj>{+5Umz% zNRULOf=}@SmOtPvL=&}OX0ftjcWF!rQE&!{)x0sW)mvE2{u@MgljitS0bYNT6ORapqOqZ4%)8iC5M4lDdM| zhJ2-_8F2XN@KyU&A|XkH7--)-rkfy2sS-MbFM7Qm4w57>$GfAx5@JeR52GN^35Zj( zzZqz$1RR=y$qLX3<_H(ReKdB+ihdB_myCDJ-?cUV(BFX>2nFK&P6MF{NGJDsu?CC@ zuFU1~m@dc}AbcnkL==-PV50W4Zee~(7tz*IDPH>_u?xt?Li>{3CUjyc<#U$`fZLOX zloy;YDd5ekN%cEc7!lzx)(Gp$Kc^D9OrY<3rDF=n9w9zPr8uUhbXCiNjHD!MOfXbE z<(Tr-LbW0?0ATTh53r2W*`5smXWA-SA~FYuOQ%2snXPuNI3-sBu)mWlTFxtAwtZze muihcE+p?Afm}c$%AJ!)ZlnAV{?OZwl0000R?SH_v zQdhtcOFKlZrAkeZx?H*hk%2f%f-0KC1Nn10osf{oO-+MXa*?Xz*~z7sG;PJk8+wkv zAAjGo>u1CG4D50G7%IC3_ejo^2M^ppBm{O3i4Ihdv3qVTfq=+Q2G!{gIHl5U95JIm9 zI9wgX99>21tnbq20#pC=^aV+vz6+SCz0#GUea2AMKJjaVJBaax{z4W}GS{3KsSy6~#3_x85 z7HsFzyAYyO1FqN>!>i*;pe)lCVJN|&UOx8%DMBfuEC^-50>5I?4Fgf?h=D{gv^iU!`5h^8d?FwRIT3@Ickr9m1AP7 z23H-Ri&T2Hz&N}pdf{t%0y0+pKLS*r_}u4tSf^ixP=T@LQ{!%~;B)n8=%-|4KWR>a zp+?3vLB_2&dU3`;k|tpjUx2u|dzaY<*(|EL71^TEH`b(G#<={W=cQDe;=LYk#4erB za{K^trVG8E-+-k)=W*cSQa0}w;R#7|AeG?v3WZNGAb9dS?2mK#3P@#7PGT91#s1=m zT;5?>ZQV$vj5+b}@z?Kb^Mpw>Qbyxe;NRmf+!cVb>5KlCe(1Fcd{SkO7wd04P#Jf1uYHQ6+58rb&!ofQpYn zYBxs80yDo*B*Y9`=ddt?LX!?vBa8zQOJ4E;z+HWO-@8|jv48zad4?I&21L6{@T>(0 zbRH(UWkL{Q=&NQxLGZPotfp7wb0P)DV8<_x#@D2OzZ(FfM?cpz5LNH6Yd=<#Y9*Mqor_3=cZCymux_bWyMC(7tD$eY}T2 z(x(dVu)}Ov&d#6^1<=!5wsliOHp7@ceT2z#RZcnO&aO+Zx)ZT)(Ar0WMvq#AUdaPG3{RCYDM{0`Tn88Nh@C=~Qpi z>Et=ZpvO@-fV|E{`hr1Mh(t+60-Y|v7cPdPCopdjKo+iRJ)-a5>s1jQ(D2SS`rPFc zpckkV!&s9O_wX|#=F;Z88HfV6zSj_;+9CM*Y#UeD7j%I?8-&f~-$0>T4cdnP>u=~2 XI;o?x6-HEO00000NkvXXu0mjfxfJZf literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/trapinch_still_front_pic.png b/graphics/pokemon/front_pics/trapinch_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..48dd7951a606e4ef5cec2a77ea758a5a6d6af1cd GIT binary patch literal 420 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*S%-w6gxVetuB5y$Ls&z z>Z4wUYmO$}`&L{%#S5qe0vsI;|Ns9FWGg5rg!V?g1hN=Qg8YIR9G=}s1G1GoT^vI^ zI^SNh^*ih!z?xt!&hgrHf|Agi;wjfo^?9qb7>j#$1svvmVG*8D%)YMSFypk3{EKFC zihnTCySIGi-LEM(LxNwLG8Y)e8ydgMz3}wR$5S~EE->D@!8?mD=VXTA>Y3rT6;~YZ z&AlMX^x`zj8GoOYGapL-a(|Jm+bw$G1j}Q&OO8 znVJ@^BB|4lhY{&s)m4}~yCyC&6+rmC)O z=kIbZW!$6^9y70x>DsZVv%%Vy^Wx*zTrHhY^EQv0`AMRFLOVn9cH6wN_QTR0)+jEP)sYEsowIiyN47(qEoi(3Ex|GocnoYhKmtT9qzDG(440KCfT00001 zbW%=J06^y0W&i*I`AI}UR7i>K)G?3KFcbh_OGpRH#lL~uZ(;A2flf?;UqF~TUOU0u zTgcMkJe`ie(Fi2gKAVB@>a;A}&^XSW7*Z*Tc}aCc(%7(rr>g!GzxVu}3HiSUmS>#1 zTarTV0J|^b7QQ*a8q5-e;{|%he6`US`J%|)w{Rbdcz_X1NC=dY2gLcHg zL43MDw}KG@e)Hqpn&$`rzCL$=7cIDVfE55gdl(G?yhlQwEE{kphrmu?ADkk9?<3h@ z((4NaRZb}G1D9=~XuR!!I#oIGxDZmR2AH~gXWkMxo?Jrm;jRgR#wzJV;z0^nVJd%y zVeWT> zGYqi~mn^bnLZ_ij81wy?mReF>$qi!*-}j?okQs%b75TGb2ozPaKZsYq#>bIpT~wlA zjaV%9?CJ_D56&2>VYh6o*xZ*{wTUZdY`cy zH#lS5%;)A3_j_r2D<0z!B|wZlX^c54Ln%P#UVO`KPboDx3piuK`QQ^nT|M~^uiuR` VY0o@4u_XWi002ovPDHLkV1i|N7##or literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/tropius_still_front_pic.png b/graphics/pokemon/front_pics/tropius_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..e2ae021cbdc45e9ad1c6ba90d63d6e89f91ce19e GIT binary patch literal 1172 zcmV;F1Z(?=P)&YEs2oTyF1P00001 zbW%=J06^y0W&i*L5=lfsR7i<^mA`M>Mij>>1J1-jBqgJRfb@=XCISNQlr4Zzlj+h&Nna8tw@Pz zE*Q`J?)i&tLYJPr(k4oZQKZBU=QcN+>|3Sod}(EMmsxu$ z9Vin3LI8+vat4X>1LC%_Y}RxSte<-$OHrmkypnO}##~5WcR}Gz?*f2b0L~P}1Xt5R zk%|KX?_G!1dLRMfo{Ui&>YUXb1Rz4~z01h7_og?3+Fa&IR8YNszacji?SiaIyrHF_w#GKwPKUl?r{S!!ZhgYH-;oRCY^wbPGU&Weege z2ks;Q{Gcp}Mz$ns(E13(LaZ8By_+owB7vhMDgrBl%_tO-?w@P`bE1)%j9SokUh*;$ z!P=!zhtLr4)1Y)j^pm7;h=rvfGNW`xhn4RW%yAQds^jf#kc#^-Nun)4j^G7-h$*bf zu#ODtu6xjp^M<-*uwQrJhWpWW0D8w@O}FXz(DkR={FHF!I1axjM0B>z5A9_(o1EVl zVR#DwKPLdlo90FF<{>CtFgAfCBw+hN`Ig`0*69K;?jNoLx(j}G`Fsx8yrma`68b?P zemn;ZKGUt0U#q*+gbXehfX#~lYAL49$+==YC_xI$NMWEvIT3(6j2>4-h=4jUV3@NMW>%Q{ z1*91J;wKS^Zh|c{W;Ko_TPh%cpB_9ra>}KOe88lFmq&&$BA{IU=3hWScuCqGI;Nui*Xttiq5tHa3>EzO8Uc0kw!a3bY5v+C mKl!7VOQ-49+Y9UI^80_6yYt-U|0`tx0000D;oN)Z3v0RNl-|6%~{2mlZe5dZ(hBEQ_i00001 zbW%=J06^y0W&i*J{z*hZR7i<^ld)^tKorJrNI@Fxv2^KT{|Tx?pqq1sW(gsUOP6#B zJvl@0(BPAoq=g_W4cLJe%YrsjC%OFxOfq&!BygdVD?ye*vS`%mzB|c^?v(Tm7N_rb z-}|0?hfr2i_7kE9Ys$0|2TGyD@nz_PMc^|zxSWc>j1jZ*5S2V1g@HHuA-R`aAZBBK z8eI9I=S^J607N%j!nnEZU3%V?>lTxiCf`;yO=~n=*gp24Bt87ibf~85y62u3iai=A zT-9nXIq@2Zu{>pcV@cCC6F@s*I#k}HUaMCZz{;ekbD&mD9af;lg_NQGta1mOxUQ_D zdc9KJ)U;(ncEI6dDC;ReSnX&hlkc7{rNEU6-_J^Wo_q+wg#oEfc4im%Oi`(7#7c=j z!QkzaMBgj!2LKXmKTd!!yoY$9X=Hn05Cq;&X-Wa}L{5fCZuNr3CGm=qb=KnT1g>(CNVqiMhsp#1slMJve1P zOf>mY7y;fMoI=ucNFb;X6JCIh)HqIt?3y~I*SQ&6E#6X{r$f>;TLO$*{!ASJpmrWm zNW@on4*L!@asV>>efF?Z2SWGlZeJKP@w4ZPzhZxFbS8YLWHrbf=z4UG3Z)Jf4m!nn zy$C3o1Ej=_B47{NYLN$~3jNs4D7)O8e79%#ib?l5dMGZNF!!D-<(_qR~Dy@Ta}W>^8t6D300001 zbW%=J06^y0W&i*K#Ysd#R7i<+m9cIcM-YZD0I!uGm?;?ndsI!xv)7u&?QCNpSo(Gs zh~nZNLwAh0cKPHhtJtKBjAma0%1x??DCYblJ=7VAO^Q`A$`}}xhdQZPBn~$P%sHOvLkmJD z-uny;Wy@f5XdyGH#}a_J4CDbY64~6LrjYgmSZ1&^1CTcgB%%V41dQ||GO#EJC?B9* zQsE{U71<^RN|8y?z>d%xipNIFvqC^ILwF>}Z5~@Z6GDo)+5_;M+`f!~sSrihK)i7A zL_y>#3QIYtWlBKyS`7r~q`nt%Ld;K|X7JHDoXDzAlIqmy({ZHt5M@b4=5p^<2N*7? zRx&F1i0WUxZ$P)D2!Q}QJVyz6cz*+qZ(`m8lqkN^LN1Q~x{(e^!i3P;93B*26EF<~ zNETqHhFY`FLZ5GLW`XRPHqIHm8)W(B&1slZxs8(S1aXTvY#i^8yN)nh2FMRS?Yz#N z3=BxU6G)@eHUV-5=#&{tv;t|Lhu#DHXxl7hCbjD#t_KPNE*!^mF;!S~4t&+uyU6mZ zpBT{eDUIhcr2Um3-RZ@0X=edGkLTj@a=H8!>JvpG4V}Vj zG~KO!l3ED(p#{{7G2K<*otDa31r~V5&pN+iU`08`Sm6%P?MFS9=!Lub`R#J~?ss@G z`4_oiQo7Xc%I@yYeL8h(^0;1msBcf(fTeM;zw>&Lo=K|H@|SC6@0(NYsbd}m*ag3o zS1ka!!+S)(g-D=lOmjsZAL#EI(1(Xs;AIaSgZyK)y5@GW;AyYKL063`kYCp8Ke^O4 zr@nE`FhfyVc(qz_Uuv+_-CHvNXh>MfaovufT+s8_ViRXLZUJq(871hApm8w}iqh0B7y_!^!tC?ZcY_eo3Na;vdK({-HyLc>3~2I*)nLfbG-lhp z?DHvoc{K41sVudb*#Y!~Ny!Z!uho1vorH#lz3RaXq3Uv|iGabBN;FL<)QhxY#5SBl z55_Ur95wf6T2YlX3-!;EmZCPPnnzbOevtmj^<}8f+X{sK*cH`5KS~^Zck*Ez$7u_m z|BWB_5_LVPPfQ#?I#K77??2w|e%^=wLKuv!dU9J&LWuVa7xDM|=>L;3vw7CvtoHx_ N002ovPDHLkV1kH>05<>t literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/tyrogue_still_front_pic.png b/graphics/pokemon/front_pics/tyrogue_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..cd12978ae447fe5fc3c6993d6cd3919d1d9b5fa8 GIT binary patch literal 530 zcmV+t0`2{YP)Kldn(1KorL-){2@rEXk^8c$ZToWa+hHrpd0GWw3IB zA3?VK1#~l$q%$l*bkw1z@ca)b3R@8W zG?}z$qxmK-{LKI_dyChi5Ci{tGZ69eG*3o8B^coHcAShU#rCuqTg5kHLeOIfX~&~< z37WTOUnfN-bY_93yS6fDdlCcktB+g5m=)O+ zX%NS01*F*oX%MHw3P^@Xi#$y;C)V*%oFc1J>0;C5IeiskX*djnE6)E6JIt?y3#k>MG zvL>&Qp)JrB9c91@I;KPP5(aFKL>6xc^3PFByjD&*WL$oLeoE+u_6%DIWyG6bP z$kvBI)j&SZ32b`6uj%xo*>?fWQCEN!{Cv<|puh~y#zO9aw)imV}?I4;$swdnUO6mwbaZy#I zddmRnIoQwvZ0?HGaZ?a*k`j`@hzFFU6O=_^dVyLMM)m>m7S=3K0ZhDHi%56D2+kUS z>A8`=dMA{m_7)LvfP&lj3B(K#2_;7^To56lbGr#d_5T-@lKCaG%0Ca$&nZ*W1&vad k!f}1y1ieG{KK^3IZ@M<*v*1ab^8f$<07*qoM6N<$f*VXDL;wH) literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/unown_a_still_front_pic.png b/graphics/pokemon/front_pics/unown_a_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..697de36dc030c206fe973e467d2ef862cc98d26d GIT binary patch literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}krG$9CEm!!>=NlJxcz|fhuBM@ddI`b|L@1P?D%qg(tF_q+5N0m)l6U1 z8&a-2H25`kFiLVI3r>7D(^kV^_KLu+g6>q?2BGS$nx*HNi{_nj5C0y?ztduC=2Z5K zjb70#8+6@M6szhEP2l{n!#C+#LBL9u!-3pfJ>PYGdwTwT&68>pTk9=-*uhyM!Cr#h zXrGL@bw;z6_+u`{_w8k;m=7*#aBiJ8RcgTe~DWM4fC+CeU literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/unown_b_still_front_pic.png b/graphics/pokemon/front_pics/unown_b_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..fbe2e4623daa901208d0cf325f76f48c87020980 GIT binary patch literal 355 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}jqIla}|v?Yl$^1Zz@+ryul=vSZI`=5yPp zA>X2)x#F)!PX{;zUdM&ljfJwm;^ynvo%@O1TaS?83{1OQfYlsW(a literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/unown_c_still_front_pic.png b/graphics/pokemon/front_pics/unown_c_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..c5ef1c457f71fa62d9010a780eeb70cc67a8c564 GIT binary patch literal 395 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}^rO=;JR|c zj&L14fv{VBN##7^8|KO#ENIwJaJy%5hBlja>7Qu1`e%p5A6?N5<7IGr&MNr1K_gRE zNNWx2f#hvG0bf6_JAOz~$7yR)YqHKNy;VwX+LGP#qstn%>GZU6EoI%iT%lV|VQcC1 zwTzJ`Zp{wN-}cHT*4FJ|RYP>hjd#atF81gd2v1o4{^u*B68AHKOLN{O#LP2hPB0PR z{IHhaqv!G`8OFUc`WXH!RTchxsqa$a!Wq$T=5fzo>(1hFC;ifIuV1T6AHPz_UZSN? z#I}Vc^2avuriph}U-18tfAD@??!;*m8wCO`x5j>SZ821M@SfpC`Agjc@{E_{7?#^b Z^B1^QHdn<2YXU=v!PC{xWt~$(696~_tk(bl literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/unown_d_still_front_pic.png b/graphics/pokemon/front_pics/unown_d_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..c39b26120dd75fe6ff2c9a97d45b8eb956967f80 GIT binary patch literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}ZMynFW=M25!`~UpUm07xO*Q#)Pca17YLo)==^-6h=SG2o%M-F?dEY@Sv-~H+_|{?W8F*%`~x;Tb-biSQz$alzq$JIFW z)ZT!HOq|-z*{aoomX3wr1U}??&X~;~B>DMzjqUCGeL=CYyH#esV7m8J(I7p+!_lR| z@xJmwA*n~*ZF|{t109&XY)?<%_{gcq3@wfeoP1S4-C|kM9wDw(3KH&XZ5}s= zG*9ngsNb<7o+tj?K9_^11q0a*+OK}cGyTOYrz&PmrSOV(_mg)5y~E(?>gTe~DWM4f DNUVpb literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/unown_exclamation_mark_still_front_pic.png b/graphics/pokemon/front_pics/unown_exclamation_mark_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..86f329f92f6cf8aa0aadc048d4f3311ede6a28e6 GIT binary patch literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}czHw&Kjjf36nnTD!V9wn+~>9|c4YXK^d-xo`pq%sPSzhPI!Wd?6O;tszdo&ag>|nU-+_p?3m;G8E?wAt z&})N>!;9z71H`X%v~M*xa-F$BUM*gH*Cx)+H|yLFOl%O^$Xs)OQt{*F32uL%?ElHY Y!{=MPW~pl#-? z4{>Z?7^A}3Y;MOgzhhZvedud$?nR5O?u)YjZ}|HD`~9zdi%y*S75enjhvzMOn%nrq z`3$afOmhs#6+f$RYT^7;*G!klXw9YD9_&$=Rxn5Pj`ot<3%jQ|{S98(?R02ChvQ?{ z%=`~E1%=Mle1Z?(NOcQXv?)zI=JaJ_8tbjFu+^qFTo@ITS?=mL<%kFfSd{)-=eckD z$HgDYTfJ?!8{|owt1#Riny(R&pXVa1v|U>%9zzrceFaANSWkg*)-p-lafaGkCiCxvXxmvF#qGy9d9)+ niFYw-Gp#8KejvzRC+Yu6I3c^L@cnV1hZ#Iw{an^LB{Ts5OVXO2 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/unown_h_still_front_pic.png b/graphics/pokemon/front_pics/unown_h_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..f8ab66963baecebfe44700f3f7b026c8efb8c610 GIT binary patch literal 424 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B} z@x#W|-U^G|1@bJ!l(M8ZTvYZD-T$<&tD}uya^sJT&$^vPl1yqZC&<74wa&Ju(0K04 zjL*lf>zes2YlzBy&3ygFja>%I?yX!C;i3@#pLL?&5~KTf#fl0Peob)>`#r(n&HN?r_^VGoyXba{bD^_6BHm2DdP_TH&td2LdpI-rLs!MlJ<1rl zsdOfj!t0yT{p$rE+-uW$F@g8Sty!G$!Aut69qmGb3k2Bi8$^q=Fv@@D7e6ZZ_7d-x k|J^4Ti;@}^{=dd9Snl|>@YC9Apwk&VUHx3vIVCg!0H|w)Jpcdz literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/unown_j_still_front_pic.png b/graphics/pokemon/front_pics/unown_j_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..4c1f4ed2e7e9197af9358b2a4fe4cc798206f686 GIT binary patch literal 334 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}W4!eYZ|-;(Yy;t>4O0cQ{kg)K~1^f@T4RU1sX% zG&{B&u+ct{y^i6%hofr3p#?`L$bCK$zvq|O%p+3gm6r1EzjEbD$VK+On}S!**weWM P=r0COS3j3^P6-+GZ#foFzWd6+lL!v%)RCLQ}}$X{^7FHB!! z{(s@ea*Hn=+xFKb;>&@Oe*Z_(ViEJMG_P2B$cn?SR!Qi!(21KO>fhT#C%?73CHHk* ctm|GzHnoU%HzQ4s0X@m!>FVdQ&MBb@02x!6ApigX literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/unown_l_still_front_pic.png b/graphics/pokemon/front_pics/unown_l_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..6bb837167d2b6abb6a823155e817e4eabc8831d4 GIT binary patch literal 315 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}`7?`xW{V_FHDtaaVtkQBO!f3LMwJO7NeiCa@XAcL`zmOc6MpE=)(fuAEv&QR tc?I^Y;hJ-$ayru=d6fl1Gtcx}GEB^L|EbyJngjF%gQu&X%Q~loCIH;Zgwy~4 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/unown_m_still_front_pic.png b/graphics/pokemon/front_pics/unown_m_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..981c7f801cef39c3ded6b338630cd2aaf95fb083 GIT binary patch literal 414 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}3_G+1T8sP^wzYeWkSM?<5h~g3LZ}Vu=oF*y~RFP zW_ujmdyeg)@j2VxLgB>i>CGFC%yA2xBCy(#9Txrh{vmqlH!wntDaBjv{p>IaE6;)0XYzpm^Tbd1O=0~wG zI_?uFvR4k-8(^HaNsQ^&jDCan33|sC%(-?vGFR~XT?tdunys&nJ>0NptANy@wXx!d v?A|5s>63i4`l-W_djGHDI}0AV{$QPB*e`wJeZ@gwpfPy5`njxgN@xNAbd0@T literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/unown_n_still_front_pic.png b/graphics/pokemon/front_pics/unown_n_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..cff797db4228f772b217d70ddc33c0798571e5fb GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}>b=CmoI2tW6dcwe{o*d`H{zV-nUG;T*1}cKlqsx?Ot^+>ai?&5x-)^?Cb9@ zY^|GLzWkwjU0}nVL(<`5@yvOgPmCNU6?-yUDEljK2x(wxpbJwB;%kTn)P%v_D9Et5lC|n3cGB z$3&(xN15b{PR{(ho2}>Gmxv{2U6PhF7|rKsF-ZPsdf?QWV@D=d@kT^XSAMcIHG^w| z?Yv%BJC{3ZyO^KsJ|T7J)scN{HJUB8_afH5n!aU~bNjyq^JJdn9xCrJ`~nOF22WQ% Jmvv4FO#q&SsI&k8 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/unown_o_still_front_pic.png b/graphics/pokemon/front_pics/unown_o_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..8b8e81295940d22f7179edabbbf62cc84b0302db GIT binary patch literal 417 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}YnhwMwK^O-`VL5b)nhrejYWT@>Vexr?>c7pXeuRmcQ{Bpr{r|T3qDA`F4j2d zYSO(s8&Al6V#~Qwu+isFhiK@b%c2Ra(`@XUU$8IcyvFr$^Sbz`#q3Xhe*OHV_Q9Fg z?AI9`GLJ54FmCu}dG>wSBJK;@O)AS8%<3i@CeOOT@MTg2gJc)I$ztaD0e0sv3{y9NLN literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/unown_p_still_front_pic.png b/graphics/pokemon/front_pics/unown_p_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..99a7c98e23c354edcf868a958be7b666a9b5664f GIT binary patch literal 312 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}4^>bP0l+XkKN{Nbz literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/unown_q_still_front_pic.png b/graphics/pokemon/front_pics/unown_q_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..fe94c27fa08183942bb46d2893bbaa72b646e458 GIT binary patch literal 320 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}wLOmE&SR@{iy0E+*0MzSh%5JQ;K=t} zZn?m9PRRc!{}-yVB**&r9`}iC$aQU7_WS*`pg=#z=o>o>)t)aAf3Hz2ckIQb;Jjm% ybs;wUUxughDg|u&$-G6yS|t4D!e!5HR5IFd`OXbr?Jf=U34^DrpUXO@geCybbci(o literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/unown_question_mark_still_front_pic.png b/graphics/pokemon/front_pics/unown_question_mark_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..ee0ad284ccda57aa62780dc10d723dc50b5abf51 GIT binary patch literal 332 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}=jzuCRPj^mV*<-(U+okBmf>fx$KXO*!sOPMiCdq3FDY5? z{O*kym*!Pd+j@QvmJPzU7cAI!^_BAc2OFd|ayYALEIqd2knzeEuAeQB@7gg~A6EP` s)xWhTm-AgVWAvd7CM|x?zwcq#{noQ#p3urdpcfcCUHx3vIVCg!07UYM@&Et; literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/unown_s_still_front_pic.png b/graphics/pokemon/front_pics/unown_s_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..a144e27f539a01b6a017e2b8076c6c970aaaaa57 GIT binary patch literal 363 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}tE-TIK6%-$gH@aEy6N!??sUV+eL1cC=0c1@odve zJAT8UBly7HlD!?vTP$olZ~mOndLkuG?^t(9a*VrHR+o6&#yv&0C6#AiPnx>;`cv-y r)9eprZ|EP3)IX-8v*(EUKcW4c_tPU1|G)7DdYZx0)z4*}Q$iB}%~vw4yv$htyu;11%s!npUXO@geCyq!-;|b literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/unown_u_still_front_pic.png b/graphics/pokemon/front_pics/unown_u_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..39503f01c9d708ab1604482d8515d73c33b738b7 GIT binary patch literal 391 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}i?ouH`aUP#2UPlUy!<9sQUGRr*G=3`EpE7>U!wZ2CLLp>7VZ`UhemI^{&5+1>F2R zCcbBP3bcwT-gcTI#dh1lC1(4C<)I5x6`8+JpLxpFYHQ0^t3G{8=l<6dp0B*UqrP^( z!tIw5pTAm`PCTyNBPr3nhyNdiH;OULlDRZH)`%^f>BuW()zv%OYAmiT zc`%hjVUk})+5V@U6W^|VbZXL)EqRK822G7ScKE3H@r4{*DDrNGanXkyW%<+mT_R=e zCo6TNYNA_YCm&z>P5A;xXv`}4L)=Gq==ADOjea(7>rTPVSy^XvSr@#je|07P1s~(B W>f(ZcJRV@^FnGH9xvX#T) literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/unown_v_still_front_pic.png b/graphics/pokemon/front_pics/unown_v_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..f014289bdb84662f320e827118a5de202c2a75e2 GIT binary patch literal 349 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}SaY4@)A*U29Fbg}a8}pj$BxfG16D13s8^N1X6f7*boqPeeEnP1 zJr~Yy^m-xQt1cuL+PH+-(xPYKyA3}-*G_-M)+(@WIj>LKOZkJ3QV*{2nEW~T^jZg@ zryd8mCb+O97z@O>o!P_Sd8VVOVN*%A-jYQ|HEfb8OZ+fCNwRFmidHbh0vqUU46MppOsM*Wq;nG-GHHIa2GE-fp00i_>zopr0BhiwrT_o{ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/unown_w_still_front_pic.png b/graphics/pokemon/front_pics/unown_w_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..829804ebfcad4dc7f422be86b7bdfec7b7d46e9a GIT binary patch literal 355 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}N;z%4J%eUp?Q&9K0j^vB)g;HlSx2JYD@<);T3K0RS?)plkpD literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/unown_x_still_front_pic.png b/graphics/pokemon/front_pics/unown_x_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..053e2ee08ca6b256fadc55cf69fc3229b746c057 GIT binary patch literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}t5@%9@E&8n0Ix-ufzwe3EH}TUDv98olXEgTe~DWM4f?Yxu2 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/unown_y_still_front_pic.png b/graphics/pokemon/front_pics/unown_y_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..d8f40e27edfe2f09c1d4e3d038f0c39dd0759201 GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*RyBW{Ac(NLHF+6`~UyH zfPlb~B}S zsrJynj7>+bF*^NXHhHsRXAX~mYJGR()}5>yzlvx!&p(&0t~A^1ulLt~dwpZq&rS^V z=(g*5eW1sXd0lq|`;o=RBv(X8N$v_^V_0dzcFayM8Es-QCG>{KJ;A`#lQJ zru{lx`8-&=x$~smTvZ0K*J6BM#BVWKWS+ReQZhC2IL}$lluOeKCcasyeL&`x>=h@@ zqy=KZYiCOA;fxcv+{~75TgU3N#>UzG+n|x;Tb-biSQz$alzq$JN&L z)ZP_UjclF0tdrv!o-l;I%Hc8b%JWV*&o7koW&OXZZI9&_#qO5Uddm0u*8?Uqi;w9q z65U%#fxbw=H1=UfJvJ6+wq)udE_OL4tq`qq{PzcIzDLED}S8VscDE|sgFH60RQ%+|J8fdtWvatDeh8g-rnA{w7q+Kix3bHmUkji00001 zbW%=J06^y0W&i*J{7FPXR7i=HmA`M(KorM4)EPP?>e8t#l7rN&Rfn}y0~ovO76DoX!{0#w zz!n1yU;@4mz_maH$e7Rr!ts4BVxh~yxDc?tCxsr^{*%0Y84Dpsnj~L8>8HIO62sY9 z%qLGr>2m@!LFSWm3xQX9;P8c%Jq3t^S%7$Rzt?LkfUy}w!0-0RVi5!)n4Wn69NwWH z`@lJO1Fu{ofDa%g`hy^hm|M=%cM!0JGVUT#YK6%F5tsfNnn2TUB zOSbO9m>`Q-Tn5a@x5ot7C_oBfF$VM3(7Bq_6+!bTN|;QnK{H8`^oYW6%$0>jfCZ2o z)}fK&xn?pBkSauA%x@;g7^OiHUWIba#h9~f=5HKQj?I(+BSPTb#NV=P&tE-ORbUL} z8Z`vm4A`;i%V zz%z^vd7yIVL z{LzJtM{3?F)+c4YPiIS~!N7<>#b8@0b$JgJvMQ@M8U$<{)NR&EsY-I|a2%Ey68+p^sE!CIm^Uh4 z5hb9!HwZX(QDO?XS_v)StK)t{48No>wY+5k)}8|BDHmEm6(QQcMHneRF9CGQ(LWgC z(*7EMF9Cw~v4fv@Nd{^;OIZ$SpYa*S7z_h0W&&!RaR@abrhwWocV)}~YL|=o8=CHq zumJo$TRH#K&K|{5$Om5w3ZskV{^XT-MJ_+gpBRPYBx|=u7k%Adn=-8AMt{!!0rWaz UzOCXZ4FCWD07*qoM6N<$g1H}!P5=M^ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/vaporeon_still_front_pic.png b/graphics/pokemon/front_pics/vaporeon_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..af9a0f99924860c59ef56e6192475e2fc927aa83 GIT binary patch literal 802 zcmV+-1Ks?IP)(SbA#^HV$HNUq>B)0QYk4Z50(DMyBqo+5 z5^DvPI<(ALy0yY$XqP~qN*W?2kRn#l(Xtj{!%CE1!q_TyZ0M90b3K!G@cBk(nwO&Q}ZKMjrHk%PS+Pf8P2j_gt zjEm-_9G-rP#}y5y9|=E3TixbB22xo(u9k2*yRF`g-vA2$4;n%teFqd~b9*N>U2paS z&%s60_<4P~g!5UF105Po7N~N$<+gFAz5+kV?30|X8z;5|EVS}Cv#|uND^ei4oSPCb zRRo@CyaRw%ns5#!*0+O3XbUi2dn*9od<}}P*kBL@rj`ZZ$Hk==1<;p)(h_`yhM^0j zsI4+_f>uryUv3@3Iz0d=YemloBn55h^bo|@LR~8_vM_*FG=9*a=QkJCN_nxvSU&_* zuIR_3jK?Zf?Zq5p0|`hy)Oc_G_`S!pO8MFg1E`I^_vkTaY?X5#aAaT_4=1ZPPsp6j z2A>Rj00001 zbW%=J06^y0W&i*J(Md!>R7i>Cl)q2gKorMsL-K&d%Fuz4t?I_oB^6TkfW#kQBu^cH zAw&6BOd+Xclw_>LIpz=W)hkkxXEXc9Ina%8zP^h|u;VCQEA>szz0ZB$_r1FuA^&jb zQf|!4obyeD2pCJiMG0Xo1w2ZFc&R{Ug~Sq20zs(+5fD56;}SptFDQE;x71BowgmFT zaVb>}7J!Z(7@w*x)I#ogageJ05EffB2$IB?@JRGfRbZ}iSsE0&^tqowM)VN^2}2WQ z3uwY&GRYt!Vx%ni6Ngp-jj^7X0}%oYJXBC~T2vt9mGzXF{F#Vi)x%|QgcB$QVKl)rA%P!z`RkcBA3ieTnGLlj0Jpz;b~ieRd{q-9|6 zl+F$kV#OUWV}gYG04IN@FvQ16tEj1ja+4yYL@04c1hlGb*IYX=UEgM6K^#lI!}s$! z-*+sVkbkfqZ_pE&ht~s-GRqCXt?PkA_V)UeSxIE`(IK6r3nM5ZFg)aH*wq(zr9nYYbrqCKmfab~tJa)nB#RF;J zK$8M^HpZry!FLYafkqwUTg;&E!j~BU;%E^Q1OfWINd!P$oWTWXJ!s|u>S#fXi4-&z zkZL~FUdmGZ@e*wK eVgIkcQ@;Qu3tOf>pmFd30000R7i>4luu~eRvgFejNo1hl`O~zIN&D-?H253@Nu{n^te!X zw#ouMr5U6L%bWW1p;~)!{Y(oz87!KMuY<KgGUwYl#ojsbG-7r$C^Bc8u(n{hlmk zar3(v0}V%oTE6Dc~0wHk3JFk8P_~lgyjGyq`1R$0M9R`z!4}Y*&$a5nJJbUBxnZeoN z{lf#i;6Mg^JyF7#oUl8%#v1?zM*)PBZLD7#heH$uW+r&sH+VNWhEDJ3rQ@7%-sSx1 zRKT4T0F2)B#5sE7bOAVC@W&g?m0jQy@!S9a+F}UP0Z)uUw86vHx|U@Dwmcoy3jZN#`!9ELt z$JRYgS^We8c0oQdGxy?;?bL4KF znsX_Kgm)tbq#5Q%O4V~mXG0fENm7bAZyqe-5|}?e8+}Km&7nI43G=#a`?(;v5tkUv zhCz^}<*EcGA(C3IePN@GjY|(wu-FQug09y}giwqkw{!lb!kUy1qv++DXDqW z$2LwQiNZ~gHM3BQ0iDVOOU&OzHP-YRA*A?c9s!Xr)TAl_8z&bH0&ABD&7OaVfb8eb z-;T3$FjfAl-i$VM}>JQ8c=a#g2AS|UpUN_Q@>nN~c<)Y?s5 z)oT^H&9ang&=QCM@|S>KP;^?^{(~`bU>K;_C?PV5CDLU*iypvYQ8d0q0gPB8L#a#^ zN-LMdIax+5k)<+@fR?lvU_kPiSBnwQBC>)&USoB>&+1PEArrAFkwk{%6&$8!v2VBt zBt!v~#u8~!p;~I;$8j0#c4&bXD@)+ZoocyOl3RD{5pXx`lBn6JhW5x5lhL*#U>_@J z5SoZyA4tb z?zCdXlrf89|No@s)r-Bfd*0svy}jPe&CPprIRF3vq@<*SgM(61Qvd(|M)zWM00001 zbW%=J06^y0W&i*JLPKld)^tKoo}$3>_>ikaiD}Mq>}U(H0phGNh~1F;k+U zf&3kzLkrzZNvAl23`NA?j4mDrL($9BjM1c%=DzI!Ke z2)*PVh5ZdkGD38o1@7qs)RSic@w>c)dQ=AdE$~fgp=53pftusSxuNM#wbMq(^Cf<_eOfZm#`YA+i@ z^iy7kVzd|x9&(@yfZEH(Xnb}WSrKxz4``H+(fE==^%It5Jcu8+ARJJ80jw7xo$87t zDN6fl z?F%-FB}zHKpd2w=_~nA@v!$5MJ1nJ9%or{R5F+H~`r|JOVQhtQQGmqR=<>(!K{A78 z9#Rz8_VN46!G|^3rdYR3^W9t9zByl86_)~`S0-d)Sqy+uGY{r~ZCy~`om2^Gr`M*5 zyY|=6cPjiX>L#fTk50N{ ziI9M>uym~uLAA5t3D#Rk4B(4beTVwd+3{`55fch$@X87_B$jpVAUE)!T__vsZ_tRq qYrzq!+5vd#5h{V5RQO-=zvK_jo-W#aRql}h0000~0|DT_R`|$u8@7ZEefi8qXPrgo7YbM8F$i@t$kj2e*9`v>u_Z-&WMTBmLO1KhP*H~WJlPxcdmN? zm!xr)C?a7Pn>cLF@mP}x>KM4k!$dM!`Y4QR1Z*2q1a|UDZP_qUr1XPW_g1oN2O?lf z;Q`4crOX4mf(IgCDckSLfwGRLW6D+#&=f%VS4vAA(dep}@bI-jizXF65Eylphp-=X zK#L9n99xvG{kIpU-zy~2GyqH)C}MO*=}NlfAG6t-0SHmRQ^sVJPUgx8*f_KWi)ukZK|zCqgU!v&|NsAsL0Z*0G5=y>=H}+CgJN1*QUCw|-$tW+00001 zbW%=J06^y0W&i*J^hrcPR7i=1mA`A-KorN1fK=#GgbN;%wa!q2`xmqxvKT_?S%!uv zg~T${5R%q<9z-)aK8ixf&>_iIC=_+eP)Ia&sHNecOQ2KdZb^pP$yD{-$v>(eR&J8+ zee~YWd9LAUYIiL3$VY}w9bg2(73S}fMh6`@5C@dy4Z3{GDh}8o3Sf*UG%D3UR`qtj z>Vv%}?7~w##Kp<^My2u-08^C_5=p50$8PJQigvK214#CL(`umcZ4oR8g20DF1a$FA zD_Z8^5`gLZKBOEFW&7x`-bKJNZ5z@Ka2g&Redv0HqTLrBvL| zUL#-uD#&Vi)jIjwJu4Ig;UOzRtEp+Am4SBwGUu{Y`1MRHFIk)V3<>;UrCcr-MJ;Cl z-=37qnzX~43=Jyd+uFzug-QEQ0c;{pxi9T}0<2E+#V&FBoOAq}oNFTy3XcJ-Z}Mo3 zxHTWh0C#G6hrt5Tc_s2zbDHhOlpv7=Q;`4KsBd(fPfbn4PFNZ@m?Db09#2wM_mXEg){{kW@P&DHj-v~z=`T4IAiN@5r(N)Qkb`}*be00001 zbW%=J06^y0W&i*JG)Y83R7i>Kl0S}{KorK^CDn2V_5fSBNgZvG3lNC|>;uzmnq_Dr zM^S{QS-J8`=rqc0@VZ!x&SXj`tWX0+$1u>iT`vAdY~O#xG_nM+Ce9yc_ae-e61>X~!_rKsdR< z2Hen!Gy(h~QdNQ*D4@b`NgP^QHqxQ)B4+Ozz)M`H0Ww^e;8qfc={76ogA-0LtZK$f zVkh)I0`;l^gEkX-QJom)!$M^@`ywD(BT^Ry(~#z{05+- z%AdD(Dd~d`b!rX#d9`M&ElS$CdPddqr&1o@Or1sN9=Nx%s_kOa4~z~NS?&u|pLEN=fCc1z2~Y>2{9?5l0E|L4kmp0A9?3g(zPAOf zpZBKl)-D$P#njj?Lpd8=C0D2c?=s~}S zB=G&b_x=5TFFZ;5ufM01QTRQOS8sQd7rO5FLr1q(5`68AN{GvsrVWx8LsEKMyXV@g zKxEwwT?BY=)}{`XB!^I)3P2GRB$sww(p@I5+Y^Db0ZY4*<80MeaotI51Ar`XXua+B z$kx+Dfc94F)bH7Cx><`7iZTVyY{%aGLfI}9f$@9{7;k0cQZ@(JJI0ybvZdwPQM!x{lI^DGAS17PAtx%F|~XFKifQ4j}U5b{O!`kd!` zY-eWsQZQJI0;zB~oK&uut-&Gls2ubcV>?K9a=FR8qP4t$tKT$DGkO}S%fm^epy}X{ z`&IC*$gF|L%Q`~nW$-oVKPm%Ik>WxesEz&dY`lcAG=#L;;IKLN;|ZX2Ne3YKY;su* zaf71zP`mp$=;JE)g$*)mit=n0zi6)qOL(b)1fcUxQININu?c7cX+ps3A^@7dV{>9d z6BELsq9Tp4PMZ+AC$^9|(iMd6^TQ@|Ao^0qhA|oZZ-7z17kwyFN7LoGSB#&QkqE44 z)w20~9sEJ!9h6zSS!t9i1c*H(PJt7p2GT0f;~rEajsaAHKBl2X1N_7)(f~X#3WlMJ zV>*_usC?`6nfIigR}-^OGR`ROL`HIdr-?sZ)Bmo105b_r^DX0lG5`Po07*qoM6N<$ Ef}!4Rs{jB1 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/voltorb_still_front_pic.png b/graphics/pokemon/front_pics/voltorb_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..046e4f9c31792a61ae5a268702b51891ad8a4b06 GIT binary patch literal 407 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*Jsb3{r~^}-qovH)~tyN z3i{9RAAy>i|F4w!1m4KI@{g5I;(fgOniDLx=UWFxc6N3_jv->j-9#K>hS#} zlbF`~+6mfaOyL0)LaoQPSQoHfoU7y0>nNt7`XD#@gZ6|Y#ofCzZV&g$xKS5>g zOU6ajJ-w!%s~khTozkj(HyfS)XP_w(zauJ-TP*H~cdnfM1-pE1y#`~?9c!4Bc-!{1 zO+0dyb!)#$IP;t?r)BZCwOtr0n@)8tmQa4NspUw!g}#L??=P2UTCX=7G^8{J%|By$ uK;`IEsp(Q~_cPB0ADf&~KV7eWlKiIq3xA58Q2q`KEe20lKbLh*2~7YxVYC+j literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/vulpix_still_front_pic.png b/graphics/pokemon/front_pics/vulpix_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..38ec988fdacf6e15132df6ae8d7c27e20f7066f2 GIT binary patch literal 669 zcmV;O0%HA%P)k)_Pu-NlxoFuN`pB79d0J<00001 zbW%=J06^y0W&i*J8%ab#R7i>Klc8_hKorIej8bjpD=Xgruz=HAXU&2-Iub2p(2~hu z!MUWwATQ(w0-7WK2R2r=7r7wP$Sxs)u~ltuVpm>n&rt_*iHkR>&$1N7-+k}*y=Pn2 zQ~ie}_2bVQ9GZ`w&v~G4>z+QlXU?`0U;-W@pk;C2x_vPSsA!=aiR6LAkj)?>qK?V zfz}Fwnq=EC+A2#^G7-><09?0;(jPy=wIq0Gz33i zJ}7ilR1kt0g6Bt75~>FX*l{?jnoJ3_MG!nNCqWL?8@H$|Ml=c75jf;9RwY(R3II`< z)3$%T!tsnoKAl98D1-@N#~T5G&RbFnYBAgus5xOyCz3va5ey$I%9cdvV1<}jUZwq%==cHVc-&b;RG zgKwVv%h>JSEj_E_)qOkEcX^zVvuV90sXP2s|3v)(H~LYGO)*i=4E*#sB~R-et4j00001 zbW%=J06^y0W&i*I(n&-?R7i>KlQB#4Kp4lbP6a!dG($lga_8XMdpfwrK7+Vd5nOwr z;L;_h;NYZL-{EZ$9GyCeYiFxMLHq)B7KD5SpSx7Kr0o|F|6~5Y``z<|gt5Q;)~t^y z_pAG{Km-WWRmUG%qY+{oc;j*@AmCs$x+6mJa2YWML}Q>^INw>QE1RMfVIBf_Sy2fd zpoJKH1F~7}BLOfM&Y2n$hf4AQxy z(v~66BhIPkHbU?X2LN8D^Sl_xQ01vFcV!7^Iz-Cq3jz)QSJ z{vS`N{(MmcXgh@4vzkgehd0ydqwOuwaC=sbl{)HlI%;Tvej_daUe`+X6or5!NwhvI z^{hGvdRoUOmt}xmDV5|3G9(uZJ*!UCfcp5{C{7mzL|nxK6>EJ%=a==gYI<&WxP4yU iQ=U_sRrOzff4%^<{luMm>3Wd>0000R7i>KlQD18P!xr|R3eB9JzH6_*$zuK`=%QMO2S+ck^!l6 z_yzC+3lpl1R54YJyCj|3c;PP~M7J&!^?y`ipsA3|x$iwEj+-zrBJPu%Nawrfp8Mih z)<0C0B$029(~Wv^G#m~`QM3t3UPG4vfNauVYCVe9c-)teWt7+S4sa?9aumg7q9Sv5 zUGhT-IFd3R3?iInNz5*Xz6KCAFcwfJm|%btmt}MZDg;|3s`4NHBw!icz6v3#vp7j^ z(=?qH0Q3fI!!txp8!T?~8v_B3ZDxp>0wzh41DGFrzECD8yEbS223b^$Enfs40MAuU zD7OJ(98ahhA%ECr9%pTJM023ZVw(Gi{hZx6;J$iwX@nDE-8($hAeihbG z5?g3U6F)v1V9U2vKdXcfP3&g0X8;w#SmZWdoroUiGcI|CvEY6(Kr=P}vhC1V(2}V8 zKGBQBEb`rTv=T0fFeKW|=H@CwK_(#jh>5ljiygcax60xwu+5&(iL)I>r?{ z>wXGRO=1UnwtTlQc?VJeYi)3}0&G85$w*gIKc5x=P59cP+16aEzPCcCV5m+zHwx=3 z9{mm*bUL)CHtkqN;=JD}$^ceUpf0dUp_&7$To+%8$fG;DWj*+6u9I)<$r=DAErW#h wwK`1Bdpu`##S$`rOL>8^OaD*u|N5Ky4Gi2WuO0t$fdBvi07*qoM6N<$g6CmLjsO4v literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/walrein_still_front_pic.png b/graphics/pokemon/front_pics/walrein_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b8458e11af9a91a6ba2764e39a9250c0fc2e6ca2 GIT binary patch literal 997 zcmV00001 zbW%=J06^y0W&i*KV@X6oR7i=vl`(JAKorN5N^Df>)s+y)b@633lKlcx!+?*mEC{6w zbZ22gS%{brT^JY``UMy&@f|Q(FO8c)seZDB=-*wg*_z~FtYekkq;PwW2Wc?Q{!T4N-Jv3Gnp z9i(%JwM;rfjN;WRH>TP7oC?;m3;_XOK0X^{e>)7441uPI!~Vko8pyu@)U)pZ;O^nW zxy+WTdY$yshYl!tLXX*m7Rv-1WT($xsMqp=CS7ZE@G34|_9T0Gb?43YBTc%V)R-;< zb$yhbb#`{P&R%JKqM7y>K_vr?2HmSWPYBT8rH2PvNm2iX2I`XmCTk}y?XMJBKSG1# zlOn)Peok~X0mjx@XUx=N;~>{Cf!3_j#U>hTyd}V!B$^zm9+$Q|>1}GY-1k z=cSijIr_Z&4uKHdL>hyNLuV{kj@4-M>=oXJlv?iTrE(4J&Nyk_)1tlI1qdZYwTpIF zCU(f`|cbArR^bm60q}0M*Bt2e@ef?YJ^=lM0Zg z^imiAJZ8$M064}?9NGBhQ-EgJTsL(tRe-vnxZ8zh9LGIVM7hee0M3PI!a6XWxPQ*= z42Ypeb%uYw94m$xp*{s*o&yG0R5Q*4L%_NQ>^B5x;iB4y(Ec9OK?B7e>gXZ?qO``q zMKHBBfSG}>WE8LWkPYg1vk(RSqR5yWnkJ8=#|Tfg7x8hc)I}b-j(ef?fd@UFmb%FG zo&kU>H{!tuo>na4nGT$f@q>(QBj0{|TIdMyVIa8$Se{txLWT%|U=^##Q|to{s+JNe z0A;XexnH!HN6P{MpPi(G%QGD!2TNE+qWI-qFhI#aK=lAkipz57e#!tJa-SLrEYN^3 ziXy;|Z-IaZB>?XQoCXCgmx1COam|k?EMN|)5mf-bjQcSh3-~_$Wq}3THpM}4idg3i zaLk@O0&Zb7RBC98T>h=|e4`K)V*)hKokIQiw>1g?I=SLONeAkWg#u{t&RO>Fv1i* zCRCO%v7s{yBfUzr5<`W$F{c%xolr07hX;n{*=;fsyJ<5}3E9V8oG9`21Y++~hI8)c zckkZW*0h`Wub4Uf2e2!Xv97|$6EHV5o&x6Sc(`j-Rlx3#6PV~!0dCn#nhqf710~SW zlHR5i4h?h9T~q)AIX@ee(pIN}I!g+m`Mrh!wBs-Ds+MRww6QHRn10n#0pFp+XjKt% zRV(Pd3>;KZv#$bLnt^kKhP$l7LkaYTDT18=N<~83l-p^1<@3$76f$vjY?_naXE8U= zQ^e&WgjoWxrFQ9M-bnhGgD3pLTtvRKnf5&a(h>xBUTQNOASVxg(|u9I$vhx9mHarVHyHwk!j^h_$GRA5z>G~r9_lMFVWsq33Ejd zHzzRwu#bG)Dh8v5W>JX0^!Vy;5(pVt2cXTPBZT630!qaQ;0NAdj0gZ{aM5+_#Yu|( zIsZ4r@7V?RhyZ1VI%e*%FwR*Wd+aX89#6(Dkz-eUsZ&=NKf^rMSz22`F7h4s8u%;# z*(lZq93WQ$^)YxV0P3Qy1a4=*t9=*(hsmc^*jgnRuWgdGPxm>cvbanTUtSDA7F14d!m!S;x4i*DS=LD9d8oC53?Ea{I>l1 z=neY)EvXT4^1y*Bm8i8FG<;4-E!p3uFhES6*CKx4>@^|D2?s2dr#axo^=H|@<&Ohg zyFCNql_{{HRDn;?pg5|00001 zbW%=J06^y0W&i*IRY^oaR7i>Kl0QzvFc`%xRcb~n=?%gG%AW%;;7%2)koqNKghbqd zAsw1zWbO$d;RKYS45b1xa1g{D3N)=$sWP@R+9o4Qo)UX_KfmWsGD3|S{i|AsH306^ z5ZLbg7|m0$eA$jEqvfpl`faFavSqbj8L_k|;F+(%9128|xZu$1Nq14tpal z;JOFkZO$Y%l38aY%ghSHfz8A=ffeKuf z02d{Mk*oj}h&T|GG6D0eL~4asEO`Ts#t4tnL<77`vuB_*@^4rSz6w}()9jH_x`7x{ z(2Qw4WcgeGp$}e6)daMg%?jSYKcI;Yz>F<p00001 zbW%=J06^y0W&i*JCrLy>R7i>Kls{|RKp4i4fHzZd8MJh8?I9gCNS!-a{sgTco5>aHt+X*`==RqMy%^F=)4_p`FzbUjZR{Q1tIMLFZr z^-txO=?p}r1PB9}pvBihECGt^`{JR}im$b*71mx52tZT$jaIefWe^0=QQ5}>M;le` z0KhpyTZ0`!6X#X-IC`uA3G4!)g}UF-2+1s($9W)RY>pPpCNRS+cLQJyEZX6jZ4U^Y zr@2Ldag0^fwuvKv=Gyz5D;Wyl;w#3s0H9^`aJFe&3NWm``~tw}H@rJ9=YZBJ5aPX$ zX8>^5bpt=|(3BmLJyrbxKorRF@<;kp0=AgJ0b^qU_<2AP3EOHYfNv}#Ci&Cmj4kla zSS%p`2Kp)57|vUZyDTBKIN1cy767>Onmho7*WOsQTc5UZ>k*i20`FF%gtReE4l|%o zp`pJ$BBaf6l9n774RXLQxka&JL)TY?96|>&62M9EW;VLgf+vJfIFs}8&3&)yyGPMKZs^C$J^`Iqw-TIxzEQv`wI P00000NkvXXu0mjfX6-p< literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/weezing_still_front_pic.png b/graphics/pokemon/front_pics/weezing_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..3c50aca9bcfd680484b6ff38c2045ff21e15b216 GIT binary patch literal 988 zcmV<210(#2P) z|NrLZ=H|^g|Kv?=ba#nqIov}%isL1JPlK@boSP`^+>00001 zbW%=J06^y0W&i*KT1iAfR7i>4l`(JIRuIPtNTWl6UOUx8r`8tmGzLxpzOkPpV>>c{ zK7b9>pM-3NbWy;gB%qUFo~WW@O(sqZq<}?JZnG4SLgs&uq%Ea(#tuCQ5XJlPfB$=Y z_hecBeRTDg^Bt|9KAhFs8hi=pYV9fz50*tvE2Z6g%J$m}07~_NZURtMt&}T(R@+9@ z!0qoOxZo^P*1%QnXHGj1W&dJ_eTtShkW-(xqLg*@;>{m^Kyf_p9A2WxzdFf%L_kp# zm5T{%Y$f6PwdBXX4+)~^avSJ~1D}Z&Mudpxu)PI5#{HamMPz^p0M*|tVNzijLoZV%Kh2*O+TvlR|qT0pZ z`%<73=IsK&ImEvL`pbG!1J%m30pthg$B4OhQc|?Htk)@&R}c#FcJ~%w5WgN6pcgdm zLG0n3%;LuDDw@{-eja(xrN5wL<|LXBc|(q;Tmx22BhT}OwK9NsL8IqKLwdPxfED4_ zE3XA+(TZLT$)j=J05%?gD4EKL^CV)AM!0TXxcw7JiP2C5u(k4O&Zo!6K%2K^dtwSk zMIbjH=F<~yJ?i*RX<=mYoZvn;k(k}x)r%Y^kvBJyE!Pc@U&`LqI#2k>^G?hyUPHLY z_>w{&L}H+yRBL!Lz`Qb*OP&|l<#RJZGHAWylT#2ggt2ZjSLJWL8v}G?NdCdo5J}V2 zSeH6-Vww5rx|X&~XUC$D$TrI%gEOEWQJg#adxED_qFVFK(&j|&t6RW5#Kd0X@v1D4 zG@Zy%Qv*2sR6obEzec(!>S|EvxK=a4E@s)T>P0UutQ`UF#;)meBSeAXVhh+hU31x# zi@VVlKyRFCwg}L4vqnb%@ne?7M#C{pdDDb77ziNeW%p@sopY9~D{Cv7H8%&OJ^z@c z+XA7y9zmEpMn0000< KMNUMnLSTXpDBWfN literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/whiscash_still_front_pic.png b/graphics/pokemon/front_pics/whiscash_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..1262d3af866edc617ba3cc43ff1d89a2ba960536 GIT binary patch literal 752 zcmVgT>}*z21Y~|NsC0Yx00001 zbW%=J06^y0W&i*JZb?KzR7i>KlR;|}K@`U)p=?=C84d^1V2v&p7C^x8km z?y~PU@BiML9fYoR1*Hih_b-aqIOabxi-8R;G+YeSE&-PKSPMO_4u~3lvey?Bxxq0D zdM_6P>0!YMzxy*^HOANr@q#m`SvU;Cm8Y?IgIPh~GlX=Qq07420g3?)I}ne+0e}yw zL$Vp9dMw)=xH|~-Iy!H205F&;{xXi19RN_R-QIBs4B&4UpH|`=cte%W`MCnx=ic!CxQ?_ zv6#`UcnNvBU9Z;xs0bjJi#B^)LK;Hj3>C8K5K>eCS;8ku_v8f@0OWEw4(Me{U)ehX zD9Q}v7M=qbvxUP1IHFS%0el3&W{{u)O$cE1Xm<*TE(EamkkakZV>t!@!Wi&*BpRTV zt2g|`sK#Fqf< zMkJpZSbSUaTpq4~gWOXkMJl+XgX{-yKO_OwQ`rnOr|%yp#Pw*I{v{E37v-%c i0mxI}#2T)3iT(owTNG8l%On^80000|J8f;tU1-30Hkvm)z#jdoTOS>Y5)KLPuySs00001 zbW%=J06^y0W&i*IjY&j7R7i>Klrc}kFc5`3ln!Oce{eV0daXw?#B>cpaU~{@(q_%b z$iU+49cpFhT6IDKBr5(?MOvT?7$<2flw7id`XqaKpWfN=T?jeoFKRvy>U}xp%NoBW zBlYCg0JBJ`bxlM|DisSa1CGQ69uNz0o%#;+%EU}5^(=%~66+BFdZh}{7C0AQQW~Oo zm{wjv3@+(RrbO{RFKK|s2b7-5RA85Z_?`DDr6(D1-(8k~2eR_NcYrK@k%fv0vFx{9 z2{|qt;@AWb>&%pBFH%1$0_4>!ho-=0VgRMEXUPDt)x`J;dljc+e1MHoIM9Gx_QLp6 zB%lHIo|s}48n8}`ZI-RkzHqVx+cg{BI8I)`By>62d&vO89KwO4PTPmuJ3sJ&R|4!K zVU)270J=T^V-#E*AfD@)`V1-oYsI;_q2C>HeuDu`o~a+04IiK(->G5*tvyjOfla;j zL)<4mgnA@Ikj@vXgh?4{9RyW?b(J>Cr<9|rzkt@J5jJ=`{mRjJyBzcn^aDeey>Cl)-M=KoEv~wp6T9g@gzorEkzDsFXLL!VknDl2wI! zdn1>MZgElW>49rHF3k;D3?#QG!Uoh+kqw<)LonWLq+Z*(*xLW|KeIEtwyb|UUQC~t z>9%25jqi4ErF(#PIuPM#r_Z6<%K_1kY#9-|>TQlUqPIK%t2$-NNuU6Sb>VdnfCCWo zBN-8?)dYnQ`4a3Zz(#&YGv%AGLGP%>m8jv;MihQ1d1)~2=7CEgaKr!xG}u^uHc(`) zh^pw1?1=>WxZn&Q>BvBt(v}d3ff2GU3N2z+KS_xwWE<3V%O){EpMjamvo7kE<%a{j zNhwT&cuwoC4%mJ&jY5&m#$G2P17JCGsSusJO-^J0tOr&Q$IY_apwOU~&cSUUJ~YcM zGvH*vz3ZMe0#gxA*=;d!>$YCi8Q2;CR=7#!x2G2YZL#1H-`V$Prx)C$Ayg)~#R5>m z@9TgSfNO3P%CRnw00*&;(+Jj=aE&U8`$!qUD-drWBdA!U&to0}{AA!n>S1x8Hc#;i z;N@#j7L;m@5QwmgnmjieVB@zva3X=F4h;7I=P=AO57ZdY#%0SI_c;Os;7s5UCcygq zH^5gzk?|r2bo6cVzhnEPSL%ABU$Rn`IzOS%@RwG|a#F^B+cDrpDg)@!$ z*7Q6T71Oc*5;GBg;PAYTb{aVBn2FghMLce_S!Nb7ePaE+*u)D1V9O*z27{)nCyB?* zDw-6p&2A@RnN>r70QMos(1)W~i@~${e;L046rrVzjwnbu00000NkvXXu0mjf3cg8f literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/wingull_still_front_pic.png b/graphics/pokemon/front_pics/wingull_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..4d1b16ecea0f84bfe242fbd0703abbca39234ae6 GIT binary patch literal 471 zcmV;|0Vw{7P)F6XfQCScfq^XnkGx7C(}C=)WoSy6l#~>ptkA%t zfl8sf7osXqbqNhh%K@`OkA?=isCXr!DiBl+wcZ_i<_rUaYiKA?fs@)Q0c3eb)zIkO zOMy~n4v7Lu6Bi#BuLsBqL|j}}tuh8mg~lBX4Sfn!p!5#K21Y?3IO5`B92(~u8mR2z zqJyFzp-M(cai(dUiHnPilM;?l;H;S9=i&rZ;R5qF8kpZv>Ehz|(8a~sGz6O=(|@#A zy7)Y=eCPslvXUBxGbB1Hr=NSkIf3D!GssV?(h^V=2pP3cuY)ij0aaM7TD1t(p2Iql zl`s!Jat_|TYcbFsWE+$Y9((}jJ=EU48E6f%TN%&DJwQ_ba5qps*u@3OzcQ!+{Lm#d zG)PepDcbnZeD%=9G+2NEA9(2EY=~C@!#fcd{6;YFJtUxD6pVrq3IKWOW5w+t6*B+; N002ovPDHLkV1k|_!FB)u literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/wobbuffet_still_front_pic.png b/graphics/pokemon/front_pics/wobbuffet_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..0e3f39ae16b42dba2b69e70b17368dddb7f27586 GIT binary patch literal 683 zcmV;c0#yBpP)^@R7i>4lsj(QKoEvmktuWv!Fd$vgY?P?67{b52vi6zxTL^Z zoHbOrFn5I10Z8}|LJArPRyVMG1my&=GP@LsaChM#Wil)%@&EYGYbDS7kAhLCI{>hy zLk}7XwtN9}!z#3aRfC94b*(u1nA$*1-dJh9sj<4W06_qh9Y7XqH?SH2FfCSM9Rhsr z0RYp2051$vE#DL+L|c`jO{fbf$AAxI zKriB!hM;0?7U2U#h)Ja{0?OD0+`j#$u2+ZxV%UvyWCYwyyGUF>4EX?XH;@egO&U^j zlmP+NZ@^|_06uW8fZ1#|r3|pySpW#s`s^JUfN4NQKwe$N~6&1=uyJMh7Cc4z&fC zyEJmd)~Ppu^iM?)aQhrkvKaBXB1+a`bLRs187O@ECvjQC0?wO?o5s~g!uw6pkMN5t zhY)AL&l^{x{@~z6u7&qSq~WDEkuKd!l)m29&RuB-onl+Vg1$&;XX#EAN7zfbKOG+o zB4AlR%l+Z;csxBljP>hU_dutY$;09C$IsJYWRX#BU|qD5JWfvrz(uFuvm)J1$mB2v zV!g+Rg$sF~l0w9I7!m13C|lWvEZpfn$4&T*rTW>V4HwQaE&9n!93%S2;}?>ms4l(& RdL#e<002ovPDHLkV1ht`D;od+ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/wooper_still_front_pic.png b/graphics/pokemon/front_pics/wooper_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..4562b0baae58f044b3f18772bd6241a6335defda GIT binary patch literal 464 zcmV;>0WbcEP)KkugrgKoCV&vXNqnoF&rQ1x*@{BZVRq*@=K66}H3) zg1CUOiwKECNnFrH0-tK71WF$PF>6N@$t)ce{>3)`?VmrpLbPi2mjVDf&$ZQ`#3+U6 z=$!YXBuQc=37E6Kn-~D0mwPLg7#JTA!hH4cY74mgLbXXB-?*A*HBjMoIxE;cB1JP0 zqnoVYmx!)DV?+#8sn=Y9i=z+nLsX!<43IhGqLPRJJ#GL20fqrV5OV%==cT?*AuwVC zybK!wa1BM4J_Yy_;L2m)n{DR1#y0^Gp7dPP2i6feCieo6hhcHm-ryPS$WoNm#`ozRG}@FCKc3YUmm*a83A1{jv*0`?GE0)+5~ z3kYT3>bsI&%CD@x7%17V&{n`qpr3NA4Nb|44ts-E|6boWWP6jXHhRJU0000dV9c literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/wurmple_still_front_pic.png b/graphics/pokemon/front_pics/wurmple_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..86d8bc06a3f8748e779590bcf0f9ca9eb39fa439 GIT binary patch literal 522 zcmV+l0`>igP)}od5s-=GE@aQd;(VV)ng@=GE@r)ujLb)s&O~_Vxh9#aaLW02mk;j}Y3<00001 zbW%=J06^y0W&i*Ih)G02R7i>Kld(<$K@f&#O~8Tz7Q7=w2;m|HHYUOg059N?%o-CD zL$Uh?!gD}Ev38bhMK2WA90i3H;T=en8uw_Og~Ce1wDV>E`Tv;(IMx3yJkn40?v4SO zUjp|>fJDD1542Zs-dA08zcHQU`%2=*4ZQbzN|oIb(~AiFUAbl70L#S z-l7S6xi;o??U6pGmln_ktu?Pw5>Q;sR#1omJrY!wrFCfqEUSkFT}4G~i>*su1{lw3 zjg(DbA84hMu>{h~@KC6(Z*5o!5AJLAdax zkQmlm#thn9%7u?H!V6}sZ?@FYvM}^~8Say$uevh`LJw_DL&wQoTr~rH(41#S)Cd4P z*KE`VH7ikZ{G0M;qnvA5iMs3T)4Oz|x!ZlU-9Hb?o0xO=PxYtk8->J+f&=luJOBUy M07*qoM6N<$f}qppK>z>% literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/wynaut_still_front_pic.png b/graphics/pokemon/front_pics/wynaut_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..7b1be29f083d0c1e29d6699c28d4892799e5b4e1 GIT binary patch literal 532 zcmV+v0_**WP)WOky=uMQoYn56F+tv1VnI1MgL`{wVq(qB#sB~RIeVmgDLDWD0L}KK-p0i+00001 zbW%=J06^y0W&i*Il1W5CR7i>Klrc-gKorLl5nO^ackR{&@5M0`lGiZ^r8m3XW(S96 z6Pz9TfgJn{OfNn6_{O{+@Bhy~?kk&diMM|sWzq5h zr&5k`-;7jBMBxEAn(~NnfD{qjKnRA&{Q!71*cad%!Hh=f8BsH1(>)>_3>j(Q%mpkc zN)v@EEczBEOLtg@=LXPjjm2goM`!rvv?=6pgdB6k(%O%3XVGaQ!VHyI13vs#-FUT7f1Liu%=6;{fI&8&ki!1Q!78 zf%=nYh*N7)bBLi=O`afIr?|2Lt*+ThNJ6jzZI}gd16e|eSWmDGB4}s;txE%aI}l<) z#EMSHwp48ZE=NT4&5c=1&{JAUnvn;*0E>wT#9+4(tFW+{2tnZY&W30QG|#c%1v4g+ z>H8j$Pz+quLL{1t?e^|^f5ipdR0000IqP)a^AN|Zq{Vk!ULLA{h9i&_BgIRLaV0D~z2&CSh}l$26ZQYk4ZFFR&q00001 zbW%=J06^y0W&i*I(@8`@R7i>C(=lt?Koke?H$+oO#cL;n8-ty#Q+rM!Qz5=&N>PI1 zLZPIaAfLe50v)mj4GmmfLRL9LJA0^?jB<>JY@v0>Qm|y)KpTp#C&kJ1-jO};#`oj@ z-W?LaJ*+t?H>~~VRZ&kZV5M5E3C|KxHD!xfDS#!yGyO$9Wr1_v+I{~jsYq^y^Ct-Q zOac$~gP>)0uz-WsUd;xyJeUd#fQHDczIwuetpZ4|^M#vH1jw|@&hU!>xcbZiM@qSx z!UJ}Od)aKhOTq1MGqOyZ0_ZaLaI@qZa7(!3A|YRbo}tf@sn%Y;1RXIcXN{M?y^I4c z;-#o>$$um0k~4;gr};~+r*K7rAEoed(-+Nk<|XD)DQtgOYJd6$F15qM(%}w1HQ-`k zE<^zpD179LxAB0yBg`G{goqXKEbfnJ@Is-f0dl}u4s%d3fPQFaIq%~WjAI%!mI_eD za{S#2hAa@9cLKKkfaC%J(Nx8ACL)nh@hnJZ}3eviLIH$g9k5tdwILx z&wSr^-V$)E;0PMMNVF(O%@>F z4u52LJ|3>{DUch&)eIPM&iGckA|ps=7!@>5??%3GET`5jDaG{J1faY&2OI^k=}pN_ zYJ{I^a+*TD@LGS$@2C*j_jrWDECpIT#$EhWeI{Q(pr>+sm||+-aP0f=PPtV#U3IY$ z<=mU6Fg6fCiwv4T@9Gskb@q;#G-udm&6~2P;f2BF6_&m9IE|uc1<@g_HwTaF13qn zKf!Uzf?hXhoRKJU7~Sz*)bW8UdgG_pL-WOn7vTOHQsRVha(P21VR$eBxcv~*CP|n4 zS>~Ija5%Fpdl1KQxS$jBxezDTx@hO)GPyWg1X@jz)*(F)*EGQKL-8wi>efKW z%Wb+YP8+*NWK9nkC2Ku8sz)tclNQL>o4XNKNcJ>aP-RgCv~cT70D=Ld7P_0-2~%Xb dc3b~gzW_b4ACxjf^+5mt002ovPDHLkV1o3=R}TOH literal 0 HcmV?d00001 diff --git a/graphics/pokemon/front_pics/zangoose_still_front_pic.png b/graphics/pokemon/front_pics/zangoose_still_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b95a412bf82f6aa8692563c553c4c53743209ba2 GIT binary patch literal 844 zcmV-S1GD^zP)fzNKylhD7VTU=`Dh#1JM0Xhe1@^vcUBSZ}R#9=1u%ljTJrCymy_YU+y1nhH zzspPV{p9=m_V-?+DF0ch*$V(`<^lu#>iNJNnZ2L`X^XWc(KRwA*7e74BoT;+;Ce59 zOCsonpsmzADlt%U7SWA+9<4|WG>Z_TU#E0gnh~oGle8@Xk{=ORgh`o!QhJTRqmm~x zP^O<)qhrCRr!qh#H8Q&Ybzj;cL5M}JROJy8K;|%mJ1+wiJDVkX<(V|2VjEzCyBG&b z1J@cr4qS+}(57M*0I&&zkF?ytotn3R*Hqu4kc0U|)Y2m3x*#TcMBz4o`NfU^mG33$ zraf^Y1MJ@K1D4K-O?-+Dg?uyAvr!0*@Z*qiFocqLz!=K;I}2d%^*f9s;5j->Bo-KJ zf{{mNnnfLKBZCH%>I8g-2Kk)OTm2~+X|B^z0wr$1<02US=I3B}b&sa$7|~}KGeen0 z2}Tyd!q>|JSn^r3$z|4x608B-M1Z6neU4N%m^q}^=(VM^LmiSK2+(CAvxkvBf-kS8 z%U+$2$}ZDtsQ342ozlvxSI_W2hJM$ft{>OYpi*6-M3jC5@BD%Mybgc3Rm%wh^F0C^ z0|O91ck7!~J^|dd3Z@)9d8x+nR=Wr2Y^VD3)kc5B0_YxXD^@);U^_26+sp9?mySDu zI$jSA5a=HG@d&9@r=x<8wwLZJS}^V(2tnngOLiT(MI#=n+Bh!Y>x(A0b}JWb$17AFaPb W6F26M&Hy3+0000&$qj3M)00001 zbW%=J06^y0W&i*K21!IgR7i=6bZ>+{U09?bdwbr4c&_e+98;x- zDdg^sE5zNy96I{S8%G7a-|=2K$A^O;*MjV*TdolI(mJYIhF`Awj(X`-w?$k-#E5@T zwu{NI>^oXLYpdpL(BP0?I)9v-xet(NgNl1WlS`ZAW4RGT<1ONf(< zUC<=beKkD1>h%_w6MtK4C579-ea8>y;&ewoCzgmrD+6xX~pc^3irv~v% zz6mp4WFI*csHRi?L;~&@Gr-P2qW7*)%fz zIFp-K-|VuqEVLT1vYG`VC^D@^_b z(i9QjqO5s?B-Gm`FKF`nIDum&|3vRTjvvL88oPO9Y;#PI$0=+Q7InVQ#KKv31aD(w z*&UugZ&Dp_c3!H|`$St??WssuYSZ>enkL=htTPe?wAZ7v>G^osomoRmBxtg2+3S&H z+O}<(0)u*I4{67w%(e?AHio}v^bE40O@})Z36f2d=WIRUr(YEbV+$n2FC@^>6h*94 zkUVsGLRN?()^w_TbVnXV^hF76IyEkS>R?u|RqrL2JM=T*;^z*o`fR1V6!@vpgV5J- z&@-ZzXbuuqy8kBprbv;PgFY~PMUNB^_mU^{BgF`w{2e{1Op&9O9KcZl6o^`qu#Ma5 efd>5b-_>98b7l;aMy*Q#0000$#jK0w)vW*j|D+%Q%{d^XlzV$xN)P}5dp&+V00001 zbW%=J06^y0W&i*Jn@L1LR7i>KQ!#JTKp4F;#9bh98mYrnnCXzU^MX73LM+(rsZEMTIcyZmVHur)uIST>>!+&kvoD`E*HCbKJvgUUWa z4njv<;8%nbbrUHDQlUhx5^|`BAdyh)$l#=~j+QISM(wcyC5IX)&iw}Gt4EPZYFN}z zogPs2^AJj$yQ_+4J&+#nrVc46YD%5br`eev*o z{yuVeY1>jmK+Cw&y+L^r>%KP&5qoZ$=8grRs~-1ltb4pAd~7!Rov}+Hc(#+%t+Z^% z5-nfIl+Nrx#J-zmwVAhySo3|~#UAg5lKK6N50EHoZ{> z-7K2IL1jK`W8GmasW&59H2uf~D49EANMo!$kmha}UezcB&96|jC+(%%;-UXm@&to$ z2!a%&Dr2tXo7d0ku3)P;KiMEN3f1)+5vvaJr&!9;%*MDcWbSo~*l9l4jW!et1tGh6 zr^4MJz?!x%W-kVVerJSkqB-toA6_1(RhAu}kH_b80_XU!lT|*nI-!~!2f+e?FdsQ| z+h?KRgZUK=pLLoQN_hwUNUQS(is6ZJzA@Sxp`~y^#`qWG#R$dg%?UNn%MX=r%A_P)Kl)p~GP!z_`z(5n-cmg*^{yYGQHxUB7M#0U&a4%bj z22K-)4n%q)z6YeTu^8IKNm1;(cy7^X+Fn*2I15d_U%v13I{?6O{%p#K9t8*FiIfV_ zh>UHih$ukBthDzX_bJlzL>Ui6DJ3~zdC`87Otjr+U z27G=9<_xUz+grbYjR}~ffH&WSj|BzHq*B)!;F1afwwQPtNZ!!9&o9XqN+~~m%_P8w zj97NGH_=xQaS}Kg{{eT%R|KGa({ZLq>t&TpFgk%-Z@TWkO|A0Q$wcRl8`M=?H8Z5DV$@k}(d$APhx00o<}HW3B)bD_-!`Si4ZB1Wzt%8gMdK zmD<1YWU!H+Qa_$jFMyC)KTZH5p#a81^b!z3boG1%TaZ^0G#6AEfSq%p>NE-#c44i0 zKD%1xo4w~zf!o5&e)M797TZJ{@`P){JOPA&2oo3x4Cp1O22znm%}+O|+p%AdKp(PXw98U^-7n4^-6W Z@&q*zq6#4RJCy(c002ovPDHLkV1gM&hSC54 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/absol_icon.png b/graphics/pokemon/icons/absol_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3cc5e01b521a80a30de3525f6b218d4a978a0b2e GIT binary patch literal 371 zcmV-(0gV2MP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H@kvBMR5*>@l0lAxFbqXA7a-yUk<1>e_y8QCyKd*|Q1+0d`?$1? z<7U*VvmA{#F;731MV>K#xxRe;ZJjjyID_YV#0H-OOyjK$PHqsjTn<|Un{y?wx63ej-NXCl66@b+HD5yJf7DxHOnyue#<0tQER6Ud!W4r< zm>TTD*ja!Gvt=uPFARMYrh5VpVQN1rVQfd|RQoZmKm717{LqOxWa@hF#}%gNp5+;e ROgaDn002ovPDHLkV1n~-p_u>x literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/aerodactyl_icon.png b/graphics/pokemon/icons/aerodactyl_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f90e269b07e675464a77abd0376aa80699761c7f GIT binary patch literal 369 zcmV-%0gnEOP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H?@2^KR5*?0lCcf~Aq<9zgChhU073^xiH~&4J@?_@NRAG!SP#l6 ziIbDD!v(%;%kY0f{9>sQ;5sxw_}o$G|GI;+(h-Zw4HO6%3Sf4;3k(8y3_O880D#-y zP)HykAfmlZ(PpFdQh~h9RwjQ=3`C@p zv{obrGSO$@+uzpcLm7O)oF^X}si5kR4TGiwrJveX(qT%8((iSg&+qADV$@(lKttAP_)NPOxZ5w}p`>T?(T$eR77)5mV+=#s?S{ z+DV$@l1*yEFc3y{0{Je z6|_uHnVM#0Vwiraeyn8IMHlTX1oM~~3C$DYPX|Bb#cAXRzyr=Pff<0sty@4h4+HBA z%zfYA0626NTL)Cfs`jL~s@Dy`QB8FO>+9Q|n_UyYRy_fXlRAbWpRT17ld9v(RvV2Q zrlyJ)e=r;H(nN4MytgDI#av!grLB=|DxmU(sHFrXA%xXw1W;qL5iahMe-*!~Lz)qE zSU}Jr2j4nmEnbJ^AwdVhu_)+(6~`**fKAypTIY1oSU#ybC<7e`;JG?`AfbaLYv^1V tUr<5^4LhXIQ2`yuDV$*(lKttAP@!6IRSHxRM{Ks-iFp)T&9btLTegxHKa7_ z1|wS{(0Bq-z>r*EGX;XL(P)Gozyp^x`NX3J%WRM^${H}G;}j=%21`_GIvW61rIc`e zFbisem;>qBV7?2{3_GvCrCD5PT;dU8c$`E=ZW@Ye02?7D*cG12BxH)DG270fHxkVVDEtvWv&rj*ThT6ic zP3Qf3g|3)2@Zak}z$6Ymn9QLAlQ{HX5{DiP>I{Z+7b*uy*b2%VU~L3_bKtF@vi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IAxT6*R5*>@(y?lUFc=5$JVAU1yB3A}FAh>4u1f^bwS{sI(<~kY z?-hz&GL(3jB?UPf(lY=6 N002ovPDHLkV1gAvz;FNn literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/ampharos_icon.png b/graphics/pokemon/icons/ampharos_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d7a3f9e70ace33f9896f2a91e4e34ea9979a5306 GIT binary patch literal 430 zcmV;f0a5;mP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IEJ;K`R5*>@lD|#_ArQuSf~D{cw6}2m(`hpoyCo(}y_NR{`n;Ry zwIk+0%W)WP4=~YQX&@ipd<^h2=I;y+%$<<<$uoz%w7L^do{=9^*x%&I-f!{U72#T^ zk4I#u)t_5+T%j+9LxxRw2f8EYsen=;7ETyaC;~X=c!NIZ>2~8G@{EX%XU&T6W)ou+ zIUf6yfSJV-*8c4{<{DRTv>z{f;bpuMV!qMn23HYQD9vD z>W~V#1sIN!?bh}L7#UD6QGkKi66CX^0;0e`b8X7NG(-(Zr_>TO5D`MpgYdERZ}|fs YU&AB9waOlWyZ`_I07*qoM6N<$f|*CY*Z=?k literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/anorith_icon.png b/graphics/pokemon/icons/anorith_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..936355d61784d67859b9018690a60440549ee8e1 GIT binary patch literal 377 zcmV-<0fzpGP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H_en%SR5*?0lCchgFc60C3Fspb>)_Y~2FJdEFT=p5kLd*E1t>^O zI+e33y%rW17vn8Wzx;QXrXRqM6#}p^UK!RS%p(%8m670Zh=EcHbZ&?N^moHHrKp@lXDa@RJmoUj=pMI=_`L-Vq X>}tI9#Yi$^00000NkvXXu0mjfF2tk0 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/arbok_icon.png b/graphics/pokemon/icons/arbok_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8967d44a6a77abe799f5102c40888bcc2ae4e4f7 GIT binary patch literal 373 zcmV-*0gC>KP)DV$*l0j<3FbqX=g7`q~Nv9{s1UmbCh!$N&G*_6tgJ+<- z*jRO1sJ~}lXtnzfNw)Fpy1!j!4_UP#PD|YhqywyvfLoG2FSZG-Sf9l5N&v7ZOP$Fu znO?UFoDJhJZhY`Q4gdppnWA)DW@y1JB40U|t7EP?h-wb_Y3ViV`|N$42`Owd2y|YT z7W9ChX=xb>2z=~8+Wc?J*}ct4*M=NAF!>UQh4}^~jMF!jtU@b3U@S~pAO@?#I4?1t zh5WGnG@Zc0xbyVl8)5c%Y5j1PA=jG2Ed#NBWv}HmLVk217h%|sE`{>jzvss%4@2CF Tm9GJX00000NkvXXu0mjfi@v1A literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/arcanine_icon.png b/graphics/pokemon/icons/arcanine_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3fed9199ac0126d84643ea8e91581b3e8e358c4c GIT binary patch literal 445 zcmV;u0Yd(XP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IJ4r-AR5*>*lCg4wFbszM1kRR~myuUktd(3Bvn5;D`mDJt&Zy9< zp<7i4OOWebmQJk)W9feXlFVn!-(I_AzpUXnjrl{ZCMHH6jm1_a)8waviHJqAW5ffD zCVIq0vO`1HMG5|2lA@C@(cR+)$I#X|K`w zI8aX#+df85M;ne(B%f^C9gPai{d5g$Br1CP{{L<*z}PKZfU)tSi2_W-b>sz@{Ica= zD=-$F5>$Y(AT&GxBZ>_eR}vdAlbWu;h{py@z4oQRXxZNaGpxYevPtHHNPw~DJ1~@~ nkTz_$0Q1NP+4d(N^qh}x*8b~9{hbQm00000NkvXXu0mjf84JpH literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/ariados_icon.png b/graphics/pokemon/icons/ariados_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4284968f26dc80781c9afe7c3d33c6996cd6dd66 GIT binary patch literal 430 zcmV;f0a5;mP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IEJ;K`R5*>@(lJkjFciS?eggU-ZugSA!MNb!d@PvAA{%bK;SxGB zk-+4}%2#W0O3vj;JZjmVr4$a()j{9Tz(1uO_!08ghAxAwm%;lf;AC4{>T~>AK$Mq2 zYw7VMyPVTLQy*o1*$^UPbMGZ%P#igixE}&O@kH%0|FqxG)tblpqs+76yj}AM^D-T- zMO23ZvpX5o_726jMI(L8N)ujp*W4|D1#o&a0lc@abm z!4Z9!50L*lzW|2T3ovat2SXo90|xCoqSt}ZK8C-4Yrsr=Xby?$d{{#CWAI@QIirdr z7Nng9R* literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/armaldo_icon.png b/graphics/pokemon/icons/armaldo_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ed3bb65f2b4e99781bb8477543b787a93ca9d4ac GIT binary patch literal 383 zcmV-_0f7FAP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H{YgYYR5*>*k}*#MF${&nFR)xyVk1fxwnj`HQKjx#V7}kL#76&X z7q;r+JLZR5HO@6NLg4YqelM{<=l)F5*a?z4VG`iB1I(a>M)z<0Ah9{oBfp>0(?ZyM zejJ|{&a^olBd`dU7_pxY&Q*DV$b%7 M07*qoM6N<$f)f*Kk^lez literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/articuno_icon.png b/graphics/pokemon/icons/articuno_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e2f19f133aae0487330b85b80f5b3c0d9e3d3b60 GIT binary patch literal 384 zcmV-`0e}99P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H{z*hZR5*?0l0AyVFbsutg7`Xf#Ag_+HmP!*6oy9A^LrcguS^kd$yXd9Xe~vzY1Y!Nks2&iA0cb(DawQZy9X`#_M_m$yD<Qgg^WYc-c86jq)X?+)s#(Z ey8U!tzdqlxExYb9$Q(@o0000DV$@k}+?aNN?bGH2)wp00000NkvXXu0mjfSU0^B literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/azurill_icon.png b/graphics/pokemon/icons/azurill_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b69acc7fda6676b1dfd09a3441dc5dabe93a87df GIT binary patch literal 342 zcmV-c0jd6pP)DV$o+?5RAr3;^H|CNER!BWYJYakJU z2Ow3wE$6c>=MLbvp{F;p07^-`1fna6rz&@)By#^K31sF2@iBrOpk_{)>rP>!G#G2< z$PVeA+R&bDeIS_In-N5kw=xsWG?CvFYBh2)OwA^!C=dlNI{LIWEP$~*+C)olaZT{> zH@MRMV(aGq-ci37_pP9L#Ogj^HXGyWz6B-?iv8-o>_kUS&Haf|rjSDHW-o)ICLcRk oRD9)9U<_4QaudSo8w4)H7pW(Mf6%>`1^@s607*qoM6N<$f@z(V8vpDV$t0+9*;e_uIcqXPG40*JM{4H&eqIE@znvjv`ou)k z?;sy^Tm^!upHay7xJjWk5O}c=J$~ea!vxTT$ir{u;~Q66a~SeJNO1rF002ovPDHLk FV1gM5nu7oU literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/baltoy_icon.png b/graphics/pokemon/icons/baltoy_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4ec3f35e976176db94220c5ed63ea6e0f4c590b2 GIT binary patch literal 279 zcmV+y0qFjTP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*Hl}SWFR5*?8l06E;Fbsutg7^Y~p1Gr-jnC3CAndt=LpvI5HEY1F z(xq6=(yoO(wCLmMXLtaAFS7+@-WZCV+rIY=d8SKG2L002ovPDHLkV1fZYcJcrK literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/banette_icon.png b/graphics/pokemon/icons/banette_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3b5cbaed142f7cc61f6518655f40d9f06c56ccdb GIT binary patch literal 321 zcmV-H0lxl;P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hzez+vR5*?0l06Q>Fbqa>1Irhnr$ZeXd){2Yjt4sCBPqpo$_5j{ zOO&U?e|jnXcu+ar4H$r#T_PcF5lIISIr3D_%vID=-#Lo_Qq{q9)so=AI%p?eUua=b zB$_>KT_kf^R|f=4thb{Rn%G#wJfzvY#1;iA14tF)i-c59D|y?|U&qJ7_{UwCWAVE% z(U0732nIDj5Gvc#pird?)17j%38R=tVI&&Vg^|$yCXB?i1+C3tV$eyLul#rbARCwX TH*ak900000NkvXXu0mjfaO;O_ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/barboach_icon.png b/graphics/pokemon/icons/barboach_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ad874daaca0a085700d27267c9a93cb848f043d7 GIT binary patch literal 337 zcmV-X0j~auP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H&q+ii2;LuWF1RxlswNmbVgRB;i@XK3~Ec40}Fp0 zsV|Y~KgeW4V2)HE3&s&6EPRYHBj^i^P6VyMTuNXPK`SsZP2B+ocYq;=1;YtJ+EPGJ jD@lnMx`GgTEysETsBUH8Mc9TH00000NkvXXu0mjfrb>yC literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/bayleef_icon.png b/graphics/pokemon/icons/bayleef_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..47d2774d6f806e48ac3985051a7f6032668baee9 GIT binary patch literal 427 zcmV;c0aX5pP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*IDM>^@R5*>*k}-0`APhx0fprcaAt_RkB57!r+ULTBsZkNGw38hd zreJm^c3~O?vR)%^kvgHW-bnfkenR}|14MMF7p*lXrPilwZRlo6S}F#t60@uw)FFXn zJC@{no&r97J=^lJ4FTfv1JVJ|72JJoLPRSmnL7aV=*d}Ia}&CRrUpSmuh7(+E$`${ z$<&b;#t?%UcF^D$&>g@>aMQrR3!dQp!lKd z8y8{J!iCZE>lGB6=&V%0CWF3b*YeiVHYCxtBc1s@-i^cgmH?!Gv^)jL&*Q10dzUZFwo}UX=p2mQ#L3@cKznk@>2Zf$2UC( V%pf){k~jbW002ovPDHLkV1iT%z5)OM literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/beautifly_icon.png b/graphics/pokemon/icons/beautifly_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..346c5c906823b76e5e7855263d9db42b46a56129 GIT binary patch literal 449 zcmV;y0Y3hTP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IKS@MER5*>*k}-0FFc3v`0%Xsmrr-dkz(xAVtz2zO4nvhDnaL?K zE_?}JL||xKe31!mQ9xQ8Lz&Lo>Fe+A%>F0Dqg7P3bD?w#!Nzlo{ElZ9>DEpN=iKz} zl#7KUdSzFq_Ul*@PzOP(K`>WbjtIh!%C^1D8-29FP`o^!_8ll^gDkS5NOetm5>DC2 zXNo3=<*hDzOB@I}FO_AIq`J|&JsaA{_D@^XId@1S#CfX#OdU}#kZFt~VZ0zkRh>6q z?`^d4f{`LZwK<>#!q%}DrnkP~?k0;HK1xMmfkSB)IFxoZx7b!Ja4_!vf5c%nVZb4t z8Pr1XI1F8%B$5KS_jRV00000NkvXXu0mjfz(U6? literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/beedrill_icon.png b/graphics/pokemon/icons/beedrill_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d5e6471ab71e69337cb63567b7fffd30d8a0d0c9 GIT binary patch literal 437 zcmV;m0ZRUfP)DV$@k}+L5?eSfJi!=PxIvVWoB#c1(7(GUq4h!Xx>9$Rg;=(`x*nxDy4=R+BlQ1N?nFeNli%TRgEv# z^P_3D*#|(X@p4_Lm4i3*>HaZZ7P`^a`wpDhawggo_H(gt|DCj(;})bXyC7W`_r-YC z&4r=6x6(i?_5Uj>gnNH5Pvr?p59yR6Xg30PP94AqTgN63jI3PLPHZ%L(Gp fVsUvKOI_42DF)Hi{b3Ze00000NkvXXu0mjfQ}@50 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/beldum_icon.png b/graphics/pokemon/icons/beldum_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..346a0469d418af240e950a9ca4d8c7f95778d37c GIT binary patch literal 294 zcmV+>0oneEP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hq)9|UR5*?8k}(RyFc1XQrip%%XZbBF2vMtR;_p~+k8tTq1Oh?^ z!9_)soc)1d$aOpHz!qoB!OqGq*ZA0Gj$VV719YWEB6vkCi3Dg#coHbdUYSu;#WGJ= z6)3F$zkHqI1?=w_J1NhhvLE5PwB}rSq~f|{^B`{3pbeu20_L}qh|;Oe{{WMcS)|~0 sQS%o7X;$Feve{hP<)hyJ9e(=`FKqzI|I?9;rT_o{07*qoM6N<$f?NQCcmMzZ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/bellossom_icon.png b/graphics/pokemon/icons/bellossom_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..443d7a98ccff5671a910e57d8b1d3513bd1e992f GIT binary patch literal 363 zcmV-x0hIoUP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H=}AOER5*?0lCchgFc60O1m$gf0>W4qS?QqZ+R@1e!J*7F5nsl& zkwHu#v0(sBOz^}3dayVfZ|Z%y_P?YbA-`1~%mA2r!o0l!*wzRf`o2RWkM6uQsi_fY zBxnRYScu22LyuhVYiV%IO~?)4ltzjZ>dEsS2##)eM+q(8qmZm=IoHVus$$jh*91gG z$h67_U<;OoELChAxm4MT#cqPwDz&VP9UxTEoLaOQ$;ltp&j zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*HdPzh_Ldu5UngIzHq80000DV$@lCe(1Fc60Q1og&_hpv%Y%19PhV#3Saz=Xu$H7~&s zCQp^%?J5CMr>G=$RHmcEq~~~r1#a`F`%h>46XI``+-HD_40MY2f|3S#X)98k3uLYB zl3W0)`XvL2sC~cSh(`q7-xt*>f#8igKdU%lF7!LKmS_Y752VdJm$`ry32yw5&rErsQB0CIy2q>UV@Wfl-(^B@reXGzfDj@J`W~ISNyU rwV4RxRuCqB)S=A$aDJV1{LGI}$9Jc09+F|h00000NkvXXu0mjfOZBs8 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/blaziken_icon.png b/graphics/pokemon/icons/blaziken_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6197cce23c44821a17f56e1115ae48e93f04917a GIT binary patch literal 448 zcmV;x0YCnUP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IK1oDDR5*>@ld(?2Fc3h^55yxMkPkrgn4N)2Y;>yF7&9h9qTEo) z`Kzq_iq$Cc=2lH^R8?Q-#N;^PTVRnXzj=oDt2yg#c#c(ts#w2JW{x9L5x7 zqe}u22>;aEJO@YukXW8AfV~GTVwRp8OAZ70sME}X*j=JG+C{ZyJ+N(E4 zqnz{~EuZzv>vTj$MeDVi5*xIf17-~S59iOqe2*!dF#Td3@WO}y24RMfAWRZ~7iKW% z#tUPO@j1LO-XO+XFU-*y#7?+(!W7ORR#mDOrY-!cD&vG{SH4K(g*m}p=%((3X(-5U qS8s(Wn$ zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*I6iGxuR5*>*lA&_LFbsx$djRJh93BvnBKMs}Jk)}K2*s~Am`jL} z)=NQ*>d9N|Htr3LY-0NEmvm=;Lj3KLAD2CFC%X@z4MEU7C9TK)hB@_e@yKN{MV4d7 zy+^-+3cSUG#ePlTz!Tn@b4WY9!*|56<|`qtL{lGg0*P-dFp9Ke0EfP7bpkMh=Bq>- zn7}cxK`q!+b4hU&Tsp;NxVkDx6{_7FV zxCgQb{NMV$F!3{Y!c>JY;#vqJ{7?w94uvq4XAoXh2J0K~iB69x5QSk-pAv||^g&Sq z-@=$u7 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/breloom_icon.png b/graphics/pokemon/icons/breloom_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..314873a27e3b54d0ecd6cb6916091369b5f5bfb3 GIT binary patch literal 321 zcmV-H0lxl;P) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*Hzez+vR5*>@(lH9dAQT4RcLKeXUG1W4uhD~a5<)yrLE;hW;NoI4 zB$R;7t3%Uhpld04+yBACC;R~aJQT6cqZE~lQcBj>AlR{hA?FHcjzhUakv(o1K13Bh zGf=z8WGRZ1l2mg^&!$3r6H}5j0qaA1$0KwjV(`W zEH`=u?{Q?omB6Kl#rFu02j)tM#B->IoKH1Cbg+xrS7F+p6eey8lWAL+@BMfI&B(f< Txc18O00000NkvXXu0mjfb03dV literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/bulbasaur_icon.png b/graphics/pokemon/icons/bulbasaur_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8d6fe17254c2c7c843ce76a4ee048cb4e0650f2e GIT binary patch literal 316 zcmV-C0mJ@@P) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*Hx=BPqR5*?8lC2T~F${$J2KOikz@k!{nnw545zz-CCvQUdX|C-I z3KYY--D$R&_6y+`rPtn1RC=#5bzYcRHyZ?j8N6jtVPFIwS}55O;3mka4JL|^Re)=U zMluO%+JZfZp<^I^Pvz{d^3?}nZ;>Kk$Z O0000t7e literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/butterfree_icon.png b/graphics/pokemon/icons/butterfree_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..11c4a379fa38d502fc8c6872c11f8f397d62b335 GIT binary patch literal 421 zcmV;W0b2fvP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IBS}O-R5*>@(mig&AQ*t*?*woI_Xr)bTD_95;Vxy3m-sB+Kfx7T zdFg<#C8Q`(EhzuNS-Vta;}zI|9)Q0*>;^#QI#__Esh7|V7XFx71BSGZU^lYS5d2mj z+@cWd>2)h#HElyr$Wx$lma)~Pc73_F7l9wIfAcMlDy71R9D5a|FlJiAj{UV^$rC#9nsE@-O2zd$s z^K0P!XtvwtI9kgm|b8A0ZePK zDds#Ff$}AvB7kXd%3dNEl)QL}V5Z7T0HdnwMlgrRa9|F%^ zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H@JU2LR5*?8k}+-sAq+)*0yxq(uA$g*I~*bRNt1q?z0ycKv@nHf zQs6MV8W@O@K2mJ2k_S=vURn#xBICA;LneDsYa4Aal5Cjwoj6S2p%oklbb^n z>kcD&H^)R`j~UL%C7LYPC6b6{Mr=`p=n*kCgA=`747uv)l&-7s&Cx3}TSIg_q%tA~ z_EghCC{l(_dsPS!R$SW6YJs(wom5!hUr+rG42;0Q)&m3D^}v*$?SX+z12Fj;Fm?n+ zegdW?c>zPzl01Pa1l5)um}qEfLpv}fPixuvP<}ogxLW~DZ zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*HsYygZR5*>@k}DDeAq+q{0bDBBjR6Z+Uy-$;0!#%dTa_THI~&KF ze23@UpGS}l^z^b|77HYDGjEE_DkT6E=B7x$fi4QGg@~zLg*dL zF#$_9#}MY4Q4tzf8dCv(Q3^h2+VxBj!ica^Gc#bf#3o|!iJbZ-_ x1#V%gT8x)4t?DjIm?IVqCV}~XzYFujj}JL!l2Qol?Bf6c002ovPDHLkV1i?Qb<6+& literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/camerupt_icon.png b/graphics/pokemon/icons/camerupt_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..372fc7ce0a86d91e271b301ff08ca963d72e82ad GIT binary patch literal 404 zcmV;F0c-w=P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*I5=lfsR5*>@l1*yEFc5`v0tva$?qa0wQ_=(EIAgT2cha)A(D~9V zl-=NLqNO_eu@bj*(M6$jz~J}hJr9O&v-$fI<4Vl@aGIOu2YlfV`#aJzcGV(&00=G?Rg9gtwRspeY>=Ay~=-xNO8QSjrd;E*tzYOQHfpdJPO|$UHP)+!tU* y$b1kmN+dq862Q9M`<6O4J}?2Z;sfzVe0%`VV$N`einzT10000i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*I21!IgR5*>@(y?yBFc1dddjh=jBrKH(L#Wazt>j4EQmLxP@Dflt zQ zS09`}#?#i!2*?-NDi64nSxtbIYq`d@$uEQ8AXU;7MR_?g`J5zbUTP2Gp%O?&?}bg3 zde|2h_GFIH_EB^_0T^}L;BNtT_63^&g5BvExSQxx0Z8ms8?7V21qIG{1Q^3AeG1@p zHLexe582Yz!GmdK{dH*2pEwNl&u_u~B#8Kqb5e)tUxMF=qz-*jiHdyozYYXk9XbN8 m4isD+0&sN*VH3eMbvObfO?;9keOw>_0000DV$hA>F?%KiCp+9_Nf4yjkqW43rzVl<#VX8W$qYleAI%IIJLmB0{4mp8MMTdMSS4D^H o6iqto(9GQJues{bpO5@_0iF`hh1rw%+yDRo07*qoM6N<$f>p+r4*&oF literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/castform_icon.png b/graphics/pokemon/icons/castform_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..56c62ad07623d08995bbad6c547b2ce1774994fe GIT binary patch literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QU(D&A+AYtnwy)8_wL>M|NsBJ zOB}y_)4ZDG_-%@2clG}yue0xp=ltKYWXaM0S!?DbB}F+pI!3OXkOI`pSQ6wH%;50s zMjDXQ>gnPbV$u6{(nj6}10EJz#)-xb0Y3dKJO}!{@Ioc8hrY1>Vj&lvbsF zMnrOW zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*HlSxEDR5*?8k|7R+Fc3xO1oTpaL9}LT;c$!J6A>yF+f;yQ0;P+Z zUxOjpgz(+G{F#h+M7K*QW;Lo%fORaufFKTOhMkz2-pCE^-VuPUKLBW{V{a;1Ni&DZ z$x4?BU|$;mWsTPGn*Xu~P_cG|6)ZeC$sdJrf*iuMvXX__B=`w~Ap61c#^DEo><3}I bqsy`bi!WC?hy5%j00000NkvXXu0mjf@85K; literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/celebi_icon.png b/graphics/pokemon/icons/celebi_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..245d580f744fcd210d005b40ffca99d79e0c0915 GIT binary patch literal 330 zcmV-Q0k!^#P) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H$Vo&&R5*>@k}(RyFbqX?0{bvMKu*ysXtXaEx)|cCWYQ8aDFH7Y zRJBXLGIi+Ee!TeMZv=WoKc4tHkg>%c(l}$=2>-!!SVFyT>@U|dGDK*z=yiy~Kzx`MClMbG@s)-&qg*Z=?k07*qoM6N<$f;yv-p8x;= literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/chansey_icon.png b/graphics/pokemon/icons/chansey_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4083185b036814a671382bfb17ed98b92ce7373c GIT binary patch literal 317 zcmV-D0mA-?P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*HyGcYrR5*?0k~t0oAq)Wh0(i`p`LQG6A{{RHO6o1F)VOe#Xv5(y zQkp34W@JD}1Mu@>wqP`7bIkl0T(ybPMWqWbD^c}!u#Oew(iq<>@nq|wv@6ka7qvZW zJdV(&tem?5-H38U8m}Oc;SeF^9gn$pA<{TazYDTUy2CsHR|XLHqxmog@Hs@EL-je> znFF~Ts0)4NKvb6;3h9~ytIOevYYtfFKIF)O>XburIRpXO(dQs5f47e(Gnv7_O_PoV P00000NkvXXu0mjfR>_G4 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/charizard_icon.png b/graphics/pokemon/icons/charizard_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9c8140887b1fc9d0be5119526f54ea54506168b8 GIT binary patch literal 462 zcmV;<0WtoGP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IOi4sRR5*>@lEG@jFbqKT1@_wO{(+(8Q$ z&c~VS85>xZ^Bi}ev0X)r&zB#-EhqRlq581(HiQQvHmlJ6@NMyeJA=Ufg_q%Y+JH{s zqF#3fIV@4LYr-^xOc-X`8)U-Nq1Kl)gA_@u5zL!G$o!fFS7Blm$S|RtR)fsqkw=s} zYz7Hl3pLOUa)HQ+{R%#Q=D!gPbeS?|0v=y(120*j;s0=5HXRsaA107*qoM6N<$ Ef`?4dcmMzZ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/charmander_icon.png b/graphics/pokemon/icons/charmander_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c3fa4fde473d0706c60367131d93d8f12e56b300 GIT binary patch literal 303 zcmV+~0nq-5P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Htw}^dR5*?8lD!VXAQVQwC+K|}M<-vQu1?-=GMI2jUbSh`j>uve zv8Yh!?$E?L@x0Za);BE-kqG2)c6y#U@6_Qbco`T#rGsz!4- z)&RE0KPew!kbn6r43&QDMVMjS2=n%%_TjgFyZ}9hhL8VL-Xs73002ovPDHLkV1jr+ BgXsVO literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/charmeleon_icon.png b/graphics/pokemon/icons/charmeleon_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0f1550d0c9be8190c3047640ccd962e35df2747d GIT binary patch literal 412 zcmV;N0b~A&P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*I8c9S!R5*>*k}+1!*r1k<1~%Pn%rk?%kY|9BB2BH!kw zC z7$LD-yNSZM8h{U+S>NiagYLjsBz`n=a|uQr{aEZT`tbwSVXHdvg4J#S0000 zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H%t=H+R5*>@k|7epFc3v^g61^k0t6kCk4z0+TgOqsVj7u2kl2v6 zqPtNbVcmbTyR(@*rGCD2dCHue6(j-1@&;#&m?^dtv0=)SSec1NKA;bDISFv3V{i42 z^o{O4UJOtLX<$P+6W|yKL^Hra2ml_uV{AaEU}m6;@IEr2RP-V)ME!HgzpNR9$QrN$ zBp7K>6-Z7rLRDcJOV07*qoM6N<$f^_i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*HfJsC_R5*=eU>IuP{|8h)e`q|az}L{w59k8(QFMrehIAk+;XmWz z(b112@F(WX8B~EcM^EqAk1TNR$+_Lg0{myryy-@<_g_aRvJpTf|1sRofX1IQ6HVaE zd4d9`(G2~w8%^LhibEj|VHi1JI3*YcbpFqi6Ho>I&^N^Z0JOkoRR^dm@&Et;07*qo IM6N<$f=aM%OaK4? literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/chinchou_icon.png b/graphics/pokemon/icons/chinchou_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1b585204b9559f6629d5e4cda1aae320b4a39500 GIT binary patch literal 378 zcmV-=0fqjFP)DV$6f2(X))f{}{=bRkd zbjkr7>y)%(AF3)NB{r;07*qoM6N<$f-3N;FaQ7m literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/clamperl_icon.png b/graphics/pokemon/icons/clamperl_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..fabcd96416e0652f6eeaf456b9f0f2c19afb734d GIT binary patch literal 345 zcmV-f0jBi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H*GWV{R5*?8k}(d0FbqX=g60lkX%~jFH0NW9rHY{}F+-W#vv7!t z1B8kR7O2w!8zFVT8sq>1#b!$X_z+tQtqk+di+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H$w@>(R5*>@lD!UsFc8Q41T?2{VW7#eLoAy%eK>$-HZY1+@X^)B+gCX^#=?H7acYnp(I$0X9c)4NPnGItc9m-7_Lu6&55n z0O|;(E#X7ajN`(t*>ggIjdgp?89i(IF7zqeB3U4!$5p dhe#0ibKVF_ht@du;N1WK002ovPDHLkV1n~}jsO4v literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/clefable_icon.png b/graphics/pokemon/icons/clefable_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4078e285491965c896f5c9d3ddb4902b2f41804f GIT binary patch literal 339 zcmV-Z0j&OsP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H(Md!>R5*>@k}(PcArM79fgULLNt0ux8$pXeiXB+5vap?nYdyjm zcS+)CiZmgF{6g?Cj*dJbemE+YW#V9oLK+T2R>XlIOwNc556)+CwEg4rtje2~Q3T7zQw9pcViJYk5QgwTILQ0HF>i zecAJIXXBd!5lYM?nt15IeC~h@;xD3N4>n;Y4vH}At1$cnc40iL`Ia#FMi@e*Mi{vZ l<7*G;J7IP|__&|;;|9Pe)ONOAED-i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*HuSrBfR5*?0k}(PbF%U&_g6w@1_Ba-LEV~4fLf9f7%vHADVptF? z64;n!A(PlCf{4GH$IGOcFT{^0J%eRVa|5Di+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*HtVu*cR5*?8k}(d#FbqX=g5*G~-MI(ci@``?KyDh8yP?;dCe#LN(V zpUZQt(3t=kkglkOdRu!s<(`N6+2};strrKi;4{KMUt|%+0~JPm#hWmf9bppogi$HI zFuVwZn^Ov-7!V1_l#Q0E2a&yh+z@88t+hYP3q9$AgwAEA^Z)<=07*qoM6N<$f{ELL A!TDV$*l0k06AP_}!0wb&YTFC{n=oMI6=Ca;lg^hQhaD`Or zt`>=1b{_c`+u$Va1zJ|{1T(|`f4BSVE4ySrz`46Toav$1FerUe+>Scyr1 zj9spf28`#VjJ~aJ6z8a}8uAp&f|veEQo^S`-U`xE@ePn4j#|oEAT}<6fpnv}S*il% zkWZmV%dr4bVqfHWp=+$OvT@k=`AeuG((nfi`PU5i+GarC=Wp{MZUtaA)Cj<)zq1Aa z)t?&(zrXgxt7em^8;$*NZqqE&C+D(D&@}<~BvHQh)&Lg!$|4H9oR##Nk;Q`bAoU*($uAm zGkIG$=!VAxG3|%E58jHDF{s00cD;peIAUMSAO+@#A|y(xDNe?2)b{~2scRTM{7qL6 xfYBK(|GZ0-+2&li2hBR^oSSvs6uxhNt#7Q{6x^Q=sy+Y!002ovPDHLkV1ns{?E3%! literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/combusken_icon.png b/graphics/pokemon/icons/combusken_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3cdd0f5c1ac420e2fdce94fd5df8e0d2fd40f5a8 GIT binary patch literal 351 zcmV-l0igbgP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H-AP12R5*>@l06H;Fc5}sa8Cb82NC=Mwz#!R-ZgHHLP5;tZw*T6 z);L(Y8Pku%#K}>;?H+P(?%*N%>Pp^0e~Wt~bv#g2=NL$NzP*9EjKH=451({-4nzPD z2xk^RgI$;bzD8!EnLEIZk4dBrwN*Njmmp8 z8Kl%SCn*)10V!hbVF0OLgtcuW6shp!8c{nuqW`F05{8!_3F82>!tfTaudlhb!WgHA x1;r?g(}Ui+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*HoJmAMR5*?8k|7SmFbqX=0{0Fb7>qQ7u_nT~Q!J&I^5qz)2dP zffQJe6NYgGCg1Sv1g{!v>IV|EE06~cG+*?v%>9W|i3(yuORNBv^tlF~#U7duMDy2% kj$0ToO<~^Y^N#&^0Y&(FcL?;d@&Et;07*qoM6N<$f?eiyh5!Hn literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/corsola_icon.png b/graphics/pokemon/icons/corsola_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..dd2d2e82ec25fbc537c9e191ca0cfa711b0ab4c7 GIT binary patch literal 365 zcmV-z0h0cSP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H>q$gGR5*?0lCchgFc60O1oRzncVYL19DFN>GpU1H{{&veI7)Jo zxY2~#0;Q!6#?g4&eZBwMz$e6SmCbsIj95^&9>6)D@W9GAW_-k$W&u4}7Dk7l?0N=V zE<{W-01UlcWwdGmkiCWok?ZxNsN+r#&Wt%D6+BSOd*$hZx+S7}0LKGR6RBc(=-vgW z43`M;tgyS433zO(a?1%Q_~trJKR}TjPsQSYN_H7A&6>#gRsDy00000 LNkvXXu0mjfg?XS3 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/cradily_icon.png b/graphics/pokemon/icons/cradily_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ea57b45f10622e342b983bcb0426c41b6cc1866b GIT binary patch literal 452 zcmV;#0XzPQP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*ILP*k}-~hFc3vKfvr6NyO&8DrJ}UbrJ=~}Xk2iHNTD1| zq-<#`kphin{tgN@B=r`%MndxA&lq`Lmi^@gWLWQId4RsX1j_mVtOLH*fv|wGh6dVH z1<#*#8J0G1M7}(lR72E~!2)_>V)P>d*$@>9`nX>JKNya?2o$NJxye2zY+!J{$xS@g zB5!CrhGLw7Fu*2+K(?Df{)OJ;md|!i!v9G&r|CUsoOAYDwI2ygb=Sg@b*ozvS9|(g z-(x1+8{k%5_V1T`^CcUqS6>*s_`(&?zFvIcfQGME25|)$CdnX)(UM`B8V4Q-p$f?l zHI2v*kElaX)D%Y7Ne2ds_P&Y<(Noi?y*$K(Fca7bY{u?M?48uv1Y6iyhsz0%Ehaza u>5EAf_M^Q-9fWfo`@uTA`*HduKYjqHd<)F1J;1jB00009 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/crawdaunt_icon.png b/graphics/pokemon/icons/crawdaunt_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..605482d25313e16a913975ad96b302c9d7e20a7a GIT binary patch literal 402 zcmV;D0d4+?P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*I5J^NqR5*>@(!EZ@Fcbw~Kf(3GFt9Nt9g_vGL_&(Qpm;#a-I@t0 zFUH10R8?`dYor#uVd^AyY9521||7e+23L ze;U6I2Iw1@5zPc<<$x0y-USY%ComSn+XCetO!RSneGkT<3#Ww{Odl3yFoSXHb!ISS wY%sHciGc^x(ghgp!6ZJwgGqb literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/crobat_icon.png b/graphics/pokemon/icons/crobat_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..817951dd0cbf2f98ad8264b1933db5d36429cf83 GIT binary patch literal 422 zcmV;X0a^ZuP)DV$oQ#;&%h-U>uLd=NoVUS{CW*sVmJ7^fiF?h& z@_8}3dy9B_F2jnw=XL{lr<=B#I{=7)JGeTSXuj~+V!5~d5&!Wc1Zi^sRogyd_s8pw zqU{0T=CTJMZ9@-8+aoC2?t4gO(pKv>Pw`I>q^&MOepJ7LPDSiwavmC(<`apX5Z{_l z-F-Ms-f6t9w!BN_!E%kWlofFAIRWr;+-Gr?xrsb-0MONpTQXV?R`_dt13!7f$)87E Q3;+NC07*qoM6N<$f)~HNz5oCK literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/croconaw_icon.png b/graphics/pokemon/icons/croconaw_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6f57e56561cd13f4dd184ae5dddf986fb55ef4bc GIT binary patch literal 356 zcmV-q0h|7bP)DV$k7R5*>@k}(c~FcgM+0(u0m;ciKEftc`CdL3Mt80hRIiQzQP zIzZy|!cYcCOs&S)*Lnfa@5Kpr=#LdR+A8g7gLX;O;7m}$2qs#INy?(!~h zR~0>?1K=u3NF2cM8Rn-?f+7luzsVN~vkirzepq1+wOEi5v9iLX1esK=V{fY!X3UI- zKuLwchcKNJCITxA zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H+(|@1R5*?8lCcWIAP|Oqg7^-%Wr>iRGUXk+1xoWgh0?x4NT)y% z(a9xO4J4jIr*5VH=EvP}>L z{`r(r7*PllDl%cD2@Y{#Tps}w#;FLHFj9$J7-`KW%sTDF(k9I7z5}{$!ld8!;~It0 wM~gJo4E4fws5I!@k6_F)i7a#J%NKgQ0Y{;J{@W6}g8%>k07*qoM6N<$g84L=u>b%7 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/cyndaquil_icon.png b/graphics/pokemon/icons/cyndaquil_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5f174dcf17649148b5da52816f2898163d8f0ab3 GIT binary patch literal 360 zcmV-u0hj)XP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H=1D|BR5*?8lCchhAP|Oq0*P~*zIc;900~292&Q8bQ+E@BI|gyp z+AG?W13PwW`m=r9fp}k*{X)Pm3~@vgjhjI9>{r+>3Q#`o4Ti$@s)@mYU&f}<5IPJO zBV|k@DEA|!p=BueBp#F@*l}K4OGC?0LIr2rLpaotX{u$obcwM>v@x)pS24&%*WKcR z-1=<(Mq05Hwb?%y; z@QB(ABU54Slazh@DV$@lEG@kAP|N<^*BD#zKyx9xAoNIeF94!rx2JJD7YsR zp^!kpOigyxq~~7Rxrm=L@r?P5N2o zCk-R{u26jffC{_m0D5b264%2IfFx;7;0h(2Kp#NQ*a@-!5LxzDEPnsY>=M5V#+xQq zAZiyZP*cpHK&Y(|4>gMI(W(@J3w_A$b>tR9cWgclUPBf z*>8#jsYh0SR)Vz3_JDy1jVkl=?8iHfMFs#JY9S68%+R!opLY07e|!Vw#Ll76Ncy$_ O0000AnX5 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/delibird_icon.png b/graphics/pokemon/icons/delibird_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..438f808631b55d29a9870c31a69cb518c46db5c0 GIT binary patch literal 357 zcmV-r0h<1aP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H<4Ht8R5*>@l06Q>Fbqa>0wQsQb`JvY$t9R!3tJhG$i`VKBFg4g zM65L}X@0sf0^jDRFOG-D*jK0P<}+7n4ml_fW1ON9<_+_JHg5oxd4rJ!koiwe${uoH z$tki+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IEJ;K`R5*>*lCf^XAP|P{3E+|XFqQCB*o?Zw&(Xnel&D*x4#Z6H z(h?@3N^!4u*v6K}s!NcN%m;TM{~y4^4UC($ZPrAhwbraaGOwqaz_oyvkE2o%?sJ)Z zZXK#-0f24yRM{xsOV`#NE8EDfwEcEURVyG3Cd8P5M4CyVqH6~RxR3H?%o{QKq|L+7 z-AqIRZjaJag}ZlACN#+)qzJ;f;S7C!QNemqdw}qD_5@Jtes|G)r6AfjkhJKvpWh)G zpj}bcR4CMHmCxwyPxV{yFypT}EMU@MDVcOw^&E8o_?eH4I=~{xs6z&v{;UHGF{fX2 zV8H3)qyw-poc?Lj0a+MMf6_sJ9{6pPewcLF1yl^I0YWH=k2+BO4E|S# YU&iL;ptoLrBLDyZ07*qoM6N<$f-|(sb^rhX literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/deoxys_speed_icon.png b/graphics/pokemon/icons/deoxys_speed_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ae34130ee00e4ee1309d95b33964fd2c547dccdc GIT binary patch literal 456 zcmV;(0XP1MP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IMoC0LR5*>*ld*1uFbszC1o89qg>qBLMz-=ISKZ^>Ld$ktTFAsL zB_LHILIT`4B-hZXLxnxW6-KmbFJwyPLn?H~vq%N#j-@DW zZDD}Bvb-o2?!a8ZRDR%FY&%y2n@SWiUU+f`e7s<63YE(Zx+e+^L($5$r4p{4vY?XV zauS(j?41Nqa%rZM7!SiH*kY-%U$M86KT{Kn#;8nWyea0ID%?kOFLG>kr#j!l_2Oy( zp}Bp~ei!a_9k|e}7a47fCgi%kclAbpZJDV$zl1+-nAPhh~fj!GdaN8cDWUE*2P~2t&aobGlZ!OIJ z%RiVZk)S7<9i|btnd@;YT&-;YTs(;YT)zW7nY=6o(GQpg44B z26Y`c8D|NsBu z;DV$w6(MDIw(sc^o4jt1QM z5?hw;Q~F@ZL7=b6Vs9N*!zWn_u#^A*6imPz;hIsvYyykF_b{W?Nzn_4*0CdO&Aaz) z3zuc@=i3|ge?8QbePR2Z?JL_?wl8d7hW#lH!~Sg?6cmTdAT>_|u!ZA24X*~`1Piu; UZ}Au+0ssI207*qoM6N<$f+yy2Jpcdz literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/dodrio_icon.png b/graphics/pokemon/icons/dodrio_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3d462999e5e45177e977193bf304450fccec83b2 GIT binary patch literal 446 zcmV;v0YUzWP)DV$@k}+<>FbqX?0tuPA)wgIyAEp4anOnSB_vw%`2`JzI z87Lb9C?JDb+q9iJQ`T1F14)Tr&zL`SY%pYZfb2WDZbt(3oe3MbwpA?LfNPPhL8R-s zFP0hsoKSJdq#$uV3!=!WQ4q`Q6Xu9eYtJ=#V64x;)jZZ7;~S4-5EzCTG^Y0;@X1`= zr=IU%vWOS_VEnp_fQ<8oDAPNNM_ zMH9y}HN)APDOkE&T98(LZ-Q-Q3sa?;RLpjhA`>%T1m^?k7jqXLa> z3@VHY6dPukg;@m3H6YBwECS^-qY9$}8HN&7m|39la!$AkGwtD$$DJ_on8o}OhLYql ohlen+bbk8&%>dWA;blL506(hv4IGh!F#rGn07*qoM6N<$g606k{{R30 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/doduo_icon.png b/graphics/pokemon/icons/doduo_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..540834591ef31af15d3425be6405325de094dfd9 GIT binary patch literal 351 zcmV-l0igbgP)DV$!c7I z_6}7ev3z|?ao)q2-#);h4U(m{;1HR0U;4r%mr4KU@BJ1cv{h)kpPXW*G5 z65`Q-K1hbI1&;=J$r4WsQVn*WBG!>kCfM^t>bfZe*+*@(l@Dg4PB+b4v*9|M_4X># zG55~jo`$|DMrdcC&{sjSnSRsH^p!An$n>=^EcD|g3?K>phY}`c`fH^xG6?d5bh0pav`wIwrX!iZ8A8+|ImREIMaA5!d002ovPDHLkV1oY#nBV{a literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/donphan_icon.png b/graphics/pokemon/icons/donphan_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..09000b166de4d46e432fda2fe3d4e36545d6f45b GIT binary patch literal 471 zcmV;|0Vw{7P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IRY^oaR5*>@lEH4nAPk0if<)duL1FhrD(9;2FA-IH0GdR*PAnwX zRNil3UDxX_(@-w{Y{0>vQh$Bb{18WC{t>SoMJ}~0dA*XRMF3J9HHhg+r;4@Hglxh~ zCTxfz$bMeRi6FSexuG13q>0*LjpZH?()$gdn#c$l{32~gPnv}Y*sSH%L_V_Vw3mw2 zB261R@GAgFkG}Y@yOEpJd=&x(dw6$#Y}#~7h1kBh;d1ep{PQz~FwIRng(-u;aZ+=s z&wHp54^|-q(qumH05`W5vOq#E+re1Co>~pqB8d6XHi{LtG)zh6U8tp4jwy8&^ZuRPlTg zXHWYXJdG1dqVWwraC{Y@LYUh(2;#%d55$MLp_?BSwWzxHi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H{YgYYR5*>@k}-0`APhxy0&@pCSDsln>uL{|hK@GBS+17Z^d81E z&_oelV<5#=X%fbbz9kLzdqjWxD4(CEj-EoB1xv*2!>uIIk}}55`Un(z6%E_lR41Z& zW4D!#m;;wK&F2Uu0It-e;1w8%wsgo#z9vLtkCqL_nS}IiN{a?~f#hWi>uDaHtT`{w zVTMB!(C0-;-0KHF^eDkc4ThYo?LQjUwX6Tt>FDPZnqUVc^iNQc=}Eunpsr8)RR`mD z`aGRW4*I%|?DRLTBRhSr+&pFajUOyssr3V#gnsJ>5SAZ)gvGt~<4c0hkKr=*ehgao de$cP_@eQpK$eoyF_3Quu002ovPDHLkV1i&Nup9sY literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/dragonite_icon.png b/graphics/pokemon/icons/dragonite_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..efcbd8f11f69eb6150f6655e13485a68a1534265 GIT binary patch literal 414 zcmV;P0b%}$P)DV$*l08nuFc5`vg3K*w={SK&OT!6J^yqA9SBgt_C>6Bq z?N$_7Z4+6Fu;~WJKS{L90a(k0=jqLi$NsA7wwC=vpiRhgH1BLASY{4^Q&|v7n{cMK zNf!6)wTG>o5Ya+y5Hu9EkD}pOVAlHyipBR6#~kw7OaPc{s^Nn$1Ob*z5}fV;2PmKV zP9~h8H12gup$Fz4!0&vQuNvb1Ewq6u!_@N7pE~)zOjqBXKTnXyb>1&I4v?D%sE<`W z4jV^wy<7T1uxGr#r|FOlvsfYtDK8J`yp&|Ts!of8Km^R`-XiUy%3l6Wzvf_}1 z6$f{PL#najklU^}FsB*|4jQFR#-ZbKHFfBHr#`q0^AB+N1vQ(*QTmg4&j0`b07*qo IM6N<$g0l3x{r~^~ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/dratini_icon.png b/graphics/pokemon/icons/dratini_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c26efee60215607ea35102673b786c5e51d8c2b9 GIT binary patch literal 334 zcmV-U0kQsxP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H%t=H+R5*?8k|7SmFbqX=g8B{_Sy82#l;v`=qWF%Un1~g?<3Bb{>DD_Cfn@_jFS70p% zn?qf(JqMu*%*Gsu6#&b;Y0#A;%=ZTL4KR-a7X7`awTliE@@(J#`D_GA(V%o#Gf~uj zz%-I~Dg#7r!k7=RA_+Q~-vBOnm5a?4?9HZu_*hA$`;cd4P;r50?Z>w3(F)V^*$;00 g=pJW3x^MdN0%I;~o_zzO8UO$Q07*qoM6N<$f+J^-3;+NC literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/drowzee_icon.png b/graphics/pokemon/icons/drowzee_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..39b84c871d34db22ae12f7e40bd42f47ccb86669 GIT binary patch literal 416 zcmV;R0bl-!P)DV$s zf{3}J0XF>su#p9k*4#lc!3*uc$cDWhb4Uo8ZpI}bOw56eQ_sX%la9A1Q0W?ebr8JU zLDSSTC0MO?7(Nd}8XO)v6hqHZx)KDYEgF(7b0?2@`^bI-lEql|St0NB7<2oFHxnMh zP;xg~=m#~DOTZa(2XGGd4x(-bc!NuN-s->o=$8GxKYq-=^y3SwBER_>Mv2`30000< KMNUMnLSTZ7G`42| literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/dugtrio_icon.png b/graphics/pokemon/icons/dugtrio_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a837c7f6f39974c30e02f988970be752d1599975 GIT binary patch literal 296 zcmV+@0oVSCP)DV$Fbqa>f<)l}u3+exLos-4wszz;3_TTLU^Iv! zl~{~HYW^+&NPJt~XFJPN>gU6^`fa8|4VDq>k^8;@>>KbnB6A5M;xZO9hS5*x%TJ>3 z`wWb&Fugn0-^$W0sfz0000DV$@(k~9fAQT4hcY<;l4p31hFq;{oYS%$+rcL_HxLQTU zW+(}mnz60TC}1Y)ihEx^{v|(vT`rObllc=6yhW2YKx7mUTEc|V#DRZxNyD*j3i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H)=5M`R5*>*k}(d#FbqX|f)sNAteQQMSlGA}7p}|hG(JE>P#c=G z3t|Fqe)@?c=QYi5myx~(LwBlyy0Pk8%Nua)YM?P<6(AxgBkkitu>^X(3zTQ3>z!O! zBQ2e8!eNc5O_z4Ty+KeqQs*h3F+PBj!xdN;17K7q3-Rhxt4h!>5fn%X$9V qFJa`6$BxMlk5loo{dfY@kck63m?Cum00000oneEP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hq)9|UR5*>@lEDqbAP@wpz~~wX5-9*B6p+%=DoO!|5B^;62M#_~ z6o2gf?Pxjnu}Ym@JbPFNufdD~f-#{J0n01w9hiq8*+0qT{z_->>lI@ zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*IDoI2^R5*>@lD%$&Fc5%w0{l|Uuy7-9QOR38#&5w4OP|K0Lk23O zN--H~IYgpY<3GaOslDm$)7d__FU$U1kb6qe)z2Ncbm?9|OOW*QetPL2=cQ}iY1c;H zIe#jf5-c{5&n@Rmdnc&DgW|zCn`{X?I4jCPO5s2@8vfQztP#!NMzVl@_7l}of}bU? zDC^xFb?FD087d~V6cOYG={kJdN3H=3l;XO6)DdL2t>ZElW&E04A+B;PV}lKKQZ0H0000DV$+&JQB#aro_a`9TzWC;#Es9VC|>?ZtHI-6Al1Z6_u%O?Bm#cfrtCg>6{9aH{QaS uAcru0K6(ga;ETd&D@@gB7pAWFi61Z5P*z)R0000 zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*Hv`IukR5*?8(lH9cKokVfoFIFclxepS#3ueqZ>H!WB!x`CCS3-- zf~^pi6s9tTYnA`g1+2vB{#&M4m?ZhVxNdUq&Q^v~elyS)`NcG(K-C$5g#l7-j|yH9 z);9xy*DwewYG|b*uL@Gq^R8h}ztE5b*1`TROzwYXXZB#6WVxBcQ!+r$q2BDV$@lEDgtFbszK1o5>y2JTu}(feK@GS6brSLjg@oJXZ) zU3ZzOmz_4)a?8ixB+yTYUn@VyeL`JC5=Yc=u$DwL^9M~CgOY09RD6f6HFA(#EXIJ) zasa~nC@~lz7CddB4`7vS?U2JQQ+GB)POdJb*?>kzZJ%zDvC=dl17QRqUfE@EXks9G ziD)>0UQQw^*!BNZ-w?*)UKsyI7_$=w@{l<)VIU2ktK{YfsA+VWTFi?K=StTF^8=oK fw0l3A5Bl){Utyzc`sWND00000NkvXXu0mjfE7FZ; literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/electabuzz_icon.png b/graphics/pokemon/icons/electabuzz_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4c9babe2a98cf3bb79bd76b979f57245bbe8e9cf GIT binary patch literal 321 zcmV-H0lxl;P) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*Hzez+vR5*?0k}(njF$hKD39^*gOE?~t5*udA(CpPRV+9SyQ4_Sa z(UFeFCotis^xNSnTe25GEt^M?vx_$4Dbal=)(KREhV)D)qBraBzL!na~pHl4WSl6c%FAfASg5q)4kBs0`c58f4rUl1Aklr>aUWR Tje#R*00000NkvXXu0mjfprwY0 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/electrike_icon.png b/graphics/pokemon/icons/electrike_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ebef61c4992810c718e1d719ae0a29b796abab62 GIT binary patch literal 352 zcmV-m0iXVfP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H-bqA3R5*?8(xDE*Fc1ddKEe7%7!HG2O;0efy%f_J5S!V{U`Zx6 z0phlV)lBRdg7!d=ATWe;_viX2O+KZ5bM$L4_F`e~p8`f}^w5hP4Kw&aBW5mfWFCP- zbXbg;2?zF&R2J9=tMpP15IQDYUbfK0J{aR`3o-c%UCbo|bdL%Z<(rcc4NB4JI1$w1 zCq$}EU%ndE>OY^(doY^$DbNmq1(Nj&cR`r!GAU?{r3+7-MJg)@K6Gmr y1vEn8zFXKh_)ud$JC#1pv*Stnh=}U1`nUmF4|o?3W)VRE0000M|NsBJ zOB}y_)4ZDG_-%@2clG}yue0xp=ltKYWXaM0S!?DbB}F+pI!3OXkOI`pSQ6wH%;50s zMjDV)?CIhdV$u8bq9Ip<0T1hidke}tE`%DepNN%_vE7y|Sllq<)diIYIxp`3TfC)p z{-y6qLRO1f-nB{xyq8@6=KKNko_BuR3Je4vr7V zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H#Ysd#R5*>*lCciLAQVOU0{9E*t~^1P-2%W9l^u zVg{N6z!L`%sGX#^ZmjA01j?sQMw)rURw=j!g#`D!6AIlCD77Rfn!)ldOaFp8ZS)&2cOJ Znm6}Yxi4DV$@lD$sDFce1f1diMcjHu~O)ZC#WgZ&iD-P##-@YXy8 zlc%U1knoaM3X0S*KUh#D0~b>qlkfx;mY45X{(NN}&%5&FIbtwB> zGl&M#Nttyz2F8agFNWl>0Pb6G|Af7YL%PsEmr8(l#E|k?cmV`fyF}$Jz?&VWTDV$kgoNUSG5zk$HtFKPd|e#)isPgwThMxhy0|b9pny<;E88oUzuo3F>RE4JWwV zT5f5nsJDBzfHtyrdZo4FUX=bxd?QSNLzplqgaO*oA&i-vgaIT6E{vG$-#dgc+wAZb zAi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H{YgYYR5*?8QZZ`9FbvHJ;`{s#KE3}6TyL^9}#8~se_=WRL+|Kz!cX8s6^%)9Dp0&fHSaf06c*qFxbsr4{T+25RMal z$e&!9?dQ31HgaE66d1A!0pupP#M z(Jvh41L#rR#P?)=)o#%^2$`@3NZmwuvB0S0+LvWuXuu8klr+mTJ@;pZrt!t~mcc7$ dBc=OQeE`}mxu3O_pTqzF002ovPDHLkV1gfutGfUI literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/exeggutor_icon.png b/graphics/pokemon/icons/exeggutor_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..610c65a3d3abbf71b4a8c4910c5465a75723cd8f GIT binary patch literal 368 zcmV-$0gwKPP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H?ny*JR5*>@k|A!yFc3xO1ooxI*u=&;*A#eh4Qjptdx0Jz)CJap z38({R6SAHZu2j%|h4|(B%hLYvRD_^FhzV` zu_Dn&R-u+r*yjH literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/exploud_icon.png b/graphics/pokemon/icons/exploud_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..04ed7f13de429c79da060fd304c500a08222f0d9 GIT binary patch literal 447 zcmV;w0YLtVP)DV$@(!EZ_AQT61o`Cx_?k0uiPG#XFHx6ZS_BlFv*LJCc zA48w2$>o~V0Xjf(bttwLXzOI0jBNbFIeh&P`rE_xo9WI~+vM{8P#xC`ayTE3EkdgG z0p$Qgjc`@ZfdPQLtNN}i<|P(r4p8=8F$cS6pl<*|LvfFMaPtAVVSMkK+OYsMaXdqz zsk;I}xbp!PgHmvCl={=2xl!s;84Es;#Jt|=n#2HSvU!n=SnfALI&GRKCLoWOOPc1^ z3JAL*Y0^hxauuKC#0+7CuEqDfB zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*I3Q0skR5*?0lf7=kAP|6g0+{nCnY?uGOGI7!EFDjl%-kiOlatJ= zu%?kPQLnA;z$2=?F*pbk0Fl@OA1WbQO@&%KiT7)~pr( zb#OH=k$%JqYGFc5t;rw=BNVl{XAwq$!L=~q`B%aKBCmugeiUKSqKhy9CT|jjf!QV! qg(-gg2xH2ZP~I7y>o4-#etZKr8`Hlaexxw~0000i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IPf0{UR5*>@lEG@jFbszM1ok`h0a9oVyCrYq-0GWk^!xO%+kLA?d4`clVp7rsgD*V9L00000NkvXX Hu0mjf$#>Ng literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/feebas_icon.png b/graphics/pokemon/icons/feebas_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..19e08797ac120aac45889dd21d460dfa9dd9e54f GIT binary patch literal 359 zcmV-t0hs=YP)DV$~EFlVvx!ib6&Ml`%ILNPB4|LsE<{yOD_ zsYcMe2%{1w%$y%FPMCxzUYJ-IP)DV$*lCe(1Fc60G1ieS;00UbGE)r#k7vG8>29RKZr9(2Y zzE zoCza=NT!?#lbjI&bmXxKzwK9){ebRx`w6Kh3S3_mBz}8u$e`lfM(VHYjZ~l*)K3mZ zzc+VL{7~%r>xXdJ3llX491Qx(!tD1V(9xhQO#MVNVSJT^QRCJY+Gk;^F(7`3Fy3!x e$L9T?{rCn|P5H{e8vqIb0000i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H_DMuRR5*>@k}(RxKoCW90vFZ;glrBF%z%Xmxlufal}E5okzi{; zuObK*Sr}qc1{@PLyR(*B>2&+}GdnQP^M0#@?~?=Csf=qLn1xe_7$ATEA{Obw5a7zD z2vW*Faxf>Nf=}(rq#%!K2B?SxY)ng6W{sld)_^2ig_7150LgwaJ43VpaU|@&qG$s} zv@!q>hYAr-<9o8urPg_B!Cvn%&r`c7Vpg4P#|xq7mK*r%`cN2p6DHn$A`D9m!l>Gw zzj+A56lw=ydSDc424Q3^j6wqX>J2h8uz^6`ZkO>rSs+%JqdE8J$I0yR^uzJtD?jc% W{+niY$1Okr0000i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H`bk7VR5*?8lCg5bAPk0e*WEl$$1a|mrChgoV>ClA))u{LhMG}k zFxD28YhxgpJN2ps@gYF){{Vk8H0}w2$%C;wkO(Q~Y1m7}8#{oeey=bgok&U70v16c z@l?R5D8fSZK2*F0@dX$}Jo_mY@Pw#NU2L{|s9Ux6ER)~-p&kKUaO3Cer2$8t`(_R> z+aupSyyGxF{6%+x|M&?L9|3{UZw+oMW{P45qoBJ%uKx6{qG}6JMA1po;Rd!vh|UXE z!w3nnpQ^Z$?a zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*I8A(JzR5*>@lCf@sFcd}o1@Jprx|!8k?A6)a33V#on!oIZKq^+I z8cPMy1zrr;52s%c)nd7ai?Q_%Ay2%(KL8GM{sCZnLM(!}ft~>t-9|7_)=_#M5l~8P z50j4H^c}U}vUe#$<+j-V#SvIK78)1$J-J+8L54kqm}WPrSG|Ny#$s-uQc7LpZve)d z&t-#0<3iS-WrL^x;kg$ zDV$@l0goGAP_}8ftb^w!lB$vETen1NUaw8PA2+HNod%swN! zbi-DffqW%c2Ml~GsTMQAlqexkXo$K#x3sh@6lK@%AVnFPsH9X3W>O^Ab$DbA79~O7 zb5iR@GJYuAO&0K_Vcl-hdh+KV@~87(*9UYE7agkSMTaV0br7sWeuj0(NwN;yl6A;{ ebvOk3Ivw68;p%AjJGv790000y14C literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/furret_icon.png b/graphics/pokemon/icons/furret_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6974ee9f3ce0bc40e556b6f8d28e0090ec786970 GIT binary patch literal 401 zcmV;C0dD?@P)DV$Z1FaZ`Rci1-8irD5qE0C=Z~D{;a_I2`ri}YpiIDDnaRhe8R-=1f1m^ zW1eDzi4&hRw<-2W8~lr*cX+ljU`a%B0K)unE$F-ULGiLhSX5Dool$5pkS>Vf`Nehy1^jhfnVkU!V{#L#p*NV00000NkvXXu0mjfmru3j literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/gardevoir_icon.png b/graphics/pokemon/icons/gardevoir_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..958ea7f625bc99c7d2ad01126977f0c7f970b747 GIT binary patch literal 386 zcmV-|0e$|7P) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*I07*naR5*>*k}+<>FbqX~0($CPfZ1h0+|#ALLAXYDPUZlC1g}Kl z)MM;OH6`2G3S?-x@qwS9pjTCYx~A!=XWo#SV|}f_&>ooG3Vd_B$<&`|pjk3?O7w4| zT$df}aB#HO9){N4n${7?3_5q{&)7N?nnN8=h$B0}-5i2Q-a8(Sg1QByHyqDrZ**<= zxQG!xq5>eipAp3uU;`0Ff_fV4i2~V3@~MGLNF$~IYh(ie1rjK)tGvXiWknph#_Lx7 zf3BAaQ*=;a#-f7?b1OPzVRl)EEKK}~IaGwf3{)8Z3t@m76-G}3>+h!@Ve+k#bcmn7 g_+g*?0Q*`U9x}hD;Q|KDeEDV$@lCf&UFc3ub0cs|0G&COAmvBr+~l>I96=}c?#;4O&j`i0oi=F^G`q55{!dYMao`dMdlv^y zL)xItUNXi2FGlhf7>OpCFC`x8t$OXZ0L=+#J~nR^G}-*+kWPO+JZoT#0;VHC-=0!} z^!Ebv%IQ?Aw|T1W(N`@#wIx?~(lk`Pf;=dvE9y1{s7$Upxi1^IRBJqLyBLAPaPKz9 kaoEMdmS^3eANqIo4cjBx7b2+>)c^nh07*qoM6N<$f~yU}DV$@k}+<>FbqX?f*RZf3djMnWY>YS^bFdC`UFL-&IVuVX(jR2tt|&Zd;>v!J!5`#y)5fFOk0=bI!ZH?Wdo&|HkM^5VF$6fz^+74z)>2+ z7@STVV2&{WKnEB%unqKX_dO~}ooyUD z@Tap+U_({l=;A$OaCXw6NR$9tvu~OP%T}@)g94LR5P(q=GKok4*1b0gCb9t^BBdKV z zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*Hu1Q2eR5*?8lEDqbAPhx4L6I{+Exdr${g;V40Ks11m!u>ux%N`2 z^$9&bV0aMyXeD3-5mpD_5p~ZJ0Tu2YAZp5!B$FpdVdkn_ojWj*&~SlvkWpJGPg(ap zrizT)0zOU=XXcrX#_qhpuWv0~3Y9W{e))f$tLg2dv^{?^-8D4XZ5m?M1I^=VA0izz z*{l8VzGRcF0pa|TJ=#z0YYg^jv6Fo&C;Kb literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/girafarig_icon.png b/graphics/pokemon/icons/girafarig_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c8b79b132d607872094051f09d0e2f9f2302ee41 GIT binary patch literal 370 zcmV-&0ge8NP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H@JU2LR5*>@(y`OCyv}0l5pXiBO`)pvW;$r zi?Bf%HUzhA%VBfxXt7Q^4jJX!^vD6vZLZT}8-lHy2iCJyc*MP~Eb8{Nq4M3Ovij8X zXQ(fqxi0mCn8nNEl1w3 Qp8x;=07*qoM6N<$f?pJ&i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*HuSrBfR5*?0lFbc+Fbsv6fC#t~#oQBt2VldF))`99RUqYxY-lCS zPZubvZ~pZBY)damE>&tc1N{X~5*3(^pdVZ2MDYq;m}{V{wogjiG!0ZzYvERs#ld|h_6^S00000NkvXXu0mjf DV&;3u literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/gligar_icon.png b/graphics/pokemon/icons/gligar_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..baa8414a75344e7b89d144b7da34d7b2d66084aa GIT binary patch literal 425 zcmV;a0apHrP)DV$R5*>*k}+;4^{iEEE{V#(LnRL=QKMF^s#;k zEUE8FJCd=3^ofX=RIG+h*F-0+aO;qr4@oQEQ)IqXq*$U%|1~dfPb_Cn*CMp#ltT=s2PBO2Z}bYz(|?V!YKiK80!eW$^*Yko`9H07Y|XvhK5XC4_b zPZZ^$<3AkW1Nf$+FkKV|;xz+CVI0)~@M2I9Ci>t-$%U~=7?i1F6-J|7JG^~C7_^v# zX@W3Kni+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hw@E}nR5*?0k}(PbF%U)P1j%jG!rLsQT1>HEt}ue^);3D(ZNx38_`L(25SI zfJxhk{XK)!COoMbOg{-qrFI6)9hRd-7beXMWBN^57=Z7>{N9fjo+7C8UlBlE00000 LNkvXXu0mjf_=Af4 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/golbat_icon.png b/graphics/pokemon/icons/golbat_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..25b3f6821fb9fe2d0bc034096d22714c5adce63d GIT binary patch literal 355 zcmV-p0i6DcP)DV$@(lKttAP@ymPT;u%qEEH;N@&uWB1{`!onp5~f~kLO zt&xG`0ISgP7y}-@F>gJV8J_76AoQ>rqmtW{UcjM2g>s_kxs^aR>|k9hQQ5Yn?ClAp zatlViv*$M?+l>*u_3nhbMy}plw40#Rz}9_S_X3#V@&yDAxpq)cIaBv5T9mu>i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H;7LS5R5*?8lCchhAP|Om0(l46CE>O|jLw0yy3xrgioir+c)FV~AqvCO-G$+6c45+yUkfwV{TPKw zI#e!1VfuX9a}?&>4kD{@4hmt!bS?hF6$Kyj2HYKcxuK%$P5=M^07*qoM6N<$f-9_- AB>(^b literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/golduck_icon.png b/graphics/pokemon/icons/golduck_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c0c922834545021c9681551281bfd354fc3d420c GIT binary patch literal 351 zcmV-l0igbgP)DV$@k}(d#FbqX=g62}rS}(~8_uvGX%1W=msXBCGup-rw z=oH#22}zkiVgOJ1PqJf6Pl%r?>2|=o8U-JG1-xhPLIK#I4##rlNo$4cBY~?S?Y7|& zn8T#e6@YFNAUdfM=(`aDpo9qK-gZj{&fsF1my8&Hne7>Q%?aEsJJzT|+Fu56(g2%$ z5TlS@v&!o?gBaVfh4y()1Jn==#euZ2GA}jm0g?F2`l>J)Bws#{ zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*I2}wjjR5*>@(!FZKFc83T^#yE>PFiwUTPM$*@{Ab|O7t+D1fqTg z7f)W)NSO)_7di5WZ0O$B;K6@&IJ*^8jxf7){jsgNyA{`N}{xskIdF;V6shG zdXd^%>5;6N&Xt2TQZv83&%xW%i$=I|o5B;q?Ny`H)3Ui+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H{7FPXR5*>@k}+z;Fc3xO1UqL*yG?Gh<>nghdB~1r1_b&~qXD5u^cRZ__JPROuaNT`$ec9o1FS8vvpEBP52OQe z^SBZNEpg?c%P+_yCAKaBz`$m%0y>Vb6>uT|4*Vt+Aa(uJ|G=ZPo8-GK`7k~mci{Ob zz4ryUPEM!uC4;Mr$G&8`Vo2rbAC~Phe})>Y4S=+r0VIJ~0IVT7QHE~gs_&1V!XGeS z698ehZUh`IsjGmEPAU)$k{1BUAP-7uZ0PZ2+W85=W)M1dH|PRjGYBNP8+0zj c?+vQ!229AIchO>rYybcN07*qoM6N<$f*dcS1poj5 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/granbull_icon.png b/graphics/pokemon/icons/granbull_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..89beb7a8c1282c2e3a7bdc6706cd07538bb46db2 GIT binary patch literal 352 zcmV-m0iXVfP)DV$@k}+<>FbqZ63s^(O`Yt`V3eaKfxW(#zSj3UA? zX=2k^v$Xwy20aj;0`!P}bM$L_4;Z)P4H#7^*!hWIXaN=AJ}AQux9}Z=b|?58kRO0V zMme=@o*%7p;sRMZiRy^_k?Oj;T4C`ZbVgF|z;}lj=M_j&%h`ij*s{5=~+Ap9v z0`GBJ0X499M|PmQ5;sxUNIJL)<|#%8t}JERh7a@~@@Iqz`Xr2`Ct)P zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H>`6pHR5*>@lEH1mFbqXCK?rJq5aIygq4#G0E$Z~Hh#bHy6TtJpH#RV6^beyG=U<~LE{t$Xx>6`>A@^UOn^8Hvy26;tVUAG zqR1wj5x>li6sgM~Kw>V)R5qh<7LSlNX6Go$io-Cz@l$!CaXWb2A_J*y2J`(s#_Dyc zwL0z{Da{{`={n83VYNnwer*{s`IUUnNJj2+DZ2r&PGCRpI{kw>0|O%MsL9NvDV$k7R5*?8lEDhXFbszG1S_)R20nyOAoMoTXC3sG!|>cdUtxpY zgs5z{6=Ol#ZW9slCI))w&zBIwmn6Sef-m#GMKen*qOK>nC=dYxVohHhS0H1cddxO? z3`C8X_4zOfEN)jYnlN=_Zgstj0c&O+)FJd-%~c)B5&b5jGWNIzE`3j0i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H_en%SR5*?0lCe(2FbszK1c`D3Y*&c~Xay%Rw$Fl)%$98RMqV`# z>29;yL&T#=%T;$_f(?O(Ncr?zcA~GUesgI(js;-$t^}As3Xs6TMU(bU;L2SF-jmy% zBXb}*bB<&Hg40g)DWgTC#VG-=lQPMLUh+q9s-}d7J X|8?na$|7()00000NkvXXu0mjfYD1@c literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/grovyle_icon.png b/graphics/pokemon/icons/grovyle_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bed04dc98a638ffe7d78239f7933bb499a2e337d GIT binary patch literal 363 zcmV-x0hIoUP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H=}AOER5*>@k}+}vAq+)z0(69&CZ(_8ZpUX#52i{f*vge*Y3vF` z!DBB$TO~7YoKK}UAI-o#fR_qN(V*I>2wF!`0WVBrr7|r%R+uQF2JgGVKX;HmFR8Q& zmK9K*A_&wKgs`7T0Nr{^MD|1leQQ0Et`o-^#XdTjuG}Kl-)G|jdg7(_CFi+PY^Sd< zfc1?+pKs`3IgAfZCm{t)&S?e}i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H+DSw~R5*?0lCchgFc60O1a{L+9)gsSK7^@j!-AU)3*F>ZNleOC zNlan$Y=FYS?4YsReeK=-O+G???6jL2_`0Ti1D>(m00yfe;6$eop_P;Qr9xm|^(KoD zIOtoFwFDrLUOy5=XdH(*uRAN1-#st)cjvD4VFGXfAk~RUG4)U(1kat2Ft;$tvq&u2 z9OIo<^HxG^n&!n3ea0ATatxa0s>>RIovp1U|8u@b7`n_Eg+Z$ZVZ00000DV$p|hLE$2WmIA%1Q0@fDPBfOF;q*a|JAsTmMd+A|{-ZL)KRhi)VjD-q9% z@fZTv8mAWKy^lU?R-y%q~fWAiGfvzTOeMCAdJ@`2;;~@hs2Ln2Ni2i(&>8Rx*gGtvV bB0f2HLJNegRpyfq00000NkvXXu0mjf;eCfJ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/gulpin_icon.png b/graphics/pokemon/icons/gulpin_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..53eed645f80360219720ec32487ffd0f88659d3e GIT binary patch literal 293 zcmV+=0owkFP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*Hqe(IrWGUy_}beJm;r)9<% zGK07P7`gUAh!u$B32?l|l@Zu;X=gloB5_zSX22>>4JGQI_mUf7@+)DIjb9QbFmRhN r;5FS)KESWsTKq6x3bXmKs!!z!9j;~?Mrw)#00000NkvXXu0mjf+-rEw literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/gyarados_icon.png b/graphics/pokemon/icons/gyarados_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..13e611d0908e2f84972bb6b46c6963afab2e235a GIT binary patch literal 524 zcmV+n0`vWeP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Iib+I4R5*>*lCf?ZF${+93B-5smZdGCC7HBn$aG%nH5u|INd|Q> zhfD?v=yg0CaIYYs3gAf)qBx)c0j%zHHqeZj8gBfK$DbnquKQ8}F@69_RoDS999Sw& zs>@O}0#b4rRfOl2Z6%3+k3%haz2G^IfWuHQ0=FCxY}u2Esl=IpCAJ19z-lhZl!?$V zOnqu_&b6Qh3^>Wc&gO)SXbRyX%J;u4ktyR0;PSYk$7`$WPxGMg{pa!SLB46ir#5-G z4Y%7>2sa1srd)`=f^S;)htOV9LGPT`LAwQL--}KJ-Jka3>!(nOI{^_szy1F&7(RfM z{xt|E$?b}#g6fY^Mm{r8c_@jWih&kIM8}|iVr>rp|{)9`F*dQ6TxrY0z`F&m>hH7$Lx&Ho8m9W(gY-<%<>rk O0000 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/hariyama_icon.png b/graphics/pokemon/icons/hariyama_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b16b049071a0b2ecd0ddf698777af5ae7835ecda GIT binary patch literal 387 zcmV-}0et?6P) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*I0ZBwbR5*>@(!oxIFc5&@J^@Y78hK`qlNkCS^#wL*=o1XxJ(7hA z@wAa~#9dmT8@+48r9bTf<`d$tE$03H)0knqm&Vv_;1A=*a`WCl*iotV2>VB;$}t6r zz8raSgB)T&F5h1!O@28--c6S6AqC0SeLvX8JGwp_Lk;2*F3>mUS3-w}0gfrOp|ce{ub~Lxq}0>y56$f;_64#ag7~-VcQA6uz>wdA zk(7ZUj9@s01r*cA*@6Q_LxgMA$T4UEGKOigRJf@vuO1DZ21o8fjjm?8%= hr#mp>4$O}}z5s^D>FWc{m%9J}002ovPDHLkV1oK2r?&tA literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/haunter_icon.png b/graphics/pokemon/icons/haunter_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..aac3e15f80834c6a332769fe408add67c45fb354 GIT binary patch literal 485 zcmVDV$*QZa7BFbvcSBycw*6n#JuX#VG-v^U?(~4BvE!&50EYJ+QEFYEmE%J6`mv*`tqKGH zZ~K*ow8Qz6lA?a3>rDjrUPOfKF#+f0i0PKQxh#k0rth^V(}?mLfpfKF=ZC(_w-w<5 zKF0C|XyodDw)MXfSjm0j!VGQC&O8wqIy1H^Yyb_c$_n?kqE=vsIB{=wfY=@5>u*aA zrhcM}t68UP8Jz^SQ2=MCjV5lqsx4}VN1#Hh9b70BpY{}0;}sA9`(0|u?BG^o(9#%k z+FTX(DAH~|g#0fkvs~ojLQN;MW00000NkvXXu0mjffimHT literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/heracross_icon.png b/graphics/pokemon/icons/heracross_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..994fbe33fc6f4e71de2b19fc7381a15c07b96903 GIT binary patch literal 370 zcmV-&0ge8NP)DV$*lCg5bAPhhmI>X2GvZjl&!Vqf>-_^gk0T`Y1#adQv50(=2+CM5W#6jy6G{*kM zy_C`eQT#5k)2iTI1hpATfB*sqS#VMn2)cjm5L5wtqK|78+r$=`llKX46`ap@N&vi4 zstzKPJOEtgnf8C|iI^GK9(&BZ(Vtsete)6UGUKrM_w#-^G_R9K4u{6A&Mk+a`>SR0 zHHYku9DHW*L9*bG1CT(=0TU!(_Ea52TOY~eGl$xTzfjAe_OVLZrhn?=7b#@EnBc*f Q?f?J)07*qoM6N<$f>eE~I{*Lx literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/hitmonchan_icon.png b/graphics/pokemon/icons/hitmonchan_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a657a6d746a5e854e3436a33ef7898a86b2883fa GIT binary patch literal 306 zcmV-20nPr2P)DV$5ygw!U8Ix!jTH*VJ#h^eIuCX-O~ zKypJwQ%xpqn9RSj=)EKJ=-GP8_6X}S@n)OyG40iD8+ZT@9-9Zi75-!93xrYi!bBR; z2@~_E(Fzmu0(-K;=o!|HW~`DV$aM7Y1J}0A{Tm#KPP{Lm!Rc@&phX%3G8p zI5R;uP%k?OPpc7t?XuLHwMEf0EQV|L8KYwlquz5gFnc`|LGD*+IxfP?Q8t};RQKN6 zvC^{dYvb)he_r1QMje3({s0X58W=U8PQdU63}XTYg5PF10fV#~!bf1*h+2+5MPL*a hSrZ?syyl~Pya1;XiPc}m8e;$e002ovPDHLkV1lYUj9~x( literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/hitmontop_icon.png b/graphics/pokemon/icons/hitmontop_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c5b8ee564d1b044e7e109e689f0b1524f59b063b GIT binary patch literal 477 zcmV<30V4j1P)DV$*lc8?JFbszK1kJ+~4CW!GXy8Cu%2u>9m^43Cbs!+G za_C?cDOv&oJhx7IyJLeZvGT{i<=9`l?q7XD0#Q9H9VD2ls50)cEQTbxc(Iga(2^qV zj4p;M080eLlN_TawzC*_M*+{5#uEj#In)9sBV7nGO6|p*r~p9~)KHvPa|XoP1Xl`) zJvm|RJO(vG20*B9QXLDNfz#Yx+t0XVOz+40Z}fsW+3O+nc0z5}Un5$reK@nSKAyY& z>v^u%XW@T*s)jmco~mFFzsEM!MF4STlq=;#Aon^*3dzoR{knSgl`tPiS>9Yw%)`+5 zQ^kziuB9elWL!=@RD-&FGCd3gfvmf{eT;P3mRkWS#`wg%0PaL}Q9HNufvs;EC}rj; z=cec`Wy0K`+kS?Ajto#bw>}w%nQPkf^%&93PIR_+g1Y`@V_NSCtULqq2R?oP+Hd7h T)}E}V00000NkvXXu0mjfmWbC1 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/ho_oh_icon.png b/graphics/pokemon/icons/ho_oh_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4cd5ed871f69ddb978de343c2039e75a58001c0b GIT binary patch literal 480 zcmV<60U!Q}P) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*IUP(kjR5*>zlCg@zFbszC1o0!>LkMzkL;Nhaq+2rtsx5t(33F(h&5lD1uRwS7DeH6>99e>LWx8 zL9_D{U60VjXzW1ApwACPobJ&WGk`Btj26*hN30}ANLK2Tr@EzDix7#Dpl?xHh^!?( zWvr5w_*!f32TT%>8RTVTPX}(ADk6CphI?{8u&dhnN6sC0KKLH_li_E&q;Hve(0#KApxz2M-m7hWDV$< zf*?-8Qizb{_f%@{($PsgN+BQrU9RO*>bFbZa!}I?8F;}DzzwKH4=f@dgy^DmEYL$pB8&QnPD@VU1|nCWA2x3zjI1@ny$Xz4%=vzBhy*0_way z1esV~S4xr~6aQ4mLI3>UT%#T%9a}(8FZ_UYkiuB$$4r=%2}39Hg98$V44THig>iNQ wCKE;*s=Z^2+{qvzi1yxB9RtNon6LbJ0QbfFglGXMYp07*qoM6N<$g0+H_W&i*H literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/hoppip_icon.png b/graphics/pokemon/icons/hoppip_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0692f69d7b03427653547d3e26ce6e3b61e7d6b1 GIT binary patch literal 367 zcmV-#0g(QQP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H?MXyIR5*>@k}-0GFbqX?g7u}Av{YNWarO!-GER<_qfnX9QK6v# zZAl-vp{C#`QWEWu0AaZoWPf zpnYqZ?cVNfZhaZ506uuLjbjEL(QNZz=9mr!bNV#kMTL(#lP(>i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H;7LS5R5*?8l06E8KoCaf1nyzdrVZo(v9(ESmo^8OKycd?0$#_! zpjWVnkbtZmZ=;?q= zMAm=7DX5Bsf4*d$Fb0@}(Va;cVRY*AAWW>Ec-z7-x{kuc3%KJXOfipid=zFE%z!n6 zFxW0YrS$h06$bEv2iiVVnG0TyAf8hIkOi#E2UG=)ZV?i+UjP6A07*qoM6N<$f~t;| Ag#Z8m literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/houndoom_icon.png b/graphics/pokemon/icons/houndoom_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8ca4aec3cf38c7e0f15410fc86eb913883fbd868 GIT binary patch literal 406 zcmV;H0crk;P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*I6iGxuR5*>@lCg4xAQVMOK0xNKJ%+Vk2l;^g8@EelE6e<i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*HOVm z(Y82i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IAxT6*R5*>*lCe(1Fc60Q1o6vMWdSiXQkROp1zV?9@f79ZKx8?G zB@zq9*}4=f5*1x8I-I1`=PZb^H`$+l-`Vmf#1)imr{Fc(5((lF$}++=i)Xnp^H38shtFUI^pb25eK=KYyav+@Bs|OL6 zYs59zUwZhW$(HKqj2C1Pf$!XggcnAfy7tne7e>C=Fr^oUN*nGm2m?jvHwaU1Cc-d- zMqxBFs22tdOANwrgL+{q(*$6>FtuY-!CD>t{wKg&1QMsFIwb$m;RoVHxDiS9iFW`1 N002ovPDHLkV1mPYxU&EN literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/hypno_icon.png b/graphics/pokemon/icons/hypno_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4015f23867b504fbbf8b2b273a68fe27d13f1c3c GIT binary patch literal 391 zcmV;20eJq2P) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*I1xZ9fR5*>*l09z3AP`0^r8i1$5MKZ(K7h|TO{iyzzKaj)R?J0&`uiLJ(^Oh26 z>HGf8c9{0dV;Fi^l+lqQ&UZ;n8U>6urjg#ud$b(F$Q8(^LFj&f5bjNzm;V_*5QZ

002ovPDHLkV1m(qrIr8y literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/igglybuff_icon.png b/graphics/pokemon/icons/igglybuff_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..55d1a9eb1ab6b6670718ed29710bac8b819736f0 GIT binary patch literal 322 zcmV-I0lof-P) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*Hz)3_wR5*?8k}(cKArM440i4KqEU5hDPJ*iCg{Mm(_?~H!mXc$WAK$E)4wD0QUPp;@V=~*l&v3CfUPj94W?E-GcjM(2iksf UWB|rEf&c&j07*qoM6N<$g2ds6Y5)KL literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/illumise_icon.png b/graphics/pokemon/icons/illumise_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ac812de37956e2f3ef5698e698613ad3f65e2f66 GIT binary patch literal 325 zcmV-L0lNN)P)DV$*lCchgFc60O1T{W^52I{G7jAG6Uq=^bUF1bfoQ)Tl z*t?Q6g@m$Us}aJTxSMd>efh7Kwx1B=s&ddz;vZ1>(sOXqnDCT5G?-u5LGo@fKc)mU zKzMGDB2NH_k%20BlclDas)lX0Ljscs=9yzaSg6)`HL71bv*7ikj{1Zt{4~9VE1Jpo zPTPedAUCmdhTkRxUGN8xCNRkt5Qdg^HSEV)n@v^wzL|LDN zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H#7RU!R5*?8lA#X6AP|Om1Kwn+(=&$!)3fCk~GFh2S5Mwqn}CX5}0fw2&Vc!(ehlXZA4%+ZhF%Ljfu Y0SdIHTnhDSi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hxk*GpR5*?8k}(Q{FcgM!g7h#hq28y9$H?MYo}h!^kblTkIxB>N zOVJ@!smV*`LMilZ@8jnu;eA5<_*}eyBw$%#6XpT4z;a-yu|8H<_!gdla_m+hf?3;b zH(dZv4HOyZ>ym-Fgi@Mf$23%`);PcSwc2jDGLbU0HT(CZgNC)XFxjVS`PM* z$$)g?Kj(Z^n0VZ`FcF->1TYTBglTT6FuNZ`BFNzf7v%6GJO3yBcmbn@r_#RmFYo{W N002ovPDHLkV1hd@iL?L! literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/jirachi_icon.png b/graphics/pokemon/icons/jirachi_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..15df4559b5127d16cef620cef65abeff5db8b03f GIT binary patch literal 340 zcmV-a0jvIrP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H(n&-?R5*?0l0gcCFc3xO1S#|a1)*ELgl?Nn{#K9V6@!@VmxnRxMqX&h9^EhGBR_zh2HA^Ql!X0Vr*h#o&RAfTI!CDX8`GZ29EPoRK0000i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H!bwCyR5*?8(ym&{+uM>2k?Vw8u6aXk|=Y5GnKW^Tv(6g@pWYB5y@GcYk?(^tk?w6S>g#o z%=-1<2||C@o#sLfcCl@&U%(W#2^TGjE`?SW>UM3zQxq_z&H$eUAev|nXIE)(r|U=~ z{39cMtRdn%-oRiMJ~l9(iw%tMv4ZLOXYXKmVh1CA6fkdn0waB_U=BXcU{nF~Wgj0K W^LW#nwHK5C0000DV$@k}+<@APk0cf^ZlQ9-!8-M|L1sEXV*f*&W&g-Yg*O0RaOy;A96t zb7+R0nHz8j)6R?80f-{OInX2J$WuXW|u7IyP~PHAmmOldQ%RvLW|6b=8RejyCdNf?4&7=n{9>W2X$DwGjM z*Lz_yorKA{+6j}1mTzH1YASvR1Mrw~%te@xu^uc^gb8}pac~hPyaOKJUxW!)Xg(BS seBzTZDVhH+!p!zTiZC50Y#n~AFZM{7v!pINr2qf`07*qoM6N<$g6jjMf&c&j literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/jynx_icon.png b/graphics/pokemon/icons/jynx_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..be652280687df8997dd310a7d71a62495419ba1e GIT binary patch literal 375 zcmV--0f_#IP)DV$m%Fc1b{KSBI38H?1{b6LE`8Ooe13PYBPLu6ni zBCpVuAX!LV931J#>QG-;+2FSO^xKl(61cnWoyj!Rz&;7Ju)bL`v43fUsBW!?VsLqVrm@ipQlp> zN-|NKk4%)N&54V6u_y6f{pSIG?9Qx2yJ{!vpaKkJW3)9evz5Sn4B{(8ESV)Bp1BmD z$5;+$0Sot!_p1bsI52{&Apy&n_u`%E=3_Wr!IMjnf4fLsaCJ*Eap{M6oc~onz5xok Vt+N^^$7BEi002ovPDHLkV1m`1qx1j( literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/kabuto_icon.png b/graphics/pokemon/icons/kabuto_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c0a1407228a7346c6de8b2e8cd5da922da58560e GIT binary patch literal 264 zcmV+j0r&oiP)DV$eq0#$kt?5fy}muO@f6P z4A1pVl78_+cxepc-?E`Ig5wg68F0oe#;+0B#q<~Zf;c6aawQE?*HH6nk^;f!T#!?LF7X3Veqd*_SIB|@ O0000DV$JdOxiFiKz~3K?F<#@e@{AAI4b_)|bT&3VE0^ee@bCTj0tNz# U108*|1^@s607*qoM6N<$g75T-4*&oF literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/kadabra_icon.png b/graphics/pokemon/icons/kadabra_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8653f752416993a423334f77cc9995c7a579ca31 GIT binary patch literal 432 zcmV;h0Z;ykP)DV$@lCe(2FbszC1j!>HF)_iwaudAGiS5Q4S)HX`YlddN zd#VbScF9#B6=$hwY22b?Lkx%vZS=K&>e`<%e|W`n(ALw{)hh@h#-(ln7Kkv>3S2r+ z>BIOW&N26NBmy+HEoYGEFoMpsRWZL%wL}p*OI1z~Q@8?TD)OPSA=v;vf`WIh;6eI5 zYiWH5e%Eie3LFVaxDWvaEV3hJ9&&<1C!7MJf|CypP%vQzuUrZrA(4U;%iH}}7cal- z`1v~4&J|k63w&-HxYM4_ZHVz(bN|8mRbfnSkqTpCp1%rXshN+@!kCtFA`3J4tk^1y zj(-s*8{|ZVQQ*&nu}qy1OR0Xi8;_C#m0G(U6SpF$dQ9IfE*lsYD~)a9H2L_|kLmVf aKRy7Gzx5j)ohdW`0000DV$k literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/kangaskhan_icon.png b/graphics/pokemon/icons/kangaskhan_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..177a688cd1ba43df0c49d4b2e3cd0a83c480e221 GIT binary patch literal 389 zcmV;00eb$4P) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*I14%?dR5*>@lFe$vFbshG1QEJ-3(W%zb}SU~oVrvmQdY`NVTK&~ z0v$d1V$$X$nxT16JB}YwTXUG;72~ zM}xTPW&k7N)0XDlGU4iLLljGZCTlwqjqihv+Mbjc_)#*djw-4W0m!YMI%0~zxX zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H{z*hZR5*?8lCf&UFbszM1kp>WQx9vgryjkRJWoEF4&G|W)ICEw zg%cT)Nr5zlOHOW=u7&=aK7Pv}K4boP762%Kj3Pq;P%euG6H3mi0^t;}Q3Z%~#Di`` zAClfNMcyN>sHB^<0R4r2O`=Mq%hn*VGW*60~(s_O!rDK@$SjxPCC0rBFrFGixA z3#BAH9Z3lTkKs6z5(eJi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H|4BqaR5*>*lCf&UFbszM1gD3|(n7$?y+Wby)5QlNUN3O;UdMx| zUm-(>bTI~VkU^kxhsILIqeH9BAHRf*K4boL!5$O_$O=#?R)UpFPzmP9Y6iu4VrUEq z!-UjtU4Zc!9km1@;=sOjpl8S6w*>hNTyp7tX4ECY72CauRls@s)C+KXb!Cvd-CoXK z?fQ8<4>${OI4%x9WF#fGjOu?TjXUr)%^Dn%`Hz)%Z?HMD2GMphRd3XLm0)5u29VZk z7CJEE=@Nwwgyj-^(*ddtAqpKR@LC1fP6vUjbrzZqY<^D%dAe^Mv>+)hqm!V9mSqQ~ fccUxK=CQg1&x)ohoLLDG00000NkvXXu0mjf_q?TF literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/kingler_icon.png b/graphics/pokemon/icons/kingler_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..dbf1af284c974dda38e2628b797e7037d411e5d6 GIT binary patch literal 440 zcmV;p0Z0CcP)DV$@lTC`lFbqb0g6J@YbXOmypxM=nLcEKw8Ym>YU@%y_ zexndKKZPD(Mms$u*|A=X`CCEBq%(*V4fY(=!7JKAQeiK9Qv+X6yun<-)8#fO^L+)= zlr!I4k$I>y;VnDsXM0`G?2y6MvCRD&JT6cO87fHPVC_Y&6_i905F%acDJ4k=0V%%$ zQDFY*V2AD7Iuz#ZUJASpV!subMIZ%0S7cI zP(>eBBlgWYL^r$W5U?#f=|O6Yy!BYRLIgdAEhlY=5_TXRb2#|2+=Q7Ae@sauPJq;( i@xzb#{sGKaVSWMHp2X)449xNX0000 zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H-AP12R5*>@k}(d#FbqX~g5(HD=>aOyoi23l60glk;F27G3aKMa z)hc4cq(xQi&M<(tyu?wQ{{VigdLRvY(SMj z7h7DY+`3kA*G<7DV4WQ=c>>TiWDMDKt7?IE8riKd?TyEpy-eSVlH>s@_;8~cjhJ7D zF)K<=lq)jP1O0T6f2Q0MWVP_G^#NhjB21Th{9BlmzMFwdVJkZeLoDoW7AEJ$_*obR xKu2K)&Et>4$YG)nBH2Zl&4F(S1AZ&aS}!%qh7d305HtV)002ovPDHLkV1iF|l^_5B literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/koffing_icon.png b/graphics/pokemon/icons/koffing_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..683df2b859be5bc1e790a999169b8f34909d8de4 GIT binary patch literal 315 zcmV-B0mS}^P)DV$*kueIxFbqYtda)1Fwa_bi^%c7G04mAQF#=z~dmscn zI-oj`#A<2^T|)aO>sd12`T&0~RfTpvIRG=h05(%Qie5t#b)E&d(=5?5&2=Y0oPif3 z{!Ay?k%%6Vuw84LI8Pw9n-3G28BsjS*W0B`0BGctu#v!FRw!iX9X1kx?wc@_GJjtO zxg-Y_*&6&sslC%Tu)AK;FXVvqm0i*vTl;pWQcoA!qABzGemMXD N002ovPDHLkV1iwbh1viB literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/krabby_icon.png b/graphics/pokemon/icons/krabby_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f9fdaa6d5f8bcfb6efa9f4a803441bc8b65650d4 GIT binary patch literal 432 zcmV;h0Z;ykP)DV$>^RICoOkiai?uB6I_ zEo8xh1ui@p$@V&1rwbW@_b^Ssa2j}K5KPwDln!{rX#Z~aAWExK((xb$t~w<{7MiN}WzM?Q4U$1i{D akNO5YI^9W%Ag~w!0000DV$@(y?-bAQ-@LoqOE_7kZ zD|tDm3}{kZGDrcDNZRhbGI;0zP(HmMLVtSMhkN`nxa;r`u(+376N0!0VeMeJz+sQI z*Z@F3)nfE7$A{(<{OY@59Nm`dj+NX8YAyEx8&mPd1tyIE{}Md%5N>h;7KW%@c&k7$ z&B7@dIIqi+0JHOCSOU24dSq!VA6_alE#d68C;-yw7>ctxzN?NXNJUetH34~Qm#4Hw z1*lc<+W_=F`)!>*<)PT>HVa6jf3bcB^DV4m1hW$4!K?(~z{Au6&nMUjW@E>o;gG-# zfz)-Ez(hedfmsA4Fi)FVPy%y#o&_yndK^FLH!zYeA%an|O~r%hB%!HzFpd<>ICO6K mEEH5{q7XXmw|OYqAm$5nki`kSinx#f0000DV$r8(~t!&%K!iX literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/lanturn_icon.png b/graphics/pokemon/icons/lanturn_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d2b3d43480220f97372503f96b12054ba2d3063a GIT binary patch literal 442 zcmV;r0Y(0aP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*II7vi7R5*>@lD%rfFc5(C1iFVYp1XAEi!Zp}r;Dv!c@00f<0kGkh7ht=s7r{mVouMF11a3N^LMKcB zP+Ub}A~+UFnC${=6ebxZY!oKw0b+$wm;jh|e$2v1lWO6Ygvo-8PMC+?{&h)t6YXK` kZpvr$ptZaFm!@8dFWWxIAds@F1ONa407*qoM6N<$f-z#oasU7T literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/lapras_icon.png b/graphics/pokemon/icons/lapras_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..fa8035adacefd8a6972bbaf64eceaa6db45817ed GIT binary patch literal 409 zcmV;K0cQS*P)DV$FbqX?0{afSfPp5RJ(LAJg^N7>_^%N1Gmb*46+B{5uk0qJ`)dud@%8$|6UB6D_|_&=39#V!S*;Tn@ZHvt+{(T4Y6 zz+>V^XaI0Z{E+P*@sRit3?A_<@k0Q}uA?7!Q*{Ewk44t}Ot*ISV zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*Hu1Q2eR5*?0lCKWJFc63P1k~_8GYzsB&^6oPdXBx>46lJ*0tuGO z#CC>+qY26S2Z6x==kDw8*H(N=ecMQ}>uxAOT>v(3fM&DKz- CR)4Di literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/latias_icon.png b/graphics/pokemon/icons/latias_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1727c0af63709830a2f03a982b81d35a7fa7a269 GIT binary patch literal 396 zcmV;70dxL|P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*I3Q0skR5*>@k~?YxF%Up?0*S^>4f!S_p2r3lm(+Sel4YvE@DSH9a!rqvabWNX-PZQBd5DNZY%=Lz^X$5MTcB;s3naKwNs-*HSI?SETqvP qFiEWr#L21Efv6nt7af-W*WnAaFuoiKDV$@k}+<>Fbn|o0vT?RIY9CN!(loXLFm;&5p&k#`hb4P zMV-}9V0kS|(FG#!9g1iXcoZc{I%6JggmqZ3%cEep%fYlY(~P{N6jZ`cND*B^#i8Q5 z>V!me?1Cxk=lW1djqe0C0wSDu)hll{9#b-+aj1*$_-9ke9ZVc99uVKMEl11iaM qATcfEI`B*s?mFDcEo+1SLx&##SDnl4Nw%5*0000i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H_en%SR5*?0lCcWHFc60O1ig3g0Tk+>n~Sf|*)5|Pgk*FScR~7g z1x2@5kv5yZF}0V}Q77?8hJIY`uH2U-zZCQi;BM6iKn$p&HF_l~zyV@N(9jiG#m}q* z5*D%pS8KI!Y2uYaGrQUgs|16I9v7mK=&I62PYZ$2nf7|SlR7kUU5a_lC7&sIjz!i) zi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*HxJg7oR5*?0(xDE*FcgL1J^_6bmW*V`8ES{2NG9-9AS(B&OBQUi zq-iS;471Z}1cbVNxwkdH5Wjv<+~r&l1m+x2?7-$CtxbjndwXxz>% literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/lickitung_icon.png b/graphics/pokemon/icons/lickitung_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5b7804afa50759e38fbe4fc30330fc59439ff91b GIT binary patch literal 368 zcmV-$0gwKPP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H?ny*JR5*?0k}+<>FbqX?0_i5XLJpOIT3n9irek$6kTH{Lqf4d; z*{GogLnVqFBZvbK=c(j z&RS4_HIRePT0v-yRiGpqaIlIHZ@}UZMK9q7PQyHvR{O3?Ow;)jmIiD}X?g{BcK+!9 z_j|YWz`o7@`#8DwbEeRNOhuS2=9mc3Fg>@;MGtgp%_HJGz=3t$p>9`D3%XjUf;izY z-j%{ffKgwU2WkK!qvX(paYLMkS#@cCtTD!)BX54#OZ@8nuxT;B?8gl$F{}$s-EoNk O0000DV$@lCcWHKn#ZO37VI3wvXZ{6rr;qx;Qu#9fe!6bg+wk z0DXw=Lg^r;hC*x=yh~k*n`X<;fB)q!pE18yQ1x1hl|(Vegq|Tnk$vPWfHD_h&qDR? zz6!-TrYIYVoq@5rP1w2&79q^N41t94DlWscLOoKmHhHE6$kw5LoQQs%3AUnza(Psi z;CxEQ+A&K@edf~ZO;DKst=@+ju=>+0iqxJuVAwi^BijMv?N&Nqyv@K17?(jUFm)U2 zuEd6r?K=bH35>s8ShT?SlR=XAfjJBS=7W#)3qA@h4Cmtkg1(x04(PL400000NkvXX Hu0mjf4F#fI literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/linoone_icon.png b/graphics/pokemon/icons/linoone_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bf0ea0caca5d6a95f3a3fa78a293470c2ddddd4a GIT binary patch literal 390 zcmV;10eSw3P)DV$@(yd3e-8rTW9%Pln#x`ncoxAMwrmyX)sj=TguaCBmJy-ZWEFyn zBUVpH1zidho)Hb;90)+Xy$q;J+@fjsU_oI#$b+U89;KA?l6z|uBK5}*@W%BtQOiCA z3J&gnJ=9?Zhn<$P!k+i@ru4hI4x8m#d>qH2?panNhoW~8`>Xmj2OnTL;(R0y1V%U? ziG$FtZxaV*_b+-&lQ;x02D*3<55~g6!Gn2Y;xL1u=P$qzpdtDQU@{*8OqF~DFnC_B k;lboS92lAPzP|hT00cmMT_)T0AOHXW07*qoM6N<$f{WLvOaK4? literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/lombre_icon.png b/graphics/pokemon/icons/lombre_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b3e661cca8948159df7beca86d7fc117c6a523dd GIT binary patch literal 319 zcmV-F0l@x=P) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*Hy-7qtR5*>@k}(d#FbqX=g7#7_BU$oSve1rY!xPpN+^W|nQuL|XQd2v&ed4KS#Bcn9c)#xjo?YyogY0ka`PV3UE3 z4K#x?z%l^h<1x)JlmjV}o=J;U>vP&XmVi>zvFk{J+PS^o3E(YUO9z*!zhX6nN@dO+2r>%Ai R1`q%M002ovPDHLkV1m>XhN=Jn literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/lotad_icon.png b/graphics/pokemon/icons/lotad_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..74e37ceed5c33b4c826903f59be47c1a40c9f156 GIT binary patch literal 283 zcmV+$0p$LPP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*HnMp)JR5*?8QZWv~Fbwny+8@D^&Ryy`KkEZB@FpZS2B$-^#w4m# zUqLW2Ako|IWc$w25&Z#FbYF-X h)K-V*cVC2W;sFZ8gi44`eyjih002ovPDHLkV1l(nc18dI literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/loudred_icon.png b/graphics/pokemon/icons/loudred_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cbb1859f8f72e563c62f78e401ca3382d7ae904d GIT binary patch literal 387 zcmV-}0et?6P)DV$@(mRgAFc1b{pTJxuG!$$zY2#u&6co4uiKFBKNV7$# zHiZk$gtSTPAcaWKV8SX)oK#ybxcoH_+xmoftur}|f=0EW4+@t0BpTh9O^o(_`K^Kq zgT@4bXks*jiYX!vX4E?V#FztlU6=Y}iri9OcUUgg$QLP9O1o`l@Yz$S`Id+(?vctl z_mfs<9#U;=?x+F|YHMwt0r1`nec9PQ;Vn|#h|)bAIfxQ}qcd_K+9l4%m<)fdh~~pU zx}$i@^FP3dF&No_G0&g_6AJ3Uu%Ox=9$0fhdEP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H`AI}UR5*?0lCf&TFc60Q1oqQ(&Z4f-P>T+Qc*_f9Fr|Z^Ba`Rm z1wy&fJs|uH9&AFekuvBAi9;_kL{>4hb4h+p_wnE9B>o`y=ZePliD>_$rqk+ZIQcr( z@8_H`=ZRw0lFTd4uK-QGlbc+ic7Viexx@sW!_+2G8W9r*1V@8fJPt!eVoxkwM{lu; z$?p+SFPVGrlujN%%3((LoG!%6N8tc=*?0O1s&b2&4l-)K=Ch)_ws6R{P_U^i-D_d} z1~oeu!!-@Sr>3?XfCAgWl>f0%NmUDP=sgw&H=;Wa%wZImbvg=+)!%^$n^9nFI7;

N@V_56ofrTB002ovPDHLkV1iyAsAd2F literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/lugia_icon.png b/graphics/pokemon/icons/lugia_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5e581ee193f2414668570bc325c1db0a560f7f5b GIT binary patch literal 454 zcmV;%0XhDOP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IL`g(JR5*>@lCf^XFbqWX1r}262`cRoB<}M6|Ak@iMr`e6kCf#k z1-cg{U_?AxM{RFz>FuW-A;IsFNvA5 z+KXVFOGFf#lc%vdw9X&* z*0Iyqghhef=mQf3fql^5M6d!IHlUxs^dkgzd{_yZ2Ka=HbV?YWum=dmyud~rR5)Qn wC^VTD*h`^B?;iaroQ1pV+kZB!Z}VU48*ss_&-pC%#sB~S07*qoM6N<$f`01MWdHyG literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/lunatone_icon.png b/graphics/pokemon/icons/lunatone_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..27a42ae412d8d91c98634f53bb6f2ec122f71ab1 GIT binary patch literal 261 zcmV+g0s8)lP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*HgGod|R5*>@(J=~yKnw-YIe~+vFqgLcu$Z%KDFo&U9zbNb9GE3; znV$m)nl6u@G(V-=kA1?fl_aZb_0Yzm>Lb?X5HS>nj8a#BlWn#}0Q)hhF!WXUN0;vl zbkZh>+mGW7EDrW@0yYN&IPky0vL%+VKWZ*(Ut{|{v>!l);hF89F=2pi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hmq|oHR5*?8k}(d0Fc1Xq1;=CD<-4i8NYK;dE3QGZBGK6e;8g5J zNacsU%+M{ z5%5`ndA5H}*?9Qo{fogejSQ-Ma`S^qnjbt{nSS#_bciD1iiZlr;Nu6KX*#5z;P8We fIkpI}oa}0L#L!w&i%Szs00000NkvXXu0mjf+^2hK literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/machamp_icon.png b/graphics/pokemon/icons/machamp_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f803845ab9a2485a6a66ded03ab1c25cb047b1e9 GIT binary patch literal 414 zcmV;P0b%}$P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*I97#k$R5*>@(mQU$FboD@pFlz`(4qI}4GL&+)|^<1mW-z9rJHT3 zLpq6OE&8Qo>rkL5Cy9V5`o~vQf4g)nF5_6~yJ0!xQr?eK{ZYq!kOsDRxzrpLB6j)n ziGwi)qT(>fsDY4}03$U)8ibr2d?GUA@+6^l{uKd-^>K~w?(59}Oxq^u?(jwcw5@6J zd^SMVubVO@<^*hQTsQUUYArCcG_?0fbE8cuEmP;6LO+fJZ4J#+m#oA2nLPv*n5TKh z9!c*{FQF|m>K!vR-F{cD?G!-K$l(pm^)Y9)M*6=h|C9(iz;q(00Mjml3NVYH0!$Xf zB^VJ@f)PO_m_^V5hF3uc7!g!}Nh0V0j0pN=Fv>oGsea_+8{hy)+<;Jci~s-t07*qo IM6N<$g4^G;RsaA1 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/machoke_icon.png b/graphics/pokemon/icons/machoke_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..97d3a6bf0f1839450c956f88c7fed5c96a67b20f GIT binary patch literal 415 zcmV;Q0bu@#P)DV$@(lKtsFboAypTI&+&?EE+KB884>Yf_N9t!4e5%m?a zw+NIiF@>@=729&Q0v(EK(+5R~!Yhiuy^K8UZ+4qVeXB!W@M>$>1lC%>JYZqKyi4?O z!Tp*T@%=NxoERCRA1VY#;a<-O0L(7-T0lK>B^9t7wZxE@*b;$I^QHkHM1jvH(xhOu| z`}SWo{SWK6z+_PZvpi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hw@E}nR5*?0k}(d$APhx)f^dSKDNFYZxvmixh(iz1pbn4;R}`Zv)Z;_^~p~8l;pSDlkpg@e~-=w6@@*ONOi#ZxUWwidLc9>Qo<4|lXd{Wc)2vLEWoph4L1rbb{`6gb%5)K`Ro zLl_B~FiNRI7}JTtvoKVJSr-YKFw_BX6Gkdk{jh=Mz1y2GANAu2RyC>_PD}%M00000 LNkvXXu0mjfy5NCY literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/magby_icon.png b/graphics/pokemon/icons/magby_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..574274003b9f7e01911bba5bc15e5e36ff420b24 GIT binary patch literal 296 zcmV+@0oVSCP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*Hrb$FWR5*>@k}(RyFbqYtb@X96bSgbm2bV(7Xx*eBC^<|I&?^Kw zCr_qJYmC4EHi>NmjN{i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*II!Q!9R5*>*lCgG!FbqZc0{nGOwlYPG>H<1hU`v?FS|=pIehJ(6rcy)1i!urGODjoVS(vWz*eJ~l8F%zbyQnhkJqC^~=GOUtz5 z2u_QPIKWi&UEd2RsjB_?D8LaB;Mo`fB>`Y-ST2DW!K8|r9Y??$P=vF?!I+!OU_vxu z5TL+02!qVbF3i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H`$*lCcVdFc5|_WKZ9u6nAxqTOo_i9R#O>gV2n=QGJ6# z_d?&I4qXJX0SjKEf_D+Rb?I&Q`CoE|kFme2X4S*N?ZsgYVzo|y9izbLMwA4YQkNni z0j+Co98lD{CBSIUKjl~4%ILt)^4&7v4YlV3AhVTkqU#t!UK-H(m8z7i0D68~cuNg;00000NkvXXu0mjfch{y; literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/magmar_icon.png b/graphics/pokemon/icons/magmar_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..af5ece4f7b5c8ea235b1d21fe557b440366f7140 GIT binary patch literal 398 zcmV;90df9`P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*I3`s;mR5*?0k}+z;Fc3v`0_irp7YHe{jVGyk}vYNbMHj1Z(YE8_t5xb&E&8UgAe z!chZN8N%d%f>~088JU=KlOV;zZ8qkUToBn&3O&B{h+Wsb}@*LW~Kidai?yH?2)JpztV`#7buf78l*2Xy2Qu1P;5-504Qv?X0 zG};N^P+q~Qc`P3?LP!`tJO4hTa5Scc50M>`c}fV)$BvPL%1q7IF47SfNWs4Q;K61d s^xor7z?^Z&gM0#WzXfK)!?yliHz?Ac64zfWWB>pF07*qoM6N<$f_-4H4FCWD literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/magnemite_icon.png b/graphics/pokemon/icons/magnemite_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ba9561d21c011638f96a6b1904847b1758442718 GIT binary patch literal 289 zcmV++0p9+JP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*HpGibPR5*=eU>K3$KN_E3=>sbN&pTu#^8f#wIdcX{$u}jSfX(^; z{{`SG4jZ32b6;sDToJ#qvCY|!@<=M|jcxCKL>Tf@-WVi+q~hOWkND|M%`)q~yS-_<$e9 nVSIugfMTd#1&R^yJ|zGEgJ*Hj6D}r900000NkvXXu0mjf_Eml9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/magneton_icon.png b/graphics/pokemon/icons/magneton_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..91a25f3ce3a3abe263755224c3362a8b64af74b7 GIT binary patch literal 416 zcmV;R0bl-!P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*I9!W$&R5*>*lR<97AP_}40mv7ydxC6cTY8sXAU#hu?qRw`>Z04= z;6|zxDZzFuRf?1_p#=jb>Y~fcZl3-a20asUZ-rUUUeiu7JoZV1F81Qsy-*!MC&WDV$ELFt_ie=e z?>P=e77NCAHw(shHJD2U#z_Un`5laYcL%ff>R*%x(i}D)WH@|$7!JD+%VG0j?#Fz* Y0ol5RS<3(Z761SM07*qoM6N<$g01<7Z2$lO literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/manectric_icon.png b/graphics/pokemon/icons/manectric_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0b8fe933d33121070a3daa99de40f69b798e2b01 GIT binary patch literal 316 zcmV-C0mJ@@P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hx=BPqR5*?0k}(d#FbqX=g61%#C!pDoSmF&O1LC$WoPaa}u|cTR zW-AJys&&$x0r;Droye9RV_%jqt9j8d-poNA)vbKBA2i}ysT0uUrRL#CZ@NN2kGBc% z zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H^hrcPR5*?0(m`&6Fc1Y$pCEIfN;zM<>E2R=&rumAYt&J>LYB2a zuD4dK{0=b_3aYy5s`ZX<{2AaG^Y<3E*C$D^q;zZ<#5U5*aULZk00#6uW!M8SrrV@eg6igbo!fSFxhUw=n+aA zFvZatj06g%mSiVjo+mI=q2?@L8Ud3iR6!G%Q7Rnn0zPhF3cu+f)yHlH;5U7I0y_rN UYjp9KJOBUy07*qoM6N<$f=I-rzW@LL literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/mantine_icon.png b/graphics/pokemon/icons/mantine_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cf0bb2223674e71b52ce15078152354fc8e44af4 GIT binary patch literal 374 zcmV-+0g3*JP)DV$*k}-}0Aq+)1!El(>+yL55!*Aj0Qw*&WX=Z9KU`#}| ziPFUtJbhyeJ!8J2?BfMoGhkjDuq@pEtVwc6jU0dkKsnXWl~|Gy5lGDFFE$Vy9FJL) z;Q=_Ec?Pr!3al4!8(Up5*Fd-_ICGXBefA_oLA~kjQ8SS`Sg?C4gEMjz5SQJD2CxY* z%TBJg2r!$;aVw-OE15=BUU1wkq{dE>&4h?XVq3EC{ zfoRg9`7!BG{rFS|45w5FU9{^kBC5mFkEagmhv+bX>JSG|9SFY)L07*qoM6N<$f~cCFc>n+a literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/mareep_icon.png b/graphics/pokemon/icons/mareep_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2bd5335b6592ab0830eda4d1eda29956ce5a3fc6 GIT binary patch literal 391 zcmV;20eJq2P)DV$@lA&$`F$_Q>mB+YfA2DfQc(?`Y(T!wg|^NjhnLHQ zh-LwYUCL3{4g=qz(KcYtMm)WHAqaSzc+2z4W*Zd7H{&{e>ez^bWz{6Vy-aF8| z!E?%>0AMCVMuY;c!dNaPS7EFT8DwFQ&b=^o{aF~YtuUmpcFn@*0*Wx`D!3ucvTx}< l>Pa_#Bw@T04QbO~;u{T!w1jn%SziDE002ovPDHLkV1l7OuNeRU literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/marill_icon.png b/graphics/pokemon/icons/marill_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d91f9da86ad14491110f9d0216a2923b79ae352c GIT binary patch literal 365 zcmV-z0h0cSP)DV$q$gGR5*?0l09z2Fbqa{0`U&^o*}H~F3M^RF_$j7TqmE(NHQw| zVy$6hOOEAsEKnc_#|QGGejdPU7y2I{SU@QodJCcRB{0I@rT~G>S6_mLc?$wJUGLZ6 zU^#T+Vbp$Uh^0MhPGjLl%?99&sOcu4bMT4i)5iI6%!gA%A7W(P;%ch2Q*k&qXjfJ3 zfTErqQw@Ok;=-49*uIEzzn|@W>tBQkSs0L%Ba1MYejhE*!dziIq*Zd9g)vWnM8q-y zog~A07RCUYyy;A|H!)+`qS~7Fy1lQ$xKp)r*Fu zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*I0!c(cR5*?0l1*yFFbqb0g7^-~z5?q2Ij1)Ec?tu8o*-mbD8|^U zK#Ho#Ozb4<*$mZA56M5g&zLtaIk(mnktB_lR0?5_b%3xCkxLc04M5s=EZl)ZdrKAc zL>U*}m$DEI4!K@)2fwg{dTlP`KEwf`8=xNHE@Iz9oUtoBvz zQ&fhec`0hY<)zT@rSaHhXVepL3DvE|KEuK-QD)5`C;3azIB;m7o8ph!pANt4B7I-% i&maEO>&$uJwe<%K?T#A&lEiWV00000oneEP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hq)9|UR5*?8k}(d#FbqX~0{0AL<_NtHOC>h46mhvqEba|R+OV+1 zZp*?_R3sLh42TuM-~8k+dw2j}mSsujVim?54DSI>A?@%aqCr6+It}hb)OKp2E>ken zGnLJ5R2vn|M+NY&ec!BO}jNPg;?B(oP)T3gIBkC2fdmj}5zF6l~1)>*r8ek9D ss>U+{Ka;;Oi7+u221Pjc13&iT0dbOi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H@kvBMR5*>@k}(RxFcgM!g61#}TDKm;!2<|y5;_FQ=$ffHlpq~~ zy+TI^i2=b@5Mt7#v=&DPHIR^e@4b+`|0m>!2AzY}j4?BU$+q43SnU_?0nPFO^dW~+ z$Gh5xCg9;_3oMkRMGq)Kyn_{lDno7K2=^vn)U{b+|KfO8e>a2nMQb|@$62RlsF@9pq0^`8l9$h&cg RlL-I-002ovPDHLkV1khNq%Hse literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/mawile_icon.png b/graphics/pokemon/icons/mawile_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cf7363277c11398a09ca4b97c075e1db7ae3ce76 GIT binary patch literal 433 zcmV;i0Z#sjP)DV$*k}+<>FbqX?0vYWAESOss=?2a9?4<@gnNtvS>(DdF z>e6&@Rdq=+RHY@$wlZ}MH$Ht5g#Ksj-phNN^#y>+hyx-00000NkvXXu0mjfPPM#5 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/medicham_icon.png b/graphics/pokemon/icons/medicham_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ed287fb28a64c60aa17cd622fafc61065348a8fa GIT binary patch literal 369 zcmV-%0gnEOP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H?@2^KR5*>*lCf>WFc3vK0l7g65vm2q19*lsDcr??S)`DrG7C>d z7g6DYAVk=On(uR^e;U9@uDgeSJQ94y{Pl9sJ(f}TaV#o-xrCzf0(fLu4qpnO-UCKn zgFX5ON9t}jqtLN69Gl`gTKj$MP*(s0!1wD&MKjN!Ew%5edYi-Dw~E-aZ(|~Gi=T%$ z5crM5j{-If;l$vY(-bm+oQ%yMMwd<9i!dD- zriSlW*1CZ!clAA0kXhE11NOz~DNGFquFWVTO$#mIGW*Ml6^-%a-oO P00000NkvXXu0mjfY`vgh literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/meditite_icon.png b/graphics/pokemon/icons/meditite_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..05a02f077706be843e606e7d74c140915bcc3690 GIT binary patch literal 329 zcmV-P0k-~$P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H$4Nv%R5*>@k}(RxFcgO02@>c9gk;gBg#^0xFhZ}>xr@DygNG>X z;vlg$APV9$-Tv1b)PH+lUjAhGh_)6zt-xH#nQbLjw6(4f7rb=_SEBO*=mZRc$eA$( zLq%lf8CK%c`}oKv=qPXRGV;=S$3E=K0 z1Vipx0aP%dCy_vZob3uzAB8aVNgX(A<|GUN zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*IK}keGR5*>*(lKs>Fcg4cPEensCqPx1%F=et^ce9{d-ae3HU@@f z>rrx;Tp%hUqh+ZAq%N<|1{<){y|u*fK3SH9|0Madi(w4s$Y{c|Ntg*@P@ytkc>t87 zl!vShTSg^mO*NuHi;Un|O5U7O6b__Psgz=>+HnD?jvxiES`2VG6a+a8?%+`hI26Ef z06yOgfKN2k9uh=+A7H9;0Dl*jHdyTdr>0E_uKu<XuE|Y=Y1#A;!JUraKQ1&8e4EJV(XFjugF%+An_Mt>qJoyJTrh7o7^dtTf@$+{ z1|LkFN5RxNA9leUDTfdYQX}-uukVBT@L+>^q+r?sd_oD!C>RT6xUCIl3oaPyBY+F$ tWz)x}3ufDg)~}%VKdxK%&+E57egFy?;Y52@EOh_?002ovPDHLkV1kPr! zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*Hu1Q2eR5*?8k~<2*KoExK1UrST;2FdNJWmdK*t35=Y76Q z7@@;cn7Ga(4;>)pr5D0i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IHAzH4R5*>z(oJfFFciS?oWL;MxvA7$H`Ald9lApD)2FQ(0y7s4TN5Wd(fKxQNerWVvt8`&N)2iPZo^| z4=+9p7$yJG#rW16pqshp(gV&iTXl0ktQ^i!{iunC>zvm61w!qD}Tfv~Rn6 zfGUBi79!zIv~3Hv5^YmY-=CBm!t7NL^&*^J7H1*sn{^O%^6O8y;qj*rzwr?{%s%9b z1N*pe7$zSp4#CIB0dV#aIHaT|ACZGYxcZnlOg;h!Vh&dyk%MIp7at=B)FiJy0*7qn hW8|>%!MlI;@dF;B|D7+u=i2}P002ovPDHLkV1n7)!NdRn literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/metang_icon.png b/graphics/pokemon/icons/metang_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cc095e935412d14fb0cdd08cf13b74c659a1d91a GIT binary patch literal 445 zcmV;u0Yd(XP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IJ4r-AR5*>*l0k~YFbqX~0{af$b>kjwuAxAQVOA{!avcW*xq`{c zg`f;sloUcVcH6X0H?tfnuk^94FX;*KSwY0iSuQmrV5W484iE04A`Z1Ctl+hNIcnpIjE__+l=-?l n--XTkrPN`=N1E#&gJ0tpB;p?(ee?%*00000NkvXXu0mjfAfmu- literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/metapod_icon.png b/graphics/pokemon/icons/metapod_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2316b24081a1b99d39fab4894080163583e4922c GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QU(D&A+AYtnv08z_wL>M|NsB$ zIbL(ldQJJ}^{#l%w<+KDE{Xc~O!M2fHCL}@J@e8`N{VuHbj-A@jRxvvED7=pW^j0R zBMr#O_jGX#vFLp}Nl~o9fXBJI>8*iG<2j?t5oKRFP53uvI_O=MkUR2q|CW^Px# literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/mew_icon.png b/graphics/pokemon/icons/mew_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cffd1dacc9c1b2ddbf7ec6e8b593511b9ef67d19 GIT binary patch literal 377 zcmV-<0fzpGP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H_en%SR5*?0l0izvFc5}wg5)qlFC@srNdr zMc&pHf*^==7I`Bj=_EH0e<&nhW;%g<#{B)b-0d0pQv;3}Q4uE_AsWc{7E}q#KR41n z$laif<9I*GUYBQSP#}VR-c$<^{HQMRHR8@gUE*h)ZyrI%(2sF`pAs#X0#?jV6Q$)` zfJJys$=Fl@o$Go}x|si-UKk_7^dK|_8Ml#dOI+r*WY?(8)|V7e1a$?7qrc2?8N(cd zIK)+42Iw2Hs_h2M_l!eQ_l(;%d00000NkvXXu0mjf4$-7} literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/mewtwo_icon.png b/graphics/pokemon/icons/mewtwo_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..65f2aeec2b64099998ac8d1eb9859d4d27168760 GIT binary patch literal 368 zcmV-$0gwKPP)DV$~=zjRy>3dr6tIqxD>|?w( zKNsz#ZyH+`ydHrc`bv!MJrYtLO<0ww1v=!*ZX1A`K$?yqz^@Oc17*NP5FT)IPKrSc z^qHNTigY2%peYoioT#F_D$Ju3#{4)6V}6)0OLy5GdmZl38xy<6U-P)DV$*lEHDrAPhxSff-SNHK>5)kV=yha!aaOrvNX~Eqho+ z*kGI#keQX40lz`thW`PcvCN-y1u|-@ZGZ?iAO*Degad>f%w_LDv*gP#TNh)+0@fuV zXi_3Wv;!bt&?T`n!10?Gf2RhN^G6i(rY3TK=M+UX+0nATd}Zdo!4IX(oRZArn8KV1 z2bd~&;B^4fNK+aB7FuRlPj@q=WrlN2YrMkmTK|IQu24d|<+2SBlV&zS$aU)0Ij{;2 zFNI8L1Gim5G^gs3+?u8_B@a=TbdVx1B!~H+DZgD1kI02jzQ5)Qdc@pm%;dk-6J%zO xOqr?Y1A^zl6VW$pAFla0xgT`P#{mDIj~~pSkLWJ+Yy$uQ002ovPDHLkV1i=gu{Hnz literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/milotic_icon.png b/graphics/pokemon/icons/milotic_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c1aa2ec8ad39daba6cea74f76654df689e09f11b GIT binary patch literal 455 zcmV;&0XY7NP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IMM*?KR5*>*k}+6a#|~E z`3zLZaxB)>7HqU+hzAF!OqEbr@)IAJna9|lUcu~t3%2aQ{qZAkf5lIcr8vaI!gvA& zG}j1bL%RyqiUlL{P_N(yR+NG94cy^b1U#bd3A_VHZxFoIbS6CAymoAwOaei8-8eqe zEnX?%k2AP#1zd)Q@M^xC2YRSHS5~UAPnXz_(}=)TwMhV4E4*>3JdW>Zh0MyIA`l@f zzX7a9WLai-a>!aNYX z5cm@2Xt>tt%qWa<#tj=lVbq}=Y5J=$N<&A0gwcIv66k6nm988mth@jUqtidLWgNag xY{haMJ_?h!WQxM%3h@auIl$C4?7R5AJ^^wW=+;SSU^f5&002ovPDHLkV1gl%$;JQx literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/miltank_icon.png b/graphics/pokemon/icons/miltank_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ade9cad90be49f7547b63bb03002504324c144d9 GIT binary patch literal 351 zcmV-l0igbgP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H-AP12R5*>@k}(d#FbqX=gD6|K9D;?dXJYDDb;1lN>WDZ6TO}Wb zOEl`xR2@EPD-w5O1f1>3-;R=})OVLws^5X3*X6EZ01l!>dut4k0nBoYBqhjtlS4YV zVi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hrb$FWR5*?8QZWhwF%aAr+`cMx8V9bB+;`IDAHKuliokurMz9Jg zE{z0ZI5qAG)`~dY4zshfFhoCx5?^NPhy}@`i=6$`i0n$qzN#LAeNm>)ZH1wrw$gV7 zlpe$pP5=gul1QV=)6-;wY#pE48A`hzX_m>(y@rw5y8wjMH{H>!6ht8$=#RJfU>&GP uqSk?ZWA1gh*k*I9gBCkW9c29PtHTw_hjlv4^>jx70000i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H?@2^KR5*?0k}+xoF$_h0f)#2fVBaFwnqndC-Y1Rv*}_*zE?`^D z20UOznZQbhEz*Wn=g;#8TQ7wFHqfBCV{4FiA4mhD48~s@r$k}_WyG}5J>Y&-VlhIH zu=ioD92xuOIyhp&WmGF=uu@? zr?=1IuP72HK#>xjc_jG%0SLQfA4upz-~##)X17o5M2PX_{a(Xe4dP)2sW6;!o`p%< z<^xQOc^0Nrx65B)sv{0zoKlA{)3Og?{I(wpGx?#yOn~YU=RlK>@W=TEWsQ`pM*?T8 P00000NkvXXu0mjf8}gyN literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/moltres_icon.png b/graphics/pokemon/icons/moltres_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e15d2164abeed1d312d20ad5dd43ca44d7827537 GIT binary patch literal 421 zcmV;W0b2fvP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IBS}O-R5*>@ld(?3FbszC1ocA^#6}maY-Bsen|j{xt9H19t%`IF z8I99890wB;3uH<4>$m^N{_5OcJ|JI&!jiU+)Gi22X){SQAuuzz1Yv5HjKrk~7osj; zDO{L{Eky-pp(#g;kw_)uom}#T_xO-WtcMmo?N)yqh(Cn4z4ut-P04ZfK4YL_g5b?4 z8itlT9FFIEHz0=RCcN&Bes=DJNb@GVEXz`jCwy#<#lnVV{=pdk%>hX1O3+2}m7!3m zi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*HwMj%lR5*?0k}(d$APhyh0e4_v&4ARUw@Ia}T%$PxQ|7R+mrJ2U zLP;5ZJq4G{m0H!~)5pf}g!t)_XaL3}0Eu*veS-JfIMp*#e1yAWkrHEI0U@shTw>rE zjYr_XuY=Du0uTs;Jpv|!ii3;pm9A5z%DRUwtcP4WQ`i*hx*B#*0!gaV%5!=Ln`^-7 zmHxNBMi|iuBXANXYfBbYVaTAHL16}A=@b`+_5ecj`}-&TcmYh}m7dYOpAP^4002ov JPDHLkV1nl%h7AA! literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/mudkip_icon.png b/graphics/pokemon/icons/mudkip_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5a657aa9161c4b2a911d1dc12e72afe7f811f540 GIT binary patch literal 353 zcmV-n0iOPeP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H-$_J4R5*?0l0gc>Knz9a1m-Yqd#_O_bZHi)vu&a1bwMJ-edy%3E~V3n5`KVY}Z9Vt-Ik+bx=#f=OKsckHNdVBfj?b2Ogys9#ufQ$ew&%9+=rx5|0>%@zGq<>@IP@ujbDV$@l0A-uFbqaH0UT&rItngJ=ZG92R=5Jibcqborb{&5 z`~Z_-wFlTu=cmt(A+Krv++p79vSY-h1|c9~9q}G4zUmf~9%Vg3v7g_d3&_iC#5E+~ z)T0NzUjq=KA7`^)0Ue11IEK&*H4(&{%WAEBp!#}%^tJ%&K_CD-Kif3{leX552LnPU z@Ej$3b|Va^Ga$=6PTm2K$)L47AjdwdU@cQ6vlB>ysO-@ifVfFNU*Be9ISofXM`&&6 z%>RSaF@MzQ2h}!o3w{dINtka2DHf{g>4Ic1wI7RPf_G2xLu^+dUNQ9}!4E%9aPyDV$@l09<7APh!1fi+yfoFPqS(m2<16}NVpEw;<8cD5JL zEiUv$p3DMrn<^3AgAeiZocmh^9i}qE3FK%3$UY)<^F9c3N)=I15*-==I3(iOmV92l z0eN}ApigX literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/natu_icon.png b/graphics/pokemon/icons/natu_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7188fb7f3ff24f984c64157ba1a9254041323535 GIT binary patch literal 318 zcmV-E0m1%>P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hyh%hsR5*?0k}(d#FbqX=f zm5I_Jwpmyh5Z?0jY&r5X=I6_i3i9D8fn!h|8puHgl%^fW{)DR+C zMQS~6-4l(u5w72EU?jFY;vH_oxdj%zM`U|kcPQS4Fm^9LXZVD6 zMdY_YcYGuaM`mG!K}8sT{VELiqYA?fs=_4ZSQQ2zZN_l%OCg9YzI@e>7XmPYDV$@k~?n1AP_(~0URV!inz2C8rRvwrW^~3O~=Sw!AiC> z!d6^j?PTz09dDavl_`+sX+8*^5Dy%5mn)x-8&#y-FsKPPqL6_6)Ld{_NkZ}`yi|Kn z?eNr8)o>e{3^p0uO0EIjNA*T_1Czr9rn97omNm|oz+qFEH>nzX1}0f((9c8R9XhaJ zJ4U&rr%@L=LFy=l41(*wixD8%LDdZ8*|e%ixkpH78Ms#wbZL0CkcK;C*@|!`s+|#C zo3}(EpFfKd8N}_fF~%o=_V8}em?IEhFLyvj@eks`gt13qdZ42)`L}-yL!7U|NYBFP zGJ{1J)DV$*lCe(1Fcd}e1zOC82V_b9j6r&LIU3Aqw8xu`Bc?kp6TXXo3B941w=hfb)-Tf*u>7$Tou?Tda=Cd zAk|r0-l{cq8@pr9D72(ER))DG5&?4Dt9*mBX>ghxs9SnJgE1$n0IWwKsvOz#+W;`B zw3BEg2dFz8T6X~}SG}S?DCyG`UkQzV2(s)ewpc&t1$grPBhfP9z3=9VoLaeSAZ`Nx zbbd`3^G#uLYZ6A{S{N0zatVA2b08e^SB>{4VTOkBoFc-V{a~Pc=EV=V8T_yxA3DLN U*A(z^C;$Ke07*qoM6N<$g83+<8vpDV$JNR5*?0lA#X6FbqWV1s+ib l{6%3nHj*|O3iI23d;pE$hj#{ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/nidoran_m_icon.png b/graphics/pokemon/icons/nidoran_m_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4467c5192515e179c1dee97dd8d69e8a17a0b729 GIT binary patch literal 326 zcmV-M0lEH(P)DV$Gnbl$kbQME`aNM)}x*(WDKSt2#DdGJ=i*=GL2x1sE`VtiVv4oqsGJ YFR;#}>yfBmmjD0&07*qoM6N<$fDV$@k~X8C1b^%Qa6XGba zcAF}pKw|VBKaEm9HP+Kw&-sWn0hT#SuqvIVN;CuJ#LTsrFd}8sIw`To5Zlh0**hDt zg01vjz?MkFOel_Jn*04OA7J>=gIQW60)XY~SU1r*4$)BSD2FAq3=MR?lwcDN_5_Bk zNL-v{7C?m%CVM;llDdy4&;|9EAtwylg+Xc1%MX$UedWg! XepHQ?d&=Xy00000NkvXXu0mjfq<)Gc literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/nidorino_icon.png b/graphics/pokemon/icons/nidorino_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5edc103c11dd3af362179ad9419ac49eea3a4061 GIT binary patch literal 324 zcmV-K0lWT*P)DV$IRxdJEE0PFh+(=or{sLnjhet8_lr1Vu=M{Xpv-NH&t| zhuVmkrgRfP8-p3}P8|^qkY#|z0RV%9=9&T2PDIxNUGfqrqEiIRI|=~^djUEKQ}7b( z=1cQJD$HXGx`S7ni29p(!Jr~cYfu(O81xi|4XVPd27Mq5|Nh&;jM9&XFkXP~`f&$I WVz}_kxH-xI0000 zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H-bqA3R5*?8(yZ(^FTrrd zI`-6MX;DR0)0krYnvkei^I#H9%OGjRhN^cHHr+{iqg1pdKy#Rbj&}mu5D4Y-NW(i0 zP6!~(qhySLg!W&^c=%V#_}Ay!fPpO-X9pM+q zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*IBS}O-R5*>@lEI3EFbqKR1@?nvKU5a%cSy?2Sq%0I7QD)qQt%`# zn@Q`Sqqku%%l1<9OiG$QfWN*NI2=I$g^YK8#;Oh~TC@>2qLw?XDN0OKs+Q%hw53GM z$>sx=npkU1jA%1Ri?OWbCn9!9Y7|oBh-)H3vt~ej7d_gB(_m}?Ll zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H!bwCyR5*>@k}(d#AQXl<0mKV5v3qS&4$yPf!OmsjDqcWQHwQ_> zo67RU)+j0aKQmpVP=3Dv3I$N5sy2M z`2}M_DePPxHS^l52Gbp)*2k`C7r+cnJ1hXh7QtXTf*;iBb+xwy_D^dc+2SSlu(<*} zn^qe8wXKFzu+b3|0R0Vcrl6#tAQ|CCkeV3V7bxXy9NTxYnva^=4>}sA_G7vK+x{D* WZ;qQFvO`Az0000DV$@(y9c0B_*Z1U7jVmK$X-(UC-VXPtaC zA_?Oa(gZfny4X8RjEjSI{L?F>{gnElrFFjuQ!k^=d*vn>$mJpsEP^AG6Fb$Jt*L=+ zA!F*12S-G^lJB?{MJB?|jRA zj%^Vwh5?CO#T5FSb~8UFr=U7KEQY&6gYS=FvJNx zU)O`7*aHdwGJ78}e|`_9LMBSxIsm~TS|OtJaXTFv9^Ux41Db8B5PW>$c>n+a07*qo IM6N<$f)|yRCIA2c literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/nosepass_icon.png b/graphics/pokemon/icons/nosepass_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..718fed8facfd533546561b5629b454e0a6588418 GIT binary patch literal 282 zcmV+#0pi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hm`OxIR5*?8lCcrOFbqYtfj3}0k3g2R!vdDW0I>oMY3zs#4PPl} zxHP%^PVXe$FCNkHqH1Ty{4k(Kp3FiBc?){Mn-&6FkRp#axLBB{8ow)U&=wja@FFF{ zlh@U^j9=%@SJQ0nG{ua?w50xyRi76r1~_FlfJlVS{K#IyD3DbcsbI`1j3!j*Bg_C` g7h!bS2=kX8Z}}0DDMALIsQ>@~07*qoM6N<$f@BePQ2+n{ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/numel_icon.png b/graphics/pokemon/icons/numel_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..62281e8bf711859cea0891f167bb65c719a0cc66 GIT binary patch literal 301 zcmV+|0n+}7P) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*Ht4TybR5*?8l06E;Fbqb00_R4(g_bTpmohlBH6#ZJ_9cdK>$@>fIZte2u?YG>yej=a(Mv8z4 z^Bdm}z6PD|{Xk?27&!ui_XH#nUl7r*3EW6q)EW~I7H4abIWNZZ!nX7g#IgaBkMqxY zz9@`&R~V}N*o84Kgel*B2(#w-Sr{3G`M{3{WtX4F)Uxhv00000NkvXXu0mjfmalya literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/nuzleaf_icon.png b/graphics/pokemon/icons/nuzleaf_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8c9f4038f351f364e79cd59f55b0f4d6e95386e6 GIT binary patch literal 342 zcmV-c0jd6pP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H)Ja4^R5*>@k}(Q{KoCXe1iR<4&lRja#vlYe$5wlcARE$#5Xl)V z1e>s0L@W&17zy~t+9sLqKW5m!@Q8kGbOoMk!Y@)j5`FJH3&v# zcVN4K=fQcG0?^k}j9{o+297j;iQyMt7^+C#$^jV=d5T!obZejD?k17zDF0uLXRCX`#j>jAby0 o)FezQKGQOL(fuO~=8gS$11=1fzPtgOJpcdz07*qoM6N<$f|!Mr;{X5v literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/octillery_icon.png b/graphics/pokemon/icons/octillery_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a21e60327283da1f49e208ed24151a1edac51c3c GIT binary patch literal 349 zcmV-j0iyniP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H+et)0R5*?0lA#X5Fcd}m1?$IvMv)-U%%b+@Rx>uY{uL7y`;{e2 ziYqm=VhN?oI@Z==AY9k;?#rt<2>n{HjKJd@5>p;%uy8uERz`pkAM9BO#Db>H~_DHt}~yJD~^w?wQPOd0@EzsX3EQaK^IcR;6xba|!e(*X`JHgyGg<3N&u zPH!M!SwTYBQi0YpQ>o}t5D~rqEMF-Mj)fWJEKI)?><=bkh;am8hyi8&sLc!#u;Xs> vqjnXZO~L?&#ehTzokAge1J>!1PyBcR$^Ve zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*Hnn^@KR5*?8(lHLgFboAypP;@072Xk-@a`p@b7%HSoFJ+qXLj4o zHWM(y-}?0xcX$B55Zl5h;!;B~MhOcXLj?W67BO`jm14}UKw)L^k95^|w-e3b%AM%y z7f94ovBm|o8(qS$Ppv&6X3E7s?i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*HvPnciR5*?0k|7QQArM750ehG=E1Fv|uO9@4@y<9);OVi#05-5Gdab z*p749a1OBC=&*V{%t7KlLS#UcS|bhU9Vw;p01_#(_*F0RnuLhD#1B0H0000i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H+(|@1R5*?0k~klZk9_*5^GYM5^tGX^jzVO?dpUM9&!6{^6B z>hNug=mB8_392({Z1vg@1!|&eY!DIpL7dDXfk07*qoM6N<$f^RgB;Q#;t literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/onix_icon.png b/graphics/pokemon/icons/onix_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ddd7ee4f97419a13a9411588a72bc018924068b0 GIT binary patch literal 456 zcmV;(0XP1MP)DV$*lEHC=FbqYh0FPXNJt+66g!JD9qyP<4?yG#;!0u8( z!U32!l59zDn*Qz+ci?+_>m6+C6Vwj$24>Rr0uc>tp9gU=0#Rk{X~~x$+NZgc?;c~m zP;EfB!UG6G1UXyjbzN++EYV{hD8bAkS#qRswslIv>|ZXKaaIQv0bgPOTrCC&UJQwB zL8uz|6Kf!F!wyi3Mue5=05vlQ*GIcYVvlOhQHgqYDdRkfR-lY-TdycWk8>cYO`~k( zebRc(>mNO7zXRzXy@PF?*8?oWAU$BlcZO73>>K|^l<0000i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*I0ZBwbR5*>@(lK&_Fc1Y$onSeP55OrxN_XofBURBh9(=TvZgL1! zQn!;C52#3n4LAn0YEmca_^iHQ^o;pytC1?muOE8g$=89aD)3YEhzPkdk?c>tIH@USZawSLE@5Nt4G!ETyeddwq{o=ZH3(##mx2==#2$Fa1McN71fRS%_m@sY=Y(T_D zUOQ7TaPoE=FfeC?7K$&29=FCvz-&~YUjM&UU9D;8sDt6T@-TGOmeIXc9im%j9}3Lk zLxEX*C@_nUT!4YQj{;2k@lk-e``E!iw6hPHw(EyJ%s#^I19}q)!|uZbAdjK+ks@04 hYl%6iKx_GBeFK`amKr$-8595j002ovPDHLkV1jsYtj_=d literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/parasect_icon.png b/graphics/pokemon/icons/parasect_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..907cbf5cabd3a05260f1ccfaa2694fb9ca44422f GIT binary patch literal 329 zcmV-P0k-~$P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H$4Nv%R5*?0l06cGAP`150Ujx*08fxDmrCe7D>Ioux06QgG@FS0 zm=h%Vx_$Do!}x^wx^&wKEcVgNn{%d}2W^_!UNw|X*E?sS0#iRQg3?(WgZh%iag@p( zIiEl0rOr7fHGhK(E*BpJ|Ex} zUV<-;k%;dpub1W9pX4`$34psWbNZPP{VvSmM`U3F3zPkjuhyp@So^^Ou`rb%k*JzD b?R3f$+IOA6jM6O200000NkvXXu0mjf0#=Nq literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/pelipper_icon.png b/graphics/pokemon/icons/pelipper_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..55a16bc5f96e96e73c9c5f5d903a97ec1d886227 GIT binary patch literal 374 zcmV-+0g3*JP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H^hrcPR5*?0lCh4$FbszC1oacJa69Pm%tZpT!T_wt!!q**6gn_M zRbA2%jGLowa?43<2yglHJF%6|m{%|0Dh1d4mZQ9~o3SjwxQ44TAb7)!5 z^?F59M9tLS%Bm%9!Wt4hZXs UBgBNtu>b%707*qoM6N<$f&j;)U;qFB literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/persian_icon.png b/graphics/pokemon/icons/persian_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3d6f72feeb81d07ec6c1520099a4817fc0a0f4ed GIT binary patch literal 328 zcmV-O0k{5%P) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H#z{m$R5*>@l0go_AP_}4K_|VB@t&?cgFBO{?b>ug5715b5~523 zaf%Itg~X*MIxFV!`3&JJ^?L<;&4I@*2hR4n#A`nk9?-qki#P%HG_Yd6$0Ja?rmh*W z6AwO)=emhSJ(rG^MeP zHleer4|_(h-(~b#{xm5B3sQexWk8@W0s`$NmjD$&u`7T|KmsG5`#vyo;i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H@kvBMR5*?0l0k|BF%U)j26dge(csFRZJ)pzXsF$c0}Wm$iw|{` zfMBN~P)5>flD!+PMIet~sU-h*-P;wJulEsJkqAIb0dD16Aaw`eo)Vi770w=D9uSi% z+$Gd+fH*plRb#0IVSfi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hmq|oHR5*?8k}(d#FbqX~g7`>GtmzUnwo_+r#km+@wIb21{R9cb zcUPuL{PF20wxuVs?_dko7eW1kHdKK#C{^1?U@3qx(4!R_=ui+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IMoC0LR5*>@k}+<>AQXlJ97pzZ_6aV+XL_2&R;w*zEG`mZe1LJ_2fE!V6VE@B=D= zf-p>};78dJggK0WL7q$ZqcGxH`4NS2wI8c61HhdyQHRGBBw<9QLlUOe0b{?Aq(e95 yBHFb3r~}CW&B2e|WX!GO$&dSSnSOv@`0)*0#Lx<8J<5py0000i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*I0ZBwbR5*>@(lLs|Fc3h|If3U6IY5d8wv3PBA}|ZvOy`uojSDwA zfFZt$Ns%TX1R@eBu(J+}<%x@}wu&n2Gcrg#fOlB3+GDd61aW{|<&vZ`5bsr!Lt+Qv z9(g`t+GLzmwVMaNxFv1^=MzLMk;{1iBpfB2{4R&b;3bgX%mMpeN|JgBgZK|VQT``L z3KVq!B)Srf>SA_p$*O&EzHId#im|xq1J86=y-u+jc)Rr%hu@$$IGjEe2Q;Z$ap)#N znnU8wpym*g(HyX)B%g}I6etiY4nn0+R2(KAqB%VJ!G~C@Aj!XQz$cg&4ruKDV8YM+!j~_#Orq`zh7T5p)002ovPDHLkV1mdrrBwg` literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/pidgey_icon.png b/graphics/pokemon/icons/pidgey_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..44ff943116f6ac67dde5ea1ca51278e2778761fd GIT binary patch literal 364 zcmV-y0h9iTP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H>PbXFR5*?8l09m~Fc3y{0?i$qJ_f6B7vCidDp#Gh%#CsZ7ru%i zuv-L-$$$hl>=$h#jhr@B$P|Kk4D*AYQhzS!2;%w!KoLp~k3j{O%V_YNKq#Phrh&5= z@a5FC0WP;-pK{A(68H($nKpxcVw`VX1~iVi$II)S!2~wZ+qv}EzRcC0#pZfxo|jnw zwJe`io@!nW=jubjf7J2#G^qoA+npbfDgwCI}sDV$t-pKs5p2siq>wFRWU1$AY$0D7>|E z$mMA8XynDgig#7Nt+1osf=_VK54}j5_au`Z0DWt50BF+~WbUNJiIfvaNyO19X-j9Y z=u3mrO8+H1-V=m*4gkW8PY{MR6QeL3GCy|^#x&Y@g+jL>@+{mt@HB;~It-e^n0}fD z5Qa5Au7bi8{gPK<{8^ZyCT^Xe`Oz8(e%p^9V_cnf)%Qne00000NkvXXu0mjfKjE87 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/piloswine_icon.png b/graphics/pokemon/icons/piloswine_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..974e9ea6a942c3d0dd250e37b4e4d50b9ac7c145 GIT binary patch literal 341 zcmV-b0jmCqP)DV$@k}(d#FbqX|f^Y{8P$bylHqMr8@kZ~%!j&pj>gX~h zQU^lXCan{R4IzOyKYd$q^s4IDYUdw0u-If|hln~GkcfswTnGRI(?B3P3zz~JltluK zhINUPA;7@AQv(N5&LAzZ=p;4(b_LEmGi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hph-kQR5*?0lF<#qFbqU9K_Uh~9fgrt)F=z&>MlT4gv3|O5x(M< zPlSZv{`_?ICDMiPT}oR}m(|E+4U(uRJ+cNQyAAHKGwqgo;y|n2k_xJ1Xa}Z%x|Qp3 zXe)H7saq07$dWDz!)(yZ`_I07*qoM6N<$g7jT`zW@LL literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/pinsir_icon.png b/graphics/pokemon/icons/pinsir_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b05b075b90c229ff21182ea5c14a5745d845bfc6 GIT binary patch literal 334 zcmV-U0kQsxP)DV$UcT^d|%LEa-ljG3%ha$qhaOwT2pEfFPh4}cSG-ro%I>n(h> zG&9$oa3Rh#iy!Jdbkh;q_%r-VFtjBk(~uMzUv_}~D3uxl#!*YK3nM`hrZEWkePQrR g!pyui!hGh(9d7xX<^u1K6#xJL07*qoM6N<$g1*&^SO5S3 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/plusle_icon.png b/graphics/pokemon/icons/plusle_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..97f10d56f1e2d857140047a5dd05f41b887f582d GIT binary patch literal 303 zcmV+~0nq-5P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Htw}^dR5*?8k}(d#FbqX~g8EdMv*4vj>FHRqWMN8%UWJ8)A?na9 zL?T3L>$tEZgz)CCpKm*Q06$k{dg-kL6e4;zVGbh;*_Dz*b!~=oQKt6%1WA!P%G{Yq z>7mB5B@xkpc@#qOF8da8pnP(8<1vtIPidB$-Fr<&?%qYBxVxsinw@LB{A;TZ z;?QO-I6w(Ps5oF~sS6Gd%P|WMnvq&@kn4XR4o_~-d|&P}`eXnA002ovPDHLkV1h8g Bf{OqE literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/politoed_icon.png b/graphics/pokemon/icons/politoed_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a5e5d699b5c2c54bac4e8ab9ecce260eadd65ee2 GIT binary patch literal 428 zcmV;d0aN~oP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*IDoI2^R5*>*l0j<2Fc1Ls0_zERL_bhU@g)Xdvb_YNOS6}N`-1+W z6bhyNL~btiIUte`#NdkqML{vR_A#o98*8QJ16iFktai21Fm_qNP33}$jXY3sH-&R! zT+kvqq}wBsLp;QXTZ}EJTdc1_VSz!ssl!P{ONjc8fCj@kJQBbGrXP81L1of(g*Jm{ z%)C6$Vd$$=(PEN7bV>>C^&(ZOl*5@_vK+5xpPK;$@GVQwnq1XHN?bb+p!ad%0Omc} z1&8kk@0JU=KdkvTy(i4?cN=eiMi}BpFAVwpUKsF&0b8~gM!XKh0KhgEa&u~u9rJvJ zP4xZ;lsZWHmOxDW&|jS&w&*Tdr0ZE`RSsY|E}0000i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H(Md!>R5*?8lA#WRFcd}K7j$8AjycSl6f?#C4Ghy5YUqFLYr3E? zT~iFG4x059NG6udZC5nCN4(~x2jKUzvwAvJ=mQrTNGd%T$}1PprkMwQS+EHd8BQpL z;o4NxgG*EyZj)SlAZ{b)wmu@Dhd$wBZt>OFMvPnRFg+NvMuraLzCSHHbV_y25-15o z!9Smd$Z&T$v{~r04kX>^K+XX;9d-%BzjZp8n&Jqj!IqUpj>TMu*30 li$-;F1thG&%(lCKHBW$|X<3^DyGZ~5002ovPDHLkV1g*jk5m8v literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/poliwhirl_icon.png b/graphics/pokemon/icons/poliwhirl_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bb90740ac6372ee0d9cc6c7fdea2d7605ba940a3 GIT binary patch literal 348 zcmV-i0i*tjP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H+DSw~R5*?8lCchhAP|Om0*&wl;$kOKUAp;hon&k}-6F4Mx^F zr&v*BtORR?PZ*Cy&ZV(@DM>3s>xxPx&>6z8te^)~xfWuOG4?iaSf}JQj#I0000i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*I14%?dR5*>*lC6@%AQVPfSsBG zn0mol9)O(J5-RYf_WTQQLJ^N8ST}MQuS+N0#5!k3d)cmD4dbPI%ewTD8(vLdi^pg%-`ZVfLq@Q%ik9pRC jSO_{~u=o++fBNwNZI!m0Zd}mp00000NkvXXu0mjfl>fIs literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/ponyta_icon.png b/graphics/pokemon/icons/ponyta_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..05ac87a44366e0ae5803af5b00e177692c82b71d GIT binary patch literal 457 zcmV;)0XF`LP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IM@d9MR5*>*lCf@tFbsyX-A2?GxR*ez?b4e&lrV-)W-Cnb#=R<4 zL2MDysdT&42}ww=W2ZBc75{OJ<9v+WgJnZl8T!cP-p9N*xG;W2^eO9%XY!5p&c3mw z1Z>o@l`@T@5*z_Gfj>f9EXDw|zNCb)yaKLf@g*+$RG(4TA!e6ch`G;;MGrxE5%M!H z>d?k>@l?L%xu|2K#Z(G9R=r0-oP>}wvL*guWawmXFMzvA{S!W-nM^93Qc9 z3k>mb3(R-}O!~YQ7}@>dqaPB1_<&@T|K#Hb{avXn;?O-w00000NkvXXu0mjf`FPDc literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/poochyena_icon.png b/graphics/pokemon/icons/poochyena_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7e6be6a1730324481c34a35c145c78e26741d6ff GIT binary patch literal 360 zcmV-u0hj)XP)DV$FbqX?0t@8SE)Mh$V4=tCm=hFTb1KybFcfBL z2eVYrP)<5$NjMnb15L^PFN8<0cz#xOAk|RJxdW9NB64*A$w46wjtN--efrU87>Uat`1vI30V#dQi5i$LOLS*j!Ruwh$jTT~@57L0EVKnQqb%F+UB1Sf zKkyF>B|L4_n?B}-Vyqpg#VS2~Got~xL6I3XO5Uc=S>WMYv@d%gb#S1My`?X?Pc(%< zJ$%)-W{?9TbXKbPx!Qb5Yrp(#hRs(xBuv8<7bFEKs}v0000i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H(@8`@R5*?0lCcWIAP|Oqg7`3j4rw3{Q*g-QLj^LpxF=)RBfdhQ z&`E+IIJAMQM3S73(DsHq{q*;Q`x*O*;O7$2#q8a2RE|34`T*~-(=G!;Q)K{Eb8*a@ z;|ai9Pr(WhWGsim*9L=2t&;>D7h37;lR>H85%3gkFXnS!JcSSo0S_DZFrC0!nC>+J z#R3+9NEllzRisNZ`|}`!!L2kq@Yi88%syN`4i)C0^O=MAtMihA)r3k?1%MHb_=A^# nC|PQ~MO=m!bAO=tK7V`w18JHXDO+Bh00000NkvXXu0mjfau1Ui literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/porygon_icon.png b/graphics/pokemon/icons/porygon_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..306ea8d3184cd3ae0b821f5c3afbd45ae30f0058 GIT binary patch literal 386 zcmV-|0e$|7P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*I07*naR5*?0l09z2Fbqa{0`m?Xvu5k!>opm=D<~SE-54Mmx>q?-2&R*QyComeh(7~n=_$h{n769@PfmNri2Hw(O&Y(zl zz74d zeBt+()g(y|7}<~<+N1}d*$YuKEWl-v9sr07*qoM6N<$g2DV$3 zZu^6ExCnp$Js{E|dM$#~6|lnd+WWKd1zfhLw0b-#@%b&|<*a=5HS>=jx$@DE(mqUn z{Al~?$K1a9F|{x1hiLoi$JBmj)DKgS_jc+>tsbf$CG9Ie_VLM&V|cG0e~wJmB03*B Q1poj507*qoM6N<$g1`o>V*mgE literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/psyduck_icon.png b/graphics/pokemon/icons/psyduck_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f3ebc9f96c0a6aa95bb34d5c2cbc6f28984bc8c0 GIT binary patch literal 329 zcmV-P0k-~$P) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H$4Nv%R5*?0l1&Q2Fc5`vf)wdW5IlsZoo=Pf3C60`Qp8Cn5mW%|ry3x3XMJ0beaZ0)WUwEmTB^MAUnw^Fe`S zWAn!o^8BqZHWwzog+V`F!YDuLOqjGT3}wP7KURdPlpiKCpIiLgmbq)7V!cq;fI&ur bVEl5P^Jtb6=rf!!00000NkvXXu0mjfp+t}x literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/pupitar_icon.png b/graphics/pokemon/icons/pupitar_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3491849d1b29379abc3d7c82881a5f77176be3e7 GIT binary patch literal 291 zcmV+;0o?wHP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hp-DtRR5*?0k}(RyFbqX?g7`4qdp;G4v)WK{o(>|uf}u+cLG74= zz|B_ut!vwl7eAgX8;j`c^T2Hg1)23i`+BDr>oR)7iV2jM$+bITWnNj_A)6>OJ0nQc z*!?~Depm{C+i~%2!Wgyt5_)cI@SHX+>+HdhqD%lXXE3Pcvs6%a0)Pfp`rrKWzzkU< p{(eiROGPCKPK@S+fK)4eloz5=knx(kTxi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H=t)FDR5*?0lFh2ZFc3!b1nDF6b-#cl+g=cTod|<{g)Xxib=QIr zM`P2e3K#C~;i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*HjY&j7R5*?8lF<#tAP7ZmCwSljf*X|mcPm``jJiPEq{JUij)26J z9v$0n0Yo$l4rr8^5Ix_s2?$@gX0ro80W^Sx#9AOYU<-*=AvhqaW&sL-R4+?002ovPDHLkV1j&+ZT zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*I5J^NqR5*>@lCf&TFc60G1Qxdz+&)CtzG+KKR)O#X$Yc+QEZG8w zoUx=F@>+6L&&f${Jr%m;1Ty-hA1vLsTHRKebopc%3ZkGabFAPqnaDB}a6AY=#(d2h zMgfS2h*!YutN`bnMg(*@gSAm3jCMVK!JTs&F=!uP1hA<8VQ>vom9=C59sy{3P8GEK z9fj~QC>Wvj-UkXZ@Zq_q71i7N4N+gVry?4f@Dp6%A0O`qD=pTlfk_L%3t+GSlVg(e z982ezV>byCYxkx7lOH?_BOr?~ybwla1uBe1JyC_}QUOJn*^fz>`}en@f_DEzr|r3b wqX-lH3)Oxf!SASlov+{c&CvW7X84yM-=y}*@scez*#H0l07*qoM6N<$f-=>wNB{r; literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/qwilfish_icon.png b/graphics/pokemon/icons/qwilfish_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b0fc123024a6ca6c78f5c4c221f1d19e78ae568e GIT binary patch literal 337 zcmV-X0j~auP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H&q+i0;|X%Dbl1%qqMGa;3}R*a793SxJcG; zAHGu6z1kPKheE`@; zpp{ai7uZF>)EX%S&J}Qy^4ix;DXl5DV4g-&vXpSn?@q_662^%YLvV`fCQw za6coqrW|4>#LKg~bK;!0HE3F6cnu&72DTOUV*}XQhE)ffY=}BAk!*-M1kfk&(IMNA jbm)=|Ne7wNZbyeV9&Dki+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*I8A(JzR5*?0ld*2YAP|P{31CXcz61}@SLlMW*_+2MRl^p)DpBQ( z=aV9n&GgP3SjpU_Dii)dKgaPI;7<*kpTJ5232fbfJYQ$n0ngXNJHSE}F0&JJNx$%_dXdC!;Z}Sjms^8|-xirMK4hGQ;ACE1gxPN|ex%>@;|Ir4wV>SxQ@Q{E002ovPDHLk FV1nrmxGMkv literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/raikou_icon.png b/graphics/pokemon/icons/raikou_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7847a6f16e5eaecf176445ec1c4bf002c6c0972f GIT binary patch literal 486 zcmV@P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IWJyFpR5*>@lCf&TFc5|XSxbZio(1V1hiI>!!GqT5b&|<*C(||b zAp%)K5%?7nN>+#LjHUJcUKC%uda_2KGUlfjKV9o z3*=1(GJ@y?k5)9z+Gm9DF3r@nVXNmRpHtr{C}Rw0*3J{rDG*JZH4HJfMW|^KXGI#v z*mVM`Yp-`Am1*SzK%rq1sidNz4gdC9Ox*?ajeflVQdO=8#6(6eRdpV~7-cGtXZ|rv zcUq>h9P`-#N_kqg=V3_U0| c9)H&#-=Xi@)K8k19smFU07*qoM6N<$f{BUPy8r+H literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/ralts_icon.png b/graphics/pokemon/icons/ralts_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ed99d3427cb538239c8afdc556157477435a9dd9 GIT binary patch literal 262 zcmV+h0r~!kP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*Hgh@m}R5*?0lCcheAPhwL0vz}RK7kz;nO*42PrDLK+|`6Q5@qB% zx*59lrM=uGC&bTZx)`XLk(%;@FDcCrf|Wx5byrUWAbOgY9s~*$dyPOIfo%Y+6nmU# zM4Ju0vI8+0$AQLpMJr6VD~GCbHwTJHwhuMq6$Zn!!W0mZ%6;$03%nLmTB9eK`~Uy| M07*qoM6N<$f;Bd29{>OV literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/rapidash_icon.png b/graphics/pokemon/icons/rapidash_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c0af0dd0847b9b0361a177c53fff27e44da99858 GIT binary patch literal 478 zcmV<40U`d0P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*ITuDShR5*>*lD$sDFc5&fvBm16Ah*0gmAON6>ejIIyx}h7w)Rzx zAg~!rRhn2jSa$_7 zWZ^6rK0-O{7C}{M4*Is*m@GV8>O1#dJ zF=!G})8#N5L|u7?X@U=Qd}lLS@YsGYk zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H^hrcPR5*>@l1pmCFc6041oB~WfSz+`h|f`Es`;Fh#Dcy_py*S>4MBc{24b=4Cgj<$YS(q;pt zAVjYph?kl{k&|b%0{APP)DV$@k}(RyFbqX?0{IX;Bk!!z0QLd^GwO@N>^ok zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*Ic}YY;R5*>zlCf^WFc60G1j)m+9UBIYj`jp29dK_Wepwi!Sc=uH zS0s!#xL%y3flM8HQX=`&e`j0%vh4p>ahic>=K#A%!BY!Lq=M2wI+ z@+x&m8O=g+s;HYOYv2vC1gfeF>|X0bSfSw&EEd;;g^k_cdH@UNBZifZ&1EawFbBoQ zXyNmHf7zyk1o{HT@M-blM!*H@%g43sq_}9{;N*@`_%zrs_dXEqSlJdQ-#o z+O;E4C4n12Ub-9<0gWJ&D|ruo?C4V-l*=9nJ+A*@@oZh-X%3PfJmKUAn+b5VCpLF_ z$ZK1p?>nS``@P(t2k401)J_-)Jk_;cZBV+XasqZ|uHV8Mb(8#vX32a-3+p)e!3^J5 zjX?xxIv`^e9dxuBqfNqepa~opBlg0a)oTcWd1D7Z^18X{unf_f9%LlX>{W~5R|hIH x4?=&1c~)5t?VS#-6F}f6VdV2_?g#zVk01WP{oWB|D_;Nr002ovPDHLkV1fY`DV$@k}(d$APhx0L68TAE^sCf9=bGV>J5{js}%+hom`q$ zU|2F#s;aW__o(L1bq8 zAJcL}n|LBzdf?do?fHf4%FrWGH0AAmM?%h%&#Q*>R07*qoM6N<$f{l=m!vFvP literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/regirock_icon.png b/graphics/pokemon/icons/regirock_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e6983674481bb5e649905b7524bea18a2fc975c7 GIT binary patch literal 379 zcmV->0fhdEP)DV$@lCiFZAPhkL0{BZt+-%~2pJT!xzjP-^7z&dl4D!TW zE1JCF-R-`Hg_E|lr~^P!T*pcdPhU@ermf4`KLk!Vq~2lMR)8DvZyRu^qzb za)Cn_owjne2vryp&T)4SsxTN%A65|$Vbb~r4EH02gJ!`hj2m7T*c}4d0){nifAj}G ZegKzx)t=7tBw+vm002ovPDHLkV1mQxo{#_l literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/registeel_icon.png b/graphics/pokemon/icons/registeel_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5a8cd3d19f43393b4bc3565acfe5a0a5bc89bbb8 GIT binary patch literal 351 zcmV-l0igbgP)DV$@lEG~SF$hH60dfVaPXX)Be@)3R0BnvqFd?zn_3kOR zMB&DW84!A<{OKaxdgC|hi(ss+&#*5nEqG+{*Qh=;goGF9G9sVEhh@Ux0zCufWi*S72i61m?s66PN{u x3Cw~6zJOVAn7}MJ5CWKfc@mvxX3Wp|_yia6)=?`CDuVz3002ovPDHLkV1h50o>l+= literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/relicanth_icon.png b/graphics/pokemon/icons/relicanth_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..da17eec334bbf21f9c8c12e92d28c517ffe7822e GIT binary patch literal 413 zcmV;O0b>4%P) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*I8%ab#R5*>*lD&$!EdCsN5% zx<|Ysc09$0@gbmUxTK&@kP05b;MDfD%%BUSIc>Y8!cM+xX_WLF4dDexy8_!(T`;Cw z_rtyYpR0byaJ%QQ4tqUVhghyQBpu3ZgX*vctizO-C^{4hR0pp>bU2U#(V?Jo0;tCu4`DvoV3PgtuNIGn6_@@p({p#C6&&{+I00000NkvXX Hu0mjf;m@(; literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/remoraid_icon.png b/graphics/pokemon/icons/remoraid_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..efbe4ace372262094897f4e1913b47dec97dfb0d GIT binary patch literal 330 zcmV-Q0k!^#P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H$Vo&&R5*?0k}(d$APfL`fq4WwFG$+oWXdm*I+;YuoJgocr-Vjg zjY^Hw5}-qeY^^sRwz1@6>=$D#a(*s=`v!Oc_}1q`H=O$PoqIiEQsOq$IIU?zg?jWm zcqpf8bg_h^a^2jE2%u>zZ5MHhEw=`(fnf(=?NzcxrkjCeV6t8F?Em7p4j;f5I`CYF zaPCY8>d1BA)RE~x!eE_TKM14dyVyS_VLH+wf*_1Gun6-4aA~VfGCRCM5Qh9 zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H`$@lCf^XFbqV!7Z7{;01M&=RIq;_AD#d~_aYfO2Z)`u z5F&OA0@fL9G2T1093So|3U^KOw}-B4kk){;kXoX`lCIVg6PM~Ejo?(Of_B0jf?2WM zbAVOc-qUA51yaC3Sv=GQKqZDn@~x_PtetNo3P_%RJzCS;KCg zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H;z>k7R5*?8k}(d#FbqX|0xWl@QOr&R2jKoY7a*`(wK;%s1W8lG z!VKR2_qQX(Zy0{EU|vZZG_BeRD0LA7QtBd*l*m$VP%;YIW`shS_0AryeS_1~kK)^-=h-<&SRABB7)E$F0g5XHo6MG`m zhp)sA2QGXR8qlrAM=njy3m==3%~)k!G`<;M@bLigm2ypwwqT3^0000i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*I97#k$R5*>@lD$rZKomyj35FNg=d;jaUjq_@Et`PGh5`#8fMP?( zBv)+Q@&a~b0~c&{bmVt-hs4%IZ#O63%zTqMjQzQ>I%CC{G=S{XlL?9d4e%Kt-WdQ9 zgU$dAVsW}d<#~dI(vkOlT_-uh0<4F94aue{G>GFb0B8cG<{ekDgblcb^ry@*yu633 zc9lq{E<6g`H%MD4#PhU=$a*0{=?Jl$%MbWU)$ZCm19g_$o?R~8njBoJoLk+#DamD= zbbxWjGq##?4gS&mzA$VpjP+;=GZ5WbaB1Mn8zoAN->q-)BJN?xPY*OaK4?07*qo IM6N<$f+(rCkpKVy literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/sableye_icon.png b/graphics/pokemon/icons/sableye_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e8ac1307edae045dfec301c64d984489e4fe8241 GIT binary patch literal 319 zcmV-F0l@x=P)DV$|`El)cbMyE|BNmg%(?!*e+U~B|r4kl5z9s!<%DGJKL916i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*ITS-JgR5*>*lCe(1Fc3if1?fMO1(qe~li2<`kV!BFEvL;dm zpTRG<(y9H0C_@`Wb;?wCurTMiPHDR!Cb-G>d}rC`C&b^5h-g@kIw9yyN^9)_tVG0l zs+oCWx(_L(eoPYC^UtP)DV$fuIgl7bN%yYXNxjJ8{?Lk8MZ~?UbhXwlr1(U0F2q)7IOmV-{MEjN_q5 zBxL&%+|D~t?Gpc7pA<%Bi7?8qT_TJYACfQ_h1upLVF1~JD3yeX2EiaoC1Dn%%%IrQ kHiaDV$@l09z3AP|K)fqe&8?zV813r))%63H4jriIE^i@ZHS zSqVY)mQDEaS}9XRp_@Q0OiJOiam<#BQ z*^J`3b`mf;%;b^5EdfOYqTGSei&h|664AUx%?vMV1(A7SRd1Q56iA^`5y0o57R{kO ztsibLiUX?x>}43k%IkZcyI}`-wPj8TyN}$)uaI4zf!JS9;CelQ&We9>eh{Wd1JQw8 zc=AI^%)kL8VGvZSJcJ3{wv>gz0X&3B;^oY@Fwzs{i<&SwQH7ye$-)# zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H{YgYYR5*>@k}-0`APhyhK+L7IO$yOKi;tEYWKTrKg(xF$0Zj@k z@?wvnPO}qr|NDc!hiA+Sj~FYDPFpV}xWS;{2LpnK;Ru2I9E=;?@BI=R{JXP#L{i#* zhKvZvheqXc;HK?rJ{&6!!mOHeyQ$JzswQ1SZI~Ib@2(%ad^_ahXc%71f0$PTrYrLVM&f)rb_Ygc zi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IJxN4CR5*>@lCg@zFbqKb1=c@wxUmQQk#7BhqM?KJR~}rr?&*+U zDJgh4hz$oCQi#rW($wvAaLaLq1pE?7NP0^B>7zl#C(zxb1*Q55aLZ9|E(;hwKQLZb z3jo)6(wiDM48EHINQ8skk?+>i=UYR{(=M2IDYc=o7#V34cBcX?ZYhXo+7C_s1&DLnHPD?YAvIdZ)WiWm;RJ9Mb$KF;W(e~1( zrvjKR-aNqd?FHyOyz5#$AKj~eaY7cR>P2T^Dm@ZN!hEeNkcFv15vF?rNf@&Lks^$_ zj}Xo_W??#!3EUh~5#})OdcZwP5{9?OY1w)6V-kkt*iJc$AR)b7J7-18!mzlz9};tz p(D2xQ5$0Z2{YV&m5$1P(d;_Yj=Kjq1PsRWM002ovPDHLkV1kFY!t($C literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/scyther_icon.png b/graphics/pokemon/icons/scyther_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..62f94bba6399df72b3b20022a38a1b1003173b0c GIT binary patch literal 345 zcmV-f0jB zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H*GWV{R5*?8k}(d#FbqX=g7^+x0kN_WHk2%Q_GKB7dWDLX)rugQ zO+U&Vgd}&lJB92HZjzI6Z{{U%)6#$bTuLFmR{=QV8eTk3pD5Re+K(1x&&e r4Zk8xZx_O7UI>%ei+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H-AP12R5*?0k}(d0FbqX=0=Pq`Zb+TFaW|$vkwdXCL~sSviJ?j( zbz!jNIwc{=-VRkgApIYI$G}tS*Q(}HI+}AW(y+_UXCqEwc*mtNM8=p+r!kv1K%>he z4DcL7Omlk$M*VE}1|z4?&~$Mj0V&O(CJq$=c^u2tvI6_Ap*`+7o&A_>{hI}Bx1{YW zvtqHCai4l*QmJ)X`{D~#C>xZrR{c?Z5142jzyur;FcF6Xm}ZaA7=htELR$o82oZ1u xCS1!Z0MjKf1sLFwy`TWo7k~E+Om2J@m=~!+(p$fEt78BF002ovPDHLkV1o1skwgFh literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/seaking_icon.png b/graphics/pokemon/icons/seaking_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7c3bcaec1cc3113c91c8ffa55e3d440cd9a2b8bf GIT binary patch literal 368 zcmV-$0gwKPP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H?ny*JR5*?0k}-U&iwgWHTELUz;F5-+TMl~ z*yiIr_RcnGMzy%hq?&5k+|9X;Z~I8qu6U5L|K|n12vF}O0)-w5VLa}HQ3C!XOeUVf zq~8Y=4`C7z*A>FZQW$r=o`-g_c1c^RD9liIS(wONrdqm%Z4$>{=*JzX5QwUbDV$KxOd@y+g}+4AEJf#fg5pIK=hZfA(}`i8=|Se>m$O8u2~=Q{P|8#wEF48yV%EAu|6JLIhhjc<2Cl7i1pC|CzSPZz1&dV hhlzRQeb8_A@eLa3Y+#llnl}Id002ovPDHLkV1f^BvP}R0 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/seedot_icon.png b/graphics/pokemon/icons/seedot_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..500a49d47fcd426a5efda6506cd8b61985326516 GIT binary patch literal 271 zcmV+q0r38bP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*HjY&j7R5*?8lCcWIFbqWX1@`v~2l^dGfy@Tu{DRj|<8%#%sO^+< zhA!RO+;$J{q~VBuPx|P+y|2A*r6_{UmBJ9Rj>jIS8>Ptx!YTAX^$0Mf!-@%55wO$baju>&vFOqV|Bp9W*DV$@k}+<@APj~%0U4^Uy~EQlhA!j`Rpb@U)unHLL(dcm zv2<`Mp{%7e3E-ExOY6;_jKStp>hA?B&9lfg<^U@|$pDCwKroXLAoAp*lRf6(v}{_s zQqLEqa*`nBOaQeOLs}_Ium=A~<%n-59*8KJ1_r>dFJuIE&{DV$gZNN zLJnyFw}mCFt+kzCyc>Wn6lYT7>~Io3FFHs zNfDV$4YRLDvHP17dQ?vY+dB&Gp)TjQwEr9*kX7v{hAyHKM7ihuZ>T25@p<5Qzn$>rmtb zIsmxRorXep9wg_KL_w8WdjO_F3d}^mf};{8p^XEhR=LVBbHL2pb0j2k$3mTRlvqhW zI&eh!s-6KLmQx#D)*M{w&2vnxWSfBQ*uUkYAU5Im7hfW<_!7YCOK3X#0$l`*FKnp1 zAG0qI`C)yL5cy$!X;kEg^`*HO;`}haObItj?}zba>j&KWy&s3K`|$?bgoj^zv3yGa O0000KP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H^GQTOR5*?0lCf>WFc3vG0l9+*P~#>Gcmx5OB2&b{zs72Ljkp?- z0D;`lX$+hyng$G!N5caI`5hm=z~kw4-JgpI4Uk`bwrBw<5Ib=SoP$tOAi=G553y;(*gO`K~{6%qefl3Hr6& zR|}pt_P-LFvz;0s3gm5xS75fJ8+?JU^)Oy&s=qNJsBOqjO4g&QT=So!ul00000NkvXXu0mjf!rY@! literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/shedinja_icon.png b/graphics/pokemon/icons/shedinja_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9f400e33804b1d5502b1579120d47df42e23b816 GIT binary patch literal 298 zcmV+_0oDGAP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*Hs7XXYR5*?0k}(RyFbqX?0{i@eARVO8&IaLJ!K=YIT@AsihorGR zc5C}LJ^mN^Ab>BIPP3Kg1eOUv;W20*+6KLXR#4Q6JAo-q*8A?Z6Qq3+@r7hPK$HfM z5%~a{6H#Q+Gh&W5S9+={r~^~07*qoM6N<$f+&!H(*OVf literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/shelgon_icon.png b/graphics/pokemon/icons/shelgon_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..76e0c6a1f70dbbe8f031fd9f5621fe9dd2f99bfb GIT binary patch literal 333 zcmV-T0kZyyP)DV$@lD!UsKoErQ2{0!;MD76$J3ThmCMNn^zM}D`-AHJ# zaa~AQ4q7YR?+JiehU!-qNmtGP7$%+S;!}HGtbrGy)h% zZeA0BMUo@B$5jUdXI7Fu3^=|r>$%2%_B>6b#@PMuEVVEqv%)Bt7e;<9jN`sAlYTJo fW7)-c28Q_pD=K*1H|a}600000NkvXXu0mjfUC@hY literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/shellder_icon.png b/graphics/pokemon/icons/shellder_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..36ad59dfa02c8a7a04e8b9fb2676a5ca2c695af4 GIT binary patch literal 295 zcmV+?0oeYDP)DV$!Utg&oQ+XA<381E#!3d~^MNLrkrU)(AF_qB z2LJ*3$ZTPfFM7d|tPxNUmlIh5mD_kIBx|Y7h)`tcaG$RZyqq3m_UJlu@v>UQ&i>Fp t{!d?=e#L$I=dw*-;V%8PXPf@#^#qRrtK18EXU6~l002ovPDHLkV1f=yf0zIO literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/shiftry_icon.png b/graphics/pokemon/icons/shiftry_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c10fa772de0ab51dd80ca85988713618ee6918b7 GIT binary patch literal 349 zcmV-j0iyniP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H+et)0R5*?0k}(d#AQXl<0lfnzj*^t!!6SG9w>Q#_ZuX>9;?Pcg zB{Z>LI(3(NcR|G@AO^39XHg5D;U_!#((`yv7tmx?-zfEQw$$DkX4a&~@1 z2$6#03$Wvi&5>@!_ACas^I^|Cn>vZg7~}bTNuN2l;mS>&*0!5!hp&V5J~|nkR^_QP&C7t)(0UJ;{6#~0)pfx=HG;= v2VtZxL* zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*HyGcYrR5*?8k}(RyFc1X&0tuJ-kIO(RKkmRp?-4B47o0L+E-BIo z42~=#>69)cU9#P+c6C=w)BJ$ewVt&d?sZ_WRYdnhRz{W{=#4Ng2!<1l6SW73jy}Rc z8mpPnfo|mpa_ETiDcW8s$RKxku;JZu{zHN1kujCM9E`36Vu;ofiWqvBw!MD-uMj|@~NXDFog4zw?ts(u^h4i!#p)Y>H}V$t@?-Y=G6SR P00000NkvXXu0mjfYXyqa literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/shuckle_icon.png b/graphics/pokemon/icons/shuckle_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..aaf49345aa19f0d89596cc85c0c0dc3365179e3f GIT binary patch literal 334 zcmV-U0kQsxP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H%t=H+R5*>*lCchhAP_+L0{DIy+L;^VM-+bmqAQKLxJooM7C|AM zx-{N$+~e*Tc!b<5SeQ%TL6r>(plD&BDj=Ym2}=bC^Uo3l9?H7s>yX%3L0oE~ gJRWGa469tm8*qulQDVqLYybcN07*qoM6N<$f&^@iKL7v# literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/shuppet_icon.png b/graphics/pokemon/icons/shuppet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6e7087efd714bc9d0c5224bd4529aa2c23930b28 GIT binary patch literal 275 zcmV+u0qp*XP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hkx4{BR5*?8lCcd!F$_dAK`bwjKMR8}G(E+)M9Y1$K#YNcixCCo zm$=SP=j1G1DSMY^&~F*IuRKd%bejyOP}-8FA+pHf6Erjirq?t0)p0qVz)@rXKK<+N z8(TyH46^hH66g)g9)PZ?7D1-#>a_48Yx(QD_SGOxD@$rn&keE&(zp;6sX@=eOxOKV Zm^%z_a{A5F(Cq*K002ovPDHLkV1m#DV$fw!!8p^#h_Rib{u+-f?rL)S*x6Db5Ut-ue{8SkSUVC>hP&aspac3}gX% zs0?cdh|-fAumNo`ydN&sz^UBY;dq6OF?IL|U<~B<>%N74f|e+E)wBSB;bW4nipbUD zs#~n%-8%kK;}!?r;EIE&!Hh%ULvSd3%wNSpN=CuKt+953L;i9d1qUrPJf7Q4f8awO bH}p|2tQ}{NlQyZ300000NkvXXu0mjf-bj)4 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/skarmory_icon.png b/graphics/pokemon/icons/skarmory_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1eb3106540639f12bcb2fa319c32405fb6930eb9 GIT binary patch literal 418 zcmV;T0bTxyP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IAW1|)R5*>@k}+9uMsNht#UQw?JdMe z)>2Kzn813s*&;<0OCb5_f8!BPslUADr@gi>fNMY&xvCLbV*k*%A++ozqDz%p!)@{s zxqs~q0LnlQ+d&$8g2iUQ%o{MvAYj&n*yocFco^kSLIYbus1UL}aB?{T@?1wGNY3-m zXe;5ut|ZFkS_H$+okNA*bTP*B{!Qq@RE->?=_(MyQ=;jbI-z1?>WCoqAJ_W^={+h2 zmEXSWkPX`WxnD~n8 zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H^+`lQR5*?8l09z2Fbsu#0{KW;lCECDj`C7JAWL(b0G%`o9kQ#J z$q;)a0^|p%J+SgnQSwlrYf*0e!1rK7Use6NsYNd39(+M2FA`i4xUTY0{V`v>DR@lB z;75(rXy#H;u*ZwY=AK0WqUSaP2jB^$;D#MGAT1fzKnqGG<`wIXdP}EozD$JRh(FLa+ z=7v_}-YkXb+60Cu43L3y6eb#!fI$?-lI@c)JPX5|go%29XJhnd3~!gh@Isj1%okl5 Vl}VCz^g;jt002ovPDHLkV1fX*s0{!B literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/skitty_icon.png b/graphics/pokemon/icons/skitty_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..fb41f1c0793f51a4f691103f68c7487c51a3d3d5 GIT binary patch literal 371 zcmV-(0gV2MP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H@kvBMR5*?0lD!UsFc5(I1oT0C4Ow*VA_+W~4l)A?>|6q`f(cz1 zDoY12;f$q!xanr>&|be@n_TZBI7GYutZPlD$VgRTk9BoEXy_QF7o}d?jBSEZf z#ucDl0A>r001ZGkcLqcNC1h!CfDG#*&d##~oG~_~LrHv4je$uZ^u*#YM^_4wj7Qbo zE0c2843!6hQVhB9f1=+X%Gd||b`YHp0>U?Yh5l?%7pniJ677-lK%%tGR>DxUcUEDv zM+#_RY-fxx?$O;U%wmBS#_6Di+4?a#ql_@F+gcc}tZ#+sd=Q9!vnL<<@dSf`p8Ivo R9!vlL002ovPDHLkV1fqEovHu; literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/slaking_icon.png b/graphics/pokemon/icons/slaking_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..71b6c7537b84a2bd145bf5450bf664ce9f6d8992 GIT binary patch literal 437 zcmV;m0ZRUfP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*IGf6~2R5*>*(y?m8Fc1b{KS4~}2M9C|U>Z#sf*-5Tk?|0V-JNah1{m!Cvmbq&%4U<`$4(yEP-5kdI;c`>c!?}ClVf0w zsp8a3vygW6p}vW*`K-RO>;PLIYRF<_sAo3yUX)wKx z#|p5LG@}LkC^*h_@kaCJ`U5SSf~XB#qV)^W);lj3{`t$VsxI>Jvp)CX zzIJ{1)b-)O^nD~DV$zd@`!BDnZw!# zWeyu3nL}E9xWZxO!#FHHW)3SKg##}djKh?vf0;R`dYo#caL}PGj01fU#T)zRfi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IJV``BR5*>@k}*rfFcil-J2ZsD#RE$-x*X!x1B-CG6wC*d+ulL5 zH{fTfI37eBb&23JHhD=WcQ4Q(|GxJK@AoT;|8(&8d&_q=Afi@_px1+XS_H+H9zgkk zQN@+sH{fU3IEOXR-poN2g0n}y+WLTTsyLV3g%2!#$7jgy;Z8AT>(IhhAG_T>yjPpL z8s}iE5S`Mkz$x@N2LQ(bMa@IN4*p>Wn5?LH=+RmOpr~+)0p}b*Si+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H>PbXFR5*>@lCchgFc6083$)<{B=7uj$9wp9e)b1p>W5Q08kmrUrD9<(k&)haX?4fT4VzBMpK80000< KMNUMnLSTYFE16ON literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/slowpoke_icon.png b/graphics/pokemon/icons/slowpoke_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cc3123e14bac785744baaf02b7eba295180d6889 GIT binary patch literal 342 zcmV-c0jd6pP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H)Ja4^R5*>@k}(c~FcgM+f-<;y2nQKS@C*#Zb2u0diCSV1MdyGP z28~AM0lW+{ zc&gy)yQrd2wTdU@hGhixSDi)ICL~R$1N}`0d!FeKwGsB2=peN9LwN8vKjgv>Kj_B~ oS?=82gCDd>i6?d!G^qb|-gv&G^ULOhB>(^b07*qoM6N<$f(z4`ssI20 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/slugma_icon.png b/graphics/pokemon/icons/slugma_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d954c6f68c76575d5970589d147c9f72e20f5484 GIT binary patch literal 343 zcmV-d0jU0oP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H)k#D_R5*>*k}(d0FbqX=0&=>P8#r4s#on5$GQozjfX6f-HMQx| zp$p#p_y(l^jJf^T>(0d#2^fpb3Q%N{5e6m{z`EQrBCu`bPyv^=hrCE*ax!2&rBMMU z0v0EG^Z-782xE;AFm^J8nxiKSJu-)|6M~=KV1XIhTb?~Jpl{EgJz&hbE+qFOwCerF zb8X*T+qYlsW2w4*imLrn2UT6u0spLnIdo7zTAL2)IY)j~6&cgp9w?xbgr1002ovPDHLkV1mQGl=lDt literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/smeargle_icon.png b/graphics/pokemon/icons/smeargle_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..54b387b053bf078168074bf14be260f57bbb6e2d GIT binary patch literal 377 zcmV-<0fzpGP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H_en%SR5*>*k}+xoF$_h00-Mx(uC1onbBTfI97Zs{ic^LGG0hal z5XCcI%UKuOY?@W4hx9G*Gv@7T8+sRpK6!Zn*?a$Y$x$hM29i(^4RM=;EZIW~*>4F1 zLV&ijUlRh&0ouqup%4M22HYfWE|2t7A<5*^MK8-ZONqVcAvuT<_z3#0Wy4%fU6%$H zUi?Z6DIj9{-2?^FM+!!`hS8+6zUc+}x4Rfh)LgjEMrAXs!j z1;_6nI&_c`4;`fI5OUSw=MF5}?^6egcd!@>L`8rOPCvNoaQfk6Y^iJYL;KUI7yS4I XUQgQ0a{}M_00000NkvXXu0mjfd&i*N literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/smoochum_icon.png b/graphics/pokemon/icons/smoochum_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..11f1e6fe7da78c9c6606cb49474af8c20cb556b8 GIT binary patch literal 414 zcmV;P0b%}$P) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*I97#k$R5*>zlA&(HFc5}KN9>0Q8Co8yAZQ&Jn5BYXN1B3jV19r| z*+UFFjWklNl2s|7wWsKI8(8kpz(~)?pZ?#v^ZiO)SDBN%V`@==++{Bv-U*M%sS%b8 zR7_&%+JWc512jyMz%`ILz%ycoc5SP)n|BV{(w1|H4BUse!lo6Z1xH)E6&MVoMP!|Q z#>4KFb*}p(or!^=?*|T4tg0&VX^CvPKxv2{FH)hjP+W1z-P4yjl*@(|WMVS=@}C#H z^C#h;;tBeW2VXvcEb?KR&QU@bXz>9Nx?hi(FHd(R12^;K5erN!IEPT&)@xGD^L`m^ zV$od))W`QWMV*59JXTqKjWZb`bR##0HeFSrgPSh+W-In07*qo IM6N<$f(2B#ivR!s literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/sneasel_icon.png b/graphics/pokemon/icons/sneasel_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..95eb3e66d6ae6c797f3d8577e3d4e9bdf1c42dde GIT binary patch literal 347 zcmV-h0i^zkP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H*-1n}R5*?0l0gcCFc3x43m8J7OM_k@SPzgp^blFv0}Aa`B7&QO zWE9*^qnrG?X&2p;4rDQZ-jG>5A%4DOe9RC`L2%oK1Q?dCy(fUmVsTdh&X@AUsSjKo zt5T=AwaV5C0%J%if=`JhX=~xCIA&uIA<~NBuGo@xKuA`!AR$DTkFJ3}(=?18f-&z# z2SHZ*-al?gh~8(o5+U)=^?hNa+zB)Dt1$BvqA(ClI!Ho;q|ygwYf} zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H*hxe|R5*>@l0gcCKnz9g1)N5=MX47kUZ9?{;3>L|Ft{v)dIh@| zad4@S&WJPUY`bZjU0!~Y%?pCBufx#;(clF#9s=F~f!T$#O=@DiM`s6EAR^abfryzA zsZMP`6?#qt4)A0)lmq4fR%5E{2{T8TgT2Y~0>A>17o;~xSrC>DQNz?YaHA8A@eKBf z29Q+s6(CukbQ(O$CqTP`uzxMU22AxDB<%)-9rfGZtOb8mAN#?cA6kcL=ZDroPFU4D s9i*In9bgY+?)w3rAC>a`XnxF(H<3ub4CiDHH~;_u07*qoM6N<$f@J)Vpa1{> literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/snorunt_icon.png b/graphics/pokemon/icons/snorunt_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2710b9a0a0191a54546cc1cab9e15a005ee5eb72 GIT binary patch literal 283 zcmV+$0p$LPP)DV$MKbA?QZg`* z6`TBp%?_DVR%ws<$(G3@Iz8C^JS@ozm78BtU7Q$Ji+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H!%0LzR5*?0lD`VVFc63H1PR^6M-ar#!RPBB_zdE9g=9}aaC68* zw76X*6}w0*i5>bUv5Twp$Z{Xa?{e@F^54b$Bkmmv?*rgKycLXumC7n5VYtLfAu|a8 zydw;s5_o%%ciFxcwp5_F>4(`J-fB?is*kmJg6%Og17OJ8Ogn5}}=wunLcfTZi$j6?p0dxcmLi~i#VzVMKF*%uQ%}W?M5vKSOhR~@n=663n XdR52QP&)k<00000NkvXXu0mjf(i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*HoJmAMR5*>@QlS>ZAQ0mVdOy`!FrD4p)eYDCT|{Sj2s&ie8G7L6 zy2V{C$vqx1=J$barhB*ETtjS$T;s|KNZLhi7Oz||MP$jT?k|`{#H$EbT7q^31nLSE z;pIBj5CaylAL|*KUd)_O6|0TRk8ni9U}9Wv&1;@^7=tDT`_XB%)4$^!b(s4)?7!dF k0pHajJ23mhaE3a(0j$e=Qe)B-R{#J207*qoM6N<$f|g@^OaK4? literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/spearow_icon.png b/graphics/pokemon/icons/spearow_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a88db9927391ea604d39e42b214713ba073b81aa GIT binary patch literal 346 zcmV-g0j2(lP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H*hxe|R5*?8(mx8qFcb#xoS?ab-aw(FhjEBww!F>Ur$gP%(5n>O z9AZI8z=EF@q3<=bn|@Q@NB$LlO8rLkPz)IZk9qn|c`h;>25lV|`9M}%JMTCU86fcy zM9BgjUjbiRjAvdEP@6F{b1{a_Ae>KJ0LC`Wjn8~uTUizYl z>YpMD4(|vKp9l_0VcH=$K>K&W9DKG=l7n~TB!@)g7928p2gw2XUU2B{#ypsV4k1lG sc!BQFnhl=fnYVVo^l^=akLt@lUUX`V5=We8T>t<807*qoM6N<$f}V$#Hvj+t literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/spheal_icon.png b/graphics/pokemon/icons/spheal_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..fd392e19608b80b926cc0f4249b86985973e7422 GIT binary patch literal 317 zcmV-D0mA-?P)DV$ zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H*GWV{R5*?8(y0&k~q55m+5MW zgG<4~AQcqKUm_S|*V3uI?T*~#;6BEFF$DU3Ze-Z+@`Fl4uP_*u26B6XAsW+Qnao19#$$d*y6T53~F;1Eh z`^T39Z(tyIU<8a((gQOuV74Yy7EI`T2nh>j^D*ZZjOPRW0><~Tfbo1hEtqq2bocKl rrdIQdTZ0&N#JKi0=e3{N!bf~wr2T}X1oDxT00000NkvXXu0mjf^mmpN literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/spinda_icon.png b/graphics/pokemon/icons/spinda_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..75699c7cbb98b79a9090baf5d864bd7bf94f6265 GIT binary patch literal 375 zcmV--0f_#IP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H^+`lQR5*>@l0k~ZAP_}8fu6reu+JgYnDv0zSIAZr%{Ca?F)%av z<_6QX5PW>gn0i9|uWGlw;%%f=zkcZth@~%K8NqH}R}Z6GGXO+pUN~JnL}g}zfQlX1 zHvr2vJRbl&N1pLWaw#PM;z)kRON82IKRhs()--|;+0Y6=2Bv_KNJJVF*-*p1kh!@5 zoJf2~sqF^pGE!yEUtTXAl(k!5rfmchOr}z46@l#IuPBV_I+z*mes{oSh3|-*r!Pnx z(Xw%P#Ch)#DDQ$tVPqp$@PV?6yAOhNb7>T0G8(5V4c!8f9w74Bqa5o1x*s?2SKpo0 VveEp(p3MLN002ovPDHLkV1mq)q0RsR literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/spoink_icon.png b/graphics/pokemon/icons/spoink_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..387d0ed000a6858ef27122f85e71d070d66212bb GIT binary patch literal 277 zcmV+w0qXvVP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*HlSxEDR5*?0(yHTgHnQ=;agYFTwuoB5nigL$bYlVU0#ffm)+DZpG?^^KmWV0?A(J=|%C8TaHzM?_ zEzA#LWCN^<*xFwZk!@4h3o19*SCuCVf$FE*1!kQ*+#8=mT;M`+?Sr}P2jfN$ghvMx biu_M(L-Ai^emqS100000NkvXXu0mjfh7@u& literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/squirtle_icon.png b/graphics/pokemon/icons/squirtle_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..75a58770fc67c9f105784a734d246fdbca5b975b GIT binary patch literal 344 zcmV-e0jK_nP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H)=5M`R5*?8l0OQ+S`eHZ#NUvFk4N6)@gekM!KSfSciJcr?HdF01pt;P;7tUKG>U2m9xb3N zauB{k!CukvP7C4w(7@JwTI$dRbGG5Pl7z0vaBg5i;$X@cpeexjC5RLtT$tx*n}ADQ zEKXGdGFi`i03msn{S9RNIM|7-&_C~jqbglGVWL4!n7%<)m|&0-CK?ok@fBW}V2~F^ qgyv3|ILrsaTxSDeGMVRJ_2UIrVyD4bFp#ML0000DV$k7R5*>@k}+z;Fc3v`0_iX=ROT=NyR!>}e&;zyDql_2sxyLx z9b8Qudo7PQY!||^11j|NH4@A-=7q~GE318;vvH$3A6K9vvyAJ~U`;&-?rW42Fyd)m zTFA~E;ghnH{$o!tt}Gmw_C%e)1W>nwDTR*FLyjI@jRlm4vPkW*+)*!c1!^=%S3jgd zgEl>YA+;9q05(h^UNmU!U?z3NM%$Wm*=XLP{?iyIg{;O1S0`fx-7)PSW4OnyBsOC_ z6|foO%k=NY;ABkWafAAbr3%x-^nZa6lLq)pKfVE6J+{-iP*J@A0000DV$insnOs5O9{7)xsMO!9v}=JT*+ZRZf=R+cZf-sxWkzG3j@pQG(>K(4OXRm>8!rL| z9$Mt`fzb|aL|d+2dA__v0XM3B0oneEP)DV$-9H2wal*xz%F@=#P zYE=yCkGfT@nRv(_!}pZ>y(!&YQ+fkd8k&HV8=z^*1f|@!^ofuMqNygB;5?0WYYo=A z5$Z=e#Na^0YImG1rx$?Zc{Z>J;G=H=dc%Mf9G2~{05_`scRtmjbUJL$yAGoLs}7?5 s{6q)Y{;q>;|A7wJ>wujOfZwLW1^woFZ=i5dMgRZ+07*qoM6N<$f`(LrJpcdz literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/steelix_icon.png b/graphics/pokemon/icons/steelix_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c99e175817a80242c27af371ee42718fb3d5fce0 GIT binary patch literal 433 zcmV;i0Z#sjP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IFG)l}R5*>*lFgCAFbsuVK{PUVJbv8c*+~KEzYCxM))ED1m6(v2 z(_XPp?~VR!eIb0;u@6mC?X_mJP6N-MLySg5aM>LJ11RoL%gA|Bu%eKzQH0ae4MEYo z8m=O8GEOD6fLV)qBT20;#mj6^q@?B5Bzg}d4@&I~BxO5cXY)9lNJhqOYP=f#Mq*7oKKU=tYD%6c)_(uh^o6v1R#kcG81qJ=m( zsD{^YzI$XgR&2wWa572G#|AxFrC$f67?t;Ub#OkQyWu!sJOUHK!p9Mqm5&Y>=c5PY b-+cT5$WW7!P=xfT00000NkvXXu0mjfIz`9& literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/sudowoodo_icon.png b/graphics/pokemon/icons/sudowoodo_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4cc4afadf515a9682502f87d4f7357aaa2800986 GIT binary patch literal 395 zcmV;60d)R}P) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*I2}wjjR5*>@l09z2FbqbO3z#=Z4pDRq&{KHUlmm5S5J+>*kx2lN zTp_EA!d76ofCC{codo)E$4)IbJ@F$5@G14@3j7?LW}k562zo7V4lafU0pVy<2e4ld zHRlMp*Fc0`J$vAF&|w0wc}#(txj#7zTtCM$*xlN#zH}PPbU;6300>QIc@sAQlwzn8 z*kdRCDN^Ac(_T|Gh^7D^+Y(d;n`NG<+O}=ZMMmb%fNIr$tslCCj!PtWuth(Nd50Jj zK5yAs56cMze_c8NQHg#x=RYx@Wzf#w2 pzPh^mQQlVkD8S^0DZsD%_y(PfsGHJUy?+1z002ovPDHLkV1jm+s44&e literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/suicune_icon.png b/graphics/pokemon/icons/suicune_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3e4b3c695aa4ec3ac0180f3ec01eb1b670ca7f87 GIT binary patch literal 471 zcmV;|0Vw{7P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IRY^oaR5*>*k}+z-FcgNh7pxof5}pb{IZQVXy+juep&2~&0v=um z@5zuMQ_7>df=i*8VqAlvm{|C)j4j!v-MX}I`#Bo@Ac*w=F`8+rHRzGr_~Z>TgF!7P?{0&!27x&#JkSPlc&|+DX0kS6b+rI6 z$0}~X4&a)P1^2TKA){x#@FT=?ZvS%rP6T&D`r?NueHy{Q7WF$nJ^@Nv`VOGG#Z3SJ N002ovPDHLkV1hfx)A9fS literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/sunflora_icon.png b/graphics/pokemon/icons/sunflora_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6493eb5100d19ecd68568eedf537bd83575fee49 GIT binary patch literal 447 zcmV;w0YLtVP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*IJxN4CR5*>*k}+-qF%(2O!TM4g%1y&kvJJQl=h=Yddfm82CfW-S zZB2nh zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H>`6pHR5*?0lc5g6Fc60O1ZyU#;ZZPS7Q?VJTP@FmEP@8v8eR!3 zf@}env|`6r!(T!`6VBb2KX+~Vm9ZZ$qPXW$Hk_I#=$2X8$u%Ta^&-paXN2Dil5$?+ zP<<~7NN7zOH*w<*4!1Dxjd2mM)+zwpSs^r@bY`cm!35bWMZjB%Kr-1LygI^=v)PCU zc(E5d=vi`7DF%ky^$q)%ic|<-Q~@ck@@6mqz^W>{YL1{@R5=L4ZUyD2R1ju~FBgQt zwO@td_N_1gC(^b literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/surskit_icon.png b/graphics/pokemon/icons/surskit_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a7267c21aa058cd84721c98fe880f6cfd32866e0 GIT binary patch literal 325 zcmV-L0lNN)P)DV$i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H!bwCyR5*?8lCchgFcd{!bT7X^U^k|BHTCy85Lp>a{1_Gn5`Lk9 z{lSO{5z9hb99(oU-tC>-o4nx={aof~*pTgQf!7gC^E{0C3Oe-Jlxx>$G1axcxxGm4 zS*_iIh|yF55b3GJg+0<2B_NGQ9vUf>{}^+ML-;Ev8$fL6pAROA-hmf`tT3KI`}mwq zjWcK`7h$SmZ3w^$Q#n5b6q>-GPA$SHIDV$}0gyfl1H_^$aXidKJCdD<{9OZ*)Cvqo&`kiTla*Jxcm?{ibfCb{*JS}t zM{YS#pxJ;$WRz{Qbu2j`I)+i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IA4x<(R5*>@lCe(1Fc60Q1h%{*qhwkeW=Pol;hI%xw)Sc^2P znh?>IwNb^+$2&~CGFr7GI1_s|4eTBGcya;aL)~2}r~ub!pCS)Oas856WFrr{EEPx2 zxs9oRnRH^EE^b|~hQVb09N(Bns^|c^!)j$S+0y|K4mQ3lq@>KxFq@*$NiCsQeh&gA ze((4ewshEDp?dk28IUY&UoUfc!SgbJ9oSxR7y(vav8L{*y4|L>M<@ zE)2<`(eXqWWD0zL#pNgrF6)JHU?R*8%;qo^2CK%-g!wM@Lq9$Ne4F4T(_(Ri00000 LNkvXXu0mjfD88>s literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/swellow_icon.png b/graphics/pokemon/icons/swellow_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..47a2ea74d7b188e2c4140ff3f8a2121122e06709 GIT binary patch literal 369 zcmV-%0gnEOP)DV$;8BM`w1!%EBYZW(Ou#EGVS*r* zCUjyG9POYh9l@ap=kD+2l1o2;pD3R6czh4i46=pZrWtgOp|!n@+itZ|sBjbC%l(>| z*~Njr)LOMGrC;nU literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/swinub_icon.png b/graphics/pokemon/icons/swinub_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f33656a0cff533933f5dc209da6e34e4cfcc40c1 GIT binary patch literal 320 zcmV-G0l)rDV$h6L~*JMh(g40Y&awD z(NW=R|IA3SKGR)h=#}-j(Jhx=lIn@Hu^La^>g-=1sdy_mxMat{@}W4iuhl>bFu<@D zlG(8Gk)iIvgU38OPbXDV$i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H>q$gGR5*>@k}+-sAq+)10lq^nkRk`z+oYT}S0I(!rGcwWH4+UP zWgENtaaIbLEmEaP-0}4J2>FHZ$A?0|0tA#!k3=AxPM;74y9!}D^GtvhNw|(c6157< zR>fDQUdJ80z*<#DEpE3|Kp+yYgCz5TU54(P^?;czzNn0}C$4oDb4-c5%L9TD7h zP+V6XxMI=49D2|JKj{#A?xsT-;Mhtl#cen47Fl(O{dir#@A~lxdvn9+`CKSi00000 LNkvXXu0mjf3sjuq literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/tauros_icon.png b/graphics/pokemon/icons/tauros_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..fc432dab92c0f1965c70abd181a0455ce643ae9a GIT binary patch literal 421 zcmV;W0b2fvP)DV$|9rZWbsuAYvgj(qcJ)S#+>{(6;o$6Ih6;p`Es>jA z;DLx_=@?8yAP)xHa%hNaibGI&C2KdYsC$(c(#!x1V&lUC9I#hHY862+>alz3F#(Ol zcMAYqao$q`nf>Jai+yZnAYQrMv+RBTs}(Pp(g>`*U4fCYe_Y^JiGi0(ds^p(pz24O z3n++uTd}j7bZ82rRap^4VQ#`!H}^g`h(iNmllxFpv~IYq8uX}VFTi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hu1Q2eR5*?0k}(d#FbqX=0&*NKz!jp5Y-Q|#$R8rL$6}~NuM&wN zTR^HvhDtRs#fFsy@aCugZA<=2eOGCE0rPN`0vvm#s6yR?Nc)ikKa>Ggl3{Eqj(H9i zC`|=rG8V3_YYN%PUD)bu3^{(B-rkH8x6R|G<^2jhEfVC$2Tl??2oT>uL=rRBUFtYc zDV+Dh@(?BUFZFYQ2?FG1cjA%=MDhM-K7{47`M3i#1&6>eY1`ER0000DV$@QZWv~FbwnylBX~-vSg2hnmHRI9V0Q&|FHBwNT{9K zEvjh3Pzf1#fI4AgD<@^}=^S5j23Q*qF|Ccofz>ja=Z#B7BDM_^RECJl(jyxi_4UMv zdaTvN6o6B$G{02Zpp<4c8b!q7B@P)DV$*lD%rfFc5(K1k$5)$W{nmlr>tUHQtgf9u0xG57SLh z{4f~;2IDNXH`O$f0|E6am*~e^$5v?3$DQt^?~>$iFAOlu&YBS#6U{jQjRH8&giu2a z%vn?v959-j#j{Xkh`~~52k@(A=G+_tI4MG#MrcU$`97<_eJSJ(dqTB zlRhHp`akuhgkTnOP{8ZtVXQzdz z2%UjCxV@*GHpg=SCMCo)Hp1O;YpvL~I@mYXq;1t_XvnUuZG{exZ&rL|DrS2}4>Q`6i3&ZFf3axON5D=) c^80D{2CDDq+4o}D-v9sr07*qoM6N<$f>-k0M*si- literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/togepi_icon.png b/graphics/pokemon/icons/togepi_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ded646fa16c1c1ec445d380daa38dd84b7f9409d GIT binary patch literal 347 zcmV-h0i^zkP)DV$CjJjtpsVDP-w6cd=<#F`)xd!~jU zm?;Z0JF}z1@OO#?MfhF6++D^0DfR2gx*1@n1Xw04QXp_5Zb*Q$gOmV>NjL#(Dl7oS zd?brExN=kofUS@#R{(M&{bLU&dXpOj;kq-M8dg+Tnx^*ex2CW-1&DV$@k}(d0FbqX~0&<6p9f;(=bw~#8+cP297$QX2)6k{< zu(7q-^5kzj$`kpqQ~By#Vo-{%b+rL#RSPy?CQzVIjsQtamx_eo5KJU#Cu&J63s0wM059{*cKw)^EHhG7N6<8bDw)E(0(EydF(v(XhmlrS^o80grTp# zFO1C`!e~hrG+`|G2m`arN0?~+IE0BbrUsDRu4tTS`+Y#X2tyz*kFy_{KRb{4z8`OC WE^T5`dBe>B0000UtP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H&`Cr=R5*?0l06Q>Fbqb0g7!GQ06$y1#A}#HH##7t8(g&mfz3sN z(5<0m`pg6);@k3K%TfG@em{BA=M*>k-f(qQfDJ3qGaCf?WovpY7~0w$Iw)x8KuccC zpaF1SYmf!IE<6Al`TTHd?C4w%Qz&B*wg~KwS@31D3Iv05dn}LU(w0Hx;r+tflHT!$h$BT>gdBf0l%PW!o2DH#{d8T07*qoM6N<$f=m&VUjP6A literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/torkoal_icon.png b/graphics/pokemon/icons/torkoal_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..077ce40262a2f39fbe788747fdfdecb7b6aba40d GIT binary patch literal 342 zcmV-c0jd6pP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H)Ja4^R5*?8lCcWHFc60G1noN%cVEEqR_VLB1w!&LPJyFYTnnO8 zmQW;1ArM=eUTj?yN4@R;@A7j=KE{5bVq9r}g%f>ys=KZu%_G#lHYVv(po$(K%ti

YpoY|o2QEe*PBs5xRSw&i-5U4qK{7i;(mh;OY z8*pfr?c?p2Tbj*+(*2kga7~l07*qoM6N<$f-hZ^LI3~& literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/totodile_icon.png b/graphics/pokemon/icons/totodile_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c2bc685213a5a99f053c354c3470239c23a8c3d5 GIT binary patch literal 331 zcmV-R0kr;!P)DV$(R5*?0k}VFyFbqa>g5)q$@kjzn8WPjyG`+)$r;(CgX`q!h z5)H)CRN_S=wX2b8XquUyKKVy_O8t6~A<>(N_91}F6>(x99u@`+0-ZU)0CXWX77@Vt zaRnLZ2pkw%1_;FVn4!WzBLff}_{{cDcG-J&*}d-C)U3Tu{T!O>3g-4U*`#=)6brnW z-2k;s{B`XYCU1p-Pr~?}!VFma5L2To!thJ81Fn>M)*X6wtiJakgqhou6h^112qON~ d$x85zA1}h9f!$%k{NVrq002ovPDHLkV1hc4l2QNw literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/trapinch_icon.png b/graphics/pokemon/icons/trapinch_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..731dbf569fca3543ba36fbf859ae5b0926beddcd GIT binary patch literal 314 zcmV-A0mc4_P) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*HxJg7oR5*?8k}(d#FbqX=g7|cZjawjRYQ}nMuNVm-cM5FDR18V8QE z0@%W|ulNn1>?;{Dr9{0~tK7 zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H*hxe|R5*>@l09z2FbqaLWVSB#Y3UFy(vrcxT=yI$i&r5U+%bX& zdMRo!4gy5_a)1IYH$LzW;On|S7UmYpU0g>32%f<@Mo^CmtOYJWeh9?)@!bN8!GA7o zfhvT~k_4eGwoMS)vn7EabDfgXWPTk8sI}+c5@z7|%KN#X0CmP!$a5~GcJ!q*^-nYm z47!rL{~B&F2K)QzF9#0>yFr0|>7YVGR=_R zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*IBuPX;R5*>@lCe(2FbqKR1>~pFwO-=&`b{?moznSO?mLkB11ty$ zIs}O{66p|xFiCSw+ZzC}L5A9Wb)3|CjQxQ{Zcd0&;Fu#LAw-Uz&rj1LWer?0)V90xcO*$l~yKu6% z9>9xq8mX6ia-q{T4f$p<#zzF8UHJ{(9Qqp60!BID4%D!Ks;QoWY76MAofSsu0k-r9#{eAaf$=Uj7h0oc0!A1#_iIS+jnCK{1w)g&B@nn2$+IQrZ<^pj_}QOcCUJVfrMD`GqhSe(ddLY(Mwo6WxdR0Z8;P QnE(I)07*qoM6N<$g4hJQ5C8xG literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/typhlosion_icon.png b/graphics/pokemon/icons/typhlosion_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e15d7b6832295412e11211f0063f8813f4b86580 GIT binary patch literal 417 zcmV;S0bc%zP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*IA4x<(R5*>*(!FZKFc83TJ%PooZBsu-pEZ!|29voccn=)bUNGt! zY-DM*F<04GUuhno)uun3Er}mve|#BE>6VjPR9d*YbW3MqAeyR5B?ACZDU<9=3pK@H z!CI*5Fv6j9BVGIpciUG17W|9_n1v7kWeDYmSW65Gq6;@|d_YMq$PnHnU1xEW?dT6? zW;u&bi8`E(OfMRVW4vDBzM;|2Y~hNCZG4ix(Sr-g$TurAo>;zy_8}CS{l`Tt^Fds3 zm4<~bQyv@`GU*6SUv&&Cn3o*T6EKIW`vu0D5Oy$;!w%*>aM-~_A0Eu;g9CG1!FV5V zrt=2I&+K5@HiF@15Y2#Ne3KOn;wj#*zhMrh(E6T%+1mXP%yS< zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*IF-b&0R5*>*k}+dIj2f#$EBOplWD2N>%^T^;Izdq*Whh+c&002ovPDHLkV1g;}#Iyha literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/tyrogue_icon.png b/graphics/pokemon/icons/tyrogue_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..10099d5cff34b95e09c039d92d0e19d2328276d8 GIT binary patch literal 321 zcmV-H0lxl;P)DV$@k}(PcArM991bUb)(gbqcfQ1(jl445-bA^TNL^QBv zBu1qZGVjd zjID+Kbq*^`8N$HzYVN`?=%D5y4C;_`7e?ryyD;K&br%LR#UTuWyzGRb-+p`mik+oQ TJBYzV00000NkvXXu0mjf+FFOh literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/umbreon_icon.png b/graphics/pokemon/icons/umbreon_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8d8d867c2fa3055b9285b01ad0c7406fdd7a9b6e GIT binary patch literal 358 zcmV-s0h#`ZP)DV$;31i<&68xPZX zN=0a(uqpRcms>I()us%XhaIapmk(yzvsznzgy~Aw-f~7LO0oi=8Y1La-HEBQA{7wR ziB?t7X`@g@gj-F%2D*Ids!OtMo5G)r_rj!&Bn+m9Ny115^b%%HdPHIHaLH8{VbGR{ zC`>+n5k_rk{8JbwCF89yx9V*_3WH*rl`ygu=G%Te0P-8Ks|UM@UH||907*qoM6N<$ Ef+VAteEi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hen~_@R5*?8lCcedFbo7U0hXYT1@s`1{dWlrU?&WakkWQROA5X` zo#ijyxy}R0fSU~{2EelDo7-Qz68yR;1;%i&0uzM`6{z9Fw-Z;^O$tpZY`WKKn$ET< zX45pm7zN<=BEJGU6L<+6VJ7uuAW}k8w9s+>IYa@zpTh$sRbWxYXsieT0000i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hl1W5CR5*?8k~Vr`dH z2=Sy88O4z;57BoA@b{jJBdJK+UM*n2fmQJ7@>cniaS aVMd<941fP$c$rQB0000pWQ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/unown_D_icon.png b/graphics/pokemon/icons/unown_D_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..db6b0cf8ae3167806a9dfefedbb367410a800843 GIT binary patch literal 257 zcmV+c0sj7pP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*He@R3^R5*?8(lHLhAPfaiP7sS8APBlQQnJ(g-y*cTG0BdT(Z2_% zRHfejlR>s*=YGCaF;j{tG*K}?k#Ewff!AE7ZlK+lM*zt0T*<<7 zN1*db{rps#ouji73^pj25w>IYZ1cbj`RrKTh3bC}-#mu{XrOU%>rVz>00000NkvXX Hu0mjf^+Ime literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/unown_E_icon.png b/graphics/pokemon/icons/unown_E_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6addb828e85b7bfade9ea5f0cb0e490222138d59 GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QU(D&A+AYtnwy)8_wL>M|NsBJ zOB}y_)4ZDG_-%@2clG}yue0xp=ltKYWXaM0S!?DbB}F+pI!3OXkOI`pSQ6wH%;50s zMjDV)?&;zfV$qwNAn~c;zx}KO>Z&1vbqD*sSFk^x_lEJr~>`{tvHFZ&}mw z|FQDo_7h%qwIOC&Q=ZLqWzlyzSN;nDA?<&v+u!Z{pP`pp x@tx1Nf#3Pb+zZSlf^CW1Zj+g{7UUK&Fchmto_zMm;t|jZ44$rjF6*2UngI7{Y`y>h literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/unown_F_icon.png b/graphics/pokemon/icons/unown_F_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3c45017b1843d8f53c429c0a52cbd7fb0fcbd21c GIT binary patch literal 269 zcmV+o0rLKdP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hi%CR5R5*?8k}(d0FbqX~f=0>#h@b~Rl)b(GEil~;ZugjEitU{N z32%OS{&6G&T&#lZ7W{_M3Oz-m@cKfn1b)uF81Vj1o1UovlOp{2PZGyQY6ce4Ldq*F zytSE3l2fN+We=!?q6paU`ASVlm76)Aa@L;9R8|V}uxMM|NsBJ zOB}y_)4ZDG_-%@2clG}yue0xp=ltKYWXaM0S!?DbB}F+pI!3OXkOI`pSQ6wH%;50s zMjDWl@9E+gV$u8dk|9@v0T1hiISW|%6BfJ^Em{A4f9ut~5qEn(|L4nVO4w%e!`|Cv zpXt3E<`s$>9--M)9V=!iMX*kY+HhFk+3m%#4%tj!egj#SJBrq^g7s2w9&x=3N^6^T ozopr0Gi5Uy#N3J literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/unown_H_icon.png b/graphics/pokemon/icons/unown_H_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bd4fd96bfda865a1c569e3ef5004e5ba0f7ca33c GIT binary patch literal 270 zcmV+p0rCEcP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hj7da6R5*?8(lHLgFboAypMc0cK&+IVNU*2(zXi0riObF>6LC&} z5P0*8zU4?J`nCebK1^v41m;xT`&!MK*7Gg*OvrY;oZM|NsBJ zOB}y_)4ZDG_-%@2clG}yue0xp=ltKYWXaM0S!?DbB}F+pI!3OXkOI`pSQ6wH%;50s zMjDV4>*?YcV$qwNAo1jZz0~~pkIb_g6rM8ue;T;M|NsBJ zOB}y_)4ZDG_-%@2clG}yue0xp=ltKYWXaM0S!?DbB}F+pI!3OXkOI`pSQ6wH%;50s zMjDV)jhIbaSJx+83cVzXs~$uVCvL_ r2@SkVNn*-gEWfV(=Uepna(M;ghv*RDun@;4pzREvu6{1-oD!MM|NsBJ zOB}y_)4ZDG_-%@2clG}yue0xp=ltKYWXaM0S!?DbB}F+pI!3OXkOI`pSQ6wH%;50s zMjDV)rn@Wsb~;bUa9zmu3=4$yW6Pgg&ebxsLQ09{dMi2wiq literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/unown_L_icon.png b/graphics/pokemon/icons/unown_L_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5f6fb9db8e252ca56a2540c4feab6525f0390554 GIT binary patch literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QU(D&A+AYtnwy)8_wL>M|NsBJ zOB}y_)4ZDG_-%@2clG}yue0xp=ltKYWXaM0S!?DbB}F+pI!3OXkOI`pSQ6wH%;50s zMjDV)=;`7ZV$u8d(r(@c10I$De+L$Bmqt027l;2vt1L8UVdL0R&ePzq!sQbvme$Xf32hUCS*6gDqReK|Un)6(h4G}cC q#^_?2^hAj1qQd+Y^|Eqt?ZP^@!Zus*{QU;BoWax8&t;ucLK6UpH(qoA literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/unown_M_icon.png b/graphics/pokemon/icons/unown_M_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c9b8d0fb43b894fea799f18bfa6a0a2a620cc1d0 GIT binary patch literal 268 zcmV+n0rUQeP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hib+I4R5*?8(lHLgFboCIoB%5vz){McO0b9f--49g!C~iwgX(K8H7liH!5X S%K*^;0000M|NsBJ zOB}y_)4ZDG_-%@2clG}yue0xp=ltKYWXaM0S!?DbB}F+pI!3OXkOI`pSQ6wH%;50s zMjDXQ=;`7ZV$u8dk|S4xf&l9UOUFyBGMj20-@g5~-Qf1@VD=d;Ub-1qH`#G~`cV_Z z@nJ7Vee=>(zGIRRtqLJJLScSCSr#eXz8RKqM`z_b=`#$T{!*EK!b`3*+*IQY{~%)) zF)v^WTaNi+6LkyWa~(oTZ*0Zm_uY?aTAcCVyz{^JAC#nZOS9{5oV;ZUbPR*1tDnm{ Hr-UW|9WH54 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/unown_O_icon.png b/graphics/pokemon/icons/unown_O_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..14a88d0627cd3a8cb92f891284dd2b070c77f7e0 GIT binary patch literal 260 zcmV+f0sH=mP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hf=NU{R5*?8k}(cKF$_a<0;+O=R)xI-?B)Kq;D7d%{J+<9!#M#0 z;muF7lffcirT}Udsu95XS`(ER+M{`J z+nYKtBMd^GrJySz4@ICqWc1-a6;%vnaL}o{c;ftT>pzFj&fx{Bzn;T`m|ds<0000< KMNUMnLSTaUYH{WO literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/unown_P_icon.png b/graphics/pokemon/icons/unown_P_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7a7afb8de89ae0073fbbe0b1a9ed1c921082cabb GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QU(D&A+AYtnwy)8_wL>M|NsBJ zOB}y_)4ZDG_-%@2clG}yue0xp=ltKYWXaM0S!?DbB}F+pI!3OXkOI`pSQ6wH%;50s zMjDWl=;`7ZV$qwNAW`M|NsBJ zOB}y_)4ZDG_-%@2clG}yue0xp=ltKYWXaM0S!?DbB}F+pI!3OXkOI`pSQ6wH%;50s zMjDWlM|NsBJ zOB}y_)4ZDG_-%@2clG}yue0xp=ltKYWXaM0S!?DbB}F+pI!3OXkOI`pSQ6wH%;50s zMjDWl=IP=XV$qwNAn~u^|Nr`s#{W%T@&O_>ld6~WD=92r)4r%B{=|(Jid_vKtdmU| zzrSGmf03mjZIAm#*SJW34%gO4|Nl3g;CmSS=fH;mKHrA-j9m;y{3;3^Y6m{_C5k9C eUwq==%D^zY(ZRl~pUV(vBZH@_pUXO@geCylR$s{g literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/unown_S_icon.png b/graphics/pokemon/icons/unown_S_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..44f17718bf238fee790aa61122c7391cddd18699 GIT binary patch literal 259 zcmV+e0sQ`nP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hfk{L`R5*?8lEDptFbGANz@`gGTJM_ZUH9L@;=S5B0DAolU^J22 ze}PBSK=iIslU+P8YXIPC@BnIHbW}zI6;?eENMw+5$hf!2CS3nL+ibvTz+!;A z9r#umci2KrPUZthrMDdblK1TjAZN&wS~OC#(r4>G7ywTn%mtG6V@=0CKtKQh002ov JPDHLkV1mZjY+L{U literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/unown_T_icon.png b/graphics/pokemon/icons/unown_T_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9023b73664b14af8f1a8179c83ad3200059228a5 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QU(D&A+AYtnwy)8_wL>M|NsBJ zOB}y_)4ZDG_-%@2clG}yue0xp=ltKYWXaM0S!?DbB}F+pI!3OXkOI`pSQ6wH%;50s zMjDWl@9E+gV$u8dk|AG%0uSqjc??SI3j)j8?tJ{WJ>X8~vAL&yz0O;-F*?5P_EHyp z{hJ%N_f5=s$tEVTve)47RmF-%!A*|$cQ%GAtO@(FwEe`y22WQ%mvv4FO#o4UW)c7Z literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/unown_U_icon.png b/graphics/pokemon/icons/unown_U_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3d315ebf2600d05cb5462270eef9ad7801decb66 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QU(D&A+AYtnwy)8_wL>M|NsBJ zOB}y_)4ZDG_-%@2clG}yue0xp=ltKYWXaM0S!?DbB}F+pI!3OXkOI`pSQ6wH%;50s zMjDV);pyTSV$u6{lA&0$0grQS)3b}rD*c;`FWBDsFXm9L?)QB~4_CFg!|eU4w)|q2 z^JDB9g!tN;t_8)}R`kcspQD*M``SdOwuiP=uS}2le>s-$?^wdhUI|9=Z$Tw99YQVq ymtPHWM|NsBJ zOB}y_)4ZDG_-%@2clG}yue0xp=ltKYWXaM0S!?DbB}F+pI!3OXkOI`pSQ6wH%;50s zMjDV)>*?YcV$u6{(r(@c10EM+M;&7Z%@>YMa^K{YFFa?qJtpM(Cg8GyU(v(m*73>7 zcIrxA6Hf7Uy!f`T;f+Q`3DXAa?Mjm#+de(U%)&JDLDYRO=4N9p=I`@PF`ktOj9M_e ziuKK&vyqKYS1`DX7`%S5cNMP=YtGjC=>OJxe)5T*O3s_8`X_TT&>;+-u6{1-oD!M< D3g>65 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/unown_W_icon.png b/graphics/pokemon/icons/unown_W_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..aabb0663e17c3b92fa2e8f06466bed9ecfe82772 GIT binary patch literal 261 zcmV+g0s8)lP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*HgGod|R5*?8(m@V{APfc2o`A+-kBROfvG>1=cz_l-fJ~fBw6J#N zOgE%&QTmetJg+cyP(lx*?kYgmfK!4jA8+7zz7RWreZ*W74i^l?ZK1dmP~7apG57rU zMT>X^Xqlp@?Tr;;oyOQoan;Ljv~UAv_S~lBuK%(6pF^AW)^m6R2GnQ=0Q-@600000 LNkvXXu0mjf$U||i literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/unown_X_icon.png b/graphics/pokemon/icons/unown_X_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b5be9e10ba825d79928e539e2e52c2b49005fdc2 GIT binary patch literal 255 zcmVi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*HeMv+?R5*?8k}(c|APhx&0*J6<#2pg2|6PCsQ1k%SI9b?T)NXz0 z|80{G@V27X_tMS-P@V`R8{53KwEG(zyD6UQq*M|NsBJ zOB}y_)4ZDG_-%@2clG}yue0xp=ltKYWXaM0S!?DbB}F+pI!3OXkOI`pSQ6wH%;50s zMjDV)>FMGaV$u8d(m~!910EKKaEB>(>^&aJt6ZwrZ(*9F%(|gwbKV1%U4P%6_;y<9 zJlDQEu`?JCGSvBUW=dFB+x+6t)3ZENvLq+h=8atx&z2y`0}6X{yc$%UH4I|cr9IdZ zF!lEnUYUFE_Xs*a6J2{T=4$M{iT|zt{E*GNp&wKGr?>Y!&=Cxtu6{1-oD!MM|NsBJ zOB}y_)4ZDG_-%@2clG}yue0xp=ltKYWXaM0S!?DbB}F+pI!3OXkOI`pSQ6wH%;50s zMjDV)WjZ?Z2R!v{V8*8^D}FM|NsBJ zOB}y_)4ZDG_-%@2clG}yue0xp=ltKYWXaM0S!?DbB}F+pI!3OXkOI`pSQ6wH%;50s zMjDV)?CIhdV$u8d(nj6}1p(Fzvm3a%9WKNPzbX8$%Tg^O%aHv1@1b)?BM|NsBJ zOB}y_)4ZDG_-%@2clG}yue0xp=ltKYWXaM0S!?DbB}F+pI!3OXkOI`pSQ6wH%;50s zMjDV4<>}%WV$qwNAd&UJUTS{)N9I`#3cDI)Y+3%DUc9R({^MMsu1Wn~Uj1J#vV3_G z$Z}8f=0dI;f2-TI68=kuvhLqxxJr^|e$PFi+W+>myxk=vd<`_V1(+XXU}&9SUtPQA R&jz3^44$rjF6*2UngFu|S^@w7 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/unown_question_mark_icon.png b/graphics/pokemon/icons/unown_question_mark_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a9bb509307f75f71bf1e48d2f092bd8c1b0f5a02 GIT binary patch literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QU(D&A+AYtnwy)8_wL>M|NsBJ zOB}y_)4ZDG_-%@2clG}yue0xp=ltKYWXaM0S!?DbB}F+pI!3OXkOI`pSQ6wH%;50s zMjDV)?CIhdV$u6{k~Lq00grQaQ`lYyts`+NH%|Y}cT9NC{%zXSieyKQhiCoECMkOD zjb6rh!&+hLZXQv;fK`0QgZ6Rycs}4{aJ`w~7nfC&GEw8&Cx(V2OIsOp77E2S&g)lj swEyY)Cib|-o=bsjc1!;!%GJ&g-rDQ8vw*qtD$sfcPgg&ebxsLQ0A)L3@Bjb+ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/ursaring_icon.png b/graphics/pokemon/icons/ursaring_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..143353f31f1b8a67d6a98c4d71cb17503b7831d7 GIT binary patch literal 355 zcmV-p0i6DcP)DV$@k}(RyFbqX~f|x8Bdx?UfOYc$wzhtSlcI+(znR>P4 z0wEAk$mGTz>hG=44yBsRLy~3d8S~R&Cp%?e5xr+X6_Qn83(uey2c<6dylg2{WS84j z7^rx!K&nygI!FQ*YumJRvy~NSJply388`qB$4x_zndflf7Mi^XZ$a57P@$}FO27=| zI8+3R{lygJj^00xrf^4-$Jm?yjQ51e{0M)X`4NSoz4#~$ZC|1=yxSlQDYTuVFs~Z* z&9-dO1f&5v&Zq;JS*cj!(qwaJ3ZKAt{OCXN;|UwglOz-U%Zva3002ovPDHLkV1j+u BoKXM( literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/vaporeon_icon.png b/graphics/pokemon/icons/vaporeon_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d4003c2a8407421c40c601e9ce1aa93e7c565c1f GIT binary patch literal 393 zcmV;40e1e0P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*I2T4RhR5*?0k~?a|Fc3heNf)d;_y92^eR2vFTlq8w6^mVMF|eT1 z1hOzhR|rYtN-v9ksE?GY%m8IOB&8rA@kzQB+@8(TbE|R}2sC$4c@FrDDV$*l09z2Fbsutg6K#YGG_3kNrSg^%+||M2oGQ(xk9Ec z1zZo|M8J$hV+Rz0cJA>;BgQp)>+v_=@D-Vkf1=n7%5}WB_n& zDVC5d_+b?ughniY^Rb6M7-I>*=ZelCqZ^Vz>7#vg7!0>`2jhWcaH(Ywq$3f4JeJ;5 z&n(sSb0@%lycgvgE@$VjMc9pBC$1f8_i_5!1~7h}n~XLE|LZi%RoXPnP)M{6Q8P?o z*~LYO+SIvQ#@8~ZVqme(r%gp1!uHcHBM#1|77GsS0xwBOIHZbs literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/venonat_icon.png b/graphics/pokemon/icons/venonat_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a2ed54b717240233946c022501d3500d65fcb37e GIT binary patch literal 322 zcmV-I0lof-P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hz)3_wR5*?0k}(RyFbqX~0_zUBfT12c^fq2|4Q1+D(ZS~^h2$z( zLm&iuu_ra{(8yl9wDfO!e1QZ{sox4$GuRc@f&>#!1%bc~O9E#Tk{2N1C8SPN7_mbE zz$V<#z5~aMj70AWIQBNv-pK6O4gx@Qd~fB-5ZSe&p|U5=B<@(QHzFE$pr>t~1eklG zMT=kbvPG4d`wHk${cE5$C?1$gJsM+;mxMVql`#HGg_$d1o_-XDsE_=30Hj5l U@#*}kSO5S307*qoM6N<$f-9qn*#H0l literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/venusaur_icon.png b/graphics/pokemon/icons/venusaur_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..fbd5380f5dc7ed5bdd445427f8232e559bd383a1 GIT binary patch literal 447 zcmV;w0YLtVP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*IJxN4CR5*>*lEG?(Fc3iZ3(TkNp}iN{@ft7YSp5uPq4aYELHwVE zL7{q0Jt#sUohC8H?6OO*?HmI0m`O6pI~@Lc&`5NVpPEw{5LP0ob3J;XkgA4My8|ky zS{mQO=v)?U@#ZULg*vOy0mdXDqC#{nGvz7iZHf4L%$!p;B$NOj@)d}b2zugT__SLH z9U4us zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H;z>k7R5*?8(yTf;aoqTG5YJ_+}e)jcVY5Fyh6S6IXoONsb`1nI$Xl#6Y62N zsY9JZ72 zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*IGf6~2R5*>*k}*!hFcgM;f>?zcaDg77OH&CJmN+9U;MLdY#%zXm zVjxSe!xA-17Y55gO{5|vKToz3r(&;EZ~qrR>%I4du`4?XP)#!c)=zVG6qd)#MV5+Z z9&6gwQsj!+SkbOtrL+<7R)Ro3-a)HsNXxnMk#+O>W`+^8=<3<+d{31D$nFj3_6*Vk zF4fn1U0UP>;6RG9#8!w@@tv!A`2p@4k>&Q+fhLDuEE;Mb?>j%rW1;nNN#khW+Tp4A zxZk9rVkT_o@LharVU_+1sDU4)$YBupj@J zV4qKJc>5K1&u|;;(+3aKV4rRgCb!-`y(CfCXul!*Cl8|i)7JGh+DGErkM`{_%3yzJ fEZQHob9wuJN}A!i+`GSH00000NkvXXu0mjf4%^PG literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/vigoroth_icon.png b/graphics/pokemon/icons/vigoroth_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f8808cde3792b99e50e69a0538d5ce16de8fac39 GIT binary patch literal 358 zcmV-s0h#`ZP)DV$JdFL=673<3&Hg>y>)j`!s_GLh;}mdWZA(I*H7x9cbD`RT zxJ)}hLmGwx==2u&kfH>VJf3pvOX%sG*BsZfK!Vo9NdbwRD>AzWQcD7dgSLhQ?IF+P zHZIGgR5U19mC<0Va+>_Z8*aEH!91Tm`;+yhAR*$0S&#@cOoGOG7o3Y>6%>7}f?`+% zQ82S05HO1%3T76Rb_YSaGcmX~FzN`#TdNK}y#LV01NH2XVZ?ozG5`Po07*qoM6N<$ Eg0MrID*ylh literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/vileplume_icon.png b/graphics/pokemon/icons/vileplume_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7009048c53e7eb931910586ab803d17086c5eac5 GIT binary patch literal 410 zcmV;L0cHM)P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*I7)eAyR5*>@(y?m8Fc1b{J%RL6eubc|Th4=vHO1P}Raw#(DD*9y zp+mRgLC{z5Qkz1MGr5LBuC|b3$%I0;lH2a*&YbO!kpEqXc#7JrgbwFEJKzf8#V70_ zA3n@o58$?XFkP}r&L$HsFlm7arm}NE2a*?K&*AJQ)?D&-!wc{$>oVQSO_}+C0f2z1 z{B78SXaMs0GKRzA_CYBX_EcAcdJY2icCVEVMwr$*-Z_o|20i(Fs&;kw&}wf?I6zE& z+>^LyO>VXpADvk+bHctYm{*^$F9$|kz~mN8a{-gL7R+*L`N`>;SQa^M1qW2fccY;9|E4ovjrun6#xJL07*qoM6N<$ Eg6wd(xc~qF literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/volbeat_icon.png b/graphics/pokemon/icons/volbeat_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..849715d33cd67edea320732e06a872afda9bc483 GIT binary patch literal 335 zcmV-V0kHmwP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H%}GQ-R5*=eU>H*1{RdP&U#LHje1IhKCFKAAfAL5HU%!5@bBRY$ z;a(RXhhz}{_waI8zj`E7YhupCJugEj`F`fi(HG_A2!YQ&XU=rAr{^PV`E#bDqy0HT zfWPmBbH~3jgaE^jj<5aYY5(Ak<&*!>@&8%gXFIrxckllT*8MlqL+E)L^6%LvB_#jx zwZ{K@_YOG(JUZHt`3!vTT;AoO2r#^R_kaNvp!0_)7zW7!VGA@lAY2bg4#=?&P7X-P h1Ckt&{Y&rU008(mnQgFjkYNA-002ovPDHLkV1m?)n(P1o literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/voltorb_icon.png b/graphics/pokemon/icons/voltorb_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..53d318fdbb012e582a420dd30020e28b3a8beca2 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QU(D&A+AYtnwy)8_wL>M|NsBJ zOB}y_)4ZDG_-%@2clG}yue0xp=ltKYWXaM0S!?DbB}F+pI!3OXkOI`pSQ6wH%;50s zMjDV);OXKRV$qwNAi?DV$)C#tc5ub;C7N`WS*dFmrNdr zNag?@LYOml5f+*|#>_#eCf~w1;#YA7kkVFbT1ZL%2%&As5y?0&xJ5wl!i-=tr*2`u zcFkKDTt}G$hA_I>Z9Wu+R$*+S3FBV*5@r^>73TV?A5WePk5c5wxv2mE002ovPDHLk FV1gG%gX;hQ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/wailmer_icon.png b/graphics/pokemon/icons/wailmer_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..16ba6d4b98a5686654e47165ae74ea7a727b1d74 GIT binary patch literal 359 zcmV-t0hs=YP)DV$HFKmSL*l0%-5G05vz>o(jwYwo`(`GT1XZK@GAgf(c2251dJn0 zx=MuKhrv4}ga?cnWda)x31GJqxSx#wl*dw17YAdCb$_;niPa>Fq-_8I002ovPDHLk FV1mb6nLhvk literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/wailord_icon.png b/graphics/pokemon/icons/wailord_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f84a7ea702f3f734c055d116087a8bff70f81501 GIT binary patch literal 392 zcmV;30eAk1P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*I21!IgR5*>*lCe(1Fc60G1Vl1>CA$*~mdH}1sxO!2B2|iD@=bZQ zNK7m)(8XSQoP8#8V1bQV8FK%Bw(fp?O>>=x=vxir$|V@ysuD5a($SIwz=0x23;#gB z8_2elg=BXuJnP~+wmSe8=6v5B_x%p|4WsXq5M9qUH=t1usU?QvKG*oZ?O14EQGCSl z;?om%$O@MjWUTfPi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IS4l)cR5*>@k}+z-FcgM$0vVIVLrBjM-YVi76bkL?yO=C*Fv^*X zDR_9;SFjNV4?@Wj@DS=Mww%gYJGI*W59{ao>0|6~onXAIvQZHGgp-8ACz?u~K>YK8 zrs14G&6sOaeT}vS#vrdJqAHX&1Dx}`y5A6;=@b+~2HOcRbJg9e5Cx31ZKjfI*d<$g zCBD(z`bAZeS`eLTH@F3xJ%osExF92wM>eMpv=LExED=v`)K()N1tPvIpe;aPy6cHl1HXdNSN3&ilf6D*ojN>YDV_(__x>RB!P6tjTKNVcqqJyDY zUX{3mS%*V5NZS%$oDN*rb>4kB1hWpRN=yO*%F{UOz|Tqbt_p$}oesg_ph|~nDV$FbqX`0`nF@cSlCIEc9wE;;b9Qw+KA7v!@I} z?`0Io&_xKK7-*I-E=)Ozmm&o^6xGHD{x1#>;7>i28HoAee!+MExnZ~z!F+XvSUQS) z0L=Xej?C5!AbJJ;7w`i(+A;CQp5*ftjU79XITAf>gh@f^cSO%k@3_-a+69VDT{;Cg zB!r8at8|zZYg|!RT{>0TE!(1=W`I*G=f(OuXVpjh@_w@bAvF6tFrev+lyWlwp@V<& zelEVR~0~+W9NOWOHF4%!PsMdtn~%;{wXSnnt-D RPmcfq002ovPDHLkV1g&*o{9hf literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/weedle_icon.png b/graphics/pokemon/icons/weedle_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a36001c686471977363969a95391b8858cf7221 GIT binary patch literal 279 zcmV+y0qFjTP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*Hl}SWFR5*?8l06CnF%X641j$X@!&(h!<~)J%2FeDz6h>jI1!Xkd zn-o?SBED`u-u#3-qMwtEV6g!$6W_3o+bIizHSaW`#Z(o0;_0s0gIU;3eay^mXk0m6 zsUWc`VT0g!kcNON*NQC^+CDk(vNZp^(7fTV_xh&51l-aCb1q2iA`bL?_}}mO@W)p! dG+5|kdIHyvXQ4Wt=m-D+002ovPDHLkV1keCdSL(n literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/weepinbell_icon.png b/graphics/pokemon/icons/weepinbell_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..eda2fd29a303fcbdeb71ea88f01e2f828b0ea8be GIT binary patch literal 365 zcmV-z0h0cSP) zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*H>q$gGR5*>*k}(p(AP@la0`D>D{0EuQCRJ$j4IAyTp-3f--?53~ z2f{EqVZ`Pn@kqeV&QQV59e3Q4Ws6&A(laQT0w*yIcX0-A11=7*b@oDOQlO;26bxn5 za7HH#*Z>%+jgV+Lfr^#eljsW`0Ar=vNXB?gm-g)5+2d%qn1Xh>bzP-iM&~2;J`RK3nqSlZ02M}lYePSQHj>JB2B>NMnaJ27@ z1>oHdVl26|qkZ)D3G~4}eFy&^$bJA>uwPGgKK9G06|z6K_K)`8#?-8-75mXc00000 LNkvXXu0mjf(sQMh literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/weezing_icon.png b/graphics/pokemon/icons/weezing_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4ef2404a9a2b244f821181129c7c1eb2c6da813c GIT binary patch literal 456 zcmV;(0XP1MP)DV$@lCf&TFc5~dX0aY7TQT(Y0)>**WbBru9h?5f8Zzp@ zui&x8AOs#IxSlN8PRY=<^sur0>HgDM_bc`HqxluESI7J&50)ziE=$_8WgUo20kJ1) zV@qTUkTs${PGo$M%)k=b1=Ip88(uOZT_>^zK<+0g_B8?yrU3K6MBos(G#ft7wS|#R z3(#N&eDKRpXf#sLFO4fTUT^}sZUdcUjNPz;YH$bV#x-Lnw^JiFNlwG?6G+m(j^jPr z&1`Xw<_&0{zWZgitfTSFE!hk-MY26XM*NmRoBRRpYg=X&XAoP9K7(lnM&{3@20hk< z6myN8D6V_41KywVE@66=ZNwj@^r3Nn5rt2k=AyxHfKlUWnDLVAQLV$SaJtA2?go6F y(7_GsDY)wMdAKo5lRR{5n5GCfNfF+k=p5grD)IOiKh9_X0000i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IB1uF+R5*>@lCf@sFc5}s%ZBw&ULp|6UJ3O9DyEKom7pTACF+)~ z&(tjgf>&_Vr31PIb+tkb#E#9_sp@V1e74VbAJLx=F^Ee5^ij7VsOvgN(HsDA5$KK< zthS_Ef%UuH-YL@S9*Ij(B=iT6kOQKJ30c__)E9XHRJ^?bfvU=ZJt+&){23##cYJ2R zCY3L)s=J0fUDi#%{sstbT&E^zCq_%hr}90 zuagdt)}WgXDBbvH9Z)zh>mc)m4rS~Li+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hp-DtRR5*?8(lH9dFbqIZouEFhhCp*48Irw%=qjBPFxdk3;Kq|B zCqp5bN;Q6DtlMq=tTGL9D@LUxIq$n0dplhM3yG zoJQ>Hzj0Vzl+|&O0?ng3^+7byTZcdtbN~neZP=IKKNsdJL2I^xSgfD|#t8DQAZ`Sm pg0W!-V+9p3TF?OuoPoK~#|Nd|gm&d?Mn3=m002ovPDHLkV1g5wei+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H#Ysd#R5*>@k}(d#FbqX~g60l%W6grdk$Q~Y#z^f@i6I_x6~tJi zD04lSl%a9DA`rq`p8j_RKY*Ve*}aWV8JSc7iBG_xL>3NW!l(g_EDD%~ke8$q0c*e{ z7q1(Zh$_(2 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/wingull_icon.png b/graphics/pokemon/icons/wingull_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..524ecda23d060e3c597308400d50ec7a1d2d1e56 GIT binary patch literal 360 zcmV-u0hj)XP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H=1D|BR5*?0k}(c~KoCXe1W;f}B*6oaYxFT+vMj7qSebWCZCUr8gW5rz-==$%^kG? zTNBrex%IDqV(m2?WYU4$Bwy%2T@|aD4tk)(TnBRZVyOcO;=K;DTkGpHw20&k^w-y6 z_CvG|8LwbRdL5+G#pB*VhhD$PfX7D%;(-BHhnl{czttN#hGb0E)ds8p0000i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H%}GQ-R5*>*(y486E2P>Y^zK>{j5)ly|l4}?A-Ovl^Lhz&bg_8RoYt8H=xwe^#qi5 zLrYGuJZ?4HS2M9=)_>w4>Np5d#o;1O^!GVDYw+S+!IlrQ7lbz?0!l;T=`)n_@54m% hu>tKfDEG^Jya2Hq#umi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*Hu}MThR5*?8k}(PcArM79!FugU2zr4)`c2^hwn)1R1Gz%V6pL#q zD9)Ndm|4@LUC8hLj9d^PTSdaFj6fjn?Uo2nFbrk`#`}jz_>FxdXn^wS zua9;%7`+`#ffx(>t`5e^@1BNf9e1L literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/wurmple_icon.png b/graphics/pokemon/icons/wurmple_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..52b46b4901e5bcbc1feeda066b6b3517c1f3d433 GIT binary patch literal 331 zcmV-R0kr;!P)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H$w@>(R5*?8lCcWHFc60C2@LcNq??0Fadpx+s7seVoy!%Hy#b%4 zQk)8*AXzLlCMjIfE(O6w{I~n~?+D}r_`R6L%w)d;1}SC-Mp+ABKrMY4P=GciUC3XE zMxO#OSYRg~v@+sVV^woH`b-ZR5qT3pR#?yyU}?6s1r*L%<7z7(Qi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H-$_J4R5*>@(lKrXAq)jjP5`&0%v{uDF0jT_TLo*Yt?&?U6b<&I zOPBnPCmWFL5dK!?!=DrEUIqX;5h&zDP(${PD~#DyOwRyxkaj?E@OlJmTQJ05n&w8- z4UA`giV&YYgYp|H@b@{E#=UktD`H_NSaH3=kpcPkZvM`i4+|l3i!J=iqUJ^iY zl5RRVD__IMANye-?Z;)5It2$~6!HK?1bM;SFPBc8{eh2FGV`_(nstzzbGQ2;_ZQ%C zw)CnCW7nZq?h4g{rmvFNbY&Ww9*sW1;g|UY=}6UwqcIhp00000NkvXXu0mjfUpATB literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/xatu_icon.png b/graphics/pokemon/icons/xatu_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a0e6d6fc99d4a123f0d40f7be8a8a0f44138712a GIT binary patch literal 350 zcmV-k0iphhP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H+(|@1R5*>@(yLr}Xo! zwaJw>TAu)0@fq+D7XEg=0S03*rvQfj{0$8A5x_J^D&7m@uz``yz7)VHAg63#U}yIN w zb924Dz5oCJdz?y~%}SK^O73%<_LTO$q+0goDfafP)zxa|N-1JuT0ucUX*qpc00001 zbW%=J06^y0W&i*I0!c(cR5*?0lD%!jFbstSq&JZX40r(-8o(o5l`>t<-3=QYa2-KS za1bn{WL_le&+bztENt`fnWCi6m_HWq@j>V*Br3$n5?RrZKA}mEp{x)XQYi`r6_HpU z@tQ59%B*8-jV!#}czs7GS#sPS%XNcYszU3EYp`vV*y9Tym{`J6EIO_i55CWJSVA1q zf7@y>#+ku5_jE^La6L7#{v6H+FgWvX1LRLR+5NOT4#X<^tKAce?0-rD!~|@q81LdU zn?eR=n`cxU3NTXJ?!bVXkb%Lp)n#^IG`47iBw#RUCny1<(k3my^gIFccJcnO!wk%E i%Ndxna0cR+f%yTsD!4W+Oi+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*IAxT6*R5*>@lCf@sFc60Q1ok_?mZ6sN50yYN50wY#!({VN1~xkM zRZ_gQl0jyOL?oP(62rmNwY}{=`ObItC&b?hzXxvE<`M)V2Re%Q$xbOCepm)ZoXfTr z7Y5#4J4ho_#nD_*OJ~w$%Di67+QB0M=L$Q+ph`VLjwS%mOOFDma%Ab^=}(vB8(zGxG*A+AK%=MKz>X$^FxszG4O54j}W%s--Wozh3tRt#~pPamB3{B+tC03 N002ovPDHLkV1kz}y~6+i literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/zapdos_icon.png b/graphics/pokemon/icons/zapdos_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..26fc734275a300eebbe442ee99e252ffa479fac7 GIT binary patch literal 375 zcmV--0f_#IP)i+lfKO3m(bod2|>q{aVgtej$ET0ucUS*eg@00001 zbW%=J06^y0W&i*H^+`lQR5*>@k};0NAPhx0LAcaU8#h=}a+BGsrl3YhW7l2+Lo%e; za;04tAb)*-B>bHFJLS#UEU-miCV`_CUoM+62QwnO91Pg1Gz3)+@L?UyR_ZDYRNzT-~&F-Aj}Shq@=2pKu5_9O}*{98_e+!MyJ{d{EYK z5E?@r2XH)h+i+MJRK~*x4&eaeEess&69+G+q2u6E+UnVajzeCKvk4ss_ilfsz5#fs Vr?(NN5NiMc002ovPDHLkV1jnnpuqqD literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/zigzagoon_icon.png b/graphics/pokemon/icons/zigzagoon_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..acd0ecc8c295953ab68e292d79955c01692d960a GIT binary patch literal 347 zcmV-h0i^zkP)DV$iOn2oyBTrg7)S>S5RVvdl&fJVB6+DT- zxJsXFx2u&9qg|H23Y(bQolLY!6}wPU0e6cMGrVC4#s<&I`%ed8s1TepoC1e1X4?Bf z9M6Wfkf|a^>4K6y0*5Vi$1x+n(1jJ)$}^R*cqt`wS|;Sz?d$8!@Q-^O+IhxdzUz){ zpDAA~E^3Q|mrGqB>Q9G*w#2YdZy==_y^d?6DbbHTtR0)!(-7dnbiOQ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/icons/zubat_icon.png b/graphics/pokemon/icons/zubat_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..696c097e1023409b05e6daba825257771ac9f2b6 GIT binary patch literal 335 zcmV-V0kHmwP)DV$7%n%h`b z+^p8Yu462PLOx29kk6PO54#8A^W4us6Sa*{ytzq$bW|h2^29O|d#Tz52(v)zuB8_U zTnhwUw}2}ELR+16`9qIzRadRes0PrDQf@>CglPjT*AD%*eZAwAi~@#B09`%p)`l&k_jpiyeFww#aa-o z{uc(k^lU;h${~zy_GU(e#yIrF81KZeIT=Re7z`mfC<}s@3WrueBHdfLL`{|ENz_z51d0e(Tj*)~0+{i&Cz;uAV)H^3fXP=H#(P_Nssv zrxQ(_R1oas}GGV_6$7ckf)H{>OpAZ4yA7y||OabJxzfgdsZYCLqS`VgFG)cpx2<3SS$}bF6?j-h- zqC~qx_0V4e3-QDu02rsPj(s7Xv?;)f<9_UootQU2AOR*rM?%@={JkaxY)PySWrIWM z62No(9DsU@bFzis+6i#P`3@CA!>-GQ95(=HQaxpkT7tb7usA@njE$?C?8b-H|Q_c*bCz?bT5CTfuEy6nN*t~ZIadk+T!Rw zXkhEp)Ej(E*8dVL%+&Pp3DLfa@pD9IAoVAJ{FQEDGFdU7>=7}n%n5|~K0&b9^Hu6| z%FDr03*)IabqC>3~^h4_F5Wa43tn(tKs4(hjkk2WCS zK=AX1w6_UB;xHOOGz?JeqPGiwJh#!J)WJR+6)j9n%rZb|-#NBO08NgxJ^1JLqe2g& zZ7Jeh&-_9wHcoopzry1qn~eqiJp+H1ON*FlaVJt4xt!8F9tT01A3_0Ry>x* zlPcI4`Q=<-11n2=d!bs7)&f1we^`i8IEhKoMx_K;3&+g@U_^Mnj~W`E3;+who9{!Z zS-NZE=*jQX-rL0r&wg>Ni_plv}9p2yB;< z955GMtBHXcHL-#&>pEtSJK~+k_4y44tvv zC5YvAxeXm9sWeC;tbXvHdm=1Oqz3#Y0QweJ1HTWBi`u>fOit{}%PN4GJjnS&(8G$m zJBI0B4n?b30icDrb%#Q{M%P=GAF9BGm48$P+y>{D?y>oikR=EL?19P*>QW0p+#d?j zud2TYu3Zd4c4=S`44lXXcgdUOEoU0InEFaPi``*moSX9hQZ~w;4B{(S{w*)lKB4?u zNBlKw$q>p9^-bX|4--Q96$n?e<)w#3LHXr<7sWAiBC5Rda~=(`zO($9uY?_xUx9jX z2m4sv`czi=;VRY?oiNirQ_?7Z?4$B)Kj18QdZ4mUOOcE{Cj{m10pP0{OV2}QZmarc zkIH`p7bbI!NyZ2wX7o&s_1gpANmBcZ#M(%>PS-P!6MQ*2Y?d^DlB^ZaJWlX#ejUeB zKRiG`5GTGp6a*jCNySVu}e8$1_nhwku4`EH-(A?J5(a z9R|9T#KaIL#dws�Vk*Vir0vF+!9do4|rt%$S(Po1paVqE|xKmzbE&1D(GrzsoO8 zjQUM4&2Z)F6BDDD!dl4#KhcJ=uuQp6g{OeDTCm34S<;~taECEy|m56i#e2PAe@70-p!o7tc&jE_5c6?hhLDm00001 zbW%=J06^y0W&i*NNl8RORA_{< z@p}o}(Ey!ROAbM{P+$uEEh_WGlJLAK^tZgunB2yauv&3@L=HY+Sx#eslJWQ<0$A+` zcuelK+6Ztfj?gCb9tL#c{(VB}-iiQ+yQDx%NDA|x6j0kGTaJya!)7!B0QhD^Ie4`) zz8O&tp0`)lY{t)X(G7rI)a;gZ?VTKZN0oY!*o7(r7{;}CbbM4P(*oH>`vu`W1AuA) zx z0zT6BpE1_&Hnf1#?=wL-y8h7_L=Xg?g!%S?jKG-l1_l1&u8Pomcm5Isnj`gj)_ix4 zg|PUDEdVS;1h}lnISQC502yP(U6CLY0GdQI2ATqRolhZ10Q@|^+NJ`4XaMkbm`@>8 zvs6G>&8H9py$}FD2UtNkRLkT55avht6s5q}Bn-HJkso0J%y__q9ANPz5c11hgmqiD zf8I9WC5=f@+^n+D2|ZzzmF{bak5uWt#yS|*A-#K0)LRE*dU*F>Ojh`psRzEGsP`{Y z`X4C^gd}mx`%#LnckrG(#FAKei&pXW_#px;?8&3z*W(Y^G^U-{TWob&PY@tB7p=zy zyMq7=bMX|sgSQCCIQhSpNb1_e)Xl@ZwHR)vn zNPXTgVePk^astSB2a|$#EZ7PF!RVe2(;-aw!cw}U`h_>>c2CnpP1FlAK;$mYSmPxM zIA_XTFn0bXNtjfPV7=}~{-l?Y{<;Fp5sL!6$a;gaw9vEIez4|w#$ME94l~Y_y#Vpg z0H*vNG?Z+*${nO;YKbJQFm?|tzuq;wWSAlUePK|9VNAAl{ow}0(!6xLAb)S zuG^Q@)(ZZgP;e(c9?&SbNvoSH6?~&m?W|Pr{jJX^`2My$9?&Ydxw|co2eb-q?t%cC z)oWbA#Rx?Zz}k*R!42_J7jxUuD0l=Acx|H!u7F}eDg&nAGD)h`$#Uv>1y2Gq9@g(? z6G ze^V@w8)++2`-8#pW!W34cZdKWmrH|JM;l@5EzyXsjfnXKTn}py7kR)Qjl|cTCVv)kY5PkxAXg&+9+rO!; zFBZPki-igrV0p1nC&{uef3e_@LM3@Zn7vroAYc);tGOH&7YqAxTbI(8y;v}X3eW2a zZOmLOY!pdUWG>T8T`Y(qa-Lm^#KnSC;Zp9Hb9u1<0j_9v3?p%|K=vUeCE%ZRe;&~>+UZNP_*1GD4+-RbpOovzeoEGR{{@CeZ1Q+ZrF1G zej6Y{Bb&uo0HXivKzEdF$s2*Uqk*Phjv!Wg1t2uvpJ)MBl=S|H=>SUv2>Au8>VTf; z=Qpl)5=}5D{G!LS02Jn&Pu!j^$C;Sp1=Hqe%!Gw`^%+3iPiSX32-N97RSSqS1pu^@ h7=-G6Vin+Hz~5&^jWINl35oy!002ovPDHLkV1lu8BWeHu literal 0 HcmV?d00001 diff --git a/graphics/trainers/back_pics/pokedude_back_pic.png b/graphics/trainers/back_pics/pokedude_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..6f2f543a41d385a7231695b872a7eb0247c51f80 GIT binary patch literal 1921 zcmV-{2Y&d8P)taECEy|m40l+8hNq$xRjQc7a1YGVKY{{R30dl;~7|ILT{Z@Tg=;Et^MY3Lu4~GPTeU zQO!`;K^%EZx_L3sp-BI)G(#7n8j_9yiXu)oMG~cC5x~CpNF9IZQ32W^8GNvT#P6f` z-tmt2{gP@luE*yZW|Abk;>pL0i;KyuK7K*tvW_q>HlwD@M+!z!5=DHD==Y1u2!`zP zfEi^&itZ->YoD#K&f+g`&s#fz-=fJUfFz1{1I^^+4q(21(R|;o2PQ29_PBUD%SkJG zA?)T3pdCd*h{GMg`XvC|JTt&flGaYZ8_f4ayT<`Ei)85tVRLcVPe8zybS%Edbi=|> zwLnHF$@jP+mI`Xr0YEI3Qqrmg8ZpG(Wl+-t3}5-mt&Ktn1weO4e2IXH>f*^NfDTkJ zje30C4Tk{SKbeL$*QFudFnkh>!|XQ&{|00*{&*xJ~!>uSKZ7+|Rgc!+@H7StzTJR-n$tY)Q4=urcYC5{SU008x$ zZvf>~?oZqZ<8VYx3>_(LQC@YZfY$*4_!$O}LWt5iWgxJ^kHgQ%T}Ww({c45oDqD-t z?;=o4K^1ymZ-7yMfi?Ea3DnFC^;nium@Zam^pGTwi9oxBase;95Ku>Qkv-G*5>4Y&LU9HFy?P6EnT^&fBu z_sW1;N1m;601j!@+oV%yK>nCMwuD`*x&hFjs34eLsltM$Qj^A4XXHPwMn&m1G+-{n z@cbMlWrS+fDwHL_^loWAl1BxD;b(v+Z*9bX1hSh0&;-sL6o`Nk0aE2%nyFeD(!O5+ zK=Sn7Ppugwx}yOHiCoaA2e_gHkP8BPU@O@x0pQUTIhb+gAC6iDpi8os15do7_!|T$ z@)sF!HYh4L#*$bAIL^97@kanxiGb(C47(-**|kFZLvc6#I69DLaA7T-!q0$YOcz>< zzfKXOOT|vLFsI_L*E|DyB>-y34M0=GtCbs&8My-~(woZ6DwF{<7#n*)HSnJWcL0Ay zAl>h1aojDy1Ows}ZoBL81&(Wr@ZT(g32r*s26Btw*)vnC7H1I_3J!~287NrIm!B_-S<$}Rl1Vj1TK*=J++ZoChfliM>2|$ZrX^RjS0c{a(gnH_6u}f_c zZoJU|XrZ4sp)EpDo)dfm>J^EqMSv<=UwDfEfb3~v=~pcRTunySc2nJ?$ zs+I=k#1qj6#r07gssM`XAXx^m0`3FMaCaNXL}#)L`5beg!ab(E;eA_=opksYVTk zaAY5!{)cE#?lh_dts(&nh>QDGfJX8GmDxk!<|CFsV6?yz$MwLeR}Yxj!YSFTJ`bSD z8G?(lomD-skhbl#$8|tBMnHCW0G0O%2(py%DLV-Sp5dBwToxephYFD3&X0A#DJ^?E zX3tryFr*6SYytun_}ZZp*0ylk#tf_Q`n|*d8gOgux`HOk_GP{Bo2e>aOzMD-8&&_A zFO$mtWi(kwe2#A-6nzjxd(8t{F|8Kgrv~K4u^U0Dg^lbxlT7XmPr8j@8@L_K53{(f z0{w`V1D*8*0VAPvHRx^uR%d;fex7cSP8pc&N8(`7gU4J+cc{#LN(#)o0KDj-Z6~1M zV=`ZGHxkXGcF>gN{2Ew%2f8mnmhn^u>#+?CB0Rv31f)o`m==LgWsxQzLMAM#5Me~3yaSs6rz?C@R026m|3jrJqVBjk#Xb{6s zIbdN+GAIPRV_NW1hja^plYf{N(i<^8pcWXwNN-g66vFSg%dkNE)A6Xn71N`s@CCl_ z_UkGv=&blK27fl4j+g{ELA!H)P8N*W3)G^$(k~6R20r1t0RiW%AOq00gu5Eyizarr zL5uj+6Q=lqiDQ!ph<;5AI8A){B+yB+`xR2)8!)lg=Uey}b*DR3Z~zX@00000NkvXX Hu0mjf=?QYR literal 0 HcmV?d00001 diff --git a/graphics/trainers/back_pics/red_back_pic.png b/graphics/trainers/back_pics/red_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..a1aa1d302fcf8e32c81253082755ae2f27c4b9fa GIT binary patch literal 2270 zcmV<42qE{0P)DwkHqZV3`aa8+W z^$)eAR|?E&meIp8j_c!Bue;Ut{nqO)6gIJmwZXJ6*Ny8Z9odsFtmD%TM7P(q5v*gP z+v!?>pJJfX>sV4e>GcxepY#l}+fC-M0aEtX6|wbtD&;zWwY4-vZ!I9#6&XjTCts1k z*!TUmhB|Jp&X0-l>0@C+>&HP5tP)HlvHytg>j{xTCn?<0{qZebq}cbha3kk_v`Ye8 z``Y)%y5iig(*S&$;4u7(^V_d~M*;-~fd9DSIL@{On5KXwLjiy`7XZ*T;2iBb=Vhm2 z8HaPhIRdsB0NC?@C|SopISqo#6HT8-1He_f`sUa=ju-48IRC~vF7Dt%do6aY6{@%J zc{=QemKxZfglI^i`u!G7=r7;(L!pGyN1u}k-t{5ErrPt4j;ItL`X=6l6Yn7fFr^gc z7>J4Ic?2+4${@=1XkZq)F=GItgqf>#69Jr|MU)U~6{oNQV>JX|s1Z0O06kW~C^6KQ zgMbns)GXAzI-w4tsQ?jLg(JtQ(f|Z}b8C*XvkI_KC4iuBn;5`vE&z`EF<_M_8bIK` zI;V4NViUi_@Xyxz7lsDq)mQfMvksbru9ZN4(gkIwbv-jU(r$1v|6-Zr4E$5`5=RKsF#YCkU+dFLpX7Ip5m+3wWfq3xLhP7>_i4 zR9p5hBFmst3$&XbFP5|aq66~5;Vk->9DpVY?8(v$_1Zik1F;gEFP2uXR|>_1@q*y| ze96BQYrImZ#ij@S%ZfdT%AAYx_8bt0gD`JVBIB!)vfc-x(fL<@(48y+Nm)8#GKQ9-5)}N6ugTCIc8KGXg?|FG1W>f+1jPnlvCej2{lfOO*fP`5f^K zle=qBye66$1Turb_&qN^izhM^vCY{-z)1_$u@_)o3oMw4K?4&wDFJ>00dN&DFaZ69 zKYEbaR;HcL;_IZ}nPCL97nL(0a&}Atuci7hhBoH5FwwkRs-&00xn+9>PzpTA7y))0 zrN@uJPK1EQNYSZ2zdflU%>n4aX_ z+!ckRo?!`aEtY{zY~tsKo}Rr}GYsjeOae35m2%bax4yo>d{2Sy?TioD94-6Y#S zNREa&WKI-Vo$Gov{?SjQRZkCKXFLbeWni54CwyLM>*EwKi-#!!WHAOt{35sesAmA? z@Y`dd%cYA74Loj7jX0N{E&=Jvu2EW1oWIR&?O_GGmo5E9d+W7@?gAV0iI=VXDX`ES z(7IJlia>FWDk}zoMdkFcrv4b!yRy3o)cH=v;z2o$!eT@`yUk%aL0%vB2Sf_kNQ=XMDC9M2GgU-YC*6tgFeK;DX?FrW0%aGo?nHCXJ0dy*pl3;U z0tA%okYwEnE0F6>JS2d{?gVudNq0gG>F!0=ov;FFcVcLnA?r?zC!AB=i>x~_~-<*4MD@$TLgI591~7^Lf3?%CF%L zEtUOhHomC*V$Z9Y9%HIyOUi#zb|x(xpLaqRlpp`t#W~vf#VDuzFvP3lTz(Td<%jyY z8#$%L#Vn`%u=~@uEHe$+naY&EZuZ5RS1mv(k-caMFwZvf%Fl9B6a}oIkRn=DeiH)4 zXcBm&@)uB!`hD>Rbla;F$`5lj)jI*Ai@SD0`Hh~1Dh%amaCJ^Tn1F>ogw^Y_(p0L)Eb?#!FNS%LV*C3|VJ5T6vp08t_qiT9ux zzo8Oo98!z$s2W;C{h#B_4L-kf31m{nm ztr85j^zP(y6@pJXKX^7-*>~f1d}1t$48A)E&}=L|O&>SWd476{?J2(CnD69ugeksM zzX!ndfi!Hr=ayW_*PKuA!9ov!WAn>V?lZyE5NznZ))?Gi=lORrz;f4|;clMa)20m+ zB%LPa>`abR02>P2Rl-<|7s+o&lleoKAyl-jwOsHZY^2kx8UykE!Bj1C sL35WgDmmr!vpX9RHfgl&lu8EpA4qOyb{S$-&;S4c07*qoM6N<$f^P^!UH||9 literal 0 HcmV?d00001 diff --git a/graphics/trainers/back_pics/ruby_sapphire_brendan_back_pic.png b/graphics/trainers/back_pics/ruby_sapphire_brendan_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..51b3606370972fcc765eddec23efc2f6d5a7ce71 GIT binary patch literal 2197 zcmV;G2x|9GSM9E3n=qfsg%@bP4X zK(-`+{L0xufd{COy(55IKOa;uP~?I4-3G*2{GV@0)o-LY8gr$3Pa!w)>qGua9NvDm;Y0{{eWUx4^&nS%0>iVC;SpNqw$DPWi` zV~L6LvD3W^mFOf?JpdB%zA2oFb$QRdok)z2zNz#AAzuA90i#!7oQMCf5;D;fSI%kH zq%zcbt;Km+A?f8VFrKo?%DbJcN1WKin#y*G3CprbybY*-wQW0PP0c^<5bspBKB>fm z52C)d?L7m4%xtm^q_&K_^`{{ILWl9bWnG+^tG5X)m%Ur5`hOqlK2W)6+|=tyKg+an z&k6wccL8XePZ>E~uRmsp{3y$7{z{D0Gls4kgbM)voUK2`AILqa>C|oUYHnSu(VJup_4PDFTbNlx3Ak)^i16WFg=l z>@-D&84y_F09fU0Q}tF+1p&5J{~*Xvq#D<1mX*TSftb$;h4uPxL0}gIii@0UykcpS z-X!dvRf8@Iz=j-aI~iJV5vbLwJgsfR_G3kH4!F$TH@!M!XsQ}2z`ryh2#A$ZRJLyK z)%6)#P`bbh0tJ7u5x4|#+6;gyM+MXM+Fz*4o?*Oz8;D1icGfS*whaB4D`0uBH$PQxp44hr#wvw?-!EPWy3 zEF^FmfOp3N3-MWLLja-beJTz|_4zSh;K3aqU>8D@)8J%{|Dsef5MTnx#}~WtAv{{G zv&Kg_iyIz#ko>JP{|W&Wi&~-}2;fe!NZt6Ek3)d9Mep*e_@H0_zGHdsSEtYXX0l79 z+C@nKo@w5K`u}wZc;{iZRuxCyHQ_-R8icSz00q8b^LM6=6aWXhQnkT&qaiXQzi2 zW1=svyk_kjc-pd+{<~p)0E2 z7@P#uQPcBU8n0Q^+4|okIb5>|-z${F%A6Fy0UMm~S`~m9Ie;$-|^jg$6;ynR6?JAkx(L9Ilh z^C=|li=^>Mc{C_Ivi8MLYIU9yALwgeh{rPT$ojK!w=#CNBhb^nP~FSVIA6VM{pC$X z*1k|bwRQc77nisI2HF=QK7Yg?Emg^$B57Z|u>YZF;GvFpAGmwk7jHw{poJq|=`K`n z`{D^alNFjn{Ez)WyM1BIi$YDtLtd$;eKAe_GJI-uvIpq2FKD~chfPGdeL>rGJfVa~ zr+x8Dn4uyWo%Y2vjd;pxw=Zbq8S07lMbeClEB|gK(q589Bp@UW^(YPHH6qT*%L?a@ zScJe3Csvtp9x0%0Lq)vA*uEJdu>Fca$+Xw)D1jGxJyqkE_U#CPmaSjjt3(589RVnc z`_JSV)^=?}x3x%Mq`vzUN*z?Rq#RhQ+ptF#_M!kGKuvzpm2mgY$CI0;NoD0N8ANK?i0bI(E{Nv{BZ9@08eQPJ03;4A_X8r zzU8+>RwAchk~BL8fK_SgWlCtQ9u<} z3%s0asxZy3dVm%R1b_xc0wmrKJ4;n~VIQb+06-!ab|i;1xWL$=RSg00O4qrmtQcHi zZ0X?Y5daAm1{f27CIBq+YCdcp(LZ3q7MaEij_u$zIRIa0I(V%a1_TWN-d}h@)~50w XKka8KFPw0B00000NkvXXu0mjfb;|;k literal 0 HcmV?d00001 diff --git a/graphics/trainers/back_pics/ruby_sapphire_may_back_pic.png b/graphics/trainers/back_pics/ruby_sapphire_may_back_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..a6930037f62055e9590061ca7b37dbfdea6308c1 GIT binary patch literal 2223 zcmV;g2vGNlP)%s+v4FcoB1vJc#1W(^U-^c6gl57-$>H^xF0`%SXTGWdDC@A)?M?HKfA80m(PDc zxd6Z|X3_YUWOwH)=bN$XdIeyIV&cK6`$y*+N?p^;12&~y3;=*bDK($wlK|jJGTj+* z!0R0D7XjL}JvRjY+1bwnG60r+?w-GMpoqgxCx0yv@Tl#2zX8BAJDrZG2x?OgBbb)f z=?IF@tp?QrFttPTX(0sUXbdQ|-#K5KI(aMzVNuU*c+_#G(=AdHgn-|9WZBd?dbZIg zKWqp>Kn$C{bFTXvD*5485aMM%gbaXVY5kh2e*Zw$p1v&n>X5*lJPj6VfU13o&(Y)S(RjUmA;>av-*to)nPDCAzc&V_m)V* zkJ5O|9-;yNt&pB43BGs&?<9xp)@NosIlidof%o9QCf33&_$Hoq3W z6o%-|fdvHWcrd2X4bdkn+nFK=L0%p~i1%SolByCvuHj$V!V!I^nxw#w{L`O~kN00`aFcfpV5MaNQeMeD^|1+o#2`bx zG-%cJs9{HvlOI>0IlqQ)8;0!}q6nx;4cefuz#rIWq7bYPfDH!4u*ZUD7lu5X0YG2b zv;+Wz>0DUH?prYczs64i3QV8F(|;%60pQ;SybskoHln#Q5l|oCrCbbl1#u9#R8{=7 zZd!W+03J@-Q&pb>q7*-l==&A*Q5U^a;4AqMvV~@>QpL3eo&^7iFNc z9+secvB;IMynC_u#iYrJlI{h}PcE9iRMx#vZvQfwI0kCIuzR8HHJ!<1vdfncLH9ya z9~rmK#-GgFO+lDJ8Rl{B!H9#=GJ42kW}{~1;pKp zb+UF{Y@wvO7o_GV-HYTb=G}`e;-|V7Nsj5zpKVubHvPx5boU}f_zLx^8#Br>-HQ~! z0stCs`D2lEFOvD$ci>G98sjp_{gHa$O%CjGUa{@}%wvdlT)=GL^#Kg9q*< zC<6vAW!@M<7$pII`PSH-f&**+zAFTJOCa?#Y@X~0&q7fvAobk4G=wIsx3p;lGv2Dh%t!A2B9 zEQ~NQ2>2PQ@Ayow=VS9{3LL;0sxS34(dI%|0)6&4aJVmM{8LY+g9zw!4)ax@JflTu zfSQ6u=k}bj`T`z>BCD|n>RR8Wq9-*Sd7ZY>Ic0i zrqQ2OrmQ?;u}=GSoqG54KU@m*t{7Lj+XZgDtcGPb9$x#?%@@hH7n{ zcPE4Zm;{~c_o~D3 z_zbuDR1*P2^P}yFnMNKK0dSgrv^}8^Y;fgESR!lj_5=WGA&1QONTThDOR`eW0}C98 xwkL3tB@gs)6D8iB5as9tAfLeaBm$xw{{cJkXKTM7Vln^#002ovPDHLkV1nwuAyEJT literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/aqua_admin_f_front_pic.png b/graphics/trainers/front_pics/aqua_admin_f_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..3428944b67e017341db5d7f7733558f59a74954c GIT binary patch literal 838 zcmV-M1G)T(P)Zq_QIs>FnvTA8Xu8IY?o zWk7jOr=XVjvLJUrGz&9q?EDv?s#7eLDxwTNWne&TE-iME8jg2K=nvoX8?4j4kKgzE z-uVY(_hX?yIA8@~$|PCndC(~$O3?53JP&r?7nR_=?|Iv>3q`;o53m5V-xXkxrqC&^9g}<8mJGe#%T5P zl4Y+}YbSc%5b@ELXr4Mx)+V*#5e0~&kCC`sb1EW^M3n-fp%}~BdPCF&0kB3ag!t|4 zXYEN$1DF>nzew8?5se5B5$4A|Z?7z+peoc=fpO+Nwaf4p4Qs#_=A-imz1FWvN&&_e zO2m(rd#x}F--=k1sE>w`IJ4}aC8Ywi^N2+aEm%&_l~STazJ!7IH^kVfz{{pgI|!WQ zfgzf7ohIxdgn)J$bu|Wein6Ee>>mla?+l?^&?SmntXe`q-?k_JqxYDxef;DVOe zx2o(KRCE)n#=>)a9~2NkH{8()v%Ssn%n*0xijBK#~FU z2ihmVxE_ZIGXXj*LlaD^!2bUDldu#On5h6_3O_$E1spJwlK_+G`zu<&kJ7Z5ZB9{vAXF$-QEdcPTyF>1iE=}F$c&t zvj0Gdb8^_+pWkS5PPxSGxiqe*S)y`(zC7gAED;EAmc&0pDck{cmkKzz1$37aemkBL zBip+RVwR;!=2H8hDu z>H5>YK18+u(MsT_7QA}$>BFuNOTgaM0D*Qt?_Rd5J9Pma9e8|PVyq5AT&TzItR9gP z+vYYs_e*iPTsALThv+`oCj5(5EN!B`3`Qu`D5-@`ioG-*0s zLtru{qHI&c{@W1m2L36oLzMnCl5Kc*He2xM{5pL}0&J}Gl5f=OM`Fh`m`?$8GN9L)?1K^q`N^4avht`SlB5r!7NcleORg0000|7v2*QcC~-{{R30VaaZI00001 zbW%=J06^y0W&i*JP)S5VR7i=vl|OG2F&M@zH7K`PPCr0|!_X~i+JUW!!iq9QrBkNZ z=>$vfy{Sn-%{kL;&@8YpRm!*MRDr4@286f;2^E$oO4HmaLKxqrNL73`V&NT5KD|G` z&*T3H{m+n6eeyy)GXZ@bp!`9T@ty(51NiM`ld+BgZ~(lv%6~HfNWz>k)*kPgG>}Yy zLw;ofuy7gU2jks|v4YDu9Kw|mz`_@v51uKH7H8zBxK%3}3%olk-7kJ6J7(a#vPlRj z86|#>>Xmgu)=ehyX&B7t_`~8N{q=hq@IDM>otDECaNJpSm6(O2PuueGD3x$Jmmf6| znQLqY9kxJtXff^|*szA$nN`*u(NI~^lBZbV}aC00VB?VL&LaKTm zb6}m+R*h_C0Z0IdB=4vlSI98oaBdATNV!r@WBe8$b*)CqV59VbpxA(+EI2uJsDkLF@arB=i3JGq=H3b?kW#f zfb+iq03c^J57*oBZNmnHpC|g&br<+@Ze5An=lS2_H`9^?l;r&#+5i9m07*qoM6N<$ Eg3Gf-g#Z8m literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/aqua_grunt_m_front_pic.png b/graphics/trainers/front_pics/aqua_grunt_m_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..77ead55fdc4ef0da6d83e7d357876a6afe28b8b4 GIT binary patch literal 726 zcmV;{0xA88P)bvq400001 zbW%=J06^y0W&i*JR7pfZR7i>4lreA9KorMMC{n#y$->NqFVHv=Y(Ed zfGJLZlnV$H&P~L{UFYDtdTz|n=ro%x-tC&=tZ~?EwfKP!NLF7iC1|Txb#sX*ZSA+a z-PP8rURv~9g)8vB)9$T+D9S4WU%n?p_=(7Q`x(a{kmQJz-3nE<0Y1dDhjUH~r*VJ;4CnSBPc{;Jv(MQ%Z*v}t z7!XA?OsHq7=Lx5ZbGP>*5}(prAtJoEe7SugNB7KD5681Ky&WR<4jrd{UX0m@)J~|- z={VXOApjvrnB8;q0K;NYd5xY{fw8;*CbVg|+PFPCrkC+X8!Lh7bSIEsQHK6x2Y_o2 z1_e3>0*pOf070-U)2I-~xC>Z7kpTuK4NLkkrpM)(M#vRC{eXazJ5vHF{Q{6eud$#I zB&zt-rm%|y;ga*ubSVl2nqLLz!&|+=Y68+`q|=Bg!6R@}*RTW1JSojUssnt0c_{{7 z-Goi!F(|h_XiQWA08JSd{kp!!3}93<{907*qo IM6N<$g0|>M5&!@I literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/aqua_leader_archie_front_pic.png b/graphics/trainers/front_pics/aqua_leader_archie_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..e7593b0f0452f4f1ca8ead77f1b96b0849b2be50 GIT binary patch literal 684 zcmV;d0#p5oP)xl*FDJMc~SJ_26EW5F#7^R@C~xT2s03{t)5vmJ5${$$RDPDRDJcODnZbS z^YiwT+wrL=KKt_b3XHV}xL=$V#Sahg@mul!YWcwf6sy7uJirRerANg0AUt~h-2)5{ z!*Te`Bl5*2`aKwUDm*#}!|qhJOU4X~uY(e6h*G31ui7#Y zNYQGLQramisagPfg#Iz8BM+Erw?KuE8wPK%4i|ujvkr)Ty9s+as*&nGt+a8&4V?IZ ztlsSXKu~%BWj{+r11w8KS_2Y*1XLnxz-~BYM2Wyj1JHjEmCEG0>E!?*OPg;OlKeUU zpWB7n1I(4C=G*~Drx@%4#NzJ&m#}~@-41&3udb=M?f~1bJ9U{MuGK)G=$@KokJrqcJAda;TX@Kn|U2D-e$cmo!6+m!1bh z>&XZ5P!BH1Qz^-yo7%|+EsdeI!CLeuG8GS{Xsj?Tlyq`UE32uf`+71I+tHnWL2uFH z-goak2}ub3UxKyE*o&=s%d|T8w*brJODuMDzP)RjFP~fOwji(P?mj^1`1)(dEL?Yr z$@7|)+e161$(Wfntz?fonszYbK+o$e%Z{H3DrEVoo3?eX<<#uMP6A*}+vDKEY~TB= z=1YPhzE>)u;0dMW@2ap5v{&Vg3Y1$l%*+PYySb^pU5 zdnE*T=y;II?`s7n>JSTe46{`J2!lA!#~4S^q9V)2;N!#%u8MLHl;1^gb`^&yA;aZ~ z3&A)JOELfeW#B^|9g2s52w>qkF8mM!UIZZU9p{ZM9Th|1@iMyPS@9J)UffKUPSYpT zuJkZM)aV(nzsSo|yJtjiJ!ySpP~#GOuO$_RZS%W4p&)BAvM*ubht!pUGzaBLvr#Wf zfMUB&a6(B*)l|fjJgPus;mcZ&jGI^eGsH> zb1;|o7<7Nd087EJI_mb8S8)%8x|t;in_@6*wlcl`612pC_A@jNFcku2wH;DXk2Ro3 zK>uHeSK$U&9UF>HAgO^pjKmCX=;lggYMjNz%bVlp00001 zbW%=J06^y0W&i*Je@R3^R7i=fl`&}BKoo|bz%pJEN7x=Rc<7m|h59VWRN`1FokH43 zt(Sr)CEdE1Gbw~XS|k#>Hefw+N9J|AP0FZSh0&hKl z@nkGDI{*bwXgfKRwDPY3dY-otJcG$tN^}xn-Rotv;6L&XI%@Z&(^2j|m~)H!dwjLMe!Wt(`hj5GB)X`(#Ti)sgK; zd<~nf>l#(iDs_aG(m)xD2XP*4rzc^6*YEwEXA6d zVSaGN4TCF|ss3bm!Yx}IiQI?wOUo)-OUdufzh*w(o>-@9et7TGE@ug;HZx znE(}kHHT`7`mri)$f5L2x&|zxTUo#Z0c7nLZB78nRX^230m#?rZ(sqWi}){KLUzL1 zo$MCi#SMTS1ld#QR?y2NG{e0i0u1FpvqHZBdqd?VgetNR00000NkvXXu0mjfKhRn} literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/battle_girl_front_pic.png b/graphics/trainers/front_pics/battle_girl_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..fbce1299e1c368ec3e4a1ab654189bdbc861e63b GIT binary patch literal 702 zcmV;v0zv(WP)KlrfLfFcilv5mi}G9^s-GJ1FbhrVj zVo1~x3bleN(XUVmV!2}I1kz32Z{=>e=)`g#fQf}KaWto>2npjP6_=)Vx-s#l*#DpZ z&+pkW0J5k^XLAuu%XNJK0Aox|1x%-|>kgDiKt@6*g!pno_cA#l_?0-6%;K&I2c_52B6i8?vI*#>A@f!sVbAa&|`Gc{2e!oA?*C+bSf(+KKt?_uEj zN(Txd95w@Qx|Ms~cYPm16RoydSQ&ZQlz#9MwwLpm6fCr=N!~pYA14Pts&B1jpB4b8 zh8Qyi;fM^sEvKs&Qan98HW?Iz22F?>xLe$#*6W!k5LSD@eqy7}t*k))z6H(4&FI0k zrD~E9Ss2ZqU8@fQa0icZi7rfV`?D%R7SYk!mr_7GI=d_f#^GgYj{9L4?gElM^p%hR zz9x;WseqRCT`bn>&U8z{=?S&0P6q(n-Y)|8FoX>bD$wlU{%Tk&-YAUf;v!)F;kkK> z@i8s_)~POladn+a07*qoM6N<$g1n(T`Tzg` literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/beauty_front_pic.png b/graphics/trainers/front_pics/beauty_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..595d0bf1ef70cd1536e95e7767547fbfdd34a471 GIT binary patch literal 738 zcmV<80v-K{P)|Vpz-{7}6o@~8^KPDl5n+trmz5E@( zuzeSEyYR7Bf(R6&Hnm!qwV55Y#QLWPKUhh5Tl<@H?{7a8Dptju9~u>MzX;i) z^jXD51Q~u zIVizkuqFZOMaZiN7Gz*S)qyiBr|TSp6%~LpEB{*f40R1)MFMh)97Ne8ApV(p^sx*? zLpP1Kycp#2(MfdiHCQORfwEvA6A-@^87L$3bmK1#p=n%4cnw;Tyn*T>pe8^Q11kxg z2^jIdEo@Rl$&=g>9#cb0F&Hhr7yOHNUy@16{HC9{@hm%joq+Qvf~g+N1hwVsFO%fZ Ugdb^)#Q*>R07*qoM6N<$f@K>}j{pDw literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/biker_front_pic.png b/graphics/trainers/front_pics/biker_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..e8c23dfc7f49ba79a8eeaec8345e6f8212685f97 GIT binary patch literal 1179 zcmV;M1Z4Y(P)Ugq{qH5a@pCxM#}e{JI-idP(rH3sB}OEhj05hD$eNmp0q%T2 zR8@_USXCe%c&sRksv2{SjG`#1RE&u`k5^Z-aX{vuwfrB+mD_=AaxtkU_aEH~$jajK z;)PJ0aNW_+^KQ# z%NxMmjkil=s6HT*`{1S!FptOy!3U0s%YQ z#n)d~KFe%G4oH;MlsZh2;fI{>mcZXG`CrWexu@w2WHviP)c|nKmF-e~TymoTU=^~5 zoqhGN)08BO?wrn<>=JXRrn;TZe$xD@8V5TT9BDjF@{l_FuuBa#a^=j|zA9*^GuKor0va(;CN z9EWxwTp4Wpw}=D~k5$`k0Q(p}Yv963PwClL0N758F#!angD0U=0J}F??$sQO3S&kd z&Y!cU2%WHxXF+%d$TkRrX$*jYSJCu6Cwyr`Ab0~VfY1`ct1um?&VpTy?E##C5CYG2 zAt49ts;6nXM_W`Et=bVBpBzxCAW2o@07dnRRYD}VHvWHBAs+a;S5KIW;$O{9* zwt$ssjW-ael+Z$*;Se7dn(x=X2=vh5US+E=HPONv)OicqyeYhz*mG*SD22zoNy}Or zfrT1lK5sOE8(?rI_L%Tm8kl|qZB79c_wmHg6vC(V8Vd~A*#i4#?y-d6Sj~V71Plyz z3OK^B+I9b(a|OtL6GJs{9<*tF&k^U=?son28Q@OafIuJ&5uk?<&P{0jzR>U+teg;H z8YKb^EDQ&MZNXcX#h)^|(#qNlSU_M>70$8U)9_y literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/bird_keeper_front_pic.png b/graphics/trainers/front_pics/bird_keeper_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..2e29f2446a2034d1b58ef3f64dd88d368c1f9097 GIT binary patch literal 829 zcmV-D1H$}?P)4mAy~fKp4hP>P18%l9h_F3nn{)WG;rB`jMnP7RPK1 zEoW4zYM1!3RAeZGrRrQ}s~=uqU~?ogc*Bx6I^}-|s#`Hcy}nKykbGzUfO@b`zMr1w zdEfJ$5&D0wg}Wh90?zx}`3tN2B0EHC5mjmKQ<9wj$`~DzS09Klzc{u=p zDsxU90>9~pBp=YCbAJ#LqVSjr&?p#$K|Y{GBnSnOfr7aUo9BK&_=lgTo>$%2T9<&O z%jA1|VmpSYS8KKUM#iF52>=KQGsj3&1rb4}VVIIu5C)NHfwX1}NeO2>G)lu(5U~V^ zODIIcY{P^Q6Y|GSfH5wip`l5=Djo>VtsVfw5;Cv?=x_jb5k_Z=Xo!)tYDE(O^8kS1 zB05t5hukzxo+ucQK~n%0D0Fs_1_6+v0IUuuuzdhTEXFbb89O#(Y^>p!l9(FO4g-DL zb^sugD4ayn2I_Num?-qLa0-N3;0P4@0KC)a6v*z6qHXh?V*vIw5<%bNtVP@5yoVgd z>>CpLJ{%OiObxc(1)rph&#eTwk%|NXR7_GL4J;JLNOv05W(P=h^)0?LeeSVt9?+Xv zIhJyF_IV2Ml$3x@`rhhrRfwWF2l_bxGtIe|rAj%g|Gp5%bD+T9UMT=Aes-7wqtQqK z#AJSc7C()y6b_Ss&f6mhRdhaqju)WYy3=s-Z&UcZF5=00000NkvXX Hu0mjfD3Eve literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/black_belt_front_pic.png b/graphics/trainers/front_pics/black_belt_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..a433cb406c8a1393b891ea602cc35c3ad1fd0eb4 GIT binary patch literal 888 zcmV-;1Bd*HP)JRlq0l71VeRANF5wJHIr$nvnDPLt_zFM%kwU&F{Pw(frZ|L@Lz zCglG`;nP2WXcJ)D8|#WKBA=ApuGK5Woi-sVC!EOYL@5@FWunep?oMTOa$GcwGPxP_ z2kz^(6sXl~P6lq@b^9?XL^+_USC7l8>keGkixoS{5miGk$2TrU-}7M$fr?fXPeq>h zHi~8o0J|uRMk@zx7cc5)bRI=MU#>2?7>z!x9JJk-sL8BqJotHiuuR&~s*VoY?hoFD zhrbN}%l$t9zLV8XD7^ZGpXc^ymb4mcvhj0G*Y)xf8fO7j-*JXxHhE#_ zMs-fQKx5ki|wn;>Er77{Ou)w#4wu?Y(F9UjBE%%bsFSOg$| zPMEK6jV|8^f#8*`m!}ek!uLz=c{6Wz3Y<@+Q=S2zaeodF^88mv$hO^OS7-iA0Fp8x z%^_p-z27>$WlP(^FjxRSz)?>Ipn$amY$}szGR7w1AZhuDC0n!*U=tWjdtO3iU5FML zfSa^#0UQ{jK4)G<%nP!IrMOFUAk43<;=Kwm7ep#qUQlBRYh)J)GS z1IBB{2W9YTSlW^EVs(qXFnVxWmX4A51^o#{Mu@l$5|3xE}*XUNFHrFr9QnfP;?i?|P$PfC1O@`ElP~pod^b2Y3FHZKEwl&i1G77j9$6)Fs|q zR@dIgm%;AdS-ejzYmMLTj)}ZsIDAWCH}ADysw$8cJDVT$=jYy890<;r{9wdzBg+W|7OVk5p)x zl=6O$c-GY`;LS|~kQPmB%x8tdcF{yp%;t*P_N-|^f?Ue4R|I&hr9AmYfG|nrk07*qoM6N<$g8MTKLI3~& literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/blue_2_front_pic.png b/graphics/trainers/front_pics/blue_2_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..822ac12c4f16f94f5d77037e8a231f7db6b57164 GIT binary patch literal 646 zcmV;10(t$3P)4)G=?`Koke?8zNOS!;`agta3!EIzfS{9RiNS+yS#D zQpv56x||RLO9zvsQkV9;(6RQCk>M)&0}v@+#UjKMGq}%DyVUoNy(b%n_v8QGS!Wpg zA6FOewGCV{mJKX*7(nK~w}69-%pZ2?-*>a25W?$UnySsR!D9)8sAjZ1c!|J2_ph*i zU2W~OT?Fj>${+foFU06yQ8@Jmem(lb5nkdttz@kJ0AF}`8TJA0>#~(U5Tm{@?qVBa zEL^x}A9#OM839)xFxF~3&3fdt z8fLKK1%9sUZQeB25jdyCbo!Bd<~oBn&I>JNXIFiSf5qyZPGoB`r2vD8P8P2gnij<_ z(G#f`WD^EEJwZYPw$oZ~_JGAkTE~>Kkf$_|xYDzZ9k7QsImC1$aR9eYf}hJ}QUE`p z>W5n2-4`|9CBa?UBK$&jI9%e4@!L67XOJKW=smD!+x+YJhVH;X<-sf}$U1^B2;y5C zP(cvd!7nSQDIDUHkUArtVm#^bipK)IV$6KokJ*gDS>Qg0S2#5H~}%)_*A8>L?jZo8S&P zV|TED_yelM(tKp=d4PCvo}2VZ*zK5xCv(Ji7AGa$P#X#e?q^inBXAV>s*OjgO2L4bb#XsjqV#S#eA>`h8( z6k@>oN=nJBf_WtQsZ=_%2?LbOrq#Rf2|QRXJ}+y&{~`|DzJC3H#pI>m?~UR)yeA|( z&Zsk?3mgTmss|rVCq$Hx)Tm~!w3_pLT;o96`Vs*WRZ}}S>Nfct>h@U#$mz7Z<8+&^ z?jyCaaVHGci>#wP8qj_Q-Hsztpw<`DSPx zw^FOJJDV78U&^oT((po)WZ6T3*$cP$4DZQqXX2hrkrZ_$68N};7}0gJ6_FKy zR7*%E8a9n+@c1heePFBu7h>y_&lPkrHX(3!Zw{!gM@+y&Rw|-}>NNzAKji?&08xct zgAWSdxxkzQ_+IlKjpV<8Y{EbcG39`QAkb>D05Qg zw`mcU{&5b#9;j=IIur!6;dlPKTpd_%#!2cFYg}gqVLu}z5oCK07*qoM6N<$f|piEqyPW_ literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/bug_catcher_front_pic.png b/graphics/trainers/front_pics/bug_catcher_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..3bb8f8d8aa03e123fd655835b4415f2d35954339 GIT binary patch literal 747 zcmVK(@%@jKokJ*f#y(KN{GAcb!pm@m!*y@-m)Z7K@UCo z0SeN70Wsi3k7+^nx)TpB2umB(!y0pi@Qz>9@S)nDY$Kwane64O(y#R#CHnw ze)HzdOa_4e@$UwwsynRlTnFvX@|9Zs9z*0%uWv*j+Z!A82lrWd_wy%OB2%l?8Vzkf z4mv%z-+vQOP&ZBUppjVPsq4}THUL=@A!HoHL9R!EYf+FvQJ8UXDFSbQ+uU|d5QN6V z1jr%RMb;6xS=Uq=nx@7;VS>cd;ktT&t6neNjK2}tuPqaoCE+p#;Q=Vlc3;z1EXsr z6+%@MOVZ;6$on=36$PrY7y&(5qDv2vsPrnutr2vx$r3d9BF(Q?!`2M36=9PE zdB2S(9fPqEkP)RI>gMZ{vC-LO0IuZB+V$FFWUv4r5je#7ST}Sg0AvoZr8g}m01Gf| zzIvaQkNzz@eDVD>4P;;9<956Ej&U9Hn3zq3n!mcKEwtJc>`hY(@TO_er}r$iz=Xc- z@dbcyndUA9dubp`3j{n}gLPL?jA#ph@1z6edIU^lq@A<^&w}U$7uVT&4odT0;o8oH z0Q?Zsz+#*ix0oP=%kJeevw;5m9EhxqhUF{E;oCY3oaxK$^X03opYrc>;dR|%c6lCz dq#ZUR{s1qjAZ%T($qE1f002ovPDHLkV1ha6RQCV? literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/bug_maniac_front_pic.png b/graphics/trainers/front_pics/bug_maniac_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..239bba03992cbf23393b48eade8d963331160257 GIT binary patch literal 932 zcmV;V16%xwP)*rgF#A4-rl6e#f#0=)trk;Vx-<`b94Xy{{R30D-=4100001 zbW%=J06^y0W&i*KB1uF+R7i=lBPl^ zsWk~aYI5Bn6qyWNLWvNxyP+h5hlqoEvL`L=l1Vjm=#W8i6FW{5-0M3#`fy?yy7hrT zPxsUR|L&V%{>NDA_2xF$Mz!udpz6A3-FXrt0NmOf2WYRJ=_KBv>*_?;^;nbY<*06%d+?NiTACT zFB$J+B-{*gvtnM_Jct1bXq6YP`cf&*Ba3)py&_4{6oBzbP^IAg$SY(DNZOuP$M=a= z=GO*_Od>$iJHR$JCPgheD!G=+a``R?k%Q`)o0GbNTO8X}41+-(^wkKt1nx=LX z`DJ@I90#g^#|nw(0CYNzCToto5df`^77#|AVGApa)^R$H<7m#Sl>o3|YK%I$GYVpE zW3i*Q9Y@tVJPIUE%}<03EkX(zF_%!4wxcRag%{TXpl+JB-DH?zHj{htOp(iFMebdp zr-6lGnwANITyZtml*$tzfl~fJoEiowP)CkHIV!Z578&gslq+LiFtCZ5+Vrc$ZSUx z7}CRiW1sXz0f&GYlrVO*q!Px2kfXQ3C%+RkFyJsXur0`Me@P_G`hG-i3}8BN#0QR! zHX>>hU}|SIrKo^42Aa&wC;?!?0)uDfwn&?7u z6Wm#o_M^*iQ$CRYLa7opXDw4IwPaaVA_PqV*cp3o9ip{X8=?}lFVJ)k@jK%o*(##c zfc_EzXu9VwBesb6f#-QYFG7H(hbey%4=i4Xz<2NX z14O8>NYmzd04&c0$ayaUz@j0Mai~D5--f`&jKh|5YvCzAe0-oU4fV*^k^5-E|6B~K zL6MyP_)fTOG(HD^ac{h{hZ0=0Xzskxn0tRRB>v9$$M_4zNxoyO?F0${0000VyEB$ literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/burglar_front_pic.png b/graphics/trainers/front_pics/burglar_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..5b68df0ee08e5ea516362a91afc5639a22ca2644 GIT binary patch literal 726 zcmV;{0xA88P)~&F-|6#fxfcT3Y7j_RY=aw6xWOgQP)HV!fK)iH0>Fcbh_XJ7y!?hHiYqNtUkvUDqyA8>7NCqf>$ zX1T@9{ek+_jfDoLW+~*RW`WjXVdwz9<%U~&miPq;>Q+^X0}I;)oE}A0V~2qiPm$i2 z=NJ1u1%Usnx^50Bt&Q&z5)5m=dqQ?-aG(co2pPP1u&0gR+8snu5WLox5X9>UT6#d^ zb;o(whT3>U*XWw_*ws}Kg`MvH-6h)5gZ6SCcK4h5650-ZwA|MM0O0*KX9GU10dCLi zJgLcGBH!;JEol5S&~x8M@*Eo9RPij$4^4#bts*e{s){G#2Ywlvt1Avl(rWrFNyR%K zV{_w~vsC2Q!7NDPSt@2Fz^_QzmPgkcw;>CV<{bB${Xz%{_;zds+IsDC>KynN4AXSiB#SPu;Tu^s^Umo2WYU+%0woj+{41poj507*qo IM6N<$f`rlqoq{=4y+*K{@~b{{R30t8!uj00001 zbW%=J06^y0W&i*IKlQB=*KorLB5`s(|nydjg1hC~yevz#A%xb(xP?<)H$WTLoyKz3*tAP*E%ylNORIs) zS})kz)mM2C?)Gdzi?(U2!mhcHJJLp!g8PsW+T;=rlEgxkHtxfqLSKob`#Q1iVsG@Y zGSSZ>79AlH3oyKG*PWX)9z*9*3@wBBYG6*M5@2+9r1mW>uJT)644>}apE7(KhXzQ) zppC90hPNNn(hs_Y0Rp0(bemGNgEnt=(x{;symYEA#)TQXQlt#oc%IR``XodX%zliB zr?|t19N=gJzn{er$#-Z3|1--#@)Hzr*GY4r6=Pc%Q6o~AkOducO>5|5bv1rUtgR_7&fog1LK^OwC#(+*31aTMv;+p{) z1Z)zpDbt7o0AVxGoo`(4wNlB4%Dk!)TId6yE;+Uca7wsR%cMd9qMs5VmN-CYwFe+CK|-Mi z)kyGUAHcb~umg(Q6iB0B1u7sul8(Oz(1w%P#ew>9cdKtlCz#F8qPV-)o37y|cClKm z6z7{GY+(mQ@o>+1i7vDSEPehe9=_Ldjss6h)mGp!%QI;MWGb>+en#_-_#$qklxUTX zScth5kV0s?g1B1OQu-*c5T8hGX=5*tF0QVj5G$}IRHhi<WmbdM_3#GyV8uQixZE)i?u;Bm3t2m_5yEZQ`|0S>~mMiL4{>i4d_-nAZe z^-Y(4zkc6$@4k13(0{as+D6X}`Fh&MgFT~dfv-ClYzu}3K^UlC8(FUmBVzZJX?_(j zs8aS4zxr}}{6eRcro4)D-DD=@4loA7D+M}b>^VX?Mh!jg31%2GQ9v~f;UbQE#5*Ws zdr(1v`;lXwKxI29V7?CtkRt8TB!v{ybGyRjQQ?B@0niDgn3_vIxwJLhlX>LTbFkzYk<^tfK|w z_!g&S^{3Zo9#X#lgIkQklMu|@HMaLop^4v0L*`d`X; zSz+wMU~lMeu!QIOWf{l#Y#xjVLv{__0nzI?fiY~nQTE+#bg8R^;HU+#j4Q{JF#ApC zC!i7;V*qgrkV9OpR$XCef?yk90Eue4=}Baf&OwxeBnO1dH$BQdq{|MN%(MfO6i-gI z0GOt%&TB&x2@X;%K!-!OZ3B}gDa#Ww<8&E-BgJg+l$lAD?QaxH4&cX@$#rnbr<-j` z;d^BlQ2zqs;c&?XsQMB+AjkG401uodmnoI&AOU}0seuWni6v{Ft$lC<=QZPxVjFyh zJ2u#>LO4A3kTg>G>v3q|o67RXrZNj)ox~er$xiSrLh0u?{Rlu>hkds}#=gnf2vtfo zFi~*h{|01?VMZ7a`Lga7~l07*qoM6N<$f(2H+ A8~^|S literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/channeler_front_pic.png b/graphics/trainers/front_pics/channeler_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..79ba41f8a501deb99cae510a908e0fa4152eaff8 GIT binary patch literal 834 zcmV-I1HJr-P)rwRH^tETW_-R{p9<; z@11?8Y5#YX*j<2NukHYZI7xGvs39ThDa05caCM$WFo3J>b{fFg?%`>Q1uKd6;qyd` zF%|Ok=kHYDw0bp6u22)8LL>td7!um4fK$T|DU;Aq-%c5o9=wG5`E_CqJ)pQOJrNk` zl**%o8v2c%zsO}1fc&TeeL*G@DwsuO5Om0Ne2t)J7V{=WfILdb7+?V!ScJrf&;ttr z%Sr^KC8QK>t4p%68EAo?9nYV&3mvi$CsWg+;&>h%awKAK4`nlN6$l}j85~0dxHM6x zvM@W9GZs1|8_=y#{!67>g-&+Q=n^u+yayo@Db?lW7E@Q!nfD+E6v8HU-J_5@v?&v0sC#m11_FF zzCIHe-N)+2;OHDu8ZjSL5yV2hwb|deKX0r2qf` M07*qoM6N<$g3U*Ju>b%7 literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/collector_front_pic.png b/graphics/trainers/front_pics/collector_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..15187ce1c846c3e314b8a8a27da93fe5b37814ea GIT binary patch literal 852 zcmV-a1FQUrP)b9;lNthE3C{{R30h3|Zt00001 zbW%=J06^y0W&i*J(n&-?R7i=<)xB@iKokIQ4-r{XSxzb#tDY+{LJ}mTF3^t!gc32> z84*-DOAMq-&k{qsFodZqTb8JnPWkv3D#pl7N2V}92V}Lcp(ueyrN^BOZLYoR%v;X# z`}z6Kz7NCr&%$3f(*73HgOOVsIgY!f1!mQ8a24aBCZG1lcGw!}M^(IV}9K|{k_${`ud=fo>h$mRuXe)+?a0Dp8gZdVXOwy2fLqQ}$V1T7?` z>|*gjQVR`b@Jux6NnznB?ebJ+Sq5ipvdiz1=wm;kfj=~Q>}(pCVc6Lh{;vUdX z{D1db;r=uLfL)_k-3%9@GYGId>;oLjpnbR(V1Pv!08}fjqmBfO-vcG z790(vPELS>oy~vXbsHd(0Z-5tzbo=U1fUWy1!!M_&j4LR0+fUPG>BwiOlZ4%0d_c` z*TB9Qd)!9|yf&p*Ca%dRDf|Ud;IZCSAfl51{xdLPiZwn%I|5K1gs4{E47~_nwLDYo zBELHJ6njLeUXDqVHNQ2y>s?H3pPtu87(1o+zqThouY(Lb*gkDQ#OkbZt{Ow86|#de z2kf}q>Z#U$uXWh#4h9Uu;Ob{i!epD#*mIq?l=$j>j?@_DpyE5u3nkz~5I}?mI9w#4 zq5%%}aSUALF2;d_Sq#+MTnyGnHv%^St{SA{%q_8@tAQD3OzgOt3TD+6^JMH*v1YR- zBmr0l#xXE4!9=~A^Ji}cBspuwSa&F4kBE#Gq!~*9|Ly8w?uGkeE}Cbd=ICU}Toq6a eE}`zsQpF!d{nc!H0j`w*0000 literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/cool_couple_front_pic.png b/graphics/trainers/front_pics/cool_couple_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..735d22fc7225ae8e47d11e8ed9259401642772e4 GIT binary patch literal 1072 zcmV-01kd}4P)cube4(t?H(bmBZTnxz?lDK{Q zp6xoeTf~hgC3$~-?|aYRd$Az=U*$E;co1zb83{1KYVAQ}xLIw*#&s2A1v_Ws3ack*$t|)BSf$^00I-otJLH9D}vy$rfz-y||D1gpkq~MX_KBLM(ug>eH`%I+ZO4I0`X*Voto#`EeL}i~&|U&`ICzi!3_v8m6JpcYCSVUHu{KsV zzU}~^f0FiyI#D1JYFjh%`OEJ*JSP=uu>^oMW~BYCYqp`~mZ>Es9%BX>YSX*S1G6t- zx*G=~AGeq{FJ;~)0OD&1Gf0ig1O~mfdAschDbk4nMl827@TxYgz%z;o;4+tPSpFje zu=w%BGSP=U9C*u~z^?~>xwBZj2pm^@aH(`_Scn2j4>ma%m&+ayH|}L3H{waDT;BYN zpTt-`hAMQ)QkKrwfIRj-J>)=^?~i3ZRlJccZAVktKH+;1cg}z?8vf`+0dWJc9RRrN zvBTJ>0dU6heIZ%kKK~kmkABD|$KkNx5^=EbCMxEhrY{0+2o})tzk@{>TtKLJ9&~5` z(iedgX~Q0S0ImZNa_4|cIswQdc!KL!3Q1sg7^R1>f|P%kf3G-6U;`Lzr4l!%Fy}p79Y7(jz`#$cO3p=+~${>j|4wq qk;4gM*&m6$Mfvp&+li6?F0TOklTPDhcOSq20000Htsx literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/cool_trainer_f_front_pic.png b/graphics/trainers/front_pics/cool_trainer_f_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..ca5d24f60c4856b1d4bb80ce8c9c81fe0cf547e3 GIT binary patch literal 715 zcmV;+0yO=JP)Lxl{Y$yi=qA-$dh>@Kz@Ve+y45g1kqJ6xVEDE%f&yB5oz}&LXDu2h;UtoU6inC1O1%D2K(s7-069F_#0A2m$}fdJ_&^I5FHhcY-8vrE&+u%RuPziFo}A z2HC+H69Dev4%T`jv8e|j;B~P^41z2dzzGiy*okX?6rIG$+l_Qp2B!5G%+yxL6&dhU zH3Ingc0u+7$DTG-)lKnDQ;J;D18dr@r-iTL)J>=Ih9M9r|oW6j-&+`~;LL1@5cg52n x@O?F`%&1U;xYVPYhYYB3MfNWm54e&zegRIN9SJI$F5>_I002ovPDHLkV1kp%N>Ts- literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/cool_trainer_m_front_pic.png b/graphics/trainers/front_pics/cool_trainer_m_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..509f37fcb1edcbaaf1eb11b964d2203e17dc8c3b GIT binary patch literal 598 zcmV-c0;&CpP)-oVT~_Z_ix8p20^BK zeYJis0FtzQe`z&^Jxr4Ql^<%hjzQMH`&~VI0!zs3(;cN+6ATW1IncgOcKh-UmfQb%ywxuip3slnK z#^|>?1G6e=Ski_u?Q;kU4<6e00Jt7XGMxvV&Ek3>iEA^Z=YL)y;A%`Mf7z5d*v6EI za^A8KNFO&=vH?I$nN4Gbg?Gl1Xp=GdZZg^t;=CKd6uaGB7qj*) k0^KO|&G-@){UAf@3Z7ImIKbb{#Q*>R07*qoM6N<$g3_W2K>z>% literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/crush_girl_front_pic.png b/graphics/trainers/front_pics/crush_girl_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b35dea83d959737f5bc934e10aa2b7f24308eafa GIT binary patch literal 669 zcmV;O0%HA%P)KmA`M(P!PwT6f0Y0T`ZL`@;PfM@v{&T60u_=bs`dy zGjwPX!jb68kg~BQTP2t>v7io}*&L}0TVI3(6Cw!xDcUl3s;xiBXM+IQrXZD^JcJ5W5RQ&x^KE{3nrU$tdKW61<00000NkvXXu0mjf DgbFM~ literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/crush_kin_front_pic.png b/graphics/trainers/front_pics/crush_kin_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..062ac4a7521f31c9d0d4e061289a4674113a72e2 GIT binary patch literal 1227 zcmV;+1T_1JP)Nhf_V1Q?Jf8zgzY6>Nhb8t+Of1f zbqTbVL6kaa6RY)MW9UV>nRcPkWf5#5x9`ySPqZiRF_)!Uw!H-!Zw{#grl1wEojB0V z>&TWZIW-v>$(s2*GjHa-F+ww?wLV)vmbsgNxW0a)UH9d>J)-%)5o7}ki|}9`=f!8) z(N}^XdWh}RE^0IF@sucv9=C0nhH*a9RM`~3Z|GI;j$!N=h6N?~BVJb3Y6Q4N_(kGf z7~6)iZ6W<}3+%e;MFEj8&hW)F&tZ|pGJF~#AV@qzoH_LH^jt@A_`O;$Mu0>X?iY}w zX}sI2Dkvf2-0q!RORKfEwacHXjlU0X!Zbnr5qYJOp?F&xe43vH$&F z$7!_=nTM2ef$*v1W*7luC<|MALPRSqdolGB1#b!O?L{KsD|X)5eItH&MP%<`p^(H^ zc>eDRkidzpQd|8DCkQ6e>O=MOBsfi^CxD2PTW!}>g#;m_x2F^eqKNP2CjdH2EmF7S z+If*kX_im19LtkO(B9Qx9o6o#w%^`w?=8Eh1EYp?pqXnGN~uk?0%OK^ z_XM2e6*=pno|qiDxUF}nFSe_6zZdTPfO$gXoRZ6kLM_Nb4}guXAiQru2INFJ$#j+b zV*u$Y0Q;rWG|%7f)3u)Xfpj9R4tBODE2*d&EtO6Q>q&i^Hu#T!`$CqO`DD_MIJLD> z+ZDIo^y(U=@>0|JRg%sUVaqGj-fz1bTWwmW;BB|rY<8s#o}U15(7L75Qk&{FwZC+J zZ$4k`Mgef)XGt}xLx^7-$2mYTISRZB>(Fc;s9sWfgkGrehR!*R2eg1;9F*gEAaBucG$b9oKEs z?fw9O2AXR=2jE52g{E~%L*SCyy7yPJ>AZaL>_HR&2kH>0mucg*+kEwi5uWKSj4ge*zCfK=9{5jD+QeMu7wR zO^pq#vPSo?-)4@4<*sOSzeCq9EOf_WL%?4^K1>1tC?I;r2T-5xjs^y}$c_P<(mL`1 z&O@A*$MZwqXCW|jfVkm!+ri literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/cycling_triathlete_f_front_pic.png b/graphics/trainers/front_pics/cycling_triathlete_f_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b5c2662b3682edc2ff8c94610918ac167ed81807 GIT binary patch literal 890 zcmV-=1BLvFP)cy-{{R3O5iqJ+00001 zbW%=J06^y0W&i*J_(?=TR7i=f)G=(+KokbxlW-@ftaG~3$W9rMT8YFNsT#E}m55^< zqKT?bSxN?$NJv$gm`fLyR;^je00S8aL$`neB3puj>TJbgL5#&soK#J19p`{VW&1jD zTXf&u`|tcN2>s{L1%xIc!=0b3w{@%azR3q|y?*>5e+6jPk6XtbK0x`;7~gH%d|+aX zrS@0uyzt2f-#T1SFq1f@&T_%p_F@936fT(9sxB0jTV$4(VRid;y3o%OGQ$CT)xiUT z6$he=Hp;U=%i6p+g z)5CEG2z3+)&tH>q?10LOl>2#78@>Gz2`KH!@ye)LgE9?09|j~!sT>~;%MO^sD1a#v z=dd#}0N*91yZUJEVeh7Hh7*O=x1>(TNFwi}P0sBVBWq)%(LKV8uPbC<*ZeL_F zNFbRI=q{)EHp$7vDM%NfU8@on)ZtMhL|6NV2BIdG8v$n zEs&4w8l50;^9%qLS`54s*dN|Yai)o*1n`;z_4hJf2xC)Dpn5qwY#ek>%CVYxD{ z3#{G5V)$9GSM{fv{bPhOULFEOMYvpyJ&bUK%L9tVt19>hy?O(d;@{Kz4e0Yqs|emH QlK=n!07*qoM6N<$f;D@Rc>n+a literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/cycling_triathlete_m_front_pic.png b/graphics/trainers/front_pics/cycling_triathlete_m_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b2f55f0fc082247df6ab67174d357896b9b60627 GIT binary patch literal 900 zcmV-~1AF|5P)9o|K?gjy-F#IN>cy-{{R3O(_LI800001 zbW%=J06^y0W&i*K0!c(cR7i=vl)Z1$Kp4g?;S4RH(>Z@Z&RLiOaaSNp-bSj@=on%K z)QY8aV9A(@feDGg01~Q1Jyn7t6%S;9sfkpEOtdJ_W&^7ml{!Rjdx?~!=D16N7Jp>q zhLh#@chCFW`8g}fe;yN-HNO71@?g~+Q-4=kve%zS11k?Z_IkA%E%CClRIQEyCiW{G zQGYrP*cbI$w1=Ofh5eRCd!Ww_>?dr@KIs+9N++|?fXWB~N}_w9HO6Z!-4AI3r!zg$ zc(!jDHv`)7oN{3*N3LOvN#9Du{SudVh>?gBqGK(tTQ9J->I1&LCkd<(Lb5krC9N#R zGd_vgrT}mfrXWpbB+&N(ciKASjH}WORIKHM*7x;@y-xmpT(3SNB(PJ+oITohTJNvW zz)_qLGilwj+R=c5NXjZYW1`7Ps^~bG$U57_y0`s#FG|1Ye8q8ZYhyENz2h9>l(V%F zl04HiIS1faW5s$s2*f%z@BBE(YKas-sfV=SoKf56WlXpPf(kvZy1m67$0^Q_@TVZq z1?D1?9mZ1%I>cHKKnz@Tj~=H*-~=MH(1^_DVSEk?&C14l~ z0w0`F31o&XvzRjsX!`+`Wdv}Mq7UXgBF0p^?du^eD49zXHKyko(XTtR0l-z%Obe7D z^;lXjIt3q)7amn*QvglGvby)(ukZ(OQIpY}?rojBO`|a_0M{D`pjCon{iN`T+VH z5PK?$ literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/dome_ace_tucker_front_pic.png b/graphics/trainers/front_pics/dome_ace_tucker_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..78b92b0c96686d2b25fb362b59bc1ccc7bd1ef83 GIT binary patch literal 906 zcmV;519kj~P)l;-Ah)xBD*i%N6V&GzQiYMhkC?(U1#v||7N{{R30uvh?H00001 zbW%=J06^y0W&i*K2uVaiR7i=flrd=AKomd^9I%Q9BWKB0B6slC#4a>L2q}07ZK)@_ z-n!Iswl_dupD5uw7+Qac!;{*!DIOG0g- ze~|2ZPyhcreH)?w7(#9EfoLy7xl;8Efvi=-gble;t|hw!A*J{~e@vp0U|IaWhteWhE)MKo9HG--H*OJ3sHgdVD||VLS)CKtFHD zPxi0;ZRTcTId}(m9C$P?Kiuyd<27Qb^t<+JvCxN3VYr{;TEf>vR?IZ>4vY=&PLc6C z@@1G7GY%gsS5P$&#$#4W4>)u$Y}*)|L&3hhAsE#4ffHlMtueu?2%Pjog~W&x^9r_W_L&_RERWZj z={R_k8Z_|Ic>|=@ce+@SH(`GKqwDeH6~?k$RjC;meU}UML#$z}I!?#Wc>=ifO%MtJ z>L#ec1wAscS`WdT@klb(!;4{D@NRv^x=X8}8N39ryDp9v4hvdXi-YJH4HJd`H@MNo z#Ef_xB{B9-qd!4lp8qXDGWdfSj~OpyGPFGLE7E?$o=(OoM(i>~p9 gb3!O&5dS8A1NJhS_yw}W>i_@%07*qoM6N<$g1G~*A^-pY literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/dragon_tamer_front_pic.png b/graphics/trainers/front_pics/dragon_tamer_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..285f2207c9fcc528d102a2376b4286499cc5adb9 GIT binary patch literal 710 zcmV;%0y+JOP)b`|6*FjK|$5t=1NLI|IKREtV;j?{{R30N=JPt00001 zbW%=J06^y0W&i*JL`g(JR7i=vl|OIOKp4hd#Y@%UWVahrootnmV%U&SAr@+uPMjBp z4&Zk|kw*_6x~A$Ez{=3iP^qei6Ux>p5({EM5d&YqNR0s*INr09D9QcFfW&3U@cjHd z@7;TTZCU?&kzyN=nhD18a}%+bBzbbq4M3ixNy79VEKT#2v9aEO<;;Jw1X{-%K%QJX zj(fBO9vw&yT?E>T8e03CfVJm4&XIpJ2mJ14ghe{t{Zqf!04=vI0oKEB?jPT;0lwpU zk0sz~*KxfXAa~EaKn8Z4L)Qz0{_E~}JCGwp+r4<)>de7U2LeiB-B~ z`yI|piogeTN9+KiFbV;xm5Qu23y)u19LwsDT+m~z>0*5a; z;KzuS^!FzL*eVw?#M=gg8t7dgD-13eV`UB4{sXyD*2yIk7E_3=;J}rET})^I;2#fr za>P4ffEnlj(;K;!yTefpa1L=fQ0(;Nf-M1F7KCrK%N{lf})tt95{_->RS4S_1xUoFW38FM+C(-U+*Zg|Fi>K{3OKNaW2a#GkcO zu)^XaFaQLBmrxi6EuPK`Fb?zb4XCHWA_KMpTN145-cX@%V3pZ`jI|$vdBQ&fTt8cy s622#92a>1njk_R|>D0W1R7i>4)G=?VGltU?x)Bu)49IL@ljsTpfYrIXtN%&fozY_MmqgT`L zoeB)5ZpU_}a-^y;kcYbNN;y)Uqd!{F_3}`9DzN0;*Y(wb^m+=g=xrI-&+qmdWNYix^?lM9GuE1+qcSS%wW#zy7}LieQLvqe8>A6V0^k3P z&Y>wpRN4!JR9G0Wg%e%g3q#2J-!PzwE~$SAA)p2Zh=_=p0oVj>0$Sh~AjE;4wQvFO zE~9!50=&zA0OlWn9>bpT9Ka;7E)V_+;vA&2#4a5Go=?*Eu{(7Tn;Do)e1D7s#-76d zK@i};egXHj;rkQV0=>2wU=()vP8kNobCwAR*2Io!TM4AnXwln9o(PLn*R~UgA8RPE zQ?Qx+tZtw?M5LOpyrcwqB1Rto5ozuGbTjnZgF8v{PfCliIh;jv{`-Fod#1XUmJ~gZ aiueU&uV84(=vd_d0000$dy8sXQc_xTF*#Dry}h)gq>F=t|BG71K|%KB<^TWy<=%7f00001 zbW%=J06^y0W&i*K5=lfsR7i>Cm9cBvKorIWHZ;)TIJtY#$wM~Pceiy=VhNhk!IMe; zj6xe^lOd&P@D)R~bf}uaV?h~0p{OSx?X^{varVjfn9gqS>GvIiQffyZD_f^8G2;{orq~aZpPQBX72!=5$ zZhL+s@s1lSB61jGy~w>2VKtIOJ_M)&NTp`|K1l|WxDNpXV?r%~39-KTgzVf;ARtC8 z9{_6h2`SzKN;+Ybn9SF8gYrHlWO+~+0ZIua@5=>F5(O+}q$2=O!sQ|*e4Cii$x;9| zl)-K~s;j!8OF+)R2AH}ENS#REq-MO7z^Ex%3KSI5Cnn8UI9SJpI6t6M0Aq`&F5+bX z9vshP_tivJ1^~rcp20S8Nqx?%Miv&dGy}>8G=Qu{GtCF--x zDspC8^~hmUDeF8e#-0Otum!pf0C#4mpdtZi&4JPP0yc}2c1<+S!%#FkL2DFAG7jb$BL`E{nM6@dyXU&pk72h;kG@00pzbuI|#m>i)PgDq!3N{0l)A>_YN4hhPMEO zVMk1$T1XofxhE#=d6VNH2toyfm+)rFA+3IW2hMYKfuY0$s#|k*R z1R%Un03C3+;+5Xrl|o(Rkm^E+0ka7JPwd5|M6f><5JsV&0@#w2-(3gLZ5TyqLdTv0 zf3Dbo?koUw8O{1;%GYg&5 zFz>V9?|W~4u!?e%fmky(KDq24#RAK|@5f0@_FQD#$%14u7%7 zECzU5Fl)6Fxy5AR=#vGOT;N$@(;+r<<-q$6um`{83X|t)HkHzHQb3tYPpSJ$^0;y< zHGli;V+?@UJs%h3Nh*7de?O-W>QW+EZ_Mn^9Q>#=3GlA|?cDtP{Peyjt~BX+pBviV z>1joxfGlgXp-u07mvstJ$ba3^?w;5ZAaDRSx3qLc4rJl=oSLr4EZTI#TbonWstnkG z9Viu5wJWhe4!9*KPHFR!Ba48KXaZ;- znAW?qmd(ahP#)|Az?TqM=xPAqjv^>aGC_9tO-j9^>kF(_^Qz#E7_|uvvO5kTrp|}U zSl6qL5N+ZD?6}^st@nn(k;?Tf*D3&2la;KNK0vN3piYZPP6+T0F#{PvI1vCzzMfN>N;4?|*7^FSHR5GZ0pMH# zd`5^M1>Qlb!~?|a1B2NJ;I>J>`XnKu+ZlAO-bd6C-EU+MS3CKa0>GsMAjk+F+rS?B z29_X)z#4uPfR&3l02x|zAX+DXW`{}gGNK;r`in985AYvjUTT!RK}<3L000079e%P>6N0rKvW96~Qh+ zhg^$-@4C6&%a(v*-XdALBn~c}UWQsI*yJ`L;P65Q2{_!fAY>FHP1D0zp6}AM!rlGb z#cxQs`+oQRzjyB)LjO~a^YKD|vQnvDNYpEpO3i`&#>nSOke^U~)!`f*5&-YD+q`yR z!p=3m1$T5RH7$7$?$F?k9W6Nz0f{>2j-e8u5p`ahpZ%^)JpvLE)vdmvY1%Xtkl;(d z^%+ewpo(Y<^JV?HmV!DWgtu|ZcrgpV1|(5mH~R2iC>>@pCduGz|&Pd6Z7KwgSmu4$9(>2>6U4~VtD*6rHwyll`T zQQZy!$Ant$51V-{x0TJVPV#;)RFdY2(kstx2_X)S%?9tIuGZiE7`D}+=niwF?T39pB4tehLs^;kJ^O5gg^W=_6dpY;SWn^38WA^!zs}* zVX?S~;T|1H`7{nlY|0WHE6-wP)IXqef-xG6$SkRoKlXh_i!mi6v8<6_P(aKKOo(j< zJ}om=iUH)n3KAHlz5?>m09rVGUadi$?r2H%WgU-vT2MgDd${7WU^caF77O&3(*Z!K zWl5#zfComJF+bRi*o{K?zOKG2saoXYj~w28f^aWr8cjb1cBV)F5T8nC0_LO_9thE3C{{R30vT((n00001 zbW%=J06^y0W&i*Jz)3_wR7i=fl)q2gKorM41c|nT<-)+w1&5_eRRKE{Tq@G#Dm5>N z$&<~<)HKFf*UYX;N?T{+AXXnrMt9De7eAcK#O22!?LITD3^**|MY>6e@wi5K&8 z@9oFZk033vbkixHSe9LswF#hLv!?|X_m(YdVRe^-lU7)>i)D#4R(SGl=Fj5pih~oy zUbD*`ZyOQjPplKW$T6BA9uNRk&xKXW!RCl0kuq7e!?x#EJ$Pj;+C@@AOiO&{2F;29 zoQp4?If8@Wc}a~z{A&`#FIFOOB4r1Vt!D)pj++vk1VVPHLT#GuP@b3}2xwy{J23!G z38S=&$yg}cQkInd$a5IuI0^7g0wAPFRRN3-(+-SR+One}n{Agq8Os3hsaGNZ7i1>} zc+#Ox18@`rOV;us%K}7)Tv^dO+luvTwj7|zZV!wj%aKr1d{$Z>Xs zC&Up`fRiXb&$tH%X)&3}Zux z1|ppa0|iQk)F^ z7sNpiG87Im-NeOqIb0ldIEM}uL>zM98@k*gB%JoT2zeHFhf=#$iAidDNA7)5-w+;r zzxRFLd;Oq<{O@9uX>r{54~s;}kJn)V2omrTPf_|3zWVsWZ{Z*egS)9+~_nV;>JWwqk6lIP6y1W2cbUy9N% zb%sCciOkhID5I*>vnd^7cfwh zWrOsd$}-kv3W$J%hJ2Bvz$gT9BCN~W@~EZ(KZO7rX+Xq)sVPgKfQo=WwJqQ`p+P;{ zaDfO}X#s%u65{bW69MYqfRSwlE)Y%vg99XebxeeN9MC=n5>z?B(d(-%cswu|W?M=l r4p`6(oEva~6s>xA5EcK!pIpBI&MEGIvZd=$00000NkvXXu0mjfJ3B{G literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/elite_four_phoebe_front_pic.png b/graphics/trainers/front_pics/elite_four_phoebe_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..788908c6c5f46069dd86c6f3375bb1929ecfd25d GIT binary patch literal 661 zcmV;G0&4w4lrd}DKoo!vDu|#MLF&Eu$zW(HCQ_k83pVEt*)*Mk zmu|5=*S)Ay-66rwl1y^&;-#BBw4|HT5NNmh1R-mrA7BVVpg@NQ`8!N+P&`cc4GT01~CG3giHG1R>hB@gy*BumsDMzWCOVgb7hvRw4x~Gm|G+ zHw|e91pw+YAO)z%0F@bFR3(7MnEe_g650;y_GJM1vE%GQQv%SMlNd5f3Xo74u#p4z zBoazK?WQ6Fz<>skNaPCoD4}SpEUG_qh67aMWsSwJj)sQ{G>Zk+_t-SvezTVt)#4Nx zXYB>=^MqE)g@o#|>6rETfL4uiA+TU^*EaY-p;@8DTI@1z8_s|z#Z~N2U7OobM;m#- z*cR(Z?&QJL-IfA8cDdcfFRdCcY-aa1&|#{15v5L9h;C^_i4xRUEiUQH)?Vg&S5aRPHaEd*0+TG!&5dzS=DQG6r vsR!kUw>#P?D_ea@sf9@Xb;;xp;lJw-Xnx?Y=cci500000NkvXXu0mjf0{Jdq literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/elite_four_sidney_front_pic.png b/graphics/trainers/front_pics/elite_four_sidney_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..d43ab5cc3c04a89ec932d977c63cb01eac88d517 GIT binary patch literal 696 zcmV;p0!RIcP)Klrf9jFcim4LTN*j^MP|ia( zm$3Mp7hk)pz1nYXevAr7B>Q6Vor~`W2_n?*3Bmm(Ev`*x}Be3lO(3Jyy&<3E+ z#E8kDmCAurrVsS~Q0~D5=Iyu+_yW4Ox-RdtQCjHKbkP7Upm#(GRI^%pEq#0<0uG-l zW2W)BKi%=Vb`e%@;i+yMc6e3Sk^mguWikFx&_LnzHlJPznZSIHkN^ zey}*ny>^#e3gu%Gg#j-K&ZKj%y++?&VgFJJ?BAi;o&ht7ZjEiv+B)&1S_FM-^Vz!5-Gs?$1AG_$ZSk9 zi}|-%Dyx6H{!OiGgw=N4f1ysG5=%T eD@1D(+>75?NGaS`M|cMS0000=Ksyb)tscwYGRa1-ju9!DRV&>?plMrL0W46oB#j-cS_5?00001 zbW%=J06^y0W&i*I=}AOER7i>4l(A3SKorJrU`S*s)@5W&#;A(uF(pEQguRoE`UlwV zmI+oS0;5-^QeZj{fqJT)Y>elr6$>16VL&VwL5TFcOIzU!|2Y1Q?l=QUNW!X8oFO+urc{=3h8Mp#ZgujFwV>fnBQz2?L&u10_e*7LsA$+8ee9XDGRw z&L*ay0LxPf9=J`rmhD)s3j?JY0H=I#=K$v8-rm6NBS**Vu`I)m7C|OGt!{lDP+Oe? zG&^X2;bRlIVN|_zn|OwoNfVE-AQD``M6am4GVQs=>J=Oh(wT3QJzxL;002ovPDHLk FV1ml25=sC7 literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/emerald_beauty_front_pic.png b/graphics/trainers/front_pics/emerald_beauty_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..aea688176f76e212c2af8b0625d108edf9e45504 GIT binary patch literal 662 zcmV;H0%`q;P)thwURj0fmT7%~z=mlV2cLljj5pgobx{m5rm;uJoEVh%_j(nQEee5k zv?|j>Sr{U{ef)A}S(U?&q6oX>aOQ?QDl7;@c~_Ywge(>c3SU^J8iRaGBTu*yjLM2e zRFajh$YX8&)+oK6%!X}!{M(jyPK@p!b%efd{hF0>Z*Sc`Z-+^p z=55;+_e+V=vrSvC3Cbx=rplRK6@e5xg`DG7t0z2AD#rCS2lZXoF;QqbG wBPs!Jtl{V?U`T|)o{d4f0Rt4l8UG$X0Sg)BV_jo_I{*Lx07*qoM6N<$f<=WLF8}}l literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/emerald_bird_keeper_front_pic.png b/graphics/trainers/front_pics/emerald_bird_keeper_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..7ad67c5d775a989b7492dbf428c59d33ee82e5dd GIT binary patch literal 698 zcmV;r0!96aP)bSK~;o|?VoBS^gzLQDLI{S>*^;F5a~*(8e=v0dM;6*QAK@#G`0uw13p6jcDw{&sjn~-om5OkMkn%ZNK?v6dAh8m} zwX1us)RYkRrgf^RU{rVaXkN-@fPj6m`-WzvJVl%Q@Sf5_zJ|6yQp=_6<=uC8P;hg3 zl)1E)R!~4zDb29ASdS2;41hA8C)Wzr_l~9jxlV8W@O7X>i+XS$D)hT}zQ7pooD8t^ zf<;-b*T=ysY;mJ^cpGbCfl|hg`;=awfaTV8fLOU`8$f0S17<`3ykaPT*gp2VjA_75 z&+m^lAT{jyKCGb!gIU1%HV+uTz-ItQOg#uQilX@Xbm;s3S9vlG4A-#D=n8bjGi4YK zL=eE;*3du9i=Am;q<{pbNyvfhOqhEyJ#Qlg!c2g$$81UYG#$qPKwu33bt|Xr;V&Sg za|Hx{03kh31;KA%063ooAe(@60@^bG56fH&9!%~PwE$)jX+YdznK%I47${xN2lX`$ zKPR4+4dIVb*#H0l literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/emerald_black_belt_front_pic.png b/graphics/trainers/front_pics/emerald_black_belt_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..fd3b51c66b4175c377a2c4525718ef8712608ba4 GIT binary patch literal 735 zcmV<50wDc~P)kF|=wHIAK02WWzg4Y6=GY^G(7a9a# zuBzKPE1_Ptxdno)UF+Vj0aRUHiPvEK=eygwUn^Ayy1WYG$#enX@J7*V(BgQ!Jx-=0 zc$>z+g$^fj?d`|I&nQVq41nvv@g zGI-kcal)b$I1KZZkB5W}LjZXBD%%4ifdkqN65=tyE0=(6pmxzNIsj4clu#O$(}ZE~ z2*hY`0(2TR!>HwhD566ipf+sNHed_ol#)HrI{}(b$7Ca<+Ff1%QOUxwx@(O!Hlale z#47%zkMEdMLI(3JwJS+7ZB0JOAC{{UPCCCw^4 RYIXns002ovPDHLkV1fl5Lizvz literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/emerald_bug_catcher_front_pic.png b/graphics/trainers/front_pics/emerald_bug_catcher_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..8fe86d40e760d3f2adac2cbc3343e04d03ae9a1d GIT binary patch literal 682 zcmV;b0#*HqP)KlQD18Kp2Kk!ot}sN9*$>I5L`)-!Uq6gA_ zx2WpG$L@ORpKx)CVIEe1aUA=B1ppK}AV)lZN-BWb>-hsR1aL>_Kn;QbhZW#%EFADq zx#yO>kA2^-I*fbqU_eOjIy)tg@ht}xhm?pdI0(LbHY;Bh4!gZfhR_HKL6VI3*(uwxjAD~1ekoc#~BsW=@ZF@VTPLfT?iMnuy6V%~;d`w60ef zQ;wP}rmN)}Uml`Ovgzw5So%i-jV~kKr&MaOoN~S(o)plch;vRy(g-9UjA+~-q;GqOi^x|{X4EQLk&(I93c+Aa}t<807*qoM6N<$f)w{Y(f|Me literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/emerald_camper_front_pic.png b/graphics/trainers/front_pics/emerald_camper_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..24d173dee17d3e64db40780a3e5f18fe57428a17 GIT binary patch literal 629 zcmV-*0*d{KP)F|6(bb!E~00001 zbW%=J06^y0W&i*I^GQTOR7i>Kl(BBxFc5|bLTH+{FY6N(VQ6UTva&J9V%oSh|lD?W1}=s%5%rk z>ZMaMR!#sSRXQXD1qO~D1YH33txgyP4v^YP6qND`pa&M9v!l~W?{#J_vC(XCHbf1^ zVPFHwp?yER)&_@WMp@#0Gr$xNL4j%uPN3cag=2cc;tqZt~U)y#M@< zz}Cbf!B3Y7fAYzg7x#nK<2W|t8vw7Dz|Z@e_3(dO9<5Lzj1tQA@3F=oZ+p#wR%Q`C P00000NkvXXu0mjf3w$Ky literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/emerald_cool_trainer_f_front_pic.png b/graphics/trainers/front_pics/emerald_cool_trainer_f_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..572aa811a8a565daeef8f55fc40584b43e8a353c GIT binary patch literal 681 zcmV;a0#^NrP)oO8`uN&vmydnp*S=8KE8IZ9d}|MtDr&4d5{{{R30@1~2r00001 zbW%=J06^y0W&i*JCrLy>R7i=<(=lw*Kokbxlgbd$;pB)N^)fPq#9k;vk~R}n)rGSd zV9b>z^1#4IB@`rzzwEq1MW(&t~PMqZ*vZUO=mi8Xxmd4 z1|Q#TY1#t^8qyn2Cq_rB$IuR*%O}@{b`P8(1zXjJ;0Rm+O{?Y|6*Q8vU%vM?RNi<-pXS+M>-x&iaok->TPE-s~?g4yc%NO-d_1F#>YGhR>@ z2$8KLB*O%pJfUVk&IKq9@qzXz{UpHWAP00n=_1Yn;r;Y8Fjorv_A)(i{mzE^3>jN7 z7Vtc9x6`ilD6<&rzu`Gk{_Ol{T`s7Z04Z})U{WLdpQ#zzY?&W2BDH=0@d2_~07Z=a zGxb}$Zyf;wC#@^=srBqDAd)pupnui|>nf=k_@_E3DvZ)ESEqU%0ygW>1&)js1k^#( z1;S0}zR}udY^frHL&ovRa0FHpFc;qZUja@U$07#b+wfbr5a8kRu-nxYaPu>+-?BqO zc6BKx5U^elQfpy7{~}a}Q0^#j3j`_z-qk}0+?=k8+8{c35y{%ns^C@sEg*#*P@`l6 z)FkaPP}~9Slytx^56Zx+VsJrA!1XyRe6vViF;*A@OW!Zfi6#7}$zOi}oO9-4QnXr1gE1gES}CNoYGQji|MtDr&4d5{{{R30ppA*l00001 zbW%=J06^y0W&i*I@kvBMR7i=f)G<%nKokJrC$U__aB}$v&O#^DWb6QhNSzSVp=_PF zFo429bXkxiRf%sv3KCPBfw}eob3AyM%g;2Hj*tR;kdLN^In$TlHq-N@7{a9 z0Q}Fhxeg2-0B$yKNKp7bxW_95QQ=zEQw5DbF*upgl*20;*nVHD#PY&`jh zC$J!l-C`eYvk>*8wCcXc+nmj!?3COhK1txW z&Q@g?K%?TWno^HhO3cIXQ2`{Bc49K1T1^5$U1*F<6`lG5JJvX%mRE z=L-V(tz$WCz{Um!y0R;OHsHhl9tuw7SpzBw20F*5^8AS>33kzr@TGi8OYY0+I1{x@ z$x&J^AFNKngvyi}nS(MiDc1D3QdbLuO_DWhOOTUwxWrC@6QNY-Gg^+VP_ zQ^31^mJ*+puhe|F2IP_gnew;==)&zfz2)mbL9XmBX`q+ytBwP0|9o;BaQzQpU07g4 zSr`4Na_z4J+K_ohd5lPTjZw?rdp)|pznX>c>@#$^;qV#0`~v_ N002ovPDHLkV1mwZBDeqm literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/emerald_fisherman_front_pic.png b/graphics/trainers/front_pics/emerald_fisherman_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..8e90ccb174151385c8718334ddb7b0487298dc8e GIT binary patch literal 889 zcmV-<1BU#GP)K)W2`jKoke?lNwn#5wc8}*qUTxs7NwVi8hU;wn%{m zCI&KD3K8w-FfrC-Ne75zRV5Wfv^5FMLPfBU|AC||olH#!rm7IRYMOx*9nU}Gi>t0I zoD@sv`}lkBog5?dfBfS?@%hWwU-ypq%fN?TZzLXH0KS_*YS|O%QDFV*o(a}B?Ahw8 zfUrPUKXd?n)*1(}#ZM39QSITF2x~mw(Op0zT2+X3Y6*7GeE_w|O_q*7zi&(HI`#ln zBkE+%?wsCK+cm{-0m_pR6Y*qh=2)G!0cHLeB4UDNuf>y7Q_ghN{1Fi$7Dg=X2Q(RR zi=AX+bA}I~77>w&rjl`t{D5YL{ymbtA89uLj?!WueGxJjo5DNpjJB`7DkwOle(um9 z05me|f+bDMrghB~4j4sHy#x8}?QT0#2|xzGf**K&hRd>8 z#;22M&IFC4)IW>VKokJ*K?Ap4i24b3iz{U}V68{~e1UzFa+~BO z-GP_QELdcP+szb8K8CPb-4$0XXk)3JaK*t@Ru&TQFoodwq81i2BUt(%)%)=#dGAda z`!C}_2z!1BP}@KS0NB|;2512j{{f-}-1er2l$Xi`Zh7~Vl&!+G0ZhGdsMJ?90Vfzg zmH@nvh5`;81yVNO?#2w~y)zW?1nH-IH@$Mf!tCtviyq2t-?{O;N0#&iM{Z2xKZ z^1ePFQ-L*m{du>0qs_ZCrJ`f*{>g>D(*$^RtWJA>rEi1FA;}S={nd-K)q)%_$CQ7( zy1+<#NRL=y1h1~602kU4N+E{xcONjy62nHQG+(?A6M$;12ka)9zl9|vcx(U%kX;T1 zj9>%HkoG>Z08RxgAOubYV2g!5KgwXp6EJK(0h&4R$h5X2{0T74K>rdBwGudD0ibO* z+tRoYbFq?{zQPvM;cDVjueF0m)0zGsarzq^&1U+~jHRS>ArDVZ^k6H5q`N1SGW-BG zyo{p^c>Ub4FdKmR(5Zz5!0;@d{VQ;W+cgZs1ZbMv4l3X)D<~naGYen=ikhmJK@*F* zp?$K07;_`&MO-&!B`lz<`%=_4&{=^i2?z^lO4apJ8pk~ff|j|MDid&rO>%>vGl5@0 h$_^;n^BP6UYroe$`WT` zb>70jg5*dYYqd|xz?^h!7QC=HVD$}^5Th9&nNTeL1B3)(L6v(iLCDz8t<)Re_se(p z?wv2W-2X+GEivYyzER1LCEvDt@NOf>0>0T8bQYY8Wt{;MJtxR8$TP-3rl8| z2RbInC_!(1QPnK~pE?;9zsnO^TrN+-P?-ozV1Az&^2+UPNf8=I_GfJ4m0VDjg3#d9 z?qQp!+p?C*SwgWZ5kUlEJf(L zvok!kA-I?Y$|gK9NEmqD&S3D})|#9Mwbs2-NdRns@$D;V20<_-mKwf)1^Bwh0pB5< zI48s?B>=z-gQ4%3W~X`HLZJM*-#&1I;RpfKY#evV-bA^H=~BNjbUEO$v1zuCJDt5y zy^dK(PUC1WJaR{#xr;=#YiXa9>q;Cr;u&1MYMQ&IdD5v8BOD#aO6U)UKh%K>3!vSt z5@?J@G2kca^3DkOw}lL00B*y*ivenJMTSw;teS1Shh}vwaAN=%#p1d=#S+FZfa}Im z)ISz4*VU^kcd)Qmnnm_qH&$eQyEG}Qld48EGJXMKeW-gzc`H=MZJZ~}fEcvg_~hw0 zj&(=xn)B$86GHZ*+$(_9sYb{GAQnO3)nnr7@F-Gjt|MSUD+So-KzO5gXe2S%Si~9! z7Qs^_fII^D!)F~Yk(gPu@YZU$0O2_tmi%_|ItTg`!*?k4Qb0~x#T~i;>a_n4pwIpW z^chZt5U4GHLq0V^K)0!nK*Sfa&XPI;b;kG=<{Ml8B>w07t_) zny28T2*{((M-fv*kY1*elf&aj1eVAHFq&?)v&1NC@$)DG!G8_{c>L@fMNv}EcIoi0@B2WV8!d;+En9!w%1iw+&{m#<`N{59@z~xymfDRF&G+O5asNxe9LXPYF7U+Tj z^e-WwAi(c&^sr10>Z)Nt78&gI57Zj)pmBPHG4^QFP=S@WIF#_xQ_rYDKs>`7F#TOq zYg`?nvmYXUoveBW-vFUoUq$g>VwqL}9YsV@Tu3ZcK%%j@-~$s%e{%IZsr3CvIJcIs z&=W3jH+37oOT64$+XgHmDE~O2=z9Jw)B`DccBQnd?|2?x7ij0OtDfjO@P9TEr&&kq zpToeHcF(oV^Ibq^fIVQqumJ%%$L@Tzt*rtGbZqC;cD5iL;TN>iR#Ye=ir^JZ(S{fV zvUvSXy69nEga}Td>_S3VO)n~EDGrdvI4g?D*s7R(@I1)@GTB8@yjQ3UF<#nU<^Td4 zrCfonwUS9TcmOKm;`HM>nJ5ij2KJ_XpZ@UAvxyAOEGqBkysRRK6 zA^E+ARFZ&sLNP)<=u%0RF93@&A)h5#ma4$ivj~JtN|MYr3T_h?ft8~8n-zEL1Av&m z&TaDQ3NTHsMR}_4o7A@X7NY?04NP8&7?}aK?R(5wTxRSC4kkSgTU=eSpueeUs#Xgbpw?jEI8Lv(xv5&LnqeKa#_nLy^)-w2SLe^1mg|nks&CHZCg)6w zx~*?&P|X_mJTMHV_?H157e-K!?AN*hZg4@x=f?d%R|3b${m(3300000NkvXXu0mjf D=%;!h literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/emerald_lass_front_pic.png b/graphics/trainers/front_pics/emerald_lass_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..5ccf1afcdcb16eb55aeccd40210b59f21421a274 GIT binary patch literal 617 zcmV-v0+#)WP)K)G=$@Koke?2RdReA>747hZf=}ly0>oJJ3z8MWA5e zp`6Dy(C8vfDGkJ9Qv$-9ri9*-e3pW`#hbd>m>Lr3;&v!$H&=C%4z=D3bnaUO_y6hM zJ2(m8fBkF4;US$XrM?k)9*1g=0Er6YD}^^HhqL(QUKj6CR!4D=5Iy3M-;2Ym1P6UC z9;pNe<=7INKl{Wv-(B*@li3EEGy5xlIH}ih@N|`nbpn9Lg)loV4#0X~*ZavKny-Af z%}zfK|6Vs7r{+}GU`Yi#Td*=)+}IK(=M_)u=)Kq7E|{&}T5k%|d2$>*Z|LqKFxqL$ z^K7RfFJwc>#Vy#g{fZ0B+lr=_FD?oIL?_pa(dl&hMHci}Qa4Yj^+^%<1ErK*5(H9i z2Sr2N0-YZ+kS+zzfH^pb?f}alkG0-uIp~EL4nIl#%E7_?VS6wd<2g%tI~|NYbj0QC zyjclUsn^4Ll+*zY;9wq6VBY;l56hu+4bUNPfImjT zJYuPj&A>hk@`w!wD9C=l%lr%lqj}U>{E6Kb5h3*p!e^kOkI}ez00000NkvXXu0mjf DC&e7_ literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/emerald_picnicker_front_pic.png b/graphics/trainers/front_pics/emerald_picnicker_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..06d4d3dea12129101790afb3e77c546cbe09ca05 GIT binary patch literal 633 zcmV-<0*3vGP)F|6(bKlrd=AKoo`_L==e*;?hiAN~CTXimeWT3{7H9fspAu zck$ykj~QbKIn*Jz9ZQD}o$4&jQV4>2%^(PL=wuNxbt`IO+|(3b?lixrEQKz8li>e& z|9|i93E+SIlX`&ovPln*r0g~kTFSEQ^16>wP6|2T9k3_MZ@r2IW{6o&c9s1!43J4z z0|*PU%}k+9p)!C!#RZu`X;j%p1>WNOPpU;YH#aS@R>6`v*rI@7^l^DreE9@n`}!GW z5sXfsT#3aP;5s6K`RMfVm56d1A|g*QKRFXZ#10TNkmql9zphyePi&IM%*X9AHWh^1 ztMt5oS7|&2e|VF$nG5kJ>E*3fNs`h!WNC4s6duxdWgAGDmKybt(cO!|LTf$XfFp@m zoNLa&y-AIebJoB{&_g^fSp)F3s&0=lGNYOLy3gSE9&( z-#1ev#~db|_MTl%dr+iPnk}o>lfXWmGIX8o-XJO(aAjxRRhZEpHDDdGj0sT#)?(Jw z0a~%~v*)}Ht>wx~nt{!GfJb&|8h|CSVu7bT5PWz6(AnUBLcz$c)y~O1z`L9WYVBeE zx)})avj)KV|UG3_Z+a0?nVFFKj47y$G!zZ!w+i6FE(3uRfEc? TEz!l<00000NkvXXu0mjfk$fWL literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/emerald_pokemaniac_front_pic.png b/graphics/trainers/front_pics/emerald_pokemaniac_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..f35de383d1fe5c3aeb5aed75f133dd7a6ff13beb GIT binary patch literal 793 zcmV+!1LpjRP)r!jO0-f+i#aJuN-_WDIbwTi=295d&F26A{{R30GE~KmA`M(KorMMY9tadSXDYA2AiSXnj9li($)i8r;98W zrd-41i8x}RqQt!|6}x%hEc5kAxylwAO-q9_jwG+J7XYc zn()T+U-4ZIrEJ~9=7h^N4A;E=(yqS5`F^18h~NfLftb5x-N3&`z6)%sBo{#SVxFz3P8Mn@!;b*zv?m(q`Oc-aBE%Q{Z6-&*;W;G zAY(KOXfq2OOb7C90zkF{RoVd|vw=6S+p_@Hd32Dez>)k6P)3H&4y-JXy`A0;qJ&&J zPcs4j^GEMAPY8KDbV!SZsS&;7@1wIz3E0eWSlCDcd&h&(kp%#`1dA-Bn+c$BQj-sa6pN^_LOF-m(mbEN#fu2RgCGgQq9{}Z85itDgr@Z3A%_f$XsLKuVogiZ7{}cj zG19!zo9{5N^Z)IC-n@A`i_rfF!!S-LWNn60+EC~hef@$$f5a>$aEh@kr6z2^m}OZx zILAGVF`6qk3IH*Fg*=`Mxxb9QFiehN5r6S^MC&uo>ULg19Hj~>rUuuzyJ z^knP}sE^3WFZ%e$sDyy!#mOc8&<9clEJixdr~M>Jbkzki;C$NGr;e?-fJMi7M=}r1 zst~US16?7$9+~=96?MP?*IX=3yy5~mAT(TTT|X^bPzp%>WND?!6&e%K6Bv1OtL_dIIKaV(V+dI?P zN0NV3qt^myn(Iwt85>lo3Z=8ZOb3-y%QF3%;>$(pE8hIL5{S_7`l(4n(g=G`AHzVJp7j`g0t1`=VOnRLw;*6{S7r^)VF2CcuezMqRDjdr z4%qYv?c+QE;9?I4fN&qEfSM!jC;|6I?dD}TiDmAhTZRHya73e>ftNrFLNstm(J}#m zz&k9+QV3N;`K>JKiaP!afVy?)lI(@7zElJ4l4_Fya2NX7^a5vWwF55vWeFrzbsQ8w Y09dj7r^Sidc>n+a07*qoM6N<$g0e7N3IG5A literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/emerald_pokemon_breeder_m_front_pic.png b/graphics/trainers/front_pics/emerald_pokemon_breeder_m_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..da37f87dd5f3577f58fd714640aced24767192cc GIT binary patch literal 709 zcmV;$0y_PPP)Qj-sa6pN^_LOF-m(mbEN zr2L~WQ6#@1SuzMG9Rxug=RMCuRw=0S^R4W+R3fvDu6ss;05eA(^=$Uj>E*DxY3*&<{YM&5yIjH^o*YLF05<<0 zpms_FxUAp8Z~l?zy*zyGqkwvzw=w5yK+F3?A}#L+1|kZ`7!(X!pLg`YmtffP&^ZkK z=7v%z*qnf-2KZV)+y0K~gYLsW(B9U9xo=;w4@BQ>ZmVAx2ddO}Ut!;J%5O_R2l?7= rI2e3y2M0!>1R^t_PDfwg8a7F3v zbcs`)a*LQ6p}9qFFb)~o?#0FVrHd{_U#MEq!8`(`;Mfq$-PtBQe-Szy=v_X*(R&RZIgigZXpMiLnBLCB6q zQ>H$suGsw%`KZOqV@oa9?>C-ez@=X^w-4(JUK!D+>YU#=tlM67a*Am$!RPpVO?w-U z5sM^OUl;l;YE-Zgh3oHa#v;Fl=*HT>4*Sel$Nogm@jU<-rcbHwej_C2!4PuaeMU7C zrX{R&CP~R0ywae{z#01|oapN+roiqQ2TWpXJFWNcX+!6?8J zc_RQe^0^qWG<=r_v6BYCS8Am8+z0UpLvcJ3?ax<)8UsVQ*LZO!wuzvn&vrFStH|?} zhOzVpu^P!m&HhcI0e~J#+0#0n@_c8$K80S56w-{uwQB8@ICu$u&vD#!LSGF?AoGX; zP(cqxVwM?Ia6rcqfUN73w~jF2a)vK9+~-F;hXM1J6@^;`K8smAJNn#$?B(S37sSFDS4G^*j{pDw07*qoM6N<$f_HpSiU0rr literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/emerald_pokemon_ranger_m_front_pic.png b/graphics/trainers/front_pics/emerald_pokemon_ranger_m_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..84f17dab16d168717403e7d17e2ac9d396f04b69 GIT binary patch literal 709 zcmV;$0y_PPP)ClR;}5K@`UqwA4do*a%H;Atr~Mnyj19OTiNLY$5Bp zl)~((NLz6Bwj`xG5Q^t~1^W#;=8_zp#nMX-uIX2>iDqq;PG>C|$-de4-Z?Cf_kO(h zcK-j-wEyz-x%VZm?lZd#vw1Q+6m`UhiI-Z`C6bkH2Pr<#K8uY3TY&HU`iPeSIY>)O9VP`)Bz$E$(0O z^T1Wt(}7zk+iD=~Uy!P>U1&yPM}B(Db7_M=edXu#~AuwUg z_o4uO(wMNeGz*!qQ$Wwu5jk920wOJv`{Zbwi9YYvj+rMdad(U4=Js$Rq+u>(cCt_p|M=*Dx6bN&sOggsY)&OAts&9c+04vV{)rP_JWL z4JSDnb4>+=j|!3ZI&{;>30Ir}4yC|dr<|JIoJC^_1GM4%0i@<1pdGB{Ttqag03DE3 zD$T>91px=8@;n||&mrJ8JA#1GQs1Ff1_1NLBCeF80IF1Ofx?~@0q&XRVs0|Gu@?aj rvSxk(oSZ~Q{8&y3!1oAB{>%9deLySpl8e7)00000NkvXXu0mjfN!LPc literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/emerald_psychic_f_front_pic.png b/graphics/trainers/front_pics/emerald_psychic_f_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b7e3ac406ff745144c985998fa01674f33c44507 GIT binary patch literal 668 zcmV;N0%QG&P)&aU>I65|1h;C!HS&*3G3{=o1*KdI;wr*uZC<+L=9e3v_F@blUd6DAWy?39WbBO0K3^$4KaOV&fgUITT`BAS!Pnfvm(n1SjBFZ%L@5>SYS4l`Mg-v02~Ck z0_Ft=do*XAX~Aa&47}^|4>ueJ(8pE_dmRnfw6ecmSU=ph=;X=>8eMLH_2PQp-Sg(T zoWf4qn-c3qv*@<=xboVj$E|1s4BehW;y@@}*$;2ar>%5ZiATbNmMQ)9sc><~Q>I0000Kls#|LKp4kQq9PF)PA=>y7849nav9j#G!aM$HPcxP zF#6;L#X}{JsRWHqES}v31XB-*!Wd`ZBXsG&K*bk8G~mdwK;?Ms0P4{@`wQ?$maII# z`@fu}AoPDsGppE7pO^0&(Y!)Hh__|u<0ulZXYbADBLGB+%Rvy+D|{EvYv+st0ijNSF$PC-0L$beP@gasVgMimN`}g=76g92AE5%sB~*c6FbMV>#&-V#>eR+x zdv_=RMZd!0A0S!u?1=*o1)wP~mc!(B?vUTH?h1l2>5}CLOJ)F2kdU?LqJT~ zYx$`G2z+>g@lpc7H6Fp>u3y|$n8H5HIADsz&gWylc)=~$4>5cZ?>tbue|)lB0k-7H zMh=XWeB0Y+D*z=#k~vD5_f!Q=e=ER8-r54dd(u@x?tD4*|GZ-f&!TxvZ6TMw@&mT4 z%?tOS03GWFDxHPBQ4XvTvRO{_NyYzlC9qZvRHdw{acR9(4z#W7Kl(BEqKorI!mS(dqUD!}B66#j9Cso<9M52iKl59+Q z&K4H?c`8j?*@vRaBXSs+DJv2wmYRQ{e?SHh6B1b>)P}@WR2}CeAn;wXz{nf@e*V7a zci%ae`(J-ic(lI1@#X8}$T0acF{g)sHSyGJ|)Y(dGUIMVu^O64F0z{YDr$hM|m zQ9wiW6%cL_Qp|owfR!gbNDGCMC}aU8(1{m-2hyXIWq_G_KlY&|0eMmiB`aqfW^vr> z^VVr4Qs%8$j77ZdB4<>Wo%?W;`E@`|1`K9M&~_t zOz(W&%C4cKfbnP;b>H6X(Yt{LSaB@Q#>41V0qXUSeiq1eVy8atM$zci1j=Vuz7~jC zk8|tN(zL~9cZGja%G79p2~ZnSXP0s!3bE# z3ZRoY098}0t)yLGOQ4CSt2Jp|@4y1^jDQc}WC7R#)(t=&d{_V;I{e5mgqZiiZ3eE* zpBgMsq!P9W5WuPFQ}{Nj--8f{uELyW+6cUcssayj?xQK>9oJTXlu`*`Gt?Zu*IadR zWx5bRXg|;Z;nWc3S+x*Owshcl+lA!<i0^7SPxjg-2OrR07tn+c^xh`o&W#< M07*qoM6N<$f}_!QQUCw| literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/emerald_sailor_front_pic.png b/graphics/trainers/front_pics/emerald_sailor_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..298c2c6e17428c0f53be868be8500ed98d8107f6 GIT binary patch literal 801 zcmV++1K#|JP)Y7UL}$)NVG#cGDKqIKY)=5naZkaN+3$J^zok4c1Z5E3%5ji z_sRF}-n%<%+JCn#VQ2Y2#KO)XveF;14JFWw`u)~p)>8}g8DpOqJHWi9D_V9hT!96* zjmAikd?mYjix5~~FR&N}A#>V8gBa!7+jj_%CWJy|rB2GLwvPcRp>0>vKdYCHZ2!&r zEMO5@Fe~X_76q`bB2`!<40M^l*3R5ba26DR_R6y#|tAICqyDq<0cJWZR8 z;5OK33Y7jSX&JZ{Q*(LNFRqEwDk*hpBFD0i=4c3jb{^PJzTq9B095Hhr{&bWXUvOGnU@&=e>5bUUPnAVf@vp+fcG$arAr&&x$abDR|s1i@##7;!bK8GfEm98j8lIR z>q%<@P$f`30c?QreFUfxY6yL^1h5=n3i<$eo&N=dp3c92WA7bj%v^jpv+@4T zc>jyrjg-K#b(=WQJOQHc9H1NEK&$mR@$a=g?-j1lZ%J#vR4F`}L=Y0HS1dV(huD@LQA#ADD1i7B*iZm*cnqLxPy$i!JV3_iMmUg7fTILJbI64f z*b#uD%wr(A2z;AwHbtEW<2Y0Tn+YIZTLFyM#Z?~YOx1E)P5@#DyQ-$u^oh2zs|Dar zfQBju7RZUY7$^ouiT0v69K|$5t=Kto+i>%dJgT4R%{{R30H__(700001 zbW%=J06^y0W&i*KBuPX;R7i>Cl+SAuK@`UaGSFPY@-_<I9NB%LdUntFUU_C*t40Ah`zn716C!D;2ix zEoUD8fZTCLW09@+S=+2u*>Lu!PXK0*HR9u`bFZJ*xCL?L zz|=-4;q174Ad(ry4IMN?>xchscb{h)BcMc7;8PNDNi1r5-mnHH=CU^@5guJ8CW?u_ zw(GbY$XV*O-~?hSal4q@2;+xN`wZmsqoQ&YX!16Xkl`!fuix8;?H-}$?kOz#68P{H z2TFdIiPtADJDoE^`b(V6OUGO`01Ek%7WYB}Y3!^*7Yq-7@Ay){2@#|oRMLOv)?fR~#WsAeI zZF}LlZHucMOF`a7mO{UY0^>UQA|j7HdI5(c2YC1=A9MFBZ-@1kkC{ zA1TDBn84e&wD&6wB+)f5FIZ&vAssBoK5d2oBt=mR=z@&_RFyCJtXes->{0a+0FR!H zWYNn2GIC0Ti}A5%Gr>wE_b(tnHEwE`H8y6tmYy2tjRyjM06iNhQF|X1t^fc407*qo IM6N<$g6VLy*8l(j literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/emerald_swimmer_f_front_pic.png b/graphics/trainers/front_pics/emerald_swimmer_f_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..7018c85b8b7707904ca8e95c5dc250632362995d GIT binary patch literal 617 zcmV-v0+#)WP)iT0v69K|$5t=Kto+i>%dJgT4R%{{R30H__(700001 zbW%=J06^y0W&i*I=Sf6CR7i>4l(BEqKorKGxRaWtLeJ@Ds)~0RV2CQ;d8kxD-Lprk zPE7`8(h;%{OO>D^0()xy2AJEyQnyZBvjtY7{0l*1U?Q9;V)DBTY`pdR`Fr2HduM?E zuSTO+e!V;?mmWRuo%9DUJ;3`Hy?k(b&g!k_XMH>y@I5wquZLI+-m<`leu21q$^%6n zIbby5TfBRSM*o|Vhf#YX=S@eS!m>|wTs0g}=sJ4TTQ zBkGi8!8#P<$8=m4E6xG3cpS&~SzTsY?Tt;wey)k=i7}rUB2^|+t69(`jGJ^3-elD= z%z_7qjfBAKHYV~GKeio_G!T(BW^40PcxzG&ubXDDs*`M9PA?ab;#Omd*cpGFUM&DD zHTAgjIhwnKf(JkvlYpcS3kY|g31}Vw9ds996%Ra{Ud@-n<8U;c&zI7d@(XsCg4jC+ zIjgpvL&{o+sM=1zY90uyoqBoL79zwQR{R4rF3jJ$cY_D61segPs{K8Ily}*$+ygdR zu@?JP;I^C80S6qSljF>=fYemKosKls#_SKoEr&(IP<75VPvi7&|1QDsadllu{(MJu4l+ zcB~wMWelfFlUhK4q_r9zz$XZxE94GJ6u_lCOTmCG>};3L(~!V?`{rjKsnl~k$A69W zdL7SiHoy8v{`L3GX0_VNz$>nBv-&9mUjg9F%?}wkW57%zz?U4xH2Ee2*BunyyLt6K(=kf}F%$>zKs&gF=M@}FQ$aVaadSD_8yr0R7U^w* z;GIaJqEfQ?JwzN_9Tf_4f!EO8e*);;cwKbH=_itXF?!JS!E7&|8*UQ

_~)braH&(o?@7x}o+xE`N<;Vo&fdY~o1mv?00000NkvXXu0mjfYqkCw literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/emerald_tuber_m_front_pic.png b/graphics/trainers/front_pics/emerald_tuber_m_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..19182aa59ddccf9139116858077e82b250c8cf6c GIT binary patch literal 548 zcmV+<0^9wGP)Kl(9;~P!xs(&CsQU69Y~Xa@(QcP}1AML9lHCI<)p3 z6cV4n+s#S^yY)Rp99&(UB*i6TV|RzrCK0DvZ)gO;d+zGee+Ys9%Q^o^&W)mMwbj3B zG#)QxKJ%F0mk>qI_dIrm10R<|-)DUs_}qnyDr0C5?F`^rmjUNC0373h5?er_iia$m zE`dOGECs&wY8h>zwt)kL;29jAkyL7^uN2^^PI|JB5$``rp3hPwm7dgZ8%|>_@#{8} z>*W*$+Qb4rCBbT_q|wXfB%~<@+$e}RP;;z3;iPUf4JI+@t69sKi5k4UPo|TE&{edA zj-W*8VSXQmF(GL;6at->`CYDOIDGvJbb}!GgTNMrC`G}Ko`rxKL^(1EVMjD4?-6a( zf?87mWG`x?&_q^3bzS%5#&y@|$`l#9Wo&@id?ydsn)L??x)PL*wb5{)I#>psABm)H zI#f7Bw$vu4z@YR<477lk)+}f^GC)}xDOSNYv#Yk&sCc7NF!NjCn3`c&NcbF}mM;B8 mDhajZfaZv^{URi%64y7+_NhX~lxg??0000K)WK`hP#6I4hkMWpj_}$Y2BMIc9K6gn%??97q)846 z8{Xz$u-KEGY_#2F9YflBaWI4};JSO67q4D-8YzhMve8TwL3&u3TGSm}{9d{i^IpAp z-h(C|@BQ+9-%FDqbU7}^e~x&qCPb0-LarKwQLIubmPAm=R~_e+ML$Z;MsZC@@F-K5 zFO(sYoSB6}PDoLCI_cyW7>GYkRB}$0Pf^e&opP=SH7fI@lB-o0xe9qgl6olw&eBYc zrnnlhyrLy(g@K>WxDkskSAV_^8G{x;>WBKM+a-IqR1m990$+=qQy6gcU z)G`pVvV;IQ<#vH(G5{ta399n<0c+@0!x9z=AS2Pi|XXKwYkEZ?OxEdZ>OLERoz zA_>Oy@Few&!HmuRR(*&xN~xmH)V|-pn21}yo|y_Ig9|W~S>MMmA1w7VzOY@3Xw)8- zP&C*fz1?+p!q&7W9hZ`9VpuV&skWulsqW!sl6g`;-l3|QofrUfnpu1Hq`65T#g!W; zuV2{)P7d!C4%@|d+TME^fHu`^v|-8`mOx=N-q`b6auO=2M~%ilT*2Ka2KG&o))ICj z1pK(h0H!Kc#{o1&aMbX;Cdw#g8o-`sj0B!xQq!0n4Guy8H4p&Ld&jS{9$`AGtEhbd zq0nU?>|@Qq9vcF{ZLjJ3Eo39?`@VOtCG=oY!=hnprUJbRO=69vFQ(y?k%eax%L*Dx zTx39FviMXJ1%BHQ#Wz&|6FgY$?jqa`f%_Rr_3q*b5bJ~bmyw{e_7_0U1+daNMX|cO z25a>#gw8q~h`BDjHLHC9YiI7309cw3xB#w-U^@chJXmpe+0lnOzYhUOt{ZK_Zm}=m zoc{qyzHb0nZW$3U=Rbs_6!Z`d*qbZO`B4xA+$Tqv_{aDIePa~a%c3Tp00000NkvXX Hu0mjfp)GmA literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/emerald_young_couple_front_pic.png b/graphics/trainers/front_pics/emerald_young_couple_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..6be8b73d8dd6ff62024a15a30034222927ea44ec GIT binary patch literal 805 zcmV+=1KRwFP)oLZ!V|6*FjK|yM2ivR!sx~{pc00001 zbW%=J06^y0W&i*Jqe(KlreA9P!PwTNTg=s>D)@4s;Vy*VGE5TU~8LtU@4hg zF{RtH2P9~revvBb22f&&A>Shld;JwsAtEG}TAeC3$D|FeRATdNF{Nid0XKNLpa1v2 z)7>NFf8<2Tb;JCW{B$`tPw;%t<__ta+~yVvbh#zO4e#1g1CuC8X+=2JgU3B?zea$C z-CYYR!mLy(yw^r6@O@ZrzgY*(&I3B2I0tJAdnjuCrp?? zMkSlD8nCJ^0W7ft6tFw1ps1h#u*N0^bUOfx>bkx&Dm#dU1qrNtYdqUl{n1k!DbY2p z4=cXvifzBC_OUK4%WZ7C?nhlOV-|>QwcVLg*EPn}HEbay(Ekbm3S%4BDA0DQBMGp2 z;!RLMyl2O$*p%f$h(V43LKpdKIh~KJwNjkZ;%iC9uCj`1yE}^97a4Jh%EEv@Yds;V`n4d zm%L3gIvNaex}ZG0>$oL^z!hj)iks1~VHmi=*0RmH9ghz&fa-*-L)GT?v^B+mS*=+F zcvN`e7={G)?f^R)y8;O1Wf?{v0jRjrYOqAMpqc@#`5N@yg(fXX8_$i_cxqhU0lque zH3+4RIJn%q9~k3#z`r0@8>9$}u{1ypBbb*+LPA4QfYnm!@URt((OEU1D*t{#;vfj- zi=+3Iw29nuXdR84BK^Bpp0!f_Y0WFe@We8 j@AO{}nXx3d0v>+=t0Op^IY0;V00000NkvXXu0mjf>g`^h literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/emerald_youngster_front_pic.png b/graphics/trainers/front_pics/emerald_youngster_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..311c49572829aca3004a6774edca6924b8a6688c GIT binary patch literal 564 zcmV-40?Yl0P)K)G<%OKoke?CR`|s!xa-}3yGsbNf<3&y1ZN4hlxg*x3wCKCpcKTl^t}T1CJbpz}M)&R1dlUT0 zl5MT^(A*%ebY*70yC`6y zV&*y7oT7u-Ou*IrZx~`) z3UcSa0N03M40qVYB3lUnxD(hw$el+ZNf$rNC4fl;?FI@=dGk6T9&sSk4ot9Z$l4X$ zWR8o2ikuQw)PbyP5ap;Ws*p==R}KfMWPROF{0dm~&F-|6#fxfcN=iyfbN~PUthB{*d#uHjLFQs&#W^|u-csJQN{e$jrqm-800001 zbW%=J06^y0W&i*J|4BqaR7i=+)$>C`v%F%GfWu-OD`GoWU(PnVB|RGB~l{yY+a&q z+L+IQ4~KbDScQP=F(7Zumwg-9DYg=V9>kL54N_jU!Rw|U(jMypwhXD0b ziryzg($E>kTpT&kNpPK(greB8v6}P5fi4fCpowU=>!zEO)H6|iD;7frgaS#9)TF6@4`C>(uP-Dy!@7Wpd zccOh{t$z&z=nM=Sg)YNR6=iM3al$1q0RoL%XJV$7mBhN!(PIfbY{3lypv+=)Hv%dW z46V);HKL(4sVfpFN|Vx-#0mv)F-rqfDX~HXJm`zl49+(D5C?4h#$g8SjC#zL03P@k zm4j}JNn8Y16Gi|)O9JS=J!(vV{gC+eY(*aph{m8VaiJs{>FCI3D-u8*1DB3r;NQ7g z*^C3#`uN!#+HPDzy?zO($7;;(RmZQA2bEZgx%$EQk-D`X6QN$754A245ei-A*YfxS XZ32bcE#@1m00000NkvXXu0mjfSrMJG literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/expert_f_front_pic.png b/graphics/trainers/front_pics/expert_f_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..5f69c2de64081604d9522f79b68aa1a8cbe12a81 GIT binary patch literal 670 zcmV;P0%84$P)DcCR00001 zbW%=J06^y0W&i*J97#k$R7i>Kld+4_a1_S_MkoO(X>V}7w2O;i=%RyMuURTwor2V% zZt492a=$vAgEqmz4jSkSTWmr$cF_{~-(su4!>4?Zp+fF}5^+gfiC;Cwv)8lS+(1(?miU0YOv0K;ia z;T&7YzNNQ50zmNAqX4TJV(jB`tpT$DsMZ0J^yWOk-`O>T_r0_0t--1j^HkD4tWz|N@-UDJF-hB$k|1E@j4A*A!7fw;cqg@!}gCyrx3Wq%*< z@D+1-Y_kreX0SmyL*&h4n-GU|sw(s1c;rpnV(%ThdPjT3y{YrAl@j|mb^Rsf0l%!j zB1ysra@M8V9e6Gq8vsIjQe(Q4AxQVKP7dYId#4$|wpn+peQ=Nhubo~N=vdZ%n~*j+ zJX8A5vUBEGOir3*hXq~drJZveN$Mp@TFNJ!MgL8I0Nk<{oV&qtpa1{>07*qoM6N<$ Eg071-ApigX literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/expert_m_front_pic.png b/graphics/trainers/front_pics/expert_m_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..1c53bf71f0d84e67276b11a8c25c2834bc3deb55 GIT binary patch literal 706 zcmV;z0zLhSP)DcCR00001 zbW%=J06^y0W&i*JKuJVFR7i={)jx03KokIQOAShtC35J(h?9i{6yn7LBL5h|RH^lF z8Qjf=iOuIs0Z}!Sk;a0T!Rb&B_K+yzQ^ltcOQJEbs;D;6j@PJRk)2pN0uAa$Evu?UN!cbvp(7cJFVVo z5orBBxG2~Jjn?k^9uFT~-t$qoS-IJ*wbDhnf2zSClb71Prkdtq9>al~ZL!8f)`Etewf{;RAvAG z0l4k@6A~Tr!Sq^(Nwr;{a~_`ZfEAc6E$8UV<)^2F(?rM$EKAsaML&O31I|8vC9Rjh zIr>d$Q{#dQNg9Iv?89(I2OLnL>?5#D^8~K_0p~xF#_+vqzM%N6e!mQeeE2ncS zdmarzr;-eMojeE%O3m{wI2gbntz@a=c^tg!yd=8GmlU>5~jYABBkoPcXm&&R`EDrj50|NT5nr(LjG0-SKaWQBD z`3?<%)#h(u>N+q)2(&Xx_YGpKAaExFD=|1$V_*^!1TCtnl!LZuTHp*Vz65=xN1#bW zz#_!w0NltOoo|FCNg;r8ejs>s837ai_GE*EiJSoXVK)apyoPW1TVM%>;2`SuEel>E zFk^7a-h$wUJqsdu%f5kvKacN6xDMp$b9ejGm3FF=QwBi*JpBU~wOohQ S3Fg@V0000y)iLL_IokCYBBEa{{R3On<=nN00001 zbW%=J06^y0W&i*J$4Nv%R7i=<)xB%mKo|$$g9wA`LC8b*Ub=J&NwYh3kD|~DPwvnR zo+^l;^{D&-hG>h2Ea#A>LkUQMq(hoTDOoxyWbu{?L&#K$;!?$=g>ZdOAO1L9GWYOe z-*dnBz9b{`Keh+1oBPe1?B5SV_v3Vb>G1RT3-pKK<dr?c3}=nK)RjPN19f~GJra9M0K8n zS;-vI2$g6WUaSoyAlWPxR~N-aj6ht2RsOmzm6gb9yxCoa^O8(5tzkyAYf{>f0;o~= zaJ5XkyQVXc0A2%*GvZf*-UGIm?*dTcXg{PoJ%`dA*&NW;;Suy51Ryr0;P`ylrQJ_K z&?APl#Bu)*fOl}?f>SB@+J8bF$Kc?*6qITYsk0Nr2}?3CGha60Lh|PKWkAs|9^S?k z{4*JtFXOquxErVtz%t+uazOo6#uYUIz6?Cm@WS98@Lc0}RV5?^X9AePFabiyZ9s?t zQm1l^oAD+B^!p|T76AC@ z`oQD|0|2zRhbMFL7hydMs z%^0Yr>&X&OiS8v8T+d@NfV}h%2kwbF0*&dnY1Rs@q2mB(Fll#8;v08ox7hvx*3-*& T1NkYE00000NkvXXu0mjf>{@j> literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/gamer_front_pic.png b/graphics/trainers/front_pics/gamer_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..74c24a9ad2feadbbc0b58c332e5a6dccb42872b5 GIT binary patch literal 754 zcmVKlreA9KorL#$cSV)tpp3LI9H+*QT#GwC<<_qC}A*D z(l6j98%R(;50!!hjXfY`Zutbw!omW402pksGQ^eWP8FQ0_IA8WBxoF87+HABS^EF< zfB$<==R)Cs{i_04uA91EU8Y~vsqQTSDr?_$eRYY!E$L8FTTDCXrLhvY@;88=Nr08r zKv*iR1x$TWeuu9Fr;I6k6xV+0}Lylis*Xi)?|d;J$qpgn(HG9L|;b81zv-N<75hS^8hgcNC@cfwA$T{ZD&U* zbPGVxRlRNtT>>)K&?>9CfH5UOS{32~5S#bcL5vH+p8=Sib!^5KPkLgIN}%D{c4k}W zq8^uN5GYdb1=sb1Y>P?E3`TRrfjFBSGn!}s!o!-Kj6Mdpgd;ir%9W0YErRPi#3Vmt)0)NspptqCV>;M1&07*qoM6N<$f&;c$`v3p{ literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/gentleman_front_pic.png b/graphics/trainers/front_pics/gentleman_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..c62aadb164616f0d737ae8bf556fa7eb5c080413 GIT binary patch literal 691 zcmV;k0!;mhP)9IC~j_DqMzwLc!eNAE3cSh(e0s;%EkIJ2ae^#Jco-U&O&% zzn}ZQ?=Qpn|6jC!R~t9O@a0GoXRR;{_jLdF641d@EQSwQs}t^_;z@ViDn((0gWV-7 z+lr#M7-;QVmQ`xu8O&E@D_2=Y6Bx$*@0R^_ImSV`VCC|~%Q!e^B~|J`DqCL46>S`J z-*mc>tyxBIn}yx$c-&a*R(h{*YJjm&%g5WAC(IWgZ}oRHbD-_v@ZAo1h{cK1?hijx z;vtWiUgP%Q=@vAdJ8E#=Yk1$bC=Qx+w=N|RaMq9#>#lG-PAOo(_Z`Qn0}g1@Wle_* zAj)_e`16KKT+VplEK+wr>eC> zPk7l}DK9A~+NjoQheUXVLZQe(0T!yY)tGU6Q&1@sX;QkbO3}h7RYA^Fhn2%DTQ*E z<1Z5c{*^;=zoKBvZ}d2z3smM<7r+o2W%e5K_D3pPWqpY#|N7@$iyRK{QiRy#HYPwVr7@u Z_X~MQB`oP-&2Rt!002ovPDHLkV1jfeJlFsL literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/giovanni_front_pic.png b/graphics/trainers/front_pics/giovanni_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..09f8dd3346824e6acfc11f6d8d4650c719b5a1d6 GIT binary patch literal 653 zcmV;80&@L{P)bIqhubKb04)z#iHIXR@Xy<&5FN>Wmkq^$q{{{R30PG*Tr00001 zbW%=J06^y0W&i*J3rR#lR7i=P)iICLFcbjbh-Rrc$x2~Iq}>tamYeR>-rfboKVa*h zVCuk$lbEaoO7-XG7yIQUivD#d)a3jQ zU`2@|0ML3925}82Nsy>CrNDzEF@Q*-XTdWHOa{X#1tvFx)3>8h7)+BvG8hsdPSU5T zADo}LpXZZwe0t_v`ub&?#Eavx_ZU_;uiUyg^pvIg?!kh~0NB-L4+{K=5Zb~<*klA?Cc=hMAa@|U2h>@p8d?ykEZ82H za6nK%n6eVy7PJS_RmFdUzQ9Whf(=GtUKmCJUbxZ?0j>5RP;(3lz99j3<;~ literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/guitarist_front_pic.png b/graphics/trainers/front_pics/guitarist_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..477f76bdce861db274911b9a48b5f31352c1dab7 GIT binary patch literal 765 zcmVXITR zBeqJYxRDr`nqxCn3--pGtXZ0TfGiAMIxrY@Vdzkcs#8b62&ja6JyVj#>7Chn6T0{F zy}!>70RHp3zq18gWHL{p>X~P!XXg=O=i(IO%z4BKKNW=Hmn|{KA%rp!AeKVuT;}qF z5I`x7rFbMjIF(SvfMrPM5@;?49t)XN#$qsK0LNQma4((PlMCWHfLO-Khyz#;oYtc1 z0L%`f0X$SA!7L@K5{-Bsqdkn;uY_Q(NC-*oN>&8&Rm^UxT@lR`G_VqYYC;&HnwQW6 zI0mdWITyIDkUD9RfHDm4+t(@W)R<744sr`Sh!4H5xd>*u>QzZ-TF5eyD z$NTH@*wZ*e!GMG`R`$98@`lED-3dbe$hHappX0lOi5y=ImV~tU;Hxu3CFjwCkR}(z z`p&fEIK>5dqjP(}e*d%UI_`q#WqycNf8dtn2;Oe9y|4tp1UJCsfTew%j8dC3 v)-1#IoWP3J$lf$T%Q*)vgofI?(8 zql0wpBoA%KP98D@**j(EGxPx}=mi{j?<6Efs6p=a6a$@(>e5^J;qK?%@n;nM|8Q>E zc|K5bQFQ^giP8o;3S=@~SqSFnD;29sgfpaZ3v?)yQpPu33h7)ex&TGd1q>ilN_Vxv z67dfJGMxvHol}$nLV&YMYpnnbvPJsT0|^wy0zV9Zgb)R9!3%YcZmG-)F))nb_Uql* z1D*c}$V7bqJpO&T4JByG?d0_EZ1NH)A%5ca=EE^WsHBY5C&gR(c8Wt$l=%I!dC^!w`sXzxF92UifyTx$5`Jx<6^k&BcyY)uO zPY=}X-TH|sA&TNv&cFYO;2c_?2-jcwzxRG_U&4(IACBw;T6(q#yn8lguDeIlk&!K zB5E?14AG`B%vr!?kmQIyohO-NY6u5ux(8&+18JJl%GVjhsbOA@u&IW29YKQRflSU@ zz$P*Vf}=r^@R7i=H)xB@iKokIQ55SNJSqA=sgps9kN2FG&2igv1IZJd% zV8|)zP;X>JLa3a?kOc;3>Cz6EAsyJRRu{IoQU^BY)B%Oj3e;HrpnANs9jHH2iIXfv zcfY*%?wxZ{l>Zxb&Tj?>z8~!06u`$Zn$BN`11V1C0@WXJ1Y&LonSuL9Vs41vG65G= z;5K=R4`~Bj3NB8f;=0=k3299%fKy}9Sm(iVe!aF6CS%hDU0>0cjKgAaACmR&#@cYf zjP%pRVup{uCb&LnySwfWtd3kh`X zK?D`R*&|lu?hf^^shgz;wFI;y+yykkZ%d`Ks0}xqz4iqdZrp{&Lnt2>TntFOIRvmN z1t^uEDDhSZ)FKwODZGT`(z;4E282jJfw77VDtU&WlY(BaUjlcCJk1WFl%Dl^tZx_B zX}mF@Gy{y$ULna=IH9dDv?S;1$G2#j^v+gQi>yT{kS7Cv?gwi#nD zw5C!Yk4gZ5+Ghy*4NYruKgffLZN(H~8B9PalFM^;7L^B{nAd4shl^cd94luqDLgpv~&anzE*M)~U>eDjd zrUF+I$Q+*v;8FsdQxkzX<^e^W2Mnws{p1C_3Vb%!53_1;!~06{GL=PUKm=S&YgHf( zTE`NqK)|!BZF!GL zbSN(Ll0r&WAv&z4CXhmlFUrPJ zrPxk*o!OsgMrlH?or`w%eY~0XW+Wl>zZz4n+jv)8X$3(?6oxS`fm$u_Z7WH(jL?N{ zcPA7RY_{9iSF0gX*FXh;OxL~DeIkJ7roWlh%n*I|xd|4)`7Rq0s8*|3vpcWBkFNV@ zS6D;&YUMK4KD>%peiaf@y7a}Ry^SQpAxrV`R@=LrjX}P+KTGL)uNMK;s2qmq z_>AXyeinzkrwkB--cJAmI0W>b7O*kEEX9JBFBt@vKKpbp+5>6@emN{mvr8L<3m8y_ z%!MjDno^O*hot~i28Eg7R=a}+&rgSl9rB3*#-zBBG@`IrB4qx3&-)=WeOjO8uTIbb zA#+aJXg_zboOam&_WGLVwV&%mi@_eHK!y9Fh8%d`f<70$z0~Vb zDgt&BS=`%3$t`4{*ZWI4Or_=rH7lJ(U_%C`83fzu?9^|)y`?XuB@|l(FWFc3(e4uo zRPEXrjBa#y45K11aZ|`}WV*&=2Ga_Hv~_9_H0|5F4H2juG{(TJciiv|kiJn^vetMS zkEQ^4kReM3R|7u<^`OI-*_OcYNCeyO1WFWZO@PrDOhxqw8RIgJ0&|>!Jq_Ok>8|Z4 zqy(FCovksb^IU3uBEz`uy3K#g7_i<3O#Y-+%?aRJVN!(uHqc0`j3P}LC=57a1_m4v zj06xjq-oxiftdn72H%^j;lF~W83EO_?MV>N*PzLFt6CM1IyG92H?6*Ke~kjKTb+m$ugt;vk_60ZGKC~F`^6MjKoisdI{pDo{_K&ip20o<00006F62N(fVjiZ-2Ti_2m`JJb${ zkW6#R?#^jx?5oO?Vqg5e z`~P?6=L6t>BO%`ce4ksn8dvt>`Q%Bu!R~kW?pF5eI|AV7O^e;Dm1?an0^m!91H09F zwO$igfKhWuuXpN9phgv>XwfhL9M~<_Yvp|aR_9lu8Z62f@7BweeIR|=vPA&4Ec~ug z*#XjeVM~yowP=_ONRp%eRBD-(2oemiUVo&+c5iq+FJ-bEFfrCm^ob6W!IZ$0XB?RQ znOZo;s2De2&1TuEW(KJTzdqns0$@(gFsFy9x%7K&7zbuj+(Sw&rqk)C0zgXjn1#BQ zu@@hU6hNDNrB`&Cw$nMQBmgeFE?Z{tG`(zM5s-8}c2kR68peWU0_ZXiCm8zyRt0$g zI$qaldjrF?Mn5)1z=cP8gcP?+`k9ABK#~yRlKfdOa0uoSk)EPO5YKhmU8h4d4y;9b z%5j3=Jm2X$1=438(&zbDPf4wO$8ieYfJsPp*yq9UK zJ)dnw`)%}{NX-zqAilgA>nRSj7~sF~`trJHvo3)RmkdURpzD=pBLq6c^Kz?k5v4ie zHOPVM{+92_Mhs|70C~gB-p^#M=xbFDR30)VmL4tqv8;%RbYSF=s^)x31WPn;MNFie zp<|V{q|AsM`wAlx^qEe7+YFF(D<;7{UG_Kxv^W4QlLMxI1x$NDn&ZM0P!vs%0n7qT z0Nd7Z3}6cj*gRjM@f_;{z*u3cE7>#}^enNa`581qCGiAq2~mM$5`Xl1E}2wAdEx@AqB#!AlAgd=u&yCsY0Nr6)&q50ttFDOhza# v0t&su%g1NVp#V^Wt7+$?F95Cu{Kta7y+W5T%^}M(00000NkvXXu0mjfa-5yW literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/kindler_front_pic.png b/graphics/trainers/front_pics/kindler_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..01deeb1d9e3bc521053730048a4c3574f2de734d GIT binary patch literal 745 zcmVsoLc|?{{R308kq{800001 zbW%=J06^y0W&i*JXGugsR7i>4)G?0|K@`6 zyk#NeKU_kHwRzRHkLqjkD>f`=goDc=IKjd5P2lNG=)tKZB?inbiJOkjfNX`0>F zaMrVUP$*H(a#^jB3YQq8+f!CRTL=K9TZIc`0|1=S8|ghmVXk*Hw=dxN=TOV>gkD2^u<^jjb>)78fJd$Q(2h bY*>E*%R4b^TAAAm00000NkvXXu0mjfhGAC6 literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/lady_front_pic.png b/graphics/trainers/front_pics/lady_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..2f3d2be0377e9839dcfb84c61504bbce5f462290 GIT binary patch literal 717 zcmV;;0y6!HP)W{QiIjr=JvEo&4WtbVtbUNw1dU&Ql!mFgT4R%{{R3Oy94iH00001 zbW%=J06^y0W&i*JOG!jQR7i=f)v;?6Q5XR52a=@-kBhTtFN>qzRog)!n6yNfi0~#8 zg3vxfsB!3USwzsYc~cAi1r9aH4La0LFU9Fx@`8e#iuRc;i*N{uSdy#pnZ#D)eb>cr zxaIr3@B8k3IfBrC4$o7M84t`i!q7wB^X?Pqd>DqSUf888V1cd>RZ1Z+L#Ys@{dG$9 zE##+_f*@?urSyg_kNHmI2W6+m)+^cqnDbYD*>N7sFFnhlPDbSslGPM5!d`Dd>A(>QY%C@`QE#;h+!G6jGJ&AH4njO1CML!+Vqo4sbH z0YI0X9CNM5=gvbF6sS9yR1N@W)MswJ<}TFN0Dy44)~l~wnumdNzqQRm`3M5&$7YLv z*tl~KSOr4+1<`u9@il+|&PK0SKXSeU&cLE-c$qhS=si&`U+rFz@+Jr{>fJsiM;5d# z6(?p5`$E!$N+d{0ZPPH!Gyo2y?AwN6XQ2iMva@Z@WqaU|L=JZ?Yq0~4h&#ObG8;(X zN2`YX&Oh^}EP|joXGPh6`~yk#{mhgbExu7(U#DZiCa@pe4__=+(ChY4}+!< zLKcL+M>NR`xhM2fMy+vP$UwZ+b`aB0KzmhxfwmSze}K9v?Oh%LslTd|N1&($2_g0l zf%ZMgAs|GTS7HKu0)D-Oi~*FM5CWf9f%EoU+K8nhHEN(1jjEI@el&!&F?d0Vp2g$b3tmPL9EqUK{=daIn|3wthB||-tPbZ{{R30#6BSm00001 zbW%=J06^y0W&i*J6iGxuR7i>K)Xi%XK@RI*3gr9 z>pen^AEfOu{R_+-dQfk>QA$59I{^d5i#rDuAzl)46NId}coE_n6D^ z;2d@i@3-^bzIiOb|D{}>=WFAB$c0W!)rHUsU+{V;UignNPz!|+@{|D*PnQlvC~6|a z4p^(69nT9-G?2LQuyQ79FKrLYU{pqR;q5Q3U>RW4;DME!|B8Z(!vFS*WIwB;1y_Ps z`_D;cPFaI-DJwycBg9%(f;;Qm0GvN2>x;ucB{n{7$X4^CH*|q>RU{BXe(P)ptF#U`%!s#=wwv@uFtr);%?l35ZG#v zB3G>bR{W*6=O6<^W~`HT9QRBIxlV_y7_F%5{jk+>nZt#0tF!!M0Rd2e1W@ZL2EZsq z(O}iaCQ6Rft_0uF46wswjYShZ-~waS_IvbofP0MX?7o`-SXBe=vMOV&s1c>g1d!f7 zodD=6U77$$#?^v6A^1i71Gqu+4#96C0j@*T^Y{m($gHje3aMNMz09OWJ(zyG1dzLo zgL3ONKCEJkm4q9fi&Z7?A%W9C3e8%zO))O`av`hR{Pf_FAbn7h~$UrfR9t zl*%^#b%(SoJmf7+)0097NV|{_QURz&@PVEg%>Y1oc8hRPTWDAD!K`o&%HOv+ApVcT z6yDE^K&cc0a6+avZN4rM2sMY`P|N(rbrCQEFb&_=Tr(55`cC3<@rvrBLN=y z8Gy^ZcSq70d=5$s^gl>}Un2tu-ML(`{}xNG!Ecij3i+aYcv}PtIVFf@>5F|z5%o_b z3CS^9bPP&+%LvJVi=5RZ$F%HAk)m$oe40mKaUD|^(uH~&qTrYSq;>4(6utSHbKg2)P12n=Zj79sp& z&oHtQaA6OJxCWTlgX~oYb`i8E0X-udf&`USNW6MvbpG0uI0hT;ssc##49T37(tnzY b=koOjzPQYU!FycM00000NkvXXu0mjfL%@Sg literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/leader_brawly_front_pic.png b/graphics/trainers/front_pics/leader_brawly_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..a8d05b25d44e088478ef7a5405ae73bd4da25317 GIT binary patch literal 799 zcmV+)1K|9LP)Qj)!zT4#dC9W|BFG@Vi^Db{{R30X5OE^00001 zbW%=J06^y0W&i*Jok>JNR7i=vl(B2uKorIgB8WC2Cws9HXoiAgNsw%gEiWxDo~+EJ z_>?UTG&)U9Xd6qVgP@y-l7FL+p-?(BAU7R4MiknqkUDN+Vwa>`?;J~Z;(H$Z2658+ zz3+W@x;upabIkGwc>)95EJy5(DZu(Hu^k`ou)glqv5Pw(VAn_uV+t#5*Y|Af?SO#0 zU2E6`Z-6b_$2QULVhl>`JyKOob1~k9fGt(cXbo=%>LGhuYQ|e4@HC&Vs4G8mjZF}E zajM?QEUtncW@l99av=;L1th6zR$GNVAe5hL>%9Q z_!Cz_iOQ#aN}KWV5hM^D{tREeiKCC=e7SNIwSP6=9!HVTM)_WJ6n!}P94CEBb?%wQbT z`)69Vq!+Ce$eU~@Ezo@=#XLF+wY1-sSxh7((=xSOzsrn08~}(?TD1&wEfKJc5@ls5 z1^Ad6#RMoDh2n5pLtqfyZfc>>QHIUpF+iD5Cy~^%zrlgz;EWb4UHZmxD~<_#IFXAz zLWl?EWsEl%0Porc12A^TE-Zi2SaSOvrVM?|1L} z^mKO!{byaHu2wcy+m%K)R_@YWU2A~wez^>X83;H_S&lP=boT)OV;ZjOhT+zML)^P< zXVro&(6-UG?Un_`iygby6 z&WohR;y7lX%+HT1o&)1aqzA~aDEjy>Akt+ZsSfZ7@pe%ZfWU+VQxy2oYX~6g^%zYw zDJP@R7(I@nOE5#;p{hygk4O%TKp9YGVKY{{R30z*r;x00001 zbW%=J06^y0W&i*J14%?dR7i>4)iH0=KokIAOP%m?vhoX>W}p%hNC=2Hy z%(;M*kA4|3Q%&gOk8g6+e4=n z4g&pd4FTlQ@k?7df~M&S`9|o48c;{|`B04t1Ju|I1x`5Cq(J#>t5cgg0B zW{t`Knq7h7Z-FPJ|&mw*G~g?O3+(_im{ zgQ`&hLDe{Ux&v|SC;I^Lqa+7QpXK1~-YRc1U~d^KfaHbi0(2Pw5b2X{2!kFBIs!xm z==9`(On0E)`zW7b8ifVu%Z?l+WRrt9=}3VX?N1aHpa+AsY!UY$6d+FIz_PYGz@^t> z)o$Md`L)R^EFrLJUoa3LzF{l}KcsmPn}97qfOrrKaIOAGrTlKouJB< f4`6_x2GaNk!W4Z34fnub00000NkvXXu0mjfD+nF! literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/leader_flannery_front_pic.png b/graphics/trainers/front_pics/leader_flannery_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..942dc5b6bb9734679ff38d23ea3f13adc20a456a GIT binary patch literal 770 zcmV+d1O5DoP)Qj)!u_j5OZ^L|BFGzVj%zj{{R30`|X|>00001 zbW%=J06^y0W&i*JfJsC_R7i=fR6%PKK@@)Af*~kFlAe0YBv%oVJ$Y#o_au>=;;H9t z4?=I9+!WDf5hZ^iXiiJU{D2BxT97b{9&%bb<`*by)uwD4#@Q_eVc%>oK1ep?`{w(; z_vWzx|Fu+h^*Ekr}=nmxJ{M@n_YQI;TOPsRS((`7t~h{{S>fdU|xzk9y# zPa;s6X76a+n$EjIX~qnRNc5*Gt#c?@eTMC!mhbs4UKpca;xZZ4`d9!6t8Lu$gjUE1Oy;QL}ZTr8>^fA|cFDEzR= zgGsgg?cRHg;B;uM`5qf%MB*UqWWFVY-${R(bLn*q~02gmQ z9*!cgI?WQkGv{vuPX}&qv`hE#3`$q)R;9E-aRQKz`qi>3l~M<{0MM6WTXwyU%sZ`O zqfz4#I4uJX{KF4ln$(k;9?R`uWX8SM$0ysLpP6xYhxG^U(Bv_6U3X{Sb$1OOh5i%G zI5=?KJ)H2W-%m~}&B8qn5{118j1srCz>c0^!9*zRyG-eP#OSeNBQLpwGZP`bY{>CQ zRxUZJJ$4PVy7-g=E7vuQo2cu!#&KWq*#6LbV`&z~2Dt<>Wb6hH#-8U&tQgDLtE&+C zeXNEozYj8CgPREXZ4?ytF8f#EaFkB~>|KY}Uo9{`%xJa~{{R3007*qoM6N<$f?mjN At^fc4 literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/leader_juan_front_pic.png b/graphics/trainers/front_pics/leader_juan_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..ecd9f087b9b0c53a4fc7d3bbd19fa51c8146b188 GIT binary patch literal 820 zcmV-41Izr0P)H0Cg@sSR&0wu9Nc*X5GZ zeER*7_kFJbB(6Kjul~7o-8lX@w$FcVm5!UAYg{0d%kP>;euEoe>_N#p@~`oCmjHxU3-eP0N&tfPTuN65MZi1h`&Gh?5r%mCz+BOFP7F~~Ht_o6yDPfE z1}#ldHr5}>6CnrWRYg%NKc-S4d$~k~f*tSY99%nLhM*v?`nCG<+@u>aGblL!tm)Tf zIN_0(3{b#Z+D^mw$?~L^f02AXit(IBr-|c>dUYw zNpH>lxYNyICo%)EZ^4Hr((}`1K*u5H7f++J}QeYw5<^oy*uKX8dvdF@$Y3OFiRWg_88)md| z15~;#DEQ6;c@1x)tc{*>fS{^>0rN%BovUd%bZVm~Cc6z9K|Mr)jWQgNrxDIjaEUT5 zyUzlRP|1Kxgj{x&qORo*vY^8S@o!NUjPilwAoK-@2$@^#-Hnjr1VD70jKd5dIyOQ< z>^J~~ZyYCfj>7@h-NQ>PaZVtid~)l~1z?X0dM|jd!~;R^US`jvu-5}0N**(Y;dN68 y)}iOImNW9IJ=wM_7HC`Vd!I!1c`q{m?fw9{Pwgvi literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/leader_koga_front_pic.png b/graphics/trainers/front_pics/leader_koga_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..790f56f4a9207b5ea292bbe7a7810b477daffa1f GIT binary patch literal 726 zcmV;{0xA88P)Kl)q}*Kpe*f36vVbamfRis@a7@7JEsYcq$aX#ffV1 z<^wH$g%)>F78L|GzQqsV^a-qx4uwMOqtF+KVjBmEieG;x(V^CzJ9O=Dk>LB``}-?d z*8lj&kaEAioXx)cMW21v2}$`lS|D&+wIFFi5IK@^jzC-mAPCb$)hCrfd{@!KAPov& zsq_i}feJ`UAja5fH7$TZ0Sjdi?|LW)NJGm60Hi?(Apmx2q=eUME({9r?vAP~>z z@txes@Nz|0)K1~O19_ZlDOn$%DBUrc!cYvybnp1$h-IK7Z>m-m3ZXaL%v_Ic-fS0@%gqkVkV$*1N+S=+Xq%TZzk$m@_#AKo##`$mdsEjL{T@Bxsb$8Lij>Vo6SsUYY?1qj=(S!TA+q920B~_q06y#nL_+XIdIKBx2yp81RZ!^b2D2H zXN(aIZ`3}jhyB7Uim0~Ua7}3)4}V~0L4*95)!ANE-bNU z1f(nDIaxa9lEqV%To*bZVc(K}z&}7jqEn^A19KxQ4XCv+$FnPh;`ok*8*It%^Ly{k zcSh*{kJ>-N&CbhaQyzDE-JaL&%0b6-UDs0qHy>~0;Gh8V40l}bsOQ@I(k^Q~&$wrr z`|=tGo?#f~{i+Q7a{*pIHVkXGB7S#%S=4y-V9$6`1^Cx_0=K8F?QiDChZUgR_?3g! zo&jAxssxvRfMHhkShE|&t!3?OnxXQFrKggx77cLlVo4*K zIOPJxgK#py#6F~v;~1-r*0#3bx`F!xBCZ;2X}0ZT6P!q_f@%_bUR zJj8x5B0+X#udZf0hK*Sn%`=eX$3oOgE2RtW)Q>`#1vHr~TbA7{iR_E* zyuBubOs6E#>*gA$*>*h<1qe_Mk`h1`fLR)jrc?OX!fce|sAV^_u@H>SQg~UcC4d@< zM#kd1E9iQ#7y@a&Pv|L?0oX7@XmU*HnG`?xkf3G^XPaiaiXzU%r5pygm7Jz04TDB(wn3~U16=1dA0gD$2w(rKcUg|KBR z{}06w7mSb*kyg;NTOh5V$1wn+1gR3BOo)(-0%;shptuf%d=da+OP)ZF+bM{I>YTn-V{{a8RK|%lj{{R30V$*vF00001 zbW%=J06^y0W&i*J5lKWrR7i=nmCtL`KorM^O|nQY@x?9y!D?oA!BaImt9UbXvwIV2 z;!5?>LS=fCQr+M|3SuF9Dzul)e^9-8T%`YlAf7}jo@Jqzf?&+7iKq8wPtIw`_cQOk zydN`+{g-unfo?Pw09HHJ+lV+^Spc*HEwI7YX|cY=*vWzBbln|V{4K4^A;8PEfNc@F zehzP^%G<1(Y-e}H2S41%T^uDR4BmHO~ukUn+OjC z4W#3A)(1xoMu-8%&9ta=pSRw#kOv6h^LZWmJPXATshRQDcrkqwhy`Ndz$pRyq8)b; z594E}EVX@(8Cc3D*s1R7i=H)j^BXKoke?0Sks+LWU%*!1A7Zrl5Qi%GmF ztI)(#tA`|@H6OvdBzK|LJ%yCLi3Epy1V<~|V6D$dYd1*W%wi#>?26+>vQ`^^0+5G>VVEzJplzsbliV^)v#XknM$Z}oD1g2)JCOhl87N_V zHZKUAK9&p+!fLS1;i4@81ftbo4j1Fj7#ANd%T>ve(_X)K2dg*ZG=+K2zK<+xjDbV| z8mH`RWc52J_>!hhmM$4s7MdZ+(=^(FAAK|e%hL?9cnJmI8Cj9V0^}SxIv)uu;yB6@ zCYvo$`4vYjDJ1pgvLM?;0pc4#Gh1>2eo8@{F|OyIw+c`Y70|OPLSAfhhJ*4gE@YMs_qz~TE==xu1?LGKnHS%|ey z-I)>`)_KwEB?bb|-2+`nB!n*N-u{>E%D~?R(sx~?hX9A2WNl-BfOps@bT`02Sudb# zZ;F7;;(DLZp~PC0H3-9FpiQCPX*M5^cb&~5tWTD33`+6hT(@|$IPRfCeM)3NLi`iB azU4n|eo3{8$BnxH0000 literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/leader_roxanne_front_pic.png b/graphics/trainers/front_pics/leader_roxanne_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b996ee79048e6b55fb4cb061150a47998403283b GIT binary patch literal 631 zcmV--0*L*IP)bvq400001 zbW%=J06^y0W&i*I^+`lQR7i>K(=lrsF%$>z8*cDWBjiHYHojYfap_*;c<^A;v3m2N z(f{+$2bo9+Bw)~Hnvsg$fCWUAvp1aOASih?c=56Vd)NwZF&+vI0xiZE4@NbR_mwfp z7!RHn0JtZO87BDt2j;Cwq3t{RRO2PvY3#Vz`7V z^jm&=fG<+fKvS|>H3!L@9RoR{wNlUXOZFN9Jm1tON5Vkw!h-VXS72x^^?mHcc>Mrg1IGA(~6H#dZdpdpeH)uH`zsHNyI8dSVAoEuY#1`Z~h&x3nbd!1d(m%d=AmM30|Ixn7)|gJ3#yK*Au3rHuMr zz=fS)Ay0RKwcXJUa4RPkeCz;jZ`Jt(%2A{2O%$}9UgU=0H8zh_-QITGRz3(q)rZ2JN1p#0))7}P^oZtGA5FOKnv(NK%<`2`%z<|GTA RWjFu;002ovPDHLkV1jDjBn-js9Iw1e)nl>g>~i`0um00001 zbW%=J06^y0W&i*JJxN4CR7i={)iH<@K@;#V^Scn0aadt_S*`2eo z@E4ilzs&#pcQOIse~d~WY4e;>zpu#;=r*OyD9xXyv`4953~G}c$auI_m=|IKdepy8 zL!TA(DekX`9E8*lI8w>-z7l9fk+z?kXjIU5l4Mz?XNwUSzm_Z&__}hy(!Ev!}=3ws^Cyg8VT7{`lhf2=RWw z4*8$}Jp26Wcg%T+3nq~T9PS=PoDbh%b=*(#Pos)FgzqE;U>0snTyH7e=V}X+d~Lh7 z<2KTf0)!CRa>{Po9cRt)=0^>thrhEe)>^g%b_=WE{PfcdM5eu>f*+SYWWbc)UWN85 z=kq5sy%0W@3nY$f0OYAad=A6Kkx9K)iF=oKokIAs|qEmRGosDx*+UIMO_e~17awsUAoZ) zx=|LKY)r)&8YO^ahbocR1_h}t9g2nFXOu|KVkAU4MeV?tx}i;s6?45f7h{{ysbgTszk7F4IPU-WmqT3P2>BaWT|%;G_M;rNi!TG z;u~KISx!o-BwaP!%9qdEqL>s@z7*|LD#N#>E748RXvm@^DK41r0hCEKg&A68q#KDp z#5KOHC={TF3|y!}{82*Xn(m6Vr7dAjQE3fmilz8%jUVz&Ga`(+UfkpbD^5W(#=z5$ zu`52Fy(5geAd!6hee+61y8?ut>smBv7md?YOKLv&G-Ih% zUo+Wtv9@=h25pJVPC9izAXe2C*8Tw)aFW5KfN}l$j^zxj;qGZ8TL++^S}kDTfk!b^ zb(}VP?{WYfO)vPb=&%7h1_LyU17!mTu5cb|B`Bw}{e*8zuxs7`CB4oj&GVigN}~VapKS$2d@9!Kic>c|hL{ z16*~^bd1wIU~4yl=3qKm=*`;I{T(e(1Jd?vnpR_=1NbzUfg{sSb-%dFew!UI!hq`@ zZrW=DKp_mG0M`Hkq=TJyfl=r;hl1lUxDQbG+8Z4J@_u0D!N?8*wH_dPXCP3qapG2B z4*=a73Cm#FdIgNiAb{Nr)~sHqCmRAas32CPJ*QDnGj9cGilHD-b6De zseXWRS=ynT0x$iEP)5C-Kk;xmn&}lBQIZQbE`bL)a8#R-l;Bsh)`MwVhEuPTeHO$LU-QX*Nm_b zI^4{tL2UCay7wyMDffsK5PEq#T~~rQ+PaH2(kBm;z(P;zhndf6Fr9eQACJ|beDTu? zr}l}eLws7n7~5V&HNf~~jOSGRtb)Gn%}uwb4Rd9xxHG;&1U&IEy2JsvmMO)#L169;5dX2c#-5u?Mwws zd`?J_)EHDEK^#(Dg6CgVz^ytG5Pl4S7i78e;sagAts5XF5en?#uUhNR*C>Q7k|)cLV`?vrGZCV5R_zWz4xO1C%Tcc(mM+tO{IaxQ%<+ zoq>2k@5_3kMB9fa%v+2FmqT$H z0Sr=wwqG)m0b>UW(A=h7E%00N`g)XN`1PL$E!i&F7EM5~;DKzH415?Qia9QmdBBJ8 zNmADh7mE~00009vbuaax zo5YI+7nAg0(}O0}gFP)Y7wb_%m)`WyZ?H_iKuIVFLUTz2LX$1xIB6QiWTtxa9YT`- zukZcmy_pn%{}NUA!*1O}Y@pY}M8BYFt_%2Bder-lX4C{%5SsO0OL8AE5`YmxV_DH( zddR0+sJh;TUT@s;XD-9w2>F6=UHsT*t)P0|I~2smfyn{@_gED6?;hw88@MObYmFVi z6QNcYcL3m(P!q+Qzdhh0YF)efMZBK_(Ha#2{!|qA@fLt{G%uFmjc+&bI0w9G$qaA8 zq>s()eHD$@MZk{WXA{01rvw~L{nEa$Biys`+9d=gx<4*vfXS(7YuI(?*!MlJq=Q&~ zUe{!0eeRP$Q@><#b)x9f10DNWl==i>=}3}}oG2s872rU7C@Ggt7vMEb2hiyodOvZ7 z8*w zj=<%heEj%CH{oP*XKylz0JM!#r&p>O#o=MJHwl+y5^AZNF&TcGy6>a_z;O|PQM!&W z1s3@;WuY4&WS-4usa6TYE<@+SG&{L2*}!rqK#~tPg%%8;lL2g(FT%|T+D(?rlWd5U zCT&!y$FHH2=H|{E>V5%SaGV1U)dUwbGvVp6Lp4zew!dsU4z&}VU|X92)J_m!m;=;K zbet_vao$sbb`EfV2k0eu+Zg63)g({O)b>uNe*k`cRG_@$AK_2*U*acx9&Kls|9NKp4gkd?H~$=8}v^QJlbp6p}NjOO=0zR8615f*WB>_nNEpJDrC)+ETe~3DR2{pR(7376#hjgVN$w3_fM+-l z&rk3BK6mFs=)WYg%$oITf&bhU`Ud;g0^j|z0O+{x3FiYC;GtmPHDCV8d3zi3BcDI< zHecQcOI+_bLi-$y5eYJ!@UKlDBJ6-zX)+4*!1~x@;}ymXsDl4!O?#KoJ+OsZA|#g8 zeI1H{^Dz=D&Thx;QOf*Qv1|#e3HWekj*%mm? zloUy#sI|T~%=?lKZ1{)72PkSj?HU^K=VpxFD%nIFV#GAxvmr^$75LyBEVab<%rxtJ zI7f=Jz{f^8E6PT9&Dt|sRLItBk0=k@9`}Dx4QcRTonNfTC&Msg|M8k0b8G zKY%O830x)#S^#{MJ5Hh;Ny-z10J(>*lADl?P)Qt;B00)SVL}FCSpcNP{^L}<2m$4E zR;>9n3}}I+fGO2AEy#yqpcVpZ1$u!ZW-a6z8vrn}UWQ+*0qo>iZ31j=0Kmwa7!9bx zX!=IKaO8m6o*1~}9?5}U?(Y!bz-z9Kr-l#R2hdooze9-aLZ>#m>;M1&07*qoM6N<$ Ef|V~t0ssI2 literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/magma_admin_front_pic.png b/graphics/trainers/front_pics/magma_admin_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..d7b5e4fb17fdb6ec57937d17939f94cfb96af813 GIT binary patch literal 841 zcmV-P1GfB$P)Vpm4AWNxk^ z`P9*vt_!#;t7k5s7LfBQzs&A&r{yG)Xa?DHe(Wq=VKWc0kZs&cZO!S{Ddl zbT$e0%0!=~`4HES+`GC=bCKv8U>lviayNLH>X6rg$mr~zlQYOj7>mhhOQv&nw7QnF zeWgbAx*!nOoE7h{GsXiLc$j!NoaRg$0IkhHhhn(Gi8}lGu6{~0ibM>_xB@<4I$^@3 z+SHh!XevaZfc1>hE~UHJ7D_@n5Ly8*5xvne1qC8)!w&;IQw6X42JmCViH_GDTUX<_ zPuqSRBTjU8vN2Fze4^uH%!$sJSk{ZU@0~V|{U;}g59S|(i7^2am=l$wo{{2s8x0ls z;d$OESffiqRRKE??j@nJ8We!)KK=oapiA4B6I}pWmH~oniUWS9eGUW|(13gF&VU}4 zcHn#4uZ}mx0S$mR1JJ~^bw=j^)?jQk>YcBXl0^s*GIr58=1;<9K+IQj!RoaE@7cWb zK@A`P)b|`vs@_KJi*RmRSRyO4uv)ODH3?tsy+oKc)5+#cUYoCJ|8uXw}sbN4> zAo|(xD6N+uKn?|{YcwGVi{e|DdIz9Si#*db!*x3lfccWP_I=FyQ;|e1+H8K5$)_6A zK;r(pNEYoVilR2Bfej-r9QD)5WTwfcYLI_+o6#MIr z+9Ysx#5cy)&MF?6eC>|eDsN2y4~-9JKHFZfx@P+{Z<^(@@jr0s$0u&H?d0`t>nZnn zNKB|0HRSh?)eL!2evL6VTb0UW84?n3QZS$_1!)vz6#`a5U>*j7P+$P1X93|6+)P3~=hDdtP?rJVM9qYopIZjb5^Hb5 zZH%psFpeneMF8`}^Bz$*8gD-Hh!F5Cm&6iSoZ*jyqYQ{KM+jIn9+1dpmdFNjTo%vU z9u~f9$isMWF5!s)nXx#7be9QT$USa%VmpSov4{Gjb1~pm8~%H%xOfO6F8J;*`;I~B T=7#;{00000NkvXXu0mjfMpIxP literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/magma_grunt_m_front_pic.png b/graphics/trainers/front_pics/magma_grunt_m_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..4c7fa355a84d3ba1bcaf14ccd4d35fc69db94207 GIT binary patch literal 751 zcmVClrd}DKorL{1tTbj-A~Y@Q^^!rWTAeR$Aj?=|!o2OOq6S^gpN?owWFT{{U{o@Now0K>-jYmFk-^yrW45 z*Py0Al#Y*H!kAKc^_z56feN%b06-;>cCT}QO)I7HoOYl^X#@_1i*3LTqT+!w{s`q~VkQBw5EC9|nxWeZf-sSqqWu0?12n=gS==Fl<2o>< z1ADHBN6T74#FdFcr)R6UWoH27Qt8p88LiH2PKah=(E6mn@49?ooLbBBFYmeo8~NDN0iJs*Ei3@hE+vNm{AGEFV9!&5i3FAn%6wm=Fv0HM z@-yOjs)sgR-%=)SbgoVf z5ioxB1SFK@0MrXN$9>L+d0^P18%H6Jw&T*)rULkloWe7hZg>#)k?-}xiI;BfmA_o3 hxt?v4njhmotv~MVc6-o>-y8q{002ovPDHLkV1m4WQmg;~ literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/magma_leader_maxie_front_pic.png b/graphics/trainers/front_pics/magma_leader_maxie_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..679f623670ed400b2837dde7abb77fef97884180 GIT binary patch literal 649 zcmV;40(Sk0P)rF*#Dz)!u^;DHtFz)lyotDLMcD{{R30vuhj!00001 zbW%=J06^y0W&i*J2T4RhR7i=H)In<#K@6)u(Q}NROG3i0@ zmRX2pbL&73{R_oYS$Co@*e6rGL#K=LMEN z2TOe0)xxd19jd&Tl;kIW2Lc`6UjiUei3J-gZ%}aZr1^|@T|=lvg~K{)JEv5-MFUQQ zU(Q=;fSPD9Y*6Px(^x-oi78RJ(mFPi1%URVnW)@?eE>X~EC95-`W3yf;1mX<83xE_ zHNe3jJ~oeab`0dHkb5Nln8_{xe7pGm00VmEXb%Q`bJ;c61Hh66q(1<`t_4#N_#M0U zQ`rLm4d)d?34Bf}!_qnk+(_I1Kf&Wr0xwV{WiK)IW&RP#g#FhZjq?@Y(~Xf|s1&;GrfFx*Sc)_HGfn$f+#re5c*$#RLy;ons@qxtrX#8hlB6qEjV{O{qZyH8q^}|x>pBX$FwwX zfLFt=S!|gEY~j4DSfXvWRj5VwwPjtlowfynN^4yxN{vMbaHe+V8$Q%bXo$)w=loZ^ zdKLt>spK&hiYD}+c57{cf|dp2UDi=mOYXBfKaL)Vuo(;l1mF~5q?2h)|v2y;7_kpf*Y1iw0VRo2C zFA$o@vG211Zy2#8pfKKDO*V`mg^wVH(SEs(`^*#pG==tVjCfHc@ynX*B;&sDdf~J=M zx>J0>z6D>`8*vna4}mguJ&0=T?!Q4Z4b0{B;A9#&f%7O+n}@+gJdfruz5s$UUQB@c zFMxJmNC7K3nw4{>p_~(B3M3Kiz=;Z7LzzI}KrGRfCs!a4-MTab?6W|tsoza5QxHUY zkPfCg`U^OIkI`))=SQDV>X7{OelkPoZUf(tN8aq?@xvzo2*=$d;bZ3idzPe}=al*d XF6qp(ho0W700000NkvXXu0mjf_zOqw literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/ninja_boy_front_pic.png b/graphics/trainers/front_pics/ninja_boy_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..f36849ca319b12e8084f399ecd5a2aeaa57fc4e4 GIT binary patch literal 632 zcmV-;0*C#HP))lyotDLMcD{{R30Js`!j00001 zbW%=J06^y0W&i*I_DMuRR7i>Kl)rBiF%-vds;Wqp^Qe|TmQ8<=cW3PF&5k9H7<3Q_N_pLvC(M6&+H=xqm2zRv;&p&9mZsnkDcAe77L8= z`X>MR3|g(RCa=JYR07opeAe5?SZKt{uTfJ1E%IyDbMc*f^_#$96g}U?)!*bo2)9wE z-6b{aJ1gPw_pNg*fiY_DkYx+bQgwi6>lG$s2mMGsily~yjD2Q2>!Su0$GBrk602B^N0hyxI0jbUC7jX@Uq+Vw6`h@z_vwN(bct8Vitw7)bz!4apLs3!# zP?W`FRp~MVfF-9I;EE7zz~2F5Cs$*P9tD6V&C%5jN70X4~>qc(@psV+A> z!RwNyn~R#mC8$|KAY|z^yb4LjINI)``Bacj>-13^iLef&tcUQD}eZK@B zfg8Rb-tYH*FUKMDpKI;=5-=K2+dhDE*Xj5B)P)6)NBseH;R^l1h|&eX8OXPX$qao5 zNRSeC2G@E#1p zCUa8|+z7!Yn4_4SlvA09FhJS7npP1{rnT0$J?bs@$EM_*Y`?!uS_q#Hi{-OnRp94VeL}6MEFyD5KLHmr@T$f2|E$xt3+pe z2+t4#yS@atttBPs*tQpe=XBhl8~`uQ zDS1K17u3|Scn3ae4rY{3QamRl)thvjp!L=aczGqqp<{_UlmZ~Zv#CUn76a6Dmw*e} zgh3D`+$QurxCD~RTNMLz7L<@|3j#bkL<<3RTLG{g2-E|B&OqSj8@vRXHR^}r4ODe= r8oE4iS$>$K9~_Fo@11=A&m?~Vj-r89wa;el00000NkvXXu0mjfwHRD8 literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/old_couple_front_pic.png b/graphics/trainers/front_pics/old_couple_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..71c527b724c8fd78275202351762fc23709d1bdd GIT binary patch literal 1097 zcmV-P1h)H$P)DcCR00001 zbW%=J06^y0W&i*K$4Nv%R7i=Hl}&5oRuqO^;?}`XjASp`Rk7?Yri(yicabjA*z(4K z%oJKt%+5^B<64*y@77qMI zQFI0dp@5P0fp8NeoTlE#Lb!?H$KO&KuL_}itZu%d?>>E14h1+mO*0v;d=>_j(o~Yl zye@~jj2715YU4&-0`k!<|37|odnE&%|82iP`=&>}AYdB6$Wcz_OI02WGGr456`i=QtpyEAs%6(9k~ z?+dzA#rz;~LDcOAd-y=-sQ`s6P5idr?fUv@YYG?yaNj}Ao$gM`a$3>N->J2$oo?Wg z0G)_}_CEOcg4+hTVbT=MY-IY=VtUpi&rX_8`tIu-Kq=2rsnR2+7XaEI5`z=*nF8+6 z0FEM}vy3y{!zHWucapdVtwY|}jZ#!PNoTUoTxVk-iK6?r+^!6wG|ez<{_%Wgr4v!A zDF_{s$BIe(2fMw{SV{7Mx=F@zg=LsLz>mv-T(=zDJ2Q{iOxx)GI_qJzCW;c04gK=M z=?Plt6R4PX{lOwo$1l$RI>#g63>9>t+Mfez60)#!{ezDCV1fX;s#b##F&{AT_4)NL zy$)EUxwZ{zkZ3~^Yp4z;?q2o`7-I5Ktm4tk_eL56U><9vb$2$#JspqE764=d6w0La z-ppx$|C#Y9N+Lo?Hos4%p16)9_#-$Iz{}DDP%)Xz8mc#c^FV9@>=&8rsipyF249^4 z8WTX?XUfpv`7co$+q-i>Z44MC1Da&@^<#{+`+#=aI7Q8-vhTf)K_UG*c|e_Szf?#B z#FdEAz=Sjb4)~X3YMMwcP-L&^9R$) P00000NkvXXu0mjfpTY_? literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/painter_front_pic.png b/graphics/trainers/front_pics/painter_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..e8dfa555fbab918b7f5fb564555fad89f08e7b8f GIT binary patch literal 630 zcmV-+0*U>JP)C)IV$6KokJ*gNS4*$GOn0gN4?Z24(4F$x#Lm#!xsF zFLI%kLMhaS5((2GpTdE+q#vVW2wiR3ESVy_Bn?`w?mwAQT=gzp@13&uK-2y7^xnIB zBIJKuTiMvWAM3rYj% zb(;6>MS6ti(EZxzZU;z`R6Z@A{n>Ut>A{Xih|d^9!CM*mTZ1(mXO4g$gjmf>yTA7I zAowmf`gS|dKWg_a=IlM%j9>J73y)Yj;O_blUSEINm#HMarqT_z>o-~jJRXu5p7b># zT*tOsMI?@6fUBk^M5i581Be7n0EDiabV+Cl1AxgO64(3sQYi;Gp1_F^S9(BR0t{g~ zErdW$OeXmJ7ept~4RZZA0Y(87g~0BF0&Z7`8|>mr@Xl?E&+oATlQ~S^EPuW_MfOP| zS4HS=>!(ja0n_j*5Y~aG2L_&qD;=xnY4&GQ8U^4kc6R#*}h-ebf13r;N5l!L?? QIsgCw07*qoM6N<$g2IRzSpWb4 literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/palace_maven_spenser_front_pic.png b/graphics/trainers/front_pics/palace_maven_spenser_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..0b33649a22f7c9aa44c77d255603640c07d10514 GIT binary patch literal 802 zcmV+-1Ks?IP)ZTi8|57iUu=>79o;tF8%?6hl)=90Uf)<62cG>yW3nI6SnLSh|PPWF7$ol zxp&a-_&)Q#@0VYW`~R9GouAo{L@}J0(eFF=Rum&{Tw{S#1cYfA%+=W$oJMm9dyl+8 zI77mn=bH?$_#Gkqih`G048X@RS~R7Y3qCV|B%_Et0ox3)Oy&@!An=K`3JPKr1h*^( zxGsjn((7yV-7Eu~?x3)=ZeCTK*#9mI!3CVm%28aZIYank3*b z77AF8$94Quu^pg&1mKwibiIQQ%1x*WUwxDg@|wqnRpO zp)4HXOa<@jdciEU2IcfGEdv%&T`8Cj*e!9PE0Wj(1NiP|j&Qzh7M(7?Bq|Vy*1&W? zl^kO>wgEuk0oRD<+iisae+B|H&owH#ep{{6M<%eJn)+_dJ;o9M(Ts5KsMArmZTbkV zBrjRQ9nCcDmNy9GMi|>IHwQ@JfJ#omcy#Onun&BUtK_P9UmXMR$4V}7RR zzpy5W(DG#pG!NiIQ5P8Y(6Cs`VYB5k!=l>k^K`Tlg4Y`~3fP|!DSa%_-Y`z_OE zd4SZ~_}c>rWz7vVm3+biBA=~~Q>B?8SZuf{LKn3<3k>EW?r)*y+!71eTFaV7ED#z^ gFBy%3V3O?i7jRKdMk+6@4*&oF07*qoM6N<$f|JT*5&!@I literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/parasol_lady_front_pic.png b/graphics/trainers/front_pics/parasol_lady_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..088d4d76eb33385ce40d70171487ecf4b4d4ff4f GIT binary patch literal 710 zcmV;%0y+JOP){5_uNghRS=@w&4Jt6GVX3mA`Ct6lk4mnj|#vT`lBAD z2W}g$tcoCuFk(YWJHO2bH-8GCmjUk*O!P{vfEL#QJT>mi2CT=^dP4=8Ge5AcsuXDPG3S~jw zL;^KP^yH+5Z_6@fFAGi^OCMrU%YpnD7IkeI(3SyWJyCrlqoq{=4y+*K{@~b{{R30qUlz(00001 zbW%=J06^y0W&i*I@JU2LR7i>K)G=!mK@Q%w+0$j;l1~AnOA9xy0Q6`eKd3Ku@LpX2$O#EjDFGrH46uMqO3MtH ztOQ*{E$}tKNYh|75Lxzdj|6OK+W58jd`#BB?sL8>p3tDyZt#W>`{Ww6>D^=Tpk)Ey zy|d1jcE8a4sLr=6SFmc*k+yqX5`AKrbZ0cg$cu z8_vMDAyMUgzR|D7;RXQ)5LGj{G8vgcDw7$=G6J}N|Iu1oenB_mH{K1xe|c@$pF literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/pike_queen_lucy_front_pic.png b/graphics/trainers/front_pics/pike_queen_lucy_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..e57260e28fa49bddf08b8e2ba10df9eb85ca1fd2 GIT binary patch literal 678 zcmV;X0$KfuP)|jChbA=5Rw%1BADbNc!*YzTzcH- zEeG4J2ogb>JtkU^0hKxT>dBjwTnhdJ6$W}K=%w~wSWHNUnDU(ckyJDLwmPt|v+uLt z_kBA%Zy5XE;mYue_*~@?FrO=Rk^^XoN`1|dz_}6!IXOV7<9#h82^a&fxfVzQ@0H;E z8q$C|e#3c_2HX?wKTOW2_v__Ofov%;v z`6)Jxgw9ySS?H>-mgtcyJ z%KDts?!Crv81_2J)ZWJMGzRvbq*HrAe!aVKblB|erc)cxVkkyf@Io5ULdb%jL|hv% z(FpJcIe^*Q z_C@cje+59(K>Q~I-6yXGk_zcE^a7wvqyUmUEM`2YX_ literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/pokemaniac_front_pic.png b/graphics/trainers/front_pics/pokemaniac_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..61422329c6336b50ed4093dc5108e2a92a951146 GIT binary patch literal 821 zcmV-51Iqk~P)tk2${hkW7mN|=27t3st*MLt1)JG*bjoR+W2DiuT{dm->e#2 z{X<|9uo^UikTn?l3&0u)z&5P_Qvg850$^7C1|?z7aSeW~`0M@$#!i^YR-O zhMz3Jdw2ZeVEtjGQZZZL*3=C?d}k~SLrac#j^nrwrb)$E=D;K>JI;vvvFwwK378s< z%j@?KCQi$~c{A|XO}ycbwZw)n7m#yr$EehL9GS=89dz6Yfnt2*9lkK=_hu%EJ6$ND z;u6mv8fM^(jH29Xq2P1QBd%M_5N8yj)xvWxFNyq-?r_U-eF-ec;mSg*bKvH%%ZvDQ zK@L|IdXD(#c*KinDc=SRW#Ws7M@3HaOG%DbIw1$k(R9|c0V1yoq#~JzH>U$gNFaKK zj;SP#01{C|V}z-UStEc1U6$2)3ZU(kzlp_f3jQy=N~{{Hc<= ztDEwL=-tq_yxnGc8+OAdO3&HeXeva%>p#XH4g<^GDi?Di00000NkvXXu0mjfz(9Vq literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/pokemon_breeder_front_pic.png b/graphics/trainers/front_pics/pokemon_breeder_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..35ff34854634a8e24a016be89b319d6b48e67486 GIT binary patch literal 699 zcmV;s0!00ZP)K)V*ulKokJ*8xE5eia0yaS+aK%CuB`5sm+HRG@Zd3 zTrW1%ka{tAOxG@5irvVA=}?>GATeFK941SL{sE$kIJ{O%sjU%@;RRPV`iJiBXscMU~yg^E) z`9oCztq75Om`6&m*vJwiZ-+{NZ`N(2DCP()pDVg7_3{fhM)>1rMGg0xdwYb+%Mn~+ zZP3|1m!jfFaETX#r^EBp7$pazQy2_=b{WM;>-t|n;E$3<>CbB z0UJB=VZ>PGQ=|c)oQ)-Tf=L1Xoi@oX>(~7$a^bwCldX(T{i@>9xY9k8Pxe_Y8hhZ=t=QcURixGWEUL~SuqTBVYt$e0L6CX7XSZ3Lq28EY zfWVXai5xH+qH6RJeD)8Dv~(;{iIr&HW23T+pS}KLMJK^{AQhP1OJZ002ovPDHLkV1kUHNiYBa literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/pokemon_ranger_f_front_pic.png b/graphics/trainers/front_pics/pokemon_ranger_f_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..382fb2a1445ad6cda9f5868ffcb555ad39f055e6 GIT binary patch literal 709 zcmV;$0y_PPP)-E)t5id5hj45<9sU{{Z1A83YIK9Vrf_kQ_%xmvW6)J&^Ex=it)!UN+wp z_C>9HGL}tO^Shm^YgE-p|yj@WMy9UOU4Z@cf<#nS_1G_T7S1lDN=AGR7 zrT~`wo<^~N+hF6o3PAmCdkyLs*HysD9&QxW07L*7OL(=Y`=^CvTynHv)v7jib(C0D zZGe#!Z|mxiG>ePcgrwPSX@S#hJ8OE-(1WCTZfOCElU73q0M5&E!2E;0dVcBS#tgWIr$!y0<48r00000NkvXXu0mjfv%5+j literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/pokemon_ranger_m_front_pic.png b/graphics/trainers/front_pics/pokemon_ranger_m_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..a85efa3d3db78ccba7e77f47d46c0c1dee34fee2 GIT binary patch literal 746 zcmVUnwW%3)b!4O+a3~UG*VI-(ICsZQXcWk_qrRS&T z{k#OB{~iGZSf=}o$Fw2TwOD8FR06y{W(*{N_v!`%fX^a8h2xhX1GFFrWPmp3B?dmc z6&cK3j7{&v>0MH|V$xmvC;w#YCP6wz*8;*%JX z;Ya|eg-#x4xP!2bmVryiCijJaiq$%@hy5plB4ebaQ)?sx8VhRCFcSX&==h9Mi5>%W z!L_bp(d%^XNOTU={sq*FvJ7Z}>oqB$cXqaAIzngi5;%ad_)l?JMA4Av&?l4RgISA6 cHt4kY1%r<}T?LdFQUCw|07*qoM6N<$g8t-G&;S4c literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/psychic_f_front_pic.png b/graphics/trainers/front_pics/psychic_f_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..328028ea7e2982db4c0a6c840d4137d27ded3757 GIT binary patch literal 811 zcmV+`1JwM9P)4lCf{oKorJLB9`32vYaw>b{W{B;0Q4wwImh-(W;e5 zoB>1@d>ONVJtk$cD-iZt-WU08(E;R96u^aV={pQ2ppOmx=HV7gl9an2<)(Z63M{BnTmV z>&$I=Y=DqHLTm2h79qAnSaJGXJCz#5b(|`t=i}o8{#4p%xb=Dkg$QA?eUp^#+4VoCK&)y%3fONYDJ~~2or>U*FN6X7jK}58z&`Ya znpeA;t6}8BrJqj8TSx@JvcAp$0uek5C=rQw5*GpbyO`nU&H;~aKA|HJ4kXx z9SGA$gPZDZs2iV;;0}i=VE8D#nOqNPjC{~=p=ja~LK#I)R#9|mIKUX|NPQ<;7Gr84 z129<2b=nq*%nYo&Q9?tEhgv6Kg%M|(`(vQQh=MWC-$VU*6YB+^0T5N~b<0#m{lEw# zG>|s$cYVb5dYv{)02GuI^f$ZHZ9ilJgH%R=hHEcX4YO)Q1I0Sn=yN96fc1S=3X6Ev zK5aKxRbc*RA0_|*BL^bPD$vL(vkVG4vx;k=0R7VO0tv`a^r_pJRpuCgaS|8ifD8tm z*x_QJXwZm;v+RECyuuny{;cz40nk%N4*c%4&zS%;e2>0kYDQuG=M72iTuYxbfd}zK z;4cG`^7iC2rff&!F-i8Pz!swfIWgU2Qc<(hQvoDCRdP{aMnKHojr2>rwKuc7z>$s* pi^l9x5QH-fqjy3nqIdpn{RPGpIh{Ttv!eh2002ovPDHLkV1oSNZJPi9 literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/psychic_m_front_pic.png b/graphics/trainers/front_pics/psychic_m_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..a0a6b5ad8172c9afaba13c973ef7296c71c7a8fb GIT binary patch literal 754 zcmVgbO&hCJs70_-|sHz;Jsg*d~nnE z^LzjA0sJ=;VnPdBD_upLbRuACuLU&Wd_NY1f7cZeF#YAeC4incm@R=T5^%kq*YAYD zsY3u;p0s|H!;hOda2x^y=|WrtL={J~o+Ltm>O->Ee>WQluM0qTGU;L!wm0a8I(~8B zXz=Et=OCbc6PW1VK9a8UI#cXPKx|hgaR8j3dj8Vsc0fBXRVMKeVBgd4UOsp^2W?LR zaZ7INdN!AvV}wG5&;j-e*+Q-iaIWVB5dmN$Th8vz5y;%9Qb60!J~9rl${jiaTEKYw z1;CR}3O!NhoHyp1!}kh6>b%+TnF?T%uoyEBR32KqE&(>D^*g-9tF2nVEG59}Ci5X3 zC?X(WD&4OGwAJKH-ek;*KfDF1++eJsj)1^|Sv9qusJEGAQXZC*O|ZuE^5Ziihvj;j z>~M%iRB;Pjqh2QZ5QRv6X4hqAQgxyaWKv&-RoN*bOHKZ(0K+pJHrWVG*zzJBehdK? zUj{Kf>0+Xm$$875h9Mlsy_qDM=%BVB0sG2EKrW=usBwu`c#=Y(oi?c~#q{@u2!Tc# zbBK>i69L{d{3-D9!ZeIn5>X#MV0a&V%ZdY0Cr9DB`G!G^E40zrKp;)dGqlur{1qhd zl-40Nk^lsOa_{%URoE=5fno>OuaDtI#*Hky6SlfK5IBFCfaUqzdsY69GQaYH5kp k*-!$jDJsuLpc2;FAF{hZFD=MB&Hw-a07*qoM6N<$f|1}+LjV8( literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/pyramid_king_brandon_front_pic.png b/graphics/trainers/front_pics/pyramid_king_brandon_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..2f936092ad4fcae2104a382b2a5f4926847e5b0d GIT binary patch literal 721 zcmV;?0xtcDP)b_CJ|u#FnxkJJg?yi;~1Y2Yn)U?o%NQFV++Aye8uP043O zP*^)2+sO&gd%gvi*4h(t74Xt|u}LtNZs2+SupcUw@`a;*6e5smY92X36h%0q_~-yK zjFUtH2v>p*02jb1qqI;50q!zxH4NS0+&chd zlE47ZhZ{sOmNwue-2oE7_oR#`tZ)EO_@eoEC|n@bIH0eU9*|%JYV;2Pqxq&qrf5(e z?cU`TMv%Ze%JU7dHh1jipU?CC{Sys-kLUaQkgWUfzuYG|0KeQPy`}$b7v{wdPQ-*d zdH#g&K32XlA|U4Q+rd8BE`*_gG54Q4-;#&hl1KJ0G2|AOTn9aQ00000NkvXXu0mjf Du6|FG literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/red_front_pic.png b/graphics/trainers/front_pics/red_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..45bb17f9b68ade667b1326de00f52943d79531e6 GIT binary patch literal 691 zcmV;k0!;mhP)K)G=$@KokIAK?U&=4ki5qQafZx1GOp666{1nAWc1; z)432OozkV2I>k^?U56$^LSqfyvXwvwEya{Vw}Ki^hr z7xWF1(EE7zbay&U`yWV5@=xmgX&kpz0P^w2lA=H?fTF}?e5)681<>DrouB1h1vuus zsRFsr7ooDk&c*jI-0NIo#cgp7zc~-XWxs@gvMJuC_Xc*Q_X`2KnE`#_fpw>M8yTW( znniIp4a2Y&kqV1ep(tLLr;VwZ0oLR4)1nXeYsQjQMDh?L-zbzceaXsW9|=Kz8dEoS z)9@?_A4x>ny21Q6jpqk=9z=hJu~!FdUowX1gR#STX1|jH5JxACwgOcAqxfYrlIBSS zVBuT(eLLOl zPtPIXig&MI*S7O{mY>7A9Je9>dtCr2I-LMk1xPD+Uej9<=RD+fGz&rO3g=%uCI>7F zN4}hCTBU0nt{i9+>vSz}q(f-hkW$ZaBzsQ8Z%UctY{|i6S{*6DI=!D$0Yd4P_DlgL zXtk~l6(A8HaW+Z7fUJka^#HKIlK|p+ zqCygQo(u%rS_YT|co`tx3&~+jct`96GU%`b1#o_3-sKh~&2*ZiK)3I*UKoACC7m1g}|~N4=>|a_i@I0FOK71gJ&?q_>q8g2ZBglr4N&24ErKR57I%P zA4ON`-WdO(|H*Tlv8y(Thrt8NZ^>{T=ojUi-fz93V;+h;fLQ!U? z3rB~qG03uc!*mG1HfgfW%n*Si8k&*Tt}zHWZkck^ni+^-%-Rz1x?LlXudj(ngNOpS z0}O$LoH`~(mlVKci330xnv-U#pxE#et8D-%;|gu{5e6GFWo~l_$KnC>Yg7q6Ii?Z`X SVggwJ0000U8GFrB(lR}3uuDUdRd$w4Xu zlU>OS9ZeWoBnC3r$`}O+5h2wGBa}{EEV-+Z60tCNz{(1WWIUvWMx^H6bJF@(5jXhP zecs*o-M#k=aBemfKhKQ|4&r;_ISq_P^zNX~4x%E!v4OK~9LxnrhhYJLft?^gz_IzK zy{zBnMkFuCI*yIGCUr66$I%2}WoH!N9C-CsItdOV0BcIl5qVgiY-WH12fr(_Bt2Gf zqE{=mwVQc~jD%KKx(EmxTFs0riszTUHDht+AYp;Lz@n6p9r`@V}-2jyB393KWxw^qZ|~dlw35ivXFe$udNNCR`Wg2_i#<70G_VF zviBttYkk*ilDFqj01RG=Jy-Y0OHv~O7Wt;@1J(Sa_gjzys)u6&d~@saRPWQ|*OQYd zRm^v*2)OQUV9bD&#?tcr^;IbMbuS3M4=BK-G?ps&HgOFMbQb}4kk<&};;#@4U;j)1 zqm|77uvU$R*g^eO5d3hl%)mT>G_V+X*rF){fnj)|B4sx3Ms0}o9nOK_adz)A<0%5+ zw7p9Kf0*6<%${Lj>awQo25%7XAP4Zj5h%4aO?wu1J8fifL?N&ZBpRM?o=?Dd;PUrUui}kOl$lTFo zVWFKnK>;i5TrN`sU;}3XX+K2)2Y?5)7|*~!8F~hFn*guh|G*^(4z1&ZT@;8!0xiG+ zM~INM#1~XUB)HXSHWRF&Y|dhM=R!>c_Si4jRb1IP+RA$^h9(P%`5eT{_m za(A~wlUNdi?ZK-I(Dlo2hAZLzt-P}{@hQ##lfM6L==;rErKkQ;bBdu~>q+33`uA5g zD!V(Q)v#Cp6FbyZYqGjh7S~$W-y9WxM-HChwtL%D0$KU@*58tTv5W&bCMYc};=qLK z7E7LI1|~eupmNqN=8V8xUIB&;w3aVgrN=lhUA=i^G1+*SomFpQ)w-yNpt7L=5+i;a z23zvO2$my-f!dG^%ON*8Q62|dwQ_Lp99RhXR@|vWLf8QRrdD4HXS_L>wrhehps!T` z1WW(`002ov JPDHLkV1o6@CVKz? literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/rocket_grunt_m_front_pic.png b/graphics/trainers/front_pics/rocket_grunt_m_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..de95d378dd729f79e4ec3cdcca4e555500e07d19 GIT binary patch literal 673 zcmV;S0$%-zP)sw zZ$Pu@L`l?A4P080R4FtTy9>cywu#l{fdDj^N(fJ$PS@jaldwZ>~3A^)o-}iGi zLi}e|MJzwhlqw}s6)FY%c||ENalit`3xqf=kANkB$=V^70bs%8faa4lXaVhr50Seg zyo<^d(CQnvcwh(M@Jr(w3tZT`xwX@1@HxcSYqib#Z5EL5@ltK`vSs@a1Jt+cSAnZj zTF{^BSJ2>;CQ^iv$os@KyXs8tXdv~?q9iulLima2^R!3-r_R5v44>-=rn1994Bm*PZ65NV}YpyQf%-n3N6ua$H2m-n&F z<`6??{_3#FRv|TLfcMSs9AGfYfp7PyUVDRlog&cAG1pJ}+iBwy_k--U5Q)FN)5y66 z4anmB;M6&07!`j$5|{(oBPN2sRg=yF>0ZZJOtBh7sZx|g47%`(#0L)eBP_0w49ujb87$p{{R30Ja^S-00001 zbW%=J06^y0W&i*LM@d9MR7i=H)lX<6RTu#90i_x|43m17PI6shGTFVzQrj6%5rUGb zdNIB1V3FM%#EP&74_aPWFblffyn}i7#l6(BAd@f`cMm$l`nN(ej|h?#FWuN?yBVh8 z^Lvv_{_NU<-=(j4zkKg|eMZfhlAYM>i+Y2PzT$()kPsrs>H4gLGWnH+Fz!T#4D zmd3L{z}v&lbO@SYz_@3=B~~)2f@NLi&TzKQ?REL9TX#)UPi2$o{PHGd=pH>U!TUne13@S%HPOh(Mc@1m4dg~`e znGQjLQPBN8tD+l*u347ld&&$*Jnllkw2LhSm;f_u`rqKDOhDz}z+|9Zykl8Mnx

{0n|l@@xM1!1o}NnPUY&p|2WA<+>)+dS&^^XUx`(Q&zB~r&(v5ES zuOn^Q_4XXb;GX5X?ka-J1SA>&CB<|xAy$T*3^6apVJu%_E|yby{&v~8~1I~3-O-~kL8>p@%Py99) z;KcQP&Udu58iPbdrmKoF^nPdyF!Wkpi|;6@8L$p`;D@{&ffK*!xA+QPkTC!T>vDDq zMj2M{>_s3^H`g|L&*I*+c)Jq;jxGL63~rdFxmM{T;B(;T7~rM&3@_3@O3@yJP=NN1 zvX~lGKq-T5s0FNTwQq72KNvg8>;-NezJ$zjg?!4awRH z4|D2(P!fYL@D8U17!X1liCV>WRx?CoLvYOjSj~?&6G8P4Lf*G~00;;RsQ5!Z4OBIH za_b2GCR?H1lLFCErBIJVb$p-%*dWKY?SzAUfAMh$`Oj6kjFMvbF< z^z6%ZLL2Xmz$kU-y5B~y2=PKU>b2uCf@<`6+jZ|pl(H!x!KHEpYUG*#I90563Z5r5 z>ylZn))5Q^fO$|)kOsafR)Co(<4xCLBx*|Iy{b#}3Pd2<_|Og*tycruivjM{2B4^j zb|AJMqBAfBTh_y#1ke*_i(Z$+p~5$djX+ey=cCs?EEaqC>RtzsLx9~WpyPV_1tY#n zFBFV1kfy_h1=}dZ_qo3t0~y6=QD6Vg*bScscrQjjF0x_R)1R5Xz3WI%MCeTW<$_x% nJ_%++-ZhM;GRy_oj;P^Zdbt=H`-b>000000NkvXXu0mjfqDw)h literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/ruby_magma_admin_f_front_pic.png b/graphics/trainers/front_pics/ruby_magma_admin_f_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..c5890b11f5ad6c09d05485409f991b0118351370 GIT binary patch literal 782 zcmV+p1M&QcP)P_G}IU2U!cd2(hxUN)Rlr z&XvkQoTnofM&z5 z{tG_tbOVct8t)G{7sR&+Xh2sae479on!c2wO#o3-OiC-jrfu)e11V!Gpw7I9KbRe; zsV#SF`?Vdoc;z^b`%doL0Q`5OUe^j%lj!2@&7Ze(VeKOvHr;j(TB!PkOEJCQVxWZ{ zF@(zF-z^GRsLT~fP|C+L&IJTKSN=Sy6-OZ`bQWsntCJxYoS&W^(69`g&jOizyc=*H z1_1?JD3#05scS$fmA1+XcqbC_y&Ldj#lqApE8rw$^22tTjZ-O750F5a6yH*sjSB@g z1s0(!rZnSH- zLjwrCk2n_tf42-I>3QET8hA$HG7zF_r$b1gjR!BwHWO6om@0s?IdtlK1yE?uKLh;* zuo!+YWU7S#nL__v1B5iKb75BKlD>Nt&?RK|N zfca=-kco4{0t|YZ7#&WWx+Q3}yg`&xhfNqj*JIV(gl@G-s6jy_ZLbBck;}M166&!p zFdzk1I)`=Oj-eHfK)W2)nKoke?8x$ib;jq(xAa4HwhYlT6*MmuG+#w3i zVrS8DE;acVT&Tr0PSBK6{R1T^WOJ8l$Wk)dTM!y7GIi)8)FOhYajsAHsC()^(6@d+ zdMDofAmo4L>S)7wQ&zjp*EoemV}`qVG6Sb9#!mC>?%2yJamK z2R$~JO#=~Q!0a&=2#$k(%J}!}DDf)N2prO7~d-c(Gls zRG*?b(UNj`tJ=T;(Q8}vC-@3ba;G>aB)Kn)A0^&3J_Y#6KUZAb76|IP{vcfMrltZ* z|Kw^KuJ%H!tA4g+cHDW;0ieD9t^hQ!%#({z?+#|#nkm3i*rR=S)H{nwz5DX9Vg(@w z=H6FZd?57WetzOKu-lK3BG#fZrxZW;Iw1K`Li_33u2AUX1y)gi) zI*;pGO1N}nvn?=?$n3HtflLt~ldSpDZYSzRv_ND_P&p3~Fc0t6omAIi9TYuaX#EA| WO!vMgdO%VD0000K)iG?-KokJblc)r85?O9KuvIt=WT8s3AQ+%+W;&%C zVyY)cuw9&mGTC%!2ZnHRaf(1nC{hTBC9;T_GSwYO`pVoH_%WNf8?bj) zG7vN#QGoFK#MR*$$S$RCAvUMX0F$ToFcF_VUol@RtA@D`QxO}n7X4G!5L zf`gKSkM{hoO%_uVAU-c2v%xRSqOIlb4am#{n28fWCcs)Q*9Bl@qK7|Y3Yz#xqu~D3 zvmQMUdV6gQ^8W_*F+Ozhb3d0`eZU1@9qjc3J4V4LUOuWLv@fAL1sWH`bYyqOAkRJe zEgfwW(4b(o%Wa{pqmKlidqsYOb-z6{z{pzq74#V@4@f&gJ VN(D~yupR&a002ovPDHLkV1i6$TW$aV literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/ruby_sapphire_may_front_pic.png b/graphics/trainers/front_pics/ruby_sapphire_may_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b795b458686883b99c8366804603534fcaaa72d5 GIT binary patch literal 683 zcmV;c0#yBpP)^@R7i>K)In&|P#6dB4;M>s;k5%#f@>ytQtD&rH59mZ zK1)chU}HDxHrMAkXu8Ohd`3yV{7DI1D&8Ya4Uldt0kjeTYzF67VYQ54^QahuhvfX{ zDfVRD3(y?kd2e~&L;#(FuGRP~2H|%dAl2_2RvP=FTwd-T@l`wSe`p*FJB*_@03$7C z%oGB-R*ThKrU)i8Lj;_j5Te6b*Bt305yw?Z6rG-R=qN7~atu_L+I#J{yBd0=;Qq7s zl$F(7IYPiv{lU=RqH6TBCVpH?E5o7h2jysI>xFoWDR>BSrB)My#hu~6_xU4}1MwDe z)vCu)jNSyKs#XwL;_kn}Y7&^qTEWF6aDikYWzFK?CYgm9LT;d7fy_^U{x5)cpGyFD zGCW(zT)}cFr*WVvXa`Bj^EK2c22PYBUuAj^1JR>fQy@MIyjCkuCzmk_qDqhq#ufMr zIR77`$4D*@wjpsydAv56A>7+Vz9DPvca!7?qX-Du!6cDm;rl&J63%l%{Q|$b&XPge R4;KIc002ovPDHLkV1m+}I`IGi literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/ruin_maniac_front_pic.png b/graphics/trainers/front_pics/ruin_maniac_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..ad9d0492c0d59161f578a165b67e14b95bb83e08 GIT binary patch literal 870 zcmV-s1DX7ZP)Klre16P!NXSP{9;g4%ty0_ClNysWdHgBa<68mhxj_ z?!UYD?h*1o{>``v2D?_*6_py-0F7tLrcQSjC)iXJ3cwZ;H|okJG!#W!L^SFuD0KkP z761?H4F#A9fOS5|0yY|TU~+}Qh>Q!_8H`u=Kg$(Pc(0U}`IkDpK3MrBpO1vE_F2j! z>g>V#VX^S-)?*^PKRT-)l&7|?F8U@4j-4Lqf^@+k)^dtxi$}Yj_Wx7@6zedkLTeI5#;rid0;Rc zI!KJy-n5w8wCg%yy+z^JT!>>)|M!)KnRB2 zlW`og31S1!3wK3v8JY-ukjrzEic6e4jV4=Cei@7@AkTW_TzBZ~DNTR7Ds55*92w}1n_tel$@7ZhL`aZq)?sO*s{CBaK z0d!_}WWF=e*cSU(3FV1 zhy`$2e&y04$@BA&d0D<=%sCF}3DigP8adb zJvHQO3_$4H3h-1SnV|5=JD`&Q<4C z2$@WOQg>F5SfHxtA|*V4CK7rH--j4S)DZfx5)>p1n5U2z0Ckq8=R!XX+l{oHvO^TQ zI?LMRvk?u@*%1+U7%|qg)(1q~j5=)_&?4_U6M_662I%vU*=kIa=^RXw&>CXJq^}%n z-34U_K{$g-mStUVtTPm@SGV2)BxqSeQ4&TUKvlomGM4lSnl|9PG~m(zbE!*z)0VRI zVbAnWCJ@-Kr4zwkG3eh#@DgyRu>fOmJO-#@FnInw2ADAmsA9B}564V*0g8uwcrSwI zJeR>^ej6>SRO;-ZubvKc@vF{aQ>_!qO{m>JEYIvUfy!SoN zdRIQnsnSv)W|#x%vxmj|`&YnzFCSIPn^+EK@i@1N~}sbdsX1~*$?C*cV2E`I9vBdE zP*$qw!oUJTDq~&Y#uDW#^aGTYiF7Dc#e$P4142kSM{GfY^A~7*yt5eZUE$XE^Si&# zFBd}oclGpogjGwu9;4J{C@9~*qFp}ZI9Tp*&(n7Z0DKMiekVyPFHL|ng;;b>Qz>O) ztP`gxzIA*Miz73D7}p&Zze`>tby8`(3jBD%d5CowvA{p&9Q&Ar)M1Cu{P1vuhNyQ( z!pS-<*k=n%oiAUor07EQ9`N25xJOEgTGJ8oiXki^bLIBruSsSTuo@+4h zXbS;%-+zFF2Xy}_0=|r|0SuUFp#B2=j`xfc_iv!2Pf>#(2)I)Knxf#b-hsNa90f%K zHd7b~SaCVv;D9oiCvF39`!KddGsGtYs6Wh5Q0aGJhv)b?RQmcYCO9BZU|8rBKPVC% z18Aq{w;|tMGL?KfZxRMXL0OytRRY*9hCY3)P1xLA#?-mcT>W0_d2^|J#j^1K z&3kX&%>I{<{~yYGTGKqnwyrxnX;HTSeWE-eXy06^Z?qC%M7F^eD zcrgwvx+`w$@gWY7?%n3bq2)O9FW%Z8i@sD8?;ho!EETe1?Lqzl*B$=STmOcqa72$c zzCwuWtjBK&V6j<`1mlX|WFdQM)FopqQv5!TMbD(y1k*R^-~_hI#8jiRE;#Ix(dqlV ztTBFBUT_%`mFWT@_14PZHAP-j^t=GrJ_&XtqnC)V5vwGIY z=jTO9YMdE2q7UoyusADq6Tl4{(J?v+qL2C{61Hsy-pT-;>n^Dpw(gmLH$e(7G(c## zdBX%Kh!h-GZ_C#=&A>AUrr(uOuK)@*3%UYO5(%*#P+;*WxC%gRKxLv-qPO}VVA)1A z4@fH@vI6mx!a~WN3h3JbC2_l-3`xldt)cX{qbG#}d8JT=_CSlt()te!$POk3xKtn| zmLZ$~^$Y{DsYCt(%tK)GE4nSGMS$J1Y)2dh{kw9T%_-^i*J3u-23NoiK6`1->u9d z1uVU>oUFX17fSkk9Id>GB!TM=C+`eD;&C`|2W{3sfqTf@`w>HDWbOd=1J=gD1Atay z?GXk@RehMm8#E*9oyz@79*llb0PtJh72K&RXn$S&MjmJahfzr0JpXS!vQVwxyAW<`v~I{ zDp4{4=@VLomdb6;u|*YN??Qy zzA$wOm}Plr&=k;w4Z3ReNPry)P}C0|63C(b1n_yrh(KGsO(aTYMnHs meR3?l)&ig()lbF0{~TXydca&67GE>~0000K)iH|`K@wIo<+D(bS~vH3`&tc4?~Glwc@nD?1v! z1K(wxh9~ZUI4c<7+z~r)AHAx1xIW(JR+U}rz3|_lxKpqAVKTcv(|rJh5U1(4r?1rl zr0{QxBvqdk1kCYunxyIJN6VcHlOze#tH7fxz(VZW!ALYQc$p+>>D4e8Dy5bM4x1>c z4R9)UuwZT2M49Af^3ECv6zP~~YEA`>c#*n9lb`j*8l1<3;(a>Ke_Vco;OK(rx%JX6_w1djB+0ogp;-h=_m37rh*nfkC5j49|}&_fFdf_|C0rU}qw z(EvAy4FL054!V6ej`a}DZ#ftr8Zbq1R*J`mY!%1wKInmot-27D9=|mo>cPPPg6}g^ s-F-Dh6Wk9h02fY~mr(Lz>Z}6q6xH8X<{Jzg=mGJCk_r zKn|IC=6h#$c1M!_yXG~##>nw?)l}0Xz`Clc9kn%dTz>-KzPdUz0EU08DY@)0FrHFZ zK1>B>h5{+KvNPom%phkGcODBejGb^yiD!jiY!1LvMo(Ci+5fru(Yuo5nSRzhnjlNU z{Ma;r;94XaNL+WgN_Y|>m>8S)`vbG0`D397TLc#J`zNMFU_S8RQKBVfs-cL|`z!#7 zB6=ZtS6b$&SvI*+PRI^qii&R-GFJ z{lm-pxuRT>Z}0m~?Ku51F&MFEkrTxR&{ zDJe5aW+s3w)3OdFPlW98Zx&-#z3c!_JVK&8DE6&u>X8;I*QYaXH zxXE}x4@#uAZLm@}9JzY+mWwFRvpo5}ZAvU2PX2nQo$!E?dhN9-!G5kZO>>v^3T;>b7~%I14Ie}O zN~1}1Mnqp;9?Dyk0zgPl^BEY%VGFcEY5))q?DZeprlup5PG?OnfsnFYfMyXw*$af+ z!beEG0*g2;+5mpYy^{Y<*!n=^6s;O1O;GTrUpnTB=os<|r2<`%Ebyn;M!I8_o zq8DQ(c~MRm6#&t4ULqOkdRGYkIylen@cZ5Y+*#dhg2Uv%@ax`gU8Ii&@~t3!D=^!_ sPvajj6N&h!2O+U`I6M*vzS~jl4=iW9M!r5s6aWAK07*qoM6N<$g0)zaV*mgE literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/sis_and_bro_front_pic.png b/graphics/trainers/front_pics/sis_and_bro_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..1477547d33d73a29092161b1d6690087e8d79c69 GIT binary patch literal 958 zcmV;v13~eeYICegO1;JAdz8&VN^}4J{{R30G4Y5z00001 zbW%=J06^y0W&i*KJV``BR7i=fmCtL_U>L_=*o%T7;Z1sRhmAf7j_t54?^_rOqe~jy z5JpegZr<7*g}OC2cda`P4|W%&c(D5yHW1IIDC*62!`)OEr5WzB8Q=UUYtjTSK9{`Z z`Q-WeeH(=Sn-vQG@JqSs=1#UBOOp1$vijKoV}**fksZR2mETpXvXKc;8K!G?b`C01 z)d1LD&j2O}F}WY=)hFrxJSkuXGP|1rXhcFt7Aef60~1qZ0ikzf@^t25YM&ECT1NOM znLe#4>4Pw+f-oTjYRXnBfB_0f&x=r7vD5o30hst+OTMt}<@68(P8fS-d&SP!hA@Eq zq+mNnLoOvHY$}3tD4NwZtO=ueY0A(t7Dse)ZA}}QR`3b z#oD-dw7HfSUY;$Wz!o>h01?~}!1JGFnAt4H{alwhmj#90oEpHN88gvbJR_wRsw86&hGje`FA_9(k2eqUt)#gmE(j(`bn=- zK%h4MhifA5%8zi8C!^aiWHorYtcV29HZW=4a@gu$X9hgW;jX`lY3>-qn|4 zT+|aoz-4{L`p9F6?+YFRn3+D{M@k0-W(Ezp2>?-L2ry9%o(WMJaz6s}p#Ky=4Tu4R z03HJX7W@};xe#z!;_ezu3LC~~5Wp`Ytc4MU-HbAhQDuFwXW gp8fp|ib=%&3-9KmCbL{NEE6f^>$66=oA*xa6sNBAKRse)O-(_hrB z?@muWjsxEdzzZIr=eKg$MLfps37Fu=Fp%7YGll-2Q!#+a@58CRu{r@VXH@aMJ^;Lg z(Y;(2PuE4z_}t?-pa1|TNiJg6Cth(Ma{YKFG~j@j&bjEFK5`9~vcfO8JeA_Hy+NO2$~6Lko1o!uB9kjGw_ zYreB9MouY^4?`mCf$LeOAfBTEo&Zd6V~30~(!^y7Fbm|eG6lg60GBn(RE*U!!5Q(J z05DzDjRM}HYaQuKivTMW;9J-bzz$g&IPPzVwXPoRa+#t71(9BrTGK#pIXV`f6A#om zdpCW$<9{5PCoMMuFgryLVE%6Tql3HYw(W!f>-gQs6pz|$24A3G!zRauzW*;m!RSLW b`V9F9?21DM46RH!00000NkvXXu0mjfZFtY= literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/steven_front_pic.png b/graphics/trainers/front_pics/steven_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..a322cbe5a5b1d73c86d23b760648f6a1abc13da4 GIT binary patch literal 703 zcmV;w0zmzVP)&jj00001 zbW%=J06^y0W&i*JJxN4CR7i=f)G==pF%$q`4~Rs{VEOtFk_>F9T^T@RC}Lqs>Bdwi zTcbve-J<9!r1mTjx{)e>0LeEL%5Y6iY8S@t2%!qGAr?*))junjAiNv73mk1iJZuu2TWul6Hkhol-n}R;1rWYj*|uqYNM@}qu0S> zu*NtYr3oRoKu}4OjY9*n91`1UpDgsV3`~)2d?mL(9V+lM(>H{WU`c@+((99e)R%vH z)^ahZH}VP`N3CY7=?No*mzoc}pr%{*!Bw#1`0V{C^u+bn*@qV#PJyH0>BoJs4vGu< z{B(Jb@))ep9lm9p3INnj;%NAe?RFtB*^j$JCRQQ{{P-NNhJ1IG0RTUh2Q(IIo$%S{ zl?zOT>?y(9ERm>LbLzkvm48^!IAY3Fs&zWd!!2$$K{?PpR zdEf@vzHMu$19t)o@~OEz0Zw-TiiDYDz)>Vp_#PL3?|YQc_~g&EBM>w7r~KF)=|(F&O{<{{R3O*#C#A00001 zbW%=J06^y0W&i*J9!W$&R7i=v)j^BeKokIAk2VAb>klYIp~t1--PILJd+}csdh0FO z9^8cC6GT+heN%Q{^ywPCoztxM>ZC}Z z<#gn)TC4p*p8-J1NAbJXdl~A*)1%lOw^wcFfHN&%$L;Py)&_EnTq{^6pF53#tbRd` zx+E-nRd*U4S&c%(Z@L=NeXZY-57jY8T?Ce9a_`6me8xFy_aRq5JA+`3hg6!}{>R9hhWD&EG|Z;*!p)ptDFBL8zWARB^j5Et*dm(;qdk>lWf_kskG z2(jC5G^i9-By#LI2C!A&&T+^TRxa{j-D;AXuyPEB>-HsCqm^%lk$_tRh(sg|FV7OO z*mz%Q@JtMGfd&wZ>tJjKYpL$i1k`2SBmKBzff)Ln26F|b;Oo1s{1T4e)sQj(;E;e} z!XzWtQ(#F0*S!HSjUWXI7|}USfB|@92z%t-R0?qEef&^>!H6EE$r-pLC=^gR$Ox>Q zaeeYICegO3lsxq^$00YR&)u{{R30rWF!a00001 zbW%=J06^y0W&i*J1W80eR7i=D^=H77zFH{r|o@A7lSpc(Hcp z2f^7W+t9!uP)BL{h6ZA#&eD`F!BHlox3AL=qy?1iviphD@Y(_&5WDGn0tnz}hz1yq z>?S0%bSzOx0`LG{u_u8*{A>q;b&IiQTlj(FcXj|y8N0lNUtK)60$iYG1AwLhwAEyU zLh~kIx08Lb0$gH8$8!v`Y-|Nsg4h}MI^{T{rm;taMUtJ5?Gh$R#H%nVH}po7I2ZRm znP%+i$Cvosu~Ezyy{lvG0NBqLdGFc;WbzNopu3$edPiI zfJB{=>D5iJ2ECIM(I_r%*X?^>;&5mOt|xbSF=svsu=;2$zD{R(al;-YJhztM%V}O1 zfJGv)1IP18VKkT@*}KW%?hn9-o#0?B6lgVAhj%iYE)>$k@=jo5w%-kyA1I^&sDVBS z1kkDu5v^fvOm)go(?Hc>hlvO(`4|L@GsMTX?r_80TYx|1OH~^-ECV(3D^00001 zbW%=J06^y0W&i*I*hxe|R7i>Kld)>tKoEu(Zo%oq=&nCB64;%5yXvLv3fu(lEp)B1 zK`QMcMZkr-z!iRt5HNm&yg&#l{06!^5z;BM!p4V|-50Q@SdjjY*_nTK82gBK8lS%1 z`t^tQx0kqU+xDkNKY1eH(UZaee|}uLf%>6szgHWVJg|DZ-M#?&+|p;y-QN*t7~>@@ zEFgmAzOJe!AIfqCfQ1b}6v14iLrgk=1qcB370&uJHF6ktQ$Qjt?}vZGA)#CgEi6En zi0f6}V-kgF$1$}4IV7+`jQ5Bg3ox#v{ON{2r!lm_IvXqHV!Z zA!Gsy55NK;1*VqGN1-UisSlv`;^xK&T+7A_Tx>SYl{KhipsqG(dGr=sG}V<4PA&4%341&1eCD1<~4em6P9=$-GPc=YtN$#q|pw!6X4nay&F)<06KGy^I+PbvvA!oZf;O& oXNI*|xV@6ThfjId_FnqpKcYdAPHx_y`v3p{07*qoM6N<$f_Tdm65YnWJ`w07 z%18*KR3{zLEmTk*4*+P3yaP?D6g&e^qrAfEh$5wk%=l<`OhJX4ExzA= zQBr@|wx3eOowjX1K2HF*37F5{Cn6YQ9?uVX;28jn=6sC1-w04=3E;;VM&@DQLu_)W zu)JV(IrX^v?&eDZ_}si*JSq4Pwt>CnWWoajP+CnM@qmP^$`5#5i0c0LM1W{v^EwHL zH|vvl1<7HuX`bfMXvzTNUB93*NX)xleeeM8`2~GhfV$cEPFi#fpg}{k*kH*NV}Moz zyhh}b5Vj07G8Nk{SzP%5Xm|r$5rJG0gj6^~ECZ84Ewm~m0o?DIg}f%9>NgO#EUH>u zy(Gxq$e#8e9luu1|IsMQjAow^Cd68O2_0vhTR zp#BPM{uL+)NG#_*}nNXhU~6|N67{ z!FJOvH64bocm1|^6bHs|S-L9LXy`I-JKZRY|Azh=&>6By^85zpD2_N(nGGTU0000< KMNUMnLSTa7M;jRc literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/swimming_triathlete_m_front_pic.png b/graphics/trainers/front_pics/swimming_triathlete_m_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..f649d004514f3192db34b62c470986aa3f438b00 GIT binary patch literal 675 zcmV;U0$lxxP);!m(q#EftxkXWL|>c)I(5K@JZdA>wth~L48mz?4+?>#@CohbUx zhES?|dO&H3&BjVnKLiGb?KDj}5+e4qJ;oSELJaw^uhc_5W~>Q<-guy@x?oQjyBo~V z&*-DNqFK(uA>y&>PwJPnxQ&HKNIA)AFL!$gfH57=^xIX2mKoiGg=*RXb}64QnkhWT zaehLxF0gz3n0^6J>>(f?K^2+0D%cSs6ci}*4;%ndQrDb4M?s|T*VS>31NpS7s#>Ff z&^16hhkFXM%IECM9{R|1fdAZ{QU_kme`UMW+Oq5Zyr)cK@@=t*TLcDa$WsOimhcNXAQj9d;|FQrG9jTHst4Xrg2~ZG4U`ki32eDF9Ai0f+;CEY1;s_I}NvS~#bnMiBlTBKh5j z$SMRRKlG9ON)s8#0i};Z&o^V0riV8`rs;Mso%{2h^X>Sj@f-g5;DW|B*Ny-H002ov JPDHLkV1ka9Dx?4a literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/tamer_front_pic.png b/graphics/trainers/front_pics/tamer_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..b26a2ec787029eb31b6d1293ed5d8cbec65fdb6a GIT binary patch literal 848 zcmV-W1F!svP)Pgd^rO-GRf1HF0Jy^UnEc9=%^il~PdazzX!Gi5!k$6bysp*>}x|_}0dh1*= znfJ+i-}mNa2H^h>jdNc87f_GY2ua)648Z7{9pxpCDSP`90^W{LFBGxhA5;ML-UmzS zO)n6`?ZexC1zogUAcESAVs>Q z_tssPB?2_qNh z$rtE9ka8Oe5tjYqCAA`u*!;R)Z~(6+4HZL^P1LYvX9~IwMmlE`Kk!+Tu5^SDsimjm zMmn9&c?xWZE1C*Gh==KpdQWt>S7~R`ls@!EWDZs-50MFijH_UO=fg-q71WFfMUkq~w6XD!i74^bz zl>n8b6jHvn>-||^9;ZK*9W1n4T&axmKr2Yn5=HZ7$R;=GUa zRH~(b%9A)jlKoBqyI!=V$zVeWu^sV2Kn=f_D-jW*tLmvmmPLus948Z}M9_ef{tP;u zhTd?T?C6Q>lm_lHRU literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/tuber_front_pic.png b/graphics/trainers/front_pics/tuber_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..3ecd0ced3bea04af9064e97a9331a79efdf43335 GIT binary patch literal 651 zcmV;60(AX}P)KlfR1-K@`UyxR6SgNg>#Xc^42Yyfd3do4d=dK@TB~ z6H5_f7SillWVgJ+#{31xUUyg-(0^d#{R5eZg_YcJe?TPcaUrSV_%{A1oJq9zzQwT2 z`|Nw)H!~05QkVL_RZ9L6@A7ah(B-_nzb5W-A^3q#Rx-1M^Ued#pX4imM2LvuoJXLw ztwJmgraUAcLU;KyOAjK+o#*V@Q_(qW3vSk#g&{OwGRAIo4ihdS6Nn>ddIVtHpLg3Y z3?Pp8p^0~yR})bw6vC(x(w2MYoFP)GSuA#}z>Q<}4TGp?$uN=7J(S48d-Pl2hQcs0 zqhGF6h}b|XKR1C=k+XKaU#`}n01TH7J%*r)N4RuHCX6UuC1|y0e$?W9oCotZWI+ zZJ$p9^q%kSfaBM#1Od5wQQLGH8{W1JaD3bX7g+<*4nTw51lVO|4C;1Zmu&%@voZ~a l-KE25-(_nW)xVd2)^{z5@+_!D#w7p%002ovPDHLkV1gYxAm0E0 literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/twins_front_pic.png b/graphics/trainers/front_pics/twins_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..6e513e79a5ab372bac2b1d01ba79ab63ec81ccae GIT binary patch literal 726 zcmV;{0xA88P)K)IV$6KokJ*gWeQu#IwhOTb&GEnmUp^h9D%xP-yF= za>p)?GKQwb8T%cw37S8U(m^y@GG=PYVsmxdr4S<(O1oqcHZci>HtwC$7RR|uzd+s~ zkls)4o=$g%&~;pgEU;@`onQ2x46ag(UUSK1s_9A!c%JvzKVer^M-;B-HJAMr1|B^Z zg1YCc&~7bxUTaNM0=Jg|p#S>B_g7;PsJEZ#0LkZu|Fm#N21~6z72qbji1Zh4h74DG0y90O=*; zqZGV_0oIG54CKNc2GnA>D+RA$;KIBV#Pk404)kRp_Xot`dtrXJOKCz}Tcb18* zRoQxB;h4wMV5= zm;f>5JQrkJ?gwGz4>#xqkYpg;${Jqh;3b{h9>1~*y(12A5b&<(!DJ8082tlEhxen< z@$_7we3E@DrU}2hoM)XLW>xP~$>tup=ck`CmH=feDEr^|4RDI;a~A@og8%>k07*qo IM6N<$f^iW>$^ZZW literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/wally_front_pic.png b/graphics/trainers/front_pics/wally_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..76338eb4d323a8b0c5539fa81a654c401fba7ded GIT binary patch literal 616 zcmV-u0+;=XP)C)G<%nKo|z#lZY&Y2g@M?QiqDfTNg;PbU`SB6{bYW zl8Huwh0#_rb?PY@GE_mjg>*|e4^+(%%ZK0xfRz7`HiIQ(jKl!W0B2044t*~_ptpGV zp8M|oEZq_Ef3B79>bgE?slmYhp+3M~&|ul-Tp42Aq;^vXSRb|=N^QFd6MVHPrR^ci zx$HR3kkW1h6O5ZqNA~CBedD#@(p@+DMX%2|Yz@)kT`$+8-R?C-;XnW7a| z8^1rn4(0OZ-mLelRs|xnEjAqBgBnVqRoLg#Kmkaj zp-C`f5Xe=(4ewCO6a-=a@I(b>tbeFFqt;`6O?Ad1pfQ#J971C?xm^(=1yA1~I66zf zL;e_nm~(mYHcboEb4)xT>KQ5*p9hrK~4CA>?QQbg{h6si=tOE-tK$(!3dR4PL`oZ}88` z0(ahFj2pbJ02;3uec&qI5#zgY0C#IDfPQ^4aa<>^5@@^7W75hg0m_*e6OvA;@|rP= z@qLoMrv@0$;*aU2RTWr)AuzFWT+u`}jV(+P)NQE1j&VyS=3G~`)*7!{UlVl9n3FV< zq|#rG%H1IFGbEE+QXWPDSmb3*%I^*UFCw2bO!GDXr@AGDxZ1;n9@kSrq2N{9O%Vl9 zW_p_L$pMJ!vfHJe%zN#25ec)BHTm>`=K&Cn0QJuNG2OE*)ZRMeCda#$jb8u<{1rX4MUvuj{_9`kr zC4?u%fm;t4V^{iQ#Z3TV1ZO=~EEj{|FH^Q3u$SjR${yQT+pz7mXT$tW8^HPqDBJci zD~=R6wpr=%1vq4^$euieMusKIJ;q8bJh0Gb2ypf7DA;8E$X|lzxC)|F8g#Jsv;}bv zr1V3u&~{jF0AeSG(`vmY>-_@K?=e$fXtkll zz5-bW6$fMg7Evs! b?Em5qvxbdHKQ|*q00000NkvXXu0mjfw7G=$ literal 0 HcmV?d00001 diff --git a/graphics/trainers/front_pics/winstrate_m_front_pic.png b/graphics/trainers/front_pics/winstrate_m_front_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..a6dc4a18ea7aa6f86ec5bd8c86849215ac0cfc62 GIT binary patch literal 786 zcmV+t1MU2YP)Kl*?-qK^(^iO`sq$Y{*?QU5_Co={?U=qZEZfB8I(4 zC?48V37$OZ(VnEtq2v-gOb`!75Qma~AZeu#Bq>8c#ZzdPGyy{!$C=HxB-w}H+3#hS z{eJfQd+Y;%|M~~r=7011{y^`*^z{SzrmugC(mVig`o#b zyu6`l0wI@$2Ncj00Xc1Cc(>yOAY*yfprf$t5k)n(ga$20U=^(lmAm_SH4TUZl}H8MF9CX)!o96o^AH8IL$!UBvC+HiTOFp*6?%<7@3 z5Tjhm=>u?{!-kGxywn$C!wrDr4im07MM%9>``gj!PwxI+yNC~OfA5@ z1{ik?(VY4KK$xYvA!H9;0056^oe6(VP)4l+RDoU>L{W$P$;3(7Z4&T*wM1iAZ55jncI}LDYlk zNyo8p^JaT2acU(T2p7}sq9jY)GZuk_!&V#ou_Z=c-);=Lwc+B; z=g_Xt_wznK`t%t>|EJmSFW37?UQwc@n4*a6N-RP)#VCE2kW~@cHet3J0nGZsHnQ@0 zb|3b_0p1KV!Sed^mTg%i0>F6K%3l{_B#H4j2^TR-)`*oK-;QlyJbf#_-K+nwY+{o& zejBX|L;QFc;B4FGr!lXHDPeF7&xHV_DCw~z9<#-%G?wsOut=`;5L;gxl(4LzR1zmJ z9|TTX75`peOJJN5(G=@qPzrQGzfV;CIGa2ZMiII)iZM?E35asHQf+}rSsG)xcv+e` zJL_NiZRrM7T=wgbpBrV7Yx1~!zYR!!B{7gD0Kld0j?DXWt`(FAPP^_=>fhfE0p>8Ihz4}en;FXxP|(> zT15k@qq_AX)Y+M@_dW-@J=#0k%T&>kno%>gq6-y(gOR}d;&xS4-J3`Cy`ritM?%sF`J!TqTb_R72B5udI#I3-vYZ|JfyZI~xXG zf?fRyB?goUL;!Jzyv+`%CGh^h7ubjbK003fp>W3=fKT>TxQ3;&!+7h@$ hO?13*8j;~2>@U2bpOqVLkKl(9?0P!Pu7kf|V#*LD|QyQ@u|O=>oUE(XEDZV|G$ zs1N)T{14m&5uuBVTM91S4CpRhMAx*$NF)f)OKV(u7v1%SK=^)q_Z_(lWB>J+YczT& zlNTO?U|^L1pa;QiiNReCgcBMFp+i^-Op6Bi3~G8$74@2;F7adin%J2Ip6J|6p z2k=nJ^L%wOv8(t8Mrhrb7-Y_j3 zC|Yw9J)6o}@oVC1+n7aV|F8gd`_~ANMmt5e% Date: Thu, 11 Oct 2018 18:47:20 -0400 Subject: [PATCH 026/222] through sub_8111984 --- asm/quest_log.s | 101 -------------------------------------------- include/overworld.h | 1 + include/palette.h | 2 + include/save.h | 1 + src/quest_log.c | 43 ++++++++++++++++++- 5 files changed, 46 insertions(+), 102 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 82816d861..b9ac6668c 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,107 +5,6 @@ .text - thumb_func_start sub_81118F4 -sub_81118F4: @ 81118F4 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x1 - bl fade_screen - ldr r1, _0811190C @ =gUnknown_203AE8C - ldr r0, _08111910 @ =sub_8111914 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0811190C: .4byte gUnknown_203AE8C -_08111910: .4byte sub_8111914 - thumb_func_end sub_81118F4 - - thumb_func_start sub_8111914 -sub_8111914: @ 8111914 - push {lr} - ldr r0, _08111960 @ =gUnknown_2037AB8 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0811197A - bl ScriptContext2_Enable - ldr r1, _08111964 @ =gUnknown_203ADF8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bhi _08111970 - ldr r0, _08111968 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r2, [r1] - movs r1, 0xCD - lsls r1, 3 - muls r1, r2 - adds r0, r1 - movs r1, 0x98 - lsls r1, 5 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08111970 - ldr r1, _0811196C @ =gUnknown_203ADF9 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - bl sub_8111368 - b _0811197A - .align 2, 0 -_08111960: .4byte gUnknown_2037AB8 -_08111964: .4byte gUnknown_203ADF8 -_08111968: .4byte gSaveBlock1Ptr -_0811196C: .4byte gUnknown_203ADF9 -_08111970: - ldr r1, _08111980 @ =gUnknown_3005E88 - movs r0, 0 - strb r0, [r1] - bl sub_8111984 -_0811197A: - pop {r0} - bx r0 - .align 2, 0 -_08111980: .4byte gUnknown_3005E88 - thumb_func_end sub_8111914 - - thumb_func_start sub_8111984 -sub_8111984: @ 8111984 - push {lr} - bl sub_806E6FC - bl ResetSaveCounters - movs r0, 0 - bl sub_80DA4FC - ldr r0, _081119B4 @ =sub_8057430 - bl SetMainCallback2 - ldr r1, _081119B8 @ =gUnknown_3005024 - ldr r0, _081119BC @ =sub_8111F60 - str r0, [r1] - bl FreeAllWindowBuffers - ldr r1, _081119C0 @ =gUnknown_203ADFA - movs r0, 0x3 - strb r0, [r1] - ldr r1, _081119C4 @ =gUnknown_203AE8C - movs r0, 0 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_081119B4: .4byte sub_8057430 -_081119B8: .4byte gUnknown_3005024 -_081119BC: .4byte sub_8111F60 -_081119C0: .4byte gUnknown_203ADFA -_081119C4: .4byte gUnknown_203AE8C - thumb_func_end sub_8111984 - thumb_func_start sub_81119C8 sub_81119C8: @ 81119C8 push {lr} diff --git a/include/overworld.h b/include/overworld.h index ab9e114ef..ab3554137 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -75,6 +75,7 @@ void sub_8056938(void); void sub_8055D5C(struct WarpData *); void sub_80572A8(void); void sub_805726C(void); +void sub_8057430(void); extern u8 gUnknown_2031DD8; diff --git a/include/palette.h b/include/palette.h index d3bcd2271..ffdc0496d 100644 --- a/include/palette.h +++ b/include/palette.h @@ -68,4 +68,6 @@ void BeginHardwarePaletteFade(u8, u8, u8, u8, u8); void BlendPalettes(u32, u8, u16); void BlendPalettesUnfaded(u32, u8, u16); +extern struct PaletteFadeControl gUnknown_2037AB8; + #endif // GUARD_PALETTE_H diff --git a/include/save.h b/include/save.h index 3bd1ff8cf..80c2bf804 100644 --- a/include/save.h +++ b/include/save.h @@ -93,5 +93,6 @@ u16 sub_815355C(void); u32 TryCopySpecialSaveSection(u8 sector, u8* dst); u32 sub_8153634(u8 sector, u8* src); void sub_8153688(u8 taskId); +void sub_80DA4FC(u8); #endif // GUARD_SAVE_H diff --git a/src/quest_log.c b/src/quest_log.c index da918be79..b7e38ef40 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -12,11 +12,13 @@ #include "script.h" #include "overworld.h" #include "field_fadetransition.h" +#include "field_weather.h" #include "item.h" #include "wild_encounter.h" #include "help_system.h" #include "unk_8159F40.h" #include "pokemon_storage_system.h" +#include "save.h" #include "quest_log.h" u8 gUnknown_3005E88; @@ -65,6 +67,10 @@ u16 sub_8111618(void); u16 sub_811164C(void); void sub_8111688(void); void sub_811175C(u8, struct UnkStruct_203AE98 *); +void sub_81118F4(s8); +void sub_8111914(void); +void sub_8111984(void); +bool8 sub_8111F60(void); void * sub_8113D08(void *, struct UnkStruct_203AE98 *); void * sub_8113D94(void *, struct UnkStruct_203AE98 *); void * sub_8113C20(void *, struct UnkStruct_203AE98 *); @@ -80,7 +86,6 @@ void sub_8113BD8(void); void * sub_8113BF4(void *); void * sub_8113D48(void *, struct UnkStruct_203AE98 *); void * sub_8113CC8(void *, struct UnkStruct_203AE98 *); -void sub_81118F4(s8); extern const u8 gUnknown_841A155[]; @@ -883,3 +888,39 @@ void sub_811175C(u8 a0, struct UnkStruct_203AE98 * a1) break; } } + +void sub_81118F4(s8 a0) +{ + fade_screen(1, a0); + gUnknown_203AE8C = sub_8111914; +} + +void sub_8111914(void) +{ + if (!gUnknown_2037AB8.active) + { + ScriptContext2_Enable(); + if (++gUnknown_203ADF8 < 4 && gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_000) + { + gUnknown_203ADF9--; + sub_8111368(); + } + else + { + gUnknown_3005E88 = 0; + sub_8111984(); + } + } +} + +void sub_8111984(void) +{ + sub_806E6FC(); + ResetSaveCounters(); + sub_80DA4FC(0); + SetMainCallback2(sub_8057430); + gUnknown_3005024 = sub_8111F60; + FreeAllWindowBuffers(); + gUnknown_203ADFA = 3; + gUnknown_203AE8C = NULL; +} From 1125d6627eaf23d66c09bc6cc2a548bbad10c789 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 12 Oct 2018 07:59:08 -0400 Subject: [PATCH 027/222] through sub_8111A34 --- asm/quest_log.s | 141 ------------------------------------------------ src/quest_log.c | 56 +++++++++++++++++++ 2 files changed, 56 insertions(+), 141 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index b9ac6668c..553a50ace 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,147 +5,6 @@ .text - thumb_func_start sub_81119C8 -sub_81119C8: @ 81119C8 - push {lr} - bl sub_8111914 - pop {r0} - bx r0 - thumb_func_end sub_81119C8 - - thumb_func_start sub_81119D4 -sub_81119D4: @ 81119D4 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _081119E8 @ =gUnknown_203ADFA - ldrb r0, [r0] - cmp r0, 0x1 - beq _081119EC - cmp r0, 0x2 - beq _081119F2 - b _08111A2C - .align 2, 0 -_081119E8: .4byte gUnknown_203ADFA -_081119EC: - bl sub_8112364 - b _08111A2C -_081119F2: - ldr r1, _08111A20 @ =gUnknown_3005E88 - movs r0, 0x3 - strb r0, [r1] - ldr r0, _08111A24 @ =sub_8111A34 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08111A28 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r2, [r1, 0xA] - movs r1, 0xE - adds r2, r4, 0 - bl SetWordTaskArg - movs r0, 0x1 - b _08111A2E - .align 2, 0 -_08111A20: .4byte gUnknown_3005E88 -_08111A24: .4byte sub_8111A34 -_08111A28: .4byte gTasks -_08111A2C: - movs r0, 0 -_08111A2E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81119D4 - - thumb_func_start sub_8111A34 -sub_8111A34: @ 8111A34 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08111A54 @ =gTasks+0x8 - adds r4, r0, r1 - movs r0, 0x2 - ldrsh r1, [r4, r0] - cmp r1, 0 - beq _08111A58 - cmp r1, 0x1 - beq _08111A90 - b _08111AC0 - .align 2, 0 -_08111A54: .4byte gTasks+0x8 -_08111A58: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7F - bne _08111AC0 - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r2, _08111A8C @ =gUnknown_203AE94 - ldrb r1, [r2] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - b _08111AC0 - .align 2, 0 -_08111A8C: .4byte gUnknown_203AE94 -_08111A90: - ldr r0, _08111AC8 @ =gUnknown_2037AB8 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _08111AC0 - ldr r0, _08111ACC @ =gUnknown_3005E88 - strb r1, [r0] - adds r0, r5, 0 - movs r1, 0xE - bl GetWordTaskArg - cmp r0, 0 - beq _08111AB4 - bl _call_via_r0 -_08111AB4: - adds r0, r5, 0 - bl DestroyTask - ldr r1, _08111AD0 @ =gUnknown_203AE8C - ldr r0, _08111AD4 @ =sub_8111914 - str r0, [r1] -_08111AC0: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08111AC8: .4byte gUnknown_2037AB8 -_08111ACC: .4byte gUnknown_3005E88 -_08111AD0: .4byte gUnknown_203AE8C -_08111AD4: .4byte sub_8111914 - thumb_func_end sub_8111A34 - thumb_func_start sub_8111AD8 sub_8111AD8: @ 8111AD8 push {r4,r5,lr} diff --git a/src/quest_log.c b/src/quest_log.c index b7e38ef40..c50771491 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -70,6 +70,8 @@ void sub_811175C(u8, struct UnkStruct_203AE98 *); void sub_81118F4(s8); void sub_8111914(void); void sub_8111984(void); +void sub_8112364(void); +void sub_8111A34(u8); bool8 sub_8111F60(void); void * sub_8113D08(void *, struct UnkStruct_203AE98 *); void * sub_8113D94(void *, struct UnkStruct_203AE98 *); @@ -924,3 +926,57 @@ void sub_8111984(void) gUnknown_203ADFA = 3; gUnknown_203AE8C = NULL; } + +void sub_81119C8(void) +{ + sub_8111914(); +} + +bool8 sub_81119D4(void (*a0)(void)) +{ + u8 taskId; + + switch (gUnknown_203ADFA) + { + case 1: + sub_8112364(); + break; + case 2: + gUnknown_3005E88 = 3; + taskId = CreateTask(sub_8111A34, 80); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = 0; + SetWordTaskArg(taskId, 14, (u32)a0); + return TRUE; + } + return FALSE; +} + +void sub_8111A34(u8 taskId) +{ + void (*routine)(void); + s16 * data = gTasks[taskId].data; + + switch (data[1]) + { + case 0: + if (++data[0] == 0x7F) + { + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + gUnknown_203AE94.unk_0_6 = 2; + data[1]++; + } + break; + case 1: + if (!gUnknown_2037AB8.active) + { + gUnknown_3005E88 = 0; + routine = (void (*)(void)) GetWordTaskArg(taskId, 14); + if (routine != NULL) + routine(); + DestroyTask(taskId); + gUnknown_203AE8C = sub_8111914; + } + break; + } +} From 6b0f3451b89dddbb05279281d598ccda65824c9b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 12 Oct 2018 08:47:12 -0400 Subject: [PATCH 028/222] sub_8111AD8 --- asm/quest_log.s | 83 ------------------------------------------------- src/quest_log.c | 56 +++++++++++++++++++++++++++------ 2 files changed, 46 insertions(+), 93 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 553a50ace..e779da3f6 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,89 +5,6 @@ .text - thumb_func_start sub_8111AD8 -sub_8111AD8: @ 8111AD8 - push {r4,r5,lr} - ldr r4, _08111B58 @ =gUnknown_203AE94 - ldrb r1, [r4] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x1 - bne _08111B0A - ldrb r0, [r4, 0x2] - subs r0, 0x1 - strb r0, [r4, 0x2] - lsls r0, 24 - cmp r0, 0 - bne _08111B78 - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x31 - negs r1, r1 - ands r0, r1 - movs r1, 0x10 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x2 - bl sub_8112888 -_08111B0A: - ldrb r1, [r4] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0x10 - bne _08111B34 - ldrb r0, [r4, 0x3] - adds r0, 0x1 - strb r0, [r4, 0x3] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xF - bls _08111B34 - bl sub_8111E20 - ldrb r0, [r4] - movs r1, 0x31 - negs r1, r1 - ands r1, r0 - strb r1, [r4] - movs r0, 0 - strb r0, [r4, 0x3] -_08111B34: - ldr r4, _08111B58 @ =gUnknown_203AE94 - ldrb r0, [r4, 0x1] - cmp r0, 0x1F - bhi _08111B78 - ldr r5, _08111B5C @ =gUnknown_203AE0C - lsls r0, 2 - adds r0, r5 - ldr r0, [r0] - bl sub_8113B44 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08111B60 - bl sub_8111B80 - b _08111B78 - .align 2, 0 -_08111B58: .4byte gUnknown_203AE94 -_08111B5C: .4byte gUnknown_203AE0C -_08111B60: - ldrb r0, [r4, 0x1] - lsls r0, 2 - adds r0, r5 - ldr r0, [r0] - bl sub_8113AE8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08111B78 - bl sub_8111B80 -_08111B78: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8111AD8 - thumb_func_start sub_8111B80 sub_8111B80: @ 8111B80 push {r4,lr} diff --git a/src/quest_log.c b/src/quest_log.c index c50771491..d1d0d341e 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -29,6 +29,8 @@ struct UnkStruct_203AE94 u8 unk_0_4:2; u8 unk_0_6:2; u8 unk_1; + u8 unk_2; + u8 unk_3; }; struct UnkStruct_203AE98 @@ -70,24 +72,29 @@ void sub_811175C(u8, struct UnkStruct_203AE98 *); void sub_81118F4(s8); void sub_8111914(void); void sub_8111984(void); -void sub_8112364(void); void sub_8111A34(u8); -bool8 sub_8111F60(void); -void * sub_8113D08(void *, struct UnkStruct_203AE98 *); -void * sub_8113D94(void *, struct UnkStruct_203AE98 *); -void * sub_8113C20(void *, struct UnkStruct_203AE98 *); -void * sub_8113C8C(void *, struct UnkStruct_203AE98 *); -void * sub_8113A78(void *, void **); -void sub_8113ABC(void *); -void sub_81138F8(void); void sub_8111AD8(void); +void sub_8111B80(void); +void sub_8111E20(void); +bool8 sub_8111F60(void); +void sub_8112364(void); +void sub_8112888(u8); void sub_8112940(u8, struct UnkStruct_203AE98 *, u16); void sub_811381C(void); +void sub_81138F8(void); +void * sub_8113A78(void *, void **); +void sub_8113ABC(void *); +bool8 sub_8113AE8(void *); +bool8 sub_8113B44(void *); void sub_8113B88(void); void sub_8113BD8(void); void * sub_8113BF4(void *); -void * sub_8113D48(void *, struct UnkStruct_203AE98 *); +void * sub_8113C20(void *, struct UnkStruct_203AE98 *); +void * sub_8113C8C(void *, struct UnkStruct_203AE98 *); void * sub_8113CC8(void *, struct UnkStruct_203AE98 *); +void * sub_8113D08(void *, struct UnkStruct_203AE98 *); +void * sub_8113D48(void *, struct UnkStruct_203AE98 *); +void * sub_8113D94(void *, struct UnkStruct_203AE98 *); extern const u8 gUnknown_841A155[]; @@ -980,3 +987,32 @@ void sub_8111A34(u8 taskId) break; } } + +void sub_8111AD8(void) +{ + if (gUnknown_203AE94.unk_0_0 == 1) + { + if (--gUnknown_203AE94.unk_2 != 0) + return; + gUnknown_203AE94.unk_0_0 = 0; + gUnknown_203AE94.unk_0_4 = 1; + sub_8112888(2); + } + + if (gUnknown_203AE94.unk_0_4 == 1) + { + if (++gUnknown_203AE94.unk_3 > 15) + { + sub_8111E20(); + gUnknown_203AE94.unk_0_4 = 0; + gUnknown_203AE94.unk_3 = 0; + } + } + if (gUnknown_203AE94.unk_1 < 32) + { + if (sub_8113B44(gUnknown_203AE0C[gUnknown_203AE94.unk_1]) == 1) + sub_8111B80(); + else if (sub_8113AE8(gUnknown_203AE0C[gUnknown_203AE94.unk_1]) == 1) + sub_8111B80(); + } +} From cd3594802cd6ca1d460d89d3e2a007192c1d7bfa Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 12 Oct 2018 09:48:04 -0400 Subject: [PATCH 029/222] through sub_8111CF0 --- asm/quest_log.s | 223 ------------------------------------------------ src/quest_log.c | 83 ++++++++++++++++++ 2 files changed, 83 insertions(+), 223 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index e779da3f6..bed681f5b 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,229 +5,6 @@ .text - thumb_func_start sub_8111B80 -sub_8111B80: @ 8111B80 - push {r4,lr} - ldr r4, _08111BCC @ =gUnknown_203AE94 - ldrb r1, [r4] - movs r2, 0xF - ands r2, r1 - cmp r2, 0 - bne _08111BC0 - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - movs r1, 0x31 - negs r1, r1 - ands r0, r1 - strb r0, [r4] - strb r2, [r4, 0x3] - bl sub_8111BD4 - strb r0, [r4, 0x2] - ldr r0, _08111BD0 @ =gUnknown_203B044 - ldrh r0, [r0, 0x2] - cmp r0, 0 - bne _08111BB6 - ldrb r0, [r4, 0x1] - adds r0, 0x1 - strb r0, [r4, 0x1] -_08111BB6: - ldrb r0, [r4, 0x1] - cmp r0, 0x20 - bhi _08111BC6 - bl sub_8111D10 -_08111BC0: - movs r0, 0x1 - bl sub_8112888 -_08111BC6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08111BCC: .4byte gUnknown_203AE94 -_08111BD0: .4byte gUnknown_203B044 - thumb_func_end sub_8111B80 - - thumb_func_start sub_8111BD4 -sub_8111BD4: @ 8111BD4 - push {r4,lr} - movs r2, 0 - movs r1, 0 - ldr r3, _08111C0C @ =gStringVar4 - ldrb r0, [r3] - cmp r0, 0xFF - beq _08111C04 - ldr r4, _08111C10 @ =0x000003ff -_08111BE4: - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0xFE - beq _08111BF2 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 -_08111BF2: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r4 - bhi _08111C04 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08111BE4 -_08111C04: - cmp r2, 0x13 - bhi _08111C14 - movs r0, 0x5F - b _08111C26 - .align 2, 0 -_08111C0C: .4byte gStringVar4 -_08111C10: .4byte 0x000003ff -_08111C14: - cmp r2, 0x23 - bhi _08111C1C - movs r0, 0x7F - b _08111C26 -_08111C1C: - cmp r2, 0x2D - bls _08111C24 - movs r0, 0xFF - b _08111C26 -_08111C24: - movs r0, 0xBF -_08111C26: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8111BD4 - - thumb_func_start sub_8111C2C -sub_8111C2C: @ 8111C2C - push {lr} - ldr r0, _08111C54 @ =gUnknown_203ADFA - ldrb r0, [r0] - cmp r0, 0x2 - bne _08111C60 - ldr r0, _08111C58 @ =gUnknown_3005E88 - ldrb r0, [r0] - cmp r0, 0 - beq _08111C4E - ldr r0, _08111C5C @ =gUnknown_203AE94 - ldrb r0, [r0] - movs r1, 0xF - ands r1, r0 - cmp r1, 0x1 - beq _08111C4E - cmp r1, 0x2 - bne _08111C60 -_08111C4E: - movs r0, 0x1 - b _08111C62 - .align 2, 0 -_08111C54: .4byte gUnknown_203ADFA -_08111C58: .4byte gUnknown_3005E88 -_08111C5C: .4byte gUnknown_203AE94 -_08111C60: - movs r0, 0 -_08111C62: - pop {r1} - bx r1 - thumb_func_end sub_8111C2C - - thumb_func_start sub_8111C68 -sub_8111C68: @ 8111C68 - push {r4,r5,lr} - ldr r5, _08111C9C @ =gUnknown_203AE94 - ldrb r2, [r5] - movs r4, 0xC0 - ands r4, r2 - cmp r4, 0 - bne _08111CC6 - ldr r0, _08111CA0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r3, 0x1 - ands r3, r1 - cmp r3, 0 - beq _08111CA8 - movs r0, 0x3F - ands r0, r2 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r5] - ldr r0, _08111CA4 @ =gUnknown_3005E88 - strb r4, [r0] - movs r0, 0x3 - negs r0, r0 - bl sub_81118F4 - b _08111CC6 - .align 2, 0 -_08111C9C: .4byte gUnknown_203AE94 -_08111CA0: .4byte gMain -_08111CA4: .4byte gUnknown_3005E88 -_08111CA8: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08111CC6 - movs r0, 0x3F - ands r0, r2 - movs r1, 0x40 - orrs r0, r1 - strb r0, [r5] - ldr r0, _08111CCC @ =gUnknown_3005E88 - strb r3, [r0] - movs r0, 0x3 - negs r0, r0 - bl sub_8111E64 -_08111CC6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08111CCC: .4byte gUnknown_3005E88 - thumb_func_end sub_8111C68 - - thumb_func_start sub_8111CD0 -sub_8111CD0: @ 8111CD0 - push {lr} - ldr r0, _08111CE4 @ =gUnknown_203AE94 - ldrb r1, [r0] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0 - bne _08111CE8 - movs r0, 0 - b _08111CEA - .align 2, 0 -_08111CE4: .4byte gUnknown_203AE94 -_08111CE8: - movs r0, 0x1 -_08111CEA: - pop {r1} - bx r1 - thumb_func_end sub_8111CD0 - - thumb_func_start sub_8111CF0 -sub_8111CF0: @ 8111CF0 - push {lr} - ldr r0, _08111D08 @ =gUnknown_203ADFA - ldrb r0, [r0] - cmp r0, 0x2 - bne _08111D02 - ldr r0, _08111D0C @ =gUnknown_203ADF9 - ldrb r0, [r0] - bl sub_8111070 -_08111D02: - pop {r0} - bx r0 - .align 2, 0 -_08111D08: .4byte gUnknown_203ADFA -_08111D0C: .4byte gUnknown_203ADF9 - thumb_func_end sub_8111CF0 - thumb_func_start sub_8111D10 sub_8111D10: @ 8111D10 push {r4,r5,lr} diff --git a/src/quest_log.c b/src/quest_log.c index d1d0d341e..8131d0573 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -52,6 +52,8 @@ EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0}; EWRAM_DATA struct UnkStruct_203AE98 gUnknown_203AE98[32] = {0}; EWRAM_DATA u16 gUnknown_203AF98 = 0; +EWRAM_DATA u16 gUnknown_203B044[2] = {0}; + void sub_8110A00(void); void sub_8110A3C(void); void sub_8110BB0(u8); @@ -75,7 +77,10 @@ void sub_8111984(void); void sub_8111A34(u8); void sub_8111AD8(void); void sub_8111B80(void); +u8 sub_8111BD4(void); +void sub_8111D10(void); void sub_8111E20(void); +void sub_8111E64(s8); bool8 sub_8111F60(void); void sub_8112364(void); void sub_8112888(u8); @@ -1016,3 +1021,81 @@ void sub_8111AD8(void) sub_8111B80(); } } + +void sub_8111B80(void) +{ + if (gUnknown_203AE94.unk_0_0 == 0) + { + gUnknown_203AE94.unk_0_0 = 1; + gUnknown_203AE94.unk_0_4 = 0; + gUnknown_203AE94.unk_3 = 0; + gUnknown_203AE94.unk_2 = sub_8111BD4(); + if (gUnknown_203B044[1] == 0) + gUnknown_203AE94.unk_1++; + if (gUnknown_203AE94.unk_1 > 32) + return; + sub_8111D10(); + } + sub_8112888(1); +} + +u8 sub_8111BD4(void) +{ + u16 i; + u16 count = 0; + + for (i = 0; i < 0x400 && gStringVar4[i] != EOS; i++) + { + if (gStringVar4[i] != CHAR_NEWLINE) + count++; + } + + if (count < 20) + return 0x5F; + if (count < 36) + return 0x7F; + if (count < 46) + return 0xBF; + return 0xFF; +} + +bool8 sub_8111C2C(void) +{ + if (gUnknown_203ADFA != 2) + return FALSE; + if (gUnknown_3005E88 == 0 || gUnknown_203AE94.unk_0_0 == 1 || gUnknown_203AE94.unk_0_0 == 2) + return TRUE; + return FALSE; +} + +void sub_8111C68(void) +{ + if (gUnknown_203AE94.unk_0_6 == 0) + { + if (gMain.newKeys & A_BUTTON) + { + gUnknown_203AE94.unk_0_6 = 2; + gUnknown_3005E88 = 0; + sub_81118F4(-3); + } + else if (gMain.newKeys & B_BUTTON) + { + gUnknown_203AE94.unk_0_6 = 1; + gUnknown_3005E88 = 0; + sub_8111E64(-3); + } + } +} + +bool8 sub_8111CD0(void) +{ + if (gUnknown_203AE94.unk_0_6 != 0) + return TRUE; + return FALSE; +} + +void sub_8111CF0(void) +{ + if (gUnknown_203ADFA == 2) + sub_8111070(gUnknown_203ADF9); +} From 714d387cbd8e3a9a9e5b522eed42c8132d41e0b0 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 12 Oct 2018 10:09:38 -0400 Subject: [PATCH 030/222] through sub_8111D90 --- asm/quest_log.s | 140 ------------------------------ data/graphics/unknown_8456638.bin | Bin 0 -> 96 bytes data/quest_log.s | 6 -- src/quest_log.c | 59 +++++++++++++ 4 files changed, 59 insertions(+), 146 deletions(-) create mode 100644 data/graphics/unknown_8456638.bin diff --git a/asm/quest_log.s b/asm/quest_log.s index bed681f5b..fd78239ff 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,146 +5,6 @@ .text - thumb_func_start sub_8111D10 -sub_8111D10: @ 8111D10 - push {r4,r5,lr} - sub sp, 0x14 - movs r4, 0 - movs r1, 0 - ldr r2, _08111D80 @ =gStringVar4 - ldrb r0, [r2] - ldr r5, _08111D84 @ =gUnknown_203ADFE - cmp r0, 0xFF - beq _08111D42 -_08111D22: - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0xFE - bne _08111D30 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_08111D30: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0xFF - bhi _08111D42 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08111D22 -_08111D42: - ldrb r0, [r5, 0x2] - bl PutWindowTilemap - ldrb r0, [r5, 0x2] - bl sub_8111D90 - ldrb r0, [r5, 0x2] - ldr r1, _08111D88 @ =gUnknown_8456698 - adds r1, r4, r1 - ldrb r3, [r1] - movs r1, 0x1 - str r1, [sp] - movs r2, 0 - str r2, [sp, 0x4] - ldr r1, _08111D8C @ =gUnknown_8456634 - str r1, [sp, 0x8] - str r2, [sp, 0xC] - ldr r1, _08111D80 @ =gStringVar4 - str r1, [sp, 0x10] - movs r1, 0x2 - movs r2, 0x2 - bl AddTextPrinterParametrized2 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08111D80: .4byte gStringVar4 -_08111D84: .4byte gUnknown_203ADFE -_08111D88: .4byte gUnknown_8456698 -_08111D8C: .4byte gUnknown_8456634 - thumb_func_end sub_8111D10 - - thumb_func_start sub_8111D90 -sub_8111D90: @ 8111D90 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r0, _08111DC0 @ =gUnknown_8456638 - mov r9, r0 - movs r0, 0xB4 - lsls r0, 5 - bl Alloc - mov r8, r0 - cmp r0, 0 - beq _08111E0C - movs r1, 0 -_08111DB4: - cmp r1, 0 - beq _08111DC4 - cmp r1, 0x5 - beq _08111DC8 - movs r0, 0x1 - b _08111DCA - .align 2, 0 -_08111DC0: .4byte gUnknown_8456638 -_08111DC4: - movs r0, 0 - b _08111DCA -_08111DC8: - movs r0, 0x2 -_08111DCA: - movs r4, 0 - lsls r6, r0, 5 - lsls r0, r1, 4 - adds r7, r1, 0x1 - subs r0, r1 - lsls r5, r0, 1 -_08111DD6: - adds r1, r5, r4 - lsls r1, 5 - add r1, r8 - mov r2, r9 - adds r0, r2, r6 - ldr r2, _08111E1C @ =0x04000008 - bl CpuSet - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1D - bls _08111DD6 - lsls r0, r7, 24 - lsrs r1, r0, 24 - cmp r1, 0x5 - bls _08111DB4 - movs r2, 0xB4 - lsls r2, 5 - mov r0, r10 - mov r1, r8 - movs r3, 0 - bl CopyToWindowPixelBuffer - mov r0, r8 - bl Free -_08111E0C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08111E1C: .4byte 0x04000008 - thumb_func_end sub_8111D90 - thumb_func_start sub_8111E20 sub_8111E20: @ 8111E20 push {r4,lr} diff --git a/data/graphics/unknown_8456638.bin b/data/graphics/unknown_8456638.bin new file mode 100644 index 0000000000000000000000000000000000000000..53ea8cfb8fdce8418a1f51866ab95f9c26ce62d4 GIT binary patch literal 96 WcmdnJd-v`$K=7Z+0Awc6=-mKn(_85P literal 0 HcmV?d00001 diff --git a/data/quest_log.s b/data/quest_log.s index c2e776414..c7956f82d 100644 --- a/data/quest_log.s +++ b/data/quest_log.s @@ -1,12 +1,6 @@ .section .rodata .align 2, 0 -gUnknown_8456638:: @ 8456638 - .incbin "baserom.gba", 0x456638, 0x60 - -gUnknown_8456698:: @ 8456698 - .incbin "baserom.gba", 0x456698, 0x4 - gUnknown_845669C:: @ 845669C .incbin "baserom.gba", 0x45669C, 0x8 diff --git a/src/quest_log.c b/src/quest_log.c index 8131d0573..4cf7e6c95 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -79,6 +79,7 @@ void sub_8111AD8(void); void sub_8111B80(void); u8 sub_8111BD4(void); void sub_8111D10(void); +void sub_8111D90(u8); void sub_8111E20(void); void sub_8111E64(s8); bool8 sub_8111F60(void); @@ -111,6 +112,10 @@ const struct WindowTemplate gUnknown_845661C[3] = { const struct TextColor gUnknown_8456634 = {15, 1, 12}; +const u16 gUnknown_8456638[] = INCBIN_U16("data/graphics/unknown_8456638.bin"); + +const u8 gUnknown_8456698[] = {17, 10, 3}; + void sub_8110840(void * a0) { size_t r1 = (void *)gSaveBlock1Ptr - a0; @@ -1099,3 +1104,57 @@ void sub_8111CF0(void) if (gUnknown_203ADFA == 2) sub_8111070(gUnknown_203ADF9); } + +void sub_8111D10(void) +{ + u16 i; + u8 count = 0; + + for (i = 0; i < 0x100 && gStringVar4[i] != EOS; i++) + { + if (gStringVar4[i] == CHAR_NEWLINE) + count++; + } + + PutWindowTilemap(gUnknown_203ADFE[2]); + sub_8111D90(gUnknown_203ADFE[2]); + AddTextPrinterParametrized2(gUnknown_203ADFE[2], 2, 2, gUnknown_8456698[count], 1, 0, &gUnknown_8456634, 0, gStringVar4); + schedule_bg_copy_tilemap_to_vram(0); +} + +void sub_8111D90(u8 a0) +{ + const u16 * src = gUnknown_8456638; + u16 * buffer = Alloc(0x1680); + u8 i, j, y; + + if (buffer) + { + for (i = 0; i < 6; i++) + { + switch (i) + { + default: + y = 1; + break; + case 0: + y = 0; + break; + case 5: + y = 2; + break; + } + + // r6 = y * 32 + // r5 = 2 * (i % 16) + // r4 = j + for (j = 0; j < 30; j++) + { + CpuCopy32(src + 16 * y, buffer + 16 * (2 * (15 * i) + j), 32); + } + } + + CopyToWindowPixelBuffer(a0, (const u8 *)buffer, 0x1680, 0); + Free(buffer); + } +} From 9377dc23e2dcb8a293d8c0d1193c4d708045e08d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 12 Oct 2018 12:18:17 -0400 Subject: [PATCH 031/222] through sub_8111F8C --- asm/battle_2.s | 16 +- asm/battle_anim.s | 4 +- asm/battle_anim_80A22E8.s | 48 ++--- asm/battle_anim_80EEC0C.s | 12 +- asm/battle_controller_oak.s | 68 +++---- asm/battle_controller_player.s | 20 +- asm/battle_controller_pokedude.s | 52 ++--- asm/battle_controller_safari.s | 12 +- asm/battle_records.s | 8 +- asm/battle_script_commands.s | 28 +-- asm/battle_transition.s | 16 +- asm/berry_pouch.s | 12 +- asm/cable_club.s | 16 +- asm/clear_save_data_screen.s | 8 +- asm/credits.s | 36 ++-- asm/diploma.s | 8 +- asm/egg_hatch.s | 16 +- asm/evolution_graphics.s | 4 +- asm/evolution_scene.s | 48 ++--- asm/fame_checker.s | 8 +- asm/field_effect.s | 36 ++-- asm/field_fadetransition.s | 4 +- asm/field_specials.s | 8 +- asm/field_weather.s | 8 +- asm/fldeff_sweetscent.s | 8 +- asm/hall_of_fame.s | 8 +- asm/hof_pc.s | 8 +- asm/intro.s | 16 +- asm/item_menu.s | 44 ++--- asm/item_pc.s | 12 +- asm/item_use.s | 20 +- asm/learn_move.s | 20 +- asm/link_rfu.s | 4 +- asm/link_rfu_3.s | 8 +- asm/mail.s | 8 +- asm/main_menu.s | 32 +-- asm/mevent_8145654.s | 16 +- asm/naming_screen.s | 8 +- asm/oak_speech.s | 52 ++--- asm/option_menu.s | 4 +- asm/overworld.s | 28 +-- asm/palette.s | 100 +++++----- asm/party_menu.s | 92 ++++----- asm/player_pc.s | 20 +- asm/pokedex_screen.s | 28 +-- asm/pokemon_special_anim.s | 28 +-- asm/pokemon_storage_system.s | 4 +- asm/pokemon_summary_screen.s | 16 +- asm/quest_log.s | 219 +-------------------- asm/region_map.s | 20 +- asm/reshow_battle_screen.s | 8 +- asm/roulette_util.s | 4 +- asm/scrcmd.s | 4 +- asm/script_menu.s | 4 +- asm/script_pokemon_util_80BF8FC.s | 4 +- asm/seagallop.s | 4 +- asm/shop.s | 12 +- asm/slot_machine.s | 8 +- asm/start_menu.s | 28 +-- asm/teachy_tv.s | 12 +- asm/title_screen.s | 34 ++-- asm/tm_case.s | 24 +-- asm/trade.s | 128 ++++++------ asm/union_room_chat.s | 8 +- asm/unk_8147AA8.s | 8 +- asm/unk_814BB4C.s | 4 +- asm/unk_814D5C8.s | 8 +- asm/unk_81507FC.s | 12 +- asm/wireless_communication_status_screen.s | 8 +- include/field_player_avatar.h | 2 + include/map_obj_80688E4.h | 6 + include/palette.h | 2 +- src/bg.c | 13 +- src/quest_log.c | 77 +++++++- sym_ewram.txt | 2 +- 75 files changed, 806 insertions(+), 937 deletions(-) create mode 100644 include/map_obj_80688E4.h diff --git a/asm/battle_2.s b/asm/battle_2.s index 086603fe1..92cbd66b4 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -1620,7 +1620,7 @@ _08010AF0: .4byte gMain _08010AF4: .4byte gBattleTypeFlags _08010AF8: .4byte sub_80109C8 _08010AFC: - ldr r0, _08010B1C @ =gUnknown_2037AB8 + ldr r0, _08010B1C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1635,7 +1635,7 @@ _08010AFC: bl sub_800AB9C b _08010B82 .align 2, 0 -_08010B1C: .4byte gUnknown_2037AB8 +_08010B1C: .4byte gPaletteFade _08010B20: .4byte gUnknown_3003F3C _08010B24: bl sub_800AAC0 @@ -2439,7 +2439,7 @@ _080111B8: .4byte 0x00000439 CB2_QuitRecordedBattle: @ 80111BC push {lr} bl UpdatePaletteFade - ldr r0, _080111E4 @ =gUnknown_2037AB8 + ldr r0, _080111E4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2454,7 +2454,7 @@ _080111DE: pop {r0} bx r0 .align 2, 0 -_080111E4: .4byte gUnknown_2037AB8 +_080111E4: .4byte gPaletteFade _080111E8: .4byte gMain thumb_func_end CB2_QuitRecordedBattle @@ -3726,7 +3726,7 @@ _08011C08: strb r0, [r4] b _08011C34 _08011C10: - ldr r0, _08011C3C @ =gUnknown_2037AB8 + ldr r0, _08011C3C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -3745,7 +3745,7 @@ _08011C34: pop {r0} bx r0 .align 2, 0 -_08011C3C: .4byte gUnknown_2037AB8 +_08011C3C: .4byte gPaletteFade _08011C40: .4byte gMain thumb_func_end sub_8011BB0 @@ -11485,7 +11485,7 @@ _08015A2C: .4byte gUnknown_2023D74 thumb_func_start sub_8015A30 sub_8015A30: @ 8015A30 push {lr} - ldr r0, _08015A58 @ =gUnknown_2037AB8 + ldr r0, _08015A58 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -11505,7 +11505,7 @@ _08015A52: ldr r0, _08015A68 @ =ReturnFromBattleToOverworld b _08015A70 .align 2, 0 -_08015A58: .4byte gUnknown_2037AB8 +_08015A58: .4byte gPaletteFade _08015A5C: .4byte gUnknown_3004FD4 _08015A60: .4byte gUnknown_2023E8A _08015A64: .4byte gUnknown_3004F84 diff --git a/asm/battle_anim.s b/asm/battle_anim.s index c258fa7b1..f15200700 100644 --- a/asm/battle_anim.s +++ b/asm/battle_anim.s @@ -2536,7 +2536,7 @@ sub_8073850: @ 8073850 .align 2, 0 _08073884: .4byte gTasks _08073888: - ldr r2, _080738A4 @ =gUnknown_2037AB8 + ldr r2, _080738A4 @ =gPaletteFade ldrb r1, [r2, 0x7] movs r0, 0x80 ands r0, r1 @@ -2551,7 +2551,7 @@ _08073888: strb r0, [r1] b _080738F0 .align 2, 0 -_080738A4: .4byte gUnknown_2037AB8 +_080738A4: .4byte gPaletteFade _080738A8: .4byte gUnknown_2037F17 _080738AC: cmp r3, 0x2 diff --git a/asm/battle_anim_80A22E8.s b/asm/battle_anim_80A22E8.s index 90b0c8c86..e38fc6501 100644 --- a/asm/battle_anim_80A22E8.s +++ b/asm/battle_anim_80A22E8.s @@ -8218,7 +8218,7 @@ _080A6178: _080A618C: .4byte 0x00007fbb _080A6190: .4byte gUnknown_20375F8 _080A6194: - ldr r0, _080A61DC @ =gUnknown_2037AB8 + ldr r0, _080A61DC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -8257,7 +8257,7 @@ _080A61CA: strh r0, [r4, 0xA] b _080A6214 .align 2, 0 -_080A61DC: .4byte gUnknown_2037AB8 +_080A61DC: .4byte gPaletteFade _080A61E0: .4byte gSprites _080A61E4: .4byte gUnknown_83E3734 _080A61E8: .4byte gUnknown_83E3764 @@ -8288,7 +8288,7 @@ _080A6214: .align 2, 0 _080A621C: .4byte 0x00007fbb _080A6220: - ldr r0, _080A6240 @ =gUnknown_2037AB8 + ldr r0, _080A6240 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -8304,7 +8304,7 @@ _080A6232: pop {r0} bx r0 .align 2, 0 -_080A6240: .4byte gUnknown_2037AB8 +_080A6240: .4byte gPaletteFade thumb_func_end sub_80A60A8 thumb_func_start sub_80A6244 @@ -41851,7 +41851,7 @@ sub_80B65F0: @ 80B65F0 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r0, _080B663C @ =gUnknown_2037AB8 + ldr r0, _080B663C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -41883,7 +41883,7 @@ _080B6636: pop {r0} bx r0 .align 2, 0 -_080B663C: .4byte gUnknown_2037AB8 +_080B663C: .4byte gPaletteFade _080B6640: .4byte gUnknown_2022984 _080B6644: .4byte gUnknown_2022986 _080B6648: .4byte 0x00003f3f @@ -48522,7 +48522,7 @@ sub_80B9A14: @ 80B9A14 sub_80B9A5C: @ 80B9A5C push {lr} adds r2, r0, 0 - ldr r0, _080B9A78 @ =gUnknown_2037AB8 + ldr r0, _080B9A78 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -48534,7 +48534,7 @@ _080B9A72: pop {r0} bx r0 .align 2, 0 -_080B9A78: .4byte gUnknown_2037AB8 +_080B9A78: .4byte gPaletteFade thumb_func_end sub_80B9A5C thumb_func_start sub_80B9A7C @@ -48592,7 +48592,7 @@ sub_80B9AD0: @ 80B9AD0 strh r0, [r4, 0x2E] b _080B9B54 _080B9AE4: - ldr r0, _080B9B00 @ =gUnknown_2037AB8 + ldr r0, _080B9B00 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -48606,7 +48606,7 @@ _080B9AE4: str r0, [r4, 0x1C] b _080B9B54 .align 2, 0 -_080B9B00: .4byte gUnknown_2037AB8 +_080B9B00: .4byte gPaletteFade _080B9B04: .4byte sub_80B9B5C _080B9B08: movs r2, 0x3C @@ -48656,7 +48656,7 @@ _080B9B54: sub_80B9B5C: @ 80B9B5C push {r4,lr} adds r4, r0, 0 - ldr r0, _080B9B88 @ =gUnknown_2037AB8 + ldr r0, _080B9B88 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -48675,7 +48675,7 @@ _080B9B82: pop {r0} bx r0 .align 2, 0 -_080B9B88: .4byte gUnknown_2037AB8 +_080B9B88: .4byte gPaletteFade thumb_func_end sub_80B9B5C thumb_func_start sub_80B9B8C @@ -48806,7 +48806,7 @@ sub_80B9C7C: @ 80B9C7C lsls r0, 24 lsrs r3, r0, 24 adds r4, r3, 0 - ldr r0, _080B9CB4 @ =gUnknown_2037AB8 + ldr r0, _080B9CB4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -48831,7 +48831,7 @@ sub_80B9C7C: @ 80B9C7C ldrb r2, [r3, 0x10] b _080B9CC0 .align 2, 0 -_080B9CB4: .4byte gUnknown_2037AB8 +_080B9CB4: .4byte gPaletteFade _080B9CB8: .4byte gTasks _080B9CBC: ldrb r1, [r3, 0x10] @@ -49001,7 +49001,7 @@ sub_80B9DF0: @ 80B9DF0 lsls r0, 24 lsrs r3, r0, 24 adds r4, r3, 0 - ldr r0, _080B9E28 @ =gUnknown_2037AB8 + ldr r0, _080B9E28 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -49026,7 +49026,7 @@ sub_80B9DF0: @ 80B9DF0 ldrb r2, [r3, 0x10] b _080B9E34 .align 2, 0 -_080B9E28: .4byte gUnknown_2037AB8 +_080B9E28: .4byte gPaletteFade _080B9E2C: .4byte gTasks _080B9E30: ldrb r1, [r3, 0x10] @@ -49146,7 +49146,7 @@ sub_80B9F04: @ 80B9F04 lsls r0, 24 lsrs r3, r0, 24 adds r4, r3, 0 - ldr r0, _080B9F3C @ =gUnknown_2037AB8 + ldr r0, _080B9F3C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -49171,7 +49171,7 @@ sub_80B9F04: @ 80B9F04 ldrb r2, [r3, 0x10] b _080B9F48 .align 2, 0 -_080B9F3C: .4byte gUnknown_2037AB8 +_080B9F3C: .4byte gPaletteFade _080B9F40: .4byte gTasks _080B9F44: ldrb r1, [r3, 0x10] @@ -49274,7 +49274,7 @@ sub_80B9FD8: @ 80B9FD8 .align 2, 0 _080B9FFC: .4byte gTasks _080BA000: - ldr r0, _080BA01C @ =gUnknown_2037AB8 + ldr r0, _080BA01C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -49288,7 +49288,7 @@ _080BA000: str r0, [r4] b _080BA084 .align 2, 0 -_080BA01C: .4byte gUnknown_2037AB8 +_080BA01C: .4byte gPaletteFade _080BA020: .4byte sub_80BA090 _080BA024: ldrh r0, [r4, 0x16] @@ -49353,7 +49353,7 @@ sub_80BA090: @ 80BA090 sub sp, 0x4 lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080BA0E0 @ =gUnknown_2037AB8 + ldr r0, _080BA0E0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -49387,7 +49387,7 @@ _080BA0D6: pop {r0} bx r0 .align 2, 0 -_080BA0E0: .4byte gUnknown_2037AB8 +_080BA0E0: .4byte gPaletteFade _080BA0E4: .4byte gTasks thumb_func_end sub_80BA090 @@ -50765,7 +50765,7 @@ sub_80BAB78: @ 80BAB78 push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _080BAB94 @ =gUnknown_2037AB8 + ldr r0, _080BAB94 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -50777,7 +50777,7 @@ _080BAB90: pop {r0} bx r0 .align 2, 0 -_080BAB94: .4byte gUnknown_2037AB8 +_080BAB94: .4byte gPaletteFade thumb_func_end sub_80BAB78 thumb_func_start sub_80BAB98 diff --git a/asm/battle_anim_80EEC0C.s b/asm/battle_anim_80EEC0C.s index 84c8c93e2..f79c453b6 100644 --- a/asm/battle_anim_80EEC0C.s +++ b/asm/battle_anim_80EEC0C.s @@ -2684,7 +2684,7 @@ _080F014E: strh r0, [r4, 0x2E] b _080F017C _080F0156: - ldr r0, _080F0184 @ =gUnknown_2037AB8 + ldr r0, _080F0184 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2707,7 +2707,7 @@ _080F017C: pop {r0} bx r0 .align 2, 0 -_080F0184: .4byte gUnknown_2037AB8 +_080F0184: .4byte gPaletteFade _080F0188: .4byte sub_80F018C thumb_func_end sub_80F00A4 @@ -4953,7 +4953,7 @@ sub_80F12E0: @ 80F12E0 _080F1330: .4byte gTasks _080F1334: .4byte gUnknown_840C1C4 _080F1338: - ldr r0, _080F1368 @ =gUnknown_2037AB8 + ldr r0, _080F1368 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -4977,7 +4977,7 @@ _080F1360: pop {r0} bx r0 .align 2, 0 -_080F1368: .4byte gUnknown_2037AB8 +_080F1368: .4byte gPaletteFade _080F136C: .4byte 0x00007fff thumb_func_end sub_80F12E0 @@ -4987,7 +4987,7 @@ sub_80F1370: @ 80F1370 sub sp, 0x4 lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _080F13B0 @ =gUnknown_2037AB8 + ldr r0, _080F13B0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -5016,7 +5016,7 @@ _080F13A8: pop {r0} bx r0 .align 2, 0 -_080F13B0: .4byte gUnknown_2037AB8 +_080F13B0: .4byte gPaletteFade _080F13B4: .4byte gTasks _080F13B8: .4byte 0x00007fff _080F13BC: .4byte sub_80F13C0 diff --git a/asm/battle_controller_oak.s b/asm/battle_controller_oak.s index b5905ade8..c1488e453 100644 --- a/asm/battle_controller_oak.s +++ b/asm/battle_controller_oak.s @@ -464,7 +464,7 @@ _080E792A: thumb_func_start sub_80E7930 sub_80E7930: @ 80E7930 push {lr} - ldr r0, _080E7960 @ =gUnknown_2037AB8 + ldr r0, _080E7960 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -487,7 +487,7 @@ _080E795A: pop {r0} bx r0 .align 2, 0 -_080E7960: .4byte gUnknown_2037AB8 +_080E7960: .4byte gPaletteFade _080E7964: .4byte gMain _080E7968: .4byte 0x00000439 _080E796C: .4byte gUnknown_3004F80 @@ -536,7 +536,7 @@ _080E79B4: .4byte gActiveBattler thumb_func_start sub_80E79B8 sub_80E79B8: @ 80E79B8 push {r4,lr} - ldr r0, _080E79FC @ =gUnknown_2037AB8 + ldr r0, _080E79FC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -568,7 +568,7 @@ _080E79F6: pop {r0} bx r0 .align 2, 0 -_080E79FC: .4byte gUnknown_2037AB8 +_080E79FC: .4byte gPaletteFade _080E7A00: .4byte gUnknown_3004FE0 _080E7A04: .4byte gActiveBattler _080E7A08: .4byte sub_80E7A14 @@ -584,7 +584,7 @@ sub_80E7A14: @ 80E7A14 ldr r0, _080E7A48 @ =sub_8011100 cmp r1, r0 bne _080E7A6A - ldr r0, _080E7A4C @ =gUnknown_2037AB8 + ldr r0, _080E7A4C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -603,7 +603,7 @@ sub_80E7A14: @ 80E7A14 .align 2, 0 _080E7A44: .4byte gMain _080E7A48: .4byte sub_8011100 -_080E7A4C: .4byte gUnknown_2037AB8 +_080E7A4C: .4byte gPaletteFade _080E7A50: .4byte gUnknown_203B0C0 _080E7A54: .4byte gUnknown_203B0C1 _080E7A58: .4byte gUnknown_203B0DC @@ -622,7 +622,7 @@ _080E7A6A: thumb_func_start sub_80E7A70 sub_80E7A70: @ 80E7A70 push {lr} - ldr r0, _080E7AA8 @ =gUnknown_2037AB8 + ldr r0, _080E7AA8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -646,7 +646,7 @@ sub_80E7A70: @ 80E7A70 bl sub_8107ECC b _080E7AC0 .align 2, 0 -_080E7AA8: .4byte gUnknown_2037AB8 +_080E7AA8: .4byte gPaletteFade _080E7AAC: .4byte gUnknown_3004FE0 _080E7AB0: .4byte gActiveBattler _080E7AB4: .4byte sub_80E7AC4 @@ -666,7 +666,7 @@ sub_80E7AC4: @ 80E7AC4 ldr r0, _080E7B18 @ =sub_8011100 cmp r1, r0 bne _080E7B42 - ldr r0, _080E7B1C @ =gUnknown_2037AB8 + ldr r0, _080E7B1C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -700,7 +700,7 @@ sub_80E7AC4: @ 80E7AC4 .align 2, 0 _080E7B14: .4byte gMain _080E7B18: .4byte sub_8011100 -_080E7B1C: .4byte gUnknown_2037AB8 +_080E7B1C: .4byte gPaletteFade _080E7B20: .4byte gUnknown_203AD30 _080E7B24: .4byte gBattleTypeFlags _080E7B28: .4byte gUnknown_3004FE0 @@ -1731,7 +1731,7 @@ _080E8384: .4byte _080E8500 .4byte _080E8530 _080E83A8: - ldr r0, _080E83EC @ =gUnknown_2037AB8 + ldr r0, _080E83EC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1763,9 +1763,9 @@ _080E83BA: ldr r1, [r7] b _080E8522 .align 2, 0 -_080E83EC: .4byte gUnknown_2037AB8 +_080E83EC: .4byte gPaletteFade _080E83F0: - ldr r0, _080E8404 @ =gUnknown_2037AB8 + ldr r0, _080E8404 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1776,7 +1776,7 @@ _080E83FE: bl sub_80EB30C b _080E851E .align 2, 0 -_080E8404: .4byte gUnknown_2037AB8 +_080E8404: .4byte gPaletteFade _080E8408: ldr r0, _080E8418 @ =gUnknown_83FDAE2 bl BattleStringExpandPlaceholdersToDisplayedString @@ -1823,7 +1823,7 @@ _080E8430: _080E8460: .4byte gBitTable _080E8464: .4byte gBattleStruct _080E8468: - ldr r0, _080E8484 @ =gUnknown_2037AB8 + ldr r0, _080E8484 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1836,7 +1836,7 @@ _080E8468: bl sub_80D87BC b _080E851E .align 2, 0 -_080E8484: .4byte gUnknown_2037AB8 +_080E8484: .4byte gPaletteFade _080E8488: .4byte gUnknown_83FDB92 _080E848C: .4byte gUnknown_202298C _080E8490: @@ -1873,7 +1873,7 @@ _080E8490: _080E84D0: .4byte gBitTable _080E84D4: .4byte gBattleStruct _080E84D8: - ldr r0, _080E84F4 @ =gUnknown_2037AB8 + ldr r0, _080E84F4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1886,7 +1886,7 @@ _080E84D8: bl sub_80D87BC b _080E851E .align 2, 0 -_080E84F4: .4byte gUnknown_2037AB8 +_080E84F4: .4byte gPaletteFade _080E84F8: .4byte gUnknown_83FDBEF _080E84FC: .4byte gUnknown_202298C _080E8500: @@ -1915,7 +1915,7 @@ _080E8522: .align 2, 0 _080E852C: .4byte gBattleStruct _080E8530: - ldr r0, _080E8568 @ =gUnknown_2037AB8 + ldr r0, _080E8568 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1940,7 +1940,7 @@ _080E855E: pop {r0} bx r0 .align 2, 0 -_080E8568: .4byte gUnknown_2037AB8 +_080E8568: .4byte gPaletteFade _080E856C: .4byte gBattleStruct thumb_func_end sub_80E835C @@ -2070,7 +2070,7 @@ _080E8634: ldr r1, [r5] b _080E86A6 _080E865A: - ldr r0, _080E866C @ =gUnknown_2037AB8 + ldr r0, _080E866C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2079,7 +2079,7 @@ _080E865A: bl sub_80EB30C b _080E86A2 .align 2, 0 -_080E866C: .4byte gUnknown_2037AB8 +_080E866C: .4byte gPaletteFade _080E8670: adds r0, r2, 0 bl BattleStringExpandPlaceholdersToDisplayedString @@ -2115,7 +2115,7 @@ _080E86A6: .align 2, 0 _080E86B0: .4byte gBattleStruct _080E86B4: - ldr r0, _080E86D8 @ =gUnknown_2037AB8 + ldr r0, _080E86D8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2131,7 +2131,7 @@ _080E86B4: bl WallyBufferExecCompleted b _080E86E4 .align 2, 0 -_080E86D8: .4byte gUnknown_2037AB8 +_080E86D8: .4byte gPaletteFade _080E86DC: .4byte gActiveBattler _080E86E0: bl OpponentBufferExecCompleted @@ -2184,7 +2184,7 @@ _080E872C: .4byte _080E8848 .4byte _080E8880 _080E8748: - ldr r0, _080E8780 @ =gUnknown_2037AB8 + ldr r0, _080E8780 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2211,10 +2211,10 @@ _080E875A: ldr r1, [r5] b _080E886C .align 2, 0 -_080E8780: .4byte gUnknown_2037AB8 +_080E8780: .4byte gPaletteFade _080E8784: .4byte gActiveBattler _080E8788: - ldr r0, _080E87C8 @ =gUnknown_2037AB8 + ldr r0, _080E87C8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2247,10 +2247,10 @@ _080E879A: ldr r1, [r5] b _080E886C .align 2, 0 -_080E87C8: .4byte gUnknown_2037AB8 +_080E87C8: .4byte gPaletteFade _080E87CC: .4byte gBitTable _080E87D0: - ldr r0, _080E87E4 @ =gUnknown_2037AB8 + ldr r0, _080E87E4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2259,7 +2259,7 @@ _080E87D0: bl sub_80EB30C b _080E8868 .align 2, 0 -_080E87E4: .4byte gUnknown_2037AB8 +_080E87E4: .4byte gPaletteFade _080E87E8: ldr r0, _080E87F8 @ =gUnknown_83FDCD2 bl BattleStringExpandPlaceholdersToDisplayedString @@ -2304,7 +2304,7 @@ _080E8800: _080E8840: .4byte gBitTable _080E8844: .4byte gBattleStruct _080E8848: - ldr r0, _080E8878 @ =gUnknown_2037AB8 + ldr r0, _080E8878 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2329,10 +2329,10 @@ _080E886C: strb r0, [r1] b _080E88AA .align 2, 0 -_080E8878: .4byte gUnknown_2037AB8 +_080E8878: .4byte gPaletteFade _080E887C: .4byte gBattleStruct _080E8880: - ldr r0, _080E88B4 @ =gUnknown_2037AB8 + ldr r0, _080E88B4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2356,7 +2356,7 @@ _080E88AA: pop {r0} bx r0 .align 2, 0 -_080E88B4: .4byte gUnknown_2037AB8 +_080E88B4: .4byte gPaletteFade _080E88B8: .4byte gUnknown_203AD30 _080E88BC: .4byte gBattleStruct thumb_func_end sub_80E8704 diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s index 6c6587e9c..38d4081d3 100644 --- a/asm/battle_controller_player.s +++ b/asm/battle_controller_player.s @@ -2396,7 +2396,7 @@ _0802F6A4: .4byte sub_8011A1C thumb_func_start sub_802F6A8 sub_802F6A8: @ 802F6A8 push {lr} - ldr r0, _0802F6D0 @ =gUnknown_2037AB8 + ldr r0, _0802F6D0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2415,7 +2415,7 @@ sub_802F6A8: @ 802F6A8 bl sub_800AAC0 b _0802F6E0 .align 2, 0 -_0802F6D0: .4byte gUnknown_2037AB8 +_0802F6D0: .4byte gPaletteFade _0802F6D4: .4byte gBattleTypeFlags _0802F6D8: .4byte gUnknown_3003F3C _0802F6DC: @@ -4293,7 +4293,7 @@ _08030622: thumb_func_start sub_8030628 sub_8030628: @ 8030628 push {r4,lr} - ldr r0, _0803066C @ =gUnknown_2037AB8 + ldr r0, _0803066C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -4325,7 +4325,7 @@ _08030666: pop {r0} bx r0 .align 2, 0 -_0803066C: .4byte gUnknown_2037AB8 +_0803066C: .4byte gPaletteFade _08030670: .4byte gUnknown_3004FE0 _08030674: .4byte gActiveBattler _08030678: .4byte sub_8030684 @@ -4341,7 +4341,7 @@ sub_8030684: @ 8030684 ldr r0, _080306B8 @ =sub_8011100 cmp r1, r0 bne _080306F4 - ldr r0, _080306BC @ =gUnknown_2037AB8 + ldr r0, _080306BC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -4360,7 +4360,7 @@ sub_8030684: @ 8030684 .align 2, 0 _080306B4: .4byte gMain _080306B8: .4byte sub_8011100 -_080306BC: .4byte gUnknown_2037AB8 +_080306BC: .4byte gPaletteFade _080306C0: .4byte gUnknown_203B0C0 _080306C4: .4byte gUnknown_203B0C1 _080306C8: .4byte gUnknown_203B0DC @@ -4395,7 +4395,7 @@ _080306FC: .4byte gActiveBattler thumb_func_start sub_8030700 sub_8030700: @ 8030700 push {lr} - ldr r0, _0803072C @ =gUnknown_2037AB8 + ldr r0, _0803072C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -4415,7 +4415,7 @@ _08030728: pop {r0} bx r0 .align 2, 0 -_0803072C: .4byte gUnknown_2037AB8 +_0803072C: .4byte gPaletteFade _08030730: .4byte gUnknown_3004FE0 _08030734: .4byte gActiveBattler _08030738: .4byte CompleteWhenChoseItem @@ -4429,7 +4429,7 @@ CompleteWhenChoseItem: @ 803073C ldr r0, _0803076C @ =sub_8011100 cmp r1, r0 bne _08030762 - ldr r0, _08030770 @ =gUnknown_2037AB8 + ldr r0, _08030770 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -4446,7 +4446,7 @@ _08030762: .align 2, 0 _08030768: .4byte gMain _0803076C: .4byte sub_8011100 -_08030770: .4byte gUnknown_2037AB8 +_08030770: .4byte gPaletteFade _08030774: .4byte gUnknown_203AD30 thumb_func_end CompleteWhenChoseItem diff --git a/asm/battle_controller_pokedude.s b/asm/battle_controller_pokedude.s index fcfa5d275..9e18ea91c 100644 --- a/asm/battle_controller_pokedude.s +++ b/asm/battle_controller_pokedude.s @@ -227,7 +227,7 @@ _0815624E: thumb_func_start sub_8156254 sub_8156254: @ 8156254 push {lr} - ldr r0, _08156284 @ =gUnknown_2037AB8 + ldr r0, _08156284 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -250,7 +250,7 @@ _0815627E: pop {r0} bx r0 .align 2, 0 -_08156284: .4byte gUnknown_2037AB8 +_08156284: .4byte gPaletteFade _08156288: .4byte gMain _0815628C: .4byte 0x00000439 _08156290: .4byte gUnknown_3004F80 @@ -550,7 +550,7 @@ sub_81564E4: @ 81564E4 thumb_func_start sub_81564F0 sub_81564F0: @ 81564F0 push {lr} - ldr r0, _08156524 @ =gUnknown_2037AB8 + ldr r0, _08156524 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -574,7 +574,7 @@ _08156520: pop {r0} bx r0 .align 2, 0 -_08156524: .4byte gUnknown_2037AB8 +_08156524: .4byte gPaletteFade _08156528: .4byte gUnknown_3004FE0 _0815652C: .4byte gActiveBattler _08156530: .4byte sub_8156538 @@ -589,7 +589,7 @@ sub_8156538: @ 8156538 ldr r0, _0815656C @ =sub_8011100 cmp r1, r0 bne _0815658E - ldr r0, _08156570 @ =gUnknown_2037AB8 + ldr r0, _08156570 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -608,7 +608,7 @@ sub_8156538: @ 8156538 .align 2, 0 _08156568: .4byte gMain _0815656C: .4byte sub_8011100 -_08156570: .4byte gUnknown_2037AB8 +_08156570: .4byte gPaletteFade _08156574: .4byte gUnknown_203B0C0 _08156578: .4byte gUnknown_203B0C1 _0815657C: .4byte gUnknown_203B0DC @@ -627,7 +627,7 @@ _0815658E: thumb_func_start sub_8156594 sub_8156594: @ 8156594 push {lr} - ldr r0, _081565C8 @ =gUnknown_2037AB8 + ldr r0, _081565C8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -652,7 +652,7 @@ _081565C4: movs r0, 0x7 b _081565DE .align 2, 0 -_081565C8: .4byte gUnknown_2037AB8 +_081565C8: .4byte gPaletteFade _081565CC: .4byte gUnknown_3004FE0 _081565D0: .4byte gActiveBattler _081565D4: .4byte sub_81565E8 @@ -674,7 +674,7 @@ sub_81565E8: @ 81565E8 ldr r0, _08156618 @ =sub_8011100 cmp r1, r0 bne _0815660E - ldr r0, _0815661C @ =gUnknown_2037AB8 + ldr r0, _0815661C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -691,7 +691,7 @@ _0815660E: .align 2, 0 _08156614: .4byte gMain _08156618: .4byte sub_8011100 -_0815661C: .4byte gUnknown_2037AB8 +_0815661C: .4byte gPaletteFade _08156620: .4byte gUnknown_203AD30 thumb_func_end sub_81565E8 @@ -7222,7 +7222,7 @@ _08159BDC: .4byte _08159C64 .4byte _08159CB4 _08159BF0: - ldr r0, _08159C10 @ =gUnknown_2037AB8 + ldr r0, _08159C10 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -7238,9 +7238,9 @@ _08159BF0: movs r3, 0x8 b _08159C90 .align 2, 0 -_08159C10: .4byte gUnknown_2037AB8 +_08159C10: .4byte gPaletteFade _08159C14: - ldr r0, _08159C3C @ =gUnknown_2037AB8 + ldr r0, _08159C3C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -7259,7 +7259,7 @@ _08159C14: adds r0, r5 b _08159C9E .align 2, 0 -_08159C3C: .4byte gUnknown_2037AB8 +_08159C3C: .4byte gPaletteFade _08159C40: .4byte gUnknown_2022976 _08159C44: ldr r1, _08159C5C @ =gUnknown_2022976 @@ -7314,7 +7314,7 @@ _08159CA8: .4byte gMain _08159CAC: .4byte gUnknown_3005EE0 _08159CB0: .4byte gActiveBattler _08159CB4: - ldr r0, _08159CF8 @ =gUnknown_2037AB8 + ldr r0, _08159CF8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -7346,7 +7346,7 @@ _08159CEE: pop {r0} bx r0 .align 2, 0 -_08159CF8: .4byte gUnknown_2037AB8 +_08159CF8: .4byte gPaletteFade _08159CFC: .4byte 0x00000137 _08159D00: .4byte gUnknown_2022976 thumb_func_end sub_8159BA8 @@ -7386,7 +7386,7 @@ _08159D34: .4byte _08159E64 .4byte _08159EA4 _08159D50: - ldr r0, _08159D90 @ =gUnknown_2037AB8 + ldr r0, _08159D90 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -7417,10 +7417,10 @@ _08159D62: movs r3, 0x8 b _08159E80 .align 2, 0 -_08159D90: .4byte gUnknown_2037AB8 +_08159D90: .4byte gPaletteFade _08159D94: .4byte gBattleStruct _08159D98: - ldr r0, _08159DD0 @ =gUnknown_2037AB8 + ldr r0, _08159DD0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -7449,11 +7449,11 @@ _08159DAA: str r3, [sp] b _08159E7A .align 2, 0 -_08159DD0: .4byte gUnknown_2037AB8 +_08159DD0: .4byte gPaletteFade _08159DD4: .4byte gBitTable _08159DD8: .4byte gBattleStruct _08159DDC: - ldr r0, _08159DF0 @ =gUnknown_2037AB8 + ldr r0, _08159DF0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -7464,7 +7464,7 @@ _08159DEA: bl sub_80EB30C b _08159E84 .align 2, 0 -_08159DF0: .4byte gUnknown_2037AB8 +_08159DF0: .4byte gPaletteFade _08159DF4: bl sub_8159EF0 bl BattleStringExpandPlaceholdersToDisplayedString @@ -7515,7 +7515,7 @@ _08159E58: .4byte gMain _08159E5C: .4byte gBitTable _08159E60: .4byte gBattleStruct _08159E64: - ldr r0, _08159E98 @ =gUnknown_2037AB8 + ldr r0, _08159E98 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -7544,11 +7544,11 @@ _08159E84: strb r0, [r1, 0x2] b _08159EDE .align 2, 0 -_08159E98: .4byte gUnknown_2037AB8 +_08159E98: .4byte gPaletteFade _08159E9C: .4byte gUnknown_3005EE0 _08159EA0: .4byte gActiveBattler _08159EA4: - ldr r0, _08159EE8 @ =gUnknown_2037AB8 + ldr r0, _08159EE8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -7578,7 +7578,7 @@ _08159EDE: pop {r0} bx r0 .align 2, 0 -_08159EE8: .4byte gUnknown_2037AB8 +_08159EE8: .4byte gPaletteFade _08159EEC: .4byte 0x00000137 thumb_func_end sub_8159D04 diff --git a/asm/battle_controller_safari.s b/asm/battle_controller_safari.s index a4e877dcb..9c91aa6c7 100644 --- a/asm/battle_controller_safari.s +++ b/asm/battle_controller_safari.s @@ -330,7 +330,7 @@ _080DD7AC: .4byte SpriteCallbackDummy thumb_func_start sub_80DD7B0 sub_80DD7B0: @ 80DD7B0 push {lr} - ldr r0, _080DD7E0 @ =gUnknown_2037AB8 + ldr r0, _080DD7E0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -353,7 +353,7 @@ _080DD7DA: pop {r0} bx r0 .align 2, 0 -_080DD7E0: .4byte gUnknown_2037AB8 +_080DD7E0: .4byte gPaletteFade _080DD7E4: .4byte gMain _080DD7E8: .4byte 0x00000439 _080DD7EC: .4byte gUnknown_3004F80 @@ -394,7 +394,7 @@ _080DD828: .4byte gActiveBattler thumb_func_start sub_80DD82C sub_80DD82C: @ 80DD82C push {lr} - ldr r0, _080DD84C @ =gUnknown_2037AB8 + ldr r0, _080DD84C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -411,7 +411,7 @@ _080DD848: pop {r0} bx r0 .align 2, 0 -_080DD84C: .4byte gUnknown_2037AB8 +_080DD84C: .4byte gPaletteFade _080DD850: .4byte gUnknown_3004FE0 _080DD854: .4byte gActiveBattler _080DD858: .4byte CompleteWhenChosePokeblock @@ -425,7 +425,7 @@ CompleteWhenChosePokeblock: @ 80DD85C ldr r0, _080DD88C @ =sub_8011100 cmp r1, r0 bne _080DD882 - ldr r0, _080DD890 @ =gUnknown_2037AB8 + ldr r0, _080DD890 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -442,7 +442,7 @@ _080DD882: .align 2, 0 _080DD888: .4byte gMain _080DD88C: .4byte sub_8011100 -_080DD890: .4byte gUnknown_2037AB8 +_080DD890: .4byte gPaletteFade _080DD894: .4byte gUnknown_203AD30 thumb_func_end CompleteWhenChosePokeblock diff --git a/asm/battle_records.s b/asm/battle_records.s index 797830e95..dc7ecb94f 100644 --- a/asm/battle_records.s +++ b/asm/battle_records.s @@ -189,7 +189,7 @@ sub_80CD3B8: @ 80CD3B8 push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _080CD3DC @ =gUnknown_2037AB8 + ldr r0, _080CD3DC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -206,7 +206,7 @@ _080CD3D8: pop {r0} bx r0 .align 2, 0 -_080CD3DC: .4byte gUnknown_2037AB8 +_080CD3DC: .4byte gPaletteFade _080CD3E0: .4byte gTasks _080CD3E4: .4byte sub_80CD3E8 thumb_func_end sub_80CD3B8 @@ -281,7 +281,7 @@ sub_80CD460: @ 80CD460 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080CD498 @ =gUnknown_2037AB8 + ldr r0, _080CD498 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -302,7 +302,7 @@ _080CD490: pop {r0} bx r0 .align 2, 0 -_080CD498: .4byte gUnknown_2037AB8 +_080CD498: .4byte gPaletteFade _080CD49C: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music _080CD4A0: .4byte gUnknown_2039A1C thumb_func_end sub_80CD460 diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 9d165dd4c..58e7a405b 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -15654,7 +15654,7 @@ _0802549C: .align 2, 0 _080254A4: .4byte gBattleScripting _080254A8: - ldr r0, _080254E4 @ =gUnknown_2037AB8 + ldr r0, _080254E4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -15684,7 +15684,7 @@ _080254D8: strb r0, [r1, 0x1F] b _080256D0 .align 2, 0 -_080254E4: .4byte gUnknown_2037AB8 +_080254E4: .4byte gPaletteFade _080254E8: .4byte gPlayerParty _080254EC: .4byte gBattleStruct _080254F0: .4byte gUnknown_2024029 @@ -15692,7 +15692,7 @@ _080254F4: .4byte sub_8077764 _080254F8: .4byte gUnknown_2024022 _080254FC: .4byte gBattleScripting _08025500: - ldr r0, _0802552C @ =gUnknown_2037AB8 + ldr r0, _0802552C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -15716,7 +15716,7 @@ _0802551A: strb r5, [r0, 0x1F] b _080256D0 .align 2, 0 -_0802552C: .4byte gUnknown_2037AB8 +_0802552C: .4byte gPaletteFade _08025530: .4byte gMain _08025534: .4byte sub_8011100 _08025538: .4byte gBattleScripting @@ -32443,7 +32443,7 @@ _0802DA24: .align 2, 0 _0802DA38: .4byte 0x00007fff _0802DA3C: - ldr r0, _0802DA5C @ =gUnknown_2037AB8 + ldr r0, _0802DA5C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -32458,10 +32458,10 @@ _0802DA4A: strb r0, [r1, 0x1] b _0802DB36 .align 2, 0 -_0802DA5C: .4byte gUnknown_2037AB8 +_0802DA5C: .4byte gPaletteFade _0802DA60: .4byte gUnknown_2023E82 _0802DA64: - ldr r0, _0802DAAC @ =gUnknown_2037AB8 + ldr r0, _0802DAAC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -32497,7 +32497,7 @@ _0802DA72: strb r0, [r4] b _0802DB6C .align 2, 0 -_0802DAAC: .4byte gUnknown_2037AB8 +_0802DAAC: .4byte gPaletteFade _0802DAB0: .4byte gMain _0802DAB4: .4byte sub_8011100 _0802DAB8: .4byte gTasks @@ -32567,7 +32567,7 @@ _0802DB4C: .4byte 0x05000080 _0802DB50: .4byte 0x0001ffff _0802DB54: .4byte gUnknown_2023E82 _0802DB58: - ldr r0, _0802DB74 @ =gUnknown_2037AB8 + ldr r0, _0802DB74 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -32583,7 +32583,7 @@ _0802DB6C: pop {r0} bx r0 .align 2, 0 -_0802DB74: .4byte gUnknown_2037AB8 +_0802DB74: .4byte gPaletteFade _0802DB78: .4byte gUnknown_2023D74 thumb_func_end sub_802D9D8 @@ -32946,7 +32946,7 @@ _0802DE36: .align 2, 0 _0802DE3C: .4byte gUnknown_2023E82 _0802DE40: - ldr r0, _0802DEFC @ =gUnknown_2037AB8 + ldr r0, _0802DEFC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -33035,7 +33035,7 @@ _0802DE4E: strb r0, [r1] b _0802DFA6 .align 2, 0 -_0802DEFC: .4byte gUnknown_2037AB8 +_0802DEFC: .4byte gPaletteFade _0802DF00: .4byte gBattlerPartyIndexes _0802DF04: .4byte sBattler_AI _0802DF08: .4byte gEnemyParty @@ -33048,7 +33048,7 @@ _0802DF18: ldr r0, _0802DF58 @ =sub_8011100 cmp r1, r0 bne _0802DFA6 - ldr r0, _0802DF5C @ =gUnknown_2037AB8 + ldr r0, _0802DF5C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -33075,7 +33075,7 @@ _0802DF18: .align 2, 0 _0802DF54: .4byte gMain _0802DF58: .4byte sub_8011100 -_0802DF5C: .4byte gUnknown_2037AB8 +_0802DF5C: .4byte gPaletteFade _0802DF60: .4byte gBattlerPartyIndexes _0802DF64: .4byte sBattler_AI _0802DF68: .4byte gEnemyParty diff --git a/asm/battle_transition.s b/asm/battle_transition.s index 70453eb32..d3128f656 100644 --- a/asm/battle_transition.s +++ b/asm/battle_transition.s @@ -407,7 +407,7 @@ _080D0B9E: thumb_func_start sub_80D0BA8 sub_80D0BA8: @ 80D0BA8 push {lr} - ldr r0, _080D0BCC @ =gUnknown_2037AB8 + ldr r0, _080D0BCC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -423,7 +423,7 @@ _080D0BC4: pop {r1} bx r1 .align 2, 0 -_080D0BCC: .4byte gUnknown_2037AB8 +_080D0BCC: .4byte gPaletteFade _080D0BD0: .4byte sub_80D0ADC thumb_func_end sub_80D0BA8 @@ -533,7 +533,7 @@ sub_80D0C78: @ 80D0C78 adds r0, r3, 0 movs r3, 0x2 bl sub_80D3E74 - ldr r0, _080D0CE8 @ =gUnknown_2037AB8 + ldr r0, _080D0CE8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -558,7 +558,7 @@ _080D0CCA: .align 2, 0 _080D0CE0: .4byte gUnknown_2039A2C _080D0CE4: .4byte gUnknown_2038700 -_080D0CE8: .4byte gUnknown_2037AB8 +_080D0CE8: .4byte gPaletteFade _080D0CEC: .4byte sub_80D0BD4 thumb_func_end sub_80D0C78 @@ -733,7 +733,7 @@ _080D0E18: lsrs r4, r0, 16 cmp r5, 0x9F bls _080D0E18 - ldr r0, _080D0E78 @ =gUnknown_2037AB8 + ldr r0, _080D0E78 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -757,7 +757,7 @@ _080D0E5E: .align 2, 0 _080D0E70: .4byte gUnknown_2039A2C _080D0E74: .4byte gUnknown_2038700 -_080D0E78: .4byte gUnknown_2037AB8 +_080D0E78: .4byte gPaletteFade _080D0E7C: .4byte sub_80D0D54 thumb_func_end sub_80D0DF0 @@ -2559,7 +2559,7 @@ _080D1C78: ldrsh r0, [r6, r5] cmp r0, 0 beq _080D1C9A - ldr r0, _080D1CC0 @ =gUnknown_2037AB8 + ldr r0, _080D1CC0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2588,7 +2588,7 @@ _080D1C9A: _080D1CB4: .4byte gUnknown_2039A2C _080D1CB8: .4byte 0x1fff0000 _080D1CBC: .4byte gUnknown_2038700 -_080D1CC0: .4byte gUnknown_2037AB8 +_080D1CC0: .4byte gPaletteFade _080D1CC4: .4byte sub_80D1B58 thumb_func_end sub_80D1BE8 diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s index a9523846e..d4d16e15e 100644 --- a/asm/berry_pouch.s +++ b/asm/berry_pouch.s @@ -362,7 +362,7 @@ sub_813D048: @ 813D048 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0813D074 @ =gUnknown_2037AB8 + ldr r0, _0813D074 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -379,7 +379,7 @@ _0813D06C: pop {r0} bx r0 .align 2, 0 -_0813D074: .4byte gUnknown_2037AB8 +_0813D074: .4byte gPaletteFade _0813D078: .4byte gUnknown_203F370 thumb_func_end sub_813D048 @@ -1399,7 +1399,7 @@ sub_813D844: @ 813D844 lsls r0, 3 ldr r1, _0813D87C @ =gTasks+0x8 adds r2, r0, r1 - ldr r0, _0813D880 @ =gUnknown_2037AB8 + ldr r0, _0813D880 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1419,7 +1419,7 @@ sub_813D844: @ 813D844 b _0813D896 .align 2, 0 _0813D87C: .4byte gTasks+0x8 -_0813D880: .4byte gUnknown_2037AB8 +_0813D880: .4byte gPaletteFade _0813D884: .4byte gUnknown_203F37A _0813D888: .4byte gUnknown_203F36C _0813D88C: @@ -1669,7 +1669,7 @@ sub_813DA68: @ 813DA68 lsls r0, 3 ldr r1, _0813DAD8 @ =gTasks+0x8 adds r7, r0, r1 - ldr r0, _0813DADC @ =gUnknown_2037AB8 + ldr r0, _0813DADC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1714,7 +1714,7 @@ _0813DA9E: b _0813DB48 .align 2, 0 _0813DAD8: .4byte gTasks+0x8 -_0813DADC: .4byte gUnknown_2037AB8 +_0813DADC: .4byte gPaletteFade _0813DAE0: .4byte gUnknown_203F37A _0813DAE4: .4byte gMain _0813DAE8: .4byte gUnknown_203AD30 diff --git a/asm/cable_club.s b/asm/cable_club.s index eeb9471db..f481a12cd 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -1547,13 +1547,13 @@ _0808135C: _08081374: .4byte gUnknown_202271A _08081378: .4byte 0x00002211 _0808137C: - ldr r0, _08081388 @ =gUnknown_2037AB8 + ldr r0, _08081388 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 b _080813A6 .align 2, 0 -_08081388: .4byte gUnknown_2037AB8 +_08081388: .4byte gPaletteFade _0808138C: ldrh r0, [r4, 0xA] adds r0, 0x1 @@ -1706,7 +1706,7 @@ _080814A0: _080814BC: .4byte gUnknown_202271A _080814C0: .4byte 0x00002211 _080814C4: - ldr r0, _080814D8 @ =gUnknown_2037AB8 + ldr r0, _080814D8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1718,7 +1718,7 @@ _080814D2: strh r0, [r6] b _0808160A .align 2, 0 -_080814D8: .4byte gUnknown_2037AB8 +_080814D8: .4byte gPaletteFade _080814DC: ldr r1, _080814EC @ =gUnknown_2022720 movs r0, 0 @@ -2183,7 +2183,7 @@ _08081882: bl sub_800A068 b _080818B8 _08081894: - ldr r0, _080818A4 @ =gUnknown_2037AB8 + ldr r0, _080818A4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2191,7 +2191,7 @@ _08081894: bne _080818D8 b _080818B8 .align 2, 0 -_080818A4: .4byte gUnknown_2037AB8 +_080818A4: .4byte gPaletteFade _080818A8: ldr r1, _080818C0 @ =gUnknown_2031DA4 movs r0, 0 @@ -2259,7 +2259,7 @@ _0808191A: bl sub_80F985C b _08081950 _0808192C: - ldr r0, _0808193C @ =gUnknown_2037AB8 + ldr r0, _0808193C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2267,7 +2267,7 @@ _0808192C: bne _08081970 b _08081950 .align 2, 0 -_0808193C: .4byte gUnknown_2037AB8 +_0808193C: .4byte gPaletteFade _08081940: ldr r1, _08081958 @ =gUnknown_2031DA4 movs r0, 0 diff --git a/asm/clear_save_data_screen.s b/asm/clear_save_data_screen.s index c5381bbf2..84dd082f6 100644 --- a/asm/clear_save_data_screen.s +++ b/asm/clear_save_data_screen.s @@ -91,7 +91,7 @@ _080F5618: bl BeginNormalPaletteFade b _080F56E2 _080F562A: - ldr r0, _080F5640 @ =gUnknown_2037AB8 + ldr r0, _080F5640 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -101,7 +101,7 @@ _080F562A: bl SetVBlankCallback b _080F56E2 .align 2, 0 -_080F5640: .4byte gUnknown_2037AB8 +_080F5640: .4byte gPaletteFade _080F5644: bl sub_80F5820 b _080F56E2 @@ -296,7 +296,7 @@ _080F57B8: .align 2, 0 _080F57D0: .4byte 0x0000ffff _080F57D4: - ldr r0, _080F5808 @ =gUnknown_2037AB8 + ldr r0, _080F5808 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -318,7 +318,7 @@ _080F57FE: pop {r0} bx r0 .align 2, 0 -_080F5808: .4byte gUnknown_2037AB8 +_080F5808: .4byte gPaletteFade thumb_func_end sub_80F579C thumb_func_start sub_80F580C diff --git a/asm/credits.s b/asm/credits.s index 6d9921366..af08d608f 100644 --- a/asm/credits.s +++ b/asm/credits.s @@ -606,7 +606,7 @@ _080F3E94: _080F3EAC: .4byte gUnknown_203AB40 _080F3EB0: .4byte gUnknown_8410CF4 _080F3EB4: - ldr r0, _080F3F14 @ =gUnknown_2037AB8 + ldr r0, _080F3F14 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -654,7 +654,7 @@ _080F3EB4: movs r0, 0x8 b _080F3FB8 .align 2, 0 -_080F3F14: .4byte gUnknown_2037AB8 +_080F3F14: .4byte gPaletteFade _080F3F18: .4byte gUnknown_84145BC _080F3F1C: .4byte gUnknown_8410CF4 _080F3F20: .4byte gUnknown_8410E00 @@ -738,7 +738,7 @@ _080F3FBA: .align 2, 0 _080F3FC0: .4byte gUnknown_8410CF4 _080F3FC4: - ldr r0, _080F3FE8 @ =gUnknown_2037AB8 + ldr r0, _080F3FE8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -756,7 +756,7 @@ _080F3FD6: movs r0, 0xB b _080F413C .align 2, 0 -_080F3FE8: .4byte gUnknown_2037AB8 +_080F3FE8: .4byte gPaletteFade _080F3FEC: .4byte gUnknown_203AB40 _080F3FF0: ldr r0, [r7] @@ -773,7 +773,7 @@ _080F3FFE: movs r0, 0x6 b _080F413C _080F400A: - ldr r0, _080F4050 @ =gUnknown_2037AB8 + ldr r0, _080F4050 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -810,7 +810,7 @@ _080F404A: movs r0, 0x1 b _080F4068 .align 2, 0 -_080F4050: .4byte gUnknown_2037AB8 +_080F4050: .4byte gPaletteFade _080F4054: .4byte gUnknown_203AB40 _080F4058: add r1, sp, 0x14 @@ -838,7 +838,7 @@ _080F4068: .align 2, 0 _080F4080: .4byte gUnknown_203AB40 _080F4084: - ldr r0, _080F40B0 @ =gUnknown_2037AB8 + ldr r0, _080F40B0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -859,7 +859,7 @@ _080F4096: movs r0, 0xE b _080F413C .align 2, 0 -_080F40B0: .4byte gUnknown_2037AB8 +_080F40B0: .4byte gPaletteFade _080F40B4: .4byte gUnknown_203AB40 _080F40B8: bl sub_80F4328 @@ -874,7 +874,7 @@ _080F40C2: .align 2, 0 _080F40CC: .4byte gUnknown_203AB40 _080F40D0: - ldr r0, _080F40F8 @ =gUnknown_2037AB8 + ldr r0, _080F40F8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -894,7 +894,7 @@ _080F40E2: movs r0, 0x10 b _080F413C .align 2, 0 -_080F40F8: .4byte gUnknown_2037AB8 +_080F40F8: .4byte gPaletteFade _080F40FC: .4byte gUnknown_203AB40 _080F4100: bl sub_80F4674 @@ -953,7 +953,7 @@ _080F4156: .align 2, 0 _080F416C: .4byte 0x00007fff _080F4170: - ldr r0, _080F418C @ =gUnknown_2037AB8 + ldr r0, _080F418C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -968,7 +968,7 @@ _080F4182: pop {r1} bx r1 .align 2, 0 -_080F418C: .4byte gUnknown_2037AB8 +_080F418C: .4byte gPaletteFade thumb_func_end sub_80F3BD0 thumb_func_start sub_80F4190 @@ -1382,7 +1382,7 @@ _080F4530: bne _080F45DE b _080F4630 _080F453A: - ldr r0, _080F4554 @ =gUnknown_2037AB8 + ldr r0, _080F4554 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1397,7 +1397,7 @@ _080F4548: strh r0, [r1, 0xE] b _080F4630 .align 2, 0 -_080F4554: .4byte gUnknown_2037AB8 +_080F4554: .4byte gPaletteFade _080F4558: ldr r1, [r4] ldrh r0, [r1, 0xC] @@ -1511,7 +1511,7 @@ _080F4630: strb r0, [r1, 0x1] b _080F4668 _080F4638: - ldr r0, _080F4660 @ =gUnknown_2037AB8 + ldr r0, _080F4660 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1529,7 +1529,7 @@ _080F4638: movs r0, 0x1 b _080F466A .align 2, 0 -_080F4660: .4byte gUnknown_2037AB8 +_080F4660: .4byte gPaletteFade _080F4664: .4byte gUnknown_203AB40 _080F4668: movs r0, 0 @@ -1697,7 +1697,7 @@ _080F47C2: .align 2, 0 _080F47CC: .4byte gUnknown_203AB40 _080F47D0: - ldr r0, _080F47E8 @ =gUnknown_2037AB8 + ldr r0, _080F47E8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1709,7 +1709,7 @@ _080F47D0: movs r0, 0x1 b _080F47EE .align 2, 0 -_080F47E8: .4byte gUnknown_2037AB8 +_080F47E8: .4byte gPaletteFade _080F47EC: movs r0, 0 _080F47EE: diff --git a/asm/diploma.s b/asm/diploma.s index 4ff605295..d0b652619 100644 --- a/asm/diploma.s +++ b/asm/diploma.s @@ -147,7 +147,7 @@ _080F4D22: .align 2, 0 _080F4D2C: .4byte sub_80F4BFC _080F4D30: - ldr r0, _080F4D64 @ =gUnknown_2037AB8 + ldr r0, _080F4D64 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -174,7 +174,7 @@ _080F4D5A: pop {r0} bx r0 .align 2, 0 -_080F4D64: .4byte gUnknown_2037AB8 +_080F4D64: .4byte gPaletteFade _080F4D68: .4byte gTasks _080F4D6C: .4byte sub_80F4D74 _080F4D70: .4byte gUnknown_203AB48 @@ -245,7 +245,7 @@ sub_80F4DE0: @ 80F4DE0 push {r4,r5,lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _080F4E18 @ =gUnknown_2037AB8 + ldr r0, _080F4E18 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -267,7 +267,7 @@ _080F4E10: pop {r0} bx r0 .align 2, 0 -_080F4E18: .4byte gUnknown_2037AB8 +_080F4E18: .4byte gPaletteFade _080F4E1C: .4byte gUnknown_203AB48 _080F4E20: .4byte sub_80568FC thumb_func_end sub_80F4DE0 diff --git a/asm/egg_hatch.s b/asm/egg_hatch.s index 16732a4d3..b12a9d76c 100644 --- a/asm/egg_hatch.s +++ b/asm/egg_hatch.s @@ -499,7 +499,7 @@ sub_8047004: @ 8047004 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _08047034 @ =gUnknown_2037AB8 + ldr r0, _08047034 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -518,7 +518,7 @@ _0804702C: pop {r0} bx r0 .align 2, 0 -_08047034: .4byte gUnknown_2037AB8 +_08047034: .4byte gPaletteFade _08047038: .4byte CB2_EggHatch_0 _0804703C: .4byte gUnknown_3005020 _08047040: .4byte sub_807DD24 @@ -912,7 +912,7 @@ _080473D8: .4byte gUnknown_8260134 _080473DC: .4byte gUnknown_3000E74 _080473E0: .4byte sub_80472E4 _080473E4: - ldr r0, _08047408 @ =gUnknown_2037AB8 + ldr r0, _08047408 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -931,7 +931,7 @@ _080473F6: ldr r1, [r5] b _08047648 .align 2, 0 -_08047408: .4byte gUnknown_2037AB8 +_08047408: .4byte gPaletteFade _0804740C: ldr r1, [r5] ldrb r0, [r1, 0x3] @@ -1205,7 +1205,7 @@ _08047648: .align 2, 0 _08047650: .4byte gUnknown_3000E74 _08047654: - ldr r0, _080476A8 @ =gUnknown_2037AB8 + ldr r0, _080476A8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1238,7 +1238,7 @@ _08047684: pop {r0} bx r0 .align 2, 0 -_080476A8: .4byte gUnknown_2037AB8 +_080476A8: .4byte gPaletteFade _080476AC: .4byte c2_exit_to_overworld_2_switch thumb_func_end sub_8047338 @@ -1489,7 +1489,7 @@ _0804788C: ldrh r0, [r5, 0x2E] adds r0, 0x1 strh r0, [r5, 0x2E] - ldr r0, _080478C8 @ =gUnknown_2037AB8 + ldr r0, _080478C8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1515,7 +1515,7 @@ _080478BA: bx r0 .align 2, 0 _080478C4: .4byte 0x0000ffff -_080478C8: .4byte gUnknown_2037AB8 +_080478C8: .4byte gPaletteFade _080478CC: .4byte SpriteCB_Egg_5 thumb_func_end SpriteCB_Egg_4 diff --git a/asm/evolution_graphics.s b/asm/evolution_graphics.s index 671d52e6c..dd268128f 100644 --- a/asm/evolution_graphics.s +++ b/asm/evolution_graphics.s @@ -1103,7 +1103,7 @@ sub_80F6170: @ 80F6170 push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _080F618C @ =gUnknown_2037AB8 + ldr r0, _080F618C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1115,7 +1115,7 @@ _080F6188: pop {r0} bx r0 .align 2, 0 -_080F618C: .4byte gUnknown_2037AB8 +_080F618C: .4byte gPaletteFade thumb_func_end sub_80F6170 thumb_func_start sub_80F6190 diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s index 1966dcaca..6e5466ca2 100644 --- a/asm/evolution_scene.s +++ b/asm/evolution_scene.s @@ -48,7 +48,7 @@ _080CDD50: strh r0, [r6, 0x8] b _080CDD98 _080CDD68: - ldr r0, _080CDDA0 @ =gUnknown_2037AB8 + ldr r0, _080CDDA0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -76,7 +76,7 @@ _080CDD98: pop {r0} bx r0 .align 2, 0 -_080CDDA0: .4byte gUnknown_2037AB8 +_080CDDA0: .4byte gPaletteFade _080CDDA4: .4byte gPlayerParty thumb_func_end Task_BeginEvolutionScene @@ -1483,7 +1483,7 @@ _080CEA84: .4byte gSprites _080CEA88: .4byte gUnknown_2039A20 _080CEA8C: .4byte gTasks _080CEA90: - ldr r0, _080CEAC0 @ =gUnknown_2037AB8 + ldr r0, _080CEAC0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1505,7 +1505,7 @@ _080CEAA0: adds r1, r0 b _080CEFDE .align 2, 0 -_080CEAC0: .4byte gUnknown_2037AB8 +_080CEAC0: .4byte gPaletteFade _080CEAC4: .4byte gStringVar4 _080CEAC8: .4byte gUnknown_83FE672 _080CEACC: .4byte gTasks @@ -1572,7 +1572,7 @@ _080CEB28: .align 2, 0 _080CEB54: .4byte gTasks _080CEB58: - ldr r0, _080CEB84 @ =gUnknown_2037AB8 + ldr r0, _080CEB84 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1593,7 +1593,7 @@ _080CEB68: adds r1, r0 b _080CEFDE .align 2, 0 -_080CEB84: .4byte gUnknown_2037AB8 +_080CEB84: .4byte gPaletteFade _080CEB88: .4byte gUnknown_2023E82 _080CEB8C: .4byte gTasks _080CEB90: @@ -1773,7 +1773,7 @@ _080CED00: .4byte gUnknown_2037238 _080CED04: .4byte gUnknown_2039A20 _080CED08: .4byte gTasks _080CED0C: - ldr r0, _080CED28 @ =gUnknown_2037AB8 + ldr r0, _080CED28 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1788,7 +1788,7 @@ _080CED1C: ldrh r0, [r4, 0xC] b _080CEF28 .align 2, 0 -_080CED28: .4byte gUnknown_2037AB8 +_080CED28: .4byte gPaletteFade _080CED2C: bl IsCryFinished lsls r0, 24 @@ -1922,7 +1922,7 @@ _080CEE40: .align 2, 0 _080CEE5C: .4byte gTasks _080CEE60: - ldr r0, _080CEEC4 @ =gUnknown_2037AB8 + ldr r0, _080CEEC4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r2, 0x80 adds r0, r2, 0 @@ -1967,7 +1967,7 @@ _080CEEA0: bl SetMainCallback2 b _080CF528 .align 2, 0 -_080CEEC4: .4byte gUnknown_2037AB8 +_080CEEC4: .4byte gPaletteFade _080CEEC8: .4byte gUnknown_2039A20 _080CEECC: .4byte gUnknown_300537C _080CEED0: @@ -2000,7 +2000,7 @@ _080CEF04: .4byte gUnknown_2023E82 _080CEF08: .4byte 0x0006001c _080CEF0C: .4byte 0x00007fff _080CEF10: - ldr r0, _080CEF38 @ =gUnknown_2037AB8 + ldr r0, _080CEF38 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2023,7 +2023,7 @@ _080CEF2E: strh r0, [r4, 0x8] b _080CF528 .align 2, 0 -_080CEF38: .4byte gUnknown_2037AB8 +_080CEF38: .4byte gPaletteFade _080CEF3C: bl IsCryFinished lsls r0, 24 @@ -2424,7 +2424,7 @@ _080CF284: _080CF2AC: .4byte gTasks _080CF2B0: .4byte gMain _080CF2B4: - ldr r0, _080CF2F4 @ =gUnknown_2037AB8 + ldr r0, _080CF2F4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2455,14 +2455,14 @@ _080CF2C2: strh r0, [r5, 0x14] b _080CF528 .align 2, 0 -_080CF2F4: .4byte gUnknown_2037AB8 +_080CF2F4: .4byte gPaletteFade _080CF2F8: .4byte gPlayerParty _080CF2FC: .4byte gTasks _080CF300: .4byte gUnknown_2024029 _080CF304: .4byte CB2_EvolutionSceneLoadGraphics _080CF308: .4byte gUnknown_2024022 _080CF30C: - ldr r0, _080CF340 @ =gUnknown_2037AB8 + ldr r0, _080CF340 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2489,7 +2489,7 @@ _080CF324: movs r0, 0xA b _080CF526 .align 2, 0 -_080CF340: .4byte gUnknown_2037AB8 +_080CF340: .4byte gPaletteFade _080CF344: .4byte sub_80CE710 _080CF348: .4byte gTasks _080CF34C: @@ -2887,7 +2887,7 @@ _080CF6AC: .align 2, 0 _080CF6CC: .4byte gTasks _080CF6D0: - ldr r0, _080CF724 @ =gUnknown_2037AB8 + ldr r0, _080CF724 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2925,7 +2925,7 @@ _080CF6E0: bl SetGpuReg bl _080D003A .align 2, 0 -_080CF724: .4byte gUnknown_2037AB8 +_080CF724: .4byte gPaletteFade _080CF728: .4byte gSprites _080CF72C: .4byte gUnknown_2039A20 _080CF730: .4byte gUnknown_2023E82 @@ -3305,7 +3305,7 @@ _080CFA68: .4byte gUnknown_2039A20 _080CFA6C: .4byte 0x0004001c _080CFA70: .4byte 0x00007fff _080CFA74: - ldr r0, _080CFA98 @ =gUnknown_2037AB8 + ldr r0, _080CFA98 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -3326,7 +3326,7 @@ _080CFA90: strh r0, [r4, 0x8] b _080D003A .align 2, 0 -_080CFA98: .4byte gUnknown_2037AB8 +_080CFA98: .4byte gPaletteFade _080CFA9C: bl IsCryFinished lsls r0, 24 @@ -3679,7 +3679,7 @@ _080CFDA0: .4byte gUnknown_83FDF3C _080CFDA4: .4byte gUnknown_202298C _080CFDA8: .4byte gTasks _080CFDAC: - ldr r0, _080CFE14 @ =gUnknown_2037AB8 + ldr r0, _080CFE14 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -3724,7 +3724,7 @@ _080CFDC6: strh r0, [r5, 0x14] b _080D003A .align 2, 0 -_080CFE14: .4byte gUnknown_2037AB8 +_080CFE14: .4byte gPaletteFade _080CFE18: .4byte gUnknown_3003F3C _080CFE1C: .4byte gPlayerParty _080CFE20: .4byte gTasks @@ -3732,7 +3732,7 @@ _080CFE24: .4byte gUnknown_2024029 _080CFE28: .4byte CB2_TradeEvolutionSceneLoadGraphics _080CFE2C: .4byte gUnknown_2024022 _080CFE30: - ldr r0, _080CFE64 @ =gUnknown_2037AB8 + ldr r0, _080CFE64 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -3759,7 +3759,7 @@ _080CFE4A: movs r0, 0x9 b _080D0038 .align 2, 0 -_080CFE64: .4byte gUnknown_2037AB8 +_080CFE64: .4byte gPaletteFade _080CFE68: .4byte gMain _080CFE6C: .4byte sub_80CE72C _080CFE70: .4byte gTasks diff --git a/asm/fame_checker.s b/asm/fame_checker.s index d86263801..b6fbea82f 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -322,7 +322,7 @@ sub_812C664: @ 812C664 push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _0812C688 @ =gUnknown_2037AB8 + ldr r0, _0812C688 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -339,7 +339,7 @@ _0812C684: pop {r0} bx r0 .align 2, 0 -_0812C688: .4byte gUnknown_2037AB8 +_0812C688: .4byte gPaletteFade _0812C68C: .4byte gTasks _0812C690: .4byte sub_812C694 thumb_func_end sub_812C664 @@ -1455,7 +1455,7 @@ sub_812CF7C: @ 812CF7C push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r0, _0812D074 @ =gUnknown_2037AB8 + ldr r0, _0812D074 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1556,7 +1556,7 @@ _0812D06C: pop {r0} bx r0 .align 2, 0 -_0812D074: .4byte gUnknown_2037AB8 +_0812D074: .4byte gPaletteFade _0812D078: .4byte gUnknown_203B0FC _0812D07C: .4byte gTasks _0812D080: .4byte gSprites diff --git a/asm/field_effect.s b/asm/field_effect.s index 1382a6dae..de1776e9d 100644 --- a/asm/field_effect.s +++ b/asm/field_effect.s @@ -2121,7 +2121,7 @@ c3_080843F8: @ 80843F8 ldrsh r0, [r4, r1] cmp r0, 0 bne _0808442A - ldr r0, _08084450 @ =gUnknown_2037AB8 + ldr r0, _08084450 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2148,7 +2148,7 @@ _08084444: bx r0 .align 2, 0 _0808444C: .4byte gTasks -_08084450: .4byte gUnknown_2037AB8 +_08084450: .4byte gPaletteFade thumb_func_end c3_080843F8 thumb_func_start sub_8084454 @@ -2848,7 +2848,7 @@ sub_8084990: @ 8084990 thumb_func_start sub_80849A0 sub_80849A0: @ 80849A0 push {lr} - ldr r0, _080849E0 @ =gUnknown_2037AB8 + ldr r0, _080849E0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2875,7 +2875,7 @@ _080849DC: pop {r0} bx r0 .align 2, 0 -_080849E0: .4byte gUnknown_2037AB8 +_080849E0: .4byte gPaletteFade _080849E4: .4byte gUnknown_3005020 _080849E8: .4byte sub_80849F4 _080849EC: .4byte sub_805671C @@ -3872,7 +3872,7 @@ sub_808514C: @ 808514C thumb_func_start sub_8085168 sub_8085168: @ 8085168 push {lr} - ldr r0, _080851A8 @ =gUnknown_2037AB8 + ldr r0, _080851A8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -3899,7 +3899,7 @@ _080851A0: pop {r1} bx r1 .align 2, 0 -_080851A8: .4byte gUnknown_2037AB8 +_080851A8: .4byte gPaletteFade _080851AC: .4byte gUnknown_3005020 _080851B0: .4byte mapldr_080851BC _080851B4: .4byte sub_805671C @@ -4377,7 +4377,7 @@ _08085542: thumb_func_start sub_808554C sub_808554C: @ 808554C push {lr} - ldr r0, _0808558C @ =gUnknown_2037AB8 + ldr r0, _0808558C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -4404,7 +4404,7 @@ _08085584: pop {r1} bx r1 .align 2, 0 -_0808558C: .4byte gUnknown_2037AB8 +_0808558C: .4byte gPaletteFade _08085590: .4byte gUnknown_3005020 _08085594: .4byte sub_8084454 _08085598: .4byte sub_805671C @@ -4595,7 +4595,7 @@ _08085702: ldrsh r0, [r4, r2] cmp r0, 0x1 bne _08085750 - ldr r0, _08085758 @ =gUnknown_2037AB8 + ldr r0, _08085758 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -4628,7 +4628,7 @@ _08085750: pop {r0} bx r0 .align 2, 0 -_08085758: .4byte gUnknown_2037AB8 +_08085758: .4byte gPaletteFade _0808575C: .4byte gUnknown_3005020 _08085760: .4byte sub_80859D4 _08085764: .4byte sub_805671C @@ -5394,7 +5394,7 @@ _08085D30: .4byte gSprites thumb_func_start sub_8085D34 sub_8085D34: @ 8085D34 push {lr} - ldr r0, _08085D74 @ =gUnknown_2037AB8 + ldr r0, _08085D74 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -5421,7 +5421,7 @@ _08085D70: pop {r0} bx r0 .align 2, 0 -_08085D74: .4byte gUnknown_2037AB8 +_08085D74: .4byte gPaletteFade _08085D78: .4byte sub_805671C _08085D7C: .4byte gUnknown_3005020 _08085D80: .4byte mapldr_08085D88 @@ -7943,7 +7943,7 @@ _08087132: thumb_func_start sub_8087138 sub_8087138: @ 8087138 push {lr} - ldr r0, _08087160 @ =gUnknown_2037AB8 + ldr r0, _08087160 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -7960,7 +7960,7 @@ _0808715A: pop {r0} bx r0 .align 2, 0 -_08087160: .4byte gUnknown_2037AB8 +_08087160: .4byte gPaletteFade _08087164: .4byte sub_8086E40 thumb_func_end sub_8087138 @@ -9439,7 +9439,7 @@ sub_8087CB4: @ 8087CB4 adds r4, r0, 0 lsls r1, 24 lsrs r5, r1, 24 - ldr r0, _08087CF4 @ =gUnknown_2037AB8 + ldr r0, _08087CF4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -9464,7 +9464,7 @@ _08087CEE: pop {r0} bx r0 .align 2, 0 -_08087CF4: .4byte gUnknown_2037AB8 +_08087CF4: .4byte gPaletteFade _08087CF8: .4byte sub_8087B14 thumb_func_end sub_8087CB4 @@ -9616,7 +9616,7 @@ sub_8087E00: @ 8087E00 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _08087E24 @ =gUnknown_2037AB8 + ldr r0, _08087E24 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -9631,7 +9631,7 @@ _08087E1E: pop {r0} bx r0 .align 2, 0 -_08087E24: .4byte gUnknown_2037AB8 +_08087E24: .4byte gPaletteFade thumb_func_end sub_8087E00 thumb_func_start sub_8087E28 diff --git a/asm/field_fadetransition.s b/asm/field_fadetransition.s index 1b3aaf9d3..b9a31bee4 100644 --- a/asm/field_fadetransition.s +++ b/asm/field_fadetransition.s @@ -1125,12 +1125,12 @@ _0807E408: .4byte task_mpl_807E3C8 thumb_func_start sub_807E40C sub_807E40C: @ 807E40C - ldr r0, _0807E414 @ =gUnknown_2037AB8 + ldr r0, _0807E414 @ =gPaletteFade ldrb r0, [r0, 0x7] lsrs r0, 7 bx lr .align 2, 0 -_0807E414: .4byte gUnknown_2037AB8 +_0807E414: .4byte gPaletteFade thumb_func_end sub_807E40C thumb_func_start sub_807E418 diff --git a/asm/field_specials.s b/asm/field_specials.s index 5132df30e..93971a0b7 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -4717,7 +4717,7 @@ sub_80CCA18: @ 80CCA18 lsls r1, 3 ldr r0, _080CCAA4 @ =gTasks+0x8 adds r4, r1, r0 - ldr r0, _080CCAA8 @ =gUnknown_2037AB8 + ldr r0, _080CCAA8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -4779,7 +4779,7 @@ _080CCA78: b _080CCADE .align 2, 0 _080CCAA4: .4byte gTasks+0x8 -_080CCAA8: .4byte gUnknown_2037AB8 +_080CCAA8: .4byte gPaletteFade _080CCAAC: .4byte gUnknown_2036E28 _080CCAB0: .4byte gSaveBlock1Ptr _080CCAB4: .4byte 0x00004f01 @@ -4847,7 +4847,7 @@ _080CCB36: movs r0, 0x7 movs r1, 0x1 bl sub_8059948 - ldr r0, _080CCB64 @ =gUnknown_2037AB8 + ldr r0, _080CCB64 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -4866,7 +4866,7 @@ _080CCB5A: bx r0 .align 2, 0 _080CCB60: .4byte gUnknown_83F60B0 -_080CCB64: .4byte gUnknown_2037AB8 +_080CCB64: .4byte gPaletteFade thumb_func_end sub_80CCAF4 thumb_func_start sub_80CCB68 diff --git a/asm/field_weather.s b/asm/field_weather.s index 8a3208f55..608f03109 100644 --- a/asm/field_weather.s +++ b/asm/field_weather.s @@ -690,7 +690,7 @@ _0807A144: _0807A164: .4byte gUnknown_2037F34 _0807A168: .4byte 0x000006c6 _0807A16C: - ldr r0, _0807A190 @ =gUnknown_2037AB8 + ldr r0, _0807A190 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -711,7 +711,7 @@ _0807A18C: pop {r0} bx r0 .align 2, 0 -_0807A190: .4byte gUnknown_2037AB8 +_0807A190: .4byte gPaletteFade _0807A194: .4byte 0x000006c1 _0807A198: .4byte 0x000006c6 thumb_func_end sub_807A084 @@ -1988,7 +1988,7 @@ _0807AB20: adds r1, r2 movs r2, 0x8 bl CpuFastSet - ldr r0, _0807AB54 @ =gUnknown_2037AB8 + ldr r0, _0807AB54 @ =gPaletteFade ldrh r2, [r0, 0x4] lsls r2, 21 lsrs r2, 27 @@ -2002,7 +2002,7 @@ _0807AB20: .align 2, 0 _0807AB4C: .4byte gUnknown_20375F8 _0807AB50: .4byte gUnknown_20371F8 -_0807AB54: .4byte gUnknown_2037AB8 +_0807AB54: .4byte gPaletteFade _0807AB58: lsls r0, r4, 20 lsrs r4, r0, 16 diff --git a/asm/fldeff_sweetscent.s b/asm/fldeff_sweetscent.s index dfa734b91..6783e1bbb 100644 --- a/asm/fldeff_sweetscent.s +++ b/asm/fldeff_sweetscent.s @@ -155,7 +155,7 @@ sub_80DE1D0: @ 80DE1D0 lsls r5, r0, 3 ldr r6, _080DE21C @ =gTasks+0x8 adds r2, r5, r6 - ldr r0, _080DE220 @ =gUnknown_2037AB8 + ldr r0, _080DE220 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -182,7 +182,7 @@ sub_80DE1D0: @ 80DE1D0 b _080DE26C .align 2, 0 _080DE21C: .4byte gTasks+0x8 -_080DE220: .4byte gUnknown_2037AB8 +_080DE220: .4byte gPaletteFade _080DE224: .4byte gUnknown_203AAB0 _080DE228: adds r0, r6, 0 @@ -229,7 +229,7 @@ sub_80DE274: @ 80DE274 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r0, _080DE2B0 @ =gUnknown_2037AB8 + ldr r0, _080DE2B0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -253,7 +253,7 @@ _080DE2AA: pop {r0} bx r0 .align 2, 0 -_080DE2B0: .4byte gUnknown_2037AB8 +_080DE2B0: .4byte gPaletteFade _080DE2B4: .4byte gUnknown_203AAB0 _080DE2B8: .4byte gUnknown_20371F8 _080DE2BC: .4byte gUnknown_81BE564 diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s index 0f66e62de..1ad8d6f98 100644 --- a/asm/hall_of_fame.s +++ b/asm/hall_of_fame.s @@ -130,7 +130,7 @@ _080F1EBC: .4byte sub_80F1DAC _080F1EC0: .4byte gMain _080F1EC4: bl UpdatePaletteFade - ldr r0, _080F1EE8 @ =gUnknown_2037AB8 + ldr r0, _080F1EE8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -144,7 +144,7 @@ _080F1EC4: movs r0, 0 b _080F1EF2 .align 2, 0 -_080F1EE8: .4byte gUnknown_2037AB8 +_080F1EE8: .4byte gPaletteFade _080F1EEC: .4byte sub_80F1DC0 _080F1EF0: movs r0, 0x1 @@ -1366,7 +1366,7 @@ Task_Hof_HandleExit: @ 80F288C push {r4-r7,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r0, _080F2924 @ =gUnknown_2037AB8 + ldr r0, _080F2924 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1432,7 +1432,7 @@ _080F291E: pop {r0} bx r0 .align 2, 0 -_080F2924: .4byte gUnknown_2037AB8 +_080F2924: .4byte gPaletteFade _080F2928: .4byte gTasks _080F292C: .4byte gUnknown_203AB3C _080F2930: .4byte gUnknown_203AB38 diff --git a/asm/hof_pc.s b/asm/hof_pc.s index 48085bbd8..b5a437662 100644 --- a/asm/hof_pc.s +++ b/asm/hof_pc.s @@ -10,7 +10,7 @@ sub_80CA53C: @ 80CA53C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080CA56C @ =gUnknown_2037AB8 + ldr r0, _080CA56C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -28,7 +28,7 @@ _080CA564: pop {r0} bx r0 .align 2, 0 -_080CA56C: .4byte gUnknown_2037AB8 +_080CA56C: .4byte gPaletteFade _080CA570: .4byte sub_80F2978 thumb_func_end sub_80CA53C @@ -100,7 +100,7 @@ sub_80CA5F8: @ 80CA5F8 push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _080CA614 @ =gUnknown_2037AB8 + ldr r0, _080CA614 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -112,7 +112,7 @@ _080CA610: pop {r0} bx r0 .align 2, 0 -_080CA614: .4byte gUnknown_2037AB8 +_080CA614: .4byte gPaletteFade thumb_func_end sub_80CA5F8 .align 2, 0 @ Don't pad with nop. diff --git a/asm/intro.s b/asm/intro.s index 2d8a626b4..45f4c6e1d 100644 --- a/asm/intro.s +++ b/asm/intro.s @@ -1222,7 +1222,7 @@ _080ECFA4: _080ECFD0: .4byte sub_80ED0AC _080ECFD4: .4byte 0x00007fff _080ECFD8: - ldr r0, _080ECFF8 @ =gUnknown_2037AB8 + ldr r0, _080ECFF8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1239,7 +1239,7 @@ _080ECFF0: strb r0, [r5, 0x4] b _080ED094 .align 2, 0 -_080ECFF8: .4byte gUnknown_2037AB8 +_080ECFF8: .4byte gPaletteFade _080ECFFC: .4byte 0x00000115 _080ED000: ldrh r0, [r5, 0x12] @@ -1282,7 +1282,7 @@ _080ED058: .4byte 0x00007fff _080ED05C: .4byte sub_80ED0AC _080ED060: .4byte sub_80ED188 _080ED064: - ldr r0, _080ED09C @ =gUnknown_2037AB8 + ldr r0, _080ED09C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1307,7 +1307,7 @@ _080ED094: pop {r0} bx r0 .align 2, 0 -_080ED09C: .4byte gUnknown_2037AB8 +_080ED09C: .4byte gPaletteFade _080ED0A0: .4byte sub_80ED0AC _080ED0A4: .4byte sub_80ED140 _080ED0A8: .4byte sub_80ED188 @@ -1618,13 +1618,13 @@ _080ED32C: .align 2, 0 _080ED34C: .4byte 0x00007fff _080ED350: - ldr r0, _080ED35C @ =gUnknown_2037AB8 + ldr r0, _080ED35C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 b _080ED3C0 .align 2, 0 -_080ED35C: .4byte gUnknown_2037AB8 +_080ED35C: .4byte gPaletteFade _080ED360: ldrh r0, [r7, 0x12] adds r0, 0x1 @@ -2495,7 +2495,7 @@ _080EDA50: .4byte 0x00007fff _080EDA54: .4byte gUnknown_2037218 _080EDA58: .4byte 0x01000020 _080EDA5C: - ldr r0, _080EDA78 @ =gUnknown_2037AB8 + ldr r0, _080EDA78 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2512,7 +2512,7 @@ _080EDA6E: strb r0, [r4, 0x4] b _080EDAC4 .align 2, 0 -_080EDA78: .4byte gUnknown_2037AB8 +_080EDA78: .4byte gPaletteFade _080EDA7C: ldrh r0, [r4, 0x12] adds r0, 0x1 diff --git a/asm/item_menu.s b/asm/item_menu.s index 07fefddfe..d9aa3dd95 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -264,13 +264,13 @@ _08107FC0: b _08108104 _08107FC6: bl ResetPaletteFade - ldr r2, _08107FD4 @ =gUnknown_2037AB8 + ldr r2, _08107FD4 @ =gPaletteFade ldrb r0, [r2, 0x8] movs r1, 0x80 orrs r0, r1 b _08108102 .align 2, 0 -_08107FD4: .4byte gUnknown_2037AB8 +_08107FD4: .4byte gPaletteFade _08107FD8: bl ResetSpriteData b _08108104 @@ -408,7 +408,7 @@ _081080F4: movs r0, 0x9 bl sub_812B1F0 _081080FA: - ldr r2, _08108114 @ =gUnknown_2037AB8 + ldr r2, _08108114 @ =gPaletteFade ldrb r1, [r2, 0x8] movs r0, 0x7F ands r0, r1 @@ -424,7 +424,7 @@ _08108104: strb r0, [r1] b _08108134 .align 2, 0 -_08108114: .4byte gUnknown_2037AB8 +_08108114: .4byte gPaletteFade _08108118: .4byte gMain _0810811C: ldr r0, _0810812C @ =sub_8107EFC @@ -477,7 +477,7 @@ sub_8108178: @ 8108178 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _081081A4 @ =gUnknown_2037AB8 + ldr r0, _081081A4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -494,7 +494,7 @@ _0810819C: pop {r0} bx r0 .align 2, 0 -_081081A4: .4byte gUnknown_2037AB8 +_081081A4: .4byte gPaletteFade _081081A8: .4byte gUnknown_203ACFC thumb_func_end sub_8108178 @@ -1780,7 +1780,7 @@ sub_8108B8C: @ 8108B8C lsls r0, 3 ldr r1, _08108BE0 @ =gTasks+0x8 adds r4, r0, r1 - ldr r0, _08108BE4 @ =gUnknown_2037AB8 + ldr r0, _08108BE4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1812,7 +1812,7 @@ sub_8108B8C: @ 8108B8C b _08108BFA .align 2, 0 _08108BE0: .4byte gTasks+0x8 -_08108BE4: .4byte gUnknown_2037AB8 +_08108BE4: .4byte gPaletteFade _08108BE8: .4byte sub_8108CFC _08108BEC: .4byte gUnknown_203ACFC _08108BF0: .4byte gUnknown_203AD10 @@ -2245,7 +2245,7 @@ sub_8108F0C: @ 8108F0C lsls r0, 3 ldr r1, _08108F78 @ =gTasks+0x8 adds r7, r0, r1 - ldr r0, _08108F7C @ =gUnknown_2037AB8 + ldr r0, _08108F7C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2291,7 +2291,7 @@ _08108F4A: b _08108FA0 .align 2, 0 _08108F78: .4byte gTasks+0x8 -_08108F7C: .4byte gUnknown_2037AB8 +_08108F7C: .4byte gPaletteFade _08108F80: .4byte sub_8108CFC _08108F84: .4byte gUnknown_203ACFC _08108F88: .4byte gMain @@ -6144,7 +6144,7 @@ sub_810AF9C: @ 810AF9C lsls r6, r0, 3 ldr r7, _0810AFCC @ =gTasks+0x8 adds r5, r6, r7 - ldr r0, _0810AFD0 @ =gUnknown_2037AB8 + ldr r0, _0810AFD0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -6161,7 +6161,7 @@ sub_810AF9C: @ 810AF9C b _0810B064 .align 2, 0 _0810AFCC: .4byte gTasks+0x8 -_0810AFD0: .4byte gUnknown_2037AB8 +_0810AFD0: .4byte gPaletteFade _0810AFD4: movs r0, 0x99 lsls r0, 1 @@ -6269,7 +6269,7 @@ sub_810B0AC: @ 810B0AC push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0810B0DC @ =gUnknown_2037AB8 + ldr r0, _0810B0DC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -6289,7 +6289,7 @@ sub_810B0AC: @ 810B0AC bl SetMainCallback2 b _0810B0F0 .align 2, 0 -_0810B0DC: .4byte gUnknown_2037AB8 +_0810B0DC: .4byte gPaletteFade _0810B0E0: .4byte sub_8108CFC _0810B0E4: .4byte gUnknown_203AD10 _0810B0E8: @@ -6417,7 +6417,7 @@ sub_810B1D4: @ 810B1D4 lsls r5, r0, 3 ldr r6, _0810B220 @ =gTasks+0x8 adds r7, r5, r6 - ldr r0, _0810B224 @ =gUnknown_2037AB8 + ldr r0, _0810B224 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -6450,7 +6450,7 @@ _0810B202: b _0810B36C .align 2, 0 _0810B220: .4byte gTasks+0x8 -_0810B224: .4byte gUnknown_2037AB8 +_0810B224: .4byte gPaletteFade _0810B228: movs r0, 0x99 lsls r0, 1 @@ -6614,7 +6614,7 @@ sub_810B378: @ 810B378 lsls r6, r0, 3 ldr r7, _0810B3B0 @ =gTasks+0x8 adds r4, r6, r7 - ldr r0, _0810B3B4 @ =gUnknown_2037AB8 + ldr r0, _0810B3B4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -6633,7 +6633,7 @@ _0810B396: b _0810B4B6 .align 2, 0 _0810B3B0: .4byte gTasks+0x8 -_0810B3B4: .4byte gUnknown_2037AB8 +_0810B3B4: .4byte gPaletteFade _0810B3B8: movs r0, 0x10 ldrsh r1, [r4, r0] @@ -6775,7 +6775,7 @@ sub_810B4BC: @ 810B4BC mov r9, r0 mov r5, r8 add r5, r9 - ldr r0, _0810B508 @ =gUnknown_2037AB8 + ldr r0, _0810B508 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r7, 0x80 adds r0, r7, 0 @@ -6795,7 +6795,7 @@ sub_810B4BC: @ 810B4BC b _0810B5C6 .align 2, 0 _0810B504: .4byte gTasks+0x8 -_0810B508: .4byte gUnknown_2037AB8 +_0810B508: .4byte gPaletteFade _0810B50C: movs r0, 0x10 ldrsh r1, [r5, r0] @@ -6901,7 +6901,7 @@ sub_810B5D4: @ 810B5D4 mov r9, r0 mov r6, r8 add r6, r9 - ldr r0, _0810B628 @ =gUnknown_2037AB8 + ldr r0, _0810B628 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r7, 0x80 adds r0, r7, 0 @@ -6927,7 +6927,7 @@ sub_810B5D4: @ 810B5D4 b _0810B6E0 .align 2, 0 _0810B624: .4byte gTasks+0x8 -_0810B628: .4byte gUnknown_2037AB8 +_0810B628: .4byte gPaletteFade _0810B62C: movs r0, 0x99 lsls r0, 1 diff --git a/asm/item_pc.s b/asm/item_pc.s index d209e7c0d..1a7a3b498 100644 --- a/asm/item_pc.s +++ b/asm/item_pc.s @@ -365,7 +365,7 @@ sub_810D6E8: @ 810D6E8 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0810D714 @ =gUnknown_2037AB8 + ldr r0, _0810D714 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -382,7 +382,7 @@ _0810D70C: pop {r0} bx r0 .align 2, 0 -_0810D714: .4byte gUnknown_2037AB8 +_0810D714: .4byte gPaletteFade _0810D718: .4byte gUnknown_203ADCC thumb_func_end sub_810D6E8 @@ -1140,7 +1140,7 @@ sub_810DCE4: @ 810DCE4 lsls r0, 3 ldr r1, _0810DD28 @ =gTasks+0x8 adds r4, r0, r1 - ldr r0, _0810DD2C @ =gUnknown_2037AB8 + ldr r0, _0810DD2C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1164,7 +1164,7 @@ sub_810DCE4: @ 810DCE4 b _0810DD40 .align 2, 0 _0810DD28: .4byte gTasks+0x8 -_0810DD2C: .4byte gUnknown_2037AB8 +_0810DD2C: .4byte gPaletteFade _0810DD30: .4byte gUnknown_203ADD0 _0810DD34: .4byte gUnknown_203ADBC _0810DD38: @@ -1382,7 +1382,7 @@ sub_810DEA0: @ 810DEA0 lsls r0, 3 ldr r1, _0810DF10 @ =gTasks+0x8 adds r6, r0, r1 - ldr r0, _0810DF14 @ =gUnknown_2037AB8 + ldr r0, _0810DF14 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1426,7 +1426,7 @@ sub_810DEA0: @ 810DEA0 b _0810DF9E .align 2, 0 _0810DF10: .4byte gTasks+0x8 -_0810DF14: .4byte gUnknown_2037AB8 +_0810DF14: .4byte gPaletteFade _0810DF18: .4byte gMain _0810DF1C: .4byte gUnknown_203ADBC _0810DF20: diff --git a/asm/item_use.s b/asm/item_use.s index e2cad1322..e15bd8660 100644 --- a/asm/item_use.s +++ b/asm/item_use.s @@ -1060,7 +1060,7 @@ sub_80A17E8: @ 80A17E8 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080A1818 @ =gUnknown_2037AB8 + ldr r0, _080A1818 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1079,7 +1079,7 @@ _080A1812: pop {r0} bx r0 .align 2, 0 -_080A1818: .4byte gUnknown_2037AB8 +_080A1818: .4byte gPaletteFade _080A181C: .4byte c2_exit_to_overworld_2_switch thumb_func_end sub_80A17E8 @@ -1138,7 +1138,7 @@ sub_80A1880: @ 80A1880 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080A18B0 @ =gUnknown_2037AB8 + ldr r0, _080A18B0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1157,7 +1157,7 @@ _080A18AA: pop {r0} bx r0 .align 2, 0 -_080A18B0: .4byte gUnknown_2037AB8 +_080A18B0: .4byte gPaletteFade _080A18B4: .4byte c2_exit_to_overworld_2_switch thumb_func_end sub_80A1880 @@ -1253,7 +1253,7 @@ sub_80A1960: @ 80A1960 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080A1990 @ =gUnknown_2037AB8 + ldr r0, _080A1990 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1271,7 +1271,7 @@ _080A1988: pop {r0} bx r0 .align 2, 0 -_080A1990: .4byte gUnknown_2037AB8 +_080A1990: .4byte gPaletteFade _080A1994: .4byte c2_exit_to_overworld_2_switch thumb_func_end sub_80A1960 @@ -1660,7 +1660,7 @@ sub_80A1CC0: @ 80A1CC0 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080A1CF0 @ =gUnknown_2037AB8 + ldr r0, _080A1CF0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1678,7 +1678,7 @@ _080A1CE8: pop {r0} bx r0 .align 2, 0 -_080A1CF0: .4byte gUnknown_2037AB8 +_080A1CF0: .4byte gPaletteFade _080A1CF4: .4byte c2_exit_to_overworld_2_switch thumb_func_end sub_80A1CC0 @@ -1743,7 +1743,7 @@ sub_80A1D68: @ 80A1D68 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080A1D94 @ =gUnknown_2037AB8 + ldr r0, _080A1D94 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1760,7 +1760,7 @@ _080A1D8E: pop {r0} bx r0 .align 2, 0 -_080A1D94: .4byte gUnknown_2037AB8 +_080A1D94: .4byte gPaletteFade _080A1D98: .4byte c2_exit_to_overworld_2_switch thumb_func_end sub_80A1D68 diff --git a/asm/learn_move.s b/asm/learn_move.s index eba23b712..43eb29d5b 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -42,7 +42,7 @@ sub_80E4660: @ 80E4660 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080E468C @ =gUnknown_2037AB8 + ldr r0, _080E468C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -60,7 +60,7 @@ _080E4684: pop {r0} bx r0 .align 2, 0 -_080E468C: .4byte gUnknown_2037AB8 +_080E468C: .4byte gPaletteFade _080E4690: .4byte sub_80E478C _080E4694: .4byte gUnknown_3005020 _080E4698: .4byte sub_807DD24 @@ -406,7 +406,7 @@ _080E49A8: _080E49EC: .4byte gUnknown_203AAB4 _080E49F0: .4byte 0x0000025f _080E49F4: - ldr r0, _080E4A08 @ =gUnknown_2037AB8 + ldr r0, _080E4A08 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -418,7 +418,7 @@ _080E4A02: movs r0, 0x4 b _080E4ED8 .align 2, 0 -_080E4A08: .4byte gUnknown_2037AB8 +_080E4A08: .4byte gPaletteFade _080E4A0C: ldr r1, [r7] ldrb r0, [r1] @@ -720,7 +720,7 @@ _080E4C5A: bl BeginNormalPaletteFade b _080E4EDA _080E4C70: - ldr r0, _080E4CC8 @ =gUnknown_2037AB8 + ldr r0, _080E4CC8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -763,7 +763,7 @@ _080E4C7E: movs r0, 0x1C b _080E4ED8 .align 2, 0 -_080E4CC8: .4byte gUnknown_2037AB8 +_080E4CC8: .4byte gPaletteFade _080E4CCC: .4byte 0x00000263 _080E4CD0: .4byte 0x00000a68 _080E4CD4: .4byte 0x00000a6a @@ -798,7 +798,7 @@ _080E4CFA: .align 2, 0 _080E4D14: .4byte gUnknown_203AAB4 _080E4D18: - ldr r0, _080E4D3C @ =gUnknown_2037AB8 + ldr r0, _080E4D3C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -814,7 +814,7 @@ _080E4D26: bl SetMainCallback2 b _080E4EDA .align 2, 0 -_080E4D3C: .4byte gUnknown_2037AB8 +_080E4D3C: .4byte gPaletteFade _080E4D40: .4byte gUnknown_203AAB4 _080E4D44: .4byte c2_exit_to_overworld_2_switch _080E4D48: @@ -844,7 +844,7 @@ _080E4D48: .align 2, 0 _080E4D88: .4byte gUnknown_203AAB4 _080E4D8C: - ldr r0, _080E4DAC @ =gUnknown_2037AB8 + ldr r0, _080E4DAC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -861,7 +861,7 @@ _080E4D9A: movs r0, 0x18 b _080E4ED8 .align 2, 0 -_080E4DAC: .4byte gUnknown_2037AB8 +_080E4DAC: .4byte gPaletteFade _080E4DB0: .4byte 0x00000261 _080E4DB4: movs r4, 0x98 diff --git a/asm/link_rfu.s b/asm/link_rfu.s index 3f8d3735c..4b20fa9a0 100644 --- a/asm/link_rfu.s +++ b/asm/link_rfu.s @@ -3372,7 +3372,7 @@ _080FED28: strh r0, [r6] b _080FED6E _080FED38: - ldr r0, _080FED78 @ =gUnknown_2037AB8 + ldr r0, _080FED78 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -3402,7 +3402,7 @@ _080FED6E: pop {r0} bx r0 .align 2, 0 -_080FED78: .4byte gUnknown_2037AB8 +_080FED78: .4byte gPaletteFade _080FED7C: .4byte 0x0000082d thumb_func_end sub_80FEC90 diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index f4e12b60f..6f282750b 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -3849,7 +3849,7 @@ _08117944: bl fade_screen b _08117968 _08117958: - ldr r0, _08117970 @ =gUnknown_2037AB8 + ldr r0, _08117970 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -3862,7 +3862,7 @@ _08117968: strh r0, [r4] b _08117988 .align 2, 0 -_08117970: .4byte gUnknown_2037AB8 +_08117970: .4byte gPaletteFade _08117974: bl sub_800A4BC lsls r0, 24 @@ -6990,7 +6990,7 @@ _081194F0: movs r0, 0x36 b _081198DA _08119504: - ldr r0, _08119528 @ =gUnknown_2037AB8 + ldr r0, _08119528 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -7009,7 +7009,7 @@ _08119512: bl sub_81277F4 b _081198DC .align 2, 0 -_08119528: .4byte gUnknown_2037AB8 +_08119528: .4byte gPaletteFade _0811952C: .4byte gUnknown_203B06C _08119530: .4byte gUnknown_3005020 _08119534: .4byte sub_807DCE4 diff --git a/asm/mail.s b/asm/mail.s index ecd5e71fd..bf24fe177 100644 --- a/asm/mail.s +++ b/asm/mail.s @@ -497,7 +497,7 @@ _080BF01C: _080BF026: ldr r0, _080BF038 @ =sub_80BF354 bl SetVBlankCallback - ldr r2, _080BF03C @ =gUnknown_2037AB8 + ldr r2, _080BF03C @ =gPaletteFade ldrb r0, [r2, 0x8] movs r1, 0x80 orrs r0, r1 @@ -505,7 +505,7 @@ _080BF026: b _080BF0F4 .align 2, 0 _080BF038: .4byte sub_80BF354 -_080BF03C: .4byte gUnknown_2037AB8 +_080BF03C: .4byte gPaletteFade _080BF040: ldr r5, _080BF064 @ =gUnknown_20399C4 ldr r0, [r5] @@ -573,7 +573,7 @@ _080BF0A4: movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade - ldr r2, _080BF0E8 @ =gUnknown_2037AB8 + ldr r2, _080BF0E8 @ =gPaletteFade ldrb r1, [r2, 0x8] movs r0, 0x7F ands r0, r1 @@ -586,7 +586,7 @@ _080BF0A4: movs r0, 0x1 b _080BF104 .align 2, 0 -_080BF0E8: .4byte gUnknown_2037AB8 +_080BF0E8: .4byte gPaletteFade _080BF0EC: .4byte gUnknown_20399C4 _080BF0F0: .4byte sub_80BF394 _080BF0F4: diff --git a/asm/main_menu.s b/asm/main_menu.s index 9c1302cdc..3285c29ea 100644 --- a/asm/main_menu.s +++ b/asm/main_menu.s @@ -223,7 +223,7 @@ sub_800C4D0: @ 800C4D0 push {r4-r6,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r0, _0800C538 @ =gUnknown_2037AB8 + ldr r0, _0800C538 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -266,7 +266,7 @@ _0800C4E8: beq _0800C54A b _0800C5E8 .align 2, 0 -_0800C538: .4byte gUnknown_2037AB8 +_0800C538: .4byte gPaletteFade _0800C53C: .4byte gUnknown_30053A0 _0800C540: cmp r4, 0x4 @@ -430,7 +430,7 @@ sub_800C688: @ 800C688 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0800C6E0 @ =gUnknown_2037AB8 + ldr r0, _0800C6E0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -466,7 +466,7 @@ sub_800C688: @ 800C688 ldr r0, _0800C6F0 @ =sub_800C704 b _0800C6F6 .align 2, 0 -_0800C6E0: .4byte gUnknown_2037AB8 +_0800C6E0: .4byte gPaletteFade _0800C6E4: .4byte gMain _0800C6E8: .4byte gUnknown_8234638 _0800C6EC: .4byte gTasks @@ -488,7 +488,7 @@ sub_800C704: @ 800C704 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0800C764 @ =gUnknown_2037AB8 + ldr r0, _0800C764 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -527,7 +527,7 @@ sub_800C704: @ 800C704 ldr r0, _0800C76C @ =sub_800CA94 b _0800C772 .align 2, 0 -_0800C764: .4byte gUnknown_2037AB8 +_0800C764: .4byte gPaletteFade _0800C768: .4byte gTasks _0800C76C: .4byte sub_800CA94 _0800C770: @@ -547,7 +547,7 @@ sub_800C780: @ 800C780 push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _0800C79C @ =gUnknown_2037AB8 + ldr r0, _0800C79C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -559,7 +559,7 @@ _0800C798: pop {r0} bx r0 .align 2, 0 -_0800C79C: .4byte gUnknown_2037AB8 +_0800C79C: .4byte gPaletteFade thumb_func_end sub_800C780 thumb_func_start sub_800C7A0 @@ -867,7 +867,7 @@ sub_800CA54: @ 800CA54 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0800CA88 @ =gUnknown_2037AB8 + ldr r0, _0800CA88 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -890,7 +890,7 @@ _0800CA80: pop {r0} bx r0 .align 2, 0 -_0800CA88: .4byte gUnknown_2037AB8 +_0800CA88: .4byte gPaletteFade _0800CA8C: .4byte gTasks _0800CA90: .4byte sub_800CA28 thumb_func_end sub_800CA54 @@ -901,7 +901,7 @@ sub_800CA94: @ 800CA94 sub sp, 0x4 lsls r0, 24 lsrs r6, r0, 24 - ldr r0, _0800CAC4 @ =gUnknown_2037AB8 + ldr r0, _0800CAC4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -922,7 +922,7 @@ sub_800CA94: @ 800CA94 beq _0800CADA b _0800CAEE .align 2, 0 -_0800CAC4: .4byte gUnknown_2037AB8 +_0800CAC4: .4byte gPaletteFade _0800CAC8: .4byte gTasks _0800CACC: movs r1, 0xA @@ -1084,13 +1084,13 @@ _0800CBF2: _0800CC04: .4byte gUnknown_8415ACB _0800CC08: .4byte gTasks _0800CC0C: - ldr r0, _0800CC18 @ =gUnknown_2037AB8 + ldr r0, _0800CC18 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 b _0800CC28 .align 2, 0 -_0800CC18: .4byte gUnknown_2037AB8 +_0800CC18: .4byte gPaletteFade _0800CC1C: bl RunTextPrinters movs r0, 0x4 @@ -1135,7 +1135,7 @@ sub_800CC68: @ 800CC68 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0800CC8C @ =gUnknown_2037AB8 + ldr r0, _0800CC8C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1150,7 +1150,7 @@ _0800CC86: pop {r0} bx r0 .align 2, 0 -_0800CC8C: .4byte gUnknown_2037AB8 +_0800CC8C: .4byte gPaletteFade _0800CC90: .4byte sub_8078914 thumb_func_end sub_800CC68 diff --git a/asm/mevent_8145654.s b/asm/mevent_8145654.s index 0c344853a..ccb86ba64 100644 --- a/asm/mevent_8145654.s +++ b/asm/mevent_8145654.s @@ -246,7 +246,7 @@ _08145834: lsrs r6, r0, 24 cmp r6, 0 bne _0814592E - ldr r2, _081458A0 @ =gUnknown_2037AB8 + ldr r2, _081458A0 @ =gPaletteFade ldrb r0, [r2, 0x8] movs r1, 0x80 orrs r0, r1 @@ -291,7 +291,7 @@ _08145834: bl CopyBgTilemapBufferToVram b _0814591E .align 2, 0 -_081458A0: .4byte gUnknown_2037AB8 +_081458A0: .4byte gPaletteFade _081458A4: .4byte gUnknown_203F3C8 _081458A8: .4byte 0x0000045c _081458AC: @@ -315,7 +315,7 @@ _081458D2: bl ShowBg movs r0, 0x2 bl ShowBg - ldr r2, _08145904 @ =gUnknown_2037AB8 + ldr r2, _08145904 @ =gPaletteFade ldrb r1, [r2, 0x8] movs r0, 0x7F ands r0, r1 @@ -331,7 +331,7 @@ _081458D2: bl UpdatePaletteFade b _0814591E .align 2, 0 -_08145904: .4byte gUnknown_2037AB8 +_08145904: .4byte gPaletteFade _08145908: bl UpdatePaletteFade lsls r0, 24 @@ -1780,7 +1780,7 @@ _08146494: beq _081464A2 b _081465EC _081464A2: - ldr r2, _0814653C @ =gUnknown_2037AB8 + ldr r2, _0814653C @ =gPaletteFade ldrb r0, [r2, 0x8] movs r1, 0x80 orrs r0, r1 @@ -1851,7 +1851,7 @@ _081464A2: bl CopyBgTilemapBufferToVram b _081465D2 .align 2, 0 -_0814653C: .4byte gUnknown_2037AB8 +_0814653C: .4byte gPaletteFade _08146540: .4byte gUnknown_203F3CC _08146544: bl sub_8146980 @@ -1870,7 +1870,7 @@ _0814655C: bl ShowBg movs r0, 0x3 bl ShowBg - ldr r2, _081465AC @ =gUnknown_2037AB8 + ldr r2, _081465AC @ =gPaletteFade ldrb r1, [r2, 0x8] movs r0, 0x7F ands r0, r1 @@ -1898,7 +1898,7 @@ _0814655C: bl UpdatePaletteFade b _081465D2 .align 2, 0 -_081465AC: .4byte gUnknown_2037AB8 +_081465AC: .4byte gPaletteFade _081465B0: .4byte gUnknown_203F3CC _081465B4: .4byte 0x000001c1 _081465B8: diff --git a/asm/naming_screen.s b/asm/naming_screen.s index e42ed45d8..e8a5cb2c2 100644 --- a/asm/naming_screen.s +++ b/asm/naming_screen.s @@ -692,7 +692,7 @@ _0809DF24: .4byte 0x00001e10 thumb_func_start sub_809DF28 sub_809DF28: @ 809DF28 push {lr} - ldr r0, _0809DF58 @ =gUnknown_2037AB8 + ldr r0, _0809DF58 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -714,7 +714,7 @@ _0809DF50: pop {r1} bx r1 .align 2, 0 -_0809DF58: .4byte gUnknown_2037AB8 +_0809DF58: .4byte gPaletteFade _0809DF5C: .4byte gUnknown_203998C _0809DF60: .4byte 0x00001e10 thumb_func_end sub_809DF28 @@ -837,7 +837,7 @@ _0809E044: .4byte 0x00001e10 thumb_func_start sub_809E048 sub_809E048: @ 809E048 push {r4,r5,lr} - ldr r0, _0809E0A0 @ =gUnknown_2037AB8 + ldr r0, _0809E0A0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -875,7 +875,7 @@ _0809E096: pop {r1} bx r1 .align 2, 0 -_0809E0A0: .4byte gUnknown_2037AB8 +_0809E0A0: .4byte gPaletteFade _0809E0A4: .4byte gUnknown_203998C _0809E0A8: .4byte 0x00001e2c _0809E0AC: .4byte 0x00001e3c diff --git a/asm/oak_speech.s b/asm/oak_speech.s index c5591fc0e..e20c96638 100644 --- a/asm/oak_speech.s +++ b/asm/oak_speech.s @@ -462,7 +462,7 @@ _0812ECF4: .4byte gUnknown_203B108 _0812ECF8: .4byte gSpriteCoordOffsetX _0812ECFC: .4byte gSpriteCoordOffsetY _0812ED00: - ldr r2, _0812ED34 @ =gUnknown_2037AB8 + ldr r2, _0812ED34 @ =gPaletteFade ldrb r0, [r2, 0x8] movs r1, 0x80 orrs r0, r1 @@ -483,7 +483,7 @@ _0812ED00: bl LoadPalette b _0812EE94 .align 2, 0 -_0812ED34: .4byte gUnknown_2037AB8 +_0812ED34: .4byte gPaletteFade _0812ED38: .4byte gUnknown_8460568 _0812ED3C: bl sub_80F78A8 @@ -561,7 +561,7 @@ _0812ED9A: movs r3, 0x13 bl FillBgTilemapBufferRect_Palette0 bl sub_812EEB0 - ldr r2, _0812EE28 @ =gUnknown_2037AB8 + ldr r2, _0812EE28 @ =gPaletteFade ldrb r1, [r2, 0x8] movs r0, 0x7F ands r0, r1 @@ -590,7 +590,7 @@ _0812ED9A: _0812EE1C: .4byte 0x0000d00f _0812EE20: .4byte 0x0000d002 _0812EE24: .4byte 0x0000d00e -_0812EE28: .4byte gUnknown_2037AB8 +_0812EE28: .4byte gPaletteFade _0812EE2C: .4byte gTasks _0812EE30: movs r0, 0x1 @@ -890,7 +890,7 @@ sub_812F0B0: @ 812F0B0 sub sp, 0x4 lsls r0, 24 lsrs r5, r0, 24 - ldr r0, _0812F10C @ =gUnknown_2037AB8 + ldr r0, _0812F10C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -931,7 +931,7 @@ sub_812F0B0: @ 812F0B0 bl BeginNormalPaletteFade b _0812F150 .align 2, 0 -_0812F10C: .4byte gUnknown_2037AB8 +_0812F10C: .4byte gPaletteFade _0812F110: .4byte gMain _0812F114: .4byte gTasks _0812F118: .4byte gUnknown_203B108 @@ -992,7 +992,7 @@ sub_812F180: @ 812F180 lsrs r7, r0, 24 movs r0, 0 mov r8, r0 - ldr r0, _0812F1B0 @ =gUnknown_2037AB8 + ldr r0, _0812F1B0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1008,7 +1008,7 @@ sub_812F180: @ 812F180 mov r8, r1 b _0812F1C4 .align 2, 0 -_0812F1B0: .4byte gUnknown_2037AB8 +_0812F1B0: .4byte gPaletteFade _0812F1B4: .4byte gUnknown_203B108 _0812F1B8: cmp r0, 0 @@ -1115,7 +1115,7 @@ sub_812F274: @ 812F274 lsrs r0, 24 mov r8, r0 movs r6, 0 - ldr r0, _0812F32C @ =gUnknown_2037AB8 + ldr r0, _0812F32C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1194,7 +1194,7 @@ _0812F320: pop {r0} bx r0 .align 2, 0 -_0812F32C: .4byte gUnknown_2037AB8 +_0812F32C: .4byte gPaletteFade _0812F330: .4byte gUnknown_203B108 _0812F334: .4byte gTasks _0812F338: .4byte sub_812F33C @@ -1402,7 +1402,7 @@ _0812F4E4: .4byte _0812F644 .4byte _0812F688 _0812F4F8: - ldr r0, _0812F534 @ =gUnknown_2037AB8 + ldr r0, _0812F534 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1429,7 +1429,7 @@ _0812F506: bl SetGpuRegBits b _0812F676 .align 2, 0 -_0812F534: .4byte gUnknown_2037AB8 +_0812F534: .4byte gPaletteFade _0812F538: ldrh r1, [r4, 0x2E] movs r0, 0x3 @@ -1681,7 +1681,7 @@ sub_812F72C: @ 812F72C ldr r0, _0812F7B4 @ =gTasks+0x8 mov r8, r0 adds r4, r7, r0 - ldr r0, _0812F7B8 @ =gUnknown_2037AB8 + ldr r0, _0812F7B8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1731,7 +1731,7 @@ _0812F7A6: bx r0 .align 2, 0 _0812F7B4: .4byte gTasks+0x8 -_0812F7B8: .4byte gUnknown_2037AB8 +_0812F7B8: .4byte gPaletteFade _0812F7BC: .4byte sub_812F7C0 thumb_func_end sub_812F72C @@ -1834,7 +1834,7 @@ sub_812F880: @ 812F880 lsls r0, 3 ldr r1, _0812F8B0 @ =gTasks+0x8 adds r2, r0, r1 - ldr r0, _0812F8B4 @ =gUnknown_2037AB8 + ldr r0, _0812F8B4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1850,7 +1850,7 @@ sub_812F880: @ 812F880 b _0812F92E .align 2, 0 _0812F8B0: .4byte gTasks+0x8 -_0812F8B4: .4byte gUnknown_2037AB8 +_0812F8B4: .4byte gPaletteFade _0812F8B8: movs r0, 0 movs r1, 0 @@ -3215,7 +3215,7 @@ sub_81303B4: @ 81303B4 sub sp, 0x8 lsls r0, 24 lsrs r6, r0, 24 - ldr r0, _081303F8 @ =gUnknown_2037AB8 + ldr r0, _081303F8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -3243,7 +3243,7 @@ sub_81303B4: @ 81303B4 bl DoNamingScreen b _08130440 .align 2, 0 -_081303F8: .4byte gUnknown_2037AB8 +_081303F8: .4byte gPaletteFade _081303FC: .4byte gUnknown_203B108 _08130400: .4byte gSaveBlock2Ptr _08130404: .4byte sub_8130C64 @@ -3301,7 +3301,7 @@ sub_8130464: @ 8130464 lsls r6, r1, 3 ldr r7, _081304A0 @ =gTasks+0x8 adds r5, r6, r7 - ldr r0, _081304A4 @ =gUnknown_2037AB8 + ldr r0, _081304A4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -3322,7 +3322,7 @@ sub_8130464: @ 8130464 b _081304BC .align 2, 0 _081304A0: .4byte gTasks+0x8 -_081304A4: .4byte gUnknown_2037AB8 +_081304A4: .4byte gPaletteFade _081304A8: .4byte gUnknown_203B108 _081304AC: .4byte gStringVar4 _081304B0: .4byte gUnknown_81C5E13 @@ -4072,7 +4072,7 @@ sub_8130A80: @ 8130A80 lsls r0, 3 ldr r1, _08130AB8 @ =gTasks+0x8 adds r2, r0, r1 - ldr r0, _08130ABC @ =gUnknown_2037AB8 + ldr r0, _08130ABC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -4091,7 +4091,7 @@ sub_8130A80: @ 8130A80 b _08130AD4 .align 2, 0 _08130AB8: .4byte gTasks+0x8 -_08130ABC: .4byte gUnknown_2037AB8 +_08130ABC: .4byte gPaletteFade _08130AC0: adds r0, 0x1 strh r0, [r2, 0x2] @@ -4260,7 +4260,7 @@ sub_8130BF0: @ 8130BF0 push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _08130C14 @ =gUnknown_2037AB8 + ldr r0, _08130C14 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -4277,7 +4277,7 @@ _08130C10: pop {r0} bx r0 .align 2, 0 -_08130C14: .4byte gUnknown_2037AB8 +_08130C14: .4byte gPaletteFade _08130C18: .4byte gTasks _08130C1C: .4byte sub_8130C20 thumb_func_end sub_8130BF0 @@ -5350,7 +5350,7 @@ sub_81314DC: @ 81314DC mov r12, r1 cmp r0, 0x10 bne _08131530 - ldr r0, _0813152C @ =gUnknown_2037AB8 + ldr r0, _0813152C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -5369,7 +5369,7 @@ sub_81314DC: @ 81314DC b _081315BA .align 2, 0 _08131528: .4byte gTasks -_0813152C: .4byte gUnknown_2037AB8 +_0813152C: .4byte gPaletteFade _08131530: ldrh r1, [r2, 0x10] movs r7, 0x10 diff --git a/asm/option_menu.s b/asm/option_menu.s index 780b5046e..e3c44d1ac 100644 --- a/asm/option_menu.s +++ b/asm/option_menu.s @@ -640,7 +640,7 @@ _08088878: .align 2, 0 _08088890: .4byte gUnknown_2039620 _08088894: - ldr r0, _080888AC @ =gUnknown_2037AB8 + ldr r0, _080888AC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -653,7 +653,7 @@ _080888A2: strb r0, [r1, 0x10] b _080888B6 .align 2, 0 -_080888AC: .4byte gUnknown_2037AB8 +_080888AC: .4byte gPaletteFade _080888B0: adds r0, r2, 0 bl sub_8088B00 diff --git a/asm/overworld.s b/asm/overworld.s index 5e6315b9f..ddc5bf6d7 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -3409,7 +3409,7 @@ sub_80565A8: @ 80565A8 thumb_func_start sub_80565B4 sub_80565B4: @ 80565B4 push {r4,lr} - ldr r0, _080565DC @ =gUnknown_2037AB8 + ldr r0, _080565DC @ =gPaletteFade ldrb r0, [r0, 0x7] lsrs r0, 7 adds r4, r0, 0 @@ -3427,7 +3427,7 @@ _080565D4: pop {r0} bx r0 .align 2, 0 -_080565DC: .4byte gUnknown_2037AB8 +_080565DC: .4byte gPaletteFade thumb_func_end sub_80565B4 thumb_func_start sub_80565E0 @@ -5161,7 +5161,7 @@ _080574A0: .4byte sub_8056534 thumb_func_start sub_80574A4 sub_80574A4: @ 80574A4 push {r4,lr} - ldr r0, _080574E8 @ =gUnknown_2037AB8 + ldr r0, _080574E8 @ =gPaletteFade ldrb r0, [r0, 0x7] lsrs r0, 7 adds r4, r0, 0 @@ -5186,13 +5186,13 @@ _080574E0: pop {r0} bx r0 .align 2, 0 -_080574E8: .4byte gUnknown_2037AB8 +_080574E8: .4byte gPaletteFade thumb_func_end sub_80574A4 thumb_func_start sub_80574EC sub_80574EC: @ 80574EC push {lr} - ldr r0, _08057500 @ =gUnknown_2037AB8 + ldr r0, _08057500 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -5201,7 +5201,7 @@ sub_80574EC: @ 80574EC movs r0, 0 b _08057506 .align 2, 0 -_08057500: .4byte gUnknown_2037AB8 +_08057500: .4byte gPaletteFade _08057504: movs r0, 0x1 _08057506: @@ -5305,7 +5305,7 @@ _08057560: ldrh r0, [r0, 0x4] strh r0, [r1] bl warp_in - ldr r2, _08057610 @ =gUnknown_2037AB8 + ldr r2, _08057610 @ =gPaletteFade ldrb r0, [r2, 0x8] movs r1, 0x80 orrs r0, r1 @@ -5333,7 +5333,7 @@ _08057600: .4byte 0xffff0000 _08057604: .4byte 0x0000ffff _08057608: .4byte gUnknown_2031DBC _0805760C: .4byte gUnknown_2031DE8 -_08057610: .4byte gUnknown_2037AB8 +_08057610: .4byte gPaletteFade _08057614: .4byte gUnknown_3005024 _08057618: .4byte sub_80574EC _0805761C: .4byte gMain @@ -5443,7 +5443,7 @@ _0805770C: b _0805772A _08057712: bl cur_mapheader_run_tileset_funcs_after_some_cpuset - ldr r2, _08057734 @ =gUnknown_2037AB8 + ldr r2, _08057734 @ =gPaletteFade ldrb r1, [r2, 0x8] movs r0, 0x7F ands r0, r1 @@ -5458,7 +5458,7 @@ _0805772A: strb r0, [r4] b _08057740 .align 2, 0 -_08057734: .4byte gUnknown_2037AB8 +_08057734: .4byte gPaletteFade _08057738: .4byte 0x3fffffff _0805773C: movs r0, 0x1 @@ -5613,7 +5613,7 @@ sub_8057854: @ 8057854 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0805787C @ =gUnknown_2037AB8 + ldr r0, _0805787C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -5629,7 +5629,7 @@ _08057876: pop {r0} bx r0 .align 2, 0 -_0805787C: .4byte gUnknown_2037AB8 +_0805787C: .4byte gPaletteFade _08057880: .4byte sub_805671C thumb_func_end sub_8057854 @@ -7029,7 +7029,7 @@ sub_8058274: @ 8058274 strb r1, [r0] cmp r2, 0x1 beq _080582C0 - ldr r2, _080582D4 @ =gUnknown_2037AB8 + ldr r2, _080582D4 @ =gPaletteFade ldrb r1, [r2, 0x7] movs r0, 0x80 ands r0, r1 @@ -7048,7 +7048,7 @@ _080582C4: .4byte gUnknown_3000E84 _080582C8: .4byte sub_8057DC8 _080582CC: .4byte sub_8057DA4 _080582D0: .4byte gUnknown_3000E88 -_080582D4: .4byte gUnknown_2037AB8 +_080582D4: .4byte gPaletteFade _080582D8: movs r0, 0 _080582DA: diff --git a/asm/palette.s b/asm/palette.s index a99aeda10..d53329082 100644 --- a/asm/palette.s +++ b/asm/palette.s @@ -109,7 +109,7 @@ _08070470: .4byte gUnknown_20375F8 thumb_func_start TransferPlttBuffer TransferPlttBuffer: @ 8070474 push {r4,r5,lr} - ldr r4, _080704BC @ =gUnknown_2037AB8 + ldr r4, _080704BC @ =gPaletteFade ldrb r1, [r4, 0x8] movs r5, 0x80 adds r0, r5, 0 @@ -145,7 +145,7 @@ _080704B6: pop {r0} bx r0 .align 2, 0 -_080704BC: .4byte gUnknown_2037AB8 +_080704BC: .4byte gPaletteFade _080704C0: .4byte gUnknown_20375F8 _080704C4: .4byte 0x040000d4 _080704C8: .4byte 0x80000200 @@ -164,7 +164,7 @@ UpdatePaletteFade: @ 80704D0 .align 2, 0 _080704E0: .4byte gUnknown_2037AC8 _080704E4: - ldr r0, _080704F8 @ =gUnknown_2037AB8 + ldr r0, _080704F8 @ =gPaletteFade ldrb r0, [r0, 0x9] movs r1, 0x3 ands r1, r0 @@ -173,7 +173,7 @@ _080704E4: bl UpdateNormalPaletteFade b _0807050A .align 2, 0 -_080704F8: .4byte gUnknown_2037AB8 +_080704F8: .4byte gPaletteFade _080704FC: cmp r1, 0x1 bne _08070506 @@ -185,7 +185,7 @@ _0807050A: lsls r0, 24 lsrs r3, r0, 24 ldr r2, _08070520 @ =gUnknown_2037AC8 - ldr r0, _08070524 @ =gUnknown_2037AB8 + ldr r0, _08070524 @ =gPaletteFade ldr r0, [r0] movs r1, 0 orrs r0, r1 @@ -196,7 +196,7 @@ _0807051C: bx r1 .align 2, 0 _08070520: .4byte gUnknown_2037AC8 -_08070524: .4byte gUnknown_2037AB8 +_08070524: .4byte gPaletteFade thumb_func_end UpdatePaletteFade thumb_func_start ResetPaletteFade @@ -268,7 +268,7 @@ BeginNormalPaletteFade: @ 8070588 lsls r0, 16 lsrs r0, 16 mov r8, r0 - ldr r5, _080705B8 @ =gUnknown_2037AB8 + ldr r5, _080705B8 @ =gPaletteFade ldrb r1, [r5, 0x7] movs r0, 0x80 ands r0, r1 @@ -277,7 +277,7 @@ BeginNormalPaletteFade: @ 8070588 movs r0, 0 b _080706B4 .align 2, 0 -_080705B8: .4byte gUnknown_2037AB8 +_080705B8: .4byte gPaletteFade _080705BC: ldrb r0, [r5, 0xA] movs r3, 0x79 @@ -367,7 +367,7 @@ _08070664: _08070668: strb r3, [r5, 0x8] bl UpdatePaletteFade - ldr r4, _080706C0 @ =gUnknown_2037AB8 + ldr r4, _080706C0 @ =gPaletteFade ldrb r1, [r4, 0x8] lsrs r5, r1, 7 movs r0, 0x7F @@ -393,7 +393,7 @@ _08070668: beq _080706A4 bl UpdateBlendRegisters _080706A4: - ldr r2, _080706C0 @ =gUnknown_2037AB8 + ldr r2, _080706C0 @ =gPaletteFade lsls r3, r5, 7 ldrb r1, [r2, 0x8] movs r0, 0x7F @@ -408,7 +408,7 @@ _080706B4: pop {r1} bx r1 .align 2, 0 -_080706C0: .4byte gUnknown_2037AB8 +_080706C0: .4byte gPaletteFade _080706C4: .4byte gUnknown_20375F8 _080706C8: .4byte 0x04000100 _080706CC: .4byte gUnknown_2037AC8 @@ -703,7 +703,7 @@ _080708F0: .4byte 0xfffff01f unused_sub_80A1E40: @ 80708F4 push {r4-r6,lr} adds r4, r0, 0 - ldr r3, _0807094C @ =gUnknown_2037AB8 + ldr r3, _0807094C @ =gPaletteFade ldrb r1, [r3, 0x7] movs r0, 0x80 ands r0, r1 @@ -745,7 +745,7 @@ unused_sub_80A1E40: @ 80708F4 bl BlendPalette b _080709A8 .align 2, 0 -_0807094C: .4byte gUnknown_2037AB8 +_0807094C: .4byte gPaletteFade _08070950: ldrb r1, [r3, 0x4] movs r0, 0x3F @@ -912,7 +912,7 @@ _08070A80: .4byte 0xfffff01f thumb_func_start ResetPaletteFadeControl ResetPaletteFadeControl: @ 8070A84 - ldr r2, _08070AEC @ =gUnknown_2037AB8 + ldr r2, _08070AEC @ =gPaletteFade movs r0, 0 str r0, [r2] subs r0, 0x40 @@ -965,7 +965,7 @@ ResetPaletteFadeControl: @ 8070A84 strb r3, [r2, 0xA] bx lr .align 2, 0 -_08070AEC: .4byte gUnknown_2037AB8 +_08070AEC: .4byte gPaletteFade _08070AF0: .4byte 0xfffff83f _08070AF4: .4byte 0xffff8000 _08070AF8: .4byte 0xfffe0fff @@ -1059,7 +1059,7 @@ _08070B88: thumb_func_start UpdateNormalPaletteFade UpdateNormalPaletteFade: @ 8070B8C push {r4-r7,lr} - ldr r4, _08070BA0 @ =gUnknown_2037AB8 + ldr r4, _08070BA0 @ =gPaletteFade ldrb r1, [r4, 0x7] movs r0, 0x80 ands r0, r1 @@ -1068,7 +1068,7 @@ UpdateNormalPaletteFade: @ 8070B8C movs r0, 0 b _08070CC0 .align 2, 0 -_08070BA0: .4byte gUnknown_2037AB8 +_08070BA0: .4byte gPaletteFade _08070BA4: bl IsSoftwarePaletteFadeFinishing lsls r0, 24 @@ -1106,7 +1106,7 @@ _08070BDE: strb r0, [r4, 0x4] _08070BE6: movs r5, 0 - ldr r2, _08070BFC @ =gUnknown_2037AB8 + ldr r2, _08070BFC @ =gPaletteFade ldrb r1, [r2, 0xA] movs r0, 0x4 ands r0, r1 @@ -1116,7 +1116,7 @@ _08070BE6: ldrh r4, [r7] b _08070C06 .align 2, 0 -_08070BFC: .4byte gUnknown_2037AB8 +_08070BFC: .4byte gPaletteFade _08070C00: ldrh r4, [r7, 0x2] movs r5, 0x80 @@ -1124,7 +1124,7 @@ _08070C00: _08070C06: cmp r4, 0 beq _08070C38 - ldr r7, _08070C74 @ =gUnknown_2037AB8 + ldr r7, _08070C74 @ =gPaletteFade adds r6, r7, 0 _08070C0E: movs r0, 0x1 @@ -1180,7 +1180,7 @@ _08070C38: strb r4, [r7, 0xA] b _08070CBC .align 2, 0 -_08070C74: .4byte gUnknown_2037AB8 +_08070C74: .4byte gPaletteFade _08070C78: ldrb r1, [r7, 0x8] movs r0, 0x40 @@ -1445,7 +1445,7 @@ BeginFastPaletteFade: @ 8070E44 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r3, _08070E64 @ =gUnknown_2037AB8 + ldr r3, _08070E64 @ =gPaletteFade ldrb r2, [r3, 0xA] movs r1, 0x79 negs r1, r1 @@ -1457,7 +1457,7 @@ BeginFastPaletteFade: @ 8070E44 pop {r0} bx r0 .align 2, 0 -_08070E64: .4byte gUnknown_2037AB8 +_08070E64: .4byte gPaletteFade thumb_func_end BeginFastPaletteFade thumb_func_start BeginFastPaletteFadeInternal @@ -1467,7 +1467,7 @@ BeginFastPaletteFadeInternal: @ 8070E68 lsls r0, 24 lsrs r0, 24 adds r4, r0, 0 - ldr r2, _08070EDC @ =gUnknown_2037AB8 + ldr r2, _08070EDC @ =gPaletteFade ldrh r0, [r2, 0x4] movs r3, 0xF8 lsls r3, 3 @@ -1520,7 +1520,7 @@ _08070ED0: pop {r0} bx r0 .align 2, 0 -_08070EDC: .4byte gUnknown_2037AB8 +_08070EDC: .4byte gPaletteFade _08070EE0: .4byte gUnknown_20375F8 _08070EE4: .4byte 0x01000200 _08070EE8: .4byte 0x00007fff @@ -1534,7 +1534,7 @@ UpdateFastPaletteFade: @ 8070EEC mov r5, r8 push {r5-r7} sub sp, 0x8 - ldr r4, _08070F08 @ =gUnknown_2037AB8 + ldr r4, _08070F08 @ =gPaletteFade ldrb r1, [r4, 0x7] movs r0, 0x80 ands r0, r1 @@ -1543,7 +1543,7 @@ UpdateFastPaletteFade: @ 8070EEC movs r0, 0 b _08071246 .align 2, 0 -_08070F08: .4byte gUnknown_2037AB8 +_08070F08: .4byte gPaletteFade _08070F0C: bl IsSoftwarePaletteFadeFinishing lsls r0, 24 @@ -1569,7 +1569,7 @@ _08070F30: lsls r1, 1 mov r10, r1 _08070F38: - ldr r1, _08070F50 @ =gUnknown_2037AB8 + ldr r1, _08070F50 @ =gPaletteFade ldrb r0, [r1, 0x8] lsls r0, 26 lsrs r0, 26 @@ -1581,7 +1581,7 @@ _08070F38: beq _08070F62 b _08071148 .align 2, 0 -_08070F50: .4byte gUnknown_2037AB8 +_08070F50: .4byte gPaletteFade _08070F54: cmp r0, 0x2 bne _08070F5A @@ -1853,7 +1853,7 @@ _0807112C: cmp r7, r10 bcc _080710EE _08071148: - ldr r0, _08071174 @ =gUnknown_2037AB8 + ldr r0, _08071174 @ =gPaletteFade ldrb r2, [r0, 0xA] lsls r0, r2, 29 lsrs r0, 31 @@ -1864,7 +1864,7 @@ _08071148: negs r3, r3 ands r3, r2 orrs r3, r1 - ldr r1, _08071174 @ =gUnknown_2037AB8 + ldr r1, _08071174 @ =gPaletteFade strb r3, [r1, 0xA] movs r0, 0x4 ands r0, r3 @@ -1874,9 +1874,9 @@ _08071148: b _08071244 .align 2, 0 _08071170: .4byte gUnknown_20375F8 -_08071174: .4byte gUnknown_2037AB8 +_08071174: .4byte gPaletteFade _08071178: - ldr r2, _08071194 @ =gUnknown_2037AB8 + ldr r2, _08071194 @ =gPaletteFade ldrh r4, [r2, 0x4] lsls r5, r4, 21 lsrs r0, r5, 27 @@ -1887,11 +1887,11 @@ _08071178: bge _0807119C ldr r0, _08071198 @ =0xfffff83f ands r0, r4 - ldr r3, _08071194 @ =gUnknown_2037AB8 + ldr r3, _08071194 @ =gPaletteFade strh r0, [r3, 0x4] b _080711B2 .align 2, 0 -_08071194: .4byte gUnknown_2037AB8 +_08071194: .4byte gPaletteFade _08071198: .4byte 0xfffff83f _0807119C: lsrs r1, r5, 27 @@ -1903,17 +1903,17 @@ _0807119C: ldr r0, _080711D8 @ =0xfffff83f ands r0, r4 orrs r0, r1 - ldr r4, _080711DC @ =gUnknown_2037AB8 + ldr r4, _080711DC @ =gPaletteFade strh r0, [r4, 0x4] _080711B2: - ldr r1, _080711DC @ =gUnknown_2037AB8 + ldr r1, _080711DC @ =gPaletteFade ldrh r0, [r1, 0x4] movs r1, 0xF8 lsls r1, 3 ands r1, r0 cmp r1, 0 bne _08071240 - ldr r2, _080711DC @ =gUnknown_2037AB8 + ldr r2, _080711DC @ =gPaletteFade ldrb r0, [r2, 0x8] lsls r0, 26 lsrs r0, 26 @@ -1926,7 +1926,7 @@ _080711B2: b _0807122C .align 2, 0 _080711D8: .4byte 0xfffff83f -_080711DC: .4byte gUnknown_2037AB8 +_080711DC: .4byte gPaletteFade _080711E0: cmp r0, 0x2 beq _080711EA @@ -1962,7 +1962,7 @@ _08071220: ldr r2, _0807125C @ =0x05000100 bl CpuSet _0807122C: - ldr r2, _08071260 @ =gUnknown_2037AB8 + ldr r2, _08071260 @ =gPaletteFade ldrb r1, [r2, 0x9] movs r0, 0x4 negs r0, r0 @@ -1973,7 +1973,7 @@ _0807122C: orrs r0, r1 strb r0, [r2, 0xA] _08071240: - ldr r3, _08071260 @ =gUnknown_2037AB8 + ldr r3, _08071260 @ =gPaletteFade ldrb r0, [r3, 0x7] _08071244: lsrs r0, 7 @@ -1989,7 +1989,7 @@ _08071246: .align 2, 0 _08071258: .4byte gUnknown_20375F8 _0807125C: .4byte 0x05000100 -_08071260: .4byte gUnknown_2037AB8 +_08071260: .4byte gPaletteFade thumb_func_end UpdateFastPaletteFade thumb_func_start BeginHardwarePaletteFade @@ -2006,7 +2006,7 @@ BeginHardwarePaletteFade: @ 8071264 lsrs r3, 24 lsls r5, 24 lsrs r5, 24 - ldr r7, _080712EC @ =gUnknown_2037AB8 + ldr r7, _080712EC @ =gPaletteFade str r0, [r7] movs r0, 0x3F ands r1, r0 @@ -2062,7 +2062,7 @@ BeginHardwarePaletteFade: @ 8071264 ands r6, r0 b _080712F8 .align 2, 0 -_080712EC: .4byte gUnknown_2037AB8 +_080712EC: .4byte gPaletteFade _080712F0: .4byte 0xfffff83f _080712F4: movs r0, 0x40 @@ -2077,7 +2077,7 @@ _080712F8: thumb_func_start UpdateHardwarePaletteFade UpdateHardwarePaletteFade: @ 8071300 push {r4-r7,lr} - ldr r2, _08071314 @ =gUnknown_2037AB8 + ldr r2, _08071314 @ =gPaletteFade ldrb r1, [r2, 0x7] movs r0, 0x80 ands r0, r1 @@ -2087,7 +2087,7 @@ UpdateHardwarePaletteFade: @ 8071300 movs r0, 0 b _08071410 .align 2, 0 -_08071314: .4byte gUnknown_2037AB8 +_08071314: .4byte gPaletteFade _08071318: ldrb r2, [r4, 0x4] lsls r1, r2, 26 @@ -2229,7 +2229,7 @@ _08071418: .4byte 0xfffff83f thumb_func_start UpdateBlendRegisters UpdateBlendRegisters: @ 807141C push {r4,lr} - ldr r4, _08071468 @ =gUnknown_2037AB8 + ldr r4, _08071468 @ =gPaletteFade ldrh r1, [r4] movs r0, 0x50 bl SetGpuReg @@ -2265,14 +2265,14 @@ _08071460: pop {r0} bx r0 .align 2, 0 -_08071468: .4byte gUnknown_2037AB8 +_08071468: .4byte gPaletteFade _0807146C: .4byte 0xfffff83f thumb_func_end UpdateBlendRegisters thumb_func_start IsSoftwarePaletteFadeFinishing IsSoftwarePaletteFadeFinishing: @ 8071470 push {r4,lr} - ldr r3, _080714A8 @ =gUnknown_2037AB8 + ldr r3, _080714A8 @ =gPaletteFade ldrb r4, [r3, 0xA] movs r0, 0x2 ands r0, r4 @@ -2300,7 +2300,7 @@ IsSoftwarePaletteFadeFinishing: @ 8071470 str r0, [r3, 0x8] b _080714C4 .align 2, 0 -_080714A8: .4byte gUnknown_2037AB8 +_080714A8: .4byte gPaletteFade _080714AC: .4byte 0xfffe0fff _080714B0: lsls r0, r2, 15 diff --git a/asm/party_menu.s b/asm/party_menu.s index c23e401ef..c482366d4 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -285,13 +285,13 @@ _0811EC8E: b _0811EDFC _0811EC94: bl ResetPaletteFade - ldr r2, _0811ECA4 @ =gUnknown_2037AB8 + ldr r2, _0811ECA4 @ =gPaletteFade ldrb r0, [r2, 0x8] movs r1, 0x80 orrs r0, r1 b _0811EDFA .align 2, 0 -_0811ECA4: .4byte gUnknown_2037AB8 +_0811ECA4: .4byte gPaletteFade _0811ECA8: bl ResetSpriteData b _0811EDFC @@ -452,7 +452,7 @@ _0811EDDE: movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade - ldr r2, _0811EE0C @ =gUnknown_2037AB8 + ldr r2, _0811EE0C @ =gPaletteFade ldrb r1, [r2, 0x8] movs r0, 0x7F ands r0, r1 @@ -468,7 +468,7 @@ _0811EDFC: strb r0, [r1] b _0811EE2C .align 2, 0 -_0811EE0C: .4byte gUnknown_2037AB8 +_0811EE0C: .4byte gPaletteFade _0811EE10: .4byte gMain _0811EE14: ldr r0, _0811EE24 @ =sub_811EBBC @@ -522,7 +522,7 @@ sub_811EE74: @ 811EE74 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0811EEA0 @ =gUnknown_2037AB8 + ldr r0, _0811EEA0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -539,7 +539,7 @@ _0811EE98: pop {r0} bx r0 .align 2, 0 -_0811EEA0: .4byte gUnknown_2037AB8 +_0811EEA0: .4byte gPaletteFade _0811EEA4: .4byte gUnknown_203B0A0 thumb_func_end sub_811EE74 @@ -2092,7 +2092,7 @@ sub_811FAB4: @ 811FAB4 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r0, _0811FAE8 @ =gUnknown_2037AB8 + ldr r0, _0811FAE8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2114,7 +2114,7 @@ _0811FAD6: bl SetMainCallback2 b _0811FAFA .align 2, 0 -_0811FAE8: .4byte gUnknown_2037AB8 +_0811FAE8: .4byte gPaletteFade _0811FAEC: .4byte gUnknown_203B0A0 _0811FAF0: .4byte gUnknown_203B09C _0811FAF4: @@ -2156,7 +2156,7 @@ sub_811FB28: @ 811FB28 lsls r0, 24 lsrs r5, r0, 24 adds r6, r5, 0 - ldr r0, _0811FB64 @ =gUnknown_2037AB8 + ldr r0, _0811FB64 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2180,7 +2180,7 @@ sub_811FB28: @ 811FB28 beq _0811FB6E b _0811FB98 .align 2, 0 -_0811FB64: .4byte gUnknown_2037AB8 +_0811FB64: .4byte gPaletteFade _0811FB68: cmp r0, 0x8 beq _0811FB82 @@ -4413,7 +4413,7 @@ sub_8120C3C: @ 8120C3C push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _08120C60 @ =gUnknown_2037AB8 + ldr r0, _08120C60 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -4430,7 +4430,7 @@ _08120C5C: pop {r0} bx r0 .align 2, 0 -_08120C60: .4byte gUnknown_2037AB8 +_08120C60: .4byte gPaletteFade _08120C64: .4byte gTasks _08120C68: .4byte sub_8120C6C thumb_func_end sub_8120C3C @@ -4471,7 +4471,7 @@ sub_8120CA8: @ 8120CA8 push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _08120CCC @ =gUnknown_2037AB8 + ldr r0, _08120CCC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -4488,7 +4488,7 @@ _08120CC8: pop {r0} bx r0 .align 2, 0 -_08120CCC: .4byte gUnknown_2037AB8 +_08120CCC: .4byte gPaletteFade _08120CD0: .4byte gTasks _08120CD4: .4byte sub_8120CD8 thumb_func_end sub_8120CA8 @@ -4584,7 +4584,7 @@ sub_8120D7C: @ 8120D7C push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _08120DA0 @ =gUnknown_2037AB8 + ldr r0, _08120DA0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -4601,7 +4601,7 @@ _08120D9C: pop {r0} bx r0 .align 2, 0 -_08120DA0: .4byte gUnknown_2037AB8 +_08120DA0: .4byte gPaletteFade _08120DA4: .4byte gTasks _08120DA8: .4byte sub_8120DAC thumb_func_end sub_8120D7C @@ -4700,7 +4700,7 @@ sub_8120E58: @ 8120E58 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _08120E90 @ =gUnknown_2037AB8 + ldr r0, _08120E90 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -4722,7 +4722,7 @@ sub_8120E58: @ 8120E58 bl sub_8121D0C b _08120E9E .align 2, 0 -_08120E90: .4byte gUnknown_2037AB8 +_08120E90: .4byte gPaletteFade _08120E94: .4byte gUnknown_203B0A0 _08120E98: movs r0, 0 @@ -4775,7 +4775,7 @@ sub_8120EE0: @ 8120EE0 lsls r0, 3 ldr r1, _08120F1C @ =gTasks+0x8 adds r6, r0, r1 - ldr r0, _08120F20 @ =gUnknown_2037AB8 + ldr r0, _08120F20 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -4798,7 +4798,7 @@ sub_8120EE0: @ 8120EE0 b _08120F62 .align 2, 0 _08120F1C: .4byte gTasks+0x8 -_08120F20: .4byte gUnknown_2037AB8 +_08120F20: .4byte gPaletteFade _08120F24: cmp r0, 0xF0 beq _08120F44 @@ -4919,7 +4919,7 @@ sub_8120FF0: @ 8120FF0 lsls r0, 3 ldr r1, _0812102C @ =gTasks+0x8 adds r4, r0, r1 - ldr r0, _08121030 @ =gUnknown_2037AB8 + ldr r0, _08121030 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -4941,7 +4941,7 @@ sub_8120FF0: @ 8120FF0 b _08121048 .align 2, 0 _0812102C: .4byte gTasks+0x8 -_08121030: .4byte gUnknown_2037AB8 +_08121030: .4byte gPaletteFade _08121034: ldr r0, _08121050 @ =gUnknown_203B09C ldr r1, [r0] @@ -8529,7 +8529,7 @@ sub_8122C5C: @ 8122C5C push {r4-r7,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r0, _08122C94 @ =gUnknown_2037AB8 + ldr r0, _08122C94 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -8553,7 +8553,7 @@ sub_8122C5C: @ 8122C5C bl ProcessMenuInputNoWrapAround_other b _08122CA4 .align 2, 0 -_08122C94: .4byte gUnknown_2037AB8 +_08122C94: .4byte gPaletteFade _08122C98: .4byte gTasks+0x8 _08122C9C: .4byte gUnknown_203B09C _08122CA0: @@ -8697,7 +8697,7 @@ _08122DB8: .4byte sub_8122DBC sub_8122DBC: @ 8122DBC push {lr} sub sp, 0xC - ldr r2, _08122DF4 @ =gUnknown_2037AB8 + ldr r2, _08122DF4 @ =gPaletteFade ldrb r0, [r2, 0x8] movs r1, 0x80 orrs r0, r1 @@ -8722,7 +8722,7 @@ sub_8122DBC: @ 8122DBC pop {r0} bx r0 .align 2, 0 -_08122DF4: .4byte gUnknown_2037AB8 +_08122DF4: .4byte gPaletteFade _08122DF8: .4byte gUnknown_203B0A0 _08122DFC: .4byte sub_8122C30 thumb_func_end sub_8122DBC @@ -9986,7 +9986,7 @@ sub_8123824: @ 8123824 push {r7} lsls r0, 24 lsrs r7, r0, 24 - ldr r0, _0812388C @ =gUnknown_2037AB8 + ldr r0, _0812388C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -10031,7 +10031,7 @@ _08123880: pop {r0} bx r0 .align 2, 0 -_0812388C: .4byte gUnknown_2037AB8 +_0812388C: .4byte gPaletteFade _08123890: .4byte gUnknown_203AD30 _08123894: .4byte gUnknown_203B0A0 _08123898: .4byte gPlayerParty @@ -10044,7 +10044,7 @@ sub_81238A4: @ 81238A4 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _081238E4 @ =gUnknown_2037AB8 + ldr r0, _081238E4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -10073,7 +10073,7 @@ _081238DC: pop {r0} bx r0 .align 2, 0 -_081238E4: .4byte gUnknown_2037AB8 +_081238E4: .4byte gPaletteFade _081238E8: .4byte gUnknown_203B0A0 _081238EC: .4byte gPlayerParty _081238F0: .4byte gUnknown_203B0D8 @@ -10383,7 +10383,7 @@ sub_8123B78: @ 8123B78 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _08123BB0 @ =gUnknown_2037AB8 + ldr r0, _08123BB0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -10407,7 +10407,7 @@ sub_8123B78: @ 8123B78 bl sub_8120420 b _08123BD0 .align 2, 0 -_08123BB0: .4byte gUnknown_2037AB8 +_08123BB0: .4byte gPaletteFade _08123BB4: .4byte gUnknown_203B0D8 _08123BB8: .4byte gUnknown_203B0A0 _08123BBC: .4byte gPlayerParty @@ -10657,7 +10657,7 @@ _08123DC8: .4byte sub_8123DCC sub_8123DCC: @ 8123DCC push {lr} sub sp, 0xC - ldr r2, _08123E00 @ =gUnknown_2037AB8 + ldr r2, _08123E00 @ =gPaletteFade ldrb r0, [r2, 0x8] movs r1, 0x80 orrs r0, r1 @@ -10680,7 +10680,7 @@ sub_8123DCC: @ 8123DCC pop {r0} bx r0 .align 2, 0 -_08123E00: .4byte gUnknown_2037AB8 +_08123E00: .4byte gPaletteFade _08123E04: .4byte gUnknown_203B0A0 _08123E08: .4byte sub_8122C30 thumb_func_end sub_8123DCC @@ -12870,7 +12870,7 @@ sub_8124FC8: @ 8124FC8 push {lr} lsls r0, 24 lsrs r3, r0, 24 - ldr r0, _08125000 @ =gUnknown_2037AB8 + ldr r0, _08125000 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -12896,7 +12896,7 @@ _08124FFA: pop {r0} bx r0 .align 2, 0 -_08125000: .4byte gUnknown_2037AB8 +_08125000: .4byte gPaletteFade _08125004: .4byte gUnknown_203B0A0 _08125008: .4byte gUnknown_203B09C _0812500C: .4byte sub_8128184 @@ -14729,7 +14729,7 @@ sub_8125F14: @ 8125F14 lsls r0, 24 lsrs r4, r0, 24 adds r5, r4, 0 - ldr r0, _08125F3C @ =gUnknown_2037AB8 + ldr r0, _08125F3C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -14744,7 +14744,7 @@ sub_8125F14: @ 8125F14 bl sub_8125FFC b _08125F46 .align 2, 0 -_08125F3C: .4byte gUnknown_2037AB8 +_08125F3C: .4byte gPaletteFade _08125F40: adds r0, r5, 0 bl sub_81260D8 @@ -16528,7 +16528,7 @@ sub_8126DC8: @ 8126DC8 push {r7} lsls r0, 24 lsrs r6, r0, 24 - ldr r0, _08126E4C @ =gUnknown_2037AB8 + ldr r0, _08126E4C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -16583,7 +16583,7 @@ sub_8126DC8: @ 8126DC8 bl sub_8125C48 b _08126E98 .align 2, 0 -_08126E4C: .4byte gUnknown_2037AB8 +_08126E4C: .4byte gPaletteFade _08126E50: .4byte gUnknown_203B0A0 _08126E54: .4byte gPlayerParty _08126E58: .4byte gStringVar1 @@ -16813,7 +16813,7 @@ sub_812701C: @ 812701C push {r7} lsls r0, 24 lsrs r7, r0, 24 - ldr r0, _08127084 @ =gUnknown_2037AB8 + ldr r0, _08127084 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -16858,7 +16858,7 @@ _08127078: pop {r0} bx r0 .align 2, 0 -_08127084: .4byte gUnknown_2037AB8 +_08127084: .4byte gPaletteFade _08127088: .4byte gUnknown_203B0A0 _0812708C: .4byte gPlayerParty _08127090: .4byte gTasks @@ -17010,7 +17010,7 @@ sub_81271C4: @ 81271C4 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _081271EC @ =gUnknown_2037AB8 + ldr r0, _081271EC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -17027,7 +17027,7 @@ sub_81271C4: @ 81271C4 bl sub_8120558 b _08127210 .align 2, 0 -_081271EC: .4byte gUnknown_2037AB8 +_081271EC: .4byte gPaletteFade _081271F0: .4byte gUnknown_203B0D8 _081271F4: .4byte gUnknown_203B0A0 _081271F8: @@ -19117,7 +19117,7 @@ sub_81281FC: @ 81281FC lsls r0, 3 ldr r1, _08128270 @ =gTasks+0x8 adds r4, r0, r1 - ldr r0, _08128274 @ =gUnknown_2037AB8 + ldr r0, _08128274 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -19168,7 +19168,7 @@ _08128268: bx r0 .align 2, 0 _08128270: .4byte gTasks+0x8 -_08128274: .4byte gUnknown_2037AB8 +_08128274: .4byte gPaletteFade _08128278: .4byte gUnknown_2022B58 _0812827C: .4byte gUnknown_203B0B4 _08128280: .4byte gTasks diff --git a/asm/player_pc.s b/asm/player_pc.s index a113049c4..ed594cb59 100644 --- a/asm/player_pc.s +++ b/asm/player_pc.s @@ -621,7 +621,7 @@ sub_80EBB70: @ 80EBB70 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080EBBA4 @ =gUnknown_2037AB8 + ldr r0, _080EBBA4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -642,7 +642,7 @@ _080EBB9C: pop {r0} bx r0 .align 2, 0 -_080EBBA4: .4byte gUnknown_2037AB8 +_080EBBA4: .4byte gPaletteFade _080EBBA8: .4byte c2_exit_to_overworld_2_switch _080EBBAC: .4byte gUnknown_3005020 _080EBBB0: .4byte sub_80EBC0C @@ -802,7 +802,7 @@ sub_80EBCD8: @ 80EBCD8 lsls r0, 3 ldr r1, _080EBD0C @ =gTasks+0x8 adds r5, r0, r1 - ldr r0, _080EBD10 @ =gUnknown_2037AB8 + ldr r0, _080EBD10 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -820,7 +820,7 @@ _080EBD06: bx r0 .align 2, 0 _080EBD0C: .4byte gTasks+0x8 -_080EBD10: .4byte gUnknown_2037AB8 +_080EBD10: .4byte gPaletteFade _080EBD14: .4byte c2_exit_to_overworld_2_switch thumb_func_end sub_80EBCD8 @@ -1127,7 +1127,7 @@ sub_80EBF40: @ 80EBF40 mov r10, r0 mov r4, r9 add r4, r10 - ldr r0, _080EBF98 @ =gUnknown_2037AB8 + ldr r0, _080EBF98 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1153,7 +1153,7 @@ sub_80EBF40: @ 80EBF40 b _080EBFEA .align 2, 0 _080EBF94: .4byte gTasks+0x8 -_080EBF98: .4byte gUnknown_2037AB8 +_080EBF98: .4byte gPaletteFade _080EBF9C: .4byte gUnknown_203AAC6 _080EBFA0: movs r0, 0x5 @@ -1431,7 +1431,7 @@ sub_80EC1D4: @ 80EC1D4 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080EC21C @ =gUnknown_2037AB8 + ldr r0, _080EC21C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1462,7 +1462,7 @@ _080EC216: pop {r0} bx r0 .align 2, 0 -_080EC21C: .4byte gUnknown_2037AB8 +_080EC21C: .4byte gPaletteFade _080EC220: .4byte gSaveBlock1Ptr _080EC224: .4byte gUnknown_203AAC4 _080EC228: .4byte 0x00002cd0 @@ -1746,7 +1746,7 @@ sub_80EC444: @ 80EC444 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080EC470 @ =gUnknown_2037AB8 + ldr r0, _080EC470 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1762,7 +1762,7 @@ _080EC468: pop {r0} bx r0 .align 2, 0 -_080EC470: .4byte gUnknown_2037AB8 +_080EC470: .4byte gPaletteFade thumb_func_end sub_80EC444 thumb_func_start sub_80EC474 diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s index 9cd8b78f0..d6c618dcf 100644 --- a/asm/pokedex_screen.s +++ b/asm/pokedex_screen.s @@ -18,7 +18,7 @@ sub_81024C0: @ 81024C0 thumb_func_start sub_81024D4 sub_81024D4: @ 81024D4 push {lr} - ldr r0, _08102500 @ =gUnknown_2037AB8 + ldr r0, _08102500 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -35,7 +35,7 @@ _081024EC: bl BuildOamBuffer b _08102508 .align 2, 0 -_08102500: .4byte gUnknown_2037AB8 +_08102500: .4byte gPaletteFade _08102504: bl UpdatePaletteFade _08102508: @@ -194,7 +194,7 @@ _081025AE: movs r1, 0 movs r2, 0 bl ChangeBgY - ldr r2, _081026BC @ =gUnknown_2037AB8 + ldr r2, _081026BC @ =gPaletteFade ldrb r0, [r2, 0x8] movs r1, 0x80 orrs r0, r1 @@ -214,7 +214,7 @@ _081026AC: .4byte sub_81024C0 _081026B0: .4byte sub_810287C _081026B4: .4byte gUnknown_203ACF0 _081026B8: .4byte gUnknown_8451EE4 -_081026BC: .4byte gUnknown_2037AB8 +_081026BC: .4byte gPaletteFade _081026C0: .4byte gUnknown_84406E0 _081026C4: ldr r0, _08102758 @ =gUnknown_84404C8 @@ -354,7 +354,7 @@ _081027D4: movs r0, 0 b _0810284C _081027D8: - ldr r0, _081027E8 @ =gUnknown_2037AB8 + ldr r0, _081027E8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -363,7 +363,7 @@ _081027D8: movs r0, 0x2 b _081027D2 .align 2, 0 -_081027E8: .4byte gUnknown_2037AB8 +_081027E8: .4byte gPaletteFade _081027EC: bl UpdatePaletteFade b _081027D4 @@ -549,7 +549,7 @@ _08102964: bl ShowBg movs r0, 0 bl ShowBg - ldr r2, _081029A4 @ =gUnknown_2037AB8 + ldr r2, _081029A4 @ =gPaletteFade ldrb r1, [r2, 0x8] movs r0, 0x80 ands r0, r1 @@ -568,7 +568,7 @@ _08102964: bl BeginNormalPaletteFade b _081029BC .align 2, 0 -_081029A4: .4byte gUnknown_2037AB8 +_081029A4: .4byte gPaletteFade _081029A8: .4byte 0x0000ffff _081029AC: ldr r0, _081029C4 @ =0xffff7fff @@ -5856,7 +5856,7 @@ _08105506: .align 2, 0 _08105524: .4byte 0x00007fff _08105528: - ldr r2, _08105554 @ =gUnknown_2037AB8 + ldr r2, _08105554 @ =gPaletteFade ldrb r0, [r2, 0x8] movs r1, 0x80 orrs r0, r1 @@ -5875,10 +5875,10 @@ _08105528: adds r0, 0x1 b _0810557A .align 2, 0 -_08105554: .4byte gUnknown_2037AB8 +_08105554: .4byte gPaletteFade _08105558: .4byte gUnknown_203ACF0 _0810555C: - ldr r2, _08105588 @ =gUnknown_2037AB8 + ldr r2, _08105588 @ =gPaletteFade ldrb r1, [r2, 0x8] movs r0, 0x7F ands r0, r1 @@ -5903,7 +5903,7 @@ _0810557E: pop {r1} bx r1 .align 2, 0 -_08105588: .4byte gUnknown_2037AB8 +_08105588: .4byte gPaletteFade _0810558C: .4byte 0x00007fff _08105590: .4byte gUnknown_203ACF0 thumb_func_end sub_81052D0 @@ -8765,7 +8765,7 @@ _08106C98: .align 2, 0 _08106CD0: .4byte gUnknown_203ACF0 _08106CD4: - ldr r2, _08106D10 @ =gUnknown_2037AB8 + ldr r2, _08106D10 @ =gPaletteFade ldrb r1, [r2, 0x8] movs r0, 0x7F ands r0, r1 @@ -8791,7 +8791,7 @@ _08106CD4: movs r0, 0x5 b _08106E68 .align 2, 0 -_08106D10: .4byte gUnknown_2037AB8 +_08106D10: .4byte gPaletteFade _08106D14: .4byte 0x0000ffff _08106D18: .4byte gUnknown_203ACF0 _08106D1C: diff --git a/asm/pokemon_special_anim.s b/asm/pokemon_special_anim.s index 9ebfd51bb..fa73d892f 100644 --- a/asm/pokemon_special_anim.s +++ b/asm/pokemon_special_anim.s @@ -580,7 +580,7 @@ _0811C9E0: strh r0, [r5] b _0811CA16 _0811C9E8: - ldr r0, _0811C9FC @ =gUnknown_2037AB8 + ldr r0, _0811C9FC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -593,7 +593,7 @@ _0811C9F4: strh r0, [r5] b _0811CA16 .align 2, 0 -_0811C9FC: .4byte gUnknown_2037AB8 +_0811C9FC: .4byte gPaletteFade _0811CA00: ldr r0, [r4, 0x4] bl SetMainCallback2 @@ -686,7 +686,7 @@ _0811CAAE: .align 2, 0 _0811CAD0: .4byte sub_811C6E8 _0811CAD4: - ldr r0, _0811CAF0 @ =gUnknown_2037AB8 + ldr r0, _0811CAF0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -700,7 +700,7 @@ _0811CAD4: subs r1, 0xC b _0811CBC6 .align 2, 0 -_0811CAF0: .4byte gUnknown_2037AB8 +_0811CAF0: .4byte gPaletteFade _0811CAF4: adds r1, r5, 0 adds r1, 0x9E @@ -908,7 +908,7 @@ _0811CC7C: .align 2, 0 _0811CCA8: .4byte sub_811C6E8 _0811CCAC: - ldr r0, _0811CCBC @ =gUnknown_2037AB8 + ldr r0, _0811CCBC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -916,7 +916,7 @@ _0811CCAC: bne _0811CD5A b _0811CD2A .align 2, 0 -_0811CCBC: .4byte gUnknown_2037AB8 +_0811CCBC: .4byte gPaletteFade _0811CCC0: adds r0, r5, 0 adds r0, 0x9C @@ -977,7 +977,7 @@ _0811CD2A: .align 2, 0 _0811CD34: .4byte gMain _0811CD38: - ldr r0, _0811CD64 @ =gUnknown_2037AB8 + ldr r0, _0811CD64 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -996,7 +996,7 @@ _0811CD5A: pop {r0} bx r0 .align 2, 0 -_0811CD64: .4byte gUnknown_2037AB8 +_0811CD64: .4byte gPaletteFade thumb_func_end sub_811CBE4 thumb_func_start sub_811CD68 @@ -1073,7 +1073,7 @@ _0811CDD2: .align 2, 0 _0811CDFC: .4byte sub_811C6E8 _0811CE00: - ldr r0, _0811CE20 @ =gUnknown_2037AB8 + ldr r0, _0811CE20 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1090,7 +1090,7 @@ _0811CE16: strh r0, [r4] b _0811CE3E .align 2, 0 -_0811CE20: .4byte gUnknown_2037AB8 +_0811CE20: .4byte gPaletteFade _0811CE24: adds r1, r5, 0 adds r1, 0x9E @@ -1290,7 +1290,7 @@ _0811CFA8: .align 2, 0 _0811CFC4: .4byte sub_811C6E8 _0811CFC8: - ldr r0, _0811D010 @ =gUnknown_2037AB8 + ldr r0, _0811D010 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1323,7 +1323,7 @@ _0811D008: pop {r0} bx r0 .align 2, 0 -_0811D010: .4byte gUnknown_2037AB8 +_0811D010: .4byte gPaletteFade _0811D014: .4byte gUnknown_203B090 thumb_func_end sub_811CF88 @@ -2020,7 +2020,7 @@ _0811D546: strh r0, [r4] b _0811D594 _0811D57E: - ldr r0, _0811D590 @ =gUnknown_2037AB8 + ldr r0, _0811D590 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2029,7 +2029,7 @@ _0811D57E: movs r0, 0 b _0811D596 .align 2, 0 -_0811D590: .4byte gUnknown_2037AB8 +_0811D590: .4byte gPaletteFade _0811D594: movs r0, 0x1 _0811D596: diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 67dea9b9e..682d5e9b3 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -1731,7 +1731,7 @@ _0808C66E: .align 2, 0 _0808C67C: .4byte gUnknown_83CDA20 _0808C680: - ldr r0, _0808C6A4 @ =gUnknown_2037AB8 + ldr r0, _0808C6A4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1748,7 +1748,7 @@ _0808C69C: pop {r0} bx r0 .align 2, 0 -_0808C6A4: .4byte gUnknown_2037AB8 +_0808C6A4: .4byte gPaletteFade thumb_func_end c3_0808C39C thumb_func_start sub_808C6A8 diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index ead0c8a01..b44f2f9f9 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -463,7 +463,7 @@ _08134890: .align 2, 0 _081348A8: .4byte gUnknown_203B140 _081348AC: - ldr r0, _081348C8 @ =gUnknown_2037AB8 + ldr r0, _081348C8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -476,7 +476,7 @@ _081348AC: adds r0, r2 b _08134AF6 .align 2, 0 -_081348C8: .4byte gUnknown_2037AB8 +_081348C8: .4byte gPaletteFade _081348CC: .4byte gUnknown_203B140 _081348D0: .4byte 0x00003270 _081348D4: @@ -803,7 +803,7 @@ _08134B60: _08134B80: .4byte gUnknown_203B140 _08134B84: .4byte 0x00003270 _08134B88: - ldr r0, _08134BA8 @ =gUnknown_2037AB8 + ldr r0, _08134BA8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -819,7 +819,7 @@ _08134B9A: pop {r0} bx r0 .align 2, 0 -_08134BA8: .4byte gUnknown_2037AB8 +_08134BA8: .4byte gPaletteFade thumb_func_end sub_8134840 thumb_func_start sub_8134BAC @@ -9566,7 +9566,7 @@ _08139420: _0813943C: .4byte gUnknown_203B140 _08139440: .4byte 0x00003288 _08139444: - ldr r0, _08139460 @ =gUnknown_2037AB8 + ldr r0, _08139460 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -9581,7 +9581,7 @@ _08139452: adds r1, r0 b _08139728 .align 2, 0 -_08139460: .4byte gUnknown_2037AB8 +_08139460: .4byte gPaletteFade _08139464: .4byte gUnknown_203B140 _08139468: .4byte 0x00003288 _0813946C: @@ -9926,7 +9926,7 @@ _08139738: .align 2, 0 _08139744: .4byte gUnknown_203B16D _08139748: - ldr r0, _08139764 @ =gUnknown_2037AB8 + ldr r0, _08139764 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -9940,7 +9940,7 @@ _0813975A: pop {r0} bx r0 .align 2, 0 -_08139764: .4byte gUnknown_2037AB8 +_08139764: .4byte gPaletteFade thumb_func_end sub_81393D4 thumb_func_start sub_8139768 diff --git a/asm/quest_log.s b/asm/quest_log.s index fd78239ff..2a6410b3f 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,221 +5,6 @@ .text - thumb_func_start sub_8111E20 -sub_8111E20: @ 8111E20 - push {r4,lr} - sub sp, 0x8 - ldr r4, _08111E60 @ =gUnknown_203ADFE - ldrb r0, [r4, 0x2] - bl ClearWindowTilemap - ldrb r0, [r4, 0x2] - movs r1, 0xF0 - str r1, [sp] - movs r1, 0x30 - str r1, [sp, 0x4] - movs r1, 0xF - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - ldrb r0, [r4, 0x2] - movs r1, 0x2 - bl CopyWindowToVram - ldrb r0, [r4, 0x1] - bl PutWindowTilemap - ldrb r0, [r4, 0x1] - movs r1, 0x1 - bl CopyWindowToVram - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08111E60: .4byte gUnknown_203ADFE - thumb_func_end sub_8111E20 - - thumb_func_start sub_8111E64 -sub_8111E64: @ 8111E64 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x1 - bl fade_screen - ldr r1, _08111E7C @ =gUnknown_203AE8C - ldr r0, _08111E80 @ =sub_8111E84 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08111E7C: .4byte gUnknown_203AE8C -_08111E80: .4byte sub_8111E84 - thumb_func_end sub_8111E64 - - thumb_func_start sub_8111E84 -sub_8111E84: @ 8111E84 - push {r4,lr} - ldr r0, _08111F00 @ =gUnknown_2037AB8 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08111EF8 - bl ScriptContext2_Enable - ldr r3, _08111F04 @ =gUnknown_203ADF8 - ldrb r0, [r3] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bhi _08111EEE - ldr r0, _08111F08 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r2, [r3] - movs r1, 0xCD - lsls r1, 3 - muls r1, r2 - adds r0, r1 - movs r1, 0x98 - lsls r1, 5 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08111EEE - adds r4, r3, 0 -_08111EBE: - ldrb r0, [r4] - ldr r1, _08111F0C @ =gUnknown_203AE98 - bl sub_811175C - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bhi _08111EEE - ldr r0, _08111F08 @ =gSaveBlock1Ptr - ldr r1, [r0] - ldrb r2, [r4] - movs r0, 0xCD - lsls r0, 3 - muls r0, r2 - adds r1, r0 - movs r0, 0x98 - lsls r0, 5 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - bne _08111EBE -_08111EEE: - ldr r1, _08111F10 @ =gUnknown_3005E88 - movs r0, 0 - strb r0, [r1] - bl sub_8111984 -_08111EF8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08111F00: .4byte gUnknown_2037AB8 -_08111F04: .4byte gUnknown_203ADF8 -_08111F08: .4byte gSaveBlock1Ptr -_08111F0C: .4byte gUnknown_203AE98 -_08111F10: .4byte gUnknown_3005E88 - thumb_func_end sub_8111E84 - - thumb_func_start sub_8111F14 -sub_8111F14: @ 8111F14 - push {r4,lr} - ldr r0, _08111F30 @ =gUnknown_203ADFA - ldrb r0, [r0] - cmp r0, 0x3 - bne _08111F2A - ldr r4, _08111F34 @ =gUnknown_203AE90 - movs r0, 0x80 - lsls r0, 3 - bl AllocZeroed - str r0, [r4] -_08111F2A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08111F30: .4byte gUnknown_203ADFA -_08111F34: .4byte gUnknown_203AE90 - thumb_func_end sub_8111F14 - - thumb_func_start sub_8111F38 -sub_8111F38: @ 8111F38 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - lsls r3, 16 - lsls r2, 16 - lsrs r2, 16 - lsrs r3, 15 - ldr r0, _08111F58 @ =gUnknown_20371F8 - adds r0, r3, r0 - ldr r1, _08111F5C @ =gUnknown_203AE90 - ldr r1, [r1] - adds r1, r3 - bl CpuSet - pop {r0} - bx r0 - .align 2, 0 -_08111F58: .4byte gUnknown_20371F8 -_08111F5C: .4byte gUnknown_203AE90 - thumb_func_end sub_8111F38 - - thumb_func_start sub_8111F60 -sub_8111F60: @ 8111F60 - push {lr} - movs r0, 0x4 - bl stdpal_get - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0 - bl sub_8111070 - bl sub_807DF7C - ldr r0, _08111F88 @ =sub_8111F8C - movs r1, 0xFF - bl CreateTask - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_08111F88: .4byte sub_8111F8C - thumb_func_end sub_8111F60 - - thumb_func_start sub_8111F8C -sub_8111F8C: @ 8111F8C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08111FC4 @ =gTasks - adds r4, r1, r0 - bl ScriptContext2_IsEnabled - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08111FBC - bl player_bitmagic - bl sub_805C270 - bl sub_805C780 - bl ScriptContext2_Enable - ldr r0, _08111FC8 @ =sub_8111FCC - str r0, [r4] -_08111FBC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08111FC4: .4byte gTasks -_08111FC8: .4byte sub_8111FCC - thumb_func_end sub_8111F8C - thumb_func_start sub_8111FCC sub_8111FCC: @ 8111FCC push {r4,r5,lr} @@ -230,7 +15,7 @@ sub_8111FCC: @ 8111FCC lsls r1, 3 ldr r0, _08112024 @ =gTasks adds r5, r1, r0 - ldr r0, _08112028 @ =gUnknown_2037AB8 + ldr r0, _08112028 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -265,7 +50,7 @@ _0811201E: bx r0 .align 2, 0 _08112024: .4byte gTasks -_08112028: .4byte gUnknown_2037AB8 +_08112028: .4byte gPaletteFade _0811202C: .4byte gUnknown_203AE94 _08112030: .4byte gStringVar1 _08112034: .4byte gMapHeader diff --git a/asm/region_map.s b/asm/region_map.s index aa684531d..f860c6065 100644 --- a/asm/region_map.s +++ b/asm/region_map.s @@ -932,7 +932,7 @@ _080C0584: _080C05D8: .4byte gUnknown_8418EB5 _080C05DC: .4byte gUnknown_8418E8B _080C05E0: - ldr r0, _080C0618 @ =gUnknown_2037AB8 + ldr r0, _080C0618 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -958,7 +958,7 @@ _080C05FA: adds r1, r2 b _080C07A0 .align 2, 0 -_080C0618: .4byte gUnknown_2037AB8 +_080C0618: .4byte gPaletteFade _080C061C: .4byte gUnknown_20399D4 _080C0620: .4byte 0x000047a0 _080C0624: @@ -1140,7 +1140,7 @@ _080C07A0: _080C07A8: .4byte gUnknown_20399D4 _080C07AC: .4byte 0x000047a0 _080C07B0: - ldr r0, _080C07CC @ =gUnknown_2037AB8 + ldr r0, _080C07CC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1154,7 +1154,7 @@ _080C07C2: pop {r0} bx r0 .align 2, 0 -_080C07CC: .4byte gUnknown_2037AB8 +_080C07CC: .4byte gPaletteFade thumb_func_end sub_80C04E4 thumb_func_start sub_80C07D0 @@ -5019,7 +5019,7 @@ _080C2768: bl sub_80C2B48 b _080C2976 _080C2788: - ldr r0, _080C27AC @ =gUnknown_2037AB8 + ldr r0, _080C27AC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -5037,7 +5037,7 @@ _080C2796: bl PlaySE b _080C299A .align 2, 0 -_080C27AC: .4byte gUnknown_2037AB8 +_080C27AC: .4byte gPaletteFade _080C27B0: .4byte 0x00000ccc _080C27B4: bl sub_80C29A4 @@ -10006,7 +10006,7 @@ _080C4FEC: .align 2, 0 _080C4FFC: .4byte gUnknown_8418EB0 _080C5000: - ldr r0, _080C5024 @ =gUnknown_2037AB8 + ldr r0, _080C5024 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -10022,7 +10022,7 @@ _080C500E: bl PutWindowTilemap b _080C51A6 .align 2, 0 -_080C5024: .4byte gUnknown_2037AB8 +_080C5024: .4byte gPaletteFade _080C5028: bl sub_80C3400 lsls r0, 24 @@ -10207,7 +10207,7 @@ _080C51AA: .align 2, 0 _080C51B4: .4byte gUnknown_20399FC _080C51B8: - ldr r0, _080C51E4 @ =gUnknown_2037AB8 + ldr r0, _080C51E4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -10229,7 +10229,7 @@ _080C51DC: pop {r0} bx r0 .align 2, 0 -_080C51E4: .4byte gUnknown_2037AB8 +_080C51E4: .4byte gPaletteFade thumb_func_end sub_80C4F08 thumb_func_start sub_80C51E8 diff --git a/asm/reshow_battle_screen.s b/asm/reshow_battle_screen.s index 5538afcff..20373bfa8 100644 --- a/asm/reshow_battle_screen.s +++ b/asm/reshow_battle_screen.s @@ -13,7 +13,7 @@ nullsub_44: @ 8077760 thumb_func_start sub_8077764 sub_8077764: @ 8077764 push {lr} - ldr r2, _080777B0 @ =gUnknown_2037AB8 + ldr r2, _080777B0 @ =gPaletteFade ldrb r0, [r2, 0x8] movs r1, 0x80 orrs r0, r1 @@ -48,7 +48,7 @@ sub_8077764: @ 8077764 bl sub_812B1F0 b _080777DA .align 2, 0 -_080777B0: .4byte gUnknown_2037AB8 +_080777B0: .4byte gPaletteFade _080777B4: .4byte gBattleScripting _080777B8: .4byte gBattleTypeFlags _080777BC: @@ -355,7 +355,7 @@ _08077A5C: movs r2, 0x10 movs r3, 0 bl BeginHardwarePaletteFade - ldr r2, _08077AA0 @ =gUnknown_2037AB8 + ldr r2, _08077AA0 @ =gPaletteFade ldrb r1, [r2, 0x8] movs r0, 0x7F ands r0, r1 @@ -375,7 +375,7 @@ _08077A8A: bx r0 .align 2, 0 _08077A9C: .4byte sub_80116F4 -_08077AA0: .4byte gUnknown_2037AB8 +_08077AA0: .4byte gPaletteFade _08077AA4: .4byte sub_8011100 _08077AA8: .4byte gBattleScripting thumb_func_end sub_80777E8 diff --git a/asm/roulette_util.s b/asm/roulette_util.s index 8e60a9fe2..b94b22743 100644 --- a/asm/roulette_util.s +++ b/asm/roulette_util.s @@ -1151,7 +1151,7 @@ _080D93E4: beq _080D93FE b _080D9552 _080D93FE: - ldr r0, _080D944C @ =gUnknown_2037AB8 + ldr r0, _080D944C @ =gPaletteFade ldrb r1, [r0, 0x7] adds r0, r3, 0 ands r0, r1 @@ -1191,7 +1191,7 @@ _080D9424: beq _080D9456 b _080D953C .align 2, 0 -_080D944C: .4byte gUnknown_2037AB8 +_080D944C: .4byte gPaletteFade _080D9450: cmp r0, 0x2 beq _080D94FE diff --git a/asm/scrcmd.s b/asm/scrcmd.s index ec78da1d5..f242a22e5 100644 --- a/asm/scrcmd.s +++ b/asm/scrcmd.s @@ -1423,7 +1423,7 @@ ScrCmd_setflashradius: @ 806A8FC thumb_func_start sub_806A918 sub_806A918: @ 806A918 push {lr} - ldr r0, _0806A92C @ =gUnknown_2037AB8 + ldr r0, _0806A92C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1432,7 +1432,7 @@ sub_806A918: @ 806A918 movs r0, 0 b _0806A932 .align 2, 0 -_0806A92C: .4byte gUnknown_2037AB8 +_0806A92C: .4byte gPaletteFade _0806A930: movs r0, 0x1 _0806A932: diff --git a/asm/script_menu.s b/asm/script_menu.s index 08f1c32b4..321f739a0 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -453,7 +453,7 @@ sub_809CC98: @ 809CC98 lsls r0, 3 ldr r1, _0809CCC4 @ =gTasks+0x8 adds r5, r0, r1 - ldr r0, _0809CCC8 @ =gUnknown_2037AB8 + ldr r0, _0809CCC8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -468,7 +468,7 @@ sub_809CC98: @ 809CC98 b _0809CD3C .align 2, 0 _0809CCC4: .4byte gTasks+0x8 -_0809CCC8: .4byte gUnknown_2037AB8 +_0809CCC8: .4byte gPaletteFade _0809CCCC: .4byte gUnknown_2039988 _0809CCD0: movs r1, 0xA diff --git a/asm/script_pokemon_util_80BF8FC.s b/asm/script_pokemon_util_80BF8FC.s index 81b861413..d5c339f0b 100644 --- a/asm/script_pokemon_util_80BF8FC.s +++ b/asm/script_pokemon_util_80BF8FC.s @@ -72,7 +72,7 @@ sub_80BF97C: @ 80BF97C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r2, _080BF9B4 @ =gUnknown_2037AB8 + ldr r2, _080BF9B4 @ =gPaletteFade ldrb r1, [r2, 0x7] movs r0, 0x80 ands r0, r1 @@ -96,7 +96,7 @@ _080BF9AC: pop {r0} bx r0 .align 2, 0 -_080BF9B4: .4byte gUnknown_2037AB8 +_080BF9B4: .4byte gPaletteFade _080BF9B8: .4byte gTasks thumb_func_end sub_80BF97C diff --git a/asm/seagallop.s b/asm/seagallop.s index 45ff92759..7d40b69e0 100644 --- a/asm/seagallop.s +++ b/asm/seagallop.s @@ -316,7 +316,7 @@ sub_8147108: @ 8147108 lsls r0, 24 cmp r0, 0 beq _08147136 - ldr r0, _0814713C @ =gUnknown_2037AB8 + ldr r0, _0814713C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -331,7 +331,7 @@ _08147136: pop {r0} bx r0 .align 2, 0 -_0814713C: .4byte gUnknown_2037AB8 +_0814713C: .4byte gPaletteFade thumb_func_end sub_8147108 thumb_func_start sub_8147140 diff --git a/asm/shop.s b/asm/shop.s index 8c39c795f..2160a54ca 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -347,7 +347,7 @@ sub_809AD40: @ 809AD40 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0809AD70 @ =gUnknown_2037AB8 + ldr r0, _0809AD70 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -365,7 +365,7 @@ _0809AD68: pop {r0} bx r0 .align 2, 0 -_0809AD70: .4byte gUnknown_2037AB8 +_0809AD70: .4byte gPaletteFade thumb_func_end sub_809AD40 thumb_func_start sub_809AD74 @@ -2157,7 +2157,7 @@ sub_809BBC0: @ 809BBC0 lsls r0, 3 ldr r1, _0809BC00 @ =gTasks+0x8 adds r5, r0, r1 - ldr r0, _0809BC04 @ =gUnknown_2037AB8 + ldr r0, _0809BC04 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2181,7 +2181,7 @@ sub_809BBC0: @ 809BBC0 b _0809BC8E .align 2, 0 _0809BC00: .4byte gTasks+0x8 -_0809BC04: .4byte gUnknown_2037AB8 +_0809BC04: .4byte gPaletteFade _0809BC08: .4byte gUnknown_2039942 _0809BC0C: movs r0, 0x5 @@ -2682,7 +2682,7 @@ sub_809C04C: @ 809C04C lsls r0, 3 ldr r1, _0809C088 @ =gTasks+0x8 adds r2, r0, r1 - ldr r0, _0809C08C @ =gUnknown_2037AB8 + ldr r0, _0809C08C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2703,7 +2703,7 @@ _0809C082: bx r0 .align 2, 0 _0809C088: .4byte gTasks+0x8 -_0809C08C: .4byte gUnknown_2037AB8 +_0809C08C: .4byte gPaletteFade _0809C090: .4byte c2_exit_to_overworld_2_switch thumb_func_end sub_809C04C diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 1f4cd16c8..2fc05a82a 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -3683,7 +3683,7 @@ _0814142E: b _08141450 _08141436: bl UpdatePaletteFade - ldr r0, _0814144C @ =gUnknown_2037AB8 + ldr r0, _0814144C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -3692,7 +3692,7 @@ _08141436: movs r0, 0 b _08141452 .align 2, 0 -_0814144C: .4byte gUnknown_2037AB8 +_0814144C: .4byte gPaletteFade _08141450: movs r0, 0x1 _08141452: @@ -3728,7 +3728,7 @@ _08141472: strb r0, [r4] b _081414A0 _0814148A: - ldr r0, _0814149C @ =gUnknown_2037AB8 + ldr r0, _0814149C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -3737,7 +3737,7 @@ _0814148A: movs r0, 0 b _081414A2 .align 2, 0 -_0814149C: .4byte gUnknown_2037AB8 +_0814149C: .4byte gPaletteFade _081414A0: movs r0, 0x1 _081414A2: diff --git a/asm/start_menu.s b/asm/start_menu.s index 263e27504..0991b8bc3 100644 --- a/asm/start_menu.s +++ b/asm/start_menu.s @@ -841,7 +841,7 @@ _0806F40A: thumb_func_start sub_806F410 sub_806F410: @ 806F410 push {lr} - ldr r0, _0806F424 @ =gUnknown_2037AB8 + ldr r0, _0806F424 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -850,7 +850,7 @@ sub_806F410: @ 806F410 movs r0, 0 b _0806F442 .align 2, 0 -_0806F424: .4byte gUnknown_2037AB8 +_0806F424: .4byte gPaletteFade _0806F428: movs r0, 0x29 bl IncrementGameStat @@ -870,7 +870,7 @@ _0806F448: .4byte sub_810275C thumb_func_start sub_806F44C sub_806F44C: @ 806F44C push {lr} - ldr r0, _0806F460 @ =gUnknown_2037AB8 + ldr r0, _0806F460 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -879,7 +879,7 @@ sub_806F44C: @ 806F44C movs r0, 0 b _0806F478 .align 2, 0 -_0806F460: .4byte gUnknown_2037AB8 +_0806F460: .4byte gPaletteFade _0806F464: bl play_some_sound bl sub_806EF18 @@ -897,7 +897,7 @@ _0806F47C: .4byte CB2_PartyMenuFromStartMenu thumb_func_start sub_806F480 sub_806F480: @ 806F480 push {lr} - ldr r0, _0806F494 @ =gUnknown_2037AB8 + ldr r0, _0806F494 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -906,7 +906,7 @@ sub_806F480: @ 806F480 movs r0, 0 b _0806F4AC .align 2, 0 -_0806F494: .4byte gUnknown_2037AB8 +_0806F494: .4byte gPaletteFade _0806F498: bl play_some_sound bl sub_806EF18 @@ -924,7 +924,7 @@ _0806F4B0: .4byte sub_8107EB8 thumb_func_start sub_806F4B4 sub_806F4B4: @ 806F4B4 push {lr} - ldr r0, _0806F4C8 @ =gUnknown_2037AB8 + ldr r0, _0806F4C8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -933,7 +933,7 @@ sub_806F4B4: @ 806F4B4 movs r0, 0 b _0806F4E0 .align 2, 0 -_0806F4C8: .4byte gUnknown_2037AB8 +_0806F4C8: .4byte gPaletteFade _0806F4CC: bl play_some_sound bl sub_806EF18 @@ -963,7 +963,7 @@ _0806F4F8: .4byte sub_806F5A4 thumb_func_start sub_806F4FC sub_806F4FC: @ 806F4FC push {lr} - ldr r0, _0806F510 @ =gUnknown_2037AB8 + ldr r0, _0806F510 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -972,7 +972,7 @@ sub_806F4FC: @ 806F4FC movs r0, 0 b _0806F52E .align 2, 0 -_0806F510: .4byte gUnknown_2037AB8 +_0806F510: .4byte gPaletteFade _0806F514: bl play_some_sound bl sub_806EF18 @@ -1018,7 +1018,7 @@ sub_806F554: @ 806F554 thumb_func_start sub_806F56C sub_806F56C: @ 806F56C push {lr} - ldr r0, _0806F580 @ =gUnknown_2037AB8 + ldr r0, _0806F580 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1027,7 +1027,7 @@ sub_806F56C: @ 806F56C movs r0, 0 b _0806F598 .align 2, 0 -_0806F580: .4byte gUnknown_2037AB8 +_0806F580: .4byte gPaletteFade _0806F584: bl play_some_sound bl sub_80563F0 @@ -1860,7 +1860,7 @@ sub_806FBB8: @ 806FBB8 lsls r0, 3 ldr r1, _0806FBEC @ =gTasks+0x8 adds r5, r0, r1 - ldr r0, _0806FBF0 @ =gUnknown_2037AB8 + ldr r0, _0806FBF0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1881,7 +1881,7 @@ _0806FBE2: mov pc, r0 .align 2, 0 _0806FBEC: .4byte gTasks+0x8 -_0806FBF0: .4byte gUnknown_2037AB8 +_0806FBF0: .4byte gPaletteFade _0806FBF4: .4byte _0806FBF8 .align 2, 0 _0806FBF8: diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index 70b02bbd5..812aac1a5 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -849,7 +849,7 @@ sub_815B274: @ 815B274 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0815B298 @ =gUnknown_2037AB8 + ldr r0, _0815B298 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -863,7 +863,7 @@ sub_815B274: @ 815B274 bl SetMainCallback2 b _0815B2AC .align 2, 0 -_0815B298: .4byte gUnknown_2037AB8 +_0815B298: .4byte gPaletteFade _0815B29C: .4byte gUnknown_203F450 _0815B2A0: bl sub_8055DC4 @@ -893,7 +893,7 @@ sub_815B2C0: @ 815B2C0 ldr r1, _0815B31C @ =gTasks+0x8 adds r6, r0, r1 bl sub_815B0CC - ldr r0, _0815B320 @ =gUnknown_2037AB8 + ldr r0, _0815B320 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -929,7 +929,7 @@ _0815B30A: b _0815B37A .align 2, 0 _0815B31C: .4byte gTasks+0x8 -_0815B320: .4byte gUnknown_2037AB8 +_0815B320: .4byte gPaletteFade _0815B324: .4byte gUnknown_203F44A _0815B328: .4byte gMain _0815B32C: .4byte sub_8107EB8 @@ -1864,7 +1864,7 @@ sub_815BA54: @ 815BA54 lsls r2, r1, 3 ldr r4, _0815BA8C @ =gTasks+0x8 adds r3, r2, r4 - ldr r0, _0815BA90 @ =gUnknown_2037AB8 + ldr r0, _0815BA90 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1887,7 +1887,7 @@ _0815BA86: bx r0 .align 2, 0 _0815BA8C: .4byte gTasks+0x8 -_0815BA90: .4byte gUnknown_2037AB8 +_0815BA90: .4byte gPaletteFade _0815BA94: .4byte gUnknown_8479390 _0815BA98: .4byte gUnknown_203F444 _0815BA9C: .4byte sub_815B4EC diff --git a/asm/title_screen.s b/asm/title_screen.s index 33c7d7386..c9ec19427 100644 --- a/asm/title_screen.s +++ b/asm/title_screen.s @@ -592,7 +592,7 @@ _08078E02: .align 2, 0 _08078E20: .4byte gUnknown_2037398 _08078E24: - ldr r0, _08078E3C @ =gUnknown_2037AB8 + ldr r0, _08078E3C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -605,7 +605,7 @@ _08078E36: strh r0, [r6, 0x4] b _08078F80 .align 2, 0 -_08078E3C: .4byte gUnknown_2037AB8 +_08078E3C: .4byte gPaletteFade _08078E40: ldrh r0, [r6, 0x4] adds r0, 0x1 @@ -778,7 +778,7 @@ _08078F98: bl sub_807185C cmp r0, 0 bne _08078FB6 - ldr r0, _08078FC0 @ =gUnknown_2037AB8 + ldr r0, _08078FC0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -793,7 +793,7 @@ _08078FB6: pop {r0} bx r0 .align 2, 0 -_08078FC0: .4byte gUnknown_2037AB8 +_08078FC0: .4byte gPaletteFade thumb_func_end sub_8078DA4 thumb_func_start sub_8078FC4 @@ -943,7 +943,7 @@ _080790FC: bl sub_8079A88 b _0807918C _08079104: - ldr r0, _08079138 @ =gUnknown_2037AB8 + ldr r0, _08079138 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -966,13 +966,13 @@ _08079104: bl sub_8079528 b _0807918C .align 2, 0 -_08079138: .4byte gUnknown_2037AB8 +_08079138: .4byte gPaletteFade _0807913C: bl IsNotWaitingForBGMStop lsls r0, 24 cmp r0, 0 beq _080791B0 - ldr r0, _08079168 @ =gUnknown_2037AB8 + ldr r0, _08079168 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -988,7 +988,7 @@ _0807913C: strh r5, [r4, 0x4] b _0807918C .align 2, 0 -_08079168: .4byte gUnknown_2037AB8 +_08079168: .4byte gPaletteFade _0807916C: .4byte sub_807941C _08079170: ldrh r0, [r4, 0x4] @@ -1048,7 +1048,7 @@ _080791D8: beq _08079248 b _080792A6 _080791DE: - ldr r0, _08079200 @ =gUnknown_2037AB8 + ldr r0, _08079200 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1064,7 +1064,7 @@ _080791DE: strh r5, [r4, 0x4] b _08079238 .align 2, 0 -_08079200: .4byte gUnknown_2037AB8 +_08079200: .4byte gPaletteFade _08079204: ldrh r1, [r4, 0x4] movs r2, 0x4 @@ -1098,7 +1098,7 @@ _08079238: _08079240: .4byte 0x0fffffff _08079244: .4byte 0x00007fff _08079248: - ldr r0, _080792B0 @ =gUnknown_2037AB8 + ldr r0, _080792B0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1142,7 +1142,7 @@ _080792A6: pop {r0} bx r0 .align 2, 0 -_080792B0: .4byte gUnknown_2037AB8 +_080792B0: .4byte gPaletteFade _080792B4: .4byte gUnknown_30053A0 _080792B8: .4byte gSaveBlock2Ptr _080792BC: .4byte gHeap @@ -1327,7 +1327,7 @@ sub_807941C: @ 807941C ldrsh r0, [r5, r1] cmp r0, 0 beq _08079444 - ldr r0, _08079464 @ =gUnknown_2037AB8 + ldr r0, _08079464 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1340,7 +1340,7 @@ _08079444: ldrsh r0, [r5, r3] cmp r0, 0 beq _08079468 - ldr r0, _08079464 @ =gUnknown_2037AB8 + ldr r0, _08079464 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1351,7 +1351,7 @@ _08079444: b _08079510 .align 2, 0 _08079460: .4byte gTasks+0x8 -_08079464: .4byte gUnknown_2037AB8 +_08079464: .4byte gPaletteFade _08079468: movs r1, 0x2 ldrsh r0, [r5, r1] @@ -1432,7 +1432,7 @@ _080794F2: beq _08079510 movs r0, 0x80 lsls r0, 8 - ldr r2, _08079524 @ =gUnknown_2037AB8 + ldr r2, _08079524 @ =gPaletteFade ldrh r1, [r2, 0x4] lsls r1, 21 lsrs r1, 27 @@ -1448,7 +1448,7 @@ _08079510: _08079518: .4byte gUnknown_20371F8 _0807951C: .4byte gUnknown_8EAE094 _08079520: .4byte gUnknown_20375F8 -_08079524: .4byte gUnknown_2037AB8 +_08079524: .4byte gPaletteFade thumb_func_end sub_807941C thumb_func_start sub_8079528 diff --git a/asm/tm_case.s b/asm/tm_case.s index 303586153..3cd478ee6 100644 --- a/asm/tm_case.s +++ b/asm/tm_case.s @@ -1314,7 +1314,7 @@ sub_813226C: @ 813226C lsls r0, 3 ldr r1, _081322A4 @ =gTasks+0x8 adds r2, r0, r1 - ldr r0, _081322A8 @ =gUnknown_2037AB8 + ldr r0, _081322A8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1334,7 +1334,7 @@ sub_813226C: @ 813226C b _081322BE .align 2, 0 _081322A4: .4byte gTasks+0x8 -_081322A8: .4byte gUnknown_2037AB8 +_081322A8: .4byte gPaletteFade _081322AC: .4byte gUnknown_203B116 _081322B0: .4byte gUnknown_203B118 _081322B4: @@ -1365,7 +1365,7 @@ sub_81322D4: @ 81322D4 lsls r0, 3 ldr r1, _08132340 @ =gTasks+0x8 adds r6, r0, r1 - ldr r0, _08132344 @ =gUnknown_2037AB8 + ldr r0, _08132344 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1406,7 +1406,7 @@ sub_81322D4: @ 81322D4 b _08132370 .align 2, 0 _08132340: .4byte gTasks+0x8 -_08132344: .4byte gUnknown_2037AB8 +_08132344: .4byte gPaletteFade _08132348: .4byte gUnknown_203B116 _0813234C: .4byte gMain _08132350: .4byte gUnknown_203AD30 @@ -2770,7 +2770,7 @@ sub_8132F20: @ 8132F20 lsls r3, r1, 3 ldr r4, _08132F54 @ =gTasks+0x8 adds r2, r3, r4 - ldr r0, _08132F58 @ =gUnknown_2037AB8 + ldr r0, _08132F58 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2791,7 +2791,7 @@ _08132F4E: bx r0 .align 2, 0 _08132F54: .4byte gTasks+0x8 -_08132F58: .4byte gUnknown_2037AB8 +_08132F58: .4byte gPaletteFade _08132F5C: .4byte sub_8132F60 thumb_func_end sub_8132F20 @@ -2873,7 +2873,7 @@ _08133008: .align 2, 0 _08133020: .4byte 0xffff8405 _08133024: - ldr r0, _0813304C @ =gUnknown_2037AB8 + ldr r0, _0813304C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2895,7 +2895,7 @@ _08133046: strh r1, [r6, 0x12] b _081331EA .align 2, 0 -_0813304C: .4byte gUnknown_2037AB8 +_0813304C: .4byte gPaletteFade _08133050: movs r0, 0x12 ldrsh r1, [r6, r0] @@ -3035,7 +3035,7 @@ _0813315C: .align 2, 0 _0813316C: .4byte gMain _08133170: - ldr r0, _081331F4 @ =gUnknown_2037AB8 + ldr r0, _081331F4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -3095,7 +3095,7 @@ _081331EA: strh r0, [r6, 0x10] b _08133232 .align 2, 0 -_081331F4: .4byte gUnknown_2037AB8 +_081331F4: .4byte gPaletteFade _081331F8: .4byte gSaveBlock1Ptr _081331FC: .4byte 0x00000464 _08133200: .4byte gUnknown_203B11C @@ -3103,7 +3103,7 @@ _08133204: .4byte gUnknown_203B10C _08133208: .4byte gUnknown_20375F8 _0813320C: .4byte gUnknown_20371F8 _08133210: - ldr r0, _0813323C @ =gUnknown_2037AB8 + ldr r0, _0813323C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -3122,7 +3122,7 @@ _08133232: pop {r0} bx r0 .align 2, 0 -_0813323C: .4byte gUnknown_2037AB8 +_0813323C: .4byte gPaletteFade _08133240: .4byte gUnknown_203B10C thumb_func_end sub_8132F60 diff --git a/asm/trade.s b/asm/trade.s index 8351a9a73..0af3865cc 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -13,7 +13,7 @@ sub_804C600: @ 804C600 bl FreeAllSpritePalettes bl ResetTasks bl ResetPaletteFade - ldr r2, _0804C6F8 @ =gUnknown_2037AB8 + ldr r2, _0804C6F8 @ =gPaletteFade ldrb r0, [r2, 0x8] movs r1, 0x80 orrs r0, r1 @@ -116,7 +116,7 @@ _0804C6F0: pop {r0} bx r0 .align 2, 0 -_0804C6F8: .4byte gUnknown_2037AB8 +_0804C6F8: .4byte gPaletteFade _0804C6FC: .4byte sub_804D4F8 _0804C700: .4byte gUnknown_841F408 _0804C704: .4byte gUnknown_8261F1C @@ -219,7 +219,7 @@ _0804C7F0: .4byte gUnknown_2031C90 _0804C7F4: .4byte gUnknown_2031C94 _0804C7F8: .4byte gMain _0804C7FC: - ldr r2, _0804C864 @ =gUnknown_2037AB8 + ldr r2, _0804C864 @ =gPaletteFade ldrb r1, [r2, 0x8] movs r0, 0x7F ands r0, r1 @@ -267,7 +267,7 @@ _0804C80A: bl sub_80FBB20 b _0804C892 .align 2, 0 -_0804C864: .4byte gUnknown_2037AB8 +_0804C864: .4byte gPaletteFade _0804C868: .4byte gEnemyParty _0804C86C: .4byte gUnknown_3003F64 _0804C870: .4byte gUnknown_202271A @@ -1019,7 +1019,7 @@ _0804CEC2: .align 2, 0 _0804CECC: .4byte gMain _0804CED0: - ldr r0, _0804CF08 @ =gUnknown_2037AB8 + ldr r0, _0804CF08 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1042,7 +1042,7 @@ _0804CEE6: pop {r0} bx r0 .align 2, 0 -_0804CF08: .4byte gUnknown_2037AB8 +_0804CF08: .4byte gPaletteFade _0804CF0C: .4byte sub_804DFF0 _0804CF10: .4byte sub_804D638 thumb_func_end sub_804C728 @@ -1647,7 +1647,7 @@ _0804D41C: _0804D43C: .4byte gUnknown_2031DA8 _0804D440: .4byte gMain _0804D444: - ldr r2, _0804D478 @ =gUnknown_2037AB8 + ldr r2, _0804D478 @ =gPaletteFade ldrb r1, [r2, 0x8] movs r0, 0x7F ands r0, r1 @@ -1671,7 +1671,7 @@ _0804D444: adds r1, r3 b _0804D4B4 .align 2, 0 -_0804D478: .4byte gUnknown_2037AB8 +_0804D478: .4byte gPaletteFade _0804D47C: .4byte gMain _0804D480: movs r1, 0x82 @@ -1707,7 +1707,7 @@ _0804D4B4: .align 2, 0 _0804D4BC: .4byte gMain _0804D4C0: - ldr r0, _0804D4F0 @ =gUnknown_2037AB8 + ldr r0, _0804D4F0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1727,7 +1727,7 @@ _0804D4D2: pop {r0} bx r0 .align 2, 0 -_0804D4F0: .4byte gUnknown_2037AB8 +_0804D4F0: .4byte gPaletteFade _0804D4F4: .4byte sub_804D638 thumb_func_end sub_804CF14 @@ -1778,7 +1778,7 @@ _0804D544: .4byte gUnknown_2031DA8 thumb_func_start sub_804D548 sub_804D548: @ 804D548 push {r4,lr} - ldr r0, _0804D580 @ =gUnknown_2037AB8 + ldr r0, _0804D580 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1805,7 +1805,7 @@ sub_804D548: @ 804D548 strb r0, [r1] b _0804D59E .align 2, 0 -_0804D580: .4byte gUnknown_2037AB8 +_0804D580: .4byte gPaletteFade _0804D584: .4byte gUnknown_2031DA4 _0804D588: .4byte gUnknown_2031DA8 _0804D58C: .4byte gUnknown_3003F3C @@ -3669,7 +3669,7 @@ _0804E490: .4byte gMain sub_804E494: @ 804E494 push {r4,lr} sub sp, 0x4 - ldr r0, _0804E4CC @ =gUnknown_2037AB8 + ldr r0, _0804E4CC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -3695,7 +3695,7 @@ sub_804E494: @ 804E494 bl sub_81344F8 b _0804E4F8 .align 2, 0 -_0804E4CC: .4byte gUnknown_2037AB8 +_0804E4CC: .4byte gPaletteFade _0804E4D0: .4byte gUnknown_2031DA8 _0804E4D4: .4byte gPlayerParty _0804E4D8: .4byte sub_804CF14 @@ -4247,7 +4247,7 @@ _0804E904: .4byte gSprites thumb_func_start sub_804E908 sub_804E908: @ 804E908 push {lr} - ldr r0, _0804E924 @ =gUnknown_2037AB8 + ldr r0, _0804E924 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -4260,7 +4260,7 @@ sub_804E908: @ 804E908 bl sub_800AB9C b _0804E932 .align 2, 0 -_0804E924: .4byte gUnknown_2037AB8 +_0804E924: .4byte gPaletteFade _0804E928: .4byte gUnknown_3003F3C _0804E92C: movs r0, 0xC @@ -7739,7 +7739,7 @@ _08050440: .align 2, 0 _08050448: .4byte gMain _0805044C: - ldr r0, _08050490 @ =gUnknown_2037AB8 + ldr r0, _08050490 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -7767,7 +7767,7 @@ _08050472: pop {r0} bx r0 .align 2, 0 -_08050490: .4byte gUnknown_2037AB8 +_08050490: .4byte gPaletteFade _08050494: .4byte gUnknown_3003F3C _08050498: .4byte sub_8053D84 thumb_func_end sub_8050138 @@ -9519,7 +9519,7 @@ _08051598: .align 2, 0 _080515B8: .4byte gUnknown_2031DAC _080515BC: - ldr r0, _080515E8 @ =gUnknown_2037AB8 + ldr r0, _080515E8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -9537,7 +9537,7 @@ _080515CC: bl CopyWindowToVram bl _080522A8 .align 2, 0 -_080515E8: .4byte gUnknown_2037AB8 +_080515E8: .4byte gPaletteFade _080515EC: movs r1, 0x1 negs r1, r1 @@ -9548,7 +9548,7 @@ _080515EC: movs r3, 0 bl _080522A4 _080515FE: - ldr r0, _0805161C @ =gUnknown_2037AB8 + ldr r0, _0805161C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -9562,7 +9562,7 @@ _0805160E: strh r1, [r0] bl _08052318 .align 2, 0 -_0805161C: .4byte gUnknown_2037AB8 +_0805161C: .4byte gPaletteFade _08051620: ldr r4, _0805163C @ =gUnknown_2031DAC ldr r0, [r4] @@ -9808,7 +9808,7 @@ _08051808: .align 2, 0 _08051828: .4byte gUnknown_2031DAC _0805182C: - ldr r0, _08051870 @ =gUnknown_2037AB8 + ldr r0, _08051870 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -9838,7 +9838,7 @@ _0805183C: ldr r1, [r7] bl _080522AC .align 2, 0 -_08051870: .4byte gUnknown_2037AB8 +_08051870: .4byte gPaletteFade _08051874: .4byte gSprites _08051878: movs r1, 0x1 @@ -9874,7 +9874,7 @@ _08051878: _080518BC: .4byte gUnknown_826CE84 _080518C0: .4byte gUnknown_2031DAC _080518C4: - ldr r0, _08051914 @ =gUnknown_2037AB8 + ldr r0, _08051914 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -9913,7 +9913,7 @@ _080518E2: strh r1, [r0, 0x26] bl _08052318 .align 2, 0 -_08051914: .4byte gUnknown_2037AB8 +_08051914: .4byte gPaletteFade _08051918: .4byte gUnknown_2031DAC _0805191C: .4byte gSprites _08051920: @@ -10298,7 +10298,7 @@ _08051BF6: .align 2, 0 _08051C38: .4byte gSprites _08051C3C: - ldr r0, _08051CA4 @ =gUnknown_2037AB8 + ldr r0, _08051CA4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -10347,7 +10347,7 @@ _08051C4A: bl StartSpriteAnim b _08052318 .align 2, 0 -_08051CA4: .4byte gUnknown_2037AB8 +_08051CA4: .4byte gPaletteFade _08051CA8: .4byte gUnknown_826CE44 _08051CAC: .4byte gUnknown_826CE84 _08051CB0: .4byte gSprites @@ -10365,7 +10365,7 @@ _08051CC4: lsls r1, 5 movs r0, 0 bl SetGpuReg - ldr r0, _08051CE0 @ =gUnknown_2037AB8 + ldr r0, _08051CE0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -10375,7 +10375,7 @@ _08051CC4: _08051CDC: b _080522A8 .align 2, 0 -_08051CE0: .4byte gUnknown_2037AB8 +_08051CE0: .4byte gPaletteFade _08051CE4: ldr r2, _08051D30 @ =gSprites ldr r4, [r7] @@ -10635,7 +10635,7 @@ _08051EC4: .align 2, 0 _08051EE0: .4byte gUnknown_2031DAC _08051EE4: - ldr r4, _08051F08 @ =gUnknown_2037AB8 + ldr r4, _08051F08 @ =gPaletteFade ldrb r1, [r4, 0x7] movs r0, 0x80 ands r0, r1 @@ -10653,9 +10653,9 @@ _08051EF2: strb r0, [r4, 0x8] b _080522A8 .align 2, 0 -_08051F08: .4byte gUnknown_2037AB8 +_08051F08: .4byte gPaletteFade _08051F0C: - ldr r2, _08051F24 @ =gUnknown_2037AB8 + ldr r2, _08051F24 @ =gPaletteFade ldrb r1, [r2, 0x8] movs r0, 0x7F ands r0, r1 @@ -10668,13 +10668,13 @@ _08051F0C: movs r3, 0 b _080522A4 .align 2, 0 -_08051F24: .4byte gUnknown_2037AB8 +_08051F24: .4byte gPaletteFade _08051F28: movs r1, 0xA2 lsls r1, 5 movs r0, 0 bl SetGpuReg - ldr r0, _08051F44 @ =gUnknown_2037AB8 + ldr r0, _08051F44 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -10684,7 +10684,7 @@ _08051F28: _08051F40: b _080522A8 .align 2, 0 -_08051F44: .4byte gUnknown_2037AB8 +_08051F44: .4byte gPaletteFade _08051F48: ldr r0, _08051FDC @ =gUnknown_826CDE4 movs r2, 0x8 @@ -11107,7 +11107,7 @@ _080522AC: .align 2, 0 _080522B8: .4byte gUnknown_2031DAC _080522BC: - ldr r0, _08052324 @ =gUnknown_2037AB8 + ldr r0, _08052324 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -11149,7 +11149,7 @@ _0805231A: pop {r1} bx r1 .align 2, 0 -_08052324: .4byte gUnknown_2037AB8 +_08052324: .4byte gPaletteFade _08052328: .4byte c2_exit_to_overworld_2_switch thumb_func_end sub_8050F3C @@ -11695,7 +11695,7 @@ _08052988: .align 2, 0 _080529A8: .4byte gUnknown_2031DAC _080529AC: - ldr r0, _080529D8 @ =gUnknown_2037AB8 + ldr r0, _080529D8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -11713,7 +11713,7 @@ _080529BC: bl CopyWindowToVram bl _08053704 .align 2, 0 -_080529D8: .4byte gUnknown_2037AB8 +_080529D8: .4byte gPaletteFade _080529DC: movs r1, 0x1 negs r1, r1 @@ -11724,7 +11724,7 @@ _080529DC: movs r3, 0 bl _08053700 _080529EE: - ldr r0, _08052A0C @ =gUnknown_2037AB8 + ldr r0, _08052A0C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -11738,7 +11738,7 @@ _080529FE: strh r1, [r0] bl _08053774 .align 2, 0 -_08052A0C: .4byte gUnknown_2037AB8 +_08052A0C: .4byte gPaletteFade _08052A10: ldr r4, _08052A2C @ =gUnknown_2031DAC ldr r0, [r4] @@ -11994,7 +11994,7 @@ _08052C18: .align 2, 0 _08052C38: .4byte gUnknown_2031DAC _08052C3C: - ldr r0, _08052C80 @ =gUnknown_2037AB8 + ldr r0, _08052C80 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -12024,7 +12024,7 @@ _08052C4C: ldr r1, [r7] bl _08053708 .align 2, 0 -_08052C80: .4byte gUnknown_2037AB8 +_08052C80: .4byte gPaletteFade _08052C84: .4byte gSprites _08052C88: movs r1, 0x1 @@ -12060,7 +12060,7 @@ _08052C88: _08052CCC: .4byte gUnknown_826CE84 _08052CD0: .4byte gUnknown_2031DAC _08052CD4: - ldr r0, _08052D24 @ =gUnknown_2037AB8 + ldr r0, _08052D24 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -12099,7 +12099,7 @@ _08052CF2: strh r1, [r0, 0x26] bl _08053774 .align 2, 0 -_08052D24: .4byte gUnknown_2037AB8 +_08052D24: .4byte gPaletteFade _08052D28: .4byte gUnknown_2031DAC _08052D2C: .4byte gSprites _08052D30: @@ -12490,7 +12490,7 @@ _08053012: .align 2, 0 _08053054: .4byte gSprites _08053058: - ldr r0, _080530E4 @ =gUnknown_2037AB8 + ldr r0, _080530E4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -12557,7 +12557,7 @@ _08053066: bl StartSpriteAnim b _08053774 .align 2, 0 -_080530E4: .4byte gUnknown_2037AB8 +_080530E4: .4byte gPaletteFade _080530E8: .4byte gUnknown_826CE44 _080530EC: .4byte gSprites _080530F0: .4byte sub_804FD48 @@ -12576,7 +12576,7 @@ _08053108: lsls r1, 5 movs r0, 0 bl SetGpuReg - ldr r0, _08053124 @ =gUnknown_2037AB8 + ldr r0, _08053124 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -12586,7 +12586,7 @@ _08053108: _08053120: b _08053704 .align 2, 0 -_08053124: .4byte gUnknown_2037AB8 +_08053124: .4byte gPaletteFade _08053128: ldr r2, _0805317C @ =gSprites ldr r4, [r7] @@ -12860,7 +12860,7 @@ _08053320: .align 2, 0 _0805333C: .4byte gUnknown_2031DAC _08053340: - ldr r4, _08053364 @ =gUnknown_2037AB8 + ldr r4, _08053364 @ =gPaletteFade ldrb r1, [r4, 0x7] movs r0, 0x80 ands r0, r1 @@ -12878,9 +12878,9 @@ _0805334E: strb r0, [r4, 0x8] b _08053704 .align 2, 0 -_08053364: .4byte gUnknown_2037AB8 +_08053364: .4byte gPaletteFade _08053368: - ldr r2, _08053380 @ =gUnknown_2037AB8 + ldr r2, _08053380 @ =gPaletteFade ldrb r1, [r2, 0x8] movs r0, 0x7F ands r0, r1 @@ -12893,13 +12893,13 @@ _08053368: movs r3, 0 b _08053700 .align 2, 0 -_08053380: .4byte gUnknown_2037AB8 +_08053380: .4byte gPaletteFade _08053384: movs r1, 0xA2 lsls r1, 5 movs r0, 0 bl SetGpuReg - ldr r0, _080533A0 @ =gUnknown_2037AB8 + ldr r0, _080533A0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -12909,7 +12909,7 @@ _08053384: _0805339C: b _08053704 .align 2, 0 -_080533A0: .4byte gUnknown_2037AB8 +_080533A0: .4byte gPaletteFade _080533A4: ldr r0, _08053438 @ =gUnknown_826CDE4 movs r2, 0x8 @@ -13332,7 +13332,7 @@ _08053708: .align 2, 0 _08053714: .4byte gUnknown_2031DAC _08053718: - ldr r0, _08053780 @ =gUnknown_2037AB8 + ldr r0, _08053780 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -13374,7 +13374,7 @@ _08053776: pop {r1} bx r1 .align 2, 0 -_08053780: .4byte gUnknown_2037AB8 +_08053780: .4byte gPaletteFade _08053784: .4byte c2_exit_to_overworld_2_switch thumb_func_end sub_805232C @@ -14685,7 +14685,7 @@ _080542C4: bl BeginNormalPaletteFade b _08054338 _080542E0: - ldr r0, _080542FC @ =gUnknown_2037AB8 + ldr r0, _080542FC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -14699,7 +14699,7 @@ _080542E0: adds r1, r0 b _08054340 .align 2, 0 -_080542FC: .4byte gUnknown_2037AB8 +_080542FC: .4byte gPaletteFade _08054300: .4byte gMain _08054304: bl IsBGMStopped @@ -14792,7 +14792,7 @@ _080543C0: .4byte sub_80543C4 thumb_func_start sub_80543C4 sub_80543C4: @ 80543C4 push {r4,r5,lr} - ldr r0, _08054430 @ =gUnknown_2037AB8 + ldr r0, _08054430 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -14833,7 +14833,7 @@ _0805441A: pop {r0} bx r0 .align 2, 0 -_08054430: .4byte gUnknown_2037AB8 +_08054430: .4byte gPaletteFade _08054434: .4byte gUnknown_2031DAC _08054438: .4byte gUnknown_3003F3C _0805443C: .4byte gMain @@ -14867,7 +14867,7 @@ sub_8054470: @ 8054470 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0805449C @ =gUnknown_2037AB8 + ldr r0, _0805449C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -14885,7 +14885,7 @@ _08054494: pop {r0} bx r0 .align 2, 0 -_0805449C: .4byte gUnknown_2037AB8 +_0805449C: .4byte gPaletteFade _080544A0: .4byte sub_80505CC _080544A4: .4byte gUnknown_3005020 _080544A8: .4byte sub_807DD24 diff --git a/asm/union_room_chat.s b/asm/union_room_chat.s index 48a4e478f..caec21cff 100644 --- a/asm/union_room_chat.s +++ b/asm/union_room_chat.s @@ -155,7 +155,7 @@ _08128548: _08128550: .4byte sub_81285B4 _08128554: bl UpdatePaletteFade - ldr r0, _081285A0 @ =gUnknown_2037AB8 + ldr r0, _081285A0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -187,7 +187,7 @@ _08128598: pop {r0} bx r0 .align 2, 0 -_081285A0: .4byte gUnknown_2037AB8 +_081285A0: .4byte gPaletteFade _081285A4: .4byte sub_81285CC _081285A8: .4byte sub_81285E8 _081285AC: .4byte gUnknown_203B0E0 @@ -1711,7 +1711,7 @@ _081291C8: .align 2, 0 _081291E4: .4byte gUnknown_203B0E0 _081291E8: - ldr r0, _08129210 @ =gUnknown_2037AB8 + ldr r0, _08129210 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1728,7 +1728,7 @@ _08129206: pop {r0} bx r0 .align 2, 0 -_08129210: .4byte gUnknown_2037AB8 +_08129210: .4byte gPaletteFade _08129214: .4byte c2_exit_to_overworld_2_switch thumb_func_end sub_8128FB8 diff --git a/asm/unk_8147AA8.s b/asm/unk_8147AA8.s index fc9620900..9ae5acd08 100644 --- a/asm/unk_8147AA8.s +++ b/asm/unk_8147AA8.s @@ -497,7 +497,7 @@ _08147E98: .4byte sub_8147D58 _08147E9C: .4byte gUnknown_203F3D4 _08147EA0: bl UpdatePaletteFade - ldr r0, _08147EC4 @ =gUnknown_2037AB8 + ldr r0, _08147EC4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -515,7 +515,7 @@ _08147EBC: strh r0, [r1, 0x8] b _08147F04 .align 2, 0 -_08147EC4: .4byte gUnknown_2037AB8 +_08147EC4: .4byte gPaletteFade _08147EC8: .4byte gUnknown_203F3D4 _08147ECC: ldr r0, [r2] @@ -2529,7 +2529,7 @@ _08148DC4: ldr r1, [r4] b _08148DFE _08148DEA: - ldr r0, _08148E08 @ =gUnknown_2037AB8 + ldr r0, _08148E08 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -2545,7 +2545,7 @@ _08148DFE: strh r0, [r1, 0xA] b _08148E20 .align 2, 0 -_08148E08: .4byte gUnknown_2037AB8 +_08148E08: .4byte gPaletteFade _08148E0C: .4byte gUnknown_203F3D4 _08148E10: ldr r0, _08148E1C @ =gUnknown_3003F64 diff --git a/asm/unk_814BB4C.s b/asm/unk_814BB4C.s index bb11cca7f..1895133dc 100644 --- a/asm/unk_814BB4C.s +++ b/asm/unk_814BB4C.s @@ -89,7 +89,7 @@ sub_814BBB8: @ 814BBB8 lsls r4, 8 ldrb r2, [r1, 0x7] orrs r4, r2 - ldr r5, _0814BC0C @ =gUnknown_2037AB8 + ldr r5, _0814BC0C @ =gPaletteFade ldrb r3, [r5, 0x8] movs r2, 0x7F ands r2, r3 @@ -110,7 +110,7 @@ sub_814BBB8: @ 814BBB8 pop {r1} bx r1 .align 2, 0 -_0814BC0C: .4byte gUnknown_2037AB8 +_0814BC0C: .4byte gPaletteFade thumb_func_end sub_814BBB8 thumb_func_start sub_814BC10 diff --git a/asm/unk_814D5C8.s b/asm/unk_814D5C8.s index 313bf9f78..01a4a08cb 100644 --- a/asm/unk_814D5C8.s +++ b/asm/unk_814D5C8.s @@ -192,14 +192,14 @@ _0814D774: bl sub_814EB38 adds r0, r5, 0 bl sub_814EBB0 - ldr r0, _0814D794 @ =gUnknown_2037AB8 + ldr r0, _0814D794 @ =gPaletteFade ldrb r1, [r0, 0x8] movs r2, 0x80 orrs r1, r2 strb r1, [r0, 0x8] b _0814D878 .align 2, 0 -_0814D794: .4byte gUnknown_2037AB8 +_0814D794: .4byte gPaletteFade _0814D798: ldr r0, _0814D7E4 @ =gUnknown_8EAFEA0 movs r2, 0xC0 @@ -261,7 +261,7 @@ _0814D7F4: .align 2, 0 _0814D82C: .4byte gSpriteCoordOffsetY _0814D830: - ldr r2, _0814D874 @ =gUnknown_2037AB8 + ldr r2, _0814D874 @ =gPaletteFade ldrb r1, [r2, 0x8] movs r0, 0x7F ands r0, r1 @@ -289,7 +289,7 @@ _0814D830: movs r0, 0x1 b _0814D880 .align 2, 0 -_0814D874: .4byte gUnknown_2037AB8 +_0814D874: .4byte gPaletteFade _0814D878: ldrb r0, [r5, 0xC] adds r0, 0x1 diff --git a/asm/unk_81507FC.s b/asm/unk_81507FC.s index cb042d971..a93a5ae2e 100644 --- a/asm/unk_81507FC.s +++ b/asm/unk_81507FC.s @@ -468,7 +468,7 @@ _08150BA2: _08150BC8: .4byte sub_8152034 _08150BCC: bl UpdatePaletteFade - ldr r0, _08150BE8 @ =gUnknown_2037AB8 + ldr r0, _08150BE8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -483,7 +483,7 @@ _08150BE0: strb r0, [r1, 0xC] b _08150BFC .align 2, 0 -_08150BE8: .4byte gUnknown_2037AB8 +_08150BE8: .4byte gPaletteFade _08150BEC: .4byte gUnknown_203F3E0 _08150BF0: adds r0, r1, 0 @@ -1678,7 +1678,7 @@ _08151512: b _0815155E _08151524: bl UpdatePaletteFade - ldr r0, _08151538 @ =gUnknown_2037AB8 + ldr r0, _08151538 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1686,7 +1686,7 @@ _08151524: bne _08151590 b _0815155E .align 2, 0 -_08151538: .4byte gUnknown_2037AB8 +_08151538: .4byte gPaletteFade _0815153C: bl sub_8154274 bl sub_8153ED8 @@ -1828,7 +1828,7 @@ _08151656: b _08151686 _08151676: bl UpdatePaletteFade - ldr r0, _08151694 @ =gUnknown_2037AB8 + ldr r0, _08151694 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -1842,7 +1842,7 @@ _08151686: strb r0, [r1, 0x10] b _081516CC .align 2, 0 -_08151694: .4byte gUnknown_2037AB8 +_08151694: .4byte gPaletteFade _08151698: .4byte gUnknown_203F3E0 _0815169C: ldrb r0, [r1, 0x4] diff --git a/asm/wireless_communication_status_screen.s b/asm/wireless_communication_status_screen.s index 5b3186c32..b4aecb9a5 100644 --- a/asm/wireless_communication_status_screen.s +++ b/asm/wireless_communication_status_screen.s @@ -388,7 +388,7 @@ _0814F4D4: bl ShowBg b _0814F618 _0814F4F8: - ldr r0, _0814F510 @ =gUnknown_2037AB8 + ldr r0, _0814F510 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -402,7 +402,7 @@ _0814F506: adds r0, r2 b _0814F622 .align 2, 0 -_0814F510: .4byte gUnknown_2037AB8 +_0814F510: .4byte gPaletteFade _0814F514: ldr r0, _0814F570 @ =gUnknown_3002040 ldr r0, [r0] @@ -541,7 +541,7 @@ _0814F622: .align 2, 0 _0814F62C: .4byte gTasks _0814F630: - ldr r0, _0814F654 @ =gUnknown_2037AB8 + ldr r0, _0814F654 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 @@ -559,7 +559,7 @@ _0814F648: pop {r0} bx r0 .align 2, 0 -_0814F654: .4byte gUnknown_2037AB8 +_0814F654: .4byte gPaletteFade _0814F658: .4byte sub_814F32C thumb_func_end sub_814F46C diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 25b7f2d71..4bbc197aa 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -11,6 +11,8 @@ u8 player_get_direction_upper_nybble(void); u8 player_get_x22(void); void sub_808D074(u8); +void sub_805C270(); +void sub_805C780(); void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr); #endif //GUARD_FIELD_PLAYER_AVATAR_H diff --git a/include/map_obj_80688E4.h b/include/map_obj_80688E4.h new file mode 100644 index 000000000..b131a1a54 --- /dev/null +++ b/include/map_obj_80688E4.h @@ -0,0 +1,6 @@ +#ifndef GUARD_MAP_OBJ_80688E4_H +#define GUARD_MAP_OBJ_80688E4_H + +void player_bitmagic(void); + +#endif //GUARD_MAP_OBJ_80688E4_H diff --git a/include/palette.h b/include/palette.h index ffdc0496d..bdd1d1b93 100644 --- a/include/palette.h +++ b/include/palette.h @@ -68,6 +68,6 @@ void BeginHardwarePaletteFade(u8, u8, u8, u8, u8); void BlendPalettes(u32, u8, u16); void BlendPalettesUnfaded(u32, u8, u16); -extern struct PaletteFadeControl gUnknown_2037AB8; +extern struct PaletteFadeControl gPaletteFade; #endif // GUARD_PALETTE_H diff --git a/src/bg.c b/src/bg.c index d7f84bf4e..df91e9d4a 100644 --- a/src/bg.c +++ b/src/bg.c @@ -1067,7 +1067,6 @@ void CopyBgTilemapBufferToVram(u8 bg) void CopyToBgTilemapBufferRect(u8 bg, void* src, u8 destX, u8 destY, u8 width, u8 height) { - void* srcCopy; u16 destX16; u16 destY16; u16 mode; @@ -1077,26 +1076,30 @@ void CopyToBgTilemapBufferRect(u8 bg, void* src, u8 destX, u8 destY, u8 width, u switch (GetBgType(bg)) { case 0: - srcCopy = src; + { + u16 * srcCopy = src; for (destY16 = destY; destY16 < (destY + height); destY16++) { for (destX16 = destX; destX16 < (destX + width); destX16++) { - ((u16*)sGpuBgConfigs2[bg].tilemap)[((destY16 * 0x20) + destX16)] = *((u16*)srcCopy)++; + ((u16*)sGpuBgConfigs2[bg].tilemap)[((destY16 * 0x20) + destX16)] = *(srcCopy)++; } } break; + } case 1: - srcCopy = src; + { + u8 * srcCopy = src; mode = GetBgMetricAffineMode(bg, 0x1); for (destY16 = destY; destY16 < (destY + height); destY16++) { for (destX16 = destX; destX16 < (destX + width); destX16++) { - ((u8*)sGpuBgConfigs2[bg].tilemap)[((destY16 * mode) + destX16)] = *((u8*)srcCopy)++; + ((u8*)sGpuBgConfigs2[bg].tilemap)[((destY16 * mode) + destX16)] = *(srcCopy)++; } } break; + } } } } diff --git a/src/quest_log.c b/src/quest_log.c index 4cf7e6c95..2c98ca377 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -13,6 +13,8 @@ #include "overworld.h" #include "field_fadetransition.h" #include "field_weather.h" +#include "map_obj_80688E4.h" +#include "field_player_avatar.h" #include "item.h" #include "wild_encounter.h" #include "help_system.h" @@ -39,6 +41,8 @@ struct UnkStruct_203AE98 u8 unk_6; }; +extern u16 gUnknown_20371F8[]; + EWRAM_DATA u8 gUnknown_203ADF8 = 0; EWRAM_DATA u8 gUnknown_203ADF9 = 0; EWRAM_DATA u8 gUnknown_203ADFA = 0; @@ -48,6 +52,7 @@ EWRAM_DATA void * gUnknown_203AE04 = NULL; EWRAM_DATA u16 * gUnknown_203AE08 = NULL; EWRAM_DATA void * gUnknown_203AE0C[32] = {NULL}; EWRAM_DATA void (* gUnknown_203AE8C)(void) = 0; +EWRAM_DATA u16 *gUnknown_203AE90 = NULL; EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0}; EWRAM_DATA struct UnkStruct_203AE98 gUnknown_203AE98[32] = {0}; EWRAM_DATA u16 gUnknown_203AF98 = 0; @@ -82,7 +87,10 @@ void sub_8111D10(void); void sub_8111D90(u8); void sub_8111E20(void); void sub_8111E64(s8); +void sub_8111E84(void); bool8 sub_8111F60(void); +void sub_8111F8C(u8); +void sub_8111FCC(u8); void sub_8112364(void); void sub_8112888(u8); void sub_8112940(u8, struct UnkStruct_203AE98 *, u16); @@ -916,7 +924,7 @@ void sub_81118F4(s8 a0) void sub_8111914(void) { - if (!gUnknown_2037AB8.active) + if (!gPaletteFade.active) { ScriptContext2_Enable(); if (++gUnknown_203ADF8 < 4 && gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_000) @@ -985,7 +993,7 @@ void sub_8111A34(u8 taskId) } break; case 1: - if (!gUnknown_2037AB8.active) + if (!gPaletteFade.active) { gUnknown_3005E88 = 0; routine = (void (*)(void)) GetWordTaskArg(taskId, 14); @@ -1158,3 +1166,68 @@ void sub_8111D90(u8 a0) Free(buffer); } } + +void sub_8111E20(void) +{ + ClearWindowTilemap(gUnknown_203ADFE[2]); + FillWindowPixelRect(gUnknown_203ADFE[2], 15, 0, 0, 0xf0, 0x30); + CopyWindowToVram(gUnknown_203ADFE[2], 2); + PutWindowTilemap(gUnknown_203ADFE[1]); + CopyWindowToVram(gUnknown_203ADFE[1], 1); +} + +void sub_8111E64(s8 a0) +{ + fade_screen(1, a0); + gUnknown_203AE8C = sub_8111E84; +} + +void sub_8111E84(void) +{ + if (!gPaletteFade.active) + { + ScriptContext2_Enable(); + for (gUnknown_203ADF8 = gUnknown_203ADF8; gUnknown_203ADF8 < 4; gUnknown_203ADF8++) + { + if (gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_000 == 0) + break; + sub_811175C(gUnknown_203ADF8, gUnknown_203AE98); + } + gUnknown_3005E88 = 0; + sub_8111984(); + } +} + +void sub_8111F14(void) +{ + if (gUnknown_203ADFA == 3) + gUnknown_203AE90 = AllocZeroed(0x200 * sizeof(u16)); +} + +void sub_8111F38(u16 a0, u16 a1) +{ + CpuSet(gUnknown_20371F8 + a0, gUnknown_203AE90 + a0, a1); +} + +bool8 sub_8111F60(void) +{ + LoadPalette(stdpal_get(4), 0xF0, 0x20); + sub_8111070(0); + sub_807DF7C(); + CreateTask(sub_8111F8C, 0xFF); + return TRUE; +} + +void sub_8111F8C(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + if (ScriptContext2_IsEnabled() != TRUE) + { + player_bitmagic(); + sub_805C270(); + sub_805C780(); + ScriptContext2_Enable(); + task->func = sub_8111FCC; + } +} diff --git a/sym_ewram.txt b/sym_ewram.txt index 3864a27a7..cebe20e4f 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -806,7 +806,7 @@ gUnknown_20377F8: @ 20377F8 gUnknown_20379F8: @ 20379F8 .space 0xC0 -gUnknown_2037AB8: @ 2037AB8 +gPaletteFade: @ 2037AB8 .space 0x10 gUnknown_2037AC8: @ 2037AC8 From 58f91389a345f8dab7c0da2637f9063a823f495f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 12 Oct 2018 13:51:56 -0400 Subject: [PATCH 032/222] through sub_8112044 --- asm/quest_log.s | 106 ------------------------------------------- include/gba/gba.h | 1 + include/region_map.h | 1 + src/quest_log.c | 39 ++++++++++++++++ 4 files changed, 41 insertions(+), 106 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 2a6410b3f..1ee1361d6 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,112 +5,6 @@ .text - thumb_func_start sub_8111FCC -sub_8111FCC: @ 8111FCC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08112024 @ =gTasks - adds r5, r1, r0 - ldr r0, _08112028 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0811201E - ldr r0, _0811202C @ =gUnknown_203AE94 - ldrb r1, [r0] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0x40 - beq _0811200E - ldr r0, _08112030 @ =gStringVar1 - ldr r1, _08112034 @ =gMapHeader - ldrb r1, [r1, 0x14] - bl sub_80C4DF8 - ldr r0, _08112038 @ =gStringVar4 - ldr r1, _0811203C @ =gUnknown_841B073 - bl StringExpandPlaceholders - bl sub_8111D10 -_0811200E: - strh r4, [r5, 0x8] - strh r4, [r5, 0xA] - ldr r0, _08112040 @ =sub_8112044 - str r0, [r5] - bl player_bitmagic - bl ScriptContext2_Enable -_0811201E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08112024: .4byte gTasks -_08112028: .4byte gPaletteFade -_0811202C: .4byte gUnknown_203AE94 -_08112030: .4byte gStringVar1 -_08112034: .4byte gMapHeader -_08112038: .4byte gStringVar4 -_0811203C: .4byte gUnknown_841B073 -_08112040: .4byte sub_8112044 - thumb_func_end sub_8111FCC - - thumb_func_start sub_8112044 -sub_8112044: @ 8112044 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0811208C @ =gTasks - adds r4, r1, r0 - ldr r0, _08112090 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08112076 - ldrh r2, [r4, 0x8] - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x7E - bgt _08112076 - ldr r0, _08112094 @ =gUnknown_203AE94 - ldrb r1, [r0] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0x40 - bne _081120A0 -_08112076: - bl sub_8111E20 - movs r1, 0 - movs r0, 0 - strh r0, [r4, 0x8] - ldr r0, _08112098 @ =sub_81120AC - str r0, [r4] - ldr r0, _0811209C @ =gUnknown_203ADFA - strb r1, [r0] - b _081120A4 - .align 2, 0 -_0811208C: .4byte gTasks -_08112090: .4byte gMain -_08112094: .4byte gUnknown_203AE94 -_08112098: .4byte sub_81120AC -_0811209C: .4byte gUnknown_203ADFA -_081120A0: - adds r0, r2, 0x1 - strh r0, [r4, 0x8] -_081120A4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8112044 - thumb_func_start sub_81120AC sub_81120AC: @ 81120AC push {r4-r6,lr} diff --git a/include/gba/gba.h b/include/gba/gba.h index 7e58efb9f..4b5f2de95 100644 --- a/include/gba/gba.h +++ b/include/gba/gba.h @@ -1,6 +1,7 @@ #ifndef GUARD_GBA_GBA_H #define GUARD_GBA_GBA_H +#include #include "defines.h" #include "io_reg.h" #include "types.h" diff --git a/include/region_map.h b/include/region_map.h index 91384d166..eb84a71b1 100644 --- a/include/region_map.h +++ b/include/region_map.h @@ -310,5 +310,6 @@ void CreateRegionMapPlayerIcon(u16 x, u16 y); void CreateRegionMapCursor(u16 tileTag, u16 paletteTag); u8 *GetMapName(u8 *, u16, u16); bool32 sub_8124668(u8 mapSecId); +void sub_80C4DF8(u8 *, u8); #endif //GUARD_REGION_MAP_H diff --git a/src/quest_log.c b/src/quest_log.c index 2c98ca377..fbf8b018e 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -16,6 +16,7 @@ #include "map_obj_80688E4.h" #include "field_player_avatar.h" #include "item.h" +#include "region_map.h" #include "wild_encounter.h" #include "help_system.h" #include "unk_8159F40.h" @@ -91,6 +92,8 @@ void sub_8111E84(void); bool8 sub_8111F60(void); void sub_8111F8C(u8); void sub_8111FCC(u8); +void sub_8112044(u8); +void sub_81120AC(u8); void sub_8112364(void); void sub_8112888(u8); void sub_8112940(u8, struct UnkStruct_203AE98 *, u16); @@ -111,6 +114,7 @@ void * sub_8113D48(void *, struct UnkStruct_203AE98 *); void * sub_8113D94(void *, struct UnkStruct_203AE98 *); extern const u8 gUnknown_841A155[]; +extern const u8 gUnknown_841B073[]; const struct WindowTemplate gUnknown_845661C[3] = { { 0, 0, 0, 30, 2, 15, 0x0e9 }, @@ -1231,3 +1235,38 @@ void sub_8111F8C(u8 taskId) task->func = sub_8111FCC; } } + +void sub_8111FCC(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + if (!gPaletteFade.active) + { + if (gUnknown_203AE94.unk_0_6 != 1) + { + sub_80C4DF8(gStringVar1, gMapHeader.regionMapSectionId); + StringExpandPlaceholders(gStringVar4, gUnknown_841B073); + sub_8111D10(); + } + task->data[0] = 0; + task->data[1] = 0; + task->func = sub_8112044; + player_bitmagic(); + ScriptContext2_Enable(); + } +} + +void sub_8112044(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + if (gMain.newKeys & (A_BUTTON | B_BUTTON) || task->data[0] >= 0x7f || gUnknown_203AE94.unk_0_6 == 1) + { + sub_8111E20(); + task->data[0] = 0; + task->func = sub_81120AC; + gUnknown_203ADFA = 0; + } + else + task->data[0]++; +} From 67cbc482982245c8cdd0466f59d73ab89d09b633 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 12 Oct 2018 15:05:47 -0400 Subject: [PATCH 033/222] sub_81120AC --- asm/quest_log.s | 141 --------------------------------------- include/map_name_popup.h | 1 + include/map_obj_lock.h | 1 + include/overworld.h | 2 + src/quest_log.c | 54 +++++++++++++++ 5 files changed, 58 insertions(+), 141 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 1ee1361d6..9809b1b52 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,147 +5,6 @@ .text - thumb_func_start sub_81120AC -sub_81120AC: @ 81120AC - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _081120D0 @ =gTasks+0x8 - adds r6, r0, r1 - movs r0, 0 - ldrsh r1, [r6, r0] - cmp r1, 0x1 - beq _08112110 - cmp r1, 0x1 - bgt _081120D4 - cmp r1, 0 - beq _081120DA - b _08112164 - .align 2, 0 -_081120D0: .4byte gTasks+0x8 -_081120D4: - cmp r1, 0x2 - beq _0811214C - b _08112164 -_081120DA: - ldr r0, _08112104 @ =gUnknown_2031DD8 - strb r1, [r0] - bl sub_8055DC4 - bl sub_811229C - ldr r0, _08112108 @ =gUnknown_203ADFE - ldrb r0, [r0] - ldr r2, _0811210C @ =gUnknown_845661C - ldrb r1, [r2, 0x3] - lsls r1, 3 - str r1, [sp] - ldrb r1, [r2, 0x4] - lsls r1, 3 - str r1, [sp, 0x4] - movs r1, 0xF - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - b _0811215C - .align 2, 0 -_08112104: .4byte gUnknown_2031DD8 -_08112108: .4byte gUnknown_203ADFE -_0811210C: .4byte gUnknown_845661C -_08112110: - adds r0, r5, 0 - bl sub_81121D8 - lsls r0, 24 - cmp r0, 0 - beq _081121B8 - movs r5, 0 -_0811211E: - ldr r4, _08112148 @ =gUnknown_203ADFE - adds r4, r5, r4 - ldrb r0, [r4] - bl ClearWindowTilemap - ldrb r0, [r4] - movs r1, 0x1 - bl CopyWindowToVram - ldrb r0, [r4] - bl RemoveWindow - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _0811211E - movs r0, 0 - strh r0, [r6, 0x2] - b _0811215C - .align 2, 0 -_08112148: .4byte gUnknown_203ADFE -_0811214C: - ldrh r1, [r6, 0x2] - movs r2, 0x2 - ldrsh r0, [r6, r2] - cmp r0, 0x1F - bgt _0811215C - adds r0, r1, 0x1 - strh r0, [r6, 0x2] - b _081121B8 -_0811215C: - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - b _081121B8 -_08112164: - ldr r6, _081121C0 @ =gUnknown_203AE94 - ldrb r1, [r6] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0x40 - bne _08112176 - movs r0, 0x1 - bl sub_8098110 -_08112176: - ldr r4, _081121C4 @ =gUnknown_203AE90 - ldr r0, [r4] - ldr r1, _081121C8 @ =gUnknown_20371F8 - movs r2, 0x80 - lsls r2, 2 - bl CpuSet - ldr r0, [r4] - bl Free - movs r4, 0 - str r4, [r6] - bl sub_80696C0 - bl ScriptContext2_Disable - ldr r2, _081121CC @ =gTextFlags - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldr r0, _081121D0 @ =gUnknown_2036E28 - strb r4, [r0] - movs r0, 0 - bl sub_8082740 - ldr r1, _081121D4 @ =gUnknown_3005ECC - movs r0, 0x1 - strb r0, [r1] - adds r0, r5, 0 - bl DestroyTask -_081121B8: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081121C0: .4byte gUnknown_203AE94 -_081121C4: .4byte gUnknown_203AE90 -_081121C8: .4byte gUnknown_20371F8 -_081121CC: .4byte gTextFlags -_081121D0: .4byte gUnknown_2036E28 -_081121D4: .4byte gUnknown_3005ECC - thumb_func_end sub_81120AC - thumb_func_start sub_81121D8 sub_81121D8: @ 81121D8 push {r4-r7,lr} diff --git a/include/map_name_popup.h b/include/map_name_popup.h index 8a9043a3f..0cb0c49ad 100644 --- a/include/map_name_popup.h +++ b/include/map_name_popup.h @@ -7,5 +7,6 @@ // Exported ROM declarations void HideMapNamePopUpWindow(void); +void sub_8098110(u8); #endif //GUARD_MAP_NAME_POPUP_H diff --git a/include/map_obj_lock.h b/include/map_obj_lock.h index a10648f2f..cf1f714d7 100644 --- a/include/map_obj_lock.h +++ b/include/map_obj_lock.h @@ -7,5 +7,6 @@ bool8 sub_809847C(void); void LockSelectedMapObject(void); void sub_8098630(void); bool8 sub_8098734(void); +void sub_80696C0(void); #endif // GUARD_MAP_OBJ_LOCK_H diff --git a/include/overworld.h b/include/overworld.h index ab3554137..d497ddbe1 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -76,8 +76,10 @@ void sub_8055D5C(struct WarpData *); void sub_80572A8(void); void sub_805726C(void); void sub_8057430(void); +void sub_8055DC4(void); extern u8 gUnknown_2031DD8; +extern u8 gUnknown_2036E28; extern bool8 (* gUnknown_3005024)(void); diff --git a/src/quest_log.c b/src/quest_log.c index fbf8b018e..e7a5a2d5b 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -14,9 +14,11 @@ #include "field_fadetransition.h" #include "field_weather.h" #include "map_obj_80688E4.h" +#include "map_obj_lock.h" #include "field_player_avatar.h" #include "item.h" #include "region_map.h" +#include "map_name_popup.h" #include "wild_encounter.h" #include "help_system.h" #include "unk_8159F40.h" @@ -94,6 +96,8 @@ void sub_8111F8C(u8); void sub_8111FCC(u8); void sub_8112044(u8); void sub_81120AC(u8); +bool8 sub_81121D8(u8); +void sub_811229C(void); void sub_8112364(void); void sub_8112888(u8); void sub_8112940(u8, struct UnkStruct_203AE98 *, u16); @@ -1270,3 +1274,53 @@ void sub_8112044(u8 taskId) else task->data[0]++; } + +void sub_81120AC(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + u8 i; + + switch (data[0]) + { + case 0: + gUnknown_2031DD8 = 0; + sub_8055DC4(); + sub_811229C(); + FillWindowPixelRect(gUnknown_203ADFE[0], 0xF, 0, 0, gUnknown_845661C[0].width * 8, gUnknown_845661C[0].height * 8); + data[0]++; + break; + case 1: + if (sub_81121D8(taskId)) + { + for (i = 0; i < 3; i++) + { + ClearWindowTilemap(gUnknown_203ADFE[i]); + CopyWindowToVram(gUnknown_203ADFE[i], 1); + RemoveWindow(gUnknown_203ADFE[i]); + } + data[1] = 0; + data[0]++; + } + break; + case 2: + if (data[1] < 32) + data[1]++; + else + data[0]++; + break; + default: + if (gUnknown_203AE94.unk_0_6 == 1) + sub_8098110(1); + CpuCopy16(gUnknown_203AE90, gUnknown_20371F8, 0x400); + Free(gUnknown_203AE90); + gUnknown_203AE94 = (struct UnkStruct_203AE94){}; + sub_80696C0(); + ScriptContext2_Disable(); + gTextFlags.flag_2 = FALSE; + gUnknown_2036E28 = 0; + sub_8082740(0); + gUnknown_3005ECC = 1; + DestroyTask(taskId); + break; + } +} From a4000de4bc94c21ee91295727c605b90ce2f7397 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 12 Oct 2018 15:29:43 -0400 Subject: [PATCH 034/222] sub_81121D8 --- asm/battle_1.s | 12 ++-- asm/battle_anim_8074480.s | 24 +++---- asm/battle_anim_8078178.s | 4 +- asm/battle_anim_80A22E8.s | 66 +++++++++--------- asm/battle_anim_80DE2C0.s | 12 ++-- asm/battle_anim_80EEC0C.s | 4 +- asm/battle_gfx_sfx_util.s | 32 ++++----- asm/battle_message.s | 4 +- asm/battle_script_commands.s | 4 +- asm/battle_transition.s | 8 +-- asm/blend_palette.s | 8 +-- asm/credits.s | 16 ++--- asm/field_effect.s | 34 +++++----- asm/field_fadetransition.s | 8 +-- asm/field_weather.s | 76 ++++++++++----------- asm/fieldmap.s | 36 +++++----- asm/fldeff_sweetscent.s | 12 ++-- asm/hall_of_fame.s | 16 ++--- asm/mail.s | 8 +-- asm/main_menu.s | 8 +-- asm/naming_screen.s | 8 +-- asm/oak_speech.s | 16 ++--- asm/palette.s | 126 +++++++++++++++++------------------ asm/party_menu.s | 8 +-- asm/pc_screen_effect.s | 12 ++-- asm/pokemon_storage_system.s | 8 +-- asm/quest_log.s | 97 +-------------------------- asm/roulette_util.s | 52 +++++++-------- asm/slot_machine.s | 8 +-- asm/title_screen.s | 16 ++--- asm/tm_case.s | 8 +-- include/palette.h | 5 +- src/quest_log.c | 23 +++++-- sym_ewram.txt | 4 +- 34 files changed, 353 insertions(+), 430 deletions(-) diff --git a/asm/battle_1.s b/asm/battle_1.s index db55d2dcb..bb29b3aab 100644 --- a/asm/battle_1.s +++ b/asm/battle_1.s @@ -228,7 +228,7 @@ sub_800F380: @ 800F380 movs r1, 0x22 movs r2, 0x10 bl sub_815001C - ldr r4, _0800F3F0 @ =gUnknown_20371F8 + ldr r4, _0800F3F0 @ =gPlttBufferUnfaded adds r0, r4, 0 adds r0, 0xB8 ldr r1, _0800F3F4 @ =0x00002529 @@ -271,7 +271,7 @@ _0800F3EA: pop {r0} bx r0 .align 2, 0 -_0800F3F0: .4byte gUnknown_20371F8 +_0800F3F0: .4byte gPlttBufferUnfaded _0800F3F4: .4byte 0x00002529 _0800F3F8: .4byte 0x00007fff _0800F3FC: .4byte 0x0000675a @@ -838,12 +838,12 @@ _0800F850: ldr r0, _0800F8CC @ =0x00002710 bl AllocSpritePalette lsls r0, 24 - ldr r2, _0800F8D0 @ =gUnknown_20371F8 + ldr r2, _0800F8D0 @ =gPlttBufferUnfaded lsrs r0, 19 ldr r3, _0800F8D4 @ =0x0000021e adds r0, r3 adds r2, r0, r2 - ldr r1, _0800F8D8 @ =gUnknown_20375F8 + ldr r1, _0800F8D8 @ =gPlttBufferFaded adds r0, r1 ldr r1, _0800F8DC @ =0x00007fff strh r1, [r0] @@ -895,9 +895,9 @@ _0800F850: b _0800FAC4 .align 2, 0 _0800F8CC: .4byte 0x00002710 -_0800F8D0: .4byte gUnknown_20371F8 +_0800F8D0: .4byte gPlttBufferUnfaded _0800F8D4: .4byte 0x0000021e -_0800F8D8: .4byte gUnknown_20375F8 +_0800F8D8: .4byte gPlttBufferFaded _0800F8DC: .4byte 0x00007fff _0800F8E0: .4byte gUnknown_82482E8 _0800F8E4: .4byte gBattleStruct diff --git a/asm/battle_anim_8074480.s b/asm/battle_anim_8074480.s index 5e4dfecb0..2d11fc6e1 100644 --- a/asm/battle_anim_8074480.s +++ b/asm/battle_anim_8074480.s @@ -3149,8 +3149,8 @@ sub_8075B48: @ 8075B48 lsrs r0, 16 cmp r1, 0 bne _08075BC4 - ldr r2, _08075BB8 @ =gUnknown_20371F8 - ldr r1, _08075BBC @ =gUnknown_20375F8 + ldr r2, _08075BB8 @ =gPlttBufferUnfaded + ldr r1, _08075BBC @ =gPlttBufferFaded lsls r0, 1 adds r4, r0, r1 adds r5, r0, r2 @@ -3200,14 +3200,14 @@ _08075B60: bge _08075B60 b _08075BD4 .align 2, 0 -_08075BB8: .4byte gUnknown_20371F8 -_08075BBC: .4byte gUnknown_20375F8 +_08075BB8: .4byte gPlttBufferUnfaded +_08075BBC: .4byte gPlttBufferFaded _08075BC0: .4byte 0xfffffc1f _08075BC4: lsls r1, r0, 1 - ldr r0, _08075BDC @ =gUnknown_20371F8 + ldr r0, _08075BDC @ =gPlttBufferUnfaded adds r0, r1, r0 - ldr r2, _08075BE0 @ =gUnknown_20375F8 + ldr r2, _08075BE0 @ =gPlttBufferFaded adds r1, r2 ldr r2, _08075BE4 @ =0x04000008 bl CpuSet @@ -3216,8 +3216,8 @@ _08075BD4: pop {r0} bx r0 .align 2, 0 -_08075BDC: .4byte gUnknown_20371F8 -_08075BE0: .4byte gUnknown_20375F8 +_08075BDC: .4byte gPlttBufferUnfaded +_08075BE0: .4byte gPlttBufferFaded _08075BE4: .4byte 0x04000008 thumb_func_end sub_8075B48 @@ -5967,10 +5967,10 @@ _080770D4: _080770D6: strh r0, [r5, 0x14] lsls r0, r4, 1 - ldr r1, _08077104 @ =gUnknown_20371F8 + ldr r1, _08077104 @ =gPlttBufferUnfaded adds r0, r1 lsls r1, r6, 1 - ldr r2, _08077108 @ =gUnknown_20375F8 + ldr r2, _08077108 @ =gPlttBufferFaded adds r1, r2 ldr r2, _0807710C @ =0x04000008 bl CpuSet @@ -5986,8 +5986,8 @@ _080770D6: pop {r0} bx r0 .align 2, 0 -_08077104: .4byte gUnknown_20371F8 -_08077108: .4byte gUnknown_20375F8 +_08077104: .4byte gPlttBufferUnfaded +_08077108: .4byte gPlttBufferFaded _0807710C: .4byte 0x04000008 _08077110: .4byte gUnknown_2037F02 _08077114: .4byte sub_8077118 diff --git a/asm/battle_anim_8078178.s b/asm/battle_anim_8078178.s index e4f15971d..1080351b3 100644 --- a/asm/battle_anim_8078178.s +++ b/asm/battle_anim_8078178.s @@ -505,7 +505,7 @@ sub_8078528: @ 8078528 asrs r0, 16 cmp r0, 0x3 bne _080785B8 - ldr r3, _080785C8 @ =gUnknown_20375F8 + ldr r3, _080785C8 @ =gPlttBufferFaded lsls r2, 4 mov r12, r2 ldr r1, _080785CC @ =0x0000010d @@ -555,7 +555,7 @@ _080785B8: .align 2, 0 _080785C0: .4byte 0x0000271a _080785C4: .4byte gTasks -_080785C8: .4byte gUnknown_20375F8 +_080785C8: .4byte gPlttBufferFaded _080785CC: .4byte 0x0000010d _080785D0: .4byte 0x0000010f _080785D4: .4byte sub_80785D8 diff --git a/asm/battle_anim_80A22E8.s b/asm/battle_anim_80A22E8.s index e38fc6501..2b522ffe8 100644 --- a/asm/battle_anim_80A22E8.s +++ b/asm/battle_anim_80A22E8.s @@ -5084,7 +5084,7 @@ sub_80A49D4: @ 80A49D4 ble _080A4A32 movs r0, 0 strh r0, [r4, 0x30] - ldr r1, _080A4A7C @ =gUnknown_20375F8 + ldr r1, _080A4A7C @ =gPlttBufferFaded movs r2, 0x32 ldrsh r0, [r4, r2] adds r0, 0x1 @@ -5153,7 +5153,7 @@ _080A4A6C: strh r0, [r4, 0x2E] b _080A4AC2 .align 2, 0 -_080A4A7C: .4byte gUnknown_20375F8 +_080A4A7C: .4byte gPlttBufferFaded _080A4A80: ldrh r0, [r4, 0x3A] adds r0, 0x1 @@ -8192,7 +8192,7 @@ _080A614C: cmp r0, 0 beq _080A6178 movs r1, 0x1 - ldr r2, _080A6190 @ =gUnknown_20375F8 + ldr r2, _080A6190 @ =gPlttBufferFaded _080A6164: adds r0, r3, r1 lsls r0, 1 @@ -8216,7 +8216,7 @@ _080A6178: b _080A6232 .align 2, 0 _080A618C: .4byte 0x00007fbb -_080A6190: .4byte gUnknown_20375F8 +_080A6190: .4byte gPlttBufferFaded _080A6194: ldr r0, _080A61DC @ =gPaletteFade ldrb r1, [r0, 0x7] @@ -8534,7 +8534,7 @@ sub_80A63B4: @ 80A63B4 adds r0, 0x10 lsls r4, r0, 4 movs r5, 0x1 - ldr r2, _080A6450 @ =gUnknown_20371F8 + ldr r2, _080A6450 @ =gPlttBufferUnfaded _080A640C: adds r1, r3, r5 lsls r1, 1 @@ -8566,7 +8566,7 @@ _080A640C: _080A6444: .4byte gTasks _080A6448: .4byte 0x00002771 _080A644C: .4byte gSprites -_080A6450: .4byte gUnknown_20371F8 +_080A6450: .4byte gPlttBufferUnfaded _080A6454: lsls r2, r0, 4 adds r2, r0 @@ -8796,7 +8796,7 @@ sub_80A65E8: @ 80A65E8 adds r0, r1 lsrs r3, r0, 16 movs r2, 0x1 - ldr r5, _080A669C @ =gUnknown_20375F8 + ldr r5, _080A669C @ =gPlttBufferFaded _080A6614: adds r1, r3, r2 lsls r1, 1 @@ -8834,7 +8834,7 @@ _080A6632: adds r0, r1 lsrs r3, r0, 16 movs r2, 0x1 - ldr r7, _080A669C @ =gUnknown_20375F8 + ldr r7, _080A669C @ =gPlttBufferFaded ldr r6, _080A6698 @ =gUnknown_83E3898 adds r4, r5, 0 _080A6660: @@ -8867,7 +8867,7 @@ _080A667A: bx r0 .align 2, 0 _080A6698: .4byte gUnknown_83E3898 -_080A669C: .4byte gUnknown_20375F8 +_080A669C: .4byte gPlttBufferFaded thumb_func_end sub_80A65E8 thumb_func_start sub_80A66A0 @@ -11414,7 +11414,7 @@ sub_80A7A18: @ 80A7A18 movs r0, 0 strh r0, [r4, 0x30] ldrh r5, [r4, 0x2E] - ldr r1, _080A7A84 @ =gUnknown_20375F8 + ldr r1, _080A7A84 @ =gPlttBufferFaded adds r0, r5, 0 adds r0, 0x8 lsls r0, 1 @@ -11457,7 +11457,7 @@ _080A7A7C: pop {r0} bx r0 .align 2, 0 -_080A7A84: .4byte gUnknown_20375F8 +_080A7A84: .4byte gPlttBufferFaded thumb_func_end sub_80A7A18 thumb_func_start sub_80A7A88 @@ -18331,7 +18331,7 @@ sub_80AAFA4: @ 80AAFA4 adds r0, 0x1 lsls r0, 16 lsrs r5, r0, 16 - ldr r1, _080AB020 @ =gUnknown_20375F8 + ldr r1, _080AB020 @ =gPlttBufferFaded lsls r0, r5, 1 adds r0, r1 ldrh r6, [r0] @@ -18373,7 +18373,7 @@ _080AB016: bx r0 .align 2, 0 _080AB01C: .4byte gTasks -_080AB020: .4byte gUnknown_20375F8 +_080AB020: .4byte gPlttBufferFaded thumb_func_end sub_80AAFA4 thumb_func_start sub_80AB024 @@ -19110,7 +19110,7 @@ sub_80AB5C8: @ 80AB5C8 asrs r0, 16 cmp r0, 0x4 bne _080AB65C - ldr r1, _080AB700 @ =gUnknown_20375F8 + ldr r1, _080AB700 @ =gPlttBufferFaded mov r0, sp ldrb r0, [r0, 0x8] lsls r0, 4 @@ -19236,7 +19236,7 @@ _080AB6EC: _080AB6F4: .4byte gUnknown_2022978 _080AB6F8: .4byte gUnknown_202297A _080AB6FC: .4byte gTasks -_080AB700: .4byte gUnknown_20375F8 +_080AB700: .4byte gPlttBufferFaded _080AB704: .4byte sub_80AB708 thumb_func_end sub_80AB5C8 @@ -32037,7 +32037,7 @@ sub_80B198C: @ 80B198C movs r0, 0 strh r0, [r3, 0x1C] ldrb r0, [r3, 0xC] - ldr r2, _080B1A10 @ =gUnknown_20375F8 + ldr r2, _080B1A10 @ =gPlttBufferFaded lsls r0, 4 movs r3, 0x84 lsls r3, 1 @@ -32083,7 +32083,7 @@ _080B1A04: bx r0 .align 2, 0 _080B1A0C: .4byte gTasks -_080B1A10: .4byte gUnknown_20375F8 +_080B1A10: .4byte gPlttBufferFaded _080B1A14: .4byte 0x00000107 _080B1A18: .4byte 0x00000101 thumb_func_end sub_80B198C @@ -35026,7 +35026,7 @@ sub_80B3044: @ 80B3044 movs r0, 0 strh r0, [r3, 0x30] ldrh r4, [r3, 0x2E] - ldr r1, _080B30A8 @ =gUnknown_20375F8 + ldr r1, _080B30A8 @ =gPlttBufferFaded adds r0, r4, 0 adds r0, 0x8 lsls r0, 1 @@ -35067,7 +35067,7 @@ _080B30A2: pop {r0} bx r0 .align 2, 0 -_080B30A8: .4byte gUnknown_20375F8 +_080B30A8: .4byte gPlttBufferFaded _080B30AC: .4byte sub_80B30B0 thumb_func_end sub_80B3044 @@ -40643,12 +40643,12 @@ _080B5C2C: movs r2, 0x10 ldrsh r0, [r5, r2] lsls r0, 1 - ldr r1, _080B5C60 @ =gUnknown_20371F8 + ldr r1, _080B5C60 @ =gPlttBufferUnfaded adds r0, r1 movs r2, 0x24 ldrsh r1, [r5, r2] lsls r1, 1 - ldr r2, _080B5C64 @ =gUnknown_20375F8 + ldr r2, _080B5C64 @ =gPlttBufferFaded adds r1, r2 ldr r2, _080B5C68 @ =0x04000008 bl CpuSet @@ -40659,8 +40659,8 @@ _080B5C2C: bl BlendPalette b _080B5D22 .align 2, 0 -_080B5C60: .4byte gUnknown_20371F8 -_080B5C64: .4byte gUnknown_20375F8 +_080B5C60: .4byte gPlttBufferUnfaded +_080B5C64: .4byte gPlttBufferFaded _080B5C68: .4byte 0x04000008 _080B5C6C: .4byte 0x00003c0d _080B5C70: @@ -52261,7 +52261,7 @@ _080BB79A: adds r0, 0x10 cmp r2, r0 bge _080BB7C6 - ldr r1, _080BB7D8 @ =gUnknown_20375F8 + ldr r1, _080BB7D8 @ =gPlttBufferFaded adds r3, r0, 0 _080BB7B6: lsls r0, r2, 1 @@ -52282,7 +52282,7 @@ _080BB7C6: pop {r0} bx r0 .align 2, 0 -_080BB7D8: .4byte gUnknown_20375F8 +_080BB7D8: .4byte gPlttBufferFaded thumb_func_end sub_80BB790 thumb_func_start sub_80BB7DC @@ -53173,7 +53173,7 @@ _080BBEC8: lsls r0, 5 adds r0, r1 lsls r1, r4, 5 - ldr r2, _080BBF04 @ =gUnknown_20371F8 + ldr r2, _080BBF04 @ =gPlttBufferUnfaded adds r1, r2 movs r2, 0x20 bl memcpy @@ -53187,7 +53187,7 @@ _080BBEC8: _080BBEF8: .4byte gUnknown_2037F1B _080BBEFC: .4byte gUnknown_202401C _080BBF00: .4byte gUnknown_2037F02 -_080BBF04: .4byte gUnknown_20371F8 +_080BBF04: .4byte gPlttBufferUnfaded thumb_func_end sub_80BBE6C thumb_func_start sub_80BBF08 @@ -53243,7 +53243,7 @@ _080BBF5E: adds r4, 0x10 _080BBF64: lsls r0, r4, 5 - ldr r1, _080BBF98 @ =gUnknown_20371F8 + ldr r1, _080BBF98 @ =gPlttBufferUnfaded adds r0, r1 ldr r1, _080BBF9C @ =gUnknown_202401C ldr r2, [r1] @@ -53266,7 +53266,7 @@ _080BBF64: bx r0 .align 2, 0 _080BBF94: .4byte gUnknown_2037F1B -_080BBF98: .4byte gUnknown_20371F8 +_080BBF98: .4byte gPlttBufferUnfaded _080BBF9C: .4byte gUnknown_202401C _080BBFA0: .4byte gUnknown_2037F02 thumb_func_end sub_80BBF08 @@ -53324,9 +53324,9 @@ _080BBFFA: adds r4, 0x10 _080BC000: lsls r1, r4, 5 - ldr r0, _080BC024 @ =gUnknown_20371F8 + ldr r0, _080BC024 @ =gPlttBufferUnfaded adds r0, r1, r0 - ldr r2, _080BC028 @ =gUnknown_20375F8 + ldr r2, _080BC028 @ =gPlttBufferFaded adds r1, r2 movs r2, 0x20 bl memcpy @@ -53338,8 +53338,8 @@ _080BC000: bx r0 .align 2, 0 _080BC020: .4byte gUnknown_2037F1B -_080BC024: .4byte gUnknown_20371F8 -_080BC028: .4byte gUnknown_20375F8 +_080BC024: .4byte gPlttBufferUnfaded +_080BC028: .4byte gPlttBufferFaded thumb_func_end sub_80BBFA4 thumb_func_start sub_80BC02C diff --git a/asm/battle_anim_80DE2C0.s b/asm/battle_anim_80DE2C0.s index b80374308..f1e73503a 100644 --- a/asm/battle_anim_80DE2C0.s +++ b/asm/battle_anim_80DE2C0.s @@ -606,7 +606,7 @@ sub_80DE718: @ 80DE718 asrs r0, 16 cmp r0, 0x4 bne _080DE788 - ldr r0, _080DE7A8 @ =gUnknown_20375F8 + ldr r0, _080DE7A8 @ =gPlttBufferFaded lsls r2, r6, 4 adds r1, r2, 0 adds r1, 0xB @@ -658,7 +658,7 @@ _080DE798: bx r0 .align 2, 0 _080DE7A4: .4byte gTasks -_080DE7A8: .4byte gUnknown_20375F8 +_080DE7A8: .4byte gPlttBufferFaded _080DE7AC: .4byte gUnknown_2037F02 _080DE7B0: .4byte 0x0000ffff thumb_func_end sub_80DE718 @@ -711,7 +711,7 @@ sub_80DE7DC: @ 80DE7DC asrs r0, 16 cmp r0, 0x4 bne _080DE87E - ldr r0, _080DE8A0 @ =gUnknown_20375F8 + ldr r0, _080DE8A0 @ =gPlttBufferFaded lsls r2, r7, 4 adds r1, r2, 0 adds r1, 0xB @@ -722,7 +722,7 @@ sub_80DE7DC: @ 80DE7DC mov r10, r3 mov r9, r0 adds r5, r2, 0 - ldr r2, _080DE8A4 @ =gUnknown_20371F8 + ldr r2, _080DE8A4 @ =gPlttBufferUnfaded mov r12, r2 lsls r0, r7, 5 add r0, r9 @@ -787,8 +787,8 @@ _080DE88E: bx r0 .align 2, 0 _080DE89C: .4byte gTasks -_080DE8A0: .4byte gUnknown_20375F8 -_080DE8A4: .4byte gUnknown_20371F8 +_080DE8A0: .4byte gPlttBufferFaded +_080DE8A4: .4byte gPlttBufferUnfaded _080DE8A8: .4byte gUnknown_2037F02 _080DE8AC: .4byte 0x0000ffff thumb_func_end sub_80DE7DC diff --git a/asm/battle_anim_80EEC0C.s b/asm/battle_anim_80EEC0C.s index f79c453b6..5c0ba14b7 100644 --- a/asm/battle_anim_80EEC0C.s +++ b/asm/battle_anim_80EEC0C.s @@ -495,7 +495,7 @@ sub_80EEFC8: @ 80EEFC8 lsls r4, 4 orrs r4, r3 lsls r0, 1 - ldr r1, _080EF0B0 @ =gUnknown_20371F8 + ldr r1, _080EF0B0 @ =gPlttBufferUnfaded mov r8, r1 add r0, r8 mov r2, r9 @@ -557,7 +557,7 @@ _080EF0A0: .4byte gUnknown_3004FF0 _080EF0A4: .4byte gSprites _080EF0A8: .4byte 0x0000d709 _080EF0AC: .4byte 0x0000d70a -_080EF0B0: .4byte gUnknown_20371F8 +_080EF0B0: .4byte gPlttBufferUnfaded thumb_func_end sub_80EEFC8 thumb_func_start sub_80EF0B4 diff --git a/asm/battle_gfx_sfx_util.s b/asm/battle_gfx_sfx_util.s index e56df1923..ab02894c0 100644 --- a/asm/battle_gfx_sfx_util.s +++ b/asm/battle_gfx_sfx_util.s @@ -854,9 +854,9 @@ _0803443C: movs r2, 0x6 bl BlendPalette lsls r1, r7, 1 - ldr r0, _0803448C @ =gUnknown_20375F8 + ldr r0, _0803448C @ =gPlttBufferFaded adds r0, r1, r0 - ldr r2, _08034490 @ =gUnknown_20371F8 + ldr r2, _08034490 @ =gPlttBufferUnfaded adds r1, r2 ldr r2, _08034494 @ =0x04000008 bl CpuSet @@ -875,8 +875,8 @@ _0803447C: .4byte gBattleStruct _08034480: .4byte gUnknown_2024024 _08034484: .4byte gUnknown_2024018 _08034488: .4byte 0x00007fff -_0803448C: .4byte gUnknown_20375F8 -_08034490: .4byte gUnknown_20371F8 +_0803448C: .4byte gPlttBufferFaded +_08034490: .4byte gPlttBufferUnfaded _08034494: .4byte 0x04000008 thumb_func_end BattleLoadOpponentMonSpriteGfx @@ -1059,9 +1059,9 @@ _080345FC: movs r2, 0x6 bl BlendPalette lsls r1, r7, 1 - ldr r0, _0803464C @ =gUnknown_20375F8 + ldr r0, _0803464C @ =gPlttBufferFaded adds r0, r1, r0 - ldr r2, _08034650 @ =gUnknown_20371F8 + ldr r2, _08034650 @ =gPlttBufferUnfaded adds r1, r2 ldr r2, _08034654 @ =0x04000008 bl CpuSet @@ -1080,8 +1080,8 @@ _0803463C: .4byte gBattleStruct _08034640: .4byte gUnknown_2024024 _08034644: .4byte gUnknown_2024018 _08034648: .4byte 0x00007fff -_0803464C: .4byte gUnknown_20375F8 -_08034650: .4byte gUnknown_20371F8 +_0803464C: .4byte gPlttBufferFaded +_08034650: .4byte gPlttBufferUnfaded _08034654: .4byte 0x04000008 thumb_func_end sub_8034498 @@ -2029,9 +2029,9 @@ _08034D88: bl BlendPalette mov r3, r10 lsls r1, r3, 1 - ldr r0, _08034E40 @ =gUnknown_20375F8 + ldr r0, _08034E40 @ =gPlttBufferFaded adds r0, r1, r0 - ldr r2, _08034E44 @ =gUnknown_20371F8 + ldr r2, _08034E44 @ =gPlttBufferUnfaded adds r1, r2 ldr r2, _08034E48 @ =0x04000008 bl CpuSet @@ -2054,8 +2054,8 @@ _08034E30: .4byte gUnknown_2024018 _08034E34: .4byte gBattleStruct _08034E38: .4byte gUnknown_2024024 _08034E3C: .4byte 0x00007fff -_08034E40: .4byte gUnknown_20375F8 -_08034E44: .4byte gUnknown_20371F8 +_08034E40: .4byte gPlttBufferFaded +_08034E44: .4byte gPlttBufferUnfaded _08034E48: .4byte 0x04000008 _08034E4C: mov r0, r9 @@ -2263,9 +2263,9 @@ _08034FFC: bl BlendPalette mov r2, r10 lsls r1, r2, 1 - ldr r0, _080350AC @ =gUnknown_20375F8 + ldr r0, _080350AC @ =gPlttBufferFaded adds r0, r1, r0 - ldr r2, _080350B0 @ =gUnknown_20371F8 + ldr r2, _080350B0 @ =gPlttBufferUnfaded adds r1, r2 ldr r2, _080350B4 @ =0x04000008 bl CpuSet @@ -2327,8 +2327,8 @@ _0803509C: .4byte 0x00000181 _080350A0: .4byte gBattleStruct _080350A4: .4byte gUnknown_2024024 _080350A8: .4byte 0x00007fff -_080350AC: .4byte gUnknown_20375F8 -_080350B0: .4byte gUnknown_20371F8 +_080350AC: .4byte gPlttBufferFaded +_080350B0: .4byte gPlttBufferUnfaded _080350B4: .4byte 0x04000008 _080350B8: .4byte gUnknown_2024018 thumb_func_end sub_8034BF4 diff --git a/asm/battle_message.s b/asm/battle_message.s index 9a9ca1f2f..042b130b0 100644 --- a/asm/battle_message.s +++ b/asm/battle_message.s @@ -2958,7 +2958,7 @@ SetPpNumbersPaletteInMoveSelection: @ 80D89DC ldrb r1, [r1] bl GetCurrentPpToMaxPpState lsls r0, 24 - ldr r5, _080D8A48 @ =gUnknown_20371F8 + ldr r5, _080D8A48 @ =gPlttBufferUnfaded lsrs r0, 22 adds r0, r4 ldrh r1, [r0] @@ -2986,7 +2986,7 @@ _080D8A38: .4byte gActiveBattler _080D8A3C: .4byte gUnknown_2022BC8 _080D8A40: .4byte gUnknown_8D2FBB4 _080D8A44: .4byte gUnknown_2023FFC -_080D8A48: .4byte gUnknown_20371F8 +_080D8A48: .4byte gPlttBufferUnfaded _080D8A4C: .4byte gUnknown_20376B0 thumb_func_end SetPpNumbersPaletteInMoveSelection diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 58e7a405b..5d411bc70 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -32539,7 +32539,7 @@ _0802DAE0: bl sub_810C1CC str r4, [sp, 0x14] add r0, sp, 0x14 - ldr r1, _0802DB48 @ =gUnknown_20375F8 + ldr r1, _0802DB48 @ =gPlttBufferFaded ldr r2, _0802DB4C @ =0x05000080 bl CpuSet ldr r0, _0802DB50 @ =0x0001ffff @@ -32562,7 +32562,7 @@ _0802DB36: .align 2, 0 _0802DB40: .4byte gBattleMons _0802DB44: .4byte 0x0000ffff -_0802DB48: .4byte gUnknown_20375F8 +_0802DB48: .4byte gPlttBufferFaded _0802DB4C: .4byte 0x05000080 _0802DB50: .4byte 0x0001ffff _0802DB54: .4byte gUnknown_2023E82 diff --git a/asm/battle_transition.s b/asm/battle_transition.s index d3128f656..3d56e8fbc 100644 --- a/asm/battle_transition.s +++ b/asm/battle_transition.s @@ -138,8 +138,8 @@ Transition_Phase1: @ 80D09B0 push {r4,lr} adds r4, r0, 0 bl sub_807B05C - ldr r0, _080D09DC @ =gUnknown_20375F8 - ldr r1, _080D09E0 @ =gUnknown_20371F8 + ldr r0, _080D09DC @ =gPlttBufferFaded + ldr r1, _080D09E0 @ =gPlttBufferUnfaded ldr r2, _080D09E4 @ =0x04000100 bl CpuSet ldr r1, _080D09E8 @ =gUnknown_83FA320 @@ -155,8 +155,8 @@ Transition_Phase1: @ 80D09B0 movs r0, 0x1 b _080D09FA .align 2, 0 -_080D09DC: .4byte gUnknown_20375F8 -_080D09E0: .4byte gUnknown_20371F8 +_080D09DC: .4byte gPlttBufferFaded +_080D09E0: .4byte gPlttBufferUnfaded _080D09E4: .4byte 0x04000100 _080D09E8: .4byte gUnknown_83FA320 _080D09EC: diff --git a/asm/blend_palette.s b/asm/blend_palette.s index 5ef3cf070..7c95f18e9 100644 --- a/asm/blend_palette.s +++ b/asm/blend_palette.s @@ -26,9 +26,9 @@ BlendPalette: @ 8045274 movs r6, 0 cmp r6, r12 bcs _080452FA - ldr r0, _0804530C @ =gUnknown_20371F8 + ldr r0, _0804530C @ =gPlttBufferUnfaded mov r10, r0 - ldr r1, _08045310 @ =gUnknown_20375F8 + ldr r1, _08045310 @ =gPlttBufferFaded mov r9, r1 _080452A2: mov r0, r8 @@ -85,8 +85,8 @@ _080452FA: pop {r0} bx r0 .align 2, 0 -_0804530C: .4byte gUnknown_20371F8 -_08045310: .4byte gUnknown_20375F8 +_0804530C: .4byte gPlttBufferUnfaded +_08045310: .4byte gPlttBufferFaded thumb_func_end BlendPalette thumb_func_start sub_8045314 diff --git a/asm/credits.s b/asm/credits.s index af08d608f..bf8c5eeac 100644 --- a/asm/credits.s +++ b/asm/credits.s @@ -242,13 +242,13 @@ _080F3B5E: bl sub_80F3AA4 movs r0, 0xF0 bl sub_80F77CC - ldr r0, _080F3BC8 @ =gUnknown_20371F8 + ldr r0, _080F3BC8 @ =gPlttBufferUnfaded movs r2, 0xFF lsls r2, 1 adds r0, r2 movs r1, 0 strh r1, [r0] - ldr r0, _080F3BCC @ =gUnknown_20375F8 + ldr r0, _080F3BCC @ =gPlttBufferFaded adds r0, r2 strh r1, [r0] movs r0, 0x1 @@ -261,8 +261,8 @@ _080F3BB8: .4byte gUnknown_2031DD8 _080F3BBC: .4byte gUnknown_203AB40 _080F3BC0: .4byte gUnknown_8414588 _080F3BC4: .4byte 0x0000247c -_080F3BC8: .4byte gUnknown_20371F8 -_080F3BCC: .4byte gUnknown_20375F8 +_080F3BC8: .4byte gPlttBufferUnfaded +_080F3BCC: .4byte gPlttBufferFaded thumb_func_end sub_80F3B2C thumb_func_start sub_80F3BD0 @@ -326,13 +326,13 @@ _080F3C64: bl sub_80F3AC4 movs r0, 0xF0 bl sub_80F77CC - ldr r0, _080F3C8C @ =gUnknown_20371F8 + ldr r0, _080F3C8C @ =gPlttBufferUnfaded movs r2, 0xFF lsls r2, 1 adds r0, r2 movs r1, 0 strh r1, [r0] - ldr r0, _080F3C90 @ =gUnknown_20375F8 + ldr r0, _080F3C90 @ =gPlttBufferFaded adds r0, r2 strh r1, [r0] ldr r0, _080F3C94 @ =gUnknown_203AB40 @@ -340,8 +340,8 @@ _080F3C64: movs r0, 0x2 b _080F413C .align 2, 0 -_080F3C8C: .4byte gUnknown_20371F8 -_080F3C90: .4byte gUnknown_20375F8 +_080F3C8C: .4byte gPlttBufferUnfaded +_080F3C90: .4byte gPlttBufferFaded _080F3C94: .4byte gUnknown_203AB40 _080F3C98: movs r0, 0x44 diff --git a/asm/field_effect.s b/asm/field_effect.s index de1776e9d..502c36b00 100644 --- a/asm/field_effect.s +++ b/asm/field_effect.s @@ -218,38 +218,38 @@ _080835B4: .4byte gUnknown_2036E28 _080835B8: adds r4, 0x10 lsls r0, r4, 5 - ldr r1, _080835C8 @ =gUnknown_20371F8 + ldr r1, _080835C8 @ =gPlttBufferUnfaded adds r0, r1 movs r1, 0x10 bl TintPalette_GrayScale b _080835F6 .align 2, 0 -_080835C8: .4byte gUnknown_20371F8 +_080835C8: .4byte gPlttBufferUnfaded _080835CC: adds r4, 0x10 lsls r0, r4, 5 - ldr r1, _080835DC @ =gUnknown_20371F8 + ldr r1, _080835DC @ =gPlttBufferUnfaded adds r0, r1 movs r1, 0x10 bl TintPalette_SepiaTone b _080835F6 .align 2, 0 -_080835DC: .4byte gUnknown_20371F8 +_080835DC: .4byte gPlttBufferUnfaded _080835E0: adds r4, 0x10 lsls r0, r4, 4 movs r1, 0x10 bl sub_8111F38 lsls r0, r4, 5 - ldr r1, _0808360C @ =gUnknown_20371F8 + ldr r1, _0808360C @ =gPlttBufferUnfaded adds r0, r1 movs r1, 0x10 bl TintPalette_GrayScale _080835F6: lsls r1, r4, 5 - ldr r0, _0808360C @ =gUnknown_20371F8 + ldr r0, _0808360C @ =gPlttBufferUnfaded adds r0, r1, r0 - ldr r2, _08083610 @ =gUnknown_20375F8 + ldr r2, _08083610 @ =gPlttBufferFaded adds r1, r2 movs r2, 0x8 bl CpuFastSet @@ -258,8 +258,8 @@ _08083606: pop {r0} bx r0 .align 2, 0 -_0808360C: .4byte gUnknown_20371F8 -_08083610: .4byte gUnknown_20375F8 +_0808360C: .4byte gPlttBufferUnfaded +_08083610: .4byte gPlttBufferFaded thumb_func_end sub_8083598 thumb_func_start sub_8083614 @@ -873,7 +873,7 @@ MultiplyInvertedPaletteRGBComponents: @ 8083A88 lsrs r2, 24 lsls r3, 24 lsrs r3, 24 - ldr r4, _08083B0C @ =gUnknown_20371F8 + ldr r4, _08083B0C @ =gPlttBufferUnfaded lsrs r0, 15 adds r4, r0, r4 ldrh r4, [r4] @@ -918,7 +918,7 @@ MultiplyInvertedPaletteRGBComponents: @ 8083A88 lsls r4, 26 orrs r4, r6 lsrs r4, 16 - ldr r1, _08083B10 @ =gUnknown_20375F8 + ldr r1, _08083B10 @ =gPlttBufferFaded adds r0, r1 strh r4, [r0] pop {r3,r4} @@ -928,8 +928,8 @@ MultiplyInvertedPaletteRGBComponents: @ 8083A88 pop {r0} bx r0 .align 2, 0 -_08083B0C: .4byte gUnknown_20371F8 -_08083B10: .4byte gUnknown_20375F8 +_08083B0C: .4byte gPlttBufferUnfaded +_08083B10: .4byte gPlttBufferFaded thumb_func_end MultiplyInvertedPaletteRGBComponents thumb_func_start MultiplyPaletteRGBComponents @@ -944,7 +944,7 @@ MultiplyPaletteRGBComponents: @ 8083B14 lsrs r2, 24 lsls r3, 24 lsrs r3, 24 - ldr r4, _08083B84 @ =gUnknown_20371F8 + ldr r4, _08083B84 @ =gPlttBufferUnfaded lsrs r0, 15 adds r4, r0, r4 ldrh r4, [r4] @@ -981,7 +981,7 @@ MultiplyPaletteRGBComponents: @ 8083B14 lsls r4, 26 orrs r4, r5 lsrs r4, 16 - ldr r1, _08083B88 @ =gUnknown_20375F8 + ldr r1, _08083B88 @ =gPlttBufferFaded adds r0, r1 strh r4, [r0] pop {r3} @@ -990,8 +990,8 @@ MultiplyPaletteRGBComponents: @ 8083B14 pop {r0} bx r0 .align 2, 0 -_08083B84: .4byte gUnknown_20371F8 -_08083B88: .4byte gUnknown_20375F8 +_08083B84: .4byte gPlttBufferUnfaded +_08083B88: .4byte gPlttBufferFaded thumb_func_end MultiplyPaletteRGBComponents thumb_func_start sub_8083B8C diff --git a/asm/field_fadetransition.s b/asm/field_fadetransition.s index b9a31bee4..6f1e42f48 100644 --- a/asm/field_fadetransition.s +++ b/asm/field_fadetransition.s @@ -11,7 +11,7 @@ palette_bg_faded_fill_white: @ 807DB14 sub sp, 0x4 ldr r0, _0807DB2C @ =0x7fff7fff str r0, [sp] - ldr r1, _0807DB30 @ =gUnknown_20375F8 + ldr r1, _0807DB30 @ =gPlttBufferFaded ldr r2, _0807DB34 @ =0x01000100 mov r0, sp bl CpuFastSet @@ -20,7 +20,7 @@ palette_bg_faded_fill_white: @ 807DB14 bx r0 .align 2, 0 _0807DB2C: .4byte 0x7fff7fff -_0807DB30: .4byte gUnknown_20375F8 +_0807DB30: .4byte gPlttBufferFaded _0807DB34: .4byte 0x01000100 thumb_func_end palette_bg_faded_fill_white @@ -30,7 +30,7 @@ palette_bg_faded_fill_black: @ 807DB38 sub sp, 0x4 movs r0, 0 str r0, [sp] - ldr r1, _0807DB50 @ =gUnknown_20375F8 + ldr r1, _0807DB50 @ =gPlttBufferFaded ldr r2, _0807DB54 @ =0x01000100 mov r0, sp bl CpuFastSet @@ -38,7 +38,7 @@ palette_bg_faded_fill_black: @ 807DB38 pop {r0} bx r0 .align 2, 0 -_0807DB50: .4byte gUnknown_20375F8 +_0807DB50: .4byte gPlttBufferFaded _0807DB54: .4byte 0x01000100 thumb_func_end palette_bg_faded_fill_black diff --git a/asm/field_weather.s b/asm/field_weather.s index 608f03109..36f7941c7 100644 --- a/asm/field_weather.s +++ b/asm/field_weather.s @@ -889,9 +889,9 @@ _0807A2CE: cmp r0, 0 bne _0807A30C lsls r1, r6, 1 - ldr r0, _0807A304 @ =gUnknown_20371F8 + ldr r0, _0807A304 @ =gPlttBufferUnfaded adds r0, r1, r0 - ldr r2, _0807A308 @ =gUnknown_20375F8 + ldr r2, _0807A308 @ =gPlttBufferFaded adds r1, r2 movs r2, 0x8 bl CpuFastSet @@ -907,8 +907,8 @@ _0807A2CE: b _0807A38A .align 2, 0 _0807A300: .4byte gUnknown_20386A4 -_0807A304: .4byte gUnknown_20371F8 -_0807A308: .4byte gUnknown_20375F8 +_0807A304: .4byte gPlttBufferUnfaded +_0807A308: .4byte gPlttBufferFaded _0807A30C: cmp r0, 0x2 beq _0807A320 @@ -940,12 +940,12 @@ _0807A336: mov r8, r3 adds r4, 0x1 mov r12, r4 - ldr r0, _0807A398 @ =gUnknown_20375F8 + ldr r0, _0807A398 @ =gPlttBufferFaded mov r10, r0 _0807A34A: adds r2, r6, 0 lsls r0, r2, 1 - ldr r1, _0807A39C @ =gUnknown_20371F8 + ldr r1, _0807A39C @ =gPlttBufferUnfaded adds r0, r1 ldr r1, [r0] lsls r0, r1, 27 @@ -983,15 +983,15 @@ _0807A38A: bcc _0807A2CE b _0807A3B6 .align 2, 0 -_0807A398: .4byte gUnknown_20375F8 -_0807A39C: .4byte gUnknown_20371F8 +_0807A398: .4byte gPlttBufferFaded +_0807A39C: .4byte gPlttBufferUnfaded _0807A3A0: cmp r0, 0 blt _0807A3B6 lsls r1, r4, 5 - ldr r0, _0807A3C8 @ =gUnknown_20371F8 + ldr r0, _0807A3C8 @ =gPlttBufferUnfaded adds r0, r1, r0 - ldr r2, _0807A3CC @ =gUnknown_20375F8 + ldr r2, _0807A3CC @ =gPlttBufferFaded adds r1, r2 mov r3, r9 lsls r2, r3, 3 @@ -1006,8 +1006,8 @@ _0807A3B6: pop {r0} bx r0 .align 2, 0 -_0807A3C8: .4byte gUnknown_20371F8 -_0807A3CC: .4byte gUnknown_20375F8 +_0807A3C8: .4byte gPlttBufferUnfaded +_0807A3CC: .4byte gPlttBufferFaded thumb_func_end sub_807A294 thumb_func_start sub_807A3D0 @@ -1104,7 +1104,7 @@ _0807A472: _0807A47E: adds r4, r6, 0 lsls r0, r4, 1 - ldr r1, _0807A510 @ =gUnknown_20371F8 + ldr r1, _0807A510 @ =gPlttBufferUnfaded adds r0, r1 ldr r1, [r0] lsls r0, r1, 27 @@ -1148,7 +1148,7 @@ _0807A47E: lsls r0, 16 lsrs r6, r0, 16 lsls r4, 1 - ldr r0, _0807A514 @ =gUnknown_20375F8 + ldr r0, _0807A514 @ =gPlttBufferFaded adds r4, r0 lsrs r1, 14 lsrs r2, 19 @@ -1177,8 +1177,8 @@ _0807A4FC: bx r0 .align 2, 0 _0807A50C: .4byte gUnknown_2038394 -_0807A510: .4byte gUnknown_20371F8 -_0807A514: .4byte gUnknown_20375F8 +_0807A510: .4byte gPlttBufferUnfaded +_0807A514: .4byte gPlttBufferFaded thumb_func_end sub_807A3D0 thumb_func_start sub_807A518 @@ -1231,12 +1231,12 @@ _0807A570: movs r7, 0 adds r4, 0x1 mov r12, r4 - ldr r0, _0807A5F0 @ =gUnknown_20375F8 + ldr r0, _0807A5F0 @ =gPlttBufferFaded mov r9, r0 _0807A57A: adds r4, r5, 0 lsls r0, r4, 1 - ldr r1, _0807A5F4 @ =gUnknown_20371F8 + ldr r1, _0807A5F4 @ =gPlttBufferUnfaded adds r0, r1 ldr r1, [r0] lsls r3, r1, 27 @@ -1294,8 +1294,8 @@ _0807A5D4: pop {r0} bx r0 .align 2, 0 -_0807A5F0: .4byte gUnknown_20375F8 -_0807A5F4: .4byte gUnknown_20371F8 +_0807A5F0: .4byte gPlttBufferFaded +_0807A5F4: .4byte gPlttBufferUnfaded thumb_func_end sub_807A518 thumb_func_start sub_807A5F8 @@ -1349,7 +1349,7 @@ _0807A634: mov r8, r0 _0807A658: lsls r5, r6, 1 - ldr r0, _0807A6DC @ =gUnknown_20371F8 + ldr r0, _0807A6DC @ =gPlttBufferUnfaded adds r0, r5, r0 ldr r2, [r0] lsls r4, r2, 27 @@ -1401,7 +1401,7 @@ _0807A658: asrs r0, 4 adds r2, r0 lsls r2, 24 - ldr r0, _0807A6E0 @ =gUnknown_20375F8 + ldr r0, _0807A6E0 @ =gPlttBufferFaded adds r5, r0 lsrs r2, 14 lsrs r3, 19 @@ -1415,8 +1415,8 @@ _0807A658: bcc _0807A658 b _0807A6F8 .align 2, 0 -_0807A6DC: .4byte gUnknown_20371F8 -_0807A6E0: .4byte gUnknown_20375F8 +_0807A6DC: .4byte gPlttBufferUnfaded +_0807A6E0: .4byte gPlttBufferFaded _0807A6E4: lsls r0, r4, 20 lsrs r0, 16 @@ -1650,8 +1650,8 @@ _0807A882: beq _0807A8C4 cmp r2, 0 beq _0807A896 - ldr r0, _0807A8B4 @ =gUnknown_20375F8 - ldr r1, _0807A8B8 @ =gUnknown_20371F8 + ldr r0, _0807A8B4 @ =gPlttBufferFaded + ldr r1, _0807A8B8 @ =gPlttBufferUnfaded movs r2, 0x80 lsls r2, 1 bl CpuFastSet @@ -1671,8 +1671,8 @@ _0807A896: strb r1, [r0] b _0807A92C .align 2, 0 -_0807A8B4: .4byte gUnknown_20375F8 -_0807A8B8: .4byte gUnknown_20371F8 +_0807A8B4: .4byte gPlttBufferFaded +_0807A8B8: .4byte gPlttBufferUnfaded _0807A8BC: .4byte gUnknown_2037F34 _0807A8C0: .4byte 0x000006c6 _0807A8C4: @@ -1804,8 +1804,8 @@ _0807A9AE: beq _0807A9F0 cmp r2, 0 beq _0807A9C2 - ldr r0, _0807A9E0 @ =gUnknown_20375F8 - ldr r1, _0807A9E4 @ =gUnknown_20371F8 + ldr r0, _0807A9E0 @ =gPlttBufferFaded + ldr r1, _0807A9E4 @ =gPlttBufferUnfaded movs r2, 0x80 lsls r2, 1 bl CpuFastSet @@ -1824,8 +1824,8 @@ _0807A9C2: strb r1, [r0] b _0807AA56 .align 2, 0 -_0807A9E0: .4byte gUnknown_20375F8 -_0807A9E4: .4byte gUnknown_20371F8 +_0807A9E0: .4byte gPlttBufferFaded +_0807A9E4: .4byte gPlttBufferUnfaded _0807A9E8: .4byte gUnknown_2037F34 _0807A9EC: .4byte 0x000006c6 _0807A9F0: @@ -1959,7 +1959,7 @@ _0807AAF0: lsls r0, r4, 20 lsrs r4, r0, 16 movs r2, 0 - ldr r6, _0807AB18 @ =gUnknown_20375F8 + ldr r6, _0807AB18 @ =gPlttBufferFaded ldr r0, _0807AB1C @ =0x000006c4 adds r3, r5, r0 _0807AAFC: @@ -1976,15 +1976,15 @@ _0807AAFC: b _0807AB68 .align 2, 0 _0807AB14: .4byte 0x000006ca -_0807AB18: .4byte gUnknown_20375F8 +_0807AB18: .4byte gPlttBufferFaded _0807AB1C: .4byte 0x000006c4 _0807AB20: lsls r0, r4, 20 lsrs r4, r0, 16 lsls r1, r4, 1 - ldr r0, _0807AB4C @ =gUnknown_20375F8 + ldr r0, _0807AB4C @ =gPlttBufferFaded adds r0, r1, r0 - ldr r2, _0807AB50 @ =gUnknown_20371F8 + ldr r2, _0807AB50 @ =gPlttBufferUnfaded adds r1, r2 movs r2, 0x8 bl CpuFastSet @@ -2000,8 +2000,8 @@ _0807AB20: bl BlendPalette b _0807AB68 .align 2, 0 -_0807AB4C: .4byte gUnknown_20375F8 -_0807AB50: .4byte gUnknown_20371F8 +_0807AB4C: .4byte gPlttBufferFaded +_0807AB50: .4byte gPlttBufferUnfaded _0807AB54: .4byte gPaletteFade _0807AB58: lsls r0, r4, 20 diff --git a/asm/fieldmap.s b/asm/fieldmap.s index f78a4df9b..8be48d4c5 100644 --- a/asm/fieldmap.s +++ b/asm/fieldmap.s @@ -2125,35 +2125,35 @@ sub_80598CC: @ 80598CC _080598EC: .4byte gUnknown_2036E28 _080598F0: lsls r4, 1 - ldr r0, _08059900 @ =gUnknown_20371F8 + ldr r0, _08059900 @ =gPlttBufferUnfaded adds r0, r4, r0 adds r1, r5, 0 bl TintPalette_GrayScale b _0805992C .align 2, 0 -_08059900: .4byte gUnknown_20371F8 +_08059900: .4byte gPlttBufferUnfaded _08059904: lsls r4, 1 - ldr r0, _08059914 @ =gUnknown_20371F8 + ldr r0, _08059914 @ =gPlttBufferUnfaded adds r0, r4, r0 adds r1, r5, 0 bl TintPalette_SepiaTone b _0805992C .align 2, 0 -_08059914: .4byte gUnknown_20371F8 +_08059914: .4byte gPlttBufferUnfaded _08059918: adds r0, r4, 0 adds r1, r5, 0 bl sub_8111F38 lsls r4, 1 - ldr r0, _08059940 @ =gUnknown_20371F8 + ldr r0, _08059940 @ =gPlttBufferUnfaded adds r0, r4, r0 adds r1, r5, 0 bl TintPalette_GrayScale _0805992C: - ldr r0, _08059940 @ =gUnknown_20371F8 + ldr r0, _08059940 @ =gPlttBufferUnfaded adds r0, r4, r0 - ldr r1, _08059944 @ =gUnknown_20375F8 + ldr r1, _08059944 @ =gPlttBufferFaded adds r1, r4, r1 adds r2, r5, 0 bl CpuSet @@ -2162,8 +2162,8 @@ _0805993A: pop {r0} bx r0 .align 2, 0 -_08059940: .4byte gUnknown_20371F8 -_08059944: .4byte gUnknown_20375F8 +_08059940: .4byte gPlttBufferUnfaded +_08059944: .4byte gPlttBufferFaded thumb_func_end sub_80598CC thumb_func_start sub_8059948 @@ -2188,36 +2188,36 @@ sub_8059948: @ 8059948 _08059968: .4byte gUnknown_2036E28 _0805996C: lsls r4, 5 - ldr r0, _0805997C @ =gUnknown_20371F8 + ldr r0, _0805997C @ =gPlttBufferUnfaded adds r0, r4, r0 lsls r1, r6, 4 bl TintPalette_GrayScale b _080599AA .align 2, 0 -_0805997C: .4byte gUnknown_20371F8 +_0805997C: .4byte gPlttBufferUnfaded _08059980: lsls r4, 5 - ldr r0, _08059990 @ =gUnknown_20371F8 + ldr r0, _08059990 @ =gPlttBufferUnfaded adds r0, r4, r0 lsls r1, r6, 4 bl TintPalette_SepiaTone b _080599AA .align 2, 0 -_08059990: .4byte gUnknown_20371F8 +_08059990: .4byte gPlttBufferUnfaded _08059994: lsls r0, r4, 4 lsls r5, r6, 4 adds r1, r5, 0 bl sub_8111F38 lsls r4, 5 - ldr r0, _080599C0 @ =gUnknown_20371F8 + ldr r0, _080599C0 @ =gPlttBufferUnfaded adds r0, r4, r0 adds r1, r5, 0 bl TintPalette_GrayScale _080599AA: - ldr r0, _080599C0 @ =gUnknown_20371F8 + ldr r0, _080599C0 @ =gPlttBufferUnfaded adds r0, r4, r0 - ldr r1, _080599C4 @ =gUnknown_20375F8 + ldr r1, _080599C4 @ =gPlttBufferFaded adds r1, r4, r1 lsls r2, r6, 3 bl CpuFastSet @@ -2226,8 +2226,8 @@ _080599B8: pop {r0} bx r0 .align 2, 0 -_080599C0: .4byte gUnknown_20371F8 -_080599C4: .4byte gUnknown_20375F8 +_080599C0: .4byte gPlttBufferUnfaded +_080599C4: .4byte gPlttBufferFaded thumb_func_end sub_8059948 thumb_func_start apply_map_tileset_palette diff --git a/asm/fldeff_sweetscent.s b/asm/fldeff_sweetscent.s index 6783e1bbb..34a8ee372 100644 --- a/asm/fldeff_sweetscent.s +++ b/asm/fldeff_sweetscent.s @@ -87,13 +87,13 @@ sub_80DE134: @ 80DE134 bl Alloc adds r1, r0, 0 str r1, [r4] - ldr r4, _080DE1BC @ =gUnknown_20371F8 + ldr r4, _080DE1BC @ =gPlttBufferUnfaded movs r5, 0x80 lsls r5, 1 adds r0, r4, 0 adds r2, r5, 0 bl CpuFastSet - ldr r0, _080DE1C0 @ =gUnknown_20375F8 + ldr r0, _080DE1C0 @ =gPlttBufferFaded adds r1, r4, 0 adds r2, r5, 0 bl CpuFastSet @@ -137,8 +137,8 @@ sub_80DE134: @ 80DE134 bx r0 .align 2, 0 _080DE1B8: .4byte gUnknown_203AAB0 -_080DE1BC: .4byte gUnknown_20371F8 -_080DE1C0: .4byte gUnknown_20375F8 +_080DE1BC: .4byte gPlttBufferUnfaded +_080DE1C0: .4byte gPlttBufferFaded _080DE1C4: .4byte gSprites _080DE1C8: .4byte sub_80DE1D0 _080DE1CC: .4byte gTasks @@ -237,7 +237,7 @@ sub_80DE274: @ 80DE274 bne _080DE2AA ldr r4, _080DE2B4 @ =gUnknown_203AAB0 ldr r0, [r4] - ldr r1, _080DE2B8 @ =gUnknown_20371F8 + ldr r1, _080DE2B8 @ =gPlttBufferUnfaded movs r2, 0x80 lsls r2, 1 bl CpuFastSet @@ -255,7 +255,7 @@ _080DE2AA: .align 2, 0 _080DE2B0: .4byte gPaletteFade _080DE2B4: .4byte gUnknown_203AAB0 -_080DE2B8: .4byte gUnknown_20371F8 +_080DE2B8: .4byte gPlttBufferUnfaded _080DE2BC: .4byte gUnknown_81BE564 thumb_func_end sub_80DE274 diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s index 1ad8d6f98..ae692a622 100644 --- a/asm/hall_of_fame.s +++ b/asm/hall_of_fame.s @@ -1330,8 +1330,8 @@ Task_Hof_HandlePaletteOnExit: @ 80F283C adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _080F287C @ =gUnknown_20375F8 - ldr r1, _080F2880 @ =gUnknown_20371F8 + ldr r0, _080F287C @ =gPlttBufferFaded + ldr r1, _080F2880 @ =gPlttBufferUnfaded movs r2, 0x80 lsls r2, 2 bl CpuSet @@ -1355,8 +1355,8 @@ Task_Hof_HandlePaletteOnExit: @ 80F283C pop {r0} bx r0 .align 2, 0 -_080F287C: .4byte gUnknown_20375F8 -_080F2880: .4byte gUnknown_20371F8 +_080F287C: .4byte gPlttBufferFaded +_080F2880: .4byte gPlttBufferUnfaded _080F2884: .4byte gTasks _080F2888: .4byte Task_Hof_HandleExit thumb_func_end Task_Hof_HandlePaletteOnExit @@ -2256,8 +2256,8 @@ sub_80F2FEC: @ 80F2FEC adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _080F3020 @ =gUnknown_20375F8 - ldr r1, _080F3024 @ =gUnknown_20371F8 + ldr r0, _080F3020 @ =gPlttBufferFaded + ldr r1, _080F3024 @ =gPlttBufferUnfaded movs r2, 0x80 lsls r2, 2 bl CpuSet @@ -2276,8 +2276,8 @@ sub_80F2FEC: @ 80F2FEC pop {r0} bx r0 .align 2, 0 -_080F3020: .4byte gUnknown_20375F8 -_080F3024: .4byte gUnknown_20371F8 +_080F3020: .4byte gPlttBufferFaded +_080F3024: .4byte gPlttBufferUnfaded _080F3028: .4byte gTasks _080F302C: .4byte sub_80F3030 thumb_func_end sub_80F2FEC diff --git a/asm/mail.s b/asm/mail.s index bf24fe177..1ecaf17cc 100644 --- a/asm/mail.s +++ b/asm/mail.s @@ -381,7 +381,7 @@ _080BEF28: movs r1, 0xF0 movs r2, 0x20 bl LoadPalette - ldr r6, _080BEFD0 @ =gUnknown_20371F8 + ldr r6, _080BEFD0 @ =gPlttBufferUnfaded ldr r4, _080BEFD4 @ =gUnknown_83EE9C8 ldr r0, _080BEFD8 @ =gUnknown_20399C4 ldr r3, [r0] @@ -396,7 +396,7 @@ _080BEF28: lsls r2, 1 adds r0, r6, r2 strh r1, [r0] - ldr r5, _080BEFDC @ =gUnknown_20375F8 + ldr r5, _080BEFDC @ =gPlttBufferFaded ldrb r1, [r3] lsls r0, r1, 2 adds r0, r1 @@ -458,10 +458,10 @@ _080BEF28: strh r0, [r5, 0x16] b _080BF0F4 .align 2, 0 -_080BEFD0: .4byte gUnknown_20371F8 +_080BEFD0: .4byte gPlttBufferUnfaded _080BEFD4: .4byte gUnknown_83EE9C8 _080BEFD8: .4byte gUnknown_20399C4 -_080BEFDC: .4byte gUnknown_20375F8 +_080BEFDC: .4byte gPlttBufferFaded _080BEFE0: .4byte gUnknown_83EE9C0 _080BEFE4: .4byte gSaveBlock2Ptr _080BEFE8: diff --git a/asm/main_menu.s b/asm/main_menu.s index 3285c29ea..e315c70cf 100644 --- a/asm/main_menu.s +++ b/asm/main_menu.s @@ -988,11 +988,11 @@ _0800CB2E: .align 2, 0 _0800CB44: .4byte gUnknown_2031DE0 _0800CB48: - ldr r0, _0800CB64 @ =gUnknown_20371F8 + ldr r0, _0800CB64 @ =gPlttBufferUnfaded movs r2, 0 movs r1, 0 strh r1, [r0] - ldr r0, _0800CB68 @ =gUnknown_20375F8 + ldr r0, _0800CB68 @ =gPlttBufferFaded strh r1, [r0] ldr r0, _0800CB6C @ =gUnknown_2031DE0 strb r2, [r0] @@ -1001,8 +1001,8 @@ _0800CB48: bl sub_8110F14 b _0800CB84 .align 2, 0 -_0800CB64: .4byte gUnknown_20371F8 -_0800CB68: .4byte gUnknown_20375F8 +_0800CB64: .4byte gPlttBufferUnfaded +_0800CB68: .4byte gPlttBufferFaded _0800CB6C: .4byte gUnknown_2031DE0 _0800CB70: ldr r0, _0800CB8C @ =sub_81422AC diff --git a/asm/naming_screen.s b/asm/naming_screen.s index e8a5cb2c2..bcf7b4772 100644 --- a/asm/naming_screen.s +++ b/asm/naming_screen.s @@ -1648,18 +1648,18 @@ sub_809E6B8: @ 809E6B8 lsrs r0, 24 bl sub_809E644 lsls r0, 16 - ldr r2, _0809E6D8 @ =gUnknown_20375F8 + ldr r2, _0809E6D8 @ =gPlttBufferFaded lsrs r0, 15 adds r2, r0, r2 - ldr r1, _0809E6DC @ =gUnknown_20371F8 + ldr r1, _0809E6DC @ =gPlttBufferUnfaded adds r0, r1 ldrh r0, [r0] strh r0, [r2] pop {r0} bx r0 .align 2, 0 -_0809E6D8: .4byte gUnknown_20375F8 -_0809E6DC: .4byte gUnknown_20371F8 +_0809E6D8: .4byte gPlttBufferFaded +_0809E6DC: .4byte gPlttBufferUnfaded thumb_func_end sub_809E6B8 thumb_func_start sub_809E6E0 diff --git a/asm/oak_speech.s b/asm/oak_speech.s index e20c96638..a44f2fc37 100644 --- a/asm/oak_speech.s +++ b/asm/oak_speech.s @@ -270,10 +270,10 @@ sub_812EB10: @ 812EB10 thumb_func_start sub_812EB2C sub_812EB2C: @ 812EB2C push {lr} - ldr r0, _0812EB48 @ =gUnknown_20371F8 + ldr r0, _0812EB48 @ =gPlttBufferUnfaded movs r1, 0 strh r1, [r0] - ldr r0, _0812EB4C @ =gUnknown_20375F8 + ldr r0, _0812EB4C @ =gPlttBufferFaded strh r1, [r0] ldr r0, _0812EB50 @ =sub_812EB58 bl CreateTask @@ -282,8 +282,8 @@ sub_812EB2C: @ 812EB2C pop {r0} bx r0 .align 2, 0 -_0812EB48: .4byte gUnknown_20371F8 -_0812EB4C: .4byte gUnknown_20375F8 +_0812EB48: .4byte gPlttBufferUnfaded +_0812EB4C: .4byte gPlttBufferFaded _0812EB50: .4byte sub_812EB58 _0812EB54: .4byte sub_812EB10 thumb_func_end sub_812EB2C @@ -4188,9 +4188,9 @@ _08130B4A: cmp r1, 0xE ble _08130B96 movs r2, 0 - ldr r6, _08130BA0 @ =gUnknown_20375F8 + ldr r6, _08130BA0 @ =gPlttBufferFaded adds r3, r7, 0 - ldr r4, _08130BA4 @ =gUnknown_20371F8 + ldr r4, _08130BA4 @ =gPlttBufferUnfaded _08130B78: adds r0, r2, 0 adds r0, 0x40 @@ -4212,8 +4212,8 @@ _08130B96: bx r0 .align 2, 0 _08130B9C: .4byte 0x00007fff -_08130BA0: .4byte gUnknown_20375F8 -_08130BA4: .4byte gUnknown_20371F8 +_08130BA0: .4byte gPlttBufferFaded +_08130BA4: .4byte gPlttBufferUnfaded thumb_func_end sub_8130B10 thumb_func_start sub_8130BA8 diff --git a/asm/palette.s b/asm/palette.s index d53329082..ed9327106 100644 --- a/asm/palette.s +++ b/asm/palette.s @@ -17,13 +17,13 @@ LoadCompressedPalette: @ 80703A8 adds r1, r6, 0 bl LZDecompressWram lsls r4, 1 - ldr r1, _080703E4 @ =gUnknown_20371F8 + ldr r1, _080703E4 @ =gPlttBufferUnfaded adds r1, r4, r1 lsrs r5, 17 adds r0, r6, 0 adds r2, r5, 0 bl CpuSet - ldr r0, _080703E8 @ =gUnknown_20375F8 + ldr r0, _080703E8 @ =gPlttBufferFaded adds r4, r0 adds r0, r6, 0 adds r1, r4, 0 @@ -34,8 +34,8 @@ LoadCompressedPalette: @ 80703A8 bx r0 .align 2, 0 _080703E0: .4byte gUnknown_2037ACC -_080703E4: .4byte gUnknown_20371F8 -_080703E8: .4byte gUnknown_20375F8 +_080703E4: .4byte gPlttBufferUnfaded +_080703E8: .4byte gPlttBufferFaded thumb_func_end LoadCompressedPalette thumb_func_start LoadPalette @@ -47,12 +47,12 @@ LoadPalette: @ 80703EC lsls r4, 16 lsls r5, 16 lsrs r4, 15 - ldr r1, _0807041C @ =gUnknown_20371F8 + ldr r1, _0807041C @ =gPlttBufferUnfaded adds r1, r4, r1 lsrs r5, 17 adds r2, r5, 0 bl CpuSet - ldr r0, _08070420 @ =gUnknown_20375F8 + ldr r0, _08070420 @ =gPlttBufferFaded adds r4, r0 adds r0, r6, 0 adds r1, r4, 0 @@ -62,8 +62,8 @@ LoadPalette: @ 80703EC pop {r0} bx r0 .align 2, 0 -_0807041C: .4byte gUnknown_20371F8 -_08070420: .4byte gUnknown_20375F8 +_0807041C: .4byte gPlttBufferUnfaded +_08070420: .4byte gPlttBufferFaded thumb_func_end LoadPalette thumb_func_start FillPalette @@ -80,7 +80,7 @@ FillPalette: @ 8070424 mov r0, sp strh r6, [r0] lsrs r4, 15 - ldr r1, _0807046C @ =gUnknown_20371F8 + ldr r1, _0807046C @ =gPlttBufferUnfaded adds r1, r4, r1 lsrs r5, 17 movs r0, 0x80 @@ -92,7 +92,7 @@ FillPalette: @ 8070424 mov r0, sp adds r0, 0x2 strh r6, [r0] - ldr r1, _08070470 @ =gUnknown_20375F8 + ldr r1, _08070470 @ =gPlttBufferFaded adds r4, r1 adds r1, r4, 0 adds r2, r5, 0 @@ -102,8 +102,8 @@ FillPalette: @ 8070424 pop {r0} bx r0 .align 2, 0 -_0807046C: .4byte gUnknown_20371F8 -_08070470: .4byte gUnknown_20375F8 +_0807046C: .4byte gPlttBufferUnfaded +_08070470: .4byte gPlttBufferFaded thumb_func_end FillPalette thumb_func_start TransferPlttBuffer @@ -118,7 +118,7 @@ TransferPlttBuffer: @ 8070474 lsrs r3, r0, 24 cmp r3, 0 bne _080704B6 - ldr r1, _080704C0 @ =gUnknown_20375F8 + ldr r1, _080704C0 @ =gPlttBufferFaded movs r2, 0xA0 lsls r2, 19 ldr r0, _080704C4 @ =0x040000d4 @@ -146,7 +146,7 @@ _080704B6: bx r0 .align 2, 0 _080704BC: .4byte gPaletteFade -_080704C0: .4byte gUnknown_20375F8 +_080704C0: .4byte gPlttBufferFaded _080704C4: .4byte 0x040000d4 _080704C8: .4byte 0x80000200 _080704CC: .4byte gUnknown_2037AC8 @@ -224,8 +224,8 @@ ReadPlttIntoBuffers: @ 8070548 lsls r0, 19 mov r12, r0 movs r4, 0 - ldr r7, _0807057C @ =gUnknown_20371F8 - ldr r6, _08070580 @ =gUnknown_20375F8 + ldr r7, _0807057C @ =gPlttBufferUnfaded + ldr r6, _08070580 @ =gPlttBufferFaded ldr r5, _08070584 @ =0x000001ff _08070558: lsls r1, r4, 1 @@ -246,8 +246,8 @@ _08070558: pop {r0} bx r0 .align 2, 0 -_0807057C: .4byte gUnknown_20371F8 -_08070580: .4byte gUnknown_20375F8 +_0807057C: .4byte gPlttBufferUnfaded +_08070580: .4byte gPlttBufferFaded _08070584: .4byte 0x000001ff thumb_func_end ReadPlttIntoBuffers @@ -373,7 +373,7 @@ _08070668: movs r0, 0x7F ands r0, r1 strb r0, [r4, 0x8] - ldr r0, _080706C4 @ =gUnknown_20375F8 + ldr r0, _080706C4 @ =gPlttBufferFaded movs r1, 0xA0 lsls r1, 19 ldr r2, _080706C8 @ =0x04000100 @@ -409,7 +409,7 @@ _080706B4: bx r1 .align 2, 0 _080706C0: .4byte gPaletteFade -_080706C4: .4byte gUnknown_20375F8 +_080706C4: .4byte gPlttBufferFaded _080706C8: .4byte 0x04000100 _080706CC: .4byte gUnknown_2037AC8 thumb_func_end BeginNormalPaletteFade @@ -542,9 +542,9 @@ unused_sub_80A1CDC: @ 8070790 lsrs r0, r2, 27 cmp r6, r0 bcs _08070878 - ldr r0, _0807081C @ =gUnknown_20371F8 + ldr r0, _0807081C @ =gPlttBufferUnfaded mov r12, r0 - ldr r7, _08070820 @ =gUnknown_20375F8 + ldr r7, _08070820 @ =gPlttBufferFaded _080707C4: ldr r0, [r4, 0x4] lsls r0, 11 @@ -591,15 +591,15 @@ _080707C4: bcc _080707C4 b _08070878 .align 2, 0 -_0807081C: .4byte gUnknown_20371F8 -_08070820: .4byte gUnknown_20375F8 +_0807081C: .4byte gPlttBufferUnfaded +_08070820: .4byte gPlttBufferFaded _08070824: .4byte 0x000003ff _08070828: .4byte 0xffe007ff _0807082C: lsrs r0, r2, 27 cmp r6, r0 bcs _08070878 - ldr r3, _080708E4 @ =gUnknown_20375F8 + ldr r3, _080708E4 @ =gPlttBufferFaded _08070834: ldr r1, [r4, 0x4] lsls r1, 11 @@ -693,7 +693,7 @@ _080708C8: pop {r0} bx r0 .align 2, 0 -_080708E4: .4byte gUnknown_20375F8 +_080708E4: .4byte gPlttBufferFaded _080708E8: .4byte 0x000003ff _080708EC: .4byte 0xffe007ff _080708F0: .4byte 0xfffff01f @@ -768,7 +768,7 @@ _08070950: adds r1, r2, 0 cmp r3, r1 bcs _080709A8 - ldr r6, _080709B0 @ =gUnknown_20375F8 + ldr r6, _080709B0 @ =gPlttBufferFaded _0807097C: ldrh r1, [r4, 0x4] lsls r1, 21 @@ -797,7 +797,7 @@ _080709A8: pop {r0} bx r0 .align 2, 0 -_080709B0: .4byte gUnknown_20375F8 +_080709B0: .4byte gPlttBufferFaded thumb_func_end unused_sub_80A1E40 thumb_func_start unused_sub_80A1F00 @@ -1237,7 +1237,7 @@ InvertPlttBuffer: @ 8070CCC movs r3, 0 cmp r1, 0 beq _08070D0A - ldr r7, _08070D10 @ =gUnknown_20375F8 + ldr r7, _08070D10 @ =gPlttBufferFaded _08070CD8: movs r0, 0x1 ands r0, r1 @@ -1271,7 +1271,7 @@ _08070D0A: pop {r0} bx r0 .align 2, 0 -_08070D10: .4byte gUnknown_20375F8 +_08070D10: .4byte gPlttBufferFaded thumb_func_end InvertPlttBuffer thumb_func_start TintPlttBuffer @@ -1308,7 +1308,7 @@ _08070D3E: cmp r0, 0 beq _08070DC2 movs r4, 0 - ldr r2, _08070DE0 @ =gUnknown_20375F8 + ldr r2, _08070DE0 @ =gPlttBufferFaded mov r8, r2 ldr r1, [sp] lsls r0, r1, 24 @@ -1383,7 +1383,7 @@ _08070DD0: pop {r0} bx r0 .align 2, 0 -_08070DE0: .4byte gUnknown_20375F8 +_08070DE0: .4byte gPlttBufferFaded _08070DE4: .4byte 0xfffffc1f thumb_func_end TintPlttBuffer @@ -1396,9 +1396,9 @@ UnfadePlttBuffer: @ 8070DE8 movs r3, 0 cmp r1, 0 beq _08070E32 - ldr r0, _08070E3C @ =gUnknown_20375F8 + ldr r0, _08070E3C @ =gPlttBufferFaded mov r8, r0 - ldr r0, _08070E40 @ =gUnknown_20371F8 + ldr r0, _08070E40 @ =gPlttBufferUnfaded mov r12, r0 _08070DFE: movs r0, 0x1 @@ -1436,8 +1436,8 @@ _08070E32: pop {r0} bx r0 .align 2, 0 -_08070E3C: .4byte gUnknown_20375F8 -_08070E40: .4byte gUnknown_20371F8 +_08070E3C: .4byte gPlttBufferFaded +_08070E40: .4byte gPlttBufferUnfaded thumb_func_end UnfadePlttBuffer thumb_func_start BeginFastPaletteFade @@ -1498,7 +1498,7 @@ BeginFastPaletteFadeInternal: @ 8070E68 mov r1, sp movs r0, 0 strh r0, [r1] - ldr r1, _08070EE0 @ =gUnknown_20375F8 + ldr r1, _08070EE0 @ =gPlttBufferFaded ldr r2, _08070EE4 @ =0x01000200 mov r0, sp bl CpuSet @@ -1510,7 +1510,7 @@ _08070EBA: ldr r2, _08070EE8 @ =0x00007fff adds r1, r2, 0 strh r1, [r0] - ldr r1, _08070EE0 @ =gUnknown_20375F8 + ldr r1, _08070EE0 @ =gPlttBufferFaded ldr r2, _08070EE4 @ =0x01000200 bl CpuSet _08070ED0: @@ -1521,7 +1521,7 @@ _08070ED0: bx r0 .align 2, 0 _08070EDC: .4byte gPaletteFade -_08070EE0: .4byte gUnknown_20375F8 +_08070EE0: .4byte gPlttBufferFaded _08070EE4: .4byte 0x01000200 _08070EE8: .4byte 0x00007fff thumb_func_end BeginFastPaletteFadeInternal @@ -1599,7 +1599,7 @@ _08070F62: b _08071148 _08070F6A: lsls r2, r7, 1 - ldr r0, _08070FF0 @ =gUnknown_20371F8 + ldr r0, _08070FF0 @ =gPlttBufferUnfaded adds r0, r2, r0 ldr r1, [r0] lsls r3, r1, 27 @@ -1609,7 +1609,7 @@ _08070F6A: lsls r1, 17 lsrs r1, 27 mov r8, r1 - ldr r0, _08070FF4 @ =gUnknown_20375F8 + ldr r0, _08070FF4 @ =gPlttBufferFaded adds r2, r0 mov r9, r2 ldr r1, [r2] @@ -1669,8 +1669,8 @@ _08070FD0: bcc _08070F6A b _08071148 .align 2, 0 -_08070FF0: .4byte gUnknown_20371F8 -_08070FF4: .4byte gUnknown_20375F8 +_08070FF0: .4byte gPlttBufferUnfaded +_08070FF4: .4byte gPlttBufferFaded _08070FF8: adds r7, r2, 0 cmp r7, r10 @@ -1678,7 +1678,7 @@ _08070FF8: b _08071148 _08071000: lsls r1, r7, 1 - ldr r0, _08071058 @ =gUnknown_20375F8 + ldr r0, _08071058 @ =gPlttBufferFaded adds r2, r1, r0 ldr r1, [r2] lsls r0, r1, 27 @@ -1725,14 +1725,14 @@ _0807103A: bcc _08071000 b _08071148 .align 2, 0 -_08071058: .4byte gUnknown_20375F8 +_08071058: .4byte gPlttBufferFaded _0807105C: adds r7, r2, 0 cmp r7, r10 bcs _08071148 _08071062: lsls r2, r7, 1 - ldr r0, _080710DC @ =gUnknown_20371F8 + ldr r0, _080710DC @ =gPlttBufferUnfaded adds r0, r2, r0 ldr r1, [r0] lsls r3, r1, 27 @@ -1742,7 +1742,7 @@ _08071062: lsls r1, 17 lsrs r1, 27 mov r8, r1 - ldr r0, _080710E0 @ =gUnknown_20375F8 + ldr r0, _080710E0 @ =gPlttBufferFaded adds r2, r0 ldr r1, [r2] lsls r0, r1, 27 @@ -1795,13 +1795,13 @@ _080710BC: bcc _08071062 b _08071148 .align 2, 0 -_080710DC: .4byte gUnknown_20371F8 -_080710E0: .4byte gUnknown_20375F8 +_080710DC: .4byte gPlttBufferUnfaded +_080710E0: .4byte gPlttBufferFaded _080710E4: adds r7, r2, 0 cmp r7, r10 bcs _08071148 - ldr r4, _08071170 @ =gUnknown_20375F8 + ldr r4, _08071170 @ =gPlttBufferFaded mov r8, r4 _080710EE: lsls r0, r7, 1 @@ -1873,7 +1873,7 @@ _08071148: ldrb r0, [r1, 0x7] b _08071244 .align 2, 0 -_08071170: .4byte gUnknown_20375F8 +_08071170: .4byte gPlttBufferFaded _08071174: .4byte gPaletteFade _08071178: ldr r2, _08071194 @ =gPaletteFade @@ -1934,31 +1934,31 @@ _080711E0: beq _08071220 b _0807122C _080711EA: - ldr r0, _080711F8 @ =gUnknown_20371F8 - ldr r1, _080711FC @ =gUnknown_20375F8 + ldr r0, _080711F8 @ =gPlttBufferUnfaded + ldr r1, _080711FC @ =gPlttBufferFaded ldr r2, _08071200 @ =0x04000100 bl CpuSet b _0807122C .align 2, 0 -_080711F8: .4byte gUnknown_20371F8 -_080711FC: .4byte gUnknown_20375F8 +_080711F8: .4byte gPlttBufferUnfaded +_080711FC: .4byte gPlttBufferFaded _08071200: .4byte 0x04000100 _08071204: movs r0, 0x1 negs r0, r0 str r0, [sp] - ldr r1, _08071218 @ =gUnknown_20375F8 + ldr r1, _08071218 @ =gPlttBufferFaded ldr r2, _0807121C @ =0x05000100 mov r0, sp bl CpuSet b _0807122C .align 2, 0 -_08071218: .4byte gUnknown_20375F8 +_08071218: .4byte gPlttBufferFaded _0807121C: .4byte 0x05000100 _08071220: str r1, [sp, 0x4] add r0, sp, 0x4 - ldr r1, _08071258 @ =gUnknown_20375F8 + ldr r1, _08071258 @ =gPlttBufferFaded ldr r2, _0807125C @ =0x05000100 bl CpuSet _0807122C: @@ -1987,7 +1987,7 @@ _08071246: pop {r1} bx r1 .align 2, 0 -_08071258: .4byte gUnknown_20375F8 +_08071258: .4byte gPlttBufferFaded _0807125C: .4byte 0x05000100 _08071260: .4byte gPaletteFade thumb_func_end UpdateFastPaletteFade @@ -2371,8 +2371,8 @@ BlendPalettesUnfaded: @ 8071510 lsrs r4, 24 lsls r5, 16 lsrs r5, 16 - ldr r0, _0807153C @ =gUnknown_20371F8 - ldr r1, _08071540 @ =gUnknown_20375F8 + ldr r0, _0807153C @ =gPlttBufferUnfaded + ldr r1, _08071540 @ =gPlttBufferFaded movs r2, 0x80 lsls r2, 1 bl CpuFastSet @@ -2384,8 +2384,8 @@ BlendPalettesUnfaded: @ 8071510 pop {r0} bx r0 .align 2, 0 -_0807153C: .4byte gUnknown_20371F8 -_08071540: .4byte gUnknown_20375F8 +_0807153C: .4byte gPlttBufferUnfaded +_08071540: .4byte gPlttBufferFaded thumb_func_end BlendPalettesUnfaded thumb_func_start TintPalette_GrayScale diff --git a/asm/party_menu.s b/asm/party_menu.s index c482366d4..9754bb605 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -681,7 +681,7 @@ _0811EFD4: lsls r2, 1 movs r1, 0 bl LoadCompressedPalette - ldr r0, _0811EFF8 @ =gUnknown_20371F8 + ldr r0, _0811EFF8 @ =gPlttBufferUnfaded ldr r4, _0811EFFC @ =gUnknown_203B09C ldr r1, [r4] adds r1, 0x18 @@ -691,7 +691,7 @@ _0811EFD4: b _0811F01A .align 2, 0 _0811EFF4: .4byte gUnknown_8E829C8 -_0811EFF8: .4byte gUnknown_20371F8 +_0811EFF8: .4byte gPlttBufferUnfaded _0811EFFC: .4byte gUnknown_203B09C _0811F000: movs r0, 0x4 @@ -747,7 +747,7 @@ sub_811F03C: @ 811F03C adds r0, r5, 0 movs r2, 0x10 bl CpuSet - ldr r0, _0811F06C @ =gUnknown_20375F8 + ldr r0, _0811F06C @ =gPlttBufferFaded adds r4, r0 adds r0, r5, 0 adds r1, r4, 0 @@ -758,7 +758,7 @@ sub_811F03C: @ 811F03C bx r0 .align 2, 0 _0811F068: .4byte gUnknown_2037258 -_0811F06C: .4byte gUnknown_20375F8 +_0811F06C: .4byte gPlttBufferFaded thumb_func_end sub_811F03C thumb_func_start sub_811F070 diff --git a/asm/pc_screen_effect.s b/asm/pc_screen_effect.s index b8e48f91c..61c47a719 100644 --- a/asm/pc_screen_effect.s +++ b/asm/pc_screen_effect.s @@ -226,7 +226,7 @@ _080A0BCC: movs r1, 0 movs r2, 0 bl BlendPalettes - ldr r0, _080A0C0C @ =gUnknown_20375F8 + ldr r0, _080A0C0C @ =gPlttBufferFaded strh r5, [r0] _080A0BF2: ldrh r1, [r4, 0xE] @@ -241,7 +241,7 @@ _080A0BF2: ldrsh r0, [r4, r1] b _080A0C54 .align 2, 0 -_080A0C0C: .4byte gUnknown_20375F8 +_080A0C0C: .4byte gPlttBufferFaded _080A0C10: ldrh r0, [r4, 0x12] ldrh r1, [r4, 0xC] @@ -326,11 +326,11 @@ _080A0CA0: beq _080A0D54 b _080A0DA8 _080A0CAA: - ldr r0, _080A0CB0 @ =gUnknown_20375F8 + ldr r0, _080A0CB0 @ =gPlttBufferFaded strh r1, [r0] b _080A0DCA .align 2, 0 -_080A0CB0: .4byte gUnknown_20375F8 +_080A0CB0: .4byte gPlttBufferFaded _080A0CB4: movs r1, 0 strh r1, [r4, 0xE] @@ -431,7 +431,7 @@ _080A0D72: movs r1, 0x10 movs r2, 0 bl BlendPalettes - ldr r1, _080A0DA4 @ =gUnknown_20375F8 + ldr r1, _080A0DA4 @ =gPlttBufferFaded movs r0, 0 strh r0, [r1] _080A0D88: @@ -449,7 +449,7 @@ _080A0D88: bne _080A0DD0 b _080A0DCA .align 2, 0 -_080A0DA4: .4byte gUnknown_20375F8 +_080A0DA4: .4byte gPlttBufferFaded _080A0DA8: movs r1, 0x80 lsls r1, 6 diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 682d5e9b3..04dae118c 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -12786,7 +12786,7 @@ sub_8091EF0: @ 8091EF0 adds r1, r2, r3 ldrh r1, [r1] lsls r1, 1 - ldr r2, _08091F34 @ =gUnknown_20371F8 + ldr r2, _08091F34 @ =gPlttBufferUnfaded adds r1, r2 movs r2, 0x2 bl CpuSet @@ -12794,7 +12794,7 @@ sub_8091EF0: @ 8091EF0 .align 2, 0 _08091F2C: .4byte gUnknown_20397B0 _08091F30: .4byte gUnknown_83D29D0 -_08091F34: .4byte gUnknown_20371F8 +_08091F34: .4byte gPlttBufferUnfaded _08091F38: lsls r0, r1, 2 ldr r1, _08091F54 @ =gUnknown_83D29D0 @@ -12803,7 +12803,7 @@ _08091F38: adds r1, r2, r3 ldrh r1, [r1] lsls r1, 1 - ldr r2, _08091F5C @ =gUnknown_20371F8 + ldr r2, _08091F5C @ =gPlttBufferUnfaded adds r1, r2 movs r2, 0x2 bl CpuSet @@ -12813,7 +12813,7 @@ _08091F50: .align 2, 0 _08091F54: .4byte gUnknown_83D29D0 _08091F58: .4byte 0x0000071e -_08091F5C: .4byte gUnknown_20371F8 +_08091F5C: .4byte gPlttBufferUnfaded thumb_func_end sub_8091EF0 thumb_func_start sub_8091F60 diff --git a/asm/quest_log.s b/asm/quest_log.s index 9809b1b52..4972eaa07 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,99 +5,6 @@ .text - thumb_func_start sub_81121D8 -sub_81121D8: @ 81121D8 - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0811227C @ =gTasks+0x8 - adds r7, r1, r0 - ldrh r1, [r7, 0x2] - movs r2, 0x2 - ldrsh r0, [r7, r2] - cmp r0, 0xF - bgt _08112290 - ldr r5, _08112280 @ =gUnknown_20371FA - ldr r6, _08112284 @ =gUnknown_20375FA - movs r4, 0xF - subs r3, r4, r1 - lsls r3, 24 - lsrs r3, 24 - adds r0, r5, 0 - adds r1, r6, 0 - movs r2, 0xDF - bl sub_80716F8 - movs r0, 0xFF - lsls r0, 1 - adds r5, r0 - adds r6, r0 - movs r2, 0x80 - lsls r2, 1 - ldrb r0, [r7, 0x2] - subs r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - adds r1, r6, 0 - adds r3, r4, 0 - bl sub_80716F8 - ldr r5, _08112288 @ =gUnknown_203ADFE - ldrb r0, [r5] - ldr r4, _0811228C @ =gUnknown_845661C - ldrb r3, [r4, 0x4] - lsls r3, 3 - subs r3, 0x1 - ldrh r1, [r7, 0x2] - subs r3, r1 - lsls r3, 16 - lsrs r3, 16 - ldrb r1, [r4, 0x3] - lsls r1, 3 - str r1, [sp] - movs r6, 0x1 - str r6, [sp, 0x4] - movs r1, 0 - movs r2, 0 - bl FillWindowPixelRect - ldrb r0, [r5, 0x1] - ldrh r3, [r7, 0x2] - ldrb r1, [r4, 0xB] - lsls r1, 3 - str r1, [sp] - str r6, [sp, 0x4] - movs r1, 0 - movs r2, 0 - bl FillWindowPixelRect - ldrb r0, [r5] - movs r1, 0x2 - bl CopyWindowToVram - ldrb r0, [r5, 0x1] - movs r1, 0x2 - bl CopyWindowToVram - ldrh r0, [r7, 0x2] - adds r0, 0x1 - strh r0, [r7, 0x2] - movs r0, 0 - b _08112292 - .align 2, 0 -_0811227C: .4byte gTasks+0x8 -_08112280: .4byte gUnknown_20371FA -_08112284: .4byte gUnknown_20375FA -_08112288: .4byte gUnknown_203ADFE -_0811228C: .4byte gUnknown_845661C -_08112290: - movs r0, 0x1 -_08112292: - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81121D8 - thumb_func_start sub_811229C sub_811229C: @ 811229C push {r4-r6,lr} @@ -138,7 +45,7 @@ sub_811229C: @ 811229C movs r2, 0x50 bl sub_807B0C4 ldr r0, [r4] - ldr r1, _08112318 @ =gUnknown_20371F8 + ldr r1, _08112318 @ =gPlttBufferUnfaded adds r2, r5, 0 bl CpuSet ldr r1, [r4] @@ -152,7 +59,7 @@ sub_811229C: @ 811229C bx r0 .align 2, 0 _08112314: .4byte gUnknown_203AE90 -_08112318: .4byte gUnknown_20371F8 +_08112318: .4byte gPlttBufferUnfaded thumb_func_end sub_811229C thumb_func_start sub_811231C diff --git a/asm/roulette_util.s b/asm/roulette_util.s index b94b22743..532bf4684 100644 --- a/asm/roulette_util.s +++ b/asm/roulette_util.s @@ -151,9 +151,9 @@ _080D8CD8: ldrh r0, [r5, 0x6] add r0, r12 lsls r0, 1 - ldr r1, _080D8CFC @ =gUnknown_20375F8 + ldr r1, _080D8CFC @ =gPlttBufferFaded adds r3, r0, r1 - ldr r1, _080D8D00 @ =gUnknown_20371F8 + ldr r1, _080D8D00 @ =gPlttBufferUnfaded adds r6, r0, r1 ldrb r0, [r5] lsls r0, 25 @@ -165,8 +165,8 @@ _080D8CD8: b _080D8E4E .align 2, 0 _080D8CF8: .4byte 0xfffffc1f -_080D8CFC: .4byte gUnknown_20375F8 -_080D8D00: .4byte gUnknown_20371F8 +_080D8CFC: .4byte gPlttBufferFaded +_080D8D00: .4byte gPlttBufferUnfaded _080D8D04: ldr r0, [r3] lsls r2, r0, 27 @@ -422,7 +422,7 @@ _080D8ECE: ldrb r0, [r3, 0x8] cmp r2, r0 bcs _080D8EEE - ldr r4, _080D8EF8 @ =gUnknown_20375F8 + ldr r4, _080D8EF8 @ =gPlttBufferFaded _080D8ED6: ldrh r0, [r3, 0x6] adds r0, r2 @@ -443,13 +443,13 @@ _080D8EEE: adds r1, 0x1 b _080D8F28 .align 2, 0 -_080D8EF8: .4byte gUnknown_20375F8 +_080D8EF8: .4byte gPlttBufferFaded _080D8EFC: ldrb r0, [r3, 0x8] cmp r2, r0 bcs _080D8F20 - ldr r5, _080D8F40 @ =gUnknown_20375F8 - ldr r4, _080D8F44 @ =gUnknown_20371F8 + ldr r5, _080D8F40 @ =gPlttBufferFaded + ldr r4, _080D8F44 @ =gPlttBufferUnfaded _080D8F06: ldrh r0, [r3, 0x6] adds r0, r2 @@ -483,8 +483,8 @@ _080D8F36: pop {r1} bx r1 .align 2, 0 -_080D8F40: .4byte gUnknown_20375F8 -_080D8F44: .4byte gUnknown_20371F8 +_080D8F40: .4byte gPlttBufferFaded +_080D8F44: .4byte gPlttBufferUnfaded thumb_func_end sub_80D8EB8 thumb_func_start task_tutorial_controls_fadein @@ -625,9 +625,9 @@ _080D9016: beq _080D907E ldrh r1, [r4, 0xA] lsls r1, 1 - ldr r0, _080D9074 @ =gUnknown_20375F8 + ldr r0, _080D9074 @ =gPlttBufferFaded adds r0, r1, r0 - ldr r2, _080D9078 @ =gUnknown_20371F8 + ldr r2, _080D9078 @ =gPlttBufferUnfaded adds r1, r2 ldrb r2, [r4, 0xC] lsls r2, 1 @@ -651,8 +651,8 @@ _080D9016: strb r0, [r4, 0x7] b _080D907E .align 2, 0 -_080D9074: .4byte gUnknown_20375F8 -_080D9078: .4byte gUnknown_20371F8 +_080D9074: .4byte gPlttBufferFaded +_080D9078: .4byte gPlttBufferUnfaded _080D907C: strb r3, [r4, 0x7] _080D907E: @@ -787,8 +787,8 @@ sub_80D9140: @ 80D9140 adds r0, r2, r0 cmp r2, r0 bge _080D9182 - ldr r5, _080D91B4 @ =gUnknown_20375F8 - ldr r3, _080D91B8 @ =gUnknown_20371F8 + ldr r5, _080D91B4 @ =gPlttBufferFaded + ldr r3, _080D91B8 @ =gPlttBufferUnfaded _080D9168: lsls r0, r2, 1 adds r1, r0, r5 @@ -829,8 +829,8 @@ _080D9182: pop {r0} bx r0 .align 2, 0 -_080D91B4: .4byte gUnknown_20375F8 -_080D91B8: .4byte gUnknown_20371F8 +_080D91B4: .4byte gPlttBufferFaded +_080D91B8: .4byte gPlttBufferUnfaded thumb_func_end sub_80D9140 thumb_func_start sub_80D91BC @@ -992,8 +992,8 @@ sub_80D9294: @ 80D9294 adds r0, r2, r0 cmp r2, r0 bge _080D92FA - ldr r5, _080D9314 @ =gUnknown_20375F8 - ldr r4, _080D9318 @ =gUnknown_20371F8 + ldr r5, _080D9314 @ =gPlttBufferFaded + ldr r4, _080D9318 @ =gPlttBufferUnfaded _080D92E0: lsls r0, r2, 1 adds r1, r0, r5 @@ -1022,8 +1022,8 @@ _080D92FA: strh r0, [r2] b _080D93A6 .align 2, 0 -_080D9314: .4byte gUnknown_20375F8 -_080D9318: .4byte gUnknown_20371F8 +_080D9314: .4byte gPlttBufferFaded +_080D9318: .4byte gPlttBufferUnfaded _080D931C: movs r0, 0x1 mov r9, r0 @@ -1066,8 +1066,8 @@ _080D9350: adds r0, r2, r0 cmp r2, r0 bge _080D9386 - ldr r6, _080D93B4 @ =gUnknown_20375F8 - ldr r4, _080D93B8 @ =gUnknown_20371F8 + ldr r6, _080D93B4 @ =gPlttBufferFaded + ldr r4, _080D93B8 @ =gPlttBufferUnfaded _080D936C: lsls r0, r2, 1 adds r1, r0, r6 @@ -1109,8 +1109,8 @@ _080D93A6: pop {r0} bx r0 .align 2, 0 -_080D93B4: .4byte gUnknown_20375F8 -_080D93B8: .4byte gUnknown_20371F8 +_080D93B4: .4byte gPlttBufferFaded +_080D93B8: .4byte gPlttBufferUnfaded thumb_func_end sub_80D9294 thumb_func_start sub_80D93BC diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 2fc05a82a..f21a6f185 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -4503,9 +4503,9 @@ _08141A00: bl BlendPalettes _08141A2C: movs r4, 0 - ldr r5, _08141A4C @ =gUnknown_20375F8 + ldr r5, _08141A4C @ =gPlttBufferFaded ldr r3, _08141A50 @ =gUnknown_8466C34 - ldr r2, _08141A54 @ =gUnknown_20371F8 + ldr r2, _08141A54 @ =gPlttBufferUnfaded _08141A34: adds r0, r4, r3 ldrb r0, [r0] @@ -4520,9 +4520,9 @@ _08141A34: bls _08141A34 b _08141AA8 .align 2, 0 -_08141A4C: .4byte gUnknown_20375F8 +_08141A4C: .4byte gPlttBufferFaded _08141A50: .4byte gUnknown_8466C34 -_08141A54: .4byte gUnknown_20371F8 +_08141A54: .4byte gPlttBufferUnfaded _08141A58: movs r4, 0 _08141A5A: diff --git a/asm/title_screen.s b/asm/title_screen.s index c9ec19427..9e12dfbff 100644 --- a/asm/title_screen.s +++ b/asm/title_screen.s @@ -1381,9 +1381,9 @@ _08079478: lsls r0, 16 cmp r0, 0 beq _080794CC - ldr r2, _080794C0 @ =gUnknown_20371F8 + ldr r2, _080794C0 @ =gPlttBufferUnfaded ldr r4, _080794C4 @ =gUnknown_8EAE094 - ldr r1, _080794C8 @ =gUnknown_20375F8 + ldr r1, _080794C8 @ =gPlttBufferFaded movs r0, 0xF1 lsls r0, 1 adds r1, r0 @@ -1401,14 +1401,14 @@ _080794AC: bge _080794AC b _080794F2 .align 2, 0 -_080794C0: .4byte gUnknown_20371F8 +_080794C0: .4byte gPlttBufferUnfaded _080794C4: .4byte gUnknown_8EAE094 -_080794C8: .4byte gUnknown_20375F8 +_080794C8: .4byte gPlttBufferFaded _080794CC: movs r3, 0 - ldr r2, _08079518 @ =gUnknown_20371F8 + ldr r2, _08079518 @ =gPlttBufferUnfaded ldr r0, _0807951C @ =gUnknown_8EAE094 - ldr r1, _08079520 @ =gUnknown_20375F8 + ldr r1, _08079520 @ =gPlttBufferFaded adds r4, r0, 0x2 movs r0, 0xF1 lsls r0, 1 @@ -1445,9 +1445,9 @@ _08079510: pop {r0} bx r0 .align 2, 0 -_08079518: .4byte gUnknown_20371F8 +_08079518: .4byte gPlttBufferUnfaded _0807951C: .4byte gUnknown_8EAE094 -_08079520: .4byte gUnknown_20375F8 +_08079520: .4byte gPlttBufferFaded _08079524: .4byte gPaletteFade thumb_func_end sub_807941C diff --git a/asm/tm_case.s b/asm/tm_case.s index 3cd478ee6..a4767baa5 100644 --- a/asm/tm_case.s +++ b/asm/tm_case.s @@ -3075,8 +3075,8 @@ _08133170: ldrh r1, [r1] strh r1, [r2, 0xA] bl Free - ldr r0, _08133208 @ =gUnknown_20375F8 - ldr r1, _0813320C @ =gUnknown_20371F8 + ldr r0, _08133208 @ =gPlttBufferFaded + ldr r1, _0813320C @ =gPlttBufferUnfaded movs r2, 0x80 lsls r2, 1 bl CpuFastSet @@ -3100,8 +3100,8 @@ _081331F8: .4byte gSaveBlock1Ptr _081331FC: .4byte 0x00000464 _08133200: .4byte gUnknown_203B11C _08133204: .4byte gUnknown_203B10C -_08133208: .4byte gUnknown_20375F8 -_0813320C: .4byte gUnknown_20371F8 +_08133208: .4byte gPlttBufferFaded +_0813320C: .4byte gPlttBufferUnfaded _08133210: ldr r0, _0813323C @ =gPaletteFade ldrb r1, [r0, 0x7] diff --git a/include/palette.h b/include/palette.h index bdd1d1b93..90112947a 100644 --- a/include/palette.h +++ b/include/palette.h @@ -42,8 +42,8 @@ struct PaletteFadeControl extern struct PaletteFadeControl gPaletteFade; extern u32 gPlttBufferTransferPending; extern u8 gPaletteDecompressionBuffer[]; -extern u16 gPlttBufferUnfaded[]; -extern u16 gPlttBufferFaded[]; +extern u16 gPlttBufferUnfaded[PLTT_BUFFER_SIZE]; +extern u16 gPlttBufferFaded[PLTT_BUFFER_SIZE]; void LoadCompressedPalette(const void *, u16, u16); void LoadPalette(const void *, u16, u16); @@ -67,6 +67,7 @@ void BeginFastPaletteFade(u8); void BeginHardwarePaletteFade(u8, u8, u8, u8, u8); void BlendPalettes(u32, u8, u16); void BlendPalettesUnfaded(u32, u8, u16); +void sub_80716F8(const u16 *, u16 *, u16, u8); extern struct PaletteFadeControl gPaletteFade; diff --git a/src/quest_log.c b/src/quest_log.c index e7a5a2d5b..028bd574e 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -44,8 +44,6 @@ struct UnkStruct_203AE98 u8 unk_6; }; -extern u16 gUnknown_20371F8[]; - EWRAM_DATA u8 gUnknown_203ADF8 = 0; EWRAM_DATA u8 gUnknown_203ADF9 = 0; EWRAM_DATA u8 gUnknown_203ADFA = 0; @@ -1214,7 +1212,7 @@ void sub_8111F14(void) void sub_8111F38(u16 a0, u16 a1) { - CpuSet(gUnknown_20371F8 + a0, gUnknown_203AE90 + a0, a1); + CpuSet(gPlttBufferUnfaded + a0, gUnknown_203AE90 + a0, a1); } bool8 sub_8111F60(void) @@ -1311,7 +1309,7 @@ void sub_81120AC(u8 taskId) default: if (gUnknown_203AE94.unk_0_6 == 1) sub_8098110(1); - CpuCopy16(gUnknown_203AE90, gUnknown_20371F8, 0x400); + CpuCopy16(gUnknown_203AE90, gPlttBufferUnfaded, 0x400); Free(gUnknown_203AE90); gUnknown_203AE94 = (struct UnkStruct_203AE94){}; sub_80696C0(); @@ -1324,3 +1322,20 @@ void sub_81120AC(u8 taskId) break; } } + +bool8 sub_81121D8(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (data[1] > 15) + return TRUE; + + sub_80716F8(gPlttBufferUnfaded + 0x01, gPlttBufferFaded + 0x01, 0xDF, 0x0F - data[1]); + sub_80716F8(gPlttBufferUnfaded + 0x100, gPlttBufferFaded + 0x100, 0x100, 0x0F - data[1]); + FillWindowPixelRect(gUnknown_203ADFE[0], 0x00, 0, gUnknown_845661C[0].height * 8 - 1 - data[1], gUnknown_845661C[0].width * 8, 1); + FillWindowPixelRect(gUnknown_203ADFE[1], 0x00, 0, data[1], gUnknown_845661C[1].width * 8, 1); + CopyWindowToVram(gUnknown_203ADFE[0], 2); + CopyWindowToVram(gUnknown_203ADFE[1], 2); + data[1]++; + return FALSE; +} diff --git a/sym_ewram.txt b/sym_ewram.txt index cebe20e4f..dd96b15fd 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -761,7 +761,7 @@ gUnknown_2037104: @ 2037104 gUnknown_2037108: @ 2037108 .space 0xF0 -gUnknown_20371F8: @ 20371F8 +gPlttBufferUnfaded: @ 20371F8 .space 0x2 gUnknown_20371FA: @ 20371FA @@ -788,7 +788,7 @@ gUnknown_20373F8: @ 20373F8 gUnknown_2037408: @ 2037408 .space 0x1F0 -gUnknown_20375F8: @ 20375F8 +gPlttBufferFaded: @ 20375F8 .space 0x2 gUnknown_20375FA: @ 20375FA From 4f846b6536382331dee430dd57c61ba7a1e2b7e0 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 12 Oct 2018 15:45:40 -0400 Subject: [PATCH 035/222] Consolidate palette buffers --- asm/battle_1.s | 4 ++-- asm/battle_anim.s | 16 +++++++-------- asm/battle_anim_80A22E8.s | 4 ++-- asm/battle_interface.s | 4 ++-- asm/battle_message.s | 4 ++-- asm/evolution_graphics.s | 20 +++++++++--------- asm/evolution_scene.s | 12 +++++------ asm/field_weather.s | 4 ++-- asm/intro.s | 4 ++-- asm/map_name_popup.s | 4 ++-- asm/party_menu.s | 4 ++-- asm/pokemon_storage_system.s | 4 ++-- asm/title_screen.s | 8 ++++---- sym_ewram.txt | 40 ++---------------------------------- 14 files changed, 48 insertions(+), 84 deletions(-) diff --git a/asm/battle_1.s b/asm/battle_1.s index bb29b3aab..7db344aca 100644 --- a/asm/battle_1.s +++ b/asm/battle_1.s @@ -242,7 +242,7 @@ sub_800F380: @ 800F380 adds r2, 0x2 ldr r1, _0800F3FC @ =0x0000675a strh r1, [r2] - ldr r5, _0800F400 @ =gUnknown_20376B0 + ldr r5, _0800F400 @ =gPlttBufferFaded + 0xB8 adds r1, r5, 0 movs r2, 0x4 bl CpuSet @@ -275,7 +275,7 @@ _0800F3F0: .4byte gPlttBufferUnfaded _0800F3F4: .4byte 0x00002529 _0800F3F8: .4byte 0x00007fff _0800F3FC: .4byte 0x0000675a -_0800F400: .4byte gUnknown_20376B0 +_0800F400: .4byte gPlttBufferFaded + 0xB8 _0800F404: .4byte gBattleTypeFlags _0800F408: .4byte 0x00010010 thumb_func_end sub_800F380 diff --git a/asm/battle_anim.s b/asm/battle_anim.s index f15200700..6f749f83c 100644 --- a/asm/battle_anim.s +++ b/asm/battle_anim.s @@ -1307,7 +1307,7 @@ _08072E5E: movs r0, 0x16 bl SetGpuReg lsls r4, r7, 5 - ldr r0, _08072F7C @ =gUnknown_20373F8 + ldr r0, _08072F7C @ =gPlttBufferUnfaded + 0x200 adds r4, r0 add r0, sp, 0x10 ldrb r1, [r0, 0x8] @@ -1353,7 +1353,7 @@ _08072F6C: .4byte gUnknown_2023D44 _08072F70: .4byte gUnknown_2022978 _08072F74: .4byte gSprites _08072F78: .4byte gUnknown_202297A -_08072F7C: .4byte gUnknown_20373F8 +_08072F7C: .4byte gPlttBufferUnfaded + 0x200 _08072F80: .4byte 0x04000008 _08072F84: ldr r1, _08073094 @ =0x06006000 @@ -1440,7 +1440,7 @@ _08072F84: movs r0, 0x1A bl SetGpuReg lsls r4, r7, 5 - ldr r0, _080730B4 @ =gUnknown_20373F8 + ldr r0, _080730B4 @ =gPlttBufferUnfaded + 0x200 adds r4, r0 adds r0, r4, 0 movs r1, 0x90 @@ -1487,7 +1487,7 @@ _080730A4: .4byte gUnknown_2023D44 _080730A8: .4byte gUnknown_202297C _080730AC: .4byte gSprites _080730B0: .4byte gUnknown_202297E -_080730B4: .4byte gUnknown_20373F8 +_080730B4: .4byte gPlttBufferUnfaded + 0x200 _080730B8: .4byte 0x05000120 _080730BC: .4byte 0x04000008 thumb_func_end sub_8072E48 @@ -1640,7 +1640,7 @@ task_pA_ma0A_obj_to_bg_pal: @ 8073174 adds r0, r5 strh r0, [r1] lsls r0, r6, 5 - ldr r2, _08073200 @ =gUnknown_20377F8 + ldr r2, _08073200 @ =gPlttBufferFaded + 0x200 adds r0, r2 mov r1, sp ldrb r1, [r1, 0x8] @@ -1656,7 +1656,7 @@ _080731F0: .4byte gTasks _080731F4: .4byte gSprites _080731F8: .4byte gUnknown_2022978 _080731FC: .4byte gUnknown_202297A -_08073200: .4byte gUnknown_20377F8 +_08073200: .4byte gPlttBufferFaded + 0x200 _08073204: .4byte 0xfffffe00 _08073208: .4byte 0x04000008 _0807320C: @@ -1673,7 +1673,7 @@ _0807320C: adds r0, r5 strh r0, [r1] lsls r0, r6, 5 - ldr r1, _08073244 @ =gUnknown_20377F8 + ldr r1, _08073244 @ =gPlttBufferFaded + 0x200 adds r0, r1 subs r1, 0xE0 ldr r2, _08073248 @ =0x04000008 @@ -1686,7 +1686,7 @@ _08073232: .align 2, 0 _0807323C: .4byte gUnknown_202297C _08073240: .4byte gUnknown_202297E -_08073244: .4byte gUnknown_20377F8 +_08073244: .4byte gPlttBufferFaded + 0x200 _08073248: .4byte 0x04000008 thumb_func_end task_pA_ma0A_obj_to_bg_pal diff --git a/asm/battle_anim_80A22E8.s b/asm/battle_anim_80A22E8.s index 2b522ffe8..40cb974fe 100644 --- a/asm/battle_anim_80A22E8.s +++ b/asm/battle_anim_80A22E8.s @@ -6117,7 +6117,7 @@ _080A51A4: ldrb r1, [r4, 0x5] lsrs r1, 4 lsls r0, r1, 5 - ldr r2, _080A5204 @ =gUnknown_2037408 + ldr r2, _080A5204 @ =gPlttBufferUnfaded + 0x210 adds r0, r2 lsls r1, 4 ldr r3, _080A5208 @ =0x00000101 @@ -6135,7 +6135,7 @@ _080A51A4: b _080A5214 .align 2, 0 _080A5200: .4byte 0x00007fff -_080A5204: .4byte gUnknown_2037408 +_080A5204: .4byte gPlttBufferUnfaded + 0x210 _080A5208: .4byte 0x00000101 _080A520C: cmp r0, 0 diff --git a/asm/battle_interface.s b/asm/battle_interface.s index 3e3fb6500..98616d2c9 100644 --- a/asm/battle_interface.s +++ b/asm/battle_interface.s @@ -4066,7 +4066,7 @@ _08049AF4: movs r2, 0x2 bl FillPalette lsls r4, 1 - ldr r0, _08049BCC @ =gUnknown_20373F8 + ldr r0, _08049BCC @ =gPlttBufferUnfaded + 0x200 adds r0, r4, r0 ldr r1, _08049BD0 @ =0x05000200 adds r4, r1 @@ -4145,7 +4145,7 @@ _08049BB6: .align 2, 0 _08049BC4: .4byte gSprites _08049BC8: .4byte gUnknown_826055A -_08049BCC: .4byte gUnknown_20373F8 +_08049BCC: .4byte gPlttBufferUnfaded + 0x200 _08049BD0: .4byte 0x05000200 _08049BD4: .4byte 0x06010000 _08049BD8: .4byte 0x04000018 diff --git a/asm/battle_message.s b/asm/battle_message.s index 042b130b0..aaa023750 100644 --- a/asm/battle_message.s +++ b/asm/battle_message.s @@ -2968,7 +2968,7 @@ SetPpNumbersPaletteInMoveSelection: @ 80D89DC ldrh r0, [r0, 0x2] adds r5, 0xB6 strh r0, [r5] - ldr r4, _080D8A4C @ =gUnknown_20376B0 + ldr r4, _080D8A4C @ =gPlttBufferFaded + 0xB8 adds r0, r2, 0 adds r1, r4, 0 movs r2, 0x1 @@ -2987,7 +2987,7 @@ _080D8A3C: .4byte gUnknown_2022BC8 _080D8A40: .4byte gUnknown_8D2FBB4 _080D8A44: .4byte gUnknown_2023FFC _080D8A48: .4byte gPlttBufferUnfaded -_080D8A4C: .4byte gUnknown_20376B0 +_080D8A4C: .4byte gPlttBufferFaded + 0xB8 thumb_func_end SetPpNumbersPaletteInMoveSelection thumb_func_start GetCurrentPpToMaxPpState diff --git a/asm/evolution_graphics.s b/asm/evolution_graphics.s index dd268128f..1dafc92ea 100644 --- a/asm/evolution_graphics.s +++ b/asm/evolution_graphics.s @@ -997,8 +997,8 @@ sub_80F6080: @ 80F6080 movs r0, 0 strh r0, [r5, 0x26] bl sub_80D0474 - ldr r0, _080F60D0 @ =gUnknown_2037638 - ldr r1, _080F60D4 @ =gUnknown_2037238 + ldr r0, _080F60D0 @ =gPlttBufferFaded + 0x40 + ldr r1, _080F60D4 @ =gPlttBufferUnfaded + 0x40 movs r2, 0x30 bl CpuSet ldr r0, _080F60D8 @ =0xfff90f1c @@ -1018,8 +1018,8 @@ sub_80F6080: @ 80F6080 bx r0 .align 2, 0 _080F60CC: .4byte gTasks -_080F60D0: .4byte gUnknown_2037638 -_080F60D4: .4byte gUnknown_2037238 +_080F60D0: .4byte gPlttBufferFaded + 0x40 +_080F60D4: .4byte gPlttBufferUnfaded + 0x40 _080F60D8: .4byte 0xfff90f1c _080F60DC: .4byte 0x00007fff _080F60E0: .4byte sub_80F60E4 @@ -1159,8 +1159,8 @@ sub_80F61C0: @ 80F61C0 movs r0, 0 strh r0, [r5, 0x26] bl sub_80D0474 - ldr r0, _080F6210 @ =gUnknown_2037638 - ldr r1, _080F6214 @ =gUnknown_2037238 + ldr r0, _080F6210 @ =gPlttBufferFaded + 0x40 + ldr r1, _080F6214 @ =gPlttBufferUnfaded + 0x40 movs r2, 0x30 bl CpuSet ldr r0, _080F6218 @ =0xfff90f00 @@ -1180,8 +1180,8 @@ sub_80F61C0: @ 80F61C0 bx r0 .align 2, 0 _080F620C: .4byte gTasks -_080F6210: .4byte gUnknown_2037638 -_080F6214: .4byte gUnknown_2037238 +_080F6210: .4byte gPlttBufferFaded + 0x40 +_080F6214: .4byte gPlttBufferUnfaded + 0x40 _080F6218: .4byte 0xfff90f00 _080F621C: .4byte 0x00007fff _080F6220: .4byte sub_80F6224 @@ -1369,7 +1369,7 @@ _080F62CE: ldrb r1, [r2, 0x5] lsrs r1, 4 lsls r1, 5 - ldr r0, _080F63FC @ =gUnknown_20377F8 + ldr r0, _080F63FC @ =gPlttBufferFaded + 0x200 mov r10, r0 add r1, r10 add r0, sp, 0x4 @@ -1422,7 +1422,7 @@ _080F63EC: .4byte 0x00007fff _080F63F0: .4byte gTasks _080F63F4: .4byte gSprites _080F63F8: .4byte nullsub_86 -_080F63FC: .4byte gUnknown_20377F8 +_080F63FC: .4byte gPlttBufferFaded + 0x200 thumb_func_end sub_80F62B4 thumb_func_start sub_80F6400 diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s index 6e5466ca2..2e192824f 100644 --- a/asm/evolution_scene.s +++ b/asm/evolution_scene.s @@ -375,7 +375,7 @@ EvolutionScene: @ 80CDDF4 strh r2, [r0, 0x1C] ldr r1, _080CE0A8 @ =gUnknown_2039A20 ldr r0, [r1] - ldr r1, _080CE0D8 @ =gUnknown_2037238 + ldr r1, _080CE0D8 @ =gPlttBufferUnfaded + 0x40 adds r0, 0x4 movs r2, 0x60 bl memcpy @@ -423,7 +423,7 @@ _080CE0C8: .4byte gSprites _080CE0CC: .4byte nullsub_10 _080CE0D0: .4byte sub_80CE8DC _080CE0D4: .4byte gTasks -_080CE0D8: .4byte gUnknown_2037238 +_080CE0D8: .4byte gPlttBufferUnfaded + 0x40 _080CE0DC: .4byte nullsub_76 _080CE0E0: .4byte sub_80D0050 _080CE0E4: .4byte sub_80CE710 @@ -1748,7 +1748,7 @@ _080CECC0: bl _080CF528 _080CECCE: bl m4aMPlayAllStop - ldr r0, _080CED00 @ =gUnknown_2037238 + ldr r0, _080CED00 @ =gPlttBufferUnfaded + 0x40 ldr r1, _080CED04 @ =gUnknown_2039A20 ldr r1, [r1] adds r1, 0x4 @@ -1769,7 +1769,7 @@ _080CECCE: adds r1, r0 b _080CEFDE .align 2, 0 -_080CED00: .4byte gUnknown_2037238 +_080CED00: .4byte gPlttBufferUnfaded + 0x40 _080CED04: .4byte gUnknown_2039A20 _080CED08: .4byte gTasks _080CED0C: @@ -3085,7 +3085,7 @@ _080CF86E: ldrh r0, [r4, 0xC] movs r1, 0 bl PlayCry1 - ldr r0, _080CF894 @ =gUnknown_2037238 + ldr r0, _080CF894 @ =gPlttBufferUnfaded + 0x40 ldr r1, _080CF898 @ =gUnknown_2039A20 ldr r1, [r1] adds r1, 0x4 @@ -3094,7 +3094,7 @@ _080CF86E: b _080CFA90 .align 2, 0 _080CF890: .4byte gTasks -_080CF894: .4byte gUnknown_2037238 +_080CF894: .4byte gPlttBufferUnfaded + 0x40 _080CF898: .4byte gUnknown_2039A20 _080CF89C: bl IsCryFinished diff --git a/asm/field_weather.s b/asm/field_weather.s index 36f7941c7..77a138ad2 100644 --- a/asm/field_weather.s +++ b/asm/field_weather.s @@ -22,7 +22,7 @@ sub_8079C08: @ 8079C08 lsrs r5, 24 ldr r0, _08079CD0 @ =gUnknown_83C2CE0 lsls r1, r5, 5 - ldr r2, _08079CD4 @ =gUnknown_20373F8 + ldr r2, _08079CD4 @ =gPlttBufferUnfaded + 0x200 adds r1, r2 ldr r2, _08079CD8 @ =0x04000008 bl CpuSet @@ -101,7 +101,7 @@ _08079CC4: .align 2, 0 _08079CCC: .4byte Task_WeatherMain _08079CD0: .4byte gUnknown_83C2CE0 -_08079CD4: .4byte gUnknown_20373F8 +_08079CD4: .4byte gPlttBufferUnfaded + 0x200 _08079CD8: .4byte 0x04000008 _08079CDC: .4byte gUnknown_2037F34 _08079CE0: .4byte 0x000006d5 diff --git a/asm/intro.s b/asm/intro.s index 45f4c6e1d..b3fe5a30c 100644 --- a/asm/intro.s +++ b/asm/intro.s @@ -2477,7 +2477,7 @@ _080EDA1C: ldr r2, _080EDA50 @ =0x00007fff adds r0, r2, 0 strh r0, [r1] - ldr r1, _080EDA54 @ =gUnknown_2037218 + ldr r1, _080EDA54 @ =gPlttBufferUnfaded + 0x20 ldr r2, _080EDA58 @ =0x01000020 add r0, sp, 0x4 bl CpuSet @@ -2492,7 +2492,7 @@ _080EDA1C: b _080EDA6E .align 2, 0 _080EDA50: .4byte 0x00007fff -_080EDA54: .4byte gUnknown_2037218 +_080EDA54: .4byte gPlttBufferUnfaded + 0x20 _080EDA58: .4byte 0x01000020 _080EDA5C: ldr r0, _080EDA78 @ =gPaletteFade diff --git a/asm/map_name_popup.s b/asm/map_name_popup.s index 3c67e682a..275c9f0a7 100644 --- a/asm/map_name_popup.s +++ b/asm/map_name_popup.s @@ -348,7 +348,7 @@ _080983B4: .4byte 0x00ffffff _080983B8: movs r0, 0x3 bl stdpal_get - ldr r1, _080983FC @ =gUnknown_2037398 + ldr r1, _080983FC @ =gPlttBufferUnfaded + 0x1A0 movs r2, 0x10 bl CpuSet _080983C6: @@ -374,7 +374,7 @@ _080983C6: pop {r1} bx r1 .align 2, 0 -_080983FC: .4byte gUnknown_2037398 +_080983FC: .4byte gPlttBufferUnfaded + 0x1A0 thumb_func_end sub_8098340 thumb_func_start sub_8098400 diff --git a/asm/party_menu.s b/asm/party_menu.s index 9754bb605..89121fe61 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -739,7 +739,7 @@ sub_811F03C: @ 811F03C push {r4,r5,lr} adds r4, r0, 0 lsls r4, 28 - ldr r5, _0811F068 @ =gUnknown_2037258 + ldr r5, _0811F068 @ =gPlttBufferUnfaded + 0x60 lsrs r4, 23 adds r1, r5, 0 subs r1, 0x60 @@ -757,7 +757,7 @@ sub_811F03C: @ 811F03C pop {r0} bx r0 .align 2, 0 -_0811F068: .4byte gUnknown_2037258 +_0811F068: .4byte gPlttBufferUnfaded + 0x60 _0811F06C: .4byte gPlttBufferFaded thumb_func_end sub_811F03C diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 04dae118c..e76a6bcc2 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -12030,7 +12030,7 @@ _08091924: adds r1, r2 ldrb r1, [r1] lsls r1, 6 - ldr r2, _08091964 @ =gUnknown_2037278 + ldr r2, _08091964 @ =gPlttBufferUnfaded + 0x80 adds r1, r2 movs r2, 0x20 bl CpuSet @@ -12055,7 +12055,7 @@ _08091938: bx r0 .align 2, 0 _08091960: .4byte 0x000002d2 -_08091964: .4byte gUnknown_2037278 +_08091964: .4byte gPlttBufferUnfaded + 0x80 _08091968: .4byte gUnknown_20397B0 thumb_func_end sub_8091850 diff --git a/asm/title_screen.s b/asm/title_screen.s index 9e12dfbff..de70452ff 100644 --- a/asm/title_screen.s +++ b/asm/title_screen.s @@ -577,7 +577,7 @@ _08078DF2: bgt _08078E02 b _08078FB6 _08078E02: - ldr r0, _08078E20 @ =gUnknown_2037398 + ldr r0, _08078E20 @ =gPlttBufferUnfaded + 0x1A0 movs r1, 0x10 bl TintPalette_GrayScale2 movs r0, 0x80 @@ -590,7 +590,7 @@ _08078E02: bl BeginNormalPaletteFade b _08078F80 .align 2, 0 -_08078E20: .4byte gUnknown_2037398 +_08078E20: .4byte gPlttBufferUnfaded + 0x1A0 _08078E24: ldr r0, _08078E3C @ =gPaletteFade ldrb r1, [r0, 0x7] @@ -749,7 +749,7 @@ _08078F24: movs r0, 0 bl ShowBg ldr r0, _08078F90 @ =gUnknown_8EAD5E8 - ldr r1, _08078F94 @ =gUnknown_2037398 + ldr r1, _08078F94 @ =gPlttBufferUnfaded + 0x1A0 movs r2, 0x10 bl CpuSet movs r0, 0x80 @@ -772,7 +772,7 @@ _08078F80: _08078F88: .4byte 0x00001fff _08078F8C: .4byte 0x00007fde _08078F90: .4byte gUnknown_8EAD5E8 -_08078F94: .4byte gUnknown_2037398 +_08078F94: .4byte gPlttBufferUnfaded + 0x1A0 _08078F98: movs r0, 0 bl sub_807185C diff --git a/sym_ewram.txt b/sym_ewram.txt index dd96b15fd..a399afa95 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -762,46 +762,10 @@ gUnknown_2037108: @ 2037108 .space 0xF0 gPlttBufferUnfaded: @ 20371F8 - .space 0x2 - -gUnknown_20371FA: @ 20371FA - .space 0x1E - -gUnknown_2037218: @ 2037218 - .space 0x20 - -gUnknown_2037238: @ 2037238 - .space 0x20 - -gUnknown_2037258: @ 2037258 - .space 0x20 - -gUnknown_2037278: @ 2037278 - .space 0x120 - -gUnknown_2037398: @ 2037398 - .space 0x60 - -gUnknown_20373F8: @ 20373F8 - .space 0x10 - -gUnknown_2037408: @ 2037408 - .space 0x1F0 + .space 0x400 gPlttBufferFaded: @ 20375F8 - .space 0x2 - -gUnknown_20375FA: @ 20375FA - .space 0x3E - -gUnknown_2037638: @ 2037638 - .space 0x78 - -gUnknown_20376B0: @ 20376B0 - .space 0x148 - -gUnknown_20377F8: @ 20377F8 - .space 0x200 + .space 0x400 gUnknown_20379F8: @ 20379F8 .space 0xC0 From 0e8180b9bbf657a1c87d4be3ee559cd4115983c0 Mon Sep 17 00:00:00 2001 From: paul Date: Fri, 12 Oct 2018 23:24:19 +0200 Subject: [PATCH 036/222] clean up/redo previous labels --- asm/battle_1.s | 8 +- asm/egg_hatch.s | 4 +- asm/pokeball.s | 4 +- asm/trade.s | 4 +- data/graphics.s | 965 +++++++++++------------------------------------- 5 files changed, 229 insertions(+), 756 deletions(-) diff --git a/asm/battle_1.s b/asm/battle_1.s index 7ef803c32..cb1f6817c 100644 --- a/asm/battle_1.s +++ b/asm/battle_1.s @@ -298,7 +298,7 @@ LoadBattleTextboxAndBackground: @ 800F420 movs r1, 0xC0 lsls r1, 19 bl LZDecompressVram - ldr r1, _0800F458 @ =gMenuMapBin + ldr r1, _0800F458 @ =gFile_graphics_interface_menu_map_tilemap movs r0, 0 movs r2, 0 movs r3, 0 @@ -315,7 +315,7 @@ LoadBattleTextboxAndBackground: @ 800F420 bx r0 .align 2, 0 _0800F454: .4byte gUnknown_8D00000 -_0800F458: .4byte gMenuMapBin +_0800F458: .4byte gFile_graphics_interface_menu_map_tilemap _0800F45C: .4byte gUnknown_8D004D8 thumb_func_end LoadBattleTextboxAndBackground @@ -1393,7 +1393,7 @@ _0800FCEC: .align 2, 0 _0800FCF8: .4byte gUnknown_8D00000 _0800FCFC: - ldr r1, _0800FD10 @ =gMenuMapBin + ldr r1, _0800FD10 @ =gFile_graphics_interface_menu_map_tilemap movs r0, 0 movs r2, 0 movs r3, 0 @@ -1402,7 +1402,7 @@ _0800FCFC: bl CopyBgTilemapBufferToVram b _0800FD94 .align 2, 0 -_0800FD10: .4byte gMenuMapBin +_0800FD10: .4byte gFile_graphics_interface_menu_map_tilemap _0800FD14: ldr r0, _0800FD20 @ =gUnknown_8D004D8 movs r1, 0 diff --git a/asm/egg_hatch.s b/asm/egg_hatch.s index 884308c52..f18f3101d 100644 --- a/asm/egg_hatch.s +++ b/asm/egg_hatch.s @@ -648,7 +648,7 @@ _08047174: movs r2, 0 movs r3, 0 bl sub_80F696C - ldr r1, _080471A0 @ =gMenuMapBin + ldr r1, _080471A0 @ =gFile_graphics_interface_menu_map_tilemap movs r0, 0 movs r2, 0 movs r3, 0 @@ -660,7 +660,7 @@ _08047174: b _0804724A .align 2, 0 _0804719C: .4byte gUnknown_8D00000 -_080471A0: .4byte gMenuMapBin +_080471A0: .4byte gFile_graphics_interface_menu_map_tilemap _080471A4: .4byte gUnknown_8D004D8 _080471A8: ldr r0, _080471BC @ =gUnknown_826011C diff --git a/asm/pokeball.s b/asm/pokeball.s index a60a05040..11572c80f 100644 --- a/asm/pokeball.s +++ b/asm/pokeball.s @@ -2811,7 +2811,7 @@ _0804BF2C: bl GetSpriteTileStartByTag adds r1, r0, 0 lsls r1, 16 - ldr r0, _0804BF5C @ =gBallOpen4bpp + ldr r0, _0804BF5C @ =gFile_graphics_interface_ball_Open_sheet lsrs r1, 11 ldr r2, _0804BF60 @ =0x06010100 adds r1, r2 @@ -2824,7 +2824,7 @@ _0804BF48: _0804BF50: .4byte gUnknown_826056C _0804BF54: .4byte 0xffff0000 _0804BF58: .4byte gUnknown_82605CC -_0804BF5C: .4byte gBallOpen4bpp +_0804BF5C: .4byte gFile_graphics_interface_ball_Open_sheet _0804BF60: .4byte 0x06010100 thumb_func_end LoadBallGfx diff --git a/asm/trade.s b/asm/trade.s index 967e0f1fa..8a2041e5e 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -7850,7 +7850,7 @@ sub_80504CC: @ 80504CC movs r2, 0 movs r3, 0 bl sub_80F696C - ldr r0, _080505BC @ =gMenuMapBin + ldr r0, _080505BC @ =gFile_graphics_interface_menu_map_tilemap mov r8, r0 ldr r4, _080505C0 @ =gUnknown_201C000 adds r1, r4, 0 @@ -7897,7 +7897,7 @@ sub_80504CC: @ 80504CC .align 2, 0 _080505B4: .4byte gUnknown_826D1D4 _080505B8: .4byte gUnknown_8D00000 -_080505BC: .4byte gMenuMapBin +_080505BC: .4byte gFile_graphics_interface_menu_map_tilemap _080505C0: .4byte gUnknown_201C000 _080505C4: .4byte gUnknown_8D004D8 _080505C8: .4byte gUnknown_826D1BC diff --git a/data/graphics.s b/data/graphics.s index 64d7f94ec..b99fece55 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -7,9 +7,9 @@ gUnknown_8D004D8:: @ 8D004D8 .incbin "baserom.gba", 0xD004D8, 0x44 .align 2 -gMenuMapBin:: @ 8D0051C +gFile_graphics_interface_menu_map_tilemap:: @ 8D0051C .incbin "graphics/interface/menu_map.bin.lz" - + .align 2 gUnknown_8D00748:: @ 8D00748 .incbin "baserom.gba", 0xD00748, 0x488 @@ -23,519 +23,519 @@ gUnknown_8D00BE8:: @ 8D00BE8 .incbin "graphics/pokemon/palettes/circled_question_mark_shiny_palette.gbapal.lz" .align 2 -gOldCharmap4bpp:: @ 8D00C00 +gFile_graphics_unused_old_charmap_sheet:: @ 8D00C00 .incbin "graphics/unused/old_charmap.4bpp.lz" @from ruby - + .align 2 -gOldCharmapBin:: @ 8D013D8 +gFile_graphics_unused_old_charmap_tilemap:: @ 8D013D8 .incbin "graphics/unused/old_charmap.bin.lz" @from ruby - + .align 2 -gOldCharmapGbapal:: @ 8D01604 +gFile_graphics_unused_old_charmap_palette:: @ 8D01604 .incbin "graphics/unused/old_charmap.gbapal.lz" @from ruby - + .align 2 -gSmokescreenImpact4bpp:: @ 8D0162C +gFile_graphics_battle_anims_sprites_smokescreen_impact_sheet:: @ 8D0162C .incbin "graphics/battle_anims/sprites/smokescreen_impact.4bpp.lz" - + .align 2 -gSmokescreenImpactGbapal:: @ 8D0170C +gFile_graphics_battle_anims_sprites_smokescreen_impact_palette:: @ 8D0170C .incbin "graphics/battle_anims/sprites/smokescreen_impact.gbapal.lz" - + .align 2 -gBallPoke4bpp:: @ 8D01724 +gFile_graphics_interface_ball_Poke_sheet:: @ 8D01724 .incbin "graphics/interface/ball/poke.4bpp.lz" - + .align 2 -gBallPokeGbaPal:: @ 8D017E0 +gFile_graphics_interface_ball_Poke_palette:: @ 8D017E0 .incbin "graphics/interface/ball/poke.gbapal.lz" - + .align 2 -gBallGreat4bpp:: @ 8D01800 +gFile_graphics_interface_ball_Great_sheet:: @ 8D01800 .incbin "graphics/interface/ball/great.4bpp.lz" - + .align 2 -gBallGreatGbapal:: @ 8D018BC +gFile_graphics_interface_ball_Great_palette:: @ 8D018BC .incbin "graphics/interface/ball/great.gbapal.lz" - + .align 2 -gBallSafari4bpp:: @ 8D018E0 +gFile_graphics_interface_ball_Safari_sheet:: @ 8D018E0 .incbin "graphics/interface/ball/safari.4bpp.lz" - + .align 2 -gBallSafariGbapal:: @ 8D019A4 +gFile_graphics_interface_ball_Safari_palette:: @ 8D019A4 .incbin "graphics/interface/ball/safari.gbapal.lz" - + .align 2 -gBallUltra4bpp:: @ 8D019C8 +gFile_graphics_interface_ball_Ultra_sheet:: @ 8D019C8 .incbin "graphics/interface/ball/ultra.4bpp.lz" - + .align 2 -gBallUltraGbapal:: @ 8D01A7C +gFile_graphics_interface_ball_Ultra_palette:: @ 8D01A7C .incbin "graphics/interface/ball/ultra.gbapal.lz" - + .align 2 -gBallMaster4bpp:: @ 8D01A9C +gFile_graphics_interface_ball_Master_sheet:: @ 8D01A9C .incbin "graphics/interface/ball/master.4bpp.lz" - + .align 2 -gBallMasterGbapal:: @ 8D01B5C +gFile_graphics_interface_ball_Master_palette:: @ 8D01B5C .incbin "graphics/interface/ball/master.gbapal.lz" - + .align 2 -gBallNet4bpp:: @ 8D01B80 +gFile_graphics_interface_ball_Net_sheet:: @ 8D01B80 .incbin "graphics/interface/ball/net.4bpp.lz" - + .align 2 -gBallNetGbapal:: @ 8D01C40 +gFile_graphics_interface_ball_Net_palette:: @ 8D01C40 .incbin "graphics/interface/ball/net.gbapal.lz" - + .align 2 -gBallDive4bpp:: @ 8D01C60 +gFile_graphics_interface_ball_Dive_sheet:: @ 8D01C60 .incbin "graphics/interface/ball/dive.4bpp.lz" - + .align 2 -gBallDiveGbapal:: @ 8D01D74 +gFile_graphics_interface_ball_Dive_palette:: @ 8D01D74 .incbin "graphics/interface/ball/dive.gbapal.lz" - + .align 2 -gBallNest4bpp:: @ 8D01D9C +gFile_graphics_interface_ball_Nest_sheet:: @ 8D01D9C .incbin "graphics/interface/ball/nest.4bpp.lz" - + .align 2 -gBallNestGbapal:: @ 8D01E60 +gFile_graphics_interface_ball_Nest_palette:: @ 8D01E60 .incbin "graphics/interface/ball/nest.gbapal.lz" - + .align 2 -gBallRepeat4bpp:: @ 8D01E84 +gFile_graphics_interface_ball_Repeat_sheet:: @ 8D01E84 .incbin "graphics/interface/ball/repeat.4bpp.lz" - + .align 2 -gBallRepeatGbapal:: @ 8D01F44 +gFile_graphics_interface_ball_Repeat_palette:: @ 8D01F44 .incbin "graphics/interface/ball/repeat.gbapal.lz" - + .align 2 -gBallTimer4bpp:: @ 8D01F68 +gFile_graphics_interface_ball_Timer_sheet:: @ 8D01F68 .incbin "graphics/interface/ball/timer.4bpp.lz" - + .align 2 -gBallTimerGbapal:: @ 8D02060 +gFile_graphics_interface_ball_Timer_palette:: @ 8D02060 .incbin "graphics/interface/ball/timer.gbapal.lz" - + .align 2 -gBallLuxury4bpp:: @ 8D02084 +gFile_graphics_interface_ball_Luxury_sheet:: @ 8D02084 .incbin "graphics/interface/ball/luxury.4bpp.lz" - + .align 2 -gBallLuxuryGbapal:: @ 8D021B0 +gFile_graphics_interface_ball_Luxury_palette:: @ 8D021B0 .incbin "graphics/interface/ball/luxury.gbapal.lz" - + .align 2 -gBallPremier4bpp:: @ 8D021D8 +gFile_graphics_interface_ball_Premier_sheet:: @ 8D021D8 .incbin "graphics/interface/ball/premier.4bpp.lz" - + .align 2 -gBallPremierGbapal:: @ 8D022C8 +gFile_graphics_interface_ball_Premier_palette:: @ 8D022C8 .incbin "graphics/interface/ball/premier.gbapal.lz" - + .align 2 -gBallOpen4bpp:: @ 8D022E8 +gFile_graphics_interface_ball_Open_sheet:: @ 8D022E8 .incbin "graphics/interface/ball_open.4bpp.lz" - + .align 2 -gBlank4bpp:: @ 8D02364 +gFile_graphics_interface_blank_sheet:: @ 8D02364 .incbin "graphics/interface/blank.4bpp.lz" - + .align 2 -gSprite1464bpp:: @ 8D02460 +gFile_graphics_battle_anims_sprites_146_sheet:: @ 8D02460 .incbin "graphics/battle_anims/sprites/146.4bpp.lz" - + .align 2 -gSprite0004bpp:: @ 8D02520 +gFile_graphics_battle_anims_sprites_000_sheet:: @ 8D02520 .incbin "graphics/battle_anims/sprites/000.4bpp.lz" - + .align 2 -gSprite0034bpp:: @ 8D025D0 +gFile_graphics_battle_anims_sprites_003_sheet:: @ 8D025D0 .incbin "graphics/battle_anims/sprites/003.4bpp.lz" - + .align 2 -gSprite0044bpp:: @ 8D02644 +gFile_graphics_battle_anims_sprites_004_sheet:: @ 8D02644 .incbin "graphics/battle_anims/sprites/004.4bpp.lz" - + .align 2 -gSprite0054bpp:: @ 8D026F4 +gFile_graphics_battle_anims_sprites_005_sheet:: @ 8D026F4 .incbin "graphics/battle_anims/sprites/005.4bpp.lz" - + .align 2 -gSprite0064bpp:: @ 8D027C8 +gFile_graphics_battle_anims_sprites_006_sheet:: @ 8D027C8 .incbin "graphics/battle_anims/sprites/006.4bpp.lz" - + .align 2 -gSprite115Gbapal:: @ 8D02894 +gFile_graphics_battle_anims_sprites_115_palette:: @ 8D02894 .incbin "graphics/battle_anims/sprites/115.gbapal.lz" - + .align 2 -gSprite000Gbapal:: @ 8D028B4 +gFile_graphics_battle_anims_sprites_000_palette:: @ 8D028B4 .incbin "graphics/battle_anims/sprites/000.gbapal.lz" - + .align 2 -gSprite003Gbapal:: @ 8D028D8 +gFile_graphics_battle_anims_sprites_003_palette:: @ 8D028D8 .incbin "graphics/battle_anims/sprites/003.gbapal.lz" - + .align 2 -gSprite004Gbapal:: @ 8D02900 +gFile_graphics_battle_anims_sprites_004_palette:: @ 8D02900 .incbin "graphics/battle_anims/sprites/004.gbapal.lz" - + .align 2 -gSprite005Gbapal:: @ 8D02914 +gFile_graphics_battle_anims_sprites_005_palette:: @ 8D02914 .incbin "graphics/battle_anims/sprites/005.gbapal.lz" - + .align 2 -gSprite006Gbapal:: @ 8D0293C +gFile_graphics_battle_anims_sprites_006_palette:: @ 8D0293C .incbin "graphics/battle_anims/sprites/006.gbapal.lz" - + .align 2 -gSprite1614bpp:: @ 8D02964 +gFile_graphics_battle_anims_sprites_161_sheet:: @ 8D02964 .incbin "graphics/battle_anims/sprites/161.4bpp.lz" - + .align 2 -gSprite161Gbapal:: @ 8D0298C +gFile_graphics_battle_anims_sprites_161_palette:: @ 8D0298C .incbin "graphics/battle_anims/sprites/161.gbapal.lz" - + .align 2 -gSprite0074bpp:: @ 8D029B4 +gFile_graphics_battle_anims_sprites_007_sheet:: @ 8D029B4 .incbin "graphics/battle_anims/sprites/007.4bpp.lz" - + .align 2 -gSprite0074Gbapal:: @ 8D02B30 +gFile_graphics_battle_anims_sprites_007_palette:: @ 8D02B30 .incbin "graphics/battle_anims/sprites/007.gbapal.lz" - + .align 2 -gSprite0084bpp:: @ 8D02B50 +gFile_graphics_battle_anims_sprites_008_sheet:: @ 8D02B50 .incbin "graphics/battle_anims/sprites/008.4bpp.lz" - + .align 2 -gSprite008Gbapal:: @ 8D02B70 +gFile_graphics_battle_anims_sprites_008_palette:: @ 8D02B70 .incbin "graphics/battle_anims/sprites/008.gbapal.lz" - + .align 2 -gSprite010Gbapal:: @ 8D02B8C +gFile_graphics_battle_anims_sprites_010_palette:: @ 8D02B8C .incbin "graphics/battle_anims/sprites/010.gbapal.lz" - + .align 2 -gSprite0104bpp:: @ 8D02BAC +gFile_graphics_battle_anims_sprites_010_sheet:: @ 8D02BAC .incbin "graphics/battle_anims/sprites/010.4bpp.lz" - + .align 2 -gSprite0094bpp:: @ 8D02F8C +gFile_graphics_battle_anims_sprites_009_sheet:: @ 8D02F8C .incbin "graphics/battle_anims/sprites/009.4bpp.lz" - + .align 2 -gSprite009Gbapal:: @ 8D03274 +gFile_graphics_battle_anims_sprites_009_palette:: @ 8D03274 .incbin "graphics/battle_anims/sprites/009.gbapal.lz" .align 2 -gSprite0114bpp:: @ 8D03294 +gFile_graphics_battle_anims_sprites_011_sheet:: @ 8D03294 .incbin "graphics/battle_anims/sprites/011.4bpp.lz" - + .align 2 -gSprite011Gbapal:: @ 8D0330C +gFile_graphics_battle_anims_sprites_011_palette:: @ 8D0330C .incbin "graphics/battle_anims/sprites/011.gbapal.lz" - + .align 2 -gSprite0124bpp:: @ 8D03334 +gFile_graphics_battle_anims_sprites_012_sheet:: @ 8D03334 .incbin "graphics/battle_anims/sprites/012.4bpp.lz" - + .align 2 -gSprite012Gbapal:: @ 8D0339C +gFile_graphics_battle_anims_sprites_012_palette:: @ 8D0339C .incbin "graphics/battle_anims/sprites/012.gbapal.lz" - + .align 2 -gSprite1524bpp:: @ 8D033B4 +gFile_graphics_battle_anims_sprites_152_sheet:: @ 8D033B4 .incbin "graphics/battle_anims/sprites/152.4bpp.lz" - + .align 2 -gSprite152Gbapal:: @ 8D033FC +gFile_graphics_battle_anims_sprites_152_palette:: @ 8D033FC .incbin "graphics/battle_anims/sprites/152.gbapal.lz" - + .align 2 -gSprite0134bpp:: @ 8D03420 +gFile_graphics_battle_anims_sprites_013_sheet:: @ 8D03420 .incbin "graphics/battle_anims/sprites/013.4bpp.lz" - + .align 2 -gSprite013Gbapal:: @ 8D03454 +gFile_graphics_battle_anims_sprites_013_palette:: @ 8D03454 .incbin "graphics/battle_anims/sprites/013.gbapal.lz" - + .align 2 -gSprite0154bpp:: @ 8D0346C +gFile_graphics_battle_anims_sprites_015_sheet:: @ 8D0346C .incbin "graphics/battle_anims/sprites/015.4bpp.lz" - + .align 2 -gSprite015Gbapal:: @ 8D034D8 +gFile_graphics_battle_anims_sprites_015_palette:: @ 8D034D8 .incbin "graphics/battle_anims/sprites/015.gbapal.lz" - + .align 2 -gSprite0164bpp:: @ 8D03500 +gFile_graphics_battle_anims_sprites_016_sheet:: @ 8D03500 .incbin "graphics/battle_anims/sprites/016.4bpp.lz" - + .align 2 -gSprite016Gbapal:: @ 8D03570 +gFile_graphics_battle_anims_sprites_016_palette:: @ 8D03570 .incbin "graphics/battle_anims/sprites/016.gbapal.lz" - + .align 2 -gSprite0174bpp:: @ 8D03580 +gFile_graphics_battle_anims_sprites_017_sheet:: @ 8D03580 .incbin "graphics/battle_anims/sprites/017.4bpp.lz" - + .align 2 -gUnknown_8D035A0:: @ 8D035A0 +gFile_graphics_unknown_Unknown_8D035A0_sheet:: @ 8D035A0 .incbin "graphics/unknown/unknown_D035A0.4bpp.lz" - + .align 2 -gSprite019Gbapal:: @ 8D035C4 +gFile_graphics_battle_anims_sprites_019_palette:: @ 8D035C4 .incbin "graphics/battle_anims/sprites/019.gbapal.lz" - + .align 2 -gSprite0194bpp:: @ 8D035E0 +gFile_graphics_battle_anims_sprites_019_sheet:: @ 8D035E0 .incbin "graphics/battle_anims/sprites/019.4bpp.lz" - + .align 2 -gSprite0204bpp:: @ 8D036A0 +gFile_graphics_battle_anims_sprites_020_sheet:: @ 8D036A0 .incbin "graphics/battle_anims/sprites/020.4bpp.lz" - + .align 2 -gSprite020Gbapal:: @ 8D0376C +gFile_graphics_battle_anims_sprites_020_palette:: @ 8D0376C .incbin "graphics/battle_anims/sprites/020.gbapal.lz" - + .align 2 -gSprite023Gbapal:: @ 8D03794 +gFile_graphics_battle_anims_sprites_023_palette:: @ 8D03794 .incbin "graphics/battle_anims/sprites/023.gbapal.lz" - + .align 2 -gSprite0234bpp:: @ 8D037BC +gFile_graphics_battle_anims_sprites_023_sheet:: @ 8D037BC .incbin "graphics/battle_anims/sprites/023.4bpp.lz" - + .align 2 -gSprite023UnusedGbapal:: @ 8D038C4 +gFile_graphics_unused_battle_anim_023_palette:: @ 8D038C4 .incbin "graphics/unused/battle_anim_023.gbapal.lz" - + .align 2 -gSpriteMusicNotes4bpp:: @ 8D038EC +gFile_graphics_unused_music_notes_sheet:: @ 8D038EC .incbin "graphics/unused/music_notes.4bpp.lz" - + .align 2 -gSprite021Gbapal:: @ 8D039E8 +gFile_graphics_battle_anims_sprites_021_palette:: @ 8D039E8 .incbin "graphics/battle_anims/sprites/021.gbapal.lz" - + .align 2 -gSprite0214bpp:: @ 8D03A10 +gFile_graphics_battle_anims_sprites_021_sheet:: @ 8D03A10 .incbin "graphics/battle_anims/sprites/021.4bpp.lz" - + .align 2 -gSprite022Gbapal:: @ 8D03D48 +gFile_graphics_battle_anims_sprites_022_palette:: @ 8D03D48 .incbin "graphics/battle_anims/sprites/022.gbapal.lz" - + .align 2 -gSprite025Gbapal:: @ 8D03D70 +gFile_graphics_battle_anims_sprites_025_palette:: @ 8D03D70 .incbin "graphics/battle_anims/sprites/025.gbapal.lz" - + .align 2 -gSprite0254bpp:: @ 8D03D98 +gFile_graphics_battle_anims_sprites_025_sheet:: @ 8D03D98 .incbin "graphics/battle_anims/sprites/025.4bpp.lz" - + .align 2 -gSprite0244bpp:: @ 8D03E88 +gFile_graphics_battle_anims_sprites_024_sheet:: @ 8D03E88 .incbin "graphics/battle_anims/sprites/024.4bpp.lz" - + .align 2 -gSprite024Gbapal:: @ 8D03F54 +gFile_graphics_battle_anims_sprites_024_palette:: @ 8D03F54 .incbin "graphics/battle_anims/sprites/024.gbapal.lz" - + .align 2 -gSprite0314bpp:: @ 8D03F68 +gFile_graphics_battle_anims_sprites_031_sheet:: @ 8D03F68 .incbin "graphics/battle_anims/sprites/031.4bpp.lz" - + .align 2 -gSprite031Gbapal:: @ 8D04348 +gFile_graphics_battle_anims_sprites_031_palette:: @ 8D04348 .incbin "graphics/battle_anims/sprites/031.gbapal.lz" - + .align 2 -gSprite032Gbapal:: @ 8D04368 +gFile_graphics_battle_anims_sprites_032_palette:: @ 8D04368 .incbin "graphics/battle_anims/sprites/032.gbapal.lz" - + .align 2 -gSprite0324bpp:: @ 8D04390 +gFile_graphics_battle_anims_sprites_032_sheet:: @ 8D04390 .incbin "graphics/battle_anims/sprites/032.4bpp.lz" - + .align 2 -gSprite0264bpp:: @ 8D0447C +gFile_graphics_battle_anims_sprites_026_sheet:: @ 8D0447C .incbin "graphics/battle_anims/sprites/026.4bpp.lz" - + .align 2 -gSprite026Gbapal:: @ 8D047B4 +gFile_graphics_battle_anims_sprites_026_palette:: @ 8D047B4 .incbin "graphics/battle_anims/sprites/026.gbapal.lz" - + .align 2 -gSprite027Gbapal:: @ 8D047DC +gFile_graphics_battle_anims_sprites_027_palette:: @ 8D047DC .incbin "graphics/battle_anims/sprites/027.gbapal.lz" - + .align 2 -gSprite0274bpp:: @ 8D04804 +gFile_graphics_battle_anims_sprites_027_sheet:: @ 8D04804 .incbin "graphics/battle_anims/sprites/027.4bpp.lz" .align 2 -gSprite028Gbapal:: @ 8D04B00 +gFile_graphics_battle_anims_sprites_028_palette:: @ 8D04B00 .incbin "graphics/battle_anims/sprites/028.gbapal.lz" .align 2 -gSprite0284bpp:: @ 8D04B28 +gFile_graphics_battle_anims_sprites_028_sheet:: @ 8D04B28 .incbin "graphics/battle_anims/sprites/028.4bpp.lz" .align 2 -gSprite0294bpp:: @ 8D04E78 +gFile_graphics_battle_anims_sprites_029_sheet:: @ 8D04E78 .incbin "graphics/battle_anims/sprites/029.4bpp.lz" .align 2 -gSprite029Gbapal:: @ 8D05130 +gFile_graphics_battle_anims_sprites_029_palette:: @ 8D05130 .incbin "graphics/battle_anims/sprites/029.gbapal.lz" .align 2 -gSprite0304bpp:: @ 8D05158 +gFile_graphics_battle_anims_sprites_030_sheet:: @ 8D05158 .incbin "graphics/battle_anims/sprites/030.4bpp.lz" .align 2 -gSprite030Gbapal:: @ 8D05518 +gFile_graphics_battle_anims_sprites_030_palette:: @ 8D05518 .incbin "graphics/battle_anims/sprites/030.gbapal.lz" .align 2 -gSprite033Gbapal:: @ 8D0553C +gFile_graphics_battle_anims_sprites_033_palette:: @ 8D0553C .incbin "graphics/battle_anims/sprites/033.gbapal.lz" .align 2 -gSprite0334bpp:: @ 8D05564 +gFile_graphics_battle_anims_sprites_033_sheet:: @ 8D05564 .incbin "graphics/battle_anims/sprites/033.4bpp.lz" .align 2 -gSprite0344bpp:: @ 8D05ED4 +gFile_graphics_battle_anims_sprites_034_sheet:: @ 8D05ED4 .incbin "graphics/battle_anims/sprites/034.4bpp.lz" .align 2 -gSprite0354bpp:: @ 8D062A0 +gFile_graphics_battle_anims_sprites_035_sheet:: @ 8D062A0 .incbin "graphics/battle_anims/sprites/035.4bpp.lz" .align 2 -gSprite036Gbapal:: @ 8D06638 +gFile_graphics_battle_anims_sprites_036_palette:: @ 8D06638 .incbin "graphics/battle_anims/sprites/036.gbapal.lz" .align 2 -gSprite0364bpp:: @ 8D06660 +gFile_graphics_battle_anims_sprites_036_sheet:: @ 8D06660 .incbin "graphics/battle_anims/sprites/036.4bpp.lz" .align 2 -gSprite0374bpp:: @ 8D06A34 +gFile_graphics_battle_anims_sprites_037_sheet:: @ 8D06A34 .incbin "graphics/battle_anims/sprites/037.4bpp.lz" .align 2 -gUnknown_D06D804bpp:: @ 8D06D80 +gFile_graphics_unknown_unknown_D06D80_sheet:: @ 8D06D80 .incbin "graphics/unknown/unknown_D06D80.4bpp.lz" .align 2 -gUnknown_D06D80Gbapal:: @ 8D06DC4 +gFile_graphics_unknown_unknown_D06D80_palette:: @ 8D06DC4 .incbin "graphics/unknown/unknown_D06D80.gbapal.lz" .align 2 -gUnknown_D06D80Gbapal2:: @ 8D06DD8 +gFile_graphics_unknown_unknown_D06D80_2_palette:: @ 8D06DD8 .incbin "graphics/unknown/unknown_D06D80_2.gbapal.lz" .align 2 -gUnusedObi14bpp:: @ 8D06E0C +gFile_graphics_unused_obi1_sheet:: @ 8D06E0C .incbin "graphics/unused/obi1.4bpp.lz" .align 2 -gUnusedObiPalpak1Gbapal:: @ 8D07170 +gFile_graphics_unused_obi_palpak1_palette:: @ 8D07170 .incbin "graphics/unused/obi_palpak1.gbapal.lz" .align 2 -gUnusedOldPal4Gbapal:: @ 8D071B4 +gFile_graphics_unused_old_pal4_palette:: @ 8D071B4 .incbin "graphics/unused/old_pal4.gbapal.lz" .align 2 -gUnusedObiPalpak3Gbapal:: @ 8D071CC +gFile_graphics_unused_obi_palpak3_palette:: @ 8D071CC .incbin "graphics/unused/obi_palpak3.gbapal.lz" .align 2 -gUnusedObi24bpp:: @ 8D07224 +gFile_graphics_unused_obi2_sheet:: @ 8D07224 .incbin "graphics/unused/obi2.4bpp.lz" .align 2 -gUnusedOldBattleInterfaceTilemapBin:: @ 8D077EC +gFile_graphics_unused_old_battle_interface_tilemap:: @ 8D077EC .incbin "graphics/unused/old_battle_interface_tilemap.bin.lz" .align 2 -gSprite038Gbapal:: @ 8D078FC +gFile_graphics_battle_anims_sprites_038_palette:: @ 8D078FC .incbin "graphics/battle_anims/sprites/038.gbapal.lz" .align 2 -gSprite039Gbapal:: @ 8D07924 +gFile_graphics_battle_anims_sprites_039_palette:: @ 8D07924 .incbin "graphics/battle_anims/sprites/039.gbapal.lz" .align 2 -gSprite0384bpp:: @ 8D0794C +gFile_graphics_battle_anims_sprites_038_sheet:: @ 8D0794C .incbin "graphics/battle_anims/sprites/038.4bpp.lz" .align 2 -gSprite0394bpp:: @ 8D07B70 +gFile_graphics_battle_anims_sprites_039_sheet:: @ 8D07B70 .incbin "graphics/battle_anims/sprites/039.4bpp.lz" .align 2 -gSprite0404bpp:: @ 8D07E6C +gFile_graphics_battle_anims_sprites_040_sheet:: @ 8D07E6C .incbin "graphics/battle_anims/sprites/040.4bpp.lz" .align 2 -gSprite0414bpp:: @ 8D08078 +gFile_graphics_battle_anims_sprites_041_sheet:: @ 8D08078 .incbin "graphics/battle_anims/sprites/041.4bpp.lz" .align 2 -gIntefacePartyMenuHpBar4bpp:: @ 8D08218 +gFile_graphics_interface_party_menu_hpbar_sheet:: @ 8D08218 .incbin "graphics/interface/party_menu_hpbar.4bpp.lz" .align 2 -gSprite0424bpp:: @ 8D082AC +gFile_graphics_battle_anims_sprites_042_sheet:: @ 8D082AC .incbin "graphics/battle_anims/sprites/042.4bpp.lz" .align 2 -gSprite042Gbapal:: @ 8D0857C +gFile_graphics_battle_anims_sprites_042_palette:: @ 8D0857C .incbin "graphics/battle_anims/sprites/042.gbapal.lz" .align 2 -gSprite0434bpp:: @ 8D085A4 +gFile_graphics_battle_anims_sprites_043_sheet:: @ 8D085A4 .incbin "graphics/battle_anims/sprites/043.4bpp.lz" .align 2 -gSprite043Gbapal:: @ 8D089A4 +gFile_graphics_battle_anims_sprites_043_palette:: @ 8D089A4 .incbin "graphics/battle_anims/sprites/043.gbapal.lz" .align 2 -gSprite044Gbapal:: @ 8D089CC +gFile_graphics_battle_anims_sprites_044_palette:: @ 8D089CC .incbin "graphics/battle_anims/sprites/044.gbapal.lz" .align 2 -gSprite0444bpp:: @ 8D089F4 +gFile_graphics_battle_anims_sprites_044_sheet:: @ 8D089F4 .incbin "graphics/battle_anims/sprites/044.4bpp.lz" .align 2 -gSprite045Gbapal:: @ 8D08C60 +gFile_graphics_battle_anims_sprites_045_palette:: @ 8D08C60 .incbin "graphics/battle_anims/sprites/045.gbapal.lz" .align 2 -gSprite0454bpp:: @ 8D08C88 +gFile_graphics_battle_anims_sprites_045_sheet:: @ 8D08C88 .incbin "graphics/battle_anims/sprites/045.4bpp.lz" .align 2 -gBattleInterfaceUnusedWindow4bpp:: @ 8D08EF4 +gFile_graphics_battle_interface_unused_window_sheet:: @ 8D08EF4 .incbin "graphics/battle_interface/unused_window.4bpp.lz" .align 2 -gBattleInterfaceUnusedWindowGbapal:: @ 8D093B0 +gFile_graphics_battle_interface_unused_window_palette:: @ 8D093B0 .incbin "graphics/battle_interface/unused_window.gbapal.lz" ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -646,689 +646,534 @@ gUnknown_8D2EC70:: @ 8D2EC70 gUnknown_8D2FBB4:: @ 8D2FBB4 .incbin "baserom.gba", 0xD2FBB4, 0x20 - .align 2 gFile_graphics_pokemon_front_pics_bulbasaur_still_front_pic:: @ 8D2FBD4 .incbin "graphics/pokemon/front_pics/bulbasaur_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD2FBD4, 0x02A4 .align 2 gFile_graphics_pokemon_palettes_bulbasaur_palette:: @ 8D2FE78 .incbin "graphics/pokemon/palettes/bulbasaur_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD2FE78, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_bulbasaur_back_pic:: @ 8D2FEA0 .incbin "graphics/pokemon/back_pics/bulbasaur_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD2FEA0, 0x02C4 .align 2 gFile_graphics_pokemon_palettes_bulbasaur_shiny_palette:: @ 8D30164 .incbin "graphics/pokemon/palettes/bulbasaur_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD30164, 0x0028 .align 2 gFile_graphics_pokemon_icons_bulbasaur_icon:: @ 8D3018C .incbin "graphics/pokemon/icons/bulbasaur_icon.4bpp" - @ .incbin "baserom.gba", 0xD3018C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_bulbasaur_footprint:: @ 8D3058C .incbin "graphics/pokemon/footprints/bulbasaur_footprint.1bpp" - @ .incbin "baserom.gba", 0xD3058C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_ivysaur_still_front_pic:: @ 8D305AC .incbin "graphics/pokemon/front_pics/ivysaur_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD305AC, 0x033C .align 2 gFile_graphics_pokemon_palettes_ivysaur_palette:: @ 8D308E8 .incbin "graphics/pokemon/palettes/ivysaur_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD308E8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_ivysaur_back_pic:: @ 8D30910 .incbin "graphics/pokemon/back_pics/ivysaur_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD30910, 0x0354 .align 2 gFile_graphics_pokemon_palettes_ivysaur_shiny_palette:: @ 8D30C64 .incbin "graphics/pokemon/palettes/ivysaur_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD30C64, 0x0028 .align 2 gFile_graphics_pokemon_icons_ivysaur_icon:: @ 8D30C8C .incbin "graphics/pokemon/icons/ivysaur_icon.4bpp" - @ .incbin "baserom.gba", 0xD30C8C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_ivysaur_footprint:: @ 8D3108C .incbin "graphics/pokemon/footprints/ivysaur_footprint.1bpp" - @ .incbin "baserom.gba", 0xD3108C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_venusaur_still_front_pic:: @ 8D310AC .incbin "graphics/pokemon/front_pics/venusaur_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD310AC, 0x0540 .align 2 gFile_graphics_pokemon_palettes_venusaur_palette:: @ 8D315EC .incbin "graphics/pokemon/palettes/venusaur_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD315EC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_venusaur_back_pic:: @ 8D31614 .incbin "graphics/pokemon/back_pics/venusaur_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD31614, 0x04C8 .align 2 gFile_graphics_pokemon_palettes_venusaur_shiny_palette:: @ 8D31ADC .incbin "graphics/pokemon/palettes/venusaur_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD31ADC, 0x0028 .align 2 gFile_graphics_pokemon_icons_venusaur_icon:: @ 8D31B04 .incbin "graphics/pokemon/icons/venusaur_icon.4bpp" - @ .incbin "baserom.gba", 0xD31B04, 0x0400 .align 2 gFile_graphics_pokemon_footprints_venusaur_footprint:: @ 8D31F04 .incbin "graphics/pokemon/footprints/venusaur_footprint.1bpp" - @ .incbin "baserom.gba", 0xD31F04, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_charmander_still_front_pic:: @ 8D31F24 .incbin "graphics/pokemon/front_pics/charmander_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD31F24, 0x02A0 .align 2 gFile_graphics_pokemon_palettes_charmander_palette:: @ 8D321C4 .incbin "graphics/pokemon/palettes/charmander_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD321C4, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_charmander_back_pic:: @ 8D321EC .incbin "graphics/pokemon/back_pics/charmander_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD321EC, 0x0284 .align 2 gFile_graphics_pokemon_palettes_charmander_shiny_palette:: @ 8D32470 .incbin "graphics/pokemon/palettes/charmander_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD32470, 0x0028 .align 2 gFile_graphics_pokemon_icons_charmander_icon:: @ 8D32498 .incbin "graphics/pokemon/icons/charmander_icon.4bpp" - @ .incbin "baserom.gba", 0xD32498, 0x0400 .align 2 gFile_graphics_pokemon_footprints_charmander_footprint:: @ 8D32898 .incbin "graphics/pokemon/footprints/charmander_footprint.1bpp" - @ .incbin "baserom.gba", 0xD32898, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_charmeleon_still_front_pic:: @ 8D328B8 .incbin "graphics/pokemon/front_pics/charmeleon_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD328B8, 0x03AC .align 2 gFile_graphics_pokemon_palettes_charmeleon_palette:: @ 8D32C64 .incbin "graphics/pokemon/palettes/charmeleon_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD32C64, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_charmeleon_back_pic:: @ 8D32C8C .incbin "graphics/pokemon/back_pics/charmeleon_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD32C8C, 0x02F4 .align 2 gFile_graphics_pokemon_palettes_charmeleon_shiny_palette:: @ 8D32F80 .incbin "graphics/pokemon/palettes/charmeleon_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD32F80, 0x0028 .align 2 gFile_graphics_pokemon_icons_charmeleon_icon:: @ 8D32FA8 .incbin "graphics/pokemon/icons/charmeleon_icon.4bpp" - @ .incbin "baserom.gba", 0xD32FA8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_charmeleon_footprint:: @ 8D333A8 .incbin "graphics/pokemon/footprints/charmeleon_footprint.1bpp" - @ .incbin "baserom.gba", 0xD333A8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_charizard_still_front_pic:: @ 8D333C8 .incbin "graphics/pokemon/front_pics/charizard_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD333C8, 0x04FC .align 2 gFile_graphics_pokemon_palettes_charizard_palette:: @ 8D338C4 .incbin "graphics/pokemon/palettes/charizard_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD338C4, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_charizard_back_pic:: @ 8D338EC .incbin "graphics/pokemon/back_pics/charizard_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD338EC, 0x040C .align 2 gFile_graphics_pokemon_palettes_charizard_shiny_palette:: @ 8D33CF8 .incbin "graphics/pokemon/palettes/charizard_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD33CF8, 0x0028 .align 2 gFile_graphics_pokemon_icons_charizard_icon:: @ 8D33D20 .incbin "graphics/pokemon/icons/charizard_icon.4bpp" - @ .incbin "baserom.gba", 0xD33D20, 0x0400 .align 2 gFile_graphics_pokemon_footprints_charizard_footprint:: @ 8D34120 .incbin "graphics/pokemon/footprints/charizard_footprint.1bpp" - @ .incbin "baserom.gba", 0xD34120, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_squirtle_still_front_pic:: @ 8D34140 .incbin "graphics/pokemon/front_pics/squirtle_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD34140, 0x029C .align 2 gFile_graphics_pokemon_palettes_squirtle_palette:: @ 8D343DC .incbin "graphics/pokemon/palettes/squirtle_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD343DC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_squirtle_back_pic:: @ 8D34404 .incbin "graphics/pokemon/back_pics/squirtle_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD34404, 0x0288 .align 2 gFile_graphics_pokemon_palettes_squirtle_shiny_palette:: @ 8D3468C .incbin "graphics/pokemon/palettes/squirtle_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD3468C, 0x0028 .align 2 gFile_graphics_pokemon_icons_squirtle_icon:: @ 8D346B4 .incbin "graphics/pokemon/icons/squirtle_icon.4bpp" - @ .incbin "baserom.gba", 0xD346B4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_squirtle_footprint:: @ 8D34AB4 .incbin "graphics/pokemon/footprints/squirtle_footprint.1bpp" - @ .incbin "baserom.gba", 0xD34AB4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_wartortle_still_front_pic:: @ 8D34AD4 .incbin "graphics/pokemon/front_pics/wartortle_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD34AD4, 0x03AC .align 2 gFile_graphics_pokemon_palettes_wartortle_palette:: @ 8D34E80 .incbin "graphics/pokemon/palettes/wartortle_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD34E80, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_wartortle_back_pic:: @ 8D34EA8 .incbin "graphics/pokemon/back_pics/wartortle_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD34EA8, 0x0348 .align 2 gFile_graphics_pokemon_palettes_wartortle_shiny_palette:: @ 8D351F0 .incbin "graphics/pokemon/palettes/wartortle_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD351F0, 0x0028 .align 2 gFile_graphics_pokemon_icons_wartortle_icon:: @ 8D35218 .incbin "graphics/pokemon/icons/wartortle_icon.4bpp" - @ .incbin "baserom.gba", 0xD35218, 0x0400 .align 2 gFile_graphics_pokemon_footprints_wartortle_footprint:: @ 8D35618 .incbin "graphics/pokemon/footprints/wartortle_footprint.1bpp" - @ .incbin "baserom.gba", 0xD35618, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_blastoise_still_front_pic:: @ 8D35638 .incbin "graphics/pokemon/front_pics/blastoise_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD35638, 0x0504 .align 2 gFile_graphics_pokemon_palettes_blastoise_palette:: @ 8D35B3C .incbin "graphics/pokemon/palettes/blastoise_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD35B3C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_blastoise_back_pic:: @ 8D35B64 .incbin "graphics/pokemon/back_pics/blastoise_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD35B64, 0x0414 .align 2 gFile_graphics_pokemon_palettes_blastoise_shiny_palette:: @ 8D35F78 .incbin "graphics/pokemon/palettes/blastoise_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD35F78, 0x0028 .align 2 gFile_graphics_pokemon_icons_blastoise_icon:: @ 8D35FA0 .incbin "graphics/pokemon/icons/blastoise_icon.4bpp" - @ .incbin "baserom.gba", 0xD35FA0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_blastoise_footprint:: @ 8D363A0 .incbin "graphics/pokemon/footprints/blastoise_footprint.1bpp" - @ .incbin "baserom.gba", 0xD363A0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_caterpie_still_front_pic:: @ 8D363C0 .incbin "graphics/pokemon/front_pics/caterpie_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD363C0, 0x0258 .align 2 gFile_graphics_pokemon_palettes_caterpie_palette:: @ 8D36618 .incbin "graphics/pokemon/palettes/caterpie_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD36618, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_caterpie_back_pic:: @ 8D36640 .incbin "graphics/pokemon/back_pics/caterpie_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD36640, 0x0288 .align 2 gFile_graphics_pokemon_palettes_caterpie_shiny_palette:: @ 8D368C8 .incbin "graphics/pokemon/palettes/caterpie_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD368C8, 0x0028 .align 2 gFile_graphics_pokemon_icons_caterpie_icon:: @ 8D368F0 .incbin "graphics/pokemon/icons/caterpie_icon.4bpp" - @ .incbin "baserom.gba", 0xD368F0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_caterpie_footprint:: @ 8D36CF0 .incbin "graphics/pokemon/footprints/caterpie_footprint.1bpp" - @ .incbin "baserom.gba", 0xD36CF0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_metapod_still_front_pic:: @ 8D36D10 .incbin "graphics/pokemon/front_pics/metapod_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD36D10, 0x021C .align 2 gFile_graphics_pokemon_palettes_metapod_palette:: @ 8D36F2C .incbin "graphics/pokemon/palettes/metapod_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD36F2C, 0x0020 .align 2 gFile_graphics_pokemon_back_pics_metapod_back_pic:: @ 8D36F4C .incbin "graphics/pokemon/back_pics/metapod_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD36F4C, 0x021C .align 2 gFile_graphics_pokemon_palettes_metapod_shiny_palette:: @ 8D37168 .incbin "graphics/pokemon/palettes/metapod_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD37168, 0x0020 .align 2 gFile_graphics_pokemon_icons_metapod_icon:: @ 8D37188 .incbin "graphics/pokemon/icons/metapod_icon.4bpp" - @ .incbin "baserom.gba", 0xD37188, 0x0400 .align 2 gFile_graphics_pokemon_footprints_metapod_footprint:: @ 8D37588 .incbin "graphics/pokemon/footprints/metapod_footprint.1bpp" - @ .incbin "baserom.gba", 0xD37588, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_butterfree_still_front_pic:: @ 8D375A8 .incbin "graphics/pokemon/front_pics/butterfree_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD375A8, 0x0378 .align 2 gFile_graphics_pokemon_palettes_butterfree_palette:: @ 8D37920 .incbin "graphics/pokemon/palettes/butterfree_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD37920, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_butterfree_back_pic:: @ 8D37948 .incbin "graphics/pokemon/back_pics/butterfree_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD37948, 0x0404 .align 2 gFile_graphics_pokemon_palettes_butterfree_shiny_palette:: @ 8D37D4C .incbin "graphics/pokemon/palettes/butterfree_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD37D4C, 0x0028 .align 2 gFile_graphics_pokemon_icons_butterfree_icon:: @ 8D37D74 .incbin "graphics/pokemon/icons/butterfree_icon.4bpp" - @ .incbin "baserom.gba", 0xD37D74, 0x0400 .align 2 gFile_graphics_pokemon_footprints_butterfree_footprint:: @ 8D38174 .incbin "graphics/pokemon/footprints/butterfree_footprint.1bpp" - @ .incbin "baserom.gba", 0xD38174, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_weedle_still_front_pic:: @ 8D38194 .incbin "graphics/pokemon/front_pics/weedle_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD38194, 0x023C .align 2 gFile_graphics_pokemon_palettes_weedle_palette:: @ 8D383D0 .incbin "graphics/pokemon/palettes/weedle_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD383D0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_weedle_back_pic:: @ 8D383F8 .incbin "graphics/pokemon/back_pics/weedle_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD383F8, 0x0268 .align 2 gFile_graphics_pokemon_palettes_weedle_shiny_palette:: @ 8D38660 .incbin "graphics/pokemon/palettes/weedle_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD38660, 0x0028 .align 2 gFile_graphics_pokemon_icons_weedle_icon:: @ 8D38688 .incbin "graphics/pokemon/icons/weedle_icon.4bpp" - @ .incbin "baserom.gba", 0xD38688, 0x0400 .align 2 gFile_graphics_pokemon_footprints_weedle_footprint:: @ 8D38A88 .incbin "graphics/pokemon/footprints/weedle_footprint.1bpp" - @ .incbin "baserom.gba", 0xD38A88, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_kakuna_still_front_pic:: @ 8D38AA8 .incbin "graphics/pokemon/front_pics/kakuna_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD38AA8, 0x0240 .align 2 gFile_graphics_pokemon_palettes_kakuna_palette:: @ 8D38CE8 .incbin "graphics/pokemon/palettes/kakuna_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD38CE8, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_kakuna_back_pic:: @ 8D38D0C .incbin "graphics/pokemon/back_pics/kakuna_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD38D0C, 0x0284 .align 2 gFile_graphics_pokemon_palettes_kakuna_shiny_palette:: @ 8D38F90 .incbin "graphics/pokemon/palettes/kakuna_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD38F90, 0x0024 .align 2 gFile_graphics_pokemon_icons_kakuna_icon:: @ 8D38FB4 .incbin "graphics/pokemon/icons/kakuna_icon.4bpp" - @ .incbin "baserom.gba", 0xD38FB4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_kakuna_footprint:: @ 8D393B4 .incbin "graphics/pokemon/footprints/kakuna_footprint.1bpp" - @ .incbin "baserom.gba", 0xD393B4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_beedrill_still_front_pic:: @ 8D393D4 .incbin "graphics/pokemon/front_pics/beedrill_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD393D4, 0x0420 .align 2 gFile_graphics_pokemon_palettes_beedrill_palette:: @ 8D397F4 .incbin "graphics/pokemon/palettes/beedrill_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD397F4, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_beedrill_back_pic:: @ 8D3981C .incbin "graphics/pokemon/back_pics/beedrill_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD3981C, 0x0374 .align 2 gFile_graphics_pokemon_palettes_beedrill_shiny_palette:: @ 8D39B90 .incbin "graphics/pokemon/palettes/beedrill_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD39B90, 0x0028 .align 2 gFile_graphics_pokemon_icons_beedrill_icon:: @ 8D39BB8 .incbin "graphics/pokemon/icons/beedrill_icon.4bpp" - @ .incbin "baserom.gba", 0xD39BB8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_beedrill_footprint:: @ 8D39FB8 .incbin "graphics/pokemon/footprints/beedrill_footprint.1bpp" - @ .incbin "baserom.gba", 0xD39FB8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_pidgey_still_front_pic:: @ 8D39FD8 .incbin "graphics/pokemon/front_pics/pidgey_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD39FD8, 0x0278 .align 2 gFile_graphics_pokemon_palettes_pidgey_palette:: @ 8D3A250 .incbin "graphics/pokemon/palettes/pidgey_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD3A250, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_pidgey_back_pic:: @ 8D3A278 .incbin "graphics/pokemon/back_pics/pidgey_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD3A278, 0x0354 .align 2 gFile_graphics_pokemon_palettes_pidgey_shiny_palette:: @ 8D3A5CC .incbin "graphics/pokemon/palettes/pidgey_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD3A5CC, 0x0028 .align 2 gFile_graphics_pokemon_icons_pidgey_icon:: @ 8D3A5F4 .incbin "graphics/pokemon/icons/pidgey_icon.4bpp" - @ .incbin "baserom.gba", 0xD3A5F4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_pidgey_footprint:: @ 8D3A9F4 .incbin "graphics/pokemon/footprints/pidgey_footprint.1bpp" - @ .incbin "baserom.gba", 0xD3A9F4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_pidgeotto_still_front_pic:: @ 8D3AA14 .incbin "graphics/pokemon/front_pics/pidgeotto_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD3AA14, 0x0398 .align 2 gFile_graphics_pokemon_palettes_pidgeotto_palette:: @ 8D3ADAC .incbin "graphics/pokemon/palettes/pidgeotto_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD3ADAC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_pidgeotto_back_pic:: @ 8D3ADD4 .incbin "graphics/pokemon/back_pics/pidgeotto_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD3ADD4, 0x034C .align 2 gFile_graphics_pokemon_palettes_pidgeotto_shiny_palette:: @ 8D3B120 .incbin "graphics/pokemon/palettes/pidgeotto_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD3B120, 0x0028 .align 2 gFile_graphics_pokemon_icons_pidgeotto_icon:: @ 8D3B148 .incbin "graphics/pokemon/icons/pidgeotto_icon.4bpp" - @ .incbin "baserom.gba", 0xD3B148, 0x0400 .align 2 gFile_graphics_pokemon_footprints_pidgeotto_footprint:: @ 8D3B548 .incbin "graphics/pokemon/footprints/pidgeotto_footprint.1bpp" - @ .incbin "baserom.gba", 0xD3B548, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_pidgeot_still_front_pic:: @ 8D3B568 .incbin "graphics/pokemon/front_pics/pidgeot_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD3B568, 0x04EC .align 2 gFile_graphics_pokemon_palettes_pidgeot_palette:: @ 8D3BA54 .incbin "graphics/pokemon/palettes/pidgeot_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD3BA54, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_pidgeot_back_pic:: @ 8D3BA7C .incbin "graphics/pokemon/back_pics/pidgeot_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD3BA7C, 0x03E8 .align 2 gFile_graphics_pokemon_palettes_pidgeot_shiny_palette:: @ 8D3BE64 .incbin "graphics/pokemon/palettes/pidgeot_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD3BE64, 0x0028 .align 2 gFile_graphics_pokemon_icons_pidgeot_icon:: @ 8D3BE8C .incbin "graphics/pokemon/icons/pidgeot_icon.4bpp" - @ .incbin "baserom.gba", 0xD3BE8C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_pidgeot_footprint:: @ 8D3C28C .incbin "graphics/pokemon/footprints/pidgeot_footprint.1bpp" - @ .incbin "baserom.gba", 0xD3C28C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_rattata_still_front_pic:: @ 8D3C2AC .incbin "graphics/pokemon/front_pics/rattata_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD3C2AC, 0x0258 .align 2 gFile_graphics_pokemon_palettes_rattata_palette:: @ 8D3C504 .incbin "graphics/pokemon/palettes/rattata_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD3C504, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_rattata_back_pic:: @ 8D3C52C .incbin "graphics/pokemon/back_pics/rattata_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD3C52C, 0x02B8 .align 2 gFile_graphics_pokemon_palettes_rattata_shiny_palette:: @ 8D3C7E4 .incbin "graphics/pokemon/palettes/rattata_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD3C7E4, 0x0028 .align 2 gFile_graphics_pokemon_icons_rattata_icon:: @ 8D3C80C .incbin "graphics/pokemon/icons/rattata_icon.4bpp" - @ .incbin "baserom.gba", 0xD3C80C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_rattata_footprint:: @ 8D3CC0C .incbin "graphics/pokemon/footprints/rattata_footprint.1bpp" - @ .incbin "baserom.gba", 0xD3CC0C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_raticate_still_front_pic:: @ 8D3CC2C .incbin "graphics/pokemon/front_pics/raticate_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD3CC2C, 0x0390 .align 2 gFile_graphics_pokemon_palettes_raticate_palette:: @ 8D3CFBC .incbin "graphics/pokemon/palettes/raticate_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD3CFBC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_raticate_back_pic:: @ 8D3CFE4 .incbin "graphics/pokemon/back_pics/raticate_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD3CFE4, 0x0310 .align 2 gFile_graphics_pokemon_palettes_raticate_shiny_palette:: @ 8D3D2F4 .incbin "graphics/pokemon/palettes/raticate_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD3D2F4, 0x0028 .align 2 gFile_graphics_pokemon_icons_raticate_icon:: @ 8D3D31C .incbin "graphics/pokemon/icons/raticate_icon.4bpp" - @ .incbin "baserom.gba", 0xD3D31C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_raticate_footprint:: @ 8D3D71C .incbin "graphics/pokemon/footprints/raticate_footprint.1bpp" - @ .incbin "baserom.gba", 0xD3D71C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_spearow_still_front_pic:: @ 8D3D73C .incbin "graphics/pokemon/front_pics/spearow_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD3D73C, 0x02C0 .align 2 gFile_graphics_pokemon_palettes_spearow_palette:: @ 8D3D9FC .incbin "graphics/pokemon/palettes/spearow_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD3D9FC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_spearow_back_pic:: @ 8D3DA24 .incbin "graphics/pokemon/back_pics/spearow_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD3DA24, 0x02DC .align 2 gFile_graphics_pokemon_palettes_spearow_shiny_palette:: @ 8D3DD00 .incbin "graphics/pokemon/palettes/spearow_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD3DD00, 0x0028 .align 2 gFile_graphics_pokemon_icons_spearow_icon:: @ 8D3DD28 .incbin "graphics/pokemon/icons/spearow_icon.4bpp" - @ .incbin "baserom.gba", 0xD3DD28, 0x0400 .align 2 gFile_graphics_pokemon_footprints_spearow_footprint:: @ 8D3E128 .incbin "graphics/pokemon/footprints/spearow_footprint.1bpp" - @ .incbin "baserom.gba", 0xD3E128, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_fearow_still_front_pic:: @ 8D3E148 .incbin "graphics/pokemon/front_pics/fearow_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD3E148, 0x04BC .align 2 gFile_graphics_pokemon_palettes_fearow_palette:: @ 8D3E604 .incbin "graphics/pokemon/palettes/fearow_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD3E604, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_fearow_back_pic:: @ 8D3E62C .incbin "graphics/pokemon/back_pics/fearow_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD3E62C, 0x02F8 .align 2 gFile_graphics_pokemon_palettes_fearow_shiny_palette:: @ 8D3E924 .incbin "graphics/pokemon/palettes/fearow_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD3E924, 0x0028 .align 2 gFile_graphics_pokemon_icons_fearow_icon:: @ 8D3E94C .incbin "graphics/pokemon/icons/fearow_icon.4bpp" - @ .incbin "baserom.gba", 0xD3E94C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_fearow_footprint:: @ 8D3ED4C .incbin "graphics/pokemon/footprints/fearow_footprint.1bpp" - @ .incbin "baserom.gba", 0xD3ED4C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_ekans_still_front_pic:: @ 8D3ED6C @@ -1360,7 +1205,6 @@ gFile_graphics_pokemon_footprints_ekans_footprint:: @ 8D3F774 .incbin "graphics/pokemon/footprints/ekans_footprint.1bpp" @ .incbin "baserom.gba", 0xD3F774, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_arbok_still_front_pic:: @ 8D3F794 .incbin "graphics/pokemon/front_pics/arbok_still_front_pic.4bpp.lz" @@ -1391,7 +1235,6 @@ gFile_graphics_pokemon_footprints_arbok_footprint:: @ 8D402E0 .incbin "graphics/pokemon/footprints/arbok_footprint.1bpp" @ .incbin "baserom.gba", 0xD402E0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_pikachu_still_front_pic:: @ 8D40300 .incbin "graphics/pokemon/front_pics/pikachu_still_front_pic.4bpp.lz" @@ -1422,7 +1265,6 @@ gFile_graphics_pokemon_footprints_pikachu_footprint:: @ 8D40CF8 .incbin "graphics/pokemon/footprints/pikachu_footprint.1bpp" @ .incbin "baserom.gba", 0xD40CF8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_raichu_still_front_pic:: @ 8D40D18 .incbin "graphics/pokemon/front_pics/raichu_still_front_pic.4bpp.lz" @@ -1453,7 +1295,6 @@ gFile_graphics_pokemon_footprints_raichu_footprint:: @ 8D41880 .incbin "graphics/pokemon/footprints/raichu_footprint.1bpp" @ .incbin "baserom.gba", 0xD41880, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_sandshrew_still_front_pic:: @ 8D418A0 .incbin "graphics/pokemon/front_pics/sandshrew_still_front_pic.4bpp.lz" @@ -1484,7 +1325,6 @@ gFile_graphics_pokemon_footprints_sandshrew_footprint:: @ 8D422F4 .incbin "graphics/pokemon/footprints/sandshrew_footprint.1bpp" @ .incbin "baserom.gba", 0xD422F4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_sandslash_still_front_pic:: @ 8D42314 .incbin "graphics/pokemon/front_pics/sandslash_still_front_pic.4bpp.lz" @@ -1515,7 +1355,6 @@ gFile_graphics_pokemon_footprints_sandslash_footprint:: @ 8D42F98 .incbin "graphics/pokemon/footprints/sandslash_footprint.1bpp" @ .incbin "baserom.gba", 0xD42F98, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_nidoran_f_still_front_pic:: @ 8D42FB8 .incbin "graphics/pokemon/front_pics/nidoran_f_still_front_pic.4bpp.lz" @@ -1546,7 +1385,6 @@ gFile_graphics_pokemon_footprints_nidoran_f_footprint:: @ 8D4394C .incbin "graphics/pokemon/footprints/nidoran_f_footprint.1bpp" @ .incbin "baserom.gba", 0xD4394C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_nidorina_still_front_pic:: @ 8D4396C .incbin "graphics/pokemon/front_pics/nidorina_still_front_pic.4bpp.lz" @@ -1577,7 +1415,6 @@ gFile_graphics_pokemon_footprints_nidorina_footprint:: @ 8D44470 .incbin "graphics/pokemon/footprints/nidorina_footprint.1bpp" @ .incbin "baserom.gba", 0xD44470, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_nidoqueen_still_front_pic:: @ 8D44490 .incbin "graphics/pokemon/front_pics/nidoqueen_still_front_pic.4bpp.lz" @@ -1608,7 +1445,6 @@ gFile_graphics_pokemon_footprints_nidoqueen_footprint:: @ 8D450D0 .incbin "graphics/pokemon/footprints/nidoqueen_footprint.1bpp" @ .incbin "baserom.gba", 0xD450D0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_nidoran_m_still_front_pic:: @ 8D450F0 .incbin "graphics/pokemon/front_pics/nidoran_m_still_front_pic.4bpp.lz" @@ -1639,7 +1475,6 @@ gFile_graphics_pokemon_footprints_nidoran_m_footprint:: @ 8D45B00 .incbin "graphics/pokemon/footprints/nidoran_m_footprint.1bpp" @ .incbin "baserom.gba", 0xD45B00, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_nidorino_still_front_pic:: @ 8D45B20 .incbin "graphics/pokemon/front_pics/nidorino_still_front_pic.4bpp.lz" @@ -1670,7 +1505,6 @@ gFile_graphics_pokemon_footprints_nidorino_footprint:: @ 8D466B0 .incbin "graphics/pokemon/footprints/nidorino_footprint.1bpp" @ .incbin "baserom.gba", 0xD466B0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_nidoking_still_front_pic:: @ 8D466D0 .incbin "graphics/pokemon/front_pics/nidoking_still_front_pic.4bpp.lz" @@ -1701,7 +1535,6 @@ gFile_graphics_pokemon_footprints_nidoking_footprint:: @ 8D47498 .incbin "graphics/pokemon/footprints/nidoking_footprint.1bpp" @ .incbin "baserom.gba", 0xD47498, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_clefairy_still_front_pic:: @ 8D474B8 .incbin "graphics/pokemon/front_pics/clefairy_still_front_pic.4bpp.lz" @@ -1732,7 +1565,6 @@ gFile_graphics_pokemon_footprints_clefairy_footprint:: @ 8D47E74 .incbin "graphics/pokemon/footprints/clefairy_footprint.1bpp" @ .incbin "baserom.gba", 0xD47E74, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_clefable_still_front_pic:: @ 8D47E94 .incbin "graphics/pokemon/front_pics/clefable_still_front_pic.4bpp.lz" @@ -1763,7 +1595,6 @@ gFile_graphics_pokemon_footprints_clefable_footprint:: @ 8D4895C .incbin "graphics/pokemon/footprints/clefable_footprint.1bpp" @ .incbin "baserom.gba", 0xD4895C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_vulpix_still_front_pic:: @ 8D4897C .incbin "graphics/pokemon/front_pics/vulpix_still_front_pic.4bpp.lz" @@ -1794,7 +1625,6 @@ gFile_graphics_pokemon_footprints_vulpix_footprint:: @ 8D493FC .incbin "graphics/pokemon/footprints/vulpix_footprint.1bpp" @ .incbin "baserom.gba", 0xD493FC, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_ninetales_still_front_pic:: @ 8D4941C .incbin "graphics/pokemon/front_pics/ninetales_still_front_pic.4bpp.lz" @@ -1825,7 +1655,6 @@ gFile_graphics_pokemon_footprints_ninetales_footprint:: @ 8D4A0A8 .incbin "graphics/pokemon/footprints/ninetales_footprint.1bpp" @ .incbin "baserom.gba", 0xD4A0A8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_jigglypuff_still_front_pic:: @ 8D4A0C8 .incbin "graphics/pokemon/front_pics/jigglypuff_still_front_pic.4bpp.lz" @@ -1856,7 +1685,6 @@ gFile_graphics_pokemon_footprints_jigglypuff_footprint:: @ 8D4A9F8 .incbin "graphics/pokemon/footprints/jigglypuff_footprint.1bpp" @ .incbin "baserom.gba", 0xD4A9F8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_wigglytuff_still_front_pic:: @ 8D4AA18 .incbin "graphics/pokemon/front_pics/wigglytuff_still_front_pic.4bpp.lz" @@ -1887,7 +1715,6 @@ gFile_graphics_pokemon_footprints_wigglytuff_footprint:: @ 8D4B474 .incbin "graphics/pokemon/footprints/wigglytuff_footprint.1bpp" @ .incbin "baserom.gba", 0xD4B474, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_zubat_still_front_pic:: @ 8D4B494 .incbin "graphics/pokemon/front_pics/zubat_still_front_pic.4bpp.lz" @@ -1918,7 +1745,6 @@ gFile_graphics_pokemon_footprints_zubat_footprint:: @ 8D4BE5C .incbin "graphics/pokemon/footprints/zubat_footprint.1bpp" @ .incbin "baserom.gba", 0xD4BE5C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_golbat_still_front_pic:: @ 8D4BE7C .incbin "graphics/pokemon/front_pics/golbat_still_front_pic.4bpp.lz" @@ -1949,7 +1775,6 @@ gFile_graphics_pokemon_footprints_golbat_footprint:: @ 8D4C928 .incbin "graphics/pokemon/footprints/golbat_footprint.1bpp" @ .incbin "baserom.gba", 0xD4C928, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_oddish_still_front_pic:: @ 8D4C948 .incbin "graphics/pokemon/front_pics/oddish_still_front_pic.4bpp.lz" @@ -1980,7 +1805,6 @@ gFile_graphics_pokemon_footprints_oddish_footprint:: @ 8D4D29C .incbin "graphics/pokemon/footprints/oddish_footprint.1bpp" @ .incbin "baserom.gba", 0xD4D29C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_gloom_still_front_pic:: @ 8D4D2BC .incbin "graphics/pokemon/front_pics/gloom_still_front_pic.4bpp.lz" @@ -2011,7 +1835,6 @@ gFile_graphics_pokemon_footprints_gloom_footprint:: @ 8D4DDF4 .incbin "graphics/pokemon/footprints/gloom_footprint.1bpp" @ .incbin "baserom.gba", 0xD4DDF4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_vileplume_still_front_pic:: @ 8D4DE14 .incbin "graphics/pokemon/front_pics/vileplume_still_front_pic.4bpp.lz" @@ -2042,7 +1865,6 @@ gFile_graphics_pokemon_footprints_vileplume_footprint:: @ 8D4EA04 .incbin "graphics/pokemon/footprints/vileplume_footprint.1bpp" @ .incbin "baserom.gba", 0xD4EA04, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_paras_still_front_pic:: @ 8D4EA24 .incbin "graphics/pokemon/front_pics/paras_still_front_pic.4bpp.lz" @@ -2073,7 +1895,6 @@ gFile_graphics_pokemon_footprints_paras_footprint:: @ 8D4F380 .incbin "graphics/pokemon/footprints/paras_footprint.1bpp" @ .incbin "baserom.gba", 0xD4F380, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_parasect_still_front_pic:: @ 8D4F3A0 .incbin "graphics/pokemon/front_pics/parasect_still_front_pic.4bpp.lz" @@ -2104,7 +1925,6 @@ gFile_graphics_pokemon_footprints_parasect_footprint:: @ 8D4FE7C .incbin "graphics/pokemon/footprints/parasect_footprint.1bpp" @ .incbin "baserom.gba", 0xD4FE7C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_venonat_still_front_pic:: @ 8D4FE9C .incbin "graphics/pokemon/front_pics/venonat_still_front_pic.4bpp.lz" @@ -2135,7 +1955,6 @@ gFile_graphics_pokemon_footprints_venonat_footprint:: @ 8D5093C .incbin "graphics/pokemon/footprints/venonat_footprint.1bpp" @ .incbin "baserom.gba", 0xD5093C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_venomoth_still_front_pic:: @ 8D5095C .incbin "graphics/pokemon/front_pics/venomoth_still_front_pic.4bpp.lz" @@ -2166,7 +1985,6 @@ gFile_graphics_pokemon_footprints_venomoth_footprint:: @ 8D51554 .incbin "graphics/pokemon/footprints/venomoth_footprint.1bpp" @ .incbin "baserom.gba", 0xD51554, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_diglett_still_front_pic:: @ 8D51574 .incbin "graphics/pokemon/front_pics/diglett_still_front_pic.4bpp.lz" @@ -2197,7 +2015,6 @@ gFile_graphics_pokemon_footprints_diglett_footprint:: @ 8D51DE0 .incbin "graphics/pokemon/footprints/diglett_footprint.1bpp" @ .incbin "baserom.gba", 0xD51DE0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_dugtrio_still_front_pic:: @ 8D51E00 .incbin "graphics/pokemon/front_pics/dugtrio_still_front_pic.4bpp.lz" @@ -2228,7 +2045,6 @@ gFile_graphics_pokemon_footprints_dugtrio_footprint:: @ 8D52828 .incbin "graphics/pokemon/footprints/dugtrio_footprint.1bpp" @ .incbin "baserom.gba", 0xD52828, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_meowth_still_front_pic:: @ 8D52848 .incbin "graphics/pokemon/front_pics/meowth_still_front_pic.4bpp.lz" @@ -2259,7 +2075,6 @@ gFile_graphics_pokemon_footprints_meowth_footprint:: @ 8D53268 .incbin "graphics/pokemon/footprints/meowth_footprint.1bpp" @ .incbin "baserom.gba", 0xD53268, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_persian_still_front_pic:: @ 8D53288 .incbin "graphics/pokemon/front_pics/persian_still_front_pic.4bpp.lz" @@ -2290,7 +2105,6 @@ gFile_graphics_pokemon_footprints_persian_footprint:: @ 8D53D90 .incbin "graphics/pokemon/footprints/persian_footprint.1bpp" @ .incbin "baserom.gba", 0xD53D90, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_psyduck_still_front_pic:: @ 8D53DB0 .incbin "graphics/pokemon/front_pics/psyduck_still_front_pic.4bpp.lz" @@ -2321,7 +2135,6 @@ gFile_graphics_pokemon_footprints_psyduck_footprint:: @ 8D54780 .incbin "graphics/pokemon/footprints/psyduck_footprint.1bpp" @ .incbin "baserom.gba", 0xD54780, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_golduck_still_front_pic:: @ 8D547A0 .incbin "graphics/pokemon/front_pics/golduck_still_front_pic.4bpp.lz" @@ -2352,7 +2165,6 @@ gFile_graphics_pokemon_footprints_golduck_footprint:: @ 8D552D4 .incbin "graphics/pokemon/footprints/golduck_footprint.1bpp" @ .incbin "baserom.gba", 0xD552D4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_mankey_still_front_pic:: @ 8D552F4 .incbin "graphics/pokemon/front_pics/mankey_still_front_pic.4bpp.lz" @@ -2383,7 +2195,6 @@ gFile_graphics_pokemon_footprints_mankey_footprint:: @ 8D55DA4 .incbin "graphics/pokemon/footprints/mankey_footprint.1bpp" @ .incbin "baserom.gba", 0xD55DA4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_primeape_still_front_pic:: @ 8D55DC4 .incbin "graphics/pokemon/front_pics/primeape_still_front_pic.4bpp.lz" @@ -2414,7 +2225,6 @@ gFile_graphics_pokemon_footprints_primeape_footprint:: @ 8D56910 .incbin "graphics/pokemon/footprints/primeape_footprint.1bpp" @ .incbin "baserom.gba", 0xD56910, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_growlithe_still_front_pic:: @ 8D56930 .incbin "graphics/pokemon/front_pics/growlithe_still_front_pic.4bpp.lz" @@ -2445,7 +2255,6 @@ gFile_graphics_pokemon_footprints_growlithe_footprint:: @ 8D573E4 .incbin "graphics/pokemon/footprints/growlithe_footprint.1bpp" @ .incbin "baserom.gba", 0xD573E4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_arcanine_still_front_pic:: @ 8D57404 .incbin "graphics/pokemon/front_pics/arcanine_still_front_pic.4bpp.lz" @@ -2476,7 +2285,6 @@ gFile_graphics_pokemon_footprints_arcanine_footprint:: @ 8D58130 .incbin "graphics/pokemon/footprints/arcanine_footprint.1bpp" @ .incbin "baserom.gba", 0xD58130, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_poliwag_still_front_pic:: @ 8D58150 .incbin "graphics/pokemon/front_pics/poliwag_still_front_pic.4bpp.lz" @@ -2507,7 +2315,6 @@ gFile_graphics_pokemon_footprints_poliwag_footprint:: @ 8D58AA0 .incbin "graphics/pokemon/footprints/poliwag_footprint.1bpp" @ .incbin "baserom.gba", 0xD58AA0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_poliwhirl_still_front_pic:: @ 8D58AC0 .incbin "graphics/pokemon/front_pics/poliwhirl_still_front_pic.4bpp.lz" @@ -2538,7 +2345,6 @@ gFile_graphics_pokemon_footprints_poliwhirl_footprint:: @ 8D5950C .incbin "graphics/pokemon/footprints/poliwhirl_footprint.1bpp" @ .incbin "baserom.gba", 0xD5950C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_poliwrath_still_front_pic:: @ 8D5952C .incbin "graphics/pokemon/front_pics/poliwrath_still_front_pic.4bpp.lz" @@ -2569,7 +2375,6 @@ gFile_graphics_pokemon_footprints_poliwrath_footprint:: @ 8D5A034 .incbin "graphics/pokemon/footprints/poliwrath_footprint.1bpp" @ .incbin "baserom.gba", 0xD5A034, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_abra_still_front_pic:: @ 8D5A054 .incbin "graphics/pokemon/front_pics/abra_still_front_pic.4bpp.lz" @@ -2600,7 +2405,6 @@ gFile_graphics_pokemon_footprints_abra_footprint:: @ 8D5AA44 .incbin "graphics/pokemon/footprints/abra_footprint.1bpp" @ .incbin "baserom.gba", 0xD5AA44, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_kadabra_still_front_pic:: @ 8D5AA64 .incbin "graphics/pokemon/front_pics/kadabra_still_front_pic.4bpp.lz" @@ -2631,7 +2435,6 @@ gFile_graphics_pokemon_footprints_kadabra_footprint:: @ 8D5B728 .incbin "graphics/pokemon/footprints/kadabra_footprint.1bpp" @ .incbin "baserom.gba", 0xD5B728, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_alakazam_still_front_pic:: @ 8D5B748 .incbin "graphics/pokemon/front_pics/alakazam_still_front_pic.4bpp.lz" @@ -2662,7 +2465,6 @@ gFile_graphics_pokemon_footprints_alakazam_footprint:: @ 8D5C3B0 .incbin "graphics/pokemon/footprints/alakazam_footprint.1bpp" @ .incbin "baserom.gba", 0xD5C3B0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_machop_still_front_pic:: @ 8D5C3D0 .incbin "graphics/pokemon/front_pics/machop_still_front_pic.4bpp.lz" @@ -2693,7 +2495,6 @@ gFile_graphics_pokemon_footprints_machop_footprint:: @ 8D5CD8C .incbin "graphics/pokemon/footprints/machop_footprint.1bpp" @ .incbin "baserom.gba", 0xD5CD8C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_machoke_still_front_pic:: @ 8D5CDAC .incbin "graphics/pokemon/front_pics/machoke_still_front_pic.4bpp.lz" @@ -2724,7 +2525,6 @@ gFile_graphics_pokemon_footprints_machoke_footprint:: @ 8D5D918 .incbin "graphics/pokemon/footprints/machoke_footprint.1bpp" @ .incbin "baserom.gba", 0xD5D918, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_machamp_still_front_pic:: @ 8D5D938 .incbin "graphics/pokemon/front_pics/machamp_still_front_pic.4bpp.lz" @@ -2755,7 +2555,6 @@ gFile_graphics_pokemon_footprints_machamp_footprint:: @ 8D5E6D0 .incbin "graphics/pokemon/footprints/machamp_footprint.1bpp" @ .incbin "baserom.gba", 0xD5E6D0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_bellsprout_still_front_pic:: @ 8D5E6F0 .incbin "graphics/pokemon/front_pics/bellsprout_still_front_pic.4bpp.lz" @@ -2786,7 +2585,6 @@ gFile_graphics_pokemon_footprints_bellsprout_footprint:: @ 8D5F068 .incbin "graphics/pokemon/footprints/bellsprout_footprint.1bpp" @ .incbin "baserom.gba", 0xD5F068, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_weepinbell_still_front_pic:: @ 8D5F088 .incbin "graphics/pokemon/front_pics/weepinbell_still_front_pic.4bpp.lz" @@ -2817,7 +2615,6 @@ gFile_graphics_pokemon_footprints_weepinbell_footprint:: @ 8D5FAF8 .incbin "graphics/pokemon/footprints/weepinbell_footprint.1bpp" @ .incbin "baserom.gba", 0xD5FAF8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_victreebel_still_front_pic:: @ 8D5FB18 .incbin "graphics/pokemon/front_pics/victreebel_still_front_pic.4bpp.lz" @@ -2848,7 +2645,6 @@ gFile_graphics_pokemon_footprints_victreebel_footprint:: @ 8D6072C .incbin "graphics/pokemon/footprints/victreebel_footprint.1bpp" @ .incbin "baserom.gba", 0xD6072C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_tentacool_still_front_pic:: @ 8D6074C .incbin "graphics/pokemon/front_pics/tentacool_still_front_pic.4bpp.lz" @@ -2879,7 +2675,6 @@ gFile_graphics_pokemon_footprints_tentacool_footprint:: @ 8D61110 .incbin "graphics/pokemon/footprints/tentacool_footprint.1bpp" @ .incbin "baserom.gba", 0xD61110, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_tentacruel_still_front_pic:: @ 8D61130 .incbin "graphics/pokemon/front_pics/tentacruel_still_front_pic.4bpp.lz" @@ -2910,7 +2705,6 @@ gFile_graphics_pokemon_footprints_tentacruel_footprint:: @ 8D61E10 .incbin "graphics/pokemon/footprints/tentacruel_footprint.1bpp" @ .incbin "baserom.gba", 0xD61E10, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_geodude_still_front_pic:: @ 8D61E30 .incbin "graphics/pokemon/front_pics/geodude_still_front_pic.4bpp.lz" @@ -2941,7 +2735,6 @@ gFile_graphics_pokemon_footprints_geodude_footprint:: @ 8D62790 .incbin "graphics/pokemon/footprints/geodude_footprint.1bpp" @ .incbin "baserom.gba", 0xD62790, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_graveler_still_front_pic:: @ 8D627B0 .incbin "graphics/pokemon/front_pics/graveler_still_front_pic.4bpp.lz" @@ -2972,7 +2765,6 @@ gFile_graphics_pokemon_footprints_graveler_footprint:: @ 8D63270 .incbin "graphics/pokemon/footprints/graveler_footprint.1bpp" @ .incbin "baserom.gba", 0xD63270, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_golem_still_front_pic:: @ 8D63290 .incbin "graphics/pokemon/front_pics/golem_still_front_pic.4bpp.lz" @@ -3003,7 +2795,6 @@ gFile_graphics_pokemon_footprints_golem_footprint:: @ 8D63DD0 .incbin "graphics/pokemon/footprints/golem_footprint.1bpp" @ .incbin "baserom.gba", 0xD63DD0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_ponyta_still_front_pic:: @ 8D63DF0 .incbin "graphics/pokemon/front_pics/ponyta_still_front_pic.4bpp.lz" @@ -3034,7 +2825,6 @@ gFile_graphics_pokemon_footprints_ponyta_footprint:: @ 8D6490C .incbin "graphics/pokemon/footprints/ponyta_footprint.1bpp" @ .incbin "baserom.gba", 0xD6490C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_rapidash_still_front_pic:: @ 8D6492C .incbin "graphics/pokemon/front_pics/rapidash_still_front_pic.4bpp.lz" @@ -3065,7 +2855,6 @@ gFile_graphics_pokemon_footprints_rapidash_footprint:: @ 8D65614 .incbin "graphics/pokemon/footprints/rapidash_footprint.1bpp" @ .incbin "baserom.gba", 0xD65614, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_slowpoke_still_front_pic:: @ 8D65634 .incbin "graphics/pokemon/front_pics/slowpoke_still_front_pic.4bpp.lz" @@ -3096,7 +2885,6 @@ gFile_graphics_pokemon_footprints_slowpoke_footprint:: @ 8D65FBC .incbin "graphics/pokemon/footprints/slowpoke_footprint.1bpp" @ .incbin "baserom.gba", 0xD65FBC, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_slowbro_still_front_pic:: @ 8D65FDC .incbin "graphics/pokemon/front_pics/slowbro_still_front_pic.4bpp.lz" @@ -3127,7 +2915,6 @@ gFile_graphics_pokemon_footprints_slowbro_footprint:: @ 8D66C68 .incbin "graphics/pokemon/footprints/slowbro_footprint.1bpp" @ .incbin "baserom.gba", 0xD66C68, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_magnemite_still_front_pic:: @ 8D66C88 .incbin "graphics/pokemon/front_pics/magnemite_still_front_pic.4bpp.lz" @@ -3158,7 +2945,6 @@ gFile_graphics_pokemon_footprints_magnemite_footprint:: @ 8D67494 .incbin "graphics/pokemon/footprints/magnemite_footprint.1bpp" @ .incbin "baserom.gba", 0xD67494, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_magneton_still_front_pic:: @ 8D674B4 .incbin "graphics/pokemon/front_pics/magneton_still_front_pic.4bpp.lz" @@ -3189,7 +2975,6 @@ gFile_graphics_pokemon_footprints_magneton_footprint:: @ 8D67FC0 .incbin "graphics/pokemon/footprints/magneton_footprint.1bpp" @ .incbin "baserom.gba", 0xD67FC0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_farfetch_d_still_front_pic:: @ 8D67FE0 .incbin "graphics/pokemon/front_pics/farfetch_d_still_front_pic.4bpp.lz" @@ -3220,7 +3005,6 @@ gFile_graphics_pokemon_footprints_farfetch_d_footprint:: @ 8D68AF0 .incbin "graphics/pokemon/footprints/farfetch_d_footprint.1bpp" @ .incbin "baserom.gba", 0xD68AF0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_doduo_still_front_pic:: @ 8D68B10 .incbin "graphics/pokemon/front_pics/doduo_still_front_pic.4bpp.lz" @@ -3251,7 +3035,6 @@ gFile_graphics_pokemon_footprints_doduo_footprint:: @ 8D6955C .incbin "graphics/pokemon/footprints/doduo_footprint.1bpp" @ .incbin "baserom.gba", 0xD6955C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_dodrio_still_front_pic:: @ 8D6957C .incbin "graphics/pokemon/front_pics/dodrio_still_front_pic.4bpp.lz" @@ -3282,7 +3065,6 @@ gFile_graphics_pokemon_footprints_dodrio_footprint:: @ 8D6A270 .incbin "graphics/pokemon/footprints/dodrio_footprint.1bpp" @ .incbin "baserom.gba", 0xD6A270, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_seel_still_front_pic:: @ 8D6A290 .incbin "graphics/pokemon/front_pics/seel_still_front_pic.4bpp.lz" @@ -3313,7 +3095,6 @@ gFile_graphics_pokemon_footprints_seel_footprint:: @ 8D6ACF0 .incbin "graphics/pokemon/footprints/seel_footprint.1bpp" @ .incbin "baserom.gba", 0xD6ACF0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_dewgong_still_front_pic:: @ 8D6AD10 .incbin "graphics/pokemon/front_pics/dewgong_still_front_pic.4bpp.lz" @@ -3344,7 +3125,6 @@ gFile_graphics_pokemon_footprints_dewgong_footprint:: @ 8D6B7BC .incbin "graphics/pokemon/footprints/dewgong_footprint.1bpp" @ .incbin "baserom.gba", 0xD6B7BC, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_grimer_still_front_pic:: @ 8D6B7DC .incbin "graphics/pokemon/front_pics/grimer_still_front_pic.4bpp.lz" @@ -3375,7 +3155,6 @@ gFile_graphics_pokemon_footprints_grimer_footprint:: @ 8D6C210 .incbin "graphics/pokemon/footprints/grimer_footprint.1bpp" @ .incbin "baserom.gba", 0xD6C210, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_muk_still_front_pic:: @ 8D6C230 .incbin "graphics/pokemon/front_pics/muk_still_front_pic.4bpp.lz" @@ -3406,7 +3185,6 @@ gFile_graphics_pokemon_footprints_muk_footprint:: @ 8D6CD00 .incbin "graphics/pokemon/footprints/muk_footprint.1bpp" @ .incbin "baserom.gba", 0xD6CD00, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_shellder_still_front_pic:: @ 8D6CD20 .incbin "graphics/pokemon/front_pics/shellder_still_front_pic.4bpp.lz" @@ -3437,7 +3215,6 @@ gFile_graphics_pokemon_footprints_shellder_footprint:: @ 8D6D6F0 .incbin "graphics/pokemon/footprints/shellder_footprint.1bpp" @ .incbin "baserom.gba", 0xD6D6F0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_cloyster_still_front_pic:: @ 8D6D710 .incbin "graphics/pokemon/front_pics/cloyster_still_front_pic.4bpp.lz" @@ -3468,7 +3245,6 @@ gFile_graphics_pokemon_footprints_cloyster_footprint:: @ 8D6E3A0 .incbin "graphics/pokemon/footprints/cloyster_footprint.1bpp" @ .incbin "baserom.gba", 0xD6E3A0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_gastly_still_front_pic:: @ 8D6E3C0 .incbin "graphics/pokemon/front_pics/gastly_still_front_pic.4bpp.lz" @@ -3499,7 +3275,6 @@ gFile_graphics_pokemon_footprints_gastly_footprint:: @ 8D6EEEC .incbin "graphics/pokemon/footprints/gastly_footprint.1bpp" @ .incbin "baserom.gba", 0xD6EEEC, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_haunter_still_front_pic:: @ 8D6EF0C .incbin "graphics/pokemon/front_pics/haunter_still_front_pic.4bpp.lz" @@ -3530,7 +3305,6 @@ gFile_graphics_pokemon_footprints_haunter_footprint:: @ 8D6FA20 .incbin "graphics/pokemon/footprints/haunter_footprint.1bpp" @ .incbin "baserom.gba", 0xD6FA20, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_gengar_still_front_pic:: @ 8D6FA40 .incbin "graphics/pokemon/front_pics/gengar_still_front_pic.4bpp.lz" @@ -3561,7 +3335,6 @@ gFile_graphics_pokemon_footprints_gengar_footprint:: @ 8D70528 .incbin "graphics/pokemon/footprints/gengar_footprint.1bpp" @ .incbin "baserom.gba", 0xD70528, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_onix_still_front_pic:: @ 8D70548 .incbin "graphics/pokemon/front_pics/onix_still_front_pic.4bpp.lz" @@ -3592,7 +3365,6 @@ gFile_graphics_pokemon_footprints_onix_footprint:: @ 8D711CC .incbin "graphics/pokemon/footprints/onix_footprint.1bpp" @ .incbin "baserom.gba", 0xD711CC, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_drowzee_still_front_pic:: @ 8D711EC .incbin "graphics/pokemon/front_pics/drowzee_still_front_pic.4bpp.lz" @@ -3623,7 +3395,6 @@ gFile_graphics_pokemon_footprints_drowzee_footprint:: @ 8D71BB0 .incbin "graphics/pokemon/footprints/drowzee_footprint.1bpp" @ .incbin "baserom.gba", 0xD71BB0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_hypno_still_front_pic:: @ 8D71BD0 .incbin "graphics/pokemon/front_pics/hypno_still_front_pic.4bpp.lz" @@ -3654,7 +3425,6 @@ gFile_graphics_pokemon_footprints_hypno_footprint:: @ 8D72780 .incbin "graphics/pokemon/footprints/hypno_footprint.1bpp" @ .incbin "baserom.gba", 0xD72780, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_krabby_still_front_pic:: @ 8D727A0 .incbin "graphics/pokemon/front_pics/krabby_still_front_pic.4bpp.lz" @@ -3685,7 +3455,6 @@ gFile_graphics_pokemon_footprints_krabby_footprint:: @ 8D732A0 .incbin "graphics/pokemon/footprints/krabby_footprint.1bpp" @ .incbin "baserom.gba", 0xD732A0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_kingler_still_front_pic:: @ 8D732C0 .incbin "graphics/pokemon/front_pics/kingler_still_front_pic.4bpp.lz" @@ -3716,7 +3485,6 @@ gFile_graphics_pokemon_footprints_kingler_footprint:: @ 8D73F14 .incbin "graphics/pokemon/footprints/kingler_footprint.1bpp" @ .incbin "baserom.gba", 0xD73F14, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_voltorb_still_front_pic:: @ 8D73F34 .incbin "graphics/pokemon/front_pics/voltorb_still_front_pic.4bpp.lz" @@ -3747,7 +3515,6 @@ gFile_graphics_pokemon_footprints_voltorb_footprint:: @ 8D747F8 .incbin "graphics/pokemon/footprints/voltorb_footprint.1bpp" @ .incbin "baserom.gba", 0xD747F8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_electrode_still_front_pic:: @ 8D74818 .incbin "graphics/pokemon/front_pics/electrode_still_front_pic.4bpp.lz" @@ -3778,7 +3545,6 @@ gFile_graphics_pokemon_footprints_electrode_footprint:: @ 8D7513C .incbin "graphics/pokemon/footprints/electrode_footprint.1bpp" @ .incbin "baserom.gba", 0xD7513C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_exeggcute_still_front_pic:: @ 8D7515C .incbin "graphics/pokemon/front_pics/exeggcute_still_front_pic.4bpp.lz" @@ -3809,7 +3575,6 @@ gFile_graphics_pokemon_footprints_exeggcute_footprint:: @ 8D75C3C .incbin "graphics/pokemon/footprints/exeggcute_footprint.1bpp" @ .incbin "baserom.gba", 0xD75C3C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_exeggutor_still_front_pic:: @ 8D75C5C .incbin "graphics/pokemon/front_pics/exeggutor_still_front_pic.4bpp.lz" @@ -3840,7 +3605,6 @@ gFile_graphics_pokemon_footprints_exeggutor_footprint:: @ 8D768C8 .incbin "graphics/pokemon/footprints/exeggutor_footprint.1bpp" @ .incbin "baserom.gba", 0xD768C8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_cubone_still_front_pic:: @ 8D768E8 .incbin "graphics/pokemon/front_pics/cubone_still_front_pic.4bpp.lz" @@ -3871,7 +3635,6 @@ gFile_graphics_pokemon_footprints_cubone_footprint:: @ 8D77334 .incbin "graphics/pokemon/footprints/cubone_footprint.1bpp" @ .incbin "baserom.gba", 0xD77334, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_marowak_still_front_pic:: @ 8D77354 .incbin "graphics/pokemon/front_pics/marowak_still_front_pic.4bpp.lz" @@ -3902,7 +3665,6 @@ gFile_graphics_pokemon_footprints_marowak_footprint:: @ 8D77E38 .incbin "graphics/pokemon/footprints/marowak_footprint.1bpp" @ .incbin "baserom.gba", 0xD77E38, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_hitmonlee_still_front_pic:: @ 8D77E58 .incbin "graphics/pokemon/front_pics/hitmonlee_still_front_pic.4bpp.lz" @@ -3933,7 +3695,6 @@ gFile_graphics_pokemon_footprints_hitmonlee_footprint:: @ 8D788C0 .incbin "graphics/pokemon/footprints/hitmonlee_footprint.1bpp" @ .incbin "baserom.gba", 0xD788C0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_hitmonchan_still_front_pic:: @ 8D788E0 .incbin "graphics/pokemon/front_pics/hitmonchan_still_front_pic.4bpp.lz" @@ -3964,7 +3725,6 @@ gFile_graphics_pokemon_footprints_hitmonchan_footprint:: @ 8D793B4 .incbin "graphics/pokemon/footprints/hitmonchan_footprint.1bpp" @ .incbin "baserom.gba", 0xD793B4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_lickitung_still_front_pic:: @ 8D793D4 .incbin "graphics/pokemon/front_pics/lickitung_still_front_pic.4bpp.lz" @@ -3995,7 +3755,6 @@ gFile_graphics_pokemon_footprints_lickitung_footprint:: @ 8D79EA0 .incbin "graphics/pokemon/footprints/lickitung_footprint.1bpp" @ .incbin "baserom.gba", 0xD79EA0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_koffing_still_front_pic:: @ 8D79EC0 .incbin "graphics/pokemon/front_pics/koffing_still_front_pic.4bpp.lz" @@ -4026,7 +3785,6 @@ gFile_graphics_pokemon_footprints_koffing_footprint:: @ 8D7A910 .incbin "graphics/pokemon/footprints/koffing_footprint.1bpp" @ .incbin "baserom.gba", 0xD7A910, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_weezing_still_front_pic:: @ 8D7A930 .incbin "graphics/pokemon/front_pics/weezing_still_front_pic.4bpp.lz" @@ -4057,7 +3815,6 @@ gFile_graphics_pokemon_footprints_weezing_footprint:: @ 8D7B5C0 .incbin "graphics/pokemon/footprints/weezing_footprint.1bpp" @ .incbin "baserom.gba", 0xD7B5C0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_rhyhorn_still_front_pic:: @ 8D7B5E0 .incbin "graphics/pokemon/front_pics/rhyhorn_still_front_pic.4bpp.lz" @@ -4088,7 +3845,6 @@ gFile_graphics_pokemon_footprints_rhyhorn_footprint:: @ 8D7C164 .incbin "graphics/pokemon/footprints/rhyhorn_footprint.1bpp" @ .incbin "baserom.gba", 0xD7C164, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_rhydon_still_front_pic:: @ 8D7C184 .incbin "graphics/pokemon/front_pics/rhydon_still_front_pic.4bpp.lz" @@ -4119,7 +3875,6 @@ gFile_graphics_pokemon_footprints_rhydon_footprint:: @ 8D7CF18 .incbin "graphics/pokemon/footprints/rhydon_footprint.1bpp" @ .incbin "baserom.gba", 0xD7CF18, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_chansey_still_front_pic:: @ 8D7CF38 .incbin "graphics/pokemon/front_pics/chansey_still_front_pic.4bpp.lz" @@ -4150,7 +3905,6 @@ gFile_graphics_pokemon_footprints_chansey_footprint:: @ 8D7D90C .incbin "graphics/pokemon/footprints/chansey_footprint.1bpp" @ .incbin "baserom.gba", 0xD7D90C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_tangela_still_front_pic:: @ 8D7D92C .incbin "graphics/pokemon/front_pics/tangela_still_front_pic.4bpp.lz" @@ -4181,7 +3935,6 @@ gFile_graphics_pokemon_footprints_tangela_footprint:: @ 8D7E4F4 .incbin "graphics/pokemon/footprints/tangela_footprint.1bpp" @ .incbin "baserom.gba", 0xD7E4F4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_kangaskhan_still_front_pic:: @ 8D7E514 .incbin "graphics/pokemon/front_pics/kangaskhan_still_front_pic.4bpp.lz" @@ -4212,7 +3965,6 @@ gFile_graphics_pokemon_footprints_kangaskhan_footprint:: @ 8D7F23C .incbin "graphics/pokemon/footprints/kangaskhan_footprint.1bpp" @ .incbin "baserom.gba", 0xD7F23C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_horsea_still_front_pic:: @ 8D7F25C .incbin "graphics/pokemon/front_pics/horsea_still_front_pic.4bpp.lz" @@ -4243,7 +3995,6 @@ gFile_graphics_pokemon_footprints_horsea_footprint:: @ 8D7FBF8 .incbin "graphics/pokemon/footprints/horsea_footprint.1bpp" @ .incbin "baserom.gba", 0xD7FBF8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_seadra_still_front_pic:: @ 8D7FC18 .incbin "graphics/pokemon/front_pics/seadra_still_front_pic.4bpp.lz" @@ -4274,7 +4025,6 @@ gFile_graphics_pokemon_footprints_seadra_footprint:: @ 8D80790 .incbin "graphics/pokemon/footprints/seadra_footprint.1bpp" @ .incbin "baserom.gba", 0xD80790, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_goldeen_still_front_pic:: @ 8D807B0 .incbin "graphics/pokemon/front_pics/goldeen_still_front_pic.4bpp.lz" @@ -4305,7 +4055,6 @@ gFile_graphics_pokemon_footprints_goldeen_footprint:: @ 8D812D8 .incbin "graphics/pokemon/footprints/goldeen_footprint.1bpp" @ .incbin "baserom.gba", 0xD812D8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_seaking_still_front_pic:: @ 8D812F8 .incbin "graphics/pokemon/front_pics/seaking_still_front_pic.4bpp.lz" @@ -4336,7 +4085,6 @@ gFile_graphics_pokemon_footprints_seaking_footprint:: @ 8D81F0C .incbin "graphics/pokemon/footprints/seaking_footprint.1bpp" @ .incbin "baserom.gba", 0xD81F0C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_staryu_still_front_pic:: @ 8D81F2C .incbin "graphics/pokemon/front_pics/staryu_still_front_pic.4bpp.lz" @@ -4367,7 +4115,6 @@ gFile_graphics_pokemon_footprints_staryu_footprint:: @ 8D82894 .incbin "graphics/pokemon/footprints/staryu_footprint.1bpp" @ .incbin "baserom.gba", 0xD82894, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_starmie_still_front_pic:: @ 8D828B4 .incbin "graphics/pokemon/front_pics/starmie_still_front_pic.4bpp.lz" @@ -4398,7 +4145,6 @@ gFile_graphics_pokemon_footprints_starmie_footprint:: @ 8D83348 .incbin "graphics/pokemon/footprints/starmie_footprint.1bpp" @ .incbin "baserom.gba", 0xD83348, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_mr_mime_still_front_pic:: @ 8D83368 .incbin "graphics/pokemon/front_pics/mr_mime_still_front_pic.4bpp.lz" @@ -4429,7 +4175,6 @@ gFile_graphics_pokemon_footprints_mr_mime_footprint:: @ 8D83EA8 .incbin "graphics/pokemon/footprints/mr_mime_footprint.1bpp" @ .incbin "baserom.gba", 0xD83EA8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_scyther_still_front_pic:: @ 8D83EC8 .incbin "graphics/pokemon/front_pics/scyther_still_front_pic.4bpp.lz" @@ -4460,7 +4205,6 @@ gFile_graphics_pokemon_footprints_scyther_footprint:: @ 8D84B58 .incbin "graphics/pokemon/footprints/scyther_footprint.1bpp" @ .incbin "baserom.gba", 0xD84B58, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_jynx_still_front_pic:: @ 8D84B78 .incbin "graphics/pokemon/front_pics/jynx_still_front_pic.4bpp.lz" @@ -4491,7 +4235,6 @@ gFile_graphics_pokemon_footprints_jynx_footprint:: @ 8D85680 .incbin "graphics/pokemon/footprints/jynx_footprint.1bpp" @ .incbin "baserom.gba", 0xD85680, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_electabuzz_still_front_pic:: @ 8D856A0 .incbin "graphics/pokemon/front_pics/electabuzz_still_front_pic.4bpp.lz" @@ -4522,7 +4265,6 @@ gFile_graphics_pokemon_footprints_electabuzz_footprint:: @ 8D86258 .incbin "graphics/pokemon/footprints/electabuzz_footprint.1bpp" @ .incbin "baserom.gba", 0xD86258, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_magmar_still_front_pic:: @ 8D86278 .incbin "graphics/pokemon/front_pics/magmar_still_front_pic.4bpp.lz" @@ -4553,7 +4295,6 @@ gFile_graphics_pokemon_footprints_magmar_footprint:: @ 8D86E30 .incbin "graphics/pokemon/footprints/magmar_footprint.1bpp" @ .incbin "baserom.gba", 0xD86E30, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_pinsir_still_front_pic:: @ 8D86E50 .incbin "graphics/pokemon/front_pics/pinsir_still_front_pic.4bpp.lz" @@ -4584,7 +4325,6 @@ gFile_graphics_pokemon_footprints_pinsir_footprint:: @ 8D87A1C .incbin "graphics/pokemon/footprints/pinsir_footprint.1bpp" @ .incbin "baserom.gba", 0xD87A1C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_tauros_still_front_pic:: @ 8D87A3C .incbin "graphics/pokemon/front_pics/tauros_still_front_pic.4bpp.lz" @@ -4615,7 +4355,6 @@ gFile_graphics_pokemon_footprints_tauros_footprint:: @ 8D885A0 .incbin "graphics/pokemon/footprints/tauros_footprint.1bpp" @ .incbin "baserom.gba", 0xD885A0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_magikarp_still_front_pic:: @ 8D885C0 .incbin "graphics/pokemon/front_pics/magikarp_still_front_pic.4bpp.lz" @@ -4646,7 +4385,6 @@ gFile_graphics_pokemon_footprints_magikarp_footprint:: @ 8D89088 .incbin "graphics/pokemon/footprints/magikarp_footprint.1bpp" @ .incbin "baserom.gba", 0xD89088, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_gyarados_still_front_pic:: @ 8D890A8 .incbin "graphics/pokemon/front_pics/gyarados_still_front_pic.4bpp.lz" @@ -4677,7 +4415,6 @@ gFile_graphics_pokemon_footprints_gyarados_footprint:: @ 8D89F54 .incbin "graphics/pokemon/footprints/gyarados_footprint.1bpp" @ .incbin "baserom.gba", 0xD89F54, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_lapras_still_front_pic:: @ 8D89F74 .incbin "graphics/pokemon/front_pics/lapras_still_front_pic.4bpp.lz" @@ -4708,7 +4445,6 @@ gFile_graphics_pokemon_footprints_lapras_footprint:: @ 8D8AAE8 .incbin "graphics/pokemon/footprints/lapras_footprint.1bpp" @ .incbin "baserom.gba", 0xD8AAE8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_ditto_still_front_pic:: @ 8D8AB08 .incbin "graphics/pokemon/front_pics/ditto_still_front_pic.4bpp.lz" @@ -4739,7 +4475,6 @@ gFile_graphics_pokemon_footprints_ditto_footprint:: @ 8D8B338 .incbin "graphics/pokemon/footprints/ditto_footprint.1bpp" @ .incbin "baserom.gba", 0xD8B338, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_eevee_still_front_pic:: @ 8D8B358 .incbin "graphics/pokemon/front_pics/eevee_still_front_pic.4bpp.lz" @@ -4770,7 +4505,6 @@ gFile_graphics_pokemon_footprints_eevee_footprint:: @ 8D8BDBC .incbin "graphics/pokemon/footprints/eevee_footprint.1bpp" @ .incbin "baserom.gba", 0xD8BDBC, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_vaporeon_still_front_pic:: @ 8D8BDDC .incbin "graphics/pokemon/front_pics/vaporeon_still_front_pic.4bpp.lz" @@ -4801,7 +4535,6 @@ gFile_graphics_pokemon_footprints_vaporeon_footprint:: @ 8D8C888 .incbin "graphics/pokemon/footprints/vaporeon_footprint.1bpp" @ .incbin "baserom.gba", 0xD8C888, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_jolteon_still_front_pic:: @ 8D8C8A8 .incbin "graphics/pokemon/front_pics/jolteon_still_front_pic.4bpp.lz" @@ -4832,7 +4565,6 @@ gFile_graphics_pokemon_footprints_jolteon_footprint:: @ 8D8D3F4 .incbin "graphics/pokemon/footprints/jolteon_footprint.1bpp" @ .incbin "baserom.gba", 0xD8D3F4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_flareon_still_front_pic:: @ 8D8D414 .incbin "graphics/pokemon/front_pics/flareon_still_front_pic.4bpp.lz" @@ -4863,7 +4595,6 @@ gFile_graphics_pokemon_footprints_flareon_footprint:: @ 8D8DF78 .incbin "graphics/pokemon/footprints/flareon_footprint.1bpp" @ .incbin "baserom.gba", 0xD8DF78, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_porygon_still_front_pic:: @ 8D8DF98 .incbin "graphics/pokemon/front_pics/porygon_still_front_pic.4bpp.lz" @@ -4894,7 +4625,6 @@ gFile_graphics_pokemon_footprints_porygon_footprint:: @ 8D8E950 .incbin "graphics/pokemon/footprints/porygon_footprint.1bpp" @ .incbin "baserom.gba", 0xD8E950, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_omanyte_still_front_pic:: @ 8D8E970 .incbin "graphics/pokemon/front_pics/omanyte_still_front_pic.4bpp.lz" @@ -4925,7 +4655,6 @@ gFile_graphics_pokemon_footprints_omanyte_footprint:: @ 8D8F39C .incbin "graphics/pokemon/footprints/omanyte_footprint.1bpp" @ .incbin "baserom.gba", 0xD8F39C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_omastar_still_front_pic:: @ 8D8F3BC .incbin "graphics/pokemon/front_pics/omastar_still_front_pic.4bpp.lz" @@ -4956,7 +4685,6 @@ gFile_graphics_pokemon_footprints_omastar_footprint:: @ 8D8FF0C .incbin "graphics/pokemon/footprints/omastar_footprint.1bpp" @ .incbin "baserom.gba", 0xD8FF0C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_kabuto_still_front_pic:: @ 8D8FF2C .incbin "graphics/pokemon/front_pics/kabuto_still_front_pic.4bpp.lz" @@ -4987,7 +4715,6 @@ gFile_graphics_pokemon_footprints_kabuto_footprint:: @ 8D9083C .incbin "graphics/pokemon/footprints/kabuto_footprint.1bpp" @ .incbin "baserom.gba", 0xD9083C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_kabutops_still_front_pic:: @ 8D9085C .incbin "graphics/pokemon/front_pics/kabutops_still_front_pic.4bpp.lz" @@ -5018,7 +4745,6 @@ gFile_graphics_pokemon_footprints_kabutops_footprint:: @ 8D91458 .incbin "graphics/pokemon/footprints/kabutops_footprint.1bpp" @ .incbin "baserom.gba", 0xD91458, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_aerodactyl_still_front_pic:: @ 8D91478 .incbin "graphics/pokemon/front_pics/aerodactyl_still_front_pic.4bpp.lz" @@ -5049,7 +4775,6 @@ gFile_graphics_pokemon_footprints_aerodactyl_footprint:: @ 8D9201C .incbin "graphics/pokemon/footprints/aerodactyl_footprint.1bpp" @ .incbin "baserom.gba", 0xD9201C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_snorlax_still_front_pic:: @ 8D9203C .incbin "graphics/pokemon/front_pics/snorlax_still_front_pic.4bpp.lz" @@ -5080,7 +4805,6 @@ gFile_graphics_pokemon_footprints_snorlax_footprint:: @ 8D92A7C .incbin "graphics/pokemon/footprints/snorlax_footprint.1bpp" @ .incbin "baserom.gba", 0xD92A7C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_articuno_still_front_pic:: @ 8D92A9C .incbin "graphics/pokemon/front_pics/articuno_still_front_pic.4bpp.lz" @@ -5111,7 +4835,6 @@ gFile_graphics_pokemon_footprints_articuno_footprint:: @ 8D93640 .incbin "graphics/pokemon/footprints/articuno_footprint.1bpp" @ .incbin "baserom.gba", 0xD93640, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_zapdos_still_front_pic:: @ 8D93660 .incbin "graphics/pokemon/front_pics/zapdos_still_front_pic.4bpp.lz" @@ -5142,7 +4865,6 @@ gFile_graphics_pokemon_footprints_zapdos_footprint:: @ 8D9423C .incbin "graphics/pokemon/footprints/zapdos_footprint.1bpp" @ .incbin "baserom.gba", 0xD9423C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_moltres_still_front_pic:: @ 8D9425C .incbin "graphics/pokemon/front_pics/moltres_still_front_pic.4bpp.lz" @@ -5173,7 +4895,6 @@ gFile_graphics_pokemon_footprints_moltres_footprint:: @ 8D94EB4 .incbin "graphics/pokemon/footprints/moltres_footprint.1bpp" @ .incbin "baserom.gba", 0xD94EB4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_dratini_still_front_pic:: @ 8D94ED4 .incbin "graphics/pokemon/front_pics/dratini_still_front_pic.4bpp.lz" @@ -5204,7 +4925,6 @@ gFile_graphics_pokemon_footprints_dratini_footprint:: @ 8D95868 .incbin "graphics/pokemon/footprints/dratini_footprint.1bpp" @ .incbin "baserom.gba", 0xD95868, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_dragonair_still_front_pic:: @ 8D95888 .incbin "graphics/pokemon/front_pics/dragonair_still_front_pic.4bpp.lz" @@ -5235,7 +4955,6 @@ gFile_graphics_pokemon_footprints_dragonair_footprint:: @ 8D96380 .incbin "graphics/pokemon/footprints/dragonair_footprint.1bpp" @ .incbin "baserom.gba", 0xD96380, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_dragonite_still_front_pic:: @ 8D963A0 .incbin "graphics/pokemon/front_pics/dragonite_still_front_pic.4bpp.lz" @@ -5266,7 +4985,6 @@ gFile_graphics_pokemon_footprints_dragonite_footprint:: @ 8D97038 .incbin "graphics/pokemon/footprints/dragonite_footprint.1bpp" @ .incbin "baserom.gba", 0xD97038, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_mewtwo_still_front_pic:: @ 8D97058 .incbin "graphics/pokemon/front_pics/mewtwo_still_front_pic.4bpp.lz" @@ -5297,7 +5015,6 @@ gFile_graphics_pokemon_footprints_mewtwo_footprint:: @ 8D97CA8 .incbin "graphics/pokemon/footprints/mewtwo_footprint.1bpp" @ .incbin "baserom.gba", 0xD97CA8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_mew_still_front_pic:: @ 8D97CC8 .incbin "graphics/pokemon/front_pics/mew_still_front_pic.4bpp.lz" @@ -5328,7 +5045,6 @@ gFile_graphics_pokemon_footprints_mew_footprint:: @ 8D98720 .incbin "graphics/pokemon/footprints/mew_footprint.1bpp" @ .incbin "baserom.gba", 0xD98720, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_chikorita_still_front_pic:: @ 8D98740 .incbin "graphics/pokemon/front_pics/chikorita_still_front_pic.4bpp.lz" @@ -5359,7 +5075,6 @@ gFile_graphics_pokemon_footprints_chikorita_footprint:: @ 8D990BC .incbin "graphics/pokemon/footprints/chikorita_footprint.1bpp" @ .incbin "baserom.gba", 0xD990BC, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_bayleef_still_front_pic:: @ 8D990DC .incbin "graphics/pokemon/front_pics/bayleef_still_front_pic.4bpp.lz" @@ -5390,7 +5105,6 @@ gFile_graphics_pokemon_footprints_bayleef_footprint:: @ 8D99C90 .incbin "graphics/pokemon/footprints/bayleef_footprint.1bpp" @ .incbin "baserom.gba", 0xD99C90, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_meganium_still_front_pic:: @ 8D99CB0 .incbin "graphics/pokemon/front_pics/meganium_still_front_pic.4bpp.lz" @@ -5421,7 +5135,6 @@ gFile_graphics_pokemon_footprints_meganium_footprint:: @ 8D9A9AC .incbin "graphics/pokemon/footprints/meganium_footprint.1bpp" @ .incbin "baserom.gba", 0xD9A9AC, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_cyndaquil_still_front_pic:: @ 8D9A9CC .incbin "graphics/pokemon/front_pics/cyndaquil_still_front_pic.4bpp.lz" @@ -5452,7 +5165,6 @@ gFile_graphics_pokemon_footprints_cyndaquil_footprint:: @ 8D9B3D4 .incbin "graphics/pokemon/footprints/cyndaquil_footprint.1bpp" @ .incbin "baserom.gba", 0xD9B3D4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_quilava_still_front_pic:: @ 8D9B3F4 .incbin "graphics/pokemon/front_pics/quilava_still_front_pic.4bpp.lz" @@ -5483,7 +5195,6 @@ gFile_graphics_pokemon_footprints_quilava_footprint:: @ 8D9BED4 .incbin "graphics/pokemon/footprints/quilava_footprint.1bpp" @ .incbin "baserom.gba", 0xD9BED4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_typhlosion_still_front_pic:: @ 8D9BEF4 .incbin "graphics/pokemon/front_pics/typhlosion_still_front_pic.4bpp.lz" @@ -5514,7 +5225,6 @@ gFile_graphics_pokemon_footprints_typhlosion_footprint:: @ 8D9CB70 .incbin "graphics/pokemon/footprints/typhlosion_footprint.1bpp" @ .incbin "baserom.gba", 0xD9CB70, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_totodile_still_front_pic:: @ 8D9CB90 .incbin "graphics/pokemon/front_pics/totodile_still_front_pic.4bpp.lz" @@ -5545,7 +5255,6 @@ gFile_graphics_pokemon_footprints_totodile_footprint:: @ 8D9D564 .incbin "graphics/pokemon/footprints/totodile_footprint.1bpp" @ .incbin "baserom.gba", 0xD9D564, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_croconaw_still_front_pic:: @ 8D9D584 .incbin "graphics/pokemon/front_pics/croconaw_still_front_pic.4bpp.lz" @@ -5576,7 +5285,6 @@ gFile_graphics_pokemon_footprints_croconaw_footprint:: @ 8D9E08C .incbin "graphics/pokemon/footprints/croconaw_footprint.1bpp" @ .incbin "baserom.gba", 0xD9E08C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_feraligatr_still_front_pic:: @ 8D9E0AC .incbin "graphics/pokemon/front_pics/feraligatr_still_front_pic.4bpp.lz" @@ -5607,7 +5315,6 @@ gFile_graphics_pokemon_footprints_feraligatr_footprint:: @ 8D9EF34 .incbin "graphics/pokemon/footprints/feraligatr_footprint.1bpp" @ .incbin "baserom.gba", 0xD9EF34, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_sentret_still_front_pic:: @ 8D9EF54 .incbin "graphics/pokemon/front_pics/sentret_still_front_pic.4bpp.lz" @@ -5638,7 +5345,6 @@ gFile_graphics_pokemon_footprints_sentret_footprint:: @ 8D9F924 .incbin "graphics/pokemon/footprints/sentret_footprint.1bpp" @ .incbin "baserom.gba", 0xD9F924, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_furret_still_front_pic:: @ 8D9F944 .incbin "graphics/pokemon/front_pics/furret_still_front_pic.4bpp.lz" @@ -5669,7 +5375,6 @@ gFile_graphics_pokemon_footprints_furret_footprint:: @ 8DA03F0 .incbin "graphics/pokemon/footprints/furret_footprint.1bpp" @ .incbin "baserom.gba", 0xDA03F0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_hoothoot_still_front_pic:: @ 8DA0410 .incbin "graphics/pokemon/front_pics/hoothoot_still_front_pic.4bpp.lz" @@ -5700,7 +5405,6 @@ gFile_graphics_pokemon_footprints_hoothoot_footprint:: @ 8DA0DEC .incbin "graphics/pokemon/footprints/hoothoot_footprint.1bpp" @ .incbin "baserom.gba", 0xDA0DEC, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_noctowl_still_front_pic:: @ 8DA0E0C .incbin "graphics/pokemon/front_pics/noctowl_still_front_pic.4bpp.lz" @@ -5731,7 +5435,6 @@ gFile_graphics_pokemon_footprints_noctowl_footprint:: @ 8DA190C .incbin "graphics/pokemon/footprints/noctowl_footprint.1bpp" @ .incbin "baserom.gba", 0xDA190C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_ledyba_still_front_pic:: @ 8DA192C .incbin "graphics/pokemon/front_pics/ledyba_still_front_pic.4bpp.lz" @@ -5762,7 +5465,6 @@ gFile_graphics_pokemon_footprints_ledyba_footprint:: @ 8DA23A0 .incbin "graphics/pokemon/footprints/ledyba_footprint.1bpp" @ .incbin "baserom.gba", 0xDA23A0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_ledian_still_front_pic:: @ 8DA23C0 .incbin "graphics/pokemon/front_pics/ledian_still_front_pic.4bpp.lz" @@ -5793,7 +5495,6 @@ gFile_graphics_pokemon_footprints_ledian_footprint:: @ 8DA2EF0 .incbin "graphics/pokemon/footprints/ledian_footprint.1bpp" @ .incbin "baserom.gba", 0xDA2EF0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_spinarak_still_front_pic:: @ 8DA2F10 .incbin "graphics/pokemon/front_pics/spinarak_still_front_pic.4bpp.lz" @@ -5824,7 +5525,6 @@ gFile_graphics_pokemon_footprints_spinarak_footprint:: @ 8DA3838 .incbin "graphics/pokemon/footprints/spinarak_footprint.1bpp" @ .incbin "baserom.gba", 0xDA3838, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_ariados_still_front_pic:: @ 8DA3858 .incbin "graphics/pokemon/front_pics/ariados_still_front_pic.4bpp.lz" @@ -5855,7 +5555,6 @@ gFile_graphics_pokemon_footprints_ariados_footprint:: @ 8DA43E0 .incbin "graphics/pokemon/footprints/ariados_footprint.1bpp" @ .incbin "baserom.gba", 0xDA43E0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_crobat_still_front_pic:: @ 8DA4400 .incbin "graphics/pokemon/front_pics/crobat_still_front_pic.4bpp.lz" @@ -5886,7 +5585,6 @@ gFile_graphics_pokemon_footprints_crobat_footprint:: @ 8DA4F08 .incbin "graphics/pokemon/footprints/crobat_footprint.1bpp" @ .incbin "baserom.gba", 0xDA4F08, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_chinchou_still_front_pic:: @ 8DA4F28 .incbin "graphics/pokemon/front_pics/chinchou_still_front_pic.4bpp.lz" @@ -5917,7 +5615,6 @@ gFile_graphics_pokemon_footprints_chinchou_footprint:: @ 8DA5948 .incbin "graphics/pokemon/footprints/chinchou_footprint.1bpp" @ .incbin "baserom.gba", 0xDA5948, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_lanturn_still_front_pic:: @ 8DA5968 .incbin "graphics/pokemon/front_pics/lanturn_still_front_pic.4bpp.lz" @@ -5948,7 +5645,6 @@ gFile_graphics_pokemon_footprints_lanturn_footprint:: @ 8DA6428 .incbin "graphics/pokemon/footprints/lanturn_footprint.1bpp" @ .incbin "baserom.gba", 0xDA6428, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_pichu_still_front_pic:: @ 8DA6448 .incbin "graphics/pokemon/front_pics/pichu_still_front_pic.4bpp.lz" @@ -5979,7 +5675,6 @@ gFile_graphics_pokemon_footprints_pichu_footprint:: @ 8DA6D10 .incbin "graphics/pokemon/footprints/pichu_footprint.1bpp" @ .incbin "baserom.gba", 0xDA6D10, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_cleffa_still_front_pic:: @ 8DA6D30 .incbin "graphics/pokemon/front_pics/cleffa_still_front_pic.4bpp.lz" @@ -6010,7 +5705,6 @@ gFile_graphics_pokemon_footprints_cleffa_footprint:: @ 8DA759C .incbin "graphics/pokemon/footprints/cleffa_footprint.1bpp" @ .incbin "baserom.gba", 0xDA759C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_igglybuff_still_front_pic:: @ 8DA75BC .incbin "graphics/pokemon/front_pics/igglybuff_still_front_pic.4bpp.lz" @@ -6041,7 +5735,6 @@ gFile_graphics_pokemon_footprints_igglybuff_footprint:: @ 8DA7E30 .incbin "graphics/pokemon/footprints/igglybuff_footprint.1bpp" @ .incbin "baserom.gba", 0xDA7E30, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_togepi_still_front_pic:: @ 8DA7E50 .incbin "graphics/pokemon/front_pics/togepi_still_front_pic.4bpp.lz" @@ -6072,7 +5765,6 @@ gFile_graphics_pokemon_footprints_togepi_footprint:: @ 8DA86E8 .incbin "graphics/pokemon/footprints/togepi_footprint.1bpp" @ .incbin "baserom.gba", 0xDA86E8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_togetic_still_front_pic:: @ 8DA8708 .incbin "graphics/pokemon/front_pics/togetic_still_front_pic.4bpp.lz" @@ -6103,7 +5795,6 @@ gFile_graphics_pokemon_footprints_togetic_footprint:: @ 8DA90F8 .incbin "graphics/pokemon/footprints/togetic_footprint.1bpp" @ .incbin "baserom.gba", 0xDA90F8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_natu_still_front_pic:: @ 8DA9118 .incbin "graphics/pokemon/front_pics/natu_still_front_pic.4bpp.lz" @@ -6134,7 +5825,6 @@ gFile_graphics_pokemon_footprints_natu_footprint:: @ 8DA9948 .incbin "graphics/pokemon/footprints/natu_footprint.1bpp" @ .incbin "baserom.gba", 0xDA9948, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_xatu_still_front_pic:: @ 8DA9968 .incbin "graphics/pokemon/front_pics/xatu_still_front_pic.4bpp.lz" @@ -6165,7 +5855,6 @@ gFile_graphics_pokemon_footprints_xatu_footprint:: @ 8DAA40C .incbin "graphics/pokemon/footprints/xatu_footprint.1bpp" @ .incbin "baserom.gba", 0xDAA40C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_mareep_still_front_pic:: @ 8DAA42C .incbin "graphics/pokemon/front_pics/mareep_still_front_pic.4bpp.lz" @@ -6196,7 +5885,6 @@ gFile_graphics_pokemon_footprints_mareep_footprint:: @ 8DAAE24 .incbin "graphics/pokemon/footprints/mareep_footprint.1bpp" @ .incbin "baserom.gba", 0xDAAE24, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_flaaffy_still_front_pic:: @ 8DAAE44 .incbin "graphics/pokemon/front_pics/flaaffy_still_front_pic.4bpp.lz" @@ -6227,7 +5915,6 @@ gFile_graphics_pokemon_footprints_flaaffy_footprint:: @ 8DAB8B0 .incbin "graphics/pokemon/footprints/flaaffy_footprint.1bpp" @ .incbin "baserom.gba", 0xDAB8B0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_ampharos_still_front_pic:: @ 8DAB8D0 .incbin "graphics/pokemon/front_pics/ampharos_still_front_pic.4bpp.lz" @@ -6258,7 +5945,6 @@ gFile_graphics_pokemon_footprints_ampharos_footprint:: @ 8DAC3F4 .incbin "graphics/pokemon/footprints/ampharos_footprint.1bpp" @ .incbin "baserom.gba", 0xDAC3F4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_bellossom_still_front_pic:: @ 8DAC414 .incbin "graphics/pokemon/front_pics/bellossom_still_front_pic.4bpp.lz" @@ -6289,7 +5975,6 @@ gFile_graphics_pokemon_footprints_bellossom_footprint:: @ 8DACDF8 .incbin "graphics/pokemon/footprints/bellossom_footprint.1bpp" @ .incbin "baserom.gba", 0xDACDF8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_marill_still_front_pic:: @ 8DACE18 .incbin "graphics/pokemon/front_pics/marill_still_front_pic.4bpp.lz" @@ -6320,7 +6005,6 @@ gFile_graphics_pokemon_footprints_marill_footprint:: @ 8DAD7D8 .incbin "graphics/pokemon/footprints/marill_footprint.1bpp" @ .incbin "baserom.gba", 0xDAD7D8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_azumarill_still_front_pic:: @ 8DAD7F8 .incbin "graphics/pokemon/front_pics/azumarill_still_front_pic.4bpp.lz" @@ -6351,7 +6035,6 @@ gFile_graphics_pokemon_footprints_azumarill_footprint:: @ 8DAE204 .incbin "graphics/pokemon/footprints/azumarill_footprint.1bpp" @ .incbin "baserom.gba", 0xDAE204, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_sudowoodo_still_front_pic:: @ 8DAE224 .incbin "graphics/pokemon/front_pics/sudowoodo_still_front_pic.4bpp.lz" @@ -6382,7 +6065,6 @@ gFile_graphics_pokemon_footprints_sudowoodo_footprint:: @ 8DAECE8 .incbin "graphics/pokemon/footprints/sudowoodo_footprint.1bpp" @ .incbin "baserom.gba", 0xDAECE8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_politoed_still_front_pic:: @ 8DAED08 .incbin "graphics/pokemon/front_pics/politoed_still_front_pic.4bpp.lz" @@ -6413,7 +6095,6 @@ gFile_graphics_pokemon_footprints_politoed_footprint:: @ 8DAF750 .incbin "graphics/pokemon/footprints/politoed_footprint.1bpp" @ .incbin "baserom.gba", 0xDAF750, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_hoppip_still_front_pic:: @ 8DAF770 .incbin "graphics/pokemon/front_pics/hoppip_still_front_pic.4bpp.lz" @@ -6444,7 +6125,6 @@ gFile_graphics_pokemon_footprints_hoppip_footprint:: @ 8DB0154 .incbin "graphics/pokemon/footprints/hoppip_footprint.1bpp" @ .incbin "baserom.gba", 0xDB0154, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_skiploom_still_front_pic:: @ 8DB0174 .incbin "graphics/pokemon/front_pics/skiploom_still_front_pic.4bpp.lz" @@ -6475,7 +6155,6 @@ gFile_graphics_pokemon_footprints_skiploom_footprint:: @ 8DB0B2C .incbin "graphics/pokemon/footprints/skiploom_footprint.1bpp" @ .incbin "baserom.gba", 0xDB0B2C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_jumpluff_still_front_pic:: @ 8DB0B4C .incbin "graphics/pokemon/front_pics/jumpluff_still_front_pic.4bpp.lz" @@ -6506,7 +6185,6 @@ gFile_graphics_pokemon_footprints_jumpluff_footprint:: @ 8DB1700 .incbin "graphics/pokemon/footprints/jumpluff_footprint.1bpp" @ .incbin "baserom.gba", 0xDB1700, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_aipom_still_front_pic:: @ 8DB1720 .incbin "graphics/pokemon/front_pics/aipom_still_front_pic.4bpp.lz" @@ -6537,7 +6215,6 @@ gFile_graphics_pokemon_footprints_aipom_footprint:: @ 8DB2160 .incbin "graphics/pokemon/footprints/aipom_footprint.1bpp" @ .incbin "baserom.gba", 0xDB2160, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_sunkern_still_front_pic:: @ 8DB2180 .incbin "graphics/pokemon/front_pics/sunkern_still_front_pic.4bpp.lz" @@ -6568,7 +6245,6 @@ gFile_graphics_pokemon_footprints_sunkern_footprint:: @ 8DB2ACC .incbin "graphics/pokemon/footprints/sunkern_footprint.1bpp" @ .incbin "baserom.gba", 0xDB2ACC, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_sunflora_still_front_pic:: @ 8DB2AEC .incbin "graphics/pokemon/front_pics/sunflora_still_front_pic.4bpp.lz" @@ -6599,7 +6275,6 @@ gFile_graphics_pokemon_footprints_sunflora_footprint:: @ 8DB3634 .incbin "graphics/pokemon/footprints/sunflora_footprint.1bpp" @ .incbin "baserom.gba", 0xDB3634, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_yanma_still_front_pic:: @ 8DB3654 .incbin "graphics/pokemon/front_pics/yanma_still_front_pic.4bpp.lz" @@ -6630,7 +6305,6 @@ gFile_graphics_pokemon_footprints_yanma_footprint:: @ 8DB41DC .incbin "graphics/pokemon/footprints/yanma_footprint.1bpp" @ .incbin "baserom.gba", 0xDB41DC, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_wooper_still_front_pic:: @ 8DB41FC .incbin "graphics/pokemon/front_pics/wooper_still_front_pic.4bpp.lz" @@ -6661,7 +6335,6 @@ gFile_graphics_pokemon_footprints_wooper_footprint:: @ 8DB4B18 .incbin "graphics/pokemon/footprints/wooper_footprint.1bpp" @ .incbin "baserom.gba", 0xDB4B18, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_quagsire_still_front_pic:: @ 8DB4B38 .incbin "graphics/pokemon/front_pics/quagsire_still_front_pic.4bpp.lz" @@ -6692,7 +6365,6 @@ gFile_graphics_pokemon_footprints_quagsire_footprint:: @ 8DB55F8 .incbin "graphics/pokemon/footprints/quagsire_footprint.1bpp" @ .incbin "baserom.gba", 0xDB55F8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_espeon_still_front_pic:: @ 8DB5618 .incbin "graphics/pokemon/front_pics/espeon_still_front_pic.4bpp.lz" @@ -6723,7 +6395,6 @@ gFile_graphics_pokemon_footprints_espeon_footprint:: @ 8DB607C .incbin "graphics/pokemon/footprints/espeon_footprint.1bpp" @ .incbin "baserom.gba", 0xDB607C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_umbreon_still_front_pic:: @ 8DB609C .incbin "graphics/pokemon/front_pics/umbreon_still_front_pic.4bpp.lz" @@ -6754,7 +6425,6 @@ gFile_graphics_pokemon_footprints_umbreon_footprint:: @ 8DB6B14 .incbin "graphics/pokemon/footprints/umbreon_footprint.1bpp" @ .incbin "baserom.gba", 0xDB6B14, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_murkrow_still_front_pic:: @ 8DB6B34 .incbin "graphics/pokemon/front_pics/murkrow_still_front_pic.4bpp.lz" @@ -6785,7 +6455,6 @@ gFile_graphics_pokemon_footprints_murkrow_footprint:: @ 8DB757C .incbin "graphics/pokemon/footprints/murkrow_footprint.1bpp" @ .incbin "baserom.gba", 0xDB757C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_slowking_still_front_pic:: @ 8DB759C .incbin "graphics/pokemon/front_pics/slowking_still_front_pic.4bpp.lz" @@ -6816,7 +6485,6 @@ gFile_graphics_pokemon_footprints_slowking_footprint:: @ 8DB812C .incbin "graphics/pokemon/footprints/slowking_footprint.1bpp" @ .incbin "baserom.gba", 0xDB812C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_misdreavus_still_front_pic:: @ 8DB814C .incbin "graphics/pokemon/front_pics/misdreavus_still_front_pic.4bpp.lz" @@ -6847,7 +6515,6 @@ gFile_graphics_pokemon_footprints_misdreavus_footprint:: @ 8DB8B80 .incbin "graphics/pokemon/footprints/misdreavus_footprint.1bpp" @ .incbin "baserom.gba", 0xDB8B80, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_unown_a_still_front_pic:: @ 8DB8BA0 .incbin "graphics/pokemon/front_pics/unown_a_still_front_pic.4bpp.lz" @@ -6878,7 +6545,6 @@ gFile_graphics_pokemon_footprints_unown_footprint:: @ 8DB93B4 .incbin "graphics/pokemon/footprints/unown_footprint.1bpp" @ .incbin "baserom.gba", 0xDB93B4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_wobbuffet_still_front_pic:: @ 8DB93D4 .incbin "graphics/pokemon/front_pics/wobbuffet_still_front_pic.4bpp.lz" @@ -6909,7 +6575,6 @@ gFile_graphics_pokemon_footprints_wobbuffet_footprint:: @ 8DB9DB8 .incbin "graphics/pokemon/footprints/wobbuffet_footprint.1bpp" @ .incbin "baserom.gba", 0xDB9DB8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_girafarig_still_front_pic:: @ 8DB9DD8 .incbin "graphics/pokemon/front_pics/girafarig_still_front_pic.4bpp.lz" @@ -6940,7 +6605,6 @@ gFile_graphics_pokemon_footprints_girafarig_footprint:: @ 8DBA9D8 .incbin "graphics/pokemon/footprints/girafarig_footprint.1bpp" @ .incbin "baserom.gba", 0xDBA9D8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_pineco_still_front_pic:: @ 8DBA9F8 .incbin "graphics/pokemon/front_pics/pineco_still_front_pic.4bpp.lz" @@ -6971,7 +6635,6 @@ gFile_graphics_pokemon_footprints_pineco_footprint:: @ 8DBB458 .incbin "graphics/pokemon/footprints/pineco_footprint.1bpp" @ .incbin "baserom.gba", 0xDBB458, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_forretress_still_front_pic:: @ 8DBB478 .incbin "graphics/pokemon/front_pics/forretress_still_front_pic.4bpp.lz" @@ -7002,7 +6665,6 @@ gFile_graphics_pokemon_footprints_forretress_footprint:: @ 8DBBFA4 .incbin "graphics/pokemon/footprints/forretress_footprint.1bpp" @ .incbin "baserom.gba", 0xDBBFA4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_dunsparce_still_front_pic:: @ 8DBBFC4 .incbin "graphics/pokemon/front_pics/dunsparce_still_front_pic.4bpp.lz" @@ -7033,7 +6695,6 @@ gFile_graphics_pokemon_footprints_dunsparce_footprint:: @ 8DBCA20 .incbin "graphics/pokemon/footprints/dunsparce_footprint.1bpp" @ .incbin "baserom.gba", 0xDBCA20, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_gligar_still_front_pic:: @ 8DBCA40 .incbin "graphics/pokemon/front_pics/gligar_still_front_pic.4bpp.lz" @@ -7064,7 +6725,6 @@ gFile_graphics_pokemon_footprints_gligar_footprint:: @ 8DBD690 .incbin "graphics/pokemon/footprints/gligar_footprint.1bpp" @ .incbin "baserom.gba", 0xDBD690, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_steelix_still_front_pic:: @ 8DBD6B0 .incbin "graphics/pokemon/front_pics/steelix_still_front_pic.4bpp.lz" @@ -7095,7 +6755,6 @@ gFile_graphics_pokemon_footprints_steelix_footprint:: @ 8DBE3CC .incbin "graphics/pokemon/footprints/steelix_footprint.1bpp" @ .incbin "baserom.gba", 0xDBE3CC, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_snubbull_still_front_pic:: @ 8DBE3EC .incbin "graphics/pokemon/front_pics/snubbull_still_front_pic.4bpp.lz" @@ -7126,7 +6785,6 @@ gFile_graphics_pokemon_footprints_snubbull_footprint:: @ 8DBEE38 .incbin "graphics/pokemon/footprints/snubbull_footprint.1bpp" @ .incbin "baserom.gba", 0xDBEE38, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_granbull_still_front_pic:: @ 8DBEE58 .incbin "graphics/pokemon/front_pics/granbull_still_front_pic.4bpp.lz" @@ -7157,7 +6815,6 @@ gFile_graphics_pokemon_footprints_granbull_footprint:: @ 8DBF958 .incbin "graphics/pokemon/footprints/granbull_footprint.1bpp" @ .incbin "baserom.gba", 0xDBF958, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_qwilfish_still_front_pic:: @ 8DBF978 .incbin "graphics/pokemon/front_pics/qwilfish_still_front_pic.4bpp.lz" @@ -7188,7 +6845,6 @@ gFile_graphics_pokemon_footprints_qwilfish_footprint:: @ 8DC0368 .incbin "graphics/pokemon/footprints/qwilfish_footprint.1bpp" @ .incbin "baserom.gba", 0xDC0368, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_scizor_still_front_pic:: @ 8DC0388 .incbin "graphics/pokemon/front_pics/scizor_still_front_pic.4bpp.lz" @@ -7219,7 +6875,6 @@ gFile_graphics_pokemon_footprints_scizor_footprint:: @ 8DC1040 .incbin "graphics/pokemon/footprints/scizor_footprint.1bpp" @ .incbin "baserom.gba", 0xDC1040, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_shuckle_still_front_pic:: @ 8DC1060 .incbin "graphics/pokemon/front_pics/shuckle_still_front_pic.4bpp.lz" @@ -7250,7 +6905,6 @@ gFile_graphics_pokemon_footprints_shuckle_footprint:: @ 8DC19D0 .incbin "graphics/pokemon/footprints/shuckle_footprint.1bpp" @ .incbin "baserom.gba", 0xDC19D0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_heracross_still_front_pic:: @ 8DC19F0 .incbin "graphics/pokemon/front_pics/heracross_still_front_pic.4bpp.lz" @@ -7284,7 +6938,6 @@ gFile_graphics_pokemon_footprints_heracross_footprint:: @ 8DC29A0 .incbin "graphics/pokemon/footprints/heracross_footprint.1bpp" @ .incbin "baserom.gba", 0xDC29A0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_sneasel_still_front_pic:: @ 8DC29C0 .incbin "graphics/pokemon/front_pics/sneasel_still_front_pic.4bpp.lz" @@ -7315,7 +6968,6 @@ gFile_graphics_pokemon_footprints_sneasel_footprint:: @ 8DC3478 .incbin "graphics/pokemon/footprints/sneasel_footprint.1bpp" @ .incbin "baserom.gba", 0xDC3478, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_teddiursa_still_front_pic:: @ 8DC3498 .incbin "graphics/pokemon/front_pics/teddiursa_still_front_pic.4bpp.lz" @@ -7346,7 +6998,6 @@ gFile_graphics_pokemon_footprints_teddiursa_footprint:: @ 8DC3E08 .incbin "graphics/pokemon/footprints/teddiursa_footprint.1bpp" @ .incbin "baserom.gba", 0xDC3E08, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_ursaring_still_front_pic:: @ 8DC3E28 .incbin "graphics/pokemon/front_pics/ursaring_still_front_pic.4bpp.lz" @@ -7377,7 +7028,6 @@ gFile_graphics_pokemon_footprints_ursaring_footprint:: @ 8DC4A38 .incbin "graphics/pokemon/footprints/ursaring_footprint.1bpp" @ .incbin "baserom.gba", 0xDC4A38, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_slugma_still_front_pic:: @ 8DC4A58 .incbin "graphics/pokemon/front_pics/slugma_still_front_pic.4bpp.lz" @@ -7408,7 +7058,6 @@ gFile_graphics_pokemon_footprints_slugma_footprint:: @ 8DC53FC .incbin "graphics/pokemon/footprints/slugma_footprint.1bpp" @ .incbin "baserom.gba", 0xDC53FC, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_magcargo_still_front_pic:: @ 8DC541C .incbin "graphics/pokemon/front_pics/magcargo_still_front_pic.4bpp.lz" @@ -7439,7 +7088,6 @@ gFile_graphics_pokemon_footprints_magcargo_footprint:: @ 8DC5FCC .incbin "graphics/pokemon/footprints/magcargo_footprint.1bpp" @ .incbin "baserom.gba", 0xDC5FCC, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_swinub_still_front_pic:: @ 8DC5FEC .incbin "graphics/pokemon/front_pics/swinub_still_front_pic.4bpp.lz" @@ -7470,7 +7118,6 @@ gFile_graphics_pokemon_footprints_swinub_footprint:: @ 8DC6874 .incbin "graphics/pokemon/footprints/swinub_footprint.1bpp" @ .incbin "baserom.gba", 0xDC6874, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_piloswine_still_front_pic:: @ 8DC6894 .incbin "graphics/pokemon/front_pics/piloswine_still_front_pic.4bpp.lz" @@ -7501,7 +7148,6 @@ gFile_graphics_pokemon_footprints_piloswine_footprint:: @ 8DC7258 .incbin "graphics/pokemon/footprints/piloswine_footprint.1bpp" @ .incbin "baserom.gba", 0xDC7258, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_corsola_still_front_pic:: @ 8DC7278 .incbin "graphics/pokemon/front_pics/corsola_still_front_pic.4bpp.lz" @@ -7532,7 +7178,6 @@ gFile_graphics_pokemon_footprints_corsola_footprint:: @ 8DC7C70 .incbin "graphics/pokemon/footprints/corsola_footprint.1bpp" @ .incbin "baserom.gba", 0xDC7C70, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_remoraid_still_front_pic:: @ 8DC7C90 .incbin "graphics/pokemon/front_pics/remoraid_still_front_pic.4bpp.lz" @@ -7563,7 +7208,6 @@ gFile_graphics_pokemon_footprints_remoraid_footprint:: @ 8DC865C .incbin "graphics/pokemon/footprints/remoraid_footprint.1bpp" @ .incbin "baserom.gba", 0xDC865C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_octillery_still_front_pic:: @ 8DC867C .incbin "graphics/pokemon/front_pics/octillery_still_front_pic.4bpp.lz" @@ -7594,7 +7238,6 @@ gFile_graphics_pokemon_footprints_octillery_footprint:: @ 8DC90B8 .incbin "graphics/pokemon/footprints/octillery_footprint.1bpp" @ .incbin "baserom.gba", 0xDC90B8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_delibird_still_front_pic:: @ 8DC90D8 .incbin "graphics/pokemon/front_pics/delibird_still_front_pic.4bpp.lz" @@ -7625,7 +7268,6 @@ gFile_graphics_pokemon_footprints_delibird_footprint:: @ 8DC9C58 .incbin "graphics/pokemon/footprints/delibird_footprint.1bpp" @ .incbin "baserom.gba", 0xDC9C58, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_mantine_still_front_pic:: @ 8DC9C78 .incbin "graphics/pokemon/front_pics/mantine_still_front_pic.4bpp.lz" @@ -7656,7 +7298,6 @@ gFile_graphics_pokemon_footprints_mantine_footprint:: @ 8DCA804 .incbin "graphics/pokemon/footprints/mantine_footprint.1bpp" @ .incbin "baserom.gba", 0xDCA804, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_skarmory_still_front_pic:: @ 8DCA824 .incbin "graphics/pokemon/front_pics/skarmory_still_front_pic.4bpp.lz" @@ -7687,7 +7328,6 @@ gFile_graphics_pokemon_footprints_skarmory_footprint:: @ 8DCB458 .incbin "graphics/pokemon/footprints/skarmory_footprint.1bpp" @ .incbin "baserom.gba", 0xDCB458, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_houndour_still_front_pic:: @ 8DCB478 .incbin "graphics/pokemon/front_pics/houndour_still_front_pic.4bpp.lz" @@ -7718,7 +7358,6 @@ gFile_graphics_pokemon_footprints_houndour_footprint:: @ 8DCBE00 .incbin "graphics/pokemon/footprints/houndour_footprint.1bpp" @ .incbin "baserom.gba", 0xDCBE00, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_houndoom_still_front_pic:: @ 8DCBE20 .incbin "graphics/pokemon/front_pics/houndoom_still_front_pic.4bpp.lz" @@ -7749,7 +7388,6 @@ gFile_graphics_pokemon_footprints_houndoom_footprint:: @ 8DCC994 .incbin "graphics/pokemon/footprints/houndoom_footprint.1bpp" @ .incbin "baserom.gba", 0xDCC994, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_kingdra_still_front_pic:: @ 8DCC9B4 .incbin "graphics/pokemon/front_pics/kingdra_still_front_pic.4bpp.lz" @@ -7780,7 +7418,6 @@ gFile_graphics_pokemon_footprints_kingdra_footprint:: @ 8DCD5D8 .incbin "graphics/pokemon/footprints/kingdra_footprint.1bpp" @ .incbin "baserom.gba", 0xDCD5D8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_phanpy_still_front_pic:: @ 8DCD5F8 .incbin "graphics/pokemon/front_pics/phanpy_still_front_pic.4bpp.lz" @@ -7811,7 +7448,6 @@ gFile_graphics_pokemon_footprints_phanpy_footprint:: @ 8DCDF68 .incbin "graphics/pokemon/footprints/phanpy_footprint.1bpp" @ .incbin "baserom.gba", 0xDCDF68, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_donphan_still_front_pic:: @ 8DCDF88 .incbin "graphics/pokemon/front_pics/donphan_still_front_pic.4bpp.lz" @@ -7842,7 +7478,6 @@ gFile_graphics_pokemon_footprints_donphan_footprint:: @ 8DCEB48 .incbin "graphics/pokemon/footprints/donphan_footprint.1bpp" @ .incbin "baserom.gba", 0xDCEB48, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_porygon2_still_front_pic:: @ 8DCEB68 .incbin "graphics/pokemon/front_pics/porygon2_still_front_pic.4bpp.lz" @@ -7873,7 +7508,6 @@ gFile_graphics_pokemon_footprints_porygon2_footprint:: @ 8DCF55C .incbin "graphics/pokemon/footprints/porygon2_footprint.1bpp" @ .incbin "baserom.gba", 0xDCF55C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_stantler_still_front_pic:: @ 8DCF57C .incbin "graphics/pokemon/front_pics/stantler_still_front_pic.4bpp.lz" @@ -7904,7 +7538,6 @@ gFile_graphics_pokemon_footprints_stantler_footprint:: @ 8DD012C .incbin "graphics/pokemon/footprints/stantler_footprint.1bpp" @ .incbin "baserom.gba", 0xDD012C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_smeargle_still_front_pic:: @ 8DD014C .incbin "graphics/pokemon/front_pics/smeargle_still_front_pic.4bpp.lz" @@ -7935,7 +7568,6 @@ gFile_graphics_pokemon_footprints_smeargle_footprint:: @ 8DD0C54 .incbin "graphics/pokemon/footprints/smeargle_footprint.1bpp" @ .incbin "baserom.gba", 0xDD0C54, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_tyrogue_still_front_pic:: @ 8DD0C74 .incbin "graphics/pokemon/front_pics/tyrogue_still_front_pic.4bpp.lz" @@ -7966,7 +7598,6 @@ gFile_graphics_pokemon_footprints_tyrogue_footprint:: @ 8DD166C .incbin "graphics/pokemon/footprints/tyrogue_footprint.1bpp" @ .incbin "baserom.gba", 0xDD166C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_hitmontop_still_front_pic:: @ 8DD168C .incbin "graphics/pokemon/front_pics/hitmontop_still_front_pic.4bpp.lz" @@ -8001,7 +7632,6 @@ gFile_graphics_pokemon_footprints_hitmontop_footprint:: @ 8DD2490 .incbin "graphics/pokemon/footprints/hitmontop_footprint.1bpp" @ .incbin "baserom.gba", 0xDD2490, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_smoochum_still_front_pic:: @ 8DD24B0 .incbin "graphics/pokemon/front_pics/smoochum_still_front_pic.4bpp.lz" @@ -8032,7 +7662,6 @@ gFile_graphics_pokemon_footprints_smoochum_footprint:: @ 8DD2DD0 .incbin "graphics/pokemon/footprints/smoochum_footprint.1bpp" @ .incbin "baserom.gba", 0xDD2DD0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_elekid_still_front_pic:: @ 8DD2DF0 .incbin "graphics/pokemon/front_pics/elekid_still_front_pic.4bpp.lz" @@ -8063,7 +7692,6 @@ gFile_graphics_pokemon_footprints_elekid_footprint:: @ 8DD38A0 .incbin "graphics/pokemon/footprints/elekid_footprint.1bpp" @ .incbin "baserom.gba", 0xDD38A0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_magby_still_front_pic:: @ 8DD38C0 .incbin "graphics/pokemon/front_pics/magby_still_front_pic.4bpp.lz" @@ -8094,7 +7722,6 @@ gFile_graphics_pokemon_footprints_magby_footprint:: @ 8DD4240 .incbin "graphics/pokemon/footprints/magby_footprint.1bpp" @ .incbin "baserom.gba", 0xDD4240, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_miltank_still_front_pic:: @ 8DD4260 .incbin "graphics/pokemon/front_pics/miltank_still_front_pic.4bpp.lz" @@ -8125,7 +7752,6 @@ gFile_graphics_pokemon_footprints_miltank_footprint:: @ 8DD4DFC .incbin "graphics/pokemon/footprints/miltank_footprint.1bpp" @ .incbin "baserom.gba", 0xDD4DFC, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_blissey_still_front_pic:: @ 8DD4E1C .incbin "graphics/pokemon/front_pics/blissey_still_front_pic.4bpp.lz" @@ -8156,7 +7782,6 @@ gFile_graphics_pokemon_footprints_blissey_footprint:: @ 8DD5920 .incbin "graphics/pokemon/footprints/blissey_footprint.1bpp" @ .incbin "baserom.gba", 0xDD5920, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_raikou_still_front_pic:: @ 8DD5940 .incbin "graphics/pokemon/front_pics/raikou_still_front_pic.4bpp.lz" @@ -8187,7 +7812,6 @@ gFile_graphics_pokemon_footprints_raikou_footprint:: @ 8DD66B4 .incbin "graphics/pokemon/footprints/raikou_footprint.1bpp" @ .incbin "baserom.gba", 0xDD66B4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_entei_still_front_pic:: @ 8DD66D4 .incbin "graphics/pokemon/front_pics/entei_still_front_pic.4bpp.lz" @@ -8218,7 +7842,6 @@ gFile_graphics_pokemon_footprints_entei_footprint:: @ 8DD7544 .incbin "graphics/pokemon/footprints/entei_footprint.1bpp" @ .incbin "baserom.gba", 0xDD7544, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_suicune_still_front_pic:: @ 8DD7564 .incbin "graphics/pokemon/front_pics/suicune_still_front_pic.4bpp.lz" @@ -8249,7 +7872,6 @@ gFile_graphics_pokemon_footprints_suicune_footprint:: @ 8DD8414 .incbin "graphics/pokemon/footprints/suicune_footprint.1bpp" @ .incbin "baserom.gba", 0xDD8414, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_larvitar_still_front_pic:: @ 8DD8434 .incbin "graphics/pokemon/front_pics/larvitar_still_front_pic.4bpp.lz" @@ -8280,7 +7902,6 @@ gFile_graphics_pokemon_footprints_larvitar_footprint:: @ 8DD8D8C .incbin "graphics/pokemon/footprints/larvitar_footprint.1bpp" @ .incbin "baserom.gba", 0xDD8D8C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_pupitar_still_front_pic:: @ 8DD8DAC .incbin "graphics/pokemon/front_pics/pupitar_still_front_pic.4bpp.lz" @@ -8311,7 +7932,6 @@ gFile_graphics_pokemon_footprints_pupitar_footprint:: @ 8DD9824 .incbin "graphics/pokemon/footprints/pupitar_footprint.1bpp" @ .incbin "baserom.gba", 0xDD9824, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_tyranitar_still_front_pic:: @ 8DD9844 .incbin "graphics/pokemon/front_pics/tyranitar_still_front_pic.4bpp.lz" @@ -8342,7 +7962,6 @@ gFile_graphics_pokemon_footprints_tyranitar_footprint:: @ 8DDA5BC .incbin "graphics/pokemon/footprints/tyranitar_footprint.1bpp" @ .incbin "baserom.gba", 0xDDA5BC, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_lugia_still_front_pic:: @ 8DDA5DC .incbin "graphics/pokemon/front_pics/lugia_still_front_pic.4bpp.lz" @@ -8373,7 +7992,6 @@ gFile_graphics_pokemon_footprints_lugia_footprint:: @ 8DDB2C4 .incbin "graphics/pokemon/footprints/lugia_footprint.1bpp" @ .incbin "baserom.gba", 0xDDB2C4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_ho_oh_still_front_pic:: @ 8DDB2E4 .incbin "graphics/pokemon/front_pics/ho_oh_still_front_pic.4bpp.lz" @@ -8404,7 +8022,6 @@ gFile_graphics_pokemon_footprints_ho_oh_footprint:: @ 8DDC198 .incbin "graphics/pokemon/footprints/ho_oh_footprint.1bpp" @ .incbin "baserom.gba", 0xDDC198, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_celebi_still_front_pic:: @ 8DDC1B8 .incbin "graphics/pokemon/front_pics/celebi_still_front_pic.4bpp.lz" @@ -8435,7 +8052,6 @@ gFile_graphics_pokemon_footprints_celebi_footprint:: @ 8DDCC2C .incbin "graphics/pokemon/footprints/celebi_footprint.1bpp" @ .incbin "baserom.gba", 0xDDCC2C, 0x0020 - .align 2 gFile_graphics_pokemon_back_pics_double_question_mark_back_pic:: @ 8DDCC4C .incbin "graphics/pokemon/back_pics/double_question_mark_back_pic.4bpp.lz" @@ -8456,7 +8072,6 @@ gFile_graphics_pokemon_palettes_double_question_mark_shiny_palette:: @ 8DDCF68 .incbin "graphics/pokemon/palettes/double_question_mark_shiny_palette.gbapal.lz" @ .incbin "baserom.gba", 0xDDCF68, 0x0014 - .align 2 gFile_graphics_pokemon_front_pics_treecko_still_front_pic:: @ 8DDCF7C .incbin "graphics/pokemon/front_pics/treecko_still_front_pic.4bpp.lz" @@ -8487,7 +8102,6 @@ gFile_graphics_pokemon_footprints_treecko_footprint:: @ 8DDD9D4 .incbin "graphics/pokemon/footprints/treecko_footprint.1bpp" @ .incbin "baserom.gba", 0xDDD9D4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_grovyle_still_front_pic:: @ 8DDD9F4 .incbin "graphics/pokemon/front_pics/grovyle_still_front_pic.4bpp.lz" @@ -8518,7 +8132,6 @@ gFile_graphics_pokemon_footprints_grovyle_footprint:: @ 8DDE60C .incbin "graphics/pokemon/footprints/grovyle_footprint.1bpp" @ .incbin "baserom.gba", 0xDDE60C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_sceptile_still_front_pic:: @ 8DDE62C .incbin "graphics/pokemon/front_pics/sceptile_still_front_pic.4bpp.lz" @@ -8549,7 +8162,6 @@ gFile_graphics_pokemon_footprints_sceptile_footprint:: @ 8DDF37C .incbin "graphics/pokemon/footprints/sceptile_footprint.1bpp" @ .incbin "baserom.gba", 0xDDF37C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_torchic_still_front_pic:: @ 8DDF39C .incbin "graphics/pokemon/front_pics/torchic_still_front_pic.4bpp.lz" @@ -8580,7 +8192,6 @@ gFile_graphics_pokemon_footprints_torchic_footprint:: @ 8DDFD60 .incbin "graphics/pokemon/footprints/torchic_footprint.1bpp" @ .incbin "baserom.gba", 0xDDFD60, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_combusken_still_front_pic:: @ 8DDFD80 .incbin "graphics/pokemon/front_pics/combusken_still_front_pic.4bpp.lz" @@ -8611,7 +8222,6 @@ gFile_graphics_pokemon_footprints_combusken_footprint:: @ 8DE098C .incbin "graphics/pokemon/footprints/combusken_footprint.1bpp" @ .incbin "baserom.gba", 0xDE098C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_blaziken_still_front_pic:: @ 8DE09AC @ .incbin "graphics/pokemon/front_pics/blaziken_still_front_pic.4bpp.lz" @@ -8642,7 +8252,6 @@ gFile_graphics_pokemon_footprints_blaziken_footprint:: @ 8DE1650 .incbin "graphics/pokemon/footprints/blaziken_footprint.1bpp" @ .incbin "baserom.gba", 0xDE1650, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_mudkip_still_front_pic:: @ 8DE1670 .incbin "graphics/pokemon/front_pics/mudkip_still_front_pic.4bpp.lz" @@ -8673,7 +8282,6 @@ gFile_graphics_pokemon_footprints_mudkip_footprint:: @ 8DE2058 .incbin "graphics/pokemon/footprints/mudkip_footprint.1bpp" @ .incbin "baserom.gba", 0xDE2058, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_marshtomp_still_front_pic:: @ 8DE2078 .incbin "graphics/pokemon/front_pics/marshtomp_still_front_pic.4bpp.lz" @@ -8704,7 +8312,6 @@ gFile_graphics_pokemon_footprints_marshtomp_footprint:: @ 8DE2C00 .incbin "graphics/pokemon/footprints/marshtomp_footprint.1bpp" @ .incbin "baserom.gba", 0xDE2C00, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_swampert_still_front_pic:: @ 8DE2C20 .incbin "graphics/pokemon/front_pics/swampert_still_front_pic.4bpp.lz" @@ -8735,7 +8342,6 @@ gFile_graphics_pokemon_footprints_swampert_footprint:: @ 8DE39A0 .incbin "graphics/pokemon/footprints/swampert_footprint.1bpp" @ .incbin "baserom.gba", 0xDE39A0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_poochyena_still_front_pic:: @ 8DE39C0 .incbin "graphics/pokemon/front_pics/poochyena_still_front_pic.4bpp.lz" @@ -8766,7 +8372,6 @@ gFile_graphics_pokemon_footprints_poochyena_footprint:: @ 8DE4404 .incbin "graphics/pokemon/footprints/poochyena_footprint.1bpp" @ .incbin "baserom.gba", 0xDE4404, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_mightyena_still_front_pic:: @ 8DE4424 .incbin "graphics/pokemon/front_pics/mightyena_still_front_pic.4bpp.lz" @@ -8797,7 +8402,6 @@ gFile_graphics_pokemon_footprints_mightyena_footprint:: @ 8DE5024 .incbin "graphics/pokemon/footprints/mightyena_footprint.1bpp" @ .incbin "baserom.gba", 0xDE5024, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_zigzagoon_still_front_pic:: @ 8DE5044 .incbin "graphics/pokemon/front_pics/zigzagoon_still_front_pic.4bpp.lz" @@ -8828,7 +8432,6 @@ gFile_graphics_pokemon_footprints_zigzagoon_footprint:: @ 8DE5BA4 .incbin "graphics/pokemon/footprints/zigzagoon_footprint.1bpp" @ .incbin "baserom.gba", 0xDE5BA4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_linoone_still_front_pic:: @ 8DE5BC4 .incbin "graphics/pokemon/front_pics/linoone_still_front_pic.4bpp.lz" @@ -8859,7 +8462,6 @@ gFile_graphics_pokemon_footprints_linoone_footprint:: @ 8DE6658 .incbin "graphics/pokemon/footprints/linoone_footprint.1bpp" @ .incbin "baserom.gba", 0xDE6658, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_wurmple_still_front_pic:: @ 8DE6678 .incbin "graphics/pokemon/front_pics/wurmple_still_front_pic.4bpp.lz" @@ -8890,7 +8492,6 @@ gFile_graphics_pokemon_footprints_wurmple_footprint:: @ 8DE6F9C .incbin "graphics/pokemon/footprints/wurmple_footprint.1bpp" @ .incbin "baserom.gba", 0xDE6F9C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_silcoon_still_front_pic:: @ 8DE6FBC .incbin "graphics/pokemon/front_pics/silcoon_still_front_pic.4bpp.lz" @@ -8921,7 +8522,6 @@ gFile_graphics_pokemon_footprints_silcoon_footprint:: @ 8DE78A8 .incbin "graphics/pokemon/footprints/silcoon_footprint.1bpp" @ .incbin "baserom.gba", 0xDE78A8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_beautifly_still_front_pic:: @ 8DE78C8 .incbin "graphics/pokemon/front_pics/beautifly_still_front_pic.4bpp.lz" @@ -8952,7 +8552,6 @@ gFile_graphics_pokemon_footprints_beautifly_footprint:: @ 8DE8420 .incbin "graphics/pokemon/footprints/beautifly_footprint.1bpp" @ .incbin "baserom.gba", 0xDE8420, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_cascoon_still_front_pic:: @ 8DE8440 .incbin "graphics/pokemon/front_pics/cascoon_still_front_pic.4bpp.lz" @@ -8983,7 +8582,6 @@ gFile_graphics_pokemon_footprints_cascoon_footprint:: @ 8DE8D0C .incbin "graphics/pokemon/footprints/cascoon_footprint.1bpp" @ .incbin "baserom.gba", 0xDE8D0C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_dustox_still_front_pic:: @ 8DE8D2C .incbin "graphics/pokemon/front_pics/dustox_still_front_pic.4bpp.lz" @@ -9014,7 +8612,6 @@ gFile_graphics_pokemon_footprints_dustox_footprint:: @ 8DE973C .incbin "graphics/pokemon/footprints/dustox_footprint.1bpp" @ .incbin "baserom.gba", 0xDE973C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_lotad_still_front_pic:: @ 8DE975C .incbin "graphics/pokemon/front_pics/lotad_still_front_pic.4bpp.lz" @@ -9045,7 +8642,6 @@ gFile_graphics_pokemon_footprints_lotad_footprint:: @ 8DEA0F4 .incbin "graphics/pokemon/footprints/lotad_footprint.1bpp" @ .incbin "baserom.gba", 0xDEA0F4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_lombre_still_front_pic:: @ 8DEA114 .incbin "graphics/pokemon/front_pics/lombre_still_front_pic.4bpp.lz" @@ -9076,7 +8672,6 @@ gFile_graphics_pokemon_footprints_lombre_footprint:: @ 8DEAB78 .incbin "graphics/pokemon/footprints/lombre_footprint.1bpp" @ .incbin "baserom.gba", 0xDEAB78, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_ludicolo_still_front_pic:: @ 8DEAB98 .incbin "graphics/pokemon/front_pics/ludicolo_still_front_pic.4bpp.lz" @@ -9107,7 +8702,6 @@ gFile_graphics_pokemon_footprints_ludicolo_footprint:: @ 8DEB7C8 .incbin "graphics/pokemon/footprints/ludicolo_footprint.1bpp" @ .incbin "baserom.gba", 0xDEB7C8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_seedot_still_front_pic:: @ 8DEB7E8 .incbin "graphics/pokemon/front_pics/seedot_still_front_pic.4bpp.lz" @@ -9138,7 +8732,6 @@ gFile_graphics_pokemon_footprints_seedot_footprint:: @ 8DEC1AC .incbin "graphics/pokemon/footprints/seedot_footprint.1bpp" @ .incbin "baserom.gba", 0xDEC1AC, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_nuzleaf_still_front_pic:: @ 8DEC1CC .incbin "graphics/pokemon/front_pics/nuzleaf_still_front_pic.4bpp.lz" @@ -9169,7 +8762,6 @@ gFile_graphics_pokemon_footprints_nuzleaf_footprint:: @ 8DECBD0 .incbin "graphics/pokemon/footprints/nuzleaf_footprint.1bpp" @ .incbin "baserom.gba", 0xDECBD0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_shiftry_still_front_pic:: @ 8DECBF0 .incbin "graphics/pokemon/front_pics/shiftry_still_front_pic.4bpp.lz" @@ -9200,7 +8792,6 @@ gFile_graphics_pokemon_footprints_shiftry_footprint:: @ 8DED7C0 .incbin "graphics/pokemon/footprints/shiftry_footprint.1bpp" @ .incbin "baserom.gba", 0xDED7C0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_nincada_still_front_pic:: @ 8DED7E0 .incbin "graphics/pokemon/front_pics/nincada_still_front_pic.4bpp.lz" @@ -9231,7 +8822,6 @@ gFile_graphics_pokemon_footprints_nincada_footprint:: @ 8DEE188 .incbin "graphics/pokemon/footprints/nincada_footprint.1bpp" @ .incbin "baserom.gba", 0xDEE188, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_ninjask_still_front_pic:: @ 8DEE1A8 .incbin "graphics/pokemon/front_pics/ninjask_still_front_pic.4bpp.lz" @@ -9262,7 +8852,6 @@ gFile_graphics_pokemon_footprints_ninjask_footprint:: @ 8DEED34 .incbin "graphics/pokemon/footprints/ninjask_footprint.1bpp" @ .incbin "baserom.gba", 0xDEED34, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_shedinja_still_front_pic:: @ 8DEED54 .incbin "graphics/pokemon/front_pics/shedinja_still_front_pic.4bpp.lz" @@ -9293,7 +8882,6 @@ gFile_graphics_pokemon_footprints_shedinja_footprint:: @ 8DEF864 .incbin "graphics/pokemon/footprints/shedinja_footprint.1bpp" @ .incbin "baserom.gba", 0xDEF864, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_taillow_still_front_pic:: @ 8DEF884 .incbin "graphics/pokemon/front_pics/taillow_still_front_pic.4bpp.lz" @@ -9324,7 +8912,6 @@ gFile_graphics_pokemon_footprints_taillow_footprint:: @ 8DF014C .incbin "graphics/pokemon/footprints/taillow_footprint.1bpp" @ .incbin "baserom.gba", 0xDF014C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_swellow_still_front_pic:: @ 8DF016C .incbin "graphics/pokemon/front_pics/swellow_still_front_pic.4bpp.lz" @@ -9355,7 +8942,6 @@ gFile_graphics_pokemon_footprints_swellow_footprint:: @ 8DF0CB8 .incbin "graphics/pokemon/footprints/swellow_footprint.1bpp" @ .incbin "baserom.gba", 0xDF0CB8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_shroomish_still_front_pic:: @ 8DF0CD8 .incbin "graphics/pokemon/front_pics/shroomish_still_front_pic.4bpp.lz" @@ -9386,7 +8972,6 @@ gFile_graphics_pokemon_footprints_shroomish_footprint:: @ 8DF1670 .incbin "graphics/pokemon/footprints/shroomish_footprint.1bpp" @ .incbin "baserom.gba", 0xDF1670, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_breloom_still_front_pic:: @ 8DF1690 .incbin "graphics/pokemon/front_pics/breloom_still_front_pic.4bpp.lz" @@ -9417,7 +9002,6 @@ gFile_graphics_pokemon_footprints_breloom_footprint:: @ 8DF22A8 .incbin "graphics/pokemon/footprints/breloom_footprint.1bpp" @ .incbin "baserom.gba", 0xDF22A8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_spinda_still_front_pic:: @ 8DF22C8 .incbin "graphics/pokemon/front_pics/spinda_still_front_pic.4bpp.lz" @@ -9448,7 +9032,6 @@ gFile_graphics_pokemon_footprints_spinda_footprint:: @ 8DF2D54 .incbin "graphics/pokemon/footprints/spinda_footprint.1bpp" @ .incbin "baserom.gba", 0xDF2D54, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_wingull_still_front_pic:: @ 8DF2D74 .incbin "graphics/pokemon/front_pics/wingull_still_front_pic.4bpp.lz" @@ -9479,7 +9062,6 @@ gFile_graphics_pokemon_footprints_wingull_footprint:: @ 8DF3750 .incbin "graphics/pokemon/footprints/wingull_footprint.1bpp" @ .incbin "baserom.gba", 0xDF3750, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_pelipper_still_front_pic:: @ 8DF3770 .incbin "graphics/pokemon/front_pics/pelipper_still_front_pic.4bpp.lz" @@ -9510,7 +9092,6 @@ gFile_graphics_pokemon_footprints_pelipper_footprint:: @ 8DF42D8 .incbin "graphics/pokemon/footprints/pelipper_footprint.1bpp" @ .incbin "baserom.gba", 0xDF42D8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_surskit_still_front_pic:: @ 8DF42F8 .incbin "graphics/pokemon/front_pics/surskit_still_front_pic.4bpp.lz" @@ -9541,7 +9122,6 @@ gFile_graphics_pokemon_footprints_surskit_footprint:: @ 8DF4B8C .incbin "graphics/pokemon/footprints/surskit_footprint.1bpp" @ .incbin "baserom.gba", 0xDF4B8C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_masquerain_still_front_pic:: @ 8DF4BAC .incbin "graphics/pokemon/front_pics/masquerain_still_front_pic.4bpp.lz" @@ -9572,7 +9152,6 @@ gFile_graphics_pokemon_footprints_masquerain_footprint:: @ 8DF56F0 .incbin "graphics/pokemon/footprints/masquerain_footprint.1bpp" @ .incbin "baserom.gba", 0xDF56F0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_wailmer_still_front_pic:: @ 8DF5710 .incbin "graphics/pokemon/front_pics/wailmer_still_front_pic.4bpp.lz" @@ -9603,7 +9182,6 @@ gFile_graphics_pokemon_footprints_wailmer_footprint:: @ 8DF6024 .incbin "graphics/pokemon/footprints/wailmer_footprint.1bpp" @ .incbin "baserom.gba", 0xDF6024, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_wailord_still_front_pic:: @ 8DF6044 .incbin "graphics/pokemon/front_pics/wailord_still_front_pic.4bpp.lz" @@ -9634,7 +9212,6 @@ gFile_graphics_pokemon_footprints_wailord_footprint:: @ 8DF6A70 .incbin "graphics/pokemon/footprints/wailord_footprint.1bpp" @ .incbin "baserom.gba", 0xDF6A70, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_skitty_still_front_pic:: @ 8DF6A90 .incbin "graphics/pokemon/front_pics/skitty_still_front_pic.4bpp.lz" @@ -9665,7 +9242,6 @@ gFile_graphics_pokemon_footprints_skitty_footprint:: @ 8DF7528 .incbin "graphics/pokemon/footprints/skitty_footprint.1bpp" @ .incbin "baserom.gba", 0xDF7528, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_delcatty_still_front_pic:: @ 8DF7548 .incbin "graphics/pokemon/front_pics/delcatty_still_front_pic.4bpp.lz" @@ -9696,7 +9272,6 @@ gFile_graphics_pokemon_footprints_delcatty_footprint:: @ 8DF80C0 .incbin "graphics/pokemon/footprints/delcatty_footprint.1bpp" @ .incbin "baserom.gba", 0xDF80C0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_kecleon_still_front_pic:: @ 8DF80E0 .incbin "graphics/pokemon/front_pics/kecleon_still_front_pic.4bpp.lz" @@ -9727,7 +9302,6 @@ gFile_graphics_pokemon_footprints_kecleon_footprint:: @ 8DF8C88 .incbin "graphics/pokemon/footprints/kecleon_footprint.1bpp" @ .incbin "baserom.gba", 0xDF8C88, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_baltoy_still_front_pic:: @ 8DF8CA8 .incbin "graphics/pokemon/front_pics/baltoy_still_front_pic.4bpp.lz" @@ -9758,7 +9332,6 @@ gFile_graphics_pokemon_footprints_baltoy_footprint:: @ 8DF95B4 .incbin "graphics/pokemon/footprints/baltoy_footprint.1bpp" @ .incbin "baserom.gba", 0xDF95B4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_claydol_still_front_pic:: @ 8DF95D4 .incbin "graphics/pokemon/front_pics/claydol_still_front_pic.4bpp.lz" @@ -9789,7 +9362,6 @@ gFile_graphics_pokemon_footprints_claydol_footprint:: @ 8DFA1B0 .incbin "graphics/pokemon/footprints/claydol_footprint.1bpp" @ .incbin "baserom.gba", 0xDFA1B0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_nosepass_still_front_pic:: @ 8DFA1D0 .incbin "graphics/pokemon/front_pics/nosepass_still_front_pic.4bpp.lz" @@ -9820,7 +9392,6 @@ gFile_graphics_pokemon_footprints_nosepass_footprint:: @ 8DFAB8C .incbin "graphics/pokemon/footprints/nosepass_footprint.1bpp" @ .incbin "baserom.gba", 0xDFAB8C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_torkoal_still_front_pic:: @ 8DFABAC .incbin "graphics/pokemon/front_pics/torkoal_still_front_pic.4bpp.lz" @@ -9851,7 +9422,6 @@ gFile_graphics_pokemon_footprints_torkoal_footprint:: @ 8DFB770 .incbin "graphics/pokemon/footprints/torkoal_footprint.1bpp" @ .incbin "baserom.gba", 0xDFB770, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_sableye_still_front_pic:: @ 8DFB790 .incbin "graphics/pokemon/front_pics/sableye_still_front_pic.4bpp.lz" @@ -9882,7 +9452,6 @@ gFile_graphics_pokemon_footprints_sableye_footprint:: @ 8DFC1DC .incbin "graphics/pokemon/footprints/sableye_footprint.1bpp" @ .incbin "baserom.gba", 0xDFC1DC, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_barboach_still_front_pic:: @ 8DFC1FC .incbin "graphics/pokemon/front_pics/barboach_still_front_pic.4bpp.lz" @@ -9913,7 +9482,6 @@ gFile_graphics_pokemon_footprints_barboach_footprint:: @ 8DFCB6C .incbin "graphics/pokemon/footprints/barboach_footprint.1bpp" @ .incbin "baserom.gba", 0xDFCB6C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_whiscash_still_front_pic:: @ 8DFCB8C .incbin "graphics/pokemon/front_pics/whiscash_still_front_pic.4bpp.lz" @@ -9944,7 +9512,6 @@ gFile_graphics_pokemon_footprints_whiscash_footprint:: @ 8DFD6A0 .incbin "graphics/pokemon/footprints/whiscash_footprint.1bpp" @ .incbin "baserom.gba", 0xDFD6A0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_luvdisc_still_front_pic:: @ 8DFD6C0 .incbin "graphics/pokemon/front_pics/luvdisc_still_front_pic.4bpp.lz" @@ -9975,7 +9542,6 @@ gFile_graphics_pokemon_footprints_luvdisc_footprint:: @ 8DFDE9C .incbin "graphics/pokemon/footprints/luvdisc_footprint.1bpp" @ .incbin "baserom.gba", 0xDFDE9C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_corphish_still_front_pic:: @ 8DFDEBC .incbin "graphics/pokemon/front_pics/corphish_still_front_pic.4bpp.lz" @@ -10006,7 +9572,6 @@ gFile_graphics_pokemon_footprints_corphish_footprint:: @ 8DFE984 .incbin "graphics/pokemon/footprints/corphish_footprint.1bpp" @ .incbin "baserom.gba", 0xDFE984, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_crawdaunt_still_front_pic:: @ 8DFE9A4 .incbin "graphics/pokemon/front_pics/crawdaunt_still_front_pic.4bpp.lz" @@ -10037,7 +9602,6 @@ gFile_graphics_pokemon_footprints_crawdaunt_footprint:: @ 8DFF668 .incbin "graphics/pokemon/footprints/crawdaunt_footprint.1bpp" @ .incbin "baserom.gba", 0xDFF668, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_feebas_still_front_pic:: @ 8DFF688 .incbin "graphics/pokemon/front_pics/feebas_still_front_pic.4bpp.lz" @@ -10068,7 +9632,6 @@ gFile_graphics_pokemon_footprints_feebas_footprint:: @ 8E0009C .incbin "graphics/pokemon/footprints/feebas_footprint.1bpp" @ .incbin "baserom.gba", 0xE0009C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_milotic_still_front_pic:: @ 8E000BC .incbin "graphics/pokemon/front_pics/milotic_still_front_pic.4bpp.lz" @@ -10099,7 +9662,6 @@ gFile_graphics_pokemon_footprints_milotic_footprint:: @ 8E00C90 .incbin "graphics/pokemon/footprints/milotic_footprint.1bpp" @ .incbin "baserom.gba", 0xE00C90, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_carvanha_still_front_pic:: @ 8E00CB0 .incbin "graphics/pokemon/front_pics/carvanha_still_front_pic.4bpp.lz" @@ -10130,7 +9692,6 @@ gFile_graphics_pokemon_footprints_carvanha_footprint:: @ 8E0173C .incbin "graphics/pokemon/footprints/carvanha_footprint.1bpp" @ .incbin "baserom.gba", 0xE0173C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_sharpedo_still_front_pic:: @ 8E0175C .incbin "graphics/pokemon/front_pics/sharpedo_still_front_pic.4bpp.lz" @@ -10161,7 +9722,6 @@ gFile_graphics_pokemon_footprints_sharpedo_footprint:: @ 8E02294 .incbin "graphics/pokemon/footprints/sharpedo_footprint.1bpp" @ .incbin "baserom.gba", 0xE02294, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_trapinch_still_front_pic:: @ 8E022B4 .incbin "graphics/pokemon/front_pics/trapinch_still_front_pic.4bpp.lz" @@ -10192,7 +9752,6 @@ gFile_graphics_pokemon_footprints_trapinch_footprint:: @ 8E02B40 .incbin "graphics/pokemon/footprints/trapinch_footprint.1bpp" @ .incbin "baserom.gba", 0xE02B40, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_vibrava_still_front_pic:: @ 8E02B60 .incbin "graphics/pokemon/front_pics/vibrava_still_front_pic.4bpp.lz" @@ -10223,7 +9782,6 @@ gFile_graphics_pokemon_footprints_vibrava_footprint:: @ 8E03598 .incbin "graphics/pokemon/footprints/vibrava_footprint.1bpp" @ .incbin "baserom.gba", 0xE03598, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_flygon_still_front_pic:: @ 8E035B8 .incbin "graphics/pokemon/front_pics/flygon_still_front_pic.4bpp.lz" @@ -10254,7 +9812,6 @@ gFile_graphics_pokemon_footprints_flygon_footprint:: @ 8E04334 .incbin "graphics/pokemon/footprints/flygon_footprint.1bpp" @ .incbin "baserom.gba", 0xE04334, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_makuhita_still_front_pic:: @ 8E04354 .incbin "graphics/pokemon/front_pics/makuhita_still_front_pic.4bpp.lz" @@ -10285,7 +9842,6 @@ gFile_graphics_pokemon_footprints_makuhita_footprint:: @ 8E04DA8 .incbin "graphics/pokemon/footprints/makuhita_footprint.1bpp" @ .incbin "baserom.gba", 0xE04DA8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_hariyama_still_front_pic:: @ 8E04DC8 .incbin "graphics/pokemon/front_pics/hariyama_still_front_pic.4bpp.lz" @@ -10316,7 +9872,6 @@ gFile_graphics_pokemon_footprints_hariyama_footprint:: @ 8E05AA8 .incbin "graphics/pokemon/footprints/hariyama_footprint.1bpp" @ .incbin "baserom.gba", 0xE05AA8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_electrike_still_front_pic:: @ 8E05AC8 .incbin "graphics/pokemon/front_pics/electrike_still_front_pic.4bpp.lz" @@ -10347,7 +9902,6 @@ gFile_graphics_pokemon_footprints_electrike_footprint:: @ 8E06434 .incbin "graphics/pokemon/footprints/electrike_footprint.1bpp" @ .incbin "baserom.gba", 0xE06434, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_manectric_still_front_pic:: @ 8E06454 .incbin "graphics/pokemon/front_pics/manectric_still_front_pic.4bpp.lz" @@ -10378,7 +9932,6 @@ gFile_graphics_pokemon_footprints_manectric_footprint:: @ 8E06E00 .incbin "graphics/pokemon/footprints/manectric_footprint.1bpp" @ .incbin "baserom.gba", 0xE06E00, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_numel_still_front_pic:: @ 8E06E20 .incbin "graphics/pokemon/front_pics/numel_still_front_pic.4bpp.lz" @@ -10409,7 +9962,6 @@ gFile_graphics_pokemon_footprints_numel_footprint:: @ 8E077FC .incbin "graphics/pokemon/footprints/numel_footprint.1bpp" @ .incbin "baserom.gba", 0xE077FC, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_camerupt_still_front_pic:: @ 8E0781C .incbin "graphics/pokemon/front_pics/camerupt_still_front_pic.4bpp.lz" @@ -10440,7 +9992,6 @@ gFile_graphics_pokemon_footprints_camerupt_footprint:: @ 8E08348 .incbin "graphics/pokemon/footprints/camerupt_footprint.1bpp" @ .incbin "baserom.gba", 0xE08348, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_spheal_still_front_pic:: @ 8E08368 .incbin "graphics/pokemon/front_pics/spheal_still_front_pic.4bpp.lz" @@ -10471,7 +10022,6 @@ gFile_graphics_pokemon_footprints_spheal_footprint:: @ 8E08C28 .incbin "graphics/pokemon/footprints/spheal_footprint.1bpp" @ .incbin "baserom.gba", 0xE08C28, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_sealeo_still_front_pic:: @ 8E08C48 .incbin "graphics/pokemon/front_pics/sealeo_still_front_pic.4bpp.lz" @@ -10502,7 +10052,6 @@ gFile_graphics_pokemon_footprints_sealeo_footprint:: @ 8E09694 .incbin "graphics/pokemon/footprints/sealeo_footprint.1bpp" @ .incbin "baserom.gba", 0xE09694, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_walrein_still_front_pic:: @ 8E096B4 .incbin "graphics/pokemon/front_pics/walrein_still_front_pic.4bpp.lz" @@ -10533,7 +10082,6 @@ gFile_graphics_pokemon_footprints_walrein_footprint:: @ 8E0A32C .incbin "graphics/pokemon/footprints/walrein_footprint.1bpp" @ .incbin "baserom.gba", 0xE0A32C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_cacnea_still_front_pic:: @ 8E0A34C .incbin "graphics/pokemon/front_pics/cacnea_still_front_pic.4bpp.lz" @@ -10564,7 +10112,6 @@ gFile_graphics_pokemon_footprints_cacnea_footprint:: @ 8E0AE0C .incbin "graphics/pokemon/footprints/cacnea_footprint.1bpp" @ .incbin "baserom.gba", 0xE0AE0C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_cacturne_still_front_pic:: @ 8E0AE2C .incbin "graphics/pokemon/front_pics/cacturne_still_front_pic.4bpp.lz" @@ -10595,7 +10142,6 @@ gFile_graphics_pokemon_footprints_cacturne_footprint:: @ 8E0B9B4 .incbin "graphics/pokemon/footprints/cacturne_footprint.1bpp" @ .incbin "baserom.gba", 0xE0B9B4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_snorunt_still_front_pic:: @ 8E0B9D4 .incbin "graphics/pokemon/front_pics/snorunt_still_front_pic.4bpp.lz" @@ -10626,7 +10172,6 @@ gFile_graphics_pokemon_footprints_snorunt_footprint:: @ 8E0C3CC .incbin "graphics/pokemon/footprints/snorunt_footprint.1bpp" @ .incbin "baserom.gba", 0xE0C3CC, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_glalie_still_front_pic:: @ 8E0C3EC .incbin "graphics/pokemon/front_pics/glalie_still_front_pic.4bpp.lz" @@ -10657,7 +10202,6 @@ gFile_graphics_pokemon_footprints_glalie_footprint:: @ 8E0CFB4 .incbin "graphics/pokemon/footprints/glalie_footprint.1bpp" @ .incbin "baserom.gba", 0xE0CFB4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_lunatone_still_front_pic:: @ 8E0CFD4 .incbin "graphics/pokemon/front_pics/lunatone_still_front_pic.4bpp.lz" @@ -10688,7 +10232,6 @@ gFile_graphics_pokemon_footprints_lunatone_footprint:: @ 8E0DAA4 .incbin "graphics/pokemon/footprints/lunatone_footprint.1bpp" @ .incbin "baserom.gba", 0xE0DAA4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_solrock_still_front_pic:: @ 8E0DAC4 .incbin "graphics/pokemon/front_pics/solrock_still_front_pic.4bpp.lz" @@ -10719,7 +10262,6 @@ gFile_graphics_pokemon_footprints_solrock_footprint:: @ 8E0E74C .incbin "graphics/pokemon/footprints/solrock_footprint.1bpp" @ .incbin "baserom.gba", 0xE0E74C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_azurill_still_front_pic:: @ 8E0E76C .incbin "graphics/pokemon/front_pics/azurill_still_front_pic.4bpp.lz" @@ -10750,7 +10292,6 @@ gFile_graphics_pokemon_footprints_azurill_footprint:: @ 8E0F19C .incbin "graphics/pokemon/footprints/azurill_footprint.1bpp" @ .incbin "baserom.gba", 0xE0F19C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_spoink_still_front_pic:: @ 8E0F1BC .incbin "graphics/pokemon/front_pics/spoink_still_front_pic.4bpp.lz" @@ -10781,7 +10322,6 @@ gFile_graphics_pokemon_footprints_spoink_footprint:: @ 8E0FAB8 .incbin "graphics/pokemon/footprints/spoink_footprint.1bpp" @ .incbin "baserom.gba", 0xE0FAB8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_grumpig_still_front_pic:: @ 8E0FAD8 .incbin "graphics/pokemon/front_pics/grumpig_still_front_pic.4bpp.lz" @@ -10812,7 +10352,6 @@ gFile_graphics_pokemon_footprints_grumpig_footprint:: @ 8E10644 .incbin "graphics/pokemon/footprints/grumpig_footprint.1bpp" @ .incbin "baserom.gba", 0xE10644, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_plusle_still_front_pic:: @ 8E10664 .incbin "graphics/pokemon/front_pics/plusle_still_front_pic.4bpp.lz" @@ -10843,7 +10382,6 @@ gFile_graphics_pokemon_footprints_plusle_footprint:: @ 8E10FF8 .incbin "graphics/pokemon/footprints/plusle_footprint.1bpp" @ .incbin "baserom.gba", 0xE10FF8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_minun_still_front_pic:: @ 8E11018 .incbin "graphics/pokemon/front_pics/minun_still_front_pic.4bpp.lz" @@ -10874,7 +10412,6 @@ gFile_graphics_pokemon_footprints_minun_footprint:: @ 8E11998 .incbin "graphics/pokemon/footprints/minun_footprint.1bpp" @ .incbin "baserom.gba", 0xE11998, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_mawile_still_front_pic:: @ 8E119B8 .incbin "graphics/pokemon/front_pics/mawile_still_front_pic.4bpp.lz" @@ -10905,7 +10442,6 @@ gFile_graphics_pokemon_footprints_mawile_footprint:: @ 8E125C4 .incbin "graphics/pokemon/footprints/mawile_footprint.1bpp" @ .incbin "baserom.gba", 0xE125C4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_meditite_still_front_pic:: @ 8E125E4 .incbin "graphics/pokemon/front_pics/meditite_still_front_pic.4bpp.lz" @@ -10936,7 +10472,6 @@ gFile_graphics_pokemon_footprints_meditite_footprint:: @ 8E12FB0 .incbin "graphics/pokemon/footprints/meditite_footprint.1bpp" @ .incbin "baserom.gba", 0xE12FB0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_medicham_still_front_pic:: @ 8E12FD0 .incbin "graphics/pokemon/front_pics/medicham_still_front_pic.4bpp.lz" @@ -10967,7 +10502,6 @@ gFile_graphics_pokemon_footprints_medicham_footprint:: @ 8E13A88 .incbin "graphics/pokemon/footprints/medicham_footprint.1bpp" @ .incbin "baserom.gba", 0xE13A88, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_swablu_still_front_pic:: @ 8E13AA8 .incbin "graphics/pokemon/front_pics/swablu_still_front_pic.4bpp.lz" @@ -10998,7 +10532,6 @@ gFile_graphics_pokemon_footprints_swablu_footprint:: @ 8E14588 .incbin "graphics/pokemon/footprints/swablu_footprint.1bpp" @ .incbin "baserom.gba", 0xE14588, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_altaria_still_front_pic:: @ 8E145A8 .incbin "graphics/pokemon/front_pics/altaria_still_front_pic.4bpp.lz" @@ -11029,7 +10562,6 @@ gFile_graphics_pokemon_footprints_altaria_footprint:: @ 8E1514C .incbin "graphics/pokemon/footprints/altaria_footprint.1bpp" @ .incbin "baserom.gba", 0xE1514C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_wynaut_still_front_pic:: @ 8E1516C .incbin "graphics/pokemon/front_pics/wynaut_still_front_pic.4bpp.lz" @@ -11060,7 +10592,6 @@ gFile_graphics_pokemon_footprints_wynaut_footprint:: @ 8E15AE4 .incbin "graphics/pokemon/footprints/wynaut_footprint.1bpp" @ .incbin "baserom.gba", 0xE15AE4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_duskull_still_front_pic:: @ 8E15B04 .incbin "graphics/pokemon/front_pics/duskull_still_front_pic.4bpp.lz" @@ -11091,7 +10622,6 @@ gFile_graphics_pokemon_footprints_duskull_footprint:: @ 8E164F4 .incbin "graphics/pokemon/footprints/duskull_footprint.1bpp" @ .incbin "baserom.gba", 0xE164F4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_dusclops_still_front_pic:: @ 8E16514 .incbin "graphics/pokemon/front_pics/dusclops_still_front_pic.4bpp.lz" @@ -11122,7 +10652,6 @@ gFile_graphics_pokemon_footprints_dusclops_footprint:: @ 8E16FF0 .incbin "graphics/pokemon/footprints/dusclops_footprint.1bpp" @ .incbin "baserom.gba", 0xE16FF0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_roselia_still_front_pic:: @ 8E17010 .incbin "graphics/pokemon/front_pics/roselia_still_front_pic.4bpp.lz" @@ -11153,7 +10682,6 @@ gFile_graphics_pokemon_footprints_roselia_footprint:: @ 8E17B94 .incbin "graphics/pokemon/footprints/roselia_footprint.1bpp" @ .incbin "baserom.gba", 0xE17B94, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_slakoth_still_front_pic:: @ 8E17BB4 .incbin "graphics/pokemon/front_pics/slakoth_still_front_pic.4bpp.lz" @@ -11184,7 +10712,6 @@ gFile_graphics_pokemon_footprints_slakoth_footprint:: @ 8E185D4 .incbin "graphics/pokemon/footprints/slakoth_footprint.1bpp" @ .incbin "baserom.gba", 0xE185D4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_vigoroth_still_front_pic:: @ 8E185F4 .incbin "graphics/pokemon/front_pics/vigoroth_still_front_pic.4bpp.lz" @@ -11215,7 +10742,6 @@ gFile_graphics_pokemon_footprints_vigoroth_footprint:: @ 8E19108 .incbin "graphics/pokemon/footprints/vigoroth_footprint.1bpp" @ .incbin "baserom.gba", 0xE19108, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_slaking_still_front_pic:: @ 8E19128 .incbin "graphics/pokemon/front_pics/slaking_still_front_pic.4bpp.lz" @@ -11246,7 +10772,6 @@ gFile_graphics_pokemon_footprints_slaking_footprint:: @ 8E19E10 .incbin "graphics/pokemon/footprints/slaking_footprint.1bpp" @ .incbin "baserom.gba", 0xE19E10, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_gulpin_still_front_pic:: @ 8E19E30 .incbin "graphics/pokemon/front_pics/gulpin_still_front_pic.4bpp.lz" @@ -11277,7 +10802,6 @@ gFile_graphics_pokemon_footprints_gulpin_footprint:: @ 8E1A71C .incbin "graphics/pokemon/footprints/gulpin_footprint.1bpp" @ .incbin "baserom.gba", 0xE1A71C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_swalot_still_front_pic:: @ 8E1A73C .incbin "graphics/pokemon/front_pics/swalot_still_front_pic.4bpp.lz" @@ -11308,7 +10832,6 @@ gFile_graphics_pokemon_footprints_swalot_footprint:: @ 8E1B218 .incbin "graphics/pokemon/footprints/swalot_footprint.1bpp" @ .incbin "baserom.gba", 0xE1B218, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_tropius_still_front_pic:: @ 8E1B238 .incbin "graphics/pokemon/front_pics/tropius_still_front_pic.4bpp.lz" @@ -11339,7 +10862,6 @@ gFile_graphics_pokemon_footprints_tropius_footprint:: @ 8E1BF24 .incbin "graphics/pokemon/footprints/tropius_footprint.1bpp" @ .incbin "baserom.gba", 0xE1BF24, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_whismur_still_front_pic:: @ 8E1BF44 .incbin "graphics/pokemon/front_pics/whismur_still_front_pic.4bpp.lz" @@ -11370,7 +10892,6 @@ gFile_graphics_pokemon_footprints_whismur_footprint:: @ 8E1C898 .incbin "graphics/pokemon/footprints/whismur_footprint.1bpp" @ .incbin "baserom.gba", 0xE1C898, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_loudred_still_front_pic:: @ 8E1C8B8 .incbin "graphics/pokemon/front_pics/loudred_still_front_pic.4bpp.lz" @@ -11401,7 +10922,6 @@ gFile_graphics_pokemon_footprints_loudred_footprint:: @ 8E1D4F0 .incbin "graphics/pokemon/footprints/loudred_footprint.1bpp" @ .incbin "baserom.gba", 0xE1D4F0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_exploud_still_front_pic:: @ 8E1D510 .incbin "graphics/pokemon/front_pics/exploud_still_front_pic.4bpp.lz" @@ -11432,7 +10952,6 @@ gFile_graphics_pokemon_footprints_exploud_footprint:: @ 8E1E2D4 .incbin "graphics/pokemon/footprints/exploud_footprint.1bpp" @ .incbin "baserom.gba", 0xE1E2D4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_clamperl_still_front_pic:: @ 8E1E2F4 .incbin "graphics/pokemon/front_pics/clamperl_still_front_pic.4bpp.lz" @@ -11463,7 +10982,6 @@ gFile_graphics_pokemon_footprints_clamperl_footprint:: @ 8E1ECB0 .incbin "graphics/pokemon/footprints/clamperl_footprint.1bpp" @ .incbin "baserom.gba", 0xE1ECB0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_huntail_still_front_pic:: @ 8E1ECD0 .incbin "graphics/pokemon/front_pics/huntail_still_front_pic.4bpp.lz" @@ -11494,7 +11012,6 @@ gFile_graphics_pokemon_footprints_huntail_footprint:: @ 8E1F840 .incbin "graphics/pokemon/footprints/huntail_footprint.1bpp" @ .incbin "baserom.gba", 0xE1F840, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_gorebyss_still_front_pic:: @ 8E1F860 .incbin "graphics/pokemon/front_pics/gorebyss_still_front_pic.4bpp.lz" @@ -11525,7 +11042,6 @@ gFile_graphics_pokemon_footprints_gorebyss_footprint:: @ 8E202A8 .incbin "graphics/pokemon/footprints/gorebyss_footprint.1bpp" @ .incbin "baserom.gba", 0xE202A8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_absol_still_front_pic:: @ 8E202C8 .incbin "graphics/pokemon/front_pics/absol_still_front_pic.4bpp.lz" @@ -11556,7 +11072,6 @@ gFile_graphics_pokemon_footprints_absol_footprint:: @ 8E20EA8 .incbin "graphics/pokemon/footprints/absol_footprint.1bpp" @ .incbin "baserom.gba", 0xE20EA8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_shuppet_still_front_pic:: @ 8E20EC8 .incbin "graphics/pokemon/front_pics/shuppet_still_front_pic.4bpp.lz" @@ -11587,7 +11102,6 @@ gFile_graphics_pokemon_footprints_shuppet_footprint:: @ 8E217E8 .incbin "graphics/pokemon/footprints/shuppet_footprint.1bpp" @ .incbin "baserom.gba", 0xE217E8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_banette_still_front_pic:: @ 8E21808 .incbin "graphics/pokemon/front_pics/banette_still_front_pic.4bpp.lz" @@ -11618,7 +11132,6 @@ gFile_graphics_pokemon_footprints_banette_footprint:: @ 8E22188 .incbin "graphics/pokemon/footprints/banette_footprint.1bpp" @ .incbin "baserom.gba", 0xE22188, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_seviper_still_front_pic:: @ 8E221A8 .incbin "graphics/pokemon/front_pics/seviper_still_front_pic.4bpp.lz" @@ -11649,7 +11162,6 @@ gFile_graphics_pokemon_footprints_seviper_footprint:: @ 8E22EA4 .incbin "graphics/pokemon/footprints/seviper_footprint.1bpp" @ .incbin "baserom.gba", 0xE22EA4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_zangoose_still_front_pic:: @ 8E22EC4 .incbin "graphics/pokemon/front_pics/zangoose_still_front_pic.4bpp.lz" @@ -11680,7 +11192,6 @@ gFile_graphics_pokemon_footprints_zangoose_footprint:: @ 8E23A54 .incbin "graphics/pokemon/footprints/zangoose_footprint.1bpp" @ .incbin "baserom.gba", 0xE23A54, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_relicanth_still_front_pic:: @ 8E23A74 .incbin "graphics/pokemon/front_pics/relicanth_still_front_pic.4bpp.lz" @@ -11711,7 +11222,6 @@ gFile_graphics_pokemon_footprints_relicanth_footprint:: @ 8E245B0 .incbin "graphics/pokemon/footprints/relicanth_footprint.1bpp" @ .incbin "baserom.gba", 0xE245B0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_aron_still_front_pic:: @ 8E245D0 .incbin "graphics/pokemon/front_pics/aron_still_front_pic.4bpp.lz" @@ -11742,7 +11252,6 @@ gFile_graphics_pokemon_footprints_aron_footprint:: @ 8E24E30 .incbin "graphics/pokemon/footprints/aron_footprint.1bpp" @ .incbin "baserom.gba", 0xE24E30, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_lairon_still_front_pic:: @ 8E24E50 .incbin "graphics/pokemon/front_pics/lairon_still_front_pic.4bpp.lz" @@ -11773,7 +11282,6 @@ gFile_graphics_pokemon_footprints_lairon_footprint:: @ 8E25958 .incbin "graphics/pokemon/footprints/lairon_footprint.1bpp" @ .incbin "baserom.gba", 0xE25958, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_aggron_still_front_pic:: @ 8E25978 .incbin "graphics/pokemon/front_pics/aggron_still_front_pic.4bpp.lz" @@ -11804,7 +11312,6 @@ gFile_graphics_pokemon_footprints_aggron_footprint:: @ 8E2676C .incbin "graphics/pokemon/footprints/aggron_footprint.1bpp" @ .incbin "baserom.gba", 0xE2676C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_castform_still_front_pic:: @ 8E2678C .incbin "graphics/pokemon/front_pics/castform_still_front_pic.4bpp.lz" @@ -11835,7 +11342,6 @@ gFile_graphics_pokemon_footprints_castform_footprint:: @ 8E280CC .incbin "graphics/pokemon/footprints/castform_footprint.1bpp" @ .incbin "baserom.gba", 0xE280CC, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_volbeat_still_front_pic:: @ 8E280EC .incbin "graphics/pokemon/front_pics/volbeat_still_front_pic.4bpp.lz" @@ -11866,7 +11372,6 @@ gFile_graphics_pokemon_footprints_volbeat_footprint:: @ 8E28C2C .incbin "graphics/pokemon/footprints/volbeat_footprint.1bpp" @ .incbin "baserom.gba", 0xE28C2C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_illumise_still_front_pic:: @ 8E28C4C .incbin "graphics/pokemon/front_pics/illumise_still_front_pic.4bpp.lz" @@ -11897,7 +11402,6 @@ gFile_graphics_pokemon_footprints_illumise_footprint:: @ 8E2972C .incbin "graphics/pokemon/footprints/illumise_footprint.1bpp" @ .incbin "baserom.gba", 0xE2972C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_lileep_still_front_pic:: @ 8E2974C .incbin "graphics/pokemon/front_pics/lileep_still_front_pic.4bpp.lz" @@ -11928,7 +11432,6 @@ gFile_graphics_pokemon_footprints_lileep_footprint:: @ 8E2A224 .incbin "graphics/pokemon/footprints/lileep_footprint.1bpp" @ .incbin "baserom.gba", 0xE2A224, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_cradily_still_front_pic:: @ 8E2A244 .incbin "graphics/pokemon/front_pics/cradily_still_front_pic.4bpp.lz" @@ -11959,7 +11462,6 @@ gFile_graphics_pokemon_footprints_cradily_footprint:: @ 8E2AEAC .incbin "graphics/pokemon/footprints/cradily_footprint.1bpp" @ .incbin "baserom.gba", 0xE2AEAC, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_anorith_still_front_pic:: @ 8E2AECC .incbin "graphics/pokemon/front_pics/anorith_still_front_pic.4bpp.lz" @@ -11990,7 +11492,6 @@ gFile_graphics_pokemon_footprints_anorith_footprint:: @ 8E2B888 .incbin "graphics/pokemon/footprints/anorith_footprint.1bpp" @ .incbin "baserom.gba", 0xE2B888, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_armaldo_still_front_pic:: @ 8E2B8A8 .incbin "graphics/pokemon/front_pics/armaldo_still_front_pic.4bpp.lz" @@ -12021,7 +11522,6 @@ gFile_graphics_pokemon_footprints_armaldo_footprint:: @ 8E2C6B0 .incbin "graphics/pokemon/footprints/armaldo_footprint.1bpp" @ .incbin "baserom.gba", 0xE2C6B0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_ralts_still_front_pic:: @ 8E2C6D0 .incbin "graphics/pokemon/front_pics/ralts_still_front_pic.4bpp.lz" @@ -12052,7 +11552,6 @@ gFile_graphics_pokemon_footprints_ralts_footprint:: @ 8E2CF8C .incbin "graphics/pokemon/footprints/ralts_footprint.1bpp" @ .incbin "baserom.gba", 0xE2CF8C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_kirlia_still_front_pic:: @ 8E2CFAC .incbin "graphics/pokemon/front_pics/kirlia_still_front_pic.4bpp.lz" @@ -12083,7 +11582,6 @@ gFile_graphics_pokemon_footprints_kirlia_footprint:: @ 8E2DA6C .incbin "graphics/pokemon/footprints/kirlia_footprint.1bpp" @ .incbin "baserom.gba", 0xE2DA6C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_gardevoir_still_front_pic:: @ 8E2DA8C .incbin "graphics/pokemon/front_pics/gardevoir_still_front_pic.4bpp.lz" @@ -12114,7 +11612,6 @@ gFile_graphics_pokemon_footprints_gardevoir_footprint:: @ 8E2E58C .incbin "graphics/pokemon/footprints/gardevoir_footprint.1bpp" @ .incbin "baserom.gba", 0xE2E58C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_bagon_still_front_pic:: @ 8E2E5AC .incbin "graphics/pokemon/front_pics/bagon_still_front_pic.4bpp.lz" @@ -12145,7 +11642,6 @@ gFile_graphics_pokemon_footprints_bagon_footprint:: @ 8E2EF5C .incbin "graphics/pokemon/footprints/bagon_footprint.1bpp" @ .incbin "baserom.gba", 0xE2EF5C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_shelgon_still_front_pic:: @ 8E2EF7C .incbin "graphics/pokemon/front_pics/shelgon_still_front_pic.4bpp.lz" @@ -12176,7 +11672,6 @@ gFile_graphics_pokemon_footprints_shelgon_footprint:: @ 8E2F9B8 .incbin "graphics/pokemon/footprints/shelgon_footprint.1bpp" @ .incbin "baserom.gba", 0xE2F9B8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_salamence_still_front_pic:: @ 8E2F9D8 .incbin "graphics/pokemon/front_pics/salamence_still_front_pic.4bpp.lz" @@ -12207,7 +11702,6 @@ gFile_graphics_pokemon_footprints_salamence_footprint:: @ 8E30570 .incbin "graphics/pokemon/footprints/salamence_footprint.1bpp" @ .incbin "baserom.gba", 0xE30570, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_beldum_still_front_pic:: @ 8E30590 .incbin "graphics/pokemon/front_pics/beldum_still_front_pic.4bpp.lz" @@ -12238,7 +11732,6 @@ gFile_graphics_pokemon_footprints_beldum_footprint:: @ 8E30F40 .incbin "graphics/pokemon/footprints/beldum_footprint.1bpp" @ .incbin "baserom.gba", 0xE30F40, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_metang_still_front_pic:: @ 8E30F60 .incbin "graphics/pokemon/front_pics/metang_still_front_pic.4bpp.lz" @@ -12269,7 +11762,6 @@ gFile_graphics_pokemon_footprints_metang_footprint:: @ 8E31B30 .incbin "graphics/pokemon/footprints/metang_footprint.1bpp" @ .incbin "baserom.gba", 0xE31B30, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_metagross_still_front_pic:: @ 8E31B50 .incbin "graphics/pokemon/front_pics/metagross_still_front_pic.4bpp.lz" @@ -12300,7 +11792,6 @@ gFile_graphics_pokemon_footprints_metagross_footprint:: @ 8E326D0 .incbin "graphics/pokemon/footprints/metagross_footprint.1bpp" @ .incbin "baserom.gba", 0xE326D0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_regirock_still_front_pic:: @ 8E326F0 .incbin "graphics/pokemon/front_pics/regirock_still_front_pic.4bpp.lz" @@ -12331,7 +11822,6 @@ gFile_graphics_pokemon_footprints_regirock_footprint:: @ 8E33448 .incbin "graphics/pokemon/footprints/regirock_footprint.1bpp" @ .incbin "baserom.gba", 0xE33448, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_regice_still_front_pic:: @ 8E33468 .incbin "graphics/pokemon/front_pics/regice_still_front_pic.4bpp.lz" @@ -12362,7 +11852,6 @@ gFile_graphics_pokemon_footprints_regice_footprint:: @ 8E33FF0 .incbin "graphics/pokemon/footprints/regice_footprint.1bpp" @ .incbin "baserom.gba", 0xE33FF0, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_registeel_still_front_pic:: @ 8E34010 .incbin "graphics/pokemon/front_pics/registeel_still_front_pic.4bpp.lz" @@ -12393,7 +11882,6 @@ gFile_graphics_pokemon_footprints_registeel_footprint:: @ 8E34C20 .incbin "graphics/pokemon/footprints/registeel_footprint.1bpp" @ .incbin "baserom.gba", 0xE34C20, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_kyogre_still_front_pic:: @ 8E34C40 .incbin "graphics/pokemon/front_pics/kyogre_still_front_pic.4bpp.lz" @@ -12424,7 +11912,6 @@ gFile_graphics_pokemon_footprints_kyogre_footprint:: @ 8E35778 .incbin "graphics/pokemon/footprints/kyogre_footprint.1bpp" @ .incbin "baserom.gba", 0xE35778, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_groudon_still_front_pic:: @ 8E35798 .incbin "graphics/pokemon/front_pics/groudon_still_front_pic.4bpp.lz" @@ -12455,7 +11942,6 @@ gFile_graphics_pokemon_footprints_groudon_footprint:: @ 8E365E4 .incbin "graphics/pokemon/footprints/groudon_footprint.1bpp" @ .incbin "baserom.gba", 0xE365E4, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_rayquaza_still_front_pic:: @ 8E36604 .incbin "graphics/pokemon/front_pics/rayquaza_still_front_pic.4bpp.lz" @@ -12486,7 +11972,6 @@ gFile_graphics_pokemon_footprints_rayquaza_footprint:: @ 8E3729C .incbin "graphics/pokemon/footprints/rayquaza_footprint.1bpp" @ .incbin "baserom.gba", 0xE3729C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_latias_still_front_pic:: @ 8E372BC .incbin "graphics/pokemon/front_pics/latias_still_front_pic.4bpp.lz" @@ -12517,7 +12002,6 @@ gFile_graphics_pokemon_footprints_latias_footprint:: @ 8E37E2C .incbin "graphics/pokemon/footprints/latias_footprint.1bpp" @ .incbin "baserom.gba", 0xE37E2C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_latios_still_front_pic:: @ 8E37E4C .incbin "graphics/pokemon/front_pics/latios_still_front_pic.4bpp.lz" @@ -12548,7 +12032,6 @@ gFile_graphics_pokemon_footprints_latios_footprint:: @ 8E38A50 .incbin "graphics/pokemon/footprints/latios_footprint.1bpp" @ .incbin "baserom.gba", 0xE38A50, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_jirachi_still_front_pic:: @ 8E38A70 .incbin "graphics/pokemon/front_pics/jirachi_still_front_pic.4bpp.lz" @@ -12579,7 +12062,6 @@ gFile_graphics_pokemon_footprints_jirachi_footprint:: @ 8E3956C .incbin "graphics/pokemon/footprints/jirachi_footprint.1bpp" @ .incbin "baserom.gba", 0xE3956C, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_deoxys_still_front_pic:: @ 8E3958C .incbin "graphics/pokemon/front_pics/deoxys_still_front_pic.4bpp.lz" @@ -12615,7 +12097,6 @@ gFile_graphics_pokemon_footprints_deoxys_footprint:: @ 8E3AB88 .incbin "graphics/pokemon/footprints/deoxys_footprint.1bpp" @ .incbin "baserom.gba", 0xE3AB88, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_chimecho_still_front_pic:: @ 8E3ABA8 .incbin "graphics/pokemon/front_pics/chimecho_still_front_pic.4bpp.lz" @@ -12646,7 +12127,6 @@ gFile_graphics_pokemon_footprints_chimecho_footprint:: @ 8E3B4B8 .incbin "graphics/pokemon/footprints/chimecho_footprint.1bpp" @ .incbin "baserom.gba", 0xE3B4B8, 0x0020 - .align 2 gFile_graphics_pokemon_front_pics_egg_still_front_pic:: @ 8E3B4D8 .incbin "graphics/pokemon/front_pics/egg_still_front_pic.4bpp.lz" @@ -13062,7 +12542,6 @@ gFile_graphics_pokemon_icons_unown_question_mark_icon:: @ 8E48958 .incbin "graphics/pokemon/icons/unown_question_mark_icon.4bpp" @ .incbin "baserom.gba", 0xE48958, 0x0400 - .align 2 gFile_graphics_trainers_front_pics_aqua_leader_archie_front_pic:: @ 8E48D58 .incbin "graphics/trainers/front_pics/aqua_leader_archie_front_pic.4bpp.lz" @@ -13883,7 +13362,6 @@ gFile_graphics_trainers_palettes_elite_four_drake:: @ 8E5AD34 .incbin "graphics/trainers/palettes/elite_four_drake.gbapal.lz" @ .incbin "baserom.gba", 0xE5AD34, 0x0028 - .align 2 gFile_graphics_trainers_front_pics_youngster_front_pic:: @ 8E5AD5C .incbin "graphics/trainers/front_pics/youngster_front_pic.4bpp.lz" @@ -14394,7 +13872,6 @@ gFile_graphics_trainers_palettes_oak:: @ 8E66BF4 .incbin "graphics/trainers/palettes/oak.gbapal.lz" @ .incbin "baserom.gba", 0xE66BF4, 0x0028 - .align 2 gFile_graphics_trainers_front_pics_ruby_sapphire_brendan_front_pic2:: @ 8E66C1C .incbin "graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.4bpp.lz" @@ -14435,7 +13912,6 @@ gFile_graphics_trainers_palettes_leaf:: @ 8E678F0 .incbin "graphics/trainers/palettes/leaf.gbapal.lz" @ .incbin "baserom.gba", 0xE678F0, 0x0028 - .align 2 gFile_graphics_trainers_front_pics_rocket_grunt_f_front_pic:: @ 8E67918 .incbin "graphics/trainers/front_pics/rocket_grunt_f_front_pic.4bpp.lz" @@ -14546,7 +14022,6 @@ gFile_graphics_trainers_palettes_painter:: @ 8E69E94 .incbin "graphics/trainers/palettes/painter.gbapal.lz" @ .incbin "baserom.gba", 0xE69E94, 0x0028 - .align 2 gFile_graphics_trainers_back_pics_red_back_pic:: @ 8E69EBC .incbin "graphics/trainers/back_pics/red_back_pic.4bpp" @@ -14577,7 +14052,6 @@ gFile_graphics_trainers_back_pics_ruby_sapphire_may_back_pic:: @ 8E74EBC .incbin "graphics/trainers/back_pics/ruby_sapphire_may_back_pic.4bpp" @ .incbin "baserom.gba", 0xE74EBC, 0x2000 - .align 2 gFile_graphics_trainers_palettes_leaf_back_pic:: @ 8E76EBC .incbin "graphics/trainers/palettes/leaf_back_pic.gbapal.lz" @@ -14608,7 +14082,6 @@ gFile_graphics_pokemon_footprints_question_mark_footprint:: @ 8E7735C .incbin "graphics/pokemon/footprints/question_mark_footprint.1bpp" @ .incbin "baserom.gba", 0xE7735C, 0x0020 - .align 2 @ THIS IS ./graphics/battle_transitions/vs_frame.4bpp.lz gUnknown_8E7737C:: @ 8E7737C From e143072f961cfffc5e8e2cc5b2a6059c27124808 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 12 Oct 2018 18:00:42 -0400 Subject: [PATCH 037/222] through sub_8112364 --- asm/quest_log.s | 131 ---------------------------------------- include/field_weather.h | 1 + src/quest_log.c | 43 +++++++++++++ 3 files changed, 44 insertions(+), 131 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 4972eaa07..5045c50be 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,137 +5,6 @@ .text - thumb_func_start sub_811229C -sub_811229C: @ 811229C - push {r4-r6,lr} - movs r0, 0x80 - lsls r0, 3 - bl Alloc - adds r6, r0, 0 - ldr r4, _08112314 @ =gUnknown_203AE90 - ldr r0, [r4] - movs r5, 0x80 - lsls r5, 2 - adds r1, r6, 0 - adds r2, r5, 0 - bl CpuSet - ldr r1, [r4] - adds r0, r1, 0 - movs r2, 0xD0 - bl sub_807B0C4 - ldr r1, [r4] - movs r0, 0x88 - lsls r0, 2 - adds r1, r0 - adds r0, r1, 0 - movs r2, 0x10 - bl sub_807B0C4 - ldr r1, [r4] - movs r0, 0xB0 - lsls r0, 2 - adds r1, r0 - adds r0, r1, 0 - movs r2, 0x40 - bl sub_807B0C4 - ldr r1, [r4] - movs r0, 0xD8 - lsls r0, 2 - adds r1, r0 - adds r0, r1, 0 - movs r2, 0x50 - bl sub_807B0C4 - ldr r0, [r4] - ldr r1, _08112318 @ =gPlttBufferUnfaded - adds r2, r5, 0 - bl CpuSet - ldr r1, [r4] - adds r0, r6, 0 - adds r2, r5, 0 - bl CpuSet - adds r0, r6, 0 - bl Free - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08112314: .4byte gUnknown_203AE90 -_08112318: .4byte gPlttBufferUnfaded - thumb_func_end sub_811229C - - thumb_func_start sub_811231C -sub_811231C: @ 811231C - push {r4,lr} - ldr r4, _0811234C @ =gUnknown_203ADFA - ldrb r0, [r4] - cmp r0, 0x1 - bne _08112346 - ldr r0, _08112350 @ =gUnknown_203AE98 - bl sub_8110E68 - bl sub_8110E3C - movs r0, 0 - strb r0, [r4] - ldr r0, _08112354 @ =gUnknown_203AE8C - movs r1, 0 - str r1, [r0] - ldr r0, _08112358 @ =gUnknown_203AE04 - str r1, [r0] - ldr r0, _0811235C @ =gUnknown_203AE08 - str r1, [r0] - ldr r0, _08112360 @ =gUnknown_3005E88 - strb r1, [r0] -_08112346: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0811234C: .4byte gUnknown_203ADFA -_08112350: .4byte gUnknown_203AE98 -_08112354: .4byte gUnknown_203AE8C -_08112358: .4byte gUnknown_203AE04 -_0811235C: .4byte gUnknown_203AE08 -_08112360: .4byte gUnknown_3005E88 - thumb_func_end sub_811231C - - thumb_func_start sub_8112364 -sub_8112364: @ 8112364 - push {r4,r5,lr} - ldr r5, _081123A4 @ =gUnknown_3005E88 - ldrb r0, [r5] - cmp r0, 0 - beq _08112392 - ldr r4, _081123A8 @ =gUnknown_203ADFA - ldrb r0, [r4] - cmp r0, 0x1 - bne _08112392 - ldr r0, _081123AC @ =gUnknown_203AE98 - bl sub_8110E68 - movs r0, 0x1 - bl sub_8113A1C - bl sub_8110E3C - movs r0, 0 - strb r0, [r5] - strb r0, [r4] - ldr r1, _081123B0 @ =gUnknown_203AE8C - movs r0, 0 - str r0, [r1] -_08112392: - ldr r0, _081123B4 @ =gUnknown_203AE04 - movs r1, 0 - str r1, [r0] - ldr r0, _081123B8 @ =gUnknown_203AE08 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081123A4: .4byte gUnknown_3005E88 -_081123A8: .4byte gUnknown_203ADFA -_081123AC: .4byte gUnknown_203AE98 -_081123B0: .4byte gUnknown_203AE8C -_081123B4: .4byte gUnknown_203AE04 -_081123B8: .4byte gUnknown_203AE08 - thumb_func_end sub_8112364 - thumb_func_start sub_81123BC sub_81123BC: @ 81123BC push {r4-r7,lr} diff --git a/include/field_weather.h b/include/field_weather.h index e12107e70..3f7741f00 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -8,5 +8,6 @@ u8 GetSav1Weather(void); void sub_80AEDBC(void); void DoCurrentWeather(void); +void sub_807B0C4(u16 *, u16 *, u32); #endif // GUARD_WEATHER_H diff --git a/src/quest_log.c b/src/quest_log.c index 028bd574e..391a760ba 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -99,6 +99,7 @@ void sub_811229C(void); void sub_8112364(void); void sub_8112888(u8); void sub_8112940(u8, struct UnkStruct_203AE98 *, u16); +void sub_8113A1C(u8); void sub_811381C(void); void sub_81138F8(void); void * sub_8113A78(void *, void **); @@ -1339,3 +1340,45 @@ bool8 sub_81121D8(u8 taskId) data[1]++; return FALSE; } + +void sub_811229C(void) +{ + u16 * buffer = Alloc(0x400); + CpuCopy16(gUnknown_203AE90, buffer, 0x400); + sub_807B0C4(gUnknown_203AE90, gUnknown_203AE90, 0xd0); + sub_807B0C4(gUnknown_203AE90 + 0x110, gUnknown_203AE90 + 0x110, 0x10); + sub_807B0C4(gUnknown_203AE90 + 0x160, gUnknown_203AE90 + 0x160, 0x40); + sub_807B0C4(gUnknown_203AE90 + 0x1b0, gUnknown_203AE90 + 0x1b0, 0x50); + CpuCopy16(gUnknown_203AE90, gPlttBufferUnfaded, 0x400); + CpuCopy16(buffer, gUnknown_203AE90, 0x400); + Free(buffer); +} + +void sub_811231C(void) +{ + if (gUnknown_203ADFA == 1) + { + sub_8110E68(gUnknown_203AE98); + sub_8110E3C(); + gUnknown_203ADFA = 0; + gUnknown_203AE8C = NULL; + gUnknown_203AE04 = NULL; + gUnknown_203AE08 = NULL; + gUnknown_3005E88 = 0; + } +} + +void sub_8112364(void) +{ + if (gUnknown_3005E88 && gUnknown_203ADFA == 1) + { + sub_8110E68(gUnknown_203AE98); + sub_8113A1C(1); + sub_8110E3C(); + gUnknown_3005E88 = 0; + gUnknown_203ADFA = 0; + gUnknown_203AE8C = NULL; + } + gUnknown_203AE04 = NULL; + gUnknown_203AE08 = NULL; +} From a9cef334e09b54d6f0d4ab15861a465cc5bc071c Mon Sep 17 00:00:00 2001 From: paul Date: Sat, 13 Oct 2018 00:39:32 +0200 Subject: [PATCH 038/222] fix up blaziken, double_question_mark and pokemaniac --- data/graphics.s | 2594 +---------------- .../double_question_mark_back_pic.png | Bin 308 -> 307 bytes .../front_pics/blaziken_still_front_pic.png | Bin 1010 -> 967 bytes .../double_question_mark_still_front_pic.png | Bin 306 -> 308 bytes .../trainers/palettes/emerald_pokemaniac.pal | 26 +- graphics/trainers/palettes/pokemaniac.pal | 26 +- 6 files changed, 33 insertions(+), 2613 deletions(-) diff --git a/data/graphics.s b/data/graphics.s index b99fece55..8715afc66 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -1178,5757 +1178,4606 @@ gFile_graphics_pokemon_footprints_fearow_footprint:: @ 8D3ED4C .align 2 gFile_graphics_pokemon_front_pics_ekans_still_front_pic:: @ 8D3ED6C .incbin "graphics/pokemon/front_pics/ekans_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD3ED6C, 0x02C8 .align 2 gFile_graphics_pokemon_palettes_ekans_palette:: @ 8D3F034 .incbin "graphics/pokemon/palettes/ekans_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD3F034, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_ekans_back_pic:: @ 8D3F05C .incbin "graphics/pokemon/back_pics/ekans_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD3F05C, 0x02F0 .align 2 gFile_graphics_pokemon_palettes_ekans_shiny_palette:: @ 8D3F34C .incbin "graphics/pokemon/palettes/ekans_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD3F34C, 0x0028 .align 2 gFile_graphics_pokemon_icons_ekans_icon:: @ 8D3F374 .incbin "graphics/pokemon/icons/ekans_icon.4bpp" - @ .incbin "baserom.gba", 0xD3F374, 0x0400 .align 2 gFile_graphics_pokemon_footprints_ekans_footprint:: @ 8D3F774 .incbin "graphics/pokemon/footprints/ekans_footprint.1bpp" - @ .incbin "baserom.gba", 0xD3F774, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_arbok_still_front_pic:: @ 8D3F794 .incbin "graphics/pokemon/front_pics/arbok_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD3F794, 0x0474 .align 2 gFile_graphics_pokemon_palettes_arbok_palette:: @ 8D3FC08 .incbin "graphics/pokemon/palettes/arbok_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD3FC08, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_arbok_back_pic:: @ 8D3FC30 .incbin "graphics/pokemon/back_pics/arbok_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD3FC30, 0x0288 .align 2 gFile_graphics_pokemon_palettes_arbok_shiny_palette:: @ 8D3FEB8 .incbin "graphics/pokemon/palettes/arbok_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD3FEB8, 0x0028 .align 2 gFile_graphics_pokemon_icons_arbok_icon:: @ 8D3FEE0 .incbin "graphics/pokemon/icons/arbok_icon.4bpp" - @ .incbin "baserom.gba", 0xD3FEE0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_arbok_footprint:: @ 8D402E0 .incbin "graphics/pokemon/footprints/arbok_footprint.1bpp" - @ .incbin "baserom.gba", 0xD402E0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_pikachu_still_front_pic:: @ 8D40300 .incbin "graphics/pokemon/front_pics/pikachu_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD40300, 0x02D0 .align 2 gFile_graphics_pokemon_palettes_pikachu_palette:: @ 8D405D0 .incbin "graphics/pokemon/palettes/pikachu_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD405D0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_pikachu_back_pic:: @ 8D405F8 .incbin "graphics/pokemon/back_pics/pikachu_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD405F8, 0x02D8 .align 2 gFile_graphics_pokemon_palettes_pikachu_shiny_palette:: @ 8D408D0 .incbin "graphics/pokemon/palettes/pikachu_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD408D0, 0x0028 .align 2 gFile_graphics_pokemon_icons_pikachu_icon:: @ 8D408F8 .incbin "graphics/pokemon/icons/pikachu_icon.4bpp" - @ .incbin "baserom.gba", 0xD408F8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_pikachu_footprint:: @ 8D40CF8 .incbin "graphics/pokemon/footprints/pikachu_footprint.1bpp" - @ .incbin "baserom.gba", 0xD40CF8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_raichu_still_front_pic:: @ 8D40D18 .incbin "graphics/pokemon/front_pics/raichu_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD40D18, 0x03F8 .align 2 gFile_graphics_pokemon_palettes_raichu_palette:: @ 8D41110 .incbin "graphics/pokemon/palettes/raichu_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD41110, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_raichu_back_pic:: @ 8D41138 .incbin "graphics/pokemon/back_pics/raichu_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD41138, 0x0320 .align 2 gFile_graphics_pokemon_palettes_raichu_shiny_palette:: @ 8D41458 .incbin "graphics/pokemon/palettes/raichu_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD41458, 0x0028 .align 2 gFile_graphics_pokemon_icons_raichu_icon:: @ 8D41480 .incbin "graphics/pokemon/icons/raichu_icon.4bpp" - @ .incbin "baserom.gba", 0xD41480, 0x0400 .align 2 gFile_graphics_pokemon_footprints_raichu_footprint:: @ 8D41880 .incbin "graphics/pokemon/footprints/raichu_footprint.1bpp" - @ .incbin "baserom.gba", 0xD41880, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_sandshrew_still_front_pic:: @ 8D418A0 .incbin "graphics/pokemon/front_pics/sandshrew_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD418A0, 0x02DC .align 2 gFile_graphics_pokemon_palettes_sandshrew_palette:: @ 8D41B7C .incbin "graphics/pokemon/palettes/sandshrew_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD41B7C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_sandshrew_back_pic:: @ 8D41BA4 .incbin "graphics/pokemon/back_pics/sandshrew_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD41BA4, 0x0328 .align 2 gFile_graphics_pokemon_palettes_sandshrew_shiny_palette:: @ 8D41ECC .incbin "graphics/pokemon/palettes/sandshrew_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD41ECC, 0x0028 .align 2 gFile_graphics_pokemon_icons_sandshrew_icon:: @ 8D41EF4 .incbin "graphics/pokemon/icons/sandshrew_icon.4bpp" - @ .incbin "baserom.gba", 0xD41EF4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_sandshrew_footprint:: @ 8D422F4 .incbin "graphics/pokemon/footprints/sandshrew_footprint.1bpp" - @ .incbin "baserom.gba", 0xD422F4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_sandslash_still_front_pic:: @ 8D42314 .incbin "graphics/pokemon/front_pics/sandslash_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD42314, 0x0418 .align 2 gFile_graphics_pokemon_palettes_sandslash_palette:: @ 8D4272C .incbin "graphics/pokemon/palettes/sandslash_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD4272C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_sandslash_back_pic:: @ 8D42754 .incbin "graphics/pokemon/back_pics/sandslash_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD42754, 0x041C .align 2 gFile_graphics_pokemon_palettes_sandslash_shiny_palette:: @ 8D42B70 .incbin "graphics/pokemon/palettes/sandslash_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD42B70, 0x0028 .align 2 gFile_graphics_pokemon_icons_sandslash_icon:: @ 8D42B98 .incbin "graphics/pokemon/icons/sandslash_icon.4bpp" - @ .incbin "baserom.gba", 0xD42B98, 0x0400 .align 2 gFile_graphics_pokemon_footprints_sandslash_footprint:: @ 8D42F98 .incbin "graphics/pokemon/footprints/sandslash_footprint.1bpp" - @ .incbin "baserom.gba", 0xD42F98, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_nidoran_f_still_front_pic:: @ 8D42FB8 .incbin "graphics/pokemon/front_pics/nidoran_f_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD42FB8, 0x0264 .align 2 gFile_graphics_pokemon_palettes_nidoran_f_palette:: @ 8D4321C .incbin "graphics/pokemon/palettes/nidoran_f_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD4321C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_nidoran_f_back_pic:: @ 8D43244 .incbin "graphics/pokemon/back_pics/nidoran_f_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD43244, 0x02E0 .align 2 gFile_graphics_pokemon_palettes_nidoran_f_shiny_palette:: @ 8D43524 .incbin "graphics/pokemon/palettes/nidoran_f_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD43524, 0x0028 .align 2 gFile_graphics_pokemon_icons_nidoran_f_icon:: @ 8D4354C .incbin "graphics/pokemon/icons/nidoran_f_icon.4bpp" - @ .incbin "baserom.gba", 0xD4354C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_nidoran_f_footprint:: @ 8D4394C .incbin "graphics/pokemon/footprints/nidoran_f_footprint.1bpp" - @ .incbin "baserom.gba", 0xD4394C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_nidorina_still_front_pic:: @ 8D4396C .incbin "graphics/pokemon/front_pics/nidorina_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD4396C, 0x0320 .align 2 gFile_graphics_pokemon_palettes_nidorina_palette:: @ 8D43C8C .incbin "graphics/pokemon/palettes/nidorina_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD43C8C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_nidorina_back_pic:: @ 8D43CB4 .incbin "graphics/pokemon/back_pics/nidorina_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD43CB4, 0x0394 .align 2 gFile_graphics_pokemon_palettes_nidorina_shiny_palette:: @ 8D44048 .incbin "graphics/pokemon/palettes/nidorina_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD44048, 0x0028 .align 2 gFile_graphics_pokemon_icons_nidorina_icon:: @ 8D44070 .incbin "graphics/pokemon/icons/nidorina_icon.4bpp" - @ .incbin "baserom.gba", 0xD44070, 0x0400 .align 2 gFile_graphics_pokemon_footprints_nidorina_footprint:: @ 8D44470 .incbin "graphics/pokemon/footprints/nidorina_footprint.1bpp" - @ .incbin "baserom.gba", 0xD44470, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_nidoqueen_still_front_pic:: @ 8D44490 .incbin "graphics/pokemon/front_pics/nidoqueen_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD44490, 0x042C .align 2 gFile_graphics_pokemon_palettes_nidoqueen_palette:: @ 8D448BC .incbin "graphics/pokemon/palettes/nidoqueen_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD448BC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_nidoqueen_back_pic:: @ 8D448E4 .incbin "graphics/pokemon/back_pics/nidoqueen_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD448E4, 0x03C4 .align 2 gFile_graphics_pokemon_palettes_nidoqueen_shiny_palette:: @ 8D44CA8 .incbin "graphics/pokemon/palettes/nidoqueen_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD44CA8, 0x0028 .align 2 gFile_graphics_pokemon_icons_nidoqueen_icon:: @ 8D44CD0 .incbin "graphics/pokemon/icons/nidoqueen_icon.4bpp" - @ .incbin "baserom.gba", 0xD44CD0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_nidoqueen_footprint:: @ 8D450D0 .incbin "graphics/pokemon/footprints/nidoqueen_footprint.1bpp" - @ .incbin "baserom.gba", 0xD450D0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_nidoran_m_still_front_pic:: @ 8D450F0 .incbin "graphics/pokemon/front_pics/nidoran_m_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD450F0, 0x028C .align 2 gFile_graphics_pokemon_palettes_nidoran_m_palette:: @ 8D4537C .incbin "graphics/pokemon/palettes/nidoran_m_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD4537C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_nidoran_m_back_pic:: @ 8D453A4 .incbin "graphics/pokemon/back_pics/nidoran_m_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD453A4, 0x0334 .align 2 gFile_graphics_pokemon_palettes_nidoran_m_shiny_palette:: @ 8D456D8 .incbin "graphics/pokemon/palettes/nidoran_m_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD456D8, 0x0028 .align 2 gFile_graphics_pokemon_icons_nidoran_m_icon:: @ 8D45700 .incbin "graphics/pokemon/icons/nidoran_m_icon.4bpp" - @ .incbin "baserom.gba", 0xD45700, 0x0400 .align 2 gFile_graphics_pokemon_footprints_nidoran_m_footprint:: @ 8D45B00 .incbin "graphics/pokemon/footprints/nidoran_m_footprint.1bpp" - @ .incbin "baserom.gba", 0xD45B00, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_nidorino_still_front_pic:: @ 8D45B20 .incbin "graphics/pokemon/front_pics/nidorino_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD45B20, 0x0384 .align 2 gFile_graphics_pokemon_palettes_nidorino_palette:: @ 8D45EA4 .incbin "graphics/pokemon/palettes/nidorino_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD45EA4, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_nidorino_back_pic:: @ 8D45ECC .incbin "graphics/pokemon/back_pics/nidorino_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD45ECC, 0x03BC .align 2 gFile_graphics_pokemon_palettes_nidorino_shiny_palette:: @ 8D46288 .incbin "graphics/pokemon/palettes/nidorino_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD46288, 0x0028 .align 2 gFile_graphics_pokemon_icons_nidorino_icon:: @ 8D462B0 .incbin "graphics/pokemon/icons/nidorino_icon.4bpp" - @ .incbin "baserom.gba", 0xD462B0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_nidorino_footprint:: @ 8D466B0 .incbin "graphics/pokemon/footprints/nidorino_footprint.1bpp" - @ .incbin "baserom.gba", 0xD466B0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_nidoking_still_front_pic:: @ 8D466D0 .incbin "graphics/pokemon/front_pics/nidoking_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD466D0, 0x053C .align 2 gFile_graphics_pokemon_palettes_nidoking_palette:: @ 8D46C0C .incbin "graphics/pokemon/palettes/nidoking_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD46C0C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_nidoking_back_pic:: @ 8D46C34 .incbin "graphics/pokemon/back_pics/nidoking_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD46C34, 0x043C .align 2 gFile_graphics_pokemon_palettes_nidoking_shiny_palette:: @ 8D47070 .incbin "graphics/pokemon/palettes/nidoking_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD47070, 0x0028 .align 2 gFile_graphics_pokemon_icons_nidoking_icon:: @ 8D47098 .incbin "graphics/pokemon/icons/nidoking_icon.4bpp" - @ .incbin "baserom.gba", 0xD47098, 0x0400 .align 2 gFile_graphics_pokemon_footprints_nidoking_footprint:: @ 8D47498 .incbin "graphics/pokemon/footprints/nidoking_footprint.1bpp" - @ .incbin "baserom.gba", 0xD47498, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_clefairy_still_front_pic:: @ 8D474B8 .incbin "graphics/pokemon/front_pics/clefairy_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD474B8, 0x029C .align 2 gFile_graphics_pokemon_palettes_clefairy_palette:: @ 8D47754 .incbin "graphics/pokemon/palettes/clefairy_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD47754, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_clefairy_back_pic:: @ 8D4777C .incbin "graphics/pokemon/back_pics/clefairy_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD4777C, 0x02D0 .align 2 gFile_graphics_pokemon_palettes_clefairy_shiny_palette:: @ 8D47A4C .incbin "graphics/pokemon/palettes/clefairy_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD47A4C, 0x0028 .align 2 gFile_graphics_pokemon_icons_clefairy_icon:: @ 8D47A74 .incbin "graphics/pokemon/icons/clefairy_icon.4bpp" - @ .incbin "baserom.gba", 0xD47A74, 0x0400 .align 2 gFile_graphics_pokemon_footprints_clefairy_footprint:: @ 8D47E74 .incbin "graphics/pokemon/footprints/clefairy_footprint.1bpp" - @ .incbin "baserom.gba", 0xD47E74, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_clefable_still_front_pic:: @ 8D47E94 .incbin "graphics/pokemon/front_pics/clefable_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD47E94, 0x0340 .align 2 gFile_graphics_pokemon_palettes_clefable_palette:: @ 8D481D4 .incbin "graphics/pokemon/palettes/clefable_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD481D4, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_clefable_back_pic:: @ 8D481FC .incbin "graphics/pokemon/back_pics/clefable_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD481FC, 0x0338 .align 2 gFile_graphics_pokemon_palettes_clefable_shiny_palette:: @ 8D48534 .incbin "graphics/pokemon/palettes/clefable_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD48534, 0x0028 .align 2 gFile_graphics_pokemon_icons_clefable_icon:: @ 8D4855C .incbin "graphics/pokemon/icons/clefable_icon.4bpp" - @ .incbin "baserom.gba", 0xD4855C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_clefable_footprint:: @ 8D4895C .incbin "graphics/pokemon/footprints/clefable_footprint.1bpp" - @ .incbin "baserom.gba", 0xD4895C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_vulpix_still_front_pic:: @ 8D4897C .incbin "graphics/pokemon/front_pics/vulpix_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD4897C, 0x032C .align 2 gFile_graphics_pokemon_palettes_vulpix_palette:: @ 8D48CA8 .incbin "graphics/pokemon/palettes/vulpix_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD48CA8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_vulpix_back_pic:: @ 8D48CD0 .incbin "graphics/pokemon/back_pics/vulpix_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD48CD0, 0x0304 .align 2 gFile_graphics_pokemon_palettes_vulpix_shiny_palette:: @ 8D48FD4 .incbin "graphics/pokemon/palettes/vulpix_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD48FD4, 0x0028 .align 2 gFile_graphics_pokemon_icons_vulpix_icon:: @ 8D48FFC .incbin "graphics/pokemon/icons/vulpix_icon.4bpp" - @ .incbin "baserom.gba", 0xD48FFC, 0x0400 .align 2 gFile_graphics_pokemon_footprints_vulpix_footprint:: @ 8D493FC .incbin "graphics/pokemon/footprints/vulpix_footprint.1bpp" - @ .incbin "baserom.gba", 0xD493FC, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_ninetales_still_front_pic:: @ 8D4941C .incbin "graphics/pokemon/front_pics/ninetales_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD4941C, 0x0454 .align 2 gFile_graphics_pokemon_palettes_ninetales_palette:: @ 8D49870 .incbin "graphics/pokemon/palettes/ninetales_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD49870, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_ninetales_back_pic:: @ 8D49894 .incbin "graphics/pokemon/back_pics/ninetales_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD49894, 0x03F0 .align 2 gFile_graphics_pokemon_palettes_ninetales_shiny_palette:: @ 8D49C84 .incbin "graphics/pokemon/palettes/ninetales_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD49C84, 0x0024 .align 2 gFile_graphics_pokemon_icons_ninetales_icon:: @ 8D49CA8 .incbin "graphics/pokemon/icons/ninetales_icon.4bpp" - @ .incbin "baserom.gba", 0xD49CA8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_ninetales_footprint:: @ 8D4A0A8 .incbin "graphics/pokemon/footprints/ninetales_footprint.1bpp" - @ .incbin "baserom.gba", 0xD4A0A8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_jigglypuff_still_front_pic:: @ 8D4A0C8 .incbin "graphics/pokemon/front_pics/jigglypuff_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD4A0C8, 0x0284 .align 2 gFile_graphics_pokemon_palettes_jigglypuff_palette:: @ 8D4A34C .incbin "graphics/pokemon/palettes/jigglypuff_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD4A34C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_jigglypuff_back_pic:: @ 8D4A374 .incbin "graphics/pokemon/back_pics/jigglypuff_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD4A374, 0x025C .align 2 gFile_graphics_pokemon_palettes_jigglypuff_shiny_palette:: @ 8D4A5D0 .incbin "graphics/pokemon/palettes/jigglypuff_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD4A5D0, 0x0028 .align 2 gFile_graphics_pokemon_icons_jigglypuff_icon:: @ 8D4A5F8 .incbin "graphics/pokemon/icons/jigglypuff_icon.4bpp" - @ .incbin "baserom.gba", 0xD4A5F8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_jigglypuff_footprint:: @ 8D4A9F8 .incbin "graphics/pokemon/footprints/jigglypuff_footprint.1bpp" - @ .incbin "baserom.gba", 0xD4A9F8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_wigglytuff_still_front_pic:: @ 8D4AA18 .incbin "graphics/pokemon/front_pics/wigglytuff_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD4AA18, 0x0374 .align 2 gFile_graphics_pokemon_palettes_wigglytuff_palette:: @ 8D4AD8C .incbin "graphics/pokemon/palettes/wigglytuff_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD4AD8C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_wigglytuff_back_pic:: @ 8D4ADB4 .incbin "graphics/pokemon/back_pics/wigglytuff_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD4ADB4, 0x0298 .align 2 gFile_graphics_pokemon_palettes_wigglytuff_shiny_palette:: @ 8D4B04C .incbin "graphics/pokemon/palettes/wigglytuff_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD4B04C, 0x0028 .align 2 gFile_graphics_pokemon_icons_wigglytuff_icon:: @ 8D4B074 .incbin "graphics/pokemon/icons/wigglytuff_icon.4bpp" - @ .incbin "baserom.gba", 0xD4B074, 0x0400 .align 2 gFile_graphics_pokemon_footprints_wigglytuff_footprint:: @ 8D4B474 .incbin "graphics/pokemon/footprints/wigglytuff_footprint.1bpp" - @ .incbin "baserom.gba", 0xD4B474, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_zubat_still_front_pic:: @ 8D4B494 .incbin "graphics/pokemon/front_pics/zubat_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD4B494, 0x02BC .align 2 gFile_graphics_pokemon_palettes_zubat_palette:: @ 8D4B750 .incbin "graphics/pokemon/palettes/zubat_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD4B750, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_zubat_back_pic:: @ 8D4B778 .incbin "graphics/pokemon/back_pics/zubat_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD4B778, 0x02BC .align 2 gFile_graphics_pokemon_palettes_zubat_shiny_palette:: @ 8D4BA34 .incbin "graphics/pokemon/palettes/zubat_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD4BA34, 0x0028 .align 2 gFile_graphics_pokemon_icons_zubat_icon:: @ 8D4BA5C .incbin "graphics/pokemon/icons/zubat_icon.4bpp" - @ .incbin "baserom.gba", 0xD4BA5C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_zubat_footprint:: @ 8D4BE5C .incbin "graphics/pokemon/footprints/zubat_footprint.1bpp" - @ .incbin "baserom.gba", 0xD4BE5C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_golbat_still_front_pic:: @ 8D4BE7C .incbin "graphics/pokemon/front_pics/golbat_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD4BE7C, 0x03A0 .align 2 gFile_graphics_pokemon_palettes_golbat_palette:: @ 8D4C21C .incbin "graphics/pokemon/palettes/golbat_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD4C21C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_golbat_back_pic:: @ 8D4C244 .incbin "graphics/pokemon/back_pics/golbat_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD4C244, 0x02BC .align 2 gFile_graphics_pokemon_palettes_golbat_shiny_palette:: @ 8D4C500 .incbin "graphics/pokemon/palettes/golbat_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD4C500, 0x0028 .align 2 gFile_graphics_pokemon_icons_golbat_icon:: @ 8D4C528 .incbin "graphics/pokemon/icons/golbat_icon.4bpp" - @ .incbin "baserom.gba", 0xD4C528, 0x0400 .align 2 gFile_graphics_pokemon_footprints_golbat_footprint:: @ 8D4C928 .incbin "graphics/pokemon/footprints/golbat_footprint.1bpp" - @ .incbin "baserom.gba", 0xD4C928, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_oddish_still_front_pic:: @ 8D4C948 .incbin "graphics/pokemon/front_pics/oddish_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD4C948, 0x0240 .align 2 gFile_graphics_pokemon_palettes_oddish_palette:: @ 8D4CB88 .incbin "graphics/pokemon/palettes/oddish_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD4CB88, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_oddish_back_pic:: @ 8D4CBB0 .incbin "graphics/pokemon/back_pics/oddish_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD4CBB0, 0x02C4 .align 2 gFile_graphics_pokemon_palettes_oddish_shiny_palette:: @ 8D4CE74 .incbin "graphics/pokemon/palettes/oddish_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD4CE74, 0x0028 .align 2 gFile_graphics_pokemon_icons_oddish_icon:: @ 8D4CE9C .incbin "graphics/pokemon/icons/oddish_icon.4bpp" - @ .incbin "baserom.gba", 0xD4CE9C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_oddish_footprint:: @ 8D4D29C .incbin "graphics/pokemon/footprints/oddish_footprint.1bpp" - @ .incbin "baserom.gba", 0xD4D29C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_gloom_still_front_pic:: @ 8D4D2BC .incbin "graphics/pokemon/front_pics/gloom_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD4D2BC, 0x0368 .align 2 gFile_graphics_pokemon_palettes_gloom_palette:: @ 8D4D624 .incbin "graphics/pokemon/palettes/gloom_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD4D624, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_gloom_back_pic:: @ 8D4D64C .incbin "graphics/pokemon/back_pics/gloom_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD4D64C, 0x0380 .align 2 gFile_graphics_pokemon_palettes_gloom_shiny_palette:: @ 8D4D9CC .incbin "graphics/pokemon/palettes/gloom_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD4D9CC, 0x0028 .align 2 gFile_graphics_pokemon_icons_gloom_icon:: @ 8D4D9F4 .incbin "graphics/pokemon/icons/gloom_icon.4bpp" - @ .incbin "baserom.gba", 0xD4D9F4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_gloom_footprint:: @ 8D4DDF4 .incbin "graphics/pokemon/footprints/gloom_footprint.1bpp" - @ .incbin "baserom.gba", 0xD4DDF4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_vileplume_still_front_pic:: @ 8D4DE14 .incbin "graphics/pokemon/front_pics/vileplume_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD4DE14, 0x0354 .align 2 gFile_graphics_pokemon_palettes_vileplume_palette:: @ 8D4E168 .incbin "graphics/pokemon/palettes/vileplume_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD4E168, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_vileplume_back_pic:: @ 8D4E190 .incbin "graphics/pokemon/back_pics/vileplume_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD4E190, 0x044C .align 2 gFile_graphics_pokemon_palettes_vileplume_shiny_palette:: @ 8D4E5DC .incbin "graphics/pokemon/palettes/vileplume_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD4E5DC, 0x0028 .align 2 gFile_graphics_pokemon_icons_vileplume_icon:: @ 8D4E604 .incbin "graphics/pokemon/icons/vileplume_icon.4bpp" - @ .incbin "baserom.gba", 0xD4E604, 0x0400 .align 2 gFile_graphics_pokemon_footprints_vileplume_footprint:: @ 8D4EA04 .incbin "graphics/pokemon/footprints/vileplume_footprint.1bpp" - @ .incbin "baserom.gba", 0xD4EA04, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_paras_still_front_pic:: @ 8D4EA24 .incbin "graphics/pokemon/front_pics/paras_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD4EA24, 0x026C .align 2 gFile_graphics_pokemon_palettes_paras_palette:: @ 8D4EC90 .incbin "graphics/pokemon/palettes/paras_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD4EC90, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_paras_back_pic:: @ 8D4ECB8 .incbin "graphics/pokemon/back_pics/paras_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD4ECB8, 0x02A0 .align 2 gFile_graphics_pokemon_palettes_paras_shiny_palette:: @ 8D4EF58 .incbin "graphics/pokemon/palettes/paras_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD4EF58, 0x0028 .align 2 gFile_graphics_pokemon_icons_paras_icon:: @ 8D4EF80 .incbin "graphics/pokemon/icons/paras_icon.4bpp" - @ .incbin "baserom.gba", 0xD4EF80, 0x0400 .align 2 gFile_graphics_pokemon_footprints_paras_footprint:: @ 8D4F380 .incbin "graphics/pokemon/footprints/paras_footprint.1bpp" - @ .incbin "baserom.gba", 0xD4F380, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_parasect_still_front_pic:: @ 8D4F3A0 .incbin "graphics/pokemon/front_pics/parasect_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD4F3A0, 0x0390 .align 2 gFile_graphics_pokemon_palettes_parasect_palette:: @ 8D4F730 .incbin "graphics/pokemon/palettes/parasect_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD4F730, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_parasect_back_pic:: @ 8D4F758 .incbin "graphics/pokemon/back_pics/parasect_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD4F758, 0x02FC .align 2 gFile_graphics_pokemon_palettes_parasect_shiny_palette:: @ 8D4FA54 .incbin "graphics/pokemon/palettes/parasect_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD4FA54, 0x0028 .align 2 gFile_graphics_pokemon_icons_parasect_icon:: @ 8D4FA7C .incbin "graphics/pokemon/icons/parasect_icon.4bpp" - @ .incbin "baserom.gba", 0xD4FA7C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_parasect_footprint:: @ 8D4FE7C .incbin "graphics/pokemon/footprints/parasect_footprint.1bpp" - @ .incbin "baserom.gba", 0xD4FE7C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_venonat_still_front_pic:: @ 8D4FE9C .incbin "graphics/pokemon/front_pics/venonat_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD4FE9C, 0x0320 .align 2 gFile_graphics_pokemon_palettes_venonat_palette:: @ 8D501BC .incbin "graphics/pokemon/palettes/venonat_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD501BC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_venonat_back_pic:: @ 8D501E4 .incbin "graphics/pokemon/back_pics/venonat_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD501E4, 0x0330 .align 2 gFile_graphics_pokemon_palettes_venonat_shiny_palette:: @ 8D50514 .incbin "graphics/pokemon/palettes/venonat_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD50514, 0x0028 .align 2 gFile_graphics_pokemon_icons_venonat_icon:: @ 8D5053C .incbin "graphics/pokemon/icons/venonat_icon.4bpp" - @ .incbin "baserom.gba", 0xD5053C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_venonat_footprint:: @ 8D5093C .incbin "graphics/pokemon/footprints/venonat_footprint.1bpp" - @ .incbin "baserom.gba", 0xD5093C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_venomoth_still_front_pic:: @ 8D5095C .incbin "graphics/pokemon/front_pics/venomoth_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD5095C, 0x0404 .align 2 gFile_graphics_pokemon_palettes_venomoth_palette:: @ 8D50D60 .incbin "graphics/pokemon/palettes/venomoth_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD50D60, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_venomoth_back_pic:: @ 8D50D88 .incbin "graphics/pokemon/back_pics/venomoth_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD50D88, 0x03A4 .align 2 gFile_graphics_pokemon_palettes_venomoth_shiny_palette:: @ 8D5112C .incbin "graphics/pokemon/palettes/venomoth_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD5112C, 0x0028 .align 2 gFile_graphics_pokemon_icons_venomoth_icon:: @ 8D51154 .incbin "graphics/pokemon/icons/venomoth_icon.4bpp" - @ .incbin "baserom.gba", 0xD51154, 0x0400 .align 2 gFile_graphics_pokemon_footprints_venomoth_footprint:: @ 8D51554 .incbin "graphics/pokemon/footprints/venomoth_footprint.1bpp" - @ .incbin "baserom.gba", 0xD51554, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_diglett_still_front_pic:: @ 8D51574 .incbin "graphics/pokemon/front_pics/diglett_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD51574, 0x0210 .align 2 gFile_graphics_pokemon_palettes_diglett_palette:: @ 8D51784 .incbin "graphics/pokemon/palettes/diglett_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD51784, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_diglett_back_pic:: @ 8D517AC .incbin "graphics/pokemon/back_pics/diglett_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD517AC, 0x020C .align 2 gFile_graphics_pokemon_palettes_diglett_shiny_palette:: @ 8D519B8 .incbin "graphics/pokemon/palettes/diglett_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD519B8, 0x0028 .align 2 gFile_graphics_pokemon_icons_diglett_icon:: @ 8D519E0 .incbin "graphics/pokemon/icons/diglett_icon.4bpp" - @ .incbin "baserom.gba", 0xD519E0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_diglett_footprint:: @ 8D51DE0 .incbin "graphics/pokemon/footprints/diglett_footprint.1bpp" - @ .incbin "baserom.gba", 0xD51DE0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_dugtrio_still_front_pic:: @ 8D51E00 .incbin "graphics/pokemon/front_pics/dugtrio_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD51E00, 0x032C .align 2 gFile_graphics_pokemon_palettes_dugtrio_palette:: @ 8D5212C .incbin "graphics/pokemon/palettes/dugtrio_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD5212C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_dugtrio_back_pic:: @ 8D52154 .incbin "graphics/pokemon/back_pics/dugtrio_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD52154, 0x02AC .align 2 gFile_graphics_pokemon_palettes_dugtrio_shiny_palette:: @ 8D52400 .incbin "graphics/pokemon/palettes/dugtrio_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD52400, 0x0028 .align 2 gFile_graphics_pokemon_icons_dugtrio_icon:: @ 8D52428 .incbin "graphics/pokemon/icons/dugtrio_icon.4bpp" - @ .incbin "baserom.gba", 0xD52428, 0x0400 .align 2 gFile_graphics_pokemon_footprints_dugtrio_footprint:: @ 8D52828 .incbin "graphics/pokemon/footprints/dugtrio_footprint.1bpp" - @ .incbin "baserom.gba", 0xD52828, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_meowth_still_front_pic:: @ 8D52848 .incbin "graphics/pokemon/front_pics/meowth_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD52848, 0x02EC .align 2 gFile_graphics_pokemon_palettes_meowth_palette:: @ 8D52B34 .incbin "graphics/pokemon/palettes/meowth_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD52B34, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_meowth_back_pic:: @ 8D52B5C .incbin "graphics/pokemon/back_pics/meowth_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD52B5C, 0x02E4 .align 2 gFile_graphics_pokemon_palettes_meowth_shiny_palette:: @ 8D52E40 .incbin "graphics/pokemon/palettes/meowth_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD52E40, 0x0028 .align 2 gFile_graphics_pokemon_icons_meowth_icon:: @ 8D52E68 .incbin "graphics/pokemon/icons/meowth_icon.4bpp" - @ .incbin "baserom.gba", 0xD52E68, 0x0400 .align 2 gFile_graphics_pokemon_footprints_meowth_footprint:: @ 8D53268 .incbin "graphics/pokemon/footprints/meowth_footprint.1bpp" - @ .incbin "baserom.gba", 0xD53268, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_persian_still_front_pic:: @ 8D53288 .incbin "graphics/pokemon/front_pics/persian_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD53288, 0x0378 .align 2 gFile_graphics_pokemon_palettes_persian_palette:: @ 8D53600 .incbin "graphics/pokemon/palettes/persian_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD53600, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_persian_back_pic:: @ 8D53628 .incbin "graphics/pokemon/back_pics/persian_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD53628, 0x0340 .align 2 gFile_graphics_pokemon_palettes_persian_shiny_palette:: @ 8D53968 .incbin "graphics/pokemon/palettes/persian_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD53968, 0x0028 .align 2 gFile_graphics_pokemon_icons_persian_icon:: @ 8D53990 .incbin "graphics/pokemon/icons/persian_icon.4bpp" - @ .incbin "baserom.gba", 0xD53990, 0x0400 .align 2 gFile_graphics_pokemon_footprints_persian_footprint:: @ 8D53D90 .incbin "graphics/pokemon/footprints/persian_footprint.1bpp" - @ .incbin "baserom.gba", 0xD53D90, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_psyduck_still_front_pic:: @ 8D53DB0 .incbin "graphics/pokemon/front_pics/psyduck_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD53DB0, 0x02E4 .align 2 gFile_graphics_pokemon_palettes_psyduck_palette:: @ 8D54094 .incbin "graphics/pokemon/palettes/psyduck_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD54094, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_psyduck_back_pic:: @ 8D540BC .incbin "graphics/pokemon/back_pics/psyduck_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD540BC, 0x029C .align 2 gFile_graphics_pokemon_palettes_psyduck_shiny_palette:: @ 8D54358 .incbin "graphics/pokemon/palettes/psyduck_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD54358, 0x0028 .align 2 gFile_graphics_pokemon_icons_psyduck_icon:: @ 8D54380 .incbin "graphics/pokemon/icons/psyduck_icon.4bpp" - @ .incbin "baserom.gba", 0xD54380, 0x0400 .align 2 gFile_graphics_pokemon_footprints_psyduck_footprint:: @ 8D54780 .incbin "graphics/pokemon/footprints/psyduck_footprint.1bpp" - @ .incbin "baserom.gba", 0xD54780, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_golduck_still_front_pic:: @ 8D547A0 .incbin "graphics/pokemon/front_pics/golduck_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD547A0, 0x03B8 .align 2 gFile_graphics_pokemon_palettes_golduck_palette:: @ 8D54B58 .incbin "graphics/pokemon/palettes/golduck_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD54B58, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_golduck_back_pic:: @ 8D54B80 .incbin "graphics/pokemon/back_pics/golduck_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD54B80, 0x032C .align 2 gFile_graphics_pokemon_palettes_golduck_shiny_palette:: @ 8D54EAC .incbin "graphics/pokemon/palettes/golduck_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD54EAC, 0x0028 .align 2 gFile_graphics_pokemon_icons_golduck_icon:: @ 8D54ED4 .incbin "graphics/pokemon/icons/golduck_icon.4bpp" - @ .incbin "baserom.gba", 0xD54ED4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_golduck_footprint:: @ 8D552D4 .incbin "graphics/pokemon/footprints/golduck_footprint.1bpp" - @ .incbin "baserom.gba", 0xD552D4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_mankey_still_front_pic:: @ 8D552F4 .incbin "graphics/pokemon/front_pics/mankey_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD552F4, 0x02F8 .align 2 gFile_graphics_pokemon_palettes_mankey_palette:: @ 8D555EC .incbin "graphics/pokemon/palettes/mankey_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD555EC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_mankey_back_pic:: @ 8D55614 .incbin "graphics/pokemon/back_pics/mankey_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD55614, 0x0368 .align 2 gFile_graphics_pokemon_palettes_mankey_shiny_palette:: @ 8D5597C .incbin "graphics/pokemon/palettes/mankey_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD5597C, 0x0028 .align 2 gFile_graphics_pokemon_icons_mankey_icon:: @ 8D559A4 .incbin "graphics/pokemon/icons/mankey_icon.4bpp" - @ .incbin "baserom.gba", 0xD559A4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_mankey_footprint:: @ 8D55DA4 .incbin "graphics/pokemon/footprints/mankey_footprint.1bpp" - @ .incbin "baserom.gba", 0xD55DA4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_primeape_still_front_pic:: @ 8D55DC4 .incbin "graphics/pokemon/front_pics/primeape_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD55DC4, 0x038C .align 2 gFile_graphics_pokemon_palettes_primeape_palette:: @ 8D56150 .incbin "graphics/pokemon/palettes/primeape_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD56150, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_primeape_back_pic:: @ 8D56178 .incbin "graphics/pokemon/back_pics/primeape_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD56178, 0x0370 .align 2 gFile_graphics_pokemon_palettes_primeape_shiny_palette:: @ 8D564E8 .incbin "graphics/pokemon/palettes/primeape_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD564E8, 0x0028 .align 2 gFile_graphics_pokemon_icons_primeape_icon:: @ 8D56510 .incbin "graphics/pokemon/icons/primeape_icon.4bpp" - @ .incbin "baserom.gba", 0xD56510, 0x0400 .align 2 gFile_graphics_pokemon_footprints_primeape_footprint:: @ 8D56910 .incbin "graphics/pokemon/footprints/primeape_footprint.1bpp" - @ .incbin "baserom.gba", 0xD56910, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_growlithe_still_front_pic:: @ 8D56930 .incbin "graphics/pokemon/front_pics/growlithe_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD56930, 0x0328 .align 2 gFile_graphics_pokemon_palettes_growlithe_palette:: @ 8D56C58 .incbin "graphics/pokemon/palettes/growlithe_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD56C58, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_growlithe_back_pic:: @ 8D56C80 .incbin "graphics/pokemon/back_pics/growlithe_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD56C80, 0x033C .align 2 gFile_graphics_pokemon_palettes_growlithe_shiny_palette:: @ 8D56FBC .incbin "graphics/pokemon/palettes/growlithe_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD56FBC, 0x0028 .align 2 gFile_graphics_pokemon_icons_growlithe_icon:: @ 8D56FE4 .incbin "graphics/pokemon/icons/growlithe_icon.4bpp" - @ .incbin "baserom.gba", 0xD56FE4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_growlithe_footprint:: @ 8D573E4 .incbin "graphics/pokemon/footprints/growlithe_footprint.1bpp" - @ .incbin "baserom.gba", 0xD573E4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_arcanine_still_front_pic:: @ 8D57404 .incbin "graphics/pokemon/front_pics/arcanine_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD57404, 0x04FC .align 2 gFile_graphics_pokemon_palettes_arcanine_palette:: @ 8D57900 .incbin "graphics/pokemon/palettes/arcanine_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD57900, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_arcanine_back_pic:: @ 8D57928 .incbin "graphics/pokemon/back_pics/arcanine_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD57928, 0x03E0 .align 2 gFile_graphics_pokemon_palettes_arcanine_shiny_palette:: @ 8D57D08 .incbin "graphics/pokemon/palettes/arcanine_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD57D08, 0x0028 .align 2 gFile_graphics_pokemon_icons_arcanine_icon:: @ 8D57D30 .incbin "graphics/pokemon/icons/arcanine_icon.4bpp" - @ .incbin "baserom.gba", 0xD57D30, 0x0400 .align 2 gFile_graphics_pokemon_footprints_arcanine_footprint:: @ 8D58130 .incbin "graphics/pokemon/footprints/arcanine_footprint.1bpp" - @ .incbin "baserom.gba", 0xD58130, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_poliwag_still_front_pic:: @ 8D58150 .incbin "graphics/pokemon/front_pics/poliwag_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD58150, 0x029C .align 2 gFile_graphics_pokemon_palettes_poliwag_palette:: @ 8D583EC .incbin "graphics/pokemon/palettes/poliwag_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD583EC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_poliwag_back_pic:: @ 8D58414 .incbin "graphics/pokemon/back_pics/poliwag_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD58414, 0x0264 .align 2 gFile_graphics_pokemon_palettes_poliwag_shiny_palette:: @ 8D58678 .incbin "graphics/pokemon/palettes/poliwag_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD58678, 0x0028 .align 2 gFile_graphics_pokemon_icons_poliwag_icon:: @ 8D586A0 .incbin "graphics/pokemon/icons/poliwag_icon.4bpp" - @ .incbin "baserom.gba", 0xD586A0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_poliwag_footprint:: @ 8D58AA0 .incbin "graphics/pokemon/footprints/poliwag_footprint.1bpp" - @ .incbin "baserom.gba", 0xD58AA0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_poliwhirl_still_front_pic:: @ 8D58AC0 .incbin "graphics/pokemon/front_pics/poliwhirl_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD58AC0, 0x0380 .align 2 gFile_graphics_pokemon_palettes_poliwhirl_palette:: @ 8D58E40 .incbin "graphics/pokemon/palettes/poliwhirl_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD58E40, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_poliwhirl_back_pic:: @ 8D58E68 .incbin "graphics/pokemon/back_pics/poliwhirl_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD58E68, 0x027C .align 2 gFile_graphics_pokemon_palettes_poliwhirl_shiny_palette:: @ 8D590E4 .incbin "graphics/pokemon/palettes/poliwhirl_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD590E4, 0x0028 .align 2 gFile_graphics_pokemon_icons_poliwhirl_icon:: @ 8D5910C .incbin "graphics/pokemon/icons/poliwhirl_icon.4bpp" - @ .incbin "baserom.gba", 0xD5910C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_poliwhirl_footprint:: @ 8D5950C .incbin "graphics/pokemon/footprints/poliwhirl_footprint.1bpp" - @ .incbin "baserom.gba", 0xD5950C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_poliwrath_still_front_pic:: @ 8D5952C .incbin "graphics/pokemon/front_pics/poliwrath_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD5952C, 0x03C4 .align 2 gFile_graphics_pokemon_palettes_poliwrath_palette:: @ 8D598F0 .incbin "graphics/pokemon/palettes/poliwrath_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD598F0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_poliwrath_back_pic:: @ 8D59918 .incbin "graphics/pokemon/back_pics/poliwrath_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD59918, 0x02F4 .align 2 gFile_graphics_pokemon_palettes_poliwrath_shiny_palette:: @ 8D59C0C .incbin "graphics/pokemon/palettes/poliwrath_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD59C0C, 0x0028 .align 2 gFile_graphics_pokemon_icons_poliwrath_icon:: @ 8D59C34 .incbin "graphics/pokemon/icons/poliwrath_icon.4bpp" - @ .incbin "baserom.gba", 0xD59C34, 0x0400 .align 2 gFile_graphics_pokemon_footprints_poliwrath_footprint:: @ 8D5A034 .incbin "graphics/pokemon/footprints/poliwrath_footprint.1bpp" - @ .incbin "baserom.gba", 0xD5A034, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_abra_still_front_pic:: @ 8D5A054 .incbin "graphics/pokemon/front_pics/abra_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD5A054, 0x02D4 .align 2 gFile_graphics_pokemon_palettes_abra_palette:: @ 8D5A328 .incbin "graphics/pokemon/palettes/abra_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD5A328, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_abra_back_pic:: @ 8D5A34C .incbin "graphics/pokemon/back_pics/abra_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD5A34C, 0x02D4 .align 2 gFile_graphics_pokemon_palettes_abra_shiny_palette:: @ 8D5A620 .incbin "graphics/pokemon/palettes/abra_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD5A620, 0x0024 .align 2 gFile_graphics_pokemon_icons_abra_icon:: @ 8D5A644 .incbin "graphics/pokemon/icons/abra_icon.4bpp" - @ .incbin "baserom.gba", 0xD5A644, 0x0400 .align 2 gFile_graphics_pokemon_footprints_abra_footprint:: @ 8D5AA44 .incbin "graphics/pokemon/footprints/abra_footprint.1bpp" - @ .incbin "baserom.gba", 0xD5AA44, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_kadabra_still_front_pic:: @ 8D5AA64 .incbin "graphics/pokemon/front_pics/kadabra_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD5AA64, 0x04C8 .align 2 gFile_graphics_pokemon_palettes_kadabra_palette:: @ 8D5AF2C .incbin "graphics/pokemon/palettes/kadabra_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD5AF2C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_kadabra_back_pic:: @ 8D5AF54 .incbin "graphics/pokemon/back_pics/kadabra_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD5AF54, 0x03AC .align 2 gFile_graphics_pokemon_palettes_kadabra_shiny_palette:: @ 8D5B300 .incbin "graphics/pokemon/palettes/kadabra_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD5B300, 0x0028 .align 2 gFile_graphics_pokemon_icons_kadabra_icon:: @ 8D5B328 .incbin "graphics/pokemon/icons/kadabra_icon.4bpp" - @ .incbin "baserom.gba", 0xD5B328, 0x0400 .align 2 gFile_graphics_pokemon_footprints_kadabra_footprint:: @ 8D5B728 .incbin "graphics/pokemon/footprints/kadabra_footprint.1bpp" - @ .incbin "baserom.gba", 0xD5B728, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_alakazam_still_front_pic:: @ 8D5B748 .incbin "graphics/pokemon/front_pics/alakazam_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD5B748, 0x0498 .align 2 gFile_graphics_pokemon_palettes_alakazam_palette:: @ 8D5BBE0 .incbin "graphics/pokemon/palettes/alakazam_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD5BBE0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_alakazam_back_pic:: @ 8D5BC08 .incbin "graphics/pokemon/back_pics/alakazam_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD5BC08, 0x0380 .align 2 gFile_graphics_pokemon_palettes_alakazam_shiny_palette:: @ 8D5BF88 .incbin "graphics/pokemon/palettes/alakazam_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD5BF88, 0x0028 .align 2 gFile_graphics_pokemon_icons_alakazam_icon:: @ 8D5BFB0 .incbin "graphics/pokemon/icons/alakazam_icon.4bpp" - @ .incbin "baserom.gba", 0xD5BFB0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_alakazam_footprint:: @ 8D5C3B0 .incbin "graphics/pokemon/footprints/alakazam_footprint.1bpp" - @ .incbin "baserom.gba", 0xD5C3B0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_machop_still_front_pic:: @ 8D5C3D0 .incbin "graphics/pokemon/front_pics/machop_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD5C3D0, 0x028C .align 2 gFile_graphics_pokemon_palettes_machop_palette:: @ 8D5C65C .incbin "graphics/pokemon/palettes/machop_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD5C65C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_machop_back_pic:: @ 8D5C684 .incbin "graphics/pokemon/back_pics/machop_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD5C684, 0x02E0 .align 2 gFile_graphics_pokemon_palettes_machop_shiny_palette:: @ 8D5C964 .incbin "graphics/pokemon/palettes/machop_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD5C964, 0x0028 .align 2 gFile_graphics_pokemon_icons_machop_icon:: @ 8D5C98C .incbin "graphics/pokemon/icons/machop_icon.4bpp" - @ .incbin "baserom.gba", 0xD5C98C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_machop_footprint:: @ 8D5CD8C .incbin "graphics/pokemon/footprints/machop_footprint.1bpp" - @ .incbin "baserom.gba", 0xD5CD8C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_machoke_still_front_pic:: @ 8D5CDAC .incbin "graphics/pokemon/front_pics/machoke_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD5CDAC, 0x03CC .align 2 gFile_graphics_pokemon_palettes_machoke_palette:: @ 8D5D178 .incbin "graphics/pokemon/palettes/machoke_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD5D178, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_machoke_back_pic:: @ 8D5D1A0 .incbin "graphics/pokemon/back_pics/machoke_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD5D1A0, 0x0350 .align 2 gFile_graphics_pokemon_palettes_machoke_shiny_palette:: @ 8D5D4F0 .incbin "graphics/pokemon/palettes/machoke_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD5D4F0, 0x0028 .align 2 gFile_graphics_pokemon_icons_machoke_icon:: @ 8D5D518 .incbin "graphics/pokemon/icons/machoke_icon.4bpp" - @ .incbin "baserom.gba", 0xD5D518, 0x0400 .align 2 gFile_graphics_pokemon_footprints_machoke_footprint:: @ 8D5D918 .incbin "graphics/pokemon/footprints/machoke_footprint.1bpp" - @ .incbin "baserom.gba", 0xD5D918, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_machamp_still_front_pic:: @ 8D5D938 .incbin "graphics/pokemon/front_pics/machamp_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD5D938, 0x04EC .align 2 gFile_graphics_pokemon_palettes_machamp_palette:: @ 8D5DE24 .incbin "graphics/pokemon/palettes/machamp_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD5DE24, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_machamp_back_pic:: @ 8D5DE4C .incbin "graphics/pokemon/back_pics/machamp_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD5DE4C, 0x045C .align 2 gFile_graphics_pokemon_palettes_machamp_shiny_palette:: @ 8D5E2A8 .incbin "graphics/pokemon/palettes/machamp_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD5E2A8, 0x0028 .align 2 gFile_graphics_pokemon_icons_machamp_icon:: @ 8D5E2D0 .incbin "graphics/pokemon/icons/machamp_icon.4bpp" - @ .incbin "baserom.gba", 0xD5E2D0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_machamp_footprint:: @ 8D5E6D0 .incbin "graphics/pokemon/footprints/machamp_footprint.1bpp" - @ .incbin "baserom.gba", 0xD5E6D0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_bellsprout_still_front_pic:: @ 8D5E6F0 .incbin "graphics/pokemon/front_pics/bellsprout_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD5E6F0, 0x028C .align 2 gFile_graphics_pokemon_palettes_bellsprout_palette:: @ 8D5E97C .incbin "graphics/pokemon/palettes/bellsprout_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD5E97C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_bellsprout_back_pic:: @ 8D5E9A4 .incbin "graphics/pokemon/back_pics/bellsprout_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD5E9A4, 0x029C .align 2 gFile_graphics_pokemon_palettes_bellsprout_shiny_palette:: @ 8D5EC40 .incbin "graphics/pokemon/palettes/bellsprout_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD5EC40, 0x0028 .align 2 gFile_graphics_pokemon_icons_bellsprout_icon:: @ 8D5EC68 .incbin "graphics/pokemon/icons/bellsprout_icon.4bpp" - @ .incbin "baserom.gba", 0xD5EC68, 0x0400 .align 2 gFile_graphics_pokemon_footprints_bellsprout_footprint:: @ 8D5F068 .incbin "graphics/pokemon/footprints/bellsprout_footprint.1bpp" - @ .incbin "baserom.gba", 0xD5F068, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_weepinbell_still_front_pic:: @ 8D5F088 .incbin "graphics/pokemon/front_pics/weepinbell_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD5F088, 0x0324 .align 2 gFile_graphics_pokemon_palettes_weepinbell_palette:: @ 8D5F3AC .incbin "graphics/pokemon/palettes/weepinbell_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD5F3AC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_weepinbell_back_pic:: @ 8D5F3D4 .incbin "graphics/pokemon/back_pics/weepinbell_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD5F3D4, 0x02FC .align 2 gFile_graphics_pokemon_palettes_weepinbell_shiny_palette:: @ 8D5F6D0 .incbin "graphics/pokemon/palettes/weepinbell_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD5F6D0, 0x0028 .align 2 gFile_graphics_pokemon_icons_weepinbell_icon:: @ 8D5F6F8 .incbin "graphics/pokemon/icons/weepinbell_icon.4bpp" - @ .incbin "baserom.gba", 0xD5F6F8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_weepinbell_footprint:: @ 8D5FAF8 .incbin "graphics/pokemon/footprints/weepinbell_footprint.1bpp" - @ .incbin "baserom.gba", 0xD5FAF8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_victreebel_still_front_pic:: @ 8D5FB18 .incbin "graphics/pokemon/front_pics/victreebel_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD5FB18, 0x042C .align 2 gFile_graphics_pokemon_palettes_victreebel_palette:: @ 8D5FF44 .incbin "graphics/pokemon/palettes/victreebel_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD5FF44, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_victreebel_back_pic:: @ 8D5FF6C .incbin "graphics/pokemon/back_pics/victreebel_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD5FF6C, 0x0398 .align 2 gFile_graphics_pokemon_palettes_victreebel_shiny_palette:: @ 8D60304 .incbin "graphics/pokemon/palettes/victreebel_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD60304, 0x0028 .align 2 gFile_graphics_pokemon_icons_victreebel_icon:: @ 8D6032C .incbin "graphics/pokemon/icons/victreebel_icon.4bpp" - @ .incbin "baserom.gba", 0xD6032C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_victreebel_footprint:: @ 8D6072C .incbin "graphics/pokemon/footprints/victreebel_footprint.1bpp" - @ .incbin "baserom.gba", 0xD6072C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_tentacool_still_front_pic:: @ 8D6074C .incbin "graphics/pokemon/front_pics/tentacool_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD6074C, 0x02A8 .align 2 gFile_graphics_pokemon_palettes_tentacool_palette:: @ 8D609F4 .incbin "graphics/pokemon/palettes/tentacool_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD609F4, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_tentacool_back_pic:: @ 8D60A1C .incbin "graphics/pokemon/back_pics/tentacool_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD60A1C, 0x02CC .align 2 gFile_graphics_pokemon_palettes_tentacool_shiny_palette:: @ 8D60CE8 .incbin "graphics/pokemon/palettes/tentacool_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD60CE8, 0x0028 .align 2 gFile_graphics_pokemon_icons_tentacool_icon:: @ 8D60D10 .incbin "graphics/pokemon/icons/tentacool_icon.4bpp" - @ .incbin "baserom.gba", 0xD60D10, 0x0400 .align 2 gFile_graphics_pokemon_footprints_tentacool_footprint:: @ 8D61110 .incbin "graphics/pokemon/footprints/tentacool_footprint.1bpp" - @ .incbin "baserom.gba", 0xD61110, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_tentacruel_still_front_pic:: @ 8D61130 .incbin "graphics/pokemon/front_pics/tentacruel_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD61130, 0x04F4 .align 2 gFile_graphics_pokemon_palettes_tentacruel_palette:: @ 8D61624 .incbin "graphics/pokemon/palettes/tentacruel_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD61624, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_tentacruel_back_pic:: @ 8D6164C .incbin "graphics/pokemon/back_pics/tentacruel_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD6164C, 0x039C .align 2 gFile_graphics_pokemon_palettes_tentacruel_shiny_palette:: @ 8D619E8 .incbin "graphics/pokemon/palettes/tentacruel_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD619E8, 0x0028 .align 2 gFile_graphics_pokemon_icons_tentacruel_icon:: @ 8D61A10 .incbin "graphics/pokemon/icons/tentacruel_icon.4bpp" - @ .incbin "baserom.gba", 0xD61A10, 0x0400 .align 2 gFile_graphics_pokemon_footprints_tentacruel_footprint:: @ 8D61E10 .incbin "graphics/pokemon/footprints/tentacruel_footprint.1bpp" - @ .incbin "baserom.gba", 0xD61E10, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_geodude_still_front_pic:: @ 8D61E30 .incbin "graphics/pokemon/front_pics/geodude_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD61E30, 0x0294 .align 2 gFile_graphics_pokemon_palettes_geodude_palette:: @ 8D620C4 .incbin "graphics/pokemon/palettes/geodude_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD620C4, 0x001C .align 2 gFile_graphics_pokemon_back_pics_geodude_back_pic:: @ 8D620E0 .incbin "graphics/pokemon/back_pics/geodude_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD620E0, 0x0294 .align 2 gFile_graphics_pokemon_palettes_geodude_shiny_palette:: @ 8D62374 .incbin "graphics/pokemon/palettes/geodude_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD62374, 0x001C .align 2 gFile_graphics_pokemon_icons_geodude_icon:: @ 8D62390 .incbin "graphics/pokemon/icons/geodude_icon.4bpp" - @ .incbin "baserom.gba", 0xD62390, 0x0400 .align 2 gFile_graphics_pokemon_footprints_geodude_footprint:: @ 8D62790 .incbin "graphics/pokemon/footprints/geodude_footprint.1bpp" - @ .incbin "baserom.gba", 0xD62790, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_graveler_still_front_pic:: @ 8D627B0 .incbin "graphics/pokemon/front_pics/graveler_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD627B0, 0x03FC .align 2 gFile_graphics_pokemon_palettes_graveler_palette:: @ 8D62BAC .incbin "graphics/pokemon/palettes/graveler_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD62BAC, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_graveler_back_pic:: @ 8D62BD0 .incbin "graphics/pokemon/back_pics/graveler_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD62BD0, 0x027C .align 2 gFile_graphics_pokemon_palettes_graveler_shiny_palette:: @ 8D62E4C .incbin "graphics/pokemon/palettes/graveler_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD62E4C, 0x0024 .align 2 gFile_graphics_pokemon_icons_graveler_icon:: @ 8D62E70 .incbin "graphics/pokemon/icons/graveler_icon.4bpp" - @ .incbin "baserom.gba", 0xD62E70, 0x0400 .align 2 gFile_graphics_pokemon_footprints_graveler_footprint:: @ 8D63270 .incbin "graphics/pokemon/footprints/graveler_footprint.1bpp" - @ .incbin "baserom.gba", 0xD63270, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_golem_still_front_pic:: @ 8D63290 .incbin "graphics/pokemon/front_pics/golem_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD63290, 0x0430 .align 2 gFile_graphics_pokemon_palettes_golem_palette:: @ 8D636C0 .incbin "graphics/pokemon/palettes/golem_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD636C0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_golem_back_pic:: @ 8D636E8 .incbin "graphics/pokemon/back_pics/golem_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD636E8, 0x02C0 .align 2 gFile_graphics_pokemon_palettes_golem_shiny_palette:: @ 8D639A8 .incbin "graphics/pokemon/palettes/golem_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD639A8, 0x0028 .align 2 gFile_graphics_pokemon_icons_golem_icon:: @ 8D639D0 .incbin "graphics/pokemon/icons/golem_icon.4bpp" - @ .incbin "baserom.gba", 0xD639D0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_golem_footprint:: @ 8D63DD0 .incbin "graphics/pokemon/footprints/golem_footprint.1bpp" - @ .incbin "baserom.gba", 0xD63DD0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_ponyta_still_front_pic:: @ 8D63DF0 .incbin "graphics/pokemon/front_pics/ponyta_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD63DF0, 0x0390 .align 2 gFile_graphics_pokemon_palettes_ponyta_palette:: @ 8D64180 .incbin "graphics/pokemon/palettes/ponyta_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD64180, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_ponyta_back_pic:: @ 8D641A8 .incbin "graphics/pokemon/back_pics/ponyta_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD641A8, 0x033C .align 2 gFile_graphics_pokemon_palettes_ponyta_shiny_palette:: @ 8D644E4 .incbin "graphics/pokemon/palettes/ponyta_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD644E4, 0x0028 .align 2 gFile_graphics_pokemon_icons_ponyta_icon:: @ 8D6450C .incbin "graphics/pokemon/icons/ponyta_icon.4bpp" - @ .incbin "baserom.gba", 0xD6450C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_ponyta_footprint:: @ 8D6490C .incbin "graphics/pokemon/footprints/ponyta_footprint.1bpp" - @ .incbin "baserom.gba", 0xD6490C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_rapidash_still_front_pic:: @ 8D6492C .incbin "graphics/pokemon/front_pics/rapidash_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD6492C, 0x0488 .align 2 gFile_graphics_pokemon_palettes_rapidash_palette:: @ 8D64DB4 .incbin "graphics/pokemon/palettes/rapidash_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD64DB4, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_rapidash_back_pic:: @ 8D64DDC .incbin "graphics/pokemon/back_pics/rapidash_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD64DDC, 0x0410 .align 2 gFile_graphics_pokemon_palettes_rapidash_shiny_palette:: @ 8D651EC .incbin "graphics/pokemon/palettes/rapidash_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD651EC, 0x0028 .align 2 gFile_graphics_pokemon_icons_rapidash_icon:: @ 8D65214 .incbin "graphics/pokemon/icons/rapidash_icon.4bpp" - @ .incbin "baserom.gba", 0xD65214, 0x0400 .align 2 gFile_graphics_pokemon_footprints_rapidash_footprint:: @ 8D65614 .incbin "graphics/pokemon/footprints/rapidash_footprint.1bpp" - @ .incbin "baserom.gba", 0xD65614, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_slowpoke_still_front_pic:: @ 8D65634 .incbin "graphics/pokemon/front_pics/slowpoke_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD65634, 0x02D4 .align 2 gFile_graphics_pokemon_palettes_slowpoke_palette:: @ 8D65908 .incbin "graphics/pokemon/palettes/slowpoke_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD65908, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_slowpoke_back_pic:: @ 8D65930 .incbin "graphics/pokemon/back_pics/slowpoke_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD65930, 0x0264 .align 2 gFile_graphics_pokemon_palettes_slowpoke_shiny_palette:: @ 8D65B94 .incbin "graphics/pokemon/palettes/slowpoke_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD65B94, 0x0028 .align 2 gFile_graphics_pokemon_icons_slowpoke_icon:: @ 8D65BBC .incbin "graphics/pokemon/icons/slowpoke_icon.4bpp" - @ .incbin "baserom.gba", 0xD65BBC, 0x0400 .align 2 gFile_graphics_pokemon_footprints_slowpoke_footprint:: @ 8D65FBC .incbin "graphics/pokemon/footprints/slowpoke_footprint.1bpp" - @ .incbin "baserom.gba", 0xD65FBC, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_slowbro_still_front_pic:: @ 8D65FDC .incbin "graphics/pokemon/front_pics/slowbro_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD65FDC, 0x04A0 .align 2 gFile_graphics_pokemon_palettes_slowbro_palette:: @ 8D6647C .incbin "graphics/pokemon/palettes/slowbro_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD6647C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_slowbro_back_pic:: @ 8D664A4 .incbin "graphics/pokemon/back_pics/slowbro_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD664A4, 0x039C .align 2 gFile_graphics_pokemon_palettes_slowbro_shiny_palette:: @ 8D66840 .incbin "graphics/pokemon/palettes/slowbro_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD66840, 0x0028 .align 2 gFile_graphics_pokemon_icons_slowbro_icon:: @ 8D66868 .incbin "graphics/pokemon/icons/slowbro_icon.4bpp" - @ .incbin "baserom.gba", 0xD66868, 0x0400 .align 2 gFile_graphics_pokemon_footprints_slowbro_footprint:: @ 8D66C68 .incbin "graphics/pokemon/footprints/slowbro_footprint.1bpp" - @ .incbin "baserom.gba", 0xD66C68, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_magnemite_still_front_pic:: @ 8D66C88 .incbin "graphics/pokemon/front_pics/magnemite_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD66C88, 0x01D8 .align 2 gFile_graphics_pokemon_palettes_magnemite_palette:: @ 8D66E60 .incbin "graphics/pokemon/palettes/magnemite_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD66E60, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_magnemite_back_pic:: @ 8D66E88 .incbin "graphics/pokemon/back_pics/magnemite_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD66E88, 0x01E8 .align 2 gFile_graphics_pokemon_palettes_magnemite_shiny_palette:: @ 8D67070 .incbin "graphics/pokemon/palettes/magnemite_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD67070, 0x0024 .align 2 gFile_graphics_pokemon_icons_magnemite_icon:: @ 8D67094 .incbin "graphics/pokemon/icons/magnemite_icon.4bpp" - @ .incbin "baserom.gba", 0xD67094, 0x0400 .align 2 gFile_graphics_pokemon_footprints_magnemite_footprint:: @ 8D67494 .incbin "graphics/pokemon/footprints/magnemite_footprint.1bpp" - @ .incbin "baserom.gba", 0xD67494, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_magneton_still_front_pic:: @ 8D674B4 .incbin "graphics/pokemon/front_pics/magneton_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD674B4, 0x033C .align 2 gFile_graphics_pokemon_palettes_magneton_palette:: @ 8D677F0 .incbin "graphics/pokemon/palettes/magneton_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD677F0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_magneton_back_pic:: @ 8D67818 .incbin "graphics/pokemon/back_pics/magneton_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD67818, 0x0380 .align 2 gFile_graphics_pokemon_palettes_magneton_shiny_palette:: @ 8D67B98 .incbin "graphics/pokemon/palettes/magneton_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD67B98, 0x0028 .align 2 gFile_graphics_pokemon_icons_magneton_icon:: @ 8D67BC0 .incbin "graphics/pokemon/icons/magneton_icon.4bpp" - @ .incbin "baserom.gba", 0xD67BC0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_magneton_footprint:: @ 8D67FC0 .incbin "graphics/pokemon/footprints/magneton_footprint.1bpp" - @ .incbin "baserom.gba", 0xD67FC0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_farfetch_d_still_front_pic:: @ 8D67FE0 .incbin "graphics/pokemon/front_pics/farfetch_d_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD67FE0, 0x0354 .align 2 gFile_graphics_pokemon_palettes_farfetch_d_palette:: @ 8D68334 .incbin "graphics/pokemon/palettes/farfetch_d_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD68334, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_farfetch_d_back_pic:: @ 8D6835C .incbin "graphics/pokemon/back_pics/farfetch_d_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD6835C, 0x036C .align 2 gFile_graphics_pokemon_palettes_farfetch_d_shiny_palette:: @ 8D686C8 .incbin "graphics/pokemon/palettes/farfetch_d_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD686C8, 0x0028 .align 2 gFile_graphics_pokemon_icons_farfetch_d_icon:: @ 8D686F0 .incbin "graphics/pokemon/icons/farfetch_d_icon.4bpp" - @ .incbin "baserom.gba", 0xD686F0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_farfetch_d_footprint:: @ 8D68AF0 .incbin "graphics/pokemon/footprints/farfetch_d_footprint.1bpp" - @ .incbin "baserom.gba", 0xD68AF0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_doduo_still_front_pic:: @ 8D68B10 .incbin "graphics/pokemon/front_pics/doduo_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD68B10, 0x02EC .align 2 gFile_graphics_pokemon_palettes_doduo_palette:: @ 8D68DFC .incbin "graphics/pokemon/palettes/doduo_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD68DFC, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_doduo_back_pic:: @ 8D68E20 .incbin "graphics/pokemon/back_pics/doduo_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD68E20, 0x0318 .align 2 gFile_graphics_pokemon_palettes_doduo_shiny_palette:: @ 8D69138 .incbin "graphics/pokemon/palettes/doduo_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD69138, 0x0024 .align 2 gFile_graphics_pokemon_icons_doduo_icon:: @ 8D6915C .incbin "graphics/pokemon/icons/doduo_icon.4bpp" - @ .incbin "baserom.gba", 0xD6915C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_doduo_footprint:: @ 8D6955C .incbin "graphics/pokemon/footprints/doduo_footprint.1bpp" - @ .incbin "baserom.gba", 0xD6955C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_dodrio_still_front_pic:: @ 8D6957C .incbin "graphics/pokemon/front_pics/dodrio_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD6957C, 0x0440 .align 2 gFile_graphics_pokemon_palettes_dodrio_palette:: @ 8D699BC .incbin "graphics/pokemon/palettes/dodrio_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD699BC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_dodrio_back_pic:: @ 8D699E4 .incbin "graphics/pokemon/back_pics/dodrio_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD699E4, 0x0464 .align 2 gFile_graphics_pokemon_palettes_dodrio_shiny_palette:: @ 8D69E48 .incbin "graphics/pokemon/palettes/dodrio_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD69E48, 0x0028 .align 2 gFile_graphics_pokemon_icons_dodrio_icon:: @ 8D69E70 .incbin "graphics/pokemon/icons/dodrio_icon.4bpp" - @ .incbin "baserom.gba", 0xD69E70, 0x0400 .align 2 gFile_graphics_pokemon_footprints_dodrio_footprint:: @ 8D6A270 .incbin "graphics/pokemon/footprints/dodrio_footprint.1bpp" - @ .incbin "baserom.gba", 0xD6A270, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_seel_still_front_pic:: @ 8D6A290 .incbin "graphics/pokemon/front_pics/seel_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD6A290, 0x0324 .align 2 gFile_graphics_pokemon_palettes_seel_palette:: @ 8D6A5B4 .incbin "graphics/pokemon/palettes/seel_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD6A5B4, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_seel_back_pic:: @ 8D6A5DC .incbin "graphics/pokemon/back_pics/seel_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD6A5DC, 0x02EC .align 2 gFile_graphics_pokemon_palettes_seel_shiny_palette:: @ 8D6A8C8 .incbin "graphics/pokemon/palettes/seel_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD6A8C8, 0x0028 .align 2 gFile_graphics_pokemon_icons_seel_icon:: @ 8D6A8F0 .incbin "graphics/pokemon/icons/seel_icon.4bpp" - @ .incbin "baserom.gba", 0xD6A8F0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_seel_footprint:: @ 8D6ACF0 .incbin "graphics/pokemon/footprints/seel_footprint.1bpp" - @ .incbin "baserom.gba", 0xD6ACF0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_dewgong_still_front_pic:: @ 8D6AD10 .incbin "graphics/pokemon/front_pics/dewgong_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD6AD10, 0x03D0 .align 2 gFile_graphics_pokemon_palettes_dewgong_palette:: @ 8D6B0E0 .incbin "graphics/pokemon/palettes/dewgong_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD6B0E0, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_dewgong_back_pic:: @ 8D6B104 .incbin "graphics/pokemon/back_pics/dewgong_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD6B104, 0x0294 .align 2 gFile_graphics_pokemon_palettes_dewgong_shiny_palette:: @ 8D6B398 .incbin "graphics/pokemon/palettes/dewgong_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD6B398, 0x0024 .align 2 gFile_graphics_pokemon_icons_dewgong_icon:: @ 8D6B3BC .incbin "graphics/pokemon/icons/dewgong_icon.4bpp" - @ .incbin "baserom.gba", 0xD6B3BC, 0x0400 .align 2 gFile_graphics_pokemon_footprints_dewgong_footprint:: @ 8D6B7BC .incbin "graphics/pokemon/footprints/dewgong_footprint.1bpp" - @ .incbin "baserom.gba", 0xD6B7BC, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_grimer_still_front_pic:: @ 8D6B7DC .incbin "graphics/pokemon/front_pics/grimer_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD6B7DC, 0x0328 .align 2 gFile_graphics_pokemon_palettes_grimer_palette:: @ 8D6BB04 .incbin "graphics/pokemon/palettes/grimer_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD6BB04, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_grimer_back_pic:: @ 8D6BB28 .incbin "graphics/pokemon/back_pics/grimer_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD6BB28, 0x02C4 .align 2 gFile_graphics_pokemon_palettes_grimer_shiny_palette:: @ 8D6BDEC .incbin "graphics/pokemon/palettes/grimer_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD6BDEC, 0x0024 .align 2 gFile_graphics_pokemon_icons_grimer_icon:: @ 8D6BE10 .incbin "graphics/pokemon/icons/grimer_icon.4bpp" - @ .incbin "baserom.gba", 0xD6BE10, 0x0400 .align 2 gFile_graphics_pokemon_footprints_grimer_footprint:: @ 8D6C210 .incbin "graphics/pokemon/footprints/grimer_footprint.1bpp" - @ .incbin "baserom.gba", 0xD6C210, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_muk_still_front_pic:: @ 8D6C230 .incbin "graphics/pokemon/front_pics/muk_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD6C230, 0x0390 .align 2 gFile_graphics_pokemon_palettes_muk_palette:: @ 8D6C5C0 .incbin "graphics/pokemon/palettes/muk_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD6C5C0, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_muk_back_pic:: @ 8D6C5E4 .incbin "graphics/pokemon/back_pics/muk_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD6C5E4, 0x02F8 .align 2 gFile_graphics_pokemon_palettes_muk_shiny_palette:: @ 8D6C8DC .incbin "graphics/pokemon/palettes/muk_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD6C8DC, 0x0024 .align 2 gFile_graphics_pokemon_icons_muk_icon:: @ 8D6C900 .incbin "graphics/pokemon/icons/muk_icon.4bpp" - @ .incbin "baserom.gba", 0xD6C900, 0x0400 .align 2 gFile_graphics_pokemon_footprints_muk_footprint:: @ 8D6CD00 .incbin "graphics/pokemon/footprints/muk_footprint.1bpp" - @ .incbin "baserom.gba", 0xD6CD00, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_shellder_still_front_pic:: @ 8D6CD20 .incbin "graphics/pokemon/front_pics/shellder_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD6CD20, 0x0274 .align 2 gFile_graphics_pokemon_palettes_shellder_palette:: @ 8D6CF94 .incbin "graphics/pokemon/palettes/shellder_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD6CF94, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_shellder_back_pic:: @ 8D6CFB8 .incbin "graphics/pokemon/back_pics/shellder_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD6CFB8, 0x0314 .align 2 gFile_graphics_pokemon_palettes_shellder_shiny_palette:: @ 8D6D2CC .incbin "graphics/pokemon/palettes/shellder_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD6D2CC, 0x0024 .align 2 gFile_graphics_pokemon_icons_shellder_icon:: @ 8D6D2F0 .incbin "graphics/pokemon/icons/shellder_icon.4bpp" - @ .incbin "baserom.gba", 0xD6D2F0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_shellder_footprint:: @ 8D6D6F0 .incbin "graphics/pokemon/footprints/shellder_footprint.1bpp" - @ .incbin "baserom.gba", 0xD6D6F0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_cloyster_still_front_pic:: @ 8D6D710 .incbin "graphics/pokemon/front_pics/cloyster_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD6D710, 0x043C .align 2 gFile_graphics_pokemon_palettes_cloyster_palette:: @ 8D6DB4C .incbin "graphics/pokemon/palettes/cloyster_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD6DB4C, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_cloyster_back_pic:: @ 8D6DB70 .incbin "graphics/pokemon/back_pics/cloyster_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD6DB70, 0x040C .align 2 gFile_graphics_pokemon_palettes_cloyster_shiny_palette:: @ 8D6DF7C .incbin "graphics/pokemon/palettes/cloyster_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD6DF7C, 0x0024 .align 2 gFile_graphics_pokemon_icons_cloyster_icon:: @ 8D6DFA0 .incbin "graphics/pokemon/icons/cloyster_icon.4bpp" - @ .incbin "baserom.gba", 0xD6DFA0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_cloyster_footprint:: @ 8D6E3A0 .incbin "graphics/pokemon/footprints/cloyster_footprint.1bpp" - @ .incbin "baserom.gba", 0xD6E3A0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_gastly_still_front_pic:: @ 8D6E3C0 .incbin "graphics/pokemon/front_pics/gastly_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD6E3C0, 0x03B8 .align 2 gFile_graphics_pokemon_palettes_gastly_palette:: @ 8D6E778 .incbin "graphics/pokemon/palettes/gastly_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD6E778, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_gastly_back_pic:: @ 8D6E7A0 .incbin "graphics/pokemon/back_pics/gastly_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD6E7A0, 0x0324 .align 2 gFile_graphics_pokemon_palettes_gastly_shiny_palette:: @ 8D6EAC4 .incbin "graphics/pokemon/palettes/gastly_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD6EAC4, 0x0028 .align 2 gFile_graphics_pokemon_icons_gastly_icon:: @ 8D6EAEC .incbin "graphics/pokemon/icons/gastly_icon.4bpp" - @ .incbin "baserom.gba", 0xD6EAEC, 0x0400 .align 2 gFile_graphics_pokemon_footprints_gastly_footprint:: @ 8D6EEEC .incbin "graphics/pokemon/footprints/gastly_footprint.1bpp" - @ .incbin "baserom.gba", 0xD6EEEC, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_haunter_still_front_pic:: @ 8D6EF0C .incbin "graphics/pokemon/front_pics/haunter_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD6EF0C, 0x03E8 .align 2 gFile_graphics_pokemon_palettes_haunter_palette:: @ 8D6F2F4 .incbin "graphics/pokemon/palettes/haunter_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD6F2F4, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_haunter_back_pic:: @ 8D6F318 .incbin "graphics/pokemon/back_pics/haunter_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD6F318, 0x02E4 .align 2 gFile_graphics_pokemon_palettes_haunter_shiny_palette:: @ 8D6F5FC .incbin "graphics/pokemon/palettes/haunter_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD6F5FC, 0x0024 .align 2 gFile_graphics_pokemon_icons_haunter_icon:: @ 8D6F620 .incbin "graphics/pokemon/icons/haunter_icon.4bpp" - @ .incbin "baserom.gba", 0xD6F620, 0x0400 .align 2 gFile_graphics_pokemon_footprints_haunter_footprint:: @ 8D6FA20 .incbin "graphics/pokemon/footprints/haunter_footprint.1bpp" - @ .incbin "baserom.gba", 0xD6FA20, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_gengar_still_front_pic:: @ 8D6FA40 .incbin "graphics/pokemon/front_pics/gengar_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD6FA40, 0x035C .align 2 gFile_graphics_pokemon_palettes_gengar_palette:: @ 8D6FD9C .incbin "graphics/pokemon/palettes/gengar_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD6FD9C, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_gengar_back_pic:: @ 8D6FDC0 .incbin "graphics/pokemon/back_pics/gengar_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD6FDC0, 0x0344 .align 2 gFile_graphics_pokemon_palettes_gengar_shiny_palette:: @ 8D70104 .incbin "graphics/pokemon/palettes/gengar_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD70104, 0x0024 .align 2 gFile_graphics_pokemon_icons_gengar_icon:: @ 8D70128 .incbin "graphics/pokemon/icons/gengar_icon.4bpp" - @ .incbin "baserom.gba", 0xD70128, 0x0400 .align 2 gFile_graphics_pokemon_footprints_gengar_footprint:: @ 8D70528 .incbin "graphics/pokemon/footprints/gengar_footprint.1bpp" - @ .incbin "baserom.gba", 0xD70528, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_onix_still_front_pic:: @ 8D70548 .incbin "graphics/pokemon/front_pics/onix_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD70548, 0x04D0 .align 2 gFile_graphics_pokemon_palettes_onix_palette:: @ 8D70A18 .incbin "graphics/pokemon/palettes/onix_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD70A18, 0x001C .align 2 gFile_graphics_pokemon_back_pics_onix_back_pic:: @ 8D70A34 .incbin "graphics/pokemon/back_pics/onix_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD70A34, 0x037C .align 2 gFile_graphics_pokemon_palettes_onix_shiny_palette:: @ 8D70DB0 .incbin "graphics/pokemon/palettes/onix_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD70DB0, 0x001C .align 2 gFile_graphics_pokemon_icons_onix_icon:: @ 8D70DCC .incbin "graphics/pokemon/icons/onix_icon.4bpp" - @ .incbin "baserom.gba", 0xD70DCC, 0x0400 .align 2 gFile_graphics_pokemon_footprints_onix_footprint:: @ 8D711CC .incbin "graphics/pokemon/footprints/onix_footprint.1bpp" - @ .incbin "baserom.gba", 0xD711CC, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_drowzee_still_front_pic:: @ 8D711EC .incbin "graphics/pokemon/front_pics/drowzee_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD711EC, 0x0340 .align 2 gFile_graphics_pokemon_palettes_drowzee_palette:: @ 8D7152C .incbin "graphics/pokemon/palettes/drowzee_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD7152C, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_drowzee_back_pic:: @ 8D71550 .incbin "graphics/pokemon/back_pics/drowzee_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD71550, 0x023C .align 2 gFile_graphics_pokemon_palettes_drowzee_shiny_palette:: @ 8D7178C .incbin "graphics/pokemon/palettes/drowzee_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD7178C, 0x0024 .align 2 gFile_graphics_pokemon_icons_drowzee_icon:: @ 8D717B0 .incbin "graphics/pokemon/icons/drowzee_icon.4bpp" - @ .incbin "baserom.gba", 0xD717B0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_drowzee_footprint:: @ 8D71BB0 .incbin "graphics/pokemon/footprints/drowzee_footprint.1bpp" - @ .incbin "baserom.gba", 0xD71BB0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_hypno_still_front_pic:: @ 8D71BD0 .incbin "graphics/pokemon/front_pics/hypno_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD71BD0, 0x0438 .align 2 gFile_graphics_pokemon_palettes_hypno_palette:: @ 8D72008 .incbin "graphics/pokemon/palettes/hypno_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD72008, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_hypno_back_pic:: @ 8D7202C .incbin "graphics/pokemon/back_pics/hypno_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD7202C, 0x0330 .align 2 gFile_graphics_pokemon_palettes_hypno_shiny_palette:: @ 8D7235C .incbin "graphics/pokemon/palettes/hypno_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD7235C, 0x0024 .align 2 gFile_graphics_pokemon_icons_hypno_icon:: @ 8D72380 .incbin "graphics/pokemon/icons/hypno_icon.4bpp" - @ .incbin "baserom.gba", 0xD72380, 0x0400 .align 2 gFile_graphics_pokemon_footprints_hypno_footprint:: @ 8D72780 .incbin "graphics/pokemon/footprints/hypno_footprint.1bpp" - @ .incbin "baserom.gba", 0xD72780, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_krabby_still_front_pic:: @ 8D727A0 .incbin "graphics/pokemon/front_pics/krabby_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD727A0, 0x0324 .align 2 gFile_graphics_pokemon_palettes_krabby_palette:: @ 8D72AC4 .incbin "graphics/pokemon/palettes/krabby_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD72AC4, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_krabby_back_pic:: @ 8D72AEC .incbin "graphics/pokemon/back_pics/krabby_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD72AEC, 0x038C .align 2 gFile_graphics_pokemon_palettes_krabby_shiny_palette:: @ 8D72E78 .incbin "graphics/pokemon/palettes/krabby_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD72E78, 0x0028 .align 2 gFile_graphics_pokemon_icons_krabby_icon:: @ 8D72EA0 .incbin "graphics/pokemon/icons/krabby_icon.4bpp" - @ .incbin "baserom.gba", 0xD72EA0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_krabby_footprint:: @ 8D732A0 .incbin "graphics/pokemon/footprints/krabby_footprint.1bpp" - @ .incbin "baserom.gba", 0xD732A0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_kingler_still_front_pic:: @ 8D732C0 .incbin "graphics/pokemon/front_pics/kingler_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD732C0, 0x0480 .align 2 gFile_graphics_pokemon_palettes_kingler_palette:: @ 8D73740 .incbin "graphics/pokemon/palettes/kingler_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD73740, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_kingler_back_pic:: @ 8D73768 .incbin "graphics/pokemon/back_pics/kingler_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD73768, 0x0384 .align 2 gFile_graphics_pokemon_palettes_kingler_shiny_palette:: @ 8D73AEC .incbin "graphics/pokemon/palettes/kingler_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD73AEC, 0x0028 .align 2 gFile_graphics_pokemon_icons_kingler_icon:: @ 8D73B14 .incbin "graphics/pokemon/icons/kingler_icon.4bpp" - @ .incbin "baserom.gba", 0xD73B14, 0x0400 .align 2 gFile_graphics_pokemon_footprints_kingler_footprint:: @ 8D73F14 .incbin "graphics/pokemon/footprints/kingler_footprint.1bpp" - @ .incbin "baserom.gba", 0xD73F14, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_voltorb_still_front_pic:: @ 8D73F34 .incbin "graphics/pokemon/front_pics/voltorb_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD73F34, 0x0208 .align 2 gFile_graphics_pokemon_palettes_voltorb_palette:: @ 8D7413C .incbin "graphics/pokemon/palettes/voltorb_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD7413C, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_voltorb_back_pic:: @ 8D74160 .incbin "graphics/pokemon/back_pics/voltorb_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD74160, 0x0274 .align 2 gFile_graphics_pokemon_palettes_voltorb_shiny_palette:: @ 8D743D4 .incbin "graphics/pokemon/palettes/voltorb_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD743D4, 0x0024 .align 2 gFile_graphics_pokemon_icons_voltorb_icon:: @ 8D743F8 .incbin "graphics/pokemon/icons/voltorb_icon.4bpp" - @ .incbin "baserom.gba", 0xD743F8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_voltorb_footprint:: @ 8D747F8 .incbin "graphics/pokemon/footprints/voltorb_footprint.1bpp" - @ .incbin "baserom.gba", 0xD747F8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_electrode_still_front_pic:: @ 8D74818 .incbin "graphics/pokemon/front_pics/electrode_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD74818, 0x026C .align 2 gFile_graphics_pokemon_palettes_electrode_palette:: @ 8D74A84 .incbin "graphics/pokemon/palettes/electrode_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD74A84, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_electrode_back_pic:: @ 8D74AA8 .incbin "graphics/pokemon/back_pics/electrode_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD74AA8, 0x0270 .align 2 gFile_graphics_pokemon_palettes_electrode_shiny_palette:: @ 8D74D18 .incbin "graphics/pokemon/palettes/electrode_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD74D18, 0x0024 .align 2 gFile_graphics_pokemon_icons_electrode_icon:: @ 8D74D3C .incbin "graphics/pokemon/icons/electrode_icon.4bpp" - @ .incbin "baserom.gba", 0xD74D3C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_electrode_footprint:: @ 8D7513C .incbin "graphics/pokemon/footprints/electrode_footprint.1bpp" - @ .incbin "baserom.gba", 0xD7513C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_exeggcute_still_front_pic:: @ 8D7515C .incbin "graphics/pokemon/front_pics/exeggcute_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD7515C, 0x0390 .align 2 gFile_graphics_pokemon_palettes_exeggcute_palette:: @ 8D754EC .incbin "graphics/pokemon/palettes/exeggcute_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD754EC, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_exeggcute_back_pic:: @ 8D75510 .incbin "graphics/pokemon/back_pics/exeggcute_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD75510, 0x0308 .align 2 gFile_graphics_pokemon_palettes_exeggcute_shiny_palette:: @ 8D75818 .incbin "graphics/pokemon/palettes/exeggcute_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD75818, 0x0024 .align 2 gFile_graphics_pokemon_icons_exeggcute_icon:: @ 8D7583C .incbin "graphics/pokemon/icons/exeggcute_icon.4bpp" - @ .incbin "baserom.gba", 0xD7583C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_exeggcute_footprint:: @ 8D75C3C .incbin "graphics/pokemon/footprints/exeggcute_footprint.1bpp" - @ .incbin "baserom.gba", 0xD75C3C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_exeggutor_still_front_pic:: @ 8D75C5C .incbin "graphics/pokemon/front_pics/exeggutor_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD75C5C, 0x0450 .align 2 gFile_graphics_pokemon_palettes_exeggutor_palette:: @ 8D760AC .incbin "graphics/pokemon/palettes/exeggutor_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD760AC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_exeggutor_back_pic:: @ 8D760D4 .incbin "graphics/pokemon/back_pics/exeggutor_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD760D4, 0x03CC .align 2 gFile_graphics_pokemon_palettes_exeggutor_shiny_palette:: @ 8D764A0 .incbin "graphics/pokemon/palettes/exeggutor_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD764A0, 0x0028 .align 2 gFile_graphics_pokemon_icons_exeggutor_icon:: @ 8D764C8 .incbin "graphics/pokemon/icons/exeggutor_icon.4bpp" - @ .incbin "baserom.gba", 0xD764C8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_exeggutor_footprint:: @ 8D768C8 .incbin "graphics/pokemon/footprints/exeggutor_footprint.1bpp" - @ .incbin "baserom.gba", 0xD768C8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_cubone_still_front_pic:: @ 8D768E8 .incbin "graphics/pokemon/front_pics/cubone_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD768E8, 0x02BC .align 2 gFile_graphics_pokemon_palettes_cubone_palette:: @ 8D76BA4 .incbin "graphics/pokemon/palettes/cubone_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD76BA4, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_cubone_back_pic:: @ 8D76BCC .incbin "graphics/pokemon/back_pics/cubone_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD76BCC, 0x0340 .align 2 gFile_graphics_pokemon_palettes_cubone_shiny_palette:: @ 8D76F0C .incbin "graphics/pokemon/palettes/cubone_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD76F0C, 0x0028 .align 2 gFile_graphics_pokemon_icons_cubone_icon:: @ 8D76F34 .incbin "graphics/pokemon/icons/cubone_icon.4bpp" - @ .incbin "baserom.gba", 0xD76F34, 0x0400 .align 2 gFile_graphics_pokemon_footprints_cubone_footprint:: @ 8D77334 .incbin "graphics/pokemon/footprints/cubone_footprint.1bpp" - @ .incbin "baserom.gba", 0xD77334, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_marowak_still_front_pic:: @ 8D77354 .incbin "graphics/pokemon/front_pics/marowak_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD77354, 0x0380 .align 2 gFile_graphics_pokemon_palettes_marowak_palette:: @ 8D776D4 .incbin "graphics/pokemon/palettes/marowak_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD776D4, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_marowak_back_pic:: @ 8D776FC .incbin "graphics/pokemon/back_pics/marowak_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD776FC, 0x0314 .align 2 gFile_graphics_pokemon_palettes_marowak_shiny_palette:: @ 8D77A10 .incbin "graphics/pokemon/palettes/marowak_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD77A10, 0x0028 .align 2 gFile_graphics_pokemon_icons_marowak_icon:: @ 8D77A38 .incbin "graphics/pokemon/icons/marowak_icon.4bpp" - @ .incbin "baserom.gba", 0xD77A38, 0x0400 .align 2 gFile_graphics_pokemon_footprints_marowak_footprint:: @ 8D77E38 .incbin "graphics/pokemon/footprints/marowak_footprint.1bpp" - @ .incbin "baserom.gba", 0xD77E38, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_hitmonlee_still_front_pic:: @ 8D77E58 .incbin "graphics/pokemon/front_pics/hitmonlee_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD77E58, 0x0374 .align 2 gFile_graphics_pokemon_palettes_hitmonlee_palette:: @ 8D781CC .incbin "graphics/pokemon/palettes/hitmonlee_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD781CC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_hitmonlee_back_pic:: @ 8D781F4 .incbin "graphics/pokemon/back_pics/hitmonlee_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD781F4, 0x02A4 .align 2 gFile_graphics_pokemon_palettes_hitmonlee_shiny_palette:: @ 8D78498 .incbin "graphics/pokemon/palettes/hitmonlee_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD78498, 0x0028 .align 2 gFile_graphics_pokemon_icons_hitmonlee_icon:: @ 8D784C0 .incbin "graphics/pokemon/icons/hitmonlee_icon.4bpp" - @ .incbin "baserom.gba", 0xD784C0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_hitmonlee_footprint:: @ 8D788C0 .incbin "graphics/pokemon/footprints/hitmonlee_footprint.1bpp" - @ .incbin "baserom.gba", 0xD788C0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_hitmonchan_still_front_pic:: @ 8D788E0 .incbin "graphics/pokemon/front_pics/hitmonchan_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD788E0, 0x0340 .align 2 gFile_graphics_pokemon_palettes_hitmonchan_palette:: @ 8D78C20 .incbin "graphics/pokemon/palettes/hitmonchan_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD78C20, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_hitmonchan_back_pic:: @ 8D78C48 .incbin "graphics/pokemon/back_pics/hitmonchan_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD78C48, 0x0344 .align 2 gFile_graphics_pokemon_palettes_hitmonchan_shiny_palette:: @ 8D78F8C .incbin "graphics/pokemon/palettes/hitmonchan_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD78F8C, 0x0028 .align 2 gFile_graphics_pokemon_icons_hitmonchan_icon:: @ 8D78FB4 .incbin "graphics/pokemon/icons/hitmonchan_icon.4bpp" - @ .incbin "baserom.gba", 0xD78FB4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_hitmonchan_footprint:: @ 8D793B4 .incbin "graphics/pokemon/footprints/hitmonchan_footprint.1bpp" - @ .incbin "baserom.gba", 0xD793B4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_lickitung_still_front_pic:: @ 8D793D4 .incbin "graphics/pokemon/front_pics/lickitung_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD793D4, 0x03D8 .align 2 gFile_graphics_pokemon_palettes_lickitung_palette:: @ 8D797AC .incbin "graphics/pokemon/palettes/lickitung_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD797AC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_lickitung_back_pic:: @ 8D797D4 .incbin "graphics/pokemon/back_pics/lickitung_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD797D4, 0x02A4 .align 2 gFile_graphics_pokemon_palettes_lickitung_shiny_palette:: @ 8D79A78 .incbin "graphics/pokemon/palettes/lickitung_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD79A78, 0x0028 .align 2 gFile_graphics_pokemon_icons_lickitung_icon:: @ 8D79AA0 .incbin "graphics/pokemon/icons/lickitung_icon.4bpp" - @ .incbin "baserom.gba", 0xD79AA0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_lickitung_footprint:: @ 8D79EA0 .incbin "graphics/pokemon/footprints/lickitung_footprint.1bpp" - @ .incbin "baserom.gba", 0xD79EA0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_koffing_still_front_pic:: @ 8D79EC0 .incbin "graphics/pokemon/front_pics/koffing_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD79EC0, 0x0300 .align 2 gFile_graphics_pokemon_palettes_koffing_palette:: @ 8D7A1C0 .incbin "graphics/pokemon/palettes/koffing_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD7A1C0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_koffing_back_pic:: @ 8D7A1E8 .incbin "graphics/pokemon/back_pics/koffing_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD7A1E8, 0x0300 .align 2 gFile_graphics_pokemon_palettes_koffing_shiny_palette:: @ 8D7A4E8 .incbin "graphics/pokemon/palettes/koffing_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD7A4E8, 0x0028 .align 2 gFile_graphics_pokemon_icons_koffing_icon:: @ 8D7A510 .incbin "graphics/pokemon/icons/koffing_icon.4bpp" - @ .incbin "baserom.gba", 0xD7A510, 0x0400 .align 2 gFile_graphics_pokemon_footprints_koffing_footprint:: @ 8D7A910 .incbin "graphics/pokemon/footprints/koffing_footprint.1bpp" - @ .incbin "baserom.gba", 0xD7A910, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_weezing_still_front_pic:: @ 8D7A930 .incbin "graphics/pokemon/front_pics/weezing_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD7A930, 0x04BC .align 2 gFile_graphics_pokemon_palettes_weezing_palette:: @ 8D7ADEC .incbin "graphics/pokemon/palettes/weezing_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD7ADEC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_weezing_back_pic:: @ 8D7AE14 .incbin "graphics/pokemon/back_pics/weezing_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD7AE14, 0x0384 .align 2 gFile_graphics_pokemon_palettes_weezing_shiny_palette:: @ 8D7B198 .incbin "graphics/pokemon/palettes/weezing_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD7B198, 0x0028 .align 2 gFile_graphics_pokemon_icons_weezing_icon:: @ 8D7B1C0 .incbin "graphics/pokemon/icons/weezing_icon.4bpp" - @ .incbin "baserom.gba", 0xD7B1C0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_weezing_footprint:: @ 8D7B5C0 .incbin "graphics/pokemon/footprints/weezing_footprint.1bpp" - @ .incbin "baserom.gba", 0xD7B5C0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_rhyhorn_still_front_pic:: @ 8D7B5E0 .incbin "graphics/pokemon/front_pics/rhyhorn_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD7B5E0, 0x03FC .align 2 gFile_graphics_pokemon_palettes_rhyhorn_palette:: @ 8D7B9DC .incbin "graphics/pokemon/palettes/rhyhorn_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD7B9DC, 0x0020 .align 2 gFile_graphics_pokemon_back_pics_rhyhorn_back_pic:: @ 8D7B9FC .incbin "graphics/pokemon/back_pics/rhyhorn_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD7B9FC, 0x0348 .align 2 gFile_graphics_pokemon_palettes_rhyhorn_shiny_palette:: @ 8D7BD44 .incbin "graphics/pokemon/palettes/rhyhorn_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD7BD44, 0x0020 .align 2 gFile_graphics_pokemon_icons_rhyhorn_icon:: @ 8D7BD64 .incbin "graphics/pokemon/icons/rhyhorn_icon.4bpp" - @ .incbin "baserom.gba", 0xD7BD64, 0x0400 .align 2 gFile_graphics_pokemon_footprints_rhyhorn_footprint:: @ 8D7C164 .incbin "graphics/pokemon/footprints/rhyhorn_footprint.1bpp" - @ .incbin "baserom.gba", 0xD7C164, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_rhydon_still_front_pic:: @ 8D7C184 .incbin "graphics/pokemon/front_pics/rhydon_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD7C184, 0x04F4 .align 2 gFile_graphics_pokemon_palettes_rhydon_palette:: @ 8D7C678 .incbin "graphics/pokemon/palettes/rhydon_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD7C678, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_rhydon_back_pic:: @ 8D7C6A0 .incbin "graphics/pokemon/back_pics/rhydon_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD7C6A0, 0x0450 .align 2 gFile_graphics_pokemon_palettes_rhydon_shiny_palette:: @ 8D7CAF0 .incbin "graphics/pokemon/palettes/rhydon_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD7CAF0, 0x0028 .align 2 gFile_graphics_pokemon_icons_rhydon_icon:: @ 8D7CB18 .incbin "graphics/pokemon/icons/rhydon_icon.4bpp" - @ .incbin "baserom.gba", 0xD7CB18, 0x0400 .align 2 gFile_graphics_pokemon_footprints_rhydon_footprint:: @ 8D7CF18 .incbin "graphics/pokemon/footprints/rhydon_footprint.1bpp" - @ .incbin "baserom.gba", 0xD7CF18, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_chansey_still_front_pic:: @ 8D7CF38 .incbin "graphics/pokemon/front_pics/chansey_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD7CF38, 0x033C .align 2 gFile_graphics_pokemon_palettes_chansey_palette:: @ 8D7D274 .incbin "graphics/pokemon/palettes/chansey_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD7D274, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_chansey_back_pic:: @ 8D7D298 .incbin "graphics/pokemon/back_pics/chansey_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD7D298, 0x0250 .align 2 gFile_graphics_pokemon_palettes_chansey_shiny_palette:: @ 8D7D4E8 .incbin "graphics/pokemon/palettes/chansey_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD7D4E8, 0x0024 .align 2 gFile_graphics_pokemon_icons_chansey_icon:: @ 8D7D50C .incbin "graphics/pokemon/icons/chansey_icon.4bpp" - @ .incbin "baserom.gba", 0xD7D50C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_chansey_footprint:: @ 8D7D90C .incbin "graphics/pokemon/footprints/chansey_footprint.1bpp" - @ .incbin "baserom.gba", 0xD7D90C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_tangela_still_front_pic:: @ 8D7D92C .incbin "graphics/pokemon/front_pics/tangela_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD7D92C, 0x03D4 .align 2 gFile_graphics_pokemon_palettes_tangela_palette:: @ 8D7DD00 .incbin "graphics/pokemon/palettes/tangela_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD7DD00, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_tangela_back_pic:: @ 8D7DD24 .incbin "graphics/pokemon/back_pics/tangela_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD7DD24, 0x03AC .align 2 gFile_graphics_pokemon_palettes_tangela_shiny_palette:: @ 8D7E0D0 .incbin "graphics/pokemon/palettes/tangela_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD7E0D0, 0x0024 .align 2 gFile_graphics_pokemon_icons_tangela_icon:: @ 8D7E0F4 .incbin "graphics/pokemon/icons/tangela_icon.4bpp" - @ .incbin "baserom.gba", 0xD7E0F4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_tangela_footprint:: @ 8D7E4F4 .incbin "graphics/pokemon/footprints/tangela_footprint.1bpp" - @ .incbin "baserom.gba", 0xD7E4F4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_kangaskhan_still_front_pic:: @ 8D7E514 .incbin "graphics/pokemon/front_pics/kangaskhan_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD7E514, 0x04A8 .align 2 gFile_graphics_pokemon_palettes_kangaskhan_palette:: @ 8D7E9BC .incbin "graphics/pokemon/palettes/kangaskhan_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD7E9BC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_kangaskhan_back_pic:: @ 8D7E9E4 .incbin "graphics/pokemon/back_pics/kangaskhan_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD7E9E4, 0x0430 .align 2 gFile_graphics_pokemon_palettes_kangaskhan_shiny_palette:: @ 8D7EE14 .incbin "graphics/pokemon/palettes/kangaskhan_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD7EE14, 0x0028 .align 2 gFile_graphics_pokemon_icons_kangaskhan_icon:: @ 8D7EE3C .incbin "graphics/pokemon/icons/kangaskhan_icon.4bpp" - @ .incbin "baserom.gba", 0xD7EE3C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_kangaskhan_footprint:: @ 8D7F23C .incbin "graphics/pokemon/footprints/kangaskhan_footprint.1bpp" - @ .incbin "baserom.gba", 0xD7F23C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_horsea_still_front_pic:: @ 8D7F25C .incbin "graphics/pokemon/front_pics/horsea_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD7F25C, 0x026C .align 2 gFile_graphics_pokemon_palettes_horsea_palette:: @ 8D7F4C8 .incbin "graphics/pokemon/palettes/horsea_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD7F4C8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_horsea_back_pic:: @ 8D7F4F0 .incbin "graphics/pokemon/back_pics/horsea_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD7F4F0, 0x02E0 .align 2 gFile_graphics_pokemon_palettes_horsea_shiny_palette:: @ 8D7F7D0 .incbin "graphics/pokemon/palettes/horsea_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD7F7D0, 0x0028 .align 2 gFile_graphics_pokemon_icons_horsea_icon:: @ 8D7F7F8 .incbin "graphics/pokemon/icons/horsea_icon.4bpp" - @ .incbin "baserom.gba", 0xD7F7F8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_horsea_footprint:: @ 8D7FBF8 .incbin "graphics/pokemon/footprints/horsea_footprint.1bpp" - @ .incbin "baserom.gba", 0xD7FBF8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_seadra_still_front_pic:: @ 8D7FC18 .incbin "graphics/pokemon/front_pics/seadra_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD7FC18, 0x0388 .align 2 gFile_graphics_pokemon_palettes_seadra_palette:: @ 8D7FFA0 .incbin "graphics/pokemon/palettes/seadra_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD7FFA0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_seadra_back_pic:: @ 8D7FFC8 .incbin "graphics/pokemon/back_pics/seadra_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD7FFC8, 0x03A0 .align 2 gFile_graphics_pokemon_palettes_seadra_shiny_palette:: @ 8D80368 .incbin "graphics/pokemon/palettes/seadra_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD80368, 0x0028 .align 2 gFile_graphics_pokemon_icons_seadra_icon:: @ 8D80390 .incbin "graphics/pokemon/icons/seadra_icon.4bpp" - @ .incbin "baserom.gba", 0xD80390, 0x0400 .align 2 gFile_graphics_pokemon_footprints_seadra_footprint:: @ 8D80790 .incbin "graphics/pokemon/footprints/seadra_footprint.1bpp" - @ .incbin "baserom.gba", 0xD80790, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_goldeen_still_front_pic:: @ 8D807B0 .incbin "graphics/pokemon/front_pics/goldeen_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD807B0, 0x0368 .align 2 gFile_graphics_pokemon_palettes_goldeen_palette:: @ 8D80B18 .incbin "graphics/pokemon/palettes/goldeen_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD80B18, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_goldeen_back_pic:: @ 8D80B40 .incbin "graphics/pokemon/back_pics/goldeen_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD80B40, 0x0370 .align 2 gFile_graphics_pokemon_palettes_goldeen_shiny_palette:: @ 8D80EB0 .incbin "graphics/pokemon/palettes/goldeen_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD80EB0, 0x0028 .align 2 gFile_graphics_pokemon_icons_goldeen_icon:: @ 8D80ED8 .incbin "graphics/pokemon/icons/goldeen_icon.4bpp" - @ .incbin "baserom.gba", 0xD80ED8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_goldeen_footprint:: @ 8D812D8 .incbin "graphics/pokemon/footprints/goldeen_footprint.1bpp" - @ .incbin "baserom.gba", 0xD812D8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_seaking_still_front_pic:: @ 8D812F8 .incbin "graphics/pokemon/front_pics/seaking_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD812F8, 0x0474 .align 2 gFile_graphics_pokemon_palettes_seaking_palette:: @ 8D8176C .incbin "graphics/pokemon/palettes/seaking_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD8176C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_seaking_back_pic:: @ 8D81794 .incbin "graphics/pokemon/back_pics/seaking_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD81794, 0x0350 .align 2 gFile_graphics_pokemon_palettes_seaking_shiny_palette:: @ 8D81AE4 .incbin "graphics/pokemon/palettes/seaking_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD81AE4, 0x0028 .align 2 gFile_graphics_pokemon_icons_seaking_icon:: @ 8D81B0C .incbin "graphics/pokemon/icons/seaking_icon.4bpp" - @ .incbin "baserom.gba", 0xD81B0C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_seaking_footprint:: @ 8D81F0C .incbin "graphics/pokemon/footprints/seaking_footprint.1bpp" - @ .incbin "baserom.gba", 0xD81F0C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_staryu_still_front_pic:: @ 8D81F2C .incbin "graphics/pokemon/front_pics/staryu_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD81F2C, 0x02B0 .align 2 gFile_graphics_pokemon_palettes_staryu_palette:: @ 8D821DC .incbin "graphics/pokemon/palettes/staryu_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD821DC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_staryu_back_pic:: @ 8D82204 .incbin "graphics/pokemon/back_pics/staryu_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD82204, 0x0268 .align 2 gFile_graphics_pokemon_palettes_staryu_shiny_palette:: @ 8D8246C .incbin "graphics/pokemon/palettes/staryu_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD8246C, 0x0028 .align 2 gFile_graphics_pokemon_icons_staryu_icon:: @ 8D82494 .incbin "graphics/pokemon/icons/staryu_icon.4bpp" - @ .incbin "baserom.gba", 0xD82494, 0x0400 .align 2 gFile_graphics_pokemon_footprints_staryu_footprint:: @ 8D82894 .incbin "graphics/pokemon/footprints/staryu_footprint.1bpp" - @ .incbin "baserom.gba", 0xD82894, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_starmie_still_front_pic:: @ 8D828B4 .incbin "graphics/pokemon/front_pics/starmie_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD828B4, 0x03A0 .align 2 gFile_graphics_pokemon_palettes_starmie_palette:: @ 8D82C54 .incbin "graphics/pokemon/palettes/starmie_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD82C54, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_starmie_back_pic:: @ 8D82C7C .incbin "graphics/pokemon/back_pics/starmie_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD82C7C, 0x02A4 .align 2 gFile_graphics_pokemon_palettes_starmie_shiny_palette:: @ 8D82F20 .incbin "graphics/pokemon/palettes/starmie_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD82F20, 0x0028 .align 2 gFile_graphics_pokemon_icons_starmie_icon:: @ 8D82F48 .incbin "graphics/pokemon/icons/starmie_icon.4bpp" - @ .incbin "baserom.gba", 0xD82F48, 0x0400 .align 2 gFile_graphics_pokemon_footprints_starmie_footprint:: @ 8D83348 .incbin "graphics/pokemon/footprints/starmie_footprint.1bpp" - @ .incbin "baserom.gba", 0xD83348, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_mr_mime_still_front_pic:: @ 8D83368 .incbin "graphics/pokemon/front_pics/mr_mime_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD83368, 0x03BC .align 2 gFile_graphics_pokemon_palettes_mr_mime_palette:: @ 8D83724 .incbin "graphics/pokemon/palettes/mr_mime_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD83724, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_mr_mime_back_pic:: @ 8D8374C .incbin "graphics/pokemon/back_pics/mr_mime_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD8374C, 0x0334 .align 2 gFile_graphics_pokemon_palettes_mr_mime_shiny_palette:: @ 8D83A80 .incbin "graphics/pokemon/palettes/mr_mime_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD83A80, 0x0028 .align 2 gFile_graphics_pokemon_icons_mr_mime_icon:: @ 8D83AA8 .incbin "graphics/pokemon/icons/mr_mime_icon.4bpp" - @ .incbin "baserom.gba", 0xD83AA8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_mr_mime_footprint:: @ 8D83EA8 .incbin "graphics/pokemon/footprints/mr_mime_footprint.1bpp" - @ .incbin "baserom.gba", 0xD83EA8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_scyther_still_front_pic:: @ 8D83EC8 .incbin "graphics/pokemon/front_pics/scyther_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD83EC8, 0x0428 .align 2 gFile_graphics_pokemon_palettes_scyther_palette:: @ 8D842F0 .incbin "graphics/pokemon/palettes/scyther_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD842F0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_scyther_back_pic:: @ 8D84318 .incbin "graphics/pokemon/back_pics/scyther_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD84318, 0x0418 .align 2 gFile_graphics_pokemon_palettes_scyther_shiny_palette:: @ 8D84730 .incbin "graphics/pokemon/palettes/scyther_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD84730, 0x0028 .align 2 gFile_graphics_pokemon_icons_scyther_icon:: @ 8D84758 .incbin "graphics/pokemon/icons/scyther_icon.4bpp" - @ .incbin "baserom.gba", 0xD84758, 0x0400 .align 2 gFile_graphics_pokemon_footprints_scyther_footprint:: @ 8D84B58 .incbin "graphics/pokemon/footprints/scyther_footprint.1bpp" - @ .incbin "baserom.gba", 0xD84B58, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_jynx_still_front_pic:: @ 8D84B78 .incbin "graphics/pokemon/front_pics/jynx_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD84B78, 0x03CC .align 2 gFile_graphics_pokemon_palettes_jynx_palette:: @ 8D84F44 .incbin "graphics/pokemon/palettes/jynx_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD84F44, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_jynx_back_pic:: @ 8D84F6C .incbin "graphics/pokemon/back_pics/jynx_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD84F6C, 0x02EC .align 2 gFile_graphics_pokemon_palettes_jynx_shiny_palette:: @ 8D85258 .incbin "graphics/pokemon/palettes/jynx_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD85258, 0x0028 .align 2 gFile_graphics_pokemon_icons_jynx_icon:: @ 8D85280 .incbin "graphics/pokemon/icons/jynx_icon.4bpp" - @ .incbin "baserom.gba", 0xD85280, 0x0400 .align 2 gFile_graphics_pokemon_footprints_jynx_footprint:: @ 8D85680 .incbin "graphics/pokemon/footprints/jynx_footprint.1bpp" - @ .incbin "baserom.gba", 0xD85680, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_electabuzz_still_front_pic:: @ 8D856A0 .incbin "graphics/pokemon/front_pics/electabuzz_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD856A0, 0x0458 .align 2 gFile_graphics_pokemon_palettes_electabuzz_palette:: @ 8D85AF8 .incbin "graphics/pokemon/palettes/electabuzz_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD85AF8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_electabuzz_back_pic:: @ 8D85B20 .incbin "graphics/pokemon/back_pics/electabuzz_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD85B20, 0x0310 .align 2 gFile_graphics_pokemon_palettes_electabuzz_shiny_palette:: @ 8D85E30 .incbin "graphics/pokemon/palettes/electabuzz_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD85E30, 0x0028 .align 2 gFile_graphics_pokemon_icons_electabuzz_icon:: @ 8D85E58 .incbin "graphics/pokemon/icons/electabuzz_icon.4bpp" - @ .incbin "baserom.gba", 0xD85E58, 0x0400 .align 2 gFile_graphics_pokemon_footprints_electabuzz_footprint:: @ 8D86258 .incbin "graphics/pokemon/footprints/electabuzz_footprint.1bpp" - @ .incbin "baserom.gba", 0xD86258, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_magmar_still_front_pic:: @ 8D86278 .incbin "graphics/pokemon/front_pics/magmar_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD86278, 0x0430 .align 2 gFile_graphics_pokemon_palettes_magmar_palette:: @ 8D866A8 .incbin "graphics/pokemon/palettes/magmar_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD866A8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_magmar_back_pic:: @ 8D866D0 .incbin "graphics/pokemon/back_pics/magmar_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD866D0, 0x0338 .align 2 gFile_graphics_pokemon_palettes_magmar_shiny_palette:: @ 8D86A08 .incbin "graphics/pokemon/palettes/magmar_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD86A08, 0x0028 .align 2 gFile_graphics_pokemon_icons_magmar_icon:: @ 8D86A30 .incbin "graphics/pokemon/icons/magmar_icon.4bpp" - @ .incbin "baserom.gba", 0xD86A30, 0x0400 .align 2 gFile_graphics_pokemon_footprints_magmar_footprint:: @ 8D86E30 .incbin "graphics/pokemon/footprints/magmar_footprint.1bpp" - @ .incbin "baserom.gba", 0xD86E30, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_pinsir_still_front_pic:: @ 8D86E50 .incbin "graphics/pokemon/front_pics/pinsir_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD86E50, 0x0430 .align 2 gFile_graphics_pokemon_palettes_pinsir_palette:: @ 8D87280 .incbin "graphics/pokemon/palettes/pinsir_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD87280, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_pinsir_back_pic:: @ 8D872A4 .incbin "graphics/pokemon/back_pics/pinsir_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD872A4, 0x0354 .align 2 gFile_graphics_pokemon_palettes_pinsir_shiny_palette:: @ 8D875F8 .incbin "graphics/pokemon/palettes/pinsir_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD875F8, 0x0024 .align 2 gFile_graphics_pokemon_icons_pinsir_icon:: @ 8D8761C .incbin "graphics/pokemon/icons/pinsir_icon.4bpp" - @ .incbin "baserom.gba", 0xD8761C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_pinsir_footprint:: @ 8D87A1C .incbin "graphics/pokemon/footprints/pinsir_footprint.1bpp" - @ .incbin "baserom.gba", 0xD87A1C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_tauros_still_front_pic:: @ 8D87A3C .incbin "graphics/pokemon/front_pics/tauros_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD87A3C, 0x0460 .align 2 gFile_graphics_pokemon_palettes_tauros_palette:: @ 8D87E9C .incbin "graphics/pokemon/palettes/tauros_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD87E9C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_tauros_back_pic:: @ 8D87EC4 .incbin "graphics/pokemon/back_pics/tauros_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD87EC4, 0x02B4 .align 2 gFile_graphics_pokemon_palettes_tauros_shiny_palette:: @ 8D88178 .incbin "graphics/pokemon/palettes/tauros_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD88178, 0x0028 .align 2 gFile_graphics_pokemon_icons_tauros_icon:: @ 8D881A0 .incbin "graphics/pokemon/icons/tauros_icon.4bpp" - @ .incbin "baserom.gba", 0xD881A0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_tauros_footprint:: @ 8D885A0 .incbin "graphics/pokemon/footprints/tauros_footprint.1bpp" - @ .incbin "baserom.gba", 0xD885A0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_magikarp_still_front_pic:: @ 8D885C0 .incbin "graphics/pokemon/front_pics/magikarp_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD885C0, 0x0348 .align 2 gFile_graphics_pokemon_palettes_magikarp_palette:: @ 8D88908 .incbin "graphics/pokemon/palettes/magikarp_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD88908, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_magikarp_back_pic:: @ 8D88930 .incbin "graphics/pokemon/back_pics/magikarp_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD88930, 0x0330 .align 2 gFile_graphics_pokemon_palettes_magikarp_shiny_palette:: @ 8D88C60 .incbin "graphics/pokemon/palettes/magikarp_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD88C60, 0x0028 .align 2 gFile_graphics_pokemon_icons_magikarp_icon:: @ 8D88C88 .incbin "graphics/pokemon/icons/magikarp_icon.4bpp" - @ .incbin "baserom.gba", 0xD88C88, 0x0400 .align 2 gFile_graphics_pokemon_footprints_magikarp_footprint:: @ 8D89088 .incbin "graphics/pokemon/footprints/magikarp_footprint.1bpp" - @ .incbin "baserom.gba", 0xD89088, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_gyarados_still_front_pic:: @ 8D890A8 .incbin "graphics/pokemon/front_pics/gyarados_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD890A8, 0x05A4 .align 2 gFile_graphics_pokemon_palettes_gyarados_palette:: @ 8D8964C .incbin "graphics/pokemon/palettes/gyarados_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD8964C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_gyarados_back_pic:: @ 8D89674 .incbin "graphics/pokemon/back_pics/gyarados_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD89674, 0x04B8 .align 2 gFile_graphics_pokemon_palettes_gyarados_shiny_palette:: @ 8D89B2C .incbin "graphics/pokemon/palettes/gyarados_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD89B2C, 0x0028 .align 2 gFile_graphics_pokemon_icons_gyarados_icon:: @ 8D89B54 .incbin "graphics/pokemon/icons/gyarados_icon.4bpp" - @ .incbin "baserom.gba", 0xD89B54, 0x0400 .align 2 gFile_graphics_pokemon_footprints_gyarados_footprint:: @ 8D89F54 .incbin "graphics/pokemon/footprints/gyarados_footprint.1bpp" - @ .incbin "baserom.gba", 0xD89F54, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_lapras_still_front_pic:: @ 8D89F74 .incbin "graphics/pokemon/front_pics/lapras_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD89F74, 0x03E0 .align 2 gFile_graphics_pokemon_palettes_lapras_palette:: @ 8D8A354 .incbin "graphics/pokemon/palettes/lapras_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD8A354, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_lapras_back_pic:: @ 8D8A37C .incbin "graphics/pokemon/back_pics/lapras_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD8A37C, 0x0344 .align 2 gFile_graphics_pokemon_palettes_lapras_shiny_palette:: @ 8D8A6C0 .incbin "graphics/pokemon/palettes/lapras_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD8A6C0, 0x0028 .align 2 gFile_graphics_pokemon_icons_lapras_icon:: @ 8D8A6E8 .incbin "graphics/pokemon/icons/lapras_icon.4bpp" - @ .incbin "baserom.gba", 0xD8A6E8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_lapras_footprint:: @ 8D8AAE8 .incbin "graphics/pokemon/footprints/lapras_footprint.1bpp" - @ .incbin "baserom.gba", 0xD8AAE8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_ditto_still_front_pic:: @ 8D8AB08 .incbin "graphics/pokemon/front_pics/ditto_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD8AB08, 0x01F0 .align 2 gFile_graphics_pokemon_palettes_ditto_palette:: @ 8D8ACF8 .incbin "graphics/pokemon/palettes/ditto_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD8ACF8, 0x0020 .align 2 gFile_graphics_pokemon_back_pics_ditto_back_pic:: @ 8D8AD18 .incbin "graphics/pokemon/back_pics/ditto_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD8AD18, 0x0200 .align 2 gFile_graphics_pokemon_palettes_ditto_shiny_palette:: @ 8D8AF18 .incbin "graphics/pokemon/palettes/ditto_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD8AF18, 0x0020 .align 2 gFile_graphics_pokemon_icons_ditto_icon:: @ 8D8AF38 .incbin "graphics/pokemon/icons/ditto_icon.4bpp" - @ .incbin "baserom.gba", 0xD8AF38, 0x0400 .align 2 gFile_graphics_pokemon_footprints_ditto_footprint:: @ 8D8B338 .incbin "graphics/pokemon/footprints/ditto_footprint.1bpp" - @ .incbin "baserom.gba", 0xD8B338, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_eevee_still_front_pic:: @ 8D8B358 .incbin "graphics/pokemon/front_pics/eevee_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD8B358, 0x02EC .align 2 gFile_graphics_pokemon_palettes_eevee_palette:: @ 8D8B644 .incbin "graphics/pokemon/palettes/eevee_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD8B644, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_eevee_back_pic:: @ 8D8B66C .incbin "graphics/pokemon/back_pics/eevee_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD8B66C, 0x0328 .align 2 gFile_graphics_pokemon_palettes_eevee_shiny_palette:: @ 8D8B994 .incbin "graphics/pokemon/palettes/eevee_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD8B994, 0x0028 .align 2 gFile_graphics_pokemon_icons_eevee_icon:: @ 8D8B9BC .incbin "graphics/pokemon/icons/eevee_icon.4bpp" - @ .incbin "baserom.gba", 0xD8B9BC, 0x0400 .align 2 gFile_graphics_pokemon_footprints_eevee_footprint:: @ 8D8BDBC .incbin "graphics/pokemon/footprints/eevee_footprint.1bpp" - @ .incbin "baserom.gba", 0xD8BDBC, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_vaporeon_still_front_pic:: @ 8D8BDDC .incbin "graphics/pokemon/front_pics/vaporeon_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD8BDDC, 0x0394 .align 2 gFile_graphics_pokemon_palettes_vaporeon_palette:: @ 8D8C170 .incbin "graphics/pokemon/palettes/vaporeon_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD8C170, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_vaporeon_back_pic:: @ 8D8C198 .incbin "graphics/pokemon/back_pics/vaporeon_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD8C198, 0x02C8 .align 2 gFile_graphics_pokemon_palettes_vaporeon_shiny_palette:: @ 8D8C460 .incbin "graphics/pokemon/palettes/vaporeon_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD8C460, 0x0028 .align 2 gFile_graphics_pokemon_icons_vaporeon_icon:: @ 8D8C488 .incbin "graphics/pokemon/icons/vaporeon_icon.4bpp" - @ .incbin "baserom.gba", 0xD8C488, 0x0400 .align 2 gFile_graphics_pokemon_footprints_vaporeon_footprint:: @ 8D8C888 .incbin "graphics/pokemon/footprints/vaporeon_footprint.1bpp" - @ .incbin "baserom.gba", 0xD8C888, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_jolteon_still_front_pic:: @ 8D8C8A8 .incbin "graphics/pokemon/front_pics/jolteon_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD8C8A8, 0x0350 .align 2 gFile_graphics_pokemon_palettes_jolteon_palette:: @ 8D8CBF8 .incbin "graphics/pokemon/palettes/jolteon_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD8CBF8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_jolteon_back_pic:: @ 8D8CC20 .incbin "graphics/pokemon/back_pics/jolteon_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD8CC20, 0x03AC .align 2 gFile_graphics_pokemon_palettes_jolteon_shiny_palette:: @ 8D8CFCC .incbin "graphics/pokemon/palettes/jolteon_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD8CFCC, 0x0028 .align 2 gFile_graphics_pokemon_icons_jolteon_icon:: @ 8D8CFF4 .incbin "graphics/pokemon/icons/jolteon_icon.4bpp" - @ .incbin "baserom.gba", 0xD8CFF4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_jolteon_footprint:: @ 8D8D3F4 .incbin "graphics/pokemon/footprints/jolteon_footprint.1bpp" - @ .incbin "baserom.gba", 0xD8D3F4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_flareon_still_front_pic:: @ 8D8D414 .incbin "graphics/pokemon/front_pics/flareon_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD8D414, 0x0384 .align 2 gFile_graphics_pokemon_palettes_flareon_palette:: @ 8D8D798 .incbin "graphics/pokemon/palettes/flareon_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD8D798, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_flareon_back_pic:: @ 8D8D7C0 .incbin "graphics/pokemon/back_pics/flareon_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD8D7C0, 0x0390 .align 2 gFile_graphics_pokemon_palettes_flareon_shiny_palette:: @ 8D8DB50 .incbin "graphics/pokemon/palettes/flareon_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD8DB50, 0x0028 .align 2 gFile_graphics_pokemon_icons_flareon_icon:: @ 8D8DB78 .incbin "graphics/pokemon/icons/flareon_icon.4bpp" - @ .incbin "baserom.gba", 0xD8DB78, 0x0400 .align 2 gFile_graphics_pokemon_footprints_flareon_footprint:: @ 8D8DF78 .incbin "graphics/pokemon/footprints/flareon_footprint.1bpp" - @ .incbin "baserom.gba", 0xD8DF78, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_porygon_still_front_pic:: @ 8D8DF98 .incbin "graphics/pokemon/front_pics/porygon_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD8DF98, 0x02B8 .align 2 gFile_graphics_pokemon_palettes_porygon_palette:: @ 8D8E250 .incbin "graphics/pokemon/palettes/porygon_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD8E250, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_porygon_back_pic:: @ 8D8E274 .incbin "graphics/pokemon/back_pics/porygon_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD8E274, 0x02B8 .align 2 gFile_graphics_pokemon_palettes_porygon_shiny_palette:: @ 8D8E52C .incbin "graphics/pokemon/palettes/porygon_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD8E52C, 0x0024 .align 2 gFile_graphics_pokemon_icons_porygon_icon:: @ 8D8E550 .incbin "graphics/pokemon/icons/porygon_icon.4bpp" - @ .incbin "baserom.gba", 0xD8E550, 0x0400 .align 2 gFile_graphics_pokemon_footprints_porygon_footprint:: @ 8D8E950 .incbin "graphics/pokemon/footprints/porygon_footprint.1bpp" - @ .incbin "baserom.gba", 0xD8E950, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_omanyte_still_front_pic:: @ 8D8E970 .incbin "graphics/pokemon/front_pics/omanyte_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD8E970, 0x0290 .align 2 gFile_graphics_pokemon_palettes_omanyte_palette:: @ 8D8EC00 .incbin "graphics/pokemon/palettes/omanyte_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD8EC00, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_omanyte_back_pic:: @ 8D8EC28 .incbin "graphics/pokemon/back_pics/omanyte_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD8EC28, 0x034C .align 2 gFile_graphics_pokemon_palettes_omanyte_shiny_palette:: @ 8D8EF74 .incbin "graphics/pokemon/palettes/omanyte_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD8EF74, 0x0028 .align 2 gFile_graphics_pokemon_icons_omanyte_icon:: @ 8D8EF9C .incbin "graphics/pokemon/icons/omanyte_icon.4bpp" - @ .incbin "baserom.gba", 0xD8EF9C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_omanyte_footprint:: @ 8D8F39C .incbin "graphics/pokemon/footprints/omanyte_footprint.1bpp" - @ .incbin "baserom.gba", 0xD8F39C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_omastar_still_front_pic:: @ 8D8F3BC .incbin "graphics/pokemon/front_pics/omastar_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD8F3BC, 0x03C0 .align 2 gFile_graphics_pokemon_palettes_omastar_palette:: @ 8D8F77C .incbin "graphics/pokemon/palettes/omastar_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD8F77C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_omastar_back_pic:: @ 8D8F7A4 .incbin "graphics/pokemon/back_pics/omastar_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD8F7A4, 0x0340 .align 2 gFile_graphics_pokemon_palettes_omastar_shiny_palette:: @ 8D8FAE4 .incbin "graphics/pokemon/palettes/omastar_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD8FAE4, 0x0028 .align 2 gFile_graphics_pokemon_icons_omastar_icon:: @ 8D8FB0C .incbin "graphics/pokemon/icons/omastar_icon.4bpp" - @ .incbin "baserom.gba", 0xD8FB0C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_omastar_footprint:: @ 8D8FF0C .incbin "graphics/pokemon/footprints/omastar_footprint.1bpp" - @ .incbin "baserom.gba", 0xD8FF0C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_kabuto_still_front_pic:: @ 8D8FF2C .incbin "graphics/pokemon/front_pics/kabuto_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD8FF2C, 0x0228 .align 2 gFile_graphics_pokemon_palettes_kabuto_palette:: @ 8D90154 .incbin "graphics/pokemon/palettes/kabuto_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD90154, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_kabuto_back_pic:: @ 8D9017C .incbin "graphics/pokemon/back_pics/kabuto_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD9017C, 0x0298 .align 2 gFile_graphics_pokemon_palettes_kabuto_shiny_palette:: @ 8D90414 .incbin "graphics/pokemon/palettes/kabuto_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD90414, 0x0028 .align 2 gFile_graphics_pokemon_icons_kabuto_icon:: @ 8D9043C .incbin "graphics/pokemon/icons/kabuto_icon.4bpp" - @ .incbin "baserom.gba", 0xD9043C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_kabuto_footprint:: @ 8D9083C .incbin "graphics/pokemon/footprints/kabuto_footprint.1bpp" - @ .incbin "baserom.gba", 0xD9083C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_kabutops_still_front_pic:: @ 8D9085C .incbin "graphics/pokemon/front_pics/kabutops_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD9085C, 0x0410 .align 2 gFile_graphics_pokemon_palettes_kabutops_palette:: @ 8D90C6C .incbin "graphics/pokemon/palettes/kabutops_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD90C6C, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_kabutops_back_pic:: @ 8D90C90 .incbin "graphics/pokemon/back_pics/kabutops_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD90C90, 0x03A4 .align 2 gFile_graphics_pokemon_palettes_kabutops_shiny_palette:: @ 8D91034 .incbin "graphics/pokemon/palettes/kabutops_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD91034, 0x0024 .align 2 gFile_graphics_pokemon_icons_kabutops_icon:: @ 8D91058 .incbin "graphics/pokemon/icons/kabutops_icon.4bpp" - @ .incbin "baserom.gba", 0xD91058, 0x0400 .align 2 gFile_graphics_pokemon_footprints_kabutops_footprint:: @ 8D91458 .incbin "graphics/pokemon/footprints/kabutops_footprint.1bpp" - @ .incbin "baserom.gba", 0xD91458, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_aerodactyl_still_front_pic:: @ 8D91478 .incbin "graphics/pokemon/front_pics/aerodactyl_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD91478, 0x0450 .align 2 gFile_graphics_pokemon_palettes_aerodactyl_palette:: @ 8D918C8 .incbin "graphics/pokemon/palettes/aerodactyl_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD918C8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_aerodactyl_back_pic:: @ 8D918F0 .incbin "graphics/pokemon/back_pics/aerodactyl_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD918F0, 0x0304 .align 2 gFile_graphics_pokemon_palettes_aerodactyl_shiny_palette:: @ 8D91BF4 .incbin "graphics/pokemon/palettes/aerodactyl_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD91BF4, 0x0028 .align 2 gFile_graphics_pokemon_icons_aerodactyl_icon:: @ 8D91C1C .incbin "graphics/pokemon/icons/aerodactyl_icon.4bpp" - @ .incbin "baserom.gba", 0xD91C1C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_aerodactyl_footprint:: @ 8D9201C .incbin "graphics/pokemon/footprints/aerodactyl_footprint.1bpp" - @ .incbin "baserom.gba", 0xD9201C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_snorlax_still_front_pic:: @ 8D9203C .incbin "graphics/pokemon/front_pics/snorlax_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD9203C, 0x03D4 .align 2 gFile_graphics_pokemon_palettes_snorlax_palette:: @ 8D92410 .incbin "graphics/pokemon/palettes/snorlax_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD92410, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_snorlax_back_pic:: @ 8D92438 .incbin "graphics/pokemon/back_pics/snorlax_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD92438, 0x021C .align 2 gFile_graphics_pokemon_palettes_snorlax_shiny_palette:: @ 8D92654 .incbin "graphics/pokemon/palettes/snorlax_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD92654, 0x0028 .align 2 gFile_graphics_pokemon_icons_snorlax_icon:: @ 8D9267C .incbin "graphics/pokemon/icons/snorlax_icon.4bpp" - @ .incbin "baserom.gba", 0xD9267C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_snorlax_footprint:: @ 8D92A7C .incbin "graphics/pokemon/footprints/snorlax_footprint.1bpp" - @ .incbin "baserom.gba", 0xD92A7C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_articuno_still_front_pic:: @ 8D92A9C .incbin "graphics/pokemon/front_pics/articuno_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD92A9C, 0x04F8 .align 2 gFile_graphics_pokemon_palettes_articuno_palette:: @ 8D92F94 .incbin "graphics/pokemon/palettes/articuno_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD92F94, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_articuno_back_pic:: @ 8D92FBC .incbin "graphics/pokemon/back_pics/articuno_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD92FBC, 0x025C .align 2 gFile_graphics_pokemon_palettes_articuno_shiny_palette:: @ 8D93218 .incbin "graphics/pokemon/palettes/articuno_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD93218, 0x0028 .align 2 gFile_graphics_pokemon_icons_articuno_icon:: @ 8D93240 .incbin "graphics/pokemon/icons/articuno_icon.4bpp" - @ .incbin "baserom.gba", 0xD93240, 0x0400 .align 2 gFile_graphics_pokemon_footprints_articuno_footprint:: @ 8D93640 .incbin "graphics/pokemon/footprints/articuno_footprint.1bpp" - @ .incbin "baserom.gba", 0xD93640, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_zapdos_still_front_pic:: @ 8D93660 .incbin "graphics/pokemon/front_pics/zapdos_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD93660, 0x0450 .align 2 gFile_graphics_pokemon_palettes_zapdos_palette:: @ 8D93AB0 .incbin "graphics/pokemon/palettes/zapdos_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD93AB0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_zapdos_back_pic:: @ 8D93AD8 .incbin "graphics/pokemon/back_pics/zapdos_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD93AD8, 0x033C .align 2 gFile_graphics_pokemon_palettes_zapdos_shiny_palette:: @ 8D93E14 .incbin "graphics/pokemon/palettes/zapdos_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD93E14, 0x0028 .align 2 gFile_graphics_pokemon_icons_zapdos_icon:: @ 8D93E3C .incbin "graphics/pokemon/icons/zapdos_icon.4bpp" - @ .incbin "baserom.gba", 0xD93E3C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_zapdos_footprint:: @ 8D9423C .incbin "graphics/pokemon/footprints/zapdos_footprint.1bpp" - @ .incbin "baserom.gba", 0xD9423C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_moltres_still_front_pic:: @ 8D9425C .incbin "graphics/pokemon/front_pics/moltres_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD9425C, 0x04CC .align 2 gFile_graphics_pokemon_palettes_moltres_palette:: @ 8D94728 .incbin "graphics/pokemon/palettes/moltres_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD94728, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_moltres_back_pic:: @ 8D94750 .incbin "graphics/pokemon/back_pics/moltres_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD94750, 0x033C .align 2 gFile_graphics_pokemon_palettes_moltres_shiny_palette:: @ 8D94A8C .incbin "graphics/pokemon/palettes/moltres_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD94A8C, 0x0028 .align 2 gFile_graphics_pokemon_icons_moltres_icon:: @ 8D94AB4 .incbin "graphics/pokemon/icons/moltres_icon.4bpp" - @ .incbin "baserom.gba", 0xD94AB4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_moltres_footprint:: @ 8D94EB4 .incbin "graphics/pokemon/footprints/moltres_footprint.1bpp" - @ .incbin "baserom.gba", 0xD94EB4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_dratini_still_front_pic:: @ 8D94ED4 .incbin "graphics/pokemon/front_pics/dratini_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD94ED4, 0x02BC .align 2 gFile_graphics_pokemon_palettes_dratini_palette:: @ 8D95190 .incbin "graphics/pokemon/palettes/dratini_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD95190, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_dratini_back_pic:: @ 8D951B4 .incbin "graphics/pokemon/back_pics/dratini_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD951B4, 0x0290 .align 2 gFile_graphics_pokemon_palettes_dratini_shiny_palette:: @ 8D95444 .incbin "graphics/pokemon/palettes/dratini_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD95444, 0x0024 .align 2 gFile_graphics_pokemon_icons_dratini_icon:: @ 8D95468 .incbin "graphics/pokemon/icons/dratini_icon.4bpp" - @ .incbin "baserom.gba", 0xD95468, 0x0400 .align 2 gFile_graphics_pokemon_footprints_dratini_footprint:: @ 8D95868 .incbin "graphics/pokemon/footprints/dratini_footprint.1bpp" - @ .incbin "baserom.gba", 0xD95868, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_dragonair_still_front_pic:: @ 8D95888 .incbin "graphics/pokemon/front_pics/dragonair_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD95888, 0x0398 .align 2 gFile_graphics_pokemon_palettes_dragonair_palette:: @ 8D95C20 .incbin "graphics/pokemon/palettes/dragonair_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD95C20, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_dragonair_back_pic:: @ 8D95C48 .incbin "graphics/pokemon/back_pics/dragonair_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD95C48, 0x0310 .align 2 gFile_graphics_pokemon_palettes_dragonair_shiny_palette:: @ 8D95F58 .incbin "graphics/pokemon/palettes/dragonair_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD95F58, 0x0028 .align 2 gFile_graphics_pokemon_icons_dragonair_icon:: @ 8D95F80 .incbin "graphics/pokemon/icons/dragonair_icon.4bpp" - @ .incbin "baserom.gba", 0xD95F80, 0x0400 .align 2 gFile_graphics_pokemon_footprints_dragonair_footprint:: @ 8D96380 .incbin "graphics/pokemon/footprints/dragonair_footprint.1bpp" - @ .incbin "baserom.gba", 0xD96380, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_dragonite_still_front_pic:: @ 8D963A0 .incbin "graphics/pokemon/front_pics/dragonite_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD963A0, 0x0550 .align 2 gFile_graphics_pokemon_palettes_dragonite_palette:: @ 8D968F0 .incbin "graphics/pokemon/palettes/dragonite_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD968F0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_dragonite_back_pic:: @ 8D96918 .incbin "graphics/pokemon/back_pics/dragonite_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD96918, 0x02F8 .align 2 gFile_graphics_pokemon_palettes_dragonite_shiny_palette:: @ 8D96C10 .incbin "graphics/pokemon/palettes/dragonite_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD96C10, 0x0028 .align 2 gFile_graphics_pokemon_icons_dragonite_icon:: @ 8D96C38 .incbin "graphics/pokemon/icons/dragonite_icon.4bpp" - @ .incbin "baserom.gba", 0xD96C38, 0x0400 .align 2 gFile_graphics_pokemon_footprints_dragonite_footprint:: @ 8D97038 .incbin "graphics/pokemon/footprints/dragonite_footprint.1bpp" - @ .incbin "baserom.gba", 0xD97038, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_mewtwo_still_front_pic:: @ 8D97058 .incbin "graphics/pokemon/front_pics/mewtwo_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD97058, 0x043C .align 2 gFile_graphics_pokemon_palettes_mewtwo_palette:: @ 8D97494 .incbin "graphics/pokemon/palettes/mewtwo_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD97494, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_mewtwo_back_pic:: @ 8D974B8 .incbin "graphics/pokemon/back_pics/mewtwo_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD974B8, 0x03CC .align 2 gFile_graphics_pokemon_palettes_mewtwo_shiny_palette:: @ 8D97884 .incbin "graphics/pokemon/palettes/mewtwo_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD97884, 0x0024 .align 2 gFile_graphics_pokemon_icons_mewtwo_icon:: @ 8D978A8 .incbin "graphics/pokemon/icons/mewtwo_icon.4bpp" - @ .incbin "baserom.gba", 0xD978A8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_mewtwo_footprint:: @ 8D97CA8 .incbin "graphics/pokemon/footprints/mewtwo_footprint.1bpp" - @ .incbin "baserom.gba", 0xD97CA8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_mew_still_front_pic:: @ 8D97CC8 .incbin "graphics/pokemon/front_pics/mew_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD97CC8, 0x02C0 .align 2 gFile_graphics_pokemon_palettes_mew_palette:: @ 8D97F88 .incbin "graphics/pokemon/palettes/mew_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD97F88, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_mew_back_pic:: @ 8D97FAC .incbin "graphics/pokemon/back_pics/mew_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD97FAC, 0x0350 .align 2 gFile_graphics_pokemon_palettes_mew_shiny_palette:: @ 8D982FC .incbin "graphics/pokemon/palettes/mew_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD982FC, 0x0024 .align 2 gFile_graphics_pokemon_icons_mew_icon:: @ 8D98320 .incbin "graphics/pokemon/icons/mew_icon.4bpp" - @ .incbin "baserom.gba", 0xD98320, 0x0400 .align 2 gFile_graphics_pokemon_footprints_mew_footprint:: @ 8D98720 .incbin "graphics/pokemon/footprints/mew_footprint.1bpp" - @ .incbin "baserom.gba", 0xD98720, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_chikorita_still_front_pic:: @ 8D98740 .incbin "graphics/pokemon/front_pics/chikorita_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD98740, 0x0268 .align 2 gFile_graphics_pokemon_palettes_chikorita_palette:: @ 8D989A8 .incbin "graphics/pokemon/palettes/chikorita_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD989A8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_chikorita_back_pic:: @ 8D989D0 .incbin "graphics/pokemon/back_pics/chikorita_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD989D0, 0x02C4 .align 2 gFile_graphics_pokemon_palettes_chikorita_shiny_palette:: @ 8D98C94 .incbin "graphics/pokemon/palettes/chikorita_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD98C94, 0x0028 .align 2 gFile_graphics_pokemon_icons_chikorita_icon:: @ 8D98CBC .incbin "graphics/pokemon/icons/chikorita_icon.4bpp" - @ .incbin "baserom.gba", 0xD98CBC, 0x0400 .align 2 gFile_graphics_pokemon_footprints_chikorita_footprint:: @ 8D990BC .incbin "graphics/pokemon/footprints/chikorita_footprint.1bpp" - @ .incbin "baserom.gba", 0xD990BC, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_bayleef_still_front_pic:: @ 8D990DC .incbin "graphics/pokemon/front_pics/bayleef_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD990DC, 0x03D4 .align 2 gFile_graphics_pokemon_palettes_bayleef_palette:: @ 8D994B0 .incbin "graphics/pokemon/palettes/bayleef_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD994B0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_bayleef_back_pic:: @ 8D994D8 .incbin "graphics/pokemon/back_pics/bayleef_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD994D8, 0x0390 .align 2 gFile_graphics_pokemon_palettes_bayleef_shiny_palette:: @ 8D99868 .incbin "graphics/pokemon/palettes/bayleef_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD99868, 0x0028 .align 2 gFile_graphics_pokemon_icons_bayleef_icon:: @ 8D99890 .incbin "graphics/pokemon/icons/bayleef_icon.4bpp" - @ .incbin "baserom.gba", 0xD99890, 0x0400 .align 2 gFile_graphics_pokemon_footprints_bayleef_footprint:: @ 8D99C90 .incbin "graphics/pokemon/footprints/bayleef_footprint.1bpp" - @ .incbin "baserom.gba", 0xD99C90, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_meganium_still_front_pic:: @ 8D99CB0 .incbin "graphics/pokemon/front_pics/meganium_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD99CB0, 0x055C .align 2 gFile_graphics_pokemon_palettes_meganium_palette:: @ 8D9A20C .incbin "graphics/pokemon/palettes/meganium_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD9A20C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_meganium_back_pic:: @ 8D9A234 .incbin "graphics/pokemon/back_pics/meganium_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD9A234, 0x0350 .align 2 gFile_graphics_pokemon_palettes_meganium_shiny_palette:: @ 8D9A584 .incbin "graphics/pokemon/palettes/meganium_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD9A584, 0x0028 .align 2 gFile_graphics_pokemon_icons_meganium_icon:: @ 8D9A5AC .incbin "graphics/pokemon/icons/meganium_icon.4bpp" - @ .incbin "baserom.gba", 0xD9A5AC, 0x0400 .align 2 gFile_graphics_pokemon_footprints_meganium_footprint:: @ 8D9A9AC .incbin "graphics/pokemon/footprints/meganium_footprint.1bpp" - @ .incbin "baserom.gba", 0xD9A9AC, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_cyndaquil_still_front_pic:: @ 8D9A9CC .incbin "graphics/pokemon/front_pics/cyndaquil_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD9A9CC, 0x028C .align 2 gFile_graphics_pokemon_palettes_cyndaquil_palette:: @ 8D9AC58 .incbin "graphics/pokemon/palettes/cyndaquil_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD9AC58, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_cyndaquil_back_pic:: @ 8D9AC80 .incbin "graphics/pokemon/back_pics/cyndaquil_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD9AC80, 0x032C .align 2 gFile_graphics_pokemon_palettes_cyndaquil_shiny_palette:: @ 8D9AFAC .incbin "graphics/pokemon/palettes/cyndaquil_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD9AFAC, 0x0028 .align 2 gFile_graphics_pokemon_icons_cyndaquil_icon:: @ 8D9AFD4 .incbin "graphics/pokemon/icons/cyndaquil_icon.4bpp" - @ .incbin "baserom.gba", 0xD9AFD4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_cyndaquil_footprint:: @ 8D9B3D4 .incbin "graphics/pokemon/footprints/cyndaquil_footprint.1bpp" - @ .incbin "baserom.gba", 0xD9B3D4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_quilava_still_front_pic:: @ 8D9B3F4 .incbin "graphics/pokemon/front_pics/quilava_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD9B3F4, 0x031C .align 2 gFile_graphics_pokemon_palettes_quilava_palette:: @ 8D9B710 .incbin "graphics/pokemon/palettes/quilava_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD9B710, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_quilava_back_pic:: @ 8D9B738 .incbin "graphics/pokemon/back_pics/quilava_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD9B738, 0x0374 .align 2 gFile_graphics_pokemon_palettes_quilava_shiny_palette:: @ 8D9BAAC .incbin "graphics/pokemon/palettes/quilava_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD9BAAC, 0x0028 .align 2 gFile_graphics_pokemon_icons_quilava_icon:: @ 8D9BAD4 .incbin "graphics/pokemon/icons/quilava_icon.4bpp" - @ .incbin "baserom.gba", 0xD9BAD4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_quilava_footprint:: @ 8D9BED4 .incbin "graphics/pokemon/footprints/quilava_footprint.1bpp" - @ .incbin "baserom.gba", 0xD9BED4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_typhlosion_still_front_pic:: @ 8D9BEF4 .incbin "graphics/pokemon/front_pics/typhlosion_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD9BEF4, 0x0428 .align 2 gFile_graphics_pokemon_palettes_typhlosion_palette:: @ 8D9C31C .incbin "graphics/pokemon/palettes/typhlosion_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD9C31C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_typhlosion_back_pic:: @ 8D9C344 .incbin "graphics/pokemon/back_pics/typhlosion_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD9C344, 0x0404 .align 2 gFile_graphics_pokemon_palettes_typhlosion_shiny_palette:: @ 8D9C748 .incbin "graphics/pokemon/palettes/typhlosion_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD9C748, 0x0028 .align 2 gFile_graphics_pokemon_icons_typhlosion_icon:: @ 8D9C770 .incbin "graphics/pokemon/icons/typhlosion_icon.4bpp" - @ .incbin "baserom.gba", 0xD9C770, 0x0400 .align 2 gFile_graphics_pokemon_footprints_typhlosion_footprint:: @ 8D9CB70 .incbin "graphics/pokemon/footprints/typhlosion_footprint.1bpp" - @ .incbin "baserom.gba", 0xD9CB70, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_totodile_still_front_pic:: @ 8D9CB90 .incbin "graphics/pokemon/front_pics/totodile_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD9CB90, 0x02A4 .align 2 gFile_graphics_pokemon_palettes_totodile_palette:: @ 8D9CE34 .incbin "graphics/pokemon/palettes/totodile_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD9CE34, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_totodile_back_pic:: @ 8D9CE5C .incbin "graphics/pokemon/back_pics/totodile_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD9CE5C, 0x02E0 .align 2 gFile_graphics_pokemon_palettes_totodile_shiny_palette:: @ 8D9D13C .incbin "graphics/pokemon/palettes/totodile_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD9D13C, 0x0028 .align 2 gFile_graphics_pokemon_icons_totodile_icon:: @ 8D9D164 .incbin "graphics/pokemon/icons/totodile_icon.4bpp" - @ .incbin "baserom.gba", 0xD9D164, 0x0400 .align 2 gFile_graphics_pokemon_footprints_totodile_footprint:: @ 8D9D564 .incbin "graphics/pokemon/footprints/totodile_footprint.1bpp" - @ .incbin "baserom.gba", 0xD9D564, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_croconaw_still_front_pic:: @ 8D9D584 .incbin "graphics/pokemon/front_pics/croconaw_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD9D584, 0x0368 .align 2 gFile_graphics_pokemon_palettes_croconaw_palette:: @ 8D9D8EC .incbin "graphics/pokemon/palettes/croconaw_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD9D8EC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_croconaw_back_pic:: @ 8D9D914 .incbin "graphics/pokemon/back_pics/croconaw_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD9D914, 0x0350 .align 2 gFile_graphics_pokemon_palettes_croconaw_shiny_palette:: @ 8D9DC64 .incbin "graphics/pokemon/palettes/croconaw_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD9DC64, 0x0028 .align 2 gFile_graphics_pokemon_icons_croconaw_icon:: @ 8D9DC8C .incbin "graphics/pokemon/icons/croconaw_icon.4bpp" - @ .incbin "baserom.gba", 0xD9DC8C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_croconaw_footprint:: @ 8D9E08C .incbin "graphics/pokemon/footprints/croconaw_footprint.1bpp" - @ .incbin "baserom.gba", 0xD9E08C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_feraligatr_still_front_pic:: @ 8D9E0AC .incbin "graphics/pokemon/front_pics/feraligatr_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD9E0AC, 0x056C .align 2 gFile_graphics_pokemon_palettes_feraligatr_palette:: @ 8D9E618 .incbin "graphics/pokemon/palettes/feraligatr_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD9E618, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_feraligatr_back_pic:: @ 8D9E640 .incbin "graphics/pokemon/back_pics/feraligatr_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD9E640, 0x04CC .align 2 gFile_graphics_pokemon_palettes_feraligatr_shiny_palette:: @ 8D9EB0C .incbin "graphics/pokemon/palettes/feraligatr_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD9EB0C, 0x0028 .align 2 gFile_graphics_pokemon_icons_feraligatr_icon:: @ 8D9EB34 .incbin "graphics/pokemon/icons/feraligatr_icon.4bpp" - @ .incbin "baserom.gba", 0xD9EB34, 0x0400 .align 2 gFile_graphics_pokemon_footprints_feraligatr_footprint:: @ 8D9EF34 .incbin "graphics/pokemon/footprints/feraligatr_footprint.1bpp" - @ .incbin "baserom.gba", 0xD9EF34, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_sentret_still_front_pic:: @ 8D9EF54 .incbin "graphics/pokemon/front_pics/sentret_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD9EF54, 0x02DC .align 2 gFile_graphics_pokemon_palettes_sentret_palette:: @ 8D9F230 .incbin "graphics/pokemon/palettes/sentret_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD9F230, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_sentret_back_pic:: @ 8D9F258 .incbin "graphics/pokemon/back_pics/sentret_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD9F258, 0x02A4 .align 2 gFile_graphics_pokemon_palettes_sentret_shiny_palette:: @ 8D9F4FC .incbin "graphics/pokemon/palettes/sentret_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD9F4FC, 0x0028 .align 2 gFile_graphics_pokemon_icons_sentret_icon:: @ 8D9F524 .incbin "graphics/pokemon/icons/sentret_icon.4bpp" - @ .incbin "baserom.gba", 0xD9F524, 0x0400 .align 2 gFile_graphics_pokemon_footprints_sentret_footprint:: @ 8D9F924 .incbin "graphics/pokemon/footprints/sentret_footprint.1bpp" - @ .incbin "baserom.gba", 0xD9F924, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_furret_still_front_pic:: @ 8D9F944 .incbin "graphics/pokemon/front_pics/furret_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD9F944, 0x0334 .align 2 gFile_graphics_pokemon_palettes_furret_palette:: @ 8D9FC78 .incbin "graphics/pokemon/palettes/furret_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD9FC78, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_furret_back_pic:: @ 8D9FCA0 .incbin "graphics/pokemon/back_pics/furret_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xD9FCA0, 0x0328 .align 2 gFile_graphics_pokemon_palettes_furret_shiny_palette:: @ 8D9FFC8 .incbin "graphics/pokemon/palettes/furret_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xD9FFC8, 0x0028 .align 2 gFile_graphics_pokemon_icons_furret_icon:: @ 8D9FFF0 .incbin "graphics/pokemon/icons/furret_icon.4bpp" - @ .incbin "baserom.gba", 0xD9FFF0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_furret_footprint:: @ 8DA03F0 .incbin "graphics/pokemon/footprints/furret_footprint.1bpp" - @ .incbin "baserom.gba", 0xDA03F0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_hoothoot_still_front_pic:: @ 8DA0410 .incbin "graphics/pokemon/front_pics/hoothoot_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA0410, 0x0284 .align 2 gFile_graphics_pokemon_palettes_hoothoot_palette:: @ 8DA0694 .incbin "graphics/pokemon/palettes/hoothoot_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA0694, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_hoothoot_back_pic:: @ 8DA06BC .incbin "graphics/pokemon/back_pics/hoothoot_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA06BC, 0x0308 .align 2 gFile_graphics_pokemon_palettes_hoothoot_shiny_palette:: @ 8DA09C4 .incbin "graphics/pokemon/palettes/hoothoot_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA09C4, 0x0028 .align 2 gFile_graphics_pokemon_icons_hoothoot_icon:: @ 8DA09EC .incbin "graphics/pokemon/icons/hoothoot_icon.4bpp" - @ .incbin "baserom.gba", 0xDA09EC, 0x0400 .align 2 gFile_graphics_pokemon_footprints_hoothoot_footprint:: @ 8DA0DEC .incbin "graphics/pokemon/footprints/hoothoot_footprint.1bpp" - @ .incbin "baserom.gba", 0xDA0DEC, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_noctowl_still_front_pic:: @ 8DA0E0C .incbin "graphics/pokemon/front_pics/noctowl_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA0E0C, 0x0354 .align 2 gFile_graphics_pokemon_palettes_noctowl_palette:: @ 8DA1160 .incbin "graphics/pokemon/palettes/noctowl_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA1160, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_noctowl_back_pic:: @ 8DA1188 .incbin "graphics/pokemon/back_pics/noctowl_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA1188, 0x035C .align 2 gFile_graphics_pokemon_palettes_noctowl_shiny_palette:: @ 8DA14E4 .incbin "graphics/pokemon/palettes/noctowl_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA14E4, 0x0028 .align 2 gFile_graphics_pokemon_icons_noctowl_icon:: @ 8DA150C .incbin "graphics/pokemon/icons/noctowl_icon.4bpp" - @ .incbin "baserom.gba", 0xDA150C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_noctowl_footprint:: @ 8DA190C .incbin "graphics/pokemon/footprints/noctowl_footprint.1bpp" - @ .incbin "baserom.gba", 0xDA190C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_ledyba_still_front_pic:: @ 8DA192C .incbin "graphics/pokemon/front_pics/ledyba_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA192C, 0x02F4 .align 2 gFile_graphics_pokemon_palettes_ledyba_palette:: @ 8DA1C20 .incbin "graphics/pokemon/palettes/ledyba_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA1C20, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_ledyba_back_pic:: @ 8DA1C48 .incbin "graphics/pokemon/back_pics/ledyba_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA1C48, 0x0330 .align 2 gFile_graphics_pokemon_palettes_ledyba_shiny_palette:: @ 8DA1F78 .incbin "graphics/pokemon/palettes/ledyba_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA1F78, 0x0028 .align 2 gFile_graphics_pokemon_icons_ledyba_icon:: @ 8DA1FA0 .incbin "graphics/pokemon/icons/ledyba_icon.4bpp" - @ .incbin "baserom.gba", 0xDA1FA0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_ledyba_footprint:: @ 8DA23A0 .incbin "graphics/pokemon/footprints/ledyba_footprint.1bpp" - @ .incbin "baserom.gba", 0xDA23A0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_ledian_still_front_pic:: @ 8DA23C0 .incbin "graphics/pokemon/front_pics/ledian_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA23C0, 0x0388 .align 2 gFile_graphics_pokemon_palettes_ledian_palette:: @ 8DA2748 .incbin "graphics/pokemon/palettes/ledian_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA2748, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_ledian_back_pic:: @ 8DA2770 .incbin "graphics/pokemon/back_pics/ledian_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA2770, 0x0358 .align 2 gFile_graphics_pokemon_palettes_ledian_shiny_palette:: @ 8DA2AC8 .incbin "graphics/pokemon/palettes/ledian_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA2AC8, 0x0028 .align 2 gFile_graphics_pokemon_icons_ledian_icon:: @ 8DA2AF0 .incbin "graphics/pokemon/icons/ledian_icon.4bpp" - @ .incbin "baserom.gba", 0xDA2AF0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_ledian_footprint:: @ 8DA2EF0 .incbin "graphics/pokemon/footprints/ledian_footprint.1bpp" - @ .incbin "baserom.gba", 0xDA2EF0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_spinarak_still_front_pic:: @ 8DA2F10 .incbin "graphics/pokemon/front_pics/spinarak_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA2F10, 0x0274 .align 2 gFile_graphics_pokemon_palettes_spinarak_palette:: @ 8DA3184 .incbin "graphics/pokemon/palettes/spinarak_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA3184, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_spinarak_back_pic:: @ 8DA31AC .incbin "graphics/pokemon/back_pics/spinarak_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA31AC, 0x0264 .align 2 gFile_graphics_pokemon_palettes_spinarak_shiny_palette:: @ 8DA3410 .incbin "graphics/pokemon/palettes/spinarak_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA3410, 0x0028 .align 2 gFile_graphics_pokemon_icons_spinarak_icon:: @ 8DA3438 .incbin "graphics/pokemon/icons/spinarak_icon.4bpp" - @ .incbin "baserom.gba", 0xDA3438, 0x0400 .align 2 gFile_graphics_pokemon_footprints_spinarak_footprint:: @ 8DA3838 .incbin "graphics/pokemon/footprints/spinarak_footprint.1bpp" - @ .incbin "baserom.gba", 0xDA3838, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_ariados_still_front_pic:: @ 8DA3858 .incbin "graphics/pokemon/front_pics/ariados_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA3858, 0x03C0 .align 2 gFile_graphics_pokemon_palettes_ariados_palette:: @ 8DA3C18 .incbin "graphics/pokemon/palettes/ariados_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA3C18, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_ariados_back_pic:: @ 8DA3C40 .incbin "graphics/pokemon/back_pics/ariados_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA3C40, 0x0378 .align 2 gFile_graphics_pokemon_palettes_ariados_shiny_palette:: @ 8DA3FB8 .incbin "graphics/pokemon/palettes/ariados_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA3FB8, 0x0028 .align 2 gFile_graphics_pokemon_icons_ariados_icon:: @ 8DA3FE0 .incbin "graphics/pokemon/icons/ariados_icon.4bpp" - @ .incbin "baserom.gba", 0xDA3FE0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_ariados_footprint:: @ 8DA43E0 .incbin "graphics/pokemon/footprints/ariados_footprint.1bpp" - @ .incbin "baserom.gba", 0xDA43E0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_crobat_still_front_pic:: @ 8DA4400 .incbin "graphics/pokemon/front_pics/crobat_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA4400, 0x03B0 .align 2 gFile_graphics_pokemon_palettes_crobat_palette:: @ 8DA47B0 .incbin "graphics/pokemon/palettes/crobat_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA47B0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_crobat_back_pic:: @ 8DA47D8 .incbin "graphics/pokemon/back_pics/crobat_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA47D8, 0x0308 .align 2 gFile_graphics_pokemon_palettes_crobat_shiny_palette:: @ 8DA4AE0 .incbin "graphics/pokemon/palettes/crobat_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA4AE0, 0x0028 .align 2 gFile_graphics_pokemon_icons_crobat_icon:: @ 8DA4B08 .incbin "graphics/pokemon/icons/crobat_icon.4bpp" - @ .incbin "baserom.gba", 0xDA4B08, 0x0400 .align 2 gFile_graphics_pokemon_footprints_crobat_footprint:: @ 8DA4F08 .incbin "graphics/pokemon/footprints/crobat_footprint.1bpp" - @ .incbin "baserom.gba", 0xDA4F08, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_chinchou_still_front_pic:: @ 8DA4F28 .incbin "graphics/pokemon/front_pics/chinchou_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA4F28, 0x02D8 .align 2 gFile_graphics_pokemon_palettes_chinchou_palette:: @ 8DA5200 .incbin "graphics/pokemon/palettes/chinchou_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA5200, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_chinchou_back_pic:: @ 8DA5228 .incbin "graphics/pokemon/back_pics/chinchou_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA5228, 0x02F8 .align 2 gFile_graphics_pokemon_palettes_chinchou_shiny_palette:: @ 8DA5520 .incbin "graphics/pokemon/palettes/chinchou_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA5520, 0x0028 .align 2 gFile_graphics_pokemon_icons_chinchou_icon:: @ 8DA5548 .incbin "graphics/pokemon/icons/chinchou_icon.4bpp" - @ .incbin "baserom.gba", 0xDA5548, 0x0400 .align 2 gFile_graphics_pokemon_footprints_chinchou_footprint:: @ 8DA5948 .incbin "graphics/pokemon/footprints/chinchou_footprint.1bpp" - @ .incbin "baserom.gba", 0xDA5948, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_lanturn_still_front_pic:: @ 8DA5968 .incbin "graphics/pokemon/front_pics/lanturn_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA5968, 0x0370 .align 2 gFile_graphics_pokemon_palettes_lanturn_palette:: @ 8DA5CD8 .incbin "graphics/pokemon/palettes/lanturn_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA5CD8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_lanturn_back_pic:: @ 8DA5D00 .incbin "graphics/pokemon/back_pics/lanturn_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA5D00, 0x0300 .align 2 gFile_graphics_pokemon_palettes_lanturn_shiny_palette:: @ 8DA6000 .incbin "graphics/pokemon/palettes/lanturn_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA6000, 0x0028 .align 2 gFile_graphics_pokemon_icons_lanturn_icon:: @ 8DA6028 .incbin "graphics/pokemon/icons/lanturn_icon.4bpp" - @ .incbin "baserom.gba", 0xDA6028, 0x0400 .align 2 gFile_graphics_pokemon_footprints_lanturn_footprint:: @ 8DA6428 .incbin "graphics/pokemon/footprints/lanturn_footprint.1bpp" - @ .incbin "baserom.gba", 0xDA6428, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_pichu_still_front_pic:: @ 8DA6448 .incbin "graphics/pokemon/front_pics/pichu_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA6448, 0x021C .align 2 gFile_graphics_pokemon_palettes_pichu_palette:: @ 8DA6664 .incbin "graphics/pokemon/palettes/pichu_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA6664, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_pichu_back_pic:: @ 8DA668C .incbin "graphics/pokemon/back_pics/pichu_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA668C, 0x025C .align 2 gFile_graphics_pokemon_palettes_pichu_shiny_palette:: @ 8DA68E8 .incbin "graphics/pokemon/palettes/pichu_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA68E8, 0x0028 .align 2 gFile_graphics_pokemon_icons_pichu_icon:: @ 8DA6910 .incbin "graphics/pokemon/icons/pichu_icon.4bpp" - @ .incbin "baserom.gba", 0xDA6910, 0x0400 .align 2 gFile_graphics_pokemon_footprints_pichu_footprint:: @ 8DA6D10 .incbin "graphics/pokemon/footprints/pichu_footprint.1bpp" - @ .incbin "baserom.gba", 0xDA6D10, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_cleffa_still_front_pic:: @ 8DA6D30 .incbin "graphics/pokemon/front_pics/cleffa_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA6D30, 0x01E0 .align 2 gFile_graphics_pokemon_palettes_cleffa_palette:: @ 8DA6F10 .incbin "graphics/pokemon/palettes/cleffa_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA6F10, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_cleffa_back_pic:: @ 8DA6F38 .incbin "graphics/pokemon/back_pics/cleffa_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA6F38, 0x023C .align 2 gFile_graphics_pokemon_palettes_cleffa_shiny_palette:: @ 8DA7174 .incbin "graphics/pokemon/palettes/cleffa_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA7174, 0x0028 .align 2 gFile_graphics_pokemon_icons_cleffa_icon:: @ 8DA719C .incbin "graphics/pokemon/icons/cleffa_icon.4bpp" - @ .incbin "baserom.gba", 0xDA719C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_cleffa_footprint:: @ 8DA759C .incbin "graphics/pokemon/footprints/cleffa_footprint.1bpp" - @ .incbin "baserom.gba", 0xDA759C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_igglybuff_still_front_pic:: @ 8DA75BC .incbin "graphics/pokemon/front_pics/igglybuff_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA75BC, 0x01E8 .align 2 gFile_graphics_pokemon_palettes_igglybuff_palette:: @ 8DA77A4 .incbin "graphics/pokemon/palettes/igglybuff_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA77A4, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_igglybuff_back_pic:: @ 8DA77CC .incbin "graphics/pokemon/back_pics/igglybuff_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA77CC, 0x023C .align 2 gFile_graphics_pokemon_palettes_igglybuff_shiny_palette:: @ 8DA7A08 .incbin "graphics/pokemon/palettes/igglybuff_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA7A08, 0x0028 .align 2 gFile_graphics_pokemon_icons_igglybuff_icon:: @ 8DA7A30 .incbin "graphics/pokemon/icons/igglybuff_icon.4bpp" - @ .incbin "baserom.gba", 0xDA7A30, 0x0400 .align 2 gFile_graphics_pokemon_footprints_igglybuff_footprint:: @ 8DA7E30 .incbin "graphics/pokemon/footprints/igglybuff_footprint.1bpp" - @ .incbin "baserom.gba", 0xDA7E30, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_togepi_still_front_pic:: @ 8DA7E50 .incbin "graphics/pokemon/front_pics/togepi_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA7E50, 0x01D4 .align 2 gFile_graphics_pokemon_palettes_togepi_palette:: @ 8DA8024 .incbin "graphics/pokemon/palettes/togepi_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA8024, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_togepi_back_pic:: @ 8DA804C .incbin "graphics/pokemon/back_pics/togepi_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA804C, 0x0274 .align 2 gFile_graphics_pokemon_palettes_togepi_shiny_palette:: @ 8DA82C0 .incbin "graphics/pokemon/palettes/togepi_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA82C0, 0x0028 .align 2 gFile_graphics_pokemon_icons_togepi_icon:: @ 8DA82E8 .incbin "graphics/pokemon/icons/togepi_icon.4bpp" - @ .incbin "baserom.gba", 0xDA82E8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_togepi_footprint:: @ 8DA86E8 .incbin "graphics/pokemon/footprints/togepi_footprint.1bpp" - @ .incbin "baserom.gba", 0xDA86E8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_togetic_still_front_pic:: @ 8DA8708 .incbin "graphics/pokemon/front_pics/togetic_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA8708, 0x0274 .align 2 gFile_graphics_pokemon_palettes_togetic_palette:: @ 8DA897C .incbin "graphics/pokemon/palettes/togetic_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA897C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_togetic_back_pic:: @ 8DA89A4 .incbin "graphics/pokemon/back_pics/togetic_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA89A4, 0x032C .align 2 gFile_graphics_pokemon_palettes_togetic_shiny_palette:: @ 8DA8CD0 .incbin "graphics/pokemon/palettes/togetic_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA8CD0, 0x0028 .align 2 gFile_graphics_pokemon_icons_togetic_icon:: @ 8DA8CF8 .incbin "graphics/pokemon/icons/togetic_icon.4bpp" - @ .incbin "baserom.gba", 0xDA8CF8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_togetic_footprint:: @ 8DA90F8 .incbin "graphics/pokemon/footprints/togetic_footprint.1bpp" - @ .incbin "baserom.gba", 0xDA90F8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_natu_still_front_pic:: @ 8DA9118 .incbin "graphics/pokemon/front_pics/natu_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA9118, 0x01CC .align 2 gFile_graphics_pokemon_palettes_natu_palette:: @ 8DA92E4 .incbin "graphics/pokemon/palettes/natu_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA92E4, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_natu_back_pic:: @ 8DA930C .incbin "graphics/pokemon/back_pics/natu_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA930C, 0x0214 .align 2 gFile_graphics_pokemon_palettes_natu_shiny_palette:: @ 8DA9520 .incbin "graphics/pokemon/palettes/natu_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA9520, 0x0028 .align 2 gFile_graphics_pokemon_icons_natu_icon:: @ 8DA9548 .incbin "graphics/pokemon/icons/natu_icon.4bpp" - @ .incbin "baserom.gba", 0xDA9548, 0x0400 .align 2 gFile_graphics_pokemon_footprints_natu_footprint:: @ 8DA9948 .incbin "graphics/pokemon/footprints/natu_footprint.1bpp" - @ .incbin "baserom.gba", 0xDA9948, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_xatu_still_front_pic:: @ 8DA9968 .incbin "graphics/pokemon/front_pics/xatu_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA9968, 0x02DC .align 2 gFile_graphics_pokemon_palettes_xatu_palette:: @ 8DA9C44 .incbin "graphics/pokemon/palettes/xatu_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA9C44, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_xatu_back_pic:: @ 8DA9C6C .incbin "graphics/pokemon/back_pics/xatu_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDA9C6C, 0x0378 .align 2 gFile_graphics_pokemon_palettes_xatu_shiny_palette:: @ 8DA9FE4 .incbin "graphics/pokemon/palettes/xatu_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDA9FE4, 0x0028 .align 2 gFile_graphics_pokemon_icons_xatu_icon:: @ 8DAA00C .incbin "graphics/pokemon/icons/xatu_icon.4bpp" - @ .incbin "baserom.gba", 0xDAA00C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_xatu_footprint:: @ 8DAA40C .incbin "graphics/pokemon/footprints/xatu_footprint.1bpp" - @ .incbin "baserom.gba", 0xDAA40C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_mareep_still_front_pic:: @ 8DAA42C .incbin "graphics/pokemon/front_pics/mareep_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDAA42C, 0x02B4 .align 2 gFile_graphics_pokemon_palettes_mareep_palette:: @ 8DAA6E0 .incbin "graphics/pokemon/palettes/mareep_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDAA6E0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_mareep_back_pic:: @ 8DAA708 .incbin "graphics/pokemon/back_pics/mareep_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDAA708, 0x02F4 .align 2 gFile_graphics_pokemon_palettes_mareep_shiny_palette:: @ 8DAA9FC .incbin "graphics/pokemon/palettes/mareep_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDAA9FC, 0x0028 .align 2 gFile_graphics_pokemon_icons_mareep_icon:: @ 8DAAA24 .incbin "graphics/pokemon/icons/mareep_icon.4bpp" - @ .incbin "baserom.gba", 0xDAAA24, 0x0400 .align 2 gFile_graphics_pokemon_footprints_mareep_footprint:: @ 8DAAE24 .incbin "graphics/pokemon/footprints/mareep_footprint.1bpp" - @ .incbin "baserom.gba", 0xDAAE24, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_flaaffy_still_front_pic:: @ 8DAAE44 .incbin "graphics/pokemon/front_pics/flaaffy_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDAAE44, 0x0300 .align 2 gFile_graphics_pokemon_palettes_flaaffy_palette:: @ 8DAB144 .incbin "graphics/pokemon/palettes/flaaffy_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDAB144, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_flaaffy_back_pic:: @ 8DAB16C .incbin "graphics/pokemon/back_pics/flaaffy_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDAB16C, 0x031C .align 2 gFile_graphics_pokemon_palettes_flaaffy_shiny_palette:: @ 8DAB488 .incbin "graphics/pokemon/palettes/flaaffy_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDAB488, 0x0028 .align 2 gFile_graphics_pokemon_icons_flaaffy_icon:: @ 8DAB4B0 .incbin "graphics/pokemon/icons/flaaffy_icon.4bpp" - @ .incbin "baserom.gba", 0xDAB4B0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_flaaffy_footprint:: @ 8DAB8B0 .incbin "graphics/pokemon/footprints/flaaffy_footprint.1bpp" - @ .incbin "baserom.gba", 0xDAB8B0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_ampharos_still_front_pic:: @ 8DAB8D0 .incbin "graphics/pokemon/front_pics/ampharos_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDAB8D0, 0x035C .align 2 gFile_graphics_pokemon_palettes_ampharos_palette:: @ 8DABC2C .incbin "graphics/pokemon/palettes/ampharos_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDABC2C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_ampharos_back_pic:: @ 8DABC54 .incbin "graphics/pokemon/back_pics/ampharos_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDABC54, 0x0378 .align 2 gFile_graphics_pokemon_palettes_ampharos_shiny_palette:: @ 8DABFCC .incbin "graphics/pokemon/palettes/ampharos_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDABFCC, 0x0028 .align 2 gFile_graphics_pokemon_icons_ampharos_icon:: @ 8DABFF4 .incbin "graphics/pokemon/icons/ampharos_icon.4bpp" - @ .incbin "baserom.gba", 0xDABFF4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_ampharos_footprint:: @ 8DAC3F4 .incbin "graphics/pokemon/footprints/ampharos_footprint.1bpp" - @ .incbin "baserom.gba", 0xDAC3F4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_bellossom_still_front_pic:: @ 8DAC414 .incbin "graphics/pokemon/front_pics/bellossom_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDAC414, 0x0270 .align 2 gFile_graphics_pokemon_palettes_bellossom_palette:: @ 8DAC684 .incbin "graphics/pokemon/palettes/bellossom_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDAC684, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_bellossom_back_pic:: @ 8DAC6AC .incbin "graphics/pokemon/back_pics/bellossom_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDAC6AC, 0x0324 .align 2 gFile_graphics_pokemon_palettes_bellossom_shiny_palette:: @ 8DAC9D0 .incbin "graphics/pokemon/palettes/bellossom_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDAC9D0, 0x0028 .align 2 gFile_graphics_pokemon_icons_bellossom_icon:: @ 8DAC9F8 .incbin "graphics/pokemon/icons/bellossom_icon.4bpp" - @ .incbin "baserom.gba", 0xDAC9F8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_bellossom_footprint:: @ 8DACDF8 .incbin "graphics/pokemon/footprints/bellossom_footprint.1bpp" - @ .incbin "baserom.gba", 0xDACDF8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_marill_still_front_pic:: @ 8DACE18 .incbin "graphics/pokemon/front_pics/marill_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDACE18, 0x02C4 .align 2 gFile_graphics_pokemon_palettes_marill_palette:: @ 8DAD0DC .incbin "graphics/pokemon/palettes/marill_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDAD0DC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_marill_back_pic:: @ 8DAD104 .incbin "graphics/pokemon/back_pics/marill_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDAD104, 0x02AC .align 2 gFile_graphics_pokemon_palettes_marill_shiny_palette:: @ 8DAD3B0 .incbin "graphics/pokemon/palettes/marill_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDAD3B0, 0x0028 .align 2 gFile_graphics_pokemon_icons_marill_icon:: @ 8DAD3D8 .incbin "graphics/pokemon/icons/marill_icon.4bpp" - @ .incbin "baserom.gba", 0xDAD3D8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_marill_footprint:: @ 8DAD7D8 .incbin "graphics/pokemon/footprints/marill_footprint.1bpp" - @ .incbin "baserom.gba", 0xDAD7D8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_azumarill_still_front_pic:: @ 8DAD7F8 .incbin "graphics/pokemon/front_pics/azumarill_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDAD7F8, 0x0300 .align 2 gFile_graphics_pokemon_palettes_azumarill_palette:: @ 8DADAF8 .incbin "graphics/pokemon/palettes/azumarill_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDADAF8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_azumarill_back_pic:: @ 8DADB20 .incbin "graphics/pokemon/back_pics/azumarill_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDADB20, 0x02BC .align 2 gFile_graphics_pokemon_palettes_azumarill_shiny_palette:: @ 8DADDDC .incbin "graphics/pokemon/palettes/azumarill_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDADDDC, 0x0028 .align 2 gFile_graphics_pokemon_icons_azumarill_icon:: @ 8DADE04 .incbin "graphics/pokemon/icons/azumarill_icon.4bpp" - @ .incbin "baserom.gba", 0xDADE04, 0x0400 .align 2 gFile_graphics_pokemon_footprints_azumarill_footprint:: @ 8DAE204 .incbin "graphics/pokemon/footprints/azumarill_footprint.1bpp" - @ .incbin "baserom.gba", 0xDAE204, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_sudowoodo_still_front_pic:: @ 8DAE224 .incbin "graphics/pokemon/front_pics/sudowoodo_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDAE224, 0x0318 .align 2 gFile_graphics_pokemon_palettes_sudowoodo_palette:: @ 8DAE53C .incbin "graphics/pokemon/palettes/sudowoodo_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDAE53C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_sudowoodo_back_pic:: @ 8DAE564 .incbin "graphics/pokemon/back_pics/sudowoodo_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDAE564, 0x035C .align 2 gFile_graphics_pokemon_palettes_sudowoodo_shiny_palette:: @ 8DAE8C0 .incbin "graphics/pokemon/palettes/sudowoodo_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDAE8C0, 0x0028 .align 2 gFile_graphics_pokemon_icons_sudowoodo_icon:: @ 8DAE8E8 .incbin "graphics/pokemon/icons/sudowoodo_icon.4bpp" - @ .incbin "baserom.gba", 0xDAE8E8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_sudowoodo_footprint:: @ 8DAECE8 .incbin "graphics/pokemon/footprints/sudowoodo_footprint.1bpp" - @ .incbin "baserom.gba", 0xDAECE8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_politoed_still_front_pic:: @ 8DAED08 .incbin "graphics/pokemon/front_pics/politoed_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDAED08, 0x033C .align 2 gFile_graphics_pokemon_palettes_politoed_palette:: @ 8DAF044 .incbin "graphics/pokemon/palettes/politoed_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDAF044, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_politoed_back_pic:: @ 8DAF06C .incbin "graphics/pokemon/back_pics/politoed_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDAF06C, 0x02BC .align 2 gFile_graphics_pokemon_palettes_politoed_shiny_palette:: @ 8DAF328 .incbin "graphics/pokemon/palettes/politoed_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDAF328, 0x0028 .align 2 gFile_graphics_pokemon_icons_politoed_icon:: @ 8DAF350 .incbin "graphics/pokemon/icons/politoed_icon.4bpp" - @ .incbin "baserom.gba", 0xDAF350, 0x0400 .align 2 gFile_graphics_pokemon_footprints_politoed_footprint:: @ 8DAF750 .incbin "graphics/pokemon/footprints/politoed_footprint.1bpp" - @ .incbin "baserom.gba", 0xDAF750, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_hoppip_still_front_pic:: @ 8DAF770 .incbin "graphics/pokemon/front_pics/hoppip_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDAF770, 0x02B4 .align 2 gFile_graphics_pokemon_palettes_hoppip_palette:: @ 8DAFA24 .incbin "graphics/pokemon/palettes/hoppip_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDAFA24, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_hoppip_back_pic:: @ 8DAFA4C .incbin "graphics/pokemon/back_pics/hoppip_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDAFA4C, 0x02E0 .align 2 gFile_graphics_pokemon_palettes_hoppip_shiny_palette:: @ 8DAFD2C .incbin "graphics/pokemon/palettes/hoppip_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDAFD2C, 0x0028 .align 2 gFile_graphics_pokemon_icons_hoppip_icon:: @ 8DAFD54 .incbin "graphics/pokemon/icons/hoppip_icon.4bpp" - @ .incbin "baserom.gba", 0xDAFD54, 0x0400 .align 2 gFile_graphics_pokemon_footprints_hoppip_footprint:: @ 8DB0154 .incbin "graphics/pokemon/footprints/hoppip_footprint.1bpp" - @ .incbin "baserom.gba", 0xDB0154, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_skiploom_still_front_pic:: @ 8DB0174 .incbin "graphics/pokemon/front_pics/skiploom_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB0174, 0x0288 .align 2 gFile_graphics_pokemon_palettes_skiploom_palette:: @ 8DB03FC .incbin "graphics/pokemon/palettes/skiploom_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB03FC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_skiploom_back_pic:: @ 8DB0424 .incbin "graphics/pokemon/back_pics/skiploom_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB0424, 0x02E0 .align 2 gFile_graphics_pokemon_palettes_skiploom_shiny_palette:: @ 8DB0704 .incbin "graphics/pokemon/palettes/skiploom_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB0704, 0x0028 .align 2 gFile_graphics_pokemon_icons_skiploom_icon:: @ 8DB072C .incbin "graphics/pokemon/icons/skiploom_icon.4bpp" - @ .incbin "baserom.gba", 0xDB072C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_skiploom_footprint:: @ 8DB0B2C .incbin "graphics/pokemon/footprints/skiploom_footprint.1bpp" - @ .incbin "baserom.gba", 0xDB0B2C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_jumpluff_still_front_pic:: @ 8DB0B4C .incbin "graphics/pokemon/front_pics/jumpluff_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB0B4C, 0x036C .align 2 gFile_graphics_pokemon_palettes_jumpluff_palette:: @ 8DB0EB8 .incbin "graphics/pokemon/palettes/jumpluff_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB0EB8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_jumpluff_back_pic:: @ 8DB0EE0 .incbin "graphics/pokemon/back_pics/jumpluff_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB0EE0, 0x03F8 .align 2 gFile_graphics_pokemon_palettes_jumpluff_shiny_palette:: @ 8DB12D8 .incbin "graphics/pokemon/palettes/jumpluff_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB12D8, 0x0028 .align 2 gFile_graphics_pokemon_icons_jumpluff_icon:: @ 8DB1300 .incbin "graphics/pokemon/icons/jumpluff_icon.4bpp" - @ .incbin "baserom.gba", 0xDB1300, 0x0400 .align 2 gFile_graphics_pokemon_footprints_jumpluff_footprint:: @ 8DB1700 .incbin "graphics/pokemon/footprints/jumpluff_footprint.1bpp" - @ .incbin "baserom.gba", 0xDB1700, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_aipom_still_front_pic:: @ 8DB1720 .incbin "graphics/pokemon/front_pics/aipom_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB1720, 0x02FC .align 2 gFile_graphics_pokemon_palettes_aipom_palette:: @ 8DB1A1C .incbin "graphics/pokemon/palettes/aipom_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB1A1C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_aipom_back_pic:: @ 8DB1A44 .incbin "graphics/pokemon/back_pics/aipom_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB1A44, 0x02F4 .align 2 gFile_graphics_pokemon_palettes_aipom_shiny_palette:: @ 8DB1D38 .incbin "graphics/pokemon/palettes/aipom_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB1D38, 0x0028 .align 2 gFile_graphics_pokemon_icons_aipom_icon:: @ 8DB1D60 .incbin "graphics/pokemon/icons/aipom_icon.4bpp" - @ .incbin "baserom.gba", 0xDB1D60, 0x0400 .align 2 gFile_graphics_pokemon_footprints_aipom_footprint:: @ 8DB2160 .incbin "graphics/pokemon/footprints/aipom_footprint.1bpp" - @ .incbin "baserom.gba", 0xDB2160, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_sunkern_still_front_pic:: @ 8DB2180 .incbin "graphics/pokemon/front_pics/sunkern_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB2180, 0x0238 .align 2 gFile_graphics_pokemon_palettes_sunkern_palette:: @ 8DB23B8 .incbin "graphics/pokemon/palettes/sunkern_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB23B8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_sunkern_back_pic:: @ 8DB23E0 .incbin "graphics/pokemon/back_pics/sunkern_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB23E0, 0x02C4 .align 2 gFile_graphics_pokemon_palettes_sunkern_shiny_palette:: @ 8DB26A4 .incbin "graphics/pokemon/palettes/sunkern_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB26A4, 0x0028 .align 2 gFile_graphics_pokemon_icons_sunkern_icon:: @ 8DB26CC .incbin "graphics/pokemon/icons/sunkern_icon.4bpp" - @ .incbin "baserom.gba", 0xDB26CC, 0x0400 .align 2 gFile_graphics_pokemon_footprints_sunkern_footprint:: @ 8DB2ACC .incbin "graphics/pokemon/footprints/sunkern_footprint.1bpp" - @ .incbin "baserom.gba", 0xDB2ACC, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_sunflora_still_front_pic:: @ 8DB2AEC .incbin "graphics/pokemon/front_pics/sunflora_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB2AEC, 0x0358 .align 2 gFile_graphics_pokemon_palettes_sunflora_palette:: @ 8DB2E44 .incbin "graphics/pokemon/palettes/sunflora_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB2E44, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_sunflora_back_pic:: @ 8DB2E6C .incbin "graphics/pokemon/back_pics/sunflora_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB2E6C, 0x03A0 .align 2 gFile_graphics_pokemon_palettes_sunflora_shiny_palette:: @ 8DB320C .incbin "graphics/pokemon/palettes/sunflora_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB320C, 0x0028 .align 2 gFile_graphics_pokemon_icons_sunflora_icon:: @ 8DB3234 .incbin "graphics/pokemon/icons/sunflora_icon.4bpp" - @ .incbin "baserom.gba", 0xDB3234, 0x0400 .align 2 gFile_graphics_pokemon_footprints_sunflora_footprint:: @ 8DB3634 .incbin "graphics/pokemon/footprints/sunflora_footprint.1bpp" - @ .incbin "baserom.gba", 0xDB3634, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_yanma_still_front_pic:: @ 8DB3654 .incbin "graphics/pokemon/front_pics/yanma_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB3654, 0x0384 .align 2 gFile_graphics_pokemon_palettes_yanma_palette:: @ 8DB39D8 .incbin "graphics/pokemon/palettes/yanma_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB39D8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_yanma_back_pic:: @ 8DB3A00 .incbin "graphics/pokemon/back_pics/yanma_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB3A00, 0x03B4 .align 2 gFile_graphics_pokemon_palettes_yanma_shiny_palette:: @ 8DB3DB4 .incbin "graphics/pokemon/palettes/yanma_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB3DB4, 0x0028 .align 2 gFile_graphics_pokemon_icons_yanma_icon:: @ 8DB3DDC .incbin "graphics/pokemon/icons/yanma_icon.4bpp" - @ .incbin "baserom.gba", 0xDB3DDC, 0x0400 .align 2 gFile_graphics_pokemon_footprints_yanma_footprint:: @ 8DB41DC .incbin "graphics/pokemon/footprints/yanma_footprint.1bpp" - @ .incbin "baserom.gba", 0xDB41DC, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_wooper_still_front_pic:: @ 8DB41FC .incbin "graphics/pokemon/front_pics/wooper_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB41FC, 0x0240 .align 2 gFile_graphics_pokemon_palettes_wooper_palette:: @ 8DB443C .incbin "graphics/pokemon/palettes/wooper_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB443C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_wooper_back_pic:: @ 8DB4464 .incbin "graphics/pokemon/back_pics/wooper_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB4464, 0x028C .align 2 gFile_graphics_pokemon_palettes_wooper_shiny_palette:: @ 8DB46F0 .incbin "graphics/pokemon/palettes/wooper_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB46F0, 0x0028 .align 2 gFile_graphics_pokemon_icons_wooper_icon:: @ 8DB4718 .incbin "graphics/pokemon/icons/wooper_icon.4bpp" - @ .incbin "baserom.gba", 0xDB4718, 0x0400 .align 2 gFile_graphics_pokemon_footprints_wooper_footprint:: @ 8DB4B18 .incbin "graphics/pokemon/footprints/wooper_footprint.1bpp" - @ .incbin "baserom.gba", 0xDB4B18, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_quagsire_still_front_pic:: @ 8DB4B38 .incbin "graphics/pokemon/front_pics/quagsire_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB4B38, 0x0374 .align 2 gFile_graphics_pokemon_palettes_quagsire_palette:: @ 8DB4EAC .incbin "graphics/pokemon/palettes/quagsire_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB4EAC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_quagsire_back_pic:: @ 8DB4ED4 .incbin "graphics/pokemon/back_pics/quagsire_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB4ED4, 0x02FC .align 2 gFile_graphics_pokemon_palettes_quagsire_shiny_palette:: @ 8DB51D0 .incbin "graphics/pokemon/palettes/quagsire_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB51D0, 0x0028 .align 2 gFile_graphics_pokemon_icons_quagsire_icon:: @ 8DB51F8 .incbin "graphics/pokemon/icons/quagsire_icon.4bpp" - @ .incbin "baserom.gba", 0xDB51F8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_quagsire_footprint:: @ 8DB55F8 .incbin "graphics/pokemon/footprints/quagsire_footprint.1bpp" - @ .incbin "baserom.gba", 0xDB55F8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_espeon_still_front_pic:: @ 8DB5618 .incbin "graphics/pokemon/front_pics/espeon_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB5618, 0x0340 .align 2 gFile_graphics_pokemon_palettes_espeon_palette:: @ 8DB5958 .incbin "graphics/pokemon/palettes/espeon_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB5958, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_espeon_back_pic:: @ 8DB597C .incbin "graphics/pokemon/back_pics/espeon_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB597C, 0x02DC .align 2 gFile_graphics_pokemon_palettes_espeon_shiny_palette:: @ 8DB5C58 .incbin "graphics/pokemon/palettes/espeon_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB5C58, 0x0024 .align 2 gFile_graphics_pokemon_icons_espeon_icon:: @ 8DB5C7C .incbin "graphics/pokemon/icons/espeon_icon.4bpp" - @ .incbin "baserom.gba", 0xDB5C7C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_espeon_footprint:: @ 8DB607C .incbin "graphics/pokemon/footprints/espeon_footprint.1bpp" - @ .incbin "baserom.gba", 0xDB607C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_umbreon_still_front_pic:: @ 8DB609C .incbin "graphics/pokemon/front_pics/umbreon_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB609C, 0x0314 .align 2 gFile_graphics_pokemon_palettes_umbreon_palette:: @ 8DB63B0 .incbin "graphics/pokemon/palettes/umbreon_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB63B0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_umbreon_back_pic:: @ 8DB63D8 .incbin "graphics/pokemon/back_pics/umbreon_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB63D8, 0x0314 .align 2 gFile_graphics_pokemon_palettes_umbreon_shiny_palette:: @ 8DB66EC .incbin "graphics/pokemon/palettes/umbreon_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB66EC, 0x0028 .align 2 gFile_graphics_pokemon_icons_umbreon_icon:: @ 8DB6714 .incbin "graphics/pokemon/icons/umbreon_icon.4bpp" - @ .incbin "baserom.gba", 0xDB6714, 0x0400 .align 2 gFile_graphics_pokemon_footprints_umbreon_footprint:: @ 8DB6B14 .incbin "graphics/pokemon/footprints/umbreon_footprint.1bpp" - @ .incbin "baserom.gba", 0xDB6B14, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_murkrow_still_front_pic:: @ 8DB6B34 .incbin "graphics/pokemon/front_pics/murkrow_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB6B34, 0x02E0 .align 2 gFile_graphics_pokemon_palettes_murkrow_palette:: @ 8DB6E14 .incbin "graphics/pokemon/palettes/murkrow_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB6E14, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_murkrow_back_pic:: @ 8DB6E3C .incbin "graphics/pokemon/back_pics/murkrow_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB6E3C, 0x0318 .align 2 gFile_graphics_pokemon_palettes_murkrow_shiny_palette:: @ 8DB7154 .incbin "graphics/pokemon/palettes/murkrow_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB7154, 0x0028 .align 2 gFile_graphics_pokemon_icons_murkrow_icon:: @ 8DB717C .incbin "graphics/pokemon/icons/murkrow_icon.4bpp" - @ .incbin "baserom.gba", 0xDB717C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_murkrow_footprint:: @ 8DB757C .incbin "graphics/pokemon/footprints/murkrow_footprint.1bpp" - @ .incbin "baserom.gba", 0xDB757C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_slowking_still_front_pic:: @ 8DB759C .incbin "graphics/pokemon/front_pics/slowking_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB759C, 0x03B4 .align 2 gFile_graphics_pokemon_palettes_slowking_palette:: @ 8DB7950 .incbin "graphics/pokemon/palettes/slowking_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB7950, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_slowking_back_pic:: @ 8DB7978 .incbin "graphics/pokemon/back_pics/slowking_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB7978, 0x038C .align 2 gFile_graphics_pokemon_palettes_slowking_shiny_palette:: @ 8DB7D04 .incbin "graphics/pokemon/palettes/slowking_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB7D04, 0x0028 .align 2 gFile_graphics_pokemon_icons_slowking_icon:: @ 8DB7D2C .incbin "graphics/pokemon/icons/slowking_icon.4bpp" - @ .incbin "baserom.gba", 0xDB7D2C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_slowking_footprint:: @ 8DB812C .incbin "graphics/pokemon/footprints/slowking_footprint.1bpp" - @ .incbin "baserom.gba", 0xDB812C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_misdreavus_still_front_pic:: @ 8DB814C .incbin "graphics/pokemon/front_pics/misdreavus_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB814C, 0x02C0 .align 2 gFile_graphics_pokemon_palettes_misdreavus_palette:: @ 8DB840C .incbin "graphics/pokemon/palettes/misdreavus_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB840C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_misdreavus_back_pic:: @ 8DB8434 .incbin "graphics/pokemon/back_pics/misdreavus_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB8434, 0x0324 .align 2 gFile_graphics_pokemon_palettes_misdreavus_shiny_palette:: @ 8DB8758 .incbin "graphics/pokemon/palettes/misdreavus_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB8758, 0x0028 .align 2 gFile_graphics_pokemon_icons_misdreavus_icon:: @ 8DB8780 .incbin "graphics/pokemon/icons/misdreavus_icon.4bpp" - @ .incbin "baserom.gba", 0xDB8780, 0x0400 .align 2 gFile_graphics_pokemon_footprints_misdreavus_footprint:: @ 8DB8B80 .incbin "graphics/pokemon/footprints/misdreavus_footprint.1bpp" - @ .incbin "baserom.gba", 0xDB8B80, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_unown_a_still_front_pic:: @ 8DB8BA0 .incbin "graphics/pokemon/front_pics/unown_a_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB8BA0, 0x01D4 .align 2 gFile_graphics_pokemon_palettes_unown_palette:: @ 8DB8D74 .incbin "graphics/pokemon/palettes/unown_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB8D74, 0x0020 .align 2 gFile_graphics_pokemon_back_pics_unown_a_back_pic:: @ 8DB8D94 .incbin "graphics/pokemon/back_pics/unown_a_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB8D94, 0x0200 .align 2 gFile_graphics_pokemon_palettes_unown_shiny_palette:: @ 8DB8F94 .incbin "graphics/pokemon/palettes/unown_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB8F94, 0x0020 .align 2 gFile_graphics_pokemon_icons_unown_a_icon:: @ 8DB8FB4 .incbin "graphics/pokemon/icons/unown_a_icon.4bpp" - @ .incbin "baserom.gba", 0xDB8FB4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_unown_footprint:: @ 8DB93B4 .incbin "graphics/pokemon/footprints/unown_footprint.1bpp" - @ .incbin "baserom.gba", 0xDB93B4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_wobbuffet_still_front_pic:: @ 8DB93D4 .incbin "graphics/pokemon/front_pics/wobbuffet_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB93D4, 0x0350 .align 2 gFile_graphics_pokemon_palettes_wobbuffet_palette:: @ 8DB9724 .incbin "graphics/pokemon/palettes/wobbuffet_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB9724, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_wobbuffet_back_pic:: @ 8DB974C .incbin "graphics/pokemon/back_pics/wobbuffet_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB974C, 0x0244 .align 2 gFile_graphics_pokemon_palettes_wobbuffet_shiny_palette:: @ 8DB9990 .incbin "graphics/pokemon/palettes/wobbuffet_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDB9990, 0x0028 .align 2 gFile_graphics_pokemon_icons_wobbuffet_icon:: @ 8DB99B8 .incbin "graphics/pokemon/icons/wobbuffet_icon.4bpp" - @ .incbin "baserom.gba", 0xDB99B8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_wobbuffet_footprint:: @ 8DB9DB8 .incbin "graphics/pokemon/footprints/wobbuffet_footprint.1bpp" - @ .incbin "baserom.gba", 0xDB9DB8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_girafarig_still_front_pic:: @ 8DB9DD8 .incbin "graphics/pokemon/front_pics/girafarig_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDB9DD8, 0x0404 .align 2 gFile_graphics_pokemon_palettes_girafarig_palette:: @ 8DBA1DC .incbin "graphics/pokemon/palettes/girafarig_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDBA1DC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_girafarig_back_pic:: @ 8DBA204 .incbin "graphics/pokemon/back_pics/girafarig_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDBA204, 0x03AC .align 2 gFile_graphics_pokemon_palettes_girafarig_shiny_palette:: @ 8DBA5B0 .incbin "graphics/pokemon/palettes/girafarig_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDBA5B0, 0x0028 .align 2 gFile_graphics_pokemon_icons_girafarig_icon:: @ 8DBA5D8 .incbin "graphics/pokemon/icons/girafarig_icon.4bpp" - @ .incbin "baserom.gba", 0xDBA5D8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_girafarig_footprint:: @ 8DBA9D8 .incbin "graphics/pokemon/footprints/girafarig_footprint.1bpp" - @ .incbin "baserom.gba", 0xDBA9D8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_pineco_still_front_pic:: @ 8DBA9F8 .incbin "graphics/pokemon/front_pics/pineco_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDBA9F8, 0x0340 .align 2 gFile_graphics_pokemon_palettes_pineco_palette:: @ 8DBAD38 .incbin "graphics/pokemon/palettes/pineco_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDBAD38, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_pineco_back_pic:: @ 8DBAD5C .incbin "graphics/pokemon/back_pics/pineco_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDBAD5C, 0x02D8 .align 2 gFile_graphics_pokemon_palettes_pineco_shiny_palette:: @ 8DBB034 .incbin "graphics/pokemon/palettes/pineco_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDBB034, 0x0024 .align 2 gFile_graphics_pokemon_icons_pineco_icon:: @ 8DBB058 .incbin "graphics/pokemon/icons/pineco_icon.4bpp" - @ .incbin "baserom.gba", 0xDBB058, 0x0400 .align 2 gFile_graphics_pokemon_footprints_pineco_footprint:: @ 8DBB458 .incbin "graphics/pokemon/footprints/pineco_footprint.1bpp" - @ .incbin "baserom.gba", 0xDBB458, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_forretress_still_front_pic:: @ 8DBB478 .incbin "graphics/pokemon/front_pics/forretress_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDBB478, 0x041C .align 2 gFile_graphics_pokemon_palettes_forretress_palette:: @ 8DBB894 .incbin "graphics/pokemon/palettes/forretress_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDBB894, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_forretress_back_pic:: @ 8DBB8BC .incbin "graphics/pokemon/back_pics/forretress_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDBB8BC, 0x02C0 .align 2 gFile_graphics_pokemon_palettes_forretress_shiny_palette:: @ 8DBBB7C .incbin "graphics/pokemon/palettes/forretress_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDBBB7C, 0x0028 .align 2 gFile_graphics_pokemon_icons_forretress_icon:: @ 8DBBBA4 .incbin "graphics/pokemon/icons/forretress_icon.4bpp" - @ .incbin "baserom.gba", 0xDBBBA4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_forretress_footprint:: @ 8DBBFA4 .incbin "graphics/pokemon/footprints/forretress_footprint.1bpp" - @ .incbin "baserom.gba", 0xDBBFA4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_dunsparce_still_front_pic:: @ 8DBBFC4 .incbin "graphics/pokemon/front_pics/dunsparce_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDBBFC4, 0x0310 .align 2 gFile_graphics_pokemon_palettes_dunsparce_palette:: @ 8DBC2D4 .incbin "graphics/pokemon/palettes/dunsparce_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDBC2D4, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_dunsparce_back_pic:: @ 8DBC2FC .incbin "graphics/pokemon/back_pics/dunsparce_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDBC2FC, 0x02FC .align 2 gFile_graphics_pokemon_palettes_dunsparce_shiny_palette:: @ 8DBC5F8 .incbin "graphics/pokemon/palettes/dunsparce_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDBC5F8, 0x0028 .align 2 gFile_graphics_pokemon_icons_dunsparce_icon:: @ 8DBC620 .incbin "graphics/pokemon/icons/dunsparce_icon.4bpp" - @ .incbin "baserom.gba", 0xDBC620, 0x0400 .align 2 gFile_graphics_pokemon_footprints_dunsparce_footprint:: @ 8DBCA20 .incbin "graphics/pokemon/footprints/dunsparce_footprint.1bpp" - @ .incbin "baserom.gba", 0xDBCA20, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_gligar_still_front_pic:: @ 8DBCA40 .incbin "graphics/pokemon/front_pics/gligar_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDBCA40, 0x0428 .align 2 gFile_graphics_pokemon_palettes_gligar_palette:: @ 8DBCE68 .incbin "graphics/pokemon/palettes/gligar_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDBCE68, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_gligar_back_pic:: @ 8DBCE90 .incbin "graphics/pokemon/back_pics/gligar_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDBCE90, 0x03D8 .align 2 gFile_graphics_pokemon_palettes_gligar_shiny_palette:: @ 8DBD268 .incbin "graphics/pokemon/palettes/gligar_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDBD268, 0x0028 .align 2 gFile_graphics_pokemon_icons_gligar_icon:: @ 8DBD290 .incbin "graphics/pokemon/icons/gligar_icon.4bpp" - @ .incbin "baserom.gba", 0xDBD290, 0x0400 .align 2 gFile_graphics_pokemon_footprints_gligar_footprint:: @ 8DBD690 .incbin "graphics/pokemon/footprints/gligar_footprint.1bpp" - @ .incbin "baserom.gba", 0xDBD690, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_steelix_still_front_pic:: @ 8DBD6B0 .incbin "graphics/pokemon/front_pics/steelix_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDBD6B0, 0x04C8 .align 2 gFile_graphics_pokemon_palettes_steelix_palette:: @ 8DBDB78 .incbin "graphics/pokemon/palettes/steelix_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDBDB78, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_steelix_back_pic:: @ 8DBDB9C .incbin "graphics/pokemon/back_pics/steelix_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDBDB9C, 0x040C .align 2 gFile_graphics_pokemon_palettes_steelix_shiny_palette:: @ 8DBDFA8 .incbin "graphics/pokemon/palettes/steelix_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDBDFA8, 0x0024 .align 2 gFile_graphics_pokemon_icons_steelix_icon:: @ 8DBDFCC .incbin "graphics/pokemon/icons/steelix_icon.4bpp" - @ .incbin "baserom.gba", 0xDBDFCC, 0x0400 .align 2 gFile_graphics_pokemon_footprints_steelix_footprint:: @ 8DBE3CC .incbin "graphics/pokemon/footprints/steelix_footprint.1bpp" - @ .incbin "baserom.gba", 0xDBE3CC, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_snubbull_still_front_pic:: @ 8DBE3EC .incbin "graphics/pokemon/front_pics/snubbull_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDBE3EC, 0x02D4 .align 2 gFile_graphics_pokemon_palettes_snubbull_palette:: @ 8DBE6C0 .incbin "graphics/pokemon/palettes/snubbull_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDBE6C0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_snubbull_back_pic:: @ 8DBE6E8 .incbin "graphics/pokemon/back_pics/snubbull_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDBE6E8, 0x0328 .align 2 gFile_graphics_pokemon_palettes_snubbull_shiny_palette:: @ 8DBEA10 .incbin "graphics/pokemon/palettes/snubbull_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDBEA10, 0x0028 .align 2 gFile_graphics_pokemon_icons_snubbull_icon:: @ 8DBEA38 .incbin "graphics/pokemon/icons/snubbull_icon.4bpp" - @ .incbin "baserom.gba", 0xDBEA38, 0x0400 .align 2 gFile_graphics_pokemon_footprints_snubbull_footprint:: @ 8DBEE38 .incbin "graphics/pokemon/footprints/snubbull_footprint.1bpp" - @ .incbin "baserom.gba", 0xDBEE38, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_granbull_still_front_pic:: @ 8DBEE58 .incbin "graphics/pokemon/front_pics/granbull_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDBEE58, 0x038C .align 2 gFile_graphics_pokemon_palettes_granbull_palette:: @ 8DBF1E4 .incbin "graphics/pokemon/palettes/granbull_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDBF1E4, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_granbull_back_pic:: @ 8DBF20C .incbin "graphics/pokemon/back_pics/granbull_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDBF20C, 0x0324 .align 2 gFile_graphics_pokemon_palettes_granbull_shiny_palette:: @ 8DBF530 .incbin "graphics/pokemon/palettes/granbull_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDBF530, 0x0028 .align 2 gFile_graphics_pokemon_icons_granbull_icon:: @ 8DBF558 .incbin "graphics/pokemon/icons/granbull_icon.4bpp" - @ .incbin "baserom.gba", 0xDBF558, 0x0400 .align 2 gFile_graphics_pokemon_footprints_granbull_footprint:: @ 8DBF958 .incbin "graphics/pokemon/footprints/granbull_footprint.1bpp" - @ .incbin "baserom.gba", 0xDBF958, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_qwilfish_still_front_pic:: @ 8DBF978 .incbin "graphics/pokemon/front_pics/qwilfish_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDBF978, 0x02C0 .align 2 gFile_graphics_pokemon_palettes_qwilfish_palette:: @ 8DBFC38 .incbin "graphics/pokemon/palettes/qwilfish_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDBFC38, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_qwilfish_back_pic:: @ 8DBFC60 .incbin "graphics/pokemon/back_pics/qwilfish_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDBFC60, 0x02E0 .align 2 gFile_graphics_pokemon_palettes_qwilfish_shiny_palette:: @ 8DBFF40 .incbin "graphics/pokemon/palettes/qwilfish_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDBFF40, 0x0028 .align 2 gFile_graphics_pokemon_icons_qwilfish_icon:: @ 8DBFF68 .incbin "graphics/pokemon/icons/qwilfish_icon.4bpp" - @ .incbin "baserom.gba", 0xDBFF68, 0x0400 .align 2 gFile_graphics_pokemon_footprints_qwilfish_footprint:: @ 8DC0368 .incbin "graphics/pokemon/footprints/qwilfish_footprint.1bpp" - @ .incbin "baserom.gba", 0xDC0368, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_scizor_still_front_pic:: @ 8DC0388 .incbin "graphics/pokemon/front_pics/scizor_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC0388, 0x04E8 .align 2 gFile_graphics_pokemon_palettes_scizor_palette:: @ 8DC0870 .incbin "graphics/pokemon/palettes/scizor_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC0870, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_scizor_back_pic:: @ 8DC0898 .incbin "graphics/pokemon/back_pics/scizor_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC0898, 0x0380 .align 2 gFile_graphics_pokemon_palettes_scizor_shiny_palette:: @ 8DC0C18 .incbin "graphics/pokemon/palettes/scizor_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC0C18, 0x0028 .align 2 gFile_graphics_pokemon_icons_scizor_icon:: @ 8DC0C40 .incbin "graphics/pokemon/icons/scizor_icon.4bpp" - @ .incbin "baserom.gba", 0xDC0C40, 0x0400 .align 2 gFile_graphics_pokemon_footprints_scizor_footprint:: @ 8DC1040 .incbin "graphics/pokemon/footprints/scizor_footprint.1bpp" - @ .incbin "baserom.gba", 0xDC1040, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_shuckle_still_front_pic:: @ 8DC1060 .incbin "graphics/pokemon/front_pics/shuckle_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC1060, 0x02C8 .align 2 gFile_graphics_pokemon_palettes_shuckle_palette:: @ 8DC1328 .incbin "graphics/pokemon/palettes/shuckle_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC1328, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_shuckle_back_pic:: @ 8DC1350 .incbin "graphics/pokemon/back_pics/shuckle_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC1350, 0x0258 .align 2 gFile_graphics_pokemon_palettes_shuckle_shiny_palette:: @ 8DC15A8 .incbin "graphics/pokemon/palettes/shuckle_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC15A8, 0x0028 .align 2 gFile_graphics_pokemon_icons_shuckle_icon:: @ 8DC15D0 .incbin "graphics/pokemon/icons/shuckle_icon.4bpp" - @ .incbin "baserom.gba", 0xDC15D0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_shuckle_footprint:: @ 8DC19D0 .incbin "graphics/pokemon/footprints/shuckle_footprint.1bpp" - @ .incbin "baserom.gba", 0xDC19D0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_heracross_still_front_pic:: @ 8DC19F0 .incbin "graphics/pokemon/front_pics/heracross_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC19F0, 0x03F0 .align 2 gFile_graphics_pokemon_palettes_heracross_palette:: @ 8DC1DE0 .incbin "graphics/pokemon/palettes/heracross_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC1DE0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_heracross_back_pic:: @ 8DC1E08 .incbin "graphics/pokemon/back_pics/heracross_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC1E08, 0x0370 .align 2 gFile_graphics_pokemon_palettes_heracross_shiny_palette:: @ 8DC2178 .incbin "graphics/pokemon/palettes/heracross_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC2178, 0x0028 .align 2 gFile_graphics_pokemon_icons_heracross_icon:: @ 8DC21A0 .incbin "graphics/pokemon/icons/heracross_icon.4bpp" - @ .incbin "baserom.gba", 0xDC21A0, 0x0400 gUnknown_heracross_icon:: @ 8DC25A0 .incbin "baserom.gba", 0xDC25A0, 0x400 @@ -6936,692 +5785,554 @@ gUnknown_heracross_icon:: @ 8DC25A0 .align 2 gFile_graphics_pokemon_footprints_heracross_footprint:: @ 8DC29A0 .incbin "graphics/pokemon/footprints/heracross_footprint.1bpp" - @ .incbin "baserom.gba", 0xDC29A0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_sneasel_still_front_pic:: @ 8DC29C0 .incbin "graphics/pokemon/front_pics/sneasel_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC29C0, 0x0344 .align 2 gFile_graphics_pokemon_palettes_sneasel_palette:: @ 8DC2D04 .incbin "graphics/pokemon/palettes/sneasel_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC2D04, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_sneasel_back_pic:: @ 8DC2D2C .incbin "graphics/pokemon/back_pics/sneasel_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC2D2C, 0x0324 .align 2 gFile_graphics_pokemon_palettes_sneasel_shiny_palette:: @ 8DC3050 .incbin "graphics/pokemon/palettes/sneasel_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC3050, 0x0028 .align 2 gFile_graphics_pokemon_icons_sneasel_icon:: @ 8DC3078 .incbin "graphics/pokemon/icons/sneasel_icon.4bpp" - @ .incbin "baserom.gba", 0xDC3078, 0x0400 .align 2 gFile_graphics_pokemon_footprints_sneasel_footprint:: @ 8DC3478 .incbin "graphics/pokemon/footprints/sneasel_footprint.1bpp" - @ .incbin "baserom.gba", 0xDC3478, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_teddiursa_still_front_pic:: @ 8DC3498 .incbin "graphics/pokemon/front_pics/teddiursa_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC3498, 0x02A8 .align 2 gFile_graphics_pokemon_palettes_teddiursa_palette:: @ 8DC3740 .incbin "graphics/pokemon/palettes/teddiursa_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC3740, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_teddiursa_back_pic:: @ 8DC3768 .incbin "graphics/pokemon/back_pics/teddiursa_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC3768, 0x0278 .align 2 gFile_graphics_pokemon_palettes_teddiursa_shiny_palette:: @ 8DC39E0 .incbin "graphics/pokemon/palettes/teddiursa_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC39E0, 0x0028 .align 2 gFile_graphics_pokemon_icons_teddiursa_icon:: @ 8DC3A08 .incbin "graphics/pokemon/icons/teddiursa_icon.4bpp" - @ .incbin "baserom.gba", 0xDC3A08, 0x0400 .align 2 gFile_graphics_pokemon_footprints_teddiursa_footprint:: @ 8DC3E08 .incbin "graphics/pokemon/footprints/teddiursa_footprint.1bpp" - @ .incbin "baserom.gba", 0xDC3E08, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_ursaring_still_front_pic:: @ 8DC3E28 .incbin "graphics/pokemon/front_pics/ursaring_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC3E28, 0x0438 .align 2 gFile_graphics_pokemon_palettes_ursaring_palette:: @ 8DC4260 .incbin "graphics/pokemon/palettes/ursaring_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC4260, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_ursaring_back_pic:: @ 8DC4288 .incbin "graphics/pokemon/back_pics/ursaring_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC4288, 0x0388 .align 2 gFile_graphics_pokemon_palettes_ursaring_shiny_palette:: @ 8DC4610 .incbin "graphics/pokemon/palettes/ursaring_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC4610, 0x0028 .align 2 gFile_graphics_pokemon_icons_ursaring_icon:: @ 8DC4638 .incbin "graphics/pokemon/icons/ursaring_icon.4bpp" - @ .incbin "baserom.gba", 0xDC4638, 0x0400 .align 2 gFile_graphics_pokemon_footprints_ursaring_footprint:: @ 8DC4A38 .incbin "graphics/pokemon/footprints/ursaring_footprint.1bpp" - @ .incbin "baserom.gba", 0xDC4A38, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_slugma_still_front_pic:: @ 8DC4A58 .incbin "graphics/pokemon/front_pics/slugma_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC4A58, 0x0274 .align 2 gFile_graphics_pokemon_palettes_slugma_palette:: @ 8DC4CCC .incbin "graphics/pokemon/palettes/slugma_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC4CCC, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_slugma_back_pic:: @ 8DC4CF0 .incbin "graphics/pokemon/back_pics/slugma_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC4CF0, 0x02E8 .align 2 gFile_graphics_pokemon_palettes_slugma_shiny_palette:: @ 8DC4FD8 .incbin "graphics/pokemon/palettes/slugma_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC4FD8, 0x0024 .align 2 gFile_graphics_pokemon_icons_slugma_icon:: @ 8DC4FFC .incbin "graphics/pokemon/icons/slugma_icon.4bpp" - @ .incbin "baserom.gba", 0xDC4FFC, 0x0400 .align 2 gFile_graphics_pokemon_footprints_slugma_footprint:: @ 8DC53FC .incbin "graphics/pokemon/footprints/slugma_footprint.1bpp" - @ .incbin "baserom.gba", 0xDC53FC, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_magcargo_still_front_pic:: @ 8DC541C .incbin "graphics/pokemon/front_pics/magcargo_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC541C, 0x0348 .align 2 gFile_graphics_pokemon_palettes_magcargo_palette:: @ 8DC5764 .incbin "graphics/pokemon/palettes/magcargo_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC5764, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_magcargo_back_pic:: @ 8DC578C .incbin "graphics/pokemon/back_pics/magcargo_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC578C, 0x0418 .align 2 gFile_graphics_pokemon_palettes_magcargo_shiny_palette:: @ 8DC5BA4 .incbin "graphics/pokemon/palettes/magcargo_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC5BA4, 0x0028 .align 2 gFile_graphics_pokemon_icons_magcargo_icon:: @ 8DC5BCC .incbin "graphics/pokemon/icons/magcargo_icon.4bpp" - @ .incbin "baserom.gba", 0xDC5BCC, 0x0400 .align 2 gFile_graphics_pokemon_footprints_magcargo_footprint:: @ 8DC5FCC .incbin "graphics/pokemon/footprints/magcargo_footprint.1bpp" - @ .incbin "baserom.gba", 0xDC5FCC, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_swinub_still_front_pic:: @ 8DC5FEC .incbin "graphics/pokemon/front_pics/swinub_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC5FEC, 0x01FC .align 2 gFile_graphics_pokemon_palettes_swinub_palette:: @ 8DC61E8 .incbin "graphics/pokemon/palettes/swinub_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC61E8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_swinub_back_pic:: @ 8DC6210 .incbin "graphics/pokemon/back_pics/swinub_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC6210, 0x023C .align 2 gFile_graphics_pokemon_palettes_swinub_shiny_palette:: @ 8DC644C .incbin "graphics/pokemon/palettes/swinub_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC644C, 0x0028 .align 2 gFile_graphics_pokemon_icons_swinub_icon:: @ 8DC6474 .incbin "graphics/pokemon/icons/swinub_icon.4bpp" - @ .incbin "baserom.gba", 0xDC6474, 0x0400 .align 2 gFile_graphics_pokemon_footprints_swinub_footprint:: @ 8DC6874 .incbin "graphics/pokemon/footprints/swinub_footprint.1bpp" - @ .incbin "baserom.gba", 0xDC6874, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_piloswine_still_front_pic:: @ 8DC6894 .incbin "graphics/pokemon/front_pics/piloswine_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC6894, 0x0328 .align 2 gFile_graphics_pokemon_palettes_piloswine_palette:: @ 8DC6BBC .incbin "graphics/pokemon/palettes/piloswine_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC6BBC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_piloswine_back_pic:: @ 8DC6BE4 .incbin "graphics/pokemon/back_pics/piloswine_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC6BE4, 0x024C .align 2 gFile_graphics_pokemon_palettes_piloswine_shiny_palette:: @ 8DC6E30 .incbin "graphics/pokemon/palettes/piloswine_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC6E30, 0x0028 .align 2 gFile_graphics_pokemon_icons_piloswine_icon:: @ 8DC6E58 .incbin "graphics/pokemon/icons/piloswine_icon.4bpp" - @ .incbin "baserom.gba", 0xDC6E58, 0x0400 .align 2 gFile_graphics_pokemon_footprints_piloswine_footprint:: @ 8DC7258 .incbin "graphics/pokemon/footprints/piloswine_footprint.1bpp" - @ .incbin "baserom.gba", 0xDC7258, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_corsola_still_front_pic:: @ 8DC7278 .incbin "graphics/pokemon/front_pics/corsola_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC7278, 0x02E8 .align 2 gFile_graphics_pokemon_palettes_corsola_palette:: @ 8DC7560 .incbin "graphics/pokemon/palettes/corsola_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC7560, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_corsola_back_pic:: @ 8DC7588 .incbin "graphics/pokemon/back_pics/corsola_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC7588, 0x02C0 .align 2 gFile_graphics_pokemon_palettes_corsola_shiny_palette:: @ 8DC7848 .incbin "graphics/pokemon/palettes/corsola_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC7848, 0x0028 .align 2 gFile_graphics_pokemon_icons_corsola_icon:: @ 8DC7870 .incbin "graphics/pokemon/icons/corsola_icon.4bpp" - @ .incbin "baserom.gba", 0xDC7870, 0x0400 .align 2 gFile_graphics_pokemon_footprints_corsola_footprint:: @ 8DC7C70 .incbin "graphics/pokemon/footprints/corsola_footprint.1bpp" - @ .incbin "baserom.gba", 0xDC7C70, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_remoraid_still_front_pic:: @ 8DC7C90 .incbin "graphics/pokemon/front_pics/remoraid_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC7C90, 0x0268 .align 2 gFile_graphics_pokemon_palettes_remoraid_palette:: @ 8DC7EF8 .incbin "graphics/pokemon/palettes/remoraid_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC7EF8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_remoraid_back_pic:: @ 8DC7F20 .incbin "graphics/pokemon/back_pics/remoraid_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC7F20, 0x0314 .align 2 gFile_graphics_pokemon_palettes_remoraid_shiny_palette:: @ 8DC8234 .incbin "graphics/pokemon/palettes/remoraid_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC8234, 0x0028 .align 2 gFile_graphics_pokemon_icons_remoraid_icon:: @ 8DC825C .incbin "graphics/pokemon/icons/remoraid_icon.4bpp" - @ .incbin "baserom.gba", 0xDC825C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_remoraid_footprint:: @ 8DC865C .incbin "graphics/pokemon/footprints/remoraid_footprint.1bpp" - @ .incbin "baserom.gba", 0xDC865C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_octillery_still_front_pic:: @ 8DC867C .incbin "graphics/pokemon/front_pics/octillery_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC867C, 0x0334 .align 2 gFile_graphics_pokemon_palettes_octillery_palette:: @ 8DC89B0 .incbin "graphics/pokemon/palettes/octillery_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC89B0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_octillery_back_pic:: @ 8DC89D8 .incbin "graphics/pokemon/back_pics/octillery_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC89D8, 0x02B8 .align 2 gFile_graphics_pokemon_palettes_octillery_shiny_palette:: @ 8DC8C90 .incbin "graphics/pokemon/palettes/octillery_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC8C90, 0x0028 .align 2 gFile_graphics_pokemon_icons_octillery_icon:: @ 8DC8CB8 .incbin "graphics/pokemon/icons/octillery_icon.4bpp" - @ .incbin "baserom.gba", 0xDC8CB8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_octillery_footprint:: @ 8DC90B8 .incbin "graphics/pokemon/footprints/octillery_footprint.1bpp" - @ .incbin "baserom.gba", 0xDC90B8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_delibird_still_front_pic:: @ 8DC90D8 .incbin "graphics/pokemon/front_pics/delibird_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC90D8, 0x0370 .align 2 gFile_graphics_pokemon_palettes_delibird_palette:: @ 8DC9448 .incbin "graphics/pokemon/palettes/delibird_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC9448, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_delibird_back_pic:: @ 8DC9470 .incbin "graphics/pokemon/back_pics/delibird_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC9470, 0x03C0 .align 2 gFile_graphics_pokemon_palettes_delibird_shiny_palette:: @ 8DC9830 .incbin "graphics/pokemon/palettes/delibird_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDC9830, 0x0028 .align 2 gFile_graphics_pokemon_icons_delibird_icon:: @ 8DC9858 .incbin "graphics/pokemon/icons/delibird_icon.4bpp" - @ .incbin "baserom.gba", 0xDC9858, 0x0400 .align 2 gFile_graphics_pokemon_footprints_delibird_footprint:: @ 8DC9C58 .incbin "graphics/pokemon/footprints/delibird_footprint.1bpp" - @ .incbin "baserom.gba", 0xDC9C58, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_mantine_still_front_pic:: @ 8DC9C78 .incbin "graphics/pokemon/front_pics/mantine_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDC9C78, 0x049C .align 2 gFile_graphics_pokemon_palettes_mantine_palette:: @ 8DCA114 .incbin "graphics/pokemon/palettes/mantine_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDCA114, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_mantine_back_pic:: @ 8DCA13C .incbin "graphics/pokemon/back_pics/mantine_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDCA13C, 0x02A0 .align 2 gFile_graphics_pokemon_palettes_mantine_shiny_palette:: @ 8DCA3DC .incbin "graphics/pokemon/palettes/mantine_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDCA3DC, 0x0028 .align 2 gFile_graphics_pokemon_icons_mantine_icon:: @ 8DCA404 .incbin "graphics/pokemon/icons/mantine_icon.4bpp" - @ .incbin "baserom.gba", 0xDCA404, 0x0400 .align 2 gFile_graphics_pokemon_footprints_mantine_footprint:: @ 8DCA804 .incbin "graphics/pokemon/footprints/mantine_footprint.1bpp" - @ .incbin "baserom.gba", 0xDCA804, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_skarmory_still_front_pic:: @ 8DCA824 .incbin "graphics/pokemon/front_pics/skarmory_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDCA824, 0x04E0 .align 2 gFile_graphics_pokemon_palettes_skarmory_palette:: @ 8DCAD04 .incbin "graphics/pokemon/palettes/skarmory_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDCAD04, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_skarmory_back_pic:: @ 8DCAD2C .incbin "graphics/pokemon/back_pics/skarmory_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDCAD2C, 0x0304 .align 2 gFile_graphics_pokemon_palettes_skarmory_shiny_palette:: @ 8DCB030 .incbin "graphics/pokemon/palettes/skarmory_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDCB030, 0x0028 .align 2 gFile_graphics_pokemon_icons_skarmory_icon:: @ 8DCB058 .incbin "graphics/pokemon/icons/skarmory_icon.4bpp" - @ .incbin "baserom.gba", 0xDCB058, 0x0400 .align 2 gFile_graphics_pokemon_footprints_skarmory_footprint:: @ 8DCB458 .incbin "graphics/pokemon/footprints/skarmory_footprint.1bpp" - @ .incbin "baserom.gba", 0xDCB458, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_houndour_still_front_pic:: @ 8DCB478 .incbin "graphics/pokemon/front_pics/houndour_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDCB478, 0x02B8 .align 2 gFile_graphics_pokemon_palettes_houndour_palette:: @ 8DCB730 .incbin "graphics/pokemon/palettes/houndour_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDCB730, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_houndour_back_pic:: @ 8DCB758 .incbin "graphics/pokemon/back_pics/houndour_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDCB758, 0x0280 .align 2 gFile_graphics_pokemon_palettes_houndour_shiny_palette:: @ 8DCB9D8 .incbin "graphics/pokemon/palettes/houndour_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDCB9D8, 0x0028 .align 2 gFile_graphics_pokemon_icons_houndour_icon:: @ 8DCBA00 .incbin "graphics/pokemon/icons/houndour_icon.4bpp" - @ .incbin "baserom.gba", 0xDCBA00, 0x0400 .align 2 gFile_graphics_pokemon_footprints_houndour_footprint:: @ 8DCBE00 .incbin "graphics/pokemon/footprints/houndour_footprint.1bpp" - @ .incbin "baserom.gba", 0xDCBE00, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_houndoom_still_front_pic:: @ 8DCBE20 .incbin "graphics/pokemon/front_pics/houndoom_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDCBE20, 0x0400 .align 2 gFile_graphics_pokemon_palettes_houndoom_palette:: @ 8DCC220 .incbin "graphics/pokemon/palettes/houndoom_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDCC220, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_houndoom_back_pic:: @ 8DCC248 .incbin "graphics/pokemon/back_pics/houndoom_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDCC248, 0x0324 .align 2 gFile_graphics_pokemon_palettes_houndoom_shiny_palette:: @ 8DCC56C .incbin "graphics/pokemon/palettes/houndoom_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDCC56C, 0x0028 .align 2 gFile_graphics_pokemon_icons_houndoom_icon:: @ 8DCC594 .incbin "graphics/pokemon/icons/houndoom_icon.4bpp" - @ .incbin "baserom.gba", 0xDCC594, 0x0400 .align 2 gFile_graphics_pokemon_footprints_houndoom_footprint:: @ 8DCC994 .incbin "graphics/pokemon/footprints/houndoom_footprint.1bpp" - @ .incbin "baserom.gba", 0xDCC994, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_kingdra_still_front_pic:: @ 8DCC9B4 .incbin "graphics/pokemon/front_pics/kingdra_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDCC9B4, 0x0420 .align 2 gFile_graphics_pokemon_palettes_kingdra_palette:: @ 8DCCDD4 .incbin "graphics/pokemon/palettes/kingdra_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDCCDD4, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_kingdra_back_pic:: @ 8DCCDFC .incbin "graphics/pokemon/back_pics/kingdra_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDCCDFC, 0x03B4 .align 2 gFile_graphics_pokemon_palettes_kingdra_shiny_palette:: @ 8DCD1B0 .incbin "graphics/pokemon/palettes/kingdra_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDCD1B0, 0x0028 .align 2 gFile_graphics_pokemon_icons_kingdra_icon:: @ 8DCD1D8 .incbin "graphics/pokemon/icons/kingdra_icon.4bpp" - @ .incbin "baserom.gba", 0xDCD1D8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_kingdra_footprint:: @ 8DCD5D8 .incbin "graphics/pokemon/footprints/kingdra_footprint.1bpp" - @ .incbin "baserom.gba", 0xDCD5D8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_phanpy_still_front_pic:: @ 8DCD5F8 .incbin "graphics/pokemon/front_pics/phanpy_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDCD5F8, 0x025C .align 2 gFile_graphics_pokemon_palettes_phanpy_palette:: @ 8DCD854 .incbin "graphics/pokemon/palettes/phanpy_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDCD854, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_phanpy_back_pic:: @ 8DCD87C .incbin "graphics/pokemon/back_pics/phanpy_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDCD87C, 0x02C4 .align 2 gFile_graphics_pokemon_palettes_phanpy_shiny_palette:: @ 8DCDB40 .incbin "graphics/pokemon/palettes/phanpy_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDCDB40, 0x0028 .align 2 gFile_graphics_pokemon_icons_phanpy_icon:: @ 8DCDB68 .incbin "graphics/pokemon/icons/phanpy_icon.4bpp" - @ .incbin "baserom.gba", 0xDCDB68, 0x0400 .align 2 gFile_graphics_pokemon_footprints_phanpy_footprint:: @ 8DCDF68 .incbin "graphics/pokemon/footprints/phanpy_footprint.1bpp" - @ .incbin "baserom.gba", 0xDCDF68, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_donphan_still_front_pic:: @ 8DCDF88 .incbin "graphics/pokemon/front_pics/donphan_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDCDF88, 0x0474 .align 2 gFile_graphics_pokemon_palettes_donphan_palette:: @ 8DCE3FC .incbin "graphics/pokemon/palettes/donphan_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDCE3FC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_donphan_back_pic:: @ 8DCE424 .incbin "graphics/pokemon/back_pics/donphan_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDCE424, 0x02FC .align 2 gFile_graphics_pokemon_palettes_donphan_shiny_palette:: @ 8DCE720 .incbin "graphics/pokemon/palettes/donphan_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDCE720, 0x0028 .align 2 gFile_graphics_pokemon_icons_donphan_icon:: @ 8DCE748 .incbin "graphics/pokemon/icons/donphan_icon.4bpp" - @ .incbin "baserom.gba", 0xDCE748, 0x0400 .align 2 gFile_graphics_pokemon_footprints_donphan_footprint:: @ 8DCEB48 .incbin "graphics/pokemon/footprints/donphan_footprint.1bpp" - @ .incbin "baserom.gba", 0xDCEB48, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_porygon2_still_front_pic:: @ 8DCEB68 .incbin "graphics/pokemon/front_pics/porygon2_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDCEB68, 0x0288 .align 2 gFile_graphics_pokemon_palettes_porygon2_palette:: @ 8DCEDF0 .incbin "graphics/pokemon/palettes/porygon2_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDCEDF0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_porygon2_back_pic:: @ 8DCEE18 .incbin "graphics/pokemon/back_pics/porygon2_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDCEE18, 0x031C .align 2 gFile_graphics_pokemon_palettes_porygon2_shiny_palette:: @ 8DCF134 .incbin "graphics/pokemon/palettes/porygon2_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDCF134, 0x0028 .align 2 gFile_graphics_pokemon_icons_porygon2_icon:: @ 8DCF15C .incbin "graphics/pokemon/icons/porygon2_icon.4bpp" - @ .incbin "baserom.gba", 0xDCF15C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_porygon2_footprint:: @ 8DCF55C .incbin "graphics/pokemon/footprints/porygon2_footprint.1bpp" - @ .incbin "baserom.gba", 0xDCF55C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_stantler_still_front_pic:: @ 8DCF57C .incbin "graphics/pokemon/front_pics/stantler_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDCF57C, 0x0414 .align 2 gFile_graphics_pokemon_palettes_stantler_palette:: @ 8DCF990 .incbin "graphics/pokemon/palettes/stantler_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDCF990, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_stantler_back_pic:: @ 8DCF9B8 .incbin "graphics/pokemon/back_pics/stantler_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDCF9B8, 0x034C .align 2 gFile_graphics_pokemon_palettes_stantler_shiny_palette:: @ 8DCFD04 .incbin "graphics/pokemon/palettes/stantler_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDCFD04, 0x0028 .align 2 gFile_graphics_pokemon_icons_stantler_icon:: @ 8DCFD2C .incbin "graphics/pokemon/icons/stantler_icon.4bpp" - @ .incbin "baserom.gba", 0xDCFD2C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_stantler_footprint:: @ 8DD012C .incbin "graphics/pokemon/footprints/stantler_footprint.1bpp" - @ .incbin "baserom.gba", 0xDD012C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_smeargle_still_front_pic:: @ 8DD014C .incbin "graphics/pokemon/front_pics/smeargle_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD014C, 0x0394 .align 2 gFile_graphics_pokemon_palettes_smeargle_palette:: @ 8DD04E0 .incbin "graphics/pokemon/palettes/smeargle_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD04E0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_smeargle_back_pic:: @ 8DD0508 .incbin "graphics/pokemon/back_pics/smeargle_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD0508, 0x0324 .align 2 gFile_graphics_pokemon_palettes_smeargle_shiny_palette:: @ 8DD082C .incbin "graphics/pokemon/palettes/smeargle_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD082C, 0x0028 .align 2 gFile_graphics_pokemon_icons_smeargle_icon:: @ 8DD0854 .incbin "graphics/pokemon/icons/smeargle_icon.4bpp" - @ .incbin "baserom.gba", 0xDD0854, 0x0400 .align 2 gFile_graphics_pokemon_footprints_smeargle_footprint:: @ 8DD0C54 .incbin "graphics/pokemon/footprints/smeargle_footprint.1bpp" - @ .incbin "baserom.gba", 0xDD0C54, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_tyrogue_still_front_pic:: @ 8DD0C74 .incbin "graphics/pokemon/front_pics/tyrogue_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD0C74, 0x028C .align 2 gFile_graphics_pokemon_palettes_tyrogue_palette:: @ 8DD0F00 .incbin "graphics/pokemon/palettes/tyrogue_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD0F00, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_tyrogue_back_pic:: @ 8DD0F28 .incbin "graphics/pokemon/back_pics/tyrogue_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD0F28, 0x031C .align 2 gFile_graphics_pokemon_palettes_tyrogue_shiny_palette:: @ 8DD1244 .incbin "graphics/pokemon/palettes/tyrogue_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD1244, 0x0028 .align 2 gFile_graphics_pokemon_icons_tyrogue_icon:: @ 8DD126C .incbin "graphics/pokemon/icons/tyrogue_icon.4bpp" - @ .incbin "baserom.gba", 0xDD126C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_tyrogue_footprint:: @ 8DD166C .incbin "graphics/pokemon/footprints/tyrogue_footprint.1bpp" - @ .incbin "baserom.gba", 0xDD166C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_hitmontop_still_front_pic:: @ 8DD168C .incbin "graphics/pokemon/front_pics/hitmontop_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD168C, 0x038C .align 2 gFile_graphics_pokemon_palettes_hitmontop_palette:: @ 8DD1A18 .incbin "graphics/pokemon/palettes/hitmontop_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD1A18, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_hitmontop_back_pic:: @ 8DD1A40 .incbin "graphics/pokemon/back_pics/hitmontop_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD1A40, 0x0428 .align 2 gFile_graphics_pokemon_palettes_hitmontop_shiny_palette:: @ 8DD1E68 .incbin "graphics/pokemon/palettes/hitmontop_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD1E68, 0x0028 .align 2 gFile_graphics_pokemon_icons_hitmontop_icon:: @ 8DD1E90 .incbin "graphics/pokemon/icons/hitmontop_icon.4bpp" - @ .incbin "baserom.gba", 0xDD1E90, 0x0400 gUnknown_hitmontop_blank_space:: @ 8DD2290 @.space 0x200 @@ -7630,6457 +6341,5166 @@ gUnknown_hitmontop_blank_space:: @ 8DD2290 .align 2 gFile_graphics_pokemon_footprints_hitmontop_footprint:: @ 8DD2490 .incbin "graphics/pokemon/footprints/hitmontop_footprint.1bpp" - @ .incbin "baserom.gba", 0xDD2490, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_smoochum_still_front_pic:: @ 8DD24B0 .incbin "graphics/pokemon/front_pics/smoochum_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD24B0, 0x0258 .align 2 gFile_graphics_pokemon_palettes_smoochum_palette:: @ 8DD2708 .incbin "graphics/pokemon/palettes/smoochum_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD2708, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_smoochum_back_pic:: @ 8DD2730 .incbin "graphics/pokemon/back_pics/smoochum_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD2730, 0x0278 .align 2 gFile_graphics_pokemon_palettes_smoochum_shiny_palette:: @ 8DD29A8 .incbin "graphics/pokemon/palettes/smoochum_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD29A8, 0x0028 .align 2 gFile_graphics_pokemon_icons_smoochum_icon:: @ 8DD29D0 .incbin "graphics/pokemon/icons/smoochum_icon.4bpp" - @ .incbin "baserom.gba", 0xDD29D0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_smoochum_footprint:: @ 8DD2DD0 .incbin "graphics/pokemon/footprints/smoochum_footprint.1bpp" - @ .incbin "baserom.gba", 0xDD2DD0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_elekid_still_front_pic:: @ 8DD2DF0 .incbin "graphics/pokemon/front_pics/elekid_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD2DF0, 0x0308 .align 2 gFile_graphics_pokemon_palettes_elekid_palette:: @ 8DD30F8 .incbin "graphics/pokemon/palettes/elekid_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD30F8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_elekid_back_pic:: @ 8DD3120 .incbin "graphics/pokemon/back_pics/elekid_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD3120, 0x0358 .align 2 gFile_graphics_pokemon_palettes_elekid_shiny_palette:: @ 8DD3478 .incbin "graphics/pokemon/palettes/elekid_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD3478, 0x0028 .align 2 gFile_graphics_pokemon_icons_elekid_icon:: @ 8DD34A0 .incbin "graphics/pokemon/icons/elekid_icon.4bpp" - @ .incbin "baserom.gba", 0xDD34A0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_elekid_footprint:: @ 8DD38A0 .incbin "graphics/pokemon/footprints/elekid_footprint.1bpp" - @ .incbin "baserom.gba", 0xDD38A0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_magby_still_front_pic:: @ 8DD38C0 .incbin "graphics/pokemon/front_pics/magby_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD38C0, 0x0284 .align 2 gFile_graphics_pokemon_palettes_magby_palette:: @ 8DD3B44 .incbin "graphics/pokemon/palettes/magby_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD3B44, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_magby_back_pic:: @ 8DD3B6C .incbin "graphics/pokemon/back_pics/magby_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD3B6C, 0x02AC .align 2 gFile_graphics_pokemon_palettes_magby_shiny_palette:: @ 8DD3E18 .incbin "graphics/pokemon/palettes/magby_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD3E18, 0x0028 .align 2 gFile_graphics_pokemon_icons_magby_icon:: @ 8DD3E40 .incbin "graphics/pokemon/icons/magby_icon.4bpp" - @ .incbin "baserom.gba", 0xDD3E40, 0x0400 .align 2 gFile_graphics_pokemon_footprints_magby_footprint:: @ 8DD4240 .incbin "graphics/pokemon/footprints/magby_footprint.1bpp" - @ .incbin "baserom.gba", 0xDD4240, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_miltank_still_front_pic:: @ 8DD4260 .incbin "graphics/pokemon/front_pics/miltank_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD4260, 0x03B0 .align 2 gFile_graphics_pokemon_palettes_miltank_palette:: @ 8DD4610 .incbin "graphics/pokemon/palettes/miltank_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD4610, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_miltank_back_pic:: @ 8DD4638 .incbin "graphics/pokemon/back_pics/miltank_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD4638, 0x039C .align 2 gFile_graphics_pokemon_palettes_miltank_shiny_palette:: @ 8DD49D4 .incbin "graphics/pokemon/palettes/miltank_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD49D4, 0x0028 .align 2 gFile_graphics_pokemon_icons_miltank_icon:: @ 8DD49FC .incbin "graphics/pokemon/icons/miltank_icon.4bpp" - @ .incbin "baserom.gba", 0xDD49FC, 0x0400 .align 2 gFile_graphics_pokemon_footprints_miltank_footprint:: @ 8DD4DFC .incbin "graphics/pokemon/footprints/miltank_footprint.1bpp" - @ .incbin "baserom.gba", 0xDD4DFC, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_blissey_still_front_pic:: @ 8DD4E1C .incbin "graphics/pokemon/front_pics/blissey_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD4E1C, 0x03E8 .align 2 gFile_graphics_pokemon_palettes_blissey_palette:: @ 8DD5204 .incbin "graphics/pokemon/palettes/blissey_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD5204, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_blissey_back_pic:: @ 8DD522C .incbin "graphics/pokemon/back_pics/blissey_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD522C, 0x02CC .align 2 gFile_graphics_pokemon_palettes_blissey_shiny_palette:: @ 8DD54F8 .incbin "graphics/pokemon/palettes/blissey_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD54F8, 0x0028 .align 2 gFile_graphics_pokemon_icons_blissey_icon:: @ 8DD5520 .incbin "graphics/pokemon/icons/blissey_icon.4bpp" - @ .incbin "baserom.gba", 0xDD5520, 0x0400 .align 2 gFile_graphics_pokemon_footprints_blissey_footprint:: @ 8DD5920 .incbin "graphics/pokemon/footprints/blissey_footprint.1bpp" - @ .incbin "baserom.gba", 0xDD5920, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_raikou_still_front_pic:: @ 8DD5940 .incbin "graphics/pokemon/front_pics/raikou_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD5940, 0x057C .align 2 gFile_graphics_pokemon_palettes_raikou_palette:: @ 8DD5EBC .incbin "graphics/pokemon/palettes/raikou_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD5EBC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_raikou_back_pic:: @ 8DD5EE4 .incbin "graphics/pokemon/back_pics/raikou_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD5EE4, 0x03A8 .align 2 gFile_graphics_pokemon_palettes_raikou_shiny_palette:: @ 8DD628C .incbin "graphics/pokemon/palettes/raikou_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD628C, 0x0028 .align 2 gFile_graphics_pokemon_icons_raikou_icon:: @ 8DD62B4 .incbin "graphics/pokemon/icons/raikou_icon.4bpp" - @ .incbin "baserom.gba", 0xDD62B4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_raikou_footprint:: @ 8DD66B4 .incbin "graphics/pokemon/footprints/raikou_footprint.1bpp" - @ .incbin "baserom.gba", 0xDD66B4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_entei_still_front_pic:: @ 8DD66D4 .incbin "graphics/pokemon/front_pics/entei_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD66D4, 0x05FC .align 2 gFile_graphics_pokemon_palettes_entei_palette:: @ 8DD6CD0 .incbin "graphics/pokemon/palettes/entei_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD6CD0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_entei_back_pic:: @ 8DD6CF8 .incbin "graphics/pokemon/back_pics/entei_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD6CF8, 0x0424 .align 2 gFile_graphics_pokemon_palettes_entei_shiny_palette:: @ 8DD711C .incbin "graphics/pokemon/palettes/entei_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD711C, 0x0028 .align 2 gFile_graphics_pokemon_icons_entei_icon:: @ 8DD7144 .incbin "graphics/pokemon/icons/entei_icon.4bpp" - @ .incbin "baserom.gba", 0xDD7144, 0x0400 .align 2 gFile_graphics_pokemon_footprints_entei_footprint:: @ 8DD7544 .incbin "graphics/pokemon/footprints/entei_footprint.1bpp" - @ .incbin "baserom.gba", 0xDD7544, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_suicune_still_front_pic:: @ 8DD7564 .incbin "graphics/pokemon/front_pics/suicune_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD7564, 0x0584 .align 2 gFile_graphics_pokemon_palettes_suicune_palette:: @ 8DD7AE8 .incbin "graphics/pokemon/palettes/suicune_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD7AE8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_suicune_back_pic:: @ 8DD7B10 .incbin "graphics/pokemon/back_pics/suicune_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD7B10, 0x04DC .align 2 gFile_graphics_pokemon_palettes_suicune_shiny_palette:: @ 8DD7FEC .incbin "graphics/pokemon/palettes/suicune_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD7FEC, 0x0028 .align 2 gFile_graphics_pokemon_icons_suicune_icon:: @ 8DD8014 .incbin "graphics/pokemon/icons/suicune_icon.4bpp" - @ .incbin "baserom.gba", 0xDD8014, 0x0400 .align 2 gFile_graphics_pokemon_footprints_suicune_footprint:: @ 8DD8414 .incbin "graphics/pokemon/footprints/suicune_footprint.1bpp" - @ .incbin "baserom.gba", 0xDD8414, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_larvitar_still_front_pic:: @ 8DD8434 .incbin "graphics/pokemon/front_pics/larvitar_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD8434, 0x025C .align 2 gFile_graphics_pokemon_palettes_larvitar_palette:: @ 8DD8690 .incbin "graphics/pokemon/palettes/larvitar_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD8690, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_larvitar_back_pic:: @ 8DD86B8 .incbin "graphics/pokemon/back_pics/larvitar_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD86B8, 0x02AC .align 2 gFile_graphics_pokemon_palettes_larvitar_shiny_palette:: @ 8DD8964 .incbin "graphics/pokemon/palettes/larvitar_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD8964, 0x0028 .align 2 gFile_graphics_pokemon_icons_larvitar_icon:: @ 8DD898C .incbin "graphics/pokemon/icons/larvitar_icon.4bpp" - @ .incbin "baserom.gba", 0xDD898C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_larvitar_footprint:: @ 8DD8D8C .incbin "graphics/pokemon/footprints/larvitar_footprint.1bpp" - @ .incbin "baserom.gba", 0xDD8D8C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_pupitar_still_front_pic:: @ 8DD8DAC .incbin "graphics/pokemon/front_pics/pupitar_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD8DAC, 0x02F0 .align 2 gFile_graphics_pokemon_palettes_pupitar_palette:: @ 8DD909C .incbin "graphics/pokemon/palettes/pupitar_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD909C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_pupitar_back_pic:: @ 8DD90C4 .incbin "graphics/pokemon/back_pics/pupitar_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD90C4, 0x0338 .align 2 gFile_graphics_pokemon_palettes_pupitar_shiny_palette:: @ 8DD93FC .incbin "graphics/pokemon/palettes/pupitar_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD93FC, 0x0028 .align 2 gFile_graphics_pokemon_icons_pupitar_icon:: @ 8DD9424 .incbin "graphics/pokemon/icons/pupitar_icon.4bpp" - @ .incbin "baserom.gba", 0xDD9424, 0x0400 .align 2 gFile_graphics_pokemon_footprints_pupitar_footprint:: @ 8DD9824 .incbin "graphics/pokemon/footprints/pupitar_footprint.1bpp" - @ .incbin "baserom.gba", 0xDD9824, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_tyranitar_still_front_pic:: @ 8DD9844 .incbin "graphics/pokemon/front_pics/tyranitar_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD9844, 0x053C .align 2 gFile_graphics_pokemon_palettes_tyranitar_palette:: @ 8DD9D80 .incbin "graphics/pokemon/palettes/tyranitar_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDD9D80, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_tyranitar_back_pic:: @ 8DD9DA8 .incbin "graphics/pokemon/back_pics/tyranitar_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDD9DA8, 0x03EC .align 2 gFile_graphics_pokemon_palettes_tyranitar_shiny_palette:: @ 8DDA194 .incbin "graphics/pokemon/palettes/tyranitar_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDDA194, 0x0028 .align 2 gFile_graphics_pokemon_icons_tyranitar_icon:: @ 8DDA1BC .incbin "graphics/pokemon/icons/tyranitar_icon.4bpp" - @ .incbin "baserom.gba", 0xDDA1BC, 0x0400 .align 2 gFile_graphics_pokemon_footprints_tyranitar_footprint:: @ 8DDA5BC .incbin "graphics/pokemon/footprints/tyranitar_footprint.1bpp" - @ .incbin "baserom.gba", 0xDDA5BC, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_lugia_still_front_pic:: @ 8DDA5DC .incbin "graphics/pokemon/front_pics/lugia_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDDA5DC, 0x04C4 .align 2 gFile_graphics_pokemon_palettes_lugia_palette:: @ 8DDAAA0 .incbin "graphics/pokemon/palettes/lugia_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDDAAA0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_lugia_back_pic:: @ 8DDAAC8 .incbin "graphics/pokemon/back_pics/lugia_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDDAAC8, 0x03D4 .align 2 gFile_graphics_pokemon_palettes_lugia_shiny_palette:: @ 8DDAE9C .incbin "graphics/pokemon/palettes/lugia_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDDAE9C, 0x0028 .align 2 gFile_graphics_pokemon_icons_lugia_icon:: @ 8DDAEC4 .incbin "graphics/pokemon/icons/lugia_icon.4bpp" - @ .incbin "baserom.gba", 0xDDAEC4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_lugia_footprint:: @ 8DDB2C4 .incbin "graphics/pokemon/footprints/lugia_footprint.1bpp" - @ .incbin "baserom.gba", 0xDDB2C4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_ho_oh_still_front_pic:: @ 8DDB2E4 .incbin "graphics/pokemon/front_pics/ho_oh_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDDB2E4, 0x0654 .align 2 gFile_graphics_pokemon_palettes_ho_oh_palette:: @ 8DDB938 .incbin "graphics/pokemon/palettes/ho_oh_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDDB938, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_ho_oh_back_pic:: @ 8DDB960 .incbin "graphics/pokemon/back_pics/ho_oh_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDDB960, 0x0410 .align 2 gFile_graphics_pokemon_palettes_ho_oh_shiny_palette:: @ 8DDBD70 .incbin "graphics/pokemon/palettes/ho_oh_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDDBD70, 0x0028 .align 2 gFile_graphics_pokemon_icons_ho_oh_icon:: @ 8DDBD98 .incbin "graphics/pokemon/icons/ho_oh_icon.4bpp" - @ .incbin "baserom.gba", 0xDDBD98, 0x0400 .align 2 gFile_graphics_pokemon_footprints_ho_oh_footprint:: @ 8DDC198 .incbin "graphics/pokemon/footprints/ho_oh_footprint.1bpp" - @ .incbin "baserom.gba", 0xDDC198, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_celebi_still_front_pic:: @ 8DDC1B8 .incbin "graphics/pokemon/front_pics/celebi_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDDC1B8, 0x0278 .align 2 gFile_graphics_pokemon_palettes_celebi_palette:: @ 8DDC430 .incbin "graphics/pokemon/palettes/celebi_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDDC430, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_celebi_back_pic:: @ 8DDC458 .incbin "graphics/pokemon/back_pics/celebi_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDDC458, 0x03AC .align 2 gFile_graphics_pokemon_palettes_celebi_shiny_palette:: @ 8DDC804 .incbin "graphics/pokemon/palettes/celebi_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDDC804, 0x0028 .align 2 gFile_graphics_pokemon_icons_celebi_icon:: @ 8DDC82C .incbin "graphics/pokemon/icons/celebi_icon.4bpp" - @ .incbin "baserom.gba", 0xDDC82C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_celebi_footprint:: @ 8DDCC2C .incbin "graphics/pokemon/footprints/celebi_footprint.1bpp" - @ .incbin "baserom.gba", 0xDDCC2C, 0x0020 .align 2 -gFile_graphics_pokemon_back_pics_double_question_mark_back_pic:: @ 8DDCC4C - .incbin "graphics/pokemon/back_pics/double_question_mark_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDDCC4C, 0x0184 +gFile_graphics_pokemon_front_pics_double_question_mark_still_front_pic:: @ 8DDCC4C + .incbin "graphics/pokemon/front_pics/double_question_mark_still_front_pic.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_double_question_mark_palette:: @ 8DDCDD0 .incbin "graphics/pokemon/palettes/double_question_mark_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDDCDD0, 0x0014 .align 2 -gFile_graphics_pokemon_back_pics_double_question_mark_back_pic2:: @ 8DDCDE4 - @ .incbin "graphics/pokemon/back_pics/double_question_mark_back_pic.4bpp.lz" - .incbin "baserom.gba", 0xDDCDE4, 0x0184 +gFile_graphics_pokemon_back_pics_double_question_mark_back_pic:: @ 8DDCDE4 + .incbin "graphics/pokemon/back_pics/double_question_mark_back_pic.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_double_question_mark_shiny_palette:: @ 8DDCF68 .incbin "graphics/pokemon/palettes/double_question_mark_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDDCF68, 0x0014 .align 2 gFile_graphics_pokemon_front_pics_treecko_still_front_pic:: @ 8DDCF7C .incbin "graphics/pokemon/front_pics/treecko_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDDCF7C, 0x0308 .align 2 gFile_graphics_pokemon_palettes_treecko_palette:: @ 8DDD284 .incbin "graphics/pokemon/palettes/treecko_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDDD284, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_treecko_back_pic:: @ 8DDD2AC .incbin "graphics/pokemon/back_pics/treecko_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDDD2AC, 0x0300 .align 2 gFile_graphics_pokemon_palettes_treecko_shiny_palette:: @ 8DDD5AC .incbin "graphics/pokemon/palettes/treecko_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDDD5AC, 0x0028 .align 2 gFile_graphics_pokemon_icons_treecko_icon:: @ 8DDD5D4 .incbin "graphics/pokemon/icons/treecko_icon.4bpp" - @ .incbin "baserom.gba", 0xDDD5D4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_treecko_footprint:: @ 8DDD9D4 .incbin "graphics/pokemon/footprints/treecko_footprint.1bpp" - @ .incbin "baserom.gba", 0xDDD9D4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_grovyle_still_front_pic:: @ 8DDD9F4 .incbin "graphics/pokemon/front_pics/grovyle_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDDD9F4, 0x048C .align 2 gFile_graphics_pokemon_palettes_grovyle_palette:: @ 8DDDE80 .incbin "graphics/pokemon/palettes/grovyle_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDDDE80, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_grovyle_back_pic:: @ 8DDDEA8 .incbin "graphics/pokemon/back_pics/grovyle_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDDDEA8, 0x033C .align 2 gFile_graphics_pokemon_palettes_grovyle_shiny_palette:: @ 8DDE1E4 .incbin "graphics/pokemon/palettes/grovyle_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDDE1E4, 0x0028 .align 2 gFile_graphics_pokemon_icons_grovyle_icon:: @ 8DDE20C .incbin "graphics/pokemon/icons/grovyle_icon.4bpp" - @ .incbin "baserom.gba", 0xDDE20C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_grovyle_footprint:: @ 8DDE60C .incbin "graphics/pokemon/footprints/grovyle_footprint.1bpp" - @ .incbin "baserom.gba", 0xDDE60C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_sceptile_still_front_pic:: @ 8DDE62C .incbin "graphics/pokemon/front_pics/sceptile_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDDE62C, 0x0504 .align 2 gFile_graphics_pokemon_palettes_sceptile_palette:: @ 8DDEB30 .incbin "graphics/pokemon/palettes/sceptile_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDDEB30, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_sceptile_back_pic:: @ 8DDEB58 .incbin "graphics/pokemon/back_pics/sceptile_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDDEB58, 0x03FC .align 2 gFile_graphics_pokemon_palettes_sceptile_shiny_palette:: @ 8DDEF54 .incbin "graphics/pokemon/palettes/sceptile_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDDEF54, 0x0028 .align 2 gFile_graphics_pokemon_icons_sceptile_icon:: @ 8DDEF7C .incbin "graphics/pokemon/icons/sceptile_icon.4bpp" - @ .incbin "baserom.gba", 0xDDEF7C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_sceptile_footprint:: @ 8DDF37C .incbin "graphics/pokemon/footprints/sceptile_footprint.1bpp" - @ .incbin "baserom.gba", 0xDDF37C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_torchic_still_front_pic:: @ 8DDF39C .incbin "graphics/pokemon/front_pics/torchic_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDDF39C, 0x029C .align 2 gFile_graphics_pokemon_palettes_torchic_palette:: @ 8DDF638 .incbin "graphics/pokemon/palettes/torchic_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDDF638, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_torchic_back_pic:: @ 8DDF660 .incbin "graphics/pokemon/back_pics/torchic_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDDF660, 0x02D8 .align 2 gFile_graphics_pokemon_palettes_torchic_shiny_palette:: @ 8DDF938 .incbin "graphics/pokemon/palettes/torchic_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDDF938, 0x0028 .align 2 gFile_graphics_pokemon_icons_torchic_icon:: @ 8DDF960 .incbin "graphics/pokemon/icons/torchic_icon.4bpp" - @ .incbin "baserom.gba", 0xDDF960, 0x0400 .align 2 gFile_graphics_pokemon_footprints_torchic_footprint:: @ 8DDFD60 .incbin "graphics/pokemon/footprints/torchic_footprint.1bpp" - @ .incbin "baserom.gba", 0xDDFD60, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_combusken_still_front_pic:: @ 8DDFD80 .incbin "graphics/pokemon/front_pics/combusken_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDDFD80, 0x03EC .align 2 gFile_graphics_pokemon_palettes_combusken_palette:: @ 8DE016C .incbin "graphics/pokemon/palettes/combusken_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE016C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_combusken_back_pic:: @ 8DE0194 .incbin "graphics/pokemon/back_pics/combusken_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE0194, 0x03D0 .align 2 gFile_graphics_pokemon_palettes_combusken_shiny_palette:: @ 8DE0564 .incbin "graphics/pokemon/palettes/combusken_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE0564, 0x0028 .align 2 gFile_graphics_pokemon_icons_combusken_icon:: @ 8DE058C .incbin "graphics/pokemon/icons/combusken_icon.4bpp" - @ .incbin "baserom.gba", 0xDE058C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_combusken_footprint:: @ 8DE098C .incbin "graphics/pokemon/footprints/combusken_footprint.1bpp" - @ .incbin "baserom.gba", 0xDE098C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_blaziken_still_front_pic:: @ 8DE09AC - @ .incbin "graphics/pokemon/front_pics/blaziken_still_front_pic.4bpp.lz" - .incbin "baserom.gba", 0xDE09AC, 0x0478 + .incbin "graphics/pokemon/front_pics/blaziken_still_front_pic.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_blaziken_palette:: @ 8DE0E24 .incbin "graphics/pokemon/palettes/blaziken_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE0E24, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_blaziken_back_pic:: @ 8DE0E4C .incbin "graphics/pokemon/back_pics/blaziken_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE0E4C, 0x03DC .align 2 gFile_graphics_pokemon_palettes_blaziken_shiny_palette:: @ 8DE1228 .incbin "graphics/pokemon/palettes/blaziken_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE1228, 0x0028 .align 2 gFile_graphics_pokemon_icons_blaziken_icon:: @ 8DE1250 .incbin "graphics/pokemon/icons/blaziken_icon.4bpp" - @ .incbin "baserom.gba", 0xDE1250, 0x0400 .align 2 gFile_graphics_pokemon_footprints_blaziken_footprint:: @ 8DE1650 .incbin "graphics/pokemon/footprints/blaziken_footprint.1bpp" - @ .incbin "baserom.gba", 0xDE1650, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_mudkip_still_front_pic:: @ 8DE1670 .incbin "graphics/pokemon/front_pics/mudkip_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE1670, 0x02B8 .align 2 gFile_graphics_pokemon_palettes_mudkip_palette:: @ 8DE1928 .incbin "graphics/pokemon/palettes/mudkip_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE1928, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_mudkip_back_pic:: @ 8DE1950 .incbin "graphics/pokemon/back_pics/mudkip_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE1950, 0x02E0 .align 2 gFile_graphics_pokemon_palettes_mudkip_shiny_palette:: @ 8DE1C30 .incbin "graphics/pokemon/palettes/mudkip_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE1C30, 0x0028 .align 2 gFile_graphics_pokemon_icons_mudkip_icon:: @ 8DE1C58 .incbin "graphics/pokemon/icons/mudkip_icon.4bpp" - @ .incbin "baserom.gba", 0xDE1C58, 0x0400 .align 2 gFile_graphics_pokemon_footprints_mudkip_footprint:: @ 8DE2058 .incbin "graphics/pokemon/footprints/mudkip_footprint.1bpp" - @ .incbin "baserom.gba", 0xDE2058, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_marshtomp_still_front_pic:: @ 8DE2078 .incbin "graphics/pokemon/front_pics/marshtomp_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE2078, 0x0388 .align 2 gFile_graphics_pokemon_palettes_marshtomp_palette:: @ 8DE2400 .incbin "graphics/pokemon/palettes/marshtomp_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE2400, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_marshtomp_back_pic:: @ 8DE2428 .incbin "graphics/pokemon/back_pics/marshtomp_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE2428, 0x03B0 .align 2 gFile_graphics_pokemon_palettes_marshtomp_shiny_palette:: @ 8DE27D8 .incbin "graphics/pokemon/palettes/marshtomp_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE27D8, 0x0028 .align 2 gFile_graphics_pokemon_icons_marshtomp_icon:: @ 8DE2800 .incbin "graphics/pokemon/icons/marshtomp_icon.4bpp" - @ .incbin "baserom.gba", 0xDE2800, 0x0400 .align 2 gFile_graphics_pokemon_footprints_marshtomp_footprint:: @ 8DE2C00 .incbin "graphics/pokemon/footprints/marshtomp_footprint.1bpp" - @ .incbin "baserom.gba", 0xDE2C00, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_swampert_still_front_pic:: @ 8DE2C20 .incbin "graphics/pokemon/front_pics/swampert_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE2C20, 0x057C .align 2 gFile_graphics_pokemon_palettes_swampert_palette:: @ 8DE319C .incbin "graphics/pokemon/palettes/swampert_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE319C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_swampert_back_pic:: @ 8DE31C4 .incbin "graphics/pokemon/back_pics/swampert_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE31C4, 0x03B4 .align 2 gFile_graphics_pokemon_palettes_swampert_shiny_palette:: @ 8DE3578 .incbin "graphics/pokemon/palettes/swampert_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE3578, 0x0028 .align 2 gFile_graphics_pokemon_icons_swampert_icon:: @ 8DE35A0 .incbin "graphics/pokemon/icons/swampert_icon.4bpp" - @ .incbin "baserom.gba", 0xDE35A0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_swampert_footprint:: @ 8DE39A0 .incbin "graphics/pokemon/footprints/swampert_footprint.1bpp" - @ .incbin "baserom.gba", 0xDE39A0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_poochyena_still_front_pic:: @ 8DE39C0 .incbin "graphics/pokemon/front_pics/poochyena_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE39C0, 0x02C8 .align 2 gFile_graphics_pokemon_palettes_poochyena_palette:: @ 8DE3C88 .incbin "graphics/pokemon/palettes/poochyena_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE3C88, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_poochyena_back_pic:: @ 8DE3CB0 .incbin "graphics/pokemon/back_pics/poochyena_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE3CB0, 0x032C .align 2 gFile_graphics_pokemon_palettes_poochyena_shiny_palette:: @ 8DE3FDC .incbin "graphics/pokemon/palettes/poochyena_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE3FDC, 0x0028 .align 2 gFile_graphics_pokemon_icons_poochyena_icon:: @ 8DE4004 .incbin "graphics/pokemon/icons/poochyena_icon.4bpp" - @ .incbin "baserom.gba", 0xDE4004, 0x0400 .align 2 gFile_graphics_pokemon_footprints_poochyena_footprint:: @ 8DE4404 .incbin "graphics/pokemon/footprints/poochyena_footprint.1bpp" - @ .incbin "baserom.gba", 0xDE4404, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_mightyena_still_front_pic:: @ 8DE4424 .incbin "graphics/pokemon/front_pics/mightyena_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE4424, 0x0438 .align 2 gFile_graphics_pokemon_palettes_mightyena_palette:: @ 8DE485C .incbin "graphics/pokemon/palettes/mightyena_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE485C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_mightyena_back_pic:: @ 8DE4884 .incbin "graphics/pokemon/back_pics/mightyena_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE4884, 0x0378 .align 2 gFile_graphics_pokemon_palettes_mightyena_shiny_palette:: @ 8DE4BFC .incbin "graphics/pokemon/palettes/mightyena_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE4BFC, 0x0028 .align 2 gFile_graphics_pokemon_icons_mightyena_icon:: @ 8DE4C24 .incbin "graphics/pokemon/icons/mightyena_icon.4bpp" - @ .incbin "baserom.gba", 0xDE4C24, 0x0400 .align 2 gFile_graphics_pokemon_footprints_mightyena_footprint:: @ 8DE5024 .incbin "graphics/pokemon/footprints/mightyena_footprint.1bpp" - @ .incbin "baserom.gba", 0xDE5024, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_zigzagoon_still_front_pic:: @ 8DE5044 .incbin "graphics/pokemon/front_pics/zigzagoon_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE5044, 0x03D0 .align 2 gFile_graphics_pokemon_palettes_zigzagoon_palette:: @ 8DE5414 .incbin "graphics/pokemon/palettes/zigzagoon_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE5414, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_zigzagoon_back_pic:: @ 8DE543C .incbin "graphics/pokemon/back_pics/zigzagoon_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE543C, 0x0340 .align 2 gFile_graphics_pokemon_palettes_zigzagoon_shiny_palette:: @ 8DE577C .incbin "graphics/pokemon/palettes/zigzagoon_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE577C, 0x0028 .align 2 gFile_graphics_pokemon_icons_zigzagoon_icon:: @ 8DE57A4 .incbin "graphics/pokemon/icons/zigzagoon_icon.4bpp" - @ .incbin "baserom.gba", 0xDE57A4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_zigzagoon_footprint:: @ 8DE5BA4 .incbin "graphics/pokemon/footprints/zigzagoon_footprint.1bpp" - @ .incbin "baserom.gba", 0xDE5BA4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_linoone_still_front_pic:: @ 8DE5BC4 .incbin "graphics/pokemon/front_pics/linoone_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE5BC4, 0x0370 .align 2 gFile_graphics_pokemon_palettes_linoone_palette:: @ 8DE5F34 .incbin "graphics/pokemon/palettes/linoone_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE5F34, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_linoone_back_pic:: @ 8DE5F5C .incbin "graphics/pokemon/back_pics/linoone_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE5F5C, 0x02D4 .align 2 gFile_graphics_pokemon_palettes_linoone_shiny_palette:: @ 8DE6230 .incbin "graphics/pokemon/palettes/linoone_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE6230, 0x0028 .align 2 gFile_graphics_pokemon_icons_linoone_icon:: @ 8DE6258 .incbin "graphics/pokemon/icons/linoone_icon.4bpp" - @ .incbin "baserom.gba", 0xDE6258, 0x0400 .align 2 gFile_graphics_pokemon_footprints_linoone_footprint:: @ 8DE6658 .incbin "graphics/pokemon/footprints/linoone_footprint.1bpp" - @ .incbin "baserom.gba", 0xDE6658, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_wurmple_still_front_pic:: @ 8DE6678 .incbin "graphics/pokemon/front_pics/wurmple_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE6678, 0x0288 .align 2 gFile_graphics_pokemon_palettes_wurmple_palette:: @ 8DE6900 .incbin "graphics/pokemon/palettes/wurmple_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE6900, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_wurmple_back_pic:: @ 8DE6928 .incbin "graphics/pokemon/back_pics/wurmple_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE6928, 0x024C .align 2 gFile_graphics_pokemon_palettes_wurmple_shiny_palette:: @ 8DE6B74 .incbin "graphics/pokemon/palettes/wurmple_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE6B74, 0x0028 .align 2 gFile_graphics_pokemon_icons_wurmple_icon:: @ 8DE6B9C .incbin "graphics/pokemon/icons/wurmple_icon.4bpp" - @ .incbin "baserom.gba", 0xDE6B9C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_wurmple_footprint:: @ 8DE6F9C .incbin "graphics/pokemon/footprints/wurmple_footprint.1bpp" - @ .incbin "baserom.gba", 0xDE6F9C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_silcoon_still_front_pic:: @ 8DE6FBC .incbin "graphics/pokemon/front_pics/silcoon_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE6FBC, 0x0280 .align 2 gFile_graphics_pokemon_palettes_silcoon_palette:: @ 8DE723C .incbin "graphics/pokemon/palettes/silcoon_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE723C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_silcoon_back_pic:: @ 8DE7264 .incbin "graphics/pokemon/back_pics/silcoon_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE7264, 0x021C .align 2 gFile_graphics_pokemon_palettes_silcoon_shiny_palette:: @ 8DE7480 .incbin "graphics/pokemon/palettes/silcoon_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE7480, 0x0028 .align 2 gFile_graphics_pokemon_icons_silcoon_icon:: @ 8DE74A8 .incbin "graphics/pokemon/icons/silcoon_icon.4bpp" - @ .incbin "baserom.gba", 0xDE74A8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_silcoon_footprint:: @ 8DE78A8 .incbin "graphics/pokemon/footprints/silcoon_footprint.1bpp" - @ .incbin "baserom.gba", 0xDE78A8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_beautifly_still_front_pic:: @ 8DE78C8 .incbin "graphics/pokemon/front_pics/beautifly_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE78C8, 0x0358 .align 2 gFile_graphics_pokemon_palettes_beautifly_palette:: @ 8DE7C20 .incbin "graphics/pokemon/palettes/beautifly_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE7C20, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_beautifly_back_pic:: @ 8DE7C48 .incbin "graphics/pokemon/back_pics/beautifly_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE7C48, 0x03B0 .align 2 gFile_graphics_pokemon_palettes_beautifly_shiny_palette:: @ 8DE7FF8 .incbin "graphics/pokemon/palettes/beautifly_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE7FF8, 0x0028 .align 2 gFile_graphics_pokemon_icons_beautifly_icon:: @ 8DE8020 .incbin "graphics/pokemon/icons/beautifly_icon.4bpp" - @ .incbin "baserom.gba", 0xDE8020, 0x0400 .align 2 gFile_graphics_pokemon_footprints_beautifly_footprint:: @ 8DE8420 .incbin "graphics/pokemon/footprints/beautifly_footprint.1bpp" - @ .incbin "baserom.gba", 0xDE8420, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_cascoon_still_front_pic:: @ 8DE8440 .incbin "graphics/pokemon/front_pics/cascoon_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE8440, 0x026C .align 2 gFile_graphics_pokemon_palettes_cascoon_palette:: @ 8DE86AC .incbin "graphics/pokemon/palettes/cascoon_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE86AC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_cascoon_back_pic:: @ 8DE86D4 .incbin "graphics/pokemon/back_pics/cascoon_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE86D4, 0x0210 .align 2 gFile_graphics_pokemon_palettes_cascoon_shiny_palette:: @ 8DE88E4 .incbin "graphics/pokemon/palettes/cascoon_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE88E4, 0x0028 .align 2 gFile_graphics_pokemon_icons_cascoon_icon:: @ 8DE890C .incbin "graphics/pokemon/icons/cascoon_icon.4bpp" - @ .incbin "baserom.gba", 0xDE890C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_cascoon_footprint:: @ 8DE8D0C .incbin "graphics/pokemon/footprints/cascoon_footprint.1bpp" - @ .incbin "baserom.gba", 0xDE8D0C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_dustox_still_front_pic:: @ 8DE8D2C .incbin "graphics/pokemon/front_pics/dustox_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE8D2C, 0x0368 .align 2 gFile_graphics_pokemon_palettes_dustox_palette:: @ 8DE9094 .incbin "graphics/pokemon/palettes/dustox_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE9094, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_dustox_back_pic:: @ 8DE90BC .incbin "graphics/pokemon/back_pics/dustox_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE90BC, 0x0258 .align 2 gFile_graphics_pokemon_palettes_dustox_shiny_palette:: @ 8DE9314 .incbin "graphics/pokemon/palettes/dustox_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE9314, 0x0028 .align 2 gFile_graphics_pokemon_icons_dustox_icon:: @ 8DE933C .incbin "graphics/pokemon/icons/dustox_icon.4bpp" - @ .incbin "baserom.gba", 0xDE933C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_dustox_footprint:: @ 8DE973C .incbin "graphics/pokemon/footprints/dustox_footprint.1bpp" - @ .incbin "baserom.gba", 0xDE973C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_lotad_still_front_pic:: @ 8DE975C .incbin "graphics/pokemon/front_pics/lotad_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE975C, 0x0260 .align 2 gFile_graphics_pokemon_palettes_lotad_palette:: @ 8DE99BC .incbin "graphics/pokemon/palettes/lotad_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE99BC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_lotad_back_pic:: @ 8DE99E4 .incbin "graphics/pokemon/back_pics/lotad_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDE99E4, 0x02E8 .align 2 gFile_graphics_pokemon_palettes_lotad_shiny_palette:: @ 8DE9CCC .incbin "graphics/pokemon/palettes/lotad_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDE9CCC, 0x0028 .align 2 gFile_graphics_pokemon_icons_lotad_icon:: @ 8DE9CF4 .incbin "graphics/pokemon/icons/lotad_icon.4bpp" - @ .incbin "baserom.gba", 0xDE9CF4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_lotad_footprint:: @ 8DEA0F4 .incbin "graphics/pokemon/footprints/lotad_footprint.1bpp" - @ .incbin "baserom.gba", 0xDEA0F4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_lombre_still_front_pic:: @ 8DEA114 .incbin "graphics/pokemon/front_pics/lombre_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDEA114, 0x0318 .align 2 gFile_graphics_pokemon_palettes_lombre_palette:: @ 8DEA42C .incbin "graphics/pokemon/palettes/lombre_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDEA42C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_lombre_back_pic:: @ 8DEA454 .incbin "graphics/pokemon/back_pics/lombre_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDEA454, 0x02FC .align 2 gFile_graphics_pokemon_palettes_lombre_shiny_palette:: @ 8DEA750 .incbin "graphics/pokemon/palettes/lombre_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDEA750, 0x0028 .align 2 gFile_graphics_pokemon_icons_lombre_icon:: @ 8DEA778 .incbin "graphics/pokemon/icons/lombre_icon.4bpp" - @ .incbin "baserom.gba", 0xDEA778, 0x0400 .align 2 gFile_graphics_pokemon_footprints_lombre_footprint:: @ 8DEAB78 .incbin "graphics/pokemon/footprints/lombre_footprint.1bpp" - @ .incbin "baserom.gba", 0xDEAB78, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_ludicolo_still_front_pic:: @ 8DEAB98 .incbin "graphics/pokemon/front_pics/ludicolo_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDEAB98, 0x04E4 .align 2 gFile_graphics_pokemon_palettes_ludicolo_palette:: @ 8DEB07C .incbin "graphics/pokemon/palettes/ludicolo_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDEB07C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_ludicolo_back_pic:: @ 8DEB0A4 .incbin "graphics/pokemon/back_pics/ludicolo_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDEB0A4, 0x02FC .align 2 gFile_graphics_pokemon_palettes_ludicolo_shiny_palette:: @ 8DEB3A0 .incbin "graphics/pokemon/palettes/ludicolo_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDEB3A0, 0x0028 .align 2 gFile_graphics_pokemon_icons_ludicolo_icon:: @ 8DEB3C8 .incbin "graphics/pokemon/icons/ludicolo_icon.4bpp" - @ .incbin "baserom.gba", 0xDEB3C8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_ludicolo_footprint:: @ 8DEB7C8 .incbin "graphics/pokemon/footprints/ludicolo_footprint.1bpp" - @ .incbin "baserom.gba", 0xDEB7C8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_seedot_still_front_pic:: @ 8DEB7E8 .incbin "graphics/pokemon/front_pics/seedot_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDEB7E8, 0x0294 .align 2 gFile_graphics_pokemon_palettes_seedot_palette:: @ 8DEBA7C .incbin "graphics/pokemon/palettes/seedot_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDEBA7C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_seedot_back_pic:: @ 8DEBAA4 .incbin "graphics/pokemon/back_pics/seedot_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDEBAA4, 0x02E0 .align 2 gFile_graphics_pokemon_palettes_seedot_shiny_palette:: @ 8DEBD84 .incbin "graphics/pokemon/palettes/seedot_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDEBD84, 0x0028 .align 2 gFile_graphics_pokemon_icons_seedot_icon:: @ 8DEBDAC .incbin "graphics/pokemon/icons/seedot_icon.4bpp" - @ .incbin "baserom.gba", 0xDEBDAC, 0x0400 .align 2 gFile_graphics_pokemon_footprints_seedot_footprint:: @ 8DEC1AC .incbin "graphics/pokemon/footprints/seedot_footprint.1bpp" - @ .incbin "baserom.gba", 0xDEC1AC, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_nuzleaf_still_front_pic:: @ 8DEC1CC .incbin "graphics/pokemon/front_pics/nuzleaf_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDEC1CC, 0x02EC .align 2 gFile_graphics_pokemon_palettes_nuzleaf_palette:: @ 8DEC4B8 .incbin "graphics/pokemon/palettes/nuzleaf_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDEC4B8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_nuzleaf_back_pic:: @ 8DEC4E0 .incbin "graphics/pokemon/back_pics/nuzleaf_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDEC4E0, 0x02C8 .align 2 gFile_graphics_pokemon_palettes_nuzleaf_shiny_palette:: @ 8DEC7A8 .incbin "graphics/pokemon/palettes/nuzleaf_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDEC7A8, 0x0028 .align 2 gFile_graphics_pokemon_icons_nuzleaf_icon:: @ 8DEC7D0 .incbin "graphics/pokemon/icons/nuzleaf_icon.4bpp" - @ .incbin "baserom.gba", 0xDEC7D0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_nuzleaf_footprint:: @ 8DECBD0 .incbin "graphics/pokemon/footprints/nuzleaf_footprint.1bpp" - @ .incbin "baserom.gba", 0xDECBD0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_shiftry_still_front_pic:: @ 8DECBF0 .incbin "graphics/pokemon/front_pics/shiftry_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDECBF0, 0x04BC .align 2 gFile_graphics_pokemon_palettes_shiftry_palette:: @ 8DED0AC .incbin "graphics/pokemon/palettes/shiftry_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDED0AC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_shiftry_back_pic:: @ 8DED0D4 .incbin "graphics/pokemon/back_pics/shiftry_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDED0D4, 0x02C4 .align 2 gFile_graphics_pokemon_palettes_shiftry_shiny_palette:: @ 8DED398 .incbin "graphics/pokemon/palettes/shiftry_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDED398, 0x0028 .align 2 gFile_graphics_pokemon_icons_shiftry_icon:: @ 8DED3C0 .incbin "graphics/pokemon/icons/shiftry_icon.4bpp" - @ .incbin "baserom.gba", 0xDED3C0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_shiftry_footprint:: @ 8DED7C0 .incbin "graphics/pokemon/footprints/shiftry_footprint.1bpp" - @ .incbin "baserom.gba", 0xDED7C0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_nincada_still_front_pic:: @ 8DED7E0 .incbin "graphics/pokemon/front_pics/nincada_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDED7E0, 0x02A0 .align 2 gFile_graphics_pokemon_palettes_nincada_palette:: @ 8DEDA80 .incbin "graphics/pokemon/palettes/nincada_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDEDA80, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_nincada_back_pic:: @ 8DEDAA8 .incbin "graphics/pokemon/back_pics/nincada_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDEDAA8, 0x02B8 .align 2 gFile_graphics_pokemon_palettes_nincada_shiny_palette:: @ 8DEDD60 .incbin "graphics/pokemon/palettes/nincada_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDEDD60, 0x0028 .align 2 gFile_graphics_pokemon_icons_nincada_icon:: @ 8DEDD88 .incbin "graphics/pokemon/icons/nincada_icon.4bpp" - @ .incbin "baserom.gba", 0xDEDD88, 0x0400 .align 2 gFile_graphics_pokemon_footprints_nincada_footprint:: @ 8DEE188 .incbin "graphics/pokemon/footprints/nincada_footprint.1bpp" - @ .incbin "baserom.gba", 0xDEE188, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_ninjask_still_front_pic:: @ 8DEE1A8 .incbin "graphics/pokemon/front_pics/ninjask_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDEE1A8, 0x0370 .align 2 gFile_graphics_pokemon_palettes_ninjask_palette:: @ 8DEE518 .incbin "graphics/pokemon/palettes/ninjask_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDEE518, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_ninjask_back_pic:: @ 8DEE540 .incbin "graphics/pokemon/back_pics/ninjask_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDEE540, 0x03CC .align 2 gFile_graphics_pokemon_palettes_ninjask_shiny_palette:: @ 8DEE90C .incbin "graphics/pokemon/palettes/ninjask_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDEE90C, 0x0028 .align 2 gFile_graphics_pokemon_icons_ninjask_icon:: @ 8DEE934 .incbin "graphics/pokemon/icons/ninjask_icon.4bpp" - @ .incbin "baserom.gba", 0xDEE934, 0x0400 .align 2 gFile_graphics_pokemon_footprints_ninjask_footprint:: @ 8DEED34 .incbin "graphics/pokemon/footprints/ninjask_footprint.1bpp" - @ .incbin "baserom.gba", 0xDEED34, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_shedinja_still_front_pic:: @ 8DEED54 .incbin "graphics/pokemon/front_pics/shedinja_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDEED54, 0x0320 .align 2 gFile_graphics_pokemon_palettes_shedinja_palette:: @ 8DEF074 .incbin "graphics/pokemon/palettes/shedinja_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDEF074, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_shedinja_back_pic:: @ 8DEF09C .incbin "graphics/pokemon/back_pics/shedinja_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDEF09C, 0x03A0 .align 2 gFile_graphics_pokemon_palettes_shedinja_shiny_palette:: @ 8DEF43C .incbin "graphics/pokemon/palettes/shedinja_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDEF43C, 0x0028 .align 2 gFile_graphics_pokemon_icons_shedinja_icon:: @ 8DEF464 .incbin "graphics/pokemon/icons/shedinja_icon.4bpp" - @ .incbin "baserom.gba", 0xDEF464, 0x0400 .align 2 gFile_graphics_pokemon_footprints_shedinja_footprint:: @ 8DEF864 .incbin "graphics/pokemon/footprints/shedinja_footprint.1bpp" - @ .incbin "baserom.gba", 0xDEF864, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_taillow_still_front_pic:: @ 8DEF884 .incbin "graphics/pokemon/front_pics/taillow_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDEF884, 0x0258 .align 2 gFile_graphics_pokemon_palettes_taillow_palette:: @ 8DEFADC .incbin "graphics/pokemon/palettes/taillow_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDEFADC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_taillow_back_pic:: @ 8DEFB04 .incbin "graphics/pokemon/back_pics/taillow_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDEFB04, 0x0220 .align 2 gFile_graphics_pokemon_palettes_taillow_shiny_palette:: @ 8DEFD24 .incbin "graphics/pokemon/palettes/taillow_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDEFD24, 0x0028 .align 2 gFile_graphics_pokemon_icons_taillow_icon:: @ 8DEFD4C .incbin "graphics/pokemon/icons/taillow_icon.4bpp" - @ .incbin "baserom.gba", 0xDEFD4C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_taillow_footprint:: @ 8DF014C .incbin "graphics/pokemon/footprints/taillow_footprint.1bpp" - @ .incbin "baserom.gba", 0xDF014C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_swellow_still_front_pic:: @ 8DF016C .incbin "graphics/pokemon/front_pics/swellow_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF016C, 0x03C4 .align 2 gFile_graphics_pokemon_palettes_swellow_palette:: @ 8DF0530 .incbin "graphics/pokemon/palettes/swellow_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF0530, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_swellow_back_pic:: @ 8DF0558 .incbin "graphics/pokemon/back_pics/swellow_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF0558, 0x0338 .align 2 gFile_graphics_pokemon_palettes_swellow_shiny_palette:: @ 8DF0890 .incbin "graphics/pokemon/palettes/swellow_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF0890, 0x0028 .align 2 gFile_graphics_pokemon_icons_swellow_icon:: @ 8DF08B8 .incbin "graphics/pokemon/icons/swellow_icon.4bpp" - @ .incbin "baserom.gba", 0xDF08B8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_swellow_footprint:: @ 8DF0CB8 .incbin "graphics/pokemon/footprints/swellow_footprint.1bpp" - @ .incbin "baserom.gba", 0xDF0CB8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_shroomish_still_front_pic:: @ 8DF0CD8 .incbin "graphics/pokemon/front_pics/shroomish_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF0CD8, 0x0268 .align 2 gFile_graphics_pokemon_palettes_shroomish_palette:: @ 8DF0F40 .incbin "graphics/pokemon/palettes/shroomish_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF0F40, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_shroomish_back_pic:: @ 8DF0F68 .incbin "graphics/pokemon/back_pics/shroomish_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF0F68, 0x02E0 .align 2 gFile_graphics_pokemon_palettes_shroomish_shiny_palette:: @ 8DF1248 .incbin "graphics/pokemon/palettes/shroomish_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF1248, 0x0028 .align 2 gFile_graphics_pokemon_icons_shroomish_icon:: @ 8DF1270 .incbin "graphics/pokemon/icons/shroomish_icon.4bpp" - @ .incbin "baserom.gba", 0xDF1270, 0x0400 .align 2 gFile_graphics_pokemon_footprints_shroomish_footprint:: @ 8DF1670 .incbin "graphics/pokemon/footprints/shroomish_footprint.1bpp" - @ .incbin "baserom.gba", 0xDF1670, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_breloom_still_front_pic:: @ 8DF1690 .incbin "graphics/pokemon/front_pics/breloom_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF1690, 0x03E8 .align 2 gFile_graphics_pokemon_palettes_breloom_palette:: @ 8DF1A78 .incbin "graphics/pokemon/palettes/breloom_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF1A78, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_breloom_back_pic:: @ 8DF1AA0 .incbin "graphics/pokemon/back_pics/breloom_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF1AA0, 0x03E0 .align 2 gFile_graphics_pokemon_palettes_breloom_shiny_palette:: @ 8DF1E80 .incbin "graphics/pokemon/palettes/breloom_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF1E80, 0x0028 .align 2 gFile_graphics_pokemon_icons_breloom_icon:: @ 8DF1EA8 .incbin "graphics/pokemon/icons/breloom_icon.4bpp" - @ .incbin "baserom.gba", 0xDF1EA8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_breloom_footprint:: @ 8DF22A8 .incbin "graphics/pokemon/footprints/breloom_footprint.1bpp" - @ .incbin "baserom.gba", 0xDF22A8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_spinda_still_front_pic:: @ 8DF22C8 .incbin "graphics/pokemon/front_pics/spinda_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF22C8, 0x0300 .align 2 gFile_graphics_pokemon_palettes_spinda_palette:: @ 8DF25C8 .incbin "graphics/pokemon/palettes/spinda_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF25C8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_spinda_back_pic:: @ 8DF25F0 .incbin "graphics/pokemon/back_pics/spinda_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF25F0, 0x033C .align 2 gFile_graphics_pokemon_palettes_spinda_shiny_palette:: @ 8DF292C .incbin "graphics/pokemon/palettes/spinda_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF292C, 0x0028 .align 2 gFile_graphics_pokemon_icons_spinda_icon:: @ 8DF2954 .incbin "graphics/pokemon/icons/spinda_icon.4bpp" - @ .incbin "baserom.gba", 0xDF2954, 0x0400 .align 2 gFile_graphics_pokemon_footprints_spinda_footprint:: @ 8DF2D54 .incbin "graphics/pokemon/footprints/spinda_footprint.1bpp" - @ .incbin "baserom.gba", 0xDF2D54, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_wingull_still_front_pic:: @ 8DF2D74 .incbin "graphics/pokemon/front_pics/wingull_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF2D74, 0x023C .align 2 gFile_graphics_pokemon_palettes_wingull_palette:: @ 8DF2FB0 .incbin "graphics/pokemon/palettes/wingull_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF2FB0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_wingull_back_pic:: @ 8DF2FD8 .incbin "graphics/pokemon/back_pics/wingull_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF2FD8, 0x0350 .align 2 gFile_graphics_pokemon_palettes_wingull_shiny_palette:: @ 8DF3328 .incbin "graphics/pokemon/palettes/wingull_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF3328, 0x0028 .align 2 gFile_graphics_pokemon_icons_wingull_icon:: @ 8DF3350 .incbin "graphics/pokemon/icons/wingull_icon.4bpp" - @ .incbin "baserom.gba", 0xDF3350, 0x0400 .align 2 gFile_graphics_pokemon_footprints_wingull_footprint:: @ 8DF3750 .incbin "graphics/pokemon/footprints/wingull_footprint.1bpp" - @ .incbin "baserom.gba", 0xDF3750, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_pelipper_still_front_pic:: @ 8DF3770 .incbin "graphics/pokemon/front_pics/pelipper_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF3770, 0x0398 .align 2 gFile_graphics_pokemon_palettes_pelipper_palette:: @ 8DF3B08 .incbin "graphics/pokemon/palettes/pelipper_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF3B08, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_pelipper_back_pic:: @ 8DF3B30 .incbin "graphics/pokemon/back_pics/pelipper_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF3B30, 0x0380 .align 2 gFile_graphics_pokemon_palettes_pelipper_shiny_palette:: @ 8DF3EB0 .incbin "graphics/pokemon/palettes/pelipper_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF3EB0, 0x0028 .align 2 gFile_graphics_pokemon_icons_pelipper_icon:: @ 8DF3ED8 .incbin "graphics/pokemon/icons/pelipper_icon.4bpp" - @ .incbin "baserom.gba", 0xDF3ED8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_pelipper_footprint:: @ 8DF42D8 .incbin "graphics/pokemon/footprints/pelipper_footprint.1bpp" - @ .incbin "baserom.gba", 0xDF42D8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_surskit_still_front_pic:: @ 8DF42F8 .incbin "graphics/pokemon/front_pics/surskit_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF42F8, 0x020C .align 2 gFile_graphics_pokemon_palettes_surskit_palette:: @ 8DF4504 .incbin "graphics/pokemon/palettes/surskit_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF4504, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_surskit_back_pic:: @ 8DF452C .incbin "graphics/pokemon/back_pics/surskit_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF452C, 0x0238 .align 2 gFile_graphics_pokemon_palettes_surskit_shiny_palette:: @ 8DF4764 .incbin "graphics/pokemon/palettes/surskit_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF4764, 0x0028 .align 2 gFile_graphics_pokemon_icons_surskit_icon:: @ 8DF478C .incbin "graphics/pokemon/icons/surskit_icon.4bpp" - @ .incbin "baserom.gba", 0xDF478C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_surskit_footprint:: @ 8DF4B8C .incbin "graphics/pokemon/footprints/surskit_footprint.1bpp" - @ .incbin "baserom.gba", 0xDF4B8C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_masquerain_still_front_pic:: @ 8DF4BAC .incbin "graphics/pokemon/front_pics/masquerain_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF4BAC, 0x039C .align 2 gFile_graphics_pokemon_palettes_masquerain_palette:: @ 8DF4F48 .incbin "graphics/pokemon/palettes/masquerain_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF4F48, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_masquerain_back_pic:: @ 8DF4F70 .incbin "graphics/pokemon/back_pics/masquerain_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF4F70, 0x0358 .align 2 gFile_graphics_pokemon_palettes_masquerain_shiny_palette:: @ 8DF52C8 .incbin "graphics/pokemon/palettes/masquerain_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF52C8, 0x0028 .align 2 gFile_graphics_pokemon_icons_masquerain_icon:: @ 8DF52F0 .incbin "graphics/pokemon/icons/masquerain_icon.4bpp" - @ .incbin "baserom.gba", 0xDF52F0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_masquerain_footprint:: @ 8DF56F0 .incbin "graphics/pokemon/footprints/masquerain_footprint.1bpp" - @ .incbin "baserom.gba", 0xDF56F0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_wailmer_still_front_pic:: @ 8DF5710 .incbin "graphics/pokemon/front_pics/wailmer_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF5710, 0x02E0 .align 2 gFile_graphics_pokemon_palettes_wailmer_palette:: @ 8DF59F0 .incbin "graphics/pokemon/palettes/wailmer_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF59F0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_wailmer_back_pic:: @ 8DF5A18 .incbin "graphics/pokemon/back_pics/wailmer_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF5A18, 0x01E4 .align 2 gFile_graphics_pokemon_palettes_wailmer_shiny_palette:: @ 8DF5BFC .incbin "graphics/pokemon/palettes/wailmer_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF5BFC, 0x0028 .align 2 gFile_graphics_pokemon_icons_wailmer_icon:: @ 8DF5C24 .incbin "graphics/pokemon/icons/wailmer_icon.4bpp" - @ .incbin "baserom.gba", 0xDF5C24, 0x0400 .align 2 gFile_graphics_pokemon_footprints_wailmer_footprint:: @ 8DF6024 .incbin "graphics/pokemon/footprints/wailmer_footprint.1bpp" - @ .incbin "baserom.gba", 0xDF6024, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_wailord_still_front_pic:: @ 8DF6044 .incbin "graphics/pokemon/front_pics/wailord_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF6044, 0x03C4 .align 2 gFile_graphics_pokemon_palettes_wailord_palette:: @ 8DF6408 .incbin "graphics/pokemon/palettes/wailord_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF6408, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_wailord_back_pic:: @ 8DF6430 .incbin "graphics/pokemon/back_pics/wailord_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF6430, 0x0218 .align 2 gFile_graphics_pokemon_palettes_wailord_shiny_palette:: @ 8DF6648 .incbin "graphics/pokemon/palettes/wailord_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF6648, 0x0028 .align 2 gFile_graphics_pokemon_icons_wailord_icon:: @ 8DF6670 .incbin "graphics/pokemon/icons/wailord_icon.4bpp" - @ .incbin "baserom.gba", 0xDF6670, 0x0400 .align 2 gFile_graphics_pokemon_footprints_wailord_footprint:: @ 8DF6A70 .incbin "graphics/pokemon/footprints/wailord_footprint.1bpp" - @ .incbin "baserom.gba", 0xDF6A70, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_skitty_still_front_pic:: @ 8DF6A90 .incbin "graphics/pokemon/front_pics/skitty_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF6A90, 0x0300 .align 2 gFile_graphics_pokemon_palettes_skitty_palette:: @ 8DF6D90 .incbin "graphics/pokemon/palettes/skitty_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF6D90, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_skitty_back_pic:: @ 8DF6DB8 .incbin "graphics/pokemon/back_pics/skitty_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF6DB8, 0x0348 .align 2 gFile_graphics_pokemon_palettes_skitty_shiny_palette:: @ 8DF7100 .incbin "graphics/pokemon/palettes/skitty_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF7100, 0x0028 .align 2 gFile_graphics_pokemon_icons_skitty_icon:: @ 8DF7128 .incbin "graphics/pokemon/icons/skitty_icon.4bpp" - @ .incbin "baserom.gba", 0xDF7128, 0x0400 .align 2 gFile_graphics_pokemon_footprints_skitty_footprint:: @ 8DF7528 .incbin "graphics/pokemon/footprints/skitty_footprint.1bpp" - @ .incbin "baserom.gba", 0xDF7528, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_delcatty_still_front_pic:: @ 8DF7548 .incbin "graphics/pokemon/front_pics/delcatty_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF7548, 0x038C .align 2 gFile_graphics_pokemon_palettes_delcatty_palette:: @ 8DF78D4 .incbin "graphics/pokemon/palettes/delcatty_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF78D4, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_delcatty_back_pic:: @ 8DF78FC .incbin "graphics/pokemon/back_pics/delcatty_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF78FC, 0x039C .align 2 gFile_graphics_pokemon_palettes_delcatty_shiny_palette:: @ 8DF7C98 .incbin "graphics/pokemon/palettes/delcatty_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF7C98, 0x0028 .align 2 gFile_graphics_pokemon_icons_delcatty_icon:: @ 8DF7CC0 .incbin "graphics/pokemon/icons/delcatty_icon.4bpp" - @ .incbin "baserom.gba", 0xDF7CC0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_delcatty_footprint:: @ 8DF80C0 .incbin "graphics/pokemon/footprints/delcatty_footprint.1bpp" - @ .incbin "baserom.gba", 0xDF80C0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_kecleon_still_front_pic:: @ 8DF80E0 .incbin "graphics/pokemon/front_pics/kecleon_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF80E0, 0x0380 .align 2 gFile_graphics_pokemon_palettes_kecleon_palette:: @ 8DF8460 .incbin "graphics/pokemon/palettes/kecleon_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF8460, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_kecleon_back_pic:: @ 8DF8488 .incbin "graphics/pokemon/back_pics/kecleon_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF8488, 0x03D8 .align 2 gFile_graphics_pokemon_palettes_kecleon_shiny_palette:: @ 8DF8860 .incbin "graphics/pokemon/palettes/kecleon_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF8860, 0x0028 .align 2 gFile_graphics_pokemon_icons_kecleon_icon:: @ 8DF8888 .incbin "graphics/pokemon/icons/kecleon_icon.4bpp" - @ .incbin "baserom.gba", 0xDF8888, 0x0400 .align 2 gFile_graphics_pokemon_footprints_kecleon_footprint:: @ 8DF8C88 .incbin "graphics/pokemon/footprints/kecleon_footprint.1bpp" - @ .incbin "baserom.gba", 0xDF8C88, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_baltoy_still_front_pic:: @ 8DF8CA8 .incbin "graphics/pokemon/front_pics/baltoy_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF8CA8, 0x0224 .align 2 gFile_graphics_pokemon_palettes_baltoy_palette:: @ 8DF8ECC .incbin "graphics/pokemon/palettes/baltoy_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF8ECC, 0x0020 .align 2 gFile_graphics_pokemon_back_pics_baltoy_back_pic:: @ 8DF8EEC .incbin "graphics/pokemon/back_pics/baltoy_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF8EEC, 0x02A8 .align 2 gFile_graphics_pokemon_palettes_baltoy_shiny_palette:: @ 8DF9194 .incbin "graphics/pokemon/palettes/baltoy_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF9194, 0x0020 .align 2 gFile_graphics_pokemon_icons_baltoy_icon:: @ 8DF91B4 .incbin "graphics/pokemon/icons/baltoy_icon.4bpp" - @ .incbin "baserom.gba", 0xDF91B4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_baltoy_footprint:: @ 8DF95B4 .incbin "graphics/pokemon/footprints/baltoy_footprint.1bpp" - @ .incbin "baserom.gba", 0xDF95B4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_claydol_still_front_pic:: @ 8DF95D4 .incbin "graphics/pokemon/front_pics/claydol_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF95D4, 0x03B8 .align 2 gFile_graphics_pokemon_palettes_claydol_palette:: @ 8DF998C .incbin "graphics/pokemon/palettes/claydol_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF998C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_claydol_back_pic:: @ 8DF99B4 .incbin "graphics/pokemon/back_pics/claydol_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDF99B4, 0x03D4 .align 2 gFile_graphics_pokemon_palettes_claydol_shiny_palette:: @ 8DF9D88 .incbin "graphics/pokemon/palettes/claydol_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDF9D88, 0x0028 .align 2 gFile_graphics_pokemon_icons_claydol_icon:: @ 8DF9DB0 .incbin "graphics/pokemon/icons/claydol_icon.4bpp" - @ .incbin "baserom.gba", 0xDF9DB0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_claydol_footprint:: @ 8DFA1B0 .incbin "graphics/pokemon/footprints/claydol_footprint.1bpp" - @ .incbin "baserom.gba", 0xDFA1B0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_nosepass_still_front_pic:: @ 8DFA1D0 .incbin "graphics/pokemon/front_pics/nosepass_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDFA1D0, 0x02CC .align 2 gFile_graphics_pokemon_palettes_nosepass_palette:: @ 8DFA49C .incbin "graphics/pokemon/palettes/nosepass_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDFA49C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_nosepass_back_pic:: @ 8DFA4C4 .incbin "graphics/pokemon/back_pics/nosepass_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDFA4C4, 0x02A0 .align 2 gFile_graphics_pokemon_palettes_nosepass_shiny_palette:: @ 8DFA764 .incbin "graphics/pokemon/palettes/nosepass_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDFA764, 0x0028 .align 2 gFile_graphics_pokemon_icons_nosepass_icon:: @ 8DFA78C .incbin "graphics/pokemon/icons/nosepass_icon.4bpp" - @ .incbin "baserom.gba", 0xDFA78C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_nosepass_footprint:: @ 8DFAB8C .incbin "graphics/pokemon/footprints/nosepass_footprint.1bpp" - @ .incbin "baserom.gba", 0xDFAB8C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_torkoal_still_front_pic:: @ 8DFABAC .incbin "graphics/pokemon/front_pics/torkoal_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDFABAC, 0x04AC .align 2 gFile_graphics_pokemon_palettes_torkoal_palette:: @ 8DFB058 .incbin "graphics/pokemon/palettes/torkoal_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDFB058, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_torkoal_back_pic:: @ 8DFB080 .incbin "graphics/pokemon/back_pics/torkoal_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDFB080, 0x02C8 .align 2 gFile_graphics_pokemon_palettes_torkoal_shiny_palette:: @ 8DFB348 .incbin "graphics/pokemon/palettes/torkoal_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDFB348, 0x0028 .align 2 gFile_graphics_pokemon_icons_torkoal_icon:: @ 8DFB370 .incbin "graphics/pokemon/icons/torkoal_icon.4bpp" - @ .incbin "baserom.gba", 0xDFB370, 0x0400 .align 2 gFile_graphics_pokemon_footprints_torkoal_footprint:: @ 8DFB770 .incbin "graphics/pokemon/footprints/torkoal_footprint.1bpp" - @ .incbin "baserom.gba", 0xDFB770, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_sableye_still_front_pic:: @ 8DFB790 .incbin "graphics/pokemon/front_pics/sableye_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDFB790, 0x02D4 .align 2 gFile_graphics_pokemon_palettes_sableye_palette:: @ 8DFBA64 .incbin "graphics/pokemon/palettes/sableye_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDFBA64, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_sableye_back_pic:: @ 8DFBA8C .incbin "graphics/pokemon/back_pics/sableye_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDFBA8C, 0x0328 .align 2 gFile_graphics_pokemon_palettes_sableye_shiny_palette:: @ 8DFBDB4 .incbin "graphics/pokemon/palettes/sableye_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDFBDB4, 0x0028 .align 2 gFile_graphics_pokemon_icons_sableye_icon:: @ 8DFBDDC .incbin "graphics/pokemon/icons/sableye_icon.4bpp" - @ .incbin "baserom.gba", 0xDFBDDC, 0x0400 .align 2 gFile_graphics_pokemon_footprints_sableye_footprint:: @ 8DFC1DC .incbin "graphics/pokemon/footprints/sableye_footprint.1bpp" - @ .incbin "baserom.gba", 0xDFC1DC, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_barboach_still_front_pic:: @ 8DFC1FC .incbin "graphics/pokemon/front_pics/barboach_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDFC1FC, 0x0290 .align 2 gFile_graphics_pokemon_palettes_barboach_palette:: @ 8DFC48C .incbin "graphics/pokemon/palettes/barboach_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDFC48C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_barboach_back_pic:: @ 8DFC4B4 .incbin "graphics/pokemon/back_pics/barboach_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDFC4B4, 0x0290 .align 2 gFile_graphics_pokemon_palettes_barboach_shiny_palette:: @ 8DFC744 .incbin "graphics/pokemon/palettes/barboach_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDFC744, 0x0028 .align 2 gFile_graphics_pokemon_icons_barboach_icon:: @ 8DFC76C .incbin "graphics/pokemon/icons/barboach_icon.4bpp" - @ .incbin "baserom.gba", 0xDFC76C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_barboach_footprint:: @ 8DFCB6C .incbin "graphics/pokemon/footprints/barboach_footprint.1bpp" - @ .incbin "baserom.gba", 0xDFCB6C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_whiscash_still_front_pic:: @ 8DFCB8C .incbin "graphics/pokemon/front_pics/whiscash_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDFCB8C, 0x0378 .align 2 gFile_graphics_pokemon_palettes_whiscash_palette:: @ 8DFCF04 .incbin "graphics/pokemon/palettes/whiscash_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDFCF04, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_whiscash_back_pic:: @ 8DFCF2C .incbin "graphics/pokemon/back_pics/whiscash_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDFCF2C, 0x034C .align 2 gFile_graphics_pokemon_palettes_whiscash_shiny_palette:: @ 8DFD278 .incbin "graphics/pokemon/palettes/whiscash_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDFD278, 0x0028 .align 2 gFile_graphics_pokemon_icons_whiscash_icon:: @ 8DFD2A0 .incbin "graphics/pokemon/icons/whiscash_icon.4bpp" - @ .incbin "baserom.gba", 0xDFD2A0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_whiscash_footprint:: @ 8DFD6A0 .incbin "graphics/pokemon/footprints/whiscash_footprint.1bpp" - @ .incbin "baserom.gba", 0xDFD6A0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_luvdisc_still_front_pic:: @ 8DFD6C0 .incbin "graphics/pokemon/front_pics/luvdisc_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDFD6C0, 0x01C0 .align 2 gFile_graphics_pokemon_palettes_luvdisc_palette:: @ 8DFD880 .incbin "graphics/pokemon/palettes/luvdisc_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDFD880, 0x0024 .align 2 gFile_graphics_pokemon_back_pics_luvdisc_back_pic:: @ 8DFD8A4 .incbin "graphics/pokemon/back_pics/luvdisc_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDFD8A4, 0x01D4 .align 2 gFile_graphics_pokemon_palettes_luvdisc_shiny_palette:: @ 8DFDA78 .incbin "graphics/pokemon/palettes/luvdisc_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDFDA78, 0x0024 .align 2 gFile_graphics_pokemon_icons_luvdisc_icon:: @ 8DFDA9C .incbin "graphics/pokemon/icons/luvdisc_icon.4bpp" - @ .incbin "baserom.gba", 0xDFDA9C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_luvdisc_footprint:: @ 8DFDE9C .incbin "graphics/pokemon/footprints/luvdisc_footprint.1bpp" - @ .incbin "baserom.gba", 0xDFDE9C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_corphish_still_front_pic:: @ 8DFDEBC .incbin "graphics/pokemon/front_pics/corphish_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDFDEBC, 0x035C .align 2 gFile_graphics_pokemon_palettes_corphish_palette:: @ 8DFE218 .incbin "graphics/pokemon/palettes/corphish_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDFE218, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_corphish_back_pic:: @ 8DFE240 .incbin "graphics/pokemon/back_pics/corphish_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDFE240, 0x031C .align 2 gFile_graphics_pokemon_palettes_corphish_shiny_palette:: @ 8DFE55C .incbin "graphics/pokemon/palettes/corphish_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDFE55C, 0x0028 .align 2 gFile_graphics_pokemon_icons_corphish_icon:: @ 8DFE584 .incbin "graphics/pokemon/icons/corphish_icon.4bpp" - @ .incbin "baserom.gba", 0xDFE584, 0x0400 .align 2 gFile_graphics_pokemon_footprints_corphish_footprint:: @ 8DFE984 .incbin "graphics/pokemon/footprints/corphish_footprint.1bpp" - @ .incbin "baserom.gba", 0xDFE984, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_crawdaunt_still_front_pic:: @ 8DFE9A4 .incbin "graphics/pokemon/front_pics/crawdaunt_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDFE9A4, 0x0490 .align 2 gFile_graphics_pokemon_palettes_crawdaunt_palette:: @ 8DFEE34 .incbin "graphics/pokemon/palettes/crawdaunt_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDFEE34, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_crawdaunt_back_pic:: @ 8DFEE5C .incbin "graphics/pokemon/back_pics/crawdaunt_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDFEE5C, 0x03E4 .align 2 gFile_graphics_pokemon_palettes_crawdaunt_shiny_palette:: @ 8DFF240 .incbin "graphics/pokemon/palettes/crawdaunt_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDFF240, 0x0028 .align 2 gFile_graphics_pokemon_icons_crawdaunt_icon:: @ 8DFF268 .incbin "graphics/pokemon/icons/crawdaunt_icon.4bpp" - @ .incbin "baserom.gba", 0xDFF268, 0x0400 .align 2 gFile_graphics_pokemon_footprints_crawdaunt_footprint:: @ 8DFF668 .incbin "graphics/pokemon/footprints/crawdaunt_footprint.1bpp" - @ .incbin "baserom.gba", 0xDFF668, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_feebas_still_front_pic:: @ 8DFF688 .incbin "graphics/pokemon/front_pics/feebas_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDFF688, 0x028C .align 2 gFile_graphics_pokemon_palettes_feebas_palette:: @ 8DFF914 .incbin "graphics/pokemon/palettes/feebas_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDFF914, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_feebas_back_pic:: @ 8DFF93C .incbin "graphics/pokemon/back_pics/feebas_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xDFF93C, 0x0338 .align 2 gFile_graphics_pokemon_palettes_feebas_shiny_palette:: @ 8DFFC74 .incbin "graphics/pokemon/palettes/feebas_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xDFFC74, 0x0028 .align 2 gFile_graphics_pokemon_icons_feebas_icon:: @ 8DFFC9C .incbin "graphics/pokemon/icons/feebas_icon.4bpp" - @ .incbin "baserom.gba", 0xDFFC9C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_feebas_footprint:: @ 8E0009C .incbin "graphics/pokemon/footprints/feebas_footprint.1bpp" - @ .incbin "baserom.gba", 0xE0009C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_milotic_still_front_pic:: @ 8E000BC .incbin "graphics/pokemon/front_pics/milotic_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE000BC, 0x0490 .align 2 gFile_graphics_pokemon_palettes_milotic_palette:: @ 8E0054C .incbin "graphics/pokemon/palettes/milotic_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE0054C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_milotic_back_pic:: @ 8E00574 .incbin "graphics/pokemon/back_pics/milotic_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE00574, 0x02F4 .align 2 gFile_graphics_pokemon_palettes_milotic_shiny_palette:: @ 8E00868 .incbin "graphics/pokemon/palettes/milotic_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE00868, 0x0028 .align 2 gFile_graphics_pokemon_icons_milotic_icon:: @ 8E00890 .incbin "graphics/pokemon/icons/milotic_icon.4bpp" - @ .incbin "baserom.gba", 0xE00890, 0x0400 .align 2 gFile_graphics_pokemon_footprints_milotic_footprint:: @ 8E00C90 .incbin "graphics/pokemon/footprints/milotic_footprint.1bpp" - @ .incbin "baserom.gba", 0xE00C90, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_carvanha_still_front_pic:: @ 8E00CB0 .incbin "graphics/pokemon/front_pics/carvanha_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE00CB0, 0x032C .align 2 gFile_graphics_pokemon_palettes_carvanha_palette:: @ 8E00FDC .incbin "graphics/pokemon/palettes/carvanha_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE00FDC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_carvanha_back_pic:: @ 8E01004 .incbin "graphics/pokemon/back_pics/carvanha_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE01004, 0x0310 .align 2 gFile_graphics_pokemon_palettes_carvanha_shiny_palette:: @ 8E01314 .incbin "graphics/pokemon/palettes/carvanha_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE01314, 0x0028 .align 2 gFile_graphics_pokemon_icons_carvanha_icon:: @ 8E0133C .incbin "graphics/pokemon/icons/carvanha_icon.4bpp" - @ .incbin "baserom.gba", 0xE0133C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_carvanha_footprint:: @ 8E0173C .incbin "graphics/pokemon/footprints/carvanha_footprint.1bpp" - @ .incbin "baserom.gba", 0xE0173C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_sharpedo_still_front_pic:: @ 8E0175C .incbin "graphics/pokemon/front_pics/sharpedo_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE0175C, 0x0390 .align 2 gFile_graphics_pokemon_palettes_sharpedo_palette:: @ 8E01AEC .incbin "graphics/pokemon/palettes/sharpedo_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE01AEC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_sharpedo_back_pic:: @ 8E01B14 .incbin "graphics/pokemon/back_pics/sharpedo_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE01B14, 0x0358 .align 2 gFile_graphics_pokemon_palettes_sharpedo_shiny_palette:: @ 8E01E6C .incbin "graphics/pokemon/palettes/sharpedo_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE01E6C, 0x0028 .align 2 gFile_graphics_pokemon_icons_sharpedo_icon:: @ 8E01E94 .incbin "graphics/pokemon/icons/sharpedo_icon.4bpp" - @ .incbin "baserom.gba", 0xE01E94, 0x0400 .align 2 gFile_graphics_pokemon_footprints_sharpedo_footprint:: @ 8E02294 .incbin "graphics/pokemon/footprints/sharpedo_footprint.1bpp" - @ .incbin "baserom.gba", 0xE02294, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_trapinch_still_front_pic:: @ 8E022B4 .incbin "graphics/pokemon/front_pics/trapinch_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE022B4, 0x021C .align 2 gFile_graphics_pokemon_palettes_trapinch_palette:: @ 8E024D0 .incbin "graphics/pokemon/palettes/trapinch_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE024D0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_trapinch_back_pic:: @ 8E024F8 .incbin "graphics/pokemon/back_pics/trapinch_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE024F8, 0x0220 .align 2 gFile_graphics_pokemon_palettes_trapinch_shiny_palette:: @ 8E02718 .incbin "graphics/pokemon/palettes/trapinch_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE02718, 0x0028 .align 2 gFile_graphics_pokemon_icons_trapinch_icon:: @ 8E02740 .incbin "graphics/pokemon/icons/trapinch_icon.4bpp" - @ .incbin "baserom.gba", 0xE02740, 0x0400 .align 2 gFile_graphics_pokemon_footprints_trapinch_footprint:: @ 8E02B40 .incbin "graphics/pokemon/footprints/trapinch_footprint.1bpp" - @ .incbin "baserom.gba", 0xE02B40, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_vibrava_still_front_pic:: @ 8E02B60 .incbin "graphics/pokemon/front_pics/vibrava_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE02B60, 0x0370 .align 2 gFile_graphics_pokemon_palettes_vibrava_palette:: @ 8E02ED0 .incbin "graphics/pokemon/palettes/vibrava_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE02ED0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_vibrava_back_pic:: @ 8E02EF8 .incbin "graphics/pokemon/back_pics/vibrava_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE02EF8, 0x0278 .align 2 gFile_graphics_pokemon_palettes_vibrava_shiny_palette:: @ 8E03170 .incbin "graphics/pokemon/palettes/vibrava_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE03170, 0x0028 .align 2 gFile_graphics_pokemon_icons_vibrava_icon:: @ 8E03198 .incbin "graphics/pokemon/icons/vibrava_icon.4bpp" - @ .incbin "baserom.gba", 0xE03198, 0x0400 .align 2 gFile_graphics_pokemon_footprints_vibrava_footprint:: @ 8E03598 .incbin "graphics/pokemon/footprints/vibrava_footprint.1bpp" - @ .incbin "baserom.gba", 0xE03598, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_flygon_still_front_pic:: @ 8E035B8 .incbin "graphics/pokemon/front_pics/flygon_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE035B8, 0x04F0 .align 2 gFile_graphics_pokemon_palettes_flygon_palette:: @ 8E03AA8 .incbin "graphics/pokemon/palettes/flygon_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE03AA8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_flygon_back_pic:: @ 8E03AD0 .incbin "graphics/pokemon/back_pics/flygon_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE03AD0, 0x043C .align 2 gFile_graphics_pokemon_palettes_flygon_shiny_palette:: @ 8E03F0C .incbin "graphics/pokemon/palettes/flygon_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE03F0C, 0x0028 .align 2 gFile_graphics_pokemon_icons_flygon_icon:: @ 8E03F34 .incbin "graphics/pokemon/icons/flygon_icon.4bpp" - @ .incbin "baserom.gba", 0xE03F34, 0x0400 .align 2 gFile_graphics_pokemon_footprints_flygon_footprint:: @ 8E04334 .incbin "graphics/pokemon/footprints/flygon_footprint.1bpp" - @ .incbin "baserom.gba", 0xE04334, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_makuhita_still_front_pic:: @ 8E04354 .incbin "graphics/pokemon/front_pics/makuhita_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE04354, 0x0318 .align 2 gFile_graphics_pokemon_palettes_makuhita_palette:: @ 8E0466C .incbin "graphics/pokemon/palettes/makuhita_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE0466C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_makuhita_back_pic:: @ 8E04694 .incbin "graphics/pokemon/back_pics/makuhita_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE04694, 0x02F0 .align 2 gFile_graphics_pokemon_palettes_makuhita_shiny_palette:: @ 8E04984 .incbin "graphics/pokemon/palettes/makuhita_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE04984, 0x0024 .align 2 gFile_graphics_pokemon_icons_makuhita_icon:: @ 8E049A8 .incbin "graphics/pokemon/icons/makuhita_icon.4bpp" - @ .incbin "baserom.gba", 0xE049A8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_makuhita_footprint:: @ 8E04DA8 .incbin "graphics/pokemon/footprints/makuhita_footprint.1bpp" - @ .incbin "baserom.gba", 0xE04DA8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_hariyama_still_front_pic:: @ 8E04DC8 .incbin "graphics/pokemon/front_pics/hariyama_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE04DC8, 0x04B0 .align 2 gFile_graphics_pokemon_palettes_hariyama_palette:: @ 8E05278 .incbin "graphics/pokemon/palettes/hariyama_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE05278, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_hariyama_back_pic:: @ 8E052A0 .incbin "graphics/pokemon/back_pics/hariyama_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE052A0, 0x03E0 .align 2 gFile_graphics_pokemon_palettes_hariyama_shiny_palette:: @ 8E05680 .incbin "graphics/pokemon/palettes/hariyama_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE05680, 0x0028 .align 2 gFile_graphics_pokemon_icons_hariyama_icon:: @ 8E056A8 .incbin "graphics/pokemon/icons/hariyama_icon.4bpp" - @ .incbin "baserom.gba", 0xE056A8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_hariyama_footprint:: @ 8E05AA8 .incbin "graphics/pokemon/footprints/hariyama_footprint.1bpp" - @ .incbin "baserom.gba", 0xE05AA8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_electrike_still_front_pic:: @ 8E05AC8 .incbin "graphics/pokemon/front_pics/electrike_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE05AC8, 0x0290 .align 2 gFile_graphics_pokemon_palettes_electrike_palette:: @ 8E05D58 .incbin "graphics/pokemon/palettes/electrike_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE05D58, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_electrike_back_pic:: @ 8E05D80 .incbin "graphics/pokemon/back_pics/electrike_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE05D80, 0x028C .align 2 gFile_graphics_pokemon_palettes_electrike_shiny_palette:: @ 8E0600C .incbin "graphics/pokemon/palettes/electrike_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE0600C, 0x0028 .align 2 gFile_graphics_pokemon_icons_electrike_icon:: @ 8E06034 .incbin "graphics/pokemon/icons/electrike_icon.4bpp" - @ .incbin "baserom.gba", 0xE06034, 0x0400 .align 2 gFile_graphics_pokemon_footprints_electrike_footprint:: @ 8E06434 .incbin "graphics/pokemon/footprints/electrike_footprint.1bpp" - @ .incbin "baserom.gba", 0xE06434, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_manectric_still_front_pic:: @ 8E06454 .incbin "graphics/pokemon/front_pics/manectric_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE06454, 0x0330 .align 2 gFile_graphics_pokemon_palettes_manectric_palette:: @ 8E06784 .incbin "graphics/pokemon/palettes/manectric_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE06784, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_manectric_back_pic:: @ 8E067AC .incbin "graphics/pokemon/back_pics/manectric_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE067AC, 0x022C .align 2 gFile_graphics_pokemon_palettes_manectric_shiny_palette:: @ 8E069D8 .incbin "graphics/pokemon/palettes/manectric_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE069D8, 0x0028 .align 2 gFile_graphics_pokemon_icons_manectric_icon:: @ 8E06A00 .incbin "graphics/pokemon/icons/manectric_icon.4bpp" - @ .incbin "baserom.gba", 0xE06A00, 0x0400 .align 2 gFile_graphics_pokemon_footprints_manectric_footprint:: @ 8E06E00 .incbin "graphics/pokemon/footprints/manectric_footprint.1bpp" - @ .incbin "baserom.gba", 0xE06E00, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_numel_still_front_pic:: @ 8E06E20 .incbin "graphics/pokemon/front_pics/numel_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE06E20, 0x02D0 .align 2 gFile_graphics_pokemon_palettes_numel_palette:: @ 8E070F0 .incbin "graphics/pokemon/palettes/numel_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE070F0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_numel_back_pic:: @ 8E07118 .incbin "graphics/pokemon/back_pics/numel_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE07118, 0x02BC .align 2 gFile_graphics_pokemon_palettes_numel_shiny_palette:: @ 8E073D4 .incbin "graphics/pokemon/palettes/numel_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE073D4, 0x0028 .align 2 gFile_graphics_pokemon_icons_numel_icon:: @ 8E073FC .incbin "graphics/pokemon/icons/numel_icon.4bpp" - @ .incbin "baserom.gba", 0xE073FC, 0x0400 .align 2 gFile_graphics_pokemon_footprints_numel_footprint:: @ 8E077FC .incbin "graphics/pokemon/footprints/numel_footprint.1bpp" - @ .incbin "baserom.gba", 0xE077FC, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_camerupt_still_front_pic:: @ 8E0781C .incbin "graphics/pokemon/front_pics/camerupt_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE0781C, 0x0418 .align 2 gFile_graphics_pokemon_palettes_camerupt_palette:: @ 8E07C34 .incbin "graphics/pokemon/palettes/camerupt_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE07C34, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_camerupt_back_pic:: @ 8E07C5C .incbin "graphics/pokemon/back_pics/camerupt_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE07C5C, 0x02C4 .align 2 gFile_graphics_pokemon_palettes_camerupt_shiny_palette:: @ 8E07F20 .incbin "graphics/pokemon/palettes/camerupt_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE07F20, 0x0028 .align 2 gFile_graphics_pokemon_icons_camerupt_icon:: @ 8E07F48 .incbin "graphics/pokemon/icons/camerupt_icon.4bpp" - @ .incbin "baserom.gba", 0xE07F48, 0x0400 .align 2 gFile_graphics_pokemon_footprints_camerupt_footprint:: @ 8E08348 .incbin "graphics/pokemon/footprints/camerupt_footprint.1bpp" - @ .incbin "baserom.gba", 0xE08348, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_spheal_still_front_pic:: @ 8E08368 .incbin "graphics/pokemon/front_pics/spheal_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE08368, 0x0274 .align 2 gFile_graphics_pokemon_palettes_spheal_palette:: @ 8E085DC .incbin "graphics/pokemon/palettes/spheal_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE085DC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_spheal_back_pic:: @ 8E08604 .incbin "graphics/pokemon/back_pics/spheal_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE08604, 0x01FC .align 2 gFile_graphics_pokemon_palettes_spheal_shiny_palette:: @ 8E08800 .incbin "graphics/pokemon/palettes/spheal_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE08800, 0x0028 .align 2 gFile_graphics_pokemon_icons_spheal_icon:: @ 8E08828 .incbin "graphics/pokemon/icons/spheal_icon.4bpp" - @ .incbin "baserom.gba", 0xE08828, 0x0400 .align 2 gFile_graphics_pokemon_footprints_spheal_footprint:: @ 8E08C28 .incbin "graphics/pokemon/footprints/spheal_footprint.1bpp" - @ .incbin "baserom.gba", 0xE08C28, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_sealeo_still_front_pic:: @ 8E08C48 .incbin "graphics/pokemon/front_pics/sealeo_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE08C48, 0x0380 .align 2 gFile_graphics_pokemon_palettes_sealeo_palette:: @ 8E08FC8 .incbin "graphics/pokemon/palettes/sealeo_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE08FC8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_sealeo_back_pic:: @ 8E08FF0 .incbin "graphics/pokemon/back_pics/sealeo_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE08FF0, 0x027C .align 2 gFile_graphics_pokemon_palettes_sealeo_shiny_palette:: @ 8E0926C .incbin "graphics/pokemon/palettes/sealeo_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE0926C, 0x0028 .align 2 gFile_graphics_pokemon_icons_sealeo_icon:: @ 8E09294 .incbin "graphics/pokemon/icons/sealeo_icon.4bpp" - @ .incbin "baserom.gba", 0xE09294, 0x0400 .align 2 gFile_graphics_pokemon_footprints_sealeo_footprint:: @ 8E09694 .incbin "graphics/pokemon/footprints/sealeo_footprint.1bpp" - @ .incbin "baserom.gba", 0xE09694, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_walrein_still_front_pic:: @ 8E096B4 .incbin "graphics/pokemon/front_pics/walrein_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE096B4, 0x04A0 .align 2 gFile_graphics_pokemon_palettes_walrein_palette:: @ 8E09B54 .incbin "graphics/pokemon/palettes/walrein_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE09B54, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_walrein_back_pic:: @ 8E09B7C .incbin "graphics/pokemon/back_pics/walrein_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE09B7C, 0x0388 .align 2 gFile_graphics_pokemon_palettes_walrein_shiny_palette:: @ 8E09F04 .incbin "graphics/pokemon/palettes/walrein_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE09F04, 0x0028 .align 2 gFile_graphics_pokemon_icons_walrein_icon:: @ 8E09F2C .incbin "graphics/pokemon/icons/walrein_icon.4bpp" - @ .incbin "baserom.gba", 0xE09F2C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_walrein_footprint:: @ 8E0A32C .incbin "graphics/pokemon/footprints/walrein_footprint.1bpp" - @ .incbin "baserom.gba", 0xE0A32C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_cacnea_still_front_pic:: @ 8E0A34C .incbin "graphics/pokemon/front_pics/cacnea_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE0A34C, 0x0310 .align 2 gFile_graphics_pokemon_palettes_cacnea_palette:: @ 8E0A65C .incbin "graphics/pokemon/palettes/cacnea_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE0A65C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_cacnea_back_pic:: @ 8E0A684 .incbin "graphics/pokemon/back_pics/cacnea_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE0A684, 0x0360 .align 2 gFile_graphics_pokemon_palettes_cacnea_shiny_palette:: @ 8E0A9E4 .incbin "graphics/pokemon/palettes/cacnea_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE0A9E4, 0x0028 .align 2 gFile_graphics_pokemon_icons_cacnea_icon:: @ 8E0AA0C .incbin "graphics/pokemon/icons/cacnea_icon.4bpp" - @ .incbin "baserom.gba", 0xE0AA0C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_cacnea_footprint:: @ 8E0AE0C .incbin "graphics/pokemon/footprints/cacnea_footprint.1bpp" - @ .incbin "baserom.gba", 0xE0AE0C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_cacturne_still_front_pic:: @ 8E0AE2C .incbin "graphics/pokemon/front_pics/cacturne_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE0AE2C, 0x0438 .align 2 gFile_graphics_pokemon_palettes_cacturne_palette:: @ 8E0B264 .incbin "graphics/pokemon/palettes/cacturne_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE0B264, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_cacturne_back_pic:: @ 8E0B28C .incbin "graphics/pokemon/back_pics/cacturne_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE0B28C, 0x0300 .align 2 gFile_graphics_pokemon_palettes_cacturne_shiny_palette:: @ 8E0B58C .incbin "graphics/pokemon/palettes/cacturne_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE0B58C, 0x0028 .align 2 gFile_graphics_pokemon_icons_cacturne_icon:: @ 8E0B5B4 .incbin "graphics/pokemon/icons/cacturne_icon.4bpp" - @ .incbin "baserom.gba", 0xE0B5B4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_cacturne_footprint:: @ 8E0B9B4 .incbin "graphics/pokemon/footprints/cacturne_footprint.1bpp" - @ .incbin "baserom.gba", 0xE0B9B4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_snorunt_still_front_pic:: @ 8E0B9D4 .incbin "graphics/pokemon/front_pics/snorunt_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE0B9D4, 0x02C4 .align 2 gFile_graphics_pokemon_palettes_snorunt_palette:: @ 8E0BC98 .incbin "graphics/pokemon/palettes/snorunt_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE0BC98, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_snorunt_back_pic:: @ 8E0BCC0 .incbin "graphics/pokemon/back_pics/snorunt_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE0BCC0, 0x02E4 .align 2 gFile_graphics_pokemon_palettes_snorunt_shiny_palette:: @ 8E0BFA4 .incbin "graphics/pokemon/palettes/snorunt_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE0BFA4, 0x0028 .align 2 gFile_graphics_pokemon_icons_snorunt_icon:: @ 8E0BFCC .incbin "graphics/pokemon/icons/snorunt_icon.4bpp" - @ .incbin "baserom.gba", 0xE0BFCC, 0x0400 .align 2 gFile_graphics_pokemon_footprints_snorunt_footprint:: @ 8E0C3CC .incbin "graphics/pokemon/footprints/snorunt_footprint.1bpp" - @ .incbin "baserom.gba", 0xE0C3CC, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_glalie_still_front_pic:: @ 8E0C3EC .incbin "graphics/pokemon/front_pics/glalie_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE0C3EC, 0x03C8 .align 2 gFile_graphics_pokemon_palettes_glalie_palette:: @ 8E0C7B4 .incbin "graphics/pokemon/palettes/glalie_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE0C7B4, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_glalie_back_pic:: @ 8E0C7DC .incbin "graphics/pokemon/back_pics/glalie_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE0C7DC, 0x03B0 .align 2 gFile_graphics_pokemon_palettes_glalie_shiny_palette:: @ 8E0CB8C .incbin "graphics/pokemon/palettes/glalie_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE0CB8C, 0x0028 .align 2 gFile_graphics_pokemon_icons_glalie_icon:: @ 8E0CBB4 .incbin "graphics/pokemon/icons/glalie_icon.4bpp" - @ .incbin "baserom.gba", 0xE0CBB4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_glalie_footprint:: @ 8E0CFB4 .incbin "graphics/pokemon/footprints/glalie_footprint.1bpp" - @ .incbin "baserom.gba", 0xE0CFB4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_lunatone_still_front_pic:: @ 8E0CFD4 .incbin "graphics/pokemon/front_pics/lunatone_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE0CFD4, 0x0328 .align 2 gFile_graphics_pokemon_palettes_lunatone_palette:: @ 8E0D2FC .incbin "graphics/pokemon/palettes/lunatone_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE0D2FC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_lunatone_back_pic:: @ 8E0D324 .incbin "graphics/pokemon/back_pics/lunatone_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE0D324, 0x0358 .align 2 gFile_graphics_pokemon_palettes_lunatone_shiny_palette:: @ 8E0D67C .incbin "graphics/pokemon/palettes/lunatone_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE0D67C, 0x0028 .align 2 gFile_graphics_pokemon_icons_lunatone_icon:: @ 8E0D6A4 .incbin "graphics/pokemon/icons/lunatone_icon.4bpp" - @ .incbin "baserom.gba", 0xE0D6A4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_lunatone_footprint:: @ 8E0DAA4 .incbin "graphics/pokemon/footprints/lunatone_footprint.1bpp" - @ .incbin "baserom.gba", 0xE0DAA4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_solrock_still_front_pic:: @ 8E0DAC4 .incbin "graphics/pokemon/front_pics/solrock_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE0DAC4, 0x044C .align 2 gFile_graphics_pokemon_palettes_solrock_palette:: @ 8E0DF10 .incbin "graphics/pokemon/palettes/solrock_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE0DF10, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_solrock_back_pic:: @ 8E0DF38 .incbin "graphics/pokemon/back_pics/solrock_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE0DF38, 0x03EC .align 2 gFile_graphics_pokemon_palettes_solrock_shiny_palette:: @ 8E0E324 .incbin "graphics/pokemon/palettes/solrock_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE0E324, 0x0028 .align 2 gFile_graphics_pokemon_icons_solrock_icon:: @ 8E0E34C .incbin "graphics/pokemon/icons/solrock_icon.4bpp" - @ .incbin "baserom.gba", 0xE0E34C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_solrock_footprint:: @ 8E0E74C .incbin "graphics/pokemon/footprints/solrock_footprint.1bpp" - @ .incbin "baserom.gba", 0xE0E74C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_azurill_still_front_pic:: @ 8E0E76C .incbin "graphics/pokemon/front_pics/azurill_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE0E76C, 0x02C8 .align 2 gFile_graphics_pokemon_palettes_azurill_palette:: @ 8E0EA34 .incbin "graphics/pokemon/palettes/azurill_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE0EA34, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_azurill_back_pic:: @ 8E0EA5C .incbin "graphics/pokemon/back_pics/azurill_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE0EA5C, 0x0318 .align 2 gFile_graphics_pokemon_palettes_azurill_shiny_palette:: @ 8E0ED74 .incbin "graphics/pokemon/palettes/azurill_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE0ED74, 0x0028 .align 2 gFile_graphics_pokemon_icons_azurill_icon:: @ 8E0ED9C .incbin "graphics/pokemon/icons/azurill_icon.4bpp" - @ .incbin "baserom.gba", 0xE0ED9C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_azurill_footprint:: @ 8E0F19C .incbin "graphics/pokemon/footprints/azurill_footprint.1bpp" - @ .incbin "baserom.gba", 0xE0F19C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_spoink_still_front_pic:: @ 8E0F1BC .incbin "graphics/pokemon/front_pics/spoink_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE0F1BC, 0x026C .align 2 gFile_graphics_pokemon_palettes_spoink_palette:: @ 8E0F428 .incbin "graphics/pokemon/palettes/spoink_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE0F428, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_spoink_back_pic:: @ 8E0F450 .incbin "graphics/pokemon/back_pics/spoink_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE0F450, 0x0240 .align 2 gFile_graphics_pokemon_palettes_spoink_shiny_palette:: @ 8E0F690 .incbin "graphics/pokemon/palettes/spoink_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE0F690, 0x0028 .align 2 gFile_graphics_pokemon_icons_spoink_icon:: @ 8E0F6B8 .incbin "graphics/pokemon/icons/spoink_icon.4bpp" - @ .incbin "baserom.gba", 0xE0F6B8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_spoink_footprint:: @ 8E0FAB8 .incbin "graphics/pokemon/footprints/spoink_footprint.1bpp" - @ .incbin "baserom.gba", 0xE0FAB8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_grumpig_still_front_pic:: @ 8E0FAD8 .incbin "graphics/pokemon/front_pics/grumpig_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE0FAD8, 0x03BC .align 2 gFile_graphics_pokemon_palettes_grumpig_palette:: @ 8E0FE94 .incbin "graphics/pokemon/palettes/grumpig_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE0FE94, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_grumpig_back_pic:: @ 8E0FEBC .incbin "graphics/pokemon/back_pics/grumpig_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE0FEBC, 0x0360 .align 2 gFile_graphics_pokemon_palettes_grumpig_shiny_palette:: @ 8E1021C .incbin "graphics/pokemon/palettes/grumpig_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE1021C, 0x0028 .align 2 gFile_graphics_pokemon_icons_grumpig_icon:: @ 8E10244 .incbin "graphics/pokemon/icons/grumpig_icon.4bpp" - @ .incbin "baserom.gba", 0xE10244, 0x0400 .align 2 gFile_graphics_pokemon_footprints_grumpig_footprint:: @ 8E10644 .incbin "graphics/pokemon/footprints/grumpig_footprint.1bpp" - @ .incbin "baserom.gba", 0xE10644, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_plusle_still_front_pic:: @ 8E10664 .incbin "graphics/pokemon/front_pics/plusle_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE10664, 0x028C .align 2 gFile_graphics_pokemon_palettes_plusle_palette:: @ 8E108F0 .incbin "graphics/pokemon/palettes/plusle_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE108F0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_plusle_back_pic:: @ 8E10918 .incbin "graphics/pokemon/back_pics/plusle_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE10918, 0x02B8 .align 2 gFile_graphics_pokemon_palettes_plusle_shiny_palette:: @ 8E10BD0 .incbin "graphics/pokemon/palettes/plusle_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE10BD0, 0x0028 .align 2 gFile_graphics_pokemon_icons_plusle_icon:: @ 8E10BF8 .incbin "graphics/pokemon/icons/plusle_icon.4bpp" - @ .incbin "baserom.gba", 0xE10BF8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_plusle_footprint:: @ 8E10FF8 .incbin "graphics/pokemon/footprints/plusle_footprint.1bpp" - @ .incbin "baserom.gba", 0xE10FF8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_minun_still_front_pic:: @ 8E11018 .incbin "graphics/pokemon/front_pics/minun_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE11018, 0x0268 .align 2 gFile_graphics_pokemon_palettes_minun_palette:: @ 8E11280 .incbin "graphics/pokemon/palettes/minun_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE11280, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_minun_back_pic:: @ 8E112A8 .incbin "graphics/pokemon/back_pics/minun_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE112A8, 0x02C8 .align 2 gFile_graphics_pokemon_palettes_minun_shiny_palette:: @ 8E11570 .incbin "graphics/pokemon/palettes/minun_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE11570, 0x0028 .align 2 gFile_graphics_pokemon_icons_minun_icon:: @ 8E11598 .incbin "graphics/pokemon/icons/minun_icon.4bpp" - @ .incbin "baserom.gba", 0xE11598, 0x0400 .align 2 gFile_graphics_pokemon_footprints_minun_footprint:: @ 8E11998 .incbin "graphics/pokemon/footprints/minun_footprint.1bpp" - @ .incbin "baserom.gba", 0xE11998, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_mawile_still_front_pic:: @ 8E119B8 .incbin "graphics/pokemon/front_pics/mawile_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE119B8, 0x03BC .align 2 gFile_graphics_pokemon_palettes_mawile_palette:: @ 8E11D74 .incbin "graphics/pokemon/palettes/mawile_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE11D74, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_mawile_back_pic:: @ 8E11D9C .incbin "graphics/pokemon/back_pics/mawile_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE11D9C, 0x0400 .align 2 gFile_graphics_pokemon_palettes_mawile_shiny_palette:: @ 8E1219C .incbin "graphics/pokemon/palettes/mawile_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE1219C, 0x0028 .align 2 gFile_graphics_pokemon_icons_mawile_icon:: @ 8E121C4 .incbin "graphics/pokemon/icons/mawile_icon.4bpp" - @ .incbin "baserom.gba", 0xE121C4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_mawile_footprint:: @ 8E125C4 .incbin "graphics/pokemon/footprints/mawile_footprint.1bpp" - @ .incbin "baserom.gba", 0xE125C4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_meditite_still_front_pic:: @ 8E125E4 .incbin "graphics/pokemon/front_pics/meditite_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE125E4, 0x02B8 .align 2 gFile_graphics_pokemon_palettes_meditite_palette:: @ 8E1289C .incbin "graphics/pokemon/palettes/meditite_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE1289C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_meditite_back_pic:: @ 8E128C4 .incbin "graphics/pokemon/back_pics/meditite_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE128C4, 0x02C8 .align 2 gFile_graphics_pokemon_palettes_meditite_shiny_palette:: @ 8E12B8C .incbin "graphics/pokemon/palettes/meditite_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE12B8C, 0x0024 .align 2 gFile_graphics_pokemon_icons_meditite_icon:: @ 8E12BB0 .incbin "graphics/pokemon/icons/meditite_icon.4bpp" - @ .incbin "baserom.gba", 0xE12BB0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_meditite_footprint:: @ 8E12FB0 .incbin "graphics/pokemon/footprints/meditite_footprint.1bpp" - @ .incbin "baserom.gba", 0xE12FB0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_medicham_still_front_pic:: @ 8E12FD0 .incbin "graphics/pokemon/front_pics/medicham_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE12FD0, 0x0330 .align 2 gFile_graphics_pokemon_palettes_medicham_palette:: @ 8E13300 .incbin "graphics/pokemon/palettes/medicham_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE13300, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_medicham_back_pic:: @ 8E13328 .incbin "graphics/pokemon/back_pics/medicham_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE13328, 0x0338 .align 2 gFile_graphics_pokemon_palettes_medicham_shiny_palette:: @ 8E13660 .incbin "graphics/pokemon/palettes/medicham_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE13660, 0x0028 .align 2 gFile_graphics_pokemon_icons_medicham_icon:: @ 8E13688 .incbin "graphics/pokemon/icons/medicham_icon.4bpp" - @ .incbin "baserom.gba", 0xE13688, 0x0400 .align 2 gFile_graphics_pokemon_footprints_medicham_footprint:: @ 8E13A88 .incbin "graphics/pokemon/footprints/medicham_footprint.1bpp" - @ .incbin "baserom.gba", 0xE13A88, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_swablu_still_front_pic:: @ 8E13AA8 .incbin "graphics/pokemon/front_pics/swablu_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE13AA8, 0x02D8 .align 2 gFile_graphics_pokemon_palettes_swablu_palette:: @ 8E13D80 .incbin "graphics/pokemon/palettes/swablu_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE13D80, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_swablu_back_pic:: @ 8E13DA8 .incbin "graphics/pokemon/back_pics/swablu_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE13DA8, 0x03B8 .align 2 gFile_graphics_pokemon_palettes_swablu_shiny_palette:: @ 8E14160 .incbin "graphics/pokemon/palettes/swablu_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE14160, 0x0028 .align 2 gFile_graphics_pokemon_icons_swablu_icon:: @ 8E14188 .incbin "graphics/pokemon/icons/swablu_icon.4bpp" - @ .incbin "baserom.gba", 0xE14188, 0x0400 .align 2 gFile_graphics_pokemon_footprints_swablu_footprint:: @ 8E14588 .incbin "graphics/pokemon/footprints/swablu_footprint.1bpp" - @ .incbin "baserom.gba", 0xE14588, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_altaria_still_front_pic:: @ 8E145A8 .incbin "graphics/pokemon/front_pics/altaria_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE145A8, 0x03DC .align 2 gFile_graphics_pokemon_palettes_altaria_palette:: @ 8E14984 .incbin "graphics/pokemon/palettes/altaria_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE14984, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_altaria_back_pic:: @ 8E149AC .incbin "graphics/pokemon/back_pics/altaria_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE149AC, 0x0378 .align 2 gFile_graphics_pokemon_palettes_altaria_shiny_palette:: @ 8E14D24 .incbin "graphics/pokemon/palettes/altaria_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE14D24, 0x0028 .align 2 gFile_graphics_pokemon_icons_altaria_icon:: @ 8E14D4C .incbin "graphics/pokemon/icons/altaria_icon.4bpp" - @ .incbin "baserom.gba", 0xE14D4C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_altaria_footprint:: @ 8E1514C .incbin "graphics/pokemon/footprints/altaria_footprint.1bpp" - @ .incbin "baserom.gba", 0xE1514C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_wynaut_still_front_pic:: @ 8E1516C .incbin "graphics/pokemon/front_pics/wynaut_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE1516C, 0x0298 .align 2 gFile_graphics_pokemon_palettes_wynaut_palette:: @ 8E15404 .incbin "graphics/pokemon/palettes/wynaut_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE15404, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_wynaut_back_pic:: @ 8E1542C .incbin "graphics/pokemon/back_pics/wynaut_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE1542C, 0x0290 .align 2 gFile_graphics_pokemon_palettes_wynaut_shiny_palette:: @ 8E156BC .incbin "graphics/pokemon/palettes/wynaut_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE156BC, 0x0028 .align 2 gFile_graphics_pokemon_icons_wynaut_icon:: @ 8E156E4 .incbin "graphics/pokemon/icons/wynaut_icon.4bpp" - @ .incbin "baserom.gba", 0xE156E4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_wynaut_footprint:: @ 8E15AE4 .incbin "graphics/pokemon/footprints/wynaut_footprint.1bpp" - @ .incbin "baserom.gba", 0xE15AE4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_duskull_still_front_pic:: @ 8E15B04 .incbin "graphics/pokemon/front_pics/duskull_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE15B04, 0x02F0 .align 2 gFile_graphics_pokemon_palettes_duskull_palette:: @ 8E15DF4 .incbin "graphics/pokemon/palettes/duskull_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE15DF4, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_duskull_back_pic:: @ 8E15E1C .incbin "graphics/pokemon/back_pics/duskull_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE15E1C, 0x02B0 .align 2 gFile_graphics_pokemon_palettes_duskull_shiny_palette:: @ 8E160CC .incbin "graphics/pokemon/palettes/duskull_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE160CC, 0x0028 .align 2 gFile_graphics_pokemon_icons_duskull_icon:: @ 8E160F4 .incbin "graphics/pokemon/icons/duskull_icon.4bpp" - @ .incbin "baserom.gba", 0xE160F4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_duskull_footprint:: @ 8E164F4 .incbin "graphics/pokemon/footprints/duskull_footprint.1bpp" - @ .incbin "baserom.gba", 0xE164F4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_dusclops_still_front_pic:: @ 8E16514 .incbin "graphics/pokemon/front_pics/dusclops_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE16514, 0x03A0 .align 2 gFile_graphics_pokemon_palettes_dusclops_palette:: @ 8E168B4 .incbin "graphics/pokemon/palettes/dusclops_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE168B4, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_dusclops_back_pic:: @ 8E168DC .incbin "graphics/pokemon/back_pics/dusclops_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE168DC, 0x02EC .align 2 gFile_graphics_pokemon_palettes_dusclops_shiny_palette:: @ 8E16BC8 .incbin "graphics/pokemon/palettes/dusclops_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE16BC8, 0x0028 .align 2 gFile_graphics_pokemon_icons_dusclops_icon:: @ 8E16BF0 .incbin "graphics/pokemon/icons/dusclops_icon.4bpp" - @ .incbin "baserom.gba", 0xE16BF0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_dusclops_footprint:: @ 8E16FF0 .incbin "graphics/pokemon/footprints/dusclops_footprint.1bpp" - @ .incbin "baserom.gba", 0xE16FF0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_roselia_still_front_pic:: @ 8E17010 .incbin "graphics/pokemon/front_pics/roselia_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE17010, 0x036C .align 2 gFile_graphics_pokemon_palettes_roselia_palette:: @ 8E1737C .incbin "graphics/pokemon/palettes/roselia_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE1737C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_roselia_back_pic:: @ 8E173A4 .incbin "graphics/pokemon/back_pics/roselia_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE173A4, 0x03C8 .align 2 gFile_graphics_pokemon_palettes_roselia_shiny_palette:: @ 8E1776C .incbin "graphics/pokemon/palettes/roselia_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE1776C, 0x0028 .align 2 gFile_graphics_pokemon_icons_roselia_icon:: @ 8E17794 .incbin "graphics/pokemon/icons/roselia_icon.4bpp" - @ .incbin "baserom.gba", 0xE17794, 0x0400 .align 2 gFile_graphics_pokemon_footprints_roselia_footprint:: @ 8E17B94 .incbin "graphics/pokemon/footprints/roselia_footprint.1bpp" - @ .incbin "baserom.gba", 0xE17B94, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_slakoth_still_front_pic:: @ 8E17BB4 .incbin "graphics/pokemon/front_pics/slakoth_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE17BB4, 0x02E8 .align 2 gFile_graphics_pokemon_palettes_slakoth_palette:: @ 8E17E9C .incbin "graphics/pokemon/palettes/slakoth_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE17E9C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_slakoth_back_pic:: @ 8E17EC4 .incbin "graphics/pokemon/back_pics/slakoth_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE17EC4, 0x02E8 .align 2 gFile_graphics_pokemon_palettes_slakoth_shiny_palette:: @ 8E181AC .incbin "graphics/pokemon/palettes/slakoth_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE181AC, 0x0028 .align 2 gFile_graphics_pokemon_icons_slakoth_icon:: @ 8E181D4 .incbin "graphics/pokemon/icons/slakoth_icon.4bpp" - @ .incbin "baserom.gba", 0xE181D4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_slakoth_footprint:: @ 8E185D4 .incbin "graphics/pokemon/footprints/slakoth_footprint.1bpp" - @ .incbin "baserom.gba", 0xE185D4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_vigoroth_still_front_pic:: @ 8E185F4 .incbin "graphics/pokemon/front_pics/vigoroth_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE185F4, 0x03FC .align 2 gFile_graphics_pokemon_palettes_vigoroth_palette:: @ 8E189F0 .incbin "graphics/pokemon/palettes/vigoroth_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE189F0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_vigoroth_back_pic:: @ 8E18A18 .incbin "graphics/pokemon/back_pics/vigoroth_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE18A18, 0x02C8 .align 2 gFile_graphics_pokemon_palettes_vigoroth_shiny_palette:: @ 8E18CE0 .incbin "graphics/pokemon/palettes/vigoroth_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE18CE0, 0x0028 .align 2 gFile_graphics_pokemon_icons_vigoroth_icon:: @ 8E18D08 .incbin "graphics/pokemon/icons/vigoroth_icon.4bpp" - @ .incbin "baserom.gba", 0xE18D08, 0x0400 .align 2 gFile_graphics_pokemon_footprints_vigoroth_footprint:: @ 8E19108 .incbin "graphics/pokemon/footprints/vigoroth_footprint.1bpp" - @ .incbin "baserom.gba", 0xE19108, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_slaking_still_front_pic:: @ 8E19128 .incbin "graphics/pokemon/front_pics/slaking_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE19128, 0x04D4 .align 2 gFile_graphics_pokemon_palettes_slaking_palette:: @ 8E195FC .incbin "graphics/pokemon/palettes/slaking_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE195FC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_slaking_back_pic:: @ 8E19624 .incbin "graphics/pokemon/back_pics/slaking_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE19624, 0x03C4 .align 2 gFile_graphics_pokemon_palettes_slaking_shiny_palette:: @ 8E199E8 .incbin "graphics/pokemon/palettes/slaking_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE199E8, 0x0028 .align 2 gFile_graphics_pokemon_icons_slaking_icon:: @ 8E19A10 .incbin "graphics/pokemon/icons/slaking_icon.4bpp" - @ .incbin "baserom.gba", 0xE19A10, 0x0400 .align 2 gFile_graphics_pokemon_footprints_slaking_footprint:: @ 8E19E10 .incbin "graphics/pokemon/footprints/slaking_footprint.1bpp" - @ .incbin "baserom.gba", 0xE19E10, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_gulpin_still_front_pic:: @ 8E19E30 .incbin "graphics/pokemon/front_pics/gulpin_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE19E30, 0x0218 .align 2 gFile_graphics_pokemon_palettes_gulpin_palette:: @ 8E1A048 .incbin "graphics/pokemon/palettes/gulpin_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE1A048, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_gulpin_back_pic:: @ 8E1A070 .incbin "graphics/pokemon/back_pics/gulpin_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE1A070, 0x0284 .align 2 gFile_graphics_pokemon_palettes_gulpin_shiny_palette:: @ 8E1A2F4 .incbin "graphics/pokemon/palettes/gulpin_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE1A2F4, 0x0028 .align 2 gFile_graphics_pokemon_icons_gulpin_icon:: @ 8E1A31C .incbin "graphics/pokemon/icons/gulpin_icon.4bpp" - @ .incbin "baserom.gba", 0xE1A31C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_gulpin_footprint:: @ 8E1A71C .incbin "graphics/pokemon/footprints/gulpin_footprint.1bpp" - @ .incbin "baserom.gba", 0xE1A71C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_swalot_still_front_pic:: @ 8E1A73C .incbin "graphics/pokemon/front_pics/swalot_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE1A73C, 0x0344 .align 2 gFile_graphics_pokemon_palettes_swalot_palette:: @ 8E1AA80 .incbin "graphics/pokemon/palettes/swalot_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE1AA80, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_swalot_back_pic:: @ 8E1AAA8 .incbin "graphics/pokemon/back_pics/swalot_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE1AAA8, 0x0348 .align 2 gFile_graphics_pokemon_palettes_swalot_shiny_palette:: @ 8E1ADF0 .incbin "graphics/pokemon/palettes/swalot_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE1ADF0, 0x0028 .align 2 gFile_graphics_pokemon_icons_swalot_icon:: @ 8E1AE18 .incbin "graphics/pokemon/icons/swalot_icon.4bpp" - @ .incbin "baserom.gba", 0xE1AE18, 0x0400 .align 2 gFile_graphics_pokemon_footprints_swalot_footprint:: @ 8E1B218 .incbin "graphics/pokemon/footprints/swalot_footprint.1bpp" - @ .incbin "baserom.gba", 0xE1B218, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_tropius_still_front_pic:: @ 8E1B238 .incbin "graphics/pokemon/front_pics/tropius_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE1B238, 0x0578 .align 2 gFile_graphics_pokemon_palettes_tropius_palette:: @ 8E1B7B0 .incbin "graphics/pokemon/palettes/tropius_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE1B7B0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_tropius_back_pic:: @ 8E1B7D8 .incbin "graphics/pokemon/back_pics/tropius_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE1B7D8, 0x0324 .align 2 gFile_graphics_pokemon_palettes_tropius_shiny_palette:: @ 8E1BAFC .incbin "graphics/pokemon/palettes/tropius_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE1BAFC, 0x0028 .align 2 gFile_graphics_pokemon_icons_tropius_icon:: @ 8E1BB24 .incbin "graphics/pokemon/icons/tropius_icon.4bpp" - @ .incbin "baserom.gba", 0xE1BB24, 0x0400 .align 2 gFile_graphics_pokemon_footprints_tropius_footprint:: @ 8E1BF24 .incbin "graphics/pokemon/footprints/tropius_footprint.1bpp" - @ .incbin "baserom.gba", 0xE1BF24, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_whismur_still_front_pic:: @ 8E1BF44 .incbin "graphics/pokemon/front_pics/whismur_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE1BF44, 0x0294 .align 2 gFile_graphics_pokemon_palettes_whismur_palette:: @ 8E1C1D8 .incbin "graphics/pokemon/palettes/whismur_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE1C1D8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_whismur_back_pic:: @ 8E1C200 .incbin "graphics/pokemon/back_pics/whismur_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE1C200, 0x0270 .align 2 gFile_graphics_pokemon_palettes_whismur_shiny_palette:: @ 8E1C470 .incbin "graphics/pokemon/palettes/whismur_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE1C470, 0x0028 .align 2 gFile_graphics_pokemon_icons_whismur_icon:: @ 8E1C498 .incbin "graphics/pokemon/icons/whismur_icon.4bpp" - @ .incbin "baserom.gba", 0xE1C498, 0x0400 .align 2 gFile_graphics_pokemon_footprints_whismur_footprint:: @ 8E1C898 .incbin "graphics/pokemon/footprints/whismur_footprint.1bpp" - @ .incbin "baserom.gba", 0xE1C898, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_loudred_still_front_pic:: @ 8E1C8B8 .incbin "graphics/pokemon/front_pics/loudred_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE1C8B8, 0x0478 .align 2 gFile_graphics_pokemon_palettes_loudred_palette:: @ 8E1CD30 .incbin "graphics/pokemon/palettes/loudred_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE1CD30, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_loudred_back_pic:: @ 8E1CD58 .incbin "graphics/pokemon/back_pics/loudred_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE1CD58, 0x0370 .align 2 gFile_graphics_pokemon_palettes_loudred_shiny_palette:: @ 8E1D0C8 .incbin "graphics/pokemon/palettes/loudred_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE1D0C8, 0x0028 .align 2 gFile_graphics_pokemon_icons_loudred_icon:: @ 8E1D0F0 .incbin "graphics/pokemon/icons/loudred_icon.4bpp" - @ .incbin "baserom.gba", 0xE1D0F0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_loudred_footprint:: @ 8E1D4F0 .incbin "graphics/pokemon/footprints/loudred_footprint.1bpp" - @ .incbin "baserom.gba", 0xE1D4F0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_exploud_still_front_pic:: @ 8E1D510 .incbin "graphics/pokemon/front_pics/exploud_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE1D510, 0x0568 .align 2 gFile_graphics_pokemon_palettes_exploud_palette:: @ 8E1DA78 .incbin "graphics/pokemon/palettes/exploud_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE1DA78, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_exploud_back_pic:: @ 8E1DAA0 .incbin "graphics/pokemon/back_pics/exploud_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE1DAA0, 0x040C .align 2 gFile_graphics_pokemon_palettes_exploud_shiny_palette:: @ 8E1DEAC .incbin "graphics/pokemon/palettes/exploud_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE1DEAC, 0x0028 .align 2 gFile_graphics_pokemon_icons_exploud_icon:: @ 8E1DED4 .incbin "graphics/pokemon/icons/exploud_icon.4bpp" - @ .incbin "baserom.gba", 0xE1DED4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_exploud_footprint:: @ 8E1E2D4 .incbin "graphics/pokemon/footprints/exploud_footprint.1bpp" - @ .incbin "baserom.gba", 0xE1E2D4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_clamperl_still_front_pic:: @ 8E1E2F4 .incbin "graphics/pokemon/front_pics/clamperl_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE1E2F4, 0x02D8 .align 2 gFile_graphics_pokemon_palettes_clamperl_palette:: @ 8E1E5CC .incbin "graphics/pokemon/palettes/clamperl_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE1E5CC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_clamperl_back_pic:: @ 8E1E5F4 .incbin "graphics/pokemon/back_pics/clamperl_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE1E5F4, 0x0294 .align 2 gFile_graphics_pokemon_palettes_clamperl_shiny_palette:: @ 8E1E888 .incbin "graphics/pokemon/palettes/clamperl_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE1E888, 0x0028 .align 2 gFile_graphics_pokemon_icons_clamperl_icon:: @ 8E1E8B0 .incbin "graphics/pokemon/icons/clamperl_icon.4bpp" - @ .incbin "baserom.gba", 0xE1E8B0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_clamperl_footprint:: @ 8E1ECB0 .incbin "graphics/pokemon/footprints/clamperl_footprint.1bpp" - @ .incbin "baserom.gba", 0xE1ECB0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_huntail_still_front_pic:: @ 8E1ECD0 .incbin "graphics/pokemon/front_pics/huntail_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE1ECD0, 0x03CC .align 2 gFile_graphics_pokemon_palettes_huntail_palette:: @ 8E1F09C .incbin "graphics/pokemon/palettes/huntail_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE1F09C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_huntail_back_pic:: @ 8E1F0C4 .incbin "graphics/pokemon/back_pics/huntail_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE1F0C4, 0x0354 .align 2 gFile_graphics_pokemon_palettes_huntail_shiny_palette:: @ 8E1F418 .incbin "graphics/pokemon/palettes/huntail_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE1F418, 0x0028 .align 2 gFile_graphics_pokemon_icons_huntail_icon:: @ 8E1F440 .incbin "graphics/pokemon/icons/huntail_icon.4bpp" - @ .incbin "baserom.gba", 0xE1F440, 0x0400 .align 2 gFile_graphics_pokemon_footprints_huntail_footprint:: @ 8E1F840 .incbin "graphics/pokemon/footprints/huntail_footprint.1bpp" - @ .incbin "baserom.gba", 0xE1F840, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_gorebyss_still_front_pic:: @ 8E1F860 .incbin "graphics/pokemon/front_pics/gorebyss_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE1F860, 0x0310 .align 2 gFile_graphics_pokemon_palettes_gorebyss_palette:: @ 8E1FB70 .incbin "graphics/pokemon/palettes/gorebyss_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE1FB70, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_gorebyss_back_pic:: @ 8E1FB98 .incbin "graphics/pokemon/back_pics/gorebyss_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE1FB98, 0x02E8 .align 2 gFile_graphics_pokemon_palettes_gorebyss_shiny_palette:: @ 8E1FE80 .incbin "graphics/pokemon/palettes/gorebyss_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE1FE80, 0x0028 .align 2 gFile_graphics_pokemon_icons_gorebyss_icon:: @ 8E1FEA8 .incbin "graphics/pokemon/icons/gorebyss_icon.4bpp" - @ .incbin "baserom.gba", 0xE1FEA8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_gorebyss_footprint:: @ 8E202A8 .incbin "graphics/pokemon/footprints/gorebyss_footprint.1bpp" - @ .incbin "baserom.gba", 0xE202A8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_absol_still_front_pic:: @ 8E202C8 .incbin "graphics/pokemon/front_pics/absol_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE202C8, 0x0430 .align 2 gFile_graphics_pokemon_palettes_absol_palette:: @ 8E206F8 .incbin "graphics/pokemon/palettes/absol_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE206F8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_absol_back_pic:: @ 8E20720 .incbin "graphics/pokemon/back_pics/absol_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE20720, 0x0360 .align 2 gFile_graphics_pokemon_palettes_absol_shiny_palette:: @ 8E20A80 .incbin "graphics/pokemon/palettes/absol_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE20A80, 0x0028 .align 2 gFile_graphics_pokemon_icons_absol_icon:: @ 8E20AA8 .incbin "graphics/pokemon/icons/absol_icon.4bpp" - @ .incbin "baserom.gba", 0xE20AA8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_absol_footprint:: @ 8E20EA8 .incbin "graphics/pokemon/footprints/absol_footprint.1bpp" - @ .incbin "baserom.gba", 0xE20EA8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_shuppet_still_front_pic:: @ 8E20EC8 .incbin "graphics/pokemon/front_pics/shuppet_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE20EC8, 0x0238 .align 2 gFile_graphics_pokemon_palettes_shuppet_palette:: @ 8E21100 .incbin "graphics/pokemon/palettes/shuppet_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE21100, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_shuppet_back_pic:: @ 8E21128 .incbin "graphics/pokemon/back_pics/shuppet_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE21128, 0x0298 .align 2 gFile_graphics_pokemon_palettes_shuppet_shiny_palette:: @ 8E213C0 .incbin "graphics/pokemon/palettes/shuppet_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE213C0, 0x0028 .align 2 gFile_graphics_pokemon_icons_shuppet_icon:: @ 8E213E8 .incbin "graphics/pokemon/icons/shuppet_icon.4bpp" - @ .incbin "baserom.gba", 0xE213E8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_shuppet_footprint:: @ 8E217E8 .incbin "graphics/pokemon/footprints/shuppet_footprint.1bpp" - @ .incbin "baserom.gba", 0xE217E8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_banette_still_front_pic:: @ 8E21808 .incbin "graphics/pokemon/front_pics/banette_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE21808, 0x02B4 .align 2 gFile_graphics_pokemon_palettes_banette_palette:: @ 8E21ABC .incbin "graphics/pokemon/palettes/banette_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE21ABC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_banette_back_pic:: @ 8E21AE4 .incbin "graphics/pokemon/back_pics/banette_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE21AE4, 0x027C .align 2 gFile_graphics_pokemon_palettes_banette_shiny_palette:: @ 8E21D60 .incbin "graphics/pokemon/palettes/banette_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE21D60, 0x0028 .align 2 gFile_graphics_pokemon_icons_banette_icon:: @ 8E21D88 .incbin "graphics/pokemon/icons/banette_icon.4bpp" - @ .incbin "baserom.gba", 0xE21D88, 0x0400 .align 2 gFile_graphics_pokemon_footprints_banette_footprint:: @ 8E22188 .incbin "graphics/pokemon/footprints/banette_footprint.1bpp" - @ .incbin "baserom.gba", 0xE22188, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_seviper_still_front_pic:: @ 8E221A8 .incbin "graphics/pokemon/front_pics/seviper_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE221A8, 0x0420 .align 2 gFile_graphics_pokemon_palettes_seviper_palette:: @ 8E225C8 .incbin "graphics/pokemon/palettes/seviper_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE225C8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_seviper_back_pic:: @ 8E225F0 .incbin "graphics/pokemon/back_pics/seviper_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE225F0, 0x048C .align 2 gFile_graphics_pokemon_palettes_seviper_shiny_palette:: @ 8E22A7C .incbin "graphics/pokemon/palettes/seviper_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE22A7C, 0x0028 .align 2 gFile_graphics_pokemon_icons_seviper_icon:: @ 8E22AA4 .incbin "graphics/pokemon/icons/seviper_icon.4bpp" - @ .incbin "baserom.gba", 0xE22AA4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_seviper_footprint:: @ 8E22EA4 .incbin "graphics/pokemon/footprints/seviper_footprint.1bpp" - @ .incbin "baserom.gba", 0xE22EA4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_zangoose_still_front_pic:: @ 8E22EC4 .incbin "graphics/pokemon/front_pics/zangoose_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE22EC4, 0x03CC .align 2 gFile_graphics_pokemon_palettes_zangoose_palette:: @ 8E23290 .incbin "graphics/pokemon/palettes/zangoose_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE23290, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_zangoose_back_pic:: @ 8E232B8 .incbin "graphics/pokemon/back_pics/zangoose_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE232B8, 0x0374 .align 2 gFile_graphics_pokemon_palettes_zangoose_shiny_palette:: @ 8E2362C .incbin "graphics/pokemon/palettes/zangoose_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE2362C, 0x0028 .align 2 gFile_graphics_pokemon_icons_zangoose_icon:: @ 8E23654 .incbin "graphics/pokemon/icons/zangoose_icon.4bpp" - @ .incbin "baserom.gba", 0xE23654, 0x0400 .align 2 gFile_graphics_pokemon_footprints_zangoose_footprint:: @ 8E23A54 .incbin "graphics/pokemon/footprints/zangoose_footprint.1bpp" - @ .incbin "baserom.gba", 0xE23A54, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_relicanth_still_front_pic:: @ 8E23A74 .incbin "graphics/pokemon/front_pics/relicanth_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE23A74, 0x0394 .align 2 gFile_graphics_pokemon_palettes_relicanth_palette:: @ 8E23E08 .incbin "graphics/pokemon/palettes/relicanth_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE23E08, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_relicanth_back_pic:: @ 8E23E30 .incbin "graphics/pokemon/back_pics/relicanth_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE23E30, 0x0358 .align 2 gFile_graphics_pokemon_palettes_relicanth_shiny_palette:: @ 8E24188 .incbin "graphics/pokemon/palettes/relicanth_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE24188, 0x0028 .align 2 gFile_graphics_pokemon_icons_relicanth_icon:: @ 8E241B0 .incbin "graphics/pokemon/icons/relicanth_icon.4bpp" - @ .incbin "baserom.gba", 0xE241B0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_relicanth_footprint:: @ 8E245B0 .incbin "graphics/pokemon/footprints/relicanth_footprint.1bpp" - @ .incbin "baserom.gba", 0xE245B0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_aron_still_front_pic:: @ 8E245D0 .incbin "graphics/pokemon/front_pics/aron_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE245D0, 0x01E8 .align 2 gFile_graphics_pokemon_palettes_aron_palette:: @ 8E247B8 .incbin "graphics/pokemon/palettes/aron_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE247B8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_aron_back_pic:: @ 8E247E0 .incbin "graphics/pokemon/back_pics/aron_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE247E0, 0x0228 .align 2 gFile_graphics_pokemon_palettes_aron_shiny_palette:: @ 8E24A08 .incbin "graphics/pokemon/palettes/aron_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE24A08, 0x0028 .align 2 gFile_graphics_pokemon_icons_aron_icon:: @ 8E24A30 .incbin "graphics/pokemon/icons/aron_icon.4bpp" - @ .incbin "baserom.gba", 0xE24A30, 0x0400 .align 2 gFile_graphics_pokemon_footprints_aron_footprint:: @ 8E24E30 .incbin "graphics/pokemon/footprints/aron_footprint.1bpp" - @ .incbin "baserom.gba", 0xE24E30, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_lairon_still_front_pic:: @ 8E24E50 .incbin "graphics/pokemon/front_pics/lairon_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE24E50, 0x03CC .align 2 gFile_graphics_pokemon_palettes_lairon_palette:: @ 8E2521C .incbin "graphics/pokemon/palettes/lairon_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE2521C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_lairon_back_pic:: @ 8E25244 .incbin "graphics/pokemon/back_pics/lairon_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE25244, 0x02EC .align 2 gFile_graphics_pokemon_palettes_lairon_shiny_palette:: @ 8E25530 .incbin "graphics/pokemon/palettes/lairon_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE25530, 0x0028 .align 2 gFile_graphics_pokemon_icons_lairon_icon:: @ 8E25558 .incbin "graphics/pokemon/icons/lairon_icon.4bpp" - @ .incbin "baserom.gba", 0xE25558, 0x0400 .align 2 gFile_graphics_pokemon_footprints_lairon_footprint:: @ 8E25958 .incbin "graphics/pokemon/footprints/lairon_footprint.1bpp" - @ .incbin "baserom.gba", 0xE25958, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_aggron_still_front_pic:: @ 8E25978 .incbin "graphics/pokemon/front_pics/aggron_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE25978, 0x057C .align 2 gFile_graphics_pokemon_palettes_aggron_palette:: @ 8E25EF4 .incbin "graphics/pokemon/palettes/aggron_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE25EF4, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_aggron_back_pic:: @ 8E25F1C .incbin "graphics/pokemon/back_pics/aggron_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE25F1C, 0x0428 .align 2 gFile_graphics_pokemon_palettes_aggron_shiny_palette:: @ 8E26344 .incbin "graphics/pokemon/palettes/aggron_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE26344, 0x0028 .align 2 gFile_graphics_pokemon_icons_aggron_icon:: @ 8E2636C .incbin "graphics/pokemon/icons/aggron_icon.4bpp" - @ .incbin "baserom.gba", 0xE2636C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_aggron_footprint:: @ 8E2676C .incbin "graphics/pokemon/footprints/aggron_footprint.1bpp" - @ .incbin "baserom.gba", 0xE2676C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_castform_still_front_pic:: @ 8E2678C .incbin "graphics/pokemon/front_pics/castform_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE2678C, 0x0A88 .align 2 gFile_graphics_pokemon_palettes_castform_palette:: @ 8E27214 .incbin "graphics/pokemon/palettes/castform_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE27214, 0x0080 .align 2 gFile_graphics_pokemon_back_pics_castform_back_pic:: @ 8E27294 .incbin "graphics/pokemon/back_pics/castform_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE27294, 0x09BC .align 2 gFile_graphics_pokemon_palettes_castform_shiny_palette:: @ 8E27C50 .incbin "graphics/pokemon/palettes/castform_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE27C50, 0x007C .align 2 gFile_graphics_pokemon_icons_castform_icon:: @ 8E27CCC .incbin "graphics/pokemon/icons/castform_icon.4bpp" - @ .incbin "baserom.gba", 0xE27CCC, 0x0400 .align 2 gFile_graphics_pokemon_footprints_castform_footprint:: @ 8E280CC .incbin "graphics/pokemon/footprints/castform_footprint.1bpp" - @ .incbin "baserom.gba", 0xE280CC, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_volbeat_still_front_pic:: @ 8E280EC .incbin "graphics/pokemon/front_pics/volbeat_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE280EC, 0x0390 .align 2 gFile_graphics_pokemon_palettes_volbeat_palette:: @ 8E2847C .incbin "graphics/pokemon/palettes/volbeat_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE2847C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_volbeat_back_pic:: @ 8E284A4 .incbin "graphics/pokemon/back_pics/volbeat_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE284A4, 0x0360 .align 2 gFile_graphics_pokemon_palettes_volbeat_shiny_palette:: @ 8E28804 .incbin "graphics/pokemon/palettes/volbeat_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE28804, 0x0028 .align 2 gFile_graphics_pokemon_icons_volbeat_icon:: @ 8E2882C .incbin "graphics/pokemon/icons/volbeat_icon.4bpp" - @ .incbin "baserom.gba", 0xE2882C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_volbeat_footprint:: @ 8E28C2C .incbin "graphics/pokemon/footprints/volbeat_footprint.1bpp" - @ .incbin "baserom.gba", 0xE28C2C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_illumise_still_front_pic:: @ 8E28C4C .incbin "graphics/pokemon/front_pics/illumise_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE28C4C, 0x0374 .align 2 gFile_graphics_pokemon_palettes_illumise_palette:: @ 8E28FC0 .incbin "graphics/pokemon/palettes/illumise_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE28FC0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_illumise_back_pic:: @ 8E28FE8 .incbin "graphics/pokemon/back_pics/illumise_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE28FE8, 0x031C .align 2 gFile_graphics_pokemon_palettes_illumise_shiny_palette:: @ 8E29304 .incbin "graphics/pokemon/palettes/illumise_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE29304, 0x0028 .align 2 gFile_graphics_pokemon_icons_illumise_icon:: @ 8E2932C .incbin "graphics/pokemon/icons/illumise_icon.4bpp" - @ .incbin "baserom.gba", 0xE2932C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_illumise_footprint:: @ 8E2972C .incbin "graphics/pokemon/footprints/illumise_footprint.1bpp" - @ .incbin "baserom.gba", 0xE2972C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_lileep_still_front_pic:: @ 8E2974C .incbin "graphics/pokemon/front_pics/lileep_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE2974C, 0x0344 .align 2 gFile_graphics_pokemon_palettes_lileep_palette:: @ 8E29A90 .incbin "graphics/pokemon/palettes/lileep_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE29A90, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_lileep_back_pic:: @ 8E29AB8 .incbin "graphics/pokemon/back_pics/lileep_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE29AB8, 0x0344 .align 2 gFile_graphics_pokemon_palettes_lileep_shiny_palette:: @ 8E29DFC .incbin "graphics/pokemon/palettes/lileep_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE29DFC, 0x0028 .align 2 gFile_graphics_pokemon_icons_lileep_icon:: @ 8E29E24 .incbin "graphics/pokemon/icons/lileep_icon.4bpp" - @ .incbin "baserom.gba", 0xE29E24, 0x0400 .align 2 gFile_graphics_pokemon_footprints_lileep_footprint:: @ 8E2A224 .incbin "graphics/pokemon/footprints/lileep_footprint.1bpp" - @ .incbin "baserom.gba", 0xE2A224, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_cradily_still_front_pic:: @ 8E2A244 .incbin "graphics/pokemon/front_pics/cradily_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE2A244, 0x041C .align 2 gFile_graphics_pokemon_palettes_cradily_palette:: @ 8E2A660 .incbin "graphics/pokemon/palettes/cradily_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE2A660, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_cradily_back_pic:: @ 8E2A688 .incbin "graphics/pokemon/back_pics/cradily_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE2A688, 0x03FC .align 2 gFile_graphics_pokemon_palettes_cradily_shiny_palette:: @ 8E2AA84 .incbin "graphics/pokemon/palettes/cradily_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE2AA84, 0x0028 .align 2 gFile_graphics_pokemon_icons_cradily_icon:: @ 8E2AAAC .incbin "graphics/pokemon/icons/cradily_icon.4bpp" - @ .incbin "baserom.gba", 0xE2AAAC, 0x0400 .align 2 gFile_graphics_pokemon_footprints_cradily_footprint:: @ 8E2AEAC .incbin "graphics/pokemon/footprints/cradily_footprint.1bpp" - @ .incbin "baserom.gba", 0xE2AEAC, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_anorith_still_front_pic:: @ 8E2AECC .incbin "graphics/pokemon/front_pics/anorith_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE2AECC, 0x0324 .align 2 gFile_graphics_pokemon_palettes_anorith_palette:: @ 8E2B1F0 .incbin "graphics/pokemon/palettes/anorith_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE2B1F0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_anorith_back_pic:: @ 8E2B218 .incbin "graphics/pokemon/back_pics/anorith_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE2B218, 0x0248 .align 2 gFile_graphics_pokemon_palettes_anorith_shiny_palette:: @ 8E2B460 .incbin "graphics/pokemon/palettes/anorith_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE2B460, 0x0028 .align 2 gFile_graphics_pokemon_icons_anorith_icon:: @ 8E2B488 .incbin "graphics/pokemon/icons/anorith_icon.4bpp" - @ .incbin "baserom.gba", 0xE2B488, 0x0400 .align 2 gFile_graphics_pokemon_footprints_anorith_footprint:: @ 8E2B888 .incbin "graphics/pokemon/footprints/anorith_footprint.1bpp" - @ .incbin "baserom.gba", 0xE2B888, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_armaldo_still_front_pic:: @ 8E2B8A8 .incbin "graphics/pokemon/front_pics/armaldo_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE2B8A8, 0x0580 .align 2 gFile_graphics_pokemon_palettes_armaldo_palette:: @ 8E2BE28 .incbin "graphics/pokemon/palettes/armaldo_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE2BE28, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_armaldo_back_pic:: @ 8E2BE50 .incbin "graphics/pokemon/back_pics/armaldo_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE2BE50, 0x0438 .align 2 gFile_graphics_pokemon_palettes_armaldo_shiny_palette:: @ 8E2C288 .incbin "graphics/pokemon/palettes/armaldo_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE2C288, 0x0028 .align 2 gFile_graphics_pokemon_icons_armaldo_icon:: @ 8E2C2B0 .incbin "graphics/pokemon/icons/armaldo_icon.4bpp" - @ .incbin "baserom.gba", 0xE2C2B0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_armaldo_footprint:: @ 8E2C6B0 .incbin "graphics/pokemon/footprints/armaldo_footprint.1bpp" - @ .incbin "baserom.gba", 0xE2C6B0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_ralts_still_front_pic:: @ 8E2C6D0 .incbin "graphics/pokemon/front_pics/ralts_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE2C6D0, 0x0230 .align 2 gFile_graphics_pokemon_palettes_ralts_palette:: @ 8E2C900 .incbin "graphics/pokemon/palettes/ralts_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE2C900, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_ralts_back_pic:: @ 8E2C928 .incbin "graphics/pokemon/back_pics/ralts_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE2C928, 0x023C .align 2 gFile_graphics_pokemon_palettes_ralts_shiny_palette:: @ 8E2CB64 .incbin "graphics/pokemon/palettes/ralts_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE2CB64, 0x0028 .align 2 gFile_graphics_pokemon_icons_ralts_icon:: @ 8E2CB8C .incbin "graphics/pokemon/icons/ralts_icon.4bpp" - @ .incbin "baserom.gba", 0xE2CB8C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_ralts_footprint:: @ 8E2CF8C .incbin "graphics/pokemon/footprints/ralts_footprint.1bpp" - @ .incbin "baserom.gba", 0xE2CF8C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_kirlia_still_front_pic:: @ 8E2CFAC .incbin "graphics/pokemon/front_pics/kirlia_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE2CFAC, 0x02FC .align 2 gFile_graphics_pokemon_palettes_kirlia_palette:: @ 8E2D2A8 .incbin "graphics/pokemon/palettes/kirlia_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE2D2A8, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_kirlia_back_pic:: @ 8E2D2D0 .incbin "graphics/pokemon/back_pics/kirlia_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE2D2D0, 0x0374 .align 2 gFile_graphics_pokemon_palettes_kirlia_shiny_palette:: @ 8E2D644 .incbin "graphics/pokemon/palettes/kirlia_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE2D644, 0x0028 .align 2 gFile_graphics_pokemon_icons_kirlia_icon:: @ 8E2D66C .incbin "graphics/pokemon/icons/kirlia_icon.4bpp" - @ .incbin "baserom.gba", 0xE2D66C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_kirlia_footprint:: @ 8E2DA6C .incbin "graphics/pokemon/footprints/kirlia_footprint.1bpp" - @ .incbin "baserom.gba", 0xE2DA6C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_gardevoir_still_front_pic:: @ 8E2DA8C .incbin "graphics/pokemon/front_pics/gardevoir_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE2DA8C, 0x037C .align 2 gFile_graphics_pokemon_palettes_gardevoir_palette:: @ 8E2DE08 .incbin "graphics/pokemon/palettes/gardevoir_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE2DE08, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_gardevoir_back_pic:: @ 8E2DE30 .incbin "graphics/pokemon/back_pics/gardevoir_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE2DE30, 0x0334 .align 2 gFile_graphics_pokemon_palettes_gardevoir_shiny_palette:: @ 8E2E164 .incbin "graphics/pokemon/palettes/gardevoir_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE2E164, 0x0028 .align 2 gFile_graphics_pokemon_icons_gardevoir_icon:: @ 8E2E18C .incbin "graphics/pokemon/icons/gardevoir_icon.4bpp" - @ .incbin "baserom.gba", 0xE2E18C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_gardevoir_footprint:: @ 8E2E58C .incbin "graphics/pokemon/footprints/gardevoir_footprint.1bpp" - @ .incbin "baserom.gba", 0xE2E58C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_bagon_still_front_pic:: @ 8E2E5AC .incbin "graphics/pokemon/front_pics/bagon_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE2E5AC, 0x0278 .align 2 gFile_graphics_pokemon_palettes_bagon_palette:: @ 8E2E824 .incbin "graphics/pokemon/palettes/bagon_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE2E824, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_bagon_back_pic:: @ 8E2E84C .incbin "graphics/pokemon/back_pics/bagon_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE2E84C, 0x02E8 .align 2 gFile_graphics_pokemon_palettes_bagon_shiny_palette:: @ 8E2EB34 .incbin "graphics/pokemon/palettes/bagon_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE2EB34, 0x0028 .align 2 gFile_graphics_pokemon_icons_bagon_icon:: @ 8E2EB5C .incbin "graphics/pokemon/icons/bagon_icon.4bpp" - @ .incbin "baserom.gba", 0xE2EB5C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_bagon_footprint:: @ 8E2EF5C .incbin "graphics/pokemon/footprints/bagon_footprint.1bpp" - @ .incbin "baserom.gba", 0xE2EF5C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_shelgon_still_front_pic:: @ 8E2EF7C .incbin "graphics/pokemon/front_pics/shelgon_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE2EF7C, 0x0304 .align 2 gFile_graphics_pokemon_palettes_shelgon_palette:: @ 8E2F280 .incbin "graphics/pokemon/palettes/shelgon_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE2F280, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_shelgon_back_pic:: @ 8E2F2A8 .incbin "graphics/pokemon/back_pics/shelgon_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE2F2A8, 0x02E8 .align 2 gFile_graphics_pokemon_palettes_shelgon_shiny_palette:: @ 8E2F590 .incbin "graphics/pokemon/palettes/shelgon_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE2F590, 0x0028 .align 2 gFile_graphics_pokemon_icons_shelgon_icon:: @ 8E2F5B8 .incbin "graphics/pokemon/icons/shelgon_icon.4bpp" - @ .incbin "baserom.gba", 0xE2F5B8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_shelgon_footprint:: @ 8E2F9B8 .incbin "graphics/pokemon/footprints/shelgon_footprint.1bpp" - @ .incbin "baserom.gba", 0xE2F9B8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_salamence_still_front_pic:: @ 8E2F9D8 .incbin "graphics/pokemon/front_pics/salamence_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE2F9D8, 0x0464 .align 2 gFile_graphics_pokemon_palettes_salamence_palette:: @ 8E2FE3C .incbin "graphics/pokemon/palettes/salamence_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE2FE3C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_salamence_back_pic:: @ 8E2FE64 .incbin "graphics/pokemon/back_pics/salamence_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE2FE64, 0x02E4 .align 2 gFile_graphics_pokemon_palettes_salamence_shiny_palette:: @ 8E30148 .incbin "graphics/pokemon/palettes/salamence_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE30148, 0x0028 .align 2 gFile_graphics_pokemon_icons_salamence_icon:: @ 8E30170 .incbin "graphics/pokemon/icons/salamence_icon.4bpp" - @ .incbin "baserom.gba", 0xE30170, 0x0400 .align 2 gFile_graphics_pokemon_footprints_salamence_footprint:: @ 8E30570 .incbin "graphics/pokemon/footprints/salamence_footprint.1bpp" - @ .incbin "baserom.gba", 0xE30570, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_beldum_still_front_pic:: @ 8E30590 .incbin "graphics/pokemon/front_pics/beldum_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE30590, 0x0270 .align 2 gFile_graphics_pokemon_palettes_beldum_palette:: @ 8E30800 .incbin "graphics/pokemon/palettes/beldum_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE30800, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_beldum_back_pic:: @ 8E30828 .incbin "graphics/pokemon/back_pics/beldum_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE30828, 0x02F0 .align 2 gFile_graphics_pokemon_palettes_beldum_shiny_palette:: @ 8E30B18 .incbin "graphics/pokemon/palettes/beldum_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE30B18, 0x0028 .align 2 gFile_graphics_pokemon_icons_beldum_icon:: @ 8E30B40 .incbin "graphics/pokemon/icons/beldum_icon.4bpp" - @ .incbin "baserom.gba", 0xE30B40, 0x0400 .align 2 gFile_graphics_pokemon_footprints_beldum_footprint:: @ 8E30F40 .incbin "graphics/pokemon/footprints/beldum_footprint.1bpp" - @ .incbin "baserom.gba", 0xE30F40, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_metang_still_front_pic:: @ 8E30F60 .incbin "graphics/pokemon/front_pics/metang_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE30F60, 0x045C .align 2 gFile_graphics_pokemon_palettes_metang_palette:: @ 8E313BC .incbin "graphics/pokemon/palettes/metang_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE313BC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_metang_back_pic:: @ 8E313E4 .incbin "graphics/pokemon/back_pics/metang_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE313E4, 0x0324 .align 2 gFile_graphics_pokemon_palettes_metang_shiny_palette:: @ 8E31708 .incbin "graphics/pokemon/palettes/metang_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE31708, 0x0028 .align 2 gFile_graphics_pokemon_icons_metang_icon:: @ 8E31730 .incbin "graphics/pokemon/icons/metang_icon.4bpp" - @ .incbin "baserom.gba", 0xE31730, 0x0400 .align 2 gFile_graphics_pokemon_footprints_metang_footprint:: @ 8E31B30 .incbin "graphics/pokemon/footprints/metang_footprint.1bpp" - @ .incbin "baserom.gba", 0xE31B30, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_metagross_still_front_pic:: @ 8E31B50 .incbin "graphics/pokemon/front_pics/metagross_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE31B50, 0x0464 .align 2 gFile_graphics_pokemon_palettes_metagross_palette:: @ 8E31FB4 .incbin "graphics/pokemon/palettes/metagross_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE31FB4, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_metagross_back_pic:: @ 8E31FDC .incbin "graphics/pokemon/back_pics/metagross_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE31FDC, 0x02CC .align 2 gFile_graphics_pokemon_palettes_metagross_shiny_palette:: @ 8E322A8 .incbin "graphics/pokemon/palettes/metagross_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE322A8, 0x0028 .align 2 gFile_graphics_pokemon_icons_metagross_icon:: @ 8E322D0 .incbin "graphics/pokemon/icons/metagross_icon.4bpp" - @ .incbin "baserom.gba", 0xE322D0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_metagross_footprint:: @ 8E326D0 .incbin "graphics/pokemon/footprints/metagross_footprint.1bpp" - @ .incbin "baserom.gba", 0xE326D0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_regirock_still_front_pic:: @ 8E326F0 .incbin "graphics/pokemon/front_pics/regirock_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE326F0, 0x04BC .align 2 gFile_graphics_pokemon_palettes_regirock_palette:: @ 8E32BAC .incbin "graphics/pokemon/palettes/regirock_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE32BAC, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_regirock_back_pic:: @ 8E32BD4 .incbin "graphics/pokemon/back_pics/regirock_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE32BD4, 0x044C .align 2 gFile_graphics_pokemon_palettes_regirock_shiny_palette:: @ 8E33020 .incbin "graphics/pokemon/palettes/regirock_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE33020, 0x0028 .align 2 gFile_graphics_pokemon_icons_regirock_icon:: @ 8E33048 .incbin "graphics/pokemon/icons/regirock_icon.4bpp" - @ .incbin "baserom.gba", 0xE33048, 0x0400 .align 2 gFile_graphics_pokemon_footprints_regirock_footprint:: @ 8E33448 .incbin "graphics/pokemon/footprints/regirock_footprint.1bpp" - @ .incbin "baserom.gba", 0xE33448, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_regice_still_front_pic:: @ 8E33468 .incbin "graphics/pokemon/front_pics/regice_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE33468, 0x0448 .align 2 gFile_graphics_pokemon_palettes_regice_palette:: @ 8E338B0 .incbin "graphics/pokemon/palettes/regice_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE338B0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_regice_back_pic:: @ 8E338D8 .incbin "graphics/pokemon/back_pics/regice_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE338D8, 0x02F0 .align 2 gFile_graphics_pokemon_palettes_regice_shiny_palette:: @ 8E33BC8 .incbin "graphics/pokemon/palettes/regice_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE33BC8, 0x0028 .align 2 gFile_graphics_pokemon_icons_regice_icon:: @ 8E33BF0 .incbin "graphics/pokemon/icons/regice_icon.4bpp" - @ .incbin "baserom.gba", 0xE33BF0, 0x0400 .align 2 gFile_graphics_pokemon_footprints_regice_footprint:: @ 8E33FF0 .incbin "graphics/pokemon/footprints/regice_footprint.1bpp" - @ .incbin "baserom.gba", 0xE33FF0, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_registeel_still_front_pic:: @ 8E34010 .incbin "graphics/pokemon/front_pics/registeel_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE34010, 0x0488 .align 2 gFile_graphics_pokemon_palettes_registeel_palette:: @ 8E34498 .incbin "graphics/pokemon/palettes/registeel_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE34498, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_registeel_back_pic:: @ 8E344C0 .incbin "graphics/pokemon/back_pics/registeel_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE344C0, 0x0338 .align 2 gFile_graphics_pokemon_palettes_registeel_shiny_palette:: @ 8E347F8 .incbin "graphics/pokemon/palettes/registeel_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE347F8, 0x0028 .align 2 gFile_graphics_pokemon_icons_registeel_icon:: @ 8E34820 .incbin "graphics/pokemon/icons/registeel_icon.4bpp" - @ .incbin "baserom.gba", 0xE34820, 0x0400 .align 2 gFile_graphics_pokemon_footprints_registeel_footprint:: @ 8E34C20 .incbin "graphics/pokemon/footprints/registeel_footprint.1bpp" - @ .incbin "baserom.gba", 0xE34C20, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_kyogre_still_front_pic:: @ 8E34C40 .incbin "graphics/pokemon/front_pics/kyogre_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE34C40, 0x0470 .align 2 gFile_graphics_pokemon_palettes_kyogre_palette:: @ 8E350B0 .incbin "graphics/pokemon/palettes/kyogre_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE350B0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_kyogre_back_pic:: @ 8E350D8 .incbin "graphics/pokemon/back_pics/kyogre_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE350D8, 0x0278 .align 2 gFile_graphics_pokemon_palettes_kyogre_shiny_palette:: @ 8E35350 .incbin "graphics/pokemon/palettes/kyogre_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE35350, 0x0028 .align 2 gFile_graphics_pokemon_icons_kyogre_icon:: @ 8E35378 .incbin "graphics/pokemon/icons/kyogre_icon.4bpp" - @ .incbin "baserom.gba", 0xE35378, 0x0400 .align 2 gFile_graphics_pokemon_footprints_kyogre_footprint:: @ 8E35778 .incbin "graphics/pokemon/footprints/kyogre_footprint.1bpp" - @ .incbin "baserom.gba", 0xE35778, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_groudon_still_front_pic:: @ 8E35798 .incbin "graphics/pokemon/front_pics/groudon_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE35798, 0x0594 .align 2 gFile_graphics_pokemon_palettes_groudon_palette:: @ 8E35D2C .incbin "graphics/pokemon/palettes/groudon_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE35D2C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_groudon_back_pic:: @ 8E35D54 .incbin "graphics/pokemon/back_pics/groudon_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE35D54, 0x0468 .align 2 gFile_graphics_pokemon_palettes_groudon_shiny_palette:: @ 8E361BC .incbin "graphics/pokemon/palettes/groudon_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE361BC, 0x0028 .align 2 gFile_graphics_pokemon_icons_groudon_icon:: @ 8E361E4 .incbin "graphics/pokemon/icons/groudon_icon.4bpp" - @ .incbin "baserom.gba", 0xE361E4, 0x0400 .align 2 gFile_graphics_pokemon_footprints_groudon_footprint:: @ 8E365E4 .incbin "graphics/pokemon/footprints/groudon_footprint.1bpp" - @ .incbin "baserom.gba", 0xE365E4, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_rayquaza_still_front_pic:: @ 8E36604 .incbin "graphics/pokemon/front_pics/rayquaza_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE36604, 0x0510 .align 2 gFile_graphics_pokemon_palettes_rayquaza_palette:: @ 8E36B14 .incbin "graphics/pokemon/palettes/rayquaza_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE36B14, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_rayquaza_back_pic:: @ 8E36B3C .incbin "graphics/pokemon/back_pics/rayquaza_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE36B3C, 0x0338 .align 2 gFile_graphics_pokemon_palettes_rayquaza_shiny_palette:: @ 8E36E74 .incbin "graphics/pokemon/palettes/rayquaza_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE36E74, 0x0028 .align 2 gFile_graphics_pokemon_icons_rayquaza_icon:: @ 8E36E9C .incbin "graphics/pokemon/icons/rayquaza_icon.4bpp" - @ .incbin "baserom.gba", 0xE36E9C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_rayquaza_footprint:: @ 8E3729C .incbin "graphics/pokemon/footprints/rayquaza_footprint.1bpp" - @ .incbin "baserom.gba", 0xE3729C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_latias_still_front_pic:: @ 8E372BC .incbin "graphics/pokemon/front_pics/latias_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE372BC, 0x0424 .align 2 gFile_graphics_pokemon_palettes_latias_palette:: @ 8E376E0 .incbin "graphics/pokemon/palettes/latias_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE376E0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_latias_back_pic:: @ 8E37708 .incbin "graphics/pokemon/back_pics/latias_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE37708, 0x02FC .align 2 gFile_graphics_pokemon_palettes_latias_shiny_palette:: @ 8E37A04 .incbin "graphics/pokemon/palettes/latias_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE37A04, 0x0028 .align 2 gFile_graphics_pokemon_icons_latias_icon:: @ 8E37A2C .incbin "graphics/pokemon/icons/latias_icon.4bpp" - @ .incbin "baserom.gba", 0xE37A2C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_latias_footprint:: @ 8E37E2C .incbin "graphics/pokemon/footprints/latias_footprint.1bpp" - @ .incbin "baserom.gba", 0xE37E2C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_latios_still_front_pic:: @ 8E37E4C .incbin "graphics/pokemon/front_pics/latios_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE37E4C, 0x0454 .align 2 gFile_graphics_pokemon_palettes_latios_palette:: @ 8E382A0 .incbin "graphics/pokemon/palettes/latios_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE382A0, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_latios_back_pic:: @ 8E382C8 .incbin "graphics/pokemon/back_pics/latios_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE382C8, 0x0360 .align 2 gFile_graphics_pokemon_palettes_latios_shiny_palette:: @ 8E38628 .incbin "graphics/pokemon/palettes/latios_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE38628, 0x0028 .align 2 gFile_graphics_pokemon_icons_latios_icon:: @ 8E38650 .incbin "graphics/pokemon/icons/latios_icon.4bpp" - @ .incbin "baserom.gba", 0xE38650, 0x0400 .align 2 gFile_graphics_pokemon_footprints_latios_footprint:: @ 8E38A50 .incbin "graphics/pokemon/footprints/latios_footprint.1bpp" - @ .incbin "baserom.gba", 0xE38A50, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_jirachi_still_front_pic:: @ 8E38A70 .incbin "graphics/pokemon/front_pics/jirachi_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE38A70, 0x030C .align 2 gFile_graphics_pokemon_palettes_jirachi_palette:: @ 8E38D7C .incbin "graphics/pokemon/palettes/jirachi_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE38D7C, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_jirachi_back_pic:: @ 8E38DA4 .incbin "graphics/pokemon/back_pics/jirachi_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE38DA4, 0x03A0 .align 2 gFile_graphics_pokemon_palettes_jirachi_shiny_palette:: @ 8E39144 .incbin "graphics/pokemon/palettes/jirachi_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE39144, 0x0028 .align 2 gFile_graphics_pokemon_icons_jirachi_icon:: @ 8E3916C .incbin "graphics/pokemon/icons/jirachi_icon.4bpp" - @ .incbin "baserom.gba", 0xE3916C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_jirachi_footprint:: @ 8E3956C .incbin "graphics/pokemon/footprints/jirachi_footprint.1bpp" - @ .incbin "baserom.gba", 0xE3956C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_deoxys_still_front_pic:: @ 8E3958C .incbin "graphics/pokemon/front_pics/deoxys_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE3958C, 0x07BC .align 2 gFile_graphics_pokemon_palettes_deoxys_palette:: @ 8E39D48 .incbin "graphics/pokemon/palettes/deoxys_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE39D48, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_deoxys_back_pic:: @ 8E39D70 .incbin "graphics/pokemon/back_pics/deoxys_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE39D70, 0x05F0 .align 2 gFile_graphics_pokemon_palettes_deoxys_shiny_palette:: @ 8E3A360 .incbin "graphics/pokemon/palettes/deoxys_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE3A360, 0x0028 .align 2 gFile_graphics_pokemon_icons_deoxys_icon:: @ 8E3A388 .incbin "graphics/pokemon/icons/deoxys_icon.4bpp" - @ .incbin "baserom.gba", 0xE3A388, 0x0400 .align 2 gFile_graphics_pokemon_icons_deoxys_speed_icon:: @ 8E3A788 .incbin "graphics/pokemon/icons/deoxys_speed_icon.4bpp" - @ .incbin "baserom.gba", 0xE3A788, 0x0400 .align 2 gFile_graphics_pokemon_footprints_deoxys_footprint:: @ 8E3AB88 .incbin "graphics/pokemon/footprints/deoxys_footprint.1bpp" - @ .incbin "baserom.gba", 0xE3AB88, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_chimecho_still_front_pic:: @ 8E3ABA8 .incbin "graphics/pokemon/front_pics/chimecho_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE3ABA8, 0x024C .align 2 gFile_graphics_pokemon_palettes_chimecho_palette:: @ 8E3ADF4 .incbin "graphics/pokemon/palettes/chimecho_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE3ADF4, 0x0028 .align 2 gFile_graphics_pokemon_back_pics_chimecho_back_pic:: @ 8E3AE1C .incbin "graphics/pokemon/back_pics/chimecho_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE3AE1C, 0x0274 .align 2 gFile_graphics_pokemon_palettes_chimecho_shiny_palette:: @ 8E3B090 .incbin "graphics/pokemon/palettes/chimecho_shiny_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE3B090, 0x0028 .align 2 gFile_graphics_pokemon_icons_chimecho_icon:: @ 8E3B0B8 .incbin "graphics/pokemon/icons/chimecho_icon.4bpp" - @ .incbin "baserom.gba", 0xE3B0B8, 0x0400 .align 2 gFile_graphics_pokemon_footprints_chimecho_footprint:: @ 8E3B4B8 .incbin "graphics/pokemon/footprints/chimecho_footprint.1bpp" - @ .incbin "baserom.gba", 0xE3B4B8, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_egg_still_front_pic:: @ 8E3B4D8 .incbin "graphics/pokemon/front_pics/egg_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE3B4D8, 0x01B4 .align 2 gFile_graphics_pokemon_palettes_egg_palette:: @ 8E3B68C .incbin "graphics/pokemon/palettes/egg_palette.gbapal.lz" - @ .incbin "baserom.gba", 0xE3B68C, 0x0020 .align 2 gFile_graphics_pokemon_front_pics_unown_b_still_front_pic:: @ 8E3B6AC .incbin "graphics/pokemon/front_pics/unown_b_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE3B6AC, 0x01D8 .align 2 gFile_graphics_pokemon_back_pics_unown_b_back_pic:: @ 8E3B884 .incbin "graphics/pokemon/back_pics/unown_b_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE3B884, 0x0204 .align 2 gFile_graphics_pokemon_icons_unown_B_icon:: @ 8E3BA88 .incbin "graphics/pokemon/icons/unown_B_icon.4bpp" - @ .incbin "baserom.gba", 0xE3BA88, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_c_still_front_pic:: @ 8E3BE88 .incbin "graphics/pokemon/front_pics/unown_c_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE3BE88, 0x0214 .align 2 gFile_graphics_pokemon_back_pics_unown_c_back_pic:: @ 8E3C09C .incbin "graphics/pokemon/back_pics/unown_c_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE3C09C, 0x02AC .align 2 gFile_graphics_pokemon_icons_unown_C_icon:: @ 8E3C348 .incbin "graphics/pokemon/icons/unown_C_icon.4bpp" - @ .incbin "baserom.gba", 0xE3C348, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_d_still_front_pic:: @ 8E3C748 .incbin "graphics/pokemon/front_pics/unown_d_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE3C748, 0x01F8 .align 2 gFile_graphics_pokemon_back_pics_unown_d_back_pic:: @ 8E3C940 .incbin "graphics/pokemon/back_pics/unown_d_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE3C940, 0x0258 .align 2 gFile_graphics_pokemon_icons_unown_D_icon:: @ 8E3CB98 .incbin "graphics/pokemon/icons/unown_D_icon.4bpp" - @ .incbin "baserom.gba", 0xE3CB98, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_e_still_front_pic:: @ 8E3CF98 .incbin "graphics/pokemon/front_pics/unown_e_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE3CF98, 0x01B8 .align 2 gFile_graphics_pokemon_back_pics_unown_e_back_pic:: @ 8E3D150 .incbin "graphics/pokemon/back_pics/unown_e_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE3D150, 0x0200 .align 2 gFile_graphics_pokemon_icons_unown_E_icon:: @ 8E3D350 .incbin "graphics/pokemon/icons/unown_E_icon.4bpp" - @ .incbin "baserom.gba", 0xE3D350, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_f_still_front_pic:: @ 8E3D750 .incbin "graphics/pokemon/front_pics/unown_f_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE3D750, 0x01F4 .align 2 gFile_graphics_pokemon_back_pics_unown_f_back_pic:: @ 8E3D944 .incbin "graphics/pokemon/back_pics/unown_f_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE3D944, 0x021C .align 2 gFile_graphics_pokemon_icons_unown_F_icon:: @ 8E3DB60 .incbin "graphics/pokemon/icons/unown_F_icon.4bpp" - @ .incbin "baserom.gba", 0xE3DB60, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_g_still_front_pic:: @ 8E3DF60 .incbin "graphics/pokemon/front_pics/unown_g_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE3DF60, 0x01DC .align 2 gFile_graphics_pokemon_back_pics_unown_g_back_pic:: @ 8E3E13C .incbin "graphics/pokemon/back_pics/unown_g_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE3E13C, 0x024C .align 2 gFile_graphics_pokemon_icons_unown_G_icon:: @ 8E3E388 .incbin "graphics/pokemon/icons/unown_G_icon.4bpp" - @ .incbin "baserom.gba", 0xE3E388, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_h_still_front_pic:: @ 8E3E788 .incbin "graphics/pokemon/front_pics/unown_h_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE3E788, 0x0244 .align 2 gFile_graphics_pokemon_back_pics_unown_h_back_pic:: @ 8E3E9CC .incbin "graphics/pokemon/back_pics/unown_h_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE3E9CC, 0x02C4 .align 2 gFile_graphics_pokemon_icons_unown_H_icon:: @ 8E3EC90 .incbin "graphics/pokemon/icons/unown_H_icon.4bpp" - @ .incbin "baserom.gba", 0xE3EC90, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_i_still_front_pic:: @ 8E3F090 .incbin "graphics/pokemon/front_pics/unown_i_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE3F090, 0x0198 .align 2 gFile_graphics_pokemon_back_pics_unown_i_back_pic:: @ 8E3F228 .incbin "graphics/pokemon/back_pics/unown_i_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE3F228, 0x01A8 .align 2 gFile_graphics_pokemon_icons_unown_I_icon:: @ 8E3F3D0 .incbin "graphics/pokemon/icons/unown_I_icon.4bpp" - @ .incbin "baserom.gba", 0xE3F3D0, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_j_still_front_pic:: @ 8E3F7D0 .incbin "graphics/pokemon/front_pics/unown_j_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE3F7D0, 0x01C4 .align 2 gFile_graphics_pokemon_back_pics_unown_j_back_pic:: @ 8E3F994 .incbin "graphics/pokemon/back_pics/unown_j_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE3F994, 0x01E8 .align 2 gFile_graphics_pokemon_icons_unown_J_icon:: @ 8E3FB7C .incbin "graphics/pokemon/icons/unown_J_icon.4bpp" - @ .incbin "baserom.gba", 0xE3FB7C, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_k_still_front_pic:: @ 8E3FF7C .incbin "graphics/pokemon/front_pics/unown_k_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE3FF7C, 0x01D0 .align 2 gFile_graphics_pokemon_back_pics_unown_k_back_pic:: @ 8E4014C .incbin "graphics/pokemon/back_pics/unown_k_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4014C, 0x01F8 .align 2 gFile_graphics_pokemon_icons_unown_K_icon:: @ 8E40344 .incbin "graphics/pokemon/icons/unown_K_icon.4bpp" - @ .incbin "baserom.gba", 0xE40344, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_l_still_front_pic:: @ 8E40744 .incbin "graphics/pokemon/front_pics/unown_l_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE40744, 0x01B0 .align 2 gFile_graphics_pokemon_back_pics_unown_l_back_pic:: @ 8E408F4 .incbin "graphics/pokemon/back_pics/unown_l_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE408F4, 0x01D4 .align 2 gFile_graphics_pokemon_icons_unown_L_icon:: @ 8E40AC8 .incbin "graphics/pokemon/icons/unown_L_icon.4bpp" - @ .incbin "baserom.gba", 0xE40AC8, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_m_still_front_pic:: @ 8E40EC8 .incbin "graphics/pokemon/front_pics/unown_m_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE40EC8, 0x0224 .align 2 gFile_graphics_pokemon_back_pics_unown_m_back_pic:: @ 8E410EC .incbin "graphics/pokemon/back_pics/unown_m_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE410EC, 0x02A8 .align 2 gFile_graphics_pokemon_icons_unown_M_icon:: @ 8E41394 .incbin "graphics/pokemon/icons/unown_M_icon.4bpp" - @ .incbin "baserom.gba", 0xE41394, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_n_still_front_pic:: @ 8E41794 .incbin "graphics/pokemon/front_pics/unown_n_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE41794, 0x01F8 .align 2 gFile_graphics_pokemon_back_pics_unown_n_back_pic:: @ 8E4198C .incbin "graphics/pokemon/back_pics/unown_n_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4198C, 0x026C .align 2 gFile_graphics_pokemon_icons_unown_N_icon:: @ 8E41BF8 .incbin "graphics/pokemon/icons/unown_N_icon.4bpp" - @ .incbin "baserom.gba", 0xE41BF8, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_o_still_front_pic:: @ 8E41FF8 .incbin "graphics/pokemon/front_pics/unown_o_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE41FF8, 0x0238 .align 2 gFile_graphics_pokemon_back_pics_unown_o_back_pic:: @ 8E42230 .incbin "graphics/pokemon/back_pics/unown_o_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE42230, 0x02C0 .align 2 gFile_graphics_pokemon_icons_unown_O_icon:: @ 8E424F0 .incbin "graphics/pokemon/icons/unown_O_icon.4bpp" - @ .incbin "baserom.gba", 0xE424F0, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_p_still_front_pic:: @ 8E428F0 .incbin "graphics/pokemon/front_pics/unown_p_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE428F0, 0x01A0 .align 2 gFile_graphics_pokemon_back_pics_unown_p_back_pic:: @ 8E42A90 .incbin "graphics/pokemon/back_pics/unown_p_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE42A90, 0x01C4 .align 2 gFile_graphics_pokemon_icons_unown_P_icon:: @ 8E42C54 .incbin "graphics/pokemon/icons/unown_P_icon.4bpp" - @ .incbin "baserom.gba", 0xE42C54, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_q_still_front_pic:: @ 8E43054 .incbin "graphics/pokemon/front_pics/unown_q_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE43054, 0x01B4 .align 2 gFile_graphics_pokemon_back_pics_unown_q_back_pic:: @ 8E43208 .incbin "graphics/pokemon/back_pics/unown_q_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE43208, 0x01CC .align 2 gFile_graphics_pokemon_icons_unown_Q_icon:: @ 8E433D4 .incbin "graphics/pokemon/icons/unown_Q_icon.4bpp" - @ .incbin "baserom.gba", 0xE433D4, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_r_still_front_pic:: @ 8E437D4 .incbin "graphics/pokemon/front_pics/unown_r_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE437D4, 0x01A4 .align 2 gFile_graphics_pokemon_back_pics_unown_r_back_pic:: @ 8E43978 .incbin "graphics/pokemon/back_pics/unown_r_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE43978, 0x01C8 .align 2 gFile_graphics_pokemon_icons_unown_R_icon:: @ 8E43B40 .incbin "graphics/pokemon/icons/unown_R_icon.4bpp" - @ .incbin "baserom.gba", 0xE43B40, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_s_still_front_pic:: @ 8E43F40 .incbin "graphics/pokemon/front_pics/unown_s_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE43F40, 0x01E8 .align 2 gFile_graphics_pokemon_back_pics_unown_s_back_pic:: @ 8E44128 .incbin "graphics/pokemon/back_pics/unown_s_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE44128, 0x0254 .align 2 gFile_graphics_pokemon_icons_unown_S_icon:: @ 8E4437C .incbin "graphics/pokemon/icons/unown_S_icon.4bpp" - @ .incbin "baserom.gba", 0xE4437C, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_t_still_front_pic:: @ 8E4477C .incbin "graphics/pokemon/front_pics/unown_t_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4477C, 0x01B0 .align 2 gFile_graphics_pokemon_back_pics_unown_t_back_pic:: @ 8E4492C .incbin "graphics/pokemon/back_pics/unown_t_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4492C, 0x01B4 .align 2 gFile_graphics_pokemon_icons_unown_T_icon:: @ 8E44AE0 .incbin "graphics/pokemon/icons/unown_T_icon.4bpp" - @ .incbin "baserom.gba", 0xE44AE0, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_u_still_front_pic:: @ 8E44EE0 .incbin "graphics/pokemon/front_pics/unown_u_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE44EE0, 0x0218 .align 2 gFile_graphics_pokemon_back_pics_unown_u_back_pic:: @ 8E450F8 .incbin "graphics/pokemon/back_pics/unown_u_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE450F8, 0x0254 .align 2 gFile_graphics_pokemon_icons_unown_U_icon:: @ 8E4534C .incbin "graphics/pokemon/icons/unown_U_icon.4bpp" - @ .incbin "baserom.gba", 0xE4534C, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_v_still_front_pic:: @ 8E4574C .incbin "graphics/pokemon/front_pics/unown_v_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4574C, 0x01E4 .align 2 gFile_graphics_pokemon_back_pics_unown_v_back_pic:: @ 8E45930 .incbin "graphics/pokemon/back_pics/unown_v_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE45930, 0x0230 .align 2 gFile_graphics_pokemon_icons_unown_V_icon:: @ 8E45B60 .incbin "graphics/pokemon/icons/unown_V_icon.4bpp" - @ .incbin "baserom.gba", 0xE45B60, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_w_still_front_pic:: @ 8E45F60 .incbin "graphics/pokemon/front_pics/unown_w_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE45F60, 0x01D4 .align 2 gFile_graphics_pokemon_back_pics_unown_w_back_pic:: @ 8E46134 .incbin "graphics/pokemon/back_pics/unown_w_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE46134, 0x0204 .align 2 gFile_graphics_pokemon_icons_unown_W_icon:: @ 8E46338 .incbin "graphics/pokemon/icons/unown_W_icon.4bpp" - @ .incbin "baserom.gba", 0xE46338, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_x_still_front_pic:: @ 8E46738 .incbin "graphics/pokemon/front_pics/unown_x_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE46738, 0x01C4 .align 2 gFile_graphics_pokemon_back_pics_unown_x_back_pic:: @ 8E468FC .incbin "graphics/pokemon/back_pics/unown_x_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE468FC, 0x01F0 .align 2 gFile_graphics_pokemon_icons_unown_X_icon:: @ 8E46AEC .incbin "graphics/pokemon/icons/unown_X_icon.4bpp" - @ .incbin "baserom.gba", 0xE46AEC, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_y_still_front_pic:: @ 8E46EEC .incbin "graphics/pokemon/front_pics/unown_y_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE46EEC, 0x01D8 .align 2 gFile_graphics_pokemon_back_pics_unown_y_back_pic:: @ 8E470C4 .incbin "graphics/pokemon/back_pics/unown_y_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE470C4, 0x01F4 .align 2 gFile_graphics_pokemon_icons_unown_Y_icon:: @ 8E472B8 .incbin "graphics/pokemon/icons/unown_Y_icon.4bpp" - @ .incbin "baserom.gba", 0xE472B8, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_z_still_front_pic:: @ 8E476B8 .incbin "graphics/pokemon/front_pics/unown_z_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE476B8, 0x01B0 .align 2 gFile_graphics_pokemon_back_pics_unown_z_back_pic:: @ 8E47868 .incbin "graphics/pokemon/back_pics/unown_z_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE47868, 0x01DC .align 2 gFile_graphics_pokemon_icons_unown_Z_icon:: @ 8E47A44 .incbin "graphics/pokemon/icons/unown_Z_icon.4bpp" - @ .incbin "baserom.gba", 0xE47A44, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_exclamation_mark_still_front_pic:: @ 8E47E44 .incbin "graphics/pokemon/front_pics/unown_exclamation_mark_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE47E44, 0x0190 .align 2 gFile_graphics_pokemon_back_pics_unown_exclamation_mark_back_pic:: @ 8E47FD4 .incbin "graphics/pokemon/back_pics/unown_exclamation_mark_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE47FD4, 0x01C8 .align 2 gFile_graphics_pokemon_icons_unown_exclamation_mark_icon:: @ 8E4819C .incbin "graphics/pokemon/icons/unown_exclamation_mark_icon.4bpp" - @ .incbin "baserom.gba", 0xE4819C, 0x0400 .align 2 gFile_graphics_pokemon_front_pics_unown_question_mark_still_front_pic:: @ 8E4859C .incbin "graphics/pokemon/front_pics/unown_question_mark_still_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4859C, 0x01BC .align 2 gFile_graphics_pokemon_back_pics_unown_question_mark_back_pic:: @ 8E48758 .incbin "graphics/pokemon/back_pics/unown_question_mark_back_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE48758, 0x0200 .align 2 gFile_graphics_pokemon_icons_unown_question_mark_icon:: @ 8E48958 .incbin "graphics/pokemon/icons/unown_question_mark_icon.4bpp" - @ .incbin "baserom.gba", 0xE48958, 0x0400 .align 2 gFile_graphics_trainers_front_pics_aqua_leader_archie_front_pic:: @ 8E48D58 .incbin "graphics/trainers/front_pics/aqua_leader_archie_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE48D58, 0x033C .align 2 gFile_graphics_trainers_palettes_aqua_leader_archie:: @ 8E49094 .incbin "graphics/trainers/palettes/aqua_leader_archie.gbapal.lz" - @ .incbin "baserom.gba", 0xE49094, 0x0028 .align 2 gFile_graphics_trainers_front_pics_aqua_grunt_m_front_pic:: @ 8E490BC .incbin "graphics/trainers/front_pics/aqua_grunt_m_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE490BC, 0x0360 .align 2 gFile_graphics_trainers_palettes_aqua_grunt_m:: @ 8E4941C .incbin "graphics/trainers/palettes/aqua_grunt_m.gbapal.lz" - @ .incbin "baserom.gba", 0xE4941C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_aqua_grunt_f_front_pic:: @ 8E49444 .incbin "graphics/trainers/front_pics/aqua_grunt_f_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE49444, 0x033C .align 2 gFile_graphics_trainers_palettes_aqua_grunt_f:: @ 8E49780 .incbin "graphics/trainers/palettes/aqua_grunt_f.gbapal.lz" - @ .incbin "baserom.gba", 0xE49780, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_aroma_lady_front_pic:: @ 8E497A8 .incbin "graphics/trainers/front_pics/emerald_aroma_lady_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE497A8, 0x02C4 .align 2 gFile_graphics_trainers_palettes_emerald_aroma_lady:: @ 8E49A6C .incbin "graphics/trainers/palettes/emerald_aroma_lady.gbapal.lz" - @ .incbin "baserom.gba", 0xE49A6C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_ruin_maniac_front_pic:: @ 8E49A94 .incbin "graphics/trainers/front_pics/emerald_ruin_maniac_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE49A94, 0x039C .align 2 gFile_graphics_trainers_palettes_emerald_ruin_maniac:: @ 8E49E30 .incbin "graphics/trainers/palettes/emerald_ruin_maniac.gbapal.lz" - @ .incbin "baserom.gba", 0xE49E30, 0x0028 .align 2 gFile_graphics_trainers_front_pics_interviewer_front_pic:: @ 8E49E58 .incbin "graphics/trainers/front_pics/interviewer_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE49E58, 0x04A4 .align 2 gFile_graphics_trainers_palettes_interviewer:: @ 8E4A2FC .incbin "graphics/trainers/palettes/interviewer.gbapal.lz" - @ .incbin "baserom.gba", 0xE4A2FC, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_tuber_f_front_pic:: @ 8E4A324 .incbin "graphics/trainers/front_pics/emerald_tuber_f_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4A324, 0x02A4 .align 2 gFile_graphics_trainers_palettes_emerald_tuber_f:: @ 8E4A5C8 .incbin "graphics/trainers/palettes/emerald_tuber_f.gbapal.lz" - @ .incbin "baserom.gba", 0xE4A5C8, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_tuber_m_front_pic:: @ 8E4A5F0 .incbin "graphics/trainers/front_pics/emerald_tuber_m_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4A5F0, 0x028C .align 2 gFile_graphics_trainers_palettes_emerald_tuber_m:: @ 8E4A87C .incbin "graphics/trainers/palettes/emerald_tuber_m.gbapal.lz" - @ .incbin "baserom.gba", 0xE4A87C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_cool_trainer_m_front_pic:: @ 8E4A8A4 .incbin "graphics/trainers/front_pics/emerald_cool_trainer_m_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4A8A4, 0x02E8 .align 2 gFile_graphics_trainers_palettes_emerald_cool_trainer_m:: @ 8E4AB8C .incbin "graphics/trainers/palettes/emerald_cool_trainer_m.gbapal.lz" - @ .incbin "baserom.gba", 0xE4AB8C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_cool_trainer_f_front_pic:: @ 8E4ABB4 .incbin "graphics/trainers/front_pics/emerald_cool_trainer_f_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4ABB4, 0x0314 .align 2 gFile_graphics_trainers_palettes_emerald_cool_trainer_f:: @ 8E4AEC8 .incbin "graphics/trainers/palettes/emerald_cool_trainer_f.gbapal.lz" - @ .incbin "baserom.gba", 0xE4AEC8, 0x0028 .align 2 gFile_graphics_trainers_front_pics_hex_maniac_front_pic:: @ 8E4AEF0 .incbin "graphics/trainers/front_pics/hex_maniac_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4AEF0, 0x036C .align 2 gFile_graphics_trainers_palettes_hex_maniac:: @ 8E4B25C .incbin "graphics/trainers/palettes/hex_maniac.gbapal.lz" - @ .incbin "baserom.gba", 0xE4B25C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_lady_front_pic:: @ 8E4B284 .incbin "graphics/trainers/front_pics/emerald_lady_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4B284, 0x03B4 .align 2 gFile_graphics_trainers_palettes_emerald_lady:: @ 8E4B638 .incbin "graphics/trainers/palettes/emerald_lady.gbapal.lz" - @ .incbin "baserom.gba", 0xE4B638, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_beauty_front_pic:: @ 8E4B660 .incbin "graphics/trainers/front_pics/emerald_beauty_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4B660, 0x02E8 .align 2 gFile_graphics_trainers_palettes_emerald_beauty:: @ 8E4B948 .incbin "graphics/trainers/palettes/emerald_beauty.gbapal.lz" - @ .incbin "baserom.gba", 0xE4B948, 0x0028 .align 2 gFile_graphics_trainers_front_pics_rich_boy_front_pic:: @ 8E4B970 .incbin "graphics/trainers/front_pics/rich_boy_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4B970, 0x02B4 .align 2 gFile_graphics_trainers_palettes_rich_boy:: @ 8E4BC24 .incbin "graphics/trainers/palettes/rich_boy.gbapal.lz" - @ .incbin "baserom.gba", 0xE4BC24, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_pokemaniac_front_pic:: @ 8E4BC4C .incbin "graphics/trainers/front_pics/emerald_pokemaniac_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4BC4C, 0x0370 .align 2 gFile_graphics_trainers_palettes_emerald_pokemaniac:: @ 8E4BFBC - @ .incbin "graphics/trainers/palettes/emerald_pokemaniac.gbapal.lz" - .incbin "baserom.gba", 0xE4BFBC, 0x0028 + .incbin "graphics/trainers/palettes/emerald_pokemaniac.gbapal.lz" .align 2 gFile_graphics_trainers_front_pics_emerald_swimmer_m_front_pic:: @ 8E4BFE4 .incbin "graphics/trainers/front_pics/emerald_swimmer_m_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4BFE4, 0x02C0 .align 2 gFile_graphics_trainers_palettes_emerald_swimmer_m:: @ 8E4C2A4 .incbin "graphics/trainers/palettes/emerald_swimmer_m.gbapal.lz" - @ .incbin "baserom.gba", 0xE4C2A4, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_black_belt_front_pic:: @ 8E4C2CC .incbin "graphics/trainers/front_pics/emerald_black_belt_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4C2CC, 0x0364 .align 2 gFile_graphics_trainers_palettes_black_belt:: @ 8E4C630 .incbin "graphics/trainers/palettes/black_belt.gbapal.lz" - @ .incbin "baserom.gba", 0xE4C630, 0x0028 .align 2 gFile_graphics_trainers_front_pics_guitarist_front_pic:: @ 8E4C658 .incbin "graphics/trainers/front_pics/guitarist_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4C658, 0x0384 .align 2 gFile_graphics_trainers_palettes_guitarist:: @ 8E4C9DC .incbin "graphics/trainers/palettes/guitarist.gbapal.lz" - @ .incbin "baserom.gba", 0xE4C9DC, 0x0028 .align 2 gFile_graphics_trainers_front_pics_kindler_front_pic:: @ 8E4CA04 .incbin "graphics/trainers/front_pics/kindler_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4CA04, 0x036C .align 2 gFile_graphics_trainers_palettes_kindler:: @ 8E4CD70 .incbin "graphics/trainers/palettes/kindler.gbapal.lz" - @ .incbin "baserom.gba", 0xE4CD70, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_camper_front_pic:: @ 8E4CD98 .incbin "graphics/trainers/front_pics/emerald_camper_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4CD98, 0x02E8 .align 2 gFile_graphics_trainers_palettes_emerald_camper:: @ 8E4D080 .incbin "graphics/trainers/palettes/emerald_camper.gbapal.lz" - @ .incbin "baserom.gba", 0xE4D080, 0x0028 .align 2 gFile_graphics_trainers_front_pics_bug_maniac_front_pic:: @ 8E4D0A8 .incbin "graphics/trainers/front_pics/bug_maniac_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4D0A8, 0x0450 .align 2 gFile_graphics_trainers_palettes_bug_maniac:: @ 8E4D4F8 .incbin "graphics/trainers/palettes/bug_maniac.gbapal.lz" - @ .incbin "baserom.gba", 0xE4D4F8, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_psychic_m_front_pic:: @ 8E4D520 .incbin "graphics/trainers/front_pics/emerald_psychic_m_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4D520, 0x032C .align 2 gFile_graphics_trainers_palettes_emerald_psychic_m:: @ 8E4D84C .incbin "graphics/trainers/palettes/emerald_psychic_m.gbapal.lz" - @ .incbin "baserom.gba", 0xE4D84C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_psychic_f_front_pic:: @ 8E4D874 .incbin "graphics/trainers/front_pics/emerald_psychic_f_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4D874, 0x0328 .align 2 gFile_graphics_trainers_palettes_emerald_psychic_f:: @ 8E4DB9C .incbin "graphics/trainers/palettes/emerald_psychic_f.gbapal.lz" - @ .incbin "baserom.gba", 0xE4DB9C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_gentleman_front_pic:: @ 8E4DBC4 .incbin "graphics/trainers/front_pics/emerald_gentleman_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4DBC4, 0x0300 .align 2 gFile_graphics_trainers_palettes_emerald_gentleman:: @ 8E4DEC4 .incbin "graphics/trainers/palettes/emerald_gentleman.gbapal.lz" - @ .incbin "baserom.gba", 0xE4DEC4, 0x0028 .align 2 gFile_graphics_trainers_front_pics_elite_four_sidney_front_pic:: @ 8E4DEEC .incbin "graphics/trainers/front_pics/elite_four_sidney_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4DEEC, 0x0334 .align 2 gFile_graphics_trainers_palettes_elite_four_sidney:: @ 8E4E220 .incbin "graphics/trainers/palettes/elite_four_sidney.gbapal.lz" - @ .incbin "baserom.gba", 0xE4E220, 0x0028 .align 2 gFile_graphics_trainers_front_pics_elite_four_phoebe_front_pic:: @ 8E4E248 .incbin "graphics/trainers/front_pics/elite_four_phoebe_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4E248, 0x0300 .align 2 gFile_graphics_trainers_palettes_elite_four_phoebe:: @ 8E4E548 .incbin "graphics/trainers/palettes/elite_four_phoebe.gbapal.lz" - @ .incbin "baserom.gba", 0xE4E548, 0x0028 .align 2 gFile_graphics_trainers_front_pics_leader_roxanne_front_pic:: @ 8E4E570 .incbin "graphics/trainers/front_pics/leader_roxanne_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4E570, 0x02EC .align 2 gFile_graphics_trainers_palettes_leader_roxanne:: @ 8E4E85C .incbin "graphics/trainers/palettes/leader_roxanne.gbapal.lz" - @ .incbin "baserom.gba", 0xE4E85C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_leader_brawly_front_pic:: @ 8E4E884 .incbin "graphics/trainers/front_pics/leader_brawly_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4E884, 0x0394 .align 2 gFile_graphics_trainers_palettes_leader_brawly:: @ 8E4EC18 .incbin "graphics/trainers/palettes/leader_brawly.gbapal.lz" - @ .incbin "baserom.gba", 0xE4EC18, 0x0028 .align 2 gFile_graphics_trainers_front_pics_leader_tate_and_liza_front_pic:: @ 8E4EC40 .incbin "graphics/trainers/front_pics/leader_tate_and_liza_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4EC40, 0x0444 .align 2 gFile_graphics_trainers_palettes_leader_tate_and_liza:: @ 8E4F084 .incbin "graphics/trainers/palettes/leader_tate_and_liza.gbapal.lz" - @ .incbin "baserom.gba", 0xE4F084, 0x0028 .align 2 gFile_graphics_trainers_front_pics_school_kid_m_front_pic:: @ 8E4F0AC .incbin "graphics/trainers/front_pics/school_kid_m_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4F0AC, 0x02C0 .align 2 gFile_graphics_trainers_palettes_school_kid_m:: @ 8E4F36C .incbin "graphics/trainers/palettes/school_kid_m.gbapal.lz" - @ .incbin "baserom.gba", 0xE4F36C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_school_kid_f_front_pic:: @ 8E4F394 .incbin "graphics/trainers/front_pics/school_kid_f_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4F394, 0x029C .align 2 gFile_graphics_trainers_palettes_school_kid_f:: @ 8E4F630 .incbin "graphics/trainers/palettes/school_kid_f.gbapal.lz" - @ .incbin "baserom.gba", 0xE4F630, 0x0028 .align 2 gFile_graphics_trainers_front_pics_sr_and_jr_front_pic:: @ 8E4F658 .incbin "graphics/trainers/front_pics/sr_and_jr_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4F658, 0x0470 .align 2 gFile_graphics_trainers_palettes_sr_and_jr:: @ 8E4FAC8 .incbin "graphics/trainers/palettes/sr_and_jr.gbapal.lz" - @ .incbin "baserom.gba", 0xE4FAC8, 0x0028 .align 2 gFile_graphics_trainers_front_pics_winstrate_m_front_pic:: @ 8E4FAF0 .incbin "graphics/trainers/front_pics/winstrate_m_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4FAF0, 0x03BC .align 2 gFile_graphics_trainers_palettes_winstrate_m:: @ 8E4FEAC .incbin "graphics/trainers/palettes/winstrate_m.gbapal.lz" - @ .incbin "baserom.gba", 0xE4FEAC, 0x0028 .align 2 gFile_graphics_trainers_front_pics_winstrate_f_front_pic:: @ 8E4FED4 .incbin "graphics/trainers/front_pics/winstrate_f_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE4FED4, 0x03CC .align 2 gFile_graphics_trainers_palettes_winstrate_f:: @ 8E502A0 .incbin "graphics/trainers/palettes/winstrate_f.gbapal.lz" - @ .incbin "baserom.gba", 0xE502A0, 0x0028 .align 2 gFile_graphics_trainers_front_pics_expert_m_front_pic:: @ 8E502C8 .incbin "graphics/trainers/front_pics/expert_m_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE502C8, 0x0340 .align 2 gFile_graphics_trainers_palettes_expert_m:: @ 8E50608 .incbin "graphics/trainers/palettes/expert_m.gbapal.lz" - @ .incbin "baserom.gba", 0xE50608, 0x0028 .align 2 gFile_graphics_trainers_front_pics_expert_f_front_pic:: @ 8E50630 .incbin "graphics/trainers/front_pics/expert_f_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE50630, 0x031C .align 2 gFile_graphics_trainers_palettes_expert_f:: @ 8E5094C .incbin "graphics/trainers/palettes/expert_f.gbapal.lz" - @ .incbin "baserom.gba", 0xE5094C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_youngster_front_pic:: @ 8E50974 .incbin "graphics/trainers/front_pics/emerald_youngster_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE50974, 0x02A8 .align 2 gFile_graphics_trainers_palettes_emerald_youngster:: @ 8E50C1C .incbin "graphics/trainers/palettes/emerald_youngster.gbapal.lz" - @ .incbin "baserom.gba", 0xE50C1C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_steven_front_pic:: @ 8E50C44 .incbin "graphics/trainers/front_pics/steven_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE50C44, 0x0338 .align 2 gFile_graphics_trainers_palettes_steven:: @ 8E50F7C .incbin "graphics/trainers/palettes/steven.gbapal.lz" - @ .incbin "baserom.gba", 0xE50F7C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_fisherman_front_pic:: @ 8E50FA4 .incbin "graphics/trainers/front_pics/emerald_fisherman_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE50FA4, 0x03E4 .align 2 gFile_graphics_trainers_palettes_emerald_fisherman:: @ 8E51388 .incbin "graphics/trainers/palettes/emerald_fisherman.gbapal.lz" - @ .incbin "baserom.gba", 0xE51388, 0x0028 .align 2 gFile_graphics_trainers_front_pics_cycling_triathlete_m_front_pic:: @ 8E513B0 .incbin "graphics/trainers/front_pics/cycling_triathlete_m_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE513B0, 0x0410 .align 2 gFile_graphics_trainers_palettes_cycling_triathlete_m:: @ 8E517C0 .incbin "graphics/trainers/palettes/cycling_triathlete_m.gbapal.lz" - @ .incbin "baserom.gba", 0xE517C0, 0x0028 .align 2 gFile_graphics_trainers_front_pics_cycling_triathlete_f_front_pic:: @ 8E517E8 .incbin "graphics/trainers/front_pics/cycling_triathlete_f_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE517E8, 0x040C .align 2 gFile_graphics_trainers_palettes_cycling_triathlete_f:: @ 8E51BF4 .incbin "graphics/trainers/palettes/cycling_triathlete_f.gbapal.lz" - @ .incbin "baserom.gba", 0xE51BF4, 0x0028 .align 2 gFile_graphics_trainers_front_pics_running_triathlete_m_front_pic:: @ 8E51C1C .incbin "graphics/trainers/front_pics/running_triathlete_m_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE51C1C, 0x02B8 .align 2 gFile_graphics_trainers_palettes_running_triathlete_m:: @ 8E51ED4 .incbin "graphics/trainers/palettes/running_triathlete_m.gbapal.lz" - @ .incbin "baserom.gba", 0xE51ED4, 0x0028 .align 2 gFile_graphics_trainers_front_pics_running_triathlete_f_front_pic:: @ 8E51EFC .incbin "graphics/trainers/front_pics/running_triathlete_f_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE51EFC, 0x02A4 .align 2 gFile_graphics_trainers_palettes_running_triathlete_f:: @ 8E521A0 .incbin "graphics/trainers/palettes/running_triathlete_f.gbapal.lz" - @ .incbin "baserom.gba", 0xE521A0, 0x0028 .align 2 gFile_graphics_trainers_front_pics_swimming_triathlete_m_front_pic:: @ 8E521C8 .incbin "graphics/trainers/front_pics/swimming_triathlete_m_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE521C8, 0x032C .align 2 gFile_graphics_trainers_palettes_swimming_triathlete_m:: @ 8E524F4 .incbin "graphics/trainers/palettes/swimming_triathlete_m.gbapal.lz" - @ .incbin "baserom.gba", 0xE524F4, 0x0028 .align 2 gFile_graphics_trainers_front_pics_swimming_triathlete_f_front_pic:: @ 8E5251C .incbin "graphics/trainers/front_pics/swimming_triathlete_f_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5251C, 0x02DC .align 2 gFile_graphics_trainers_palettes_swimming_triathlete_f:: @ 8E527F8 .incbin "graphics/trainers/palettes/swimming_triathlete_f.gbapal.lz" - @ .incbin "baserom.gba", 0xE527F8, 0x0028 .align 2 gFile_graphics_trainers_front_pics_dragon_tamer_front_pic:: @ 8E52820 .incbin "graphics/trainers/front_pics/dragon_tamer_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE52820, 0x0354 .align 2 gFile_graphics_trainers_palettes_dragon_tamer:: @ 8E52B74 .incbin "graphics/trainers/palettes/dragon_tamer.gbapal.lz" - @ .incbin "baserom.gba", 0xE52B74, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_bird_keeper_front_pic:: @ 8E52B9C .incbin "graphics/trainers/front_pics/emerald_bird_keeper_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE52B9C, 0x0338 .align 2 gFile_graphics_trainers_palettes_emerald_bird_keeper:: @ 8E52ED4 .incbin "graphics/trainers/palettes/emerald_bird_keeper.gbapal.lz" - @ .incbin "baserom.gba", 0xE52ED4, 0x0028 .align 2 gFile_graphics_trainers_front_pics_ninja_boy_front_pic:: @ 8E52EFC .incbin "graphics/trainers/front_pics/ninja_boy_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE52EFC, 0x02DC .align 2 gFile_graphics_trainers_palettes_ninja_boy:: @ 8E531D8 .incbin "graphics/trainers/palettes/ninja_boy.gbapal.lz" - @ .incbin "baserom.gba", 0xE531D8, 0x0028 .align 2 gFile_graphics_trainers_front_pics_battle_girl_front_pic:: @ 8E53200 .incbin "graphics/trainers/front_pics/battle_girl_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE53200, 0x0320 .align 2 gFile_graphics_trainers_palettes_battle_girl:: @ 8E53520 .incbin "graphics/trainers/palettes/battle_girl.gbapal.lz" - @ .incbin "baserom.gba", 0xE53520, 0x0028 .align 2 gFile_graphics_trainers_front_pics_parasol_lady_front_pic:: @ 8E53548 .incbin "graphics/trainers/front_pics/parasol_lady_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE53548, 0x0338 .align 2 gFile_graphics_trainers_palettes_parasol_lady:: @ 8E53880 .incbin "graphics/trainers/palettes/parasol_lady.gbapal.lz" - @ .incbin "baserom.gba", 0xE53880, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_swimmer_f_front_pic:: @ 8E538A8 .incbin "graphics/trainers/front_pics/emerald_swimmer_f_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE538A8, 0x02D0 .align 2 gFile_graphics_trainers_palettes_emerald_swimmer_f:: @ 8E53B78 .incbin "graphics/trainers/palettes/emerald_swimmer_f.gbapal.lz" - @ .incbin "baserom.gba", 0xE53B78, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_picnicker_front_pic:: @ 8E53BA0 .incbin "graphics/trainers/front_pics/emerald_picnicker_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE53BA0, 0x02E0 .align 2 gFile_graphics_trainers_palettes_emerald_picnicker:: @ 8E53E80 .incbin "graphics/trainers/palettes/emerald_picnicker.gbapal.lz" - @ .incbin "baserom.gba", 0xE53E80, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_twins_front_pic:: @ 8E53EA8 .incbin "graphics/trainers/front_pics/emerald_twins_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE53EA8, 0x03C4 .align 2 gFile_graphics_trainers_palettes_emerald_twins:: @ 8E5426C .incbin "graphics/trainers/palettes/emerald_twins.gbapal.lz" - @ .incbin "baserom.gba", 0xE5426C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_sailor_front_pic:: @ 8E54294 .incbin "graphics/trainers/front_pics/emerald_sailor_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE54294, 0x03B0 .align 2 gFile_graphics_trainers_palettes_emerald_sailor:: @ 8E54644 .incbin "graphics/trainers/palettes/emerald_sailor.gbapal.lz" - @ .incbin "baserom.gba", 0xE54644, 0x0028 .align 2 gFile_graphics_trainers_front_pics_collector_front_pic:: @ 8E5466C .incbin "graphics/trainers/front_pics/collector_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5466C, 0x0404 .align 2 gFile_graphics_trainers_palettes_collector:: @ 8E54A70 .incbin "graphics/trainers/palettes/collector.gbapal.lz" - @ .incbin "baserom.gba", 0xE54A70, 0x0028 .align 2 gFile_graphics_trainers_front_pics_wally_front_pic:: @ 8E54A98 .incbin "graphics/trainers/front_pics/wally_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE54A98, 0x02D0 .align 2 gFile_graphics_trainers_palettes_wally:: @ 8E54D68 .incbin "graphics/trainers/palettes/wally.gbapal.lz" - @ .incbin "baserom.gba", 0xE54D68, 0x0028 .align 2 gFile_graphics_trainers_front_pics_ruby_sapphire_brendan_front_pic:: @ 8E54D90 .incbin "graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE54D90, 0x0314 .align 2 gFile_graphics_trainers_palettes_ruby_sapphire_brendan:: @ 8E550A4 .incbin "graphics/trainers/palettes/ruby_sapphire_brendan.gbapal.lz" - @ .incbin "baserom.gba", 0xE550A4, 0x0028 .align 2 gFile_graphics_trainers_front_pics_ruby_sapphire_may_front_pic:: @ 8E550CC .incbin "graphics/trainers/front_pics/ruby_sapphire_may_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE550CC, 0x0300 .align 2 gFile_graphics_trainers_palettes_ruby_sapphire_may:: @ 8E553CC .incbin "graphics/trainers/palettes/ruby_sapphire_may.gbapal.lz" - @ .incbin "baserom.gba", 0xE553CC, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_pokemon_breeder_m_front_pic:: @ 8E553F4 .incbin "graphics/trainers/front_pics/emerald_pokemon_breeder_m_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE553F4, 0x0330 .align 2 gFile_graphics_trainers_palettes_emerald_pokemon_breeder_m:: @ 8E55724 .incbin "graphics/trainers/palettes/emerald_pokemon_breeder_m.gbapal.lz" - @ .incbin "baserom.gba", 0xE55724, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_pokemon_breeder_f_front_pic:: @ 8E5574C .incbin "graphics/trainers/front_pics/emerald_pokemon_breeder_f_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5574C, 0x0334 .align 2 gFile_graphics_trainers_palettes_emerald_pokemon_breeder_f:: @ 8E55A80 .incbin "graphics/trainers/palettes/emerald_pokemon_breeder_f.gbapal.lz" - @ .incbin "baserom.gba", 0xE55A80, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_pokemon_ranger_m_front_pic:: @ 8E55AA8 .incbin "graphics/trainers/front_pics/emerald_pokemon_ranger_m_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE55AA8, 0x0348 .align 2 gFile_graphics_trainers_palettes_emerald_pokemon_ranger_m:: @ 8E55DF0 .incbin "graphics/trainers/palettes/emerald_pokemon_ranger_m.gbapal.lz" - @ .incbin "baserom.gba", 0xE55DF0, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_pokemon_ranger_f_front_pic:: @ 8E55E18 .incbin "graphics/trainers/front_pics/emerald_pokemon_ranger_f_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE55E18, 0x0334 .align 2 gFile_graphics_trainers_palettes_emerald_pokemon_ranger_f:: @ 8E5614C .incbin "graphics/trainers/palettes/emerald_pokemon_ranger_f.gbapal.lz" - @ .incbin "baserom.gba", 0xE5614C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_magma_leader_maxie_front_pic:: @ 8E56174 .incbin "graphics/trainers/front_pics/magma_leader_maxie_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE56174, 0x02F4 .align 2 gFile_graphics_trainers_palettes_magma_leader_maxie:: @ 8E56468 .incbin "graphics/trainers/palettes/magma_leader_maxie.gbapal.lz" - @ .incbin "baserom.gba", 0xE56468, 0x0028 .align 2 gFile_graphics_trainers_front_pics_magma_grunt_m_front_pic:: @ 8E56490 .incbin "graphics/trainers/front_pics/magma_grunt_m_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE56490, 0x0380 .align 2 gFile_graphics_trainers_palettes_magma_grunt_m:: @ 8E56810 .incbin "graphics/trainers/palettes/magma_grunt_m.gbapal.lz" - @ .incbin "baserom.gba", 0xE56810, 0x0028 .align 2 gFile_graphics_trainers_front_pics_magma_grunt_f_front_pic:: @ 8E56838 .incbin "graphics/trainers/front_pics/magma_grunt_f_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE56838, 0x038C .align 2 gFile_graphics_trainers_palettes_magma_grunt_f:: @ 8E56BC4 .incbin "graphics/trainers/palettes/magma_grunt_f.gbapal.lz" - @ .incbin "baserom.gba", 0xE56BC4, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_lass_front_pic:: @ 8E56BEC .incbin "graphics/trainers/front_pics/emerald_lass_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE56BEC, 0x02D8 .align 2 gFile_graphics_trainers_palettes_emerald_lass:: @ 8E56EC4 .incbin "graphics/trainers/palettes/emerald_lass.gbapal.lz" - @ .incbin "baserom.gba", 0xE56EC4, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_bug_catcher_front_pic:: @ 8E56EEC .incbin "graphics/trainers/front_pics/emerald_bug_catcher_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE56EEC, 0x032C .align 2 gFile_graphics_trainers_palettes_emerald_bug_catcher:: @ 8E57218 .incbin "graphics/trainers/palettes/emerald_bug_catcher.gbapal.lz" - @ .incbin "baserom.gba", 0xE57218, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_hiker_front_pic:: @ 8E57240 .incbin "graphics/trainers/front_pics/emerald_hiker_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE57240, 0x0480 .align 2 gFile_graphics_trainers_palettes_emerald_hiker:: @ 8E576C0 .incbin "graphics/trainers/palettes/emerald_hiker.gbapal.lz" - @ .incbin "baserom.gba", 0xE576C0, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_young_couple_front_pic:: @ 8E576E8 .incbin "graphics/trainers/front_pics/emerald_young_couple_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE576E8, 0x03C0 .align 2 gFile_graphics_trainers_palettes_emerald_young_couple:: @ 8E57AA8 .incbin "graphics/trainers/palettes/emerald_young_couple.gbapal.lz" - @ .incbin "baserom.gba", 0xE57AA8, 0x0028 .align 2 gFile_graphics_trainers_front_pics_old_couple_front_pic:: @ 8E57AD0 .incbin "graphics/trainers/front_pics/old_couple_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE57AD0, 0x0510 .align 2 gFile_graphics_trainers_palettes_old_couple:: @ 8E57FE0 .incbin "graphics/trainers/palettes/old_couple.gbapal.lz" - @ .incbin "baserom.gba", 0xE57FE0, 0x0028 .align 2 gFile_graphics_trainers_front_pics_emerald_sis_and_bro_front_pic:: @ 8E58008 .incbin "graphics/trainers/front_pics/emerald_sis_and_bro_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE58008, 0x044C .align 2 gFile_graphics_trainers_palettes_emerald_sis_and_bro:: @ 8E58454 .incbin "graphics/trainers/palettes/emerald_sis_and_bro.gbapal.lz" - @ .incbin "baserom.gba", 0xE58454, 0x0028 .align 2 gFile_graphics_trainers_front_pics_aqua_admin_m_front_pic:: @ 8E5847C .incbin "graphics/trainers/front_pics/aqua_admin_m_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5847C, 0x03B4 .align 2 gFile_graphics_trainers_palettes_aqua_admin_m:: @ 8E58830 .incbin "graphics/trainers/palettes/aqua_admin_m.gbapal.lz" - @ .incbin "baserom.gba", 0xE58830, 0x0028 .align 2 gFile_graphics_trainers_front_pics_aqua_admin_f_front_pic:: @ 8E58858 .incbin "graphics/trainers/front_pics/aqua_admin_f_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE58858, 0x03C4 .align 2 gFile_graphics_trainers_palettes_aqua_admin_f:: @ 8E58C1C .incbin "graphics/trainers/palettes/aqua_admin_f.gbapal.lz" - @ .incbin "baserom.gba", 0xE58C1C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_magma_admin_front_pic:: @ 8E58C44 .incbin "graphics/trainers/front_pics/magma_admin_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE58C44, 0x03D8 .align 2 gFile_graphics_trainers_palettes_magma_admin:: @ 8E5901C .incbin "graphics/trainers/palettes/magma_admin.gbapal.lz" - @ .incbin "baserom.gba", 0xE5901C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_ruby_magma_admin_f_front_pic:: @ 8E59044 .incbin "graphics/trainers/front_pics/ruby_magma_admin_f_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE59044, 0x03B0 .align 2 gFile_graphics_trainers_palettes_ruby_magma_admin_f:: @ 8E593F4 .incbin "graphics/trainers/palettes/ruby_magma_admin_f.gbapal.lz" - @ .incbin "baserom.gba", 0xE593F4, 0x0028 .align 2 gFile_graphics_trainers_front_pics_leader_wattson_front_pic:: @ 8E5941C .incbin "graphics/trainers/front_pics/leader_wattson_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5941C, 0x0348 .align 2 gFile_graphics_trainers_palettes_leader_wattson:: @ 8E59764 .incbin "graphics/trainers/palettes/leader_wattson.gbapal.lz" - @ .incbin "baserom.gba", 0xE59764, 0x0028 .align 2 gFile_graphics_trainers_front_pics_leader_flannery_front_pic:: @ 8E5978C .incbin "graphics/trainers/front_pics/leader_flannery_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5978C, 0x0380 .align 2 gFile_graphics_trainers_palettes_leader_flannery:: @ 8E59B0C .incbin "graphics/trainers/palettes/leader_flannery.gbapal.lz" - @ .incbin "baserom.gba", 0xE59B0C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_leader_norman_front_pic:: @ 8E59B34 .incbin "graphics/trainers/front_pics/leader_norman_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE59B34, 0x033C .align 2 gFile_graphics_trainers_palettes_leader_norman:: @ 8E59E70 .incbin "graphics/trainers/palettes/leader_norman.gbapal.lz" - @ .incbin "baserom.gba", 0xE59E70, 0x0028 .align 2 gFile_graphics_trainers_front_pics_leader_winona_front_pic:: @ 8E59E98 .incbin "graphics/trainers/front_pics/leader_winona_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE59E98, 0x0380 .align 2 gFile_graphics_trainers_palettes_leader_winona:: @ 8E5A218 .incbin "graphics/trainers/palettes/leader_winona.gbapal.lz" - @ .incbin "baserom.gba", 0xE5A218, 0x0028 .align 2 gFile_graphics_trainers_front_pics_ruby_sapphire_champion_wallace_front_pic:: @ 8E5A240 .incbin "graphics/trainers/front_pics/ruby_sapphire_champion_wallace_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5A240, 0x0378 .align 2 gFile_graphics_trainers_palettes_champion_wallace:: @ 8E5A5B8 .incbin "graphics/trainers/palettes/champion_wallace.gbapal.lz" - @ .incbin "baserom.gba", 0xE5A5B8, 0x0028 .align 2 gFile_graphics_trainers_front_pics_elite_four_glacia_front_pic:: @ 8E5A5E0 .incbin "graphics/trainers/front_pics/elite_four_glacia_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5A5E0, 0x0384 .align 2 gFile_graphics_trainers_palettes_elite_four_glacia:: @ 8E5A964 .incbin "graphics/trainers/palettes/elite_four_glacia.gbapal.lz" - @ .incbin "baserom.gba", 0xE5A964, 0x0028 .align 2 gFile_graphics_trainers_front_pics_elite_four_drake_front_pic:: @ 8E5A98C .incbin "graphics/trainers/front_pics/elite_four_drake_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5A98C, 0x03A8 .align 2 gFile_graphics_trainers_palettes_elite_four_drake:: @ 8E5AD34 .incbin "graphics/trainers/palettes/elite_four_drake.gbapal.lz" - @ .incbin "baserom.gba", 0xE5AD34, 0x0028 .align 2 gFile_graphics_trainers_front_pics_youngster_front_pic:: @ 8E5AD5C .incbin "graphics/trainers/front_pics/youngster_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5AD5C, 0x02A0 .align 2 gFile_graphics_trainers_palettes_youngster:: @ 8E5AFFC .incbin "graphics/trainers/palettes/youngster.gbapal.lz" - @ .incbin "baserom.gba", 0xE5AFFC, 0x0028 .align 2 gFile_graphics_trainers_front_pics_bug_catcher_front_pic:: @ 8E5B024 .incbin "graphics/trainers/front_pics/bug_catcher_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5B024, 0x0348 .align 2 gFile_graphics_trainers_palettes_bug_catcher:: @ 8E5B36C .incbin "graphics/trainers/palettes/bug_catcher.gbapal.lz" - @ .incbin "baserom.gba", 0xE5B36C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_lass_front_pic:: @ 8E5B394 .incbin "graphics/trainers/front_pics/lass_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5B394, 0x02EC .align 2 gFile_graphics_trainers_palettes_lass:: @ 8E5B680 .incbin "graphics/trainers/palettes/lass.gbapal.lz" - @ .incbin "baserom.gba", 0xE5B680, 0x0028 .align 2 gFile_graphics_trainers_front_pics_sailor_front_pic:: @ 8E5B6A8 .incbin "graphics/trainers/front_pics/sailor_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5B6A8, 0x0320 .align 2 gFile_graphics_trainers_palettes_sailor:: @ 8E5B9C8 .incbin "graphics/trainers/palettes/sailor.gbapal.lz" - @ .incbin "baserom.gba", 0xE5B9C8, 0x0028 .align 2 gFile_graphics_trainers_front_pics_camper_front_pic:: @ 8E5B9F0 .incbin "graphics/trainers/front_pics/camper_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5B9F0, 0x02E0 .align 2 gFile_graphics_trainers_palettes_camper:: @ 8E5BCD0 .incbin "graphics/trainers/palettes/camper.gbapal.lz" - @ .incbin "baserom.gba", 0xE5BCD0, 0x0028 .align 2 gFile_graphics_trainers_front_pics_picnicker_front_pic:: @ 8E5BCF8 .incbin "graphics/trainers/front_pics/picnicker_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5BCF8, 0x02E8 .align 2 gFile_graphics_trainers_palettes_picnicker:: @ 8E5BFE0 .incbin "graphics/trainers/palettes/picnicker.gbapal.lz" - @ .incbin "baserom.gba", 0xE5BFE0, 0x0028 .align 2 gFile_graphics_trainers_front_pics_pokemaniac_front_pic:: @ 8E5C008 .incbin "graphics/trainers/front_pics/pokemaniac_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5C008, 0x03BC .align 2 gFile_graphics_trainers_palettes_pokemaniac:: @ 8E5C3C4 - @ .incbin "graphics/trainers/palettes/pokemaniac.gbapal.lz" - .incbin "baserom.gba", 0xE5C3C4, 0x0028 + .incbin "graphics/trainers/palettes/pokemaniac.gbapal.lz" .align 2 gFile_graphics_trainers_front_pics_super_nerd_front_pic:: @ 8E5C3EC .incbin "graphics/trainers/front_pics/super_nerd_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5C3EC, 0x0318 .align 2 gFile_graphics_trainers_palettes_super_nerd:: @ 8E5C704 .incbin "graphics/trainers/palettes/super_nerd.gbapal.lz" - @ .incbin "baserom.gba", 0xE5C704, 0x0028 .align 2 gFile_graphics_trainers_front_pics_hiker_front_pic:: @ 8E5C72C .incbin "graphics/trainers/front_pics/hiker_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5C72C, 0x0470 .align 2 gFile_graphics_trainers_palettes_hiker:: @ 8E5CB9C .incbin "graphics/trainers/palettes/hiker.gbapal.lz" - @ .incbin "baserom.gba", 0xE5CB9C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_biker_front_pic:: @ 8E5CBC4 .incbin "graphics/trainers/front_pics/biker_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5CBC4, 0x0568 .align 2 gFile_graphics_trainers_palettes_biker:: @ 8E5D12C .incbin "graphics/trainers/palettes/biker.gbapal.lz" - @ .incbin "baserom.gba", 0xE5D12C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_burglar_front_pic:: @ 8E5D154 .incbin "graphics/trainers/front_pics/burglar_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5D154, 0x034C .align 2 gFile_graphics_trainers_palettes_burglar:: @ 8E5D4A0 .incbin "graphics/trainers/palettes/burglar.gbapal.lz" - @ .incbin "baserom.gba", 0xE5D4A0, 0x0028 .align 2 gFile_graphics_trainers_front_pics_engineer_front_pic:: @ 8E5D4C8 .incbin "graphics/trainers/front_pics/engineer_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5D4C8, 0x040C .align 2 gFile_graphics_trainers_palettes_engineer:: @ 8E5D8D4 .incbin "graphics/trainers/palettes/engineer.gbapal.lz" - @ .incbin "baserom.gba", 0xE5D8D4, 0x0028 .align 2 gFile_graphics_trainers_front_pics_fisherman_front_pic:: @ 8E5D8FC .incbin "graphics/trainers/front_pics/fisherman_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5D8FC, 0x03AC .align 2 gFile_graphics_trainers_palettes_fisherman:: @ 8E5DCA8 .incbin "graphics/trainers/palettes/fisherman.gbapal.lz" - @ .incbin "baserom.gba", 0xE5DCA8, 0x0028 .align 2 gFile_graphics_trainers_front_pics_swimmer_m_front_pic:: @ 8E5DCD0 .incbin "graphics/trainers/front_pics/swimmer_m_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5DCD0, 0x02D8 .align 2 gFile_graphics_trainers_palettes_swimmer_m:: @ 8E5DFA8 .incbin "graphics/trainers/palettes/swimmer_m.gbapal.lz" - @ .incbin "baserom.gba", 0xE5DFA8, 0x0028 .align 2 gFile_graphics_trainers_front_pics_roughneck_front_pic:: @ 8E5DFD0 .incbin "graphics/trainers/front_pics/roughneck_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5DFD0, 0x05C8 .align 2 gFile_graphics_trainers_palettes_roughneck:: @ 8E5E598 .incbin "graphics/trainers/palettes/roughneck.gbapal.lz" - @ .incbin "baserom.gba", 0xE5E598, 0x0028 .align 2 gFile_graphics_trainers_front_pics_gamer_front_pic:: @ 8E5E5C0 .incbin "graphics/trainers/front_pics/gamer_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5E5C0, 0x0394 .align 2 gFile_graphics_trainers_palettes_gamer:: @ 8E5E954 .incbin "graphics/trainers/palettes/gamer.gbapal.lz" - @ .incbin "baserom.gba", 0xE5E954, 0x0028 .align 2 gFile_graphics_trainers_front_pics_beauty_front_pic:: @ 8E5E97C .incbin "graphics/trainers/front_pics/beauty_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5E97C, 0x035C .align 2 gFile_graphics_trainers_palettes_beauty:: @ 8E5ECD8 .incbin "graphics/trainers/palettes/beauty.gbapal.lz" - @ .incbin "baserom.gba", 0xE5ECD8, 0x0028 .align 2 gFile_graphics_trainers_front_pics_swimmer_f_front_pic:: @ 8E5ED00 .incbin "graphics/trainers/front_pics/swimmer_f_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5ED00, 0x02EC .align 2 gFile_graphics_trainers_palettes_swimmer_f:: @ 8E5EFEC .incbin "graphics/trainers/palettes/swimmer_f.gbapal.lz" - @ .incbin "baserom.gba", 0xE5EFEC, 0x0028 .align 2 gFile_graphics_trainers_front_pics_psychic_m_front_pic:: @ 8E5F014 .incbin "graphics/trainers/front_pics/psychic_m_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5F014, 0x0360 .align 2 gFile_graphics_trainers_palettes_psychic_m:: @ 8E5F374 .incbin "graphics/trainers/palettes/psychic_m.gbapal.lz" - @ .incbin "baserom.gba", 0xE5F374, 0x0028 .align 2 gFile_graphics_trainers_front_pics_rocker_front_pic:: @ 8E5F39C .incbin "graphics/trainers/front_pics/rocker_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5F39C, 0x045C .align 2 gFile_graphics_trainers_palettes_rocker:: @ 8E5F7F8 .incbin "graphics/trainers/palettes/rocker.gbapal.lz" - @ .incbin "baserom.gba", 0xE5F7F8, 0x0028 .align 2 gFile_graphics_trainers_front_pics_juggler_front_pic:: @ 8E5F820 .incbin "graphics/trainers/front_pics/juggler_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5F820, 0x043C .align 2 gFile_graphics_trainers_palettes_juggler:: @ 8E5FC5C .incbin "graphics/trainers/palettes/juggler.gbapal.lz" - @ .incbin "baserom.gba", 0xE5FC5C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_tamer_front_pic:: @ 8E5FC84 .incbin "graphics/trainers/front_pics/tamer_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE5FC84, 0x03B4 .align 2 gFile_graphics_trainers_palettes_tamer:: @ 8E60038 .incbin "graphics/trainers/palettes/tamer.gbapal.lz" - @ .incbin "baserom.gba", 0xE60038, 0x0028 .align 2 gFile_graphics_trainers_front_pics_bird_keeper_front_pic:: @ 8E60060 .incbin "graphics/trainers/front_pics/bird_keeper_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE60060, 0x03C4 .align 2 gFile_graphics_trainers_palettes_bird_keeper:: @ 8E60424 .incbin "graphics/trainers/palettes/bird_keeper.gbapal.lz" - @ .incbin "baserom.gba", 0xE60424, 0x0028 .align 2 gFile_graphics_trainers_front_pics_black_belt_front_pic:: @ 8E6044C .incbin "graphics/trainers/front_pics/black_belt_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE6044C, 0x0420 .align 2 gFile_graphics_trainers_palettes_black_belt2:: @ 8E6086C .incbin "graphics/trainers/palettes/black_belt.gbapal.lz" - @ .incbin "baserom.gba", 0xE6086C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_blue_1_front_pic:: @ 8E60894 .incbin "graphics/trainers/front_pics/blue_1_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE60894, 0x02B8 .align 2 gFile_graphics_trainers_palettes_blue_1:: @ 8E60B4C .incbin "graphics/trainers/palettes/blue_1.gbapal.lz" - @ .incbin "baserom.gba", 0xE60B4C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_scientist_front_pic:: @ 8E60B74 .incbin "graphics/trainers/front_pics/scientist_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE60B74, 0x03DC .align 2 gFile_graphics_trainers_palettes_scientist:: @ 8E60F50 .incbin "graphics/trainers/palettes/scientist.gbapal.lz" - @ .incbin "baserom.gba", 0xE60F50, 0x0028 .align 2 gFile_graphics_trainers_front_pics_giovanni_front_pic:: @ 8E60F78 .incbin "graphics/trainers/front_pics/giovanni_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE60F78, 0x0310 .align 2 gFile_graphics_trainers_palettes_giovanni:: @ 8E61288 .incbin "graphics/trainers/palettes/giovanni.gbapal.lz" - @ .incbin "baserom.gba", 0xE61288, 0x0028 .align 2 gFile_graphics_trainers_front_pics_rocket_grunt_m_front_pic:: @ 8E612B0 .incbin "graphics/trainers/front_pics/rocket_grunt_m_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE612B0, 0x0334 .align 2 gFile_graphics_trainers_palettes_rocket_grunt_m:: @ 8E615E4 .incbin "graphics/trainers/palettes/rocket_grunt_m.gbapal.lz" - @ .incbin "baserom.gba", 0xE615E4, 0x0028 .align 2 gFile_graphics_trainers_front_pics_cool_trainer_m_front_pic:: @ 8E6160C .incbin "graphics/trainers/front_pics/cool_trainer_m_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE6160C, 0x02D0 .align 2 gFile_graphics_trainers_palettes_cool_trainer_m:: @ 8E618DC .incbin "graphics/trainers/palettes/cool_trainer_m.gbapal.lz" - @ .incbin "baserom.gba", 0xE618DC, 0x0028 .align 2 gFile_graphics_trainers_front_pics_cool_trainer_f_front_pic:: @ 8E61904 .incbin "graphics/trainers/front_pics/cool_trainer_f_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE61904, 0x0318 .align 2 gFile_graphics_trainers_palettes_cool_trainer_f:: @ 8E61C1C .incbin "graphics/trainers/palettes/cool_trainer_f.gbapal.lz" - @ .incbin "baserom.gba", 0xE61C1C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_elite_four_lorelei_front_pic:: @ 8E61C44 .incbin "graphics/trainers/front_pics/elite_four_lorelei_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE61C44, 0x032C .align 2 gFile_graphics_trainers_palettes_elite_four_lorelei:: @ 8E61F70 .incbin "graphics/trainers/palettes/elite_four_lorelei.gbapal.lz" - @ .incbin "baserom.gba", 0xE61F70, 0x0028 .align 2 gFile_graphics_trainers_front_pics_elite_four_bruno_front_pic:: @ 8E61F98 .incbin "graphics/trainers/front_pics/elite_four_bruno_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE61F98, 0x044C .align 2 gFile_graphics_trainers_palettes_elite_four_bruno:: @ 8E623E4 .incbin "graphics/trainers/palettes/elite_four_bruno.gbapal.lz" - @ .incbin "baserom.gba", 0xE623E4, 0x0028 .align 2 gFile_graphics_trainers_front_pics_elite_four_agatha_front_pic:: @ 8E6240C .incbin "graphics/trainers/front_pics/elite_four_agatha_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE6240C, 0x031C .align 2 gFile_graphics_trainers_palettes_elite_four_agatha:: @ 8E62728 .incbin "graphics/trainers/palettes/elite_four_agatha.gbapal.lz" - @ .incbin "baserom.gba", 0xE62728, 0x0028 .align 2 gFile_graphics_trainers_front_pics_elite_four_lance_front_pic:: @ 8E62750 .incbin "graphics/trainers/front_pics/elite_four_lance_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE62750, 0x03C8 .align 2 gFile_graphics_trainers_palettes_elite_four_lance:: @ 8E62B18 .incbin "graphics/trainers/palettes/elite_four_lance.gbapal.lz" - @ .incbin "baserom.gba", 0xE62B18, 0x0028 .align 2 gFile_graphics_trainers_front_pics_leader_brock_front_pic:: @ 8E62B40 .incbin "graphics/trainers/front_pics/leader_brock_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE62B40, 0x034C .align 2 gFile_graphics_trainers_palettes_leader_brock:: @ 8E62E8C .incbin "graphics/trainers/palettes/leader_brock.gbapal.lz" - @ .incbin "baserom.gba", 0xE62E8C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_leader_misty_front_pic:: @ 8E62EB4 .incbin "graphics/trainers/front_pics/leader_misty_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE62EB4, 0x0300 .align 2 gFile_graphics_trainers_palettes_leader_misty:: @ 8E631B4 .incbin "graphics/trainers/palettes/leader_misty.gbapal.lz" - @ .incbin "baserom.gba", 0xE631B4, 0x0028 .align 2 gFile_graphics_trainers_front_pics_leader_lt_surge_front_pic:: @ 8E631DC .incbin "graphics/trainers/front_pics/leader_lt_surge_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE631DC, 0x0390 .align 2 gFile_graphics_trainers_palettes_leader_lt_surge:: @ 8E6356C .incbin "graphics/trainers/palettes/leader_lt_surge.gbapal.lz" - @ .incbin "baserom.gba", 0xE6356C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_leader_erika_front_pic:: @ 8E63594 .incbin "graphics/trainers/front_pics/leader_erika_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE63594, 0x02F4 .align 2 gFile_graphics_trainers_palettes_leader_erika:: @ 8E63888 .incbin "graphics/trainers/palettes/leader_erika.gbapal.lz" - @ .incbin "baserom.gba", 0xE63888, 0x0028 .align 2 gFile_graphics_trainers_front_pics_leader_koga_front_pic:: @ 8E638B0 .incbin "graphics/trainers/front_pics/leader_koga_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE638B0, 0x0368 .align 2 gFile_graphics_trainers_palettes_leader_koga:: @ 8E63C18 .incbin "graphics/trainers/palettes/leader_koga.gbapal.lz" - @ .incbin "baserom.gba", 0xE63C18, 0x0028 .align 2 gFile_graphics_trainers_front_pics_leader_blaine_front_pic:: @ 8E63C40 .incbin "graphics/trainers/front_pics/leader_blaine_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE63C40, 0x040C .align 2 gFile_graphics_trainers_palettes_leader_blaine:: @ 8E6404C .incbin "graphics/trainers/palettes/leader_blaine.gbapal.lz" - @ .incbin "baserom.gba", 0xE6404C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_leader_sabrina_front_pic:: @ 8E64074 .incbin "graphics/trainers/front_pics/leader_sabrina_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE64074, 0x0308 .align 2 gFile_graphics_trainers_palettes_leader_sabrina:: @ 8E6437C .incbin "graphics/trainers/palettes/leader_sabrina.gbapal.lz" - @ .incbin "baserom.gba", 0xE6437C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_gentleman_front_pic:: @ 8E643A4 .incbin "graphics/trainers/front_pics/gentleman_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE643A4, 0x0338 .align 2 gFile_graphics_trainers_palettes_gentleman:: @ 8E646DC .incbin "graphics/trainers/palettes/gentleman.gbapal.lz" - @ .incbin "baserom.gba", 0xE646DC, 0x0028 .align 2 gFile_graphics_trainers_front_pics_blue_2_front_pic:: @ 8E64704 .incbin "graphics/trainers/front_pics/blue_2_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE64704, 0x02F4 .align 2 gFile_graphics_trainers_palettes_blue_2:: @ 8E649F8 .incbin "graphics/trainers/palettes/blue_2.gbapal.lz" - @ .incbin "baserom.gba", 0xE649F8, 0x0028 .align 2 gFile_graphics_trainers_front_pics_champion_blue_front_pic:: @ 8E64A20 .incbin "graphics/trainers/front_pics/champion_blue_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE64A20, 0x02FC .align 2 gFile_graphics_trainers_palettes_champion_blue:: @ 8E64D1C .incbin "graphics/trainers/palettes/champion_blue.gbapal.lz" - @ .incbin "baserom.gba", 0xE64D1C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_channeler_front_pic:: @ 8E64D44 .incbin "graphics/trainers/front_pics/channeler_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE64D44, 0x03D8 .align 2 gFile_graphics_trainers_palettes_channeler:: @ 8E6511C .incbin "graphics/trainers/palettes/channeler.gbapal.lz" - @ .incbin "baserom.gba", 0xE6511C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_twins_front_pic:: @ 8E65144 .incbin "graphics/trainers/front_pics/twins_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE65144, 0x0350 .align 2 gFile_graphics_trainers_palettes_twins:: @ 8E65494 .incbin "graphics/trainers/palettes/twins.gbapal.lz" - @ .incbin "baserom.gba", 0xE65494, 0x0028 .align 2 gFile_graphics_trainers_front_pics_cool_couple_front_pic:: @ 8E654BC .incbin "graphics/trainers/front_pics/cool_couple_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE654BC, 0x04E0 .align 2 gFile_graphics_trainers_palettes_cool_couple:: @ 8E6599C .incbin "graphics/trainers/palettes/cool_couple.gbapal.lz" - @ .incbin "baserom.gba", 0xE6599C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_young_couple_front_pic:: @ 8E659C4 .incbin "graphics/trainers/front_pics/young_couple_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE659C4, 0x044C .align 2 gFile_graphics_trainers_palettes_young_couple:: @ 8E65E10 .incbin "graphics/trainers/palettes/young_couple.gbapal.lz" - @ .incbin "baserom.gba", 0xE65E10, 0x0028 .align 2 gFile_graphics_trainers_front_pics_crush_kin_front_pic:: @ 8E65E38 .incbin "graphics/trainers/front_pics/crush_kin_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE65E38, 0x05A0 .align 2 gFile_graphics_trainers_palettes_crush_kin:: @ 8E663D8 .incbin "graphics/trainers/palettes/crush_kin.gbapal.lz" - @ .incbin "baserom.gba", 0xE663D8, 0x0028 .align 2 gFile_graphics_trainers_front_pics_sis_and_bro_front_pic:: @ 8E66400 .incbin "graphics/trainers/front_pics/sis_and_bro_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE66400, 0x0460 .align 2 gFile_graphics_trainers_palettes_sis_and_bro:: @ 8E66860 .incbin "graphics/trainers/palettes/sis_and_bro.gbapal.lz" - @ .incbin "baserom.gba", 0xE66860, 0x0028 .align 2 gFile_graphics_trainers_front_pics_oak_front_pic:: @ 8E66888 .incbin "graphics/trainers/front_pics/oak_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE66888, 0x036C .align 2 gFile_graphics_trainers_palettes_oak:: @ 8E66BF4 .incbin "graphics/trainers/palettes/oak.gbapal.lz" - @ .incbin "baserom.gba", 0xE66BF4, 0x0028 .align 2 gFile_graphics_trainers_front_pics_ruby_sapphire_brendan_front_pic2:: @ 8E66C1C .incbin "graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE66C1C, 0x0314 .align 2 gFile_graphics_trainers_palettes_ruby_sapphire_brendan2:: @ 8E66F30 .incbin "graphics/trainers/palettes/ruby_sapphire_brendan.gbapal.lz" - @ .incbin "baserom.gba", 0xE66F30, 0x0028 .align 2 gFile_graphics_trainers_front_pics_ruby_sapphire_may_front_pic2:: @ 8E66F58 .incbin "graphics/trainers/front_pics/ruby_sapphire_may_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE66F58, 0x0300 .align 2 gFile_graphics_trainers_palettes_ruby_sapphire_may2:: @ 8E67258 .incbin "graphics/trainers/palettes/ruby_sapphire_may.gbapal.lz" - @ .incbin "baserom.gba", 0xE67258, 0x0028 .align 2 gFile_graphics_trainers_front_pics_red_front_pic:: @ 8E67280 .incbin "graphics/trainers/front_pics/red_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE67280, 0x030C .align 2 gFile_graphics_trainers_palettes_red:: @ 8E6758C .incbin "graphics/trainers/palettes/red.gbapal.lz" - @ .incbin "baserom.gba", 0xE6758C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_leaf_front_pic:: @ 8E675B4 .incbin "graphics/trainers/front_pics/leaf_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE675B4, 0x033C .align 2 gFile_graphics_trainers_palettes_leaf:: @ 8E678F0 .incbin "graphics/trainers/palettes/leaf.gbapal.lz" - @ .incbin "baserom.gba", 0xE678F0, 0x0028 .align 2 gFile_graphics_trainers_front_pics_rocket_grunt_f_front_pic:: @ 8E67918 .incbin "graphics/trainers/front_pics/rocket_grunt_f_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE67918, 0x0318 .align 2 gFile_graphics_trainers_palettes_rocket_grunt_f:: @ 8E67C30 .incbin "graphics/trainers/palettes/rocket_grunt_f.gbapal.lz" - @ .incbin "baserom.gba", 0xE67C30, 0x0028 .align 2 gFile_graphics_trainers_front_pics_psychic_f_front_pic:: @ 8E67C58 .incbin "graphics/trainers/front_pics/psychic_f_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE67C58, 0x03A0 .align 2 gFile_graphics_trainers_palettes_psychic_f:: @ 8E67FF8 .incbin "graphics/trainers/palettes/psychic_f.gbapal.lz" - @ .incbin "baserom.gba", 0xE67FF8, 0x0028 .align 2 gFile_graphics_trainers_front_pics_crush_girl_front_pic:: @ 8E68020 .incbin "graphics/trainers/front_pics/crush_girl_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE68020, 0x030C .align 2 gFile_graphics_trainers_palettes_crush_girl:: @ 8E6832C .incbin "graphics/trainers/palettes/crush_girl.gbapal.lz" - @ .incbin "baserom.gba", 0xE6832C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_tuber_front_pic:: @ 8E68354 .incbin "graphics/trainers/front_pics/tuber_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE68354, 0x0304 .align 2 gFile_graphics_trainers_palettes_tuber:: @ 8E68658 .incbin "graphics/trainers/palettes/tuber.gbapal.lz" - @ .incbin "baserom.gba", 0xE68658, 0x0028 .align 2 gFile_graphics_trainers_front_pics_pokemon_breeder_front_pic:: @ 8E68680 .incbin "graphics/trainers/front_pics/pokemon_breeder_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE68680, 0x0340 .align 2 gFile_graphics_trainers_palettes_pokemon_breeder:: @ 8E689C0 .incbin "graphics/trainers/palettes/pokemon_breeder.gbapal.lz" - @ .incbin "baserom.gba", 0xE689C0, 0x0028 .align 2 gFile_graphics_trainers_front_pics_pokemon_ranger_m_front_pic:: @ 8E689E8 .incbin "graphics/trainers/front_pics/pokemon_ranger_m_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE689E8, 0x0360 .align 2 gFile_graphics_trainers_palettes_pokemon_ranger_m:: @ 8E68D48 .incbin "graphics/trainers/palettes/pokemon_ranger_m.gbapal.lz" - @ .incbin "baserom.gba", 0xE68D48, 0x0028 .align 2 gFile_graphics_trainers_front_pics_pokemon_ranger_f_front_pic:: @ 8E68D70 .incbin "graphics/trainers/front_pics/pokemon_ranger_f_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE68D70, 0x0334 .align 2 gFile_graphics_trainers_palettes_pokemon_ranger_f:: @ 8E690A4 .incbin "graphics/trainers/palettes/pokemon_ranger_f.gbapal.lz" - @ .incbin "baserom.gba", 0xE690A4, 0x0028 .align 2 gFile_graphics_trainers_front_pics_aroma_lady_front_pic:: @ 8E690CC .incbin "graphics/trainers/front_pics/aroma_lady_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE690CC, 0x0350 .align 2 gFile_graphics_trainers_palettes_aroma_lady:: @ 8E6941C .incbin "graphics/trainers/palettes/aroma_lady.gbapal.lz" - @ .incbin "baserom.gba", 0xE6941C, 0x0028 .align 2 gFile_graphics_trainers_front_pics_ruin_maniac_front_pic:: @ 8E69444 .incbin "graphics/trainers/front_pics/ruin_maniac_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE69444, 0x040C .align 2 gFile_graphics_trainers_palettes_ruin_maniac:: @ 8E69850 .incbin "graphics/trainers/palettes/ruin_maniac.gbapal.lz" - @ .incbin "baserom.gba", 0xE69850, 0x0028 .align 2 gFile_graphics_trainers_front_pics_lady_front_pic:: @ 8E69878 .incbin "graphics/trainers/front_pics/lady_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE69878, 0x0328 .align 2 gFile_graphics_trainers_palettes_lady:: @ 8E69BA0 .incbin "graphics/trainers/palettes/lady.gbapal.lz" - @ .incbin "baserom.gba", 0xE69BA0, 0x0028 .align 2 gFile_graphics_trainers_front_pics_painter_front_pic:: @ 8E69BC8 .incbin "graphics/trainers/front_pics/painter_front_pic.4bpp.lz" - @ .incbin "baserom.gba", 0xE69BC8, 0x02CC .align 2 gFile_graphics_trainers_palettes_painter:: @ 8E69E94 .incbin "graphics/trainers/palettes/painter.gbapal.lz" - @ .incbin "baserom.gba", 0xE69E94, 0x0028 .align 2 gFile_graphics_trainers_back_pics_red_back_pic:: @ 8E69EBC .incbin "graphics/trainers/back_pics/red_back_pic.4bpp" - @ .incbin "baserom.gba", 0xE69EBC, 0x2800 .align 2 gFile_graphics_trainers_back_pics_leaf_back_pic:: @ 8E6C6BC .incbin "graphics/trainers/back_pics/leaf_back_pic.4bpp" - @ .incbin "baserom.gba", 0xE6C6BC, 0x2800 .align 2 gFile_graphics_trainers_back_pics_pokedude_back_pic:: @ 8E6EEBC .incbin "graphics/trainers/back_pics/pokedude_back_pic.4bpp" - @ .incbin "baserom.gba", 0xE6EEBC, 0x2000 .align 2 gFile_graphics_trainers_back_pics_old_man_back_pic:: @ 8E70EBC .incbin "graphics/trainers/back_pics/old_man_back_pic.4bpp" - @ .incbin "baserom.gba", 0xE70EBC, 0x2000 .align 2 gFile_graphics_trainers_back_pics_ruby_sapphire_brendan_back_pic:: @ 8E72EBC .incbin "graphics/trainers/back_pics/ruby_sapphire_brendan_back_pic.4bpp" - @ .incbin "baserom.gba", 0xE72EBC, 0x2000 .align 2 gFile_graphics_trainers_back_pics_ruby_sapphire_may_back_pic:: @ 8E74EBC .incbin "graphics/trainers/back_pics/ruby_sapphire_may_back_pic.4bpp" - @ .incbin "baserom.gba", 0xE74EBC, 0x2000 .align 2 gFile_graphics_trainers_palettes_leaf_back_pic:: @ 8E76EBC .incbin "graphics/trainers/palettes/leaf_back_pic.gbapal.lz" - @ .incbin "baserom.gba", 0xE76EBC, 0x0028 .align 2 gFile_graphics_trainers_palettes_red_back_pic:: @ 8E76EE4 .incbin "graphics/trainers/palettes/red_back_pic.gbapal.lz" - @ .incbin "baserom.gba", 0xE76EE4, 0x0028 .align 2 gFile_graphics_trainers_palettes_pokedude_back_pic:: @ 8E76F0C .incbin "graphics/trainers/palettes/pokedude_back_pic.gbapal.lz" - @ .incbin "baserom.gba", 0xE76F0C, 0x0028 .align 2 gFile_graphics_trainers_palettes_old_man_back_pic:: @ 8E76F34 .incbin "graphics/trainers/palettes/old_man_back_pic.gbapal.lz" - @ .incbin "baserom.gba", 0xE76F34, 0x0028 .align 2 gFile_graphics_pokemon_icons_question_mark_icon:: @ 8E76F5C .incbin "graphics/pokemon/icons/question_mark_icon.4bpp" - @ .incbin "baserom.gba", 0xE76F5C, 0x0400 .align 2 gFile_graphics_pokemon_footprints_question_mark_footprint:: @ 8E7735C .incbin "graphics/pokemon/footprints/question_mark_footprint.1bpp" - @ .incbin "baserom.gba", 0xE7735C, 0x0020 .align 2 @ THIS IS ./graphics/battle_transitions/vs_frame.4bpp.lz diff --git a/graphics/pokemon/back_pics/double_question_mark_back_pic.png b/graphics/pokemon/back_pics/double_question_mark_back_pic.png index 14eb6e139851fde1ff6e63b397c2331a7123178d..881ff05195956e11b92e0f73c420f022e01abf44 100644 GIT binary patch delta 206 zcmV;<05Six0xb5_0bV2 zP5~|iwZMeovq@mWD?y>2kgAcP$fKn3%$&ep7|%>(6ZKWkb=~<>ytD0*S3P^@)SmPGf_|K~zYIm6cCV8bKJw_ds-84txj7 z#q_`d4%mxEF%{FurMq}(dt%r$shnicq=ongR;n=(8yRELiyqiC=?5UlILjk|y=ewkF1?WiCPe=&$(fuK@^Q4z=?WJS3XgNH>dYy(^}?%x_l z@9laPhVU)zz*}O=W|4((o=pDuy9uJ=vPEFmAwlgR0!e>oemcOri`^p z0jE$D^C=q6?TvS42nu4{a8xVPr$t2x2OAIa0YwSk8cd^0e@}EkoCirt z&^2T3IeASS8%R9E05!(f{S$P}$eh(WfUo_5sHlOi85varvn>G3_5jKl&?ztoX4P63 zaGtwTTwB1x)w*k%) zbvVBPG&@k%&q$Mg>u{{wU_v;{maE?BU{6VcX@{oe;9Msu%jdQk2kN2P{=+!10NrkJ zXmVzU8Ll5?)(4U+Vfl-ypR#m3LspN?vYuuFGPnMnbD7K$xcGMWU+KC54Xon1fB*mh M07*qoM6N<$f^Kn|8UO$Q delta 930 zcmV;T16};b2l5Ay77GCY1Oos70P$#THIX4qe{e}eK~!jg?bWeQ6Hy!o@EaOA?a=?B zb|DTO=m0JdC=raIi+5#Fr@mfHq!WEWqHP4)qhd%vW1k^$fuR=@{{TW+9Bk5rMU4r$ zo3xM+j!SHSsO0(Hy%u`358~qV-gLd+=Y4;_d)Ks*^p8uvqV5~cURu9iTGt&;?HbwY ze|wMOsK^uJk~CU1r5JQuG#5qSuwY3C2WPC!DPb44rAA)H!V9z+XqV=0Ay@nAz54el&JaQzmd(0+Bf8pTh zY)~&4xKYKVJ{Tg}R|(nnZsD#Y;ge8zxLNlt|0eY?z4{n>X2VQ?-W}-Eq#r*IGcX&8Y&6CRBq2;5WAaJ97we70*a^NE8VojpnoOtjFoT`I zpL%qWf!Us(p{z`wx~4$pw)1!enye{QnR6LxIR5dN~8YPTkMr=){fTi8wTzob)^4?R6L%`LO} zgR$uX+Z(ZkCEOB5*7q{+4^rA7<E$;mfVnNmlFxSIE0zEP z2q1s}0tg_000IagfB*srAb-ZGW&yL_t(YiRF`F4#OY_g^4$4Pr$hUAsayfsmvwI61VZke)vj} zJ^}U!YJmyEBZWX`1%<{$NDOVmQB7p2fhT}^MS>}{?-Kk62a=2zwf9Eg4aS Date: Sat, 13 Oct 2018 00:44:54 +0200 Subject: [PATCH 039/222] add copy of black_belt palette for emerald and fix labels --- data/graphics.s | 6 +++--- .../trainers/palettes/emerald_black_belt.pal | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 graphics/trainers/palettes/emerald_black_belt.pal diff --git a/data/graphics.s b/data/graphics.s index 8715afc66..5a29a0b01 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -10403,8 +10403,8 @@ gFile_graphics_trainers_front_pics_emerald_black_belt_front_pic:: @ 8E4C2CC .incbin "graphics/trainers/front_pics/emerald_black_belt_front_pic.4bpp.lz" .align 2 -gFile_graphics_trainers_palettes_black_belt:: @ 8E4C630 - .incbin "graphics/trainers/palettes/black_belt.gbapal.lz" +gFile_graphics_trainers_palettes_emerald_black_belt:: @ 8E4C630 + .incbin "graphics/trainers/palettes/emerald_black_belt.gbapal.lz" .align 2 gFile_graphics_trainers_front_pics_guitarist_front_pic:: @ 8E4C658 @@ -11115,7 +11115,7 @@ gFile_graphics_trainers_front_pics_black_belt_front_pic:: @ 8E6044C .incbin "graphics/trainers/front_pics/black_belt_front_pic.4bpp.lz" .align 2 -gFile_graphics_trainers_palettes_black_belt2:: @ 8E6086C +gFile_graphics_trainers_palettes_black_belt:: @ 8E6086C .incbin "graphics/trainers/palettes/black_belt.gbapal.lz" .align 2 diff --git a/graphics/trainers/palettes/emerald_black_belt.pal b/graphics/trainers/palettes/emerald_black_belt.pal new file mode 100644 index 000000000..869e5d8df --- /dev/null +++ b/graphics/trainers/palettes/emerald_black_belt.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +246 205 189 +222 172 148 +172 131 106 +90 65 49 +148 131 123 +106 90 82 +82 90 115 +49 57 82 +205 189 189 +189 164 164 +156 139 139 +255 98 90 +197 65 65 +246 230 230 +0 0 0 From d161ce7ad159b0b2363839cb0cc12c2bf42ff96c Mon Sep 17 00:00:00 2001 From: paul Date: Sat, 13 Oct 2018 00:56:24 +0200 Subject: [PATCH 040/222] change label for unknown hitmontop data --- data/graphics.s | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/data/graphics.s b/data/graphics.s index 5a29a0b01..e7cf632e8 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -6334,8 +6334,7 @@ gFile_graphics_pokemon_palettes_hitmontop_shiny_palette:: @ 8DD1E68 gFile_graphics_pokemon_icons_hitmontop_icon:: @ 8DD1E90 .incbin "graphics/pokemon/icons/hitmontop_icon.4bpp" -gUnknown_hitmontop_blank_space:: @ 8DD2290 - @.space 0x200 +gUnknown_hitmontop_unknown_data:: @ 8DD2290 .incbin "baserom.gba", 0xDD2290, 0x200 .align 2 From ef81b5a2372911c1ab65f87c8a8633862d59d682 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 12 Oct 2018 21:31:25 -0400 Subject: [PATCH 041/222] sub_8112450 --- asm/quest_log.s | 90 ------------------------------------------ include/menu_helpers.h | 1 + src/quest_log.c | 32 +++++++++++++++ 3 files changed, 33 insertions(+), 90 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 8e71786c8..505e60275 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,96 +5,6 @@ .text - thumb_func_start sub_81123BC -sub_81123BC: @ 81123BC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r0, 0xCD - lsls r0, 5 - bl AllocZeroed - mov r8, r0 - ldr r0, _08112448 @ =gUnknown_203ADF8 - ldrb r4, [r0] - movs r5, 0 - movs r6, 0 -_081123D6: - cmp r4, 0x3 - bls _081123DC - movs r4, 0 -_081123DC: - ldr r3, _0811244C @ =gSaveBlock1Ptr - ldr r0, [r3] - movs r2, 0xCD - lsls r2, 3 - adds r1, r4, 0 - muls r1, r2 - adds r0, r1 - movs r7, 0x98 - lsls r7, 5 - adds r1, r0, r7 - ldrb r0, [r1] - cmp r0, 0 - beq _0811240A - adds r0, r5, 0 - muls r0, r2 - add r0, r8 - str r3, [sp] - bl memcpy - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r3, [sp] -_0811240A: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _081123D6 - ldr r1, _08112448 @ =gUnknown_203ADF8 - movs r0, 0x3 - ands r5, r0 - strb r5, [r1] - ldr r1, [r3] - movs r0, 0x98 - lsls r0, 5 - adds r1, r0 - movs r2, 0xCD - lsls r2, 4 - mov r0, r8 - bl CpuSet - mov r0, r8 - bl Free - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08112448: .4byte gUnknown_203ADF8 -_0811244C: .4byte gSaveBlock1Ptr - thumb_func_end sub_81123BC - - thumb_func_start sub_8112450 -sub_8112450: @ 8112450 - push {lr} - bl sub_80BF708 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08112466 - bl sub_8112364 - bl sub_81123BC -_08112466: - pop {r0} - bx r0 - thumb_func_end sub_8112450 - thumb_func_start sub_811246C sub_811246C: @ 811246C push {r4-r6,lr} diff --git a/include/menu_helpers.h b/include/menu_helpers.h index f083a10e2..e88385f94 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -16,5 +16,6 @@ void sub_812225C(u16 *, u16 *, u8, u8); void sub_8122298(u16 *, u16 *, u8, u8, u8); void sub_8121F68(u8 taskId, const struct YesNoFuncTable *data); bool8 sub_81221AC(void); +bool8 sub_80BF708(void); #endif //GUARD_MENU_HELPERS_H diff --git a/src/quest_log.c b/src/quest_log.c index 391a760ba..0fdedde97 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -5,6 +5,7 @@ #include "task.h" #include "palette.h" #include "menu.h" +#include "menu_helpers.h" #include "window.h" #include "text_window.h" #include "event_data.h" @@ -1382,3 +1383,34 @@ void sub_8112364(void) gUnknown_203AE04 = NULL; gUnknown_203AE08 = NULL; } + +void sub_81123BC(void) +{ + struct QuestLog * buffer = AllocZeroed(4 * sizeof(struct QuestLog)); + u8 i; + u8 r4 = gUnknown_203ADF8; + u8 count = 0; + for (i = 0; i < 4; i++) + { + if (r4 > 3) + r4 = 0; + if (gSaveBlock1Ptr->questLog[r4].unk_000) + { + buffer[count] = gSaveBlock1Ptr->questLog[r4]; + count++; + } + r4++; + } + gUnknown_203ADF8 = count % 4; + CpuCopy16(buffer, gSaveBlock1Ptr->questLog, 4 * sizeof(struct QuestLog)); + Free(buffer); +} + +void sub_8112450(void) +{ + if (sub_80BF708() != 1) + { + sub_8112364(); + sub_81123BC(); + } +} From 65bce70419a44d62c5f8a6442db6d0ddfb7ced8c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 12 Oct 2018 21:56:35 -0400 Subject: [PATCH 042/222] sub_811246C --- asm/battle_setup.s | 8 +- asm/bike.s | 24 +-- asm/field_control_avatar.s | 16 +- asm/field_effect.s | 176 ++++++++-------- asm/field_effect_helpers.s | 80 ++++---- asm/field_fadetransition.s | 44 ++-- asm/field_map_obj.s | 396 ++++++++++++++++++------------------ asm/field_player_avatar.s | 184 ++++++++--------- asm/field_screen_effect.s | 4 +- asm/field_specials.s | 8 +- asm/link_rfu_3.s | 8 +- asm/load_save.s | 8 +- asm/map_obj_80688E4.s | 12 +- asm/map_obj_lock.s | 24 +-- asm/overworld.s | 56 ++--- asm/quest_log.s | 66 ------ asm/quest_log_8150454.s | 20 +- asm/rom6.s | 16 +- asm/scrcmd.s | 16 +- asm/script_movement.s | 8 +- asm/shop.s | 8 +- asm/ss_anne.s | 16 +- asm/trainer_see.s | 38 ++-- asm/unk_810C3A4.s | 12 +- asm/unk_8159F40.s | 20 +- asm/vs_seeker.s | 24 +-- include/field_map_obj.h | 2 + include/quest_log_8150454.h | 6 + src/quest_log.c | 31 +++ sym_ewram.txt | 2 +- 30 files changed, 653 insertions(+), 680 deletions(-) create mode 100644 include/quest_log_8150454.h diff --git a/asm/battle_setup.s b/asm/battle_setup.s index d9c84dcc4..a1c63477c 100644 --- a/asm/battle_setup.s +++ b/asm/battle_setup.s @@ -1650,7 +1650,7 @@ TrainerWantsBattle: @ 8080334 ldr r2, _08080368 @ =gUnknown_3005074 strb r0, [r2] ldr r4, _0808036C @ =gUnknown_20370D2 - ldr r3, _08080370 @ =gUnknown_2036E38 + ldr r3, _08080370 @ =gMapObjects lsls r2, r0, 3 adds r2, r0 lsls r2, 2 @@ -1669,7 +1669,7 @@ TrainerWantsBattle: @ 8080334 .align 2, 0 _08080368: .4byte gUnknown_3005074 _0808036C: .4byte gUnknown_20370D2 -_08080370: .4byte gUnknown_2036E38 +_08080370: .4byte gMapObjects _08080374: .4byte gUnknown_81A4EB4 thumb_func_end TrainerWantsBattle @@ -1698,7 +1698,7 @@ sub_8080398: @ 8080398 lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _080803C8 @ =gUnknown_2036E38 + ldr r0, _080803C8 @ =gMapObjects adds r4, r0 ldrb r0, [r4, 0x18] lsls r0, 28 @@ -1714,7 +1714,7 @@ sub_8080398: @ 8080398 bx r0 .align 2, 0 _080803C4: .4byte gUnknown_3005074 -_080803C8: .4byte gUnknown_2036E38 +_080803C8: .4byte gMapObjects thumb_func_end sub_8080398 thumb_func_start sub_80803CC diff --git a/asm/bike.s b/asm/bike.s index 2a1219968..1f891f930 100644 --- a/asm/bike.s +++ b/asm/bike.s @@ -77,7 +77,7 @@ sub_80BD100: @ 80BD100 lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _080BD160 @ =gUnknown_2036E38 + ldr r0, _080BD160 @ =gMapObjects adds r4, r0 bl player_get_direction_upper_nybble lsls r0, 24 @@ -106,7 +106,7 @@ sub_80BD100: @ 80BD100 b _080BD1B6 .align 2, 0 _080BD15C: .4byte gUnknown_2037078 -_080BD160: .4byte gUnknown_2036E38 +_080BD160: .4byte gMapObjects _080BD164: .4byte gMain _080BD168: ldrb r0, [r6] @@ -204,7 +204,7 @@ sub_80BD1E8: @ 80BD1E8 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _080BD244 @ =gUnknown_2036E38 + ldr r1, _080BD244 @ =gMapObjects adds r0, r1 ldrb r0, [r0, 0x1E] bl sub_805A1DC @@ -227,7 +227,7 @@ sub_80BD1E8: @ 80BD1E8 b _080BD270 .align 2, 0 _080BD240: .4byte gUnknown_2037078 -_080BD244: .4byte gUnknown_2036E38 +_080BD244: .4byte gMapObjects _080BD248: movs r0, 0x2 strb r0, [r4, 0x2] @@ -281,7 +281,7 @@ sub_80BD28C: @ 80BD28C lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _080BD2C4 @ =gUnknown_2036E38 + ldr r1, _080BD2C4 @ =gMapObjects adds r5, r0, r1 ldrb r1, [r5, 0x1E] adds r0, r4, 0 @@ -299,7 +299,7 @@ _080BD2B2: bx r0 .align 2, 0 _080BD2C0: .4byte gUnknown_2037078 -_080BD2C4: .4byte gUnknown_2036E38 +_080BD2C4: .4byte gMapObjects thumb_func_end sub_80BD28C thumb_func_start sub_80BD2C8 @@ -313,7 +313,7 @@ sub_80BD2C8: @ 80BD2C8 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _080BD2FC @ =gUnknown_2036E38 + ldr r1, _080BD2FC @ =gMapObjects adds r5, r0, r1 ldrb r1, [r5, 0x1E] adds r0, r4, 0 @@ -327,7 +327,7 @@ sub_80BD2C8: @ 80BD2C8 b _080BD350 .align 2, 0 _080BD2F8: .4byte gUnknown_2037078 -_080BD2FC: .4byte gUnknown_2036E38 +_080BD2FC: .4byte gMapObjects _080BD300: adds r0, r4, 0 bl sub_80BD3A0 @@ -425,7 +425,7 @@ sub_80BD3A0: @ 80BD3A0 lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _080BD408 @ =gUnknown_2036E38 + ldr r0, _080BD408 @ =gMapObjects adds r4, r0 ldrh r1, [r4, 0x10] add r0, sp, 0x4 @@ -463,7 +463,7 @@ sub_80BD3A0: @ 80BD3A0 bx r1 .align 2, 0 _080BD404: .4byte gUnknown_2037078 -_080BD408: .4byte gUnknown_2036E38 +_080BD408: .4byte gMapObjects thumb_func_end sub_80BD3A0 thumb_func_start sub_80BD40C @@ -689,7 +689,7 @@ player_should_look_direction_be_enforced_upon_movement: @ 80BD58C lsls r0, 24 cmp r0, 0 beq _080BD5C0 - ldr r2, _080BD5B8 @ =gUnknown_2036E38 + ldr r2, _080BD5B8 @ =gMapObjects ldr r0, _080BD5BC @ =gUnknown_2037078 ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -704,7 +704,7 @@ player_should_look_direction_be_enforced_upon_movement: @ 80BD58C movs r0, 0 b _080BD5C2 .align 2, 0 -_080BD5B8: .4byte gUnknown_2036E38 +_080BD5B8: .4byte gMapObjects _080BD5BC: .4byte gUnknown_2037078 _080BD5C0: movs r0, 0x1 diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index bcd3a10e9..c4551463d 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -906,7 +906,7 @@ _0806CF7E: lsrs r3, r0, 24 cmp r3, 0x10 beq _0806CF9E - ldr r1, _0806CFA8 @ =gUnknown_2036E38 + ldr r1, _0806CFA8 @ =gMapObjects lsls r2, r3, 3 adds r0, r2, r3 lsls r0, 2 @@ -920,7 +920,7 @@ _0806CF9E: b _0806CFDE .align 2, 0 _0806CFA4: .4byte gUnknown_826D2D8 -_0806CFA8: .4byte gUnknown_2036E38 +_0806CFA8: .4byte gMapObjects _0806CFAC: movs r4, 0 ldr r1, _0806CFE4 @ =gUnknown_2031DEC @@ -978,7 +978,7 @@ sub_806CFF4: @ 806CFF4 lsrs r5, r0, 24 cmp r5, 0x10 beq _0806D02A - ldr r2, _0806D098 @ =gUnknown_2036E38 + ldr r2, _0806D098 @ =gMapObjects lsls r1, r5, 3 adds r0, r1, r5 lsls r0, 2 @@ -1016,7 +1016,7 @@ _0806D02A: lsrs r5, r0, 24 cmp r5, 0x10 beq _0806D092 - ldr r2, _0806D098 @ =gUnknown_2036E38 + ldr r2, _0806D098 @ =gMapObjects lsls r1, r5, 3 adds r0, r1, r5 lsls r0, 2 @@ -1031,7 +1031,7 @@ _0806D078: bne _0806D0A0 adds r0, r6, r5 lsls r0, 2 - ldr r1, _0806D098 @ =gUnknown_2036E38 + ldr r1, _0806D098 @ =gMapObjects adds r0, r1 bl FieldObjectCheckIfSpecialAnimFinishedOrInactive lsls r0, 24 @@ -1041,13 +1041,13 @@ _0806D092: movs r0, 0 b _0806D0C8 .align 2, 0 -_0806D098: .4byte gUnknown_2036E38 +_0806D098: .4byte gMapObjects _0806D09C: .4byte gUnknown_826D2D8 _0806D0A0: ldr r0, _0806D0D4 @ =gUnknown_3005074 strb r5, [r0] ldr r4, _0806D0D8 @ =gUnknown_20370D2 - ldr r1, _0806D0DC @ =gUnknown_2036E38 + ldr r1, _0806D0DC @ =gMapObjects adds r0, r6, r5 lsls r0, 2 adds r0, r1 @@ -1071,7 +1071,7 @@ _0806D0C8: .align 2, 0 _0806D0D4: .4byte gUnknown_3005074 _0806D0D8: .4byte gUnknown_20370D2 -_0806D0DC: .4byte gUnknown_2036E38 +_0806D0DC: .4byte gMapObjects _0806D0E0: .4byte gUnknown_20370D4 thumb_func_end sub_806CFF4 diff --git a/asm/field_effect.s b/asm/field_effect.s index 3a26b76e9..a72f6e6e6 100644 --- a/asm/field_effect.s +++ b/asm/field_effect.s @@ -2067,7 +2067,7 @@ mapldr_08084390: @ 8084390 ldr r0, _080843E8 @ =c3_080843F8 movs r1, 0 bl CreateTask - ldr r4, _080843EC @ =gUnknown_2036E38 + ldr r4, _080843EC @ =gMapObjects ldr r3, _080843F0 @ =gUnknown_2037078 ldrb r1, [r3, 0x5] lsls r0, r1, 3 @@ -2101,7 +2101,7 @@ _080843D2: bx r0 .align 2, 0 _080843E8: .4byte c3_080843F8 -_080843EC: .4byte gUnknown_2036E38 +_080843EC: .4byte gMapObjects _080843F0: .4byte gUnknown_2037078 _080843F4: .4byte gUnknown_3005020 thumb_func_end mapldr_08084390 @@ -2214,7 +2214,7 @@ sub_80844BC: @ 80844BC lsls r5, r0, 3 adds r5, r0 lsls r5, 2 - ldr r0, _0808455C @ =gUnknown_2036E38 + ldr r0, _0808455C @ =gMapObjects mov r8, r0 add r5, r8 ldrb r0, [r6, 0x4] @@ -2279,7 +2279,7 @@ sub_80844BC: @ 80844BC bx r1 .align 2, 0 _08084558: .4byte gUnknown_2037078 -_0808455C: .4byte gUnknown_2036E38 +_0808455C: .4byte gMapObjects _08084560: .4byte gSprites thumb_func_end sub_80844BC @@ -2331,7 +2331,7 @@ sub_8084580: @ 8084580 movs r0, 0x1 strh r0, [r5, 0xA] strh r1, [r5, 0xC] - ldr r2, _080845F0 @ =gUnknown_2036E38 + ldr r2, _080845F0 @ =gMapObjects ldrb r0, [r6, 0x5] lsls r1, r0, 3 adds r1, r0 @@ -2355,7 +2355,7 @@ sub_8084580: @ 8084580 _080845E4: .4byte gUnknown_2037078 _080845E8: .4byte gSprites _080845EC: .4byte gSpriteCoordOffsetY -_080845F0: .4byte gUnknown_2036E38 +_080845F0: .4byte gMapObjects thumb_func_end sub_8084580 thumb_func_start sub_80845F4 @@ -2367,7 +2367,7 @@ sub_80845F4: @ 80845F4 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _080846A4 @ =gUnknown_2036E38 + ldr r1, _080846A4 @ =gMapObjects adds r6, r0, r1 ldrb r1, [r2, 0x4] lsls r0, r1, 4 @@ -2450,7 +2450,7 @@ _08084698: bx r1 .align 2, 0 _080846A0: .4byte gUnknown_2037078 -_080846A4: .4byte gUnknown_2036E38 +_080846A4: .4byte gMapObjects _080846A8: .4byte gSprites thumb_func_end sub_80845F4 @@ -2650,7 +2650,7 @@ sub_8084820: @ 8084820 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0808488C @ =gUnknown_2036E38 + ldr r1, _0808488C @ =gMapObjects adds r4, r0, r1 adds r0, r4, 0 bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive @@ -2693,7 +2693,7 @@ _0808487E: bx r1 .align 2, 0 _08084888: .4byte gUnknown_2037078 -_0808488C: .4byte gUnknown_2036E38 +_0808488C: .4byte gMapObjects thumb_func_end sub_8084820 thumb_func_start sub_8084890 @@ -2944,7 +2944,7 @@ sub_8084A5C: @ 8084A5C lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _08084AC0 @ =gUnknown_2036E38 + ldr r0, _08084AC0 @ =gMapObjects adds r4, r0 movs r0, 0x4 bl sub_8063EB8 @@ -2979,7 +2979,7 @@ sub_8084A5C: @ 8084A5C b _08084AC6 .align 2, 0 _08084ABC: .4byte gUnknown_2037078 -_08084AC0: .4byte gUnknown_2036E38 +_08084AC0: .4byte gMapObjects _08084AC4: movs r1, 0 _08084AC6: @@ -3189,7 +3189,7 @@ sub_8084C3C: @ 8084C3C lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08084C98 @ =gUnknown_2036E38 + ldr r1, _08084C98 @ =gMapObjects adds r4, r0, r1 adds r0, r4, 0 bl FieldObjectClearAnimIfSpecialAnimFinished @@ -3220,7 +3220,7 @@ _08084C8A: bx r1 .align 2, 0 _08084C94: .4byte gUnknown_2037078 -_08084C98: .4byte gUnknown_2036E38 +_08084C98: .4byte gMapObjects _08084C9C: .4byte sub_8084A24 thumb_func_end sub_8084C3C @@ -3273,7 +3273,7 @@ _08084CEA: lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, _08084D20 @ =gUnknown_2036E38 + ldr r0, _08084D20 @ =gMapObjects adds r1, r0 ldr r2, [r2] adds r0, r4, 0 @@ -3288,7 +3288,7 @@ _08084CEA: _08084D14: .4byte gUnknown_83CC084 _08084D18: .4byte gTasks _08084D1C: .4byte gUnknown_2037078 -_08084D20: .4byte gUnknown_2036E38 +_08084D20: .4byte gMapObjects thumb_func_end sub_8084CD8 thumb_func_start sub_8084D24 @@ -3537,7 +3537,7 @@ dive_3_unknown: @ 8084ED4 lsls r0, 24 cmp r0, 0 bne _08084F18 - ldr r2, _08084F20 @ =gUnknown_2036E38 + ldr r2, _08084F20 @ =gMapObjects ldr r0, _08084F24 @ =gUnknown_2037078 ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -3560,7 +3560,7 @@ _08084F18: pop {r1} bx r1 .align 2, 0 -_08084F20: .4byte gUnknown_2036E38 +_08084F20: .4byte gMapObjects _08084F24: .4byte gUnknown_2037078 _08084F28: .4byte sub_8084E60 thumb_func_end dive_3_unknown @@ -3600,7 +3600,7 @@ _08084F58: lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, _08084F98 @ =gUnknown_2036E38 + ldr r0, _08084F98 @ =gMapObjects adds r1, r0 ldrb r0, [r5, 0x4] lsls r2, r0, 4 @@ -3621,7 +3621,7 @@ _08084F58: _08084F8C: .4byte gUnknown_83CC0A4 _08084F90: .4byte gTasks _08084F94: .4byte gUnknown_2037078 -_08084F98: .4byte gUnknown_2036E38 +_08084F98: .4byte gMapObjects _08084F9C: .4byte gSprites thumb_func_end sub_8084F44 @@ -3946,7 +3946,7 @@ _080851FC: lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, _0808523C @ =gUnknown_2036E38 + ldr r0, _0808523C @ =gMapObjects adds r1, r0 ldrb r0, [r5, 0x4] lsls r2, r0, 4 @@ -3967,7 +3967,7 @@ _080851FC: _08085230: .4byte gUnknown_83CC0BC _08085234: .4byte gTasks _08085238: .4byte gUnknown_2037078 -_0808523C: .4byte gUnknown_2036E38 +_0808523C: .4byte gMapObjects _08085240: .4byte gSprites thumb_func_end sub_80851E8 @@ -4209,7 +4209,7 @@ _080853F8: lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, _08085438 @ =gUnknown_2036E38 + ldr r0, _08085438 @ =gMapObjects adds r1, r0 ldrb r0, [r5, 0x4] lsls r2, r0, 4 @@ -4230,7 +4230,7 @@ _080853F8: _0808542C: .4byte gUnknown_83CC0CC _08085430: .4byte gTasks _08085434: .4byte gUnknown_2037078 -_08085438: .4byte gUnknown_2036E38 +_08085438: .4byte gMapObjects _0808543C: .4byte gSprites thumb_func_end sub_80853E4 @@ -4546,7 +4546,7 @@ sub_8085690: @ 8085690 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _080856D8 @ =gUnknown_2036E38 + ldr r1, _080856D8 @ =gMapObjects adds r6, r0, r1 adds r4, r5, 0 adds r4, 0x8 @@ -4572,7 +4572,7 @@ sub_8085690: @ 8085690 b _08085702 .align 2, 0 _080856D4: .4byte gUnknown_2037078 -_080856D8: .4byte gUnknown_2036E38 +_080856D8: .4byte gMapObjects _080856DC: movs r1, 0x8 ldrsh r0, [r4, r1] @@ -4973,7 +4973,7 @@ sub_80859D4: @ 80859D4 ldr r1, _08085A14 @ =gUnknown_3005020 movs r0, 0 str r0, [r1] - ldr r2, _08085A18 @ =gUnknown_2036E38 + ldr r2, _08085A18 @ =gMapObjects ldr r0, _08085A1C @ =gUnknown_2037078 ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -4991,7 +4991,7 @@ sub_80859D4: @ 80859D4 bx r0 .align 2, 0 _08085A14: .4byte gUnknown_3005020 -_08085A18: .4byte gUnknown_2036E38 +_08085A18: .4byte gMapObjects _08085A1C: .4byte gUnknown_2037078 _08085A20: .4byte sub_8085A24 thumb_func_end sub_80859D4 @@ -5056,7 +5056,7 @@ sub_8085A80: @ 8085A80 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08085AD8 @ =gUnknown_2036E38 + ldr r1, _08085AD8 @ =gMapObjects adds r6, r0, r1 adds r1, r4, 0 adds r1, 0xA @@ -5088,7 +5088,7 @@ sub_8085A80: @ 8085A80 b _08085B10 .align 2, 0 _08085AD4: .4byte gUnknown_2037078 -_08085AD8: .4byte gUnknown_2036E38 +_08085AD8: .4byte gMapObjects _08085ADC: movs r2, 0xE ldrsh r0, [r5, r2] @@ -5226,7 +5226,7 @@ sub_8085BD0: @ 8085BD0 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08085C5C @ =gUnknown_2036E38 + ldr r1, _08085C5C @ =gMapObjects adds r5, r0, r1 ldrh r1, [r4, 0xA] movs r2, 0xA @@ -5282,7 +5282,7 @@ _08085C4A: .align 2, 0 _08085C54: .4byte gUnknown_83CC108 _08085C58: .4byte gUnknown_2037078 -_08085C5C: .4byte gUnknown_2036E38 +_08085C5C: .4byte gMapObjects thumb_func_end sub_8085BD0 thumb_func_start sub_8085C60 @@ -5299,7 +5299,7 @@ sub_8085C60: @ 8085C60 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08085D2C @ =gUnknown_2036E38 + ldr r1, _08085D2C @ =gMapObjects adds r3, r0, r1 ldrb r1, [r2, 0x4] lsls r0, r1, 4 @@ -5387,7 +5387,7 @@ _08085D1A: .align 2, 0 _08085D24: .4byte gUnknown_83CC108 _08085D28: .4byte gUnknown_2037078 -_08085D2C: .4byte gUnknown_2036E38 +_08085D2C: .4byte gMapObjects _08085D30: .4byte gSprites thumb_func_end sub_8085C60 @@ -5439,7 +5439,7 @@ mapldr_08085D88: @ 8085D88 ldr r1, _08085DCC @ =gUnknown_3005020 movs r0, 0 str r0, [r1] - ldr r2, _08085DD0 @ =gUnknown_2036E38 + ldr r2, _08085DD0 @ =gMapObjects ldr r0, _08085DD4 @ =gUnknown_2037078 ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -5458,7 +5458,7 @@ mapldr_08085D88: @ 8085D88 bx r0 .align 2, 0 _08085DCC: .4byte gUnknown_3005020 -_08085DD0: .4byte gUnknown_2036E38 +_08085DD0: .4byte gMapObjects _08085DD4: .4byte gUnknown_2037078 _08085DD8: .4byte sub_8085DDC thumb_func_end mapldr_08085D88 @@ -5518,7 +5518,7 @@ sub_8085E0C: @ 8085E0C adds r0, r1 negs r0, r0 strh r0, [r2, 0x26] - ldr r3, _08085E94 @ =gUnknown_2036E38 + ldr r3, _08085E94 @ =gMapObjects ldrb r0, [r5, 0x5] lsls r1, r0, 3 adds r1, r0 @@ -5554,7 +5554,7 @@ _08085E82: _08085E88: .4byte gUnknown_2037078 _08085E8C: .4byte gSprites _08085E90: .4byte gSpriteCoordOffsetY -_08085E94: .4byte gUnknown_2036E38 +_08085E94: .4byte gMapObjects thumb_func_end sub_8085E0C thumb_func_start sub_8085E98 @@ -5571,7 +5571,7 @@ sub_8085E98: @ 8085E98 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08085F08 @ =gUnknown_2036E38 + ldr r1, _08085F08 @ =gMapObjects adds r6, r0, r1 ldrb r1, [r2, 0x4] lsls r0, r1, 4 @@ -5613,7 +5613,7 @@ sub_8085E98: @ 8085E98 .align 2, 0 _08085F00: .4byte gUnknown_83CC108 _08085F04: .4byte gUnknown_2037078 -_08085F08: .4byte gUnknown_2036E38 +_08085F08: .4byte gMapObjects _08085F0C: .4byte gSprites _08085F10: ldrb r1, [r5, 0x5] @@ -5704,7 +5704,7 @@ sub_8085F9C: @ 8085F9C lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08086020 @ =gUnknown_2036E38 + ldr r1, _08086020 @ =gMapObjects adds r5, r0, r1 ldrh r0, [r4, 0xA] subs r0, 0x1 @@ -5751,7 +5751,7 @@ _08086010: .align 2, 0 _08086018: .4byte gUnknown_83CC108 _0808601C: .4byte gUnknown_2037078 -_08086020: .4byte gUnknown_2036E38 +_08086020: .4byte gMapObjects _08086024: .4byte sub_8085DDC thumb_func_end sub_8085F9C @@ -7014,7 +7014,7 @@ sub_80869C0: @ 80869C0 adds r0, r6, 0 mov r1, r8 bl PlayerGetDestCoords - ldr r2, _08086A1C @ =gUnknown_2036E38 + ldr r2, _08086A1C @ =gMapObjects ldrb r1, [r5, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -7035,7 +7035,7 @@ sub_80869C0: @ 80869C0 bx r0 .align 2, 0 _08086A18: .4byte gUnknown_2037078 -_08086A1C: .4byte gUnknown_2036E38 +_08086A1C: .4byte gMapObjects thumb_func_end sub_80869C0 thumb_func_start sub_8086A20 @@ -7047,7 +7047,7 @@ sub_8086A20: @ 8086A20 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08086A68 @ =gUnknown_2036E38 + ldr r1, _08086A68 @ =gMapObjects adds r4, r0, r1 adds r0, r4, 0 bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive @@ -7073,7 +7073,7 @@ _08086A5C: bx r0 .align 2, 0 _08086A64: .4byte gUnknown_2037078 -_08086A68: .4byte gUnknown_2036E38 +_08086A68: .4byte gMapObjects thumb_func_end sub_8086A20 thumb_func_start sub_8086A6C @@ -7085,7 +7085,7 @@ sub_8086A6C: @ 8086A6C lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08086AAC @ =gUnknown_2036E38 + ldr r1, _08086AAC @ =gMapObjects adds r0, r1 bl FieldObjectCheckIfSpecialAnimFinishedOrInactive lsls r0, 24 @@ -7109,7 +7109,7 @@ _08086AA2: bx r0 .align 2, 0 _08086AA8: .4byte gUnknown_2037078 -_08086AAC: .4byte gUnknown_2036E38 +_08086AAC: .4byte gMapObjects _08086AB0: .4byte gUnknown_20386E0 thumb_func_end sub_8086A6C @@ -7127,7 +7127,7 @@ sub_8086AB4: @ 8086AB4 lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _08086B28 @ =gUnknown_2036E38 + ldr r0, _08086B28 @ =gMapObjects adds r4, r0 movs r0, 0x2 bl sub_805C808 @@ -7167,7 +7167,7 @@ _08086B1E: bx r0 .align 2, 0 _08086B24: .4byte gUnknown_2037078 -_08086B28: .4byte gUnknown_2036E38 +_08086B28: .4byte gMapObjects _08086B2C: .4byte gUnknown_20386E0 thumb_func_end sub_8086AB4 @@ -7179,7 +7179,7 @@ sub_8086B30: @ 8086B30 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08086BA0 @ =gUnknown_2036E38 + ldr r1, _08086BA0 @ =gMapObjects adds r4, r0, r1 adds r0, r4, 0 bl FieldObjectClearAnimIfSpecialAnimFinished @@ -7220,7 +7220,7 @@ _08086B96: bx r0 .align 2, 0 _08086B9C: .4byte gUnknown_2037078 -_08086BA0: .4byte gUnknown_2036E38 +_08086BA0: .4byte gMapObjects _08086BA4: .4byte sub_8086990 thumb_func_end sub_8086B30 @@ -7299,7 +7299,7 @@ sub_8086C24: @ 8086C24 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08086C6C @ =gUnknown_2036E38 + ldr r1, _08086C6C @ =gMapObjects adds r4, r0, r1 adds r0, r4, 0 bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive @@ -7325,7 +7325,7 @@ _08086C60: bx r0 .align 2, 0 _08086C68: .4byte gUnknown_2037078 -_08086C6C: .4byte gUnknown_2036E38 +_08086C6C: .4byte gMapObjects thumb_func_end sub_8086C24 thumb_func_start sub_8086C70 @@ -7337,7 +7337,7 @@ sub_8086C70: @ 8086C70 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08086CA0 @ =gUnknown_2036E38 + ldr r1, _08086CA0 @ =gMapObjects adds r4, r0, r1 adds r0, r4, 0 bl FieldObjectClearAnimIfSpecialAnimFinished @@ -7353,7 +7353,7 @@ sub_8086C70: @ 8086C70 b _08086CAE .align 2, 0 _08086C9C: .4byte gUnknown_2037078 -_08086CA0: .4byte gUnknown_2036E38 +_08086CA0: .4byte gMapObjects _08086CA4: movs r0, 0x8 ands r0, r1 @@ -7403,7 +7403,7 @@ sub_8086CF4: @ 8086CF4 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08086D30 @ =gUnknown_2036E38 + ldr r1, _08086D30 @ =gMapObjects adds r0, r1 bl FieldObjectClearAnimIfSpecialAnimFinished lsls r0, 24 @@ -7424,7 +7424,7 @@ _08086D26: bx r0 .align 2, 0 _08086D2C: .4byte gUnknown_2037078 -_08086D30: .4byte gUnknown_2036E38 +_08086D30: .4byte gMapObjects _08086D34: .4byte sub_8086BD0 thumb_func_end sub_8086CF4 @@ -7596,7 +7596,7 @@ sub_8086E70: @ 8086E70 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08086EC4 @ =gUnknown_2036E38 + ldr r1, _08086EC4 @ =gMapObjects adds r4, r0, r1 adds r0, r4, 0 bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive @@ -7627,7 +7627,7 @@ _08086EB8: bx r0 .align 2, 0 _08086EC0: .4byte gUnknown_2037078 -_08086EC4: .4byte gUnknown_2036E38 +_08086EC4: .4byte gMapObjects thumb_func_end sub_8086E70 thumb_func_start sub_8086EC8 @@ -7639,7 +7639,7 @@ sub_8086EC8: @ 8086EC8 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08086F04 @ =gUnknown_2036E38 + ldr r1, _08086F04 @ =gMapObjects adds r0, r1 bl FieldObjectClearAnimIfSpecialAnimFinished lsls r0, 24 @@ -7660,7 +7660,7 @@ _08086EF8: bx r0 .align 2, 0 _08086F00: .4byte gUnknown_2037078 -_08086F04: .4byte gUnknown_2036E38 +_08086F04: .4byte gMapObjects _08086F08: .4byte gUnknown_20386E0 thumb_func_end sub_8086EC8 @@ -7678,7 +7678,7 @@ sub_8086F0C: @ 8086F0C lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08086F60 @ =gUnknown_2036E38 + ldr r1, _08086F60 @ =gMapObjects adds r5, r0, r1 ldrh r1, [r4, 0x26] movs r0, 0x8 @@ -7705,7 +7705,7 @@ _08086F54: bx r0 .align 2, 0 _08086F5C: .4byte gUnknown_2037078 -_08086F60: .4byte gUnknown_2036E38 +_08086F60: .4byte gMapObjects thumb_func_end sub_8086F0C thumb_func_start sub_8086F64 @@ -7729,7 +7729,7 @@ sub_8086F64: @ 8086F64 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08086FA4 @ =gUnknown_2036E38 + ldr r1, _08086FA4 @ =gMapObjects adds r0, r1 movs r1, 0x2 bl sub_8063CA4 @@ -7739,7 +7739,7 @@ _08086F98: bx r0 .align 2, 0 _08086FA0: .4byte gUnknown_2037078 -_08086FA4: .4byte gUnknown_2036E38 +_08086FA4: .4byte gMapObjects thumb_func_end sub_8086F64 thumb_func_start sub_8086FA8 @@ -7751,7 +7751,7 @@ sub_8086FA8: @ 8086FA8 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08086FF8 @ =gUnknown_2036E38 + ldr r1, _08086FF8 @ =gMapObjects adds r2, r0, r1 ldrh r1, [r4, 0xC] movs r3, 0xC @@ -7782,7 +7782,7 @@ _08086FEC: bx r0 .align 2, 0 _08086FF4: .4byte gUnknown_2037078 -_08086FF8: .4byte gUnknown_2036E38 +_08086FF8: .4byte gMapObjects thumb_func_end sub_8086FA8 thumb_func_start sub_8086FFC @@ -7801,7 +7801,7 @@ sub_8086FFC: @ 8086FFC lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _08087064 @ =gUnknown_2036E38 + ldr r0, _08087064 @ =gMapObjects adds r4, r0 movs r0, 0x2 bl sub_805C808 @@ -7836,7 +7836,7 @@ _0808705A: bx r0 .align 2, 0 _08087060: .4byte gUnknown_2037078 -_08087064: .4byte gUnknown_2036E38 +_08087064: .4byte gMapObjects _08087068: .4byte gSprites thumb_func_end sub_8086FFC @@ -7856,7 +7856,7 @@ sub_808706C: @ 808706C lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _08087108 @ =gUnknown_2036E38 + ldr r0, _08087108 @ =gMapObjects adds r4, r0 adds r0, r4, 0 bl FieldObjectClearAnimIfSpecialAnimActive @@ -7915,7 +7915,7 @@ _080870FC: bx r0 .align 2, 0 _08087104: .4byte gUnknown_2037078 -_08087108: .4byte gUnknown_2036E38 +_08087108: .4byte gMapObjects _0808710C: .4byte gSprites _08087110: .4byte gSaveBlock2Ptr _08087114: .4byte sub_8087828 @@ -8430,7 +8430,7 @@ sub_80874C8: @ 80874C8 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _080875B8 @ =gUnknown_2036E38 + ldr r1, _080875B8 @ =gMapObjects adds r5, r0, r1 adds r0, r5, 0 bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive @@ -8532,7 +8532,7 @@ _080875AE: bx r0 .align 2, 0 _080875B4: .4byte gUnknown_2037078 -_080875B8: .4byte gUnknown_2036E38 +_080875B8: .4byte gMapObjects _080875BC: .4byte gSprites _080875C0: .4byte gSaveBlock2Ptr _080875C4: .4byte sub_8087828 @@ -8566,7 +8566,7 @@ _080875F2: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08087640 @ =gUnknown_2036E38 + ldr r1, _08087640 @ =gMapObjects adds r0, r1 ldrb r0, [r0, 0x4] lsls r4, r0, 4 @@ -8598,7 +8598,7 @@ _08087630: .align 2, 0 _08087638: .4byte gSprites _0808763C: .4byte gUnknown_2037078 -_08087640: .4byte gUnknown_2036E38 +_08087640: .4byte gMapObjects thumb_func_end sub_80875C8 thumb_func_start sub_8087644 @@ -8658,7 +8658,7 @@ sub_8087698: @ 8087698 lsls r5, r0, 3 adds r5, r0 lsls r5, 2 - ldr r0, _08087708 @ =gUnknown_2036E38 + ldr r0, _08087708 @ =gMapObjects adds r5, r0 ldrb r0, [r5, 0x4] lsls r4, r0, 4 @@ -8698,7 +8698,7 @@ _080876FC: bx r0 .align 2, 0 _08087704: .4byte gUnknown_2037078 -_08087708: .4byte gUnknown_2036E38 +_08087708: .4byte gMapObjects _0808770C: .4byte gSprites thumb_func_end sub_8087698 @@ -8711,7 +8711,7 @@ sub_8087710: @ 8087710 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08087744 @ =gUnknown_2036E38 + ldr r1, _08087744 @ =gMapObjects adds r0, r1 bl FieldObjectClearAnimIfSpecialAnimFinished lsls r0, 24 @@ -8728,7 +8728,7 @@ _08087738: bx r0 .align 2, 0 _08087740: .4byte gUnknown_2037078 -_08087744: .4byte gUnknown_2036E38 +_08087744: .4byte gMapObjects thumb_func_end sub_8087710 thumb_func_start sub_8087748 @@ -8776,7 +8776,7 @@ fishE: @ 8087780 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _080877F4 @ =gUnknown_2036E38 + ldr r1, _080877F4 @ =gMapObjects adds r4, r0, r1 movs r7, 0 ldrh r1, [r5, 0x26] @@ -8816,7 +8816,7 @@ _080877EA: bx r0 .align 2, 0 _080877F0: .4byte gUnknown_2037078 -_080877F4: .4byte gUnknown_2036E38 +_080877F4: .4byte gMapObjects _080877F8: .4byte sub_8087498 thumb_func_end fishE @@ -8991,7 +8991,7 @@ sub_8087924: @ 8087924 lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _080879C8 @ =gUnknown_2036E38 + ldr r0, _080879C8 @ =gMapObjects adds r4, r0 movs r0, 0x10 ldrsh r5, [r4, r0] @@ -9055,7 +9055,7 @@ _080879BA: bx r1 .align 2, 0 _080879C4: .4byte gUnknown_20386E0 -_080879C8: .4byte gUnknown_2036E38 +_080879C8: .4byte gMapObjects _080879CC: .4byte sub_80879D8 _080879D0: .4byte gTasks _080879D4: .4byte gSprites @@ -9148,7 +9148,7 @@ _08087A78: lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _08087AB0 @ =gUnknown_2036E38 + ldr r0, _08087AB0 @ =gMapObjects adds r4, r0 ldrh r0, [r5, 0x4] strh r0, [r6, 0x20] @@ -9169,7 +9169,7 @@ _08087AA8: pop {r0} bx r0 .align 2, 0 -_08087AB0: .4byte gUnknown_2036E38 +_08087AB0: .4byte gMapObjects thumb_func_end sub_80879D8 thumb_func_start sub_8087AB4 @@ -9381,7 +9381,7 @@ sub_8087C2C: @ 8087C2C asrs r0, 16 cmp r0, 0x78 ble _08087C9A - ldr r2, _08087CA4 @ =gUnknown_2036E38 + ldr r2, _08087CA4 @ =gMapObjects movs r1, 0x4 ldrsh r0, [r7, r1] lsls r1, r0, 3 @@ -9427,7 +9427,7 @@ _08087C9A: pop {r0} bx r0 .align 2, 0 -_08087CA4: .4byte gUnknown_2036E38 +_08087CA4: .4byte gMapObjects _08087CA8: .4byte gSprites _08087CAC: .4byte 0x0000ffff _08087CB0: .4byte 0x00007fff diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s index a26978dfd..dfdc880fb 100644 --- a/asm/field_effect_helpers.s +++ b/asm/field_effect_helpers.s @@ -253,7 +253,7 @@ sub_80DAF50: @ 80DAF50 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _080DAF98 @ =gUnknown_2036E38 + ldr r1, _080DAF98 @ =gMapObjects adds r7, r0, r1 ldrb r1, [r7, 0x4] lsls r0, r1, 4 @@ -281,7 +281,7 @@ _080DAF88: strb r0, [r2] b _080DB0AE .align 2, 0 -_080DAF98: .4byte gUnknown_2036E38 +_080DAF98: .4byte gMapObjects _080DAF9C: .4byte gSprites _080DAFA0: .4byte 0x00020001 _080DAFA4: @@ -587,7 +587,7 @@ oei_shadow: @ 80DB1DC bl GetFieldObjectIdByLocalIdAndMap lsls r0, 24 lsrs r0, 24 - ldr r2, _080DB26C @ =gUnknown_2036E38 + ldr r2, _080DB26C @ =gMapObjects lsls r1, r0, 3 adds r1, r0 lsls r1, 2 @@ -649,7 +649,7 @@ _080DB260: bx r1 .align 2, 0 _080DB268: .4byte gUnknown_20386E0 -_080DB26C: .4byte gUnknown_2036E38 +_080DB26C: .4byte gMapObjects _080DB270: .4byte gUnknown_83A0010 _080DB274: .4byte gUnknown_83FECD2 _080DB278: .4byte gSprites @@ -685,7 +685,7 @@ _080DB2AE: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _080DB33C @ =gUnknown_2036E38 + ldr r1, _080DB33C @ =gMapObjects adds r4, r0, r1 ldrb r0, [r4, 0x4] lsls r1, r0, 4 @@ -748,7 +748,7 @@ _080DB334: pop {r0} bx r0 .align 2, 0 -_080DB33C: .4byte gUnknown_2036E38 +_080DB33C: .4byte gMapObjects _080DB340: .4byte gSprites _080DB344: .4byte 0x00400001 thumb_func_end oamc_shadow @@ -929,7 +929,7 @@ _080DB4A0: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _080DB4F0 @ =gUnknown_2036E38 + ldr r1, _080DB4F0 @ =gMapObjects adds r2, r0, r1 ldr r0, [r2, 0x10] ldr r1, [r5, 0x30] @@ -966,7 +966,7 @@ _080DB4E4: pop {r0} bx r0 .align 2, 0 -_080DB4F0: .4byte gUnknown_2036E38 +_080DB4F0: .4byte gMapObjects thumb_func_end unc_grass_normal thumb_func_start FldEff_JumpTallGrass @@ -1280,7 +1280,7 @@ _080DB750: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _080DB794 @ =gUnknown_2036E38 + ldr r1, _080DB794 @ =gMapObjects adds r2, r0, r1 ldr r0, [r2, 0x10] ldr r1, [r5, 0x30] @@ -1309,7 +1309,7 @@ _080DB786: pop {r0} bx r0 .align 2, 0 -_080DB794: .4byte gUnknown_2036E38 +_080DB794: .4byte gMapObjects thumb_func_end unc_grass_tall thumb_func_start FldEff_JumpLongGrass @@ -1382,7 +1382,7 @@ sub_80DB808: @ 80DB808 lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, _080DB8A0 @ =gUnknown_2036E38 + ldr r0, _080DB8A0 @ =gMapObjects adds r5, r1, r0 ldr r0, _080DB8A4 @ =gUnknown_83A0010 ldr r0, [r0, 0x78] @@ -1446,7 +1446,7 @@ _080DB894: bx r1 .align 2, 0 _080DB89C: .4byte gUnknown_20386E0 -_080DB8A0: .4byte gUnknown_2036E38 +_080DB8A0: .4byte gMapObjects _080DB8A4: .4byte gUnknown_83A0010 _080DB8A8: .4byte gSprites thumb_func_end sub_80DB808 @@ -1472,7 +1472,7 @@ sub_80DB8AC: @ 80DB8AC lsls r0, 24 cmp r0, 0 bne _080DB8EA - ldr r5, _080DB8F4 @ =gUnknown_2036E38 + ldr r5, _080DB8F4 @ =gMapObjects mov r0, sp ldrb r1, [r0] lsls r0, r1, 3 @@ -1489,7 +1489,7 @@ _080DB8EA: bl FieldEffectStop b _080DB98E .align 2, 0 -_080DB8F4: .4byte gUnknown_2036E38 +_080DB8F4: .4byte gMapObjects _080DB8F8: ldrb r0, [r1, 0x5] bl GetFieldObjectGraphicsInfo @@ -1839,7 +1839,7 @@ FldEff_Splash: @ 80DBB88 lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, _080DBC20 @ =gUnknown_2036E38 + ldr r0, _080DBC20 @ =gMapObjects adds r5, r1, r0 ldr r0, _080DBC24 @ =gUnknown_83A0010 ldr r0, [r0, 0x34] @@ -1900,7 +1900,7 @@ _080DBC12: bx r1 .align 2, 0 _080DBC1C: .4byte gUnknown_20386E0 -_080DBC20: .4byte gUnknown_2036E38 +_080DBC20: .4byte gMapObjects _080DBC24: .4byte gUnknown_83A0010 _080DBC28: .4byte gSprites thumb_func_end FldEff_Splash @@ -1937,7 +1937,7 @@ _080DBC5C: b _080DBCA6 _080DBC66: ldr r3, _080DBCB0 @ =gSprites - ldr r2, _080DBCB4 @ =gUnknown_2036E38 + ldr r2, _080DBCB4 @ =gMapObjects mov r0, sp ldrb r1, [r0] lsls r0, r1, 3 @@ -1974,7 +1974,7 @@ _080DBCA6: bx r0 .align 2, 0 _080DBCB0: .4byte gSprites -_080DBCB4: .4byte gUnknown_2036E38 +_080DBCB4: .4byte gMapObjects thumb_func_end sub_80DBC2C thumb_func_start FldEff_JumpSmallSplash @@ -2104,7 +2104,7 @@ FldEff_FeetInFlowingWater: @ 80DBD98 lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, _080DBE3C @ =gUnknown_2036E38 + ldr r0, _080DBE3C @ =gMapObjects adds r6, r1, r0 ldr r0, _080DBE40 @ =gUnknown_83A0010 ldr r0, [r0, 0x34] @@ -2171,7 +2171,7 @@ _080DBE2E: bx r1 .align 2, 0 _080DBE38: .4byte gUnknown_20386E0 -_080DBE3C: .4byte gUnknown_2036E38 +_080DBE3C: .4byte gMapObjects _080DBE40: .4byte gUnknown_83A0010 _080DBE44: .4byte gSprites _080DBE48: .4byte sub_80DBE50 @@ -2197,7 +2197,7 @@ sub_80DBE50: @ 80DBE50 lsls r0, 24 cmp r0, 0 bne _080DBE8A - ldr r2, _080DBE94 @ =gUnknown_2036E38 + ldr r2, _080DBE94 @ =gMapObjects mov r0, sp ldrb r1, [r0] lsls r0, r1, 3 @@ -2214,7 +2214,7 @@ _080DBE8A: bl FieldEffectStop b _080DBEE2 .align 2, 0 -_080DBE94: .4byte gUnknown_2036E38 +_080DBE94: .4byte gMapObjects _080DBE98: ldrb r1, [r5, 0x4] lsls r0, r1, 4 @@ -2323,7 +2323,7 @@ sub_80DBF50: @ 80DBF50 lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, _080DBFE8 @ =gUnknown_2036E38 + ldr r0, _080DBFE8 @ =gMapObjects adds r5, r1, r0 ldr r0, _080DBFEC @ =gUnknown_83A0010 ldr r0, [r0, 0x7C] @@ -2387,7 +2387,7 @@ _080DBFDC: bx r1 .align 2, 0 _080DBFE4: .4byte gUnknown_20386E0 -_080DBFE8: .4byte gUnknown_2036E38 +_080DBFE8: .4byte gMapObjects _080DBFEC: .4byte gUnknown_83A0010 _080DBFF0: .4byte gSprites thumb_func_end sub_80DBF50 @@ -2411,7 +2411,7 @@ sub_80DBFF4: @ 80DBFF4 lsls r0, 24 cmp r0, 0 bne _080DC02E - ldr r5, _080DC038 @ =gUnknown_2036E38 + ldr r5, _080DC038 @ =gMapObjects mov r0, sp ldrb r1, [r0] lsls r0, r1, 3 @@ -2428,7 +2428,7 @@ _080DC02E: bl FieldEffectStop b _080DC080 .align 2, 0 -_080DC038: .4byte gUnknown_2036E38 +_080DC038: .4byte gMapObjects _080DC03C: ldrb r0, [r1, 0x5] bl GetFieldObjectGraphicsInfo @@ -2863,7 +2863,7 @@ sub_80DC348: @ 80DC348 movs r2, 0x32 ldrsh r1, [r4, r2] bl CurrentMapDrawMetatileAt - ldr r2, _080DC3A0 @ =gUnknown_2036E38 + ldr r2, _080DC3A0 @ =gMapObjects ldr r0, _080DC3A4 @ =gUnknown_2037078 ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -2880,7 +2880,7 @@ sub_80DC348: @ 80DC348 pop {r0} bx r0 .align 2, 0 -_080DC3A0: .4byte gUnknown_2036E38 +_080DC3A0: .4byte gMapObjects _080DC3A4: .4byte gUnknown_2037078 thumb_func_end sub_80DC348 @@ -3081,7 +3081,7 @@ sub_80DC4F8: @ 80DC4F8 lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _080DC548 @ =gUnknown_2036E38 + ldr r0, _080DC548 @ =gMapObjects adds r4, r0 ldrb r0, [r4, 0x4] lsls r5, r0, 4 @@ -3112,7 +3112,7 @@ sub_80DC4F8: @ 80DC4F8 pop {r0} bx r0 .align 2, 0 -_080DC548: .4byte gUnknown_2036E38 +_080DC548: .4byte gMapObjects _080DC54C: .4byte gSprites thumb_func_end sub_80DC4F8 @@ -3454,7 +3454,7 @@ FldEff_SandPile: @ 80DC7B0 lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, _080DC860 @ =gUnknown_2036E38 + ldr r0, _080DC860 @ =gMapObjects adds r6, r1, r0 ldr r0, _080DC864 @ =gUnknown_83A0010 ldr r0, [r0, 0x74] @@ -3528,7 +3528,7 @@ _080DC854: bx r1 .align 2, 0 _080DC85C: .4byte gUnknown_20386E0 -_080DC860: .4byte gUnknown_2036E38 +_080DC860: .4byte gMapObjects _080DC864: .4byte gUnknown_83A0010 _080DC868: .4byte gSprites thumb_func_end FldEff_SandPile @@ -3552,7 +3552,7 @@ sub_80DC86C: @ 80DC86C lsls r0, 24 cmp r0, 0 bne _080DC8A6 - ldr r2, _080DC8B0 @ =gUnknown_2036E38 + ldr r2, _080DC8B0 @ =gMapObjects mov r0, sp ldrb r1, [r0] lsls r0, r1, 3 @@ -3569,7 +3569,7 @@ _080DC8A6: bl FieldEffectStop b _080DC926 .align 2, 0 -_080DC8B0: .4byte gUnknown_2036E38 +_080DC8B0: .4byte gMapObjects _080DC8B4: ldr r2, _080DC930 @ =gSprites ldrb r1, [r1, 0x4] @@ -3608,7 +3608,7 @@ _080DC8F6: strh r6, [r4, 0x20] strh r5, [r4, 0x22] ldr r3, _080DC930 @ =gSprites - ldr r2, _080DC934 @ =gUnknown_2036E38 + ldr r2, _080DC934 @ =gMapObjects mov r0, sp ldrb r1, [r0] lsls r0, r1, 3 @@ -3635,7 +3635,7 @@ _080DC926: bx r0 .align 2, 0 _080DC930: .4byte gSprites -_080DC934: .4byte gUnknown_2036E38 +_080DC934: .4byte gMapObjects thumb_func_end sub_80DC86C thumb_func_start FldEff_Bubbles @@ -3882,7 +3882,7 @@ sub_80DCAC8: @ 80DCAC8 adds r0, r5, 0 bl FieldEffectStop _080DCAF8: - ldr r4, _080DCBB0 @ =gUnknown_2036E38 + ldr r4, _080DCBB0 @ =gMapObjects mov r0, sp ldrb r1, [r0] lsls r0, r1, 3 @@ -3975,7 +3975,7 @@ _080DCBA8: pop {r0} bx r0 .align 2, 0 -_080DCBB0: .4byte gUnknown_2036E38 +_080DCBB0: .4byte gMapObjects _080DCBB4: .4byte gSprites thumb_func_end sub_80DCAC8 @@ -4217,7 +4217,7 @@ _080DCD5E: lsls r0, r7, 3 adds r0, r7 lsls r0, 2 - ldr r1, _080DCDF8 @ =gUnknown_2036E38 + ldr r1, _080DCDF8 @ =gMapObjects adds r4, r0, r1 ldrb r0, [r4] lsls r0, 31 @@ -4291,7 +4291,7 @@ _080DCDD8: strb r0, [r2] b _080DCE0A .align 2, 0 -_080DCDF8: .4byte gUnknown_2036E38 +_080DCDF8: .4byte gMapObjects _080DCDFC: .4byte gSprites _080DCE00: adds r0, r7, 0x1 diff --git a/asm/field_fadetransition.s b/asm/field_fadetransition.s index 6f1e42f48..231a3b123 100644 --- a/asm/field_fadetransition.s +++ b/asm/field_fadetransition.s @@ -727,7 +727,7 @@ _0807E0AE: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0807E0E8 @ =gUnknown_2036E38 + ldr r1, _0807E0E8 @ =gMapObjects adds r0, r1 movs r1, 0x10 bl sub_8063CA4 @@ -735,7 +735,7 @@ _0807E0AE: strh r0, [r4, 0x8] b _0807E206 .align 2, 0 -_0807E0E8: .4byte gUnknown_2036E38 +_0807E0E8: .4byte gMapObjects _0807E0EC: ldrh r0, [r4, 0x24] adds r0, 0x1 @@ -781,13 +781,13 @@ _0807E10E: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0807E15C @ =gUnknown_2036E38 + ldr r1, _0807E15C @ =gMapObjects adds r0, r1 bl FieldObjectClearAnimIfSpecialAnimFinished b _0807E1F2 .align 2, 0 _0807E158: .4byte sub_807F204 -_0807E15C: .4byte gUnknown_2036E38 +_0807E15C: .4byte gMapObjects _0807E160: bl sub_807E418 cmp r0, 0 @@ -804,7 +804,7 @@ _0807E160: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0807E194 @ =gUnknown_2036E38 + ldr r1, _0807E194 @ =gMapObjects adds r0, r1 movs r1, 0x10 bl sub_8063CA4 @@ -812,7 +812,7 @@ _0807E160: strh r0, [r4, 0x8] b _0807E206 .align 2, 0 -_0807E194: .4byte gUnknown_2036E38 +_0807E194: .4byte gMapObjects _0807E198: bl walkrun_is_standing_still lsls r0, 24 @@ -836,14 +836,14 @@ _0807E198: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0807E1D8 @ =gUnknown_2036E38 + ldr r1, _0807E1D8 @ =gMapObjects adds r0, r1 bl FieldObjectClearAnimIfSpecialAnimFinished movs r0, 0x3 strh r0, [r4, 0x8] b _0807E206 .align 2, 0 -_0807E1D8: .4byte gUnknown_2036E38 +_0807E1D8: .4byte gMapObjects _0807E1DC: movs r1, 0xA ldrsh r0, [r4, r1] @@ -927,7 +927,7 @@ _0807E25E: lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _0807E2A4 @ =gUnknown_2036E38 + ldr r0, _0807E2A4 @ =gMapObjects adds r4, r0 bl player_get_direction_lower_nybble lsls r0, 24 @@ -942,7 +942,7 @@ _0807E25E: strh r0, [r5, 0x8] b _0807E2C6 .align 2, 0 -_0807E2A4: .4byte gUnknown_2036E38 +_0807E2A4: .4byte gMapObjects _0807E2A8: bl walkrun_is_standing_still lsls r0, 24 @@ -1729,7 +1729,7 @@ _0807E8AE: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r4, _0807E8F0 @ =gUnknown_2036E38 + ldr r4, _0807E8F0 @ =gMapObjects adds r0, r4 bl FieldObjectClearAnimIfSpecialAnimActive movs r0, 0xFF @@ -1749,7 +1749,7 @@ _0807E8AE: strh r0, [r5, 0x8] b _0807E976 .align 2, 0 -_0807E8F0: .4byte gUnknown_2036E38 +_0807E8F0: .4byte gMapObjects _0807E8F4: bl walkrun_is_standing_still lsls r0, 24 @@ -1774,7 +1774,7 @@ _0807E8F4: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0807E93C @ =gUnknown_2036E38 + ldr r1, _0807E93C @ =gMapObjects adds r0, r1 bl FieldObjectClearAnimIfSpecialAnimFinished movs r0, 0 @@ -1783,7 +1783,7 @@ _0807E8F4: strh r0, [r5, 0x8] b _0807E976 .align 2, 0 -_0807E93C: .4byte gUnknown_2036E38 +_0807E93C: .4byte gMapObjects _0807E940: movs r1, 0xA ldrsh r0, [r5, r1] @@ -1836,7 +1836,7 @@ sub_807E980: @ 807E980 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0807E9C8 @ =gUnknown_2036E38 + ldr r1, _0807E9C8 @ =gMapObjects adds r6, r0, r1 ldrb r1, [r2, 0x4] lsls r0, r1, 4 @@ -1856,7 +1856,7 @@ sub_807E980: @ 807E980 .align 2, 0 _0807E9C0: .4byte gTasks+0x8 _0807E9C4: .4byte gUnknown_2037078 -_0807E9C8: .4byte gUnknown_2036E38 +_0807E9C8: .4byte gMapObjects _0807E9CC: .4byte gSprites _0807E9D0: cmp r0, 0x2 @@ -1995,7 +1995,7 @@ sub_807EAC4: @ 807EAC4 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _0807EB60 @ =gUnknown_2036E38 + ldr r2, _0807EB60 @ =gMapObjects adds r0, r2 mov r8, r0 lsls r1, 16 @@ -2051,7 +2051,7 @@ _0807EB4C: .align 2, 0 _0807EB58: .4byte gUnknown_2037078 _0807EB5C: .4byte gSprites -_0807EB60: .4byte gUnknown_2036E38 +_0807EB60: .4byte gMapObjects thumb_func_end sub_807EAC4 thumb_func_start sub_807EB64 @@ -2069,7 +2069,7 @@ sub_807EB64: @ 807EB64 lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _0807EBB8 @ =gUnknown_2036E38 + ldr r0, _0807EBB8 @ =gMapObjects adds r4, r0 bl player_get_direction_lower_nybble lsls r0, 24 @@ -2093,7 +2093,7 @@ sub_807EB64: @ 807EB64 bx r0 .align 2, 0 _0807EBB4: .4byte gUnknown_2037078 -_0807EBB8: .4byte gUnknown_2036E38 +_0807EBB8: .4byte gMapObjects thumb_func_end sub_807EB64 thumb_func_start sub_807EBBC @@ -2272,7 +2272,7 @@ _0807ED0C: lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _0807ED98 @ =gUnknown_2036E38 + ldr r0, _0807ED98 @ =gMapObjects adds r4, r0 adds r0, r1, 0 bl sub_8064270 @@ -2333,7 +2333,7 @@ _0807ED0C: bx r0 .align 2, 0 _0807ED94: .4byte gUnknown_2037078 -_0807ED98: .4byte gUnknown_2036E38 +_0807ED98: .4byte gMapObjects _0807ED9C: .4byte gSprites thumb_func_end sub_807ECBC diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s index 068f9c554..84f023d19 100644 --- a/asm/field_map_obj.s +++ b/asm/field_map_obj.s @@ -28,7 +28,7 @@ npc_clear_ids_and_state: @ 805DE2C npcs_clear_ids_and_state: @ 805DE4C push {r4,r5,lr} movs r4, 0 - ldr r5, _0805DE70 @ =gUnknown_2036E38 + ldr r5, _0805DE70 @ =gMapObjects _0805DE52: lsls r0, r4, 3 adds r0, r4 @@ -44,7 +44,7 @@ _0805DE52: pop {r0} bx r0 .align 2, 0 -_0805DE70: .4byte gUnknown_2036E38 +_0805DE70: .4byte gMapObjects thumb_func_end npcs_clear_ids_and_state thumb_func_start sub_805DE74 @@ -141,11 +141,11 @@ _0805DF2C: .4byte gSprites sub_805DF30: @ 805DF30 push {lr} movs r1, 0 - ldr r2, _0805DF3C @ =gUnknown_2036E38 + ldr r2, _0805DF3C @ =gMapObjects ldrb r0, [r2] b _0805DF54 .align 2, 0 -_0805DF3C: .4byte gUnknown_2036E38 +_0805DF3C: .4byte gMapObjects _0805DF40: adds r0, r1, 0x1 lsls r0, 24 @@ -219,7 +219,7 @@ _0805DFA8: GetFieldObjectIdByXY: @ 805DFB0 push {r4-r6,lr} movs r3, 0 - ldr r5, _0805DFF0 @ =gUnknown_2036E38 + ldr r5, _0805DFF0 @ =gMapObjects lsls r0, 16 asrs r4, r0, 16 lsls r1, 16 @@ -253,7 +253,7 @@ _0805DFE8: pop {r1} bx r1 .align 2, 0 -_0805DFF0: .4byte gUnknown_2036E38 +_0805DFF0: .4byte gMapObjects thumb_func_end GetFieldObjectIdByXY thumb_func_start GetFieldObjectIdByLocalIdAndMapInternal @@ -266,7 +266,7 @@ GetFieldObjectIdByLocalIdAndMapInternal: @ 805DFF4 lsls r2, 24 lsrs r2, 24 movs r1, 0 - ldr r6, _0805E02C @ =gUnknown_2036E38 + ldr r6, _0805E02C @ =gMapObjects _0805E006: lsls r0, r1, 3 adds r0, r1 @@ -288,7 +288,7 @@ _0805E006: adds r0, r1, 0 b _0805E03C .align 2, 0 -_0805E02C: .4byte gUnknown_2036E38 +_0805E02C: .4byte gMapObjects _0805E030: adds r0, r1, 0x1 lsls r0, 24 @@ -308,7 +308,7 @@ GetFieldObjectIdByLocalId: @ 805E044 lsls r0, 24 lsrs r3, r0, 24 movs r2, 0 - ldr r4, _0805E068 @ =gUnknown_2036E38 + ldr r4, _0805E068 @ =gMapObjects _0805E04E: lsls r0, r2, 3 adds r0, r2 @@ -324,7 +324,7 @@ _0805E04E: adds r0, r2, 0 b _0805E078 .align 2, 0 -_0805E068: .4byte gUnknown_2036E38 +_0805E068: .4byte gMapObjects _0805E06C: adds r0, r2, 0x1 lsls r0, 24 @@ -414,7 +414,7 @@ _0805E10A: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805E13C @ =gUnknown_2036E38 + ldr r1, _0805E13C @ =gMapObjects adds r4, r0, r1 adds r0, r4, 0 bl npc_clear_ids_and_state @@ -434,7 +434,7 @@ _0805E10A: adds r0, r1 b _0805E14E .align 2, 0 -_0805E13C: .4byte gUnknown_2036E38 +_0805E13C: .4byte gMapObjects _0805E140: ldrh r0, [r5, 0x4] adds r0, 0x7 @@ -839,7 +839,7 @@ GetAvailableFieldObjectSlot: @ 805E414 lsls r2, 24 lsrs r4, r2, 24 movs r2, 0 - ldr r1, _0805E470 @ =gUnknown_2036E38 + ldr r1, _0805E470 @ =gMapObjects ldrb r0, [r1] lsls r0, 31 adds r7, r1, 0 @@ -881,11 +881,11 @@ _0805E46C: movs r0, 0x1 b _0805E4A8 .align 2, 0 -_0805E470: .4byte gUnknown_2036E38 +_0805E470: .4byte gMapObjects _0805E474: mov r0, r12 strb r2, [r0] - ldr r1, _0805E4B0 @ =gUnknown_2036E38 + ldr r1, _0805E4B0 @ =gMapObjects _0805E47A: lsls r0, r2, 3 adds r0, r2 @@ -916,7 +916,7 @@ _0805E4A8: pop {r1} bx r1 .align 2, 0 -_0805E4B0: .4byte gUnknown_2036E38 +_0805E4B0: .4byte gMapObjects thumb_func_end GetAvailableFieldObjectSlot thumb_func_start RemoveFieldObject @@ -958,7 +958,7 @@ RemoveFieldObjectByLocalIdAndMap: @ 805E4C8 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805E50C @ =gUnknown_2036E38 + ldr r1, _0805E50C @ =gMapObjects adds r0, r1 bl RemoveFieldObject _0805E506: @@ -966,7 +966,7 @@ _0805E506: pop {r0} bx r0 .align 2, 0 -_0805E50C: .4byte gUnknown_2036E38 +_0805E50C: .4byte gMapObjects thumb_func_end RemoveFieldObjectByLocalIdAndMap thumb_func_start RemoveFieldObjectInternal @@ -1019,7 +1019,7 @@ _0805E560: lsls r0, r4, 3 adds r0, r4 lsls r0, 2 - ldr r1, _0805E58C @ =gUnknown_2036E38 + ldr r1, _0805E58C @ =gMapObjects adds r0, r1 bl RemoveFieldObject _0805E576: @@ -1033,7 +1033,7 @@ _0805E576: bx r0 .align 2, 0 _0805E588: .4byte gUnknown_2037078 -_0805E58C: .4byte gUnknown_2036E38 +_0805E58C: .4byte gMapObjects thumb_func_end unref_sub_808D958 thumb_func_start sub_805E590 @@ -1071,7 +1071,7 @@ _0805E5CA: lsls r4, r0, 3 adds r0, r4, r0 lsls r0, 2 - ldr r1, _0805E5F4 @ =gUnknown_2036E38 + ldr r1, _0805E5F4 @ =gMapObjects adds r5, r0, r1 ldrb r0, [r5, 0x5] bl GetFieldObjectGraphicsInfo @@ -1087,7 +1087,7 @@ _0805E5CA: bl npc_load_two_palettes__no_record b _0805E606 .align 2, 0 -_0805E5F4: .4byte gUnknown_2036E38 +_0805E5F4: .4byte gMapObjects _0805E5F8: cmp r0, 0xA bne _0805E606 @@ -1116,7 +1116,7 @@ _0805E614: lsrs r7, r0, 24 cmp r7, 0x40 bne _0805E650 - ldr r0, _0805E64C @ =gUnknown_2036E38 + ldr r0, _0805E64C @ =gMapObjects mov r2, r8 adds r1, r4, r2 lsls r1, 2 @@ -1130,7 +1130,7 @@ _0805E614: b _0805E718 .align 2, 0 _0805E648: .4byte 0x0000ffff -_0805E64C: .4byte gUnknown_2036E38 +_0805E64C: .4byte gMapObjects _0805E650: lsls r0, r7, 4 adds r0, r7 @@ -1302,7 +1302,7 @@ SpawnFieldObject: @ 805E72C _0805E7A4: .4byte 0xffff0000 _0805E7A8: ldr r4, _0805E7EC @ =gSprites - ldr r1, _0805E7F0 @ =gUnknown_2036E38 + ldr r1, _0805E7F0 @ =gMapObjects lsls r0, r2, 3 adds r0, r2 lsls r0, 2 @@ -1338,7 +1338,7 @@ _0805E7DE: bx r1 .align 2, 0 _0805E7EC: .4byte gSprites -_0805E7F0: .4byte gUnknown_2036E38 +_0805E7F0: .4byte gMapObjects thumb_func_end SpawnFieldObject thumb_func_start SpawnSpecialFieldObject @@ -2035,7 +2035,7 @@ _0805ED2E: lsls r0, r3, 3 adds r0, r3 lsls r0, 2 - ldr r1, _0805ED68 @ =gUnknown_2036E38 + ldr r1, _0805ED68 @ =gMapObjects adds r2, r0, r1 ldr r0, [r2] ldr r1, _0805ED6C @ =0x00010001 @@ -2054,7 +2054,7 @@ _0805ED56: bx r0 .align 2, 0 _0805ED64: .4byte gUnknown_2031DEC -_0805ED68: .4byte gUnknown_2036E38 +_0805ED68: .4byte gMapObjects _0805ED6C: .4byte 0x00010001 thumb_func_end RemoveFieldObjectsOutsideView @@ -2138,7 +2138,7 @@ sub_805EDF0: @ 805EDF0 lsrs r5, 16 bl ClearPlayerAvatarInfo movs r6, 0 - ldr r7, _0805EE38 @ =gUnknown_2036E38 + ldr r7, _0805EE38 @ =gMapObjects lsls r4, 16 lsls r5, 16 _0805EE0A: @@ -2165,7 +2165,7 @@ _0805EE24: pop {r0} bx r0 .align 2, 0 -_0805EE38: .4byte gUnknown_2036E38 +_0805EE38: .4byte gMapObjects thumb_func_end sub_805EDF0 thumb_func_start sub_805EE3C @@ -2207,7 +2207,7 @@ _0805EE70: lsls r0, r1, 3 add r0, r8 lsls r0, 2 - ldr r1, _0805EFE4 @ =gUnknown_2036E38 + ldr r1, _0805EFE4 @ =gMapObjects adds r6, r0, r1 movs r0, 0 str r0, [sp, 0x20] @@ -2376,7 +2376,7 @@ _0805EFCE: bx r0 .align 2, 0 _0805EFE0: .4byte gUnknown_2031DEC -_0805EFE4: .4byte gUnknown_2036E38 +_0805EFE4: .4byte gMapObjects _0805EFE8: .4byte 0xffff0000 _0805EFEC: .4byte 0x0000ffff _0805EFF0: .4byte gSprites @@ -2421,7 +2421,7 @@ SetPlayerAvatarFieldObjectIdAndObjectId: @ 805F02C ldr r5, _0805F058 @ =gUnknown_2037078 strb r0, [r5, 0x5] strb r1, [r5, 0x4] - ldr r1, _0805F05C @ =gUnknown_2036E38 + ldr r1, _0805F05C @ =gMapObjects lsls r4, r0, 3 adds r4, r0 lsls r4, 2 @@ -2437,7 +2437,7 @@ SetPlayerAvatarFieldObjectIdAndObjectId: @ 805F02C bx r0 .align 2, 0 _0805F058: .4byte gUnknown_2037078 -_0805F05C: .4byte gUnknown_2036E38 +_0805F05C: .4byte gMapObjects thumb_func_end SetPlayerAvatarFieldObjectIdAndObjectId thumb_func_start sub_805F060 @@ -2649,7 +2649,7 @@ FieldObjectSetGraphicsIdByLocalIdAndMap: @ 805F1D8 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805F214 @ =gUnknown_2036E38 + ldr r1, _0805F214 @ =gMapObjects adds r0, r1 adds r1, r4, 0 bl sub_805F060 @@ -2659,7 +2659,7 @@ _0805F20C: pop {r0} bx r0 .align 2, 0 -_0805F214: .4byte gUnknown_2036E38 +_0805F214: .4byte gMapObjects thumb_func_end FieldObjectSetGraphicsIdByLocalIdAndMap thumb_func_start FieldObjectTurn @@ -2725,7 +2725,7 @@ FieldObjectTurnByLocalIdAndMap: @ 805F268 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805F2A4 @ =gUnknown_2036E38 + ldr r1, _0805F2A4 @ =gMapObjects adds r0, r1 adds r1, r4, 0 bl FieldObjectTurn @@ -2735,7 +2735,7 @@ _0805F29C: pop {r0} bx r0 .align 2, 0 -_0805F2A4: .4byte gUnknown_2036E38 +_0805F2A4: .4byte gMapObjects thumb_func_end FieldObjectTurnByLocalIdAndMap thumb_func_start PlayerObjectTurn @@ -2747,13 +2747,13 @@ PlayerObjectTurn: @ 805F2A8 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _0805F2C4 @ =gUnknown_2036E38 + ldr r2, _0805F2C4 @ =gMapObjects adds r0, r2 bl FieldObjectTurn pop {r0} bx r0 .align 2, 0 -_0805F2C4: .4byte gUnknown_2036E38 +_0805F2C4: .4byte gMapObjects thumb_func_end PlayerObjectTurn thumb_func_start GetFieldObjectGraphicsInfo @@ -2819,7 +2819,7 @@ npc_by_local_id_and_map_set_field_1_bit_x20: @ 805F314 lsls r0, 24 cmp r0, 0 bne _0805F356 - ldr r2, _0805F360 @ =gUnknown_2036E38 + ldr r2, _0805F360 @ =gMapObjects mov r0, sp ldrb r0, [r0] lsls r1, r0, 3 @@ -2842,7 +2842,7 @@ _0805F356: pop {r0} bx r0 .align 2, 0 -_0805F360: .4byte gUnknown_2036E38 +_0805F360: .4byte gMapObjects thumb_func_end npc_by_local_id_and_map_set_field_1_bit_x20 thumb_func_start FieldObjectGetLocalIdAndMap @@ -2874,7 +2874,7 @@ sub_805F378: @ 805F378 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805F3A4 @ =gUnknown_2036E38 + ldr r1, _0805F3A4 @ =gMapObjects adds r0, r1 ldrb r1, [r0] movs r2, 0x4 @@ -2884,7 +2884,7 @@ _0805F3A0: pop {r0} bx r0 .align 2, 0 -_0805F3A4: .4byte gUnknown_2036E38 +_0805F3A4: .4byte gMapObjects thumb_func_end sub_805F378 thumb_func_start sub_805F3A8 @@ -2909,7 +2909,7 @@ sub_805F3A8: @ 805F3A8 lsls r2, r0, 3 adds r2, r0 lsls r2, 2 - ldr r0, _0805F3F8 @ =gUnknown_2036E38 + ldr r0, _0805F3F8 @ =gMapObjects adds r2, r0 ldrb r1, [r2, 0x4] lsls r0, r1, 4 @@ -2929,7 +2929,7 @@ _0805F3EE: pop {r0} bx r0 .align 2, 0 -_0805F3F8: .4byte gUnknown_2036E38 +_0805F3F8: .4byte gMapObjects _0805F3FC: .4byte gSprites thumb_func_end sub_805F3A8 @@ -2953,7 +2953,7 @@ sub_805F400: @ 805F400 lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, _0805F444 @ =gUnknown_2036E38 + ldr r0, _0805F444 @ =gMapObjects adds r1, r0 ldrb r2, [r1, 0x3] movs r0, 0x5 @@ -2969,7 +2969,7 @@ _0805F43C: pop {r0} bx r0 .align 2, 0 -_0805F444: .4byte gUnknown_2036E38 +_0805F444: .4byte gMapObjects thumb_func_end sub_805F400 thumb_func_start sub_805F448 @@ -2992,7 +2992,7 @@ sub_805F448: @ 805F448 lsls r0, 24 cmp r0, 0 bne _0805F48C - ldr r2, _0805F494 @ =gUnknown_2036E38 + ldr r2, _0805F494 @ =gMapObjects mov r0, sp ldrb r1, [r0] lsls r0, r1, 3 @@ -3013,7 +3013,7 @@ _0805F48C: pop {r0} bx r0 .align 2, 0 -_0805F494: .4byte gUnknown_2036E38 +_0805F494: .4byte gMapObjects _0805F498: .4byte gSprites thumb_func_end sub_805F448 @@ -3483,7 +3483,7 @@ sub_805F7C4: @ 805F7C4 lsls r0, r3, 3 adds r0, r3 lsls r0, 2 - ldr r3, _0805F814 @ =gUnknown_2036E38 + ldr r3, _0805F814 @ =gMapObjects adds r0, r3 movs r3, 0xE0 lsls r3, 11 @@ -3498,7 +3498,7 @@ _0805F80C: pop {r0} bx r0 .align 2, 0 -_0805F814: .4byte gUnknown_2036E38 +_0805F814: .4byte gMapObjects thumb_func_end sub_805F7C4 thumb_func_start npc_coords_shift_still @@ -3523,7 +3523,7 @@ UpdateFieldObjectCoordsForCameraUpdate: @ 805F82C cmp r0, 0 beq _0805F884 movs r3, 0 - ldr r5, _0805F890 @ =gUnknown_2036E38 + ldr r5, _0805F890 @ =gMapObjects movs r0, 0x4 ldrsh r4, [r2, r0] movs r0, 0x8 @@ -3567,7 +3567,7 @@ _0805F884: bx r0 .align 2, 0 _0805F88C: .4byte gUnknown_2036E18 -_0805F890: .4byte gUnknown_2036E38 +_0805F890: .4byte gMapObjects thumb_func_end UpdateFieldObjectCoordsForCameraUpdate thumb_func_start GetFieldObjectIdByXYZ @@ -3582,7 +3582,7 @@ GetFieldObjectIdByXYZ: @ 805F894 lsls r2, 24 lsrs r5, r2, 24 movs r4, 0 - ldr r0, _0805F8E0 @ =gUnknown_2036E38 + ldr r0, _0805F8E0 @ =gMapObjects mov r8, r0 _0805F8AC: lsls r0, r4, 3 @@ -3611,7 +3611,7 @@ _0805F8AC: adds r0, r4, 0 b _0805F8F0 .align 2, 0 -_0805F8E0: .4byte gUnknown_2036E38 +_0805F8E0: .4byte gMapObjects _0805F8E4: adds r0, r4, 0x1 lsls r0, 24 @@ -4098,7 +4098,7 @@ GetFieldObjectScriptPointerByFieldObjectId: @ 805FC38 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r1, _0805FC58 @ =gUnknown_2036E38 + ldr r1, _0805FC58 @ =gMapObjects lsls r2, r0, 3 adds r2, r0 lsls r2, 2 @@ -4110,7 +4110,7 @@ GetFieldObjectScriptPointerByFieldObjectId: @ 805FC38 pop {r1} bx r1 .align 2, 0 -_0805FC58: .4byte gUnknown_2036E38 +_0805FC58: .4byte gMapObjects thumb_func_end GetFieldObjectScriptPointerByFieldObjectId thumb_func_start GetFieldObjectFlagIdByLocalIdAndMap @@ -4133,7 +4133,7 @@ GetFieldObjectFlagIdByFieldObjectId: @ 805FC74 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r1, _0805FC98 @ =gUnknown_2036E38 + ldr r1, _0805FC98 @ =gMapObjects lsls r2, r0, 3 adds r2, r0 lsls r2, 2 @@ -4147,7 +4147,7 @@ GetFieldObjectFlagIdByFieldObjectId: @ 805FC74 pop {r1} bx r1 .align 2, 0 -_0805FC98: .4byte gUnknown_2036E38 +_0805FC98: .4byte gMapObjects thumb_func_end GetFieldObjectFlagIdByFieldObjectId thumb_func_start sub_805FC9C @@ -4165,7 +4165,7 @@ sub_805FC9C: @ 805FC9C lsls r0, 24 cmp r0, 0 bne _0805FCD0 - ldr r2, _0805FCCC @ =gUnknown_2036E38 + ldr r2, _0805FCCC @ =gMapObjects mov r0, sp ldrb r1, [r0] lsls r0, r1, 3 @@ -4175,7 +4175,7 @@ sub_805FC9C: @ 805FC9C ldrb r0, [r0, 0x7] b _0805FCD2 .align 2, 0 -_0805FCCC: .4byte gUnknown_2036E38 +_0805FCCC: .4byte gMapObjects _0805FCD0: movs r0, 0xFF _0805FCD2: @@ -4203,7 +4203,7 @@ sub_805FCD8: @ 805FCD8 sub_805FCF0: @ 805FCF0 lsls r0, 24 lsrs r0, 24 - ldr r2, _0805FD04 @ =gUnknown_2036E38 + ldr r2, _0805FD04 @ =gMapObjects lsls r1, r0, 3 adds r1, r0 lsls r1, 2 @@ -4211,7 +4211,7 @@ sub_805FCF0: @ 805FCF0 ldrb r0, [r1, 0x7] bx lr .align 2, 0 -_0805FD04: .4byte gUnknown_2036E38 +_0805FD04: .4byte gMapObjects thumb_func_end sub_805FCF0 thumb_func_start sub_805FD08 @@ -4229,7 +4229,7 @@ sub_805FD08: @ 805FD08 lsls r0, 24 cmp r0, 0 bne _0805FD3C - ldr r2, _0805FD38 @ =gUnknown_2036E38 + ldr r2, _0805FD38 @ =gMapObjects mov r0, sp ldrb r1, [r0] lsls r0, r1, 3 @@ -4239,7 +4239,7 @@ sub_805FD08: @ 805FD08 ldrb r0, [r0, 0x1D] b _0805FD3E .align 2, 0 -_0805FD38: .4byte gUnknown_2036E38 +_0805FD38: .4byte gMapObjects _0805FD3C: movs r0, 0xFF _0805FD3E: @@ -4252,7 +4252,7 @@ _0805FD3E: FieldObjectGetBerryTreeId: @ 805FD44 lsls r0, 24 lsrs r0, 24 - ldr r2, _0805FD58 @ =gUnknown_2036E38 + ldr r2, _0805FD58 @ =gMapObjects lsls r1, r0, 3 adds r1, r0 lsls r1, 2 @@ -4260,7 +4260,7 @@ FieldObjectGetBerryTreeId: @ 805FD44 ldrb r0, [r1, 0x1D] bx lr .align 2, 0 -_0805FD58: .4byte gUnknown_2036E38 +_0805FD58: .4byte gMapObjects thumb_func_end FieldObjectGetBerryTreeId thumb_func_start GetFieldObjectTemplateByLocalIdAndMap @@ -4463,7 +4463,7 @@ sub_805FE94: @ 805FE94 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805FEC8 @ =gUnknown_2036E38 + ldr r1, _0805FEC8 @ =gMapObjects adds r0, r1 bl sub_805FE5C _0805FEC2: @@ -4471,7 +4471,7 @@ _0805FEC2: pop {r0} bx r0 .align 2, 0 -_0805FEC8: .4byte gUnknown_2036E38 +_0805FEC8: .4byte gMapObjects thumb_func_end sub_805FE94 thumb_func_start npc_paltag_set_load @@ -4602,14 +4602,14 @@ sub_805FFB4: @ 805FFB4 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _0805FFD0 @ =gUnknown_2036E38 + ldr r2, _0805FFD0 @ =gMapObjects adds r0, r2 ldr r2, _0805FFD4 @ =sub_805FFD8 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_0805FFD0: .4byte gUnknown_2036E38 +_0805FFD0: .4byte gMapObjects _0805FFD4: .4byte sub_805FFD8 thumb_func_end sub_805FFB4 @@ -4628,14 +4628,14 @@ sub_805FFDC: @ 805FFDC lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _0805FFF8 @ =gUnknown_2036E38 + ldr r2, _0805FFF8 @ =gMapObjects adds r0, r2 ldr r2, _0805FFFC @ =sub_8060000 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_0805FFF8: .4byte gUnknown_2036E38 +_0805FFF8: .4byte gMapObjects _0805FFFC: .4byte sub_8060000 thumb_func_end sub_805FFDC @@ -4667,14 +4667,14 @@ sub_8060020: @ 8060020 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _0806003C @ =gUnknown_2036E38 + ldr r2, _0806003C @ =gMapObjects adds r0, r2 ldr r2, _08060040 @ =sub_8060044 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_0806003C: .4byte gUnknown_2036E38 +_0806003C: .4byte gMapObjects _08060040: .4byte sub_8060044 thumb_func_end sub_8060020 @@ -5437,14 +5437,14 @@ sub_806058C: @ 806058C lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _080605A8 @ =gUnknown_2036E38 + ldr r2, _080605A8 @ =gMapObjects adds r0, r2 ldr r2, _080605AC @ =sub_80605B0 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_080605A8: .4byte gUnknown_2036E38 +_080605A8: .4byte gMapObjects _080605AC: .4byte sub_80605B0 thumb_func_end sub_806058C @@ -5610,14 +5610,14 @@ sub_80606CC: @ 80606CC lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _080606E8 @ =gUnknown_2036E38 + ldr r2, _080606E8 @ =gMapObjects adds r0, r2 ldr r2, _080606EC @ =sub_80606F0 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_080606E8: .4byte gUnknown_2036E38 +_080606E8: .4byte gMapObjects _080606EC: .4byte sub_80606F0 thumb_func_end sub_80606CC @@ -5825,14 +5825,14 @@ sub_8060850: @ 8060850 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _0806086C @ =gUnknown_2036E38 + ldr r2, _0806086C @ =gMapObjects adds r0, r2 ldr r2, _08060870 @ =sub_8060874 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_0806086C: .4byte gUnknown_2036E38 +_0806086C: .4byte gMapObjects _08060870: .4byte sub_8060874 thumb_func_end sub_8060850 @@ -6040,14 +6040,14 @@ sub_80609D4: @ 80609D4 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _080609F0 @ =gUnknown_2036E38 + ldr r2, _080609F0 @ =gMapObjects adds r0, r2 ldr r2, _080609F4 @ =sub_80609F8 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_080609F0: .4byte gUnknown_2036E38 +_080609F0: .4byte gMapObjects _080609F4: .4byte sub_80609F8 thumb_func_end sub_80609D4 @@ -6133,14 +6133,14 @@ sub_8060A74: @ 8060A74 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08060A90 @ =gUnknown_2036E38 + ldr r2, _08060A90 @ =gMapObjects adds r0, r2 ldr r2, _08060A94 @ =sub_8060A98 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08060A90: .4byte gUnknown_2036E38 +_08060A90: .4byte gMapObjects _08060A94: .4byte sub_8060A98 thumb_func_end sub_8060A74 @@ -6306,14 +6306,14 @@ sub_8060BB4: @ 8060BB4 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08060BD0 @ =gUnknown_2036E38 + ldr r2, _08060BD0 @ =gMapObjects adds r0, r2 ldr r2, _08060BD4 @ =sub_8060BD8 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08060BD0: .4byte gUnknown_2036E38 +_08060BD0: .4byte gMapObjects _08060BD4: .4byte sub_8060BD8 thumb_func_end sub_8060BB4 @@ -6479,14 +6479,14 @@ sub_8060CF4: @ 8060CF4 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08060D10 @ =gUnknown_2036E38 + ldr r2, _08060D10 @ =gMapObjects adds r0, r2 ldr r2, _08060D14 @ =sub_8060D18 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08060D10: .4byte gUnknown_2036E38 +_08060D10: .4byte gMapObjects _08060D14: .4byte sub_8060D18 thumb_func_end sub_8060CF4 @@ -6652,14 +6652,14 @@ sub_8060E34: @ 8060E34 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08060E50 @ =gUnknown_2036E38 + ldr r2, _08060E50 @ =gMapObjects adds r0, r2 ldr r2, _08060E54 @ =sub_8060E58 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08060E50: .4byte gUnknown_2036E38 +_08060E50: .4byte gMapObjects _08060E54: .4byte sub_8060E58 thumb_func_end sub_8060E34 @@ -6825,14 +6825,14 @@ sub_8060F74: @ 8060F74 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08060F90 @ =gUnknown_2036E38 + ldr r2, _08060F90 @ =gMapObjects adds r0, r2 ldr r2, _08060F94 @ =sub_8060F98 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08060F90: .4byte gUnknown_2036E38 +_08060F90: .4byte gMapObjects _08060F94: .4byte sub_8060F98 thumb_func_end sub_8060F74 @@ -6998,14 +6998,14 @@ sub_80610B4: @ 80610B4 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _080610D0 @ =gUnknown_2036E38 + ldr r2, _080610D0 @ =gMapObjects adds r0, r2 ldr r2, _080610D4 @ =sub_80610D8 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_080610D0: .4byte gUnknown_2036E38 +_080610D0: .4byte gMapObjects _080610D4: .4byte sub_80610D8 thumb_func_end sub_80610B4 @@ -7171,14 +7171,14 @@ sub_80611F4: @ 80611F4 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08061210 @ =gUnknown_2036E38 + ldr r2, _08061210 @ =gMapObjects adds r0, r2 ldr r2, _08061214 @ =sub_8061218 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08061210: .4byte gUnknown_2036E38 +_08061210: .4byte gMapObjects _08061214: .4byte sub_8061218 thumb_func_end sub_80611F4 @@ -7344,14 +7344,14 @@ sub_8061334: @ 8061334 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08061350 @ =gUnknown_2036E38 + ldr r2, _08061350 @ =gMapObjects adds r0, r2 ldr r2, _08061354 @ =sub_8061358 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08061350: .4byte gUnknown_2036E38 +_08061350: .4byte gMapObjects _08061354: .4byte sub_8061358 thumb_func_end sub_8061334 @@ -7517,14 +7517,14 @@ sub_8061474: @ 8061474 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08061490 @ =gUnknown_2036E38 + ldr r2, _08061490 @ =gMapObjects adds r0, r2 ldr r2, _08061494 @ =sub_8061498 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08061490: .4byte gUnknown_2036E38 +_08061490: .4byte gMapObjects _08061494: .4byte sub_8061498 thumb_func_end sub_8061474 @@ -7690,14 +7690,14 @@ sub_80615B4: @ 80615B4 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _080615D0 @ =gUnknown_2036E38 + ldr r2, _080615D0 @ =gMapObjects adds r0, r2 ldr r2, _080615D4 @ =sub_80615D8 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_080615D0: .4byte gUnknown_2036E38 +_080615D0: .4byte gMapObjects _080615D4: .4byte sub_80615D8 thumb_func_end sub_80615B4 @@ -7863,14 +7863,14 @@ sub_80616F4: @ 80616F4 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08061710 @ =gUnknown_2036E38 + ldr r2, _08061710 @ =gMapObjects adds r0, r2 ldr r2, _08061714 @ =sub_8061718 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08061710: .4byte gUnknown_2036E38 +_08061710: .4byte gMapObjects _08061714: .4byte sub_8061718 thumb_func_end sub_80616F4 @@ -8006,14 +8006,14 @@ sub_80617F8: @ 80617F8 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08061814 @ =gUnknown_2036E38 + ldr r2, _08061814 @ =gMapObjects adds r0, r2 ldr r2, _08061818 @ =sub_806181C bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08061814: .4byte gUnknown_2036E38 +_08061814: .4byte gMapObjects _08061818: .4byte sub_806181C thumb_func_end sub_80617F8 @@ -8149,14 +8149,14 @@ sub_80618FC: @ 80618FC lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08061918 @ =gUnknown_2036E38 + ldr r2, _08061918 @ =gMapObjects adds r0, r2 ldr r2, _0806191C @ =sub_8061920 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08061918: .4byte gUnknown_2036E38 +_08061918: .4byte gMapObjects _0806191C: .4byte sub_8061920 thumb_func_end sub_80618FC @@ -8465,14 +8465,14 @@ sub_8061B5C: @ 8061B5C lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08061B78 @ =gUnknown_2036E38 + ldr r2, _08061B78 @ =gMapObjects adds r0, r2 ldr r2, _08061B7C @ =sub_8061B80 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08061B78: .4byte gUnknown_2036E38 +_08061B78: .4byte gMapObjects _08061B7C: .4byte sub_8061B80 thumb_func_end sub_8061B5C @@ -8542,14 +8542,14 @@ sub_8061BE8: @ 8061BE8 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08061C04 @ =gUnknown_2036E38 + ldr r2, _08061C04 @ =gMapObjects adds r0, r2 ldr r2, _08061C08 @ =sub_8061C0C bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08061C04: .4byte gUnknown_2036E38 +_08061C04: .4byte gMapObjects _08061C08: .4byte sub_8061C0C thumb_func_end sub_8061BE8 @@ -8619,14 +8619,14 @@ sub_8061C74: @ 8061C74 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08061C90 @ =gUnknown_2036E38 + ldr r2, _08061C90 @ =gMapObjects adds r0, r2 ldr r2, _08061C94 @ =sub_8061C98 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08061C90: .4byte gUnknown_2036E38 +_08061C90: .4byte gMapObjects _08061C94: .4byte sub_8061C98 thumb_func_end sub_8061C74 @@ -8696,14 +8696,14 @@ sub_8061D00: @ 8061D00 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08061D1C @ =gUnknown_2036E38 + ldr r2, _08061D1C @ =gMapObjects adds r0, r2 ldr r2, _08061D20 @ =sub_8061D24 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08061D1C: .4byte gUnknown_2036E38 +_08061D1C: .4byte gMapObjects _08061D20: .4byte sub_8061D24 thumb_func_end sub_8061D00 @@ -8773,14 +8773,14 @@ sub_8061D8C: @ 8061D8C lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08061DA8 @ =gUnknown_2036E38 + ldr r2, _08061DA8 @ =gMapObjects adds r0, r2 ldr r2, _08061DAC @ =sub_8061DB0 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08061DA8: .4byte gUnknown_2036E38 +_08061DA8: .4byte gMapObjects _08061DAC: .4byte sub_8061DB0 thumb_func_end sub_8061D8C @@ -8850,14 +8850,14 @@ sub_8061E18: @ 8061E18 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08061E34 @ =gUnknown_2036E38 + ldr r2, _08061E34 @ =gMapObjects adds r0, r2 ldr r2, _08061E38 @ =sub_8061E3C bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08061E34: .4byte gUnknown_2036E38 +_08061E34: .4byte gMapObjects _08061E38: .4byte sub_8061E3C thumb_func_end sub_8061E18 @@ -8927,14 +8927,14 @@ sub_8061EA4: @ 8061EA4 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08061EC0 @ =gUnknown_2036E38 + ldr r2, _08061EC0 @ =gMapObjects adds r0, r2 ldr r2, _08061EC4 @ =sub_8061EC8 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08061EC0: .4byte gUnknown_2036E38 +_08061EC0: .4byte gMapObjects _08061EC4: .4byte sub_8061EC8 thumb_func_end sub_8061EA4 @@ -9004,14 +9004,14 @@ sub_8061F30: @ 8061F30 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08061F4C @ =gUnknown_2036E38 + ldr r2, _08061F4C @ =gMapObjects adds r0, r2 ldr r2, _08061F50 @ =sub_8061F54 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08061F4C: .4byte gUnknown_2036E38 +_08061F4C: .4byte gMapObjects _08061F50: .4byte sub_8061F54 thumb_func_end sub_8061F30 @@ -9081,14 +9081,14 @@ sub_8061FBC: @ 8061FBC lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08061FD8 @ =gUnknown_2036E38 + ldr r2, _08061FD8 @ =gMapObjects adds r0, r2 ldr r2, _08061FDC @ =sub_8061FE0 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08061FD8: .4byte gUnknown_2036E38 +_08061FD8: .4byte gMapObjects _08061FDC: .4byte sub_8061FE0 thumb_func_end sub_8061FBC @@ -9158,14 +9158,14 @@ sub_8062048: @ 8062048 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08062064 @ =gUnknown_2036E38 + ldr r2, _08062064 @ =gMapObjects adds r0, r2 ldr r2, _08062068 @ =sub_806206C bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08062064: .4byte gUnknown_2036E38 +_08062064: .4byte gMapObjects _08062068: .4byte sub_806206C thumb_func_end sub_8062048 @@ -9235,14 +9235,14 @@ sub_80620D4: @ 80620D4 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _080620F0 @ =gUnknown_2036E38 + ldr r2, _080620F0 @ =gMapObjects adds r0, r2 ldr r2, _080620F4 @ =sub_80620F8 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_080620F0: .4byte gUnknown_2036E38 +_080620F0: .4byte gMapObjects _080620F4: .4byte sub_80620F8 thumb_func_end sub_80620D4 @@ -9312,14 +9312,14 @@ sub_8062160: @ 8062160 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _0806217C @ =gUnknown_2036E38 + ldr r2, _0806217C @ =gMapObjects adds r0, r2 ldr r2, _08062180 @ =sub_8062184 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_0806217C: .4byte gUnknown_2036E38 +_0806217C: .4byte gMapObjects _08062180: .4byte sub_8062184 thumb_func_end sub_8062160 @@ -9389,14 +9389,14 @@ sub_80621EC: @ 80621EC lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08062208 @ =gUnknown_2036E38 + ldr r2, _08062208 @ =gMapObjects adds r0, r2 ldr r2, _0806220C @ =sub_8062210 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08062208: .4byte gUnknown_2036E38 +_08062208: .4byte gMapObjects _0806220C: .4byte sub_8062210 thumb_func_end sub_80621EC @@ -9466,14 +9466,14 @@ sub_8062278: @ 8062278 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08062294 @ =gUnknown_2036E38 + ldr r2, _08062294 @ =gMapObjects adds r0, r2 ldr r2, _08062298 @ =sub_806229C bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08062294: .4byte gUnknown_2036E38 +_08062294: .4byte gMapObjects _08062298: .4byte sub_806229C thumb_func_end sub_8062278 @@ -9543,14 +9543,14 @@ sub_8062304: @ 8062304 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08062320 @ =gUnknown_2036E38 + ldr r2, _08062320 @ =gMapObjects adds r0, r2 ldr r2, _08062324 @ =sub_8062328 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08062320: .4byte gUnknown_2036E38 +_08062320: .4byte gMapObjects _08062324: .4byte sub_8062328 thumb_func_end sub_8062304 @@ -9620,14 +9620,14 @@ sub_8062390: @ 8062390 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _080623AC @ =gUnknown_2036E38 + ldr r2, _080623AC @ =gMapObjects adds r0, r2 ldr r2, _080623B0 @ =sub_80623B4 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_080623AC: .4byte gUnknown_2036E38 +_080623AC: .4byte gMapObjects _080623B0: .4byte sub_80623B4 thumb_func_end sub_8062390 @@ -9697,14 +9697,14 @@ sub_806241C: @ 806241C lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08062438 @ =gUnknown_2036E38 + ldr r2, _08062438 @ =gMapObjects adds r0, r2 ldr r2, _0806243C @ =sub_8062440 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08062438: .4byte gUnknown_2036E38 +_08062438: .4byte gMapObjects _0806243C: .4byte sub_8062440 thumb_func_end sub_806241C @@ -9774,14 +9774,14 @@ sub_80624A8: @ 80624A8 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _080624C4 @ =gUnknown_2036E38 + ldr r2, _080624C4 @ =gMapObjects adds r0, r2 ldr r2, _080624C8 @ =sub_80624CC bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_080624C4: .4byte gUnknown_2036E38 +_080624C4: .4byte gMapObjects _080624C8: .4byte sub_80624CC thumb_func_end sub_80624A8 @@ -9851,14 +9851,14 @@ sub_8062534: @ 8062534 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08062550 @ =gUnknown_2036E38 + ldr r2, _08062550 @ =gMapObjects adds r0, r2 ldr r2, _08062554 @ =sub_8062558 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08062550: .4byte gUnknown_2036E38 +_08062550: .4byte gMapObjects _08062554: .4byte sub_8062558 thumb_func_end sub_8062534 @@ -9928,14 +9928,14 @@ sub_80625C0: @ 80625C0 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _080625DC @ =gUnknown_2036E38 + ldr r2, _080625DC @ =gMapObjects adds r0, r2 ldr r2, _080625E0 @ =sub_80625E4 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_080625DC: .4byte gUnknown_2036E38 +_080625DC: .4byte gMapObjects _080625E0: .4byte sub_80625E4 thumb_func_end sub_80625C0 @@ -10005,14 +10005,14 @@ sub_806264C: @ 806264C lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08062668 @ =gUnknown_2036E38 + ldr r2, _08062668 @ =gMapObjects adds r0, r2 ldr r2, _0806266C @ =sub_8062670 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08062668: .4byte gUnknown_2036E38 +_08062668: .4byte gMapObjects _0806266C: .4byte sub_8062670 thumb_func_end sub_806264C @@ -10082,14 +10082,14 @@ sub_80626D8: @ 80626D8 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _080626F4 @ =gUnknown_2036E38 + ldr r2, _080626F4 @ =gMapObjects adds r0, r2 ldr r2, _080626F8 @ =sub_80626FC bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_080626F4: .4byte gUnknown_2036E38 +_080626F4: .4byte gMapObjects _080626F8: .4byte sub_80626FC thumb_func_end sub_80626D8 @@ -10159,14 +10159,14 @@ sub_8062764: @ 8062764 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08062780 @ =gUnknown_2036E38 + ldr r2, _08062780 @ =gMapObjects adds r0, r2 ldr r2, _08062784 @ =sub_8062788 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08062780: .4byte gUnknown_2036E38 +_08062780: .4byte gMapObjects _08062784: .4byte sub_8062788 thumb_func_end sub_8062764 @@ -10236,14 +10236,14 @@ sub_80627F0: @ 80627F0 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _0806280C @ =gUnknown_2036E38 + ldr r2, _0806280C @ =gMapObjects adds r0, r2 ldr r2, _08062810 @ =sub_8062814 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_0806280C: .4byte gUnknown_2036E38 +_0806280C: .4byte gMapObjects _08062810: .4byte sub_8062814 thumb_func_end sub_80627F0 @@ -10313,14 +10313,14 @@ sub_806287C: @ 806287C lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08062898 @ =gUnknown_2036E38 + ldr r2, _08062898 @ =gMapObjects adds r0, r2 ldr r2, _0806289C @ =sub_80628A0 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08062898: .4byte gUnknown_2036E38 +_08062898: .4byte gMapObjects _0806289C: .4byte sub_80628A0 thumb_func_end sub_806287C @@ -10368,7 +10368,7 @@ sub_80628E4: @ 80628E4 push {r4-r7,lr} adds r6, r0, 0 adds r7, r1, 0 - ldr r2, _08062908 @ =gUnknown_2036E38 + ldr r2, _08062908 @ =gMapObjects ldr r3, _0806290C @ =gUnknown_2037078 ldrb r1, [r3, 0x5] lsls r0, r1, 3 @@ -10385,7 +10385,7 @@ _08062904: movs r0, 0 b _08062938 .align 2, 0 -_08062908: .4byte gUnknown_2036E38 +_08062908: .4byte gMapObjects _0806290C: .4byte gUnknown_2037078 _08062910: ldr r5, _08062940 @ =gUnknown_83A6390 @@ -11064,14 +11064,14 @@ sub_8062E60: @ 8062E60 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _08062E7C @ =gUnknown_2036E38 + ldr r2, _08062E7C @ =gMapObjects adds r0, r2 ldr r2, _08062E80 @ =sub_8062E84 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_08062E7C: .4byte gUnknown_2036E38 +_08062E7C: .4byte gMapObjects _08062E80: .4byte sub_8062E84 thumb_func_end sub_8062E60 @@ -11099,7 +11099,7 @@ mss_08062EA4: @ 8062EA4 push {r4-r7,lr} adds r6, r0, 0 adds r7, r1, 0 - ldr r2, _08062EC8 @ =gUnknown_2036E38 + ldr r2, _08062EC8 @ =gMapObjects ldr r3, _08062ECC @ =gUnknown_2037078 ldrb r1, [r3, 0x5] lsls r0, r1, 3 @@ -11116,7 +11116,7 @@ _08062EC4: movs r0, 0 b _08062EF8 .align 2, 0 -_08062EC8: .4byte gUnknown_2036E38 +_08062EC8: .4byte gMapObjects _08062ECC: .4byte gUnknown_2037078 _08062ED0: ldr r5, _08062F00 @ =gUnknown_83A6390 @@ -11154,7 +11154,7 @@ FieldObjectCB_TreeDisguise: @ 8062F08 lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, _08062F6C @ =gUnknown_2036E38 + ldr r0, _08062F6C @ =gMapObjects adds r4, r1, r0 adds r6, r4, 0 adds r6, 0x21 @@ -11188,7 +11188,7 @@ _08062F50: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08062F6C @ =gUnknown_2036E38 + ldr r1, _08062F6C @ =gMapObjects adds r0, r1 ldr r2, _08062F74 @ =sub_8062F78 adds r1, r5, 0 @@ -11197,7 +11197,7 @@ _08062F50: pop {r0} bx r0 .align 2, 0 -_08062F6C: .4byte gUnknown_2036E38 +_08062F6C: .4byte gMapObjects _08062F70: .4byte gUnknown_20386E0 _08062F74: .4byte sub_8062F78 thumb_func_end FieldObjectCB_TreeDisguise @@ -11220,7 +11220,7 @@ FieldObjectCB_MountainDisguise: @ 8062F84 lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, _08062FE8 @ =gUnknown_2036E38 + ldr r0, _08062FE8 @ =gMapObjects adds r4, r1, r0 adds r6, r4, 0 adds r6, 0x21 @@ -11254,7 +11254,7 @@ _08062FCC: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08062FE8 @ =gUnknown_2036E38 + ldr r1, _08062FE8 @ =gMapObjects adds r0, r1 ldr r2, _08062FF0 @ =sub_8062F78 adds r1, r5, 0 @@ -11263,7 +11263,7 @@ _08062FCC: pop {r0} bx r0 .align 2, 0 -_08062FE8: .4byte gUnknown_2036E38 +_08062FE8: .4byte gMapObjects _08062FEC: .4byte gUnknown_20386E0 _08062FF0: .4byte sub_8062F78 thumb_func_end FieldObjectCB_MountainDisguise @@ -11274,7 +11274,7 @@ FieldObjectCB_Hidden1: @ 8062FF4 adds r3, r0, 0 movs r1, 0x3C ldrsh r0, [r3, r1] - ldr r4, _08063050 @ =gUnknown_2036E38 + ldr r4, _08063050 @ =gMapObjects cmp r0, 0 bne _08063034 movs r0, 0x2E @@ -11316,7 +11316,7 @@ _08063034: pop {r0} bx r0 .align 2, 0 -_08063050: .4byte gUnknown_2036E38 +_08063050: .4byte gMapObjects _08063054: .4byte sub_8063058 thumb_func_end FieldObjectCB_Hidden1 @@ -11374,14 +11374,14 @@ sub_80630A0: @ 80630A0 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _080630BC @ =gUnknown_2036E38 + ldr r2, _080630BC @ =gMapObjects adds r0, r2 ldr r2, _080630C0 @ =sub_80630C4 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_080630BC: .4byte gUnknown_2036E38 +_080630BC: .4byte gMapObjects _080630C0: .4byte sub_80630C4 thumb_func_end sub_80630A0 @@ -11436,14 +11436,14 @@ sub_8063110: @ 8063110 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _0806312C @ =gUnknown_2036E38 + ldr r2, _0806312C @ =gMapObjects adds r0, r2 ldr r2, _08063130 @ =sub_8063134 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_0806312C: .4byte gUnknown_2036E38 +_0806312C: .4byte gMapObjects _08063130: .4byte sub_8063134 thumb_func_end sub_8063110 @@ -11498,14 +11498,14 @@ sub_8063180: @ 8063180 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _0806319C @ =gUnknown_2036E38 + ldr r2, _0806319C @ =gMapObjects adds r0, r2 ldr r2, _080631A0 @ =sub_80631A4 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_0806319C: .4byte gUnknown_2036E38 +_0806319C: .4byte gMapObjects _080631A0: .4byte sub_80631A4 thumb_func_end sub_8063180 @@ -11560,14 +11560,14 @@ sub_80631F0: @ 80631F0 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _0806320C @ =gUnknown_2036E38 + ldr r2, _0806320C @ =gMapObjects adds r0, r2 ldr r2, _08063210 @ =sub_8063214 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_0806320C: .4byte gUnknown_2036E38 +_0806320C: .4byte gMapObjects _08063210: .4byte sub_8063214 thumb_func_end sub_80631F0 @@ -11657,14 +11657,14 @@ sub_8063298: @ 8063298 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _080632B4 @ =gUnknown_2036E38 + ldr r2, _080632B4 @ =gMapObjects adds r0, r2 ldr r2, _080632B8 @ =sub_8063304 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_080632B4: .4byte gUnknown_2036E38 +_080632B4: .4byte gMapObjects _080632B8: .4byte sub_8063304 thumb_func_end sub_8063298 @@ -11677,14 +11677,14 @@ sub_80632BC: @ 80632BC lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _080632D8 @ =gUnknown_2036E38 + ldr r2, _080632D8 @ =gMapObjects adds r0, r2 ldr r2, _080632DC @ =sub_8063324 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_080632D8: .4byte gUnknown_2036E38 +_080632D8: .4byte gMapObjects _080632DC: .4byte sub_8063324 thumb_func_end sub_80632BC @@ -11697,14 +11697,14 @@ sub_80632E0: @ 80632E0 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _080632FC @ =gUnknown_2036E38 + ldr r2, _080632FC @ =gMapObjects adds r0, r2 ldr r2, _08063300 @ =sub_8063344 bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_080632FC: .4byte gUnknown_2036E38 +_080632FC: .4byte gMapObjects _08063300: .4byte sub_8063344 thumb_func_end sub_80632E0 @@ -12628,7 +12628,7 @@ _08063912: lsls r0, r4, 3 adds r0, r4 lsls r0, 2 - ldr r1, _08063968 @ =gUnknown_2036E38 + ldr r1, _08063968 @ =gMapObjects adds r2, r0, r1 ldrb r0, [r2] lsls r0, 31 @@ -12669,7 +12669,7 @@ _0806394C: movs r0, 0x1 b _08063978 .align 2, 0 -_08063968: .4byte gUnknown_2036E38 +_08063968: .4byte gMapObjects _0806396C: adds r0, r4, 0x1 lsls r0, 24 @@ -12699,7 +12699,7 @@ IsBerryTreeSparkling: @ 8063980 cmp r0, 0 bne _080639CC ldr r3, _080639C4 @ =gSprites - ldr r2, _080639C8 @ =gUnknown_2036E38 + ldr r2, _080639C8 @ =gMapObjects mov r0, sp ldrb r1, [r0] lsls r0, r1, 3 @@ -12720,7 +12720,7 @@ IsBerryTreeSparkling: @ 8063980 b _080639CE .align 2, 0 _080639C4: .4byte gSprites -_080639C8: .4byte gUnknown_2036E38 +_080639C8: .4byte gMapObjects _080639CC: movs r0, 0 _080639CE: @@ -12745,7 +12745,7 @@ sub_80639D4: @ 80639D4 cmp r0, 0 bne _08063A12 ldr r3, _08063A18 @ =gSprites - ldr r2, _08063A1C @ =gUnknown_2036E38 + ldr r2, _08063A1C @ =gMapObjects mov r0, sp ldrb r1, [r0] lsls r0, r1, 3 @@ -12767,7 +12767,7 @@ _08063A12: bx r0 .align 2, 0 _08063A18: .4byte gSprites -_08063A1C: .4byte gUnknown_2036E38 +_08063A1C: .4byte gMapObjects thumb_func_end sub_80639D4 thumb_func_start MoveCoords @@ -18661,7 +18661,7 @@ sub_806637C: @ 806637C ldrsh r0, [r5, r1] movs r2, 0x12 ldrsh r1, [r5, r2] - ldr r4, _080663D4 @ =gUnknown_2036E38 + ldr r4, _080663D4 @ =gMapObjects mov r2, sp ldrb r2, [r2] lsls r3, r2, 3 @@ -18687,7 +18687,7 @@ _080663C6: pop {r1} bx r1 .align 2, 0 -_080663D4: .4byte gUnknown_2036E38 +_080663D4: .4byte gMapObjects thumb_func_end sub_806637C thumb_func_start sub_80663D8 @@ -18708,7 +18708,7 @@ sub_80663D8: @ 80663D8 ldrsh r0, [r5, r1] movs r2, 0x12 ldrsh r1, [r5, r2] - ldr r4, _08066438 @ =gUnknown_2036E38 + ldr r4, _08066438 @ =gMapObjects mov r2, sp ldrb r2, [r2] lsls r3, r2, 3 @@ -18737,7 +18737,7 @@ _0806642A: pop {r1} bx r1 .align 2, 0 -_08066438: .4byte gUnknown_2036E38 +_08066438: .4byte gMapObjects thumb_func_end sub_80663D8 thumb_func_start sub_806643C diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index 93a13f293..f0621961a 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -14,14 +14,14 @@ sub_805B3B8: @ 805B3B8 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _0805B3D4 @ =gUnknown_2036E38 + ldr r2, _0805B3D4 @ =gMapObjects adds r0, r2 ldr r2, _0805B3D8 @ =sub_805B3DC bl FieldObjectStep pop {r0} bx r0 .align 2, 0 -_0805B3D4: .4byte gUnknown_2036E38 +_0805B3D4: .4byte gMapObjects _0805B3D8: .4byte sub_805B3DC thumb_func_end sub_805B3B8 @@ -48,7 +48,7 @@ sub_805B3E0: @ 805B3E0 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805B458 @ =gUnknown_2036E38 + ldr r1, _0805B458 @ =gMapObjects adds r5, r0, r1 adds r0, r5, 0 bl sub_805CC40 @@ -85,7 +85,7 @@ _0805B448: bx r0 .align 2, 0 _0805B454: .4byte gUnknown_2037078 -_0805B458: .4byte gUnknown_2036E38 +_0805B458: .4byte gMapObjects thumb_func_end sub_805B3E0 thumb_func_start sub_805B45C @@ -222,7 +222,7 @@ sub_805B528: @ 805B528 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805B594 @ =gUnknown_2036E38 + ldr r1, _0805B594 @ =gMapObjects adds r1, r0, r1 str r1, [r4] ldrb r0, [r1] @@ -254,7 +254,7 @@ _0805B586: .align 2, 0 _0805B58C: .4byte gUnknown_2037078 _0805B590: .4byte gUnknown_2036E30 -_0805B594: .4byte gUnknown_2036E38 +_0805B594: .4byte gMapObjects _0805B598: movs r0, 0 _0805B59A: @@ -273,7 +273,7 @@ sub_805B5A0: @ 805B5A0 ands r0, r1 cmp r0, 0 bne _0805B610 - ldr r2, _0805B5F8 @ =gUnknown_2036E38 + ldr r2, _0805B5F8 @ =gMapObjects ldrb r1, [r3, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -308,7 +308,7 @@ _0805B5CC: b _0805B628 .align 2, 0 _0805B5F4: .4byte gUnknown_2037078 -_0805B5F8: .4byte gUnknown_2036E38 +_0805B5F8: .4byte gMapObjects _0805B5FC: .4byte gUnknown_835B764 _0805B600: ldr r0, _0805B60C @ =gUnknown_2037078 @@ -362,7 +362,7 @@ ForcedMovement_None: @ 805B644 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805B68C @ =gUnknown_2036E38 + ldr r1, _0805B68C @ =gMapObjects adds r0, r1 ldrb r2, [r0, 0x1] movs r1, 0x3 @@ -386,7 +386,7 @@ _0805B67E: bx r1 .align 2, 0 _0805B688: .4byte gUnknown_2037078 -_0805B68C: .4byte gUnknown_2036E38 +_0805B68C: .4byte gMapObjects thumb_func_end ForcedMovement_None thumb_func_start DoForcedMovement @@ -461,7 +461,7 @@ DoForcedMovementInCurrentDirection: @ 805B708 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _0805B738 @ =gUnknown_2036E38 + ldr r2, _0805B738 @ =gMapObjects adds r0, r2 ldrb r2, [r0, 0x1] movs r3, 0x4 @@ -476,7 +476,7 @@ DoForcedMovementInCurrentDirection: @ 805B708 bx r1 .align 2, 0 _0805B734: .4byte gUnknown_2037078 -_0805B738: .4byte gUnknown_2036E38 +_0805B738: .4byte gMapObjects thumb_func_end DoForcedMovementInCurrentDirection thumb_func_start ForcedMovement_Slip @@ -683,7 +683,7 @@ ForcedMovement_Slide: @ 805B88C lsls r2, r3, 3 adds r2, r3 lsls r2, 2 - ldr r3, _0805B8C0 @ =gUnknown_2036E38 + ldr r3, _0805B8C0 @ =gMapObjects adds r2, r3 ldrb r3, [r2, 0x1] movs r4, 0x4 @@ -699,7 +699,7 @@ ForcedMovement_Slide: @ 805B88C bx r1 .align 2, 0 _0805B8BC: .4byte gUnknown_2037078 -_0805B8C0: .4byte gUnknown_2036E38 +_0805B8C0: .4byte gMapObjects thumb_func_end ForcedMovement_Slide thumb_func_start ForcedMovement_SlideSouth @@ -919,7 +919,7 @@ _0805BA30: lsls r0, 24 cmp r0, 0 beq _0805BA8C - ldr r2, _0805BA70 @ =gUnknown_2036E38 + ldr r2, _0805BA70 @ =gMapObjects ldrb r1, [r6, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -938,7 +938,7 @@ _0805BA30: b _0805BA7A .align 2, 0 _0805BA6C: .4byte 0x0000082f -_0805BA70: .4byte gUnknown_2036E38 +_0805BA70: .4byte gMapObjects _0805BA74: adds r0, r4, 0 bl sub_805C17C @@ -979,7 +979,7 @@ sub_805BAAC: @ 805BAAC lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805BAE8 @ =gUnknown_2036E38 + ldr r1, _0805BAE8 @ =gMapObjects adds r0, r1 ldrh r2, [r0, 0x10] mov r1, sp @@ -1000,7 +1000,7 @@ sub_805BAAC: @ 805BAAC b _0805BB00 .align 2, 0 _0805BAE4: .4byte gUnknown_2037078 -_0805BAE8: .4byte gUnknown_2036E38 +_0805BAE8: .4byte gMapObjects _0805BAEC: movs r0, 0x1 mov r1, sp @@ -1039,7 +1039,7 @@ sub_805BB1C: @ 805BB1C lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805BB98 @ =gUnknown_2036E38 + ldr r1, _0805BB98 @ =gMapObjects adds r5, r0, r1 ldrh r1, [r5, 0x10] add r0, sp, 0x4 @@ -1086,7 +1086,7 @@ sub_805BB1C: @ 805BB1C b _0805BB9E .align 2, 0 _0805BB94: .4byte gUnknown_2037078 -_0805BB98: .4byte gUnknown_2036E38 +_0805BB98: .4byte gMapObjects _0805BB9C: movs r0, 0x8 _0805BB9E: @@ -1291,7 +1291,7 @@ sub_805BCEC: @ 805BCEC lsrs r6, r0, 24 cmp r6, 0x10 beq _0805BDA0 - ldr r0, _0805BD9C @ =gUnknown_2036E38 + ldr r0, _0805BD9C @ =gMapObjects lsls r1, r6, 3 adds r1, r6 lsls r1, 2 @@ -1347,7 +1347,7 @@ _0805BD8A: b _0805BDA2 .align 2, 0 _0805BD98: .4byte 0x00000805 -_0805BD9C: .4byte gUnknown_2036E38 +_0805BD9C: .4byte gMapObjects _0805BDA0: movs r0, 0 _0805BDA2: @@ -1431,7 +1431,7 @@ _0805BE14: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805BE58 @ =gUnknown_2036E38 + ldr r1, _0805BE58 @ =gMapObjects adds r0, r1 ldr r1, [r2] bl _call_via_r1 @@ -1452,7 +1452,7 @@ _0805BE48: .align 2, 0 _0805BE50: .4byte gUnknown_2037078 _0805BE54: .4byte gUnknown_835B844 -_0805BE58: .4byte gUnknown_2036E38 +_0805BE58: .4byte gMapObjects thumb_func_end DoPlayerAvatarTransition thumb_func_start nullsub_22 @@ -1552,7 +1552,7 @@ _0805BEF6: thumb_func_start player_is_anim_in_certain_ranges player_is_anim_in_certain_ranges: @ 805BEFC push {lr} - ldr r2, _0805BF48 @ =gUnknown_2036E38 + ldr r2, _0805BF48 @ =gMapObjects ldr r0, _0805BF4C @ =gUnknown_2037078 ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -1590,7 +1590,7 @@ _0805BF42: movs r0, 0x1 b _0805BF52 .align 2, 0 -_0805BF48: .4byte gUnknown_2036E38 +_0805BF48: .4byte gMapObjects _0805BF4C: .4byte gUnknown_2037078 _0805BF50: movs r0, 0 @@ -1629,7 +1629,7 @@ PlayerIsAnimActive: @ 805BF7C lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805BF9C @ =gUnknown_2036E38 + ldr r1, _0805BF9C @ =gMapObjects adds r0, r1 bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive lsls r0, 24 @@ -1638,7 +1638,7 @@ PlayerIsAnimActive: @ 805BF7C bx r1 .align 2, 0 _0805BF98: .4byte gUnknown_2037078 -_0805BF9C: .4byte gUnknown_2036E38 +_0805BF9C: .4byte gMapObjects thumb_func_end PlayerIsAnimActive thumb_func_start PlayerCheckIfAnimFinishedOrInactive @@ -1649,7 +1649,7 @@ PlayerCheckIfAnimFinishedOrInactive: @ 805BFA0 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805BFC0 @ =gUnknown_2036E38 + ldr r1, _0805BFC0 @ =gMapObjects adds r0, r1 bl FieldObjectCheckIfSpecialAnimFinishedOrInactive lsls r0, 24 @@ -1658,12 +1658,12 @@ PlayerCheckIfAnimFinishedOrInactive: @ 805BFA0 bx r1 .align 2, 0 _0805BFBC: .4byte gUnknown_2037078 -_0805BFC0: .4byte gUnknown_2036E38 +_0805BFC0: .4byte gMapObjects thumb_func_end PlayerCheckIfAnimFinishedOrInactive thumb_func_start player_set_x22 player_set_x22: @ 805BFC4 - ldr r3, _0805BFD8 @ =gUnknown_2036E38 + ldr r3, _0805BFD8 @ =gMapObjects ldr r1, _0805BFDC @ =gUnknown_2037078 ldrb r2, [r1, 0x5] lsls r1, r2, 3 @@ -1674,13 +1674,13 @@ player_set_x22: @ 805BFC4 strb r0, [r1] bx lr .align 2, 0 -_0805BFD8: .4byte gUnknown_2036E38 +_0805BFD8: .4byte gMapObjects _0805BFDC: .4byte gUnknown_2037078 thumb_func_end player_set_x22 thumb_func_start player_get_x22 player_get_x22: @ 805BFE0 - ldr r2, _0805BFF4 @ =gUnknown_2036E38 + ldr r2, _0805BFF4 @ =gMapObjects ldr r0, _0805BFF8 @ =gUnknown_2037078 ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -1691,7 +1691,7 @@ player_get_x22: @ 805BFE0 ldrb r0, [r0] bx lr .align 2, 0 -_0805BFF4: .4byte gUnknown_2036E38 +_0805BFF4: .4byte gMapObjects _0805BFF8: .4byte gUnknown_2037078 thumb_func_end player_get_x22 @@ -1706,14 +1706,14 @@ sub_805BFFC: @ 805BFFC lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, _0805C020 @ =gUnknown_2036E38 + ldr r2, _0805C020 @ =gMapObjects adds r0, r2 bl FieldObjectForceSetSpecialAnim pop {r0} bx r0 .align 2, 0 _0805C01C: .4byte gUnknown_2037078 -_0805C020: .4byte gUnknown_2036E38 +_0805C020: .4byte gMapObjects thumb_func_end sub_805BFFC thumb_func_start sub_805C024 @@ -1734,7 +1734,7 @@ sub_805C024: @ 805C024 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805C068 @ =gUnknown_2036E38 + ldr r1, _0805C068 @ =gMapObjects adds r0, r1 adds r1, r5, 0 bl sub_8063CA4 @@ -1749,7 +1749,7 @@ _0805C05E: bx r0 .align 2, 0 _0805C064: .4byte gUnknown_2037078 -_0805C068: .4byte gUnknown_2036E38 +_0805C068: .4byte gMapObjects thumb_func_end sub_805C024 thumb_func_start sub_805C06C @@ -1762,7 +1762,7 @@ sub_805C06C: @ 805C06C lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805C0A0 @ =gUnknown_2036E38 + ldr r1, _0805C0A0 @ =gMapObjects adds r0, r1 adds r1, r4, 0 bl sub_8063CA4 @@ -1778,7 +1778,7 @@ _0805C094: bx r0 .align 2, 0 _0805C09C: .4byte gUnknown_2037078 -_0805C0A0: .4byte gUnknown_2036E38 +_0805C0A0: .4byte gMapObjects thumb_func_end sub_805C06C thumb_func_start sub_805C0A4 @@ -2056,7 +2056,7 @@ _0805C27E: lsls r0, 24 cmp r0, 0 beq _0805C2A6 - ldr r2, _0805C2B0 @ =gUnknown_2036E38 + ldr r2, _0805C2B0 @ =gMapObjects ldrb r1, [r4, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -2075,7 +2075,7 @@ _0805C2A6: bx r0 .align 2, 0 _0805C2AC: .4byte gUnknown_2037078 -_0805C2B0: .4byte gUnknown_2036E38 +_0805C2B0: .4byte gMapObjects thumb_func_end sub_805C270 thumb_func_start sub_805C2B4 @@ -2301,7 +2301,7 @@ sub_805C438: @ 805C438 lsls r0, 24 lsrs r5, r0, 24 adds r6, r5, 0 - ldr r2, _0805C4E8 @ =gUnknown_2036E38 + ldr r2, _0805C4E8 @ =gMapObjects ldr r0, _0805C4EC @ =gUnknown_2037078 ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -2378,7 +2378,7 @@ _0805C4DE: pop {r0} bx r0 .align 2, 0 -_0805C4E8: .4byte gUnknown_2036E38 +_0805C4E8: .4byte gMapObjects _0805C4EC: .4byte gUnknown_2037078 _0805C4F0: .4byte gUnknown_835B864 thumb_func_end sub_805C438 @@ -2388,7 +2388,7 @@ GetXYCoordsOneStepInFrontOfPlayer: @ 805C4F4 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 - ldr r3, _0805C530 @ =gUnknown_2036E38 + ldr r3, _0805C530 @ =gMapObjects ldr r2, _0805C534 @ =gUnknown_2037078 ldrb r1, [r2, 0x5] lsls r0, r1, 3 @@ -2414,14 +2414,14 @@ GetXYCoordsOneStepInFrontOfPlayer: @ 805C4F4 pop {r0} bx r0 .align 2, 0 -_0805C530: .4byte gUnknown_2036E38 +_0805C530: .4byte gMapObjects _0805C534: .4byte gUnknown_2037078 thumb_func_end GetXYCoordsOneStepInFrontOfPlayer thumb_func_start PlayerGetDestCoords PlayerGetDestCoords: @ 805C538 push {r4,r5,lr} - ldr r5, _0805C560 @ =gUnknown_2036E38 + ldr r5, _0805C560 @ =gMapObjects ldr r4, _0805C564 @ =gUnknown_2037078 ldrb r3, [r4, 0x5] lsls r2, r3, 3 @@ -2441,7 +2441,7 @@ PlayerGetDestCoords: @ 805C538 pop {r0} bx r0 .align 2, 0 -_0805C560: .4byte gUnknown_2036E38 +_0805C560: .4byte gMapObjects _0805C564: .4byte gUnknown_2037078 thumb_func_end PlayerGetDestCoords @@ -2455,7 +2455,7 @@ plaer_get_pos_including_state_based_drift: @ 805C568 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805C5C0 @ =gUnknown_2036E38 + ldr r1, _0805C5C0 @ =gMapObjects adds r3, r0, r1 ldrb r1, [r3] movs r0, 0xC0 @@ -2493,7 +2493,7 @@ _0805C5B0: mov pc, r0 .align 2, 0 _0805C5BC: .4byte gUnknown_2037078 -_0805C5C0: .4byte gUnknown_2036E38 +_0805C5C0: .4byte gMapObjects _0805C5C4: .4byte gSprites _0805C5C8: .4byte _0805C5CC .align 2, 0 @@ -2584,7 +2584,7 @@ _0805C6BC: thumb_func_start player_get_direction_lower_nybble player_get_direction_lower_nybble: @ 805C6C4 - ldr r2, _0805C6DC @ =gUnknown_2036E38 + ldr r2, _0805C6DC @ =gMapObjects ldr r0, _0805C6E0 @ =gUnknown_2037078 ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -2596,13 +2596,13 @@ player_get_direction_lower_nybble: @ 805C6C4 lsrs r0, 28 bx lr .align 2, 0 -_0805C6DC: .4byte gUnknown_2036E38 +_0805C6DC: .4byte gMapObjects _0805C6E0: .4byte gUnknown_2037078 thumb_func_end player_get_direction_lower_nybble thumb_func_start player_get_direction_upper_nybble player_get_direction_upper_nybble: @ 805C6E4 - ldr r2, _0805C6F8 @ =gUnknown_2036E38 + ldr r2, _0805C6F8 @ =gMapObjects ldr r0, _0805C6FC @ =gUnknown_2037078 ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -2613,13 +2613,13 @@ player_get_direction_upper_nybble: @ 805C6E4 lsrs r0, 4 bx lr .align 2, 0 -_0805C6F8: .4byte gUnknown_2036E38 +_0805C6F8: .4byte gMapObjects _0805C6FC: .4byte gUnknown_2037078 thumb_func_end player_get_direction_upper_nybble thumb_func_start PlayerGetZCoord PlayerGetZCoord: @ 805C700 - ldr r2, _0805C714 @ =gUnknown_2036E38 + ldr r2, _0805C714 @ =gMapObjects ldr r0, _0805C718 @ =gUnknown_2037078 ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -2630,7 +2630,7 @@ PlayerGetZCoord: @ 805C700 lsrs r0, 4 bx lr .align 2, 0 -_0805C714: .4byte gUnknown_2036E38 +_0805C714: .4byte gMapObjects _0805C718: .4byte gUnknown_2037078 thumb_func_end PlayerGetZCoord @@ -2644,7 +2644,7 @@ sub_805C71C: @ 805C71C lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805C748 @ =gUnknown_2036E38 + ldr r1, _0805C748 @ =gMapObjects adds r0, r1 lsls r3, 16 asrs r3, 16 @@ -2656,7 +2656,7 @@ sub_805C71C: @ 805C71C bx r0 .align 2, 0 _0805C744: .4byte gUnknown_2037078 -_0805C748: .4byte gUnknown_2036E38 +_0805C748: .4byte gMapObjects thumb_func_end sub_805C71C thumb_func_start TestPlayerAvatarFlags @@ -2704,7 +2704,7 @@ sub_805C780: @ 805C780 lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _0805C7C4 @ =gUnknown_2036E38 + ldr r0, _0805C7C4 @ =gMapObjects adds r4, r0 adds r0, r4, 0 bl npc_clear_strange_bits @@ -2727,7 +2727,7 @@ _0805C7B8: bx r0 .align 2, 0 _0805C7C0: .4byte gUnknown_2037078 -_0805C7C4: .4byte gUnknown_2036E38 +_0805C7C4: .4byte gMapObjects thumb_func_end sub_805C780 thumb_func_start sub_805C7C8 @@ -2882,7 +2882,7 @@ IsPlayerFacingSurfableFishableWater: @ 805C8B0 lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _0805C928 @ =gUnknown_2036E38 + ldr r0, _0805C928 @ =gMapObjects adds r4, r0 ldrh r1, [r4, 0x10] mov r0, sp @@ -2930,7 +2930,7 @@ IsPlayerFacingSurfableFishableWater: @ 805C8B0 b _0805C92E .align 2, 0 _0805C924: .4byte gUnknown_2037078 -_0805C928: .4byte gUnknown_2036E38 +_0805C928: .4byte gMapObjects _0805C92C: movs r0, 0 _0805C92E: @@ -3152,7 +3152,7 @@ InitPlayerAvatar: @ 805CA3C lsls r4, r5, 3 adds r4, r5 lsls r4, 2 - ldr r0, _0805CAFC @ =gUnknown_2036E38 + ldr r0, _0805CAFC @ =gMapObjects adds r4, r0 ldrb r0, [r4, 0x2] movs r1, 0x1 @@ -3182,7 +3182,7 @@ InitPlayerAvatar: @ 805CA3C pop {r0} bx r0 .align 2, 0 -_0805CAFC: .4byte gUnknown_2036E38 +_0805CAFC: .4byte gMapObjects _0805CB00: .4byte gUnknown_2037078 thumb_func_end InitPlayerAvatar @@ -3191,7 +3191,7 @@ sub_805CB04: @ 805CB04 push {r4-r6,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r6, _0805CB64 @ =gUnknown_2036E38 + ldr r6, _0805CB64 @ =gMapObjects ldr r5, _0805CB68 @ =gUnknown_2037078 ldrb r0, [r5, 0x5] lsls r1, r0, 3 @@ -3236,7 +3236,7 @@ _0805CB5C: pop {r0} bx r0 .align 2, 0 -_0805CB64: .4byte gUnknown_2036E38 +_0805CB64: .4byte gMapObjects _0805CB68: .4byte gUnknown_2037078 _0805CB6C: .4byte gSprites thumb_func_end sub_805CB04 @@ -3249,7 +3249,7 @@ sub_805CB70: @ 805CB70 lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _0805CBB0 @ =gUnknown_2036E38 + ldr r0, _0805CBB0 @ =gMapObjects adds r4, r0 movs r0, 0x3 bl sub_805C808 @@ -3271,7 +3271,7 @@ sub_805CB70: @ 805CB70 bx r0 .align 2, 0 _0805CBAC: .4byte gUnknown_2037078 -_0805CBB0: .4byte gUnknown_2036E38 +_0805CBB0: .4byte gMapObjects _0805CBB4: .4byte gSprites thumb_func_end sub_805CB70 @@ -3311,7 +3311,7 @@ sub_805CBE8: @ 805CBE8 lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _0805CC24 @ =gUnknown_2036E38 + ldr r0, _0805CC24 @ =gMapObjects adds r4, r0 bl sub_805CBB8 adds r1, r0, 0 @@ -3332,7 +3332,7 @@ sub_805CBE8: @ 805CBE8 bx r0 .align 2, 0 _0805CC20: .4byte gUnknown_2037078 -_0805CC24: .4byte gUnknown_2036E38 +_0805CC24: .4byte gMapObjects _0805CC28: .4byte gSprites thumb_func_end sub_805CBE8 @@ -3468,7 +3468,7 @@ taskFF_bump_boulder: @ 805CD0C lsrs r0, 24 ldr r6, _0805CD54 @ =gUnknown_835B8A0 ldr r2, _0805CD58 @ =gTasks - ldr r5, _0805CD5C @ =gUnknown_2036E38 + ldr r5, _0805CD5C @ =gMapObjects lsls r1, r0, 2 adds r1, r0 lsls r1, 3 @@ -3502,7 +3502,7 @@ _0805CD20: .align 2, 0 _0805CD54: .4byte gUnknown_835B8A0 _0805CD58: .4byte gTasks -_0805CD5C: .4byte gUnknown_2036E38 +_0805CD5C: .4byte gMapObjects _0805CD60: .4byte gUnknown_2037078 thumb_func_end taskFF_bump_boulder @@ -3677,7 +3677,7 @@ _0805CEB2: lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, _0805CEE8 @ =gUnknown_2036E38 + ldr r0, _0805CEE8 @ =gMapObjects adds r1, r0 ldr r2, [r2] adds r0, r4, 0 @@ -3692,7 +3692,7 @@ _0805CEB2: _0805CEDC: .4byte gUnknown_835B8AC _0805CEE0: .4byte gTasks _0805CEE4: .4byte gUnknown_2037078 -_0805CEE8: .4byte gUnknown_2036E38 +_0805CEE8: .4byte gMapObjects thumb_func_end sub_805CEA0 thumb_func_start PlayerAvatar_DoSecretBaseMatJump @@ -3785,7 +3785,7 @@ _0805CF8A: lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, _0805CFC0 @ =gUnknown_2036E38 + ldr r0, _0805CFC0 @ =gMapObjects adds r1, r0 ldr r2, [r2] adds r0, r4, 0 @@ -3800,7 +3800,7 @@ _0805CF8A: _0805CFB4: .4byte gUnknown_835B8B0 _0805CFB8: .4byte gTasks _0805CFBC: .4byte gUnknown_2037078 -_0805CFC0: .4byte gUnknown_2036E38 +_0805CFC0: .4byte gMapObjects thumb_func_end sub_805CF78 thumb_func_start sub_805CFC4 @@ -4070,7 +4070,7 @@ taskFF_0805D1D4: @ 805D1D4 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805D234 @ =gUnknown_2036E38 + ldr r1, _0805D234 @ =gMapObjects adds r5, r0, r1 adds r0, r5, 0 bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive @@ -4106,7 +4106,7 @@ _0805D228: bx r0 .align 2, 0 _0805D230: .4byte gUnknown_2037078 -_0805D234: .4byte gUnknown_2036E38 +_0805D234: .4byte gMapObjects _0805D238: .4byte gTasks _0805D23C: .4byte sub_805D240 thumb_func_end taskFF_0805D1D4 @@ -4121,7 +4121,7 @@ sub_805D240: @ 805D240 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805D2B8 @ =gUnknown_2036E38 + ldr r1, _0805D2B8 @ =gMapObjects adds r4, r0, r1 adds r0, r4, 0 bl FieldObjectClearAnimIfSpecialAnimFinished @@ -4164,7 +4164,7 @@ _0805D2AE: bx r0 .align 2, 0 _0805D2B4: .4byte gUnknown_2037078 -_0805D2B8: .4byte gUnknown_2036E38 +_0805D2B8: .4byte gMapObjects _0805D2BC: .4byte gSprites thumb_func_end sub_805D240 @@ -4281,7 +4281,7 @@ fish1: @ 805D35C ldrh r1, [r6] adds r1, r0 strh r1, [r5, 0x22] - ldr r3, _0805D3EC @ =gUnknown_2036E38 + ldr r3, _0805D3EC @ =gMapObjects ldr r2, _0805D3F0 @ =gUnknown_2037078 ldrb r1, [r2, 0x5] lsls r0, r1, 3 @@ -4316,7 +4316,7 @@ fish1: @ 805D35C .align 2, 0 _0805D3E4: .4byte gUnknown_835B90C _0805D3E8: .4byte gUnknown_835B912 -_0805D3EC: .4byte gUnknown_2036E38 +_0805D3EC: .4byte gMapObjects _0805D3F0: .4byte gUnknown_2037078 thumb_func_end fish1 @@ -4727,7 +4727,7 @@ _0805D6EA: lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _0805D77C @ =gUnknown_2036E38 + ldr r0, _0805D77C @ =gMapObjects mov r8, r0 add r4, r8 ldrh r1, [r5, 0x24] @@ -4777,7 +4777,7 @@ _0805D748: .align 2, 0 _0805D774: .4byte gUnknown_2037078 _0805D778: .4byte gSprites -_0805D77C: .4byte gUnknown_2036E38 +_0805D77C: .4byte gMapObjects _0805D780: movs r1, 0xA ldrsh r0, [r5, r1] @@ -4971,7 +4971,7 @@ sub_805D8D8: @ 805D8D8 lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _0805D97C @ =gUnknown_2036E38 + ldr r0, _0805D97C @ =gMapObjects mov r8, r0 add r4, r8 ldrh r1, [r6, 0x24] @@ -5024,7 +5024,7 @@ _0805D968: .align 2, 0 _0805D974: .4byte gUnknown_2037078 _0805D978: .4byte gSprites -_0805D97C: .4byte gUnknown_2036E38 +_0805D97C: .4byte gMapObjects thumb_func_end sub_805D8D8 thumb_func_start sub_805D980 @@ -5159,7 +5159,7 @@ _0805DA78: ands r0, r1 cmp r0, 0 beq _0805DA9C - ldr r2, _0805DAAC @ =gUnknown_2036E38 + ldr r2, _0805DAAC @ =gMapObjects ldrb r1, [r3, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -5177,7 +5177,7 @@ _0805DA9C: .align 2, 0 _0805DAA4: .4byte 0x0000fff8 _0805DAA8: .4byte gUnknown_2037078 -_0805DAAC: .4byte gUnknown_2036E38 +_0805DAAC: .4byte gMapObjects thumb_func_end sub_805D9C4 thumb_func_start sub_805DAB0 @@ -5247,7 +5247,7 @@ sub_805DB04: @ 805DB04 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805DB4C @ =gUnknown_2036E38 + ldr r1, _0805DB4C @ =gMapObjects adds r4, r0, r1 ldrb r1, [r4, 0x4] lsls r0, r1, 4 @@ -5271,7 +5271,7 @@ sub_805DB04: @ 805DB04 b _0805DBFA .align 2, 0 _0805DB48: .4byte gUnknown_2037078 -_0805DB4C: .4byte gUnknown_2036E38 +_0805DB4C: .4byte gMapObjects _0805DB50: .4byte gSprites _0805DB54: .4byte gTasks+0x8 _0805DB58: @@ -5406,7 +5406,7 @@ sub_805DC38: @ 805DC38 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805DC84 @ =gUnknown_2036E38 + ldr r1, _0805DC84 @ =gMapObjects adds r4, r0, r1 ldrb r1, [r4, 0x4] lsls r0, r1, 4 @@ -5431,7 +5431,7 @@ sub_805DC38: @ 805DC38 b _0805DDBA .align 2, 0 _0805DC80: .4byte gUnknown_2037078 -_0805DC84: .4byte gUnknown_2036E38 +_0805DC84: .4byte gMapObjects _0805DC88: .4byte gSprites _0805DC8C: .4byte gTasks+0x8 _0805DC90: diff --git a/asm/field_screen_effect.s b/asm/field_screen_effect.s index 2a6ee5c65..a1a51b908 100644 --- a/asm/field_screen_effect.s +++ b/asm/field_screen_effect.s @@ -942,7 +942,7 @@ _0807F542: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0807F580 @ =gUnknown_2036E38 + ldr r1, _0807F580 @ =gMapObjects adds r0, r1 movs r1, 0x2 bl FieldObjectTurn @@ -958,7 +958,7 @@ _0807F542: .align 2, 0 _0807F578: .4byte gUnknown_841B5B6 _0807F57C: .4byte gUnknown_2037078 -_0807F580: .4byte gUnknown_2036E38 +_0807F580: .4byte gMapObjects _0807F584: .4byte gTasks _0807F588: lsls r4, r6, 2 diff --git a/asm/field_specials.s b/asm/field_specials.s index 40ece5c90..9acb16b27 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -604,7 +604,7 @@ SpawnScriptFieldObject: @ 80CAA34 bl SpawnSpecialFieldObjectParametrized lsls r0, 24 lsrs r0, 24 - ldr r2, _080CAA84 @ =gUnknown_2036E38 + ldr r2, _080CAA84 @ =gMapObjects lsls r1, r0, 3 adds r1, r0 lsls r1, 2 @@ -620,7 +620,7 @@ SpawnScriptFieldObject: @ 80CAA34 bx r0 .align 2, 0 _080CAA80: .4byte gSaveBlock1Ptr -_080CAA84: .4byte gUnknown_2036E38 +_080CAA84: .4byte gMapObjects thumb_func_end SpawnScriptFieldObject thumb_func_start RemoveScriptFieldObject @@ -3167,7 +3167,7 @@ sub_80CBE00: @ 80CBE00 _080CBE18: .4byte gUnknown_20370DA _080CBE1C: .4byte gUnknown_3005074 _080CBE20: - ldr r2, _080CBE4C @ =gUnknown_2036E38 + ldr r2, _080CBE4C @ =gMapObjects ldrb r1, [r1] lsls r0, r1, 3 adds r0, r1 @@ -3191,7 +3191,7 @@ _080CBE48: pop {r1} bx r1 .align 2, 0 -_080CBE4C: .4byte gUnknown_2036E38 +_080CBE4C: .4byte gMapObjects thumb_func_end sub_80CBE00 thumb_func_start sub_80CBE50 diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index e9705196f..3715fa608 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -11378,7 +11378,7 @@ sub_811B66C: @ 811B66C lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0811B6C0 @ =gUnknown_2036E38 + ldr r1, _0811B6C0 @ =gMapObjects adds r4, r0, r1 adds r0, r4, 0 bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive @@ -11396,7 +11396,7 @@ sub_811B66C: @ 811B66C .align 2, 0 _0811B6B8: .4byte gUnknown_8457120 _0811B6BC: .4byte gSaveBlock1Ptr -_0811B6C0: .4byte gUnknown_2036E38 +_0811B6C0: .4byte gMapObjects _0811B6C4: ldr r0, _0811B6DC @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c" ldr r1, _0811B6E0 @ =0x00000183 @@ -11437,7 +11437,7 @@ sub_811B6E8: @ 811B6E8 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0811B72C @ =gUnknown_2036E38 + ldr r1, _0811B72C @ =gMapObjects adds r4, r0, r1 adds r0, r4, 0 bl FieldObjectClearAnimIfSpecialAnimFinished @@ -11449,7 +11449,7 @@ sub_811B6E8: @ 811B6E8 .align 2, 0 _0811B724: .4byte gUnknown_8457120 _0811B728: .4byte gSaveBlock1Ptr -_0811B72C: .4byte gUnknown_2036E38 +_0811B72C: .4byte gMapObjects _0811B730: bl ScriptContext2_IsEnabled lsls r0, 24 diff --git a/asm/load_save.s b/asm/load_save.s index 836abd78e..a8e6eff17 100644 --- a/asm/load_save.s +++ b/asm/load_save.s @@ -345,7 +345,7 @@ save_serialize_npcs: @ 804C270 movs r5, 0xD4 lsls r5, 3 mov r8, r5 - ldr r4, _0804C2B4 @ =gUnknown_2036E38 + ldr r4, _0804C2B4 @ =gMapObjects movs r3, 0 movs r2, 0xF _0804C286: @@ -372,7 +372,7 @@ _0804C286: bx r0 .align 2, 0 _0804C2B0: .4byte gSaveBlock1Ptr -_0804C2B4: .4byte gUnknown_2036E38 +_0804C2B4: .4byte gMapObjects thumb_func_end save_serialize_npcs thumb_func_start sub_804C2B8 @@ -385,7 +385,7 @@ sub_804C2B8: @ 804C2B8 movs r5, 0xD4 lsls r5, 3 mov r8, r5 - ldr r4, _0804C2FC @ =gUnknown_2036E38 + ldr r4, _0804C2FC @ =gMapObjects movs r3, 0 movs r2, 0xF _0804C2CE: @@ -412,7 +412,7 @@ _0804C2CE: bx r0 .align 2, 0 _0804C2F8: .4byte gSaveBlock1Ptr -_0804C2FC: .4byte gUnknown_2036E38 +_0804C2FC: .4byte gMapObjects thumb_func_end sub_804C2B8 thumb_func_start SaveSerializedGame diff --git a/asm/map_obj_80688E4.s b/asm/map_obj_80688E4.s index 5ba346f0b..0f878255c 100644 --- a/asm/map_obj_80688E4.s +++ b/asm/map_obj_80688E4.s @@ -86,7 +86,7 @@ _0806896E: player_bitmagic: @ 8068974 push {r4,r5,lr} movs r4, 0 - ldr r5, _080689A8 @ =gUnknown_2036E38 + ldr r5, _080689A8 @ =gMapObjects _0806897A: lsls r0, r4, 3 adds r0, r4 @@ -112,7 +112,7 @@ _08068998: pop {r0} bx r0 .align 2, 0 -_080689A8: .4byte gUnknown_2036E38 +_080689A8: .4byte gMapObjects _080689AC: .4byte gUnknown_2037078 thumb_func_end player_bitmagic @@ -122,7 +122,7 @@ FreezeMapObjectsExceptOne: @ 80689B0 lsls r0, 24 lsrs r5, r0, 24 movs r4, 0 - ldr r6, _080689EC @ =gUnknown_2036E38 + ldr r6, _080689EC @ =gMapObjects _080689BA: cmp r4, r5 beq _080689DC @@ -150,7 +150,7 @@ _080689DC: pop {r0} bx r0 .align 2, 0 -_080689EC: .4byte gUnknown_2036E38 +_080689EC: .4byte gMapObjects _080689F0: .4byte gUnknown_2037078 thumb_func_end FreezeMapObjectsExceptOne @@ -213,7 +213,7 @@ _08068A58: .4byte gSprites UnfreezeMapObjects: @ 8068A5C push {r4,r5,lr} movs r4, 0 - ldr r5, _08068A88 @ =gUnknown_2036E38 + ldr r5, _08068A88 @ =gMapObjects _08068A62: lsls r0, r4, 3 adds r0, r4 @@ -235,7 +235,7 @@ _08068A78: pop {r0} bx r0 .align 2, 0 -_08068A88: .4byte gUnknown_2036E38 +_08068A88: .4byte gMapObjects thumb_func_end UnfreezeMapObjects thumb_func_start little_step diff --git a/asm/map_obj_lock.s b/asm/map_obj_lock.s index 2b3cbfc5a..a5a61662d 100644 --- a/asm/map_obj_lock.s +++ b/asm/map_obj_lock.s @@ -100,7 +100,7 @@ _080695F6: ldrsh r0, [r5, r1] cmp r0, 0 bne _0806961E - ldr r2, _08069640 @ =gUnknown_2036E38 + ldr r2, _08069640 @ =gMapObjects ldr r0, _08069644 @ =gUnknown_3005074 ldrb r1, [r0] lsls r0, r1, 3 @@ -132,7 +132,7 @@ _08069634: bx r0 .align 2, 0 _0806963C: .4byte gTasks -_08069640: .4byte gUnknown_2036E38 +_08069640: .4byte gMapObjects _08069644: .4byte gUnknown_3005074 thumb_func_end sub_80695CC @@ -167,7 +167,7 @@ LockSelectedMapObject: @ 806966C bl CreateTask lsls r0, 24 lsrs r5, r0, 24 - ldr r2, _080696B8 @ =gUnknown_2036E38 + ldr r2, _080696B8 @ =gMapObjects ldrb r1, [r4] lsls r0, r1, 3 adds r0, r1 @@ -193,7 +193,7 @@ _080696AA: .align 2, 0 _080696B0: .4byte gUnknown_3005074 _080696B4: .4byte sub_80695CC -_080696B8: .4byte gUnknown_2036E38 +_080696B8: .4byte gMapObjects _080696BC: .4byte gTasks thumb_func_end LockSelectedMapObject @@ -210,7 +210,7 @@ sub_80696C0: @ 80696C0 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _080696EC @ =gUnknown_2036E38 + ldr r1, _080696EC @ =gMapObjects adds r0, r1 bl FieldObjectClearAnimIfSpecialAnimFinished bl sub_80974D8 @@ -218,13 +218,13 @@ sub_80696C0: @ 80696C0 pop {r0} bx r0 .align 2, 0 -_080696EC: .4byte gUnknown_2036E38 +_080696EC: .4byte gMapObjects thumb_func_end sub_80696C0 thumb_func_start sub_80696F0 sub_80696F0: @ 80696F0 push {r4,lr} - ldr r4, _08069738 @ =gUnknown_2036E38 + ldr r4, _08069738 @ =gMapObjects ldr r0, _0806973C @ =gUnknown_3005074 ldrb r1, [r0] lsls r0, r1, 3 @@ -256,7 +256,7 @@ _0806970E: pop {r0} bx r0 .align 2, 0 -_08069738: .4byte gUnknown_2036E38 +_08069738: .4byte gMapObjects _0806973C: .4byte gUnknown_3005074 thumb_func_end sub_80696F0 @@ -268,7 +268,7 @@ sub_8069740: @ 8069740 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08069760 @ =gUnknown_2036E38 + ldr r1, _08069760 @ =gMapObjects adds r0, r1 ldr r1, _08069764 @ =gUnknown_20370D4 ldrb r1, [r1] @@ -277,7 +277,7 @@ sub_8069740: @ 8069740 bx r0 .align 2, 0 _0806975C: .4byte gUnknown_3005074 -_08069760: .4byte gUnknown_2036E38 +_08069760: .4byte gMapObjects _08069764: .4byte gUnknown_20370D4 thumb_func_end sub_8069740 @@ -289,14 +289,14 @@ sub_8069768: @ 8069768 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08069784 @ =gUnknown_2036E38 + ldr r1, _08069784 @ =gMapObjects adds r0, r1 bl FieldObjectClearAnimIfSpecialAnimActive pop {r0} bx r0 .align 2, 0 _08069780: .4byte gUnknown_3005074 -_08069784: .4byte gUnknown_2036E38 +_08069784: .4byte gMapObjects thumb_func_end sub_8069768 .align 2, 0 @ Don't pad with nop. diff --git a/asm/overworld.s b/asm/overworld.s index ec52f7af1..63849f1fb 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -4734,7 +4734,7 @@ sub_8057100: @ 8057100 thumb_func_start sub_8057114 sub_8057114: @ 8057114 push {lr} - ldr r2, _08057138 @ =gUnknown_2036E38 + ldr r2, _08057138 @ =gMapObjects ldr r3, _0805713C @ =gUnknown_2037078 ldrb r1, [r3, 0x5] lsls r0, r1, 3 @@ -4750,7 +4750,7 @@ sub_8057114: @ 8057114 pop {r0} bx r0 .align 2, 0 -_08057138: .4byte gUnknown_2036E38 +_08057138: .4byte gMapObjects _0805713C: .4byte gUnknown_2037078 thumb_func_end sub_8057114 @@ -7200,7 +7200,7 @@ SpawnLinkPlayerMapObject: @ 805839C lsls r5, r6, 3 adds r5, r6 lsls r5, 2 - ldr r0, _08058444 @ =gUnknown_2036E38 + ldr r0, _08058444 @ =gMapObjects adds r5, r0 adds r0, r4, 0 bl ZeroLinkPlayerMapObject @@ -7248,7 +7248,7 @@ SpawnLinkPlayerMapObject: @ 805839C bx r0 .align 2, 0 _08058440: .4byte gUnknown_2031DEC -_08058444: .4byte gUnknown_2036E38 +_08058444: .4byte gMapObjects thumb_func_end SpawnLinkPlayerMapObject thumb_func_start InitLinkPlayerMapObjectPos @@ -7300,7 +7300,7 @@ sub_8058488: @ 8058488 lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, _080584B4 @ =gUnknown_2036E38 + ldr r0, _080584B4 @ =gMapObjects adds r1, r0 strb r2, [r1, 0x19] _080584AA: @@ -7308,7 +7308,7 @@ _080584AA: bx r0 .align 2, 0 _080584B0: .4byte gUnknown_2031DEC -_080584B4: .4byte gUnknown_2036E38 +_080584B4: .4byte gMapObjects thumb_func_end sub_8058488 thumb_func_start sub_80584B8 @@ -7322,7 +7322,7 @@ sub_80584B8: @ 80584B8 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _080584FC @ =gUnknown_2036E38 + ldr r1, _080584FC @ =gMapObjects adds r4, r0, r1 ldrb r0, [r4, 0x4] cmp r0, 0x40 @@ -7346,7 +7346,7 @@ _080584E4: bx r0 .align 2, 0 _080584F8: .4byte gUnknown_2031DEC -_080584FC: .4byte gUnknown_2036E38 +_080584FC: .4byte gMapObjects _08058500: .4byte gSprites thumb_func_end sub_80584B8 @@ -7360,13 +7360,13 @@ sub_8058504: @ 8058504 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08058520 @ =gUnknown_2036E38 + ldr r1, _08058520 @ =gMapObjects adds r0, r1 ldrb r0, [r0, 0x4] bx lr .align 2, 0 _0805851C: .4byte gUnknown_2031DEC -_08058520: .4byte gUnknown_2036E38 +_08058520: .4byte gMapObjects thumb_func_end sub_8058504 thumb_func_start sub_8058524 @@ -7379,7 +7379,7 @@ sub_8058524: @ 8058524 lsls r0, r3, 3 adds r0, r3 lsls r0, 2 - ldr r3, _08058548 @ =gUnknown_2036E38 + ldr r3, _08058548 @ =gMapObjects adds r0, r3 ldrh r3, [r0, 0x10] strh r3, [r1] @@ -7388,7 +7388,7 @@ sub_8058524: @ 8058524 bx lr .align 2, 0 _08058544: .4byte gUnknown_2031DEC -_08058548: .4byte gUnknown_2036E38 +_08058548: .4byte gMapObjects thumb_func_end sub_8058524 thumb_func_start sub_805854C @@ -7401,13 +7401,13 @@ sub_805854C: @ 805854C lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08058568 @ =gUnknown_2036E38 + ldr r1, _08058568 @ =gMapObjects adds r0, r1 ldrb r0, [r0, 0x19] bx lr .align 2, 0 _08058564: .4byte gUnknown_2031DEC -_08058568: .4byte gUnknown_2036E38 +_08058568: .4byte gMapObjects thumb_func_end sub_805854C thumb_func_start sub_805856C @@ -7420,7 +7420,7 @@ sub_805856C: @ 805856C lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805858C @ =gUnknown_2036E38 + ldr r1, _0805858C @ =gMapObjects adds r0, r1 ldrb r0, [r0, 0xB] lsls r0, 28 @@ -7428,7 +7428,7 @@ sub_805856C: @ 805856C bx lr .align 2, 0 _08058588: .4byte gUnknown_2031DEC -_0805858C: .4byte gUnknown_2036E38 +_0805858C: .4byte gMapObjects thumb_func_end sub_805856C thumb_func_start sub_8058590 @@ -7441,7 +7441,7 @@ sub_8058590: @ 8058590 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _080585B4 @ =gUnknown_2036E38 + ldr r1, _080585B4 @ =gMapObjects adds r0, r1 adds r0, 0x21 movs r1, 0 @@ -7451,7 +7451,7 @@ sub_8058590: @ 8058590 bx lr .align 2, 0 _080585B0: .4byte gUnknown_2031DEC -_080585B4: .4byte gUnknown_2036E38 +_080585B4: .4byte gMapObjects thumb_func_end sub_8058590 thumb_func_start GetLinkPlayerIdAt @@ -7479,7 +7479,7 @@ _080585DA: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08058600 @ =gUnknown_2036E38 + ldr r1, _08058600 @ =gMapObjects adds r1, r0, r1 movs r6, 0x10 ldrsh r0, [r1, r6] @@ -7493,7 +7493,7 @@ _080585DA: b _08058610 .align 2, 0 _080585FC: .4byte gUnknown_2031DEC -_08058600: .4byte gUnknown_2036E38 +_08058600: .4byte gMapObjects _08058604: adds r0, r2, 0x1 lsls r0, 24 @@ -7521,7 +7521,7 @@ sub_8058618: @ 8058618 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0805864C @ =gUnknown_2036E38 + ldr r1, _0805864C @ =gMapObjects adds r6, r0, r1 ldrb r0, [r5] cmp r0, 0 @@ -7535,7 +7535,7 @@ sub_8058618: @ 8058618 b _08058674 .align 2, 0 _08058648: .4byte gUnknown_2031DEC -_0805864C: .4byte gUnknown_2036E38 +_0805864C: .4byte gMapObjects _08058650: ldr r4, _0805867C @ =gUnknown_826D374 ldr r1, _08058680 @ =gUnknown_826D33C @@ -7780,7 +7780,7 @@ npc_080587EC: @ 80587EC mov r12, r2 lsls r3, 16 movs r4, 0 - ldr r0, _08058850 @ =gUnknown_2036E38 + ldr r0, _08058850 @ =gMapObjects mov r9, r0 lsrs r2, r3, 16 mov r10, r2 @@ -7820,7 +7820,7 @@ _0805884A: movs r0, 0x1 b _0805886A .align 2, 0 -_08058850: .4byte gUnknown_2036E38 +_08058850: .4byte gMapObjects _08058854: adds r0, r4, 0x1 lsls r0, 24 @@ -7857,7 +7857,7 @@ sub_8058878: @ 8058878 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _080588B8 @ =gUnknown_2036E38 + ldr r1, _080588B8 @ =gMapObjects adds r4, r0, r1 ldrb r0, [r2] cmp r0, 0 @@ -7875,7 +7875,7 @@ sub_8058878: @ 8058878 b _080588C6 .align 2, 0 _080588B4: .4byte gUnknown_2031DEC -_080588B8: .4byte gUnknown_2036E38 +_080588B8: .4byte gMapObjects _080588BC: ldrb r0, [r4] lsls r0, 30 @@ -7931,7 +7931,7 @@ SpriteCB_LinkPlayer: @ 805890C lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08058974 @ =gUnknown_2036E38 + ldr r1, _08058974 @ =gMapObjects adds r6, r0, r1 ldrh r0, [r6, 0xC] strh r0, [r5, 0x20] @@ -7967,7 +7967,7 @@ SpriteCB_LinkPlayer: @ 805890C b _0805898A .align 2, 0 _08058970: .4byte gUnknown_2031DEC -_08058974: .4byte gUnknown_2036E38 +_08058974: .4byte gMapObjects _08058978: ldrb r0, [r6, 0x19] bl get_go_image_anim_num diff --git a/asm/quest_log.s b/asm/quest_log.s index 505e60275..a1b187919 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,72 +5,6 @@ .text - thumb_func_start sub_811246C -sub_811246C: @ 811246C - push {r4-r6,lr} - adds r6, r0, 0 - movs r0, 0x2E - ldrsh r1, [r6, r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _081124B0 @ =gUnknown_2036E38 - adds r4, r0, r1 - ldrb r0, [r4, 0x8] - cmp r0, 0xFF - bne _081124B8 - ldr r5, _081124B4 @ =gUnknown_203AF9A - ldrb r0, [r5] - cmp r0, 0xFF - beq _08112498 - adds r1, r0, 0 - adds r0, r4, 0 - bl sub_8063CA4 - movs r0, 0xFF - strb r0, [r5] -_08112498: - ldrb r0, [r5, 0x1] - cmp r0, 0xFF - beq _081124A6 - bl sub_8150454 - movs r0, 0xFF - strb r0, [r5, 0x1] -_081124A6: - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_8063E28 - b _081124E0 - .align 2, 0 -_081124B0: .4byte gUnknown_2036E38 -_081124B4: .4byte gUnknown_203AF9A -_081124B8: - ldr r5, _081124E8 @ =gUnknown_203AF9A - ldrb r0, [r4, 0x8] - lsls r0, 1 - adds r1, r0, r5 - ldrb r0, [r1] - cmp r0, 0xFF - beq _081124D8 - adds r1, r0, 0 - adds r0, r4, 0 - bl sub_8063CA4 - ldrb r0, [r4, 0x8] - lsls r0, 1 - adds r0, r5 - movs r1, 0xFF - strb r1, [r0] -_081124D8: - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_8063E28 -_081124E0: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081124E8: .4byte gUnknown_203AF9A - thumb_func_end sub_811246C - thumb_func_start sub_81124EC sub_81124EC: @ 81124EC push {r4-r7,lr} diff --git a/asm/quest_log_8150454.s b/asm/quest_log_8150454.s index 1fe631d20..76dadd6e0 100644 --- a/asm/quest_log_8150454.s +++ b/asm/quest_log_8150454.s @@ -64,7 +64,7 @@ sub_81504A8: @ 81504A8 lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _081504E4 @ =gUnknown_2036E38 + ldr r0, _081504E4 @ =gMapObjects adds r4, r0 movs r0, 0 bl sub_805C808 @@ -84,7 +84,7 @@ sub_81504A8: @ 81504A8 bx r0 .align 2, 0 _081504E0: .4byte gUnknown_2037078 -_081504E4: .4byte gUnknown_2036E38 +_081504E4: .4byte gMapObjects thumb_func_end sub_81504A8 thumb_func_start sub_81504E8 @@ -95,7 +95,7 @@ sub_81504E8: @ 81504E8 lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _0815052C @ =gUnknown_2036E38 + ldr r0, _0815052C @ =gMapObjects adds r4, r0 movs r0, 0x1 bl sub_805C808 @@ -118,7 +118,7 @@ sub_81504E8: @ 81504E8 bx r0 .align 2, 0 _08150528: .4byte gUnknown_2037078 -_0815052C: .4byte gUnknown_2036E38 +_0815052C: .4byte gMapObjects thumb_func_end sub_81504E8 thumb_func_start sub_8150530 @@ -129,7 +129,7 @@ sub_8150530: @ 8150530 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08150580 @ =gUnknown_2036E38 + ldr r1, _08150580 @ =gMapObjects adds r4, r0, r1 ldrb r1, [r4, 0x4] lsls r0, r1, 4 @@ -162,7 +162,7 @@ _08150558: b _081505BC .align 2, 0 _0815057C: .4byte gUnknown_2037078 -_08150580: .4byte gUnknown_2036E38 +_08150580: .4byte gMapObjects _08150584: .4byte gSprites _08150588: .4byte gUnknown_3005E88 _0815058C: .4byte sub_81505C4 @@ -205,7 +205,7 @@ sub_81505C4: @ 81505C4 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08150610 @ =gUnknown_2036E38 + ldr r1, _08150610 @ =gMapObjects adds r5, r0, r1 ldrb r1, [r5, 0x4] lsls r0, r1, 4 @@ -230,7 +230,7 @@ sub_81505C4: @ 81505C4 b _081506FC .align 2, 0 _0815060C: .4byte gUnknown_2037078 -_08150610: .4byte gUnknown_2036E38 +_08150610: .4byte gMapObjects _08150614: .4byte gSprites _08150618: .4byte gTasks _0815061C: @@ -353,7 +353,7 @@ sub_8150708: @ 8150708 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _08150774 @ =gUnknown_2036E38 + ldr r1, _08150774 @ =gMapObjects adds r4, r0, r1 ldrb r1, [r5] movs r0, 0x8 @@ -395,7 +395,7 @@ _08150768: bx r0 .align 2, 0 _08150770: .4byte gUnknown_2037078 -_08150774: .4byte gUnknown_2036E38 +_08150774: .4byte gMapObjects _08150778: .4byte gUnknown_20386E0 thumb_func_end sub_8150708 diff --git a/asm/rom6.s b/asm/rom6.s index a438b9276..76da35ac8 100644 --- a/asm/rom6.s +++ b/asm/rom6.s @@ -23,7 +23,7 @@ npc_before_player_of_type: @ 80C97A8 bl GetFieldObjectIdByXYZ lsls r0, 24 lsrs r0, 24 - ldr r2, _080C97EC @ =gUnknown_2036E38 + ldr r2, _080C97EC @ =gMapObjects lsls r1, r0, 3 adds r1, r0 lsls r1, 2 @@ -38,7 +38,7 @@ npc_before_player_of_type: @ 80C97A8 b _080C97F6 .align 2, 0 _080C97E8: .4byte gUnknown_2039A04 -_080C97EC: .4byte gUnknown_2036E38 +_080C97EC: .4byte gMapObjects _080C97F0: .4byte gUnknown_20370D2 _080C97F4: movs r0, 0 @@ -80,7 +80,7 @@ task08_080C9820: @ 80C9820 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _080C9878 @ =gUnknown_2036E38 + ldr r1, _080C9878 @ =gMapObjects adds r4, r0, r1 adds r0, r4, 0 bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive @@ -108,7 +108,7 @@ _080C9856: b _080C98A0 .align 2, 0 _080C9874: .4byte gUnknown_2037078 -_080C9878: .4byte gUnknown_2036E38 +_080C9878: .4byte gMapObjects _080C987C: .4byte gMapHeader _080C9880: .4byte gTasks _080C9884: .4byte sub_80C98FC @@ -144,7 +144,7 @@ sub_80C98B0: @ 80C98B0 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _080C98F0 @ =gUnknown_2036E38 + ldr r1, _080C98F0 @ =gMapObjects adds r0, r1 bl FieldObjectCheckIfSpecialAnimFinishedOrInactive lsls r0, 24 @@ -166,7 +166,7 @@ _080C98E4: bx r0 .align 2, 0 _080C98EC: .4byte gUnknown_2037078 -_080C98F0: .4byte gUnknown_2036E38 +_080C98F0: .4byte gMapObjects _080C98F4: .4byte gTasks _080C98F8: .4byte sub_80C98FC thumb_func_end sub_80C98B0 @@ -212,7 +212,7 @@ _080C993C: lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _080C9990 @ =gUnknown_2036E38 + ldr r0, _080C9990 @ =gMapObjects adds r4, r0 bl GetPlayerAvatarGraphicsIdByCurrentState adds r1, r0, 0 @@ -244,7 +244,7 @@ _080C9980: .align 2, 0 _080C9988: .4byte gUnknown_20386E0 _080C998C: .4byte gUnknown_2037078 -_080C9990: .4byte gUnknown_2036E38 +_080C9990: .4byte gMapObjects _080C9994: .4byte gSprites _080C9998: .4byte gTasks _080C999C: .4byte sub_80C99A0 diff --git a/asm/scrcmd.s b/asm/scrcmd.s index e795e48b8..733860772 100644 --- a/asm/scrcmd.s +++ b/asm/scrcmd.s @@ -3065,7 +3065,7 @@ ScrCmd_resetobjectpriority: @ 806B58C thumb_func_start ScrCmd_faceplayer ScrCmd_faceplayer: @ 806B5BC push {r4,lr} - ldr r2, _0806B5EC @ =gUnknown_2036E38 + ldr r2, _0806B5EC @ =gMapObjects ldr r0, _0806B5F0 @ =gUnknown_3005074 ldrb r1, [r0] lsls r0, r1, 3 @@ -3088,7 +3088,7 @@ _0806B5E4: pop {r1} bx r1 .align 2, 0 -_0806B5EC: .4byte gUnknown_2036E38 +_0806B5EC: .4byte gMapObjects _0806B5F0: .4byte gUnknown_3005074 thumb_func_end ScrCmd_faceplayer @@ -3245,7 +3245,7 @@ ScrCmd_lock: @ 806B704 movs r0, 0 b _0806B752 _0806B714: - ldr r2, _0806B738 @ =gUnknown_2036E38 + ldr r2, _0806B738 @ =gMapObjects ldr r0, _0806B73C @ =gUnknown_3005074 ldrb r1, [r0] lsls r0, r1, 3 @@ -3262,7 +3262,7 @@ _0806B714: bl SetupNativeScript b _0806B750 .align 2, 0 -_0806B738: .4byte gUnknown_2036E38 +_0806B738: .4byte gMapObjects _0806B73C: .4byte gUnknown_3005074 _0806B740: .4byte sub_8069648 _0806B744: @@ -3294,7 +3294,7 @@ ScrCmd_releaseall: @ 806B75C lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0806B790 @ =gUnknown_2036E38 + ldr r1, _0806B790 @ =gMapObjects adds r0, r1 bl FieldObjectClearAnimIfSpecialAnimFinished bl sub_80974D8 @@ -3303,14 +3303,14 @@ ScrCmd_releaseall: @ 806B75C pop {r1} bx r1 .align 2, 0 -_0806B790: .4byte gUnknown_2036E38 +_0806B790: .4byte gMapObjects thumb_func_end ScrCmd_releaseall thumb_func_start ScrCmd_release ScrCmd_release: @ 806B794 push {r4,lr} bl HideFieldMessageBox - ldr r4, _0806B7E4 @ =gUnknown_2036E38 + ldr r4, _0806B7E4 @ =gMapObjects ldr r0, _0806B7E8 @ =gUnknown_3005074 ldrb r1, [r0] lsls r0, r1, 3 @@ -3343,7 +3343,7 @@ _0806B7B6: pop {r1} bx r1 .align 2, 0 -_0806B7E4: .4byte gUnknown_2036E38 +_0806B7E4: .4byte gMapObjects _0806B7E8: .4byte gUnknown_3005074 thumb_func_end ScrCmd_release diff --git a/asm/script_movement.s b/asm/script_movement.s index 58becc75a..826d6d6bd 100644 --- a/asm/script_movement.s +++ b/asm/script_movement.s @@ -480,7 +480,7 @@ _0809777C: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _080977A8 @ =gUnknown_2036E38 + ldr r1, _080977A8 @ =gMapObjects adds r0, r1 bl npc_sync_anim_pause_bits _08097792: @@ -495,7 +495,7 @@ _08097792: bx r0 .align 2, 0 _080977A4: .4byte gTasks+0x8 -_080977A8: .4byte gUnknown_2036E38 +_080977A8: .4byte gMapObjects thumb_func_end UnfreezeObjects thumb_func_start Task_80A244C @@ -557,7 +557,7 @@ sub_80977F0: @ 80977F0 lsls r0, r4, 3 adds r0, r4 lsls r0, 2 - ldr r1, _08097850 @ =gUnknown_2036E38 + ldr r1, _08097850 @ =gMapObjects adds r4, r0, r1 adds r0, r4, 0 bl FieldObjectIsSpecialAnimActive @@ -580,7 +580,7 @@ _08097838: bl FreezeMapObject b _0809786A .align 2, 0 -_08097850: .4byte gUnknown_2036E38 +_08097850: .4byte gMapObjects _08097854: adds r0, r4, 0 bl sub_8063CA4 diff --git a/asm/shop.s b/asm/shop.s index 2160a54ca..da5ab15ee 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -1889,7 +1889,7 @@ _0809B976: ldr r1, _0809B9EC @ =gUnknown_20398B8 adds r0, r2, r1 strh r5, [r0] - ldr r1, _0809B9F0 @ =gUnknown_2036E38 + ldr r1, _0809B9F0 @ =gMapObjects lsls r0, r3, 3 adds r0, r3 lsls r0, 2 @@ -1910,7 +1910,7 @@ _0809B9E0: .4byte gUnknown_20398BA _0809B9E4: .4byte 0x0000fffd _0809B9E8: .4byte 0x0000fffe _0809B9EC: .4byte gUnknown_20398B8 -_0809B9F0: .4byte gUnknown_2036E38 +_0809B9F0: .4byte gMapObjects _0809B9F4: cmp r0, 0x3 beq _0809BA06 @@ -1968,7 +1968,7 @@ sub_809BA40: @ 809BA40 sub sp, 0x4 movs r6, 0 ldr r7, _0809BAE8 @ =gUnknown_20398B4 - ldr r0, _0809BAEC @ =gUnknown_2036E38 + ldr r0, _0809BAEC @ =gMapObjects mov r8, r0 adds r1, r7, 0x6 mov r9, r1 @@ -2045,7 +2045,7 @@ _0809BACE: bx r0 .align 2, 0 _0809BAE8: .4byte gUnknown_20398B4 -_0809BAEC: .4byte gUnknown_2036E38 +_0809BAEC: .4byte gMapObjects _0809BAF0: .4byte 0xfff80000 _0809BAF4: .4byte SpriteCallbackDummy _0809BAF8: .4byte gSprites diff --git a/asm/ss_anne.s b/asm/ss_anne.s index 5ba63dea3..429645f3e 100644 --- a/asm/ss_anne.s +++ b/asm/ss_anne.s @@ -100,7 +100,7 @@ _0815D3D6: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0815D42C @ =gUnknown_2036E38 + ldr r1, _0815D42C @ =gMapObjects adds r0, r1 ldr r2, _0815D430 @ =gSprites ldrb r1, [r0, 0x4] @@ -128,7 +128,7 @@ _0815D3D6: .align 2, 0 _0815D424: .4byte gTasks+0x8 _0815D428: .4byte gSaveBlock1Ptr -_0815D42C: .4byte gUnknown_2036E38 +_0815D42C: .4byte gMapObjects _0815D430: .4byte gSprites _0815D434: .4byte sub_815D454 _0815D438: @@ -197,7 +197,7 @@ sub_815D498: @ 815D498 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0815D50C @ =gUnknown_2036E38 + ldr r1, _0815D50C @ =gMapObjects adds r0, r1 ldr r4, _0815D510 @ =gSprites ldrb r1, [r0, 0x4] @@ -238,7 +238,7 @@ sub_815D498: @ 815D498 bx r0 .align 2, 0 _0815D508: .4byte gSaveBlock1Ptr -_0815D50C: .4byte gUnknown_2036E38 +_0815D50C: .4byte gMapObjects _0815D510: .4byte gSprites _0815D514: .4byte gUnknown_8479C88 thumb_func_end sub_815D498 @@ -260,7 +260,7 @@ sub_815D518: @ 815D518 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0815D59C @ =gUnknown_2036E38 + ldr r1, _0815D59C @ =gMapObjects adds r0, r1 ldr r2, _0815D5A0 @ =gSprites ldrb r1, [r0, 0x4] @@ -308,7 +308,7 @@ _0815D58E: bx r0 .align 2, 0 _0815D598: .4byte gSaveBlock1Ptr -_0815D59C: .4byte gUnknown_2036E38 +_0815D59C: .4byte gMapObjects _0815D5A0: .4byte gSprites thumb_func_end sub_815D518 @@ -328,7 +328,7 @@ sub_815D5A4: @ 815D5A4 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0815D618 @ =gUnknown_2036E38 + ldr r1, _0815D618 @ =gMapObjects adds r0, r1 ldr r4, _0815D61C @ =gSprites ldrb r0, [r0, 0x4] @@ -371,7 +371,7 @@ _0815D60C: bx r0 .align 2, 0 _0815D614: .4byte gSaveBlock1Ptr -_0815D618: .4byte gUnknown_2036E38 +_0815D618: .4byte gMapObjects _0815D61C: .4byte gSprites _0815D620: .4byte gUnknown_8479CC0 thumb_func_end sub_815D5A4 diff --git a/asm/trainer_see.s b/asm/trainer_see.s index 29c9b1983..cfdd02906 100644 --- a/asm/trainer_see.s +++ b/asm/trainer_see.s @@ -19,7 +19,7 @@ _08081B40: b _08081B7A _08081B44: movs r4, 0 - ldr r5, _08081B80 @ =gUnknown_2036E38 + ldr r5, _08081B80 @ =gMapObjects _08081B48: lsls r0, r4, 3 adds r0, r4 @@ -53,7 +53,7 @@ _08081B7A: pop {r1} bx r1 .align 2, 0 -_08081B80: .4byte gUnknown_2036E38 +_08081B80: .4byte gMapObjects thumb_func_end sub_8081B30 thumb_func_start sub_8081B84 @@ -70,7 +70,7 @@ sub_8081B84: @ 8081B84 lsls r4, r5, 3 adds r0, r4, r5 lsls r0, 2 - ldr r1, _08081BE0 @ =gUnknown_2036E38 + ldr r1, _08081BE0 @ =gMapObjects adds r0, r1 bl sub_8081BEC lsls r0, 24 @@ -90,7 +90,7 @@ _08081BC0: bl TrainerWantsBattle adds r0, r4, r5 lsls r0, 2 - ldr r1, _08081BE0 @ =gUnknown_2036E38 + ldr r1, _08081BE0 @ =gMapObjects adds r0, r1 subs r1, r7, 0x1 lsls r1, 24 @@ -99,7 +99,7 @@ _08081BC0: movs r0, 0x1 b _08081BE6 .align 2, 0 -_08081BE0: .4byte gUnknown_2036E38 +_08081BE0: .4byte gMapObjects _08081BE4: movs r0, 0 _08081BE6: @@ -740,7 +740,7 @@ _0808204A: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _080820B8 @ =gUnknown_2036E38 + ldr r1, _080820B8 @ =gMapObjects adds r4, r0, r1 adds r0, r4, 0 bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive @@ -764,7 +764,7 @@ _080820AC: bx r1 .align 2, 0 _080820B4: .4byte gUnknown_2037078 -_080820B8: .4byte gUnknown_2036E38 +_080820B8: .4byte gMapObjects thumb_func_end sub_808202C thumb_func_start sub_80820BC @@ -777,7 +777,7 @@ sub_80820BC: @ 80820BC lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _080820FC @ =gUnknown_2036E38 + ldr r1, _080820FC @ =gMapObjects adds r4, r0, r1 adds r0, r4, 0 bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive @@ -799,7 +799,7 @@ _080820EE: bx r1 .align 2, 0 _080820F8: .4byte gUnknown_2037078 -_080820FC: .4byte gUnknown_2036E38 +_080820FC: .4byte gMapObjects thumb_func_end sub_80820BC thumb_func_start sub_8082100 @@ -1025,7 +1025,7 @@ sub_808226C: @ 808226C movs r1, 0x7 movs r2, 0x7F bl SpawnSpecialFieldObjectParametrized - ldr r2, _080822C8 @ =gUnknown_2036E38 + ldr r2, _080822C8 @ =gMapObjects lsls r1, r0, 3 adds r1, r0 lsls r1, 2 @@ -1046,7 +1046,7 @@ sub_808226C: @ 808226C bx r1 .align 2, 0 _080822C4: .4byte gSaveBlock1Ptr -_080822C8: .4byte gUnknown_2036E38 +_080822C8: .4byte gMapObjects thumb_func_end sub_808226C thumb_func_start sub_80822CC @@ -1067,7 +1067,7 @@ sub_80822CC: @ 80822CC lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r4, _0808234C @ =gUnknown_2036E38 + ldr r4, _0808234C @ =gMapObjects adds r0, r4 bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive lsls r0, 24 @@ -1096,7 +1096,7 @@ _08082312: lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _0808234C @ =gUnknown_2036E38 + ldr r0, _0808234C @ =gMapObjects adds r4, r0 movs r0, 0x2 bl sub_8063FB0 @@ -1111,7 +1111,7 @@ _08082312: b _0808236E .align 2, 0 _08082348: .4byte gSaveBlock1Ptr -_0808234C: .4byte gUnknown_2036E38 +_0808234C: .4byte gMapObjects _08082350: ldr r1, _08082378 @ =gUnknown_20386E0 adds r2, r1, 0x4 @@ -1158,7 +1158,7 @@ sub_808237C: @ 808237C lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r4, _08082408 @ =gUnknown_2036E38 + ldr r4, _08082408 @ =gMapObjects adds r0, r4 bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive lsls r0, 24 @@ -1187,7 +1187,7 @@ _080823CC: lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _08082408 @ =gUnknown_2036E38 + ldr r0, _08082408 @ =gMapObjects adds r4, r0 movs r0, 0x1 bl sub_8063FB0 @@ -1202,7 +1202,7 @@ _080823CC: b _0808242E .align 2, 0 _08082404: .4byte gSaveBlock1Ptr -_08082408: .4byte gUnknown_2036E38 +_08082408: .4byte gMapObjects _0808240C: bl GetPlayerAvatarObjectId lsls r0, 24 @@ -1579,7 +1579,7 @@ _080826DA: bl FieldEffectStop b _08082736 _080826E8: - ldr r2, _0808272C @ =gUnknown_2036E38 + ldr r2, _0808272C @ =gMapObjects mov r0, sp ldrb r1, [r0] lsls r0, r1, 3 @@ -1614,7 +1614,7 @@ _080826E8: strh r0, [r4, 0x34] b _08082736 .align 2, 0 -_0808272C: .4byte gUnknown_2036E38 +_0808272C: .4byte gMapObjects _08082730: .4byte gSprites _08082734: strh r2, [r4, 0x34] diff --git a/asm/unk_810C3A4.s b/asm/unk_810C3A4.s index a202dc769..e7e825483 100644 --- a/asm/unk_810C3A4.s +++ b/asm/unk_810C3A4.s @@ -44,7 +44,7 @@ _0810C3E2: cmp r0, 0 bne _0810C41C movs r4, 0 - ldr r7, _0810C440 @ =gUnknown_2036E38 + ldr r7, _0810C440 @ =gMapObjects _0810C3EE: adds r0, r4, 0 bl sub_810CF04 @@ -85,7 +85,7 @@ _0810C436: bx r0 .align 2, 0 _0810C43C: .4byte gTasks -_0810C440: .4byte gUnknown_2036E38 +_0810C440: .4byte gMapObjects thumb_func_end sub_810C3B8 thumb_func_start sub_810C444 @@ -140,7 +140,7 @@ _0810C47A: lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r2, _0810C4E8 @ =gUnknown_2036E38 + ldr r2, _0810C4E8 @ =gMapObjects adds r4, r1, r2 bl sub_810CF04 lsls r0, 24 @@ -171,7 +171,7 @@ _0810C4D2: .align 2, 0 _0810C4E0: .4byte gSaveBlock1Ptr _0810C4E4: .4byte gMapHeader -_0810C4E8: .4byte gUnknown_2036E38 +_0810C4E8: .4byte gMapObjects thumb_func_end sub_810C444 thumb_func_start sub_810C4EC @@ -269,7 +269,7 @@ _0810C59A: lsls r0, r5, 3 adds r0, r5 lsls r0, 2 - ldr r1, _0810C5FC @ =gUnknown_2036E38 + ldr r1, _0810C5FC @ =gMapObjects adds r4, r0, r1 ldrb r0, [r4, 0x6] subs r0, 0x4D @@ -314,7 +314,7 @@ _0810C5EA: pop {r0} bx r0 .align 2, 0 -_0810C5FC: .4byte gUnknown_2036E38 +_0810C5FC: .4byte gMapObjects _0810C600: .4byte gSprites thumb_func_end sub_810C594 diff --git a/asm/unk_8159F40.s b/asm/unk_8159F40.s index d84290a08..a4fb6518c 100644 --- a/asm/unk_8159F40.s +++ b/asm/unk_8159F40.s @@ -127,7 +127,7 @@ sub_815A008: @ 815A008 movs r1, 0x7F mov r9, r1 _0815A02E: - ldr r2, _0815A1F4 @ =gUnknown_2036E38 + ldr r2, _0815A1F4 @ =gMapObjects adds r3, r7, r2 ldrb r0, [r3] lsls r0, 31 @@ -355,7 +355,7 @@ _0815A1E4: pop {r0} bx r0 .align 2, 0 -_0815A1F4: .4byte gUnknown_2036E38 +_0815A1F4: .4byte gMapObjects thumb_func_end sub_815A008 thumb_func_start sub_815A1F8 @@ -372,7 +372,7 @@ sub_815A1F8: @ 815A1F8 mov r1, sp movs r0, 0 strh r0, [r1] - ldr r4, _0815A480 @ =gUnknown_2036E38 + ldr r4, _0815A480 @ =gMapObjects ldr r2, _0815A484 @ =0x01000120 mov r0, sp adds r1, r4, 0 @@ -386,7 +386,7 @@ _0815A224: lsls r7, r2, 3 adds r5, r7, r2 lsls r5, 2 - ldr r0, _0815A480 @ =gUnknown_2036E38 + ldr r0, _0815A480 @ =gMapObjects adds r5, r0 lsls r6, r2, 2 add r6, r12 @@ -663,7 +663,7 @@ _0815A444: mov r0, r8 add r0, r12 lsls r0, 2 - ldr r1, _0815A480 @ =gUnknown_2036E38 + ldr r1, _0815A480 @ =gMapObjects adds r6, r0, r1 movs r2, 0x10 ldrsh r0, [r6, r2] @@ -684,7 +684,7 @@ _0815A444: ldrh r0, [r6, 0x12] b _0815A506 .align 2, 0 -_0815A480: .4byte gUnknown_2036E38 +_0815A480: .4byte gMapObjects _0815A484: .4byte 0x01000120 _0815A488: ldrb r4, [r6, 0x1F] @@ -758,7 +758,7 @@ _0815A508: bhi _0815A512 b _0815A224 _0815A512: - ldr r0, _0815A538 @ =gUnknown_2036E38 + ldr r0, _0815A538 @ =gMapObjects ldr r1, _0815A53C @ =gSaveBlock1Ptr ldr r1, [r1] movs r2, 0xD4 @@ -776,7 +776,7 @@ _0815A512: pop {r0} bx r0 .align 2, 0 -_0815A538: .4byte gUnknown_2036E38 +_0815A538: .4byte gMapObjects _0815A53C: .4byte gSaveBlock1Ptr thumb_func_end sub_815A1F8 @@ -815,7 +815,7 @@ sub_815A540: @ 815A540 lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, _0815A5B4 @ =gUnknown_2036E38 + ldr r0, _0815A5B4 @ =gMapObjects adds r4, r0 movs r0, 0x1 bl SetPlayerAvatarTransitionFlags @@ -834,7 +834,7 @@ _0815A5A4: .align 2, 0 _0815A5AC: .4byte gUnknown_203ADFA _0815A5B0: .4byte gUnknown_2037078 -_0815A5B4: .4byte gUnknown_2036E38 +_0815A5B4: .4byte gMapObjects _0815A5B8: .4byte gSprites thumb_func_end sub_815A540 diff --git a/asm/vs_seeker.s b/asm/vs_seeker.s index 00f880d86..8e66877fa 100644 --- a/asm/vs_seeker.s +++ b/asm/vs_seeker.s @@ -224,7 +224,7 @@ sub_810C808: @ 810C808 bge _0810C8BC ldr r7, _0810C8E4 @ =gUnknown_203ADB8 mov r6, sp - ldr r0, _0810C8E8 @ =gUnknown_2036E38 + ldr r0, _0810C8E8 @ =gMapObjects mov r10, r0 adds r5, r2, 0 _0810C83C: @@ -312,7 +312,7 @@ _0810C8BC: _0810C8DC: .4byte gSaveBlock1Ptr _0810C8E0: .4byte gMapHeader _0810C8E4: .4byte gUnknown_203ADB8 -_0810C8E8: .4byte gUnknown_2036E38 +_0810C8E8: .4byte gMapObjects thumb_func_end sub_810C808 thumb_func_start sub_810C8EC @@ -544,7 +544,7 @@ _0810CAA0: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0810CB5C @ =gUnknown_2036E38 + ldr r1, _0810CB5C @ =gMapObjects adds r0, r1 bl npc_coords_shift_still ldr r0, [r6] @@ -618,7 +618,7 @@ _0810CB2C: .align 2, 0 _0810CB54: .4byte gSaveBlock1Ptr _0810CB58: .4byte 0x0000063a -_0810CB5C: .4byte gUnknown_2036E38 +_0810CB5C: .4byte gMapObjects _0810CB60: .4byte gUnknown_8453F64 _0810CB64: .4byte 0x00000431 _0810CB68: .4byte gUnknown_203ADB8 @@ -706,7 +706,7 @@ _0810CBDE: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0810CC64 @ =gUnknown_2036E38 + ldr r1, _0810CC64 @ =gMapObjects adds r4, r0, r1 adds r0, r6, 0 bl sub_810CF54 @@ -743,7 +743,7 @@ _0810CC54: .4byte gSaveBlock1Ptr _0810CC58: .4byte gUnknown_845318C _0810CC5C: .4byte gTrainerBattleOpponent_A _0810CC60: .4byte gMapHeader -_0810CC64: .4byte gUnknown_2036E38 +_0810CC64: .4byte gMapObjects _0810CC68: .4byte gUnknown_8453F67 _0810CC6C: .4byte 0x0000063a _0810CC70: .4byte gUnknown_3005074 @@ -1123,7 +1123,7 @@ sub_810CF04: @ 810CF04 lsls r0, r3, 3 adds r0, r3 lsls r0, 2 - ldr r1, _0810CF40 @ =gUnknown_2036E38 + ldr r1, _0810CF40 @ =gMapObjects adds r1, r0, r1 ldrb r0, [r1] lsls r0, 31 @@ -1148,7 +1148,7 @@ sub_810CF04: @ 810CF04 movs r0, 0x1 b _0810CF4E .align 2, 0 -_0810CF40: .4byte gUnknown_2036E38 +_0810CF40: .4byte gMapObjects _0810CF44: .4byte gMapHeader _0810CF48: .4byte gSprites _0810CF4C: @@ -1550,7 +1550,7 @@ sub_810D24C: @ 810D24C lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, _0810D278 @ =gUnknown_2036E38 + ldr r1, _0810D278 @ =gMapObjects adds r0, r1 bl npc_sync_anim_pause_bits ldrb r0, [r4, 0x6] @@ -1564,7 +1564,7 @@ sub_810D24C: @ 810D24C pop {r0} bx r0 .align 2, 0 -_0810D278: .4byte gUnknown_2036E38 +_0810D278: .4byte gMapObjects _0810D27C: .4byte gSaveBlock1Ptr thumb_func_end sub_810D24C @@ -1691,7 +1691,7 @@ _0810D340: lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r2, _0810D3E4 @ =gUnknown_2036E38 + ldr r2, _0810D3E4 @ =gMapObjects adds r4, r1, r2 bl sub_810CF04 lsls r0, 24 @@ -1758,7 +1758,7 @@ _0810D3CC: pop {r0} bx r0 .align 2, 0 -_0810D3E4: .4byte gUnknown_2036E38 +_0810D3E4: .4byte gMapObjects _0810D3E8: .4byte gUnknown_845318C _0810D3EC: .4byte gSaveBlock1Ptr _0810D3F0: .4byte 0x0000063a diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 0107fa10f..22d2d4a78 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -76,6 +76,8 @@ void MoveCoords(u8, s16 *, s16 *); bool8 FieldObjectIsSpecialAnimActive(struct MapObject *); u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *); u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z); +void sub_8063E28(struct MapObject *, struct Sprite *); +void sub_8063CA4(struct MapObject *, u8); // Exported data declarations diff --git a/include/quest_log_8150454.h b/include/quest_log_8150454.h new file mode 100644 index 000000000..05bebdd75 --- /dev/null +++ b/include/quest_log_8150454.h @@ -0,0 +1,6 @@ +#ifndef GUARD_QUEST_LOG_8150454_H +#define GUARD_QUEST_LOG_8150454_H + +void sub_8150454(void); + +#endif //GUARD_QUEST_LOG_8150454_H diff --git a/src/quest_log.c b/src/quest_log.c index 0fdedde97..2282520b3 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -14,6 +14,7 @@ #include "overworld.h" #include "field_fadetransition.h" #include "field_weather.h" +#include "field_map_obj.h" #include "map_obj_80688E4.h" #include "map_obj_lock.h" #include "field_player_avatar.h" @@ -25,6 +26,7 @@ #include "unk_8159F40.h" #include "pokemon_storage_system.h" #include "save.h" +#include "quest_log_8150454.h" #include "quest_log.h" u8 gUnknown_3005E88; @@ -58,6 +60,7 @@ EWRAM_DATA u16 *gUnknown_203AE90 = NULL; EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0}; EWRAM_DATA struct UnkStruct_203AE98 gUnknown_203AE98[32] = {0}; EWRAM_DATA u16 gUnknown_203AF98 = 0; +EWRAM_DATA u8 gUnknown_203AF9A[128]; EWRAM_DATA u16 gUnknown_203B044[2] = {0}; @@ -1414,3 +1417,31 @@ void sub_8112450(void) sub_81123BC(); } } + +void sub_811246C(struct Sprite *sprite) +{ + struct MapObject *mapObject = &gMapObjects[sprite->data[0]]; + if (mapObject->localId == 0xFF) + { + if (gUnknown_203AF9A[0] != 0xFF) + { + sub_8063CA4(mapObject, gUnknown_203AF9A[0]); + gUnknown_203AF9A[0] = 0xFF; + } + if (gUnknown_203AF9A[1] != 0xFF) + { + sub_8150454(); + gUnknown_203AF9A[1] = 0xFF; + } + sub_8063E28(mapObject, sprite); + } + else + { + if (gUnknown_203AF9A[2 * mapObject->localId] != 0xFF) + { + sub_8063CA4(mapObject, gUnknown_203AF9A[2 * mapObject->localId]); + gUnknown_203AF9A[2 * mapObject->localId] = 0xFF; + } + sub_8063E28(mapObject, sprite); + } +} diff --git a/sym_ewram.txt b/sym_ewram.txt index 31eb81c83..3454d792c 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -629,7 +629,7 @@ gUnknown_2036E30: @ 2036E30 gUnknown_2036E34: @ 2036E34 .space 0x4 -gUnknown_2036E38: @ 2036E38 +gMapObjects: @ 2036E38 .space 0x240 gUnknown_2037078: @ 2037078 From f0e2b86a7b75d10d4015df92fe8cb3c079bbb2f1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 13 Oct 2018 08:50:20 -0400 Subject: [PATCH 043/222] through sub_81126AC --- asm/quest_log.s | 288 ------------------------------------------------ src/quest_log.c | 73 +++++++++++- 2 files changed, 72 insertions(+), 289 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index a1b187919..ce8445e16 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,294 +5,6 @@ .text - thumb_func_start sub_81124EC -sub_81124EC: @ 81124EC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - lsls r3, 24 - lsrs r3, 24 - mov r10, r3 - bl sub_8112CEC - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0 - bne _0811256E - ldr r2, _0811257C @ =gUnknown_203AF98 - ldrh r0, [r2] - ldr r3, _08112580 @ =gUnknown_3005E94 - ldr r5, [r3] - lsls r0, 3 - adds r0, r5 - ldr r1, _08112584 @ =gUnknown_203B01A - mov r12, r1 - ldrh r1, [r1] - movs r4, 0 - strh r1, [r0, 0x4] - ldrh r0, [r2] - lsls r0, 3 - adds r0, r5 - strb r4, [r0, 0x6] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - strb r6, [r0] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - mov r4, r8 - strb r4, [r0, 0x1] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - mov r1, r9 - strb r1, [r0, 0x2] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - mov r4, r10 - strb r4, [r0, 0x3] - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - mov r0, r12 - strh r7, [r0] -_0811256E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811257C: .4byte gUnknown_203AF98 -_08112580: .4byte gUnknown_3005E94 -_08112584: .4byte gUnknown_203B01A - thumb_func_end sub_81124EC - - thumb_func_start sub_8112588 -sub_8112588: @ 8112588 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r4, [sp, 0x20] - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 24 - lsrs r3, 24 - mov r9, r3 - lsls r4, 24 - lsrs r4, 24 - mov r10, r4 - bl sub_8112D1C - lsls r0, 24 - cmp r0, 0 - bne _0811260E - ldr r2, _0811261C @ =gUnknown_203AF98 - ldrh r0, [r2] - ldr r3, _08112620 @ =gUnknown_3005E94 - ldr r5, [r3] - lsls r0, 3 - adds r0, r5 - ldr r1, _08112624 @ =gUnknown_203B01A - mov r12, r1 - ldrh r1, [r1] - movs r4, 0 - strh r1, [r0, 0x4] - ldrh r0, [r2] - lsls r0, 3 - adds r0, r5 - strb r4, [r0, 0x6] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - strb r7, [r0] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - strb r6, [r0, 0x1] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - mov r4, r8 - strb r4, [r0, 0x2] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - mov r1, r9 - strb r1, [r0, 0x3] - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - mov r0, r10 - mov r4, r12 - strh r0, [r4] -_0811260E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811261C: .4byte gUnknown_203AF98 -_08112620: .4byte gUnknown_3005E94 -_08112624: .4byte gUnknown_203B01A - thumb_func_end sub_8112588 - - thumb_func_start sub_8112628 -sub_8112628: @ 8112628 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r4, r0, 24 - mov r8, r4 - bl sub_8112CEC - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0 - bne _08112692 - ldr r0, _0811269C @ =gUnknown_203B01C - mov r12, r0 - ldrh r0, [r0] - ldr r6, _081126A0 @ =gUnknown_3005E94 - ldr r5, [r6] - lsls r0, 3 - adds r0, r5 - ldrb r0, [r0, 0x3] - cmp r4, r0 - bne _08112658 - cmp r4, 0x3 - bls _08112692 -_08112658: - ldr r2, _081126A4 @ =gUnknown_203AF98 - ldrh r0, [r2] - lsls r0, 3 - adds r0, r5 - ldr r4, _081126A8 @ =gUnknown_203B01A - ldrh r1, [r4] - movs r3, 0 - strh r1, [r0, 0x4] - ldrh r0, [r2] - lsls r0, 3 - adds r0, r5 - strb r3, [r0, 0x6] - ldrh r0, [r2] - ldr r1, [r6] - lsls r0, 3 - adds r0, r1 - strb r3, [r0] - ldrh r0, [r2] - ldr r1, [r6] - lsls r0, 3 - adds r0, r1 - mov r1, r8 - strb r1, [r0, 0x3] - ldrh r0, [r2] - mov r1, r12 - strh r0, [r1] - adds r0, 0x1 - strh r0, [r2] - strh r7, [r4] -_08112692: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811269C: .4byte gUnknown_203B01C -_081126A0: .4byte gUnknown_3005E94 -_081126A4: .4byte gUnknown_203AF98 -_081126A8: .4byte gUnknown_203B01A - thumb_func_end sub_8112628 - - thumb_func_start sub_81126AC -sub_81126AC: @ 81126AC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - bl sub_8112D1C - lsls r0, 24 - cmp r0, 0 - bne _08112704 - ldr r2, _08112710 @ =gUnknown_203AF98 - ldrh r0, [r2] - ldr r3, _08112714 @ =gUnknown_3005E94 - ldr r4, [r3] - lsls r0, 3 - adds r0, r4 - ldr r6, _08112718 @ =gUnknown_203B01A - ldrh r1, [r6] - movs r5, 0 - strh r1, [r0, 0x4] - ldrh r0, [r2] - lsls r0, 3 - adds r0, r4 - strb r5, [r0, 0x6] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - strb r5, [r0] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - strb r7, [r0, 0x3] - ldr r1, _0811271C @ =gUnknown_203B01C - ldrh r0, [r2] - strh r0, [r1] - adds r0, 0x1 - strh r0, [r2] - mov r0, r8 - strh r0, [r6] -_08112704: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08112710: .4byte gUnknown_203AF98 -_08112714: .4byte gUnknown_3005E94 -_08112718: .4byte gUnknown_203B01A -_0811271C: .4byte gUnknown_203B01C - thumb_func_end sub_81126AC - thumb_func_start sub_8112720 sub_8112720: @ 8112720 push {r4-r7,lr} diff --git a/src/quest_log.c b/src/quest_log.c index 2282520b3..3cc392165 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -43,10 +43,16 @@ struct UnkStruct_203AE94 struct UnkStruct_203AE98 { - u8 filler_0[6]; + u8 unk_0; + u8 unk_1; + u8 unk_2; + u8 unk_3; + u16 unk_4; u8 unk_6; }; +IWRAM_DATA struct UnkStruct_203AE98 * gUnknown_3005E94; + EWRAM_DATA u8 gUnknown_203ADF8 = 0; EWRAM_DATA u8 gUnknown_203ADF9 = 0; EWRAM_DATA u8 gUnknown_203ADFA = 0; @@ -61,6 +67,8 @@ EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0}; EWRAM_DATA struct UnkStruct_203AE98 gUnknown_203AE98[32] = {0}; EWRAM_DATA u16 gUnknown_203AF98 = 0; EWRAM_DATA u8 gUnknown_203AF9A[128]; +EWRAM_DATA u16 gUnknown_203B01A; +EWRAM_DATA u16 gUnknown_203B01C; EWRAM_DATA u16 gUnknown_203B044[2] = {0}; @@ -103,6 +111,8 @@ void sub_811229C(void); void sub_8112364(void); void sub_8112888(u8); void sub_8112940(u8, struct UnkStruct_203AE98 *, u16); +bool8 sub_8112CEC(void); +bool8 sub_8112D1C(void); void sub_8113A1C(u8); void sub_811381C(void); void sub_81138F8(void); @@ -1445,3 +1455,64 @@ void sub_811246C(struct Sprite *sprite) sub_8063E28(mapObject, sprite); } } + +void sub_81124EC(u8 a0, u8 a1, u8 a2, u8 a3) +{ + if (!sub_8112CEC()) + { + gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A; + gUnknown_3005E94[gUnknown_203AF98].unk_6 = 0; + gUnknown_3005E94[gUnknown_203AF98].unk_0 = a0; + gUnknown_3005E94[gUnknown_203AF98].unk_1 = a1; + gUnknown_3005E94[gUnknown_203AF98].unk_2 = a2; + gUnknown_3005E94[gUnknown_203AF98].unk_3 = a3; + gUnknown_203AF98++; + gUnknown_203B01A = 0; + } +} + +void sub_8112588(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4) +{ + if (!sub_8112D1C()) + { + gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A; + gUnknown_3005E94[gUnknown_203AF98].unk_6 = 0; + gUnknown_3005E94[gUnknown_203AF98].unk_0 = a0; + gUnknown_3005E94[gUnknown_203AF98].unk_1 = a1; + gUnknown_3005E94[gUnknown_203AF98].unk_2 = a2; + gUnknown_3005E94[gUnknown_203AF98].unk_3 = a3; + gUnknown_203AF98++; + gUnknown_203B01A = a4; + } +} + +void sub_8112628(u8 a0) +{ + if (!sub_8112CEC()) + { + if (a0 != gUnknown_3005E94[gUnknown_203B01C].unk_3 || a0 > 3) + { + gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A; + gUnknown_3005E94[gUnknown_203AF98].unk_6 = 0; + gUnknown_3005E94[gUnknown_203AF98].unk_0 = 0; + gUnknown_3005E94[gUnknown_203AF98].unk_3 = a0; + gUnknown_203B01C = gUnknown_203AF98; + gUnknown_203AF98++; + gUnknown_203B01A = 0; + } + } +} + +void sub_81126AC(u8 a0, u8 a1) +{ + if (!sub_8112D1C()) + { + gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A; + gUnknown_3005E94[gUnknown_203AF98].unk_6 = 0; + gUnknown_3005E94[gUnknown_203AF98].unk_0 = 0; + gUnknown_3005E94[gUnknown_203AF98].unk_3 = a0; + gUnknown_203B01C = gUnknown_203AF98; + gUnknown_203AF98++; + gUnknown_203B01A = a1; + } +} From 4190928a1109d425a5d87bbde8ec2321de52dd58 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 13 Oct 2018 09:28:50 -0400 Subject: [PATCH 044/222] through sub_81127F8 --- asm/battle_setup.s | 4 +- asm/bike.s | 74 +++---- asm/field_camera.s | 4 +- asm/field_control_avatar.s | 86 ++++---- asm/field_door.s | 8 +- asm/field_effect.s | 232 ++++++++++----------- asm/field_effect_helpers.s | 8 +- asm/field_fadetransition.s | 24 +-- asm/field_ground_effect.s | 18 +- asm/field_map_obj.s | 30 +-- asm/field_player_avatar.s | 362 ++++++++++++++++----------------- asm/field_screen_effect.s | 4 +- asm/field_specials.s | 4 +- asm/field_tasks.s | 6 +- asm/fieldmap.s | 6 +- asm/fldeff_cut.s | 4 +- asm/item_menu.s | 6 +- asm/item_use.s | 4 +- asm/link_rfu_3.s | 8 +- asm/map_obj_80688E4.s | 8 +- asm/map_obj_lock.s | 4 +- asm/metatile_behavior.s | 6 +- asm/overworld.s | 14 +- asm/party_menu.s | 6 +- asm/quest_log.s | 183 ----------------- asm/quest_log_8150454.s | 20 +- asm/rom6.s | 16 +- asm/start_menu.s | 6 +- asm/trainer_see.s | 14 +- asm/unk_8159F40.s | 18 +- include/field_control_avatar.h | 6 + include/quest_log.h | 2 + src/quest_log.c | 50 ++++- sym_ewram.txt | 2 +- 34 files changed, 560 insertions(+), 687 deletions(-) create mode 100644 include/field_control_avatar.h diff --git a/asm/battle_setup.s b/asm/battle_setup.s index a1c63477c..128aa459f 100644 --- a/asm/battle_setup.s +++ b/asm/battle_setup.s @@ -757,7 +757,7 @@ sub_807FC5C: @ 807FC5C ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 16 lsrs r5, r0, 16 lsls r0, r5, 24 @@ -907,7 +907,7 @@ GetBattleTransitionTypeByMap: @ 807FD90 ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 16 lsrs r4, r0, 16 bl sav1_get_flash_used_on_map diff --git a/asm/bike.s b/asm/bike.s index 1f891f930..fcce5ca66 100644 --- a/asm/bike.s +++ b/asm/bike.s @@ -42,7 +42,7 @@ sub_80BD0D4: @ 80BD0D4 lsls r2, 16 lsrs r2, 16 ldr r4, _080BD0F8 @ =gUnknown_83E7D10 - ldr r3, _080BD0FC @ =gUnknown_2037078 + ldr r3, _080BD0FC @ =gPlayerAvatar ldrb r3, [r3, 0x8] lsls r3, 2 adds r3, r4 @@ -55,7 +55,7 @@ sub_80BD0D4: @ 80BD0D4 bx r1 .align 2, 0 _080BD0F8: .4byte gUnknown_83E7D10 -_080BD0FC: .4byte gUnknown_2037078 +_080BD0FC: .4byte gPlayerAvatar thumb_func_end sub_80BD0D4 thumb_func_start sub_80BD100 @@ -72,7 +72,7 @@ sub_80BD100: @ 80BD100 lsls r2, 16 lsrs r2, 16 mov r9, r2 - ldr r5, _080BD15C @ =gUnknown_2037078 + ldr r5, _080BD15C @ =gPlayerAvatar ldrb r0, [r5, 0x5] lsls r4, r0, 3 adds r4, r0 @@ -105,7 +105,7 @@ sub_80BD100: @ 80BD100 movs r0, 0x3 b _080BD1B6 .align 2, 0 -_080BD15C: .4byte gUnknown_2037078 +_080BD15C: .4byte gPlayerAvatar _080BD160: .4byte gMapObjects _080BD164: .4byte gMain _080BD168: @@ -124,11 +124,11 @@ _080BD176: bne _080BD18C _080BD17E: strb r7, [r6] - ldr r1, _080BD188 @ =gUnknown_2037078 + ldr r1, _080BD188 @ =gPlayerAvatar movs r0, 0 b _080BD1B4 .align 2, 0 -_080BD188: .4byte gUnknown_2037078 +_080BD188: .4byte gPlayerAvatar _080BD18C: cmp r0, r7 beq _080BD1B0 @@ -148,7 +148,7 @@ _080BD18C: lsrs r0, 24 b _080BD1B6 _080BD1B0: - ldr r1, _080BD1C4 @ =gUnknown_2037078 + ldr r1, _080BD1C4 @ =gPlayerAvatar movs r0, 0x2 _080BD1B4: strb r0, [r1, 0x2] @@ -161,13 +161,13 @@ _080BD1B6: pop {r1} bx r1 .align 2, 0 -_080BD1C4: .4byte gUnknown_2037078 +_080BD1C4: .4byte gPlayerAvatar thumb_func_end sub_80BD100 thumb_func_start sub_80BD1C8 sub_80BD1C8: @ 80BD1C8 push {lr} - ldr r2, _080BD1E4 @ =gUnknown_2037078 + ldr r2, _080BD1E4 @ =gPlayerAvatar ldrb r1, [r2, 0x9] strb r1, [r0] movs r1, 0 @@ -179,7 +179,7 @@ sub_80BD1C8: @ 80BD1C8 pop {r1} bx r1 .align 2, 0 -_080BD1E4: .4byte gUnknown_2037078 +_080BD1E4: .4byte gPlayerAvatar thumb_func_end sub_80BD1C8 thumb_func_start sub_80BD1E8 @@ -199,7 +199,7 @@ sub_80BD1E8: @ 80BD1E8 lsls r0, 24 lsrs r5, r0, 24 adds r7, r5, 0 - ldr r4, _080BD240 @ =gUnknown_2037078 + ldr r4, _080BD240 @ =gPlayerAvatar ldrb r1, [r4, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -226,7 +226,7 @@ sub_80BD1E8: @ 80BD1E8 lsrs r0, 24 b _080BD270 .align 2, 0 -_080BD240: .4byte gUnknown_2037078 +_080BD240: .4byte gPlayerAvatar _080BD244: .4byte gMapObjects _080BD248: movs r0, 0x2 @@ -276,7 +276,7 @@ sub_80BD28C: @ 80BD28C push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080BD2C0 @ =gUnknown_2037078 + ldr r0, _080BD2C0 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -298,7 +298,7 @@ _080BD2B2: pop {r0} bx r0 .align 2, 0 -_080BD2C0: .4byte gUnknown_2037078 +_080BD2C0: .4byte gPlayerAvatar _080BD2C4: .4byte gMapObjects thumb_func_end sub_80BD28C @@ -308,7 +308,7 @@ sub_80BD2C8: @ 80BD2C8 lsls r0, 24 lsrs r4, r0, 24 adds r6, r4, 0 - ldr r0, _080BD2F8 @ =gUnknown_2037078 + ldr r0, _080BD2F8 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -326,7 +326,7 @@ sub_80BD2C8: @ 80BD2C8 bl sub_80BD27C b _080BD350 .align 2, 0 -_080BD2F8: .4byte gUnknown_2037078 +_080BD2F8: .4byte gPlayerAvatar _080BD2FC: .4byte gMapObjects _080BD300: adds r0, r4, 0 @@ -420,7 +420,7 @@ sub_80BD3A0: @ 80BD3A0 adds r6, r0, 0 lsls r6, 24 lsrs r6, 24 - ldr r0, _080BD404 @ =gUnknown_2037078 + ldr r0, _080BD404 @ =gPlayerAvatar ldrb r0, [r0, 0x5] lsls r4, r0, 3 adds r4, r0 @@ -443,7 +443,7 @@ sub_80BD3A0: @ 80BD3A0 ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r5, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 add r1, sp, 0x4 @@ -462,7 +462,7 @@ sub_80BD3A0: @ 80BD3A0 pop {r1} bx r1 .align 2, 0 -_080BD404: .4byte gUnknown_2037078 +_080BD404: .4byte gPlayerAvatar _080BD408: .4byte gMapObjects thumb_func_end sub_80BD3A0 @@ -645,7 +645,7 @@ _080BD538: sub_80BD540: @ 80BD540 push {r4,lr} sub sp, 0x4 - ldr r0, _080BD57C @ =gUnknown_2037078 + ldr r0, _080BD57C @ =gPlayerAvatar ldrb r1, [r0] movs r0, 0x18 ands r0, r1 @@ -661,7 +661,7 @@ sub_80BD540: @ 80BD540 ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl sub_80BD4B8 @@ -671,7 +671,7 @@ sub_80BD540: @ 80BD540 movs r0, 0 b _080BD582 .align 2, 0 -_080BD57C: .4byte gUnknown_2037078 +_080BD57C: .4byte gPlayerAvatar _080BD580: movs r0, 0x1 _080BD582: @@ -690,7 +690,7 @@ player_should_look_direction_be_enforced_upon_movement: @ 80BD58C cmp r0, 0 beq _080BD5C0 ldr r2, _080BD5B8 @ =gMapObjects - ldr r0, _080BD5BC @ =gUnknown_2037078 + ldr r0, _080BD5BC @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -705,7 +705,7 @@ player_should_look_direction_be_enforced_upon_movement: @ 80BD58C b _080BD5C2 .align 2, 0 _080BD5B8: .4byte gMapObjects -_080BD5BC: .4byte gUnknown_2037078 +_080BD5BC: .4byte gPlayerAvatar _080BD5C0: movs r0, 0x1 _080BD5C2: @@ -721,7 +721,7 @@ sub_80BD5C8: @ 80BD5C8 ldr r1, _080BD5F0 @ =gUnknown_2036E2C movs r0, 0 strb r0, [r1] - ldr r0, _080BD5F4 @ =gUnknown_2037078 + ldr r0, _080BD5F4 @ =gPlayerAvatar ldrb r1, [r0] movs r0, 0x6 ands r0, r1 @@ -734,7 +734,7 @@ sub_80BD5C8: @ 80BD5C8 b _080BD618 .align 2, 0 _080BD5F0: .4byte gUnknown_2036E2C -_080BD5F4: .4byte gUnknown_2037078 +_080BD5F4: .4byte gPlayerAvatar _080BD5F8: adds r0, r2, 0 bl SetPlayerAvatarTransitionFlags @@ -757,7 +757,7 @@ _080BD618: thumb_func_start sub_80BD620 sub_80BD620: @ 80BD620 push {lr} - ldr r2, _080BD64C @ =gUnknown_2037078 + ldr r2, _080BD64C @ =gPlayerAvatar movs r3, 0 strb r3, [r2, 0x8] strb r3, [r2, 0x9] @@ -779,32 +779,32 @@ _080BD638: pop {r0} bx r0 .align 2, 0 -_080BD64C: .4byte gUnknown_2037078 +_080BD64C: .4byte gPlayerAvatar thumb_func_end sub_80BD620 thumb_func_start Bike_UpdateBikeCounterSpeed Bike_UpdateBikeCounterSpeed: @ 80BD650 lsls r0, 24 lsrs r0, 24 - ldr r2, _080BD660 @ =gUnknown_2037078 + ldr r2, _080BD660 @ =gPlayerAvatar strb r0, [r2, 0xA] lsrs r1, r0, 1 adds r0, r1 strb r0, [r2, 0xB] bx lr .align 2, 0 -_080BD660: .4byte gUnknown_2037078 +_080BD660: .4byte gPlayerAvatar thumb_func_end Bike_UpdateBikeCounterSpeed thumb_func_start sub_80BD664 sub_80BD664: @ 80BD664 - ldr r1, _080BD670 @ =gUnknown_2037078 + ldr r1, _080BD670 @ =gPlayerAvatar movs r0, 0 strb r0, [r1, 0xA] strb r0, [r1, 0xB] bx lr .align 2, 0 -_080BD670: .4byte gUnknown_2037078 +_080BD670: .4byte gPlayerAvatar thumb_func_end sub_80BD664 thumb_func_start GetPlayerSpeed @@ -815,7 +815,7 @@ GetPlayerSpeed: @ 80BD674 mov r0, sp movs r2, 0x6 bl memcpy - ldr r2, _080BD6A0 @ =gUnknown_2037078 + ldr r2, _080BD6A0 @ =gPlayerAvatar ldrb r1, [r2] movs r0, 0x2 ands r0, r1 @@ -829,7 +829,7 @@ GetPlayerSpeed: @ 80BD674 b _080BD6BE .align 2, 0 _080BD69C: .4byte gUnknown_83E7D1C -_080BD6A0: .4byte gUnknown_2037078 +_080BD6A0: .4byte gPlayerAvatar _080BD6A4: movs r0, 0x4 ands r0, r1 @@ -856,7 +856,7 @@ _080BD6BE: Bike_HandleBumpySlopeJump: @ 80BD6C4 push {r4,r5,lr} sub sp, 0x4 - ldr r5, _080BD714 @ =gUnknown_2037078 + ldr r5, _080BD714 @ =gPlayerAvatar ldrb r1, [r5] movs r0, 0x4 ands r0, r1 @@ -872,7 +872,7 @@ Bike_HandleBumpySlopeJump: @ 80BD6C4 ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl sub_805A20C @@ -891,7 +891,7 @@ _080BD70C: pop {r0} bx r0 .align 2, 0 -_080BD714: .4byte gUnknown_2037078 +_080BD714: .4byte gPlayerAvatar thumb_func_end Bike_HandleBumpySlopeJump .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_camera.s b/asm/field_camera.s index 6228b9435..3d4ca0025 100644 --- a/asm/field_camera.s +++ b/asm/field_camera.s @@ -1222,7 +1222,7 @@ CameraPanningCB_PanAhead: @ 805AE74 .align 2, 0 _0805AE84: .4byte gUnknown_2036E2C _0805AE88: - ldr r0, _0805AEA0 @ =gUnknown_2037078 + ldr r0, _0805AEA0 @ =gPlayerAvatar ldrb r0, [r0, 0x3] cmp r0, 0x1 bne _0805AEA8 @@ -1235,7 +1235,7 @@ _0805AE88: beq _0805AF10 b _0805AEAE .align 2, 0 -_0805AEA0: .4byte gUnknown_2037078 +_0805AEA0: .4byte gPlayerAvatar _0805AEA4: .4byte gUnknown_3000E9C _0805AEA8: ldr r1, _0805AED0 @ =gUnknown_3000E9C diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index c4551463d..41bcd05c1 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -34,8 +34,8 @@ sub_806C888: @ 806C888 bx r0 thumb_func_end sub_806C888 - thumb_func_start sub_806C8BC -sub_806C8BC: @ 806C8BC + thumb_func_start FieldGetPlayerInput +FieldGetPlayerInput: @ 806C8BC push {r4-r7,lr} mov r7, r8 push {r7} @@ -46,14 +46,14 @@ sub_806C8BC: @ 806C8BC mov r4, sp adds r4, 0x2 strh r2, [r4] - ldr r0, _0806CA14 @ =gUnknown_2037078 + ldr r0, _0806CA14 @ =gPlayerAvatar ldrb r1, [r0, 0x2] mov r8, r1 ldrb r6, [r0, 0x3] bl cur_mapdata_block_role_at_player_pos lsls r0, 24 lsrs r0, 24 - bl sub_8059D70 + bl MetatileBehavior_IsMoveTile lsls r0, 24 lsrs r7, r0, 24 bl ScriptContext1_IsScriptSetUp @@ -89,7 +89,7 @@ _0806C914: ands r0, r1 cmp r0, 0 beq _0806C940 - ldr r0, _0806CA14 @ =gUnknown_2037078 + ldr r0, _0806CA14 @ =gPlayerAvatar ldrb r1, [r0] movs r0, 0x40 ands r0, r1 @@ -107,7 +107,7 @@ _0806C940: lsrs r0, 24 cmp r0, 0x1 bls _0806C9D0 - ldr r0, _0806CA14 @ =gUnknown_2037078 + ldr r0, _0806CA14 @ =gPlayerAvatar ldrb r1, [r0] movs r0, 0x40 ands r0, r1 @@ -213,7 +213,7 @@ _0806C9F6: movs r0, 0x2 b _0806CA3E .align 2, 0 -_0806CA14: .4byte gUnknown_2037078 +_0806CA14: .4byte gPlayerAvatar _0806CA18: .4byte gUnknown_203ADFA _0806CA1C: movs r0, 0x80 @@ -244,7 +244,7 @@ _0806CA40: pop {r4-r7} pop {r0} bx r0 - thumb_func_end sub_806C8BC + thumb_func_end FieldGetPlayerInput thumb_func_start sub_806CA4C sub_806CA4C: @ 806CA4C @@ -339,7 +339,7 @@ sub_806CAC8: @ 806CAC8 ldrsh r0, [r0, r1] movs r2, 0x2 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 16 lsrs r4, r0, 16 ldr r7, _0806CB70 @ =gUnknown_3005078 @@ -347,7 +347,7 @@ sub_806CAC8: @ 806CAC8 bl sub_806C888 ldrb r0, [r5, 0x2] strb r0, [r7, 0x2] - bl sub_8081B30 + bl CheckForTrainersWantingBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -406,7 +406,7 @@ _0806CB88: ldrsh r0, [r0, r1] movs r2, 0x2 ldrsh r1, [r7, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 16 lsrs r4, r0, 16 mov r0, sp @@ -431,7 +431,7 @@ _0806CBC0: ldrsh r0, [r0, r1] movs r2, 0x2 ldrsh r1, [r7, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 16 lsrs r4, r0, 16 _0806CBD8: @@ -441,7 +441,7 @@ _0806CBD8: cmp r0, 0 beq _0806CBFC mov r0, r8 - bl sub_806D7F4 + bl is_it_battle_time_3 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -464,7 +464,7 @@ _0806CBFC: mov r0, sp adds r1, r4, 0 adds r2, r6, 0 - bl sub_806D964 + bl mapheader_run_first_tag2_script_list_match_conditionally lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -484,7 +484,7 @@ _0806CC2C: ldrsh r0, [r0, r1] movs r2, 0x2 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 16 lsrs r4, r0, 16 ldrb r1, [r5] @@ -541,7 +541,7 @@ _0806CC9C: mov r0, sp adds r1, r4, 0 adds r2, r6, 0 - bl sub_806DCD0 + bl map_warp_consider_2_to_inside lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -567,7 +567,7 @@ _0806CCCC: bl FlagSet movs r0, 0x6 bl PlaySE - bl sub_806F258 + bl ShowStartMenu b _0806CB6C .align 2, 0 _0806CCF4: .4byte gUnknown_3005078 @@ -577,7 +577,7 @@ _0806CCFC: ands r0, r1 cmp r0, 0 beq _0806CD20 - bl sub_810AD10 + bl UseRegisteredKeyItemOnField lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -708,7 +708,7 @@ sub_806CDF8: @ 806CDF8 bne _0806CE18 movs r0, 0x6 bl PlaySE - bl sub_806F258 + bl ShowStartMenu adds r0, r4, 0 bl DestroyTask _0806CE18: @@ -775,7 +775,7 @@ cur_mapdata_block_role_at_player_pos: @ 806CE74 ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 16 lsrs r0, 16 add sp, 0x4 @@ -873,7 +873,7 @@ sub_806CF38: @ 806CF38 ldrsh r0, [r4, r1] movs r2, 0x2 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl MetatileBehavior_IsCounter @@ -1713,7 +1713,7 @@ sub_806D5E8: @ 806D5E8 lsrs r0, 24 cmp r0, 0x1 beq _0806D650 - ldr r0, _0806D654 @ =gUnknown_2037078 + ldr r0, _0806D654 @ =gPlayerAvatar ldrb r1, [r0] movs r0, 0x40 ands r0, r1 @@ -1721,7 +1721,7 @@ sub_806D5E8: @ 806D5E8 bne _0806D658 lsls r0, r6, 24 lsrs r0, 24 - bl sub_8059D70 + bl MetatileBehavior_IsMoveTile lsls r0, 24 cmp r0, 0 bne _0806D658 @@ -1734,7 +1734,7 @@ _0806D650: movs r0, 0x1 b _0806D65A .align 2, 0 -_0806D654: .4byte gUnknown_2037078 +_0806D654: .4byte gPlayerAvatar _0806D658: movs r0, 0 _0806D65A: @@ -1792,7 +1792,7 @@ sub_806D698: @ 806D698 cmp r0, 0x2 beq _0806D72C bl AdjustFriendship_step - ldr r0, _0806D6E4 @ =gUnknown_2037078 + ldr r0, _0806D6E4 @ =gPlayerAvatar ldrb r1, [r0] movs r0, 0x40 ands r0, r1 @@ -1800,7 +1800,7 @@ sub_806D698: @ 806D698 bne _0806D720 lsls r0, r4, 24 lsrs r0, 24 - bl sub_8059D70 + bl MetatileBehavior_IsMoveTile lsls r0, 24 cmp r0, 0 bne _0806D720 @@ -1814,7 +1814,7 @@ sub_806D698: @ 806D698 b _0806D730 .align 2, 0 _0806D6E0: .4byte gUnknown_203ADFA -_0806D6E4: .4byte gUnknown_2037078 +_0806D6E4: .4byte gPlayerAvatar _0806D6E8: .4byte gUnknown_81A8CED _0806D6EC: bl overworld_poison_step @@ -1961,15 +1961,15 @@ sub_806D7E8: @ 806D7E8 bx r0 thumb_func_end sub_806D7E8 - thumb_func_start sub_806D7F4 -sub_806D7F4: @ 806D7F4 + thumb_func_start is_it_battle_time_3 +is_it_battle_time_3: @ 806D7F4 push {lr} bl sub_80833B0 lsls r0, 24 lsrs r0, 24 pop {r1} bx r1 - thumb_func_end sub_806D7F4 + thumb_func_end is_it_battle_time_3 thumb_func_start sub_806D804 sub_806D804: @ 806D804 @@ -2159,8 +2159,8 @@ _0806D958: _0806D960: .4byte gUnknown_81C555B thumb_func_end sub_806D928 - thumb_func_start sub_806D964 -sub_806D964: @ 806D964 + thumb_func_start mapheader_run_first_tag2_script_list_match_conditionally +mapheader_run_first_tag2_script_list_match_conditionally: @ 806D964 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -2209,7 +2209,7 @@ _0806D9BC: cmp r0, 0x1 bne _0806DA00 movs r4, 0 - ldr r0, _0806D9FC @ =gUnknown_2037078 + ldr r0, _0806D9FC @ =gPlayerAvatar ldrb r1, [r0] movs r0, 0x6 ands r0, r1 @@ -2230,7 +2230,7 @@ _0806D9E2: movs r0, 0x1 b _0806DA02 .align 2, 0 -_0806D9FC: .4byte gUnknown_2037078 +_0806D9FC: .4byte gPlayerAvatar _0806DA00: movs r0, 0 _0806DA02: @@ -2241,7 +2241,7 @@ _0806DA02: pop {r4-r7} pop {r1} bx r1 - thumb_func_end sub_806D964 + thumb_func_end mapheader_run_first_tag2_script_list_match_conditionally thumb_func_start sub_806DA10 sub_806DA10: @ 806DA10 @@ -2600,8 +2600,8 @@ _0806DCC4: _0806DCCC: .4byte gSaveBlock1Ptr thumb_func_end sub_806DC54 - thumb_func_start sub_806DCD0 -sub_806DCD0: @ 806DCD0 + thumb_func_start map_warp_consider_2_to_inside +map_warp_consider_2_to_inside: @ 806DCD0 push {r4-r7,lr} adds r6, r0, 0 lsls r1, 16 @@ -2649,7 +2649,7 @@ _0806DD32: pop {r4-r7} pop {r1} bx r1 - thumb_func_end sub_806DCD0 + thumb_func_end map_warp_consider_2_to_inside thumb_func_start map_warp_check map_warp_check: @ 806DD38 @@ -2799,7 +2799,7 @@ sub_806DE28: @ 806DE28 ldrsh r0, [r5, r1] movs r2, 0x12 ldrsh r1, [r5, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt cmp r0, 0x66 bne _0806DE64 movs r0, 0x25 @@ -2839,7 +2839,7 @@ sub_806DE70: @ 806DE70 asrs r0, 16 lsrs r6, r1, 16 asrs r1, 16 - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt cmp r0, 0x20 bne _0806DEB8 cmp r5, 0 @@ -3017,7 +3017,7 @@ sub_806DFB8: @ 806DFB8 ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r5, r0, 24 ldr r0, _0806E010 @ =gMapHeader @@ -3095,7 +3095,7 @@ GetFieldObjectScriptPointerForComparison: @ 806E050 ldrsh r0, [r0, r1] movs r2, 0x2 ldrsh r1, [r5, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -3121,7 +3121,7 @@ SetCableClubWarp: @ 806E08C ldrsh r0, [r0, r1] movs r2, 0x2 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt ldr r4, _0806E0CC @ =gMapHeader adds r0, r4, 0 mov r1, sp diff --git a/asm/field_door.s b/asm/field_door.s index 398b27c55..431189e98 100644 --- a/asm/field_door.s +++ b/asm/field_door.s @@ -487,7 +487,7 @@ sub_805B268: @ 805B268 asrs r0, 16 lsls r1, r5, 16 asrs r1, 16 - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl sub_8059BDC @@ -515,7 +515,7 @@ sub_805B29C: @ 805B29C asrs r0, 16 lsls r1, r5, 16 asrs r1, 16 - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl sub_8059BDC @@ -543,7 +543,7 @@ sub_805B2D0: @ 805B2D0 asrs r0, 16 lsls r1, r5, 16 asrs r1, 16 - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl sub_8059BDC @@ -577,7 +577,7 @@ sub_805B310: @ 805B310 asrs r0, 16 lsls r1, r5, 16 asrs r1, 16 - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl sub_8059BDC diff --git a/asm/field_effect.s b/asm/field_effect.s index a72f6e6e6..4245e711b 100644 --- a/asm/field_effect.s +++ b/asm/field_effect.s @@ -2068,7 +2068,7 @@ mapldr_08084390: @ 8084390 movs r1, 0 bl CreateTask ldr r4, _080843EC @ =gMapObjects - ldr r3, _080843F0 @ =gUnknown_2037078 + ldr r3, _080843F0 @ =gPlayerAvatar ldrb r1, [r3, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -2102,7 +2102,7 @@ _080843D2: .align 2, 0 _080843E8: .4byte c3_080843F8 _080843EC: .4byte gMapObjects -_080843F0: .4byte gUnknown_2037078 +_080843F0: .4byte gPlayerAvatar _080843F4: .4byte gUnknown_3005020 thumb_func_end mapldr_08084390 @@ -2209,7 +2209,7 @@ sub_80844BC: @ 80844BC mov r5, r8 push {r5,r6} mov r9, r0 - ldr r6, _08084558 @ =gUnknown_2037078 + ldr r6, _08084558 @ =gPlayerAvatar ldrb r0, [r6, 0x5] lsls r5, r0, 3 adds r5, r0 @@ -2278,7 +2278,7 @@ sub_80844BC: @ 80844BC pop {r1} bx r1 .align 2, 0 -_08084558: .4byte gUnknown_2037078 +_08084558: .4byte gPlayerAvatar _0808455C: .4byte gMapObjects _08084560: .4byte gSprites thumb_func_end sub_80844BC @@ -2305,7 +2305,7 @@ _08084578: sub_8084580: @ 8084580 push {r4-r6,lr} adds r5, r0, 0 - ldr r6, _080845E4 @ =gUnknown_2037078 + ldr r6, _080845E4 @ =gPlayerAvatar ldrb r0, [r6, 0x4] lsls r2, r0, 4 adds r2, r0 @@ -2352,7 +2352,7 @@ sub_8084580: @ 8084580 pop {r1} bx r1 .align 2, 0 -_080845E4: .4byte gUnknown_2037078 +_080845E4: .4byte gPlayerAvatar _080845E8: .4byte gSprites _080845EC: .4byte gSpriteCoordOffsetY _080845F0: .4byte gMapObjects @@ -2362,7 +2362,7 @@ _080845F0: .4byte gMapObjects sub_80845F4: @ 80845F4 push {r4-r6,lr} adds r4, r0, 0 - ldr r2, _080846A0 @ =gUnknown_2037078 + ldr r2, _080846A0 @ =gPlayerAvatar ldrb r1, [r2, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -2449,7 +2449,7 @@ _08084698: pop {r1} bx r1 .align 2, 0 -_080846A0: .4byte gUnknown_2037078 +_080846A0: .4byte gPlayerAvatar _080846A4: .4byte gMapObjects _080846A8: .4byte gSprites thumb_func_end sub_80845F4 @@ -2511,7 +2511,7 @@ _080846FE: sub_8084708: @ 8084708 push {r4,lr} sub sp, 0x4 - ldr r1, _08084778 @ =gUnknown_2037078 + ldr r1, _08084778 @ =gPlayerAvatar movs r0, 0 strb r0, [r1, 0x6] bl ScriptContext2_Disable @@ -2528,7 +2528,7 @@ sub_8084708: @ 8084708 ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 16 lsrs r0, 16 bl sub_8055B38 @@ -2555,7 +2555,7 @@ _08084760: pop {r1} bx r1 .align 2, 0 -_08084778: .4byte gUnknown_2037078 +_08084778: .4byte gPlayerAvatar _0808477C: .4byte 0x00004001 _08084780: .4byte sub_8084484 thumb_func_end sub_8084708 @@ -2645,7 +2645,7 @@ sub_80847F8: @ 80847F8 sub_8084820: @ 8084820 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _08084888 @ =gUnknown_2037078 + ldr r0, _08084888 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -2692,7 +2692,7 @@ _0808487E: pop {r1} bx r1 .align 2, 0 -_08084888: .4byte gUnknown_2037078 +_08084888: .4byte gPlayerAvatar _0808488C: .4byte gMapObjects thumb_func_end sub_8084820 @@ -2760,7 +2760,7 @@ sub_80848E8: @ 80848E8 sub_80848F8: @ 80848F8 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _0808493C @ =gUnknown_2037078 + ldr r0, _0808493C @ =gPlayerAvatar ldrb r0, [r0, 0x4] lsls r4, r0, 4 adds r4, r0 @@ -2792,7 +2792,7 @@ _08084936: pop {r0} bx r0 .align 2, 0 -_0808493C: .4byte gUnknown_2037078 +_0808493C: .4byte gPlayerAvatar _08084940: .4byte gSprites thumb_func_end sub_80848F8 @@ -2800,7 +2800,7 @@ _08084940: .4byte gSprites sub_8084944: @ 8084944 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _08084988 @ =gUnknown_2037078 + ldr r0, _08084988 @ =gPlayerAvatar ldrb r0, [r0, 0x4] lsls r4, r0, 4 adds r4, r0 @@ -2832,7 +2832,7 @@ _08084982: pop {r0} bx r0 .align 2, 0 -_08084988: .4byte gUnknown_2037078 +_08084988: .4byte gPlayerAvatar _0808498C: .4byte gSprites thumb_func_end sub_8084944 @@ -2939,7 +2939,7 @@ sub_8084A5C: @ 8084A5C sub sp, 0x4 adds r5, r0, 0 bl CameraObjectReset2 - ldr r0, _08084ABC @ =gUnknown_2037078 + ldr r0, _08084ABC @ =gPlayerAvatar ldrb r0, [r0, 0x5] lsls r4, r0, 3 adds r4, r0 @@ -2963,7 +2963,7 @@ sub_8084A5C: @ 8084A5C ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r1, r0, 24 ldrh r0, [r5, 0x8] @@ -2978,7 +2978,7 @@ sub_8084A5C: @ 8084A5C strh r0, [r5, 0x8] b _08084AC6 .align 2, 0 -_08084ABC: .4byte gUnknown_2037078 +_08084ABC: .4byte gPlayerAvatar _08084AC0: .4byte gMapObjects _08084AC4: movs r1, 0 @@ -2996,7 +2996,7 @@ _08084AC6: sub_8084AD8: @ 8084AD8 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _08084B10 @ =gUnknown_2037078 + ldr r0, _08084B10 @ =gPlayerAvatar ldrb r0, [r0, 0x4] lsls r4, r0, 4 adds r4, r0 @@ -3021,7 +3021,7 @@ sub_8084AD8: @ 8084AD8 pop {r1} bx r1 .align 2, 0 -_08084B10: .4byte gUnknown_2037078 +_08084B10: .4byte gPlayerAvatar _08084B14: .4byte gSprites thumb_func_end sub_8084AD8 @@ -3029,7 +3029,7 @@ _08084B14: .4byte gSprites sub_8084B18: @ 8084B18 push {r4,r5,lr} adds r4, r0, 0 - ldr r0, _08084B70 @ =gUnknown_2037078 + ldr r0, _08084B70 @ =gPlayerAvatar ldrb r1, [r0, 0x4] lsls r0, r1, 4 adds r0, r1 @@ -3071,7 +3071,7 @@ _08084B66: pop {r1} bx r1 .align 2, 0 -_08084B70: .4byte gUnknown_2037078 +_08084B70: .4byte gPlayerAvatar _08084B74: .4byte gSprites thumb_func_end sub_8084B18 @@ -3079,7 +3079,7 @@ _08084B74: .4byte gSprites sub_8084B78: @ 8084B78 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _08084BB0 @ =gUnknown_2037078 + ldr r0, _08084BB0 @ =gPlayerAvatar ldrb r0, [r0, 0x4] lsls r4, r0, 4 adds r4, r0 @@ -3104,7 +3104,7 @@ sub_8084B78: @ 8084B78 pop {r1} bx r1 .align 2, 0 -_08084BB0: .4byte gUnknown_2037078 +_08084BB0: .4byte gPlayerAvatar _08084BB4: .4byte gSprites thumb_func_end sub_8084B78 @@ -3112,7 +3112,7 @@ _08084BB4: .4byte gSprites sub_8084BB8: @ 8084BB8 push {r4,r5,lr} adds r4, r0, 0 - ldr r0, _08084C10 @ =gUnknown_2037078 + ldr r0, _08084C10 @ =gPlayerAvatar ldrb r1, [r0, 0x4] lsls r0, r1, 4 adds r0, r1 @@ -3155,7 +3155,7 @@ _08084C08: pop {r1} bx r1 .align 2, 0 -_08084C10: .4byte gUnknown_2037078 +_08084C10: .4byte gPlayerAvatar _08084C14: .4byte gSprites thumb_func_end sub_8084BB8 @@ -3184,7 +3184,7 @@ _08084C36: thumb_func_start sub_8084C3C sub_8084C3C: @ 8084C3C push {r4,lr} - ldr r0, _08084C94 @ =gUnknown_2037078 + ldr r0, _08084C94 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -3219,7 +3219,7 @@ _08084C8A: pop {r1} bx r1 .align 2, 0 -_08084C94: .4byte gUnknown_2037078 +_08084C94: .4byte gPlayerAvatar _08084C98: .4byte gMapObjects _08084C9C: .4byte sub_8084A24 thumb_func_end sub_8084C3C @@ -3268,7 +3268,7 @@ _08084CEA: ldrsh r2, [r4, r0] lsls r2, 2 adds r2, r5 - ldr r0, _08084D1C @ =gUnknown_2037078 + ldr r0, _08084D1C @ =gPlayerAvatar ldrb r0, [r0, 0x5] lsls r1, r0, 3 adds r1, r0 @@ -3287,7 +3287,7 @@ _08084CEA: .align 2, 0 _08084D14: .4byte gUnknown_83CC084 _08084D18: .4byte gTasks -_08084D1C: .4byte gUnknown_2037078 +_08084D1C: .4byte gPlayerAvatar _08084D20: .4byte gMapObjects thumb_func_end sub_8084CD8 @@ -3296,7 +3296,7 @@ sub_8084D24: @ 8084D24 push {r4,lr} adds r4, r0, 0 bl ScriptContext2_Enable - ldr r1, _08084D40 @ =gUnknown_2037078 + ldr r1, _08084D40 @ =gPlayerAvatar movs r0, 0x1 strb r0, [r1, 0x6] ldrh r0, [r4, 0x8] @@ -3307,7 +3307,7 @@ sub_8084D24: @ 8084D24 pop {r1} bx r1 .align 2, 0 -_08084D40: .4byte gUnknown_2037078 +_08084D40: .4byte gPlayerAvatar thumb_func_end sub_8084D24 thumb_func_start waterfall_1_do_anim_probably @@ -3404,7 +3404,7 @@ _08084DE2: cmp r4, 0 bne _08084E18 bl ScriptContext2_Disable - ldr r0, _08084E10 @ =gUnknown_2037078 + ldr r0, _08084E10 @ =gPlayerAvatar strb r4, [r0, 0x6] ldr r0, _08084E14 @ =sub_8084CD8 bl FindTaskIdByFunc @@ -3416,7 +3416,7 @@ _08084DE2: movs r0, 0 b _08084E1E .align 2, 0 -_08084E10: .4byte gUnknown_2037078 +_08084E10: .4byte gPlayerAvatar _08084E14: .4byte sub_8084CD8 _08084E18: movs r0, 0x3 @@ -3490,7 +3490,7 @@ _08084E94: .4byte gTasks thumb_func_start dive_1_lock dive_1_lock: @ 8084E98 - ldr r2, _08084EA8 @ =gUnknown_2037078 + ldr r2, _08084EA8 @ =gPlayerAvatar movs r1, 0x1 strb r1, [r2, 0x6] ldrh r1, [r0, 0x8] @@ -3499,7 +3499,7 @@ dive_1_lock: @ 8084E98 movs r0, 0 bx lr .align 2, 0 -_08084EA8: .4byte gUnknown_2037078 +_08084EA8: .4byte gPlayerAvatar thumb_func_end dive_1_lock thumb_func_start dive_2_unknown @@ -3538,7 +3538,7 @@ dive_3_unknown: @ 8084ED4 cmp r0, 0 bne _08084F18 ldr r2, _08084F20 @ =gMapObjects - ldr r0, _08084F24 @ =gUnknown_2037078 + ldr r0, _08084F24 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -3561,7 +3561,7 @@ _08084F18: bx r1 .align 2, 0 _08084F20: .4byte gMapObjects -_08084F24: .4byte gUnknown_2037078 +_08084F24: .4byte gPlayerAvatar _08084F28: .4byte sub_8084E60 thumb_func_end dive_3_unknown @@ -3586,7 +3586,7 @@ sub_8084F44: @ 8084F44 lsrs r0, 24 ldr r6, _08084F8C @ =gUnknown_83CC0A4 ldr r2, _08084F90 @ =gTasks - ldr r5, _08084F94 @ =gUnknown_2037078 + ldr r5, _08084F94 @ =gPlayerAvatar lsls r1, r0, 2 adds r1, r0 lsls r1, 3 @@ -3620,7 +3620,7 @@ _08084F58: .align 2, 0 _08084F8C: .4byte gUnknown_83CC0A4 _08084F90: .4byte gTasks -_08084F94: .4byte gUnknown_2037078 +_08084F94: .4byte gPlayerAvatar _08084F98: .4byte gMapObjects _08084F9C: .4byte gSprites thumb_func_end sub_8084F44 @@ -3634,7 +3634,7 @@ sub_8084FA0: @ 8084FA0 bl CameraObjectReset2 movs r0, 0 bl SetCameraPanningCallback - ldr r0, _08084FD4 @ =gUnknown_2037078 + ldr r0, _08084FD4 @ =gPlayerAvatar movs r2, 0x1 strb r2, [r0, 0x6] ldrb r0, [r5, 0x3] @@ -3650,7 +3650,7 @@ sub_8084FA0: @ 8084FA0 pop {r1} bx r1 .align 2, 0 -_08084FD4: .4byte gUnknown_2037078 +_08084FD4: .4byte gPlayerAvatar thumb_func_end sub_8084FA0 thumb_func_start sub_8084FD8 @@ -3932,7 +3932,7 @@ sub_80851E8: @ 80851E8 lsrs r0, 24 ldr r6, _08085230 @ =gUnknown_83CC0BC ldr r2, _08085234 @ =gTasks - ldr r5, _08085238 @ =gUnknown_2037078 + ldr r5, _08085238 @ =gPlayerAvatar lsls r1, r0, 2 adds r1, r0 lsls r1, 3 @@ -3966,7 +3966,7 @@ _080851FC: .align 2, 0 _08085230: .4byte gUnknown_83CC0BC _08085234: .4byte gTasks -_08085238: .4byte gUnknown_2037078 +_08085238: .4byte gPlayerAvatar _0808523C: .4byte gMapObjects _08085240: .4byte gSprites thumb_func_end sub_80851E8 @@ -3978,7 +3978,7 @@ sub_8085244: @ 8085244 adds r4, r1, 0 bl CameraObjectReset2 bl player_bitmagic - ldr r1, _08085270 @ =gUnknown_2037078 + ldr r1, _08085270 @ =gPlayerAvatar movs r0, 0x1 strb r0, [r1, 0x6] ldrb r0, [r4, 0x1] @@ -3993,7 +3993,7 @@ sub_8085244: @ 8085244 pop {r1} bx r1 .align 2, 0 -_08085270: .4byte gUnknown_2037078 +_08085270: .4byte gPlayerAvatar thumb_func_end sub_8085244 thumb_func_start sub_8085274 @@ -4088,7 +4088,7 @@ sub_8085314: @ 8085314 lsls r0, 24 cmp r0, 0 beq _0808533E - ldr r1, _08085344 @ =gUnknown_2037078 + ldr r1, _08085344 @ =gPlayerAvatar movs r0, 0 strb r0, [r1, 0x6] bl ScriptContext2_Disable @@ -4103,7 +4103,7 @@ _0808533E: pop {r1} bx r1 .align 2, 0 -_08085344: .4byte gUnknown_2037078 +_08085344: .4byte gPlayerAvatar _08085348: .4byte sub_80851E8 thumb_func_end sub_8085314 @@ -4195,7 +4195,7 @@ sub_80853E4: @ 80853E4 lsrs r0, 24 ldr r6, _0808542C @ =gUnknown_83CC0CC ldr r2, _08085430 @ =gTasks - ldr r5, _08085434 @ =gUnknown_2037078 + ldr r5, _08085434 @ =gPlayerAvatar lsls r1, r0, 2 adds r1, r0 lsls r1, 3 @@ -4229,7 +4229,7 @@ _080853F8: .align 2, 0 _0808542C: .4byte gUnknown_83CC0CC _08085430: .4byte gTasks -_08085434: .4byte gUnknown_2037078 +_08085434: .4byte gPlayerAvatar _08085438: .4byte gMapObjects _0808543C: .4byte gSprites thumb_func_end sub_80853E4 @@ -4241,7 +4241,7 @@ sub_8085440: @ 8085440 adds r4, r1, 0 bl player_bitmagic bl CameraObjectReset2 - ldr r1, _0808546C @ =gUnknown_2037078 + ldr r1, _0808546C @ =gPlayerAvatar movs r0, 0x1 strb r0, [r1, 0x6] ldrb r0, [r4, 0x3] @@ -4256,7 +4256,7 @@ sub_8085440: @ 8085440 pop {r1} bx r1 .align 2, 0 -_0808546C: .4byte gUnknown_2037078 +_0808546C: .4byte gPlayerAvatar thumb_func_end sub_8085440 thumb_func_start sub_8085470 @@ -4541,7 +4541,7 @@ sub_808566C: @ 808566C sub_8085690: @ 8085690 push {r4-r6,lr} adds r5, r0, 0 - ldr r0, _080856D4 @ =gUnknown_2037078 + ldr r0, _080856D4 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -4571,7 +4571,7 @@ sub_8085690: @ 8085690 bl PlaySE b _08085702 .align 2, 0 -_080856D4: .4byte gUnknown_2037078 +_080856D4: .4byte gPlayerAvatar _080856D8: .4byte gMapObjects _080856DC: movs r1, 0x8 @@ -4974,7 +4974,7 @@ sub_80859D4: @ 80859D4 movs r0, 0 str r0, [r1] ldr r2, _08085A18 @ =gMapObjects - ldr r0, _08085A1C @ =gUnknown_2037078 + ldr r0, _08085A1C @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -4992,7 +4992,7 @@ sub_80859D4: @ 80859D4 .align 2, 0 _08085A14: .4byte gUnknown_3005020 _08085A18: .4byte gMapObjects -_08085A1C: .4byte gUnknown_2037078 +_08085A1C: .4byte gPlayerAvatar _08085A20: .4byte sub_8085A24 thumb_func_end sub_80859D4 @@ -5051,7 +5051,7 @@ sub_8085A80: @ 8085A80 adds r4, r0, 0 adds r5, r4, 0 adds r5, 0x8 - ldr r0, _08085AD4 @ =gUnknown_2037078 + ldr r0, _08085AD4 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -5087,7 +5087,7 @@ sub_8085A80: @ 8085A80 strh r0, [r5, 0xC] b _08085B10 .align 2, 0 -_08085AD4: .4byte gUnknown_2037078 +_08085AD4: .4byte gPlayerAvatar _08085AD8: .4byte gMapObjects _08085ADC: movs r2, 0xE @@ -5221,7 +5221,7 @@ sub_8085BD0: @ 8085BD0 mov r0, sp movs r2, 0x5 bl memcpy - ldr r0, _08085C58 @ =gUnknown_2037078 + ldr r0, _08085C58 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -5281,7 +5281,7 @@ _08085C4A: bx r0 .align 2, 0 _08085C54: .4byte gUnknown_83CC108 -_08085C58: .4byte gUnknown_2037078 +_08085C58: .4byte gPlayerAvatar _08085C5C: .4byte gMapObjects thumb_func_end sub_8085BD0 @@ -5294,7 +5294,7 @@ sub_8085C60: @ 8085C60 mov r0, sp movs r2, 0x5 bl memcpy - ldr r2, _08085D28 @ =gUnknown_2037078 + ldr r2, _08085D28 @ =gPlayerAvatar ldrb r1, [r2, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -5386,7 +5386,7 @@ _08085D1A: bx r0 .align 2, 0 _08085D24: .4byte gUnknown_83CC108 -_08085D28: .4byte gUnknown_2037078 +_08085D28: .4byte gPlayerAvatar _08085D2C: .4byte gMapObjects _08085D30: .4byte gSprites thumb_func_end sub_8085C60 @@ -5440,7 +5440,7 @@ mapldr_08085D88: @ 8085D88 movs r0, 0 str r0, [r1] ldr r2, _08085DD0 @ =gMapObjects - ldr r0, _08085DD4 @ =gUnknown_2037078 + ldr r0, _08085DD4 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -5459,7 +5459,7 @@ mapldr_08085D88: @ 8085D88 .align 2, 0 _08085DCC: .4byte gUnknown_3005020 _08085DD0: .4byte gMapObjects -_08085DD4: .4byte gUnknown_2037078 +_08085DD4: .4byte gPlayerAvatar _08085DD8: .4byte sub_8085DDC thumb_func_end mapldr_08085D88 @@ -5496,7 +5496,7 @@ sub_8085E0C: @ 8085E0C lsls r0, 24 cmp r0, 0 beq _08085E82 - ldr r5, _08085E88 @ =gUnknown_2037078 + ldr r5, _08085E88 @ =gPlayerAvatar ldrb r0, [r5, 0x4] lsls r2, r0, 4 adds r2, r0 @@ -5551,7 +5551,7 @@ _08085E82: pop {r0} bx r0 .align 2, 0 -_08085E88: .4byte gUnknown_2037078 +_08085E88: .4byte gPlayerAvatar _08085E8C: .4byte gSprites _08085E90: .4byte gSpriteCoordOffsetY _08085E94: .4byte gMapObjects @@ -5566,7 +5566,7 @@ sub_8085E98: @ 8085E98 mov r0, sp movs r2, 0x5 bl memcpy - ldr r2, _08085F04 @ =gUnknown_2037078 + ldr r2, _08085F04 @ =gPlayerAvatar ldrb r1, [r2, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -5612,7 +5612,7 @@ sub_8085E98: @ 8085E98 b _08085F36 .align 2, 0 _08085F00: .4byte gUnknown_83CC108 -_08085F04: .4byte gUnknown_2037078 +_08085F04: .4byte gPlayerAvatar _08085F08: .4byte gMapObjects _08085F0C: .4byte gSprites _08085F10: @@ -5699,7 +5699,7 @@ sub_8085F9C: @ 8085F9C mov r0, sp movs r2, 0x5 bl memcpy - ldr r0, _0808601C @ =gUnknown_2037078 + ldr r0, _0808601C @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -5750,7 +5750,7 @@ _08086010: bx r0 .align 2, 0 _08086018: .4byte gUnknown_83CC108 -_0808601C: .4byte gUnknown_2037078 +_0808601C: .4byte gPlayerAvatar _08086020: .4byte gMapObjects _08086024: .4byte sub_8085DDC thumb_func_end sub_8085F9C @@ -7001,7 +7001,7 @@ sub_80869C0: @ 80869C0 adds r4, r0, 0 bl ScriptContext2_Enable bl player_bitmagic - ldr r5, _08086A18 @ =gUnknown_2037078 + ldr r5, _08086A18 @ =gPlayerAvatar movs r0, 0x1 strb r0, [r5, 0x6] movs r0, 0x8 @@ -7034,7 +7034,7 @@ sub_80869C0: @ 80869C0 pop {r0} bx r0 .align 2, 0 -_08086A18: .4byte gUnknown_2037078 +_08086A18: .4byte gPlayerAvatar _08086A1C: .4byte gMapObjects thumb_func_end sub_80869C0 @@ -7042,7 +7042,7 @@ _08086A1C: .4byte gMapObjects sub_8086A20: @ 8086A20 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _08086A64 @ =gUnknown_2037078 + ldr r0, _08086A64 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -7072,7 +7072,7 @@ _08086A5C: pop {r0} bx r0 .align 2, 0 -_08086A64: .4byte gUnknown_2037078 +_08086A64: .4byte gPlayerAvatar _08086A68: .4byte gMapObjects thumb_func_end sub_8086A20 @@ -7080,7 +7080,7 @@ _08086A68: .4byte gMapObjects sub_8086A6C: @ 8086A6C push {r4,lr} adds r4, r0, 0 - ldr r0, _08086AA8 @ =gUnknown_2037078 + ldr r0, _08086AA8 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -7108,7 +7108,7 @@ _08086AA2: pop {r0} bx r0 .align 2, 0 -_08086AA8: .4byte gUnknown_2037078 +_08086AA8: .4byte gPlayerAvatar _08086AAC: .4byte gMapObjects _08086AB0: .4byte gUnknown_20386E0 thumb_func_end sub_8086A6C @@ -7122,7 +7122,7 @@ sub_8086AB4: @ 8086AB4 lsls r0, 24 cmp r0, 0 bne _08086B1E - ldr r5, _08086B24 @ =gUnknown_2037078 + ldr r5, _08086B24 @ =gPlayerAvatar ldrb r0, [r5, 0x5] lsls r4, r0, 3 adds r4, r0 @@ -7166,7 +7166,7 @@ _08086B1E: pop {r0} bx r0 .align 2, 0 -_08086B24: .4byte gUnknown_2037078 +_08086B24: .4byte gPlayerAvatar _08086B28: .4byte gMapObjects _08086B2C: .4byte gUnknown_20386E0 thumb_func_end sub_8086AB4 @@ -7174,7 +7174,7 @@ _08086B2C: .4byte gUnknown_20386E0 thumb_func_start sub_8086B30 sub_8086B30: @ 8086B30 push {r4,r5,lr} - ldr r5, _08086B9C @ =gUnknown_2037078 + ldr r5, _08086B9C @ =gPlayerAvatar ldrb r1, [r5, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -7219,7 +7219,7 @@ _08086B96: pop {r0} bx r0 .align 2, 0 -_08086B9C: .4byte gUnknown_2037078 +_08086B9C: .4byte gPlayerAvatar _08086BA0: .4byte gMapObjects _08086BA4: .4byte sub_8086990 thumb_func_end sub_8086B30 @@ -7277,7 +7277,7 @@ sub_8086C00: @ 8086C00 adds r4, r0, 0 bl ScriptContext2_Enable bl player_bitmagic - ldr r1, _08086C20 @ =gUnknown_2037078 + ldr r1, _08086C20 @ =gPlayerAvatar movs r0, 0x1 strb r0, [r1, 0x6] ldrh r0, [r4, 0x8] @@ -7287,14 +7287,14 @@ sub_8086C00: @ 8086C00 pop {r0} bx r0 .align 2, 0 -_08086C20: .4byte gUnknown_2037078 +_08086C20: .4byte gPlayerAvatar thumb_func_end sub_8086C00 thumb_func_start sub_8086C24 sub_8086C24: @ 8086C24 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _08086C68 @ =gUnknown_2037078 + ldr r0, _08086C68 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -7324,7 +7324,7 @@ _08086C60: pop {r0} bx r0 .align 2, 0 -_08086C68: .4byte gUnknown_2037078 +_08086C68: .4byte gPlayerAvatar _08086C6C: .4byte gMapObjects thumb_func_end sub_8086C24 @@ -7332,7 +7332,7 @@ _08086C6C: .4byte gMapObjects sub_8086C70: @ 8086C70 push {r4-r6,lr} adds r6, r0, 0 - ldr r5, _08086C9C @ =gUnknown_2037078 + ldr r5, _08086C9C @ =gPlayerAvatar ldrb r1, [r5, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -7352,7 +7352,7 @@ sub_8086C70: @ 8086C70 movs r0, 0x1 b _08086CAE .align 2, 0 -_08086C9C: .4byte gUnknown_2037078 +_08086C9C: .4byte gPlayerAvatar _08086CA0: .4byte gMapObjects _08086CA4: movs r0, 0x8 @@ -7398,7 +7398,7 @@ _08086CEE: thumb_func_start sub_8086CF4 sub_8086CF4: @ 8086CF4 push {r4,lr} - ldr r4, _08086D2C @ =gUnknown_2037078 + ldr r4, _08086D2C @ =gPlayerAvatar ldrb r1, [r4, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -7423,7 +7423,7 @@ _08086D26: pop {r0} bx r0 .align 2, 0 -_08086D2C: .4byte gUnknown_2037078 +_08086D2C: .4byte gPlayerAvatar _08086D30: .4byte gMapObjects _08086D34: .4byte sub_8086BD0 thumb_func_end sub_8086CF4 @@ -7591,7 +7591,7 @@ _08086E6C: .4byte gTasks sub_8086E70: @ 8086E70 push {r4-r6,lr} adds r5, r0, 0 - ldr r6, _08086EC0 @ =gUnknown_2037078 + ldr r6, _08086EC0 @ =gPlayerAvatar ldrb r1, [r6, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -7626,7 +7626,7 @@ _08086EB8: pop {r0} bx r0 .align 2, 0 -_08086EC0: .4byte gUnknown_2037078 +_08086EC0: .4byte gPlayerAvatar _08086EC4: .4byte gMapObjects thumb_func_end sub_8086E70 @@ -7634,7 +7634,7 @@ _08086EC4: .4byte gMapObjects sub_8086EC8: @ 8086EC8 push {r4,lr} adds r4, r0, 0 - ldr r0, _08086F00 @ =gUnknown_2037078 + ldr r0, _08086F00 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -7659,7 +7659,7 @@ _08086EF8: pop {r0} bx r0 .align 2, 0 -_08086F00: .4byte gUnknown_2037078 +_08086F00: .4byte gPlayerAvatar _08086F04: .4byte gMapObjects _08086F08: .4byte gUnknown_20386E0 thumb_func_end sub_8086EC8 @@ -7673,7 +7673,7 @@ sub_8086F0C: @ 8086F0C lsls r0, 24 cmp r0, 0 bne _08086F54 - ldr r0, _08086F5C @ =gUnknown_2037078 + ldr r0, _08086F5C @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -7704,7 +7704,7 @@ _08086F54: pop {r0} bx r0 .align 2, 0 -_08086F5C: .4byte gUnknown_2037078 +_08086F5C: .4byte gPlayerAvatar _08086F60: .4byte gMapObjects thumb_func_end sub_8086F0C @@ -7724,7 +7724,7 @@ sub_8086F64: @ 8086F64 strh r0, [r4, 0xC] movs r0, 0x1 bl SetPlayerAvatarTransitionFlags - ldr r0, _08086FA0 @ =gUnknown_2037078 + ldr r0, _08086FA0 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -7738,7 +7738,7 @@ _08086F98: pop {r0} bx r0 .align 2, 0 -_08086FA0: .4byte gUnknown_2037078 +_08086FA0: .4byte gPlayerAvatar _08086FA4: .4byte gMapObjects thumb_func_end sub_8086F64 @@ -7746,7 +7746,7 @@ _08086FA4: .4byte gMapObjects sub_8086FA8: @ 8086FA8 push {r4,lr} adds r4, r0, 0 - ldr r0, _08086FF4 @ =gUnknown_2037078 + ldr r0, _08086FF4 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -7781,7 +7781,7 @@ _08086FEC: pop {r0} bx r0 .align 2, 0 -_08086FF4: .4byte gUnknown_2037078 +_08086FF4: .4byte gPlayerAvatar _08086FF8: .4byte gMapObjects thumb_func_end sub_8086FA8 @@ -7796,7 +7796,7 @@ sub_8086FFC: @ 8086FFC asrs r0, 16 cmp r0, 0x7 ble _0808705A - ldr r0, _08087060 @ =gUnknown_2037078 + ldr r0, _08087060 @ =gPlayerAvatar ldrb r0, [r0, 0x5] lsls r4, r0, 3 adds r4, r0 @@ -7835,7 +7835,7 @@ _0808705A: pop {r0} bx r0 .align 2, 0 -_08087060: .4byte gUnknown_2037078 +_08087060: .4byte gPlayerAvatar _08087064: .4byte gMapObjects _08087068: .4byte gSprites thumb_func_end sub_8086FFC @@ -7851,7 +7851,7 @@ sub_808706C: @ 808706C asrs r0, 16 cmp r0, 0x9 ble _080870FC - ldr r0, _08087104 @ =gUnknown_2037078 + ldr r0, _08087104 @ =gPlayerAvatar ldrb r0, [r0, 0x5] lsls r4, r0, 3 adds r4, r0 @@ -7914,7 +7914,7 @@ _080870FC: pop {r0} bx r0 .align 2, 0 -_08087104: .4byte gUnknown_2037078 +_08087104: .4byte gPlayerAvatar _08087108: .4byte gMapObjects _0808710C: .4byte gSprites _08087110: .4byte gSaveBlock2Ptr @@ -8425,7 +8425,7 @@ _080874C4: .4byte gTasks sub_80874C8: @ 80874C8 push {r4-r6,lr} adds r6, r0, 0 - ldr r4, _080875B4 @ =gUnknown_2037078 + ldr r4, _080875B4 @ =gPlayerAvatar ldrb r1, [r4, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -8531,7 +8531,7 @@ _080875AE: pop {r0} bx r0 .align 2, 0 -_080875B4: .4byte gUnknown_2037078 +_080875B4: .4byte gPlayerAvatar _080875B8: .4byte gMapObjects _080875BC: .4byte gSprites _080875C0: .4byte gSaveBlock2Ptr @@ -8561,7 +8561,7 @@ sub_80875C8: @ 80875C8 cmp r0, 0 bne _08087630 _080875F2: - ldr r0, _0808763C @ =gUnknown_2037078 + ldr r0, _0808763C @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -8597,7 +8597,7 @@ _08087630: bx r0 .align 2, 0 _08087638: .4byte gSprites -_0808763C: .4byte gUnknown_2037078 +_0808763C: .4byte gPlayerAvatar _08087640: .4byte gMapObjects thumb_func_end sub_80875C8 @@ -8610,7 +8610,7 @@ sub_8087644: @ 8087644 mov r0, sp movs r2, 0x24 bl memcpy - ldr r0, _08087690 @ =gUnknown_2037078 + ldr r0, _08087690 @ =gPlayerAvatar ldrb r0, [r0, 0x4] lsls r1, r0, 4 adds r1, r0 @@ -8640,7 +8640,7 @@ _08087682: bx r0 .align 2, 0 _0808768C: .4byte gUnknown_83CC1F0 -_08087690: .4byte gUnknown_2037078 +_08087690: .4byte gPlayerAvatar _08087694: .4byte gSprites thumb_func_end sub_8087644 @@ -8653,7 +8653,7 @@ sub_8087698: @ 8087698 lsls r0, 24 cmp r0, 0 beq _080876FC - ldr r0, _08087704 @ =gUnknown_2037078 + ldr r0, _08087704 @ =gPlayerAvatar ldrb r0, [r0, 0x5] lsls r5, r0, 3 adds r5, r0 @@ -8697,7 +8697,7 @@ _080876FC: pop {r0} bx r0 .align 2, 0 -_08087704: .4byte gUnknown_2037078 +_08087704: .4byte gPlayerAvatar _08087708: .4byte gMapObjects _0808770C: .4byte gSprites thumb_func_end sub_8087698 @@ -8706,7 +8706,7 @@ _0808770C: .4byte gSprites sub_8087710: @ 8087710 push {r4,lr} adds r4, r0, 0 - ldr r0, _08087740 @ =gUnknown_2037078 + ldr r0, _08087740 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -8727,7 +8727,7 @@ _08087738: pop {r0} bx r0 .align 2, 0 -_08087740: .4byte gUnknown_2037078 +_08087740: .4byte gPlayerAvatar _08087744: .4byte gMapObjects thumb_func_end sub_8087710 @@ -8771,7 +8771,7 @@ fishE: @ 8087780 lsls r0, 16 cmp r0, 0 bne _080877EA - ldr r6, _080877F0 @ =gUnknown_2037078 + ldr r6, _080877F0 @ =gPlayerAvatar ldrb r1, [r6, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -8815,7 +8815,7 @@ _080877EA: pop {r0} bx r0 .align 2, 0 -_080877F0: .4byte gUnknown_2037078 +_080877F0: .4byte gPlayerAvatar _080877F4: .4byte gMapObjects _080877F8: .4byte sub_8087498 thumb_func_end fishE diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s index dfdc880fb..9e416b83a 100644 --- a/asm/field_effect_helpers.s +++ b/asm/field_effect_helpers.s @@ -888,7 +888,7 @@ _080DB438: ldrsh r0, [r5, r2] movs r2, 0x32 ldrsh r1, [r5, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r6, r0, 24 mov r0, r8 @@ -1239,7 +1239,7 @@ _080DB6E8: ldrsh r0, [r5, r2] movs r2, 0x32 ldrsh r1, [r5, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r4, r0, 24 mov r0, r8 @@ -2864,7 +2864,7 @@ sub_80DC348: @ 80DC348 ldrsh r1, [r4, r2] bl CurrentMapDrawMetatileAt ldr r2, _080DC3A0 @ =gMapObjects - ldr r0, _080DC3A4 @ =gUnknown_2037078 + ldr r0, _080DC3A4 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -2881,7 +2881,7 @@ sub_80DC348: @ 80DC348 bx r0 .align 2, 0 _080DC3A0: .4byte gMapObjects -_080DC3A4: .4byte gUnknown_2037078 +_080DC3A4: .4byte gPlayerAvatar thumb_func_end sub_80DC348 thumb_func_start sub_80DC3A8 diff --git a/asm/field_fadetransition.s b/asm/field_fadetransition.s index 231a3b123..703316872 100644 --- a/asm/field_fadetransition.s +++ b/asm/field_fadetransition.s @@ -461,7 +461,7 @@ sub_807DE78: @ 807DE78 ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, 0 @@ -1831,7 +1831,7 @@ sub_807E980: @ 807E980 lsls r0, 3 ldr r1, _0807E9C0 @ =gTasks+0x8 adds r5, r0, r1 - ldr r2, _0807E9C4 @ =gUnknown_2037078 + ldr r2, _0807E9C4 @ =gPlayerAvatar ldrb r1, [r2, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -1855,7 +1855,7 @@ sub_807E980: @ 807E980 b _0807EA9A .align 2, 0 _0807E9C0: .4byte gTasks+0x8 -_0807E9C4: .4byte gUnknown_2037078 +_0807E9C4: .4byte gPlayerAvatar _0807E9C8: .4byte gMapObjects _0807E9CC: .4byte gSprites _0807E9D0: @@ -1984,7 +1984,7 @@ sub_807EAC4: @ 807EAC4 lsls r0, 16 lsrs r0, 16 mov r12, r0 - ldr r3, _0807EB58 @ =gUnknown_2037078 + ldr r3, _0807EB58 @ =gPlayerAvatar ldrb r2, [r3, 0x4] lsls r0, r2, 4 adds r0, r2 @@ -2049,7 +2049,7 @@ _0807EB4C: pop {r0} bx r0 .align 2, 0 -_0807EB58: .4byte gUnknown_2037078 +_0807EB58: .4byte gPlayerAvatar _0807EB5C: .4byte gSprites _0807EB60: .4byte gMapObjects thumb_func_end sub_807EAC4 @@ -2064,7 +2064,7 @@ sub_807EB64: @ 807EB64 mov r8, r2 lsls r5, 16 lsrs r5, 16 - ldr r0, _0807EBB4 @ =gUnknown_2037078 + ldr r0, _0807EBB4 @ =gPlayerAvatar ldrb r0, [r0, 0x5] lsls r4, r0, 3 adds r4, r0 @@ -2092,7 +2092,7 @@ sub_807EB64: @ 807EB64 pop {r0} bx r0 .align 2, 0 -_0807EBB4: .4byte gUnknown_2037078 +_0807EBB4: .4byte gPlayerAvatar _0807EBB8: .4byte gMapObjects thumb_func_end sub_807EB64 @@ -2247,7 +2247,7 @@ sub_807ECBC: @ 807ECBC ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r6, r0, 24 adds r0, r6, 0 @@ -2266,7 +2266,7 @@ _0807ED06: _0807ED0A: movs r1, 0x4 _0807ED0C: - ldr r0, _0807ED94 @ =gUnknown_2037078 + ldr r0, _0807ED94 @ =gPlayerAvatar mov r8, r0 ldrb r0, [r0, 0x5] lsls r4, r0, 3 @@ -2332,7 +2332,7 @@ _0807ED0C: pop {r0} bx r0 .align 2, 0 -_0807ED94: .4byte gUnknown_2037078 +_0807ED94: .4byte gPlayerAvatar _0807ED98: .4byte gMapObjects _0807ED9C: .4byte gSprites thumb_func_end sub_807ECBC @@ -2343,7 +2343,7 @@ sub_807EDA0: @ 807EDA0 adds r5, r0, 0 adds r6, r1, 0 ldr r4, [sp, 0x14] - ldr r0, _0807EDC8 @ =gUnknown_2037078 + ldr r0, _0807EDC8 @ =gPlayerAvatar ldrb r1, [r0, 0x4] lsls r0, r1, 4 adds r0, r1 @@ -2359,7 +2359,7 @@ sub_807EDA0: @ 807EDA0 movs r0, 0 b _0807EDF8 .align 2, 0 -_0807EDC8: .4byte gUnknown_2037078 +_0807EDC8: .4byte gPlayerAvatar _0807EDCC: .4byte gSprites _0807EDD0: ldrh r0, [r5] diff --git a/asm/field_ground_effect.s b/asm/field_ground_effect.s index 4fc86db2c..40159bc04 100644 --- a/asm/field_ground_effect.s +++ b/asm/field_ground_effect.s @@ -118,13 +118,13 @@ FieldObjectUpdateMetatileBehaviors: @ 8067C24 ldrsh r0, [r4, r1] movs r2, 0x16 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt strb r0, [r4, 0x1F] movs r1, 0x10 ldrsh r0, [r4, r1] movs r2, 0x12 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt strb r0, [r4, 0x1E] pop {r4} pop {r0} @@ -616,7 +616,7 @@ _08067FA0: adds r1, r6, r1 lsls r1, 16 asrs r1, 16 - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl GetReflectionTypeByMetatileBehavior @@ -632,7 +632,7 @@ _08067FA0: adds r1, r6, r1 lsls r1, 16 asrs r1, 16 - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl GetReflectionTypeByMetatileBehavior @@ -661,7 +661,7 @@ _08067FFC: adds r1, r6, r1 lsls r1, 16 asrs r1, 16 - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl GetReflectionTypeByMetatileBehavior @@ -678,7 +678,7 @@ _08067FFC: adds r1, r6, r1 lsls r1, 16 asrs r1, 16 - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl GetReflectionTypeByMetatileBehavior @@ -695,7 +695,7 @@ _08067FFC: adds r1, r6, r1 lsls r1, 16 asrs r1, 16 - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl GetReflectionTypeByMetatileBehavior @@ -712,7 +712,7 @@ _08067FFC: adds r1, r6, r1 lsls r1, 16 asrs r1, 16 - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl GetReflectionTypeByMetatileBehavior @@ -801,7 +801,7 @@ _08068114: asrs r0, 16 lsls r1, 16 asrs r1, 16 - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 ldr r2, _08068144 @ =gUnknown_83A705C diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s index 84f023d19..c79a0330f 100644 --- a/asm/field_map_obj.s +++ b/asm/field_map_obj.s @@ -1012,7 +1012,7 @@ unref_sub_808D958: @ 805E55C push {r4,lr} movs r4, 0 _0805E560: - ldr r0, _0805E588 @ =gUnknown_2037078 + ldr r0, _0805E588 @ =gPlayerAvatar ldrb r0, [r0, 0x5] cmp r4, r0 beq _0805E576 @@ -1032,7 +1032,7 @@ _0805E576: pop {r0} bx r0 .align 2, 0 -_0805E588: .4byte gUnknown_2037078 +_0805E588: .4byte gPlayerAvatar _0805E58C: .4byte gMapObjects thumb_func_end unref_sub_808D958 @@ -2418,7 +2418,7 @@ SetPlayerAvatarFieldObjectIdAndObjectId: @ 805F02C push {r4,r5,lr} lsls r0, 24 lsrs r0, 24 - ldr r5, _0805F058 @ =gUnknown_2037078 + ldr r5, _0805F058 @ =gPlayerAvatar strb r0, [r5, 0x5] strb r1, [r5, 0x4] ldr r1, _0805F05C @ =gMapObjects @@ -2436,7 +2436,7 @@ SetPlayerAvatarFieldObjectIdAndObjectId: @ 805F02C pop {r0} bx r0 .align 2, 0 -_0805F058: .4byte gUnknown_2037078 +_0805F058: .4byte gPlayerAvatar _0805F05C: .4byte gMapObjects thumb_func_end SetPlayerAvatarFieldObjectIdAndObjectId @@ -10369,7 +10369,7 @@ sub_80628E4: @ 80628E4 adds r6, r0, 0 adds r7, r1, 0 ldr r2, _08062908 @ =gMapObjects - ldr r3, _0806290C @ =gUnknown_2037078 + ldr r3, _0806290C @ =gPlayerAvatar ldrb r1, [r3, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -10386,7 +10386,7 @@ _08062904: b _08062938 .align 2, 0 _08062908: .4byte gMapObjects -_0806290C: .4byte gUnknown_2037078 +_0806290C: .4byte gPlayerAvatar _08062910: ldr r5, _08062940 @ =gUnknown_83A6390 bl player_get_x22 @@ -10533,7 +10533,7 @@ sub_80629B8: @ 80629B8 ldrsh r0, [r0, r2] movs r2, 0 ldrsh r1, [r5, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl _call_via_r8 @@ -10622,7 +10622,7 @@ sub_8062A70: @ 8062A70 ldrsh r0, [r0, r2] movs r2, 0 ldrsh r1, [r5, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl _call_via_r8 @@ -10711,7 +10711,7 @@ sub_8062B28: @ 8062B28 ldrsh r0, [r0, r2] movs r2, 0 ldrsh r1, [r5, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl _call_via_r8 @@ -10800,7 +10800,7 @@ sub_8062BE0: @ 8062BE0 ldrsh r0, [r0, r2] movs r2, 0 ldrsh r1, [r5, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl _call_via_r8 @@ -10925,7 +10925,7 @@ sub_8062CE0: @ 8062CE0 ldrsh r0, [r0, r2] movs r2, 0 ldrsh r1, [r5, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl _call_via_r8 @@ -11021,7 +11021,7 @@ oac_hopping: @ 8062D98 ldrsh r0, [r0, r2] movs r2, 0 ldrsh r1, [r5, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl _call_via_r8 @@ -11100,7 +11100,7 @@ mss_08062EA4: @ 8062EA4 adds r6, r0, 0 adds r7, r1, 0 ldr r2, _08062EC8 @ =gMapObjects - ldr r3, _08062ECC @ =gUnknown_2037078 + ldr r3, _08062ECC @ =gPlayerAvatar ldrb r1, [r3, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -11117,7 +11117,7 @@ _08062EC4: b _08062EF8 .align 2, 0 _08062EC8: .4byte gMapObjects -_08062ECC: .4byte gUnknown_2037078 +_08062ECC: .4byte gPlayerAvatar _08062ED0: ldr r5, _08062F00 @ =gUnknown_83A6390 bl player_get_x22 @@ -12593,7 +12593,7 @@ IsMetatileDirectionallyImpassable: @ 80638AC asrs r0, 16 lsls r1, r7, 16 asrs r1, 16 - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 ldr r1, [r4] diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index f0621961a..82c566d6b 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -43,7 +43,7 @@ sub_805B3E0: @ 805B3E0 mov r8, r1 lsls r2, 16 lsrs r7, r2, 16 - ldr r4, _0805B454 @ =gUnknown_2037078 + ldr r4, _0805B454 @ =gPlayerAvatar ldrb r1, [r4, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -84,7 +84,7 @@ _0805B448: pop {r0} bx r0 .align 2, 0 -_0805B454: .4byte gUnknown_2037078 +_0805B454: .4byte gPlayerAvatar _0805B458: .4byte gMapObjects thumb_func_end sub_805B3E0 @@ -144,14 +144,14 @@ npc_clear_strange_bits: @ 805B4B0 adds r2, 0x2 ands r1, r2 strb r1, [r0, 0x1] - ldr r2, _0805B4D0 @ =gUnknown_2037078 + ldr r2, _0805B4D0 @ =gPlayerAvatar ldrb r1, [r2] movs r0, 0x7F ands r0, r1 strb r0, [r2] bx lr .align 2, 0 -_0805B4D0: .4byte gUnknown_2037078 +_0805B4D0: .4byte gPlayerAvatar thumb_func_end npc_clear_strange_bits thumb_func_start MovePlayerAvatarUsingKeypadInput @@ -163,7 +163,7 @@ MovePlayerAvatarUsingKeypadInput: @ 805B4D4 lsrs r4, r1, 16 lsls r2, 16 lsrs r2, 16 - ldr r0, _0805B4F8 @ =gUnknown_2037078 + ldr r0, _0805B4F8 @ =gPlayerAvatar ldrb r1, [r0] movs r0, 0x6 ands r0, r1 @@ -174,7 +174,7 @@ MovePlayerAvatarUsingKeypadInput: @ 805B4D4 bl sub_80BD09C b _0805B504 .align 2, 0 -_0805B4F8: .4byte gUnknown_2037078 +_0805B4F8: .4byte gPlayerAvatar _0805B4FC: adds r0, r3, 0 adds r1, r2, 0 @@ -188,7 +188,7 @@ _0805B504: thumb_func_start PlayerAllowForcedMovementIfMovingSameDirection PlayerAllowForcedMovementIfMovingSameDirection: @ 805B50C push {lr} - ldr r2, _0805B524 @ =gUnknown_2037078 + ldr r2, _0805B524 @ =gPlayerAvatar ldrb r0, [r2, 0x2] cmp r0, 0x2 bne _0805B51E @@ -200,13 +200,13 @@ _0805B51E: pop {r0} bx r0 .align 2, 0 -_0805B524: .4byte gUnknown_2037078 +_0805B524: .4byte gPlayerAvatar thumb_func_end PlayerAllowForcedMovementIfMovingSameDirection thumb_func_start sub_805B528 sub_805B528: @ 805B528 push {r4,r5,lr} - ldr r5, _0805B58C @ =gUnknown_2037078 + ldr r5, _0805B58C @ =gPlayerAvatar ldrb r1, [r5] movs r0, 0x40 ands r0, r1 @@ -252,7 +252,7 @@ _0805B586: movs r0, 0x1 b _0805B59A .align 2, 0 -_0805B58C: .4byte gUnknown_2037078 +_0805B58C: .4byte gPlayerAvatar _0805B590: .4byte gUnknown_2036E30 _0805B594: .4byte gMapObjects _0805B598: @@ -267,7 +267,7 @@ _0805B59A: sub_805B5A0: @ 805B5A0 push {r4-r7,lr} sub sp, 0x4 - ldr r3, _0805B5F4 @ =gUnknown_2037078 + ldr r3, _0805B5F4 @ =gPlayerAvatar ldrb r1, [r3] movs r0, 0x20 ands r0, r1 @@ -307,17 +307,17 @@ _0805B5CC: bne _0805B5CC b _0805B628 .align 2, 0 -_0805B5F4: .4byte gUnknown_2037078 +_0805B5F4: .4byte gPlayerAvatar _0805B5F8: .4byte gMapObjects _0805B5FC: .4byte gUnknown_835B764 _0805B600: - ldr r0, _0805B60C @ =gUnknown_2037078 + ldr r0, _0805B60C @ =gPlayerAvatar strh r7, [r0, 0x1C] adds r0, r2, 0x4 adds r0, r5, r0 b _0805B62E .align 2, 0 -_0805B60C: .4byte gUnknown_2037078 +_0805B60C: .4byte gPlayerAvatar _0805B610: movs r6, 0 ldr r0, _0805B640 @ =gUnknown_835B764 @@ -352,7 +352,7 @@ _0805B640: .4byte gUnknown_835B764 thumb_func_start ForcedMovement_None ForcedMovement_None: @ 805B644 push {r4,lr} - ldr r4, _0805B688 @ =gUnknown_2037078 + ldr r4, _0805B688 @ =gPlayerAvatar ldrb r1, [r4] movs r0, 0x40 ands r0, r1 @@ -385,7 +385,7 @@ _0805B67E: pop {r1} bx r1 .align 2, 0 -_0805B688: .4byte gUnknown_2037078 +_0805B688: .4byte gPlayerAvatar _0805B68C: .4byte gMapObjects thumb_func_end ForcedMovement_None @@ -399,7 +399,7 @@ DoForcedMovement: @ 805B690 mov r9, r1 lsls r0, 24 lsrs r5, r0, 24 - ldr r6, _0805B6D0 @ =gUnknown_2037078 + ldr r6, _0805B6D0 @ =gPlayerAvatar adds r0, r5, 0 bl sub_805BB1C lsls r0, 24 @@ -421,7 +421,7 @@ DoForcedMovement: @ 805B690 movs r0, 0 b _0805B6F8 .align 2, 0 -_0805B6D0: .4byte gUnknown_2037078 +_0805B6D0: .4byte gPlayerAvatar _0805B6D4: cmp r7, 0x6 bne _0805B6DE @@ -456,7 +456,7 @@ _0805B6F8: DoForcedMovementInCurrentDirection: @ 805B708 push {lr} adds r1, r0, 0 - ldr r0, _0805B734 @ =gUnknown_2037078 + ldr r0, _0805B734 @ =gPlayerAvatar ldrb r2, [r0, 0x5] lsls r0, r2, 3 adds r0, r2 @@ -475,7 +475,7 @@ DoForcedMovementInCurrentDirection: @ 805B708 pop {r1} bx r1 .align 2, 0 -_0805B734: .4byte gUnknown_2037078 +_0805B734: .4byte gPlayerAvatar _0805B738: .4byte gMapObjects thumb_func_end DoForcedMovementInCurrentDirection @@ -678,7 +678,7 @@ ForcedMovement_Slide: @ 805B88C push {r4,lr} lsls r0, 24 lsrs r0, 24 - ldr r2, _0805B8BC @ =gUnknown_2037078 + ldr r2, _0805B8BC @ =gPlayerAvatar ldrb r3, [r2, 0x5] lsls r2, r3, 3 adds r2, r3 @@ -698,7 +698,7 @@ ForcedMovement_Slide: @ 805B88C pop {r1} bx r1 .align 2, 0 -_0805B8BC: .4byte gUnknown_2037078 +_0805B8BC: .4byte gPlayerAvatar _0805B8C0: .4byte gMapObjects thumb_func_end ForcedMovement_Slide @@ -809,28 +809,28 @@ CheckMovementInputNotOnBike: @ 805B96C lsrs r4, r0, 24 cmp r4, 0 bne _0805B984 - ldr r0, _0805B980 @ =gUnknown_2037078 + ldr r0, _0805B980 @ =gPlayerAvatar strb r4, [r0, 0x2] movs r0, 0 b _0805B9A6 .align 2, 0 -_0805B980: .4byte gUnknown_2037078 +_0805B980: .4byte gPlayerAvatar _0805B984: bl player_get_direction_upper_nybble lsls r0, 24 lsrs r0, 24 cmp r4, r0 beq _0805B9A0 - ldr r1, _0805B99C @ =gUnknown_2037078 + ldr r1, _0805B99C @ =gPlayerAvatar ldrb r0, [r1, 0x2] cmp r0, 0x2 beq _0805B9A0 movs r0, 0x1 b _0805B9A4 .align 2, 0 -_0805B99C: .4byte gUnknown_2037078 +_0805B99C: .4byte gPlayerAvatar _0805B9A0: - ldr r1, _0805B9AC @ =gUnknown_2037078 + ldr r1, _0805B9AC @ =gPlayerAvatar movs r0, 0x2 _0805B9A4: strb r0, [r1, 0x2] @@ -839,7 +839,7 @@ _0805B9A6: pop {r1} bx r1 .align 2, 0 -_0805B9AC: .4byte gUnknown_2037078 +_0805B9AC: .4byte gPlayerAvatar thumb_func_end CheckMovementInputNotOnBike thumb_func_start PlayerNotOnBikeNotMoving @@ -898,7 +898,7 @@ _0805BA06: bl PlayerNotOnBikeCollide b _0805BAA4 _0805BA18: - ldr r6, _0805BA2C @ =gUnknown_2037078 + ldr r6, _0805BA2C @ =gPlayerAvatar ldrb r1, [r6] movs r0, 0x8 ands r0, r1 @@ -908,7 +908,7 @@ _0805BA18: bl sub_805C11C b _0805BAA4 .align 2, 0 -_0805BA2C: .4byte gUnknown_2037078 +_0805BA2C: .4byte gPlayerAvatar _0805BA30: movs r0, 0x2 ands r5, r0 @@ -943,14 +943,14 @@ _0805BA74: adds r0, r4, 0 bl sub_805C17C _0805BA7A: - ldr r2, _0805BA88 @ =gUnknown_2037078 + ldr r2, _0805BA88 @ =gPlayerAvatar ldrb r1, [r2] movs r0, 0x80 orrs r0, r1 strb r0, [r2] b _0805BAA4 .align 2, 0 -_0805BA88: .4byte gUnknown_2037078 +_0805BA88: .4byte gPlayerAvatar _0805BA8C: adds r0, r4, 0 bl sub_805BAAC @@ -974,7 +974,7 @@ sub_805BAAC: @ 805BAAC sub sp, 0x4 lsls r0, 24 lsrs r3, r0, 24 - ldr r0, _0805BAE4 @ =gUnknown_2037078 + ldr r0, _0805BAE4 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -999,7 +999,7 @@ sub_805BAAC: @ 805BAAC asrs r1, 16 b _0805BB00 .align 2, 0 -_0805BAE4: .4byte gUnknown_2037078 +_0805BAE4: .4byte gPlayerAvatar _0805BAE8: .4byte gMapObjects _0805BAEC: movs r0, 0x1 @@ -1012,7 +1012,7 @@ _0805BAEC: movs r2, 0 ldrsh r1, [r4, r2] _0805BB00: - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl sub_805A460 @@ -1034,7 +1034,7 @@ sub_805BB1C: @ 805BB1C sub sp, 0x8 lsls r0, 24 lsrs r6, r0, 24 - ldr r0, _0805BB94 @ =gUnknown_2037078 + ldr r0, _0805BB94 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -1052,7 +1052,7 @@ sub_805BB1C: @ 805BB1C ldrsh r0, [r0, r2] lsls r1, 16 asrs r1, 16 - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 16 lsrs r0, 16 adds r1, r6, 0 @@ -1069,7 +1069,7 @@ sub_805BB1C: @ 805BB1C ldrsh r0, [r0, r3] movs r2, 0 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 add r1, sp, 0x4 @@ -1085,7 +1085,7 @@ sub_805BB1C: @ 805BB1C lsrs r0, 24 b _0805BB9E .align 2, 0 -_0805BB94: .4byte gUnknown_2037078 +_0805BB94: .4byte gPlayerAvatar _0805BB98: .4byte gMapObjects _0805BB9C: movs r0, 0x8 @@ -1200,7 +1200,7 @@ sub_805BC60: @ 805BC60 lsrs r4, r1, 16 lsls r2, 24 lsrs r6, r2, 24 - ldr r0, _0805BCB8 @ =gUnknown_2037078 + ldr r0, _0805BCB8 @ =gPlayerAvatar ldrb r1, [r0] movs r0, 0x8 ands r0, r1 @@ -1233,7 +1233,7 @@ sub_805BC60: @ 805BC60 movs r0, 0x1 b _0805BCC2 .align 2, 0 -_0805BCB8: .4byte gUnknown_2037078 +_0805BCB8: .4byte gPlayerAvatar _0805BCBC: .4byte gUnknown_835B820 _0805BCC0: movs r0, 0 @@ -1313,7 +1313,7 @@ sub_805BCEC: @ 805BCEC ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r5, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt cmp r0, 0x66 beq _0805BD8A mov r0, sp @@ -1332,7 +1332,7 @@ sub_805BCEC: @ 805BCEC ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r5, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl sub_8059C8C @@ -1399,7 +1399,7 @@ SetPlayerAvatarTransitionFlags: @ 805BDEC push {lr} lsls r0, 16 lsrs r0, 16 - ldr r2, _0805BE04 @ =gUnknown_2037078 + ldr r2, _0805BE04 @ =gPlayerAvatar ldrb r1, [r2, 0x1] orrs r0, r1 strb r0, [r2, 0x1] @@ -1407,13 +1407,13 @@ SetPlayerAvatarTransitionFlags: @ 805BDEC pop {r0} bx r0 .align 2, 0 -_0805BE04: .4byte gUnknown_2037078 +_0805BE04: .4byte gPlayerAvatar thumb_func_end SetPlayerAvatarTransitionFlags thumb_func_start DoPlayerAvatarTransition DoPlayerAvatarTransition: @ 805BE08 push {r4,r5,lr} - ldr r0, _0805BE50 @ =gUnknown_2037078 + ldr r0, _0805BE50 @ =gPlayerAvatar ldrb r4, [r0, 0x1] cmp r4, 0 beq _0805BE48 @@ -1426,7 +1426,7 @@ _0805BE14: ldr r0, _0805BE54 @ =gUnknown_835B844 lsls r2, r5, 2 adds r2, r0 - ldr r0, _0805BE50 @ =gUnknown_2037078 + ldr r0, _0805BE50 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -1442,7 +1442,7 @@ _0805BE36: lsrs r4, 1 cmp r5, 0x7 bls _0805BE14 - ldr r1, _0805BE50 @ =gUnknown_2037078 + ldr r1, _0805BE50 @ =gPlayerAvatar movs r0, 0 strb r0, [r1, 0x1] _0805BE48: @@ -1450,7 +1450,7 @@ _0805BE48: pop {r0} bx r0 .align 2, 0 -_0805BE50: .4byte gUnknown_2037078 +_0805BE50: .4byte gPlayerAvatar _0805BE54: .4byte gUnknown_835B844 _0805BE58: .4byte gMapObjects thumb_func_end DoPlayerAvatarTransition @@ -1503,20 +1503,20 @@ nullsub_23: @ 805BEA4 thumb_func_start PlayerAvatarTransition_ReturnToField PlayerAvatarTransition_ReturnToField: @ 805BEA8 - ldr r2, _0805BEB4 @ =gUnknown_2037078 + ldr r2, _0805BEB4 @ =gPlayerAvatar ldrb r1, [r2] movs r0, 0x20 orrs r0, r1 strb r0, [r2] bx lr .align 2, 0 -_0805BEB4: .4byte gUnknown_2037078 +_0805BEB4: .4byte gPlayerAvatar thumb_func_end PlayerAvatarTransition_ReturnToField thumb_func_start sub_805BEB8 sub_805BEB8: @ 805BEB8 push {r4,lr} - ldr r4, _0805BEE4 @ =gUnknown_2037078 + ldr r4, _0805BEE4 @ =gPlayerAvatar movs r0, 0 strb r0, [r4, 0x3] bl PlayerIsAnimActive @@ -1534,7 +1534,7 @@ sub_805BEB8: @ 805BEB8 movs r0, 0x1 b _0805BEF4 .align 2, 0 -_0805BEE4: .4byte gUnknown_2037078 +_0805BEE4: .4byte gPlayerAvatar _0805BEE8: bl sub_805BF58 lsls r0, 24 @@ -1553,7 +1553,7 @@ _0805BEF6: player_is_anim_in_certain_ranges: @ 805BEFC push {lr} ldr r2, _0805BF48 @ =gMapObjects - ldr r0, _0805BF4C @ =gUnknown_2037078 + ldr r0, _0805BF4C @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -1591,7 +1591,7 @@ _0805BF42: b _0805BF52 .align 2, 0 _0805BF48: .4byte gMapObjects -_0805BF4C: .4byte gUnknown_2037078 +_0805BF4C: .4byte gPlayerAvatar _0805BF50: movs r0, 0 _0805BF52: @@ -1606,14 +1606,14 @@ sub_805BF58: @ 805BF58 lsls r0, 24 cmp r0, 0 beq _0805BF74 - ldr r0, _0805BF70 @ =gUnknown_2037078 + ldr r0, _0805BF70 @ =gPlayerAvatar ldrb r0, [r0, 0x2] cmp r0, 0x1 beq _0805BF74 movs r0, 0x1 b _0805BF76 .align 2, 0 -_0805BF70: .4byte gUnknown_2037078 +_0805BF70: .4byte gPlayerAvatar _0805BF74: movs r0, 0 _0805BF76: @@ -1624,7 +1624,7 @@ _0805BF76: thumb_func_start PlayerIsAnimActive PlayerIsAnimActive: @ 805BF7C push {lr} - ldr r0, _0805BF98 @ =gUnknown_2037078 + ldr r0, _0805BF98 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -1637,14 +1637,14 @@ PlayerIsAnimActive: @ 805BF7C pop {r1} bx r1 .align 2, 0 -_0805BF98: .4byte gUnknown_2037078 +_0805BF98: .4byte gPlayerAvatar _0805BF9C: .4byte gMapObjects thumb_func_end PlayerIsAnimActive thumb_func_start PlayerCheckIfAnimFinishedOrInactive PlayerCheckIfAnimFinishedOrInactive: @ 805BFA0 push {lr} - ldr r0, _0805BFBC @ =gUnknown_2037078 + ldr r0, _0805BFBC @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -1657,14 +1657,14 @@ PlayerCheckIfAnimFinishedOrInactive: @ 805BFA0 pop {r1} bx r1 .align 2, 0 -_0805BFBC: .4byte gUnknown_2037078 +_0805BFBC: .4byte gPlayerAvatar _0805BFC0: .4byte gMapObjects thumb_func_end PlayerCheckIfAnimFinishedOrInactive thumb_func_start player_set_x22 player_set_x22: @ 805BFC4 ldr r3, _0805BFD8 @ =gMapObjects - ldr r1, _0805BFDC @ =gUnknown_2037078 + ldr r1, _0805BFDC @ =gPlayerAvatar ldrb r2, [r1, 0x5] lsls r1, r2, 3 adds r1, r2 @@ -1675,13 +1675,13 @@ player_set_x22: @ 805BFC4 bx lr .align 2, 0 _0805BFD8: .4byte gMapObjects -_0805BFDC: .4byte gUnknown_2037078 +_0805BFDC: .4byte gPlayerAvatar thumb_func_end player_set_x22 thumb_func_start player_get_x22 player_get_x22: @ 805BFE0 ldr r2, _0805BFF4 @ =gMapObjects - ldr r0, _0805BFF8 @ =gUnknown_2037078 + ldr r0, _0805BFF8 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -1692,7 +1692,7 @@ player_get_x22: @ 805BFE0 bx lr .align 2, 0 _0805BFF4: .4byte gMapObjects -_0805BFF8: .4byte gUnknown_2037078 +_0805BFF8: .4byte gPlayerAvatar thumb_func_end player_get_x22 thumb_func_start sub_805BFFC @@ -1701,7 +1701,7 @@ sub_805BFFC: @ 805BFFC adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 - ldr r0, _0805C01C @ =gUnknown_2037078 + ldr r0, _0805C01C @ =gPlayerAvatar ldrb r2, [r0, 0x5] lsls r0, r2, 3 adds r0, r2 @@ -1712,7 +1712,7 @@ sub_805BFFC: @ 805BFFC pop {r0} bx r0 .align 2, 0 -_0805C01C: .4byte gUnknown_2037078 +_0805C01C: .4byte gPlayerAvatar _0805C020: .4byte gMapObjects thumb_func_end sub_805BFFC @@ -1729,7 +1729,7 @@ sub_805C024: @ 805C024 bne _0805C05E adds r0, r4, 0 bl player_set_x22 - ldr r0, _0805C064 @ =gUnknown_2037078 + ldr r0, _0805C064 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -1748,7 +1748,7 @@ _0805C05E: pop {r0} bx r0 .align 2, 0 -_0805C064: .4byte gUnknown_2037078 +_0805C064: .4byte gPlayerAvatar _0805C068: .4byte gMapObjects thumb_func_end sub_805C024 @@ -1757,7 +1757,7 @@ sub_805C06C: @ 805C06C push {r4,lr} lsls r1, 24 lsrs r4, r1, 24 - ldr r0, _0805C09C @ =gUnknown_2037078 + ldr r0, _0805C09C @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -1777,7 +1777,7 @@ _0805C094: pop {r0} bx r0 .align 2, 0 -_0805C09C: .4byte gUnknown_2037078 +_0805C09C: .4byte gPlayerAvatar _0805C0A0: .4byte gMapObjects thumb_func_end sub_805C06C @@ -2045,7 +2045,7 @@ sub_805C260: @ 805C260 thumb_func_start sub_805C270 sub_805C270: @ 805C270 push {r4,lr} - ldr r4, _0805C2AC @ =gUnknown_2037078 + ldr r4, _0805C2AC @ =gPlayerAvatar ldrb r0, [r4, 0x3] cmp r0, 0x2 beq _0805C27E @@ -2074,7 +2074,7 @@ _0805C2A6: pop {r0} bx r0 .align 2, 0 -_0805C2AC: .4byte gUnknown_2037078 +_0805C2AC: .4byte gPlayerAvatar _0805C2B0: .4byte gMapObjects thumb_func_end sub_805C270 @@ -2302,7 +2302,7 @@ sub_805C438: @ 805C438 lsrs r5, r0, 24 adds r6, r5, 0 ldr r2, _0805C4E8 @ =gMapObjects - ldr r0, _0805C4EC @ =gUnknown_2037078 + ldr r0, _0805C4EC @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -2361,7 +2361,7 @@ _0805C4A0: ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, 0 @@ -2379,7 +2379,7 @@ _0805C4DE: bx r0 .align 2, 0 _0805C4E8: .4byte gMapObjects -_0805C4EC: .4byte gUnknown_2037078 +_0805C4EC: .4byte gPlayerAvatar _0805C4F0: .4byte gUnknown_835B864 thumb_func_end sub_805C438 @@ -2389,7 +2389,7 @@ GetXYCoordsOneStepInFrontOfPlayer: @ 805C4F4 adds r4, r0, 0 adds r5, r1, 0 ldr r3, _0805C530 @ =gMapObjects - ldr r2, _0805C534 @ =gUnknown_2037078 + ldr r2, _0805C534 @ =gPlayerAvatar ldrb r1, [r2, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -2415,14 +2415,14 @@ GetXYCoordsOneStepInFrontOfPlayer: @ 805C4F4 bx r0 .align 2, 0 _0805C530: .4byte gMapObjects -_0805C534: .4byte gUnknown_2037078 +_0805C534: .4byte gPlayerAvatar thumb_func_end GetXYCoordsOneStepInFrontOfPlayer thumb_func_start PlayerGetDestCoords PlayerGetDestCoords: @ 805C538 push {r4,r5,lr} ldr r5, _0805C560 @ =gMapObjects - ldr r4, _0805C564 @ =gUnknown_2037078 + ldr r4, _0805C564 @ =gPlayerAvatar ldrb r3, [r4, 0x5] lsls r2, r3, 3 adds r2, r3 @@ -2442,7 +2442,7 @@ PlayerGetDestCoords: @ 805C538 bx r0 .align 2, 0 _0805C560: .4byte gMapObjects -_0805C564: .4byte gUnknown_2037078 +_0805C564: .4byte gPlayerAvatar thumb_func_end PlayerGetDestCoords thumb_func_start plaer_get_pos_including_state_based_drift @@ -2450,7 +2450,7 @@ plaer_get_pos_including_state_based_drift: @ 805C568 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 - ldr r0, _0805C5BC @ =gUnknown_2037078 + ldr r0, _0805C5BC @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -2492,7 +2492,7 @@ _0805C5B0: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0805C5BC: .4byte gUnknown_2037078 +_0805C5BC: .4byte gPlayerAvatar _0805C5C0: .4byte gMapObjects _0805C5C4: .4byte gSprites _0805C5C8: .4byte _0805C5CC @@ -2585,7 +2585,7 @@ _0805C6BC: thumb_func_start player_get_direction_lower_nybble player_get_direction_lower_nybble: @ 805C6C4 ldr r2, _0805C6DC @ =gMapObjects - ldr r0, _0805C6E0 @ =gUnknown_2037078 + ldr r0, _0805C6E0 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -2597,13 +2597,13 @@ player_get_direction_lower_nybble: @ 805C6C4 bx lr .align 2, 0 _0805C6DC: .4byte gMapObjects -_0805C6E0: .4byte gUnknown_2037078 +_0805C6E0: .4byte gPlayerAvatar thumb_func_end player_get_direction_lower_nybble thumb_func_start player_get_direction_upper_nybble player_get_direction_upper_nybble: @ 805C6E4 ldr r2, _0805C6F8 @ =gMapObjects - ldr r0, _0805C6FC @ =gUnknown_2037078 + ldr r0, _0805C6FC @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -2614,13 +2614,13 @@ player_get_direction_upper_nybble: @ 805C6E4 bx lr .align 2, 0 _0805C6F8: .4byte gMapObjects -_0805C6FC: .4byte gUnknown_2037078 +_0805C6FC: .4byte gPlayerAvatar thumb_func_end player_get_direction_upper_nybble thumb_func_start PlayerGetZCoord PlayerGetZCoord: @ 805C700 ldr r2, _0805C714 @ =gMapObjects - ldr r0, _0805C718 @ =gUnknown_2037078 + ldr r0, _0805C718 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -2631,7 +2631,7 @@ PlayerGetZCoord: @ 805C700 bx lr .align 2, 0 _0805C714: .4byte gMapObjects -_0805C718: .4byte gUnknown_2037078 +_0805C718: .4byte gPlayerAvatar thumb_func_end PlayerGetZCoord thumb_func_start sub_805C71C @@ -2639,7 +2639,7 @@ sub_805C71C: @ 805C71C push {lr} adds r3, r0, 0 adds r2, r1, 0 - ldr r0, _0805C744 @ =gUnknown_2037078 + ldr r0, _0805C744 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -2655,37 +2655,37 @@ sub_805C71C: @ 805C71C pop {r0} bx r0 .align 2, 0 -_0805C744: .4byte gUnknown_2037078 +_0805C744: .4byte gPlayerAvatar _0805C748: .4byte gMapObjects thumb_func_end sub_805C71C thumb_func_start TestPlayerAvatarFlags TestPlayerAvatarFlags: @ 805C74C - ldr r1, _0805C758 @ =gUnknown_2037078 + ldr r1, _0805C758 @ =gPlayerAvatar ldrb r1, [r1] ands r1, r0 adds r0, r1, 0 bx lr .align 2, 0 -_0805C758: .4byte gUnknown_2037078 +_0805C758: .4byte gPlayerAvatar thumb_func_end TestPlayerAvatarFlags thumb_func_start sub_805C75C sub_805C75C: @ 805C75C - ldr r0, _0805C764 @ =gUnknown_2037078 + ldr r0, _0805C764 @ =gPlayerAvatar ldrb r0, [r0] bx lr .align 2, 0 -_0805C764: .4byte gUnknown_2037078 +_0805C764: .4byte gPlayerAvatar thumb_func_end sub_805C75C thumb_func_start GetPlayerAvatarObjectId GetPlayerAvatarObjectId: @ 805C768 - ldr r0, _0805C770 @ =gUnknown_2037078 + ldr r0, _0805C770 @ =gPlayerAvatar ldrb r0, [r0, 0x4] bx lr .align 2, 0 -_0805C770: .4byte gUnknown_2037078 +_0805C770: .4byte gPlayerAvatar thumb_func_end GetPlayerAvatarObjectId thumb_func_start sub_805C774 @@ -2699,7 +2699,7 @@ sub_805C774: @ 805C774 thumb_func_start sub_805C780 sub_805C780: @ 805C780 push {r4,lr} - ldr r0, _0805C7C0 @ =gUnknown_2037078 + ldr r0, _0805C7C0 @ =gPlayerAvatar ldrb r0, [r0, 0x5] lsls r4, r0, 3 adds r4, r0 @@ -2726,7 +2726,7 @@ _0805C7B8: pop {r0} bx r0 .align 2, 0 -_0805C7C0: .4byte gUnknown_2037078 +_0805C7C0: .4byte gPlayerAvatar _0805C7C4: .4byte gMapObjects thumb_func_end sub_805C780 @@ -2776,7 +2776,7 @@ sub_805C808: @ 805C808 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r1, _0805C820 @ =gUnknown_2037078 + ldr r1, _0805C820 @ =gPlayerAvatar ldrb r1, [r1, 0x7] bl GetPlayerAvatarGraphicsIdByStateIdAndGender lsls r0, 24 @@ -2784,7 +2784,7 @@ sub_805C808: @ 805C808 pop {r1} bx r1 .align 2, 0 -_0805C820: .4byte gUnknown_2037078 +_0805C820: .4byte gPlayerAvatar thumb_func_end sub_805C808 thumb_func_start sub_805C824 @@ -2877,7 +2877,7 @@ _0805C8AC: IsPlayerFacingSurfableFishableWater: @ 805C8B0 push {r4,r5,lr} sub sp, 0x4 - ldr r0, _0805C924 @ =gUnknown_2037078 + ldr r0, _0805C924 @ =gPlayerAvatar ldrb r0, [r0, 0x5] lsls r4, r0, 3 adds r4, r0 @@ -2929,7 +2929,7 @@ IsPlayerFacingSurfableFishableWater: @ 805C8B0 movs r0, 0x1 b _0805C92E .align 2, 0 -_0805C924: .4byte gUnknown_2037078 +_0805C924: .4byte gPlayerAvatar _0805C928: .4byte gMapObjects _0805C92C: movs r0, 0 @@ -2962,21 +2962,21 @@ sub_805C938: @ 805C938 thumb_func_start ClearPlayerAvatarInfo ClearPlayerAvatarInfo: @ 805C95C push {lr} - ldr r0, _0805C96C @ =gUnknown_2037078 + ldr r0, _0805C96C @ =gPlayerAvatar movs r1, 0 movs r2, 0x20 bl memset pop {r0} bx r0 .align 2, 0 -_0805C96C: .4byte gUnknown_2037078 +_0805C96C: .4byte gPlayerAvatar thumb_func_end ClearPlayerAvatarInfo thumb_func_start SetPlayerAvatarStateMask SetPlayerAvatarStateMask: @ 805C970 lsls r0, 24 lsrs r0, 24 - ldr r3, _0805C984 @ =gUnknown_2037078 + ldr r3, _0805C984 @ =gPlayerAvatar ldrb r2, [r3] movs r1, 0xE0 ands r1, r2 @@ -2984,7 +2984,7 @@ SetPlayerAvatarStateMask: @ 805C970 strb r0, [r3] bx lr .align 2, 0 -_0805C984: .4byte gUnknown_2037078 +_0805C984: .4byte gPlayerAvatar thumb_func_end SetPlayerAvatarStateMask thumb_func_start GetPlayerAvatarStateTransitionByGraphicsId @@ -3028,7 +3028,7 @@ _0805C9C0: thumb_func_start GetPlayerAvatarGraphicsIdByCurrentState GetPlayerAvatarGraphicsIdByCurrentState: @ 805C9C8 push {r4-r6,lr} - ldr r0, _0805C9F0 @ =gUnknown_2037078 + ldr r0, _0805C9F0 @ =gPlayerAvatar ldrb r5, [r0] movs r2, 0 ldr r3, _0805C9F4 @ =gUnknown_835B882 @@ -3049,7 +3049,7 @@ _0805C9DC: ldrb r0, [r0] b _0805CA04 .align 2, 0 -_0805C9F0: .4byte gUnknown_2037078 +_0805C9F0: .4byte gPlayerAvatar _0805C9F4: .4byte gUnknown_835B882 _0805C9F8: adds r0, r2, 0x1 @@ -3072,7 +3072,7 @@ SetPlayerAvatarExtraStateTransition: @ 805CA0C lsrs r0, 24 lsls r4, 24 lsrs r4, 24 - ldr r5, _0805CA38 @ =gUnknown_2037078 + ldr r5, _0805CA38 @ =gPlayerAvatar ldrb r1, [r5, 0x7] bl GetPlayerAvatarStateTransitionByGraphicsId lsls r0, 24 @@ -3086,7 +3086,7 @@ SetPlayerAvatarExtraStateTransition: @ 805CA0C pop {r0} bx r0 .align 2, 0 -_0805CA38: .4byte gUnknown_2037078 +_0805CA38: .4byte gPlayerAvatar thumb_func_end SetPlayerAvatarExtraStateTransition thumb_func_start InitPlayerAvatar @@ -3164,7 +3164,7 @@ InitPlayerAvatar: @ 805CA3C mov r1, r9 bl FieldObjectTurn bl ClearPlayerAvatarInfo - ldr r0, _0805CB00 @ =gUnknown_2037078 + ldr r0, _0805CB00 @ =gPlayerAvatar strb r6, [r0, 0x2] strb r6, [r0, 0x3] strb r5, [r0, 0x5] @@ -3183,7 +3183,7 @@ InitPlayerAvatar: @ 805CA3C bx r0 .align 2, 0 _0805CAFC: .4byte gMapObjects -_0805CB00: .4byte gUnknown_2037078 +_0805CB00: .4byte gPlayerAvatar thumb_func_end InitPlayerAvatar thumb_func_start sub_805CB04 @@ -3192,7 +3192,7 @@ sub_805CB04: @ 805CB04 lsls r0, 24 lsrs r4, r0, 24 ldr r6, _0805CB64 @ =gMapObjects - ldr r5, _0805CB68 @ =gUnknown_2037078 + ldr r5, _0805CB68 @ =gPlayerAvatar ldrb r0, [r5, 0x5] lsls r1, r0, 3 adds r1, r0 @@ -3237,14 +3237,14 @@ _0805CB5C: bx r0 .align 2, 0 _0805CB64: .4byte gMapObjects -_0805CB68: .4byte gUnknown_2037078 +_0805CB68: .4byte gPlayerAvatar _0805CB6C: .4byte gSprites thumb_func_end sub_805CB04 thumb_func_start sub_805CB70 sub_805CB70: @ 805CB70 push {r4,r5,lr} - ldr r5, _0805CBAC @ =gUnknown_2037078 + ldr r5, _0805CBAC @ =gPlayerAvatar ldrb r0, [r5, 0x5] lsls r4, r0, 3 adds r4, r0 @@ -3270,7 +3270,7 @@ sub_805CB70: @ 805CB70 pop {r0} bx r0 .align 2, 0 -_0805CBAC: .4byte gUnknown_2037078 +_0805CBAC: .4byte gPlayerAvatar _0805CBB0: .4byte gMapObjects _0805CBB4: .4byte gSprites thumb_func_end sub_805CB70 @@ -3278,7 +3278,7 @@ _0805CBB4: .4byte gSprites thumb_func_start sub_805CBB8 sub_805CBB8: @ 805CBB8 push {lr} - ldr r2, _0805CBD4 @ =gUnknown_2037078 + ldr r2, _0805CBD4 @ =gPlayerAvatar ldrb r1, [r2] movs r0, 0x6 ands r0, r1 @@ -3290,7 +3290,7 @@ sub_805CBB8: @ 805CBB8 lsrs r0, 24 b _0805CBE0 .align 2, 0 -_0805CBD4: .4byte gUnknown_2037078 +_0805CBD4: .4byte gPlayerAvatar _0805CBD8: ldr r0, _0805CBE4 @ =gUnknown_835B88E ldrb r1, [r2, 0x7] @@ -3306,7 +3306,7 @@ _0805CBE4: .4byte gUnknown_835B88E thumb_func_start sub_805CBE8 sub_805CBE8: @ 805CBE8 push {r4,r5,lr} - ldr r5, _0805CC20 @ =gUnknown_2037078 + ldr r5, _0805CC20 @ =gPlayerAvatar ldrb r0, [r5, 0x5] lsls r4, r0, 3 adds r4, r0 @@ -3331,7 +3331,7 @@ sub_805CBE8: @ 805CBE8 pop {r0} bx r0 .align 2, 0 -_0805CC20: .4byte gUnknown_2037078 +_0805CC20: .4byte gPlayerAvatar _0805CC24: .4byte gMapObjects _0805CC28: .4byte gSprites thumb_func_end sub_805CBE8 @@ -3478,7 +3478,7 @@ _0805CD20: ldrsh r3, [r4, r0] lsls r3, 2 adds r3, r6 - ldr r0, _0805CD60 @ =gUnknown_2037078 + ldr r0, _0805CD60 @ =gPlayerAvatar ldrb r0, [r0, 0x5] lsls r1, r0, 3 adds r1, r0 @@ -3503,7 +3503,7 @@ _0805CD20: _0805CD54: .4byte gUnknown_835B8A0 _0805CD58: .4byte gTasks _0805CD5C: .4byte gMapObjects -_0805CD60: .4byte gUnknown_2037078 +_0805CD60: .4byte gPlayerAvatar thumb_func_end taskFF_bump_boulder thumb_func_start sub_805CD64 @@ -3511,7 +3511,7 @@ sub_805CD64: @ 805CD64 push {r4,lr} adds r4, r0, 0 bl ScriptContext2_Enable - ldr r1, _0805CD80 @ =gUnknown_2037078 + ldr r1, _0805CD80 @ =gPlayerAvatar movs r0, 0x1 strb r0, [r1, 0x6] ldrh r0, [r4, 0x8] @@ -3522,7 +3522,7 @@ sub_805CD64: @ 805CD64 pop {r1} bx r1 .align 2, 0 -_0805CD80: .4byte gUnknown_2037078 +_0805CD80: .4byte gPlayerAvatar thumb_func_end sub_805CD64 thumb_func_start sub_805CD84 @@ -3620,7 +3620,7 @@ sub_805CE20: @ 805CE20 ldrh r0, [r4, 0x10] ldrh r1, [r4, 0x12] bl sub_806DE70 - ldr r1, _0805CE78 @ =gUnknown_2037078 + ldr r1, _0805CE78 @ =gPlayerAvatar movs r0, 0 strb r0, [r1, 0x6] bl ScriptContext2_Disable @@ -3635,7 +3635,7 @@ _0805CE70: pop {r1} bx r1 .align 2, 0 -_0805CE78: .4byte gUnknown_2037078 +_0805CE78: .4byte gPlayerAvatar _0805CE7C: .4byte taskFF_bump_boulder thumb_func_end sub_805CE20 @@ -3672,7 +3672,7 @@ _0805CEB2: ldrsh r2, [r4, r0] lsls r2, 2 adds r2, r5 - ldr r0, _0805CEE4 @ =gUnknown_2037078 + ldr r0, _0805CEE4 @ =gPlayerAvatar ldrb r0, [r0, 0x5] lsls r1, r0, 3 adds r1, r0 @@ -3691,7 +3691,7 @@ _0805CEB2: .align 2, 0 _0805CEDC: .4byte gUnknown_835B8AC _0805CEE0: .4byte gTasks -_0805CEE4: .4byte gUnknown_2037078 +_0805CEE4: .4byte gPlayerAvatar _0805CEE8: .4byte gMapObjects thumb_func_end sub_805CEA0 @@ -3700,7 +3700,7 @@ PlayerAvatar_DoSecretBaseMatJump: @ 805CEEC push {r4-r6,lr} adds r6, r0, 0 adds r4, r1, 0 - ldr r5, _0805CF50 @ =gUnknown_2037078 + ldr r5, _0805CF50 @ =gPlayerAvatar movs r0, 0x1 strb r0, [r5, 0x6] adds r0, r4, 0 @@ -3743,7 +3743,7 @@ _0805CF48: pop {r1} bx r1 .align 2, 0 -_0805CF50: .4byte gUnknown_2037078 +_0805CF50: .4byte gPlayerAvatar _0805CF54: .4byte sub_805CEA0 thumb_func_end PlayerAvatar_DoSecretBaseMatJump @@ -3780,7 +3780,7 @@ _0805CF8A: ldrsh r2, [r4, r0] lsls r2, 2 adds r2, r5 - ldr r0, _0805CFBC @ =gUnknown_2037078 + ldr r0, _0805CFBC @ =gPlayerAvatar ldrb r0, [r0, 0x5] lsls r1, r0, 3 adds r1, r0 @@ -3799,7 +3799,7 @@ _0805CF8A: .align 2, 0 _0805CFB4: .4byte gUnknown_835B8B0 _0805CFB8: .4byte gTasks -_0805CFBC: .4byte gUnknown_2037078 +_0805CFBC: .4byte gPlayerAvatar _0805CFC0: .4byte gMapObjects thumb_func_end sub_805CF78 @@ -3812,7 +3812,7 @@ sub_805CFC4: @ 805CFC4 ldrb r1, [r1, 0x18] lsrs r1, 4 strh r1, [r0, 0xA] - ldr r1, _0805CFE8 @ =gUnknown_2037078 + ldr r1, _0805CFE8 @ =gPlayerAvatar movs r0, 0x1 strb r0, [r1, 0x6] bl ScriptContext2_Enable @@ -3822,7 +3822,7 @@ sub_805CFC4: @ 805CFC4 pop {r1} bx r1 .align 2, 0 -_0805CFE8: .4byte gUnknown_2037078 +_0805CFE8: .4byte gPlayerAvatar thumb_func_end sub_805CFC4 thumb_func_start sub_805CFEC @@ -3939,7 +3939,7 @@ sub_805D0A4: @ 805D0A4 adds r0, r5, 0 bl sub_805C06C bl ScriptContext2_Disable - ldr r1, _0805D0F0 @ =gUnknown_2037078 + ldr r1, _0805D0F0 @ =gPlayerAvatar movs r0, 0 strb r0, [r1, 0x6] ldr r0, _0805D0F4 @ =sub_805CF78 @@ -3953,7 +3953,7 @@ _0805D0E8: pop {r1} bx r1 .align 2, 0 -_0805D0F0: .4byte gUnknown_2037078 +_0805D0F0: .4byte gPlayerAvatar _0805D0F4: .4byte sub_805CF78 thumb_func_end sub_805D0A4 @@ -3967,7 +3967,7 @@ sub_805D0F8: @ 805D0F8 bl player_bitmagic bl sav1_reset_battle_music_maybe bl Overworld_ChangeMusicToDefault - ldr r2, _0805D148 @ =gUnknown_2037078 + ldr r2, _0805D148 @ =gPlayerAvatar ldrb r1, [r2] movs r0, 0xF7 ands r0, r1 @@ -3993,7 +3993,7 @@ sub_805D0F8: @ 805D0F8 pop {r0} bx r0 .align 2, 0 -_0805D148: .4byte gUnknown_2037078 +_0805D148: .4byte gPlayerAvatar _0805D14C: .4byte taskFF_0805D1D4 _0805D150: .4byte gTasks thumb_func_end sub_805D0F8 @@ -4006,7 +4006,7 @@ sub_805D154: @ 805D154 lsrs r4, 24 bl ScriptContext2_Enable bl player_bitmagic - ldr r2, _0805D19C @ =gUnknown_2037078 + ldr r2, _0805D19C @ =gPlayerAvatar ldrb r1, [r2] movs r0, 0xF7 ands r0, r1 @@ -4032,7 +4032,7 @@ sub_805D154: @ 805D154 pop {r0} bx r0 .align 2, 0 -_0805D19C: .4byte gUnknown_2037078 +_0805D19C: .4byte gPlayerAvatar _0805D1A0: .4byte taskFF_0805D1D4 _0805D1A4: .4byte gTasks thumb_func_end sub_805D154 @@ -4065,7 +4065,7 @@ taskFF_0805D1D4: @ 805D1D4 push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r0, _0805D230 @ =gUnknown_2037078 + ldr r0, _0805D230 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -4105,7 +4105,7 @@ _0805D228: pop {r0} bx r0 .align 2, 0 -_0805D230: .4byte gUnknown_2037078 +_0805D230: .4byte gPlayerAvatar _0805D234: .4byte gMapObjects _0805D238: .4byte gTasks _0805D23C: .4byte sub_805D240 @@ -4116,7 +4116,7 @@ sub_805D240: @ 805D240 push {r4-r6,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r6, _0805D2B4 @ =gUnknown_2037078 + ldr r6, _0805D2B4 @ =gPlayerAvatar ldrb r1, [r6, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -4163,7 +4163,7 @@ _0805D2AE: pop {r0} bx r0 .align 2, 0 -_0805D2B4: .4byte gUnknown_2037078 +_0805D2B4: .4byte gPlayerAvatar _0805D2B8: .4byte gMapObjects _0805D2BC: .4byte gSprites thumb_func_end sub_805D240 @@ -4236,7 +4236,7 @@ sub_805D33C: @ 805D33C push {r4,lr} adds r4, r0, 0 bl ScriptContext2_Enable - ldr r1, _0805D358 @ =gUnknown_2037078 + ldr r1, _0805D358 @ =gPlayerAvatar movs r0, 0x1 strb r0, [r1, 0x6] ldrh r0, [r4, 0x8] @@ -4247,7 +4247,7 @@ sub_805D33C: @ 805D33C pop {r1} bx r1 .align 2, 0 -_0805D358: .4byte gUnknown_2037078 +_0805D358: .4byte gPlayerAvatar thumb_func_end sub_805D33C thumb_func_start fish1 @@ -4282,7 +4282,7 @@ fish1: @ 805D35C adds r1, r0 strh r1, [r5, 0x22] ldr r3, _0805D3EC @ =gMapObjects - ldr r2, _0805D3F0 @ =gUnknown_2037078 + ldr r2, _0805D3F0 @ =gPlayerAvatar ldrb r1, [r2, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -4317,14 +4317,14 @@ fish1: @ 805D35C _0805D3E4: .4byte gUnknown_835B90C _0805D3E8: .4byte gUnknown_835B912 _0805D3EC: .4byte gMapObjects -_0805D3F0: .4byte gUnknown_2037078 +_0805D3F0: .4byte gPlayerAvatar thumb_func_end fish1 thumb_func_start fish2 fish2: @ 805D3F4 push {r4,lr} adds r4, r0, 0 - ldr r0, _0805D428 @ =gUnknown_2037078 + ldr r0, _0805D428 @ =gPlayerAvatar ldrb r1, [r0, 0x4] lsls r0, r1, 4 adds r0, r1 @@ -4348,7 +4348,7 @@ _0805D41E: pop {r1} bx r1 .align 2, 0 -_0805D428: .4byte gUnknown_2037078 +_0805D428: .4byte gPlayerAvatar _0805D42C: .4byte gSprites thumb_func_end fish2 @@ -4398,7 +4398,7 @@ sub_805D47C: @ 805D47C push {r4,r5,lr} sub sp, 0xC adds r4, r0, 0 - ldr r0, _0805D4CC @ =gUnknown_2037078 + ldr r0, _0805D4CC @ =gPlayerAvatar ldrb r1, [r0, 0x4] lsls r0, r1, 4 adds r0, r1 @@ -4436,7 +4436,7 @@ _0805D4C6: strh r0, [r4, 0x20] b _0805D4F8 .align 2, 0 -_0805D4CC: .4byte gUnknown_2037078 +_0805D4CC: .4byte gPlayerAvatar _0805D4D0: .4byte gSprites _0805D4D4: ldr r2, _0805D504 @ =gUnknown_835B918 @@ -4470,7 +4470,7 @@ _0805D504: .4byte gUnknown_835B918 sub_805D508: @ 805D508 push {r4-r6,lr} adds r4, r0, 0 - ldr r6, _0805D540 @ =gUnknown_2037078 + ldr r6, _0805D540 @ =gPlayerAvatar ldrb r1, [r6, 0x4] lsls r0, r1, 4 adds r0, r1 @@ -4495,7 +4495,7 @@ _0805D53A: strh r0, [r4, 0x8] b _0805D56A .align 2, 0 -_0805D540: .4byte gUnknown_2037078 +_0805D540: .4byte gPlayerAvatar _0805D544: .4byte gSprites _0805D548: ldrb r0, [r6, 0x4] @@ -4537,7 +4537,7 @@ sub_805D580: @ 805D580 mov r0, sp movs r2, 0x6 bl memcpy - ldr r0, _0805D5C4 @ =gUnknown_2037078 + ldr r0, _0805D5C4 @ =gPlayerAvatar ldrb r1, [r0, 0x4] lsls r0, r1, 4 adds r0, r1 @@ -4562,7 +4562,7 @@ sub_805D580: @ 805D580 b _0805D5DC .align 2, 0 _0805D5C0: .4byte gUnknown_835B91A -_0805D5C4: .4byte gUnknown_2037078 +_0805D5C4: .4byte gPlayerAvatar _0805D5C8: .4byte gSprites _0805D5CC: ldr r0, _0805D5E8 @ =gMain @@ -4594,7 +4594,7 @@ sub_805D5EC: @ 805D5EC mov r0, sp movs r2, 0xC bl memcpy - ldr r0, _0805D664 @ =gUnknown_2037078 + ldr r0, _0805D664 @ =gPlayerAvatar ldrb r1, [r0, 0x4] lsls r0, r1, 4 adds r0, r1 @@ -4644,7 +4644,7 @@ _0805D654: bx r1 .align 2, 0 _0805D660: .4byte gUnknown_835B920 -_0805D664: .4byte gUnknown_2037078 +_0805D664: .4byte gPlayerAvatar _0805D668: .4byte gSprites thumb_func_end sub_805D5EC @@ -4653,7 +4653,7 @@ sub_805D66C: @ 805D66C push {r4,r5,lr} sub sp, 0x10 adds r4, r0, 0 - ldr r0, _0805D6BC @ =gUnknown_2037078 + ldr r0, _0805D6BC @ =gPlayerAvatar ldrb r1, [r0, 0x4] lsls r0, r1, 4 adds r0, r1 @@ -4687,7 +4687,7 @@ sub_805D66C: @ 805D66C pop {r1} bx r1 .align 2, 0 -_0805D6BC: .4byte gUnknown_2037078 +_0805D6BC: .4byte gPlayerAvatar _0805D6C0: .4byte gSprites _0805D6C4: .4byte gUnknown_841D14E thumb_func_end sub_805D66C @@ -4702,7 +4702,7 @@ sub_805D6C8: @ 805D6C8 ldrsh r0, [r5, r1] cmp r0, 0 bne _0805D6EA - ldr r0, _0805D774 @ =gUnknown_2037078 + ldr r0, _0805D774 @ =gPlayerAvatar ldrb r1, [r0, 0x4] lsls r0, r1, 4 adds r0, r1 @@ -4722,7 +4722,7 @@ _0805D6EA: lsrs r6, r0, 16 cmp r6, 0 bne _0805D780 - ldr r7, _0805D774 @ =gUnknown_2037078 + ldr r7, _0805D774 @ =gPlayerAvatar ldrb r0, [r7, 0x5] lsls r4, r0, 3 adds r4, r0 @@ -4775,7 +4775,7 @@ _0805D748: strh r0, [r5, 0xA] b _0805D7AA .align 2, 0 -_0805D774: .4byte gUnknown_2037078 +_0805D774: .4byte gPlayerAvatar _0805D778: .4byte gSprites _0805D77C: .4byte gMapObjects _0805D780: @@ -4784,7 +4784,7 @@ _0805D780: cmp r0, 0 beq _0805D7AA _0805D788: - ldr r1, _0805D7B8 @ =gUnknown_2037078 + ldr r1, _0805D7B8 @ =gPlayerAvatar movs r0, 0 strb r0, [r1, 0x6] bl ScriptContext2_Disable @@ -4805,7 +4805,7 @@ _0805D7AA: pop {r1} bx r1 .align 2, 0 -_0805D7B8: .4byte gUnknown_2037078 +_0805D7B8: .4byte gPlayerAvatar _0805D7BC: .4byte sub_805D304 thumb_func_end sub_805D6C8 @@ -4814,7 +4814,7 @@ sub_805D7C0: @ 805D7C0 push {r4-r6,lr} sub sp, 0x10 adds r6, r0, 0 - ldr r4, _0805D82C @ =gUnknown_2037078 + ldr r4, _0805D82C @ =gPlayerAvatar ldrb r1, [r4, 0x4] lsls r0, r1, 4 adds r0, r1 @@ -4860,7 +4860,7 @@ sub_805D7C0: @ 805D7C0 pop {r1} bx r1 .align 2, 0 -_0805D82C: .4byte gUnknown_2037078 +_0805D82C: .4byte gPlayerAvatar _0805D830: .4byte gSprites _0805D834: .4byte gUnknown_841D169 thumb_func_end sub_805D7C0 @@ -4870,7 +4870,7 @@ sub_805D838: @ 805D838 push {r4-r6,lr} sub sp, 0x10 adds r6, r0, 0 - ldr r4, _0805D8A0 @ =gUnknown_2037078 + ldr r4, _0805D8A0 @ =gPlayerAvatar ldrb r1, [r4, 0x4] lsls r0, r1, 4 adds r0, r1 @@ -4914,7 +4914,7 @@ sub_805D838: @ 805D838 pop {r1} bx r1 .align 2, 0 -_0805D8A0: .4byte gUnknown_2037078 +_0805D8A0: .4byte gPlayerAvatar _0805D8A4: .4byte gSprites _0805D8A8: .4byte gUnknown_841D17E thumb_func_end sub_805D838 @@ -4923,7 +4923,7 @@ _0805D8A8: .4byte gUnknown_841D17E sub_805D8AC: @ 805D8AC push {r4,lr} adds r4, r0, 0 - ldr r0, _0805D8D0 @ =gUnknown_2037078 + ldr r0, _0805D8D0 @ =gPlayerAvatar ldrb r1, [r0, 0x4] lsls r0, r1, 4 adds r0, r1 @@ -4939,7 +4939,7 @@ sub_805D8AC: @ 805D8AC pop {r1} bx r1 .align 2, 0 -_0805D8D0: .4byte gUnknown_2037078 +_0805D8D0: .4byte gPlayerAvatar _0805D8D4: .4byte gSprites thumb_func_end sub_805D8AC @@ -4949,7 +4949,7 @@ sub_805D8D8: @ 805D8D8 mov r7, r8 push {r7} adds r6, r0, 0 - ldr r5, _0805D974 @ =gUnknown_2037078 + ldr r5, _0805D974 @ =gPlayerAvatar ldrb r1, [r5, 0x4] lsls r0, r1, 4 adds r0, r1 @@ -5022,7 +5022,7 @@ _0805D968: pop {r1} bx r1 .align 2, 0 -_0805D974: .4byte gUnknown_2037078 +_0805D974: .4byte gPlayerAvatar _0805D978: .4byte gSprites _0805D97C: .4byte gMapObjects thumb_func_end sub_805D8D8 @@ -5037,7 +5037,7 @@ sub_805D980: @ 805D980 lsrs r1, r0, 16 cmp r1, 0 bne _0805D9B6 - ldr r0, _0805D9BC @ =gUnknown_2037078 + ldr r0, _0805D9BC @ =gPlayerAvatar strb r1, [r0, 0x6] bl ScriptContext2_Disable bl UnfreezeMapObjects @@ -5054,7 +5054,7 @@ _0805D9B6: pop {r1} bx r1 .align 2, 0 -_0805D9BC: .4byte gUnknown_2037078 +_0805D9BC: .4byte gPlayerAvatar _0805D9C0: .4byte sub_805D304 thumb_func_end sub_805D980 @@ -5153,7 +5153,7 @@ _0805DA68: movs r0, 0x8 strh r0, [r4, 0x26] _0805DA78: - ldr r3, _0805DAA8 @ =gUnknown_2037078 + ldr r3, _0805DAA8 @ =gPlayerAvatar ldrb r1, [r3] movs r0, 0x8 ands r0, r1 @@ -5176,7 +5176,7 @@ _0805DA9C: bx r0 .align 2, 0 _0805DAA4: .4byte 0x0000fff8 -_0805DAA8: .4byte gUnknown_2037078 +_0805DAA8: .4byte gPlayerAvatar _0805DAAC: .4byte gMapObjects thumb_func_end sub_805D9C4 @@ -5242,7 +5242,7 @@ sub_805DB04: @ 805DB04 lsls r0, 24 lsrs r0, 24 adds r2, r0, 0 - ldr r0, _0805DB48 @ =gUnknown_2037078 + ldr r0, _0805DB48 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -5270,7 +5270,7 @@ sub_805DB04: @ 805DB04 beq _0805DB5E b _0805DBFA .align 2, 0 -_0805DB48: .4byte gUnknown_2037078 +_0805DB48: .4byte gPlayerAvatar _0805DB4C: .4byte gMapObjects _0805DB50: .4byte gSprites _0805DB54: .4byte gTasks+0x8 @@ -5401,7 +5401,7 @@ sub_805DC38: @ 805DC38 lsls r0, 24 lsrs r0, 24 mov r8, r0 - ldr r0, _0805DC80 @ =gUnknown_2037078 + ldr r0, _0805DC80 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -5430,7 +5430,7 @@ sub_805DC38: @ 805DC38 beq _0805DC9A b _0805DDBA .align 2, 0 -_0805DC80: .4byte gUnknown_2037078 +_0805DC80: .4byte gPlayerAvatar _0805DC84: .4byte gMapObjects _0805DC88: .4byte gSprites _0805DC8C: .4byte gTasks+0x8 diff --git a/asm/field_screen_effect.s b/asm/field_screen_effect.s index a1a51b908..a8477a33f 100644 --- a/asm/field_screen_effect.s +++ b/asm/field_screen_effect.s @@ -937,7 +937,7 @@ _0807F542: lsls r0, 24 cmp r0, 0 beq _0807F5E4 - ldr r0, _0807F57C @ =gUnknown_2037078 + ldr r0, _0807F57C @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -957,7 +957,7 @@ _0807F542: b _0807F5E4 .align 2, 0 _0807F578: .4byte gUnknown_841B5B6 -_0807F57C: .4byte gUnknown_2037078 +_0807F57C: .4byte gPlayerAvatar _0807F580: .4byte gMapObjects _0807F584: .4byte gTasks _0807F588: diff --git a/asm/field_specials.s b/asm/field_specials.s index 9acb16b27..537a4e6dc 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -21,7 +21,7 @@ _080CA62C: .4byte sub_80F4C10 thumb_func_start sub_80CA630 sub_80CA630: @ 80CA630 push {r4,lr} - ldr r0, _080CA65C @ =gUnknown_2037078 + ldr r0, _080CA65C @ =gPlayerAvatar ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -40,7 +40,7 @@ _080CA644: pop {r0} bx r0 .align 2, 0 -_080CA65C: .4byte gUnknown_2037078 +_080CA65C: .4byte gPlayerAvatar thumb_func_end sub_80CA630 thumb_func_start nullsub_74 diff --git a/asm/field_tasks.s b/asm/field_tasks.s index 88b65274f..d7dd5e6b6 100644 --- a/asm/field_tasks.s +++ b/asm/field_tasks.s @@ -322,7 +322,7 @@ _0806EA52: ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r6, r0, 24 adds r0, r6, 0 @@ -478,7 +478,7 @@ _0806EB8E: ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl sub_8059F50 @@ -576,7 +576,7 @@ sub_806EC40: @ 806EC40 ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 16 lsrs r7, r0, 16 ldrh r1, [r5, 0x8] diff --git a/asm/fieldmap.s b/asm/fieldmap.s index 8be48d4c5..a8b2d36ee 100644 --- a/asm/fieldmap.s +++ b/asm/fieldmap.s @@ -789,8 +789,8 @@ sub_8058F48: @ 8058F48 _08058F74: .4byte gMapHeader thumb_func_end sub_8058F48 - thumb_func_start sub_8058F78 -sub_8058F78: @ 8058F78 + thumb_func_start MapGridGetMetatileBehaviorAt +MapGridGetMetatileBehaviorAt: @ 8058F78 push {lr} lsls r0, 16 asrs r0, 16 @@ -800,7 +800,7 @@ sub_8058F78: @ 8058F78 bl sub_8058F48 pop {r1} bx r1 - thumb_func_end sub_8058F78 + thumb_func_end MapGridGetMetatileBehaviorAt thumb_func_start sub_8058F8C sub_8058F8C: @ 8058F8C diff --git a/asm/fldeff_cut.s b/asm/fldeff_cut.s index 697b80bd5..5710a320e 100644 --- a/asm/fldeff_cut.s +++ b/asm/fldeff_cut.s @@ -319,7 +319,7 @@ _08097ABC: movs r7, 0 ldr r5, _08097B44 @ =gSprites _08097AE2: - ldr r0, _08097B48 @ =gUnknown_2037078 + ldr r0, _08097B48 @ =gPlayerAvatar ldrb r1, [r0, 0x4] lsls r0, r1, 4 adds r0, r1 @@ -366,7 +366,7 @@ _08097B38: .4byte gUnknown_2039A04 _08097B3C: .4byte 0x0000ffff _08097B40: .4byte gUnknown_2039870 _08097B44: .4byte gSprites -_08097B48: .4byte gUnknown_2037078 +_08097B48: .4byte gPlayerAvatar _08097B4C: .4byte gUnknown_83D414C thumb_func_end sub_8097A48 diff --git a/asm/item_menu.s b/asm/item_menu.s index d9aa3dd95..6c508193f 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -5817,8 +5817,8 @@ _0810AD08: .4byte gUnknown_84163BB _0810AD0C: .4byte sub_810A1D0 thumb_func_end sub_810AC40 - thumb_func_start sub_810AD10 -sub_810AD10: @ 810AD10 + thumb_func_start UseRegisteredKeyItemOnField +UseRegisteredKeyItemOnField: @ 810AD10 push {r4-r6,lr} bl InUnionRoom cmp r0, 0x1 @@ -5887,7 +5887,7 @@ _0810ADA0: bx r1 .align 2, 0 _0810ADA8: .4byte gUnknown_81A77A0 - thumb_func_end sub_810AD10 + thumb_func_end UseRegisteredKeyItemOnField thumb_func_start sub_810ADAC sub_810ADAC: @ 810ADAC diff --git a/asm/item_use.s b/asm/item_use.s index b3ea4af48..586426239 100644 --- a/asm/item_use.s +++ b/asm/item_use.s @@ -348,7 +348,7 @@ sub_80A122C: @ 80A122C ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r4, r0, 24 movs r0, 0x83 @@ -506,7 +506,7 @@ sub_80A137C: @ 80A137C ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 16 lsrs r6, r0, 16 lsls r0, r6, 24 diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index 3715fa608..a66dc0980 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -9685,7 +9685,7 @@ sub_811A9B8: @ 811A9B8 ldrsh r0, [r4, r1] cmp r0, 0x8 bne _0811A9F0 - ldr r0, _0811A9EC @ =gUnknown_2037078 + ldr r0, _0811A9EC @ =gPlayerAvatar ldrb r0, [r0, 0x3] cmp r0, 0x2 beq _0811A9E6 @@ -9695,7 +9695,7 @@ _0811A9E6: movs r0, 0x1 b _0811A9F2 .align 2, 0 -_0811A9EC: .4byte gUnknown_2037078 +_0811A9EC: .4byte gPlayerAvatar _0811A9F0: movs r0, 0 _0811A9F2: @@ -11147,7 +11147,7 @@ _0811B500: .4byte gUnknown_8459580 thumb_func_start is_walking_or_running is_walking_or_running: @ 811B504 push {lr} - ldr r0, _0811B518 @ =gUnknown_2037078 + ldr r0, _0811B518 @ =gPlayerAvatar ldrb r0, [r0, 0x3] cmp r0, 0x2 beq _0811B512 @@ -11157,7 +11157,7 @@ _0811B512: movs r0, 0x1 b _0811B51E .align 2, 0 -_0811B518: .4byte gUnknown_2037078 +_0811B518: .4byte gPlayerAvatar _0811B51C: movs r0, 0 _0811B51E: diff --git a/asm/map_obj_80688E4.s b/asm/map_obj_80688E4.s index 0f878255c..7b3fd584e 100644 --- a/asm/map_obj_80688E4.s +++ b/asm/map_obj_80688E4.s @@ -96,7 +96,7 @@ _0806897A: lsls r0, 31 cmp r0, 0 beq _08068998 - ldr r0, _080689AC @ =gUnknown_2037078 + ldr r0, _080689AC @ =gPlayerAvatar ldrb r0, [r0, 0x5] cmp r4, r0 beq _08068998 @@ -113,7 +113,7 @@ _08068998: bx r0 .align 2, 0 _080689A8: .4byte gMapObjects -_080689AC: .4byte gUnknown_2037078 +_080689AC: .4byte gPlayerAvatar thumb_func_end player_bitmagic thumb_func_start FreezeMapObjectsExceptOne @@ -134,7 +134,7 @@ _080689BA: lsls r0, 31 cmp r0, 0 beq _080689DC - ldr r0, _080689F0 @ =gUnknown_2037078 + ldr r0, _080689F0 @ =gPlayerAvatar ldrb r0, [r0, 0x5] cmp r4, r0 beq _080689DC @@ -151,7 +151,7 @@ _080689DC: bx r0 .align 2, 0 _080689EC: .4byte gMapObjects -_080689F0: .4byte gUnknown_2037078 +_080689F0: .4byte gPlayerAvatar thumb_func_end FreezeMapObjectsExceptOne thumb_func_start npc_sync_anim_pause_bits diff --git a/asm/map_obj_lock.s b/asm/map_obj_lock.s index a5a61662d..4ff07589a 100644 --- a/asm/map_obj_lock.s +++ b/asm/map_obj_lock.s @@ -8,14 +8,14 @@ thumb_func_start walkrun_is_standing_still walkrun_is_standing_still: @ 8069554 push {lr} - ldr r0, _08069564 @ =gUnknown_2037078 + ldr r0, _08069564 @ =gPlayerAvatar ldrb r0, [r0, 0x3] cmp r0, 0x1 beq _08069568 movs r0, 0x1 b _0806956A .align 2, 0 -_08069564: .4byte gUnknown_2037078 +_08069564: .4byte gPlayerAvatar _08069568: movs r0, 0 _0806956A: diff --git a/asm/metatile_behavior.s b/asm/metatile_behavior.s index 12d5b243e..6dd520d71 100644 --- a/asm/metatile_behavior.s +++ b/asm/metatile_behavior.s @@ -484,8 +484,8 @@ _08059D66: bx r1 thumb_func_end sub_8059D2C - thumb_func_start sub_8059D70 -sub_8059D70: @ 8059D70 + thumb_func_start MetatileBehavior_IsMoveTile +MetatileBehavior_IsMoveTile: @ 8059D70 push {lr} lsls r0, 24 lsrs r1, r0, 24 @@ -519,7 +519,7 @@ _08059DA6: _08059DA8: pop {r1} bx r1 - thumb_func_end sub_8059D70 + thumb_func_end MetatileBehavior_IsMoveTile thumb_func_start sub_8059DAC sub_8059DAC: @ 8059DAC diff --git a/asm/overworld.s b/asm/overworld.s index 63849f1fb..4ab22581a 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -2190,7 +2190,7 @@ sub_8055C74: @ 8055C74 adds r1, 0x7 lsls r1, 16 asrs r1, 16 - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 16 lsrs r0, 16 pop {r1} @@ -2677,7 +2677,7 @@ sub_8055FE0: @ 8055FE0 ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl sub_8059CA4 @@ -3263,7 +3263,7 @@ sub_805644C: @ 805644C mov r0, sp adds r1, r5, 0 adds r2, r4, 0 - bl sub_806C8BC + bl FieldGetPlayerInput mov r0, sp bl sub_806CD30 bl ScriptContext2_IsEnabled @@ -4735,7 +4735,7 @@ sub_8057100: @ 8057100 sub_8057114: @ 8057114 push {lr} ldr r2, _08057138 @ =gMapObjects - ldr r3, _0805713C @ =gUnknown_2037078 + ldr r3, _0805713C @ =gPlayerAvatar ldrb r1, [r3, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -4751,7 +4751,7 @@ sub_8057114: @ 8057114 bx r0 .align 2, 0 _08057138: .4byte gMapObjects -_0805713C: .4byte gUnknown_2037078 +_0805713C: .4byte gPlayerAvatar thumb_func_end sub_8057114 thumb_func_start sub_8057140 @@ -6640,7 +6640,7 @@ _08057F96: ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r5, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt strh r0, [r6, 0xC] add sp, 0x4 pop {r4-r6} @@ -6913,7 +6913,7 @@ sub_80581C8: @ 80581C8 push {lr} movs r0, 0x6 bl PlaySE - bl sub_806F258 + bl ShowStartMenu bl ScriptContext2_Enable pop {r0} bx r0 diff --git a/asm/party_menu.s b/asm/party_menu.s index 88ac3f455..50c485ad5 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -12100,7 +12100,7 @@ sub_8124998: @ 8124998 ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl sub_8059CC8 @@ -12163,7 +12163,7 @@ _08124A24: ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl sub_8059CC8 @@ -12276,7 +12276,7 @@ hm_prepare_waterfall: @ 8124AF8 ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl MetatileBehavior_IsWaterfall diff --git a/asm/quest_log.s b/asm/quest_log.s index ce8445e16..09f621d43 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,189 +5,6 @@ .text - thumb_func_start sub_8112720 -sub_8112720: @ 8112720 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - bl sub_8112D1C - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0 - bne _08112774 - ldr r2, _08112780 @ =gUnknown_203AF98 - ldrh r0, [r2] - ldr r3, _08112784 @ =gUnknown_3005E94 - ldr r4, [r3] - lsls r0, 3 - adds r0, r4 - ldr r6, _08112788 @ =gUnknown_203B01A - ldrh r1, [r6] - movs r5, 0 - strh r1, [r0, 0x4] - ldrh r0, [r2] - lsls r0, 3 - adds r0, r4 - movs r1, 0x1 - strb r1, [r0, 0x6] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - strb r5, [r0] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - mov r1, r8 - strb r1, [r0, 0x3] - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - strh r7, [r6] -_08112774: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08112780: .4byte gUnknown_203AF98 -_08112784: .4byte gUnknown_3005E94 -_08112788: .4byte gUnknown_203B01A - thumb_func_end sub_8112720 - - thumb_func_start sub_811278C -sub_811278C: @ 811278C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - bl sub_8112D1C - lsls r0, 24 - cmp r0, 0 - bne _081127E2 - ldr r2, _081127EC @ =gUnknown_203AF98 - ldrh r0, [r2] - ldr r3, _081127F0 @ =gUnknown_3005E94 - ldr r4, [r3] - lsls r0, 3 - adds r0, r4 - ldr r6, _081127F4 @ =gUnknown_203B01A - ldrh r1, [r6] - movs r5, 0 - strh r1, [r0, 0x4] - ldrh r0, [r2] - lsls r0, 3 - adds r0, r4 - movs r1, 0x1 - strb r1, [r0, 0x6] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - strb r5, [r0] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - strb r7, [r0, 0x3] - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - mov r0, r8 - strh r0, [r6] -_081127E2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081127EC: .4byte gUnknown_203AF98 -_081127F0: .4byte gUnknown_3005E94 -_081127F4: .4byte gUnknown_203B01A - thumb_func_end sub_811278C - - thumb_func_start sub_81127F8 -sub_81127F8: @ 81127F8 - push {r4-r6,lr} - adds r2, r0, 0 - ldr r5, _08112874 @ =gUnknown_203AF98 - ldr r1, _08112878 @ =gUnknown_3005E8C - ldrh r0, [r5] - ldrh r1, [r1] - cmp r0, r1 - bcs _0811286C - ldr r2, [r2] - ldr r0, _0811287C @ =0x00ff00f3 - ands r2, r0 - ldrh r1, [r5] - ldr r3, _08112880 @ =gUnknown_3005E94 - ldr r4, [r3] - lsls r1, 3 - adds r1, r4 - ldr r6, _08112884 @ =gUnknown_203B01A - ldrh r0, [r6] - strh r0, [r1, 0x4] - ldrh r0, [r5] - lsls r0, 3 - adds r0, r4 - movs r1, 0x2 - strb r1, [r0, 0x6] - ldrh r0, [r5] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - strb r2, [r0] - ldrh r0, [r5] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - lsrs r1, r2, 8 - strb r1, [r0, 0x1] - ldrh r0, [r5] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - lsrs r1, r2, 16 - strb r1, [r0, 0x2] - ldrh r0, [r5] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - lsrs r2, 24 - strb r2, [r0, 0x3] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - bl ScriptContext2_IsEnabled - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0811286A - movs r0, 0x1 -_0811286A: - strh r0, [r6] -_0811286C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08112874: .4byte gUnknown_203AF98 -_08112878: .4byte gUnknown_3005E8C -_0811287C: .4byte 0x00ff00f3 -_08112880: .4byte gUnknown_3005E94 -_08112884: .4byte gUnknown_203B01A - thumb_func_end sub_81127F8 - thumb_func_start sub_8112888 sub_8112888: @ 8112888 push {lr} diff --git a/asm/quest_log_8150454.s b/asm/quest_log_8150454.s index 76dadd6e0..ac59263d7 100644 --- a/asm/quest_log_8150454.s +++ b/asm/quest_log_8150454.s @@ -59,7 +59,7 @@ sub_8150498: @ 8150498 thumb_func_start sub_81504A8 sub_81504A8: @ 81504A8 push {r4,lr} - ldr r0, _081504E0 @ =gUnknown_2037078 + ldr r0, _081504E0 @ =gPlayerAvatar ldrb r0, [r0, 0x5] lsls r4, r0, 3 adds r4, r0 @@ -83,14 +83,14 @@ sub_81504A8: @ 81504A8 pop {r0} bx r0 .align 2, 0 -_081504E0: .4byte gUnknown_2037078 +_081504E0: .4byte gPlayerAvatar _081504E4: .4byte gMapObjects thumb_func_end sub_81504A8 thumb_func_start sub_81504E8 sub_81504E8: @ 81504E8 push {r4,lr} - ldr r0, _08150528 @ =gUnknown_2037078 + ldr r0, _08150528 @ =gPlayerAvatar ldrb r0, [r0, 0x5] lsls r4, r0, 3 adds r4, r0 @@ -117,14 +117,14 @@ sub_81504E8: @ 81504E8 pop {r0} bx r0 .align 2, 0 -_08150528: .4byte gUnknown_2037078 +_08150528: .4byte gPlayerAvatar _0815052C: .4byte gMapObjects thumb_func_end sub_81504E8 thumb_func_start sub_8150530 sub_8150530: @ 8150530 push {r4-r6,lr} - ldr r6, _0815057C @ =gUnknown_2037078 + ldr r6, _0815057C @ =gPlayerAvatar ldrb r1, [r6, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -161,7 +161,7 @@ _08150558: strh r4, [r1, 0x8] b _081505BC .align 2, 0 -_0815057C: .4byte gUnknown_2037078 +_0815057C: .4byte gPlayerAvatar _08150580: .4byte gMapObjects _08150584: .4byte gSprites _08150588: .4byte gUnknown_3005E88 @@ -199,7 +199,7 @@ sub_81505C4: @ 81505C4 lsls r0, 24 lsrs r0, 24 mov r8, r0 - ldr r0, _0815060C @ =gUnknown_2037078 + ldr r0, _0815060C @ =gPlayerAvatar mov r9, r0 ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -229,7 +229,7 @@ sub_81505C4: @ 81505C4 beq _08150626 b _081506FC .align 2, 0 -_0815060C: .4byte gUnknown_2037078 +_0815060C: .4byte gPlayerAvatar _08150610: .4byte gMapObjects _08150614: .4byte gSprites _08150618: .4byte gTasks @@ -348,7 +348,7 @@ _081506FC: thumb_func_start sub_8150708 sub_8150708: @ 8150708 push {r4,r5,lr} - ldr r5, _08150770 @ =gUnknown_2037078 + ldr r5, _08150770 @ =gPlayerAvatar ldrb r1, [r5, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -394,7 +394,7 @@ _08150768: pop {r0} bx r0 .align 2, 0 -_08150770: .4byte gUnknown_2037078 +_08150770: .4byte gPlayerAvatar _08150774: .4byte gMapObjects _08150778: .4byte gUnknown_20386E0 thumb_func_end sub_8150708 diff --git a/asm/rom6.s b/asm/rom6.s index 76da35ac8..8d5e76f8a 100644 --- a/asm/rom6.s +++ b/asm/rom6.s @@ -73,7 +73,7 @@ task08_080C9820: @ 80C9820 lsrs r5, r0, 24 adds r6, r5, 0 bl ScriptContext2_Enable - ldr r1, _080C9874 @ =gUnknown_2037078 + ldr r1, _080C9874 @ =gPlayerAvatar movs r0, 0x1 strb r0, [r1, 0x6] ldrb r1, [r1, 0x5] @@ -107,7 +107,7 @@ _080C9856: ldr r0, _080C9884 @ =sub_80C98FC b _080C98A0 .align 2, 0 -_080C9874: .4byte gUnknown_2037078 +_080C9874: .4byte gPlayerAvatar _080C9878: .4byte gMapObjects _080C987C: .4byte gMapHeader _080C9880: .4byte gTasks @@ -139,7 +139,7 @@ sub_80C98B0: @ 80C98B0 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080C98EC @ =gUnknown_2037078 + ldr r0, _080C98EC @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -165,7 +165,7 @@ _080C98E4: pop {r0} bx r0 .align 2, 0 -_080C98EC: .4byte gUnknown_2037078 +_080C98EC: .4byte gPlayerAvatar _080C98F0: .4byte gMapObjects _080C98F4: .4byte gTasks _080C98F8: .4byte sub_80C98FC @@ -207,7 +207,7 @@ _080C9934: movs r0, 0x3 str r0, [r6, 0x8] _080C993C: - ldr r5, _080C998C @ =gUnknown_2037078 + ldr r5, _080C998C @ =gPlayerAvatar ldrb r0, [r5, 0x5] lsls r4, r0, 3 adds r4, r0 @@ -243,7 +243,7 @@ _080C9980: bx r0 .align 2, 0 _080C9988: .4byte gUnknown_20386E0 -_080C998C: .4byte gUnknown_2037078 +_080C998C: .4byte gPlayerAvatar _080C9990: .4byte gMapObjects _080C9994: .4byte gSprites _080C9998: .4byte gTasks @@ -266,7 +266,7 @@ sub_80C99A0: @ 80C99A0 ldrh r0, [r0, 0x1A] orrs r1, r0 bl _call_via_r1 - ldr r1, _080C99D4 @ =gUnknown_2037078 + ldr r1, _080C99D4 @ =gPlayerAvatar movs r0, 0 strb r0, [r1, 0x6] adds r0, r4, 0 @@ -276,7 +276,7 @@ sub_80C99A0: @ 80C99A0 bx r0 .align 2, 0 _080C99D0: .4byte gTasks -_080C99D4: .4byte gUnknown_2037078 +_080C99D4: .4byte gPlayerAvatar thumb_func_end sub_80C99A0 thumb_func_start SetUpFieldMove_RockSmash diff --git a/asm/start_menu.s b/asm/start_menu.s index 0991b8bc3..3088f613a 100644 --- a/asm/start_menu.s +++ b/asm/start_menu.s @@ -631,8 +631,8 @@ _0806F24E: _0806F254: .4byte gUnknown_20370F0 thumb_func_end sub_806F1F0 - thumb_func_start sub_806F258 -sub_806F258: @ 806F258 + thumb_func_start ShowStartMenu +ShowStartMenu: @ 806F258 push {lr} bl sub_805642C cmp r0, 0 @@ -648,7 +648,7 @@ _0806F26E: bx r0 .align 2, 0 _0806F27C: .4byte sub_806F1F0 - thumb_func_end sub_806F258 + thumb_func_end ShowStartMenu thumb_func_start sub_806F280 sub_806F280: @ 806F280 diff --git a/asm/trainer_see.s b/asm/trainer_see.s index cfdd02906..91dc077d7 100644 --- a/asm/trainer_see.s +++ b/asm/trainer_see.s @@ -5,8 +5,8 @@ .text - thumb_func_start sub_8081B30 -sub_8081B30: @ 8081B30 + thumb_func_start CheckForTrainersWantingBattle +CheckForTrainersWantingBattle: @ 8081B30 push {r4,r5,lr} bl sub_8111C2C lsls r0, 24 @@ -54,7 +54,7 @@ _08081B7A: bx r1 .align 2, 0 _08081B80: .4byte gMapObjects - thumb_func_end sub_8081B30 + thumb_func_end CheckForTrainersWantingBattle thumb_func_start sub_8081B84 sub_8081B84: @ 8081B84 @@ -735,7 +735,7 @@ _0808204A: bl sub_805FE7C adds r0, r4, 0 bl sub_805FE5C - ldr r0, _080820B4 @ =gUnknown_2037078 + ldr r0, _080820B4 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -763,7 +763,7 @@ _080820AC: pop {r1} bx r1 .align 2, 0 -_080820B4: .4byte gUnknown_2037078 +_080820B4: .4byte gPlayerAvatar _080820B8: .4byte gMapObjects thumb_func_end sub_808202C @@ -772,7 +772,7 @@ sub_80820BC: @ 80820BC push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r0, _080820F8 @ =gUnknown_2037078 + ldr r0, _080820F8 @ =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -798,7 +798,7 @@ _080820EE: pop {r1} bx r1 .align 2, 0 -_080820F8: .4byte gUnknown_2037078 +_080820F8: .4byte gPlayerAvatar _080820FC: .4byte gMapObjects thumb_func_end sub_80820BC diff --git a/asm/unk_8159F40.s b/asm/unk_8159F40.s index a4fb6518c..78693e452 100644 --- a/asm/unk_8159F40.s +++ b/asm/unk_8159F40.s @@ -669,14 +669,14 @@ _0815A444: ldrsh r0, [r6, r2] movs r2, 0x12 ldrsh r1, [r6, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt strb r0, [r6, 0x1E] ldrb r4, [r6, 0x1F] movs r1, 0x10 ldrsh r0, [r6, r1] movs r2, 0x12 ldrsh r1, [r6, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt cmp r4, r0 bne _0815A488 ldrh r0, [r6, 0x10] @@ -694,7 +694,7 @@ _0815A488: asrs r0, 16 movs r2, 0x12 ldrsh r1, [r6, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt cmp r4, r0 bne _0815A4A8 ldrh r0, [r6, 0x10] @@ -710,7 +710,7 @@ _0815A4A8: asrs r0, 16 movs r2, 0x12 ldrsh r1, [r6, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt cmp r4, r0 bne _0815A4C8 ldrh r0, [r6, 0x10] @@ -726,7 +726,7 @@ _0815A4C8: subs r1, 0x1 lsls r1, 16 asrs r1, 16 - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt cmp r4, r0 bne _0815A4E8 ldrh r0, [r6, 0x10] @@ -742,7 +742,7 @@ _0815A4E8: adds r1, 0x1 lsls r1, 16 asrs r1, 16 - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt cmp r4, r0 bne _0815A508 ldrh r0, [r6, 0x10] @@ -798,7 +798,7 @@ sub_815A540: @ 815A540 ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] - bl sub_8058F78 + bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl sub_8059CA4 @@ -810,7 +810,7 @@ sub_815A540: @ 815A540 lsls r0, 24 cmp r0, 0 beq _0815A5A4 - ldr r0, _0815A5B0 @ =gUnknown_2037078 + ldr r0, _0815A5B0 @ =gPlayerAvatar ldrb r0, [r0, 0x5] lsls r4, r0, 3 adds r4, r0 @@ -833,7 +833,7 @@ _0815A5A4: bx r0 .align 2, 0 _0815A5AC: .4byte gUnknown_203ADFA -_0815A5B0: .4byte gUnknown_2037078 +_0815A5B0: .4byte gPlayerAvatar _0815A5B4: .4byte gMapObjects _0815A5B8: .4byte gSprites thumb_func_end sub_815A540 diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h new file mode 100644 index 000000000..5b2184561 --- /dev/null +++ b/include/field_control_avatar.h @@ -0,0 +1,6 @@ +#ifndef GUARD_FIELD_CONTROL_AVATAR_H +#define GUARD_FIELD_CONTROL_AVATAR_H + +extern u32 gUnknown_3005078; + +#endif //GUARD_FIELD_CONTROL_AVATAR_H diff --git a/include/quest_log.h b/include/quest_log.h index dfdd4bf41..280a04423 100644 --- a/include/quest_log.h +++ b/include/quest_log.h @@ -2,5 +2,7 @@ #define GUARD_QUEST_LOG_H extern u8 gUnknown_3005E88; +extern u16 gUnknown_3005E8C; +extern struct UnkStruct_203AE98 * gUnknown_3005E94; #endif //GUARD_QUEST_LOG_H diff --git a/src/quest_log.c b/src/quest_log.c index 3cc392165..14809b8e4 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -18,6 +18,7 @@ #include "map_obj_80688E4.h" #include "map_obj_lock.h" #include "field_player_avatar.h" +#include "field_control_avatar.h" #include "item.h" #include "region_map.h" #include "map_name_popup.h" @@ -51,7 +52,9 @@ struct UnkStruct_203AE98 u8 unk_6; }; -IWRAM_DATA struct UnkStruct_203AE98 * gUnknown_3005E94; +u8 gUnknown_3005E88; +u16 gUnknown_3005E8C; +struct UnkStruct_203AE98 * gUnknown_3005E94; EWRAM_DATA u8 gUnknown_203ADF8 = 0; EWRAM_DATA u8 gUnknown_203ADF9 = 0; @@ -1516,3 +1519,48 @@ void sub_81126AC(u8 a0, u8 a1) gUnknown_203B01A = a1; } } + +void sub_8112720(u8 a0) +{ + if (!sub_8112D1C()) + { + gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A; + gUnknown_3005E94[gUnknown_203AF98].unk_6 = 1; + gUnknown_3005E94[gUnknown_203AF98].unk_0 = 0; + gUnknown_3005E94[gUnknown_203AF98].unk_3 = a0; + gUnknown_203AF98++; + gUnknown_203B01A = 0; + } +} + +void sub_811278C(u8 a0, u8 a1) +{ + if (!sub_8112D1C()) + { + gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A; + gUnknown_3005E94[gUnknown_203AF98].unk_6 = 1; + gUnknown_3005E94[gUnknown_203AF98].unk_0 = 0; + gUnknown_3005E94[gUnknown_203AF98].unk_3 = a0; + gUnknown_203AF98++; + gUnknown_203B01A = a1; + } +} + +void sub_81127F8(u32 * a0) +{ + if (gUnknown_203AF98 < gUnknown_3005E8C) + { + u32 r2 = *a0 & 0x00FF00F3; + gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A; + gUnknown_3005E94[gUnknown_203AF98].unk_6 = 2; + gUnknown_3005E94[gUnknown_203AF98].unk_0 = r2; + gUnknown_3005E94[gUnknown_203AF98].unk_1 = r2 >> 8; + gUnknown_3005E94[gUnknown_203AF98].unk_2 = r2 >> 16; + gUnknown_3005E94[gUnknown_203AF98].unk_3 = r2 >> 24; + gUnknown_203AF98++; + if (ScriptContext2_IsEnabled()) + gUnknown_203B01A = TRUE; + else + gUnknown_203B01A = FALSE; + } +} diff --git a/sym_ewram.txt b/sym_ewram.txt index 3454d792c..c44e340ec 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -632,7 +632,7 @@ gUnknown_2036E34: @ 2036E34 gMapObjects: @ 2036E38 .space 0x240 -gUnknown_2037078: @ 2037078 +gPlayerAvatar: @ 2037078 .space 0x20 gUnknown_2037098: @ 2037098 From 9dd0dffc664fed37831d51206a44f8d864207e35 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 13 Oct 2018 09:51:35 -0400 Subject: [PATCH 045/222] through sub_81128BC --- asm/quest_log.s | 103 ------------------------------------------------ src/quest_log.c | 43 ++++++++++++++++++++ 2 files changed, 43 insertions(+), 103 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 09f621d43..69def6a01 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,109 +5,6 @@ .text - thumb_func_start sub_8112888 -sub_8112888: @ 8112888 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08112898 - cmp r0, 0x2 - beq _081128A8 - b _081128B4 -_08112898: - ldr r1, _081128A4 @ =gUnknown_3005E88 - ldrb r0, [r1] - cmp r0, 0x1 - bne _081128B4 - movs r0, 0x3 - b _081128B2 - .align 2, 0 -_081128A4: .4byte gUnknown_3005E88 -_081128A8: - ldr r1, _081128B8 @ =gUnknown_3005E88 - ldrb r0, [r1] - cmp r0, 0x3 - bne _081128B4 - movs r0, 0x1 -_081128B2: - strb r0, [r1] -_081128B4: - pop {r0} - bx r0 - .align 2, 0 -_081128B8: .4byte gUnknown_3005E88 - thumb_func_end sub_8112888 - - thumb_func_start sub_81128BC -sub_81128BC: @ 81128BC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8112CAC - lsls r0, 24 - lsrs r1, r0, 24 - cmp r4, 0x1 - beq _081128D4 - cmp r4, 0x2 - beq _08112928 - b _08112934 -_081128D4: - cmp r1, 0x1 - bne _081128E4 - ldr r1, _081128E0 @ =gUnknown_3005E88 - movs r0, 0x3 - strb r0, [r1] - b _08112934 - .align 2, 0 -_081128E0: .4byte gUnknown_3005E88 -_081128E4: - cmp r1, 0x2 - bne _08112934 - ldr r2, _08112918 @ =gUnknown_203AF98 - ldrh r1, [r2] - ldr r0, _0811291C @ =gUnknown_3005E94 - ldr r3, [r0] - lsls r1, 3 - adds r1, r3 - ldr r4, _08112920 @ =gUnknown_203B01A - ldrh r0, [r4] - movs r5, 0 - strh r0, [r1, 0x4] - ldrh r0, [r2] - lsls r0, 3 - adds r0, r3 - movs r1, 0x3 - strb r1, [r0, 0x6] - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - strh r5, [r4] - ldr r1, _08112924 @ =gUnknown_3005E88 - movs r0, 0x4 - strb r0, [r1] - b _08112934 - .align 2, 0 -_08112918: .4byte gUnknown_203AF98 -_0811291C: .4byte gUnknown_3005E94 -_08112920: .4byte gUnknown_203B01A -_08112924: .4byte gUnknown_3005E88 -_08112928: - cmp r1, 0x1 - beq _08112930 - cmp r1, 0x2 - bne _08112934 -_08112930: - ldr r0, _0811293C @ =gUnknown_3005E88 - strb r1, [r0] -_08112934: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0811293C: .4byte gUnknown_3005E88 - thumb_func_end sub_81128BC - thumb_func_start sub_8112940 sub_8112940: @ 8112940 push {r4-r7,lr} diff --git a/src/quest_log.c b/src/quest_log.c index 14809b8e4..834585ac9 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -114,6 +114,7 @@ void sub_811229C(void); void sub_8112364(void); void sub_8112888(u8); void sub_8112940(u8, struct UnkStruct_203AE98 *, u16); +u8 sub_8112CAC(void); bool8 sub_8112CEC(void); bool8 sub_8112D1C(void); void sub_8113A1C(u8); @@ -1564,3 +1565,45 @@ void sub_81127F8(u32 * a0) gUnknown_203B01A = FALSE; } } + +void sub_8112888(u8 a0) +{ + switch (a0) + { + case 1: + if (gUnknown_3005E88 == 1) + gUnknown_3005E88 = 3; + break; + case 2: + if (gUnknown_3005E88 == 3) + gUnknown_3005E88 = 1; + break; + } +} + +void sub_81128BC(u8 a0) +{ + u8 r1 = sub_8112CAC(); + + switch (a0) + { + case 1: + if (r1 == 1) + gUnknown_3005E88 = 3; + else if (r1 == 2) + { + gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A; + gUnknown_3005E94[gUnknown_203AF98].unk_6 = 3; + gUnknown_203AF98++; + gUnknown_203B01A = 0; + gUnknown_3005E88 = 4; + } + break; + case 2: + if (r1 == 1) + gUnknown_3005E88 = 1; + else if (r1 == 2) + gUnknown_3005E88 = 2; + break; + } +} From 0e29da2c9f5dc3ce63f3f00cded7422611c328ec Mon Sep 17 00:00:00 2001 From: paul Date: Sat, 13 Oct 2018 18:07:05 +0200 Subject: [PATCH 046/222] replace baserom at 8D093D8 --- asm/battle_gfx_sfx_util.s | 4 +- data/graphics.s | 528 +++++++++++++++++- graphics/battle_anims/sprites/046.png | Bin 0 -> 716 bytes graphics/battle_anims/sprites/047.pal | 19 + graphics/battle_anims/sprites/048.png | Bin 0 -> 666 bytes graphics/battle_anims/sprites/049.pal | 19 + graphics/battle_anims/sprites/050.png | Bin 0 -> 225 bytes graphics/battle_anims/sprites/051.png | Bin 0 -> 224 bytes graphics/battle_anims/sprites/052.png | Bin 0 -> 245 bytes graphics/battle_anims/sprites/054.png | Bin 0 -> 159 bytes graphics/battle_anims/sprites/055.png | Bin 0 -> 242 bytes graphics/battle_anims/sprites/056.png | Bin 0 -> 862 bytes graphics/battle_anims/sprites/057.png | Bin 0 -> 214 bytes graphics/battle_anims/sprites/058.png | Bin 0 -> 818 bytes graphics/battle_anims/sprites/059.png | Bin 0 -> 193 bytes graphics/battle_anims/sprites/060.png | Bin 0 -> 154 bytes graphics/battle_anims/sprites/061.png | Bin 0 -> 259 bytes graphics/battle_anims/sprites/062.png | Bin 0 -> 845 bytes graphics/battle_anims/sprites/063.png | Bin 0 -> 414 bytes graphics/battle_anims/sprites/065.png | Bin 0 -> 343 bytes graphics/battle_anims/sprites/066.png | Bin 0 -> 164 bytes graphics/battle_anims/sprites/070.png | Bin 0 -> 195 bytes graphics/battle_anims/sprites/071.png | Bin 0 -> 412 bytes graphics/battle_anims/sprites/072.png | Bin 0 -> 277 bytes graphics/battle_anims/sprites/073.png | Bin 0 -> 319 bytes graphics/battle_anims/sprites/075.png | Bin 0 -> 541 bytes graphics/battle_anims/sprites/078.png | Bin 0 -> 403 bytes graphics/battle_anims/sprites/079.png | Bin 0 -> 880 bytes graphics/battle_anims/sprites/080.png | Bin 0 -> 661 bytes graphics/battle_anims/sprites/081.png | Bin 0 -> 217 bytes graphics/battle_anims/sprites/082.png | Bin 0 -> 148 bytes graphics/battle_anims/sprites/083.png | Bin 0 -> 846 bytes graphics/battle_anims/sprites/084.png | Bin 0 -> 587 bytes graphics/battle_anims/sprites/085.png | Bin 0 -> 221 bytes graphics/battle_anims/sprites/086.png | Bin 0 -> 393 bytes graphics/battle_anims/sprites/088.png | Bin 0 -> 194 bytes graphics/battle_anims/sprites/089.png | Bin 0 -> 488 bytes graphics/battle_anims/sprites/090.png | Bin 0 -> 229 bytes graphics/battle_anims/sprites/091.png | Bin 0 -> 359 bytes graphics/battle_anims/sprites/092.png | Bin 0 -> 199 bytes graphics/battle_anims/sprites/093.png | Bin 0 -> 1351 bytes graphics/battle_anims/sprites/094.png | Bin 0 -> 281 bytes graphics/battle_anims/sprites/095.png | Bin 0 -> 252 bytes graphics/battle_anims/sprites/096.png | Bin 0 -> 356 bytes graphics/battle_anims/sprites/097.png | Bin 0 -> 405 bytes graphics/battle_anims/sprites/098.png | Bin 0 -> 328 bytes graphics/battle_anims/sprites/100.png | Bin 0 -> 293 bytes graphics/battle_anims/sprites/101.png | Bin 0 -> 352 bytes graphics/battle_anims/sprites/102.png | Bin 0 -> 397 bytes graphics/battle_anims/sprites/103.png | Bin 0 -> 193 bytes graphics/battle_anims/sprites/104.png | Bin 0 -> 427 bytes graphics/battle_anims/sprites/105.png | Bin 0 -> 1101 bytes graphics/battle_anims/sprites/106.png | Bin 0 -> 287 bytes graphics/battle_anims/sprites/107.png | Bin 0 -> 576 bytes graphics/battle_anims/sprites/108.png | Bin 0 -> 800 bytes graphics/battle_anims/sprites/109.png | Bin 0 -> 161 bytes graphics/battle_anims/sprites/110.png | Bin 0 -> 688 bytes graphics/battle_anims/sprites/111.png | Bin 0 -> 169 bytes graphics/battle_anims/sprites/112.png | Bin 0 -> 762 bytes graphics/battle_anims/sprites/113.png | Bin 0 -> 586 bytes graphics/battle_anims/sprites/114.png | Bin 0 -> 284 bytes graphics/battle_interface/unused_window2.png | Bin 0 -> 445 bytes .../battle_interface/unused_window2bar.png | Bin 0 -> 91 bytes graphics/interface/hpbar_anim.png | Bin 0 -> 192 bytes graphics/interface/numbers1.png | Bin 0 -> 201 bytes graphics/interface/numbers2.png | Bin 0 -> 215 bytes graphics/unknown/unknown_D0CA04.bin | Bin 0 -> 36 bytes graphics/unknown/unknown_D0CA28.bin | Bin 0 -> 36 bytes graphics/unknown/unknown_D0CA4C.bin | Bin 0 -> 36 bytes graphics/unknown/unknown_D0CAC8.bin | Bin 0 -> 32 bytes graphics/unknown/unknown_D0CD0C.bin | Bin 0 -> 32 bytes graphics/unused/basic_frame.bin | Bin 0 -> 2048 bytes graphics/unused/basic_frame.png | Bin 0 -> 230 bytes graphics/unused/blue_frame.bin | Bin 0 -> 2048 bytes graphics/unused/color_frames.png | Bin 0 -> 282 bytes graphics/unused/line_sketch.png | Bin 0 -> 328 bytes graphics/unused/line_sketch_2.bin | Bin 0 -> 1024 bytes graphics/unused/line_sketch_2.png | Bin 0 -> 154 bytes graphics/unused/metronome_hand_small.png | Bin 0 -> 202 bytes graphics/unused/redyellowgreen_frame.bin | Bin 0 -> 8192 bytes graphics/unused/water_splash.bin | Bin 0 -> 1024 bytes graphics/unused/water_splash.png | Bin 0 -> 1064 bytes 82 files changed, 565 insertions(+), 5 deletions(-) create mode 100644 graphics/battle_anims/sprites/046.png create mode 100644 graphics/battle_anims/sprites/047.pal create mode 100644 graphics/battle_anims/sprites/048.png create mode 100644 graphics/battle_anims/sprites/049.pal create mode 100644 graphics/battle_anims/sprites/050.png create mode 100644 graphics/battle_anims/sprites/051.png create mode 100644 graphics/battle_anims/sprites/052.png create mode 100644 graphics/battle_anims/sprites/054.png create mode 100644 graphics/battle_anims/sprites/055.png create mode 100644 graphics/battle_anims/sprites/056.png create mode 100644 graphics/battle_anims/sprites/057.png create mode 100644 graphics/battle_anims/sprites/058.png create mode 100644 graphics/battle_anims/sprites/059.png create mode 100644 graphics/battle_anims/sprites/060.png create mode 100644 graphics/battle_anims/sprites/061.png create mode 100644 graphics/battle_anims/sprites/062.png create mode 100644 graphics/battle_anims/sprites/063.png create mode 100644 graphics/battle_anims/sprites/065.png create mode 100644 graphics/battle_anims/sprites/066.png create mode 100644 graphics/battle_anims/sprites/070.png create mode 100644 graphics/battle_anims/sprites/071.png create mode 100644 graphics/battle_anims/sprites/072.png create mode 100644 graphics/battle_anims/sprites/073.png create mode 100644 graphics/battle_anims/sprites/075.png create mode 100644 graphics/battle_anims/sprites/078.png create mode 100644 graphics/battle_anims/sprites/079.png create mode 100644 graphics/battle_anims/sprites/080.png create mode 100644 graphics/battle_anims/sprites/081.png create mode 100644 graphics/battle_anims/sprites/082.png create mode 100644 graphics/battle_anims/sprites/083.png create mode 100644 graphics/battle_anims/sprites/084.png create mode 100644 graphics/battle_anims/sprites/085.png create mode 100644 graphics/battle_anims/sprites/086.png create mode 100644 graphics/battle_anims/sprites/088.png create mode 100644 graphics/battle_anims/sprites/089.png create mode 100644 graphics/battle_anims/sprites/090.png create mode 100644 graphics/battle_anims/sprites/091.png create mode 100644 graphics/battle_anims/sprites/092.png create mode 100644 graphics/battle_anims/sprites/093.png create mode 100644 graphics/battle_anims/sprites/094.png create mode 100644 graphics/battle_anims/sprites/095.png create mode 100644 graphics/battle_anims/sprites/096.png create mode 100644 graphics/battle_anims/sprites/097.png create mode 100644 graphics/battle_anims/sprites/098.png create mode 100644 graphics/battle_anims/sprites/100.png create mode 100644 graphics/battle_anims/sprites/101.png create mode 100644 graphics/battle_anims/sprites/102.png create mode 100644 graphics/battle_anims/sprites/103.png create mode 100644 graphics/battle_anims/sprites/104.png create mode 100644 graphics/battle_anims/sprites/105.png create mode 100644 graphics/battle_anims/sprites/106.png create mode 100644 graphics/battle_anims/sprites/107.png create mode 100644 graphics/battle_anims/sprites/108.png create mode 100644 graphics/battle_anims/sprites/109.png create mode 100644 graphics/battle_anims/sprites/110.png create mode 100644 graphics/battle_anims/sprites/111.png create mode 100644 graphics/battle_anims/sprites/112.png create mode 100644 graphics/battle_anims/sprites/113.png create mode 100644 graphics/battle_anims/sprites/114.png create mode 100644 graphics/battle_interface/unused_window2.png create mode 100644 graphics/battle_interface/unused_window2bar.png create mode 100644 graphics/interface/hpbar_anim.png create mode 100644 graphics/interface/numbers1.png create mode 100644 graphics/interface/numbers2.png create mode 100644 graphics/unknown/unknown_D0CA04.bin create mode 100644 graphics/unknown/unknown_D0CA28.bin create mode 100644 graphics/unknown/unknown_D0CA4C.bin create mode 100644 graphics/unknown/unknown_D0CAC8.bin create mode 100644 graphics/unknown/unknown_D0CD0C.bin create mode 100644 graphics/unused/basic_frame.bin create mode 100644 graphics/unused/basic_frame.png create mode 100644 graphics/unused/blue_frame.bin create mode 100644 graphics/unused/color_frames.png create mode 100644 graphics/unused/line_sketch.png create mode 100644 graphics/unused/line_sketch_2.bin create mode 100644 graphics/unused/line_sketch_2.png create mode 100644 graphics/unused/metronome_hand_small.png create mode 100644 graphics/unused/redyellowgreen_frame.bin create mode 100644 graphics/unused/water_splash.bin create mode 100644 graphics/unused/water_splash.png diff --git a/asm/battle_gfx_sfx_util.s b/asm/battle_gfx_sfx_util.s index dd319645e..acd2f7ca8 100644 --- a/asm/battle_gfx_sfx_util.s +++ b/asm/battle_gfx_sfx_util.s @@ -1466,7 +1466,7 @@ _0803495A: thumb_func_start LoadBattleBarGfx LoadBattleBarGfx: @ 8034964 push {lr} - ldr r0, _0803497C @ =gUnknown_8D093D8 + ldr r0, _0803497C @ =gFile_graphics_interface_hp_numbers ldr r1, _08034980 @ =gMonSpritesGfxPtr ldr r1, [r1] movs r2, 0xBA @@ -1477,7 +1477,7 @@ LoadBattleBarGfx: @ 8034964 pop {r0} bx r0 .align 2, 0 -_0803497C: .4byte gUnknown_8D093D8 +_0803497C: .4byte gFile_graphics_interface_hp_numbers _08034980: .4byte gMonSpritesGfxPtr thumb_func_end LoadBattleBarGfx diff --git a/data/graphics.s b/data/graphics.s index e7cf632e8..47622e46f 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -537,10 +537,532 @@ gFile_graphics_battle_interface_unused_window_sheet:: @ 8D08EF4 .align 2 gFile_graphics_battle_interface_unused_window_palette:: @ 8D093B0 .incbin "graphics/battle_interface/unused_window.gbapal.lz" -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -gUnknown_8D093D8:: @ 8D093D8 - .incbin "baserom.gba", 0xD093D8, 0x87EC + .align 2 +gFile_graphics_interface_hp_numbers:: @ 8D093D8 + .incbin "graphics/interface/hp_numbers.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_046:: @ 8D095EC + .incbin "graphics/battle_anims/sprites/046.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_046_palette:: @ 8D099CC + .incbin "graphics/battle_anims/sprites/046.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_047_palette:: @ 8D099EC + .incbin "graphics/battle_anims/sprites/047.gbapal.lz" + + .align 2 +gFile_graphics_battle_interface_unused_window2_sheet:: @ 8D09A10 + .incbin "graphics/battle_interface/unused_window2.4bpp.lz" + + .align 2 +gFile_graphics_battle_interface_unused_window2bar_sheet:: @ 8D09CAC + .incbin "graphics/battle_interface/unused_window2bar.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_048_sheet:: @ 8D09CD8 + .incbin "graphics/battle_anims/sprites/048.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_048_palette:: @ 8D09F70 + .incbin "graphics/battle_anims/sprites/048.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_049_palette:: @ 8D09F98 + .incbin "graphics/battle_anims/sprites/049.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_050_palette:: @ 8D09FC0 + .incbin "graphics/battle_anims/sprites/050.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_050_sheet:: @ 8D09FE4 + .incbin "graphics/battle_anims/sprites/050.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_051_sheet:: @ 8D0A084 + .incbin "graphics/battle_anims/sprites/051.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_052_sheet:: @ 8D0A130 + .incbin "graphics/battle_anims/sprites/052.4bpp.lz" + + .align 2 +gFile_graphics_unused_line_sketch_sheet:: @ 8D0A1FC + .incbin "graphics/unused/line_sketch.4bpp.lz" + + .align 2 +gFile_graphics_unused_line_sketch_palette:: @ 8D0A380 + .incbin "graphics/unused/line_sketch.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_054_sheet:: @ 8D0A390 + .incbin "graphics/battle_anims/sprites/054.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_054_palette:: @ 8D0A3BC + .incbin "graphics/battle_anims/sprites/054.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_056_sheet:: @ 8D0A3D4 + .incbin "graphics/battle_anims/sprites/056.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_056_palette:: @ 8D0A87C + .incbin "graphics/battle_anims/sprites/056.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_055_sheet:: @ 8D0A8A4 + .incbin "graphics/battle_anims/sprites/055.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_057_sheet:: @ 8D0A968 + .incbin "graphics/battle_anims/sprites/057.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_057_palette:: @ 8D0A9F0 + .incbin "graphics/battle_anims/sprites/057.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_058_sheet:: @ 8D0AA14 + .incbin "graphics/battle_anims/sprites/058.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_058_palette:: @ 8D0AE7C + .incbin "graphics/battle_anims/sprites/058.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_059_sheet:: @ 8D0AEA4 + .incbin "graphics/battle_anims/sprites/059.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_059_palette:: @ 8D0AF04 + .incbin "graphics/battle_anims/sprites/059.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_060_sheet:: @ 8D0AF20 + .incbin "graphics/battle_anims/sprites/060.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_060_palette:: @ 8D0AF48 + .incbin "graphics/battle_anims/sprites/060.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_061_sheet:: @ 8D0AF64 + .incbin "graphics/battle_anims/sprites/061.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_061_palette:: @ 8D0B014 + .incbin "graphics/battle_anims/sprites/061.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_062_sheet:: @ 8D0B034 + .incbin "graphics/battle_anims/sprites/062.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_062_palette:: @ 8D0B404 + .incbin "graphics/battle_anims/sprites/062.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_063_sheet:: @ 8D0B42C + .incbin "graphics/battle_anims/sprites/063.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_063_palette:: @ 8D0B5E8 + .incbin "graphics/battle_anims/sprites/063.gbapal.lz" + + .align 2 +gFile_graphics_unused_metronome_hand_small_sheet:: @ 8D0B610 + .incbin "graphics/unused/metronome_hand_small.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_091_palette:: @ 8D0B680 + .incbin "graphics/battle_anims/sprites/091.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_065_sheet:: @ 8D0B6A4 + .incbin "graphics/battle_anims/sprites/065.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_065_palette:: @ 8D0B7B8 + .incbin "graphics/battle_anims/sprites/065.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_066_sheet:: @ 8D0B7D8 + .incbin "graphics/battle_anims/sprites/066.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_066_palette:: @ 8D0B824 + .incbin "graphics/battle_anims/sprites/066.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_070_sheet:: @ 8D0B84C + .incbin "graphics/battle_anims/sprites/070.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_070_palette:: @ 8D0B8CC + .incbin "graphics/battle_anims/sprites/070.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_071_sheet:: @ 8D0B8F4 + .incbin "graphics/battle_anims/sprites/071.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_072_sheet:: @ 8D0BB20 + .incbin "graphics/battle_anims/sprites/072.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_072_palette:: @ 8D0BBF0 + .incbin "graphics/battle_anims/sprites/072.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_073_sheet:: @ 8D0BC08 + .incbin "graphics/battle_anims/sprites/073.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_073_palette:: @ 8D0BD24 + .incbin "graphics/battle_anims/sprites/073.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_075_sheet:: @ 8D0BD44 + .incbin "graphics/battle_anims/sprites/075.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_075_palette:: @ 8D0BFC0 + .incbin "graphics/battle_anims/sprites/075.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_078_sheet:: @ 8D0BFE4 + .incbin "graphics/battle_anims/sprites/078.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_078_palette:: @ 8D0C17C + .incbin "graphics/battle_anims/sprites/078.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_079_sheet:: @ 8D0C1A4 + .incbin "graphics/battle_anims/sprites/079.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_080_sheet:: @ 8D0C5D4 + .incbin "graphics/battle_anims/sprites/080.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_080_palette:: @ 8D0C938 + .incbin "graphics/battle_anims/sprites/080.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_081_sheet:: @ 8D0C95C + .incbin "graphics/battle_anims/sprites/081.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_081_palette:: @ 8D0C9E0 + .incbin "graphics/battle_anims/sprites/081.gbapal.lz" + + .align 2 +gFile_graphics_unknown_unknown_D0CA04:: @ 8D0CA04 + .incbin "graphics/unknown/unknown_D0CA04.bin" + + .align 2 +gFile_graphics_unknown_unknown_D0CA28:: @ 8D0CA28 + .incbin "graphics/unknown/unknown_D0CA28.bin" + + .align 2 +gFile_graphics_unknown_unknown_D0CA4C:: @ 8D0CA4C + .incbin "graphics/unknown/unknown_D0CA4C.bin" + + .align 2 +gFile_graphics_unused_line_sketch_2_sheet:: @ 8D0CA70 + .incbin "graphics/unused/line_sketch_2.8bpp.lz" + + .align 2 +gFile_graphics_unknown_unknown_D0CAC8:: @ 8D0CAC8 + .incbin "graphics/unknown/unknown_D0CAC8.bin" + + .align 2 +gFile_graphics_unused_line_sketch_2_tilemap:: @ 8D0CAE8 + .incbin "graphics/unused/line_sketch_2.bin.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_082_sheet:: @ 8D0CB78 + .incbin "graphics/battle_anims/sprites/082.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_082_palette:: @ 8D0CB9C + .incbin "graphics/battle_anims/sprites/082.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_083_palette:: @ 8D0CBB0 + .incbin "graphics/battle_anims/sprites/083.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_084_palette:: @ 8D0CBD8 + .incbin "graphics/battle_anims/sprites/084.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_085_palette:: @ 8D0CC00 + .incbin "graphics/battle_anims/sprites/085.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_086_palette:: @ 8D0CC18 + .incbin "graphics/battle_anims/sprites/086.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_088_palette:: @ 8D0CC40 + .incbin "graphics/battle_anims/sprites/088.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_089_palette:: @ 8D0CC5C + .incbin "graphics/battle_anims/sprites/089.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_090_palette:: @ 8D0CC84 + .incbin "graphics/battle_anims/sprites/090.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_092_palette:: @ 8D0CCA8 + .incbin "graphics/battle_anims/sprites/092.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_093_palette:: @ 8D0CCC4 + .incbin "graphics/battle_anims/sprites/093.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_094_palette:: @ 8D0CCEC + .incbin "graphics/battle_anims/sprites/094.gbapal.lz" + + .align 2 +gFile_graphics_unknown_unknown_D0CD0C:: @ 8D0CD0C + .incbin "graphics/unknown/unknown_D0CD0C.bin.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_095_palette:: @ 8D0CD2C + .incbin "graphics/battle_anims/sprites/095.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_096_palette:: @ 8D0CD54 + .incbin "graphics/battle_anims/sprites/096.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_097_palette:: @ 8D0CD70 + .incbin "graphics/battle_anims/sprites/097.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_100_palette:: @ 8D0CD98 + .incbin "graphics/battle_anims/sprites/100.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_101_palette:: @ 8D0CDB4 + .incbin "graphics/battle_anims/sprites/101.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_103_palette:: @ 8D0CDDC + .incbin "graphics/battle_anims/sprites/103.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_083_sheet:: @ 8D0CE00 + .incbin "graphics/battle_anims/sprites/083.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_084_sheet:: @ 8D0D2A4 + .incbin "graphics/battle_anims/sprites/084.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_085_sheet:: @ 8D0D668 + .incbin "graphics/battle_anims/sprites/085.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_086_sheet:: @ 8D0D720 + .incbin "graphics/battle_anims/sprites/086.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_088_sheet:: @ 8D0D890 + .incbin "graphics/battle_anims/sprites/088.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_089_sheet:: @ 8D0D8E0 + .incbin "graphics/battle_anims/sprites/089.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_090_sheet:: @ 8D0DB54 + .incbin "graphics/battle_anims/sprites/090.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_091_sheet:: @ 8D0DBE4 + .incbin "graphics/battle_anims/sprites/091.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_092_sheet:: @ 8D0DD18 + .incbin "graphics/battle_anims/sprites/092.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_093_sheet:: @ 8D0DD94 + .incbin "graphics/battle_anims/sprites/093.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_094_sheet:: @ 8D0E464 + .incbin "graphics/battle_anims/sprites/094.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_095_sheet:: @ 8D0E608 + .incbin "graphics/battle_anims/sprites/095.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_096_sheet:: @ 8D0E6B8 + .incbin "graphics/battle_anims/sprites/096.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_097_sheet:: @ 8D0E828 + .incbin "graphics/battle_anims/sprites/097.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_098_sheet:: @ 8D0EA08 + .incbin "graphics/battle_anims/sprites/098.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_100_sheet:: @ 8D0EB40 + .incbin "graphics/battle_anims/sprites/100.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_101_sheet:: @ 8D0EC40 + .incbin "graphics/battle_anims/sprites/101.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_102_sheet:: @ 8D0ED70 + .incbin "graphics/battle_anims/sprites/102.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_103_sheet:: @ 8D0EF08 + .incbin "graphics/battle_anims/sprites/103.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_104_sheet:: @ 8D0EF74 + .incbin "graphics/battle_anims/sprites/104.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_104_palette:: @ 8D0F134 + .incbin "graphics/battle_anims/sprites/104.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_105_sheet:: @ 8D0F15C + .incbin "graphics/battle_anims/sprites/105.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_105_palette:: @ 8D0F6E0 + .incbin "graphics/battle_anims/sprites/105.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_106_sheet:: @ 8D0F708 + .incbin "graphics/battle_anims/sprites/106.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_107_sheet:: @ 8D0F7F8 + .incbin "graphics/battle_anims/sprites/107.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_107_palette:: @ 8D0FBA4 + .incbin "graphics/battle_anims/sprites/107.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_108_sheet:: @ 8D0FBCC + .incbin "graphics/battle_anims/sprites/108.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_109_sheet:: @ 8D0FF50 + .incbin "graphics/battle_anims/sprites/109.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_109_palette:: @ 8D0FF78 + .incbin "graphics/battle_anims/sprites/109.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_110_sheet:: @ 8D0FFA0 + .incbin "graphics/battle_anims/sprites/110.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_111_sheet:: @ 8D10384 + .incbin "graphics/battle_anims/sprites/111.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_111_palette:: @ 8D103C8 + .incbin "graphics/battle_anims/sprites/111.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_112_sheet:: @ 8D103EC + .incbin "graphics/battle_anims/sprites/112.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_112_palette:: @ 8D10714 + .incbin "graphics/battle_anims/sprites/112.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_113_sheet:: @ 8D1073C + .incbin "graphics/battle_anims/sprites/113.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_113_palette:: @ 8D109A8 + .incbin "graphics/battle_anims/sprites/113.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_114_sheet:: @ 8D109D0 + .incbin "graphics/battle_anims/sprites/114.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_114_palette:: @ 8D10AC4 + .incbin "graphics/battle_anims/sprites/114.gbapal.lz" + + .align 2 +gFile_graphics_unused_blue_frame_tilemap:: @ 8D10AEC + .incbin "graphics/unused/blue_frame.bin.lz" + + .align 2 +gFile_graphics_unused_redyellowgreen_frame_tilemap:: @ 8D10C04 + .incbin "graphics/unused/redyellowgreen_frame.bin.lz" + + .align 2 +gFile_graphics_unused_color_frames_sheet:: @ 8D11004 + .incbin "graphics/unused/color_frames.4bpp.lz" + + .align 2 +gFile_graphics_unused_color_frames_palette:: @ 8D115A4 + .incbin "graphics/unused/color_frames.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_115_sheet:: @ 8D115CC + .incbin "graphics/battle_anims/sprites/115.4bpp.lz" + + .align 2 +gFile_graphics_unused_water_splash_sheet:: @ 8D116FC + .incbin "graphics/unused/water_splash.8bpp.lz" + + .align 2 +gFile_graphics_unused_water_splash_tilemap:: @ 8D11884 + .incbin "graphics/unused/water_splash.bin.lz" + + .align 2 +gFile_graphics_unused_water_splash_palette:: @ 8D11964 + .incbin "graphics/unused/water_splash.gbapal.lz" + + .align 2 +gFile_graphics_unused_basic_frame_sheet:: @ 8D119C4 + .incbin "graphics/unused/basic_frame.4bpp.lz" + + .align 2 +gFile_graphics_unused_basic_frame_palette:: @ 8D11A50 + .incbin "graphics/unused/basic_frame.gbapal.lz" + + .align 2 +gFile_graphics_unused_basic_frame_tilemap:: @ 8D11A78 + .incbin "graphics/unused/basic_frame.bin.lz" + + .align 2 +gUnknown_8D11B84:: @ 8D11B84 + .incbin "baserom.gba", 0xD11B84, 0x40 gUnknown_8D11BC4:: @ 8D11BC4 .incbin "baserom.gba", 0xD11BC4, 0xB660 diff --git a/graphics/battle_anims/sprites/046.png b/graphics/battle_anims/sprites/046.png new file mode 100644 index 0000000000000000000000000000000000000000..85a05248669a0b9d8884480661be09ca851ef923 GIT binary patch literal 716 zcmV;-0yF)IP)8nu6oom26#D>qfC9~n6tU4!9mr_p5MC);C&?pG#1gx8D&n{8y`*SS zf|EJ{k{X6DK#TnNV@fD;xCzJ~DR;N*w|UP=UE*XyDKq73)QHk`DvMAl z{k#H9S%Z6aEuZ}{uRgMtW1FcMryu@hZMJUx2` z1X<*Q3Ba&PFo%K8fmwi{(>m4Uf15TycyZEeF)2Byk>KDK59OlMedPK8uqsA8ig2L( z*TgXT8{PDuZvbEwE#=d;`7M8HzkB?mT^Qug1EvbsXO$cVxuoH&TYzl>^kZ1I*h_Gv zg35dhw*a>!3%ZMR`I@TlWcI7eO20ev}j`Nz#4g8Y>92ZhEGYRM=(U zY*dK)&;XReGn9aGQ0mu{Rh0=1c2Bq|cUaRu96Kg|eG74@6)Rr?;#n{g9SV29E>t1D zW#GynAi?My=nU{?1j>z|ia_oG7OvI=OazYvaPNo&EP6554R(uNdJSIUj&nVXXE^Wa zJcqR>cc#TC``VL60AWe&|py&~37hMBjBA_s_|{cT|fqN0(G+rFZUs%;qeD y9EPJ{w&`_?PQd{-tgT%n9ooczi(edP7k>fAkfcf|$<;3a0000)sb&0+|gVhCzt|CAX2Vi5l^2>$>8oB#j-0000000000WYwWo0006d zNklG)0__DHP5Y;tb`RR!|1N95VEha;G}YcmMc`q~voUm`t$pWyiXFFL^>KVsa?Qx-c(fNrpRUFp83ZUL6kMK!tPwJb!0as{W7o^p zOd7lV6B$8;=!nFLU0uWh*(ZUkIhB0D(875o92&GR(O;>-*j?}~Blmk4cs8|&ktmq3 z0HYHaRzQ+JX@rb7-1`=I29w4FjG%%9%SVQU(?uJZF;r5;MzCr^vbSEJnCSz915!+O z2Rze0colAs3z3V)!Hi}Rc-LFT18g|xm)5aQ9HF<$!+1) zx=?P_}+Oy6qE;qqyK{XpMcW$z!)n02HQR A)c^nh literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/049.pal b/graphics/battle_anims/sprites/049.pal new file mode 100644 index 000000000..268ce4f4f --- /dev/null +++ b/graphics/battle_anims/sprites/049.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +255 255 148 +255 230 74 +255 205 0 +230 156 0 +205 106 0 +189 57 0 +255 148 24 +255 98 16 +255 49 8 +255 0 0 +156 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/050.png b/graphics/battle_anims/sprites/050.png new file mode 100644 index 0000000000000000000000000000000000000000..9f2c101e45f0c255860cbc8acc28db3cefd496f3 GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*C|K8{Re_)TmE0o`hQg6 zf3?7WLyogcvgQC8Ng(!r28KC6#W1jE`rA4KDTfzu>P zTS^UO6NDdxOXQ}%(B%HW$JJ`RT)@Q(i$?X#$IEZJ_kLwEIBul&pSNNW$PJ#Z KelF{r5}E)e&sW_5 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/051.png b/graphics/battle_anims/sprites/051.png new file mode 100644 index 0000000000000000000000000000000000000000..14d7036bcea2561e88f82e4e266ed5abc441f5bb GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*C|K8{Re_)TmE0o`hQg6 zf3?7WLyogcvgQC8Ng(!r28KC6#W1jE`IJE}g(y_-%Jst;44XV~LCG`pm8t z^8Cx$f}~WwD~7HoW-K?-9jic2@O1Ta JS?83{1OR{9R-OO= literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/052.png b/graphics/battle_anims/sprites/052.png new file mode 100644 index 0000000000000000000000000000000000000000..9928271d5cf010ef528f7bf6d33d8d27010f6481 GIT binary patch literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*C|K8{Re_)TmE0o`hQg6 zf3?7WLyogcvgQC8Ng(!r28KC6#W1jE`~>u@Nw%f1G&r7)z4*}Q$iB}KLlV? literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/054.png b/graphics/battle_anims/sprites/054.png new file mode 100644 index 0000000000000000000000000000000000000000..afffd9e77c735d9a857b8e4952c59ba3818d224e GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU1=9cjgYeP+Krjc$#Sdn^ z-}3~hLd(;|F@$4gazGOk8xxNrhjXCd5hlYaEDM920t6L!rv`~QUDs<-Y-(m?nARoW UefP|PlOS_FUHx3vIVCg!0PRL5&Hw-a literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/055.png b/graphics/battle_anims/sprites/055.png new file mode 100644 index 0000000000000000000000000000000000000000..bd6590322e135ce60d53a505f44921da8dd9c471 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*C|K8{Re_)TmE0o`hQg6 zf3?7WLyogcvgQC8Ng(!r28KC6#W1jE`vf?9k_XfoB8{Lst0$@KRKMh?|0y@AQN%e=g6tR}cf6>u8IuHjsL^Ks=y>+Ko-UrQhN d|NAfhn($>8oB#j-0000000000+Gh>i0008% zNklE@)eA6LxC4AAT@#2^8tucG) zJ$@`Ri8Ak88g= zeA4O&CMVBu&WJVdQ1Nxyr-btfVWQw16W=20Bubnn7XqD^C~{e%kV=*cA88=#2B!@w zg#lAF0TGR1j{^u>?OX=%ywhv@wjR8H8MAAchHGPV6P?%YB{pl;AJ#WVzH552Z%+&P zE87>)pFTKKho9iQO<)gHGFA?S*dt!dz2%T4NatTC*})-NS5+lvJma5Fziy?-(j?0! z=YUWZS&}61yQv~c(l4;K2kVkg!7e<>(t9}ozetO83Z57xx!}{`yM%opB0N6)e@zRAFB?7uI)A`r_tH~mv|eS9W$`57%q=d6vP+7hy4qikhM=8?kFh9 z+9Sa8=9hp^fKPLd!94-N7?Ac4O8QV%%_R_Y6f6l~bmV|3{;JE>+wI%It7if_07P!PNe=_X%L@$H9z+m0jS~Xkm#*Oeuy>k`*?_qw zonC>nFsQ4ZMQ}LQYRN)09Bb7x+){1Vhqy1p(T&7(GeXyGm+!-dg3&`V0$BdrYg*zY z%^pNB!2QvHlRsbFGkDxVIlFUOYq;WPv;3iCY6x1SDbFRCE8`v4T4cek@G9ZB$?P`v|C#Poh?joPg;jNDlJ$`*B5Yf|C;oC6z1p>m?LOwi z6WKQ!s51hu|EXQlO#5ekO8`89-N=O_^ILBl>W1{54grkZD(_1G!a+(qA!?R|^G$RcIg9W$x yUh>$yJD6g?;=s#dHFYb)nS|7Yb}MBb6$Xa(1U|tJ=Plzvwt2exxvX$>8oB#j-0000000000bqX4-0008L zNkl`Xgl()U_o|M?{-AfSq_i&tzylV}O-0Io*Ya{>YSRSlltJ}i|l(XXs z_6r~fB=pzdVcG{7R&cQ2A6*id@(NBrIK&6qr$5Wj_~JM;gkOZMV5?^jy&q>hqI?C1 zmhFwa;z}0YFJWLg)FmL52-FH}55T8Nrb^A9;le3^svDw2yo4PG3Wx~1k}GJjTLAu> zvB{(a8UfW2&>`s$QQAp@ls6(AlzDWUT;t02)? z{G6wc)$^y>B44ES34}V?9KFx;y5PkGCSc}W%cG5ad#`7Yinn-Q!J#$uFri#lFtEu8 zgAfhCBXTwjqUs9U1s}#P1QlT5f(>0bD{tL_%U=KJmehb)cYw*X_}sLFcYA$IB49xU zEldcNjO*mFycHPmxR?)J0^%W)Oz5QU%dXQF!F0h`rM=aOiU`G8w&nsw+hTersWesTO6vh}-qr|6|1qfZ2wAr-SIbyXvmLUQN zxNNk4H;f~x8}08XA!1`368&V(OOoa0yma2C;qTGf7!Y*&iJNfZRlh#viDGMQLcMQR zS75j}Z^D?+G3W;PRNP{buA$BCBP?fY=v+Ja!RYoB z0)IMQbhM5)a?2G4oH#CS<==)X-WvC60=}Dh%RVyJ w2ikG5G$sgL^5!3hBEn1?Icm?$6R$M>0JDYs{9G^L0RR9107*qoM6N<$f{GG*k^lez literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/059.png b/graphics/battle_anims/sprites/059.png new file mode 100644 index 0000000000000000000000000000000000000000..4d93be12443b3b29d3edfee6a788dbd5303163b3 GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!9f|Ns9V{r0Z=-My$a z_cXKaF&N$h3gQA{vjsi_<$OF{9780gCMPHeZfJ4JxW-^MBY~RV|{=NGvdD5U__uN`$)1=L P3bNDF)z4*}Q$iB}&muI# literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/060.png b/graphics/battle_anims/sprites/060.png new file mode 100644 index 0000000000000000000000000000000000000000..c4c0fb53e19687c7d4acbbb6f85e805f911ff5f2 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^96&6ZRaQU(D&A+A9BKM=gD{(q0*{~U(@ zNepwmfMPhoTecHjKuJ|k7sn8enaK%2kklZ^Wx#YMm`zYkVIK2@1UA8Ad;y9ajhqbr W&l&$ccDlR^(bW z&X(fpIYCj)hL%|z91=h!m>_{EaXC=5&(p;*L}F@k!U5(>PO=Zq2rvp9ofa1-wt_*> zOJA_bYZJHD0z)BLMIJZt4k>YQM|B0&H)}LruuMr55eX>_V)EQz!KvlA#X$36G1m=V z&2)Mo>|!CQ_rOYSm8>`U^`Q zj}#>oC|dLYi@vAFk9&7V5%TXwDJ5(_`Gfhb7!Q7C2sB~r7X7Xp48;Hf-)9s?Cb%bb zFs=l@b%e~lNH~Xm`o6=pcn(0@HVEvF_Ft;C-@T}=7N~3VH>I?Itgi@cOG)N{lQ@Oeb+dQCgTmPAHQn5aFcF zf-0c(I1HX(lmyu*C6kS#VGLw$bmooA*T1z*9&~ZL^Y>#JAx}&ki>eI%nsF|^lws0% zVvOCbD_MsXm4Orr{Kwx$%ynxC3$WmLSTwRg33`84u}G+LFPz_I61#I=lN^kii>kFdr&l>uco}(ME3sZyxdUW%Mc@Fy zwk$mG6?T~}_N3T301L=e-_bsI0dU;aRC11cKA$~M!RmMSzCX8>-9KT%r(D8^#Wek+ zCqM+#N7j9^%oMCS{2-Yk+^00|V+uL}a1<%KTO`Um?3 XOwY9Uk=%Fal(brVoIzrPDN1S(|CAX2Vi5l^2>$>8oB#j-0000000000P|0gT0003g zNklv42GjH!fQ-n>jR9AbESryIV|CdCY)V&X?gt>{F`ZLljvGs{K+Eq zhpD5~C5)0t0?$2Q7dY!W{t2%gfB=d<0aD1-Z6P{pK-L~mHZ8*w@k4qqPzQ#RU>XB^ znQ^?)=NB`8w&-5^Si+mYMah;LDt7$^sEj!erYmfqCu-)_lzd0xr}0b1xRM^c@ha zVUb#q$+UKL#2qEsN84^jZsI#4*?DozfyK{TJ+5?4{}Q+~&Rc>_$+*u$_*rUN@t++1 zZI1)84T2WxF0FF)ymwgl%|Tsb_1$dq9(6TM_&&GvXlvh!_rWZR1#en5Ye#9kIIZ?v zd!KIX^dzM(;^7O=x$b-~XS8pdue{o!e~+~8De4QF%cs2jOjOkc30aO&@;la+Jt6+OCYCB>|!7n`<3px|Z4s<-FLuXj%W7QUKW>1<7~^vwRI cKlgL$^Ar0`6-tEvvw#A?)78&qol`;+0H3syOaK4? literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/066.png b/graphics/battle_anims/sprites/066.png new file mode 100644 index 0000000000000000000000000000000000000000..d70924235b11f8ba14cf00a257c6984057170a8e GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt$&Q`+v>;Het|Nl9F=R@Hyf5usCDSt)=WQV7#pUXO@geCxnIYJ2l literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/071.png b/graphics/battle_anims/sprites/071.png new file mode 100644 index 0000000000000000000000000000000000000000..88d20bb5ebb49bdb3e7e177384eaf3b0bf9ee8fa GIT binary patch literal 412 zcmeAS@N?(olHy`uVBq!ia0vp^3P8Mog&9cBe^M+DqznRlLR_aD{r3O=|Fi%9&-wp9 z>;Het|Nl9F= z1RjoSwl}<U)J>)Lv@Jg>FQt;sUXJ2zi$U9yE)Fi*pH^@UH58DCo2Z+=_9x)Bt3p00i_>zopr E0MQ(+aR2}S literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/072.png b/graphics/battle_anims/sprites/072.png new file mode 100644 index 0000000000000000000000000000000000000000..14976ded19c5af871e9b4e530ff3312e7cfebe52 GIT binary patch literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0zjO=!VDyz{eM3hNErn9gt#Vs`}Y6;|9fZ8-rKVG zf7X`&mUDnIcz{TRt|Cx+fv1aOh{nXVlf3y38*sQxWO6?xrpiZH{8;bEmdKI;Vst0Np}n AjQ{`u literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/073.png b/graphics/battle_anims/sprites/073.png new file mode 100644 index 0000000000000000000000000000000000000000..95484d2a05dad1fbe508e9d38e8e116c4e7ab621 GIT binary patch literal 319 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoQ!VDx|6+TY^aRPioT!Hj|Ab7Xr|FfX~_Za?f zVfa6V;eQsxe=mkPUJPD9X;fe>w&@#CJ`2#zi~X|Wtm7}1q(ade|H(1hB6Ihs%0E2+v^(g&KBF)r!zT{^jGgD)G8i_6 z73Z)@CbZhLW~{q%sUsp`X^2<~7sS-`q zPcp(kKHps&d;t7HNkq0kT2jxlv%@1*=`Gkn;#;a+Qg{*5qA1+3>Au=mt_9Mf%qqXQ z0prb*QVv{=vp+v!92on zfJZP^RPk%H5&F_Ogo-XC@&dG9h(LXwHQ79aSaoI{y`Z7D%vi2HKE&Bc3L6Mb1MMgB z41C2$SJ6>9=h6x287m0urd>!@=@9}I5~^+^UPlKgG*N}bLImn|S4ijrCXIBM*BIT@ z1o8*o-wiSr$nR>vfetlShs8XQJ}uTbLarcCK7?eIqPR39gFIm>Iyeq_QuqpVOAsVd zzYPG5afoRy1Re-$L895QHHQp0Na#Oa)XpK3m_+G=$=m|S`d{|~MV*5fvNTF^&?ToI zi{-%U2HrDm*;<0Vguxp&*e63MI~c f@}@o8zboqtl3aYC9jWa100000NkvXXu0mjfpYG}y literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/078.png b/graphics/battle_anims/sprites/078.png new file mode 100644 index 0000000000000000000000000000000000000000..b48af4900a6abb3ba374baad59dd169e5f151f43 GIT binary patch literal 403 zcmV;E0c`$>P)h%J|HUBxlo>|lbpcq30mm}(xFOHr0mo{ z&@w>yB=K(o+?CVGwUNW4!25kzd(8p=Am~8;9|-M8K!He&h=|OtdTa(eZw9z|5D4NU zXSqU@pq`4*`~v+-ZPM-cJJm0J|0KkkX#riYvil#b5WJi#>@>;9&DXA5?&$_DT%0091EJ+obyK xbvbx#ygT0qazxNMYhdz)v|%xH2DWz^?FVP4hhFxES~may002ovPDHLkV1l=Oyb=Ha literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/079.png b/graphics/battle_anims/sprites/079.png new file mode 100644 index 0000000000000000000000000000000000000000..193ba3942c1489b70ad28565f5cf4f4669929bca GIT binary patch literal 880 zcmV-$1CRWPP)h%J|HUBxlov2NTj3}tQE2#_hw4>)$vC5wA5vUt(p%k1IY*+?$;9U1R)f_T)=RTN1{ zmfHp$(w4wk=F=lhQYOy;|57f_=a)oZBWEWGA*P(q2_*$C1bF#K;QctZp>LAgroSoB z|0Qj*Le2}VmHiDfL4y`f!RsLfv=}MUkN!D)H;P{F#bSCM;h@#PTe?KnIC-X?(Y;rl z?}DF*;bks>0usq8C>~kFNN{fmd%Z)B5Z!$oMc) zh#*xVxDEG%&&5)-T;xa|$Wm!%-6(pF0!=I^ADpSuV^V_&{<>Tm^P1=@#OX0&SQ0{@ z7?V&^;4%QOKL?CSY(4~dKaTfv*`~iK(6)q|B5#l31EdbOd4(5#t&8KJGko7me%oz3 zmrq2b9#&#EeCHdo3>z|6@J&Cs&1k;p1W@EwM$r-WMeG!c)94(>-LM%J)N;j92jJ!w z;Cn>KuCCfuka-Hg*XxkRL7YmdM$J3Vklnff8JJ+^T$BVxVW{9+@zn>;IhK=+>I^AiN|E=f%0000e(L0RL(L|2Y87AOM^Y0CNBU0000000000000000av^w0006Y zNkl|sw?~h_Rr67wUsqTheNCcXIOh&PU zIa!dzQt4UW;{r)R<`+mXJ@^#+1q6(+m!Qv^e$&r>fj%F8b_5cjI3*9d0t7PxMk}@j z*7)9#E%xLAJ_ek$!T&NvvkpVz=f9-Uj~AO{d^oO`;4V`3sCZvB<|ZoD$KJ!2=L+lu+_m6hiH zK!Yf%erFKsnAAr~Nq{$qKB2&mkdIrWk&lqO18`^|7!2|f`iX%kSgOxcmLM5JcnLYg(Wvgm?|DAsHJ{S59lb0 zRY5?QAkZHekdodHVJB|Gfg<8|8KW-;;MK;Vh5`lU@{$0hD{H^>awn?1b*Sz$2vv#l zTl@WaB*%V7Aou%^6odLU{H*Ec5x?u+t9JK#hRR`~v>Wek)!-Q$;Zxr+cz3ctg z&n%Pe)h4l=B?!_{+=tLlnw^z>6 v{}i+0VrS{g)Z42aOM}|+J{a3Sm=?bPQ$xC-Q?c)B=-aLi0jaA4Th!p70;>?Cw( zg~0R&1q_$o2nju!tlp5)A}xKe=g_fZhn_JhG;iFnapw(Y71cN$#W$RnQWG`!5)HVy zxSE$pM6j^>9!T5F%@y9TRAN@FjJD!5lP>>;DDEYUUp5LEGNj&+0$J|q>gTe~DWM4f Dsnt&> literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/082.png b/graphics/battle_anims/sprites/082.png new file mode 100644 index 0000000000000000000000000000000000000000..a1b2d7318f289ab9da5c2ac2f42930286f07bdf7 GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^96&6ZRaQU(D&A+A80f#E;HxBp-UVPe7I z?Q4Om$>8oB#kZ_5c6?00000b*DR10008n zNklUMp>EdpntgU$HyYi@KD&K>Ub2<{xB%OR!eiHxy|4VlX&WGn&ty-?@d0Ty)1<>rgOJ8qKLx$Z2HN>h`1^y- zd9T+Pc-Nv#_G7?U$7SsVcx>!WgRvWY7lq%kU^XAKyNLi6V_`mEesY`KjTPV?KDoHA zoNonFfV(MJF~Hg%d;n`ED#zV9uJSW+UG6LZ3So3O0U&{BmoM<04$JZjl^#&Yxt^mv%Fm#y&Tp8rtz;h=EC*Dm8*pxAMCcwn<*eqaf7$m^YBbcL# ztQ0WjTWkUeU?IwhKVZcon=IgA8fgrI7(fJ~Cjz)w-pk+?BKa**W6KEK$H2n(Qv`f; z7APElo#+He-&|~|3I!0R2ykc1P+C>|8X=XY1ZdfDN_7d;4sE+wks~5dl_K~Lr9@Ys zNWf<~g2xCz1*j`2Fs81g;7OWt3Ldith=?@F?*LU&h$Nc<$N)5O`toNpE3l??!B-o<#&HXTYnyopGI;jgnv{~x2eT!wP8mLt? zP%dc^Wkn4L4vQ+_3VJ2r*H=HHiS7+Rm*rmq?@{^|9W%#JtEd1dg`LgNhmq6(pN_N? z#|PC7;2jjCgA509R^H?z9qc-&_X28RM(H{*uTM7uqsb;PB()J3!`=qyf0)hSL-pT+ YU%qc0^y)q+cK`qY07*qoM6N<$g1NPStN;K2 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/084.png b/graphics/battle_anims/sprites/084.png new file mode 100644 index 0000000000000000000000000000000000000000..3066680353586a8ec28faa1ee7ddc77308146981 GIT binary patch literal 587 zcmV-R0<`^!P)ntgFOk$qM_}9b+3Cl2k}lRaN5e z{4^ds|4)L@eJN0I#7clv@6Vipnu#b*DIt_L_7;}!Bmt4v&XlNYk?cT8ep0p|+l@+1 z3BDGw0a1R^U@90(01P2$!yER_UjZIIthob_Jp18}dKP*1Y#Sl}~o17W;A2bop5iD&VjmsaYc z1|$=hlKTOeH${X0Z0jCoo^BteXEE#GW`SvSNtC*2M}y+X8-xZZNfIb%ADMg;!>avQ zhP^_|mBLbpE+mrIWzz)(qAv2%ze|sorPFB0xaj;dEg=7B+LsYzag@%1&;9|>JLZAO zF7luGS0D?19mYYu>E5z|k~kvNt;c9#mWCE$UK3J=uA87d&}4RA^Z$V_Z}STI@zl)< z_+j7lGmxd<1IRK=as$5s@Fh!U(cQ^qksQ(>Jl}+k@aOaF1{x0gb^{xD1klUkynzj9 ZeF3LVWoKaAtvdh!002ovPDHLkV1hlv1AhPj literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/085.png b/graphics/battle_anims/sprites/085.png new file mode 100644 index 0000000000000000000000000000000000000000..ab9fdce5e6f02347caba487c1d5186ab5574daae GIT binary patch literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^0ze$V!VDxIwZ5!!-)1h;)Sv_FDB qP5XU!$MWE+m(C1-&pwV%jC;;xY9pg*Y1Q!<tf literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/086.png b/graphics/battle_anims/sprites/086.png new file mode 100644 index 0000000000000000000000000000000000000000..ba93d952ed0fa55452dd7b89461e7003c4b3c749 GIT binary patch literal 393 zcmV;40e1e0P)oGIpN7~VMulo$v~00{q-z20Jjy)jCh02lxO00000L?&P%0003L zNkl(alye5XFZB9fX;)!4}I|Lfwr~E n|G|{spzmQ{$bl1r;k*0-3lS@*l!u=F00000NkvXXu0mjf>(;T+ literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/088.png b/graphics/battle_anims/sprites/088.png new file mode 100644 index 0000000000000000000000000000000000000000..09fed7d85492a0f959c254a4b666c09ff19d6b09 GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^96)Tq!VDzuai~>*H~~H(u0Z<#|NmF7-dnR~Z*%jK zsHkR3%PgQEF5q2IBMp@E^>lFz;h346;J~29s<2RlMXALxhMA3rA^ebv#tH@{o(~#q z%#IWI99tG1v$&%8l0i#ML?k3FLB!}#s+RJF5I4uf8ZUz@MjTw)lFSSlPOK)HVXayq OOFdovT-G@yGywn}?JZ9L literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/089.png b/graphics/battle_anims/sprites/089.png new file mode 100644 index 0000000000000000000000000000000000000000..19155f2c479e6934f753a6bef9d1dbb308ca4280 GIT binary patch literal 488 zcmVP)$>8oB#j-0000000000{^1990004V zNklUdr};1?gC`7XlZP*Ux(6S>(;B7z+ zYv^el6Zw}sus;1(;L1~~yMX7G+H2GZ9Ul_@;y52 z{WR&(7dSNDyPO(*IpfK%e8A|7U21ugd?`lFz7(UfFS}w?mgc^k8%KfsOBd+JQtWy5 e@$BQfK0W|xbZ;_7f2tt>0000Jl^5S4&)Sgx;TbNOifN`Xl9T&%yLYitifnT zf>X~agHWes0c{FC9f2o!)@d=HN_yR7WRa%VuxUrw!Jc;G0){XiHsdp8ZZl3xB%DhS zXxuHej^kW|wovwgf*W2l?&vU`bL3KF=V4oB{9)&Dp)|`m7deA{6#^K3rtxVVTgBZB Oa)_s^pUXO@geCyY8&Ws` literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/091.png b/graphics/battle_anims/sprites/091.png new file mode 100644 index 0000000000000000000000000000000000000000..7648de5aa1f8deb1f05adf187ef2ebb9ee2c34d9 GIT binary patch literal 359 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoQ!VDx|6+TY^aRPioTp5mj`ws-qp8dai_5a?Z z|JQ8!KV`}P<|$XRs<#9sbz6F6DHsCP!ojauFRlVPpFCY0LnNl=UfAe&*g&A+;q6Cj za@Obt&EDGAaE8;hvcW5L9m}gW9;Qt@`5eEdiG=6go3^`HLhI<|<)1ZwrZ#jc&*^?) zHuw3#s{6KvX5n|4d;7L=DA%q3EUPpzY*mL2)0dpt=7Nbw<-Ml-PC4+fbjGi*PYVmh z`BG&+Za$l-!X?n<_V7es<7njIhHdoLw|QfyjpMM-Z1TRz+Q!WPtU%a zd1%rqBXzw$5i?78W>@w9mosIX`^!+HR6>R4uAtG81yUQfHg0ivVeG_uScG|&JU@u|16MIC3~0Q`<7Sdiu)I|N*qkAufFGaN)3J#1)36GeV`4Sq7CX{h7NFKTrw@!+SnNh*{O!ot;m;>7kRxfRIh>WbPWMpP$ XSlJ|Lv!Qz43XrXyu6{1-oD!M<{zW;5 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/093.png b/graphics/battle_anims/sprites/093.png new file mode 100644 index 0000000000000000000000000000000000000000..29f9e6a503b0db155262232f41c0e2dd619bc5f1 GIT binary patch literal 1351 zcmV-N1-SZ&P) z|NsC0-v9r-|Nor-=5zneO8>MV|C|8Ta{#PL2x0&jIRF5~|L&y4-h+$PzaiXY000Ei zNkl=1$x; z5lmURdxAtT^G}jT`hk0GssOD0hQ&VZIXnz&D)#1)4UCz=KnnoqPvIm^mA66Cm; zg@EYi0zvK6R-@j9B=op9fVxTk&`ph!mwCHSVKstn1PaZR^$QQwG)i34PLfMk7+Q(+ z8{iIW2Us^D*~?UQVPz>SppcHEbQNd;r!;g}^h|5XwW)bBpm-LVR`Fj%VjW zT=B2J3&3ah;kWsZ5?0>?;G9&>Z43Fsk4IK;y1Tj&kKIZ111s>v{3$@W%8aHLWCmmh z!p~rb*AIWTH8_ym18hF0ZsMF5j!12eTCBAp5AA}gp~zqoeYsr`*(boi^>?ta;_Bb8 zaCI4S()2AT656wHjsK|8L_eKA!{vcM9p9*&GjJs^0}MGi6%l^5Uh^vuCuX;rAxCAL zKMK<<51-s0lR=LBq-;zYxPwr6ecGi>jTW){yAs6Nt<1iZha|=LZ4?{upT5^@pc# z{m}!+A3ebNqZjjM>{a9Vq(8pp{LzWKL#8)?vp4t0`*k9$RSeAc#wO7ZDaNS(^G53 zmUW)}XOemS=Oo8ALDQxAja&k)c7n4U7uhcA5Oq1kWg<{|_e;|jj}vjNVG{zrOuN7B zkDf=v3IkW}hdXr71~NU{<08qq{8aR>5YgyW*+-5WeU3C<%;_|nlmF9vg}2Lg9yzaO z=2H5;RQ^(7eBPn#Ej5DbV%3Fv9~3(*i?b-*T%)`ljwpWW-TdS`$i1GfelF{r5}E)_^I?qu literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/096.png b/graphics/battle_anims/sprites/096.png new file mode 100644 index 0000000000000000000000000000000000000000..99873ba10c15c9f4b191aa5ada8071500b2321aa GIT binary patch literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^0zh2A!VDyzYQE(FQU(D&A+AYN-u(xHvseGm+44WD z`@dz@J59%X5(;NQDzE^#KL;d%!tXs@978lFuAO|4>yQCY8~5x-#YZ&dj-GuO=%!W8 z5M8Fzl-wU^b3*R+P5ZgmEzhdjd(Qr!eQe4sF&#_W6kQggy|CPHYSc zHJJbKT#Ps4dx=f&Yz=0q-+8_7aH4MY^>5ObJtsc7;bAnPA|?00!DZo0Pns`ithi$G l|JV#sP1e4n9BK7GcE{e?mvv4FO#nqsl(zr? literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/097.png b/graphics/battle_anims/sprites/097.png new file mode 100644 index 0000000000000000000000000000000000000000..5366d02cf5db351c7fb4b07dea0ee9a0b635aa19 GIT binary patch literal 405 zcmV;G0c!qk^!5QQBhRb6eW?zuCaE1ZzkRY_PG3an9u%9@|hp+CG)?p=mtDN_Zv z_>*%l_w;l&=K7*nIjv`b+?BYX)c_e$31EEUn54O=TY>t3|DADWJAg%pc~W>WQ`o4e zQPF-13sv(BRvloiuv7T?20WT;$`T-7%6#j567XD$Rf=LZ;}MFZ^t{(6k%uEZKA+)e z9?K2pLj{J9sW?Ig#50H|RY^Q1lo#k5O~Z|`B!zYgx08>~E|LJ{@Sb~002a?VaV6F% z%8l(8OUBdo13rSTk3ryfk>g6USg!~WmzzcF^d zt*u@zp`hY5MgITWw3!zh&L_VLKD0E^v!Sa}qgL%h=Vq@>fwMidIaB*5Y<*D05cs}Q z^JAImDWPNWJtfmEE=+u;Q|K^NJ+h@cZYKZIZO?vAl*rsz_mbD+XwqUf@5OOiZdYFL zE)>74AXig-Yiq;`Jq9jyraKV}R`8#ViamX)YDd~P#XU=v44!1)3a(iBFVdQ I&MBb@0Cq5k3jhEB literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/100.png b/graphics/battle_anims/sprites/100.png new file mode 100644 index 0000000000000000000000000000000000000000..0576559189d55f8e5f83ddc095ecaa8ecb1d374d GIT binary patch literal 293 zcmeAS@N?(olHy`uVBq!ia0vp^0zmA*!VDxI2ESSgqznRlLR=Z9O!*H2-T(hfd^;=g zZi&RRYKeP65o-U3d8WZPEILmd&K%m7r`{Nt!CBGOpc@~S_sSx|~ za_a(>aK()H_>=FtTD6YGJWHPThHvqe8`061UUh8edCK(di9(rkdRw5(=|1t}n-(Y8 zSEawY?0sobTQ5VdUceffVRFVdQ&MBb@07T?=6951J literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/101.png b/graphics/battle_anims/sprites/101.png new file mode 100644 index 0000000000000000000000000000000000000000..f2fa227f28f9f9708351341f63024f9ad8373645 GIT binary patch literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*QBH0{{R1f_W!dv|IcRq z-(vZHj^@>Bg*8zE&6XTd5)76MXR{c9BpfU>)jt5_y!Lc)4AGc)b%L$mVF!U$_T`DE z&kFJg>ON4ha}ayVk{o>Lhi+<@%IkBPOq$^?PK!Q?3QnA`&1iF2%a7d*>#OfqE1%`L zc;D*cui4k5md8)*OUSu&e&3SAn`b^ez1V)g-{qVd)5JSp6Eb|JNg8YK++Ztlw)aIF ztHQ6AO3Qeo;+;%p8xPd%e!8M4_V~<;T|XDHzpm!+kW=MK(34@&$zaf%r56&)y63Pf zgNfpszyoq?8Z_tR#>amXGG~9DHS3o7?aHq$>6*{-+%v51R|bi9=GMktPr2=|D*l4j rDRb*6je47?Z88^Lp1=N=>3^jBqk6w56@d(|L1EzO>gTe~DWM4f|0I!! literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/102.png b/graphics/battle_anims/sprites/102.png new file mode 100644 index 0000000000000000000000000000000000000000..aa884224486c568f1403f1f8f1b40bf25665f7a0 GIT binary patch literal 397 zcmV;80doF{P)%F!`_rv@I|SaR@lc zFg0<>l9Z-H35H=oW||DfJ-x99dD1nSuO2p dO1XkHBg2;r-kl`r}toPT?#$}Op%DA43lm*lLec%xbV!r^;eUmk7!vfOI-I$!T7jxRx020g!J z#ARX|?4_MO z9`0oRQtgKk=7&#DQ_O#pwsYU@@YJtWdrAv7JD$;0Uy>DVz;R~cBA1j1fm9wr{ooTU z3*1Tslp9wIIQCgJtQK(g{HNrt<8 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/105.png b/graphics/battle_anims/sprites/105.png new file mode 100644 index 0000000000000000000000000000000000000000..5df0e7215492ebf9f567c11d9769f85541389544 GIT binary patch literal 1101 zcmV-T1hV^yP)$>8oB#j-0000000000b?NdC000Bn zNkl6e5V*Ok>43ndM}AkcNpgdQ&+97HQ0GsO! zs4s2T1fci^0xm|$cTcNqs-_p)D5)u2qE-ON$s?1z9HZL$C`N%+Cg}rLSEvVN@4Si+ zFaWwRAYD+!$m(rw>SGeii$;%jAFDTwB0Z{p8f9}4ujZ?BdBB^clpNp^92ek@Q(erA z{p)W;A?qtXIAthUVMZKR$_ha+;rK?~1w~o~lN|5EDEkpdEb!#!2G`8Z9H;hi;vLq# z>wM$bVN}eyL0lG#pXU|#!u{|mkg|)@0P}_dCo^X{1iCm>I8ZX-$sqvLA*ax6+0FCR z_J)AZuwU2iwoL(8HnBf$?CygUF4}gn_v^u}=#lK!>brkHN+&h%2IZ^c?y}x{9rB{f zL-y-*R0sz!HND;@*&R;haes|}?!bP+58Ko(lRBty?H-7mEmhQjS@UG#p5M#>@S!B& zNUW|UurA=saof4Pme4gQ_VIp{3vbg8chf!hq8;{8fwj>jYNsw^%LGQiMhWB$^Zt@V z>(zA|@HFB7r&w1uz3*f4Ors#Pe^G=NQb{+IHh`udqW!+Ed+NWLWnG`~%x7FnM9e%m z#1acrmi)P!@Meo)vAbp4Oz-+OJ8xc6<6hoY6R`OWFMZT)I5u`B;5%7p%5wbGlvj|& z{LC%by!s%<`WVae*ikU3$UC_|qU3@TC6^uBWT;{gO>+xYn#JXWO#v6j0|ECIC7rpK z(F6m}!%$|@`K8$q5*<~LSd>jaBjW>sE?~CQ4pmuFHw^U50A|;?-=BLvA9~H^L#!NE zM69;H+zarUu%Wwwg$^HJ5AU~rhZ!Y4E!pm&!?MMt{pb-52o+yWOxPj85O($Zsa zAzICJdq!>S1>Vhup4wk+FRY&-GEZ82Vp>{!rSbP50f literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/107.png b/graphics/battle_anims/sprites/107.png new file mode 100644 index 0000000000000000000000000000000000000000..202152ab4e12474118f059027aac1becc314eb4b GIT binary patch literal 576 zcmV-G0>AxAs=6vv-rFy}2w$9@SVLn{4JLIzLj5OC-_bPzfuR~;OST~Zv{61NUo z%!lfW2|`{frQ%R*{v;glciiLP{(0{La76Z$0n2Bg(`Dd6Gaz`5N*ANh6yv~Ah2ytP zA5BzTGG;mK=+~g^!W#xg+=bzc0m+kAI=^h6fstb1o*z`HHb65En;^4J=%+Jq zMWf7aTM^h4y7boC^5r_BRcR=ESFY~j)$RIY7`bWDoW8~JIDVb&HoIgkD2bhn*BHOf z*DBd2lp4fj{;A?XCu;t=-CH1h(<&i=;W#Uq?-~OgV5l+gvC@PTB5FO$J@Rf0lC(K^ zM5f>{U+FYiJq9{111%1`QUgW?O5LBg+tg(U<1(GXEMViAj512$tG*M zGC-{mgU}4}^OuVJqO~3z{2)=IF_k|qLspxC(!H?Y5Uj+OqIQmY6y^h*I5FTrr#Zbg@W099Qi^9fF1#*E8rPz}T*5nGL6mfhh98qAL6jw$H z1*dBe;h{2%jd#6=lmkUcMzY!YJpVJh3&3BaK;wy>*Q?N5NQnT_nQKRiSh+^vwgJo_ zhh69;(ozYX-7LyMA^v%nseJMPNhM(1)I8JzMBpEg={zZnuIAR<+g_2l?{Wlj{ zGuLQuuJ8sr9I8>qb0CfyRe>Xys1hQA)|_iZ>feiph+V3137IdDT;q)whlMWD&?Mra z$AnQ#l1B5`vM1{Kfn^-VmZugP%5)jE=EDopXaurO#Co@$Rgs9-I9R!(Y$l_zCOm{- zBn=F(!PJ&Ol49S;MDkxmMDC5$=rCbOF>$2X75kkvVf|jVZJoZ+KD&6XsTP5Vx_O!u zvGuU^cKsW=!}8McG;aXcX0Won*gHb_BC}}`TfW;m9e5a8?c;(kEw9?Xb-fP7KI8B8t<8eGq*$(}_(C?F) z*m?MBqE}dTbcHL2fwprbKKE?^+(zG#v&3xno_!9V0JZ{PK-kX%cUXPwi_m+U!;Y(F z9^uKCfb||htuYnJB@cuTE-eHGKPu%7A_~4!MW2cN0ero88K#!L)C53xAr} e8CTs`y7~n)s=7`)G9(B90000`hN}z=TNoI+85pt{7#tZG6o48)V6#soJCM@xba4#fn3lG;C~Ky11B;+5Pw$R-QSV!egWzCboFyt=akR{07P^! A2><{9 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/110.png b/graphics/battle_anims/sprites/110.png new file mode 100644 index 0000000000000000000000000000000000000000..787cb58c354f0386d7171d1bf3f692c71975b5e5 GIT binary patch literal 688 zcmV;h0#E&kP)sLkY^8h8CnYZy`Bp=^%N@?7UpqCFcEv zrfupWC~|-e=)>`k^xct+eZ)JCst3?@2LLssv`pbF13cFVxPH^_KH{#?we-2_dY%6Y zFxa|MMcU{5>xH5^73kdCwgB8jpM^gINU!bt|Bv!}a@A45tZF&Uw+0(Z=u%`3ra8h=_B{xG(g?m^09YIfYMj&|!qT&}pN{L~eA}l)#>aFK79^+udo( zce3p%|CR1sZrtj&k**bfX5Gu{)W@D>P?RCJ+6TH2_YZU(>7gy<3?5>F1OyGrUssqS z!H6s$z=oi~a@c|Wm^Vdf*5{9<%KDH_^MQ@ijYP{WCv6z5oyj-lb_ACe^;>M@@dUtO zhL{(6CucC+j&fnLxn(Ryxr2xe=rQ0000!hNkfjGCWH@#+E=XZ53R`hd3}l|CtDnm{r-UW|N@Opq literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/112.png b/graphics/battle_anims/sprites/112.png new file mode 100644 index 0000000000000000000000000000000000000000..4503849e91303320c7ff5b28d4a3236e45f25da0 GIT binary patch literal 762 zcmV)VEyx4tppR0(loL zw8R7)`~vASR6jG)?yTK3g+d1`&3@91W=6AXfPW_A0eR#=a4^$s!`2LX8-ZIFxBL)h zc0vR+FGMp4W&qCH{)sV19fk66|T+9#z+t!Um{VBL{+3a=3ybn59Lt@fMWC&2yKT^1QUyGU|ez4;@e+V_4 z>zJ66TMOPyBk+qgFd2YXifD^X4>Y4`e$(HgJE0ln&OKmqBNJlfc44}00BB^ftJwv% zOaM!-Hx}m>q~I>5G1xuBr905PSKs|<*~WE~HCTJ1oR8x1E37EQ3-dGASt$ZChHGy% zPpQkWHAB~#{_r5ID|p+lm;B(SJOXd5F6|K}(ggXkLJ;~xI_KI{Y;DrWR(SlOEh?9d z#QF&Qe%Mz=JL?9WB*W$><$i{?)KY>#INzC$IxPiv78KBv1Mg??4CiD5q3X&{$BNcc zy9)3e-IW@%3!b^ZBn%|#$lfpGR3Ce!^an+eeHS)1^pP&eRMQH9zE9_tiR3_Wz`qRc zo7a;G2TvUQRzzp)ocUDJQv#XQbv#($n-jKB2$Lf!8f!tFbOk@Xb~q7mvKV~s(syU$ zO$MY}#H=3}s+}SZ%6CFab`8c{Dh4WeNlFeB2O)3@YQuN@h2$IzI%xSSfBsMPGsh(d som)s0_knXxR;uhe?`S9QeMP%|0T23&;O?AZ1^@s607*qoM6N<$fG^G{X;LFZh&K5*N#v*y53tsa*ZSrH+ZKo{-1s+Ri;Y;4KjvZ{= zwzQK{z4YFMT5Co&Poj7Il#jXd9==wVdVoX_KK6C;}gGR^*QY zgA=R6PCYA->Q&Da##3(HG2ow-`Y&IyvC_CPNBfjRD8pZ;U+iMb<5W+P+JUj#SOFG| zJXtvYk-@Ii##W(K8*RWytRD^lQ+xU2=9-&Ii)VpKz*et4TlG9kFme9l=D;AJ64oiO zn}AlFJGFH9gqCIHA+pArzn0Zcvc+U0-LpJM##`s~Q1o?n0a`vg@#DjQ8)w5nGIhON z&p(RSn(6VsHgxLJ^j>E`gOP7es^x@a_j)!OnT;v=B?l%OKcVFtCV|@Ld}Y$rd#025 Y1x)XURV~#NKL7v#07*qoM6N<$f+dX-`2YX_ literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/114.png b/graphics/battle_anims/sprites/114.png new file mode 100644 index 0000000000000000000000000000000000000000..b1bee0080c8dfd773aedc37c9dbcc4ca2217ccd0 GIT binary patch literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0zmA*!VDxI2ESSgqznRlLR^!keEa|Z|GTSa?`>If zbxQTo;-I}jno}G#vkW!86f_kCG#MCxh~Ym2#})<-AVcHaJCG5}JzX3_G$wAHsK|HN zfX6j>0-yh_yi0Nm*(H7)Q{2ei{^-CW&ExaticVRxM(zLU&Zo=Y3;1z+#6D)eayFZ7 zZ@qqk`A1Hzyf&UdbCzkZ;*DxcUSD3l#m+a`_I|nV-RDt^fc4 literal 0 HcmV?d00001 diff --git a/graphics/battle_interface/unused_window2.png b/graphics/battle_interface/unused_window2.png new file mode 100644 index 0000000000000000000000000000000000000000..32f3da0b0226eb434a3cceddcf22a23dc8a1cab5 GIT binary patch literal 445 zcmV;u0Yd(XP)TB0004mNklToQ5JovkPm?R;PL`sQt+@f>3RcSjQe_x~ZpjpGBr$+?zG0K6D38}R$Urv?nC8K}y#s!D6fg&9j+JW!U!ald2* zmJ&r_r{}m^5&(0F!rHooDEn2$s52QByWIGEO`SAbLnU1^XGwSZlrq;fiDpNu{SV4>zopr05gsppa1{> literal 0 HcmV?d00001 diff --git a/graphics/interface/hpbar_anim.png b/graphics/interface/hpbar_anim.png new file mode 100644 index 0000000000000000000000000000000000000000..d4e79fdaecd8b4b502d187e91c562b0a9b0d13d2 GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^6M&e5g&9abiOpULqznRlLR|m<{|{tV&nbqJKt@nj zl$T=^kd(MOrTG6Epa>i+5Dx(v=I!a?7@{$8?FC2P0|q?K7ZW6>6>70+^QbP0l+XkKP$)fB literal 0 HcmV?d00001 diff --git a/graphics/interface/numbers1.png b/graphics/interface/numbers1.png new file mode 100644 index 0000000000000000000000000000000000000000..f1575795838b2a761b142903ab489461bef8093a GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^5kSnr0wfsbHgw4WsR^Dgjv*3Lr}`h{byei3e*E1j z<~(;IuU^ajF1`=GT2rqC?fdt*=J~N#=dN;cDD^&E_4=Fp9M-xGZSSx4El_$;x6!xu zVTa(ByVpd2CC+vGxMS7xlBKSip4Ii z=d)PIx$QmE&u28As;fEjl*!$gZTcf+KT!|)|BSX33W0|mIJ!Y@^mO%eS?83{1ORaZ BQ>Op` literal 0 HcmV?d00001 diff --git a/graphics/interface/numbers2.png b/graphics/interface/numbers2.png new file mode 100644 index 0000000000000000000000000000000000000000..4ddf364bf2dde7849db011b8041534f8e5a963ee GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^2|&!j0wfroE%CSnq~>|LIEF|}o$7BW#G=UY`Df;X zT9b&|2c-1^%eUL5ODL%+^8Kk~t76>u;I0w=~Drsg#-&O~oE zxt}j2!YX^^Y*TB&d&A*uQ%EHjQhdJNV=036&W3{+U@_ zE?JsX?zUUnYkt_f=gpawNh?kq>sD1LKhU8o**x(_U|dqU=)>+(kDrVVA!4oP&i@B_ Ofx*+&&t;ucLK6TbZd7Uj literal 0 HcmV?d00001 diff --git a/graphics/unknown/unknown_D0CA04.bin b/graphics/unknown/unknown_D0CA04.bin new file mode 100644 index 0000000000000000000000000000000000000000..4b6b2b106093732150e95e161800aece9af9cf0f GIT binary patch literal 36 pcmWeoU;u*ZDRn_bf>{g~V*5k$e03ZdUR$iv$yD)>0m>RM0syi232^`b literal 0 HcmV?d00001 diff --git a/graphics/unknown/unknown_D0CA28.bin b/graphics/unknown/unknown_D0CA28.bin new file mode 100644 index 0000000000000000000000000000000000000000..25fc33a7327fe85d2f8c1c8b0406e8e2a5140bf7 GIT binary patch literal 36 ocmWeoU;u(@uUgGQj!cFZ3CAOr2ei2`q}sTesOYGu0A&pr0jFRHsQ>@~ literal 0 HcmV?d00001 diff --git a/graphics/unknown/unknown_D0CA4C.bin b/graphics/unknown/unknown_D0CA4C.bin new file mode 100644 index 0000000000000000000000000000000000000000..5b81e0216838307e3ee3b4bfb41fcec489c86992 GIT binary patch literal 36 ocmWeoU;u(@h8l(vh8zZl6owdv5C$Ix1{Ve!1``GypsWES09xk+nE(I) literal 0 HcmV?d00001 diff --git a/graphics/unknown/unknown_D0CAC8.bin b/graphics/unknown/unknown_D0CAC8.bin new file mode 100644 index 0000000000000000000000000000000000000000..15379a9ceae794c6755d5198ba223866efd6138a GIT binary patch literal 32 kcmWeoU;u-f2lb!od5r3d>KM2g80A?G7_bX4{;y{M0C$E5-v9sr literal 0 HcmV?d00001 diff --git a/graphics/unknown/unknown_D0CD0C.bin b/graphics/unknown/unknown_D0CD0C.bin new file mode 100644 index 0000000000000000000000000000000000000000..d42729b5814802c123bd1bb67519884f2f5f24d4 GIT binary patch literal 32 ccmcaqzee(%YM|K^r*A=)@pJP3*E6610MQZ%@Bjb+ literal 0 HcmV?d00001 diff --git a/graphics/unused/basic_frame.bin b/graphics/unused/basic_frame.bin new file mode 100644 index 0000000000000000000000000000000000000000..8e83eb9f56f754b6058fb2b355e8f9b361795017 GIT binary patch literal 2048 zcmZQ&V5JFUWMCo)neo`nf=3SKVipz{3zHtzj~OQDB7-^n7&({-LS_zhACbc+CZ%Fe o%aHU-OiIJc<{Bghe6YM@&k=o|ZuAXB3Qvz(@`O0MSDX{{R30 literal 0 HcmV?d00001 diff --git a/graphics/unused/basic_frame.png b/graphics/unused/basic_frame.png new file mode 100644 index 0000000000000000000000000000000000000000..132671581c87f378316997db439b9d68591c62ab GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0YJ>b!VDzmJW6E&QU(D&A+A6=t9r@VvuFSR|G#9( z5+HXC1H(NAhNE5#|0NjCF3I|TZ^{2=2B2*9yQt z0uO7zx`ao0i{?1o=xp2DJ$L8-j0rn~ybO3g34dabyQMW%__}`8!f7oWcP>gKEHAsi z>FbA87r3q*4>6u^`$gr#mdKI;Vst0G)_o)c^nh literal 0 HcmV?d00001 diff --git a/graphics/unused/blue_frame.bin b/graphics/unused/blue_frame.bin new file mode 100644 index 0000000000000000000000000000000000000000..d5c3b6600e97568b0699a931badd451108ca17a5 GIT binary patch literal 2048 zcmZQ#V8#Mj7#N9!tXS2tvd~XI6NdX)7)Y@n(+8|9qxy-Dzo8y}OdQN;kcESk_{SDf lBS}9SMqXzlDgRLxeweWbicJ;{Y^GupV;BXaAuxhN006h01kV5f literal 0 HcmV?d00001 diff --git a/graphics/unused/color_frames.png b/graphics/unused/color_frames.png new file mode 100644 index 0000000000000000000000000000000000000000..9270879eb947e387a8f5c611742297e6fc724244 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^8-Tcjg&9b0-B7a@NErn9gt(sl|39mG$=S0&`u~z8 zOMt>_7#Qv`FdX$__%Fe5c1hO%drST|GXQ0)-$gaA`PO2(?+Q@SQcoAhkc`H+=MA}- z3|z#=F|5@iu8ao=HXV;*Yh? z#T2dke$R5Y&(~{_(v!0H@+!_Kuc-cUW6vS}`G>QnZ@8thW}B7GJF%pl^AGE_U)4+8 z>KT!%rStxH#pDg=AKvQ><}44B@vh)_^hx(kRO{?m8R^!)@`r$~LIEF|)wSKb=K6US Qf_%l`>FVdQ&MBb@0Jrya^8f$< literal 0 HcmV?d00001 diff --git a/graphics/unused/line_sketch.png b/graphics/unused/line_sketch.png new file mode 100644 index 0000000000000000000000000000000000000000..fdfc8d7717c6e35798585096a6f02d995f7a6437 GIT binary patch literal 328 zcmeAS@N?(olHy`uVBq!ia0vp^3P7B|!VDz)cyd<*DT4r?5ZAN+K>)}j5!MNOf z!&$xz=7ph-QDznmseNO-#XxvX(R=zHkF58q zKfk|?S;Vwkae3C98>@Pg*b2Sdn?6#Awzc7${6CH7(ToS%13tX(dBq?+r>$U; zq^E^TXRY104Rvi^yW;D$PtIvGkEnkqCcb)BF{6BKsYbP!$aj#Xp00i_>zopr0L{uY AqW}N^ literal 0 HcmV?d00001 diff --git a/graphics/unused/metronome_hand_small.png b/graphics/unused/metronome_hand_small.png new file mode 100644 index 0000000000000000000000000000000000000000..bd6cc8530daeab8d39370fb88a94bfa153856d7b GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUWjOlnKM*{7_W$bD|9g-A zU$f=^lqLV0r(Dgd-V&75ZRwSzU$xC-Qidb&7JjrL~Ff6p>(N*-CrK;E^rD`pG&`DU8RrQR+DvR4zEN2g%QkOETZV2_Cr}2g} nt-!3y!FSFZCey-aJ_?Ks=D9*VQr$AoLAH6i`njxgN@xNASd2$E literal 0 HcmV?d00001 diff --git a/graphics/unused/redyellowgreen_frame.bin b/graphics/unused/redyellowgreen_frame.bin new file mode 100644 index 0000000000000000000000000000000000000000..6852998fb85d057fa16a892b867f0343b6764ec7 GIT binary patch literal 8192 zcmeI!+X{m)5CqV9D7fD5|NpC{Hc%{3u4D}*?zg_@9F)gu3!3ct5E`l3oKZj+Ni*e z*{PlGf6B{`3;g%`S!{J`qyJBO|M=|B;PapAPd{#Ilz;>zAOQ(TKmrnwz)c0-iL^Nf literal 0 HcmV?d00001 diff --git a/graphics/unused/water_splash.bin b/graphics/unused/water_splash.bin new file mode 100644 index 0000000000000000000000000000000000000000..059347fa721b5c483abd386813693687f7800f5c GIT binary patch literal 1024 zcmbV}Z4bgA41`aeZ}E#d%>MsBmE+P-%E+c^D5brJc5K1&mjMSHar&7x?ui%Pn0ND$ zyI=y>*7T7hmGYu-AMq`xUL?fIGaLDqo6D3`i%?(hjgOptpVzL%k(+YIRJyLI`<(s* z8Fj1*X3lxhY_}@UdJ}ci*WGiL5%+5TWbr4|m8Y*a)f@WA^QtEFxt6ou%=%a-Pg|^6 j+FKrF@|&AqbumVIhVMjE?b?yPYP$H|(v18b^+@vt(G?Y{ literal 0 HcmV?d00001 diff --git a/graphics/unused/water_splash.png b/graphics/unused/water_splash.png new file mode 100644 index 0000000000000000000000000000000000000000..a8439a050193a145246382f41e813378f52b3e74 GIT binary patch literal 1064 zcmeAS@N?(olHy`uVBq!ia0vp^4L~fw!3-o{wzcnKU|?nl@Ck7Ra{vGTfA;_XIsgA> z{r_+I|33#1o&C=-=RZf*e-6w492`KD1ynW)MneE=2n^};^Hh6<2GCcJJzX3_JUX{d z4&*zcz~Qp@|Jn}Df;FsHj+L(MTK##cS)v>>Z=#ZzAivAp;H8m&R~Fq=Jj`&4mtmDz zqx+4o5&{#185FwqaTJ+mF@`<;EMD&7!=lOg;(I+i!It;uH` z@}{-E*m(cSBGV;5l?CnpaeZ#z%*>GUQDM{5wbK)Hj>tBA`WJTQdex+5Yj4YMHMn{5 z&)HSK*nOVf4Xjr?aoJ6_;a$QR_jkPe_ssvI|90Ae&mVLDJ@Ku0wEk@o=kAlc%kD(1 wQ&r7BcUaCMj`>CT-7o)t|5Z3J&+lhF!%G$Y_?9DmaiB=_boFyt=akR{09p;PPXGV_ literal 0 HcmV?d00001 From 291935525d456455d810686bb14f575f773d7cb2 Mon Sep 17 00:00:00 2001 From: paul Date: Sat, 13 Oct 2018 19:16:38 +0200 Subject: [PATCH 047/222] replace baseroms at D12AC4, D18780, D1A064 --- data/graphics.s | 557 ++++++++++++++++++- graphics/battle_anims/backgrounds/00.bin | Bin 0 -> 2048 bytes graphics/battle_anims/backgrounds/00.png | Bin 0 -> 1021 bytes graphics/battle_anims/sprites/001.pal | 19 + graphics/battle_anims/sprites/001_0.png | Bin 0 -> 178 bytes graphics/battle_anims/sprites/001_1.png | Bin 0 -> 198 bytes graphics/battle_anims/sprites/074.pal | 19 + graphics/battle_anims/sprites/074_0.png | Bin 0 -> 153 bytes graphics/battle_anims/sprites/074_1.png | Bin 0 -> 172 bytes graphics/battle_anims/sprites/076.png | Bin 0 -> 555 bytes graphics/battle_anims/sprites/077.png | Bin 0 -> 279 bytes graphics/battle_anims/sprites/116.png | Bin 0 -> 576 bytes graphics/battle_anims/sprites/117.png | Bin 0 -> 474 bytes graphics/battle_anims/sprites/118.png | Bin 0 -> 296 bytes graphics/battle_anims/sprites/119.png | Bin 0 -> 580 bytes graphics/battle_anims/sprites/120.png | Bin 0 -> 301 bytes graphics/battle_anims/sprites/121.png | Bin 0 -> 163 bytes graphics/battle_anims/sprites/122.png | Bin 0 -> 293 bytes graphics/battle_anims/sprites/123.png | Bin 0 -> 274 bytes graphics/battle_anims/sprites/124.png | Bin 0 -> 594 bytes graphics/battle_anims/sprites/125.png | Bin 0 -> 287 bytes graphics/battle_anims/sprites/126.png | Bin 0 -> 200 bytes graphics/battle_anims/sprites/127.png | Bin 0 -> 441 bytes graphics/battle_anims/sprites/128.png | Bin 0 -> 500 bytes graphics/battle_anims/sprites/129.png | Bin 0 -> 205 bytes graphics/battle_anims/sprites/130.png | Bin 0 -> 776 bytes graphics/battle_anims/sprites/131.png | Bin 0 -> 354 bytes graphics/battle_anims/sprites/132.png | Bin 0 -> 291 bytes graphics/battle_anims/sprites/133.png | Bin 0 -> 207 bytes graphics/battle_anims/sprites/134.png | Bin 0 -> 248 bytes graphics/battle_anims/sprites/135.png | Bin 0 -> 243 bytes graphics/battle_anims/sprites/136.png | Bin 0 -> 150 bytes graphics/battle_anims/sprites/137.png | Bin 0 -> 377 bytes graphics/battle_anims/sprites/138.png | Bin 0 -> 234 bytes graphics/battle_anims/sprites/139.png | Bin 0 -> 299 bytes graphics/battle_anims/sprites/140.png | Bin 0 -> 224 bytes graphics/battle_anims/sprites/141.pal | 19 + graphics/battle_anims/sprites/141_0.png | Bin 0 -> 180 bytes graphics/battle_anims/sprites/141_1.png | Bin 0 -> 170 bytes graphics/battle_anims/sprites/141_2.png | Bin 0 -> 184 bytes graphics/battle_anims/sprites/141_3.png | Bin 0 -> 168 bytes graphics/battle_anims/sprites/141_4.png | Bin 0 -> 155 bytes graphics/battle_anims/sprites/142.png | Bin 0 -> 191 bytes graphics/battle_anims/sprites/144.png | Bin 0 -> 191 bytes graphics/battle_anims/sprites/145.png | Bin 0 -> 270 bytes graphics/battle_anims/sprites/147.png | Bin 0 -> 311 bytes graphics/battle_anims/sprites/148.png | Bin 0 -> 259 bytes graphics/battle_anims/sprites/149.png | Bin 0 -> 233 bytes graphics/battle_anims/sprites/150.png | Bin 0 -> 259 bytes graphics/battle_anims/sprites/151.png | Bin 0 -> 239 bytes graphics/battle_anims/sprites/153.png | Bin 0 -> 183 bytes graphics/battle_anims/sprites/154.png | Bin 0 -> 225 bytes graphics/battle_anims/sprites/155.png | Bin 0 -> 255 bytes graphics/battle_anims/sprites/156.png | Bin 0 -> 332 bytes graphics/battle_anims/sprites/157.png | Bin 0 -> 184 bytes graphics/battle_anims/sprites/158.png | Bin 0 -> 251 bytes graphics/battle_anims/sprites/159.pal | 19 + graphics/battle_anims/sprites/159_0.png | Bin 0 -> 200 bytes graphics/battle_anims/sprites/159_1.png | Bin 0 -> 147 bytes graphics/battle_anims/sprites/160.png | Bin 0 -> 219 bytes graphics/battle_anims/sprites/162.png | Bin 0 -> 179 bytes graphics/battle_anims/sprites/163.png | Bin 0 -> 188 bytes graphics/battle_anims/sprites/164.pal | 19 + graphics/battle_anims/sprites/165.pal | 19 + graphics/battle_anims/sprites/166.png | Bin 0 -> 401 bytes graphics/battle_anims/sprites/167.pal | 19 + graphics/battle_anims/sprites/168.pal | 19 + graphics/battle_anims/sprites/169.pal | 19 + graphics/battle_anims/sprites/170.pal | 19 + graphics/battle_anims/sprites/171.png | Bin 0 -> 184 bytes graphics/battle_anims/sprites/172.pal | 19 + graphics/battle_anims/sprites/173.png | Bin 0 -> 212 bytes graphics/battle_anims/sprites/259.pal | 19 + graphics/battle_anims/sprites/288.pal | 19 + graphics/battle_anims/sprites/particles.png | Bin 0 -> 277 bytes graphics/battle_interface/unused_window3.png | Bin 0 -> 235 bytes graphics/battle_interface/unused_window4.png | Bin 0 -> 362 bytes graphics/contest/audience.png | Bin 0 -> 2086 bytes graphics/contest/faces.png | Bin 0 -> 1028 bytes graphics/contest/heart.png | Bin 0 -> 873 bytes graphics/contest/judge.png | Bin 0 -> 593 bytes graphics/contest/judge_symbols.png | Bin 0 -> 401 bytes graphics/contest/misc_2.pal | 259 +++++++++ graphics/contest/misc_2_tilemap_1.bin | Bin 0 -> 2048 bytes graphics/contest/misc_2_tilemap_2.bin | Bin 0 -> 2048 bytes graphics/contest/misc_2_tilemap_3.bin | Bin 0 -> 2048 bytes graphics/unknown/party_menu_hpbar.png | Bin 136 -> 0 bytes graphics/unknown/unknown_D15BE8.bin | Bin 0 -> 4096 bytes graphics/unknown/unknown_D172A8.bin | Bin 0 -> 4096 bytes graphics/unknown/unknown_D17548.bin | Bin 0 -> 2048 bytes graphics/unknown/unknown_D17654.bin | Bin 0 -> 8192 bytes graphics/unknown/unknown_D17AB8.bin | Bin 0 -> 2048 bytes graphics/unknown/unknown_D196E4.png | Bin 0 -> 255 bytes graphics/unknown/unknown_D1BE74.bin | Bin 0 -> 2048 bytes graphics/unknown/unknown_D1BE74.png | Bin 0 -> 159 bytes graphics/unused/numbers.png | Bin 0 -> 302 bytes graphics/unused/old_beatup.png | Bin 0 -> 220 bytes graphics/unused/old_contest.bin | Bin 0 -> 2048 bytes graphics/unused/old_contest.pal | 259 +++++++++ graphics/unused/old_contest_2.bin | Bin 0 -> 2048 bytes graphics/unused/old_contest_2.pal | 259 +++++++++ graphics/unused/old_contest_2_1.png | Bin 0 -> 1829 bytes graphics/unused/old_contest_2_2.png | Bin 0 -> 1274 bytes graphics/unused/old_contest_classes.png | Bin 0 -> 292 bytes graphics/unused/old_contest_floor.png | Bin 0 -> 614 bytes graphics/unused/old_contest_frame_1.png | Bin 0 -> 359 bytes graphics/unused/old_contest_frame_2.png | Bin 0 -> 259 bytes graphics/unused/old_contest_meter.png | Bin 0 -> 212 bytes graphics/unused/old_contest_numbers.png | Bin 0 -> 324 bytes graphics/unused/old_contest_symbols.png | Bin 0 -> 237 bytes graphics_file_rules.mk | 2 +- 111 files changed, 1579 insertions(+), 4 deletions(-) create mode 100644 graphics/battle_anims/backgrounds/00.bin create mode 100644 graphics/battle_anims/backgrounds/00.png create mode 100644 graphics/battle_anims/sprites/001.pal create mode 100644 graphics/battle_anims/sprites/001_0.png create mode 100644 graphics/battle_anims/sprites/001_1.png create mode 100644 graphics/battle_anims/sprites/074.pal create mode 100644 graphics/battle_anims/sprites/074_0.png create mode 100644 graphics/battle_anims/sprites/074_1.png create mode 100644 graphics/battle_anims/sprites/076.png create mode 100644 graphics/battle_anims/sprites/077.png create mode 100644 graphics/battle_anims/sprites/116.png create mode 100644 graphics/battle_anims/sprites/117.png create mode 100644 graphics/battle_anims/sprites/118.png create mode 100644 graphics/battle_anims/sprites/119.png create mode 100644 graphics/battle_anims/sprites/120.png create mode 100644 graphics/battle_anims/sprites/121.png create mode 100644 graphics/battle_anims/sprites/122.png create mode 100644 graphics/battle_anims/sprites/123.png create mode 100644 graphics/battle_anims/sprites/124.png create mode 100644 graphics/battle_anims/sprites/125.png create mode 100644 graphics/battle_anims/sprites/126.png create mode 100644 graphics/battle_anims/sprites/127.png create mode 100644 graphics/battle_anims/sprites/128.png create mode 100644 graphics/battle_anims/sprites/129.png create mode 100644 graphics/battle_anims/sprites/130.png create mode 100644 graphics/battle_anims/sprites/131.png create mode 100644 graphics/battle_anims/sprites/132.png create mode 100644 graphics/battle_anims/sprites/133.png create mode 100644 graphics/battle_anims/sprites/134.png create mode 100644 graphics/battle_anims/sprites/135.png create mode 100644 graphics/battle_anims/sprites/136.png create mode 100644 graphics/battle_anims/sprites/137.png create mode 100644 graphics/battle_anims/sprites/138.png create mode 100644 graphics/battle_anims/sprites/139.png create mode 100644 graphics/battle_anims/sprites/140.png create mode 100644 graphics/battle_anims/sprites/141.pal create mode 100644 graphics/battle_anims/sprites/141_0.png create mode 100644 graphics/battle_anims/sprites/141_1.png create mode 100644 graphics/battle_anims/sprites/141_2.png create mode 100644 graphics/battle_anims/sprites/141_3.png create mode 100644 graphics/battle_anims/sprites/141_4.png create mode 100644 graphics/battle_anims/sprites/142.png create mode 100644 graphics/battle_anims/sprites/144.png create mode 100644 graphics/battle_anims/sprites/145.png create mode 100644 graphics/battle_anims/sprites/147.png create mode 100644 graphics/battle_anims/sprites/148.png create mode 100644 graphics/battle_anims/sprites/149.png create mode 100644 graphics/battle_anims/sprites/150.png create mode 100644 graphics/battle_anims/sprites/151.png create mode 100644 graphics/battle_anims/sprites/153.png create mode 100644 graphics/battle_anims/sprites/154.png create mode 100644 graphics/battle_anims/sprites/155.png create mode 100644 graphics/battle_anims/sprites/156.png create mode 100644 graphics/battle_anims/sprites/157.png create mode 100644 graphics/battle_anims/sprites/158.png create mode 100644 graphics/battle_anims/sprites/159.pal create mode 100644 graphics/battle_anims/sprites/159_0.png create mode 100644 graphics/battle_anims/sprites/159_1.png create mode 100644 graphics/battle_anims/sprites/160.png create mode 100644 graphics/battle_anims/sprites/162.png create mode 100644 graphics/battle_anims/sprites/163.png create mode 100644 graphics/battle_anims/sprites/164.pal create mode 100644 graphics/battle_anims/sprites/165.pal create mode 100644 graphics/battle_anims/sprites/166.png create mode 100644 graphics/battle_anims/sprites/167.pal create mode 100644 graphics/battle_anims/sprites/168.pal create mode 100644 graphics/battle_anims/sprites/169.pal create mode 100644 graphics/battle_anims/sprites/170.pal create mode 100644 graphics/battle_anims/sprites/171.png create mode 100644 graphics/battle_anims/sprites/172.pal create mode 100644 graphics/battle_anims/sprites/173.png create mode 100644 graphics/battle_anims/sprites/259.pal create mode 100644 graphics/battle_anims/sprites/288.pal create mode 100644 graphics/battle_anims/sprites/particles.png create mode 100644 graphics/battle_interface/unused_window3.png create mode 100644 graphics/battle_interface/unused_window4.png create mode 100644 graphics/contest/audience.png create mode 100644 graphics/contest/faces.png create mode 100644 graphics/contest/heart.png create mode 100644 graphics/contest/judge.png create mode 100644 graphics/contest/judge_symbols.png create mode 100644 graphics/contest/misc_2.pal create mode 100644 graphics/contest/misc_2_tilemap_1.bin create mode 100644 graphics/contest/misc_2_tilemap_2.bin create mode 100644 graphics/contest/misc_2_tilemap_3.bin delete mode 100644 graphics/unknown/party_menu_hpbar.png create mode 100644 graphics/unknown/unknown_D15BE8.bin create mode 100644 graphics/unknown/unknown_D172A8.bin create mode 100644 graphics/unknown/unknown_D17548.bin create mode 100644 graphics/unknown/unknown_D17654.bin create mode 100644 graphics/unknown/unknown_D17AB8.bin create mode 100644 graphics/unknown/unknown_D196E4.png create mode 100644 graphics/unknown/unknown_D1BE74.bin create mode 100644 graphics/unknown/unknown_D1BE74.png create mode 100644 graphics/unused/numbers.png create mode 100644 graphics/unused/old_beatup.png create mode 100644 graphics/unused/old_contest.bin create mode 100644 graphics/unused/old_contest.pal create mode 100644 graphics/unused/old_contest_2.bin create mode 100644 graphics/unused/old_contest_2.pal create mode 100644 graphics/unused/old_contest_2_1.png create mode 100644 graphics/unused/old_contest_2_2.png create mode 100644 graphics/unused/old_contest_classes.png create mode 100644 graphics/unused/old_contest_floor.png create mode 100644 graphics/unused/old_contest_frame_1.png create mode 100644 graphics/unused/old_contest_frame_2.png create mode 100644 graphics/unused/old_contest_meter.png create mode 100644 graphics/unused/old_contest_numbers.png create mode 100644 graphics/unused/old_contest_symbols.png diff --git a/data/graphics.s b/data/graphics.s index 47622e46f..d821ff389 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -537,8 +537,6 @@ gFile_graphics_battle_interface_unused_window_sheet:: @ 8D08EF4 .align 2 gFile_graphics_battle_interface_unused_window_palette:: @ 8D093B0 .incbin "graphics/battle_interface/unused_window.gbapal.lz" - -@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; .align 2 gFile_graphics_interface_hp_numbers:: @ 8D093D8 @@ -1065,8 +1063,561 @@ gUnknown_8D11B84:: @ 8D11B84 .incbin "baserom.gba", 0xD11B84, 0x40 gUnknown_8D11BC4:: @ 8D11BC4 - .incbin "baserom.gba", 0xD11BC4, 0xB660 + .incbin "baserom.gba", 0xD11BC4, 0xF00 + + .align 2 +gFile_graphics_battle_interface_unused_window3_sheet:: @ 8D12AC4 + .incbin "graphics/battle_interface/unused_window3.4bpp.lz" + .align 2 +gFile_graphics_battle_interface_unused_window4_sheet:: @ 8D12C00 + .incbin "graphics/battle_interface/unused_window4.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_116_sheet:: @ 8D12EB0 + .incbin "graphics/battle_anims/sprites/116.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_116_palette:: @ 8D1315C + .incbin "graphics/battle_anims/sprites/116.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_117_sheet:: @ 8D13184 + .incbin "graphics/battle_anims/sprites/117.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_117_palette:: @ 8D133C0 + .incbin "graphics/battle_anims/sprites/117.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_118_sheet:: @ 8D133DC + .incbin "graphics/battle_anims/sprites/118.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_118_palette:: @ 8D13574 + .incbin "graphics/battle_anims/sprites/118.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_119_sheet:: @ 8D13590 + .incbin "graphics/battle_anims/sprites/119.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_119_palette:: @ 8D13820 + .incbin "graphics/battle_anims/sprites/119.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_120_sheet:: @ 8D13848 + .incbin "graphics/battle_anims/sprites/120.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_120_palette:: @ 8D1393C + .incbin "graphics/battle_anims/sprites/120.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_121_sheet:: @ 8D13964 + .incbin "graphics/battle_anims/sprites/121.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_121_palette:: @ 8D13990 + .incbin "graphics/battle_anims/sprites/121.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_122_sheet:: @ 8D139B4 + .incbin "graphics/battle_anims/sprites/122.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_122_palette:: @ 8D13AB0 + .incbin "graphics/battle_anims/sprites/122.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_123_sheet:: @ 8D13ACC + .incbin "graphics/battle_anims/sprites/123.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_124_sheet:: @ 8D13C08 + .incbin "graphics/battle_anims/sprites/124.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_124_palette:: @ 8D13EA0 + .incbin "graphics/battle_anims/sprites/124.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_125_sheet:: @ 8D13EC8 + .incbin "graphics/battle_anims/sprites/125.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_125_palette:: @ 8D13FB4 + .incbin "graphics/battle_anims/sprites/125.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_126_sheet:: @ 8D13FDC + .incbin "graphics/battle_anims/sprites/126.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_126_palette:: @ 8D14044 + .incbin "graphics/battle_anims/sprites/126.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_127_sheet:: @ 8D14064 + .incbin "graphics/battle_anims/sprites/127.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_127_palette:: @ 8D14204 + .incbin "graphics/battle_anims/sprites/127.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_128_sheet:: @ 8D14228 + .incbin "graphics/battle_anims/sprites/128.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_128_palette:: @ 8D14494 + .incbin "graphics/battle_anims/sprites/128.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_129_sheet:: @ 8D144B4 + .incbin "graphics/battle_anims/sprites/129.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_130_sheet:: @ 8D14518 + .incbin "graphics/battle_anims/sprites/130.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_130_palette:: @ 8D148E8 + .incbin "graphics/battle_anims/sprites/130.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_131_sheet:: @ 8D14910 + .incbin "graphics/battle_anims/sprites/131.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_132_sheet:: @ 8D14A80 + .incbin "graphics/battle_anims/sprites/132.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_132_palette:: @ 8D14B80 + .incbin "graphics/battle_anims/sprites/132.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_133_sheet:: @ 8D14BA0 + .incbin "graphics/battle_anims/sprites/133.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_133_palette:: @ 8D14C1C + .incbin "graphics/battle_anims/sprites/133.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_134_sheet:: @ 8D14C44 + .incbin "graphics/battle_anims/sprites/134.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_076_sheet:: @ 8D14D14 + .incbin "graphics/battle_anims/sprites/076.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_076_palette:: @ 8D14F50 + .incbin "graphics/battle_anims/sprites/076.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_077_sheet:: @ 8D14F78 + .incbin "graphics/battle_anims/sprites/077.4bpp.lz" + + .align 2 +gFile_graphics_unused_old_contest_sheet:: @ 8D1504C + .incbin "graphics/unused/old_contest.4bpp.lz" + + .align 2 +gFile_graphics_unused_old_contest_palette:: @ 8D15960 + .incbin "graphics/unused/old_contest.gbapal.lz" + + .align 2 +gFile_graphics_unused_old_contest_tilemap:: @ 8D15A64 + .incbin "graphics/unused/old_contest.bin.lz" + + .align 2 +gFile_graphics_unknown_unknown_D15BE8_tilemap:: @ 8D15BE8 + .incbin "graphics/unknown/unknown_D15BE8.bin.lz" + + .align 2 +gFile_graphics_unused_numbers_sheet:: @ 8D15EA8 + .incbin "graphics/unused/numbers.4bpp.lz" @from ruby + + .align 2 +gFile_graphics_unused_numbers_palette:: @ 8D15F98 + .incbin "graphics/unused/numbers.gbapal.lz" @from ruby + + .align 2 +gFile_graphics_unused_old_contest_2_sheet:: @ 8D15FB8 + .incbin "graphics/unused/old_contest_2.4bpp.lz" + + .align 2 +gFile_graphics_unused_old_contest_2_palette:: @ 8D16FC8 + .incbin "graphics/unused/old_contest_2.gbapal.lz" + + .align 2 +gFile_graphics_unused_old_contest_2_tilemap:: @ 8D170E0 + .incbin "graphics/unused/old_contest_2.bin.lz" + + .align 2 +gFile_graphics_unknown_unknown_D172A8_tilemap:: @ 8D172A8 + .incbin "graphics/unknown/unknown_D172A8.bin.lz" + + .align 2 +gFile_graphics_unknown_unknown_D17548_tilemap:: @ 8D17548 + .incbin "graphics/unknown/unknown_D17548.bin.lz" + + .align 2 +gFile_graphics_unknown_unknown_D17654_tilemap:: @ 8D17654 + .incbin "graphics/unknown/unknown_D17654.bin.lz" + + .align 2 +gFile_graphics_unknown_unknown_D17AB8_tilemap:: @ 8D17AB8 + .incbin "graphics/unknown/unknown_D17AB8.bin.lz" + + .align 2 +gUnknown_8D17BE8:: @ 8D17BE8 + .incbin "baserom.gba", 0xD17BE8, 0xB98 + + .align 2 +gFile_graphics_contest_audience_sheet:: @ 8D18780 + .incbin "graphics/contest/audience.4bpp.lz" + + .align 2 +gFile_graphics_contest_faces_sheet:: @ 8D193DC + .incbin "graphics/contest/faces.4bpp.lz" + + .align 2 +gFile_graphics_contest_judge_symbols_sheet:: @ 8D194F8 + .incbin "graphics/contest/judge_symbols.4bpp.lz" + + .align 2 +gFile_graphics_contest_judge_symbols_palette:: @ 8D1969C + .incbin "graphics/contest/judge_symbols.gbapal.lz" + + .align 2 +gFile_graphics_contest_heart:: @ 8D196C4 + .incbin "graphics/contest/heart.4bpp" + + .align 2 +gFile_graphics_unknown_unknown_D196E4_sheet:: @ 8D196E4 + .incbin "graphics/unknown/unknown_D196E4.4bpp.lz" + + .align 2 +gFile_graphics_unknown_unknown_D196E4_palette:: @ 8D197D4 + .incbin "graphics/unknown/unknown_D196E4.gbapal.lz" + + .align 2 +gUnknown_8D197FC:: @ 8D197FC + .incbin "baserom.gba", 0xD197FC, 0x868 + + .align 2 +gFile_graphics_contest_misc_2_tilemap_1_tilemap:: @ 8D1A064 + .incbin "graphics/contest/misc_2_tilemap_1.bin.lz" + + .align 2 +gFile_graphics_contest_misc_2_tilemap_2_tilemap:: @ 8D1A178 + .incbin "graphics/contest/misc_2_tilemap_2.bin.lz" + + .align 2 +gFile_graphics_contest_misc_2_tilemap_3_tilemap:: @ 8D1A2A4 + .incbin "graphics/contest/misc_2_tilemap_3.bin.lz" + + .align 2 +gFile_graphics_contest_misc_2_palette:: @ 8D1A42C + .incbin "graphics/contest/misc_2.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_135_sheet:: @ 8D1A518 + .incbin "graphics/battle_anims/sprites/135.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_135_palette:: @ 8D1A5F0 + .incbin "graphics/battle_anims/sprites/135.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_particles_sheet:: @ 8D1A608 + .incbin "graphics/battle_anims/sprites/particles.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_136_sheet:: @ 8D1A6B8 + .incbin "graphics/battle_anims/sprites/136.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_136_palette:: @ 8D1A6DC + .incbin "graphics/battle_anims/sprites/136.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_137_sheet:: @ 8D1A704 + .incbin "graphics/battle_anims/sprites/137.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_139_sheet:: @ 8D1A908 + .incbin "graphics/battle_anims/sprites/139.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_139_palette:: @ 8D1AAF8 + .incbin "graphics/battle_anims/sprites/139.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_145_sheet:: @ 8D1AB18 + .incbin "graphics/battle_anims/sprites/145.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_138_sheet:: @ 8D1ACB8 + .incbin "graphics/battle_anims/sprites/138.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_140_sheet:: @ 8D1AE04 + .incbin "graphics/battle_anims/sprites/140.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_140_palette:: @ 8D1AE84 + .incbin "graphics/battle_anims/sprites/140.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_141_sheet:: @ 8D1AEA4 + .incbin "graphics/battle_anims/sprites/141.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_141_palette:: @ 8D1AFAC + .incbin "graphics/battle_anims/sprites/141.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_142_sheet:: @ 8D1AFCC + .incbin "graphics/battle_anims/sprites/142.4bpp.lz" + + .align 2 +gFile_graphics_unused_old_beatup_sheet:: @ 8D1B02C + .incbin "graphics/unused/old_beatup.4bpp.lz" + + .align 2 +gFile_graphics_unused_old_beatup_palette:: @ 8D1B0C8 + .incbin "graphics/unused/old_beatup.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_147_sheet:: @ 8D1B0E4 + .incbin "graphics/battle_anims/sprites/147.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_147_palette:: @ 8D1B1F8 + .incbin "graphics/battle_anims/sprites/147.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_149_sheet:: @ 8D1B220 + .incbin "graphics/battle_anims/sprites/149.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_148_sheet:: @ 8D1B2F0 + .incbin "graphics/battle_anims/sprites/148.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_148_palette:: @ 8D1B3D4 + .incbin "graphics/battle_anims/sprites/148.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_259_palette:: @ 8D1B3F4 + .incbin "graphics/battle_anims/sprites/259.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_074_sheet:: @ 8D1B414 + .incbin "graphics/battle_anims/sprites/074.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_074_palette:: @ 8D1B47C + .incbin "graphics/battle_anims/sprites/074.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_150_sheet:: @ 8D1B4A0 + .incbin "graphics/battle_anims/sprites/150.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_150_palette:: @ 8D1B574 + .incbin "graphics/battle_anims/sprites/150.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_151_sheet:: @ 8D1B590 + .incbin "graphics/battle_anims/sprites/151.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_153_sheet:: @ 8D1B688 + .incbin "graphics/battle_anims/sprites/153.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_153_palette:: @ 8D1B6F4 + .incbin "graphics/battle_anims/sprites/153.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_154_sheet:: @ 8D1B70C + .incbin "graphics/battle_anims/sprites/154.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_154_palette:: @ 8D1B7B8 + .incbin "graphics/battle_anims/sprites/154.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_155_sheet:: @ 8D1B7D8 + .incbin "graphics/battle_anims/sprites/155.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_155_palette:: @ 8D1B8A0 + .incbin "graphics/battle_anims/sprites/155.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_156_sheet:: @ 8D1B8C0 + .incbin "graphics/battle_anims/sprites/156.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_156_palette:: @ 8D1BAD8 + .incbin "graphics/battle_anims/sprites/156.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_157_sheet:: @ 8D1BB00 + .incbin "graphics/battle_anims/sprites/157.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_157_palette:: @ 8D1BB64 + .incbin "graphics/battle_anims/sprites/157.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_158_sheet:: @ 8D1BB7C + .incbin "graphics/battle_anims/sprites/158.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_158_palette:: @ 8D1BC44 + .incbin "graphics/battle_anims/sprites/158.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_159_sheet:: @ 8D1BC68 + .incbin "graphics/battle_anims/sprites/159.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_159_palette:: @ 8D1BCE4 + .incbin "graphics/battle_anims/sprites/159.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_160_sheet:: @ 8D1BD0C + .incbin "graphics/battle_anims/sprites/160.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_160_palette:: @ 8D1BDB4 + .incbin "graphics/battle_anims/sprites/160.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_144_sheet:: @ 8D1BDDC + .incbin "graphics/battle_anims/sprites/144.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_144_palette:: @ 8D1BE54 + .incbin "graphics/battle_anims/sprites/144.gbapal.lz" + + .align 2 +gFile_graphics_unknown_unknown_D1BE74_sheet:: @ 8D1BE74 + .incbin "graphics/unknown/unknown_D1BE74.4bpp.lz" + + .align 2 +gFile_graphics_unknown_unknown_D1BE74_palette:: @ 8D1BE9C + .incbin "graphics/unknown/unknown_D1BE74.gbapal.lz" + + .align 2 +gFile_graphics_unknown_unknown_D1BE74_tilemap:: @ 8D1BEB4 + .incbin "graphics/unknown/unknown_D1BE74.bin.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_162_sheet:: @ 8D1BFB8 + .incbin "graphics/battle_anims/sprites/162.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_162_palette:: @ 8D1C03C + .incbin "graphics/battle_anims/sprites/162.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_163_sheet:: @ 8D1C05C + .incbin "graphics/battle_anims/sprites/163.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_163_palette:: @ 8D1C0BC + .incbin "graphics/battle_anims/sprites/163.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_288_palette:: @ 8D1C0D4 + .incbin "graphics/battle_anims/sprites/288.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_164_palette:: @ 8D1C0EC + .incbin "graphics/battle_anims/sprites/164.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_165_palette:: @ 8D1C104 + .incbin "graphics/battle_anims/sprites/165.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_166_sheet:: @ 8D1C11C + .incbin "graphics/battle_anims/sprites/166.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_166_palette:: @ 8D1C428 + .incbin "graphics/battle_anims/sprites/166.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_167_palette:: @ 8D1C448 + .incbin "graphics/battle_anims/sprites/167.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_168_palette:: @ 8D1C468 + .incbin "graphics/battle_anims/sprites/168.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_169_palette:: @ 8D1C488 + .incbin "graphics/battle_anims/sprites/169.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_170_palette:: @ 8D1C4A8 + .incbin "graphics/battle_anims/sprites/170.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_171_sheet:: @ 8D1C4C8 + .incbin "graphics/battle_anims/sprites/171.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_171_palette:: @ 8D1C514 + .incbin "graphics/battle_anims/sprites/171.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_172_palette:: @ 8D1C53C + .incbin "graphics/battle_anims/sprites/172.gbapal.lz" + + .align 2 +gFile_graphics_contest_judge_sheet:: @ 8D1C55C + .incbin "graphics/contest/judge.4bpp.lz" + + .align 2 +gFile_graphics_contest_judge_palette:: @ 8D1C830 + .incbin "graphics/contest/judge.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_001_sheet:: @ 8D1C858 + .incbin "graphics/battle_anims/sprites/001.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_001_palette:: @ 8D1C90C + .incbin "graphics/battle_anims/sprites/001.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_173_sheet:: @ 8D1C934 + .incbin "graphics/battle_anims/sprites/173.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_00_sheet:: @ 8D1C9BC + .incbin "graphics/battle_anims/backgrounds/00.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_00_palette:: @ 8D1CFB4 + .incbin "graphics/battle_anims/backgrounds/00.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_00_tilemap:: @ 8D1CFD4 + .incbin "graphics/battle_anims/backgrounds/00.bin.lz" + + .align 2 gUnknown_8D1D224:: @ 8D1D224 .incbin "baserom.gba", 0xD1D224, 0x13C diff --git a/graphics/battle_anims/backgrounds/00.bin b/graphics/battle_anims/backgrounds/00.bin new file mode 100644 index 0000000000000000000000000000000000000000..dc70b2cf88113b71c9a1169637b5dad149a1a462 GIT binary patch literal 2048 zcmeIuHE$eI6b0ZEk?kU!Ht>a+nVFfHnVA{ghTVqKhSP@KhW&RUW#&G~BdxYfvwG4> zr?~U&In6ZJLQ6gM(pw*W_0!*gl<#}sp+`2_WV0={+Ge{QDYw&J2OW(x%4lPZHO_bw zQhx4*mtHyOki(8R>X_qBq#SNIk3I3!Gm*oklg_&6s+;b5h#YP>uf6fsJCVa3Xpq5% z7;2c|Mu=Q=iv7ZwX_ndMm}{Q-7KmJQiv2RD+Dfaew#HiPthXWMa{a=o(fIAP&wdBe zj?t&sFWko0HO@NcybEc^aEkrH*=d*E_J};yG}FyUJBCy27tTqioOUL;OD(h9inL?= zzxaMDt+mlsI1^1W*_4#4Ty@R$v}4?dS1o(tEVRgCOGK`6$6fc*s^P|6xZ%{g=#tB> zl27R3*Z54#0?l)49~o51HTp#CGE)UR8BxzGVSiH);L zxWV%PABoTem_*&f2LLS7mCyiuG9ap=1yBg60D!RZCIAXhctn8PeC;#uXH` zo(1Nc5~2}X+X0SC$^dTUT;U;J2s{cvfK-;(1q^4v3cy*uE+Ma+3hXpp$63B?vzW!1mEx|uo%|KFu&l`#W?V$h+{!{?q zwQ&fDDgbGXfbggMuST1;@c?*-iL3|V1Q7$H0mdDuF;s%@g-5g{2@;`$ard=E)4{Tf zhXl~?OYYwNu#{XYdj>p8fWD6Y6%>Fi1w`I~;CmjM6Ei?$1&FZ#gvfwAPV>!Qb&`e< z$qC=?K`8{7?L8*~gc&R5ZxP_DCIEN&=0jdZ49pH7C749+mt&mDvoSaT@NwD_V21_j zfLW&{JpknL^|kv(tG5q13wKX|8IHdE-H+o2KbwW^ftdi4oGm#8z+N0ZL!&+FuLzi9 zzz>Fh%1sa0JN&pA)&lyjudTNYB?1F^{DL^B{Ie3$YX0GUwr6<~?mz70Gt0I~$w0lfi0H`iNOt^+a@^}N)A zDPfU!fS9TSi#*P60uGa5II6(%kAY_uIM46jP?Gz%ETr@NrfEFOZ&^r(K%9A!VDy@YH9BTQU(D&A+AfNbpP*W_&YRnwfz6g>;M0#|3KiC^}l$^|0PHNpM3{Z4gpUO9@+zB*?PJ-hDc0JPDm(B0D?kB zK^~13?l}zFi3NoXh6i=Tb#5JawLw6~fY;;M#sj<#NxOC^Xr~oAgxYZ2WoMYDE+Bcn Rf2je;NKaQkmvv4FO#tDRKvVz# literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/001_1.png b/graphics/battle_anims/sprites/001_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2cfd6bd0b9267b3f2009261a4e99390d7b9e9b48 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0zmA*!VDxI2ESSgqznRlLR^Hgo%@P7`+|1}c- zk81wEYWe?}*Z==f|AD|O>woc-|4WYkKl=`-90HymJhTVM3iNbw4AGeQHejb9g8|2) z0t4=E^EKzI1sXf$Ja9S6%+L{z+!H~k`AC5lW q`s&#V&mC@C1e{MA{;6p)`JDOlgfgSS`NJSrGI+ZBxvXg>7x^rXCxRW=~f?mvv4FO#mPhFk}D# literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/074_1.png b/graphics/battle_anims/sprites/074_1.png new file mode 100644 index 0000000000000000000000000000000000000000..827ec5d489a36dd1ee4173ab77b292be4b1d617f GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUT{5M+I4dbAC}_!&CIA2b zKf0xO$&{exV#}l;2`@{AvuBSsH#Y;-!a&?0BeIV-@JYD@< J);T3K0RV$>8oB#j-00000000002a9|I0005D zNklryF<3imtN+w2Y)kEfg5|m18S?C70Sst^}ylDi?94VpF8V*IAf*T8y0&`;kzE!o0lZ} z{5leqXwEUu^tI11^?hE^?q+xAa4S8`du7A%a8a^HQ(}Uy#108V2jwSRwo(;4xOBtv zdE#>W91kQYP5-*qUSMA2{7z%$?YYtUD?b$!-aq}I%kAzT4QB1r^7{2B{)LpU)R6g_ SZGSu%Ax$>8oB#j-0000000000b?NdC0005Y zNkl#}8A5AQP5%^PE^wet;5S-b(v1tjKI|O0U0UX)|Y}8`g%8oj6#Zal4bBtJ1e1tSU!cGrUp)dYinj=&a!vSWxXY9Kla`Ms|NrGy+RL0XjA zmm)k*t9LaKglymXn?l>~#2-WdL)U_E#<)>S(yVVEgtbU<;zkA+O*jUmWpIq+nH$%q zl*G6Ta&C$|N^S@TMbqls%sTd+;2VQ`42D0L{I*Q6WZ04%T9Ve}>*5c|cWm9}qz?lC O0000GB7Zvdb&7{GrDv-yC1y1QHpz-wYJ151FqTahSdy}R_R@T*9Pfl$ z9)pST&81e?f5tY?U%ygaCMYlFx{Sjk9}tX`7u%h2m=Y z=?A`+eyMb;DoLDhz>@jh->9{9>c>3RtvH4V3}KTeqYH~rK>hRZj8t?y*rzrLS;S%Fr?ewXMTP*ixj`njxgN@xNA D%~HV# literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/118.png b/graphics/battle_anims/sprites/118.png new file mode 100644 index 0000000000000000000000000000000000000000..6e2075e5145a38ed07fb395b4f9dc2dc4e98a546 GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^3P9Yz!VDy5c$8@ZDT4r?5LY1m|NsAI&#qoQyJqi} z<~4Jo<}_OZ1#yAvmJc5TNE zSF+DAskq7*AK7+U-M>nX$LQ0QX_c`I{71q!WK6IYY4b6EX0m1f`9^uORg0s)M0%ZR zb)3I+w(McGiC3DB-~HxbpvpVd``e9wVmDtleJYQ+P?TzLNH+J(PVW7i-_-X_kbbs7 Vd|uWCqf;QSdAj5dr5H=x8L_s=3_ZsLPO1no2-LvGqSW#Yr)uM{}0Y6%OWY#_oT|*dMYvOGnU%Upo(E<8#30g=p zWP0@g2Dyr$>;(n5cL}ec^vQiAhVpsm5FU&5Aqo_B6We3A(_{dqFL;pr;y~vP>BhYy zfjA}(;Q$obU=d9BB|vrRPy;>RbTYSElS4;_PkpFQH%-%YFR$hrdC>90 zv3GA4bW{5>kS&dRWBW=6mJ!KG25phP+F|;lKx&8i+Y*L7hR{Whlr&q@hG>uvPHNq# zvsePYGOawHByrHqj<_V6R?8vey(W}P(Dc$z5K>aSmi_8vJRv$xT630?WuVSd7q-H^ z!3>PFk+9+?@0hh753LhBKv*d|Vpv{h2o>Xu=@kwOFt_%zV5G%q$G$v2SO*$eg z0k$LI7f`0?mWUVyKvh+x0Fydm@gv4uKFAo$${f4Q_OmXGxL1u(MFDA*!|Kb}sjc8*y SvHfWP0000ar<0X%{SwFz4IIe>5K z`|^J;4T3)=ANA<6r67FPv>)y#0_Kl11^Zi4&`t1cL07Y61Ohn*?-lKn_3KCgj5ef; zQss6aaIq7z>?O{?1WYe6mv{ie4s5*R0A~!^16Mkw@texcLRt@E1wcuE0nOsnK>Lfx z3CjYes=r{GIRmn4uD_4WN`=(+-KA>UwtIa5KRF;pVHKG=00000NkvXXu0mjfEscGc literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/121.png b/graphics/battle_anims/sprites/121.png new file mode 100644 index 0000000000000000000000000000000000000000..c4fc11f860f5d6c2a7b6c2e015e61d2b60d0c668 GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^96&6ZRaQU(D&A+A9B|No?`|C84IPip?3 zl=MGI^XRvzDc`!2zU?*q_Kx8jPysSH`dj8Ykgw~&XG+MPdoj7+`Ee&u~-g7=s0P4hkMt;CY-8v0$dcN4AN-&tH9Z{_7#8 zxBsk7%$Cew7G8Uyu_dMbL+=ddC!2(wW=@!^v2h|hgW)8GGT&Xzt9PTS^x76e`LF& Vt!mhMTxloBQ=YDVF6*2UngF$obBF){ literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/123.png b/graphics/battle_anims/sprites/123.png new file mode 100644 index 0000000000000000000000000000000000000000..c1d71a8b7ee90c0d75968392ce43a337200a3bfe GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0ziC#g&9cxfBdf&NErn9gt!9fZ{NOMJ^F0Rl&e#c zjutyE2~ub_WJm&vV+HR$#Y%w^b3I)gLo9lqPBP>=Y{27cA6V6&6u&?r-F(MA-rV=~ zQHl}$^pjaC)GqpE&Q|rC%k-HyeH1C} zaGsau)_T5wQpg*jDZX@)8;=E=^QS$I^EdfFDS)-Krj~KdQOSSh%J|HUBxlol3r~Sa3Asn`hK(Lzkq-D@znaWxF`9a*ZhOG zhdau93g+)d2Kt{`1r-7XTRhlS0tEtGr@1I1ATmVL!P#=#1%`O_K>+7zJnA{00?3hi z4)uA?nS27)gN|#2LzMl$d;zZWa%)smiFbOBu9j4@fnX_Qv_BTf zOC=|;u&Rws&-f6c^h;88a>;2^U%R{q&DSfcDoMNZ9fVn&m;TpW#%Te!c g03EhRAMg?T3lMdp8yKNY8~^|S07*qoM6N<$f>Rg=ivR!s literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/125.png b/graphics/battle_anims/sprites/125.png new file mode 100644 index 0000000000000000000000000000000000000000..2bc2c212f6a1185e21ee02dc389521267591c743 GIT binary patch literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^0zmA*!VDxI2ESSgqznRlLR^o2`}Y6;|7Uymo^5X4 z;^?@9gQJ>*BZz}TlY@f+h`?aUnl(XDQ4nr^m+vE>;3`iS#}JK)NBbPP4mt3+HZNg+ zacJ&b*SCyadk=6Ne5&x`P3+fsaSk7tS{tv0{!BN>jLnMu#_w~F#i-K7`{tD2heNbG zH-@d~)63Pr#o<4_YoS^j<2jKDF+~zvjNe^ip2v|qul&NwhU&)YPHh_xpRMb0uzuh1 zcG02vQ&KNStaVv@Wb%wP&psR1=}B&sxOH`Qv4Q;34SoEtf9~15^60LAtB$CD7CdkC dyQAi7B{P40$n!h?^VWd8;_2$=vd$@?2>=GQcu)WU literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/126.png b/graphics/battle_anims/sprites/126.png new file mode 100644 index 0000000000000000000000000000000000000000..9f19629026f89975382e76d73179d7eb7e3e2592 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUJ^KIK|NsB5UcI_y%a-o$ z?yRgVM@L5m1qGn||E&L*C~NkIN}yb@r;B3<$IRq}18gye6t+z4^p@&K3kxaZ^ky)c z!O|KN|&{jjRv zRNa?|yxe2y|1G{nUUr@Ohy%YH)}R7|mtkt| z3wl>g=MG?JfJ~ru?|5ScNiH=kptbRR29TxsOiKgYOau&^IDHpFA5E@^oiT7fvP8<$ jTTLKOe?PXm>GIEyaKM@sg*^nq17G7PTq z?zkgf$)!@s+a(q1?b&4F$k*PhA9YnF@nQo<28)YeX1CeTge}LF?kQH>IvB#Idq+`^ zG3!*&gH-!P6Rtk^=zVp?>lgcDHHE&u*cZ%Ue^e)2CS-<%+$|d!|4Z#J3b&g0aQ$1v zcO}q=Yn`g{>ZGb&KJp%&uI%h@75&41GN!Yh_tg2CcOOtu*ynDr?3ku+l!5!2HHT#uPznqHZ z!*E8D$hH>@nF1#7G7=bGK6;UmAkyN&cyz`=Eo-ZugKS|OQsM?1m_nH~*|srsI6mb} g&{`|w)9R?f;JcLD_U!)c@*tZ%UHx3vIVCg!044T1_y7O^ literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/130.png b/graphics/battle_anims/sprites/130.png new file mode 100644 index 0000000000000000000000000000000000000000..4a753e6d5406685bbfe380301d01e7592cd34881 GIT binary patch literal 776 zcmV+j1NZ!iP)$>8oB#j-0000000000b?NdC0007$ zNkl5gg5FOZpR$g614EY->dvKs9LBRSsDluqHE*lciie7Y+R9$@aP0&MZ zl7p_Hf2y+|Qk_`DZ3>~34tTxu=FOYg)kpyU?O(U;*XO>kRC(yn>Rc3?cWh`Zd=l^v zz|ADE9X2iq4gN~U@;4Un%Ymhrx-@_R4IQtec3UfwOHjCz2B6Xa0(b7(ga&A8HpX(G ztJIU=r4H~U0+_TK0GiO1NWe?Rqpif}EP<7&G1G0`EaS_$x3tkMmb#lGaCh$bTL~Y+ zIG)F&WF|!z#`AeP+z4HYI1Iycn3+a#y-75X(6uA1Fas@H%0XnM31OV9VMH`AcZ6A! zUz(Kg@(*X^=-IvsPY3A~iMr=M)Blrlo0A$xCQ*vI&5MrMUXRWwL+M_%bzx@Ck#|{< ztG(2PXQq6WiA?O8pK5-l@^xO6?Vz%6lv0^!i_ZG2E@}j_-2mWATNEl6s&#GDsw%!9 zM-3g<`8w;Lnz|@;STm}1)jd7>m3y|*FWR8<`|tZ~c>l{?-v`jK$^lIq^Z)^{s<0WV zz&P5IunfO>G=8wRK2>dRQ-h*;_EmWYW4{GY2Per4I`{w3;iBXidB{Wuxe(m|=tvT&UkfFOf^vKm)JyQo39>ExT%&P2`GQ#6DYjxGEU?lR$(U@06ze3lD$(mcZW&<0000zkmrW&+RM$<80&s62D;V0?IV{+~DBg_hQ>%@J6rbKh}E zeQ1&1@#JMWMzei2Rc5ch?%nio(Y>{9JjY*KyLe7}8pAVR?*GzNTHpT8TUmbL*B-_z zQd^mGIQ<+AmoP@vb00KsgLBH>rscD7enk#W6%<;@XLhT!$3|TwOVLx^-AObjmqQDtzzM zue7%=__@EL1lPj3z2|?vvI$rjEo!xZZ&gZYRB{|+tK12rL+PC-vUWW$T6M)yOk;~L zZyS%5iI)(snUr>5Q}WM)k5_GB)saZlFtdJ~T(|vOvcI9J^P`W>KWDeiQ){dI%2Sqn zA&bP0l+XkK{f%Y- literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/133.png b/graphics/battle_anims/sprites/133.png new file mode 100644 index 0000000000000000000000000000000000000000..cebce575e67992c9ed679cead08068c4ef5da940 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt$)m_U-@w|L@*CyLa#G z*|U3(9$m6!%akQcs^`qfYHkk7%CZa!Qn0k-04j$7>-s5&fvhM`7sn8ZsmTcrOg%b` z0&NWqk~7khQbPO~JPo8cnk1Q+PBpQuOAr)Jc1vStV`EKZZ)RXzuunnEEiEi y#zuzV30YxoiPudgSmvBl;}n>D`I1DN2m{0GrJONNvzK^*?DKT>b6Mw<&;$T0AVf+4 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/134.png b/graphics/battle_anims/sprites/134.png new file mode 100644 index 0000000000000000000000000000000000000000..933852b07f87951e886047b5cc052ac8a6c79a2e GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*D2q={r~^}-MeS^?wvh* zcJI-nOSWv8vSdm1oH<#|%|TgNmO()ZmX;hqqUh}r?1_gxboFqqcc~z&llxo^(S}O@3oxza_%FE+(TC%-#T@u qkiToC9@FDZPd}d3dG)(|&vD+CMxLPXcgAuchk3gCxvXG54 zIfotBBBR{&@?<)L??!B8nly*Cbx)Sc#%z%-9@q9oER>p?wzh)Nt?l!d(+T2g20P~* zn0e^EUfy@>O+R}%8745f)+ctIZ)cpV+@jdbqafn-Q}^3v*}R!g-JGY{8BGDX)zj6_ JWt~$(69DcsPT&9l literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/136.png b/graphics/battle_anims/sprites/136.png new file mode 100644 index 0000000000000000000000000000000000000000..cc99103d5d9a72c21f549eece2cee7e09a332327 GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^93afX3?$7I7w-U41_3@Hu1T8zL0}ET|NlY%{{zV- z-Oc}(%=y1%%m1@y|37>7|G!~S_x~kcbE?<;?+$v`yk;l+HK1NaPZ!4!j+w~`49se* t3W-T9DLW*z4GbiiIoVQ`XRrt`FlgOjQoMCg>p4&{gQu&X%Q~loCIE27I5GeL literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/137.png b/graphics/battle_anims/sprites/137.png new file mode 100644 index 0000000000000000000000000000000000000000..7f3d266443f7def7192f71ef193b63a3c6227c89 GIT binary patch literal 377 zcmeAS@N?(olHy`uVBq!ia0vp^3P8Mog&9cBe^M+DqznRlLR^zH{{xw4=O{cooAm$x z8Xy}#xW>es%D}+L;_2cT;?emw%#rVi0*A?-C5kpF$$$RO7Q5}+dXQ!NP3O&;=I$(~ zd9DOq>#h9!`kK~k)2(^OUNS`4GCJ~q{C!+-o1^LKXuGm#l2}trqT`SmsVVJd~jgh+((Sk3HE{wybSLJ>|brXKXdh3uI4SjnjHhpt|oJE+-&Z2 zvCv>Sv2;o<%b`vgk7T{ny$mhYDGZ!<7GDUP|PaWII-r>!{%=07xivg5(b(3YxLW-Z9Bf65#2IHO!3uQ xhkswgZeG&<@!>8#s&%Vbc9dAjf5#*r?|8y zSuiu}i|&!E&?%A2%ZL^^#2YV?ba~~1wTIFdzK=h2V5iN|Prp)lo2r5X6i(FeTsZJ~ zw_tn1udkK-@@Luor%pDz%~4a8bXn=M;ScH0g^W+W8z=vn+A$C0L{C>gmvv4FO#pTK BP6Yq} literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/139.png b/graphics/battle_anims/sprites/139.png new file mode 100644 index 0000000000000000000000000000000000000000..38b74a9e488cb35764ec4c73eb25a868cbc1cf11 GIT binary patch literal 299 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*Q_bsKxR--(2^xf{{R1f zbW8D)DM8J}mPtVpUX~1+5C%UF5O+!jwC z&-8u#3-_FhTKYk&*H~~H(u31yMpH){s+fx1PS@jkW z3y2{284v(fp#kr8{CYs4Y)==*5RRF#XEyRSD2TXTT&)oCitPxePt1WP#+)~6*SyTo zl)b$^$)n=v$~e6#DXADkI{GNt3=>$?e`1eNE^d%Fwd5>Hn@mvv4FO#r{1R_Oo$ literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/141.pal b/graphics/battle_anims/sprites/141.pal new file mode 100644 index 000000000..c5f241feb --- /dev/null +++ b/graphics/battle_anims/sprites/141.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 148 139 +98 90 255 +115 106 255 +139 131 255 +164 156 255 +180 180 255 +205 205 255 +230 230 255 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +180 180 255 +205 205 255 +230 230 255 diff --git a/graphics/battle_anims/sprites/141_0.png b/graphics/battle_anims/sprites/141_0.png new file mode 100644 index 0000000000000000000000000000000000000000..631d344c877324b5f0e532f26d848e12ce97c915 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU&6?7k6!pJ2>wkCi|0Q$& zZ`tzy?Aia%p8W>`pb|KMi*H)0eHJKc@9E+g!Z9;BAtB*`MgjwK-?uMJ9I^A*(zZ^Y zzI^FYX35mdg$wo8O)++giRtO}ZQ!{kAf7DD&St>v#2l$0#b9(rn(xu0^jMGup00i_ I>zopr04QHVS^xk5 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/141_1.png b/graphics/battle_anims/sprites/141_1.png new file mode 100644 index 0000000000000000000000000000000000000000..95f24953f061478c6c32c743961ad38ba2563fe7 GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^96&6ZRaQU(D&A+A|dx|5>*7iazNZvMYy z&i^f2{+~Vj|Jk$uKmb$%2XOICOSR7eMNK_j978x}CMP`5NJvP?@J|Oa{IwG@^!>fl yHN1HXRogfU4b2i0N)5{r5;zPQXB~QVfPq0JNof6y&Wp!D#(KK?xvXZRaQU(D&A+A|dx|5>*7iazNZvMYy z&i^f2{+~Vj|Jk$uKmb$%2XOICOSR7eMV&oe978x}igqgs9Z(Qp4ri2Ssnv=Q36Ctl zpQp8H^30qBnFVG&R~81%UcK|hEXMN6w|YI-SE|2Bz2Pkx{$Dr4DB~de;SEAo5ylLw PL6&&B`njxgN@xNAsb)q7 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/141_3.png b/graphics/battle_anims/sprites/141_3.png new file mode 100644 index 0000000000000000000000000000000000000000..02ac9d68ee5014677756756f1cc5ba86e277bd0a GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU&6?7k6!pJ2>wkCi|0Q$& zZ`tzy?Aia%p8W>`pb|KMi*H)0eHJKc?CIhd!Z9;B;Q+tItpz33kxVl##_=TFVdQ&MBb@00N&q!TZRaQU(D&A+A|dx|5>*7iazNZvMYy z&i^f2{+~Vj|Jk$uKmb$%2XOICOSR7eMb$iA978x}CMOuAB_t%|nKB41bYMEey2;U} kJ3%2)isx}sV8==xhTn(T?6ZvaXo1Y}boFyt=akR{021Ukga7~l literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/142.png b/graphics/battle_anims/sprites/142.png new file mode 100644 index 0000000000000000000000000000000000000000..130bcf82e6a37f901cf8d3f07e3a5fec7c4b0913 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^96;>A!VDy@YH9BTQU(D&A+A|dx|5>*7iazNZvMYy z&i^f2{+~Vj|Jk$uKmb$%2XOICOSR7eMZG*-9780gEqULZ9!4dFU1~?% z4sxuCT@*EUPQ|;1*%_jevpHR6%-tt1a?RnM^r7AJ_SJuJ{3WnN)I5Kdn6ud#kHk90 X8+&vOKQuha0@>y1>gTe~DWM4fWD`rR literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/144.png b/graphics/battle_anims/sprites/144.png new file mode 100644 index 0000000000000000000000000000000000000000..0699263956ae3b43b91b4e9c60b88fdcfdde5b0d GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*Q_bsNm2icv;KEC|6ela z|CTNP&z}AN?Ad=H04jk4xcH`}+Gl~HUY;(FAsQ2t6BM`$N=g=dww9W}YURM-%NW7Q z?jqa5FY>TKtA+Cb!xavTjE31=Nk;5WMFq@P9vmnzx3M{(vx3d!{o!VgPs(tZ$}J2IW-elhzg71yd?na$a^Zu`8@Ep7 z_OUyt=x_ggYDf;-eB(FE-n5AxYrD4Rjr%daHmCVldDp%2Jh91wp&#UGPgg&ebxsLQ E0Kq0`g#Z8m literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/147.png b/graphics/battle_anims/sprites/147.png new file mode 100644 index 0000000000000000000000000000000000000000..6dcc9cdffcaba3816343d3406934c45f4b577040 GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoQ!VDx|6+TY^aRPioT$fDg{@=~;e-6k0H4^`i zYW}}!`Tv>M|Nl|{fxs*4fAN(6OOF0O`z~k=!m-TTY$7ZIhDt9X8uuz2+feZ~j3>Uscrn0bh@7b?Ty&S^rheS2Vuk zdZX{~yzcJwB1iYerptRbi0lZO5}NKfH@Tc`oBG{3=WkE(yAilx!p!0%uM=KDVRKna z`?j&0vBz$%6MoF7%gW`p`GiEGR|r_*nQ-tdfx0UJKYp+=IUo3|sZn9`{M?U~(_a5M zKjZB5Iaemh{F0O@lqvize)w(f*P{o2zifZ^?cb60dlY&F>`&Y&naXL4LhV@pT2 zU+YQ6YuztqE&swBBh!$w`SQA_EGMKR!ltlq*_U(6F>{i9^+b*)Zw{%;bt}K*=xvc_ oE9o=fv0S65^XhQkT8Vt-yf1}1)=&0sumri+)78&qol`;+02F^{%K!iX literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/149.png b/graphics/battle_anims/sprites/149.png new file mode 100644 index 0000000000000000000000000000000000000000..8e52802d7bff5b9b0cc14d057fb76aec7c5cb1b1 GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^0zmA*!VDxI2ESSgqznRlLR_<^bSFjqFV6bk-TZ&a zoc~+4{6Bm4|FdWRfdHrk4&dUOmTI2`ik5h~IEH9UoZ7dM_oxGp(@B4}6S)F+Stjmr z;CgR=`TETc?URb#5p8jKe=qZ=9L8&p=c7^S%8;f@}UVgJwJ+k9q7mM511>Z7~ z`d_it72ADTA_-J)nE^L-O|?+3GFx2vFP)g^6^ Ot2|x(T-G@yGywp3VPMq& literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/150.png b/graphics/battle_anims/sprites/150.png new file mode 100644 index 0000000000000000000000000000000000000000..e6c55b57375fa79329eb7f9102979f358e487e80 GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoQ!VDx|6+TY^aRPioT$fDg{{R2KBZFf%L-$pN ztN$7P-wV3;Zpk~KJXRpB#-Ig9c>2YZ_E=MuB~L><`^ceLg_1EzYDs3 lnU96!e=FQx)2jd0&~8hkao4O_r+q+9_H^}gS?83{1OQ%AU#|cF literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/151.png b/graphics/battle_anims/sprites/151.png new file mode 100644 index 0000000000000000000000000000000000000000..bf78192732dc548d85effdd618282ac764117c72 GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^0zllr!VDxo?EWGMqznRlLR^Hh!!zaxWVH$(ST zhO7S>{@)9__io8MpgdL}t;V1al&JD_aSXBOO-_*5ciq{Jl#V3@@Et(6hyaMOoxXLV>q8Z(~L| zFJopqJCjWWoBxl1)5{kw)LX%(B%#Cif@jB40sYJBH5t!?ckExmdxArrVf)sg6N`SI Q>i{{=)78&qol`;+09R8?+W-In literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/153.png b/graphics/battle_anims/sprites/153.png new file mode 100644 index 0000000000000000000000000000000000000000..d3dd12ae1f5d3a0026103ced8cb49fd30248b6d7 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!VDx^^%AmxltF+`i0hIm-9YC5H4Oj%cmMzY zAIQcJHYY}W1*&lJba4!kn3|k$fWgPhD?`can3orqhSI5H$J{hd&FFDt@RW36h@82} ykjEiZk)@}XgVSM4f<#xM?ykcZ=Jvg`3}Il1oG;w&aFjEOs#n52}C8r@%;U@i0EVy$4e zLj0R~tG_Re4l>L9S|?T>m>U*lsN8>Vk%#Ehhn7qJ{o`GFS*h*7iazNZvMYy z&i^f2{+~Vj|Jk$uKmb$%2XOICOSR7eMY}v*9780gmQJwcJ8ZzwI&ngkoXYCW#q8Is zr=79QN%Ir5jCL_h*xEa3`w!!KerW~;RRdK)Wf4)$Cw!_*MHj?39j@Zu<7Vi7eIbMY z-fTDZOJu%klyLbN4K|s2lR>QP`fnVY}jzD;`&uS9P2bJNviz lmlEI7<+oBaW8%JC|HoM9Rz5!{FzpD)t)8xaF6*2UngGD~X<+~W literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/156.png b/graphics/battle_anims/sprites/156.png new file mode 100644 index 0000000000000000000000000000000000000000..c0567df8c5bf0af890778dd3fcde6717134d2aa5 GIT binary patch literal 332 zcmV-S0ki&zP)Rs7Vc^0002j zNklUIF1L+US8@igNjj}Q^wheRL$?R+bGgb9( zNJ3^TWJ8eG-MMNkp{aKmLTT#>*6c8pc77oE*3_(kcHIyNL*E)sLb+}Xkr1Z7Wh8|5 z<2^2TOrDV-f!CZEoP=^?d}B%pLVpBiiDU;PtTu2vAYrv(*^#rrn1F=K+QMw&mh+gp zEP$}RGP$!5Lfqgup@b{)gc9BZCctNZ{%66@`-OZspHVOdagf3&hGCBD02T_aBv@*= e7Ash+zrho66fGb-pn9zU0000%=uUL^q|JJFw6~^>|*nh4Xx$#uQNj9*~8eu6{1-oD!M<=+-m? literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/158.png b/graphics/battle_anims/sprites/158.png new file mode 100644 index 0000000000000000000000000000000000000000..a91eaafdb2b5a76ff11d4193695e0af6e79aadaa GIT binary patch literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt#u5(hXz=1qCfxvgH5& z|3|kJFPRe5Tx^*XB;jSraQ5uc=H_Og0yr>y$$JyXY4db(43U_cd)APPMUjU!z%e4x zfAfTuYu3KmI#2CZ-sWdk%*#GaneDUei+SY}=SO$+u5UVNdADl$luut9MAyttP575F zRW-OkC61eA-t{?AKP8kkWPBK`dFy^x&fk3VNL1clFU_wt4O~}zjTP#)u9~FxLo}zC pg)#blRI4GIrc9}lwQu6@pZrZZS~s6eeyj{~o~Nsy%Q~loCICFxU_}4` literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/159.pal b/graphics/battle_anims/sprites/159.pal new file mode 100644 index 000000000..81af310e1 --- /dev/null +++ b/graphics/battle_anims/sprites/159.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 148 139 +255 139 0 +255 156 8 +255 172 24 +255 197 41 +255 213 57 +255 230 74 +255 255 90 +255 255 255 +255 74 106 +255 115 148 +255 164 197 +255 205 238 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/159_0.png b/graphics/battle_anims/sprites/159_0.png new file mode 100644 index 0000000000000000000000000000000000000000..4e9831863b27a747d9b5883916ba3a1c69a9fe94 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUT{5Nne>cPbIUN7jNc=yl z`Twfr|7TwR|401?0A9v~~&)5S4_W2S50M!^FLJj_=Q zd7U|!I_Zt0uWNV6rI}BeJkRa8c>m-k9)^t%rEh94JmC}>uzSrn-YJF74?JSRmK2$p qW%RxFyUe%a>1p+M?0XM+|2LPbmoyMPIcIAJ$RbZyKbLh*2~7YJ;#9)` literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/159_1.png b/graphics/battle_anims/sprites/159_1.png new file mode 100644 index 0000000000000000000000000000000000000000..065ea505292d672847959dc909ee8e8168477609 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^93afX3?$7I7w-U41_3@Hu1ltL|L~> zsKEDAB)#koH$IpZ_fWJ=iI4k!`?Ps1IyLd9kDlEi(QaA!RrZw73cd3i&wQ7kcvdXW TXJ@1Y&_)JNS3j3^P6C_V2BtJ-Hj{*$9?d4blpe(+ zJVHhe;)e`sBp41IWai@zanx~2FqGPn|A9H#;(#iHu$092hYSoyfACCSvg_M7kkOv5 KelF{r5}E*^B{CoY literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/163.png b/graphics/battle_anims/sprites/163.png new file mode 100644 index 0000000000000000000000000000000000000000..29c06f9b7db4286ee4b39788922c88b3bdfb0e4c GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt#u5(hX$(U&HYKfA|0Y zAYuGqb7I6-pbB?S7sn8ZsmTcm2?0S#49se&%B%*?H$850=p-yTuw)HG8Uw2%j{xJN z1Cj}R9qsLm*Ek;q&2{W~J0s7ng8iN2j_HDp44h&N%?p16Z z)|RW?XP<3(_U`Kc|NntX-~cYgu*^b}fq_xR)5S5wqjTyd+oD4T5-o}M8#d-Q6fqy+ zU9@FgQ1B^P)l)-clW^L$-RdU;RNtLgB7X9^azL(*< z&zdd%@8?Ee|0>@!h0pNWAK9kw($8NdEnsD`3gGBrYBFhh%$>pE(by<*hbe<2!;wLp z;d3vuts2;AT3+UBJ}C#I$&WE=v>#N1qW;3}np8 z4fEI}fV$isb~nu5|Cu9-G318g1*bR$T}E961FqHs8gn>z{ItH$?sP7YL6jroAlu;s zWf}q(fF^wqOJQ_dsI1Vsg~5s`%78%(;sDmm4%U1?t@cbSE{HShaXe^DQeb8If2{Wb Y+kwezBHYwZEChv~r>mdKI;Vst04M>KfdBvi literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/167.pal b/graphics/battle_anims/sprites/167.pal new file mode 100644 index 000000000..5f4852f39 --- /dev/null +++ b/graphics/battle_anims/sprites/167.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 148 139 +98 90 255 +115 106 255 +139 131 255 +164 156 255 +180 180 255 +205 205 255 +230 230 255 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +164 156 255 +180 180 255 +205 205 255 diff --git a/graphics/battle_anims/sprites/168.pal b/graphics/battle_anims/sprites/168.pal new file mode 100644 index 000000000..a99d113d2 --- /dev/null +++ b/graphics/battle_anims/sprites/168.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 148 139 +255 74 106 +255 98 123 +255 123 148 +255 148 164 +255 172 189 +255 197 205 +255 222 230 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 148 164 +255 172 189 +255 197 205 diff --git a/graphics/battle_anims/sprites/169.pal b/graphics/battle_anims/sprites/169.pal new file mode 100644 index 000000000..6d037b09f --- /dev/null +++ b/graphics/battle_anims/sprites/169.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 148 139 +123 123 123 +139 139 139 +156 156 156 +172 172 172 +197 197 197 +213 213 213 +230 230 230 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +172 172 172 +197 197 197 +213 213 213 diff --git a/graphics/battle_anims/sprites/170.pal b/graphics/battle_anims/sprites/170.pal new file mode 100644 index 000000000..63ff0a239 --- /dev/null +++ b/graphics/battle_anims/sprites/170.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 148 139 +255 205 32 +255 205 57 +255 213 90 +255 222 123 +255 230 156 +255 238 189 +255 246 222 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 222 123 +255 230 156 +255 238 189 diff --git a/graphics/battle_anims/sprites/171.png b/graphics/battle_anims/sprites/171.png new file mode 100644 index 0000000000000000000000000000000000000000..7b60d74503fb815dfa47fc803f541cf35eaf5e49 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUT{5K`$P5Y!TC!xx|NsAw zZYf?eC8)XBGAT&H%aY;j*`v+P&Huf!{{Qd(zeeK!QO$YxOtOF)oIPC}LpWw8CnO{U zh@>zuyE-}=c;DnWA;4thGl%t{laD|f1G91j*9itq*3+Di(hQt37+ILL*tc@!urh}* doMBqUz!33-{fMOS4mY5244$rjF6*2UngCy0I}iW> literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/172.pal b/graphics/battle_anims/sprites/172.pal new file mode 100644 index 000000000..4b1755b0c --- /dev/null +++ b/graphics/battle_anims/sprites/172.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 148 139 +98 90 255 +115 106 255 +139 131 255 +164 156 255 +180 180 255 +205 205 255 +230 230 255 +213 0 213 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +180 180 255 +205 205 255 +230 230 255 diff --git a/graphics/battle_anims/sprites/173.png b/graphics/battle_anims/sprites/173.png new file mode 100644 index 0000000000000000000000000000000000000000..d50982122f77c32c30fb46503d4b25426c92508b GIT binary patch literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*CkWB|93O|pTqHgjl}<> zn*Xm_{(t86|9{kfAn?liUp(dilB566z5^HK8~Hj7A+angFNHA0Nl);TK5Box_hrw< zcQ@|Me_m^?y=m2ibGLd{Z~oO2Z?-Hl;L?A!VDy@YH9BTQU(D&A+AZ9|3P34!~g$5|NjHY zCEd;cm(2OUWy}AwXa7HY_W!?OQ1|~OUURC~{O=BW*SuyY`!%561)eUBAre!Q6Bw9T z71BhQHnLot$#bG1kWs#o)j(5I)4+g>iz~s)vVntHA&oCBA;FN>v~hz(MC8Fqd;zIB zoDMeGsZ7kzSA_~oYzkYO)hsY)b(o03hO-&|4H}INckf6`>?nVKk5^Hm?ESq13@J@1 zW(VHxWl)l1FnrI*)>fTDmC@%HZkh=d#Wzp$PyJYikGq literal 0 HcmV?d00001 diff --git a/graphics/battle_interface/unused_window3.png b/graphics/battle_interface/unused_window3.png new file mode 100644 index 0000000000000000000000000000000000000000..e93b2ff88944878e21fc6b5879eb36fd5346a13c GIT binary patch literal 235 zcmVg&Xxq{`{0|5gHS*g@ z2TL7Wjh{uI^Rj*qh>)J=3?P>F8$iTnH-HG<`4qqpWx(P_gWGcomP>W(wI30zVv*n! l0Zdi}bkl(I7*t)_hY!c7V|uU+?_>Y~002ovPDHLkV1isJUK9WT literal 0 HcmV?d00001 diff --git a/graphics/battle_interface/unused_window4.png b/graphics/battle_interface/unused_window4.png new file mode 100644 index 0000000000000000000000000000000000000000..6c249c96dfbb83420c985407380f70e94a2c0829 GIT binary patch literal 362 zcmV-w0hRuVP)TB0003oNkl0)>mM3%; zlS$v-;coy(pa6g;0Kfy208l*ur|DexdK{M<0L=Bbib2)_tYRQrfK?3Q%mwzss(;W} z_!=A#7<+?jb76;GG6rBE&2KHKO8u_rv@U=7#{f z0Oz{bBg_vS!Qamhpt-~D?+-k?UM=NQPxHgK0L>4Z4rwCr0H6eoP$1IRCjbBd07*qo IM6N<$g61)rr2qf` literal 0 HcmV?d00001 diff --git a/graphics/contest/audience.png b/graphics/contest/audience.png new file mode 100644 index 0000000000000000000000000000000000000000..59f8d0add22f07ee9219cf082944d2939ffc543b GIT binary patch literal 2086 zcmV+>2-)|EP)o-c@D000NE zNkl3~^({LOY{@Fs zN3WhruKIo(FYg9*?_Jsyjk_1zB%!NrJR^r|0gG*;1fqTaz7bF4ipv_X)OMCg&Q?6j z18#o}V5!ZMalp(NMs4$>gC|Tfb4rqgECCkU;1Ayq0t0ZV`7tBog0Xfr$m+}hGSlW{ z8I&T+k|HVu%PQXe>Wp{k-H!*BVh)eWo zb9W$=2oCYo6YvOXE;k23!!m6h%S(7dt>6R!HtATF7kZM0j)k$)ov0(Y3Brw(5>#Kc zNGohW+l@L6I<~}8IANp;(La7Ow5*nJ8S@R`uRa3)j;B2E$3D|nT}fMwY1@vJK4Tp_ zRz>(YfAh@243v@;Acn_=2-poyCr39vCSyZ2X=B>vN#FMwwLB5`^E~zX7VQs|3Qew- z7b(%V4B+PUMj)UyW{Nc+C*9_Cu@uy@xqO_bLk=j0Z^UF^*>PBv!w&}+abOY0;scdH z5vw+?OTjFgki9hhHeim+F9(-#1+d(tDx8f)bZkc9b-*JV)3&M(b8`HZOHAz& z2hu1)1%ZIQl%zwO@es<#5YUPX6$xjTMPm|Jo>ZLvC5L#WQI^Xk-336P6x66;*~f35 z|8(vU8kZp<_%+K`R1`fZq8|uiCtWpW2MEw#on=pw_;b zlp}$QL`Vy+_&sVfcsuN%gaqI#;)&yxjFo)>v9F|nnfN$A|K>PCf*PFF$_@jnBUxb$hq_fvW-Hi~O}{k6sJ^yOeMR1v$7))1jUz`(q%; z?%OndmcB#4S@9hJ{wC-gz{qiaPF{}EZ^NhQ;V2d%j;Xxz@!hooyu%kTUAu7ckH(8+ zDgOD}-T3uipJ6oCh5!A37UTVjzMBDGvZYu6{P@{otOs<}LX6+9c=%?(56gfLtDgQ5 z0QlDt;ql_bn*I+Bp%5aP58+<^9|5Q`Fn|>aJXl229{@jMJOEf)T)*u80dajDMR=TO zz(Ye=1{_^Nh?7F#ar_={eyE6d065RDg*d_E!~h<6jZ1(ZPO)Ptgg)GSFo4Yy=_Nm0 z0O$;+F_{83PGu(h?K?x50p8C6>p!OMKvnyOENd{n_%%zm2w3+y!~1?)Z4jDk=f|eN z2~#aoRxQAV8Wf#v0Jx;#dTG}Mv=R|u|5K+X02c)S9F$j1O#ss?zE{S*dH|N^0I=0* zESy>Z34k3~abS;dRS)naCp@_Zz)4vPz{F25e|c0SC;gg$p_{N%*wco+T7Z-~u-3=8 zT@&>H!zSz%!YC@jpdR4aD3~Z7dLpd%8q<_W*kra~TQ{r;I3&1hX!Z8eT7XaS=ZjT> zdR1(a|I4x3fY>Demt&0qu}S`almW3x{;xA27X5<_@_(M4PGrG=So9B!{MX&I{GX+q zG_p)*mt~lUlNkfzo`3MdNPIjs@_*_d6pf~BvTJJj-!ulqJ^#SSf9)R_`EM>04^*2m zAe>76Gu$&Wa@RjtEC0Qj0a3~SAQ)Wu^uB+vLH<_;L?!>xfLP%lY?A*~c9r}`17ekb za8Lf@V2u2)vYX0(PsFSIgS+w{bD7G2V?a#HWOF(553rz)MOVpxi#WR{U3Da821F(Q z(SVrw2jlLTTP~Z)|0;z9bupvfRQ~Jirt+U~>Mr>QwhUl?>}Y*#c4jF5(STr;{I3j% zO8zhV2MTC02w|$_e?GzKq2)h;m(`0dNHH@YtV;eb`v=1Bd4mG9D$4)-N*fSH{-cQ9 z$3f2w2qXVpz2W6y8B5EhgbCL^8edC>^1n0&gpvPfKp6R784w-I$bY?aW-Za{Ksn<< z(YF8)2YV^{2WUW;MyRD>G$Y}`el`cH?I0ij2U285CS zS!FF~(cEZ`l*q$p4vtumBLp`MGG1(&yqI>EXzeaH{Ibg*u0 z0ceG>*vf#Qv5;FC5R_4}l>q_r|J7CogfxKq1_a1|XNPQIK!E)3@MH@E0^~pJbG9%b zQ2xVGU*CYh4Gk097!c1gSn9ViAX0+3<&KX)HfhL#h)(z3p3;Frqur< Q-v9sr07*qoM6N<$g5S^O6951J literal 0 HcmV?d00001 diff --git a/graphics/contest/faces.png b/graphics/contest/faces.png new file mode 100644 index 0000000000000000000000000000000000000000..bba47a91d9c6dce02aea8375394ef3d98aefbcc0 GIT binary patch literal 1028 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoQ!VDx|6+Ta4U|?nl@Ck7Ra{vGTzjyD^=H~9C zq-sa6EKS3x|5?TVEiKO~Fnqhp@V`1~&X%YpQ!Jyhy0@$W8HA~R$-VzsQ~pa>o`t9f zszC;r>i-}8|G)eHRfcXN)o=NKbjtrFj%zH5RR90~5}?XwSy1;QI|gVo5L~@_71_TK z_ZtTNhg$^Kf>r(h?q?umIOqR=U}!MxUBdtjG#~=%I$GTfH2>MR|7YL*-}3JN9I(Rw zXP<#Q3?%*^g_{gvU^jow(f@1K{NFO=|K95VN0a`a4VnW3Sk>ckKhPGC?6Z4@@AfkM zp94fe|C5&dHw3wSjllmXh5sCu&n&af7SGwTzopr07@`+Q~&?~ literal 0 HcmV?d00001 diff --git a/graphics/contest/heart.png b/graphics/contest/heart.png new file mode 100644 index 0000000000000000000000000000000000000000..bd1ede8fcc5c9f7c85caa91055b7d8dd19e4a93b GIT binary patch literal 873 zcmdszF-XHu5Qa}vODPl_9K@-DLj{*82ycvS(OM}bbjs95D3Y}}WwV1w)+|CcGd`R$ zxCC{`7;wqjF=KHmIQ?F%mST%^_PBTNJ>K{3{=2(&>$FtdDH2hsaaPlLFJvpHa6I09 zcp_4$ebK4&6+jq9!=YoEwsvmqs|KtAgow*DNeH&-1%~em!*T+dC0gYD5iA$mBA)Wh z%-bT52yl>)vmzfLa^Y)ItjGgCld1Kse_jk%W=oP}zTc^SRmZH*?8{OfPMW#u0Xz)~ zCGpVM`B!8QIe$7qJVr2v_XQ$OvxYe!nq{6Imgkodq(tB%v=Nzzb??WP@_*>(D%oo~ zQpX{|W7lE&P&4In6Gj;YkqRpwc!3`?`AgovzrKB_8{Fhxqo#EV_m^E->nnXFU+qUJoi)FSM0w9uXZj*KeP3{hke_QE$~APr5gs!OtKo literal 0 HcmV?d00001 diff --git a/graphics/contest/judge.png b/graphics/contest/judge.png new file mode 100644 index 0000000000000000000000000000000000000000..c4dcf520ba2874c820e0b9c48de3ab12438f5546 GIT binary patch literal 593 zcmV-X0z>%Qd$T(K@i?jQuf6$_U4O&gOsGCw9U=l+BT|B0005p zNklrA2(d@V&UQlyidLywHlC<~RV5;2 zQ(dqGs*1K%eMHFnvN=!`K)l)we>noSSDm4XMZsPM*~Ckots*&$p}@%G*2SQNOj zW8?r3K@Xz24gkOx0YC-%MjJ*~Feug5z=mzJRj0yaX~3NNlm;}?fxuS+p1)))$1~L)sEBG0Jf9&FsTyY4hY+X0 z>v56>Ay|I1-jFUDaIwhIaqa@@IQ;rY;11$6O>YCnSc*xqtVm`&Nzf55SD@IGrm+HN fa?mOK&%exX{i;ClSpw*m00000NkvXXu0mjf@S_q6 literal 0 HcmV?d00001 diff --git a/graphics/contest/judge_symbols.png b/graphics/contest/judge_symbols.png new file mode 100644 index 0000000000000000000000000000000000000000..7669fb88b24466f5b6ca518341e5b9e360ac709b GIT binary patch literal 401 zcmV;C0dD?@P)aeO|NsAU_TE9}Y5@QL|GmA%gM*7=VtYYKYAG>Vt&V|u0003T zNklB#Hx?%ZdpXLPP0t7d?mIRLw?xtG+SNIh%d>&_wu zIURzl(aWwz_tt-`pFTtZK0*}5d;sPHKvO0iu-||vpwu0K#whu0rH6gqhzUMS8|~%; zFdu+5<+#NT+zc-e6{r>t9H22uK3nPWe58fy@qs;`edKeS#;;JWSVpRr&nrG0D8Pqf zpBG@h4@7jq4j(0C=ta7Z$n=cQct5zg`HXo*Zu1(w?mZ-#{`dW434LA?`@Fc%s|r#W vA+#Tjy4bgTHb5cO%?|q-%A|8o{%@Zzlh>=f59jT{00000NkvXXu0mjff1I_W literal 0 HcmV?d00001 diff --git a/graphics/contest/misc_2.pal b/graphics/contest/misc_2.pal new file mode 100644 index 000000000..869aef9e1 --- /dev/null +++ b/graphics/contest/misc_2.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 0 +255 255 255 +189 189 197 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +255 106 115 +255 57 57 +205 32 0 +246 213 0 +255 123 98 +156 180 90 +164 148 57 +90 106 139 +180 172 82 +0 0 0 +255 255 255 +189 189 197 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +164 222 255 +106 148 255 +24 57 205 +246 213 0 +255 123 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 197 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +255 197 255 +255 139 255 +213 0 139 +246 213 0 +255 123 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 197 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +180 255 197 +148 255 164 +65 172 57 +246 213 0 +255 123 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 197 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +255 255 164 +246 213 0 +230 106 0 +246 213 0 +255 123 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +197 255 255 +255 255 255 +213 213 213 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +164 222 255 +106 148 255 +49 82 255 +180 255 197 +148 255 164 +65 172 57 +0 0 0 +0 0 0 +0 0 0 +197 255 255 +255 255 255 +213 213 213 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +255 139 230 +255 139 230 +255 49 156 +255 255 0 +255 255 0 +189 172 0 +41 49 90 +41 49 90 +0 0 0 +197 123 131 +255 255 255 +230 246 255 +205 238 255 +180 238 255 +156 230 255 +139 230 255 +255 205 230 +255 255 139 +255 230 255 +255 255 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +197 255 255 +255 255 255 +213 213 213 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +255 172 197 +255 172 172 +255 180 148 +255 189 123 +255 197 98 +255 205 82 +156 156 156 +156 156 156 +156 156 156 +197 255 255 +255 255 255 +213 213 213 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +164 222 255 +106 148 255 +49 82 255 +180 255 197 +148 255 164 +65 172 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +164 222 255 +106 230 222 +49 238 189 +0 255 156 +0 255 156 +82 255 98 +164 255 49 +255 255 0 +255 172 16 +255 90 32 +255 8 57 +230 57 106 +205 115 156 +180 164 205 +164 222 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/contest/misc_2_tilemap_1.bin b/graphics/contest/misc_2_tilemap_1.bin new file mode 100644 index 0000000000000000000000000000000000000000..197e88cee1ea8886a02aa06c09af8c7c4561e33b GIT binary patch literal 2048 zcmeIxF%bYE6a!J@0t$d?O9lnpsYS#V6rVf=$xKp;os83PCeFqw+|_YDoQgAW7S4|o M`~9!|TOjrV2LJ_qkN^Mx literal 0 HcmV?d00001 diff --git a/graphics/contest/misc_2_tilemap_2.bin b/graphics/contest/misc_2_tilemap_2.bin new file mode 100644 index 0000000000000000000000000000000000000000..b311268365f99a602bfac57f5ceb9948af9abbcd GIT binary patch literal 2048 zcmWe&5Fi^e00Bhz0)~ZTn1ay1fng(=`axz;0vrRJ$b^m|AbSG?f7!Y40YK9vk6 zc`b6QpjU|-_3HZG+^g$*bFVbVoE!B@bIiF>ueSZRdA04g&8u(jl2_l{C9gcsi5vCG w^PIR*uV~LoUeTVFyh_}tSBV?-D&3W+*T4UtJKA>-|NejfXVKiH-2Qt1-^7ZxE&u=k literal 0 HcmV?d00001 diff --git a/graphics/unknown/party_menu_hpbar.png b/graphics/unknown/party_menu_hpbar.png deleted file mode 100644 index 763b91210c9404d7617de35f6b93e15370423e77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^2|&!j0wfroE%CSnr2IWy9780gPMvU?lfi()S$4sN zt;NNv>;*IOE~x45&3@3xE?<{po;>x>I!#6HNadoGOG_3Q`YA*(9O7&d)+syPxvN0k jX5pTo8__FkOTMpVH-u7S3j3^P68>s|Rr>A&Fn zkLb65?#Mq%zkdI%JIgwlep^a!?`=IA*Wp>{*Iv)AM_}(Q-($Ip+_C3Ry#w9>?|^sU HtR46Pl*fh* literal 0 HcmV?d00001 diff --git a/graphics/unknown/unknown_D172A8.bin b/graphics/unknown/unknown_D172A8.bin new file mode 100644 index 0000000000000000000000000000000000000000..9f5141c5b6a2be841ff9fbb7246dc10985b9d12b GIT binary patch literal 4096 zcmeH{J!``-5QYT_X`3`{)_x3H`!U&nf`2ib? zd(P+AMna?ygg#2zJXH{kQA&K(=`QS2{8^TW;5jadopARFu$ttz*hKc5Asny$!E#yTm!$>)r9_we3ftVy}-W{_ZjRi&i}LTAHMhb oetYrxJd?BY{rWe2p7l=fwb=JK<$nyJo@xR$fto-~;NK!Q6a-Lm4nE{;V{!(=0>IGFeeeo^6#)B}kbeIv3QI6|iaW(rr!r{Buo0ui zjGHiN%Cs4?=FEHXs;4Th8d$Js$+8uz)~wsGY0I`9O>f?PD6d*}we8t=;Lwp{Cr+I? zcj3~NPhY;3R~E)XS@`2VIZu>tE{S)t#iD0#AOIXGsJi5P|-HUp+*YVvF z&1cO5&$1Z)Ycl+w67>K7lK=nz@7;T}xw$(jsoK#iOVcpwI?HQipq?&I7sn8b-m8}b zxf&FB*b@8&-lY1+=IQ^pt$r^s?||`^)_^uY6`@~_OMV*q8nkdmPLgJQl4g}4$jHsS z!Jng;aSI>wb}oDCh_`PJq_I8~+r?&O-N19>4$Dp>j!%*zo_1S$?jGJ19@LQ69^Y^; zKg^i@i`=<60!KHz-0+imLeLk+i>y4m7wr76UBIBZX`kQy?0Y>xS21|H`njxgN@xNA D6p>}Z literal 0 HcmV?d00001 diff --git a/graphics/unknown/unknown_D1BE74.bin b/graphics/unknown/unknown_D1BE74.bin new file mode 100644 index 0000000000000000000000000000000000000000..e4776cba40bd905950609efbd98f6185e4633bb2 GIT binary patch literal 2048 zcmeHDK@NZ*3`1Yy|6geqve-$>7NUsJJ=G^QaGe;*wqAqqbf8)>*>&Rp-D?Hzmp?xpLSgyj^PX0o_ pnFg`wU7bRQdL6S?{{P+m)JyJrcO6HSM}|M^mZkmt{{!FtffI=VfIa{K literal 0 HcmV?d00001 diff --git a/graphics/unknown/unknown_D1BE74.png b/graphics/unknown/unknown_D1BE74.png new file mode 100644 index 0000000000000000000000000000000000000000..2371241d7940844346033705bb62ff45c39e7e49 GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^5d`1CYnSa1_Ks1OJya3rPoY14Vawx;TbtOq@H>kgwT5faN29gtx%<4=sOM*)QxU zclCXq{=Dq`GKVgqhgl`t8xqZu^SdU7cfW}Jav*;af9vCLx=uzmF4ncb{{PJoExV*3W}6) z@J%aC$l9Z(6V_(8XQ}(zj(boFyt=akR{07$QJ7ytkO literal 0 HcmV?d00001 diff --git a/graphics/unused/old_beatup.png b/graphics/unused/old_beatup.png new file mode 100644 index 0000000000000000000000000000000000000000..e2a0561e27147656d881ab3ec75b8709d231f10a GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0zmA*!VDxI2ESSgqznRlLR_<^bOV_|K|xEFEcyTc z|JAEYwyX)7(hL;C4$N;a-wKpT_jGX#(U`clFP7_o0#EbN$t`#OPwHG zRhgG=E%UQxm7SlMqn2Kwp}Vs=@2Bmd2DSxbP0l+XkKjfzSZ literal 0 HcmV?d00001 diff --git a/graphics/unused/old_contest.bin b/graphics/unused/old_contest.bin new file mode 100644 index 0000000000000000000000000000000000000000..da6f4652ec37236526bb3ffae5cae09f695558e7 GIT binary patch literal 2048 zcmeIuIZ{GV6b50IaC4yiWDs#g6a<_HR1j1UCqUT$E?B}1UKvon)8VNO{?3PdB61-a z*^rElu->q#ps1v5OU1UT9lQ4IJ8&qruI5PHu@enVr&`)N&YZh&=_=}9yK(Ezy{-q3 wp7iuR8yI@=8uj0djJ=!q@afC9A5$}PzZRBJKejLZrv?79KqkGkz&|dq0(p9XfdBvi literal 0 HcmV?d00001 diff --git a/graphics/unused/old_contest.pal b/graphics/unused/old_contest.pal new file mode 100644 index 000000000..69fde2000 --- /dev/null +++ b/graphics/unused/old_contest.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 0 +255 255 255 +230 230 230 +197 197 197 +148 148 148 +74 65 82 +0 255 0 +0 255 0 +65 74 123 +139 123 131 +82 82 197 +189 82 74 +131 74 98 +74 74 131 +131 139 222 +106 164 164 +0 0 0 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +222 230 230 +230 230 238 +230 238 238 +238 246 246 +246 246 255 +0 0 0 +255 255 255 +172 172 148 +213 213 189 +230 230 213 +189 189 172 +238 238 222 +197 197 180 +0 0 0 +156 156 131 +197 197 189 +139 139 131 +98 98 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +115 106 156 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +148 148 156 +131 139 156 +123 131 156 +131 123 164 +123 115 164 +0 0 0 +115 106 156 +255 255 255 +205 156 255 +172 148 197 +230 222 246 +139 131 172 +213 189 238 +0 0 0 +238 238 230 +189 172 197 +222 213 213 +189 172 189 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 164 131 +213 131 90 +255 189 172 +197 98 74 +74 65 82 +255 255 255 +156 156 156 +0 0 0 +0 0 0 +255 255 255 +148 148 148 +255 123 98 +131 246 90 +255 246 74 +131 148 255 +0 0 0 +164 238 98 +131 205 90 +213 255 148 +98 197 49 +74 65 82 +255 255 255 +156 156 156 +0 0 0 +0 0 0 +255 255 255 +148 148 148 +255 123 98 +131 246 90 +255 246 74 +131 148 255 +0 0 0 +246 246 90 +205 205 65 +255 255 180 +180 180 24 +74 65 82 +255 255 255 +156 156 156 +0 0 0 +0 0 0 +255 255 255 +148 148 148 +255 123 98 +131 246 90 +255 246 74 +131 148 255 +0 0 0 +115 205 255 +115 180 205 +156 238 255 +49 98 148 +74 65 82 +255 255 255 +156 156 156 +0 0 0 +0 0 0 +255 255 255 +148 148 148 +255 123 98 +131 246 90 +255 246 74 +131 148 255 +0 0 0 +0 0 0 +255 255 255 +230 230 213 +0 0 0 +197 197 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +230 230 213 +0 0 0 +197 197 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +230 230 213 +0 0 0 +197 197 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +230 230 213 +0 0 0 +197 197 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +74 65 82 +255 255 255 +222 222 222 +172 172 197 +255 0 0 +0 0 255 +255 255 0 +0 197 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 164 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unused/old_contest_2.bin b/graphics/unused/old_contest_2.bin new file mode 100644 index 0000000000000000000000000000000000000000..06836cc19896dbfa744ad8925a36ecac6c49de29 GIT binary patch literal 2048 zcmeH@Nm2qq5Jg*%K?UT2>BJCU>;ld(W*`m-U)A%oC69eP-a* zWxeJN^I$E_`?GC2bm`HjFFol>N7`bXw)~J0VSVfS>kT3-G?lKdXEGGMJ|Lo+P-@WJe_|DW*z?y#!o(9@SY#4m*|e``0U&|6^};A(i{rT2Y}RVE7={UWFu(~H z;0cf-L;=HEH7rmFBm#j#QDl@Vl|;S_sS@!xm{y8NcnXAVRAWkoRHlTL7)K;6Qk{e0 zA~tST8x_o%8KVx9;ZhmS;Zy;jG~!YWXTwB8*^H5AmM*kbtF;8QM1t@HQYKsU7at-j z8dvkil}xjOwvfgII7XBy-=D9LYCULwgKKfT2-kxm3|I1WoOg`~d}0#8nHiBz$HQ@z zO65VEm%yy5sv_1~DR2zK5ecCIp$6gk5AyZ6zRHLhaWkTp{VN}Ej-dAT%Jd8Lv|7Uc zV-P1IXuosv06+jx6IE1z^8k(jTumSl6M3(m?+X79FK!;*D~NBw#E;|&cgn|3HfKF# z(GDLC@XWYf>kRSa7A>})az{7`mGxY!Ch^F!U7w^eL(^EM#Nmn(73E%Pfq#_*U+4tHOTqAeP}s! z9SdrwXkrC$crSXnVp>htq$g9Wl|rkF{UOH=u~VTy>+BThsvdlF*vH?e#>MQf6!z{s zd&c)#E0xt{?UtGX^`$#pjO4cIHZ^n@-h^#?6c94W$}*sS}YC?3iC|< z{qbyJtk|v~(WIfrnLs%_RJnJRXH3b8Z46K`1PmonIqdU0mT?{3Z|ylX)|a!E%TgYJZzi1JIuyO(`>htoV;!WB^`C|2_^pq)~_dt+1Kfy zTT$x<-bj50lENnsCR(9^lPoAt9+vO9bav7g1jjF#hrEKobIBq!vo88*obyljnak4a zEV+S#&kcsiz)32&4O8|J!R8WlYVo;D@4ilQkGty!O;W#6`xd8*FLbKQCQjpE_L^Z& zkWu4!JmIl>u@prD+G}jb1<%?9FSF<`v%KcVbDp(*ua|+XVa46y6BaCoD*-pA#iJ`` s{Djst*R$kR(w`gSPk%<}DizlLIQcL`JoH-oYT=*8kBW)BuvUEFPn*KmBLDyZ literal 0 HcmV?d00001 diff --git a/graphics/unused/old_contest_2_2.png b/graphics/unused/old_contest_2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a33a8c324125164370b178de4163bb76c793536b GIT binary patch literal 1274 zcmVo-c@D000Dq zNklw{UnkNQKb@o46!|9dkdzeEw~bYB3c zZK`10+8=!iP}Z8Z`PSN2f(Puud0^W};=Pnkkd3C!ezR;fuR?~kTlIWUAu`Mb5rHc)lK(ssv|K7@R*%}(60y}X{Hc^Oc}_i zLHbfM;74wP2l!qAGK)lj6M)ksvfR~J%+F^+Ncs-40Tj+*<^f7eEdxMVlSVtZ@@Y!q z!qwR~%kx*88)CmDBu-o00L|ix6Gy&h2|D5hodAm@YqM<0i$vzH3(3b z=_Ppu&gdN=MsmzOgPNYqfN&2C^(&zH3QFnMB`1Iqs<4y@8nYu5h?x&&l{!FnFtej1 z1|JE~ZcqxyOqS52R&^GeoRUrXGMus|cOe@Tfn&g^gmOkkDH4eJFv^1OBm7A64(c9?6-qSB%eX6g2d%=nxlKknPeO&5j0^FJ3tjhNqs@E`wA05lE)pvAyvlNja`;0^0Az%A+K zCeQi0_JG4em|T+ZRgHXIUGd<@xw%o~rTl0AS3xGl1$tl}=q# z8ZH(G1BS8De2$yKZ+I|(#ek+15}g1SZdxbL0l21Y>I{$;eckp&R{&tYid>I%0+jTR zhBd|7t!}bzfY~sn3Yn^H>gH ky?XWP)vH&pUcDaCzqKPS*E82R8vphbE&u=k literal 0 HcmV?d00001 diff --git a/graphics/unused/old_contest_classes.png b/graphics/unused/old_contest_classes.png new file mode 100644 index 0000000000000000000000000000000000000000..c2e7b5e29887f6f0bea569ffaa20c6bec3502877 GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^4L~fw!VDyJ%CdF?DT4r?5LY1m|NsAI&z>DUdUVQ^ zDPE324F7>b431va-PO%OK}Yunc{O__d3iNAci+oevSig%UyxzzJzX3_EPAI-G~_yL zz~frX${V%mX7cq%%@T`Uw|gsgx5?=&@9=$e?cfP7yB2qzs%cL=?e@9w?Q{8avZ^lW zk`kX+ijTcWPSB$T|6f&#Ny?tdUHCn3AJ-j^4S%A}wr+i@-ZW?Z?lX7#4Me7>UO%*M z^8f#PWgUzUUD|i(g=D^)_yxi4RSB#;5{$a5nmi)(9J*IEgt0t0A@)^PWtmIth`njxgN@xNAq)mCh literal 0 HcmV?d00001 diff --git a/graphics/unused/old_contest_floor.png b/graphics/unused/old_contest_floor.png new file mode 100644 index 0000000000000000000000000000000000000000..94877b921f9da8cf3ac9d285f032071481aea96f GIT binary patch literal 614 zcmV-s0-61ZP)C`b>;M^cR zR3%FysgIp1&9c%oO&N$@$ZN7>W!{vptE{ZcW`7T$Df6}{Wit*iKY(i~ zMI=%Jk=;HE;GJ(;QE@E`j$eK>pF-512@MZ0fBP{aMWxh58R^K^E$N{Ua!~x^1a17{BSROkHV9ve~R!OBMi0U?lfmkDev2S^35doY-AYOX}17MC{*+Z(XcM-VR z(f{^+Fe+7;Kv)3dzv2-A@5=u#{ko^Z3(JAc9s+w$F**ry2aN&YMFVI8Pdru|2f!8n zZYZ#T01)Ld6Ji%qU>`bxuy;;o0EyT*)5&~hIt5=o0lzN9U3Ya!P**qNiqdLM?@=d$ zkq|78sTXvI?3R9Nf$I_KNn@#LV>wMW z7Nl_^oou^`ex_QR;}JAh3hTYi+uv z2?})DQGtSrDM2g+{ZJ2b$AbPLBS?ght)Qi0?ky;A7y*MW1RYLyg8O_yf&#Lh?n_rT zA#jO=GTmcE;*}Qk&IphPXXHv6ztweNMP3$7Ho7~>j^=F zedn6(SkQ~TGa!SL$R#X*3ZR>(!YA+!j^_^kpMc;K`~V>V4ZnP*;AsE=002ovPDHLk FV1k7Cj*|cY literal 0 HcmV?d00001 diff --git a/graphics/unused/old_contest_frame_2.png b/graphics/unused/old_contest_frame_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c8b20408cba293d3c5fae2ec60d356e29106491c GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^4L~fw!VDyJ%CdF?DT4r?5LY1m|Ns9rYo=Viy7$?$ zt9$pZdH3$#(W6^{;&bLSA3eIaySq6lDGA7hfFU{;n4ioMpduLI1r!4$JZz{8+ez+BpPM-6d2dm#be}HRVjx5trEs zt3$mxjyxCE*F3JEp*7>>iwAEKzi||-P^e%rIHMq}c2Lbjwr-*^!{me|s=7_79iJZ` zwPt)JVAG_-)Ucm5J}P42W8p3R55!~YA8buvm#DUU(ej3ED#(qVu6{1-oD!M<2Fzo- literal 0 HcmV?d00001 diff --git a/graphics/unused/old_contest_meter.png b/graphics/unused/old_contest_meter.png new file mode 100644 index 0000000000000000000000000000000000000000..606208b1f8e4c7cf8671252c73c9dbe0e5fddefb GIT binary patch literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^4M5Dn!VDx2e}3f)qznRlLR^9L|NsA=J$rWa=+P-t zrg%99G5iM#F*tfvcULzD1s&ZRnW literal 0 HcmV?d00001 diff --git a/graphics/unused/old_contest_numbers.png b/graphics/unused/old_contest_numbers.png new file mode 100644 index 0000000000000000000000000000000000000000..98c14597684a4c8637cb9ab722136ae033aba522 GIT binary patch literal 324 zcmeAS@N?(olHy`uVBq!ia0vp^4L~fx!VDx2sJ^%cqznRlLR^8gmt)ZX|NrmZySHY| z(f>d`1CYnSa1_Ks1OJya3rPoY14Yk!x;Tbd^uC>B$k(DE;_{G+Lo?<+_>kJYO!bQj)#rXQ_@s=&MB+XB?aD$ni@ysYfB$DY$@G@686A6TDUdUVQ^ zDPE324F7>b431va-PO%OK}Yunc{O__d3iNAci+oevSig%UyxxHo-U3d7QIU+2l5?I z;BY?cw`sx`CzU(@wU}pe+q-jYuHyh#0_)w*t5FT1i-dkW;fn7Jb%;`uaBm1zy6NK1|5EoO i`-1ONZqHx2nmzlDkMw~TemX!mFnGH9xvX$@ -$(UNKNOWNGFXDIR)/unknown_C19470.4bpp: %.4bpp: %.png +$(UNKNOWNGFXDIR)/unknown_D196E4.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 36 $(BTLANMSPRGFXDIR)/141.4bpp: $(BTLANMSPRGFXDIR)/141_0.4bpp \ From 8781b66d5f51353fe85afc715708d4a1eaee75cd Mon Sep 17 00:00:00 2001 From: paul Date: Sat, 13 Oct 2018 19:41:45 +0200 Subject: [PATCH 048/222] add all battle_anims (assuming there is no funkiness with them in fr), replace more baseroms --- asm/battle_anim_80A22E8.s | 12 +- data/graphics.s | 208 +++++++++++++++++- graphics/battle_anims/backgrounds/02.bin | Bin 0 -> 2048 bytes graphics/battle_anims/backgrounds/02.png | Bin 0 -> 2426 bytes graphics/battle_anims/backgrounds/03.bin | Bin 0 -> 1280 bytes graphics/battle_anims/backgrounds/03.png | Bin 0 -> 418 bytes graphics/battle_anims/backgrounds/04.bin | Bin 0 -> 1280 bytes graphics/battle_anims/backgrounds/04.png | Bin 0 -> 2672 bytes graphics/battle_anims/backgrounds/05.bin | Bin 0 -> 1280 bytes graphics/battle_anims/backgrounds/06.bin | Bin 0 -> 1280 bytes graphics/battle_anims/backgrounds/07.bin | Bin 0 -> 2048 bytes graphics/battle_anims/backgrounds/07.png | Bin 0 -> 373 bytes graphics/battle_anims/backgrounds/08.bin | Bin 0 -> 2048 bytes graphics/battle_anims/backgrounds/09.bin | Bin 0 -> 2048 bytes graphics/battle_anims/backgrounds/09.png | Bin 0 -> 964 bytes graphics/battle_anims/backgrounds/10.bin | Bin 0 -> 2048 bytes graphics/battle_anims/backgrounds/11.bin | Bin 0 -> 2048 bytes graphics/battle_anims/backgrounds/11.png | Bin 0 -> 1714 bytes graphics/battle_anims/backgrounds/12.bin | Bin 0 -> 2048 bytes graphics/battle_anims/backgrounds/12.png | Bin 0 -> 2504 bytes graphics/battle_anims/backgrounds/13.bin | Bin 0 -> 2048 bytes graphics/battle_anims/backgrounds/14.bin | Bin 0 -> 2048 bytes graphics/battle_anims/backgrounds/15.bin | Bin 0 -> 2048 bytes graphics/battle_anims/backgrounds/15.png | Bin 0 -> 1859 bytes graphics/battle_anims/backgrounds/16.bin | Bin 0 -> 2048 bytes graphics/battle_anims/backgrounds/16.png | Bin 0 -> 634 bytes graphics/battle_anims/backgrounds/17.bin | Bin 0 -> 2048 bytes graphics/battle_anims/backgrounds/17.png | Bin 0 -> 388 bytes graphics/battle_anims/backgrounds/18.pal | 19 ++ graphics/battle_anims/backgrounds/20.bin | Bin 0 -> 2048 bytes graphics/battle_anims/backgrounds/20.png | Bin 0 -> 1998 bytes graphics/battle_anims/backgrounds/21.bin | Bin 0 -> 4096 bytes graphics/battle_anims/backgrounds/21.png | Bin 0 -> 672 bytes graphics/battle_anims/backgrounds/22.pal | 19 ++ graphics/battle_anims/backgrounds/24.pal | 19 ++ graphics/battle_anims/backgrounds/attract.bin | Bin 0 -> 2048 bytes graphics/battle_anims/backgrounds/attract.png | Bin 0 -> 2150 bytes graphics/battle_anims/backgrounds/fog.bin | Bin 0 -> 2048 bytes .../backgrounds/sandstorm_brew.bin | Bin 0 -> 2048 bytes .../backgrounds/sandstorm_brew.png | Bin 0 -> 997 bytes .../battle_anims/backgrounds/scary_face.png | Bin 0 -> 428 bytes .../backgrounds/scary_face_contest.bin | Bin 0 -> 2048 bytes .../backgrounds/scary_face_opponent.bin | Bin 0 -> 2048 bytes .../backgrounds/scary_face_player.bin | Bin 0 -> 2048 bytes graphics/battle_anims/backgrounds/water.png | Bin 0 -> 3793 bytes .../battle_anims/backgrounds/water_muddy.pal | 19 ++ graphics/battle_anims/masks/cure_bubbles.bin | Bin 0 -> 2048 bytes graphics/battle_anims/masks/cure_bubbles.png | Bin 0 -> 336 bytes graphics/battle_anims/masks/curse.bin | Bin 0 -> 2048 bytes graphics/battle_anims/masks/curse.png | Bin 0 -> 138 bytes graphics/battle_anims/masks/metal_shine.bin | Bin 0 -> 2048 bytes graphics/battle_anims/masks/metal_shine.png | Bin 0 -> 183 bytes graphics/battle_anims/masks/morning_sun.bin | Bin 0 -> 2048 bytes graphics/battle_anims/masks/morning_sun.png | Bin 0 -> 188 bytes graphics/battle_anims/masks/stat.png | Bin 0 -> 430 bytes graphics/battle_anims/masks/stat1.pal | 19 ++ graphics/battle_anims/masks/stat2.pal | 19 ++ graphics/battle_anims/masks/stat3.pal | 19 ++ graphics/battle_anims/masks/stat4.pal | 19 ++ graphics/battle_anims/masks/stat5.pal | 19 ++ graphics/battle_anims/masks/stat6.pal | 19 ++ graphics/battle_anims/masks/stat7.pal | 19 ++ graphics/battle_anims/masks/stat8.pal | 19 ++ .../battle_anims/masks/stat_tilemap_1.bin | Bin 0 -> 2048 bytes .../battle_anims/masks/stat_tilemap_2.bin | Bin 0 -> 2048 bytes .../battle_anims/masks/unknown_C2EA50.bin | Bin 0 -> 2048 bytes .../battle_anims/masks/unknown_C2EA50.png | Bin 0 -> 175 bytes graphics/battle_anims/sprites/002.png | Bin 0 -> 251 bytes graphics/battle_anims/sprites/014.png | Bin 0 -> 198 bytes graphics/battle_anims/sprites/018.png | Bin 0 -> 172 bytes graphics/battle_anims/sprites/053.png | Bin 0 -> 456 bytes graphics/battle_anims/sprites/064.png | Bin 0 -> 289 bytes graphics/battle_anims/sprites/067.pal | 19 ++ graphics/battle_anims/sprites/068.pal | 19 ++ graphics/battle_anims/sprites/087.png | Bin 0 -> 183 bytes graphics/battle_anims/sprites/099.png | Bin 0 -> 334 bytes graphics/battle_anims/sprites/143.png | Bin 0 -> 461 bytes graphics/battle_anims/sprites/174.png | Bin 0 -> 210 bytes graphics/battle_anims/sprites/175.png | Bin 0 -> 196 bytes graphics/battle_anims/sprites/176.png | Bin 0 -> 330 bytes graphics/battle_anims/sprites/177.png | Bin 0 -> 186 bytes graphics/battle_anims/sprites/178.png | Bin 0 -> 358 bytes graphics/battle_anims/sprites/179.png | Bin 0 -> 226 bytes graphics/battle_anims/sprites/180.png | Bin 0 -> 139 bytes graphics/battle_anims/sprites/181.png | Bin 0 -> 542 bytes graphics/battle_anims/sprites/182.png | Bin 0 -> 235 bytes graphics/battle_anims/sprites/183.png | Bin 0 -> 546 bytes graphics/battle_anims/sprites/184.png | Bin 0 -> 332 bytes graphics/battle_anims/sprites/185.png | Bin 0 -> 819 bytes graphics/battle_anims/sprites/186.png | Bin 0 -> 599 bytes graphics/battle_anims/sprites/187.png | Bin 0 -> 336 bytes graphics/battle_anims/sprites/188.png | Bin 0 -> 249 bytes graphics/battle_anims/sprites/189.png | Bin 0 -> 196 bytes graphics/battle_anims/sprites/190.png | Bin 0 -> 463 bytes graphics/battle_anims/sprites/191.png | Bin 0 -> 399 bytes graphics/battle_anims/sprites/192.png | Bin 0 -> 541 bytes graphics/battle_anims/sprites/193.png | Bin 0 -> 358 bytes graphics/battle_anims/sprites/194.png | Bin 0 -> 616 bytes graphics/battle_anims/sprites/195.png | Bin 0 -> 235 bytes graphics/battle_anims/sprites/196.png | Bin 0 -> 726 bytes graphics/battle_anims/sprites/197.png | Bin 0 -> 375 bytes graphics/battle_anims/sprites/198.png | Bin 0 -> 845 bytes graphics/battle_anims/sprites/199.png | Bin 0 -> 229 bytes graphics/battle_anims/sprites/200.png | Bin 0 -> 333 bytes graphics/battle_anims/sprites/201.png | Bin 0 -> 1316 bytes graphics/battle_anims/sprites/202.png | Bin 0 -> 312 bytes graphics/battle_anims/sprites/203.png | Bin 0 -> 323 bytes graphics/battle_anims/sprites/204.png | Bin 0 -> 390 bytes graphics/battle_anims/sprites/205.png | Bin 0 -> 479 bytes graphics/battle_anims/sprites/206.pal | 83 +++++++ graphics/battle_anims/sprites/206.png | Bin 0 -> 747 bytes graphics/battle_anims/sprites/207.png | Bin 0 -> 262 bytes graphics/battle_anims/sprites/208.png | Bin 0 -> 815 bytes graphics/battle_anims/sprites/209.png | Bin 0 -> 620 bytes graphics/battle_anims/sprites/210.png | Bin 0 -> 200 bytes graphics/battle_anims/sprites/211.png | Bin 0 -> 190 bytes graphics/battle_anims/sprites/212.png | Bin 0 -> 354 bytes graphics/battle_anims/sprites/213.png | Bin 0 -> 501 bytes graphics/battle_anims/sprites/214.png | Bin 0 -> 534 bytes graphics/battle_anims/sprites/215.png | Bin 0 -> 357 bytes graphics/battle_anims/sprites/216.pal | 19 ++ graphics/battle_anims/sprites/217.png | Bin 0 -> 195 bytes graphics/battle_anims/sprites/218.png | Bin 0 -> 239 bytes graphics/battle_anims/sprites/219.pal | 19 ++ graphics/battle_anims/sprites/220.png | Bin 0 -> 329 bytes graphics/battle_anims/sprites/221.png | Bin 0 -> 521 bytes graphics/battle_anims/sprites/222.png | Bin 0 -> 554 bytes graphics/battle_anims/sprites/223.png | Bin 0 -> 524 bytes graphics/battle_anims/sprites/224.png | Bin 0 -> 300 bytes graphics/battle_anims/sprites/225.png | Bin 0 -> 408 bytes graphics/battle_anims/sprites/226.png | Bin 0 -> 245 bytes graphics/battle_anims/sprites/227.png | Bin 0 -> 269 bytes graphics/battle_anims/sprites/228.png | Bin 0 -> 203 bytes graphics/battle_anims/sprites/229.png | Bin 0 -> 445 bytes graphics/battle_anims/sprites/230.png | Bin 0 -> 481 bytes graphics/battle_anims/sprites/231.png | Bin 0 -> 391 bytes graphics/battle_anims/sprites/232.png | Bin 0 -> 1085 bytes graphics/battle_anims/sprites/233.png | Bin 0 -> 213 bytes graphics/battle_anims/sprites/234.png | Bin 0 -> 333 bytes graphics/battle_anims/sprites/235.png | Bin 0 -> 195 bytes graphics/battle_anims/sprites/236.pal | 19 ++ graphics/battle_anims/sprites/237.pal | 19 ++ graphics/battle_anims/sprites/238.png | Bin 0 -> 210 bytes graphics/battle_anims/sprites/239.png | Bin 0 -> 313 bytes graphics/battle_anims/sprites/240.png | Bin 0 -> 258 bytes graphics/battle_anims/sprites/241.png | Bin 0 -> 258 bytes graphics/battle_anims/sprites/242.png | Bin 0 -> 339 bytes graphics/battle_anims/sprites/243.png | Bin 0 -> 160 bytes graphics/battle_anims/sprites/244.png | Bin 0 -> 226 bytes graphics/battle_anims/sprites/245.png | Bin 0 -> 329 bytes graphics/battle_anims/sprites/246.png | Bin 0 -> 758 bytes graphics/battle_anims/sprites/247.png | Bin 0 -> 441 bytes graphics/battle_anims/sprites/248.png | Bin 0 -> 141 bytes graphics/battle_anims/sprites/249.png | Bin 0 -> 175 bytes graphics/battle_anims/sprites/250.png | Bin 0 -> 457 bytes graphics/battle_anims/sprites/251.png | Bin 0 -> 187 bytes graphics/battle_anims/sprites/252.png | Bin 0 -> 323 bytes graphics/battle_anims/sprites/253.png | Bin 0 -> 467 bytes graphics/battle_anims/sprites/254.png | Bin 0 -> 334 bytes graphics/battle_anims/sprites/255.png | Bin 0 -> 208 bytes graphics/battle_anims/sprites/256.png | Bin 0 -> 686 bytes graphics/battle_anims/sprites/257.png | Bin 0 -> 317 bytes graphics/battle_anims/sprites/258.png | Bin 0 -> 290 bytes graphics/battle_anims/sprites/260.png | Bin 0 -> 342 bytes graphics/battle_anims/sprites/261.png | Bin 0 -> 378 bytes graphics/battle_anims/sprites/262.png | Bin 0 -> 249 bytes graphics/battle_anims/sprites/263.png | Bin 0 -> 166 bytes graphics/battle_anims/sprites/264.png | Bin 0 -> 152 bytes graphics/battle_anims/sprites/265.pal | 19 ++ graphics/battle_anims/sprites/266.png | Bin 0 -> 167 bytes graphics/battle_anims/sprites/267.pal | 19 ++ graphics/battle_anims/sprites/268.pal | 19 ++ graphics/battle_anims/sprites/269.png | Bin 0 -> 179 bytes graphics/battle_anims/sprites/270.png | Bin 0 -> 304 bytes graphics/battle_anims/sprites/271.png | Bin 0 -> 172 bytes graphics/battle_anims/sprites/272.png | Bin 0 -> 384 bytes graphics/battle_anims/sprites/273.png | Bin 0 -> 159 bytes graphics/battle_anims/sprites/274.png | Bin 0 -> 261 bytes graphics/battle_anims/sprites/275.png | Bin 0 -> 221 bytes graphics/battle_anims/sprites/276.png | Bin 0 -> 245 bytes graphics/battle_anims/sprites/277.png | Bin 0 -> 684 bytes graphics/battle_anims/sprites/278.png | Bin 0 -> 421 bytes graphics/battle_anims/sprites/279.png | Bin 0 -> 184 bytes graphics/battle_anims/sprites/280.png | Bin 0 -> 601 bytes graphics/battle_anims/sprites/281.png | Bin 0 -> 399 bytes graphics/battle_anims/sprites/282.png | Bin 0 -> 401 bytes graphics/battle_anims/sprites/283.png | Bin 0 -> 323 bytes graphics/battle_anims/sprites/284.png | Bin 0 -> 679 bytes graphics/battle_anims/sprites/285.png | Bin 0 -> 228 bytes graphics/battle_anims/sprites/286.pal | 19 ++ graphics/battle_anims/sprites/287.pal | 19 ++ graphics/battle_anims/sprites/effect.pal | 27 +++ graphics/battle_anims/sprites/substitute.bin | Bin 0 -> 2048 bytes graphics/battle_anims/sprites/substitute.png | Bin 0 -> 446 bytes .../battle_interface/healthbox_safari.png | Bin 0 -> 297 bytes graphics/unused/goosuto.bin | Bin 0 -> 2048 bytes graphics/unused/goosuto.png | Bin 0 -> 290 bytes graphics/unused/shadow.png | Bin 0 -> 170 bytes 198 files changed, 755 insertions(+), 12 deletions(-) create mode 100644 graphics/battle_anims/backgrounds/02.bin create mode 100644 graphics/battle_anims/backgrounds/02.png create mode 100644 graphics/battle_anims/backgrounds/03.bin create mode 100644 graphics/battle_anims/backgrounds/03.png create mode 100644 graphics/battle_anims/backgrounds/04.bin create mode 100644 graphics/battle_anims/backgrounds/04.png create mode 100644 graphics/battle_anims/backgrounds/05.bin create mode 100644 graphics/battle_anims/backgrounds/06.bin create mode 100644 graphics/battle_anims/backgrounds/07.bin create mode 100644 graphics/battle_anims/backgrounds/07.png create mode 100644 graphics/battle_anims/backgrounds/08.bin create mode 100644 graphics/battle_anims/backgrounds/09.bin create mode 100644 graphics/battle_anims/backgrounds/09.png create mode 100644 graphics/battle_anims/backgrounds/10.bin create mode 100644 graphics/battle_anims/backgrounds/11.bin create mode 100644 graphics/battle_anims/backgrounds/11.png create mode 100644 graphics/battle_anims/backgrounds/12.bin create mode 100644 graphics/battle_anims/backgrounds/12.png create mode 100644 graphics/battle_anims/backgrounds/13.bin create mode 100644 graphics/battle_anims/backgrounds/14.bin create mode 100644 graphics/battle_anims/backgrounds/15.bin create mode 100644 graphics/battle_anims/backgrounds/15.png create mode 100644 graphics/battle_anims/backgrounds/16.bin create mode 100644 graphics/battle_anims/backgrounds/16.png create mode 100644 graphics/battle_anims/backgrounds/17.bin create mode 100644 graphics/battle_anims/backgrounds/17.png create mode 100644 graphics/battle_anims/backgrounds/18.pal create mode 100644 graphics/battle_anims/backgrounds/20.bin create mode 100644 graphics/battle_anims/backgrounds/20.png create mode 100644 graphics/battle_anims/backgrounds/21.bin create mode 100644 graphics/battle_anims/backgrounds/21.png create mode 100644 graphics/battle_anims/backgrounds/22.pal create mode 100644 graphics/battle_anims/backgrounds/24.pal create mode 100644 graphics/battle_anims/backgrounds/attract.bin create mode 100644 graphics/battle_anims/backgrounds/attract.png create mode 100644 graphics/battle_anims/backgrounds/fog.bin create mode 100644 graphics/battle_anims/backgrounds/sandstorm_brew.bin create mode 100644 graphics/battle_anims/backgrounds/sandstorm_brew.png create mode 100644 graphics/battle_anims/backgrounds/scary_face.png create mode 100644 graphics/battle_anims/backgrounds/scary_face_contest.bin create mode 100644 graphics/battle_anims/backgrounds/scary_face_opponent.bin create mode 100644 graphics/battle_anims/backgrounds/scary_face_player.bin create mode 100644 graphics/battle_anims/backgrounds/water.png create mode 100644 graphics/battle_anims/backgrounds/water_muddy.pal create mode 100644 graphics/battle_anims/masks/cure_bubbles.bin create mode 100644 graphics/battle_anims/masks/cure_bubbles.png create mode 100644 graphics/battle_anims/masks/curse.bin create mode 100644 graphics/battle_anims/masks/curse.png create mode 100644 graphics/battle_anims/masks/metal_shine.bin create mode 100644 graphics/battle_anims/masks/metal_shine.png create mode 100644 graphics/battle_anims/masks/morning_sun.bin create mode 100644 graphics/battle_anims/masks/morning_sun.png create mode 100644 graphics/battle_anims/masks/stat.png create mode 100644 graphics/battle_anims/masks/stat1.pal create mode 100644 graphics/battle_anims/masks/stat2.pal create mode 100644 graphics/battle_anims/masks/stat3.pal create mode 100644 graphics/battle_anims/masks/stat4.pal create mode 100644 graphics/battle_anims/masks/stat5.pal create mode 100644 graphics/battle_anims/masks/stat6.pal create mode 100644 graphics/battle_anims/masks/stat7.pal create mode 100644 graphics/battle_anims/masks/stat8.pal create mode 100644 graphics/battle_anims/masks/stat_tilemap_1.bin create mode 100644 graphics/battle_anims/masks/stat_tilemap_2.bin create mode 100644 graphics/battle_anims/masks/unknown_C2EA50.bin create mode 100644 graphics/battle_anims/masks/unknown_C2EA50.png create mode 100644 graphics/battle_anims/sprites/002.png create mode 100644 graphics/battle_anims/sprites/014.png create mode 100644 graphics/battle_anims/sprites/018.png create mode 100644 graphics/battle_anims/sprites/053.png create mode 100644 graphics/battle_anims/sprites/064.png create mode 100644 graphics/battle_anims/sprites/067.pal create mode 100644 graphics/battle_anims/sprites/068.pal create mode 100644 graphics/battle_anims/sprites/087.png create mode 100644 graphics/battle_anims/sprites/099.png create mode 100644 graphics/battle_anims/sprites/143.png create mode 100644 graphics/battle_anims/sprites/174.png create mode 100644 graphics/battle_anims/sprites/175.png create mode 100644 graphics/battle_anims/sprites/176.png create mode 100644 graphics/battle_anims/sprites/177.png create mode 100644 graphics/battle_anims/sprites/178.png create mode 100644 graphics/battle_anims/sprites/179.png create mode 100644 graphics/battle_anims/sprites/180.png create mode 100644 graphics/battle_anims/sprites/181.png create mode 100644 graphics/battle_anims/sprites/182.png create mode 100644 graphics/battle_anims/sprites/183.png create mode 100644 graphics/battle_anims/sprites/184.png create mode 100644 graphics/battle_anims/sprites/185.png create mode 100644 graphics/battle_anims/sprites/186.png create mode 100644 graphics/battle_anims/sprites/187.png create mode 100644 graphics/battle_anims/sprites/188.png create mode 100644 graphics/battle_anims/sprites/189.png create mode 100644 graphics/battle_anims/sprites/190.png create mode 100644 graphics/battle_anims/sprites/191.png create mode 100644 graphics/battle_anims/sprites/192.png create mode 100644 graphics/battle_anims/sprites/193.png create mode 100644 graphics/battle_anims/sprites/194.png create mode 100644 graphics/battle_anims/sprites/195.png create mode 100644 graphics/battle_anims/sprites/196.png create mode 100644 graphics/battle_anims/sprites/197.png create mode 100644 graphics/battle_anims/sprites/198.png create mode 100644 graphics/battle_anims/sprites/199.png create mode 100644 graphics/battle_anims/sprites/200.png create mode 100644 graphics/battle_anims/sprites/201.png create mode 100644 graphics/battle_anims/sprites/202.png create mode 100644 graphics/battle_anims/sprites/203.png create mode 100644 graphics/battle_anims/sprites/204.png create mode 100644 graphics/battle_anims/sprites/205.png create mode 100644 graphics/battle_anims/sprites/206.pal create mode 100644 graphics/battle_anims/sprites/206.png create mode 100644 graphics/battle_anims/sprites/207.png create mode 100644 graphics/battle_anims/sprites/208.png create mode 100644 graphics/battle_anims/sprites/209.png create mode 100644 graphics/battle_anims/sprites/210.png create mode 100644 graphics/battle_anims/sprites/211.png create mode 100644 graphics/battle_anims/sprites/212.png create mode 100644 graphics/battle_anims/sprites/213.png create mode 100644 graphics/battle_anims/sprites/214.png create mode 100644 graphics/battle_anims/sprites/215.png create mode 100644 graphics/battle_anims/sprites/216.pal create mode 100644 graphics/battle_anims/sprites/217.png create mode 100644 graphics/battle_anims/sprites/218.png create mode 100644 graphics/battle_anims/sprites/219.pal create mode 100644 graphics/battle_anims/sprites/220.png create mode 100644 graphics/battle_anims/sprites/221.png create mode 100644 graphics/battle_anims/sprites/222.png create mode 100644 graphics/battle_anims/sprites/223.png create mode 100644 graphics/battle_anims/sprites/224.png create mode 100644 graphics/battle_anims/sprites/225.png create mode 100644 graphics/battle_anims/sprites/226.png create mode 100644 graphics/battle_anims/sprites/227.png create mode 100644 graphics/battle_anims/sprites/228.png create mode 100644 graphics/battle_anims/sprites/229.png create mode 100644 graphics/battle_anims/sprites/230.png create mode 100644 graphics/battle_anims/sprites/231.png create mode 100644 graphics/battle_anims/sprites/232.png create mode 100644 graphics/battle_anims/sprites/233.png create mode 100644 graphics/battle_anims/sprites/234.png create mode 100644 graphics/battle_anims/sprites/235.png create mode 100644 graphics/battle_anims/sprites/236.pal create mode 100644 graphics/battle_anims/sprites/237.pal create mode 100644 graphics/battle_anims/sprites/238.png create mode 100644 graphics/battle_anims/sprites/239.png create mode 100644 graphics/battle_anims/sprites/240.png create mode 100644 graphics/battle_anims/sprites/241.png create mode 100644 graphics/battle_anims/sprites/242.png create mode 100644 graphics/battle_anims/sprites/243.png create mode 100644 graphics/battle_anims/sprites/244.png create mode 100644 graphics/battle_anims/sprites/245.png create mode 100644 graphics/battle_anims/sprites/246.png create mode 100644 graphics/battle_anims/sprites/247.png create mode 100644 graphics/battle_anims/sprites/248.png create mode 100644 graphics/battle_anims/sprites/249.png create mode 100644 graphics/battle_anims/sprites/250.png create mode 100644 graphics/battle_anims/sprites/251.png create mode 100644 graphics/battle_anims/sprites/252.png create mode 100644 graphics/battle_anims/sprites/253.png create mode 100644 graphics/battle_anims/sprites/254.png create mode 100644 graphics/battle_anims/sprites/255.png create mode 100644 graphics/battle_anims/sprites/256.png create mode 100644 graphics/battle_anims/sprites/257.png create mode 100644 graphics/battle_anims/sprites/258.png create mode 100644 graphics/battle_anims/sprites/260.png create mode 100644 graphics/battle_anims/sprites/261.png create mode 100644 graphics/battle_anims/sprites/262.png create mode 100644 graphics/battle_anims/sprites/263.png create mode 100644 graphics/battle_anims/sprites/264.png create mode 100644 graphics/battle_anims/sprites/265.pal create mode 100644 graphics/battle_anims/sprites/266.png create mode 100644 graphics/battle_anims/sprites/267.pal create mode 100644 graphics/battle_anims/sprites/268.pal create mode 100644 graphics/battle_anims/sprites/269.png create mode 100644 graphics/battle_anims/sprites/270.png create mode 100644 graphics/battle_anims/sprites/271.png create mode 100644 graphics/battle_anims/sprites/272.png create mode 100644 graphics/battle_anims/sprites/273.png create mode 100644 graphics/battle_anims/sprites/274.png create mode 100644 graphics/battle_anims/sprites/275.png create mode 100644 graphics/battle_anims/sprites/276.png create mode 100644 graphics/battle_anims/sprites/277.png create mode 100644 graphics/battle_anims/sprites/278.png create mode 100644 graphics/battle_anims/sprites/279.png create mode 100644 graphics/battle_anims/sprites/280.png create mode 100644 graphics/battle_anims/sprites/281.png create mode 100644 graphics/battle_anims/sprites/282.png create mode 100644 graphics/battle_anims/sprites/283.png create mode 100644 graphics/battle_anims/sprites/284.png create mode 100644 graphics/battle_anims/sprites/285.png create mode 100644 graphics/battle_anims/sprites/286.pal create mode 100644 graphics/battle_anims/sprites/287.pal create mode 100644 graphics/battle_anims/sprites/effect.pal create mode 100644 graphics/battle_anims/sprites/substitute.bin create mode 100644 graphics/battle_anims/sprites/substitute.png create mode 100644 graphics/battle_interface/healthbox_safari.png create mode 100644 graphics/unused/goosuto.bin create mode 100644 graphics/unused/goosuto.png create mode 100644 graphics/unused/shadow.png diff --git a/asm/battle_anim_80A22E8.s b/asm/battle_anim_80A22E8.s index 2c5feb2f1..a11154651 100644 --- a/asm/battle_anim_80A22E8.s +++ b/asm/battle_anim_80A22E8.s @@ -46190,15 +46190,15 @@ _080B8828: bl sub_80752A0 mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080B88C4 @ =gUnknown_8D1D388 + ldr r1, _080B88C4 @ =gFile_graphics_battle_anims_masks_metal_shine_tilemap bl sub_807543C mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080B88C8 @ =gUnknown_8D1D224 + ldr r1, _080B88C8 @ =gFile_graphics_battle_anims_masks_metal_shine_sheet mov r2, sp ldrh r2, [r2, 0xA] bl sub_80753B4 - ldr r0, _080B88CC @ =gUnknown_8D1D360 + ldr r0, _080B88CC @ =gFile_graphics_battle_anims_masks_metal_shine_palette mov r1, sp ldrb r1, [r1, 0x8] lsls r1, 4 @@ -46236,9 +46236,9 @@ _080B8828: _080B88B8: .4byte gBattlerPartyIndexes _080B88BC: .4byte gPlayerParty _080B88C0: .4byte gUnknown_2037F1A -_080B88C4: .4byte gUnknown_8D1D388 -_080B88C8: .4byte gUnknown_8D1D224 -_080B88CC: .4byte gUnknown_8D1D360 +_080B88C4: .4byte gFile_graphics_battle_anims_masks_metal_shine_tilemap +_080B88C8: .4byte gFile_graphics_battle_anims_masks_metal_shine_sheet +_080B88CC: .4byte gFile_graphics_battle_anims_masks_metal_shine_palette _080B88D0: .4byte gUnknown_2022978 _080B88D4: .4byte gSprites _080B88D8: .4byte gUnknown_202297A diff --git a/data/graphics.s b/data/graphics.s index d821ff389..82d7feba6 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -1618,15 +1618,211 @@ gFile_graphics_battle_anims_backgrounds_00_tilemap:: @ 8D1CFD4 .incbin "graphics/battle_anims/backgrounds/00.bin.lz" .align 2 -gUnknown_8D1D224:: @ 8D1D224 - .incbin "baserom.gba", 0xD1D224, 0x13C +gFile_graphics_battle_anims_masks_metal_shine_sheet:: @ 8D1D224 + .incbin "graphics/battle_anims/masks/metal_shine.4bpp.lz" -gUnknown_8D1D360:: @ 8D1D360 - .incbin "baserom.gba", 0xD1D360, 0x28 + .align 2 +gFile_graphics_battle_anims_masks_metal_shine_palette:: @ 8D1D360 + .incbin "graphics/battle_anims/masks/metal_shine.gbapal.lz" -gUnknown_8D1D388:: @ 8D1D388 - .incbin "baserom.gba", 0xD1D388, 0x34B4 + .align 2 +gFile_graphics_battle_anims_masks_metal_shine_tilemap:: @ 8D1D388 + .incbin "graphics/battle_anims/masks/metal_shine.bin.lz" + .align 2 +gFile_graphics_unused_goosuto_sheet:: @ 8D1D4FC + .incbin "graphics/unused/goosuto.4bpp.lz" + + .align 2 +gFile_graphics_unused_goosuto_palette:: @ 8D1D60C + .incbin "graphics/unused/goosuto.gbapal.lz" + + .align 2 +gFile_graphics_unused_goosuto_tilemap:: @ 8D1D624 + .incbin "graphics/unused/goosuto.bin.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_174_sheet:: @ 8D1D774 + .incbin "graphics/battle_anims/sprites/174.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_174_palette:: @ 8D1D814 + .incbin "graphics/battle_anims/sprites/174.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_175_sheet:: @ 8D1D83C + .incbin "graphics/battle_anims/sprites/175.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_175_palette:: @ 8D1D8A0 + .incbin "graphics/battle_anims/sprites/175.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_176_sheet:: @ 8D1D8C8 + .incbin "graphics/battle_anims/sprites/176.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_176_palette:: @ 8D1DA20 + .incbin "graphics/battle_anims/sprites/176.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_177_sheet:: @ 8D1DA48 + .incbin "graphics/battle_anims/sprites/177.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_177_palette:: @ 8D1DB0C + .incbin "graphics/battle_anims/sprites/177.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_178_sheet:: @ 8D1DB24 + .incbin "graphics/battle_anims/sprites/178.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_178_palette:: @ 8D1DC8C + .incbin "graphics/battle_anims/sprites/178.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_179_palette:: @ 8D1DCB4 + .incbin "graphics/battle_anims/sprites/179.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_179_sheet:: @ 8D1DCDC + .incbin "graphics/battle_anims/sprites/179.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_180_sheet:: @ 8D1DDB8 + .incbin "graphics/battle_anims/sprites/180.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_181_sheet:: @ 8D1DDD0 + .incbin "graphics/battle_anims/sprites/181.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_182_sheet:: @ 8D1E160 + .incbin "graphics/battle_anims/sprites/182.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_182_palette:: @ 8D1E204 + .incbin "graphics/battle_anims/sprites/182.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_183_sheet:: @ 8D1E22C + .incbin "graphics/battle_anims/sprites/183.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_183_palette:: @ 8D1E4A4 + .incbin "graphics/battle_anims/sprites/183.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_184_sheet:: @ 8D1E4CC + .incbin "graphics/battle_anims/sprites/184.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_184_palette:: @ 8D1E620 + .incbin "graphics/battle_anims/sprites/184.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_185_sheet:: @ 8D1E648 + .incbin "graphics/battle_anims/sprites/185.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_185_palette:: @ 8D1EA5C + .incbin "graphics/battle_anims/sprites/185.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_03_sheet:: @ 8D1EA84 + .incbin "graphics/battle_anims/backgrounds/03.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_03_palette:: @ 8D1EC54 + .incbin "graphics/battle_anims/backgrounds/03.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_03_tilemap:: @ 8D1EC78 + .incbin "graphics/battle_anims/backgrounds/03.bin.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_187_sheet:: @ 8D1ED40 + .incbin "graphics/battle_anims/sprites/187.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_187_palette:: @ 8D1EF30 + .incbin "graphics/battle_anims/sprites/187.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_186_sheet:: @ 8D1EF50 + .incbin "graphics/battle_anims/sprites/186.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_186_palette:: @ 8D1F31C + .incbin "graphics/battle_anims/sprites/186.gbapal.lz" + + + .align 2 +gUnknown_8D1F340:: @ 8D1F340 + .incbin "baserom.gba", 0xD1F340, 0x77C + + .align 2 +gFile_graphics_battle_interface_healthbox_safari_sheet:: @ 8D1FABC + .incbin "graphics/battle_interface/healthbox_safari.4bpp.lz" + + .align 2 +gFile_graphics_unused_shadow_sheet:: @ 8D1FD34 + .incbin "graphics/unused/shadow.4bpp.lz" + + .align 2 +gFile_graphics_unused_shadow_palette:: @ 8D1FD94 + .incbin "graphics/unused/shadow.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_014_sheet:: @ 8D1FDA8 + .incbin "graphics/battle_anims/sprites/014.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_014_palette:: @ 8D1FE3C + .incbin "graphics/battle_anims/sprites/014.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_190_sheet:: @ 8D1FE58 + .incbin "graphics/battle_anims/sprites/190.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_190_palette:: @ 8D200B4 + .incbin "graphics/battle_anims/sprites/190.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_191_sheet:: @ 8D200D8 + .incbin "graphics/battle_anims/sprites/191.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_191_palette:: @ 8D20344 + .incbin "graphics/battle_anims/sprites/191.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_189_sheet:: @ 8D2036C + .incbin "graphics/battle_anims/sprites/189.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_189_palette:: @ 8D203F0 + .incbin "graphics/battle_anims/sprites/189.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_192_sheet:: @ 8D20410 + .incbin "graphics/battle_anims/sprites/192.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_192_palette:: @ 8D20690 + .incbin "graphics/battle_anims/sprites/192.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_193_sheet:: @ 8D206B8 + .incbin "graphics/battle_anims/sprites/193.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_193_palette:: @ 8D20814 + .incbin "graphics/battle_anims/sprites/193.gbapal.lz" + + .align 2 gUnknown_8D2083C:: @ 8D2083C .incbin "baserom.gba", 0xD2083C, 0x1C diff --git a/graphics/battle_anims/backgrounds/02.bin b/graphics/battle_anims/backgrounds/02.bin new file mode 100644 index 0000000000000000000000000000000000000000..fabe87b3f47fcf85b4622cb9981322813b37000f GIT binary patch literal 2048 zcmajeR|5zH7yv*dLMhq%$|gITtV9{fDkUqF$lj7IGuoL&rEFzIWtEZDut)Y@*(38O ze9!lM2_%%r0}^{s5=lKIndDM<*dtPURD!@Clgi^#OCzmx(#s&DOft(Nt8B81oF_af zhn#ZBEswnN$*+K?6jVrIkrz=^F~vQtgpx`rt&FnDDX)TOR1|q7l~qyIv#NPcbu~Qi z1vS-DTOBWoysnqjQ(prOHS)4oH1?|3H1WEonu)x*7Fv2kE3LKhrnj{9wszWkM+Y56 z-brU&bk$9FJ@nK|Z+-Oju72LrU*rP}G{|5>3^mOAh8tm|QAQi%17k%#&WAqou}^&J zGoSmycoR%C$z)S}De|vOHO<$)@vZ5;^Sv2nnq{^*=9(w+`F`-D1r}Olu_b=8)G|N& z#jloIA@Y@0S?xE!TVt(t*89T-8*Q@L7JrKTFMs>TR@-d1!%n;Gw#Q!k{A<4hB0uPm z!;U!WnBz`3>6FvXIP0AA{uB8H7hQ7M6<1wz-3>SW@0Q!{xa*$Cqu-H7zax)+M;`r- rJo+7Z^gHtCcjVFU$fMtpN53PFen%etjy(DudGtH-=y&AN@5t{1-K%~d literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/02.png b/graphics/battle_anims/backgrounds/02.png new file mode 100644 index 0000000000000000000000000000000000000000..c4519d909e6bef51547c0ad5c582072d7dfa78af GIT binary patch literal 2426 zcmV-=35E8FP)h1mha}l{Fn74A zDgX_cwhF=L!y=FdEJ0=omQwJx04G&o-*=lF2I-XR_1!+o~RE_WxHGmPw2KF}LCM-xRnh0C3fg6FnfPKW?POC|PN#z66 zpb^YLf@#)Y;_Xz`2&Mjw^oP@t~RH3bVIzTR;?n{Pc-`HZhPXl^j6D z=H={zEKqGp#msOA(t*zfF#!XJzfV|xRQHRjD5g5CYcK?N)AfV@lfTSC6*ZPjuv|PI z>&N4mRuj$+tJlDG{eTUKAVeE*rJWIl0m3%{d%c9=7Km{YVCzY6vdBOPy#_$Y^3P{? z6ouHJrf~w@bQ1k}2tZZ2%J0g_CF@Qw?0LGI>BOrjbJ_X^mKcmDuG@ytGSeE~O zwx=x=&cfQClCmv1M}mnXf&jeeEW{bH^C=lj#RT&o1Tts>CP2b=JtY+(&DeZGAPdtU z_xqg)+Bu-dq!K(k5&lQOGc_YDW$QBq)k*d!6LcCpG44vx4&(Eu4H5wa&%X$Y5|H>b z!-F*-BQ%2F_I#Qd+Dq?_U?D$nf*#<`ZqSV21Z9$UUgnHKP@@Ji!{hM~0y4sH8zcfW zc!GeG$aBLf@$y@G$3(!mxv!Yfg6EVzuia# z_5&v%4W6z6?**Jf3!LnEA(#p@_+<^0z_(-4Q;@CTM!11sAWtNMUm}>MY`a7NI)V|K z&j?ny|Q34<%B&`XlQNI^l1Z>9!@S(lHZt&Dl zMTvVtjS%Aj5X=|Z4(y50AkWHYFTD(q(_yxxv9mnDitN|e`5|j=lhycftq)O0pZ;(@o815Pp1VPRP z1SBio_C0aVD~^D(e;mhegac{2*A1whB7vqK*q5w=B5W~h4gf^J5uYQ%!a;`BFoZV; z#=6A?Wc z01z7)Gw(YDrl+PYITY|HTauNlrB<&Wf$(qy9T9*M7mWu6eGDz3W$WJ^0V4o#t+^)& zNUDG+i(~{Mz!XScw1XheK?G_7X*e78lvDgftrE$ z!%ZdNmrMaB;6N-0Xy2S4c7(Va_^5^(ZUKOE<=HA?_XJ5x5f=rZ_X2Hrs0Jw8<8DAg zBz>MG;AmLDg%~CStj8B(f+y2s^M>wQ7;DqSG4+UqJzyN{<0U^XB1(4VrcH&h7 zs9?=aD$$UV$#{2ecx=)==rounvjcZTG_V$q?gzAI3epiNVZ5DbMle6nkQ7@)t7QWY@VbP<_0mHL2uPkabA4Ks zWGBMr2wfj(@*JVBp4wz{k|@F*ChIE&gh9J0Jp!N38+5l!QQK&F{7wvbcpo~cJ}M8q|J&jstB6OsRn+@w0XLM14619x5MmrEV$@N>R7VcHDA&j&*%x? z8iWfADc7jOJcB~|eY#}U_!0f6E`5J9WAIb=(A&OVY5)KL07*qoM6N<$f{*YT?*IS* literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/03.bin b/graphics/battle_anims/backgrounds/03.bin new file mode 100644 index 0000000000000000000000000000000000000000..f642d1c7ac3ec2a071f4447d33f7f4ea2f6c0df9 GIT binary patch literal 1280 zcmZQjU{qjIU{+utgJu8%0R=$?Aq8Ota%hl#1qDR~B?V;#a%hl#0|i3`BL!mxa%hl# da{LVoFOYU}{0$2)u=S(^7sn8f&ZAd079LiRI9j;A!L32? z0*8SE*NeLcIFeXa`f$#TS~2Ozq^75Tey%Y;uzJz6&|kl;=e{qG-m+2e+2Y#$-`3^5 zS-iH?F3Tv_--InX}i)3)u3)z`0GY@Bdu z+gtb9n@+8n$9LlV^uH_qhL;)YU0}4VU%$2A{^rqN9_&y4-1;?R)BMw~gk?2~>gF4t zo>#>?lkZK@znUXD)w4`LH7@SWobyNYcEI|l%(Z&QjyEl3F0DCv+@IB({YlZ@Uop3S z#@QKco!Gx$`)izCfhB|Z3kI16?h*#R1FT@~j{{E`ViqtLFaWK!K$f*)V1K|Q+rV7V u$ajEo#{u?#_nS{M?r>m#zz~ygzn;nC+v&&k-Pcxu!qC&z&t;ucLK6VtA*_%9 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/04.bin b/graphics/battle_anims/backgrounds/04.bin new file mode 100644 index 0000000000000000000000000000000000000000..91230cb0196b5b0044a7e92ba773fa21fc9ee25e GIT binary patch literal 1280 zcmYk31#D1f6os);7o^_O4>)aa+rMp)y3KIg#&8?kaGT*a!)=D^1h*LwBrvu?u)qu_ zFvAHf+wcVT3S*F)+??E;@BQ!I6Gj-74C`twt(MicI#$=REZcG{*YYgi3arqItk_Dd z#1*?DSLg~{zRPpDF2`lNEEneS530J=u$m@Iv?NP5vlL6UG;@}28J208F2kie=h9rN zOL69sU6MEW3d)z@m9?eEWuTC@h;BAx)>MjqFkhlaN({D z|Cg1ua#r3dn2%L7U-L763$Q>7vS16bPz!Y-F4zURKo{WrouBh{6`hZ(pz2+0th6CU_uBbR3QphkOCDTfBDH*73HG`yNBIVm8n8i!igY~D58lW zmN??6Mgj?{rg+6ERxyfJlp+*l~0tzXjm=a15m3u5y&EER}ML?$u*F z&J#SzQ`DnA4QNOs8qQ61D??bKFn)LN~yj%!|(vd??$3%tlnbfY^x=t(bn z(}%wFqdx-}p#JKozUrgi>ZP9Qq3-IYYh33uKKIy{d4*Sbjn^5-AOQORf9boWJG{$#yw3-G$aH2flUdAW4s)5ud={{fg<7Ebny0y%quH9JnVO;L zy3c;ib}xgE_?S=ll*KGzDa%;S3Rbd;)vRGHYqdtJwMr|sLd&&GOSMFcz5VaA_cQ#0 zFZs&5#d*i!|EviA)d>Ip2><_s|NsC0{{TS%0CNxktRMj9IS2p%00000=U%k`000U5 zNkl1&x636Eis7$~zAQ=g;6Hy6q&O`-*6-ovKT`CHua*e=!02!N!9|jum zWoPO@IkgtnFgk6rVo$Kj1aMwqpJD5}dq$(%D~skrX8q^a)zwwi+@#UiKx>0_z`9^N zV12MXup_V!U<0r-vNTOE$v%-KjaI8owhe~vyI|;k2!`&bU<0xXur$45`}9c#8vhRf z5ex*NOwejEf&w5yzt0FqM~t8VqXkLIAjYA>d>CMpongY7D-_?vG++e@?^_!Ycx`kDp(#I|0x9u6oI0sM8H?^F9sJ8Ky3_45%gvLxgEx{bQBQ4lDZW>&j218)a#f{djAIbFYin{QfB;!0TX>5H z5&>9<336M#wdZ~DpE1C>`Y(QEzf_We2q1dA0}s|6dwM)()E!TF0R+Hh31T@41hNI8 zJ=^h`a(ia~Tll%VNVzI3(#2H@e~ zr=%^aOe~;-+JRqI0SJK#gAs5HwpUHg;g6Z!o=&Ajy%dOwl0APZ3{I{tgg_;F{zAY?(stK--2!3wF*`mA2vA=Z_hkXF z=-%{(pU)-$f$fd7bq6eVP^0IXJ?%gK-Fv6~sfIo9a=!RHcz-J9C&H(mkY z#q|t7F*5`xve069Z~`NNMk`$1Gyp4)KLkJmdWSrv8k?QEh@cVGMPCo#^bSdF21Ag@D}|LH$?C zv0OR>IJ6ZA!AD{c0Y>l<04w~iT}BZ0jyN@O{5$@PS)l@m;C*@AgjGnIL5Ff2g_9uQ z$^;u5KY3rCHzNQTc^Kin34k3zhKCru$zKJ44uN4fln`Knq~D)@JUudkpWyKo0IvW$ z05IL7IEcV86F`1h4B+v3g}@s?pEd&QS?#zyvdRn+DZ{m=+dpjqg+>nRtBW32!a9b9qhqAI(} zzVF8b>Q6I&E&#a#xUK?#z-Pz6YydR8dhRwg0&Db#dQbzPBVc!@`;OZk+-zS6 z(ApWGhylU{W&(rT0hW9C(GWNy(Te2OIiE=ckeO-H27o`oczmX22LQkA@b6r|7X+Nk zDHiNn6f}Oqu;7Bgt`~xbz6$KSeGzax<_Lh}UybQoR{HRSCa)DYy&WN#LZ#}lfD-`$ z5COhJMFP_CcK1cV2%HKC01J%y5=0+{gp|<>(zV;G5V(?nQ-L<$VpyQ70=a)sg2^ru zxRStgoxr5i?YvWfhn+HkD+@RkkQI`(<>5mRiN9O zbX`*NFKqB801+66@ioUUIRe4N2touz04F9DnArGAo6xo73Ix#>z+E2VdQCS;5x@!h zT_EVm?{~XK&7Lfnxz#rUh%Lq?B1Iu(I&`pAW$boCU&5k#DL)+4@;AJNi zuDGy2U2APo4$$%9y%Ia$PR$$BoTlL z=nAgeEfv7!QwaXsjcP=R;5i6rjiFo^<253u#sROqLeL2Wd?G1{6aaI9Lf9^-Z$s-@ zKUtN66XLqt+eri5dm2ukqb#wSwRQ^SgXCI0^=4VB+vBm zN)}!RflxDnU?UKWm4KetEN5W^5D6eb%LuM9N#R8T%_s}20?o+(2})EgL6k%(-QJ00wFu+t%?*-NTj)9oeIu4%-vjK;)dY@?a+ zANV84*PQ!eh?zCdnf>8D>+V~k^neffh>!V%QF_W}e5R+0(i1(_BR$juH~*bbraQdLySn49zO7rjsT*#(u3y~wvwqT#L-sxWssSJ8c%Bz{ zk(YRxS9q1zcuiMzMVEC+7j;4Bbxz;uTYaOi^_9MK4TJ80Hn@fjI>Mto#^XG}lRU-K zJi{|Oty4Ow6FRPAI;tc3LZ9n1eX39Nu|9H^=e_23^4QHi+{=C3&jUQjLp;pGI;4X- zp#9pXz1pMQ`cNO}eZ8l5^^SJEbbrwI^4Q2t+{`W9%5B`v9o)&C+M(^*rmfnd&Dx}m zdRuSlO}(MlUvd9-TX?jwogM6C7rWWRUiPt1z3Nf7y40x-wX03*wN7ibMyuVvE45gQ ze9zGD&VJRhj`eI{Bb(UF7PhigEoxSi8r7hB)u~o1v|P)ayTs@A>%N}rg?p18B`jqb z%UQunRTsZ3)!#SCULi&@H4hNN_*DOFU8rf9OD zNt&n$L*BoBG-DXcIL0%9iA-WLla-`IB`98TidBrFHD2R1R%0}J(02dne+gs|gBik5 zhB2HGjAW!D6s|CZDn!8wQlLg^gaYKR;quck4Wl22)1Lu80xigbEyO}C%)%|gA}taT z2uBz~5rSX@ArK=m0s-*HaQI;uT*E7gwit`GIE%LgOSB|QwqztB5ebM#9AXiJXpF}= zjKvs?hTGfYm82Lg)zU28WEqxeS(b%NWI#wq8d5=|U#a4_W6ruq6$U`o2kd0ZGi5ZxVX_$(oSOvqVp^g$OwK6NW3ahj#tF{`eK{cvS zi3*gX45cW+LM*_1%)?yF!EBuM#q05?wK}V}25Yn?Yql0^wN|vC8BJ(J1L{$STCBiw zEOU2Ug2h;be%!}%yl^cZZPsob)@fbVZ9Ud&eb$Fw^q?DE=tKwF(T4R{hqYLP)vjZu LuVVlMuE*maQjS8g literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/06.bin b/graphics/battle_anims/backgrounds/06.bin new file mode 100644 index 0000000000000000000000000000000000000000..ef73f747c9e88e44908e049ab07a4d7e468ecb95 GIT binary patch literal 1280 zcmbu7XLD6m6o%7ish19^3wVG<@+KKNq|!?&y`&nuRIy99E7e}8*RFI+bOZ)0=qNDY z4F7;1asBE!F*h*bqqFAOvuDqKpS|`zr^%bW#aq42+r3?FYE_Gx)ugprqt#lam0F>Q zmT9S$s8d&TOScv6p;I+p>vdl54c_RDYEZrERI3^-)*>y`0?pSv&D9*u)~p~G)^c_9 z5LKC%dxckel~;SUs#K{8m8(oMHAB-iO;a^RlQl^byE3MMK{t1*Lxo=C@?tOXQZH4B ziX|1PP!r@DuW=eHG)AK}>aNtCd_>uvlD*k|kS84+&&jj^$dOu_VUzNt<_n*HCUrH(m*|R)KbG@7O{{8%x4~RnZs;m z5$&qb6DLBGHCv0dTAQ_7J8iVmLNiUQWeuxY#Y$ELCoW?tOX%bZx40cx;&iai*4qZ# zXq#-aZDtc2*}!_%@feTt2oLiR5Ap!_2afx?95G^nCr*^Dw#~NN4%=zFY!^G(!FIN> zmFIbmXL*LFd5R}_f-O8AIKJT={{-nco$Rr_w$Jw40Xt|1IlzAQv6nr(!Rx%ntGvR? zyu^#V!0x*op(iB9Av1U+_7f@hPA1aqw!t@N>5#^n^q>Zx`%h@LyfB z%XXPd!OBH0aGsxn*^m4XjNkJe-*$hyxFht0Y~iY1v+F_rhTXKA+z9qx=Neb}i$8<; YAN(GSzwv8NKFZ%gA8}&;GoO&~FViLW#u+BlsV!-@S+C>SLc1K5)h-zVO{-H`ro_Jq|cFu^z6_$2D$n+r%te zJ~G7}?(u*}JpBvr>CFF{%~+jBI?$eWw55%6GJj_y|B9BhpgGM57yO`#4l%+Q6DJ!n zvcfu3_Dxo>#^kK$oAzB+cy4N!^Pa^z&rOZUdlu{3T^se}5v(@VwYxUPt;-shcCoHr zYsD$w{aY)xxDtO!ah|{K+LGcnKlinLS1%&@bzghc0nE=+CA*fpp7C-j>{JEFu4NS8 zM?Qa=3P#9PPuxd7KjS?Qrp~=9`Q^IpLCme4dskvg>(ixwOLg7z(z#OCCf1yD-iZZR r)|_+Ri3M2JoO7~k)4O)RT^ONP9;?-)G4fP(rrudi`d`AEhZ^|6xyKL{-O|3B#ee}?}{82$$_{0EDdt=pN)z`)4h>EamT(fRiBM!qHk0k(v= zM&96GX8UH`7JU4`?eLSdf~3iF`1+3M<*8jN-{^3JNpzjjE8UhU|95MPoWH*H%2VOf zudmDhaBNsz*|6u#tOmte?ysBo3PsQ7X=#0NoH=8iih@qk3%)7lZ#x|-dKs-gN=!P# zSixbypk|^TS807gcV;uA!CKe%HjDwG$HfvXT|Cot{F%5Ic@h+@K4vVAUE z1Fr9-F&)ePCNv8(IR8Dg%4^l+j++Mdd?%D2Fn(0I>N}q;v$LORPm8J7%2~Tl6)^vh zU6-EfKat_ajdV38#+q3(*|yl-@NS%I;9=a4MxSM_#4!3TsvOb`#ky} PC{R3I{an^LB{Ts5?}d~2 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/08.bin b/graphics/battle_anims/backgrounds/08.bin new file mode 100644 index 0000000000000000000000000000000000000000..8c971684284649a8a96775fccd98c66cbc5cd23d GIT binary patch literal 2048 zcmbtU$yUQK49uw%xb$^nyL6cr0he^8!2kaj34Y4ROY8?cAL2+ewme!YRA!B&!dNCU zm6>b+tg*rpiw^OISG+**jBRIY`M0>iHHNstptGNF!~uKkP!Fe8Io$Wm6a7RW|o zg!QJf)SQ*gqxGh;R2_$EBX7>&|6D>eKl3{>ooT3$?mJKR@LgDPD8)XPXFcRjqQ{) zo7T8aE7(qn`>5q|UhyREY^T^xW1cv#Qrg>2vGEbhIa<=5QB@$;pQ9F&+cQr&)PH)>vnQ zO@1=NEOY!|o&^?JBIE}ga>OwwoN~q=e({?vw%K8qJ@yItJr6wc#9y9y;gxePxa5j! zZn))+ke_?urB_~iSWX~=u*wamRM?;<3c}d8qG@hx!hAsPB-6`VM)-+uk1dk01C4cwy$j literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/09.png b/graphics/battle_anims/backgrounds/09.png new file mode 100644 index 0000000000000000000000000000000000000000..5746191e7eb370bce68431cb923417c368389c09 GIT binary patch literal 964 zcmV;#13UbQP)_F&1>_F^5?7*20wA+(E5fyjO^X$#J*e@4@Ato;g zBm8;owhPx+@orUBra>7~NfaBT_v+fztk;ujV=SpPSqxOKiWivPU~)-c5ZAZPd+)3< zSpuVKt?f{l9zk9wt7X6QK7=q00|wP9V>m%YY8vOfbGErKRANlvT;KPEP$^Vppygv( z%05j~7`m=Cbt+IRpH#!JVHmt%DmXL^zK*r~Fpe>X;H?!R7R5B0q~R9yo+3JTADMaaa2Ey}blfqE~E;yrXhBeHlpL>L1WFj)bFBWV>~bKhiN2s&!;6yvf?(~$CW z$&OD=#})+TG4zDbOklYS+=LN(Ky%1X-G`pf-DKj<$dU*s5!VXb2}yS$C`*|3jQB#7P1^^-)xNA>HVF{&WLm0VPi+lc4*~ z^Kg0(Pcf%x=YZ0C&Bg_}?RswUbw|V@Mf1SLyw>qDdcKj~JxL&GM2HFl-*wi&#qsLN z<@4VNUqn#ASNdLEls3@i6NG2=5=W>&pP`@_^g~~TCxn5k(x;0;7LFr=3_&hGUH{PE z-oG+10#GqQ7zWLco|CU6=@mi%m7{ux@N|Mz6m3zLVw~eV&k+_vm}v4rZUB9p*})$5 zsZJh7SRkGeLa*EX&2z*EL?j3#KqWp= zLb&go<6*sMBil|07p(1wV}c(FG}U%4or)Frj;D2lbXq+(dOwHd;=R)@8Eiike6A_K mv>U+obAsOlzX|?}1b+c6^v{2bbm&+B0000W`Crin%xsHcu@y6EIP9eksmHbOqcAOrN%M=w46V2Vj57-x)8Mi?gK^Ze!)bNpnM z8Kzlhja61yW{E`>2>CvH?6Si)TWqqyIcJ=5!ZAl2azM!Mx#N}_uDRlp3;yzlS6+DL ziANp?`CtF|>Wj}l`RIf9-g)bd*Is$)g&{xp%u`Q1_Q*pI+;`7icieW%O*ahrx@)ew z;<8IFy5PLO{pFlLopr`(Lq6rC6OKFPs3Q(LB7JN#z5ZMNEC zvrRVIV7+yQyw)14)ha8ku-r0BEfI??ve2)F{EG#C_LKSMnQM;OW|?V*A5AySR70L( uvPmYIV7zh08si6}jq<(kj5NZKhx!hAsPB-6`VM)h?~q5l?d^g8_sk(LJOQjl&0q&r0F(S3xwaOEdwmjCWV5J?o#ydZ{H z;)o}Kmn4$JE0ReeBH*c{kyl*eBSVu0tyK^yrYO>N+_j__s9pzsi2Z7 zs;MF5wS1(GPt?;uBTY2ZLMxwXqn!>q33(UY^w3KmU+8CmL53J+gi*#AXM&JV@|AB) zG0k^om}QQ67FcA7WmZ@v?=PS|C)J@(q?7yBJBSx<*x5G|r{b-$^thd2Nn+&;ru-pnOt+Lu0@ts8$TVknYzBlAK=9*`|Z+vTkg{GQj ry06VJ(=4+MdAtd}G|?nqnQV#?MjBkn{O$H=p=E zb+08|7h@hvt?Ra~EAGBRwsoH8Qs%khYs8H?k5G{8{=Vz_9v_b;eIL_MCIVOp;BvWa zTNQ*!5P%#2av0B!0LJYT0syCY&IJfI$yEr}wN@CP`B``){1<}0m+h_>3lvb`2Qgn?m{b-puHLo*=>0KKgX zymtf^67et?f>as;GM@&x2zqfS3IGvQBY+S*BLIOEWJRGg1dM;0sNWq#2mqi0fdc>p zWdtEO&~(Q^_xhnr6ZKb%vJ&n7KVMB zV|vR_K*T|E1lcM;2=@K?6mwzD0gE75AppV4n}>%~i2!GA2%zd5RRKK_?C(*E>EpFI zGgU{hU!QU2)f4`K1#ln;Akj!C3vsAG@CS=If2IaeV5PY4+xCWMVxhj32!I{A8U}KX zuptl2hs*xuq*8qPXrxsZ!=_tKj~)9&e2f1~1PK+?!l0u13jusmLqJXy6@o)pYY|9g zc&Q81g#`gF0C6dVC+qBTp2pa!4iWkGrw2Z2LP9N#_MSz z1UN9NW1L&-P@S?WKAmIed$c|>yIuDEt2ZawVWXNh%blp&mqbBfrPey;*aw^feD*BR z_9rXc%1mERA`ls5NBku4#WT###1m+U`WCdUmz+thU&?Zu6twrUozrpHxDYI6q6DlX zp5p|5ks1=VU6#k3oB6EcjR_qM`JXbBQ3wQt4wjdp|=gm&dX zjchZ9zz$A2ZuAe#)n%(iL&4%j1?)SsMjq`Mf>hZ1Sq7?n79P#1IlTY}8x=7$&a))Lnr$R(R}J{6CNfnI|JbS?%p(HGX5+uGR#uD16k4;LRvj{m-)8hIBB` zIQf=kW~>2WSlER3zt9FVi&EVY?Rnpd_!uS=01=7oyt}4<>-Ovn-@bj@*YV7Vh>Q&Y zUOXnH+MI4tnB3jg>C&(O!+rq({hK%qaLrm;zKSIA9?TszA16F(C~_xQXUh*k@LoI~ zM-)6p!6HtV7;7<3kJXLrtowT>MZx3oU^|B<01*`ZURzk?ebvY;V@poFJV_wI3~>=r zvma~_DB}LR+DS)ZP%yB#Dd0rVu(P2%tJ59SKBu*Ax>~Q0A&l0k?&%iI1Di zgoA>0w2GSyS6kLN6~%$?PM5&^X5!IJ53+WmSxI^JZcuz%Tj$ZsKt$oXV2a>Ri?OP{ zS{pi=@gP2&CJ%#c3&A~865f@*HJt_`djY6BjAPp#cw^uaVoM3<(Qn>-B6mic14lo~ zZ6z2ySG2%{S$ki}XIoUv-dQ`FK@g@q+WHocURb;wRSTo_Lab`NcE!v!t#7j^S+`8S zO-BP{{fNcno!Ga-DBh1zct?t_(O6+)^N2ufTTeC--K@2x6jN*n2HT{3k?)SN#2v{e zt|4gSCg=MAkOOVhTqgZlBDUcaqK(_zP)@gLkZcsGF(*AynBYRbBtg#zwB7tZjH>LF zB^m_6=-1pmB!%{+m`<&*mBqQ zn~!g!@}LHTxx9?W^JCt&=X;u(q`L>qcURj(mn{rf;zp~a+lF`Qz9%uiV}E$g0crL9 z%l}KTsj=w7!~d37G5-GW@B<1=ei{Yg2jrK6UkZK_1-~Tx4b=OWhO~rhegFUf07*qo IM6N<$g6;AV1poj5 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/12.bin b/graphics/battle_anims/backgrounds/12.bin new file mode 100644 index 0000000000000000000000000000000000000000..1c0ae690e1a4902330e49d82f63d5b33bb452947 GIT binary patch literal 2048 zcmeIuQ`6N^7>4ov4YKviwr$(CZQHhOYqD#y>m>6a`zy5nZ+vHJw-1}C`kbM1a^i|Bp7;_-D3QdHNGh4+Qb;M4)Y1f0kYCavLDEVmy$mwSB(p5C$|k!Ua>^yQ zI1%|g^2jTn{0b6s+i(RD5;dvfkBYp><=lUta8e$prT4DtD>rEs;i-|uqu7{p_=^ZwR%=gh( zKm83b&>({iG1M@_jWE(Eqr(P~`7y>CXS@j}nq;ymrkZBD8D^SgcGw^?KgV42%(uWo zi!8RpQp+s2!b+>G4tfvr+y2*BYn}Br*l3f@w%BT$?RMB{m)(ElL-yEfpZyLv=#ayX zIO>?=PB`gQ6#QvtoORB57hH77WmjBv&2=~2jDr92w_9$zZ& P;A2YofBbLY-)!JBxgEbm literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/12.png b/graphics/battle_anims/backgrounds/12.png new file mode 100644 index 0000000000000000000000000000000000000000..cd831bb8f7ef18c46d4aeb50c397260a9def87f0 GIT binary patch literal 2504 zcmV;(2{-nMP)|h{{R3000000000000000000000QBPy4000S7 zNklZ#hXFjE040ze zeHo~RF&TycR(yGVjMXAc;@EQdHUk)56bOMNNiN#ExCDjyHyL0lOCJo(In+UZOui3o8N00<|ktmb;MNMj-H77kh+QNnmU;QlOI zI=G_9GJ!~vBN^CN=Ape< z;ur3B6qfC?>Q#U^B>@Mp5C+A!00v=52o&}ZCS_@50Ewh|K`PC;$zEz1mHsQ7~j9TlmB>UxXNPaMvN^EqQ^koPd*$gNDF7 z78x=SSji!rtg-6VjvFh6w;=-?iWxlaep-5a`}Y~_0F9j^qGVkl;?V_*MX(Eb~PvZYcpeXgp^JAhU4@=9ATHJaN9| zstGzXYw?PVkx7)W4=@D*@!~UM@Zt}i_wzZEU4wx@I3>8~Fa%JDpeu8SBYscjpDn-(WVx)#z*r@uELrpzfH$ERnDEg* z0fCpT1Nh=iGDy25wFdw%FfjnOTkH&5fX$Hr-U0-wyuR}as_*J&0r=CqgfZl^ z7=CUeJVfw%017$XhC^=(9hk>@`@#E!o%a^tY65}kb?DTbW9(&jSeh>Le5eJS@o1^@3Oyt`*5Ib z>KM!sO>&r*x~-|h;rpS<1FH`JUtS8pR_u7NzVhMdK#@feA|0@*KuSJgEZHLf8<>@F z$h&Zyf%Ya0XUO9Io2st&2!xY&)fV1V8`Dp7s$t;MHiW_IX0p#D$-5M236?=wwCADJpvZ!=G8z<@WU#9Qn&SEvK?#xlrs3c_1`R?=25?33 zrI)PSA+W9Q$N*98#&QU>8U_?_U_7eVWsXBFcNx_6v{^}5=F6f11J#-OWU*(8H#Q(#vucA5QWOC? z(gOxV0Ey{Y2k?1OF(|$U&}*nln&P&;==<|E8zEN$QiOl<64PnqB6w#ZRkUWgEtK>_Yy?ogJ?LEb|PUu{&DI^~@$pEJn| zeH|zpQ9`r{s4wyW4tt9YUzl2+@ne{nUItF?Q2CzfIzTrV$yvOD* zRKUe43Dh5rk-#klM$prNFo=AHl+=a`I@Fh`SO9-LdJAUfdt^OU&{NhpQJ(=C2)GCP zN^4GxYW2li+Vg`PLFmnR=d3KG{*2RI21+;1CF>VFor)f|e{Nh-n#75JvNF;IOp^8x z#sL;LB>;Y->h3GTxTMkms2u?A9eU)VLMEk4Z9fRiqrE?cBe0V7X6-39hBVk7lJ&AqHH!#$Ve9!fHQzdj{<1+Y_X+4i=9?v z5PG-kxGWlzKk^AiZ;dehe}s-F|UjuVnXb?==!=wbS+~I|Jl7 zG>$QY`x{2%xhc!S0mLK_N%y|1L_0u8S~Cfl?8W&~Hfs)GmPoUq)s7O~1OuztKbOhH z>dFo=I)Fw4BMjsqLw7l~vzx*b^J6-5ylgn#o1xe#PSg?rf3~^h?;eK%J%Fi|U}TD8 zDL4X?EK526l49mm{&cne#Gc^jD2&5ci>v7oG-;W90p<0N({ zA=6GVR5ToM_uScciiIS0fS8FzO>*&|UTxQ#WBq3V+Q_Cj6P{y}(4N{^q<3KT0sKY< z9G|u`)!Fd?jsc4WFi4!&1Ul72`^V?XcC_sTiep5I@A*um z0-5c%Z2@E%8EC%-Ak+Pz187Ec-va;+1Awuq{6PSIqydK(fZs==u@3{UF+d&LhJO2r zCeTNJDpSputqvg40|z`p1l0qW1loOOIu=0L?<{R66g6MlMoEkh=Q+7<0b~a3AOEe* zbDud|#{b}JpZHb#xU%0H#~(cS!P4&qPJZuH>HxyO`PsPB*|_@teFpz40Dl8V*Hn?x SU}ggV00007 zS>?R%1Lajv(T6Ijtct3E{v#jzL^ajbP*W|n)lpYH^)>LRhJn73#+qpAGoNdwxfWV# zrL{J`&{n%Z-(CkDb<)|Fy6CE#?t18{m)`p58|eG#?<)fgG{|5>3^mMfBaAf4Xk!BX zSmS(cya^_nWU?uynr6BgX8OjgK>w}T=9p`q`4(7ck?$^$Yz=R3u7qNn?RMB{m)-W*YoGlN_{q->`o*td{NGMF9qE5_ z$l=f)k2va>KOFa`znpN=?VKcfm!MTz18OuKM3K*YBkx`#<>q R@ch&E1;l43M(Q_kZK1(P*gF+l~7VCrIk@uIptMQQKeK` z$b-tNNLN)g)zwf_Ew$BAS3UJ(`34$lq_HNNYNojsT56@WHrmGW?X=fHN1bHotc$L? z>8^*Kdd2d+_0d;9{S7eCAcGAt)G))1h~-BbWwbHI8fUx-CYofjDW;kh%TG7MOtZ{3 z$6WKwx4=S+EVd+;Uuv1~LPCMhQbI~?Y4cB=WTy)80S6p??bvN8}%WZcu@h`pd`cEzN z_rh;{;Gstzd*Z2Qo_pb+Gnu3$-$v-)dgr|lKKkUdFTVQbyB~h~6(#@nPx;28QW67* nsz=n4GYI+Jh%+g(L;og=K4p)n{4D%`vTwp?uj~o@#}oJs!vMhj literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/15.bin b/graphics/battle_anims/backgrounds/15.bin new file mode 100644 index 0000000000000000000000000000000000000000..5b0aff44bb6e89435d27a47609fff9fb5a419e79 GIT binary patch literal 2048 zcmeIuS3eeD0LI}L;UtmB=Bn(yLn$ID$}D^Dk<~EMSN9p7=al>8|GQ4_ge1vQJd!F+ zx6LO7Dpd(}vlgw|wCm96wNUrz_rZWc9}W2=)Z->hnlkOX zA7+Gl)tYr1Hf`CqBh)8Oo%!XrKmIxw>REHEd(sLM852AHtMSPd4%c7x<@;PMea`ztBcWx#y){rGeV;CeJr#o)fS z8yKiZjJ+|wJHCDdQ2l;9Q5TE)wUn2P{R$uzszo2hcN~Dv8l5*2{Bp0gylnZu2+RRo z)n8A>_W}Fu_U$)a`$V-*cMoU9`(LPm1*#7lAb$IeYJHOOalB~IHgJ%O!XQ4K7@$9Y zxVgt9#PK(h{hE{#K>rsq7+lH8qA|YekH-LtOEu>t(f?SUP5{()W^npdPUiPx*&mE= z5+;^|&j1h=c{=}5+Xl8WIHlSoAv`j=xJiob9~p35ky6XP+?~NyU#=2#xg&WqFIIn` zE1|1Vw8 z0kj1gcaxP5V9IJz>pR(3p2wJHE-t*S3@%atecW9;#lCFdpK0xr)_(1yR$7umr!vBI zM`J64iJI&9&H;MSSdGW^f88IvOMchwDDKlbgH1GZQCP;yB+?(10Tfo$#aEgWHMRbm zL{~qI&Ew0Q^Rf%R1*o}7sGgqpY7+(ET75OkW0&am7GFVFW#R9i8A+B{oQ9gr1@jME}ZW3DH@8xK8sni8`z`hVS%%^JEcC&S` zl@NJA#KifY5S^o?lF9%T^sjpWdf0oddtBw&o$iUR;cFQ5fPe&F07gr$T($4;^rDDE<T+VbTZUCf}icP<={yWG;fy%5x8E`J99#1Vmba=#P?RFAAPhfipm~>V- z_`@a8V;SHRRp0Y^HKIx`R4y#wRU((b8YrVM)h}Em*y_)M!WRMN?YTt&;7#fhpz7`G zZavMv$>;?j$N(&YDP!`pOMoaALjaWu?Ha-w5TXm<&1YWrEf8taW|AWnvtr5Yo&hdh zW!64R)s#_PwCM>ralpREnFahP)~QSSjIom4KG^nMW0L+EFh$ri2?#v}<(17VJYaMl zZ2>9+B899Nl{Nr>V@rq^5&)9`vWoCxQ4YYaW){F0)X-HDK(Gd|dq*ZajhCc1WiA0< zpp44i9OGPJ_6QlAcNKn10pLDXnh6Vpm1tz@lL58@LDc|wnoc78RBg>HVCqg$HFbbr z7rNjIK2qihJxzR?eZ(L;N^QY-3xIHdS@OeSwP!|vRO`LO0l%wrd(7!%|IE!HRo6iH zy2U61M#mzo;2#J0R8J@at{or%WGl`L!2;M)8PFNXQ1D8Gd{TS`JOjqrNt^7kCm=Ea z1Aqbb%vn0>(Uyv9dtb)W&Y2cHp;IWZo7%b4={(_7iZF0k-Z68U765OTpb0_yK!`>I(pj zy;ALv71jy6=wc55n3fWApk_dOvzM{@n3tF$hWKhKiuZgQFhw-0WcCEma{x6-hoPB9 z0VV_1@4L2Lhf!>HPp|HPVu%y6LbwJNz>Yp|+fP0L2EcF)Ag2xBv01OA+6M5=nanAq z40z8myq5sROa``yF%E?^E}dHdZM>O$I|9=UM|RsaGe9|@g#=6y4WMp$DLu;ohJshh zzL|jx@W?f*4v5fYivDapjX1;fZK}>nX7Vc z1Iz&|$iA2HD$1-3P=vFkJAunA({um;002ovPDHLkV1jM!UeN#m literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/16.bin b/graphics/battle_anims/backgrounds/16.bin new file mode 100644 index 0000000000000000000000000000000000000000..54740367af7ae92b34a64718538d24fd027f53e9 GIT binary patch literal 2048 zcmcIk*%E><48;3ja8MC%-T(herw?t@D{0F(JOJ73=4^W$(TLA3>2bn2iTSz%E*KHh zS{RMB`P!H-tux|^A+TyR|81l3oVFs?3vYqddAJ+pgRh6H99lx+|KF6rV!uf<2 zSv$53JZn`@UvIWMcjhX#?Y6w#CAxfFhl09fU)tB2x%j!}*12S=*b|IS@rFA={K)Bl zoznx)Dt=m7A@(NX{idPvY+R3yY-fICb@S$Xho0)@4XyvM=$T5|ZddGyZLk$HrF$sF UnS$F>O7okd80Y5pEM&L%0dMDnfdBvi literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/16.png b/graphics/battle_anims/backgrounds/16.png new file mode 100644 index 0000000000000000000000000000000000000000..6b0aa49736fab8687b77079d720509695094e43a GIT binary patch literal 634 zcmV-=0)_pFP)5lFiDHcSzwr4tfEn5!hfN6`R_sR*kV# zZ5tPE1SVGDVg-4Zq)?$^a%N|>tVs;^Rv-88oV{~}#7D#OQ3T+l0Basr5E<41xCSO3 zRG_5d3Vgk|T{C+Udi|g(SRW6RB!JP#8~}U;6^j5NQZ)lqJ!n6$4TR*u4dCsSl*POa zP3qsSU`GnlCivlW$(5Ea=0gdx$8VWRpKW)yv%00w{5AY|$QNZag)ykdU8RtppviwFbg8IZP~$ z3C6x!W&#+75rsvy_d|QoxKZIxHnnCUh^*3fsYGArMyK-_zXK?8z{091ouOE<{9p|R z8W}TVvR>+$A1=@k`+fSzGCZZ}&sEThmNiKA+%vrZpyM^A=odE4Z>ndycJ4}f=wG|v zDbmW}7*eCK<6x@ER+ zcx2uoy=fKMj>;B1~jK8nv%PyWVoWC^q!;>G3e*}KJ<|m#p zoc~DpA>@C2@~G%D@Vh2|HS0apbP7Csg9=lAzrM*=@o&aI0zYOvDy(_=vPRf@%aA?I zc|?F68M3Q9jlQh$9Ud8iIfQJ;vqp66Reb8hEyo6rj`jY_&L2z@lfA{$mA`m(BYK#= zR{q(K*rOF4s(Hj}@l(YkLd`1|#)rPk`!oM4JMiWG zh&=QKedqn@mMP=Q`w@BRtK`RwPwxk-QT^@t*d!`mntzWUDqfn;`SyI39XE_y)vx=J z^XYug>r7#fJo^LnOEWp2&iB&bV}GO>@ahF;%oBTmZSd{-)Qgx;a4A->cXJh_`op8J=*P=tK{B0uoxoX(H>PWP`Ow0Z8vGCub&^{)tRp1ZN+ zx&O#3LgcZ(l)tji??3k+c}1W;@eTW{=I82ulUD@ip-+6P_ZNJom%RF$?k`Q}zyI$) DgKCi? literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/17.png b/graphics/battle_anims/backgrounds/17.png new file mode 100644 index 0000000000000000000000000000000000000000..5f9dd14ddf8ba0faf8f069ed227a9226cd5e84bd GIT binary patch literal 388 zcmeAS@N?(olHy`uVBq!ia0vp^91IMM3@pq*Rt>9GB9Jl&@Ck7R(n)*oWi7c^-F>gQ z_}-MLd;k9fQP%&nNoUtgxw?j7Z!^Q1D26$fK!qUidsDd#&>((K7sn8b-n*0b_8l@1 zX!$N$!yAyM*~QJv$Raz~^(J%@YQ0WtaiE6(kF_w1$Xgg30dx)y8d z58aw^No#*V(9_>yr*(e6;(xyUo79us1y{E$x%Tz%_Ae^0ijUurc@)92;?e9)W=ey7=lAbfeKGJ#f%2-AuCmt_HL$0yT^Ko4 zJ~Qg+Y_Z8Y+P@C}TxqL(;x@xo303ARU-wnl7~DwOaPz^9@&k1(3lx<^nXkOyMY4VG c_WH@Cti{nk1&=SDum}`Hp00i_>zopr0M>4^=>Px# literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/18.pal b/graphics/battle_anims/backgrounds/18.pal new file mode 100644 index 000000000..df2b878f6 --- /dev/null +++ b/graphics/battle_anims/backgrounds/18.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +106 205 197 +222 0 0 +189 0 0 +156 0 0 +123 0 0 +98 0 0 +0 0 0 +255 255 255 +230 246 238 +205 238 230 +180 230 222 +156 222 213 +131 213 205 +106 205 197 +0 0 0 diff --git a/graphics/battle_anims/backgrounds/20.bin b/graphics/battle_anims/backgrounds/20.bin new file mode 100644 index 0000000000000000000000000000000000000000..d72acf1715e60249684671fdba1e2b6af962b273 GIT binary patch literal 2048 zcmeIv=`+@06o>JL>`{o6s880=B3a6wvKFBz30XqYLfN-}Jv`40ul$(jg)!s4X6`v> zt~uw$_k_d<9TG1=q9nSUiTL#7+DWVtO-U;&k z1`K-dgCWB{`eejsqrMn3ZbFd%YSNTxGrpNMx1acT3w~Ji(=WdT`9J#;%l`Uj#j3T) z?Y3;&v1?C|58wXak99>{Wd5MPeyl!?KiYJWsuW?a3Uk&zRdg(gj(O3sE;=@yFB{I6 M(B->K-~uP`AI_`zX8-^I literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/20.png b/graphics/battle_anims/backgrounds/20.png new file mode 100644 index 0000000000000000000000000000000000000000..34f22002a79c7361edc90df559774b7c44c18f2e GIT binary patch literal 1998 zcmV;<2Qm1GP)I(Gtmehd|K0!q00000000000000000000AA?ir000MB zNklg z`UL}){(J7ZSF+0Xk>~eM-Y>memvyPLcSnh_U*9!#pWxT($gudGOvli<nIeFN^?Pd( zmu+bY-T5$0BX0KAh3N%Ynmd7~YsC@=A0Ptm0l<4(Qo4YZ9d)0iB{?Y6v}8J2>b73Lrp( z00b}$1FlB6gO2Fz1p#_IS!PMA8Z$eG)!Z}!rEhlvAaI0b`AWUv2DhNQF0~c;Od1`7FMt+a1A#>KW ziaD65d00sCmGSB>CW2*21U-vFp5h7sx^W{C2kRUabAZ+TwxVN{LckkTAjaT&D#fQz zp7oG_VCHBaqq+pZ<@j%6l==Ya-IZW^p;Gt+tE753Fl{6L@0Cc97Q??ViQ5iyNMNEt z)vKENfkj(bsqzl6((Ap#IS z%nRxh<>5mT0Vefy1QA%9(lE$4Dz_&bmRlGvyYOLNv8rJ)CK13Bh~i|wDD)GJO7Xrb z*4-|+5U?N*r|6u4^wwcv64*f;fdaLy&c&*hcJ?+A$iOVo{DVM=CSR>n;y1Pc++ z6zTy+5rRqi-SwhDlw8-%GcLxC21M)>!SPRIldz^Lo6pRdq)9RV%OtLsaDyN`ueh*i zMRkXz`GEi+;C}H~cOKXBt)Qd|IN5v=p{twEL>UmS#>+&IYzP6G!hQD~Bh8Ahs=!F3 z43Y*Qz^?eTE{ym15l50?=5k9+d`La&!mlfFU{~eg=+jnsNob025H$uYEX{de;0rncqzGO zNxuv}lHBh&Lt6=r!Xg>e#9pqy6=w?6b-7xp#C)FN;o{IhMwjbAPrNny}j9|g5aS68lQy>sW}jX2*c?dS;qLJP+~_pDAv}8R|Jr84KGES zAj_pG#~lG0{K8(wQdQ>|+H_VerRIS!vJ00F-{N%w9Nchjl4P(Xp}~SJ-G_5j>k5J_ zoj{Th*b8|&YG8#gA2axDNGC&UQ!?0>=Jgj2Fi75t5Nx|0!pIP|mVizAuX6+eoA-8n zZTtn{bY4)a4f3njU&lvzK^Uxq*gsg0RsFQCAYl95Pp89f73bHV_K59jUe$SdyqvxA zykYIh<^U095?m+9@`qF05U4?`%li`uemq{zp9N2df%^b7s35`(0qo$mqMYXSCyvm% z^ijpB+Le~GU<20$?vM~6en|wW3POM#WUmV0bpBx~y!|=CiJz_$;5^Lgh0X}D{%iey zJ3&_R%tQndV1Fo|B5L6kfgC=bX4wtv`t$iqmT~95Opxtf`4)c|{+f93%8egyCcsgh z4R1n?K9hib>pB4rM;6JC>-t|?h-9iW#mxj;{U^J9e@lRqHTpC^zf^*26o2~MP5{oC zjd+RczgfmFzM24bFw|r{rr&b4;?Iyb6F`Qo2mSrd1lb)4r~NmC{Oo%(0e?HoD$A$$ gCSWe6<8Ge+0kjW;QgssshNG922EPD>CmNT_Rwd*kP%}hOwE4AoCQn7iZvUv-?C%Rfg>l* zT+IH;jXMvXym<35`;Xpw>8XeAy6GzG{4YA|q@xbnYp1Q*Z?x7*(oze}H8cCECK_v` zp$6&;v+t>^j@oLesfOxiUsF{Tl~qzv1?9~?r>rtcE2X3oikp2*QAHG1NI?bU%-%Y0 j|K1ny1$+Ttz!&%@1>CRy;eL*J^YX$M@CAHEamT(K&U>#dXaJJZ;~(TAuunVNtrSKH;ZKxA$H% ziQm7L>#lh4Y}(&~s zgdW4Fd7d zVlUhNhj|SLj>zd95ZkWEN2B z%#}N5*G%W(Q`1bZaVwj+Q$w$OhIHiiT;ZLaDXKY1tAtV#@|1XGeOp-mJX~_}Y`Q|F zoaRo(X%E}UJqkc0T zsZFtD7U}+Z{5((2{CtOZCZQ5VNLEk;I)aQHQ6@X1 zAkbL>c2s~J6>3L?(DC-o;gtK`AMnmuS4tobElOy+PP!6OA4u^S#Lq>W#7wd-jHXwPXUD#S$~Dr%f1xh1H+6k z>Spimb9_!M!W7fYFzaUTF8gMLMV46Ri<`Z>?0XP?u*NzYZuai7f5&@ZK91JQ{xkC|FlRXA4}bY*{S#U*`|qr<%2&fN|2g5*`Zu&* z_CFCW6U7y-y4kzSeh1+ei6n8`&E8%12MF2Zkjp(cdw1C%Aw1>@B|LSrcb9z?)zlDT zh~xqnxn#W(t@ruAp9UIfBHD0+cy5wl{Uus2-(M$PbdzjICxc9~taqUGvVTiI1LPYX mP|QOfS?@#ZWiL0-kl$!e+e#Pc1^4;|g7?!epkFWW|L+Vl2~hL^ literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/attract.png b/graphics/battle_anims/backgrounds/attract.png new file mode 100644 index 0000000000000000000000000000000000000000..c5bba0f89127170ee034a31c0e9f2fcacb3a0d73 GIT binary patch literal 2150 zcmV-s2$}bZP)#1YyIXF#+LB`167 zE&&$6(pqNA87v?Ou zK+59T0y7qc!1erEd>MPQl?blwW)Z9*IKi4lJpsh>et8ew*l{p(oR(a7>p1v{HlO;w@6Bf}bS+%B!hF5P{15!xZZ-kL^|jmScKz1a?{)(Z*NMD+D{}lC z5d~q(CV<$iH|yCHzTfS7F1`oN*=A+tZ9GR)*LUV~$M;&0XaYE;g5ayzAdv6x)8*f0 z{&5N00FvLD`T%4K2m*+i*cF90+t~RA1&GKJz^iJxS#DB$gLGLE5XUHpf|f}D*L4L! z$_cXUrbAiK$})=p1vo+Z5T=FzJA}<{vrE5r^!I~z>E@@If84n#7K?((gTx}(L8Pg#H}G+tneTRamVc-8LzdeFTZqxfIA{;onfZ1LJEfBl zT$ltC2qc(H#`+k~aovN?+du%Jn0#C=1d>rA2%y);DA&0Lz;=-@@^A98{D8|A!5(6w z5fA{^5kl|^65MMpB)!}wfY@*MTkO>?Jz7UOE{m=5m)-8CoC!=4L4dvdC4+NXClLgI zB*5fG;L2~7K z=ZPlRKe*m2x%4Bqn@s?bCSO@Xzm0GAJ7(nbF_m2Y>xXx@pSkw^|@x^n1tx*O`r%xKy%re8 zL+Z_TxB# zOW_B4G4}&l!EYUWciQ+~Cg_`fpb-VAhL@o5@7 z6$H^NHOhGtJ;chWRHqXtfwW$rAoy&S^Vbm+ZM}i?5IP4xQ3!+(qQ5i+&ccyVu081? zbiSz~h)h2aA;DKl-$@Vglk$&{lnFx94}?fSo(24h@DQt_*g~QOqA-%ZJ_a~~2&*>v z0rC)(@2Uwj0sw^Q8@|ZP@*R1Ie`NmW)+7LcQ1yg>03q&mBK^RGJj7n+VzG*V5D*}g z<>e*#0aYuv*f5t%l>!n008n5e9fNcW(l4N62vo7H6bPjs2sME&wtJxn9X&y!dkJmaoh_(Z$74&hqRegLiuyhY3BNmo2amI;`_==CnOA87P? z2_VSl$yLWQ>q6m`IYHDnDpiD)YOLzRgLO;8|GMaHfq^2B0!Tpj#x1K01;H1yyuSg0 zNDJT{YGT%hDuTW#a6Ty2N_KZH1aPJ7O@ELiu+z_!zJ`RZ$QL}4K{AlN=?{`YQR!5z zqkm~xpdip=AW#nztPSJ`aGCBC2Lz1q14ytoDD(O{JdL10K!8M)C+P=dsp>oUiVg`_ z;|H=ny@WrGT@a~jexOR^4DihF1J)d6?<=JQh*FT5XpiH3V3i$j&i9p;B8ixq% z`2|tm<%ou;^#gG~s34fDk@~qcztEah!67mNnfrT2WUrbGbiv`#QT`LC%2y!)7kY}bp$TRrv7fRnk zLSt(61Pjw2EEeD!`bDt?4^b;X!`wJ-u8$zk5tsZya*#mH6+o|#8P?%OYW(2sK>4e>323fB&Klgf-i2J^)mmJs-r^X+-R;F)4FQ~D zJUe9qHB!$Kmsly-1nw&XC!2LqbXLkw$HOzf%vc6V;<_h@y c!KniO0>~CM%V7JDcK`qY07*qoM6N<$f~6btZU6uP literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/fog.bin b/graphics/battle_anims/backgrounds/fog.bin new file mode 100644 index 0000000000000000000000000000000000000000..1f9d53f95fce8a6de753a812c67e4385da36c646 GIT binary patch literal 2048 zcmb8sHF84%0L0L5h%qrUGc(&UTun!JzulIaQTGBugozO4hZu1JvlApqk>-~_GGuW( zN1g&jN|dQk#qAn(8Z>Fqrb8FEd-NGFWW<;WQ{0|0XTg#cYc_0gd&iywM^2o%aK-H# zcOLxngl$6x~-mWtEb!Q>9%^h gt)6bX-uk=V`n%rxyWaY{-uk=V`n%rxyWaYL0q+ui9{>OV literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/sandstorm_brew.bin b/graphics/battle_anims/backgrounds/sandstorm_brew.bin new file mode 100644 index 0000000000000000000000000000000000000000..64e6d85847e156def36b0f71038b6a83d351e298 GIT binary patch literal 2048 zcmd_mw^l*{00dETl8k`loFpq5fnS?Xx8LTSt*NKF6CzB6C^6zBNRlE=h7Ypj$WtH` z(2JBPQ{j^;HR^oPph=519lG=g>U{|{gC{S7y6e>+u2+A!Uj5;E^@n=gAL?;`sK@=G9`}dq)nBexf4N@$<$Cp(dfXrC qaet`C{h=QBhwIf}u2+A#Uj5~I^_P0wAL?;`sK@=G9{0z)`~LyZTz($_ literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/sandstorm_brew.png b/graphics/battle_anims/backgrounds/sandstorm_brew.png new file mode 100644 index 0000000000000000000000000000000000000000..87d5d41ea55918f902fd78c45ef25ca9d7d52814 GIT binary patch literal 997 zcmVUAEW0<2G*3p@OIhGS40~Yck z>cV<1Bq+gXyqdAF)x&k)g-@+Ye7T%944K*6&pE&J?88uGC7J-}thyH?aK$h#00J~z z1PiDOQI~cvmoQZpuY)10gxaAj$7f^!2F5WIXT@>%`38z97%fa6LHpzC5lb9M7JST1 zbT(j<&~WQyiWX$=$E%I@s}cD$r{v~Fy1GMHiSBypF%C8rolv4P`1~4LOm;L9z#|v$ zfJr>aE;0?fQEKX$f`IhVKmt35#}9GgUWyxaGZoQT##BY^WYuqSt8Th-ayCfF7}KE> za$=$ocal-2bK(0M=5$h%1HyWwgynsQ2*rJAA|!hUc_dMr+;yR$HavMcNwr(6uB|Pk=Bv5MP$PWSE-&ID1 zZuZeNg{=De{{HRZRt@H1%L$tvKLBXjE<^;zJ?KiC1MJ&6sJ&sz8P!yB(b!ES=up&X=Y8FxzG|7u!RpfSuF7}wJYskb{ryhv7KFy?C?xtu(`)Em3zh3GlnT0!`HQkEJd&B44 zviiSDP0yyoS;`6EWtZ^1uy~neNqC-*u{{&ryz0|Qbn%hd+oo`w^2ude&-7oZx?5N5 zQtVNZvACmsTZ45*xBpmd>eZnl)L22nY`*#MDe~pEBC!0{;QM0zeaTUhWJIa_&Kbfm zw?BwS&dHQxbv8|^RtXBM%LwS1)CSHWV{1fjo1A$$p*&+gu%OKyM1AyaQO3jJ8o~MM zdyP(m&uui_Jm}4|l_)te(@*m8Jo4%-X(+^E2%*2K>P14UZUUyJZF53FFQNnCqE**Uf1in1=w4Hb(aLd zO9I4jM}T-Bm;?SD4+L=Pe&b_aGQs%3Y*qrugp?yP8598$A=^mV9uAgAadX9ch& z6mth8+UkK(BS19}Z6BjZXm>=eI$$Au0aZi!IRIwD*Qf$m7MGf&JMOd-U?lYDTz5PJ z`0MU~tfBs_fGG(P@mbjkP=CT70B*8`3V%V91Cu6DE!wIdot@kYBN8 z!s{H1|%^y9={^D^+y4SWI0 C?PECr literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/scary_face_opponent.bin b/graphics/battle_anims/backgrounds/scary_face_opponent.bin new file mode 100644 index 0000000000000000000000000000000000000000..dfaaf5f2ff9811b3f4e81cc1cb0e942a89d5f77f GIT binary patch literal 2048 zcmeIx$#OwK0EOX;8$+@&1z}@~7&d0Y8o^8bi~qrcC+JeCN~zLk{dJu>)g2o@^Y05p zBuJ7XzUI;C*s(^b literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/scary_face_player.bin b/graphics/battle_anims/backgrounds/scary_face_player.bin new file mode 100644 index 0000000000000000000000000000000000000000..690305126a297c8f7b72ca8af5328b0460f60d52 GIT binary patch literal 2048 zcmeIyw+;d^6hu)2CO3p7H)NKjA;+5hQ@5B82ezU@7NS8~PvgSp$r@R0X Q4ZUZ-j)_*(z@Inp0NoQ~H2?qr literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/water.png b/graphics/battle_anims/backgrounds/water.png new file mode 100644 index 0000000000000000000000000000000000000000..7740f99f8bf1709ec65e21e97b9a6386b40e7d22 GIT binary patch literal 3793 zcmV;?4lePDP)wExY`|K{fZ|NsADTK{uu|HZ}s?(YBp|Nj6000000LMF{6000hL zNklZ056=e~$?xI=@ksuZz1L4p>QiO|OW{dn;LBYF|>Q;x3ye{5_+{4YKCz9B_QBd6$tO^(R9 z=biiU-rVyTYpL-)(Wp4O(TW_gg>mjX^+qF?T(?Ms*Ixj*t7+P5tEI^Z0ltTsTg-bE z0)~4YVi5pFGh2C!&FtOcq)KDFd7ek!#Q;+_y{j;$)0YAu_FkE2?1^;+?-w(eVzBj< z>GW-DcPaqH_Elx?RRF=`LKk>yHWweR0N@^5mi@}aE5oi_fql6OAO!XzfSI|9L4#-X zeHvG*u&dU`{1;pyD!Dfz0pR+Tw|8d%_ZoGvr-@(o${-+os*E~5lMw|l3&9+~uaAAd zPCoh7s$ZYrPp>lZ$@4iFO9+w$gf7g%O9c>Mc0UO4Hu3q=hxfPwhR-ZY?pc74dq^U7 zuYu`V8cCfJE@1?AL2@&F(OQcWWsISEkdsIf5Ar z8l>!*0wRw%O!&HvYoD{>ovx2r5KqU;X)I{s{_W`-p-`WYUlu^0j)YSk_6Vg~r^npP(ujHY}-5v-D>!g zs;Y<^(WM=m65F?0LZOMUNhBx;Nd*mwBzcPn%K%fc@9r{%KoSTb3WF4W#D0`c5taaU zr(9bY(-WqSyAc9n%w2`hoHR%RF<%wzbpkb`=7z5&@X6@nwK; z?Cgrq0138_r>&g_0O+=q7lSw;f1 zc3Kj5&dJ;F9z5uD9y|bxmJm~6tjLD->AYjeU*M&#t0vQ5i3x%%o9#{LlgU!vtlMYkh zL>>kH#8dk|6`}#YYh&*2J`-rSJMC`o!9JrQ3IfnjyNl-)M}@s;fF33;+=NlaaSGY> z{az2gfWkxgP^(Ys>cLYgj<`M|0CszinM1GB$=Oc({{8jdK_Qy~g@>R}3+myM%O!ji z4bbi}hnoj(*0R%l{{Bx!;NZ^;FL?vK$7u3H(5ji0mYrkVVFn9JpyUhhf!G5gRA7lg+Qe*Aea z0^qgXw;TsX8w3W|pN=v}rwNFj0H6@q2@ec@B;~_dfV2((9wx~EmSs9l@3AD3!^oMa z;F~V${XD?QfB|gBv5YkJ4Si#Xzf9}vUN*}Vwt2sk^~6E!^8UCCuuF!H`7Fz}4N4~U zs}2xM!=guR6eD&_dDP+AJ?7o6;}*{B3jpXREei}RGu1Z?{i=;%3=B&Dyq@L#6`OX0 z5$aay1HsXdshG8TSf_R(;wrL_CNrZ8OhE5M4S+;xE zRrc@jqU*DEzqR{HpX$kE3h~$CiarJq$w*o>+<5+2xzU|9Hws7pee7=Q?kXBTfN6-F zL3&~nc z&4iR2YOJrXGwz+@* z{{8L&C@_Onw%4|{;uzZH<{>^>V|TEoC_X~~+Vkg30|;&Bde2;6zYeH>#dw}Am;`~A zNF=n&0Ug4cG%-x9k*)@uF`1KT@{%`uk5D2{VXwtBUZG)2)>Qid9R`5J+z9}O2m}^s zc7r|ui|f7KfAr6ZzlRHIk)x5}UWVIl>G6D@t$FmtUfh7~7ra!S_Vmx6K0VYFfTq>e zPJvcvB0UzE9EGR~fkH2k+7I~sd7l%eg#c?LP-}-Oqr6(Qne8l~lHrpR(mxS@l(iHT z2T|icr%Qdjq90yyP`PtDJ|_B=ghnCrh{x3Ry!)Oh8ZkQ-%-MI+l&)wAEq;14+I?X< zJu|d3e}@hB%Jc=pFLe7?UdEPhiN&T7W4>fpRu(^yKbHFc*uocQZRZobSiUnBanB6n zMbtNE?>hsq5(&3FE)i>@xgF0Gl3j`9yfl6*x=0mU$nZ?~wfC8;J$WL6jL=mJ!lDY5 z(!6kBiTLtpLc!OXP=yNNO#NN#0vdUFFjebN+O-C+9NJb4!Xgf}aI|%kmpf}?h%#vN z8jEe8wqML#I33ZG2Uy{Lqh5tRN4r?ADwXZm{x<*-GU9!?TxR7{<`W9~d#iPCx(J|7 z1S0JlM`8F#4qAL^xuL4|wiQ6@Jq(cf`VsFq3=m2$c|1SEv$6Z|#V@&VsRr`(X2UOg zRREMql@Oo;0)@g409fTyp;jvzAn>KB;KL30U-$C)VhBJYEV_z;nB)1vV9Wd)zC@4D zHNaquHnS3nhG)W{u>D>a0>m!x%M8G?mM31GPrCBlGIIzpw)yECl3-t!S~uzI_+&=T zLh@d{S}M6{cDYsbAhFPPyW8iF_ZHH}yS&ebLae>H)Arm9bbOJ)r9I3v1zCx8zj!L53+*{Cgh4%scHV7bc_-qOcP=2KnYv&?m@_9FpSl;>t1~rrq zVPX)-OVGzf!bK^U3nxFrFIO@r-o1TM)F9$Vgo%T~^R zN^Gz(axu5-h$h0tA7Vlw!oEslR9=mE-MCCa$mis|*v;iENTS>f;QWAnWn7WR?U)_s zxMS)J(vK3vUk{R$t9O6|g9IG=aP&25aFYna^y!qCaFF3Vj&po)Uw((@QV zDZ1k=d4&IJTKZ{%_My>exQbaD7|MOfra5O8wEoGqfxy@0`QP;ujL z%O3k)spMP-;V-!kXgekn;AA$SA~C>aco9H_Gsmu1+>xXUnTJ@gud#%51VFTDGyrdS zykL;_(#S2MYB4g-5JDcYhaB6mEq=p@1o$=hDgZZMgr)6B=A9vgd1XMj$>Q+pw4c)CZIc1k?~*BJ6+15gYN#2C?wBlSur~Mw36# zx%|vKtV_{t6Ho?UoCly0rXBLHEJJGugFmt^AawXZ$bi6~?kFjimY4GYE9oJhJfQ3x zGY#sFfqiABn$J~4u?r+dz~eUo`j5N z=X3)Atio(D!8Vc@dV&~*>(BhM$pSJ7Wz9%u0ajk4TrAdxTxdug zggpM~aXt#sIs3*}P1fN$z8Uc0LTcIm6;j19>&s*onfgrh^$k&-X0lcX16(IldXNIZ zPfPZq=uD-`SfuI+0niAy$2pwFm%(3Iyg}Rd^+1P)`f1S~ECImb5qr_AEJD}#EF{j3 zCqHc@2)Z_zgnkPc{1gDPo1??tQW|pCkYkK~98HIaHJ;VbKlS6O%L&nsp9L(3DK--n zFExTsMjCew0K@VS;+>Tk2p|l7j-&41POL#&^V|wx?RX|=G$oT$1JE_nY!6u$*Vdrg z;yT`y^c5Kj1_?d!Spb7X>h(+$L2riQIBkfejB6i@W~M{LArVK~Q4c_6K%M1%u*GlF zx$rzx5H{}I$t}M27e0a%S9>(_#a>EYud-R zHHE;h3797m{7Hbwa%j;y%h$8EP*c$Y`vf0fXxc}<0IbO|f()^{9B7B^+8p5JDS*Zt zIL&f=GjjjTpG|JF9A~y9=L9gL(4J2hw6)^}02MM#?)a#vrez*(Q2iKV-XLjnofn4RK=almVS8eSY-8gO9j_^AR_h3kf)C z@X^MA-_d?RHu|^2AjHCm3&Mx;@D(1e`z@qd{b)_RZYrVJ4C>NB`RaTm1mHG5a=7lt zJ{8q(cA|Dh#gY51iq2^wW3%7E`9v%NYHcJ9sqecgIoiU}1}$U(eST;jw*RY(I?6q@ zo?%Gj`6VV|CA3~$_*s2b6vU|%k{`@j58Pe!dH(DF|3Cft8TyQ_N#6`9kn`Yb=2ypt!}^S L_N#8c>h^m9n!O$$ literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/masks/cure_bubbles.png b/graphics/battle_anims/masks/cure_bubbles.png new file mode 100644 index 0000000000000000000000000000000000000000..aa7f7b1f28aa4a6d61f4f39ef58b7dcdab75aff7 GIT binary patch literal 336 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ipS0MfW|Np)J|5yM2ZwW+a z-&xLiW|?)>(ef-%3KMW}oLB)Az3u7Z7@{#T_o5-+Ap;)P3vr4bD#oEx?=YlA7%?*! zD_xx%JE68##yvOc$gd|qZu_y@xJtyInZoJMw~Ot;bAIy^w!BYv|YnIq-J-+np#{dqlWex!|$`e@5 z?Apg9Cy~p{r2XAvu5RQllZp3~GhI8kiXM1r>*OMt!~DMCX83{5(??5o>bh|A_S|GX z^n&Zdr7H(3(mf}38D%nuO*p7^BH`DObrY_w-;;Iu*G^>bP0l+XkKIR%D( literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/masks/curse.bin b/graphics/battle_anims/masks/curse.bin new file mode 100644 index 0000000000000000000000000000000000000000..1e9623948ef94488541385db8fd2b850153004b9 GIT binary patch literal 2048 pcmZQt literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/masks/curse.png b/graphics/battle_anims/masks/curse.png new file mode 100644 index 0000000000000000000000000000000000000000..03979ee8d2118a0a681010ab366135b35b3a0cba GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^96&6=!VDx$zb{koiUD*!1`PZ!4!j+w~`3j7>Q gj6&S%jmsqX7(y$U6mL!5ItirE)78&qol`;+0PGtoF#rGn literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/masks/metal_shine.bin b/graphics/battle_anims/masks/metal_shine.bin new file mode 100644 index 0000000000000000000000000000000000000000..fed60df365b6fb32db0b5f70ecd2a72f6a6c3ab3 GIT binary patch literal 2048 zcmeIv+g1Tk5P;zwIVB>MltWIH#6nnf;MKlI?-{mBYp=PTZ!Z1`E@Wg~%E>DTkyBK1 zrR-Wo)lH-hYU*w^+`0Fl8SNjnJbBjE(bbFgFZu?CM#f&fMf-OXAErLd%%gR%u(a}J hZDV_a-`V^2 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/masks/metal_shine.png b/graphics/battle_anims/masks/metal_shine.png new file mode 100644 index 0000000000000000000000000000000000000000..a9c5a952c8232103cbf170bceb184799d4b16fb1 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*Pu23fndp$?xbeT>N$>6 zwnVKtTYU6c_r3p1g4Qr3ZIP%xYB=Sp*P44tN8eT7`#%z b0|P_5l=S|&Ni5TWrZITB`njxgN@xNAjJ`q- literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/masks/morning_sun.bin b/graphics/battle_anims/masks/morning_sun.bin new file mode 100644 index 0000000000000000000000000000000000000000..cfa7b80692463d6f9dfb2566526817fd79161f87 GIT binary patch literal 2048 zcmeH{OA5ds5JR3Vub9@0jFOrdTi WFk*lhI5GIYQ9TfYxytIn84L!0OA&7X literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/masks/morning_sun.png b/graphics/battle_anims/masks/morning_sun.png new file mode 100644 index 0000000000000000000000000000000000000000..c10b02782a97085bf3739bdb2b4f136e6e744809 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^3P7yE!VDyH*`KZgQU(D&A+A9B|NsB@zJ1&K?%kYc z?|@wV!06nn3ZM#iPZ!4!jfu$xVInMysqAbT2LuufnYcM-J`g!@#W?Fkfg#J1YmCdd zmoPgsEV;(Aj5~#;jloB?LzTmrC6r;A&xcfjTPB5Th50Wu zZhd*^wZe=!$JdEpnKAj<{ui-!l0Tj(#N_KQ&5Qaw=jo+$*-Qz~RU4Tvxy2SlyxZ5X zQ^&C)YQmGFg>H$x4)tCR}fCAHeR{l_dS>=54v-E_;HfB5TE~wh}aJ|!n!`6Zv z>D}kmUSzQ>o3FCRxOTpzt{d}=3jH+#4u=kZ=|5v*X!$vECD$x#m70vIXpP5DPE{n% zePGbox~gINnTaKgxl;M7v>u#4Ha}GK!@-BmOSxaX_;m3aYf0sgqN|*I*Qc-FuD5{g z5U-nf0QY0DDizbJ%-Z`ev*=IjVJalS9@qF<=Kdk2p{|UbJN8e(vUBJbk?gv3( N>*?y}vd$@?2>?g6v3&pl literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/masks/stat1.pal b/graphics/battle_anims/masks/stat1.pal new file mode 100644 index 000000000..d4128a31f --- /dev/null +++ b/graphics/battle_anims/masks/stat1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +222 255 205 +189 255 164 +156 255 123 +115 222 90 +74 197 57 +32 172 24 +0 148 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat2.pal b/graphics/battle_anims/masks/stat2.pal new file mode 100644 index 000000000..434b06e8d --- /dev/null +++ b/graphics/battle_anims/masks/stat2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +255 255 189 +255 255 123 +255 255 57 +255 189 41 +255 131 32 +255 65 16 +255 8 8 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat3.pal b/graphics/battle_anims/masks/stat3.pal new file mode 100644 index 000000000..784e5c640 --- /dev/null +++ b/graphics/battle_anims/masks/stat3.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +238 222 246 +222 189 246 +205 156 246 +197 123 246 +197 123 246 +164 90 213 +131 57 180 +106 24 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat4.pal b/graphics/battle_anims/masks/stat4.pal new file mode 100644 index 000000000..2868f2479 --- /dev/null +++ b/graphics/battle_anims/masks/stat4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +189 255 255 +123 255 255 +57 255 255 +57 205 238 +57 156 230 +57 106 213 +65 57 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat5.pal b/graphics/battle_anims/masks/stat5.pal new file mode 100644 index 000000000..4991b1bd7 --- /dev/null +++ b/graphics/battle_anims/masks/stat5.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +230 230 230 +205 205 205 +180 180 189 +164 164 164 +139 139 148 +115 115 123 +98 98 106 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat6.pal b/graphics/battle_anims/masks/stat6.pal new file mode 100644 index 000000000..f647ff4b3 --- /dev/null +++ b/graphics/battle_anims/masks/stat6.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +205 246 230 +156 246 213 +106 246 197 +57 246 180 +32 213 148 +16 180 123 +0 148 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat7.pal b/graphics/battle_anims/masks/stat7.pal new file mode 100644 index 000000000..4935eba7c --- /dev/null +++ b/graphics/battle_anims/masks/stat7.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 8 8 +255 65 16 +255 131 32 +255 189 41 +255 255 57 +255 255 123 +255 255 189 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat8.pal b/graphics/battle_anims/masks/stat8.pal new file mode 100644 index 000000000..ab1758e37 --- /dev/null +++ b/graphics/battle_anims/masks/stat8.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 148 0 +32 172 24 +74 197 57 +115 222 90 +156 255 123 +189 255 164 +222 255 205 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat_tilemap_1.bin b/graphics/battle_anims/masks/stat_tilemap_1.bin new file mode 100644 index 0000000000000000000000000000000000000000..1b65e515afd048fd1acb4cef5e0d6d97a955baf2 GIT binary patch literal 2048 zcmbWyIRS%E0Km{sF#xTB0tPq?MmkdrWXhD`4JJO!jM#;hFF$JkZ0sD=o?P5K)K<4& zb^BGfUv>NGsMS%cqgF?4b^BGfUv>Lcx1Ww$9kn`Yb<|e3Uv>Lcw_kPp>8RCFtD{y& PZFT!qw_kPpRkz;@^1Nmr literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/masks/stat_tilemap_2.bin b/graphics/battle_anims/masks/stat_tilemap_2.bin new file mode 100644 index 0000000000000000000000000000000000000000..eb336cb748fdcd7748adf2e894e0a3b33a278cf0 GIT binary patch literal 2048 zcmbWyIRS%E0Km}YQw%_Bpnw4mdy&o*1DP^qc!P-#Gb46k<;#!SKN~v-wI>%h54F|p zSKWTq?N{A?I%;*)>ZsLGTit%u?N{A?)$OOFR!6OlS{=33?N{A?)$Lc^emZJ()at0! QQCr=9)$Lc^e%0;w0tSnA9{>OV literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/masks/unknown_C2EA50.bin b/graphics/battle_anims/masks/unknown_C2EA50.bin new file mode 100644 index 0000000000000000000000000000000000000000..712c1ee12b953949132e06b147425b99e4442dbb GIT binary patch literal 2048 zcmZQz7}|ib0XHPZXG{&aAu;-y8*oEn^s_YJhQ#O}RWlj_qaiRF0;3@?8Uo~m006Z@ B9E|_~ literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/masks/unknown_C2EA50.png b/graphics/battle_anims/masks/unknown_C2EA50.png new file mode 100644 index 0000000000000000000000000000000000000000..d0b372cbb81795ce5926f8b4e5f86df2b098e2dd GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<;!VDy> zB>@6%P7Ojwn|L@LPh|9SMP+Q~Dq7e9unISdVAoAV2Jy9UDJzf1=);T3K0RTrA BF`@tf literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/002.png b/graphics/battle_anims/sprites/002.png new file mode 100644 index 0000000000000000000000000000000000000000..c2a98f6f598923de052e7ea149b8b558d5387e46 GIT binary patch literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ipS0MfW|Nndc&+h#{XU_ku z>a$)+OAH;0B{aPlEP+z@n(ysR+B?T_PP67wL!erQjCZdUfK;2Oi(`n!#N>npf)6Z} z8?*|lzB`7nTBpm4IS5;1btrA9_V@U}ro#Bm*gZBT&_|QMu&}ZxhpT#J_x#n0t0t-I z9X#P>@qFiw1=@v!REoH(a3m6LXl&shbv>6 z>I{Y}ay*Q)BD#+jOWaFWkV%SQnz@VNks9la&yD{Yc1bBVxIGpNa1&2Zh+<$+ROSq6 S(!TBkvd+`h&t;ucLK6TW3N0l7 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/018.png b/graphics/battle_anims/sprites/018.png new file mode 100644 index 0000000000000000000000000000000000000000..c760ff81aeafd7b21d99a4b3fbf60d162520a208 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV!VDzu-cxxDqznRlLR^9L|NsB*-Fvoo@7XzX z_EuLfNlKam6vPEi&6v0pC}-~J;uyj)Gg*LziA{;afMN5L1_mb!Y3bPpEI`6&!;T#m t1`8NBBqb{}oN8-ZwAvwDMyhKe8$-l3F0Jh?1*<^Dd%F6$taD0e0swQ|F1-K% literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/053.png b/graphics/battle_anims/sprites/053.png new file mode 100644 index 0000000000000000000000000000000000000000..9aaccf334dee047193fcc1f3c289fb454ceda97a GIT binary patch literal 456 zcmV;(0XP1MP)$>8oB#j-0000000000b?NdC0003~ zNkljG7#O&zX2m-_+?BHF@nWxeT1|bq7B!~ z;zTr&lbjL5YIlsQYdH4WIqRCIgK*7%d=f`xc>5h!aTCI>80%QMlT|&LJWAG2kym4m yv%XJym&@}NvcJ9l;zKfdJtVi31Ao~De+C~qLx))f5Z$K$0000A-?4{|jd@UT6I$+`dd`op^& zb`IV5T%Xqp@9m1JslB^0lfC)rw0;#{&5QC2uW9(d7O<*ulrB@~UC7g(7s&Y5OvmG# z>$1mIn`=xQpHASuu)^Br2+vu*0~$x(m@iq}KH2_(c;HUW3sRi6pKE@IP2G7w7W2MTJ%~UO%uoHOpuR|Jiol#w$X9ANTKI Y_-Chj%B}9>Ly$i_UHx3vIVCg!0Qwkp2><{9 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/067.pal b/graphics/battle_anims/sprites/067.pal new file mode 100644 index 000000000..4c3a4265e --- /dev/null +++ b/graphics/battle_anims/sprites/067.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 197 246 +255 255 255 +230 246 189 +213 246 123 +197 246 57 +180 246 0 +156 222 24 +131 197 49 +106 172 74 +82 148 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/068.pal b/graphics/battle_anims/sprites/068.pal new file mode 100644 index 000000000..3075ab6b6 --- /dev/null +++ b/graphics/battle_anims/sprites/068.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 197 246 +255 255 255 +255 246 164 +255 246 82 +255 246 0 +255 246 0 +246 213 0 +238 180 0 +230 148 0 +230 115 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/087.png b/graphics/battle_anims/sprites/087.png new file mode 100644 index 0000000000000000000000000000000000000000..e0e88687e8f775bfbaac5ab75fa865f66ce7159f GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU1=9aP;OzhZOaA|_{{KJd z|9{Q@M-~20k@%k^@ZXT*KLf)YpduJ3effzW$aeB{aSY*@8QNpW$DqK&6#4aQY+}*X zaIIS|sTukKTsB&|*IPA=IIe6^eUWlTSW03=-%Q0F&p++zy;xdj-16(I{Eb=Heo3-i SzIeK7Q$)4uV@?rz4oZMIhC car^)9$*zopr0G1MtW&i*H literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/143.png b/graphics/battle_anims/sprites/143.png new file mode 100644 index 0000000000000000000000000000000000000000..da3f273acac05a272feb25bfceb47189851432cb GIT binary patch literal 461 zcmeAS@N?(olHy`uVBq!ia0vp^3P9Yz!VDy5c$8@ZDT4r?5LZhE5Hlz!XvvZ#XV0Dm zvhf2i8|Kvv42%(;E{-7{ooA=!_Ax7RwEb?LEWnp^rux6Jt~}qOckg`6ZZ0!RejS`3 z5D>S%oKHtP>qze{mRKwA>6!=DH0(@dez1*c?mVWPh9`Vq*cWh1n6)O)UAUOpDCYf{ zU8Zxpo-ea+?7lJCF-XwRShX%f`Nze@Y1iCO=5U&-DwOaOLTtm8S(yG z-hFbza_(NqUW54i(i%eRxV)XFG0%Fw>Sh0(&cwT|vD;VH4-PHXuM+= zn*Xm_{(t86|9{kfAn?liUp(dilB566z5^NX^U44Cm108ZHHb`j{5V$U~ZEusw zgeNw$bk`cP#jJ6?asF8^`-Y$90bk1<{xaL0XEipFUZi>KeF?})Pgg&ebxsLQ0P&Pm A?*IS* literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/175.png b/graphics/battle_anims/sprites/175.png new file mode 100644 index 0000000000000000000000000000000000000000..042ef87acf79e7024ff2c6aabd17f55508da8692 GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUT{5K`$P5Y!TC!xx|NsAw zZYf?eC8)XBGAT&H%aY;j*`v+P&Huf!{{Qd(zeeK!QO$YxOtOF){5@S9LpWyo_F8it zFyL`!eL3Ya%cjzAPlCm6c`jcwh5yLuYL6RiCQq6Vc9`tHVDiA|aqL0OQUm^(ytk*^ tIka_(*j@Fj3%K|K@;3fVe|h&0W2mZH!@IYkDL|tcJYD@<);T3K0RXy9P!0e9 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/176.png b/graphics/battle_anims/sprites/176.png new file mode 100644 index 0000000000000000000000000000000000000000..aaa3c2f96cbd8719d47af080876422c057f6f11f GIT binary patch literal 330 zcmV-Q0k!^#P)Rs7Vc^0002h zNklU9W@=5JOwnO+TV60|Bm~{gh?Z z^eG=8s#Y>)CXg#*Tkg}0i&s#D&jG4_63Jvh0uQ`h8@eM#USLrdPvD*aUqGF`0l{i~ zNOph5JXz}s)X4QX6sO|s_xuCcfc6q>glDFA$Y&LDP|S0ZW!sGiw&iWONTa6A4dJ1A c(=Va(1$ux3`rG&%p8x;=07*qoM6N<$g8!|9KL7v# literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/177.png b/graphics/battle_anims/sprites/177.png new file mode 100644 index 0000000000000000000000000000000000000000..ec1b2246bd7c8eb885f0dba1d5517077421fe2c6 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0zkZgg&9bG7yqaZqznRlLR^{_YuVMKAzx)6H z|3Ef=usJc}D^P{2r;B5VMQ?I~M2drFVN_05z7%VVz_T)Un5X7Uf zdy2xj04c#bd7FpE7JvQbe~{c&x7?x8n2M{KHYaZfQU(D&A+AfNbOV_|K|xEFEcyTc z|IsbQOQr-h7h5I;NqAW@oIQKAxw-kjSJwak-T&7}{6DHW@198(P(!Y#i(`mI?_2-f zLI)H$lFyYJew@nV^YhfB#aH#JWUJHP2{cYvapGV-!+oE_VJ&m=I6GR|&zx3t%KW&% z{FagIE2p_r7Mv;gqUvTbHO%gc(x#T1x?MUao}{KfiTUJtX|?#}zBQ+2=pN_(xl69* a0PA^0!}A^Of8u}^GkCiCxvXJ$tmdx%t0W*8l(A|JO+TKdL$Jo=Fx^gP5m_V+hC0 zRjws6uXr#x?Hq)B1z5mC41~nDC6d!axrD?Q27@z727bfyqX0u-h+aHMA+}Pe4>2sb zIw&;a5Mom*eM7{#YN>}^sS?s9P#PdQya`1d=Ci~qwVpSCIb+G6rGb)@G`mMu(U=-s z*s$1Fu+mkjA{r~Sl^Kz>c&);}EcI2U=|Q#8W0cQ)P|}(nsr69qFrF&XIc+g=3Meq- z??b%7$P8u4u*F9stlAwcXRVscg(wJVwO_oJ<8=5bf}8{($*e;3M_QiUP;z+X5Suap z<4^gkP$gIM@UU7zB`_eG6Ci$?^9T6=lTQ`h00XE*DWFd)HeNpJqiK!wH9ftQWfLSJ z+;1~~g`a>jE}YFm#5rAnYF*A=#@tbXS5S?+9iwMxHT+UV<3sD@Prc~6+3bgQM|FF$ z-PQej(Y;yiyZOW0-JcKb3DcfY?J3uulkG{{pVi%IfA;M1zF0!gk_nb{B>E8X8#B&nb3`-2F z7!Nav@t(_bV3&Bx`E1SQw|ug%tX4X&>U=LgsYqr0*O!q_9+D1i0^$Wa5AFn9Vk>C~ jocBO=>Wun-&sh)L&ptZijp|RJ3m80I{an^LB{Ts5si<9J literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/183.png b/graphics/battle_anims/sprites/183.png new file mode 100644 index 0000000000000000000000000000000000000000..55b2044b834a840003ba072a2288c2a0215883f5 GIT binary patch literal 546 zcmV+-0^R+IP)$>8oB#j-0000000000b?NdC00054 zNklpF<_2uEc<{m7%m_jWNB%1-Bv#jxf2h z@c=%Q7Ygk?e`gb8JX62F|M_#0o}843mkmr4j%MU@4m@rMIv}*qc}L}}g#vV#9US7n zeoGyo@CodoVGe8o+hY(CSUD>~L#%;`1|@{LfdUF2Sbt!4LnibtkNld{BHE&{)Oggp z5G{?>hMpesr44Rd9k$k9?`|a79FL4tNnk?5U#!vst$|Amgd0}F$2kba4fC^i6HV}m zA359K8L|{}vp-wIB70xi3d%5zGoeB5)?n?gRDmBYe7N1=HCP@HRnx09vN*cynY zXf8zFQx&R~TIRFjrpDA&LYKJE*O~6cRm_BHpYsn^X_LOtP!iVgw2N3nucKRc1_A>w z+|d=x=ghz`g${lNRcp$wphGJ-lTJDV9`neRdd`cT`IsQ)2H(jG(1eONZiU0rr07*qoM6N<$f~uzSod5s; literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/184.png b/graphics/battle_anims/sprites/184.png new file mode 100644 index 0000000000000000000000000000000000000000..99ba7e475068938f21c92ec87995ee63f15a0d6e GIT binary patch literal 332 zcmeAS@N?(olHy`uVBq!ia0vp^0zllr!VDxo?EWGMqznRlLR^9Le-JqP|NoNz|EvH1 z5BmRK^Z!wW|5GIXCkgyF&?d%8G=So9_*NGwWVp7QJ-Z)!oQ zqolP}LXXypMWP05;i5j_rac#VjSCoeo#bHK%2;hV<>Iqz42e@#h%{vO2~FkUP5`p1vEf|9?Y@_CJ2>p-ACgpI>=9x0FYPGlXlL|aG=pbH^#_$GAI(V;TUZ$?s?5%v Sn6hOv$h)4delF{r5}E*|VS4ER literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/185.png b/graphics/battle_anims/sprites/185.png new file mode 100644 index 0000000000000000000000000000000000000000..f3a4305c584624c9f1cacb6d0e4f807ce8b4f959 GIT binary patch literal 819 zcmV-31I+x1P)!y^a$x6op3`31@i2nAY-c+(l(wt1<22Od z<+%R;K}a+U!reJ@ea7+q#!lD$#c{*Mw^Ad*Yv*uJIagV~*lj;nC5O9pRf2XHZ>@3u zox%JRA#^bKXBWyBO~~!|lr@4r2w511`+l*mPF&N#lae9uSc@O>+L@C!N@dCB_At-r;3joMsUT)4dBu6!ARgEq$*AVALlrS zy9i|hF~A3Pe8hgP6lac)Yh1gKtmcC+qUM8~7SII`pSqK-dFfV{mX~XzyMG1Lt48;? zje#GAS|5QAQ|NiWCsZfh10P44jUHP*_Q~k6BM&$8FwdoytJl96|*geM>S_3!EfNKYI<&5iT-o4}b`FcCg@3~BR zoIs1X=N+_vvRe5g1`osNo~zI}gojPgVGhBYpo0N7SkQ3}VYOjf8;uaccx@n>LWB?D z$&kMLMFoHIh7Vb!lyQ#L1}cP1snC6uPD8s^&?+4O1i;rz)^@F;cn${{{2X2#7>e?* zbz2l~Pn74mqFO%2nKyc_9IH!b+*th~eI5h$I)0RcD*zn~z$0k?i8(xicE-vYLA&!} z#fDAPK7`USYX4t><>veAV@0#ExRBiZaGw;058*t`(LN*_i)li%X+n&tL$vYziy=$U xF+}UsUvHS)Z)4}^vj2ux09i-;!bkVV<0s>v6SAM=gd+d|002ovPDHLkV1fq8kI4W4 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/186.png b/graphics/battle_anims/sprites/186.png new file mode 100644 index 0000000000000000000000000000000000000000..8fbc31367f27422a274af3111d35591aae2cde85 GIT binary patch literal 599 zcmV-d0;v6oP)&9VuLA4Y7j9&5dTUk|4J$UN-6(JDgR0-c&@>E1$S3f5ynAI&YxTuN1-u5}Z74TlerYm=%D$2heL zJ#f_h(X%X6Cb`9OnSU`6r_<3BB4>V-h`WKj$$|#nne84!!7Wy1HOJg?4*_b}7^#7S zcZl-w!3~TO8~G59fDS`#+o6m(9s>9b&~+c*jXrLz&iH1iaMVUthpp!JNWD-haQ90$ z2D=^K+XVcVsa)iXz)lIWYALjEQ9_!9PWp# z=nbM^{88@>g8krE*v=pTc)d4x2z-tT|Ip{HftbrXQje#A*PGpbMBsHKr`<>w$^5Dv z>dq%|pdSF~L>KA1+ym~*2YDPH1a8{B43lh&4s*W_u7M}Nz9(5g3n{N*tsYdzz#`ln l{j3xz`=hR~Hjc|D&JT#g$i=1X1StRj002ovPDHLkV1oCc3K;+Z literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/187.png b/graphics/battle_anims/sprites/187.png new file mode 100644 index 0000000000000000000000000000000000000000..b0caeb98f3b5e2ef59b842fccb37b3a9e6a15941 GIT binary patch literal 336 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ipS0Mc#2)6uxSA6f8<=%S? zbM|sH&ygsuR)~r+^a9GF0dA$p4?v;Yo-U3d9-VI|`SLXx2()@XVKAFfz}qS3(43z6 zcoOg4PS5=8(>xJY>vQgC-v3rx`T0j+*7N#G7PH6R3)Zwmur~#rGHveNb(#AtFUMZL z9n-j?p0_!~dR|0) znAhr-*CRad-u?`iZJVBP-aF2v9bTs|v!tMnsh6ec($D0q*4C%4iiuxW6)!y1sw{Bn zye`WwLEhIFScN9V`*B^(3DDCkINEe(XA>jqYpyBF+0NO!X{M(t-}_m5Pc60Jsm|HD Q9+1yHUHx3vIVCg!03?Bf2LJ#7 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/188.png b/graphics/battle_anims/sprites/188.png new file mode 100644 index 0000000000000000000000000000000000000000..3b0b6f402c63b7581fc56746fe126e0fafb9578b GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQU(D&A+A9B|Ns9-k6xWJWlK`h z6d)Hr;O4Ul0jg;6ba4!^=-oT{E^mVZPfMp?fck|^4GVw2R}(Wh;jh21V*P#9@(b5? z>I*&8m}nT=s@eVYO`*k#OV6ZFORIaI-FZ}srQ&JCu{jy%|L*#;+&#BU60DH9ST z_sm@&`MGQ7vdD*eADbDcwVXd9&$?fVkGo%5k0;J@&z6d}A0Ixr9DMV*^+nd@CFb(R RzPexsd%F6$taD0e0svqD4xEmdDr5A zyMCgL`*l~=ia=Ws)ob!36J>)p23y-n*(2uzkPxXy1RYikByXXS7egc<4WT6b|~=vi^PR6huK5z-sD_kJ3^e}|@} z1{%ikJPpHmInhWu9*%np;KT8d1Pr9_!D`FV1>jB$f(Li*JdGFk%uWPwaL#+@o@M}! z6}>XjA`QVSw(TG_NInYbs+yh6?$)b@qUD$Kp{!kGK7_WlMJ+jSh1{002ovPDHLk FV1jAp%>w`c literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/191.png b/graphics/battle_anims/sprites/191.png new file mode 100644 index 0000000000000000000000000000000000000000..e1442ff5c1b8de2a5a1f59aa90352a3659198b44 GIT binary patch literal 399 zcmV;A0dW3_P)n95u=R^ zI(blcw6Hq#4=TI8g?J5(jCAWC^WGq?QDWFkA%@E5EzR0sg|kD~B&Fy7utl;HL*4FMR%RfZ!1XhZr1#c#y(TjE6Z~2bqO3 tMMScaj!l@Qb^zd7#ETWL<^nEvR&T?Cy{|Q!-|GMX002ovPDHLkV1m|Brn&$C literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/192.png b/graphics/battle_anims/sprites/192.png new file mode 100644 index 0000000000000000000000000000000000000000..1f76354ab3ae5c36b64cc39988b88134e676f48d GIT binary patch literal 541 zcmV+&0^|Ct3QxNLqHxU#=jprutY>x|&BS(G2X6loix+gMs-ba_9%?n3n7SJhS(1mtP zH0g51pvn56(wrg&fw4QPJcw%hx6)j+(Uk>)K_5FDlLMmWa|_&9#a_D+I0OM{1T+Hy z0-AvzScE{MSb6jT1H}NSdeR_35MoQQUjZ=)Dp644TKSQL%dIGAY@;nyPfQVdm0b$JMcZ7I(l3=LXeFh^-~ z+>j_S#54fpnf`=b5VQyshRnb`N20!8&WqY{;3QM_6&pEU4a}8_q+2pgb fGoTPWguiHCXXIfdxoEv;00000NkvXXu0mjfk$~#N literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/193.png b/graphics/battle_anims/sprites/193.png new file mode 100644 index 0000000000000000000000000000000000000000..f3b6bd2c2349d84ecba9a15e69a321dc4bb6a6b9 GIT binary patch literal 358 zcmV-s0h#`ZP)|IKRuv}*30YTkot&1!1BQfjO@YMcN700000_Gy>&0002- zNklx8-z&C%z(q)+ev2TwgfD1|*Ne1=zHhT(HQh1aF zgA(Pa+|h#lzEN-+cxg{OiDuL#-8+E%cXf<4C~n6kQc;i--vmv4k8sCwd@B_)w2}ZW(U<~A)`{T z1(jDASA%rSMP9X|oqmhLrJvwU_WKK7WSlxy&|g^f1@d!Nb(n-U>Hq)$07*qoM6N<$ Ef-;ex>i_@% literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/194.png b/graphics/battle_anims/sprites/194.png new file mode 100644 index 0000000000000000000000000000000000000000..228013658199cacb74858fb67ec6bf534982eeec GIT binary patch literal 616 zcmV-u0+;=XP)Vw4oKmd4d%eY!&DE@Xi%OidVq$YS?(W|I|Nj6000000g+C+S0005= zNklNfQsTn?^OU;yI>z~uhjIELUQpYzN;YMb}C8(SS5c}JE5?+J5YHMRhb8n7C;uRKBqte;yR zylr$n*qSwB9%B8}GB|DM0M0OI$ST~dyHbS;_0KIGnANb^orhSix|S_^!Wac8?>F7= zGhktu2jg6%c=VF;%jPiyg3O4kDvG8w@fiR^t!(9{L^Od}t8?JiS|w|6+xU7s9`-fd zn{!}^rnDAxDsV(<`rRsPfprOJQihj!poTj>2MTBu7<0<-a-fZzRyIjM4K`FU5tH_E z8aV(ukYqf)qH1KL8L$W%xA7=8MZYHlS%hL4w4?Z%{77=vc}D3m_|#yE6OpS!pZi4} zkP<&hW(-cTYmvRmp7h7H@YMM0000vpti`Oy8qRaw&+x!o#|#ApR&J986ArQae|W^e@No{Wr}fEm QZXic_y85}Sb4q9e0P>kf!vFvP literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/196.png b/graphics/battle_anims/sprites/196.png new file mode 100644 index 0000000000000000000000000000000000000000..c3dee2e0a01b94afe68fccf7504382da3befaff2 GIT binary patch literal 726 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ipS0MfW|Nnbu&+eTwXHHfY zkc%HYcxGS6z`&H~>EamT(K$Did(vtH9_1%Yg*zOa^cmj#eg948=CkOs^tcyW=5Czu zr`wk2`DB*#3hR~UZ2qzaJwN(CcW=$+`o8~_bxP;TTx~3Zc3W9~+g)!me~!%hdDqx3 z2+1ATG1oPySjfKSuTIcmIXec!Y21uIj?S5o#Pru`fy752L;t@n6S)kHf)^_sW6JJx zSkkDFxopWSr*}(Uv^Uj0Nsbh;u$*?m0;qog&FudxV)Ogt>CkMwL$z3`$vQt*tAsZCs=7u+;5`L+hIO=s;1o$aYN= zI}X3K4{iv!sWN<-oSE`t-L-dxVOJ!#Ep2c~xR>yDC;Nfsj7wK0%crd{KBvtvW0Bn2 z{R|C~zvLVG|1eIN^rezj!SBk?vnO2_|46j1(33r2!(^~<>4i(veWDf}Ti82GH-!7` ziHNW-OP5t`O7UMYTgmLHMR@VYtW6PCCki_?P z{{Pqfe^lYyv;Rl8oSo9VBq^xcPywVL0ume^9ARK!Wb$-z4AGdF8@RjghyqUu_bK=M z%ynL!D}(gH{yo^X;BH6%F3DocmrGm~E7-ZCY+e+;lhfRv|j&-iP8ux9uE4w>d zmwnG2VGf7TzezH=%37;*JNOoC^X}r9*b<#>BEGTm>Z2`_qMp3D7U1%1cT}?R=J%5d ziz7LEmKdQt2^3Ss)zsp literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/198.png b/graphics/battle_anims/sprites/198.png new file mode 100644 index 0000000000000000000000000000000000000000..abe613212349fba1618532fb9dd80f1910acd98c GIT binary patch literal 845 zcmV-T1G4;yP)$>8oB#j-0000000000b?NdC0008m zNklyPm7yC6u_qxTrzsG!a|QN{Q$Ls+wO5$_H#sBMk0IJi()=N>9M7-A<}~o zP%_CO&|CE2sinJqsJ@x!pV2LaLZS45$;@xw-+507`PY&u>yPlzj|w>9v-MU5vt$*o z(qUgLR}qWX1E6tqd3hBpUW@A&=Bq#fCl{vq>`L)^C&6L>Y@#vCFN6=pq`1C#d9_rW z&LC_ME1A+2V~a!uJdT%YxythY5@QNzHmqy;yX^Nm{uP}Hty++WyGlLDecKAsjBwFB zx+g|%o2KbMI6}@oTVWK{e}vro3!A*2Pp!I7M7c=G3q@6hXrdc z!L|b|Nu^5Bnm7QsNcg)4JKGjc(%pfOX6wPJ&~g@EK!JaH9>JkBTFAI`8+mVR1sFdV zyG6HcW_b{M7&u`f5gI3VKE_S*P=Nh55;m3_q?|)$SyM0;+(M#@eQk(TY2;hMt;<;0 zKw%XkOD8fo_4tx zqiF^Lk(!6Htm@vTX-fYbk~WBe-Pg<9ws^*O)dSicxn^7M$p^kGCD1cMH|KtSAbp<{m90k3@z29CSPq=jSawj zJqD%IF1vSP$6Ju!w4gnpJ^)RYg?Z!-)Zv2?AI9M) X?rX00000NkvXXu0mjf1^9*x literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/199.png b/graphics/battle_anims/sprites/199.png new file mode 100644 index 0000000000000000000000000000000000000000..9468fddc92316f6460550880fbf7eeeaa3d54136 GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QU(D&A+A9B-qEW^*KFA`WzL-H z=I*4VVlS^GLqniAR&avlmo-qLz|+Ms#G*GjK|$6)asj6V*J4f$u7#W&T0qRXh=Gkw zP*r5X357R8QjcBzTJzuy*a9? zeAPYc&A4T##zB-QGN2(>F*{!DL))o9vzp#u(IdCO#9&PcJ>l0aFCMPEx|(5XbIu{bUtT<4ZeNp&GBx}XqBou4z6(2-5=?W-h zy>L;+YW7xHi6y4jmlTT|m3XNga=AI}hPeGP=bG8|c|}dP4=LGyF1*APY8Fz+{>$f1 z%xul&Vxd-*3oq7uI{LRGZ?!;~N!i(V8D-`dcG;9E{p0AY4ec>M>LACSA1K2M^1P?3 KpUXO@geCw(?1k0< literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/201.png b/graphics/battle_anims/sprites/201.png new file mode 100644 index 0000000000000000000000000000000000000000..4b8cb700cca5459ad4772b60db47cc8d8837d360 GIT binary patch literal 1316 zcmV+<1>5?GP)!-)q}e6vxF9$H80w2`}9q_LeL6p-CXj$2Qn26yhrdw*}MKQXf_*sjVwI z2BmDZ{)~W<1&%W)B%xrXu!n?#>pacvL#q3~>|Dt|q;xRYL)q?&{r&jp=;)rW&y}YA z>m{s|%nHwHCiJp!UzX<~%RS+G5A|)&n*dJ;_XR8QZSgz?T!@!N{ebhHcoJQ4!QB=N z1qc)D2q13&2w;^iyQM(y85el;%lG*ehcR`H5Qh#kVKu)}mhV+Dm9DwNBoyj;`S_D|(-nx7{46q)9oX^(Yi~#VUUVRl+Dt(40KnweE z={K%!<38yszM4KSA_jne%=aTlC;A+xZnP+Lj%GtPl^&jZ^NdeiP?ivYnN{ zz}IcI`mL(~H+~xQxg}Zv>=EhAgK-0o3*4%gxS_Hx%CLk?=hR&y1Rlt9U^?8F=S98E zn*>5ephUb#UZo`UKUq+Ostkd#TM_Vs;H1;M#3}rZK;1nF;=yxf@22S>;erGf!J)8s(2q}Pcf4ZY`grxg3 z2Wnpp@iM6+Q>L^cf7i>;vpmmBOCe@<&{V_S9#q^p`QoPV0JuBVf-JLL_V{FgWCb@l z@0#M**dLncLaAGUlHs;GQNS}_2SZSbN9D+^*(w3kX#xIbbt(z~xxs8vdkouYsSv38 z1@aH_GT0rVK<(_U)d3DIC_8E_!I}KPZN^~-;70|H*CiM`jMaSxmmd^hG#PvX=&wr! zzGQkaK*o3jK{g5Gj%g?bKC(Iu5d}2tUrI?ag*wDD1@TNu7%;XG#vP}5@@5Plk2mDI zc}t--z@u7IN@Hsn}%i95C*%Q4_x z?UR+;(&beO1nkZr6@tN9y7u`vckJ{JOOBO3pIe95Lbh&8@o5!W_OYbHDe+78=P^|G zlh=Y?3jj80>x^aud^YHx6sc2I*O-(}N1)mu+vagdZcmH$-Dx`_bz93i>{PD3N<>R9 z>reIf39wl8LB<;rXIRj&@NqBFBCb!TH?jyg7DPE0YLgv8sKggdbPo5O)Ef*`?M}&< a$-e*(!xIx7ie?-D0000rlB6X;hRvE1SsXy62=Kyb)^i~5u&0Y-h(+()EBpDH3i{PF(uk{@+Dy%kIt_86`1`To{QIB)(^ z>m!$1YmY6o64+ras?==BchPQ24fDq*%`(+r8lvp^i(WYS8uVOwWp?Oh!wd$IUXPVh zzh%NzSFS$iw8lqjccR-0e`W^mN#`UNe6f8mKgE2neC3O~{Jd*_e|_l0zHzEpQgKnn z&(|40o||v_QWas)qi~RkNif1f$x+Gd{XQFg=PU^_Y}S;>;s7c|fPIc#eL&thPZ!4!kIuKDhJ1$%c)lcD%rEUY zV=kc+VXg4%@3Jn9vVx+iTs{>muUP-o^Quw%Rakh+v@BugvrA&CCv&6rA9fDz5Z@8N z)OOIBExIN(#4bYZe{#V22|M#FSBqDeKXu7!RJxS^AgbVk!uAS5CDzq~+7i7H2Q!Xv zxjmM7?DBnI>sgo6htimYmb41Lv~&6_a6VaqDgIW=Co* J%Q~loCIG6i_?P z{{Pqfe^lZB6p8;y0{;y;{xdMl0V;xl(wCq385kG^JzX3_G$y7_aLhVvAmDmDVZ}r< zNrMv?PKPXTeUZzPplAn6aTX<@l zYANFl`v)uXnx|?XI5pex=gah8_VW*LTyKv!QO#VoVu6q!*Kw~;tHPSPWv2@}=1rK& eVZm6Not%?<+WA6lEfWrbg2 z&v>!(TK^o?Y>mB76ZU2an?KM@xWQ?uD&TRVc#7Ja;4L&U7 z;2oRN1#NmdFKEk);$ z3G3aQO-b|8mL1ovhzX0DAHl6~!C^-8nr-V#6wWa(x^Q>~qt!#xpvVU zKE*%NT$Jx-8f$k;$5CO8jS=%^wqKDv!S<-wbJZ1Xe@*|)n*F?@`)DfL QR!}T>y85}Sb4q9e0Cqge9RL6T literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/206.pal b/graphics/battle_anims/sprites/206.pal new file mode 100644 index 000000000..b90e8d645 --- /dev/null +++ b/graphics/battle_anims/sprites/206.pal @@ -0,0 +1,83 @@ +JASC-PAL +0100 +80 +0 0 0 +255 255 255 +255 189 189 +255 123 123 +255 57 57 +255 0 0 +213 0 0 +0 0 0 +197 148 197 +238 246 246 +238 222 180 +246 205 123 +246 189 57 +255 172 0 +213 148 0 +0 0 0 +0 0 0 +238 246 246 +238 246 180 +246 246 123 +246 246 57 +255 246 0 +213 205 0 +0 0 0 +197 148 197 +238 246 246 +189 246 180 +139 246 123 +90 246 57 +41 255 0 +41 213 0 +0 0 0 +0 0 0 +238 246 246 +172 238 230 +115 238 222 +57 230 205 +0 230 197 +0 189 156 +0 0 0 +197 148 197 +238 246 246 +172 205 246 +115 164 246 +57 123 246 +0 82 255 +0 57 205 +0 0 0 +0 0 0 +238 246 246 +222 180 246 +205 123 246 +189 57 246 +172 0 255 +148 0 205 +0 0 0 +197 148 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +238 246 246 +164 222 246 +98 197 246 +82 164 205 +65 139 172 +49 106 139 +0 0 0 +197 148 197 +255 255 255 +230 222 213 +205 189 180 +180 156 139 +164 131 106 +123 98 82 +0 0 0 diff --git a/graphics/battle_anims/sprites/206.png b/graphics/battle_anims/sprites/206.png new file mode 100644 index 0000000000000000000000000000000000000000..d3584f8553176f2720ee62ceff08000ab8080d0d GIT binary patch literal 747 zcmeAS@N?(olHy`uVBq!ia0vp^0t^g{3@pq*mPgI&S|Ifyz$e5NNdE_dy?g&xSO2%P z{LjE}6)42OaCFMici+CfySL@r+3Ih5E&s1!xH<(a!N33#|F-4Zx9V@-EdPIFxOx_$ ze($#}-QTLCzFBJiXV8Qg1XjQ1-Lv9%_bi{CWq5X!VecHc`D@O8D_-)=viciC(0>L? zut8w;Fl)c9Vfa6V0VED|57c@L3h16C_r4_^{T8(3tYh~Y!>n$IdZ4$S-Me~r@0Kld zx|cL(RVRT$foXR0TVOzJ^K@|x@#tJT`Cwm@fq;WLlQ_5iLVE|Mdna%0oxP*#+lKh% z;_ng;Ri+BRUw4fEM*od-KI(cK+oa~COu8;M)eJj*LW^w zJ=Xc7kY~5jLCrw?$A)xA6^2*?yPA}mCP%xOom-f9UYn(`^(EuvJqvi$e=-R#%Gq|1 zC1S1RZ{HtX2hX;fZi*?^{anj0f5kz8H)bN++JNSz1~p6EE;k*#`rW_sm8tPFVZZqf zH7QX}JEUhH*e9;TTC~zmI3l9sPpz8e^3CsARc%Z?)-{@ZUeO)LyUXIMOwRPo>l!EW zwD$Vj9@(%Z!{EivuZ;oepFV%S{ZST+cngrjUp+f46?(S_ zi^GrYZUZ_z9_ny;RXZbH!#lmbo8GUS?4Wz~JCi$i=l=8Co|SytyRczxh zg*WT@*|OhGy=BU^DcbA3H@~5dt`yJPgTEZ^gnjz_Pxv?UDW5OC_q&o>L21C#)z4*} HQ$iB}k2P2o literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/207.png b/graphics/battle_anims/sprites/207.png new file mode 100644 index 0000000000000000000000000000000000000000..0d3450c6ea3e72b9a8229fd7987bd7dd3a4080fa GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoQ!VDx|6+TY^aRPioT!Hle|NoyoyLa{M-o1P0 ztXWb$XG&CcwPR9}p_i9}p`n0;1W*YAR5kFG0(lcXT^vIsrY`OC<~wA-m^R3Hb yn@tyte^z+SpXLAQW%ExT!{;WGS-kr`?monHN>V6KE%Bua$f=&LelF{r5}E*U%xE(J literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/208.png b/graphics/battle_anims/sprites/208.png new file mode 100644 index 0000000000000000000000000000000000000000..61bac622e40ead605fd941f3335a809a03797f69 GIT binary patch literal 815 zcmV+~1JL}5P)wExY`|K{fZ|Ns9000000000000001_od2}6|IN++pskfM0008I zNklveg0cM>dLE0}0O6&@78%2Rv0n8%6ZjoRzu;i4i^6KRh zFa(HofC6AgvL1WE6TL-X<=*n9HAjMg`g9L03Brs9NY&njl0~BCh0a6Mu;{_nP zF$4d#2JGm7M|sb604YGymVha|*!1t!dtQo;#mtvV_#IXPm>3dhb`ea}X1yg&T8t&n ze;Xc6_}JC}5@$AF0Dew@HtBr%8 z#sWB@`+cqgGa9ntNFX2YW2WUhhKXx!2UE7Qn0SL8xvc@T3J;4dEdg+P*w=s%T+ezn z{K}sICVEpii?sk9xppZLMkphnNmE;L|PZ13@r1SmjO0lHqY8N%SG z_dJNFXORLl1YbZ$^wWHc=usZ!`VSZE6x|T>=c3W&Bc(&xQvyE9y$aK^-1XoD<^dfU zFM|x8-mL>LvpGFhWhoi(L%=)?;5JrjONW}AYytE+H`99!5UwBGgrLrw^A&(8fsFGp zptc!yT`U5q09y-8IEVCJI|f@m&Sikn`HDf+)=an!sGa~Z)%EI0s*<{sX{{W+zJVGgNEIj}K002ovPDHLkV1ftZVSoSt literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/209.png b/graphics/battle_anims/sprites/209.png new file mode 100644 index 0000000000000000000000000000000000000000..dea2a60bb260c7d7a783766bc88203fbc3f4f8e2 GIT binary patch literal 620 zcmV-y0+aoTP)upY%AGr*uIN+1Dr zBAU{@Gz0LJBYRFj-ZSk}x{a2LihmZ(Atoi_Ap#e~D%vtW1e7A73ajj}hD*5RHgCcu zZyrJrpW!=4c1{4IdH|&Cp;&ql3;)`aX*UwRIm|DOf{di*$Psa5V;m?53|Mc-;@1^) zh-Adg6d><8n%34SCj+>I4)W22JJ22f7F2x<4o7zzv1V8)%IU1@9Klr<7mR`KIR=AN zE0B0pP%c{3XAqrK{vAOCmaAAnXZx>npiD&moXCD80P$zE&VRvE40^~RzxBqo6MZ;g z#99fmvOse$7PTI=Tt;ZEXs3NCG#I^6nFfP5yY(rgvujXi)as>s1mZRY_7p=3@Xufy zr$}F=GlZI4?-6gl$@2Iq3Iv3g*{r}Et)|<)Tjlv}K{T3P=mnHT1IiD$a)3g?o-U3d95a&>8k)D5aHJKRc_st{v46_D@g>Eal|F*7+Kqca{m$Yu2@hS2+H)7q+MpXEysb6qkWH%-hc|c9qiUxp;Y&pv zl8^m=Okn8$#Xes;&axu&T2Im$At7^nal$el5J#lXPW;OXKR;?enb%Er8A1A(^sj6P8nSplA}Kn4RZV`&5>g{wm4t85bYg?aG<)B7fUcGj5^E&&>s^1m-;&0jF@)w6^sJFOp%lFGAnm+hbU z{Fui59c4@hKHu@2_x{TL{@4Bw4zCmYc`@?4Rq7pyD#^H>z6GIOdNIe>F6z@*e>rE$ zhFN-bm(wovzp%t@)FZ>VlrBUih(oV_b^K zrdgaTsCnh$_l`dX#`FiT*T+Npf6Z}(m odj!tid@=6XVmtY1{X6XUF=p`?r?83@-2ugor>mdKI;Vst0D&0VkN^Mx literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/214.png b/graphics/battle_anims/sprites/214.png new file mode 100644 index 0000000000000000000000000000000000000000..9f6fc8d812c5faa0acb4160a00f3102280830ed9 GIT binary patch literal 534 zcmV+x0_pvUP)mUD|5p$6i2y5jR6-zZUDC8UC}L+bcO}mDRq#M8ZNp;Lejl>zsF=+T#Rx@jq^4{IY|M|& zFS558kV63;RXgPXqQZOy%_v(!En7nsIG|GbSbu_QGrwEF;f;f&X)HOI8f~|^CXM6d z!??h-6*gvpUdP@}7D9Y>+ntje)*H&)SxNK4wPD)*kZk|_$$-bT*|RV@ zkHI`cmOmixz$sJr5C60m_uZObrm;@O{xDCa%F-?S6<4j&Z!%R+_bNHXSpAKC{$!0V zh8L!ZXWu;jrXVcd%pzG_prFQJ!^QeTymqdR11on{l#a*LC2Rj|{_Nclc5kurMrvnW^8hL#$-iP7bFn*VZ=tkX5+9aC@ng>IaS$tXgatmPxrx ztCP&jbD!-$WqNR)YdI^>NT#?r9gh?%mre2;eLb6Iu4Sp5GjV%_vxWTTwg;CzGGZh( tium6B6|>4yVfmG_cYVeWmv@n0FY$8fi87WNNhyN@!qe5yWt~$(695#WhJXM7 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/216.pal b/graphics/battle_anims/sprites/216.pal new file mode 100644 index 000000000..225cf9cf6 --- /dev/null +++ b/graphics/battle_anims/sprites/216.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 238 205 +255 189 164 +255 139 131 +255 90 90 +255 41 57 +213 41 57 +180 41 57 +139 41 57 +106 41 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/217.png b/graphics/battle_anims/sprites/217.png new file mode 100644 index 0000000000000000000000000000000000000000..3583670eb84812800dfde728be95d92273408e56 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU1=9cj|NnOO?6)~{zGY>7 zvvfRaX*k7FGs#lI&=RBt4OB0i_yH*7=jq}Y!Z9;B;Q*VHGxLEh8#}wRnI@!}1(g+Y zG8;~r;uCYHp(jCrSw);_5|i;9-vvD4;wEg`9gLUGv56G&;JY5_^G$tk|C~)~S7+O4h<5jjo zpjvf`;a-MQ8Z-LVNt{{6AR>^qf!#rJ&BBC*pFUl<@S$jfN2Z2Pp#>+~qjFAb5n~pI z&Y+H`tZyC(R9&9fkuGvM-2d{r*?cr;$>{@3PY9;b%%D?GeYn!{}8jIwA>VKK@d*hd?-)|Uw zQrT8N<5fKTOM8p+Bi6N!jqK+?T}%1UZY)&sOuDIGvMBWhhY_Pbn`sW)skNVF50(lA z*l_SxTS{ILn~|Lq|2a~BQEKGT-5b)I%v~x{3!j8zopr0C|*%*8l(j literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/221.png b/graphics/battle_anims/sprites/221.png new file mode 100644 index 0000000000000000000000000000000000000000..f30ca7907739572ec611b67233169554a3e6d94e GIT binary patch literal 521 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QU(D&A+A9B|NsBrj$VB?WzDms z=6i-wSCg`UXpUi4mZ7B=P#P8Z+C_#jFfdN>ba4!^=-qq4(Eqi80K)_3S!R*HxgVUF zkmv8>k?1^Cdt$HZyuC+Wo%nW7A}C~CbcoTG|I>Ew$Wszfey=pYXuf~?X@>oRCnpBS z{AN8aCUlp{WMzDi%B}_p))3yik|DCnRTHi(*=K)2B$Z1$JQltvoyC7a_luEgmRME%0ZtR4MDc|4 z&(8#=)^xk_Pmf)mpJ#Ae^k`|t#K$%3uJBE|#(aSFzS3{z3vKDup({e{s@!AltnANO zk!+JAr;*Km!|@K&)(`U^pW>@jdwH+r&!dAJF;nH@7?h%|8Zsp#+kWVqJEVH?ZP+Z; zu%oqnZn3DpNJaWep62Rz>c^BWDSTMZUNygJ1yewSzopr E0JntG<^TWy literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/222.png b/graphics/battle_anims/sprites/222.png new file mode 100644 index 0000000000000000000000000000000000000000..1205494d4d9c77541c8bf55f3248a3ef5e07cac2 GIT binary patch literal 554 zcmV+_0@eMAP)$>8oB#j-0000000000b?NdC0005C zNkl7xV5C`yMNU@U+@z5agRAsO*Ov%!&bV!ky(xD=3St{X7?hsXYVh;lk z(1)s{6x%TssGVAsztBnd%h>^u4}jwoUjepyJaeEQH)ZC+y@AKLugYDlAqgKs?t<X7N(VkUg(VmbX-~YkVgiTN}_uSWRQ-A zuVzA4?3oa_HR8*hm=*2N(-0gH@aN*62XO@cPoPV}oe@~LXOb?I>c8qxDI`eKVsJO% zz_C=-23`U;H^ipE8!osR!38e4z%~GvCAQYA0cX6hMsh$oUR&Fu43>~*$_|;S=Qzrh z9iZQQ<})>CM?LKO^R9H?0GIrZT)PnLt!Af-eKaur9_r@!_1>%q_JJyTQSc61sCQ87 sk@~$U%}OoJu^NJ{k?;PFOa5g(09Wgd$L(kg#sB~S07*qoM6N<$g0htV1poj5 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/223.png b/graphics/battle_anims/sprites/223.png new file mode 100644 index 0000000000000000000000000000000000000000..5f9dbf83e626d78a8a50dbab9d4255fe3911a80e GIT binary patch literal 524 zcmeAS@N?(olHy`uVBq!ia0vp^3P9Yz!VDy5c$8@ZDT4r?5LY1m|J~7dSLZz2TYYs& z(AjRoHO+=ostv1)4U>uufwE|zL+<$u1_s9Io-U3d9-VKe9?WVn5NK;R6`Y@Z-MN3$ zCCsHaz#UDR*{jZJc!et?Uk|Yio2P)!a(& zojI_y>iwRLrMD|Aj~x2Z(CQ#o#}~?BSNFwTD8ueiT*9-ZfmIXbETtq;_c8jHZ1!5W z?)KiMpt~iX6_taPBom@a{8EBaMcY_c?3&+p=at2wZ>(3<4|4^5-{HyUKb&G7X(}gwjKET9x7IQ@*l4=B3b)5S4FW8&I=TmB{kfi}gD$!02TKUdiwhzm^L zX(hdocX4;i#j{r#J?por1})j~DewE1^VK^QX6QW3H96kPpY)kMY@e{(?n2Kka_bMa z^G~bz@XXSN+n6PC(#k3Y&2P^wS@mh1_vcsr fm#1#zR6E5!?W(3hP3FU&Adh*v`njxgN@xNAbxn0X literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/225.png b/graphics/battle_anims/sprites/225.png new file mode 100644 index 0000000000000000000000000000000000000000..c4efbf2de66def0b2028fc097edf2df2f7a1a914 GIT binary patch literal 408 zcmV;J0cZY+P)&wG*+&WQOy8~shJZo<*7AgwKTdXwk#{L zh02l)%k_-NroC{juZZr1f$0RiBlrVp=%@W0BtO^xhXa)3K&>`TmfUaFJZ&%%IaHHJ zLsvcm?LGp7T`VN7z%d3L)1|^09vma#IXX04#2Wd#*tzu*yl(gYh2{APJTWjlzIo3- z`{=#z9+-@F=RNl;c+owdJo=9C8np3GTntnU{t_Qo@=XU_thxvQ0000eP(?KvsjNi(?4K%;bcG2bP z9`DyLW>_*GdNIdR_{a$$v-nvMTONmULu0jchoN>uW1_al*`NincTO8wO=D|Vlg`V_ adWqqFmVtH3ruj2LuJUyCb6Mw<&;$UW$6ky8 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/227.png b/graphics/battle_anims/sprites/227.png new file mode 100644 index 0000000000000000000000000000000000000000..baa51d106134a9f45f1bbddf78d1966f5ad154d9 GIT binary patch literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ipS0Me4f#cb;cW2K&+p^_q zR@R*V|Nq0ebLO1w)>K%-Aplec0k2NY_zz^w@N{tu@#tK8C6Mc|fdF&hYqqO@^`pHs zw_eZocl^3uzQ@DkSVX_v<2r#GiW6${pB!itWck9h-Hk6t!qFkWAP*#9c!7P6o5F^L zg3Ps!_Dqeuy%HI0cR5(hOp+FezEKv~G3P&XXn?!Iito|NY`0sil-PgQN;)pkT+=I4 z^8GXiQ*L6O!i)FI*_eDj6hGMh^YC<2zWQ70Z=RTyei10N0lC)G)z4*}Q$iB}k!fhi literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/228.png b/graphics/battle_anims/sprites/228.png new file mode 100644 index 0000000000000000000000000000000000000000..e569fea34013255d359ca4ee05f5b8f5d76b374d GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ipS0Md=O4hUHth2>gTavQo z1Z6clW@Q;>MJZ$fr7(fIi+vnWG|bb*F+^ixa>4?^1hY0K_7x2i7b&o;IK;A`#xZaO zL$-#%lp=fS?83{1OOuDG&leN literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/229.png b/graphics/battle_anims/sprites/229.png new file mode 100644 index 0000000000000000000000000000000000000000..be1e038da67e2b9a0f455b11802bee62f838187e GIT binary patch literal 445 zcmV;u0Yd(XP)b>!3`Hpj1`KC0TQn%V#bc)+LW>-uNui}j=qWM^p0aevCJzA&dg)wW zu9Rfia#8|`#m7&IqyU^1)ETvfXaxl`+vxj`>8SIhn3SfWIn7&6rzHTxKT+O5M7#r7 z-U5d*jg@skp!)EvA{*M`^DFhkz-Ns;|6dP?kBaEZIlb4A4t1VBhiN#il&0ZlzKZAV z6Bj@#lTIP`hV2BG^XMDn*29v^dx$s0f?s$3c0=qN?r;@4$d4>|wy=sf<_7{;tl7mifek=z+_+z4yquv#tlzl5#xJd~Uh$wt z-_!z7zV?0F0v?N)$kVv1}Isbr}wCF*b6b*{hB51LS n0G5im@ky{Cm;xCgj|V5`MpYb=geK)dVMv$6y`%i|TeH*kp$pqSVj z5))0XbIsYE$&L_$I}mm*vA!vQ$$ZKG&A`~9{#8M+XYTtXVfi!9zaW75%$;~=6yQ3} zga9nR28ax6=2Yd8z;sIjz6(G_u(_k8LvArua(hew*6I7nH+3imALl^LnF<0)&27b) z{Gxz2#*QceYJieZ^@EVG8^D}VE07Y<0A>l*yo?fd3z#w*1wsN^z$BsC4}*lQf#Hl+ z!6*S57?x1_b5O#@z)*%(7?em;zyOqGZ=NIy_p&HD#3+ex)Sd3f@+U7|5U`4)#pYJ` zuMfL*{)_=0!R8tRkO>5g5+16{0V|6WsG9JP@kQWJCS1`T0pNV2?Qij7=~9m z;xWszHC|)ID*#JYfaq)ybI$RaLWs_q)uEONK2$aD9I8HbiuiTDO`~J^5)V}%! X5&y(YI)DS200000NkvXXu0mjfR^HS{ literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/231.png b/graphics/battle_anims/sprites/231.png new file mode 100644 index 0000000000000000000000000000000000000000..7b3474bb974683226f528787b133811713594edc GIT binary patch literal 391 zcmV;20eJq2P)b;@5Zo4A8D0=SAvy_BUxAYEfVAWV*i=X$VN l25?<4DLeBB;_hsIx-PlDu<^?y+N}Tp002ovPDHLkV1lPqq*(v} literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/232.png b/graphics/battle_anims/sprites/232.png new file mode 100644 index 0000000000000000000000000000000000000000..ebdf118e108d47d7665f8ed00c44c15ad6b8a0cb GIT binary patch literal 1085 zcmV-D1j74?P)g5i5Qcdu5PNP?4Q#Jg1ZZ;qQ`yA-}S33Zsnc)oROUV7|i z3jt(()=bgLU$|LE-06PHzXj*5Cb{i^zmX_SUVGXMax-v-;TXuqnvYi*PSSOQc$<&41U!hR zAc(@}DT#e4s5@-qW1#pi4m2=pYF0vCb-n`O<-W5BG{ z?EfF%tMEGl>RXd;IU)0_7`#1|Yqtc79*l=8uw)Hy9(d@R8vLQy4CH~}Sq*y~xFptG zuyYBjy@?5xEU{KIfY(G&i$=QY<2xt0$T*hu{Fu_c&G`OPZJR5I^QQ#O)VYn!;+&d+ zoF6)whFR&}q~Tx|-rQ4wyw*;+aOzAIQEf%8nBQYc^kARZK_Ety4uomK>cM5_Uz{-h zZPiZsp#DK#Wj*D{nl6pvLw6Mf*eWa4GO5h`qdxuyLF%yh!2qHC00000NkvXXu0mjf DGza|} literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/233.png b/graphics/battle_anims/sprites/233.png new file mode 100644 index 0000000000000000000000000000000000000000..e71e97edab5a14177546db60b4ceab5e9672acd2 GIT binary patch literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRm!VDxC`x5MdltF+`h%1o(4+P(y{eO4%|FbRs z@6GvtulxT|h5u6|{wE3iH{|%wz%U1>2nKG2r27Eb37#&FAsjP9`!@0&P~dQxIpusx zQ=i|Bjg$YrWl9S2=;{B=$MQqej`1J+X`pYdjFpU8Sqk?qH2KjZg*gm@j~ zY;7{$7QN7$pS$(LiQYFm7Hn(Rw13Fev8+9cx8DDTR9WKzopr0GHQN AT>t<8 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/234.png b/graphics/battle_anims/sprites/234.png new file mode 100644 index 0000000000000000000000000000000000000000..e5efece206dc76178c635bf2b82b8ecda923485c GIT binary patch literal 333 zcmeAS@N?(olHy`uVBq!ia0vp^3P9Yz!VDy5c$8@ZDT4r?5LY1m|NsAc@1E^_c6G_U zz0FtGWSyN8wWK+yIm1NdRL_wlnfM-t~GMJQOJlt5W*-Z@H2YD!yS8)S=R*v6+EwE`lTLr U`5I5aO^}~GUHx3vIVCg!08hAwssI20 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/235.png b/graphics/battle_anims/sprites/235.png new file mode 100644 index 0000000000000000000000000000000000000000..1bbd9c02792712115776fb37224ac5555c4e4f81 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^96&6=!VDx$zb{k zTjn&+>CWl~3gQ9=y*WHUIX_Pq#}JO0$q5C8i3tf|Mw|%+LLp_X0_VJrt>e)U;W{`| RYmN=bR!>(ymvv4FO#t{rHKPCk literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/236.pal b/graphics/battle_anims/sprites/236.pal new file mode 100644 index 000000000..0b587a87c --- /dev/null +++ b/graphics/battle_anims/sprites/236.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +139 222 255 +65 148 255 +0 74 255 +0 57 205 +0 49 156 +0 41 106 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/237.pal b/graphics/battle_anims/sprites/237.pal new file mode 100644 index 000000000..3eddc5612 --- /dev/null +++ b/graphics/battle_anims/sprites/237.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 172 74 +255 90 41 +255 8 8 +213 8 8 +172 8 8 +139 8 8 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/238.png b/graphics/battle_anims/sprites/238.png new file mode 100644 index 0000000000000000000000000000000000000000..1c9565881b61da985a1fee6e384a20de29162587 GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV!VDzu-cxxDqznRlLR^9Le;|1F?El%T|JUsO z-@W92@sz7c)mx&Hy1l%z91VdAkb!*Uv8Ok!GxTXZ~u?sDG%FDCnp=^Ptn!v$3 r3@Q;?4r)yt*9!y~Q#Q7kH;6Ja)YtMma>_)9gDm!R^>bP0l+XkKRINZ3 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/239.png b/graphics/battle_anims/sprites/239.png new file mode 100644 index 0000000000000000000000000000000000000000..b2c2d72ceea4c588cd9da6758cfd03bfc0e0ba68 GIT binary patch literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoQ!VDx|6+TY^aRPioT!Hj|5IFn)|C0aztN;HG z`u|_^|51hiQzZT;3H&$Y_|L#F2dD@JN?(5B2eOZNx;TbNOzrj8Bjq}&TESrQrTFW zavyUk<+nCis6YF1$Hr24?rc1to_0Mry1A3t5t+9tR({WOO;hVi^7~`1oFFzc~kA?<-PBV;7c=)jR_Oo$ literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/241.png b/graphics/battle_anims/sprites/241.png new file mode 100644 index 0000000000000000000000000000000000000000..21218ceb6dce9ad5fa122f921948ee8cada620dd GIT binary patch literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^0zmA*!VDxI2ESSgqznRlLR^9L|NsBb{=YZp|K6$OE(@k+bDUa?QYVZ23Z#ohr8^C4JR928IzhPC|&97 za^hLRvqL1t(8v0aLzg2{&q9W!H(3-)CM}Q%Q3(v-J(SR*nbwr4q;BHDlEW9!rhLa% hDS*wJsVyssk>RKTZ_oLsPuW2(_H^}gS?83{1ORw4Pe1?w literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/242.png b/graphics/battle_anims/sprites/242.png new file mode 100644 index 0000000000000000000000000000000000000000..414225c8f6cc518143d617b5ec02c263d583e10b GIT binary patch literal 339 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ipS0MfW|Nn2#-o3l}?Ag(K z_qJTUy5#KHDMz$-7}ak*t2)@s)7nRCyS7I zXEt}!b&6-+JoW|9$i^=m0iMb?Y+YX3Zzsx4>9~a&-27=hMNh<08dvxmvv4FO#rFEIz9jZ literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/244.png b/graphics/battle_anims/sprites/244.png new file mode 100644 index 0000000000000000000000000000000000000000..09e0c0d6866d39ef4e6fe5f83391bade9810e431 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQU(D&A+A9B?Eh~|o*k_|J0)sM zQq+{BsOqGsq$Hp?RuH{g=`>Ix*VDx@#G*GjL4vh}MUO?L;FR-Hmk*NfP8>L()8Nmz zm@$!6r|pLbhqZx$1^1(A;wFqjYmPNpOyS^?VsCgMkiI~O$J9YFSvZ_yw&)6$C2Xt` z%uAUcoQiaIj_C<(=+4eym^E{u2E+X8Zj5FO413swc3;RoIS1q-Pgg&ebxsLQ0N71H AYybcN literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/245.png b/graphics/battle_anims/sprites/245.png new file mode 100644 index 0000000000000000000000000000000000000000..39618d3946a42eb269175bdce6253380427406f8 GIT binary patch literal 329 zcmeAS@N?(olHy`uVBq!ia0vp^3P7B|!VDz)cyd<*DT4r?5LY1m|NsAY_r5(l`t9D5 zZ&$m&oz41oH0awJud{O;mo!^e7aIm885#nWLBO>98JB^qE1oWnAr`%FuWaNyq#(eS zp!Txrqic@Ghf)KT@Z)|DZg^JYWU@c~=lv$((Utnw(_cHzW=`G~q8uz<(Z)1;p#o#X zyfftwfKUskL#q^g>@rtM6N({n=r$Oe3i5JYASZi&E9 zXBh+vBta|yHL`C!ve1(_g^t;`Ho$~7dLj!*#487M((6E?Aql|J%R8V>iHD_TNi+D5 zRa~(WROYm}Y_JCO`gZpUH6{GPL+A#k`xFph$`nfUgq^> z&-3+2G%GCd*y znL^eagFg&#{*4LYD&7He3Qhk2wWh_M%7Gk_mo0b^f{5x~;Nmu?*r#b$0f~UyEB4!@<`^#r@T3FPMLsD5Y7sJ3He6iD zF={!=zv|>NFe(x1{J_nYwq6Aems~{Z)i#NNTux(5y&QX- oiEtC)E4}3JzS!={yZ_hv1G*0QWjgiKbN~PV07*qoM6N<$f)$im>Hq)$ literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/247.png b/graphics/battle_anims/sprites/247.png new file mode 100644 index 0000000000000000000000000000000000000000..858d4640dbbde73986d2f1345b1d0aff04858adf GIT binary patch literal 441 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QU(D&A+A9BKM*{7_W$bH|9iLm zUo+?4l;*w7#Y?iHnxnk3yexqVkU_z!^ivEBj4qxojv*GkTQ52KA2N_&dvNT)vG*0L z&wP$jKE71s&cz-Ni%ByD`&c-ta#~*0ZHv9_82;#>%YN_c>F=-W-}E|BA6lP0ZC=(w zk26O5?3sOB<}BnF_LTK-I;AFb(20NhuSoYKjp^=bO1cwvcFSZ~Z_81dl6zi2^n}ue zNqTQ4_?RceT@X=bb}|py(cH#vQG6jq$K$FXztZFc zz9mx*9bD2Vk!xuFbniO<9?6I;^K$~ibz0vRgw~(i)4+RD+|?@d`jhq9qHmU$+`Rd{ zEqp=_(+%6!4-$twST~%mXTK<#P{ZT!YlE8kiOP3-@73fK@B5#9GEi z-8gme3)g*kcJiw;pJM0vd8OH-;nPm`Um;r7^}DWwC%!$*X~Q6Rz|pII)xL`Aov#== d@7L|oz5gpG%5hSv!Xr@ldb;|#taD0e0svjix*Grh literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/248.png b/graphics/battle_anims/sprites/248.png new file mode 100644 index 0000000000000000000000000000000000000000..5a3fb393fcda383004fd07a4f314f5445f99416d GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^93afX3?$7I7w-U41_3@Hu0Z;m1jAJcj=d5Rb0if0 z|DOUB!2{->JD3cVmhg0O4B?oWoZ!H4jX^_wMtZvXxvX76l#`&7kw+|ZIVjIKU9b#-QxRpwuVWz`@ot^1`UGD4S6n~UOf1syQk;TIK#|ps&oBvKtTpj93SDA7pr}rH471rjEP`cK^(3zR>$9((o4Cl8qY jE)|-Hn@A?K-dSVso2C{Tb^H`ND6lJYKSba3fa?KQm zDMx`KcmO}=6Ct3qo2QFo2*=Fi1P7*t3j=N)Wj&KrYG!7}$zbHv(>tX%wy`H6SyeST zctX#_MH7qy`mRQL1_W?UWt`fi?UvCl&9R*+QImy%q5G78DUZY5tso0MUHx3vIVCg! E0B8g+_5c6? literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/252.png b/graphics/battle_anims/sprites/252.png new file mode 100644 index 0000000000000000000000000000000000000000..2ed8eee4aa6ffa64d6f1d15c4379acaace602a6f GIT binary patch literal 323 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ipS0Mc#2%cU2e|F3NE#3d; zWc~lY2~-0I`zPu)*%YB* ztLpFA>>QV3RLK#x)+XcaI^CL01%XU+ZtaQTkNoc7WVLmhl!A+o%P~7?79pjxc`XqQ zH*?$*ZtiEEt@-6*+{Rz^s*`&J5AB(Ai0E+PfW+9<^ItPY`@7t`l9I#^@}{S& KpUXO@geCx#afrMC literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/253.png b/graphics/battle_anims/sprites/253.png new file mode 100644 index 0000000000000000000000000000000000000000..22f08ddefe0cb57713a36932c3b961479b539528 GIT binary patch literal 467 zcmV;^0WAKBP)*tJ7yxPj0000000000e^c(i0004A zNklIEC)k52JVED-rE0*{ z%2Eb4iwEACz24uxQ1NUzpXX~jm!Kk`ErO&D#c^h6kJAyWY0sC)&L+O~shaR3=qUJ* zw`ZSsk{aF=w0uATbn!UAc<0QSEoZXAYB#=U&06V433i(DYbo|3OYcR57R4LrB0w#WF6}<<)W}@}ns`+V9$^S(DFrr9 zT;tt)$?c%}z!ZJb(LZ?PpNZO>i-V!Q6hMA~Kv=v$(^U)@$3v&`VA%@D{h&5MPrm$P z#Y4aqHkvaiRmE>*4F9I^7mXeL!y`zazam`m4^K^x{8L?g_AgzsYkwxEoGJhS002ov JPDHLkV1k3*)!qOA literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/254.png b/graphics/battle_anims/sprites/254.png new file mode 100644 index 0000000000000000000000000000000000000000..1aa77e17ffa7fa299468b989136bc0fdd236c91c GIT binary patch literal 334 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ipS0MfW|NnRQ?%mtF_w156 zdz-7*WF^gs3hMT9thO{P*3?XrkO<=7@B*p>105-&SRmu3r;B5V#>C!<)%G7+H+)$jLh+?O`3%=(m&SpZHV6e@4${7-hw%M zUpTjHl)IoL9oXT;^(T5sNY`Xdx%ei}iPGL0iPFL!M3ScYvu3o;h&L7H^5Jsnd?kG9 z)a+fko}C_!nk!1R_*nOA#7^>xNxZ7kDYP@&>G3 zXJzs4l$*_lyV-NUuBce_ufv_?UPfIl-|@%iSz}$j)ufjN<~%jIouB%R`CB9N&Tosi QiGm#D>FVdQ&MBb@0H7l}-v9sr literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/256.png b/graphics/battle_anims/sprites/256.png new file mode 100644 index 0000000000000000000000000000000000000000..7043d824bdd27fc56f825076dcc2d3bcd2e3db81 GIT binary patch literal 686 zcmV;f0#W^mP)$>8oB#j-0000000000b?NdC0006x zNklXhk4Y38>^qat2)nF4n{yATZiy87@OR#2xTB8OKKhS^yf0>D`(Fh#-y7x_|8i0LCD=CxPw<-d;iJZWI9~5Q#wdS6(;3hwiL%BIwdNap*lj z)_Vacp0h{79ng&qzZ2=0BlfodA~2)XQv~FT+Zi+tBLF0fpdB57?#7HJ1di{riDX>2 z5mW#mVJ`wF5w^gsmI;WN1P;${Csay+2P9EI`v6iknhS3P>QIRAfCK`Lf*hcgz2j&9 z#3gncyn)BUo>?zg#$^d4yK)gg1-`t{_m8YN7x@Nl?!!3II6Hb_}%y0V3qD;eCiH0r?dZApP09LV~bH6es}2 zz6ye7R>Wn2oO)G_s?G#;h&BT#3sm?*8l~t&px&R@nV?Sn>P*nQ!4tuEoeBP^FTGc7 UWY8HUZ~y=R07*qoM6N<$f_;u0K>z>% literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/257.png b/graphics/battle_anims/sprites/257.png new file mode 100644 index 0000000000000000000000000000000000000000..d3fba6c4ff4c7623bdf8602a3bb428ed89331e09 GIT binary patch literal 317 zcmeAS@N?(olHy`uVBq!ia0vp^0ze$V!VDxIwZ5yP0w>BR3Nwd$nF8zC~?%L8%0Wu*n$DL3A zXT5m0Rrc@R-uJi8hCLHW3ktj=lN(d|JwCpcS@O8vyN_0D%0b@rboFyt=akR{0Etq1 AiU0rr literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/258.png b/graphics/battle_anims/sprites/258.png new file mode 100644 index 0000000000000000000000000000000000000000..bf50cc099a2de7ed66908b1ea31ef68d1a1b0a3f GIT binary patch literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ipS0MfW|Np&buQt!w;+WOV zVVMOKxp(yJ-X%-sbT?NQM9(uYshFJ7oozz%(Sb@it^(+HhIz#j)22*=x6~AxuS2koVe}13! zP~r2(i7)F_I&1!PUA})=p=f7!3-cMJFqcn^(-t;vkUg-C!^hk5fVj}Be|6prM_<|h zj$}SHhqw8iWqO8J*Pg#oUH%~tdv0HOdo)+dn|a%@rOPAbl2^txuMO|t$#koMsh@9^ zTb4qoEc>=yQT;h)8<L4_IlOxE7q*kdJ+BZXM literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/261.png b/graphics/battle_anims/sprites/261.png new file mode 100644 index 0000000000000000000000000000000000000000..12f0b17443ce42478e1daefa9a5cc63f09c71a48 GIT binary patch literal 378 zcmV-=0fqjFP)k=TZ{9f>xlE($j;QQNJ@z z=Uu_Jm5jLRX}nyT6jG3CCArTYKVO{#I)VVYSOLj~_ruM(6B2>#%y| zAf@C9sO`KsAw0;AK&c6){{2(z)lwRVO`m4n-7kGc((%OX$Ak{ Y7w~2=MhALV~EDYsTU2o8VqgtbPT$*G@&X_8|MPk(9NV+xZ%a_=Zt?gHS}$r^4ODpdJnlH+ z-dxbbp|eDh>5EKild8EcM_#lZE7OIYmQNDqdh7V|{d>YN;oPj^4~o+)XV~SK99rtc m@l8#O!J{$L)86g7eI>(LW90|mde69lT;}QO=d#Wzp$P!|0$kky literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/263.png b/graphics/battle_anims/sprites/263.png new file mode 100644 index 0000000000000000000000000000000000000000..53148056cdb1ff40c17b06b4be31595d0f5370a9 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU1=9cj|3CZe|D3b`v$p)V zobw+jf(I~t4Z8`HHuQ9H4B?oWoS?vGAmt!==uiNovm1VmC25<<*`5(JFQ!cqjx%*vIR;TdAc};aLi0jIKb=V%&fo@mVPyWL;Hw_pwfv~Icqey#CQzN#6);p ig&J2jzHXZB%)-EMu9efzK+jtoWVolRpUXO@geCy=5G3*d literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/267.pal b/graphics/battle_anims/sprites/267.pal new file mode 100644 index 000000000..1973e6f45 --- /dev/null +++ b/graphics/battle_anims/sprites/267.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +246 255 246 +222 238 230 +197 230 213 +172 213 197 +156 205 189 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/268.pal b/graphics/battle_anims/sprites/268.pal new file mode 100644 index 000000000..d40d72f69 --- /dev/null +++ b/graphics/battle_anims/sprites/268.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +197 246 246 +148 180 246 +98 123 246 +49 65 246 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/269.png b/graphics/battle_anims/sprites/269.png new file mode 100644 index 0000000000000000000000000000000000000000..d699f4c48e1e98e8f4abfceba3438aef102c9403 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3#g5Bk4m&HtpNvyP5) zEWQ5!{}0sU@PyL{NZEP1IEHY{Oinn!U7_#rGCEt|;YH}`13LFY9X>D~xxp&JXk7L_ zs#^Tejau?@>+W2o9&?E*=S3j3^P61659ecYc5P>y zyL!rA3E^;c`~B<-Gu_pNd-Hewe)>T6A!E(xL~s%Xt#d@YtNbAr`U5U4Qk8qlc$Vj9Ktu j_tBiW53ilMeg6Wte2-*-ldQ~BkpDbg{an^LB{Ts5ctU#r literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/271.png b/graphics/battle_anims/sprites/271.png new file mode 100644 index 0000000000000000000000000000000000000000..d77ca06827bd129d79a1deccdd73d6791c9956f4 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!9fZ~wnty?1u+(IrdP zRCiB_0*c@PRVO`lfzsxlE{-7*QEVFLlS1aFVB zXEsh!Uj-`|I%Z0Gd<#4Ajzj3vOx+TN>AhF;yK|Ra`jN-MR3-Uef4_c^kmA4lCErWx zwq7*ZvGS`hXP!Av#S1p66ZbAzYaC{H_(Hg)VIre2yO!F2#tn6KiJq055Ayaf6rA0= zMd!vk)~xCu#R}}tUY9k?UT+jX+~Dr~-!X(`9Qv6DfOnixO*X6L?G=Rr?|*(-nx8XUe?nBkE-o!oA=ieG9F;DH zl>zFf9N0=1@uUQ(<~0hte3Ucdkp08f^S-g3SBB-B@&h{t9VVUz*M?pmo#y@&<@-+# x`2DlzIi_#K(D+C02}7@f0~d=&^XGl+)(kd$)7DRv*7XOu($m$?Wt~$(69BVgUjG09 literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/275.png b/graphics/battle_anims/sprites/275.png new file mode 100644 index 0000000000000000000000000000000000000000..b1b7b6644e122e74684af01a015d6a4e39209229 GIT binary patch literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ipS0Mc#2(CW+zvk@!?k)e5 z=KOc;zUSDy*RgtzV|BG-ag<}0rDGOQ83g?A`=tkDWq7(chIn))CrGd^X5gOD$z~vO z=7j^}+!felYrGzGFQ=3?t)N)~BY*%0vUc}`FhlcS@f!b+uvyyi(ltGL`_*bam& zkZeq0@M%@{V_u*Y(Bok0;29{egy|&5IXA}~hP%p(8RQul-iV$~s646_39{YO)z4*} HQ$iB}P$EhB literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/276.png b/graphics/battle_anims/sprites/276.png new file mode 100644 index 0000000000000000000000000000000000000000..21d51a22b9f0f9ecb61754307a18bcc4e53ef875 GIT binary patch literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ipS0Mc#2(CW+zvk@!?k)e5 z=KOc;zUSDy*RgtzV|BG-ag<}0rDGOQ83g?A`=tkDHF&x>hIn+oy|j_HK|!E3@r4Gj zutWmWInEYFpNJD}d$(?Rr0?hJQ}edA^5|X3&+c<&pXD)MNY}_<*wxdRUCFbHA%lgB zapD5jNbaNyO&{1I7+si3x)n}K9C_Y&hvC87)8Y=P4Am=Kd9!4jT@DCu;5-n?ctDNe hnD7RcGcFI#tFo7L%GOU1%3BI@m8Ywp%Q~loCIDJkS}y$>8oB#j-0000000000b?NdC0006v zNkl(VT3`L>wq(lwF@l3;T3}`$$cJ$e`3lAThY|1e9HhPObASA7Ge?0v8 z=OY*pE&+1>xrp!yz^|zpuCHeBiv+c(hTqi(4RnlKX1fZ0DxUY$i1)f z1QbB&le-72oIsr(wOPdQEHn5;(J^J0zg-QMTuxBb!z_!Fb$OvE9M`- z{8GIDb}bD^185{QoIp-(F42Iz1=J!nE3q43$GibBgn6(l0kcpE0}%H`J-|g?))~)J z;|o|$0AOi%Jinjg@&vrZJb{hu1fU*?pC+Xf;8_hopEMA!Wmx}Fm3Ew_(g1C2`U6l_HLy+MOd^}$`1IHT zI7uqNlqU`xpEk*MnRr06c6T@@vWF=+$qrox0no=;%W4e-lW50mwO9G4MH*2+6b=#E z*MO*g0Pyk;7d8RiX4?caCmsnnMWKP<5DT*DAHuGB@A`-9!1WeoJHh((_4o#^zq(=h ShY#rh0000UbYWdA-8vr`-8@Jpu=o{|mgkm+$eK+pm8sZ0BFFHe$j1?d8_VJkzbS->%D= z-S%u}@%hE6moGTak&f$K(xuQ5y~=^fZQ%w5jjS~%mNPPcTJ7@JV%hXn*(Ha*OlAr? z&h@liL|~W5`g6Zc*e^uwXP%(VA%doE~sSRA^N3-r`GDIQ~R|e3}=eDw&-Sc-*=fP zxhL()oSxk4p+DIBm+L97_IY?RT}(14;9%@Wm7+4?Dto@$!8g+07|mUlc~>b>@~iFi uW~sYzWeJU6@2=%5iU_|M)&6n0-z)wP7t9uDrcGP|3Rh28KbLh*2~7aNA)*NY literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/279.png b/graphics/battle_anims/sprites/279.png new file mode 100644 index 0000000000000000000000000000000000000000..46933b76efd0350159fcd8db7b48abccc32eb711 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^96+qW!VDx0dzbYADT4r?5Z9v&4F8WZ{GY<`KZ)VL zA;VcihB<}|S%yGq?4VHHBp4{;?CIhd!Z9;B!GVd%;mis?6_LY@EWwP-Wd~T4T9_JI zG(6@CdB|GxZ524$RWa2-qmiR1!Bn-01)78&q Iol`;+04)J6=Kufz literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/280.png b/graphics/battle_anims/sprites/280.png new file mode 100644 index 0000000000000000000000000000000000000000..ce7f086fd2ed3a059694403447cc98682e881a90 GIT binary patch literal 601 zcmV-f0;c_mP)-b2*DzIciEdN;v=k00000000000000000000)qY990005x zNklI;_p|MEZLG_>D5E-%zM`N zQ;Oo>&S7z`s_VAxujBMsEL;MNXg`kAw7|^}oWRSS+*4FRtbAiBS7F-jetGIb|LB*0VU>RBiT`Em|ziHn`kRVm2OnaZ?H=z8+e zQ3fjvZj~w0>?rThv3?wE38*mC4z&1_GQ4rhDm2ViD2Bp5UQIL7U_+GtgXx8ui5))3 zLUod)?iM?PAwCv~i)7q_C5J;(n&*H=S9i)GU>y7)jPEqdOc?(9>G6FiwI%p+qJc}6 zzE)sqraf0+StW!G1-=MlO@Vdmul!mwo;bAKbm?&|Z*w?mO!5M5A*~UAgT2YW68vA@s z|2xto;s%Kf_7JzX*qTY8$E4JaCCH}bUR?~MY6D?!$CbTx9KvY2Ih*|e?czBd>pscp)lXO|&59NTY%N{dY>Q=CezM3iD?~-=4OtV&f^%MXKGWlGqmc-Kt&kQDMTb_Gn=uAg;Z@8zyi gBftKLX#ATP`3)Nj4;Rj4G6030r>mdKI;Vst0K7Y;V*mgE literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/282.png b/graphics/battle_anims/sprites/282.png new file mode 100644 index 0000000000000000000000000000000000000000..d89aab1ade845103dec64ea43910cc3f179ed13e GIT binary patch literal 401 zcmV;C0dD?@P)h%J|HUBxloo2{Hoi=0A?N7Q$0^lPmmA4Hu`Ly{3d3mkzDSPV z(=`2MU1EGGJ(8G8HS{epsum3{6}-*_$9ve-jX7)I1oWTlO7vEGAW8RxN~wm{LZn(W zxHjv zR@NLx$7Y})E}*vX{0*SoIZqeI5RHkg6CL?l6nI>BGkmXLel_R7qcyyXtA*P4YQL{< z(G+C~yL{xy_vl&E;~RFDH0-nUzW;jWxqAz)b^MX_7K`bscvz4&vCc35#SzE+fZN-; zc8Ie*6^vhf&i?^Zzp}MXk*0~5p!S;WZR!Q<+XRy}BmNvJ=-*?^)w`)|PjAaH6RxH1 z;zClFH8Km6nlB1nOXj%6nkAN8ws1kE^0RZpH_cV}C>nW1d* v3!&F77nYnh?R)>cm~in0NI zFn`R-P4mxNO6T*!Ie!WwK!3Wy9pHMlg-`(U4CD&uHO@eyodW?wwcbvfT+bOfWprPJ zur$7c{6oKHjiojnq8uZ>MfuDlw+(Q2U*TT1E{Di#Yj+RI(hby&zMLQW1=Q{il=H)l z|A6^~<$3HQkfGe+r8-ra4!4q-;>|p~n9PmoG*6xIvOF86E1qPK-%8cUzx-Li= zB!&V6h87K?87ILR{M-e^fP+ELz~GG9M=y{7deIAu6O9+p24jZ4fSR2^Y(p@EFA;{R zfYd|=eUl29+Y%y7I+<~%#~PGUQc4<)Qx}q*3rISo-vtby5GAw){7S~A401ge(&PE_ z75sQSlW{p0fj)`H)6;nvP<9$gk-*c7M&qk0aP$0=^K!QfY(#F&48?YPZ!4!jfu$#5)v02BU+SsV<+kI z#ui3#P4R0uxue5^;iQPg{KkWUM_Laaq2t0rVFrf7Jpz|be%JtZ Nho`Hb%Q~loCIE6LOa}k} literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/sprites/286.pal b/graphics/battle_anims/sprites/286.pal new file mode 100644 index 000000000..a2703b853 --- /dev/null +++ b/graphics/battle_anims/sprites/286.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +230 238 255 +205 230 255 +180 222 255 +156 205 255 +131 197 255 +106 189 255 +90 164 230 +82 148 213 +74 123 189 +65 106 172 +57 90 156 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/287.pal b/graphics/battle_anims/sprites/287.pal new file mode 100644 index 000000000..631948567 --- /dev/null +++ b/graphics/battle_anims/sprites/287.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 197 197 +255 255 255 +222 246 230 +189 246 205 +156 246 180 +123 238 156 +90 238 131 +57 238 115 +57 238 115 +65 205 90 +74 180 74 +82 148 57 +90 123 41 +106 98 24 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/effect.pal b/graphics/battle_anims/sprites/effect.pal new file mode 100644 index 000000000..3dcf4cff6 --- /dev/null +++ b/graphics/battle_anims/sprites/effect.pal @@ -0,0 +1,27 @@ +JASC-PAL +0100 +24 +230 205 8 +230 172 41 +222 148 65 +222 115 90 +213 82 123 +213 57 148 +205 24 172 +205 0 205 +205 0 189 +205 0 164 +205 0 131 +205 0 106 +213 0 82 +213 0 49 +213 0 24 +222 0 0 +222 8 0 +222 41 0 +222 74 0 +222 98 0 +230 131 0 +230 156 0 +230 189 0 +238 222 0 diff --git a/graphics/battle_anims/sprites/substitute.bin b/graphics/battle_anims/sprites/substitute.bin new file mode 100644 index 0000000000000000000000000000000000000000..d30c07d4ef1f4e153b5af07e41aa7135451b85d4 GIT binary patch literal 2048 zcmeH_zfQw25XNtTBxCyquyuun2Pmval`ahr;A=9XO1Wg~ViLA6B$nS3G4nYhRfkSU z{26l6&wuV5JKtv$%`rRhBMuy}Yk(-mzycFfW?tG%WJsAgKnYPd07>Y{3_ud*^(FKB zBeVG!zdzF`a_i_!;rCMq92v+@$dF0{LE|y(mTk4=N>lDtQm#c%GhcPfwyn5-Q#Q3T z(j)?(9`;1{poLb2R}P1u8>7=3&@@KzJMg@&=C0=zt~N; zf)tcbKpnzE7j@o;H4gJrpt(`^+G5YK-mGq-<~p#a_SVuJ$Kf!3yzJl$^uNxxJ2SgN)TzTp{s)GAA)JHYT!^pvfewC0IDVf8S|`=gf8y)dCTa&U zSAR40ZndJ2=^=OLoA()o%#_1`4A_42z+6CEiipNci+pMXg+$DhGI+@IY52?nkx&Gy z-6iavBUz>>wFG8sJ`0W(N|k_n<{ordFWb1%PVx(lAbK9i+lL0K8PEv$(JV z#Lfk}H;C)Funzf(&0E(W7?5o;8<=2o83YQkEJ|(r@CJIN?kRNB;zMg&lWH!UQlXbu oCbk~GlWeRz{4K+uty4#cAAwY9)xOno0000007*qoM6N<$g7Cn`SpWb4 literal 0 HcmV?d00001 diff --git a/graphics/battle_interface/healthbox_safari.png b/graphics/battle_interface/healthbox_safari.png new file mode 100644 index 0000000000000000000000000000000000000000..e48f380a4b5e4e28d64621998a934b7b201c5277 GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^4nW+%!VDxm*B36sI=MdWOTm`ttpox|0RT_NRXoT?ZrxidnW z85#cdd%bq$SQWG^P4k4G)sZ~S6;Z2gA95smH&rkS@GSh+@`B@cyFiM`{K+S_b8XjY r;QznpbIUP7m!m6wYBDg?o#PHRh+Fk3^6x{S`x!i4{an^LB{Ts5fh~Dd literal 0 HcmV?d00001 diff --git a/graphics/unused/goosuto.bin b/graphics/unused/goosuto.bin new file mode 100644 index 0000000000000000000000000000000000000000..8e53291572a59f1563c124bca9fa6e2e8f1f763f GIT binary patch literal 2048 zcmeH_*ABuk3`I-X>xsRjBeBZ*|KCGV2&vnQ3IR`TAL`iG$2Un6l8SHY(KT{;r7>%% zZ_=Vohb}$(3>Y$Eoa+p^P{avSX3SZzWW|~dTXygMIDOB7BPY&eT)1-M&g0dedg*cx za%CN-gy>eMBOgUo&Dj-W!^qc7uFAJOvrJMMsgtYN97BxXMVJ)6X;-iG8M+JYQR*$x zm$wQVncbSNt+*q}uG-~h#jE!+k{#E~1pIPDR?cVb0nBEkT3b6@F zV)8S2^414EeqqTG@Yv+8aqR*A^@qQ`bm40FGu43Yk6OdR7Rd+dD~=jzG08CH@%xK^ z6-daLy7>k3sT*e)U-7Xfur=7eFj{TEcttoe{qW>ju}nv&ZupYLw<2^$oG)X}q-!1w zuVzFu+|H5e*v=ttFSKoP_je7C$MzeAzrFnJuzL!7!ycX=Ob<3K&nS@lnF#Wkr>mdK II;Vst08svF%m4rY literal 0 HcmV?d00001 diff --git a/graphics/unused/shadow.png b/graphics/unused/shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..7d090ad3dfd69d0912b058c9caa0f9acbd6c0e75 GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!VDx^^%AmxltF+`h%1nO_wL>Q|NnsuVt{Jz z=9@rurk*a2Are!Q6BPIjxHK6X73SzK;drF2sm1B=bm{{KhJ|vTEHl?H>F{N6=5AX! e<64qcj|&3>9~ZCp*L2Y`kVT%ZelF{r5}E*1tR)rz literal 0 HcmV?d00001 From ad02552fbe3968da26220f3523fc92b83404ab1a Mon Sep 17 00:00:00 2001 From: paul Date: Sat, 13 Oct 2018 20:30:58 +0200 Subject: [PATCH 049/222] replace more baserom, fix graphics_file_rules.mk for C2EA50, replace labels for battle_anims --- asm/battle_anim_80A22E8.s | 84 +- asm/battle_anim_80DE2C0.s | 36 +- asm/battle_anim_80EEC0C.s | 12 +- asm/battle_gfx_sfx_util.s | 12 +- data/graphics.s | 780 ++++++++++++++++-- ...{unknown_C2EA50.bin => unknown_D2EC24.bin} | Bin ...{unknown_C2EA50.png => unknown_D2EC24.png} | Bin graphics/misc/confetti.png | Bin 0 -> 355 bytes graphics_file_rules.mk | 2 +- 9 files changed, 792 insertions(+), 134 deletions(-) rename graphics/battle_anims/masks/{unknown_C2EA50.bin => unknown_D2EC24.bin} (100%) rename graphics/battle_anims/masks/{unknown_C2EA50.png => unknown_D2EC24.png} (100%) create mode 100644 graphics/misc/confetti.png diff --git a/asm/battle_anim_80A22E8.s b/asm/battle_anim_80A22E8.s index a11154651..18a6f3ddd 100644 --- a/asm/battle_anim_80A22E8.s +++ b/asm/battle_anim_80A22E8.s @@ -15161,7 +15161,7 @@ _080A96CC: lsls r2, 1 adds r0, r2 str r1, [r0] - ldr r0, _080A975C @ =gUnknown_8D227E4 + ldr r0, _080A975C @ =gFile_graphics_battle_anims_sprites_206_palette bl LZDecompressWram movs r4, 0 _080A9700: @@ -15206,7 +15206,7 @@ _080A9700: _080A9750: .4byte 0x000027de _080A9754: .4byte 0x00002710 _080A9758: .4byte gMonSpritesGfxPtr -_080A975C: .4byte gUnknown_8D227E4 +_080A975C: .4byte gFile_graphics_battle_anims_sprites_206_palette thumb_func_end sub_80A96B4 thumb_func_start sub_80A9760 @@ -15955,15 +15955,15 @@ _080A9D2A: bl sub_80752A0 mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080A9DAC @ =gUnknown_8D23F4C + ldr r1, _080A9DAC @ =gFile_graphics_battle_anims_backgrounds_attract_tilemap bl sub_807543C mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080A9DB0 @ =gUnknown_8D234B4 + ldr r1, _080A9DB0 @ =gFile_graphics_battle_anims_backgrounds_attract_sheet mov r2, sp ldrh r2, [r2, 0xA] bl sub_80753B4 - ldr r0, _080A9DB4 @ =gUnknown_8D23F24 + ldr r0, _080A9DB4 @ =gFile_graphics_battle_anims_backgrounds_attract_palette mov r1, sp ldrb r1, [r1, 0x8] lsls r1, 4 @@ -15995,9 +15995,9 @@ _080A9D88: _080A9DA0: .4byte 0x00003f42 _080A9DA4: .4byte gUnknown_2022978 _080A9DA8: .4byte gUnknown_202297A -_080A9DAC: .4byte gUnknown_8D23F4C -_080A9DB0: .4byte gUnknown_8D234B4 -_080A9DB4: .4byte gUnknown_8D23F24 +_080A9DAC: .4byte gFile_graphics_battle_anims_backgrounds_attract_tilemap +_080A9DB0: .4byte gFile_graphics_battle_anims_backgrounds_attract_sheet +_080A9DB4: .4byte gFile_graphics_battle_anims_backgrounds_attract_palette _080A9DB8: .4byte gTasks _080A9DBC: .4byte sub_80A9DC0 thumb_func_end sub_80A9CE8 @@ -16247,11 +16247,11 @@ _080A9FBC: _080A9FC6: mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080AA014 @ =gUnknown_8D24BCC + ldr r1, _080AA014 @ =gFile_graphics_battle_anims_backgrounds_scary_face_sheet mov r2, sp ldrh r2, [r2, 0xA] bl sub_80753B4 - ldr r0, _080AA018 @ =gUnknown_8D24BA4 + ldr r0, _080AA018 @ =gFile_graphics_battle_anims_backgrounds_scary_face_palette mov r1, sp ldrb r1, [r1, 0x8] lsls r1, 4 @@ -16281,8 +16281,8 @@ _080A9FFA: bx r0 .align 2, 0 _080AA010: .4byte gUnknown_8E7F690 -_080AA014: .4byte gUnknown_8D24BCC -_080AA018: .4byte gUnknown_8D24BA4 +_080AA014: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_sheet +_080AA018: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_palette _080AA01C: .4byte gTasks _080AA020: .4byte sub_80AA024 thumb_func_end sub_80A9F10 @@ -42800,11 +42800,11 @@ _080B6D28: bl sub_80752C8 add r0, sp, 0xC ldrb r0, [r0, 0x9] - ldr r1, _080B6D84 @ =gUnknown_8D24BCC + ldr r1, _080B6D84 @ =gFile_graphics_battle_anims_backgrounds_scary_face_sheet add r2, sp, 0xC ldrh r2, [r2, 0xA] bl sub_80753B4 - ldr r0, _080B6D88 @ =gUnknown_8D24BA4 + ldr r0, _080B6D88 @ =gFile_graphics_battle_anims_backgrounds_scary_face_palette add r1, sp, 0xC ldrb r1, [r1, 0x8] lsls r1, 4 @@ -42814,8 +42814,8 @@ _080B6D28: .align 2, 0 _080B6D7C: .4byte gUnknown_202297C _080B6D80: .4byte gUnknown_202297E -_080B6D84: .4byte gUnknown_8D24BCC -_080B6D88: .4byte gUnknown_8D24BA4 +_080B6D84: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_sheet +_080B6D88: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_palette _080B6D8C: add r0, sp, 0xC movs r1, 0x2 @@ -51145,7 +51145,7 @@ _080BAE5C: bl sub_80752A0 mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080BAF18 @ =gUnknown_8D20858 + ldr r1, _080BAF18 @ =gFile_graphics_battle_anims_masks_curse_tilemap bl sub_807543C bl sub_8073788 lsls r0, 24 @@ -51160,7 +51160,7 @@ _080BAE5C: _080BAEAC: mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080BAF1C @ =gUnknown_8D2083C + ldr r1, _080BAF1C @ =gFile_graphics_battle_anims_masks_curse_sheet mov r2, sp ldrh r2, [r2, 0xA] bl sub_80753B4 @@ -51207,8 +51207,8 @@ _080BAEAC: _080BAF0C: .4byte gBattlerPartyIndexes _080BAF10: .4byte gPlayerParty _080BAF14: .4byte gUnknown_2037F1A -_080BAF18: .4byte gUnknown_8D20858 -_080BAF1C: .4byte gUnknown_8D2083C +_080BAF18: .4byte gFile_graphics_battle_anims_masks_curse_tilemap +_080BAF1C: .4byte gFile_graphics_battle_anims_masks_curse_sheet _080BAF20: .4byte gUnknown_83E7CC8 _080BAF24: .4byte gUnknown_2022978 _080BAF28: .4byte gSprites @@ -51659,17 +51659,17 @@ _080BB2E2: bne _080BB30C mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080BB308 @ =gUnknown_8D2DB04 + ldr r1, _080BB308 @ =gFile_graphics_battle_anims_masks_stat_tilemap_1_tilemap bl sub_807543C b _080BB316 .align 2, 0 _080BB300: .4byte gUnknown_2023D44 _080BB304: .4byte gUnknown_20399B4 -_080BB308: .4byte gUnknown_8D2DB04 +_080BB308: .4byte gFile_graphics_battle_anims_masks_stat_tilemap_1_tilemap _080BB30C: mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080BB354 @ =gUnknown_8D2DC20 + ldr r1, _080BB354 @ =gFile_graphics_battle_anims_masks_stat_tilemap_2_tilemap bl sub_807543C _080BB316: bl sub_8073788 @@ -51685,7 +51685,7 @@ _080BB316: _080BB32E: mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080BB358 @ =gUnknown_8D2D8F4 + ldr r1, _080BB358 @ =gFile_graphics_battle_anims_masks_stat_sheet mov r2, sp ldrh r2, [r2, 0xA] bl sub_80753B4 @@ -51701,8 +51701,8 @@ _080BB32E: ldr r0, [r0] mov pc, r0 .align 2, 0 -_080BB354: .4byte gUnknown_8D2DC20 -_080BB358: .4byte gUnknown_8D2D8F4 +_080BB354: .4byte gFile_graphics_battle_anims_masks_stat_tilemap_2_tilemap +_080BB358: .4byte gFile_graphics_battle_anims_masks_stat_sheet _080BB35C: .4byte gUnknown_20399B4 _080BB360: .4byte _080BB364 .align 2, 0 @@ -51715,37 +51715,37 @@ _080BB364: .4byte _080BB3A8 .4byte _080BB3B0 _080BB380: - ldr r0, _080BB384 @ =gUnknown_8D2DD5C + ldr r0, _080BB384 @ =gFile_graphics_battle_anims_masks_stat2_palette b _080BB3B2 .align 2, 0 -_080BB384: .4byte gUnknown_8D2DD5C +_080BB384: .4byte gFile_graphics_battle_anims_masks_stat2_palette _080BB388: - ldr r0, _080BB38C @ =gUnknown_8D2DD3C + ldr r0, _080BB38C @ =gFile_graphics_battle_anims_masks_stat1_palette b _080BB3B2 .align 2, 0 -_080BB38C: .4byte gUnknown_8D2DD3C +_080BB38C: .4byte gFile_graphics_battle_anims_masks_stat1_palette _080BB390: - ldr r0, _080BB394 @ =gUnknown_8D2DD7C + ldr r0, _080BB394 @ =gFile_graphics_battle_anims_masks_stat3_palette b _080BB3B2 .align 2, 0 -_080BB394: .4byte gUnknown_8D2DD7C +_080BB394: .4byte gFile_graphics_battle_anims_masks_stat3_palette _080BB398: - ldr r0, _080BB39C @ =gUnknown_8D2DD9C + ldr r0, _080BB39C @ =gFile_graphics_battle_anims_masks_stat4_palette b _080BB3B2 .align 2, 0 -_080BB39C: .4byte gUnknown_8D2DD9C +_080BB39C: .4byte gFile_graphics_battle_anims_masks_stat4_palette _080BB3A0: - ldr r0, _080BB3A4 @ =gUnknown_8D2DDDC + ldr r0, _080BB3A4 @ =gFile_graphics_battle_anims_masks_stat6_palette b _080BB3B2 .align 2, 0 -_080BB3A4: .4byte gUnknown_8D2DDDC +_080BB3A4: .4byte gFile_graphics_battle_anims_masks_stat6_palette _080BB3A8: - ldr r0, _080BB3AC @ =gUnknown_8D2DDFC + ldr r0, _080BB3AC @ =gFile_graphics_battle_anims_masks_stat7_palette b _080BB3B2 .align 2, 0 -_080BB3AC: .4byte gUnknown_8D2DDFC +_080BB3AC: .4byte gFile_graphics_battle_anims_masks_stat7_palette _080BB3B0: - ldr r0, _080BB3C0 @ =gUnknown_8D2DE1C + ldr r0, _080BB3C0 @ =gFile_graphics_battle_anims_masks_stat8_palette _080BB3B2: mov r1, sp ldrb r1, [r1, 0x8] @@ -51754,9 +51754,9 @@ _080BB3B2: bl LoadCompressedPalette b _080BB3D2 .align 2, 0 -_080BB3C0: .4byte gUnknown_8D2DE1C +_080BB3C0: .4byte gFile_graphics_battle_anims_masks_stat8_palette _080BB3C4: - ldr r0, _080BB3FC @ =gUnknown_8D2DDBC + ldr r0, _080BB3FC @ =gFile_graphics_battle_anims_masks_stat5_palette mov r1, sp ldrb r1, [r1, 0x8] lsls r1, 4 @@ -51785,7 +51785,7 @@ _080BB3D2: ldr r1, _080BB410 @ =0x0000fffd b _080BB420 .align 2, 0 -_080BB3FC: .4byte gUnknown_8D2DDBC +_080BB3FC: .4byte gFile_graphics_battle_anims_masks_stat5_palette _080BB400: .4byte gUnknown_2022978 _080BB404: .4byte gUnknown_202297A _080BB408: .4byte gUnknown_20399B4 diff --git a/asm/battle_anim_80DE2C0.s b/asm/battle_anim_80DE2C0.s index 9b56509a2..4304c8c1a 100644 --- a/asm/battle_anim_80DE2C0.s +++ b/asm/battle_anim_80DE2C0.s @@ -3410,15 +3410,15 @@ _080DFCCE: bl sub_80752A0 mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080DFD1C @ =gUnknown_8D2A8C0 + ldr r1, _080DFD1C @ =gFile_graphics_battle_anims_masks_morning_sun_tilemap bl sub_807543C mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080DFD20 @ =gUnknown_8D2A808 + ldr r1, _080DFD20 @ =gFile_graphics_battle_anims_masks_morning_sun_sheet mov r2, sp ldrh r2, [r2, 0xA] bl sub_80753B4 - ldr r0, _080DFD24 @ =gUnknown_8D2A8A8 + ldr r0, _080DFD24 @ =gFile_graphics_battle_anims_masks_morning_sun_palette mov r1, sp ldrb r1, [r1, 0x8] lsls r1, 4 @@ -3439,9 +3439,9 @@ _080DFCCE: b _080DFD58 .align 2, 0 _080DFD18: .4byte 0x00003f42 -_080DFD1C: .4byte gUnknown_8D2A8C0 -_080DFD20: .4byte gUnknown_8D2A808 -_080DFD24: .4byte gUnknown_8D2A8A8 +_080DFD1C: .4byte gFile_graphics_battle_anims_masks_morning_sun_tilemap +_080DFD20: .4byte gFile_graphics_battle_anims_masks_morning_sun_sheet +_080DFD24: .4byte gFile_graphics_battle_anims_masks_morning_sun_palette _080DFD28: .4byte gUnknown_2022978 _080DFD2C: .4byte 0x0000ffc8 _080DFD30: @@ -4052,15 +4052,15 @@ _080E01FC: bl sub_80752A0 mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080E0250 @ =gUnknown_8D2A8C0 + ldr r1, _080E0250 @ =gFile_graphics_battle_anims_masks_morning_sun_tilemap bl sub_807543C mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080E0254 @ =gUnknown_8D2A808 + ldr r1, _080E0254 @ =gFile_graphics_battle_anims_masks_morning_sun_sheet mov r2, sp ldrh r2, [r2, 0xA] bl sub_80753B4 - ldr r0, _080E0258 @ =gUnknown_8D2A8A8 + ldr r0, _080E0258 @ =gFile_graphics_battle_anims_masks_morning_sun_palette mov r1, sp ldrb r1, [r1, 0x8] lsls r1, 4 @@ -4083,9 +4083,9 @@ _080E01FC: .align 2, 0 _080E0248: .4byte 0x00003f42 _080E024C: .4byte 0x00000d03 -_080E0250: .4byte gUnknown_8D2A8C0 -_080E0254: .4byte gUnknown_8D2A808 -_080E0258: .4byte gUnknown_8D2A8A8 +_080E0250: .4byte gFile_graphics_battle_anims_masks_morning_sun_tilemap +_080E0254: .4byte gFile_graphics_battle_anims_masks_morning_sun_sheet +_080E0258: .4byte gFile_graphics_battle_anims_masks_morning_sun_palette _080E025C: .4byte gUnknown_2022978 _080E0260: .4byte 0x0000ffc8 _080E0264: @@ -7994,11 +7994,11 @@ sub_80E2084: @ 80E2084 str r1, [sp, 0x8] movs r1, 0x1E str r1, [sp, 0xC] - ldr r1, _080E20C8 @ =gUnknown_8D2DE3C + ldr r1, _080E20C8 @ =gFile_graphics_battle_anims_masks_cure_bubbles_sheet str r1, [sp, 0x10] - ldr r1, _080E20CC @ =gUnknown_8D2DF98 + ldr r1, _080E20CC @ =gFile_graphics_battle_anims_masks_cure_bubbles_tilemap str r1, [sp, 0x14] - ldr r1, _080E20D0 @ =gUnknown_8D2DF78 + ldr r1, _080E20D0 @ =gFile_graphics_battle_anims_masks_cure_bubbles_palette str r1, [sp, 0x18] movs r1, 0 bl sub_80BBA20 @@ -8008,9 +8008,9 @@ sub_80E2084: @ 80E2084 .align 2, 0 _080E20C0: .4byte gUnknown_2037F1A _080E20C4: .4byte gUnknown_2037F02 -_080E20C8: .4byte gUnknown_8D2DE3C -_080E20CC: .4byte gUnknown_8D2DF98 -_080E20D0: .4byte gUnknown_8D2DF78 +_080E20C8: .4byte gFile_graphics_battle_anims_masks_cure_bubbles_sheet +_080E20CC: .4byte gFile_graphics_battle_anims_masks_cure_bubbles_tilemap +_080E20D0: .4byte gFile_graphics_battle_anims_masks_cure_bubbles_palette thumb_func_end sub_80E2084 thumb_func_start sub_80E20D4 diff --git a/asm/battle_anim_80EEC0C.s b/asm/battle_anim_80EEC0C.s index bb6d8d8d8..d09e8ef93 100644 --- a/asm/battle_anim_80EEC0C.s +++ b/asm/battle_anim_80EEC0C.s @@ -154,15 +154,15 @@ sub_80EEC0C: @ 80EEC0C bl sub_80752A0 mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080EEDD8 @ =gUnknown_8D2EC70 + ldr r1, _080EEDD8 @ =gFile_graphics_battle_anims_masks_unknown_D2EC24_tilemap bl sub_807543C mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080EEDDC @ =gUnknown_8D2EC24 + ldr r1, _080EEDDC @ =gFile_graphics_battle_anims_masks_unknown_D2EC24_sheet mov r2, sp ldrh r2, [r2, 0xA] bl sub_80753B4 - ldr r0, _080EEDE0 @ =gUnknown_8D2DF78 + ldr r0, _080EEDE0 @ =gFile_graphics_battle_anims_masks_cure_bubbles_palette mov r1, sp ldrb r1, [r1, 0x8] lsls r1, 4 @@ -212,9 +212,9 @@ _080EEDC8: .4byte 0x00003f42 _080EEDCC: .4byte gUnknown_3004FF0 _080EEDD0: .4byte gSprites _080EEDD4: .4byte SpriteCallbackDummy -_080EEDD8: .4byte gUnknown_8D2EC70 -_080EEDDC: .4byte gUnknown_8D2EC24 -_080EEDE0: .4byte gUnknown_8D2DF78 +_080EEDD8: .4byte gFile_graphics_battle_anims_masks_unknown_D2EC24_tilemap +_080EEDDC: .4byte gFile_graphics_battle_anims_masks_unknown_D2EC24_sheet +_080EEDE0: .4byte gFile_graphics_battle_anims_masks_cure_bubbles_palette _080EEDE4: .4byte gUnknown_2022978 _080EEDE8: .4byte gUnknown_202297A _080EEDEC: .4byte gTasks diff --git a/asm/battle_gfx_sfx_util.s b/asm/battle_gfx_sfx_util.s index acd2f7ca8..ac088b355 100644 --- a/asm/battle_gfx_sfx_util.s +++ b/asm/battle_gfx_sfx_util.s @@ -2351,7 +2351,7 @@ sub_80350BC: @ 80350BC lsls r0, 24 cmp r0, 0 beq _080350FC - ldr r0, _080350F4 @ =gUnknown_8D2D0B4 + ldr r0, _080350F4 @ =gFile_graphics_battle_anims_sprites_substitute_sheet ldr r1, _080350F8 @ =gMonSpritesGfxPtr ldr r1, [r1] lsls r4, r5, 2 @@ -2361,10 +2361,10 @@ sub_80350BC: @ 80350BC bl LZDecompressVram b _0803510E .align 2, 0 -_080350F4: .4byte gUnknown_8D2D0B4 +_080350F4: .4byte gFile_graphics_battle_anims_sprites_substitute_sheet _080350F8: .4byte gMonSpritesGfxPtr _080350FC: - ldr r0, _08035144 @ =gUnknown_8D2D2F4 + ldr r0, _08035144 @ =gFile_graphics_battle_anims_sprites_substitute_tilemap ldr r1, _08035148 @ =gMonSpritesGfxPtr ldr r1, [r1] lsls r4, r5, 2 @@ -2375,7 +2375,7 @@ _080350FC: _0803510E: movs r3, 0x1 lsls r6, 4 - ldr r7, _0803514C @ =gUnknown_8D2D090 + ldr r7, _0803514C @ =gFile_graphics_battle_anims_sprites_substitute_palette ldr r0, _08035148 @ =gMonSpritesGfxPtr ldr r0, [r0] adds r0, 0x4 @@ -2401,9 +2401,9 @@ _08035120: bl LoadCompressedPalette b _0803519A .align 2, 0 -_08035144: .4byte gUnknown_8D2D2F4 +_08035144: .4byte gFile_graphics_battle_anims_sprites_substitute_tilemap _08035148: .4byte gMonSpritesGfxPtr -_0803514C: .4byte gUnknown_8D2D090 +_0803514C: .4byte gFile_graphics_battle_anims_sprites_substitute_palette _08035150: .4byte 0x040000d4 _08035154: .4byte 0x84000200 _08035158: diff --git a/data/graphics.s b/data/graphics.s index 82d7feba6..f99ea96df 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -1757,7 +1757,6 @@ gFile_graphics_battle_anims_sprites_186_sheet:: @ 8D1EF50 gFile_graphics_battle_anims_sprites_186_palette:: @ 8D1F31C .incbin "graphics/battle_anims/sprites/186.gbapal.lz" - .align 2 gUnknown_8D1F340:: @ 8D1F340 .incbin "baserom.gba", 0xD1F340, 0x77C @@ -1822,97 +1821,756 @@ gFile_graphics_battle_anims_sprites_193_sheet:: @ 8D206B8 gFile_graphics_battle_anims_sprites_193_palette:: @ 8D20814 .incbin "graphics/battle_anims/sprites/193.gbapal.lz" + .align 2 -gUnknown_8D2083C:: @ 8D2083C - .incbin "baserom.gba", 0xD2083C, 0x1C +gFile_graphics_battle_anims_masks_curse_sheet:: @ 8D2083C + .incbin "graphics/battle_anims/masks/curse.4bpp.lz" -gUnknown_8D20858:: @ 8D20858 - .incbin "baserom.gba", 0xD20858, 0x1F8C + .align 2 +gFile_graphics_battle_anims_masks_curse_tilemap:: @ 8D20858 + .incbin "graphics/battle_anims/masks/curse.bin.lz" -gUnknown_8D227E4:: @ 8D227E4 - .incbin "baserom.gba", 0xD227E4, 0xCD0 + .align 2 +gFile_graphics_battle_anims_sprites_002_sheet:: @ 8D20958 + .incbin "graphics/battle_anims/sprites/002.4bpp.lz" -gUnknown_8D234B4:: @ 8D234B4 - .incbin "baserom.gba", 0xD234B4, 0xA70 + .align 2 +gFile_graphics_battle_anims_sprites_002_palette:: @ 8D20A3C + .incbin "graphics/battle_anims/sprites/002.gbapal.lz" -gUnknown_8D23F24:: @ 8D23F24 - .incbin "baserom.gba", 0xD23F24, 0x28 + .align 2 +gFile_graphics_battle_anims_sprites_196_sheet:: @ 8D20A64 + .incbin "graphics/battle_anims/sprites/196.4bpp.lz" -gUnknown_8D23F4C:: @ 8D23F4C - .incbin "baserom.gba", 0xD23F4C, 0xC58 + .align 2 +gFile_graphics_battle_anims_sprites_196_palette:: @ 8D20E08 + .incbin "graphics/battle_anims/sprites/196.gbapal.lz" -gUnknown_8D24BA4:: @ 8D24BA4 - .incbin "baserom.gba", 0xD24BA4, 0x28 + .align 2 +gFile_graphics_battle_anims_sprites_194_sheet:: @ 8D20E20 + .incbin "graphics/battle_anims/sprites/194.4bpp.lz" -gUnknown_8D24BCC:: @ 8D24BCC - .incbin "baserom.gba", 0xD24BCC, 0x5C3C + .align 2 +gFile_graphics_battle_anims_sprites_194_palette:: @ 8D21158 + .incbin "graphics/battle_anims/sprites/194.gbapal.lz" -gUnknown_8D2A808:: @ 8D2A808 - .incbin "baserom.gba", 0xD2A808, 0xA0 + .align 2 +gFile_graphics_battle_anims_sprites_195_sheet:: @ 8D21180 + .incbin "graphics/battle_anims/sprites/195.4bpp.lz" -gUnknown_8D2A8A8:: @ 8D2A8A8 - .incbin "baserom.gba", 0xD2A8A8, 0x18 + .align 2 +gFile_graphics_battle_anims_sprites_195_palette:: @ 8D21238 + .incbin "graphics/battle_anims/sprites/195.gbapal.lz" -gUnknown_8D2A8C0:: @ 8D2A8C0 - .incbin "baserom.gba", 0xD2A8C0, 0x27D0 + .align 2 +gFile_graphics_battle_anims_sprites_197_sheet:: @ 8D21258 + .incbin "graphics/battle_anims/sprites/197.4bpp.lz" -gUnknown_8D2D090:: @ 8D2D090 - .incbin "baserom.gba", 0xD2D090, 0x24 + .align 2 +gFile_graphics_battle_anims_sprites_197_palette:: @ 8D213C8 + .incbin "graphics/battle_anims/sprites/197.gbapal.lz" -gUnknown_8D2D0B4:: @ 8D2D0B4 - .incbin "baserom.gba", 0xD2D0B4, 0x240 + .align 2 +gFile_graphics_battle_anims_sprites_198_sheet:: @ 8D213F0 + .incbin "graphics/battle_anims/sprites/198.4bpp.lz" -gUnknown_8D2D2F4:: @ 8D2D2F4 - .incbin "baserom.gba", 0xD2D2F4, 0x600 + .align 2 +gFile_graphics_battle_anims_sprites_198_palette:: @ 8D217E0 + .incbin "graphics/battle_anims/sprites/198.gbapal.lz" -gUnknown_8D2D8F4:: @ 8D2D8F4 - .incbin "baserom.gba", 0xD2D8F4, 0x210 + .align 2 +gFile_graphics_battle_anims_sprites_199_sheet:: @ 8D21808 + .incbin "graphics/battle_anims/sprites/199.4bpp.lz" -gUnknown_8D2DB04:: @ 8D2DB04 - .incbin "baserom.gba", 0xD2DB04, 0x11C + .align 2 +gFile_graphics_battle_anims_sprites_199_palette:: @ 8D218D0 + .incbin "graphics/battle_anims/sprites/199.gbapal.lz" -gUnknown_8D2DC20:: @ 8D2DC20 - .incbin "baserom.gba", 0xD2DC20, 0x11C + .align 2 +gFile_graphics_battle_anims_sprites_200_sheet:: @ 8D218EC + .incbin "graphics/battle_anims/sprites/200.4bpp.lz" -gUnknown_8D2DD3C:: @ 8D2DD3C - .incbin "baserom.gba", 0xD2DD3C, 0x20 + .align 2 +gFile_graphics_battle_anims_sprites_200_palette:: @ 8D21A2C + .incbin "graphics/battle_anims/sprites/200.gbapal.lz" -gUnknown_8D2DD5C:: @ 8D2DD5C - .incbin "baserom.gba", 0xD2DD5C, 0x20 + .align 2 +gFile_graphics_battle_anims_sprites_201_sheet:: @ 8D21A48 + .incbin "graphics/battle_anims/sprites/201.4bpp.lz" -gUnknown_8D2DD7C:: @ 8D2DD7C - .incbin "baserom.gba", 0xD2DD7C, 0x20 + .align 2 +gFile_graphics_battle_anims_sprites_201_palette:: @ 8D220B8 + .incbin "graphics/battle_anims/sprites/201.gbapal.lz" -gUnknown_8D2DD9C:: @ 8D2DD9C - .incbin "baserom.gba", 0xD2DD9C, 0x20 + .align 2 +gFile_graphics_battle_anims_sprites_204_sheet:: @ 8D220E0 + .incbin "graphics/battle_anims/sprites/204.4bpp.lz" -gUnknown_8D2DDBC:: @ 8D2DDBC - .incbin "baserom.gba", 0xD2DDBC, 0x20 + .align 2 +gFile_graphics_battle_anims_sprites_204_palette:: @ 8D22254 + .incbin "graphics/battle_anims/sprites/204.gbapal.lz" -gUnknown_8D2DDDC:: @ 8D2DDDC - .incbin "baserom.gba", 0xD2DDDC, 0x20 + .align 2 +gFile_graphics_battle_anims_sprites_202_sheet:: @ 8D2227C + .incbin "graphics/battle_anims/sprites/202.4bpp.lz" -gUnknown_8D2DDFC:: @ 8D2DDFC - .incbin "baserom.gba", 0xD2DDFC, 0x20 + .align 2 +gFile_graphics_battle_anims_sprites_202_palette:: @ 8D223E4 + .incbin "graphics/battle_anims/sprites/202.gbapal.lz" -gUnknown_8D2DE1C:: @ 8D2DE1C - .incbin "baserom.gba", 0xD2DE1C, 0x20 + .align 2 +gFile_graphics_battle_anims_sprites_203_sheet:: @ 8D22408 + .incbin "graphics/battle_anims/sprites/203.4bpp.lz" -gUnknown_8D2DE3C:: @ 8D2DE3C - .incbin "baserom.gba", 0xD2DE3C, 0x13C + .align 2 +gFile_graphics_battle_anims_sprites_203_palette:: @ 8D225B4 + .incbin "graphics/battle_anims/sprites/203.gbapal.lz" -gUnknown_8D2DF78:: @ 8D2DF78 - .incbin "baserom.gba", 0xD2DF78, 0x20 + .align 2 +gFile_graphics_battle_anims_sprites_206_sheet:: @ 8D225D8 + .incbin "graphics/battle_anims/sprites/206.4bpp.lz" -gUnknown_8D2DF98:: @ 8D2DF98 - .incbin "baserom.gba", 0xD2DF98, 0xC8C + .align 2 +gFile_graphics_battle_anims_sprites_206_palette:: @ 8D227E4 + .incbin "graphics/battle_anims/sprites/206.gbapal.lz" -gUnknown_8D2EC24:: @ 8D2EC24 - .incbin "baserom.gba", 0xD2EC24, 0x4C + .align 2 +gFile_graphics_battle_anims_sprites_205_sheet:: @ 8D22878 + .incbin "graphics/battle_anims/sprites/205.4bpp.lz" -gUnknown_8D2EC70:: @ 8D2EC70 - .incbin "baserom.gba", 0xD2EC70, 0xF44 + .align 2 +gFile_graphics_battle_anims_sprites_205_palette:: @ 8D22AAC + .incbin "graphics/battle_anims/sprites/205.gbapal.lz" + .align 2 +gFile_graphics_battle_anims_sprites_207_sheet:: @ 8D22AD0 + .incbin "graphics/battle_anims/sprites/207.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_207_palette:: @ 8D22B9C + .incbin "graphics/battle_anims/sprites/207.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_208_sheet:: @ 8D22BC0 + .incbin "graphics/battle_anims/sprites/208.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_209_sheet:: @ 8D22FB0 + .incbin "graphics/battle_anims/sprites/209.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_209_palette:: @ 8D232B8 + .incbin "graphics/battle_anims/sprites/209.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_064_sheet:: @ 8D232D8 + .incbin "graphics/battle_anims/sprites/064.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_064_palette:: @ 8D233C8 + .incbin "graphics/battle_anims/sprites/064.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_210_sheet:: @ 8D233EC + .incbin "graphics/battle_anims/sprites/210.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_219_palette:: @ 8D23454 + .incbin "graphics/battle_anims/sprites/219.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_210_palette:: @ 8D23474 + .incbin "graphics/battle_anims/sprites/210.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_216_palette:: @ 8D23494 + .incbin "graphics/battle_anims/sprites/216.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_attract_sheet:: @ 8D234B4 + .incbin "graphics/battle_anims/backgrounds/attract.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_attract_palette:: @ 8D23F24 + .incbin "graphics/battle_anims/backgrounds/attract.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_attract_tilemap:: @ 8D23F4C + .incbin "graphics/battle_anims/backgrounds/attract.bin.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_217_sheet:: @ 8D241C8 + .incbin "graphics/battle_anims/sprites/217.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_217_palette:: @ 8D24230 + .incbin "graphics/battle_anims/sprites/217.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_212_sheet:: @ 8D24250 + .incbin "graphics/battle_anims/sprites/212.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_211_sheet:: @ 8D24484 + .incbin "graphics/battle_anims/sprites/211.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_213_sheet:: @ 8D244D4 + .incbin "graphics/battle_anims/sprites/213.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_211_palette:: @ 8D24740 + .incbin "graphics/battle_anims/sprites/211.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_214_sheet:: @ 8D24764 + .incbin "graphics/battle_anims/sprites/214.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_215_sheet:: @ 8D249F4 + .incbin "graphics/battle_anims/sprites/215.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_215_palette:: @ 8D24B80 + .incbin "graphics/battle_anims/sprites/215.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_scary_face_palette:: @ 8D24BA4 + .incbin "graphics/battle_anims/backgrounds/scary_face.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_scary_face_sheet:: @ 8D24BCC + .incbin "graphics/battle_anims/backgrounds/scary_face.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_218_palette:: @ 8D24DFC + .incbin "graphics/battle_anims/sprites/218.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_218_sheet:: @ 8D24E24 + .incbin "graphics/battle_anims/sprites/218.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_087_sheet:: @ 8D24ED0 + .incbin "graphics/battle_anims/sprites/087.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_087_palette:: @ 8D24F28 + .incbin "graphics/battle_anims/sprites/087.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_018_sheet:: @ 8D24F50 + .incbin "graphics/battle_anims/sprites/018.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_018_palette:: @ 8D24F8C + .incbin "graphics/battle_anims/sprites/018.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_220_palette:: @ 8D24FA8 + .incbin "graphics/battle_anims/sprites/220.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_220_sheet:: @ 8D24FD0 + .incbin "graphics/battle_anims/sprites/220.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_221_palette:: @ 8D250FC + .incbin "graphics/battle_anims/sprites/221.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_221_sheet:: @ 8D2511C + .incbin "graphics/battle_anims/sprites/221.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_222_sheet:: @ 8D25380 + .incbin "graphics/battle_anims/sprites/222.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_222_palette:: @ 8D2566C + .incbin "graphics/battle_anims/sprites/222.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_223_palette:: @ 8D25694 + .incbin "graphics/battle_anims/sprites/223.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_223_sheet:: @ 8D256B4 + .incbin "graphics/battle_anims/sprites/223.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_224_palette:: @ 8D25948 + .incbin "graphics/battle_anims/sprites/224.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_224_sheet:: @ 8D25968 + .incbin "graphics/battle_anims/sprites/224.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_230_palette:: @ 8D25A64 + .incbin "graphics/battle_anims/sprites/230.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_230_sheet:: @ 8D25A8C + .incbin "graphics/battle_anims/sprites/230.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_228_palette:: @ 8D25CD0 + .incbin "graphics/battle_anims/sprites/228.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_228_sheet:: @ 8D25CF0 + .incbin "graphics/battle_anims/sprites/228.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_04_palette:: @ 8D25D98 + .incbin "graphics/battle_anims/backgrounds/04.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_04_sheet:: @ 8D25DC0 + .incbin "graphics/battle_anims/backgrounds/04.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_04_tilemap:: @ 8D26B2C + .incbin "graphics/battle_anims/backgrounds/04.bin.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_05_tilemap:: @ 8D27028 + .incbin "graphics/battle_anims/backgrounds/05.bin.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_06_tilemap:: @ 8D274F8 + .incbin "graphics/battle_anims/backgrounds/06.bin.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_225_sheet:: @ 8D27938 + .incbin "graphics/battle_anims/sprites/225.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_225_palette:: @ 8D27ABC + .incbin "graphics/battle_anims/sprites/225.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_227_sheet:: @ 8D27AE4 + .incbin "graphics/battle_anims/sprites/227.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_226_sheet:: @ 8D27C2C + .incbin "graphics/battle_anims/sprites/226.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_226_palette:: @ 8D27CB8 + .incbin "graphics/battle_anims/sprites/226.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_229_sheet:: @ 8D27CDC + .incbin "graphics/battle_anims/sprites/229.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_229_palette:: @ 8D27E98 + .incbin "graphics/battle_anims/sprites/229.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_099_sheet:: @ 8D27EC0 + .incbin "graphics/battle_anims/sprites/099.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_099_palette:: @ 8D27FE0 + .incbin "graphics/battle_anims/sprites/099.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_232_sheet:: @ 8D28008 + .incbin "graphics/battle_anims/sprites/232.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_231_palette:: @ 8D28540 + .incbin "graphics/battle_anims/sprites/231.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_231_sheet:: @ 8D28568 + .incbin "graphics/battle_anims/sprites/231.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_233_sheet:: @ 8D28738 + .incbin "graphics/battle_anims/sprites/233.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_233_palette:: @ 8D287BC + .incbin "graphics/battle_anims/sprites/233.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_234_sheet:: @ 8D287E4 + .incbin "graphics/battle_anims/sprites/234.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_234_palette:: @ 8D289A4 + .incbin "graphics/battle_anims/sprites/234.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_238_sheet:: @ 8D289C8 + .incbin "graphics/battle_anims/sprites/238.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_238_palette:: @ 8D28A30 + .incbin "graphics/battle_anims/sprites/238.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_235_sheet:: @ 8D28A54 + .incbin "graphics/battle_anims/sprites/235.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_235_palette:: @ 8D28AA4 + .incbin "graphics/battle_anims/sprites/235.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_236_palette:: @ 8D28AC0 + .incbin "graphics/battle_anims/sprites/236.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_237_palette:: @ 8D28ADC + .incbin "graphics/battle_anims/sprites/237.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_07_sheet:: @ 8D28AF8 + .incbin "graphics/battle_anims/backgrounds/07.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_07_palette:: @ 8D28CA0 + .incbin "graphics/battle_anims/backgrounds/07.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_18_palette:: @ 8D28CC8 + .incbin "graphics/battle_anims/backgrounds/18.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_07_tilemap:: @ 8D28CF0 + .incbin "graphics/battle_anims/backgrounds/07.bin.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_08_tilemap:: @ 8D28E80 + .incbin "graphics/battle_anims/backgrounds/08.bin.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_20_sheet:: @ 8D2900C + .incbin "graphics/battle_anims/backgrounds/20.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_20_palette:: @ 8D29A34 + .incbin "graphics/battle_anims/backgrounds/20.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_20_tilemap:: @ 8D29A54 + .incbin "graphics/battle_anims/backgrounds/20.bin.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_09_tilemap:: @ 8D29C58 + .incbin "graphics/battle_anims/backgrounds/09.bin.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_09_palette:: @ 8D29F50 + .incbin "graphics/battle_anims/backgrounds/09.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_22_palette:: @ 8D29F70 + .incbin "graphics/battle_anims/backgrounds/22.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_09_sheet:: @ 8D29F90 + .incbin "graphics/battle_anims/backgrounds/09.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_10_tilemap:: @ 8D2A510 + .incbin "graphics/battle_anims/backgrounds/10.bin.lz" + + .align 2 +gFile_graphics_battle_anims_masks_morning_sun_sheet:: @ 8D2A808 + .incbin "graphics/battle_anims/masks/morning_sun.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_masks_morning_sun_palette:: @ 8D2A8A8 + .incbin "graphics/battle_anims/masks/morning_sun.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_masks_morning_sun_tilemap:: @ 8D2A8C0 + .incbin "graphics/battle_anims/masks/morning_sun.bin.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_12_tilemap:: @ 8D2A9DC + .incbin "graphics/battle_anims/backgrounds/12.bin.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_13_tilemap:: @ 8D2ACA4 + .incbin "graphics/battle_anims/backgrounds/13.bin.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_14_tilemap:: @ 8D2AFA0 + .incbin "graphics/battle_anims/backgrounds/14.bin.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_12_sheet:: @ 8D2B230 + .incbin "graphics/battle_anims/backgrounds/12.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_12_palette:: @ 8D2BF98 + .incbin "graphics/battle_anims/backgrounds/12.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_11_sheet:: @ 8D2BFB8 + .incbin "graphics/battle_anims/backgrounds/11.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_11_palette:: @ 8D2C954 + .incbin "graphics/battle_anims/backgrounds/11.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_11_tilemap:: @ 8D2C97C + .incbin "graphics/battle_anims/backgrounds/11.bin.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_239_sheet:: @ 8D2CC74 + .incbin "graphics/battle_anims/sprites/239.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_239_palette:: @ 8D2CD58 + .incbin "graphics/battle_anims/sprites/239.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_143_sheet:: @ 8D2CD80 + .incbin "graphics/battle_anims/sprites/143.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_143_palette:: @ 8D2CFB0 + .incbin "graphics/battle_anims/sprites/143.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_240_sheet:: @ 8D2CFC8 + .incbin "graphics/battle_anims/sprites/240.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_240_palette:: @ 8D2D068 + .incbin "graphics/battle_anims/sprites/240.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_substitute_palette:: @ 8D2D090 + .incbin "graphics/battle_anims/sprites/substitute.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_substitute_sheet:: @ 8D2D0B4 + .incbin "graphics/battle_anims/sprites/substitute.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_substitute_tilemap:: @ 8D2D2F4 + .incbin "graphics/battle_anims/sprites/substitute.bin.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_241_sheet:: @ 8D2D51C + .incbin "graphics/battle_anims/sprites/241.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_241_palette:: @ 8D2D5E0 + .incbin "graphics/battle_anims/sprites/241.gbapal.lz" + + .align 2 +gFile_graphics_misc_confetti_sheet:: @ 8D2D5FC + .incbin "graphics/misc/confetti.4bpp.lz" + + .align 2 +gFile_graphics_misc_confetti_palette:: @ 8D2D71C + .incbin "graphics/misc/confetti.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_242_sheet:: @ 8D2D744 + .incbin "graphics/battle_anims/sprites/242.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_242_palette:: @ 8D2D880 + .incbin "graphics/battle_anims/sprites/242.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_243_sheet:: @ 8D2D8A4 + .incbin "graphics/battle_anims/sprites/243.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_243_palette:: @ 8D2D8CC + .incbin "graphics/battle_anims/sprites/243.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_masks_stat_sheet:: @ 8D2D8F4 + .incbin "graphics/battle_anims/masks/stat.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_masks_stat_tilemap_1_tilemap:: @ 8D2DB04 + .incbin "graphics/battle_anims/masks/stat_tilemap_1.bin.lz" + + .align 2 +gFile_graphics_battle_anims_masks_stat_tilemap_2_tilemap:: @ 8D2DC20 + .incbin "graphics/battle_anims/masks/stat_tilemap_2.bin.lz" + + .align 2 +gFile_graphics_battle_anims_masks_stat1_palette:: @ 8D2DD3C + .incbin "graphics/battle_anims/masks/stat1.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_masks_stat2_palette:: @ 8D2DD5C + .incbin "graphics/battle_anims/masks/stat2.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_masks_stat3_palette:: @ 8D2DD7C + .incbin "graphics/battle_anims/masks/stat3.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_masks_stat4_palette:: @ 8D2DD9C + .incbin "graphics/battle_anims/masks/stat4.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_masks_stat5_palette:: @ 8D2DDBC + .incbin "graphics/battle_anims/masks/stat5.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_masks_stat6_palette:: @ 8D2DDDC + .incbin "graphics/battle_anims/masks/stat6.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_masks_stat7_palette:: @ 8D2DDFC + .incbin "graphics/battle_anims/masks/stat7.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_masks_stat8_palette:: @ 8D2DE1C + .incbin "graphics/battle_anims/masks/stat8.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_masks_cure_bubbles_sheet:: @ 8D2DE3C + .incbin "graphics/battle_anims/masks/cure_bubbles.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_masks_cure_bubbles_palette:: @ 8D2DF78 + .incbin "graphics/battle_anims/masks/cure_bubbles.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_masks_cure_bubbles_tilemap:: @ 8D2DF98 + .incbin "graphics/battle_anims/masks/cure_bubbles.bin.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_245_palette:: @ 8D2E0B4 + .incbin "graphics/battle_anims/sprites/245.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_245_sheet:: @ 8D2E0DC + .incbin "graphics/battle_anims/sprites/245.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_246_sheet:: @ 8D2E280 + .incbin "graphics/battle_anims/sprites/246.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_244_sheet:: @ 8D2E728 + .incbin "graphics/battle_anims/sprites/244.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_244_palette:: @ 8D2E804 + .incbin "graphics/battle_anims/sprites/244.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_247_sheet:: @ 8D2E820 + .incbin "graphics/battle_anims/sprites/247.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_053_sheet:: @ 8D2EA04 + .incbin "graphics/battle_anims/sprites/053.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_masks_unknown_D2EC24_sheet:: @ 8D2EC24 + .incbin "graphics/battle_anims/masks/unknown_D2EC24.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_masks_unknown_D2EC24_tilemap:: @ 8D2EC70 + .incbin "graphics/battle_anims/masks/unknown_D2EC24.bin.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_248_sheet:: @ 8D2ED78 + .incbin "graphics/battle_anims/sprites/248.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_248_palette:: @ 8D2ED90 + .incbin "graphics/battle_anims/sprites/248.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_249_sheet:: @ 8D2EDA8 + .incbin "graphics/battle_anims/sprites/249.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_249_palette:: @ 8D2EDF8 + .incbin "graphics/battle_anims/sprites/249.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_250_sheet:: @ 8D2EE18 + .incbin "graphics/battle_anims/sprites/250.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_251_sheet:: @ 8D2F00C + .incbin "graphics/battle_anims/sprites/251.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_251_palette:: @ 8D2F070 + .incbin "graphics/battle_anims/sprites/251.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_252_sheet:: @ 8D2F088 + .incbin "graphics/battle_anims/sprites/252.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_252_palette:: @ 8D2F1A0 + .incbin "graphics/battle_anims/sprites/252.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_253_sheet:: @ 8D2F1C4 + .incbin "graphics/battle_anims/sprites/253.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_253_palette:: @ 8D2F3A0 + .incbin "graphics/battle_anims/sprites/253.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_254_sheet:: @ 8D2F3C8 + .incbin "graphics/battle_anims/sprites/254.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_254_palette:: @ 8D2F500 + .incbin "graphics/battle_anims/sprites/254.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_255_sheet:: @ 8D2F528 + .incbin "graphics/battle_anims/sprites/255.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_255_palette:: @ 8D2F5A0 + .incbin "graphics/battle_anims/sprites/255.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_258_sheet:: @ 8D2F5B4 + .incbin "graphics/battle_anims/sprites/258.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_258_palette:: @ 8D2F69C + .incbin "graphics/battle_anims/sprites/258.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_256_sheet:: @ 8D2F6C4 + .incbin "graphics/battle_anims/sprites/256.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_256_palette:: @ 8D2FA50 + .incbin "graphics/battle_anims/sprites/256.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_257_sheet:: @ 8D2FA78 + .incbin "graphics/battle_anims/sprites/257.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_257_palette:: @ 8D2FB94 + .incbin "graphics/battle_anims/sprites/257.gbapal.lz" + + .align 2 gUnknown_8D2FBB4:: @ 8D2FBB4 .incbin "baserom.gba", 0xD2FBB4, 0x20 diff --git a/graphics/battle_anims/masks/unknown_C2EA50.bin b/graphics/battle_anims/masks/unknown_D2EC24.bin similarity index 100% rename from graphics/battle_anims/masks/unknown_C2EA50.bin rename to graphics/battle_anims/masks/unknown_D2EC24.bin diff --git a/graphics/battle_anims/masks/unknown_C2EA50.png b/graphics/battle_anims/masks/unknown_D2EC24.png similarity index 100% rename from graphics/battle_anims/masks/unknown_C2EA50.png rename to graphics/battle_anims/masks/unknown_D2EC24.png diff --git a/graphics/misc/confetti.png b/graphics/misc/confetti.png new file mode 100644 index 0000000000000000000000000000000000000000..ef8b921d85f9d4f2c2339deea8b0b38309422ef7 GIT binary patch literal 355 zcmeAS@N?(olHy`uVBq!ia0vp^96;Q`!VDxeCT>pvQU(D&A+A9Bzoq3I28Jc~{u>7U z|Np=ESr!A3+Pn8?_qSrlvzGs>w;VNWcJ#^ussw`Vy%#fq)H_cX#}JK)rIYsZwixiZ z?QP&@OX#}NGtsCxz>tG=@`Brnf=-$OyXV+jPq402`p9yu@RN}6%^QntKDSq_yCCtG zw`E7>;su$!TbO^jvomvliV@E&TxYzYcm?~PkfYM(Lf+|nTm0R8yV9jTiJf6xVkG&- zJ+}O4h`iF;d+f~B`Ug!FRIin8oL;B!PWxWXanETo$4@#~7ks=s!Mt86*J9UNnMLzn zHm|RIF|ow8d-v}5tE9y{1SQw)lMMc?7}VyZXC!pyaP#|x0Uw@m_upc_B^G|a zsY@^MthjFTV^({dt45T}yM2-7dIHKubN0nQ?p!)SRQ`f2C$@ -$(MASKSGFXDIR)/unknown_C2EA50.4bpp: %.4bpp: %.png +$(MASKSGFXDIR)/unknown_D2EC24.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 14 $(BATTRANSGFXDIR)/vs_frame.4bpp: %.4bpp: %.png From 0283aa99bf62cfc89708b7ef773b3c0d91d0b02d Mon Sep 17 00:00:00 2001 From: paul Date: Sat, 13 Oct 2018 21:43:22 +0200 Subject: [PATCH 050/222] add battle terrain and transitions, replace more baserom --- asm/battle_1.s | 16 +- asm/battle_anim_80A22E8.s | 12 +- data/graphics.s | 196 ++++++++++++++++-- graphics/battle_terrain/building/anim_map.bin | Bin 0 -> 2048 bytes .../battle_terrain/building/anim_tiles.png | Bin 0 -> 308 bytes graphics/battle_terrain/building/map.bin | Bin 0 -> 4096 bytes graphics/battle_terrain/building/palette.pal | 51 +++++ graphics/battle_terrain/building/palette2.pal | 51 +++++ graphics/battle_terrain/building/palette3.pal | 51 +++++ graphics/battle_terrain/building/tiles.png | Bin 0 -> 709 bytes graphics/battle_terrain/cave/anim_map.bin | Bin 0 -> 2048 bytes graphics/battle_terrain/cave/anim_tiles.png | Bin 0 -> 1416 bytes graphics/battle_terrain/cave/groudon.pal | 51 +++++ graphics/battle_terrain/cave/map.bin | Bin 0 -> 4096 bytes graphics/battle_terrain/cave/palette.pal | 51 +++++ graphics/battle_terrain/cave/tiles.png | Bin 0 -> 864 bytes .../battle_terrain/long_grass/anim_map.bin | Bin 0 -> 2048 bytes .../battle_terrain/long_grass/anim_tiles.png | Bin 0 -> 1127 bytes graphics/battle_terrain/long_grass/map.bin | Bin 0 -> 4096 bytes .../battle_terrain/long_grass/palette.pal | 51 +++++ graphics/battle_terrain/long_grass/tiles.png | Bin 0 -> 900 bytes graphics/battle_terrain/plain/palette.pal | 51 +++++ .../battle_terrain/pond_water/anim_map.bin | Bin 0 -> 2048 bytes .../battle_terrain/pond_water/anim_tiles.png | Bin 0 -> 592 bytes graphics/battle_terrain/pond_water/map.bin | Bin 0 -> 4096 bytes .../battle_terrain/pond_water/palette.pal | 51 +++++ graphics/battle_terrain/pond_water/tiles.png | Bin 0 -> 732 bytes graphics/battle_terrain/rock/anim_map.bin | Bin 0 -> 2048 bytes graphics/battle_terrain/rock/anim_tiles.png | Bin 0 -> 760 bytes graphics/battle_terrain/rock/map.bin | Bin 0 -> 4096 bytes graphics/battle_terrain/rock/palette.pal | 51 +++++ graphics/battle_terrain/rock/tiles.png | Bin 0 -> 725 bytes graphics/battle_terrain/sand/anim_map.bin | Bin 0 -> 2048 bytes graphics/battle_terrain/sand/anim_tiles.png | Bin 0 -> 644 bytes graphics/battle_terrain/sand/map.bin | Bin 0 -> 4096 bytes graphics/battle_terrain/sand/palette.pal | 51 +++++ graphics/battle_terrain/sand/tiles.png | Bin 0 -> 805 bytes graphics/battle_terrain/sky/anim_map.bin | Bin 0 -> 2048 bytes graphics/battle_terrain/sky/anim_tiles.png | Bin 0 -> 961 bytes graphics/battle_terrain/sky/map.bin | Bin 0 -> 4096 bytes graphics/battle_terrain/sky/palette.pal | 51 +++++ graphics/battle_terrain/sky/tiles.png | Bin 0 -> 820 bytes .../stadium/battle_frontier.pal | 51 +++++ graphics/battle_terrain/stadium/map.bin | Bin 0 -> 4096 bytes graphics/battle_terrain/stadium/palette1.pal | 51 +++++ graphics/battle_terrain/stadium/palette2.pal | 51 +++++ graphics/battle_terrain/stadium/palette3.pal | 51 +++++ graphics/battle_terrain/stadium/palette4.pal | 51 +++++ graphics/battle_terrain/stadium/palette5.pal | 51 +++++ graphics/battle_terrain/stadium/palette6.pal | 51 +++++ graphics/battle_terrain/stadium/palette7.pal | 51 +++++ graphics/battle_terrain/stadium/tiles.png | Bin 0 -> 712 bytes .../battle_terrain/tall_grass/anim_map.bin | Bin 0 -> 2048 bytes .../battle_terrain/tall_grass/anim_tiles.png | Bin 0 -> 793 bytes graphics/battle_terrain/tall_grass/map.bin | Bin 0 -> 4096 bytes .../battle_terrain/tall_grass/palette.pal | 51 +++++ graphics/battle_terrain/tall_grass/tiles.png | Bin 0 -> 739 bytes .../battle_terrain/underwater/anim_map.bin | Bin 0 -> 2048 bytes .../battle_terrain/underwater/anim_tiles.png | Bin 0 -> 506 bytes graphics/battle_terrain/underwater/map.bin | Bin 0 -> 4096 bytes .../battle_terrain/underwater/palette.pal | 51 +++++ graphics/battle_terrain/underwater/tiles.png | Bin 0 -> 773 bytes graphics/battle_terrain/water/anim_map.bin | Bin 0 -> 2048 bytes graphics/battle_terrain/water/anim_tiles.png | Bin 0 -> 887 bytes graphics/battle_terrain/water/kyogre.pal | 51 +++++ graphics/battle_terrain/water/map.bin | Bin 0 -> 4096 bytes graphics/battle_terrain/water/palette.pal | 51 +++++ graphics/battle_terrain/water/tiles.png | Bin 0 -> 766 bytes graphics/battle_transitions/vs.png | Bin 0 -> 533 bytes graphics/battle_transitions/vs_frame.bin | Bin 0 -> 2048 bytes graphics/battle_transitions/vs_frame.png | Bin 0 -> 317 bytes graphics/contest/nextturn_numbers.png | Bin 0 -> 181 bytes graphics/contest/nextturn_random.png | Bin 0 -> 158 bytes 73 files changed, 1367 insertions(+), 30 deletions(-) create mode 100644 graphics/battle_terrain/building/anim_map.bin create mode 100644 graphics/battle_terrain/building/anim_tiles.png create mode 100644 graphics/battle_terrain/building/map.bin create mode 100644 graphics/battle_terrain/building/palette.pal create mode 100644 graphics/battle_terrain/building/palette2.pal create mode 100644 graphics/battle_terrain/building/palette3.pal create mode 100644 graphics/battle_terrain/building/tiles.png create mode 100644 graphics/battle_terrain/cave/anim_map.bin create mode 100644 graphics/battle_terrain/cave/anim_tiles.png create mode 100644 graphics/battle_terrain/cave/groudon.pal create mode 100644 graphics/battle_terrain/cave/map.bin create mode 100644 graphics/battle_terrain/cave/palette.pal create mode 100644 graphics/battle_terrain/cave/tiles.png create mode 100644 graphics/battle_terrain/long_grass/anim_map.bin create mode 100644 graphics/battle_terrain/long_grass/anim_tiles.png create mode 100644 graphics/battle_terrain/long_grass/map.bin create mode 100644 graphics/battle_terrain/long_grass/palette.pal create mode 100644 graphics/battle_terrain/long_grass/tiles.png create mode 100644 graphics/battle_terrain/plain/palette.pal create mode 100644 graphics/battle_terrain/pond_water/anim_map.bin create mode 100644 graphics/battle_terrain/pond_water/anim_tiles.png create mode 100644 graphics/battle_terrain/pond_water/map.bin create mode 100644 graphics/battle_terrain/pond_water/palette.pal create mode 100644 graphics/battle_terrain/pond_water/tiles.png create mode 100644 graphics/battle_terrain/rock/anim_map.bin create mode 100644 graphics/battle_terrain/rock/anim_tiles.png create mode 100644 graphics/battle_terrain/rock/map.bin create mode 100644 graphics/battle_terrain/rock/palette.pal create mode 100644 graphics/battle_terrain/rock/tiles.png create mode 100644 graphics/battle_terrain/sand/anim_map.bin create mode 100644 graphics/battle_terrain/sand/anim_tiles.png create mode 100644 graphics/battle_terrain/sand/map.bin create mode 100644 graphics/battle_terrain/sand/palette.pal create mode 100644 graphics/battle_terrain/sand/tiles.png create mode 100644 graphics/battle_terrain/sky/anim_map.bin create mode 100644 graphics/battle_terrain/sky/anim_tiles.png create mode 100644 graphics/battle_terrain/sky/map.bin create mode 100644 graphics/battle_terrain/sky/palette.pal create mode 100644 graphics/battle_terrain/sky/tiles.png create mode 100644 graphics/battle_terrain/stadium/battle_frontier.pal create mode 100644 graphics/battle_terrain/stadium/map.bin create mode 100644 graphics/battle_terrain/stadium/palette1.pal create mode 100644 graphics/battle_terrain/stadium/palette2.pal create mode 100644 graphics/battle_terrain/stadium/palette3.pal create mode 100644 graphics/battle_terrain/stadium/palette4.pal create mode 100644 graphics/battle_terrain/stadium/palette5.pal create mode 100644 graphics/battle_terrain/stadium/palette6.pal create mode 100644 graphics/battle_terrain/stadium/palette7.pal create mode 100644 graphics/battle_terrain/stadium/tiles.png create mode 100644 graphics/battle_terrain/tall_grass/anim_map.bin create mode 100644 graphics/battle_terrain/tall_grass/anim_tiles.png create mode 100644 graphics/battle_terrain/tall_grass/map.bin create mode 100644 graphics/battle_terrain/tall_grass/palette.pal create mode 100644 graphics/battle_terrain/tall_grass/tiles.png create mode 100644 graphics/battle_terrain/underwater/anim_map.bin create mode 100644 graphics/battle_terrain/underwater/anim_tiles.png create mode 100644 graphics/battle_terrain/underwater/map.bin create mode 100644 graphics/battle_terrain/underwater/palette.pal create mode 100644 graphics/battle_terrain/underwater/tiles.png create mode 100644 graphics/battle_terrain/water/anim_map.bin create mode 100644 graphics/battle_terrain/water/anim_tiles.png create mode 100644 graphics/battle_terrain/water/kyogre.pal create mode 100644 graphics/battle_terrain/water/map.bin create mode 100644 graphics/battle_terrain/water/palette.pal create mode 100644 graphics/battle_terrain/water/tiles.png create mode 100644 graphics/battle_transitions/vs.png create mode 100644 graphics/battle_transitions/vs_frame.bin create mode 100644 graphics/battle_transitions/vs_frame.png create mode 100644 graphics/contest/nextturn_numbers.png create mode 100644 graphics/contest/nextturn_random.png diff --git a/asm/battle_1.s b/asm/battle_1.s index cb1f6817c..6215fc86e 100644 --- a/asm/battle_1.s +++ b/asm/battle_1.s @@ -1152,13 +1152,13 @@ sub_800FAE0: @ 800FAE0 ands r0, r1 cmp r0, 0 beq _0800FB94 - ldr r0, _0800FB68 @ =gUnknown_8E7737C + ldr r0, _0800FB68 @ =gFile_graphics_battle_transitions_vs_frame_sheet ldr r1, _0800FB6C @ =0x06004000 bl LZDecompressVram - ldr r0, _0800FB70 @ =gUnknown_8E77598 + ldr r0, _0800FB70 @ =gFile_graphics_battle_transitions_vs_sheet ldr r1, _0800FB74 @ =0x06010000 bl LZDecompressVram - ldr r0, _0800FB78 @ =gUnknown_8E77570 + ldr r0, _0800FB78 @ =gFile_graphics_battle_transitions_vs_frame_palette movs r1, 0x60 movs r2, 0x20 bl LoadCompressedPalette @@ -1169,7 +1169,7 @@ sub_800FAE0: @ 800FAE0 ldr r1, _0800FB7C @ =0x00005c04 movs r0, 0xA bl SetGpuReg - ldr r4, _0800FB80 @ =gUnknown_8E77464 + ldr r4, _0800FB80 @ =gFile_graphics_battle_transitions_vs_frame_tilemap movs r0, 0x1 adds r1, r4, 0 movs r2, 0 @@ -1201,13 +1201,13 @@ sub_800FAE0: @ 800FAE0 b _0800FC26 .align 2, 0 _0800FB64: .4byte gBattleTypeFlags -_0800FB68: .4byte gUnknown_8E7737C +_0800FB68: .4byte gFile_graphics_battle_transitions_vs_frame_sheet _0800FB6C: .4byte 0x06004000 -_0800FB70: .4byte gUnknown_8E77598 +_0800FB70: .4byte gFile_graphics_battle_transitions_vs_sheet _0800FB74: .4byte 0x06010000 -_0800FB78: .4byte gUnknown_8E77570 +_0800FB78: .4byte gFile_graphics_battle_transitions_vs_frame_palette _0800FB7C: .4byte 0x00005c04 -_0800FB80: .4byte gUnknown_8E77464 +_0800FB80: .4byte gFile_graphics_battle_transitions_vs_frame_tilemap _0800FB84: .4byte gUnknown_202297A _0800FB88: .4byte 0x0000ff5c _0800FB8C: .4byte gUnknown_202297E diff --git a/asm/battle_anim_80A22E8.s b/asm/battle_anim_80A22E8.s index 18a6f3ddd..c7048f9e4 100644 --- a/asm/battle_anim_80A22E8.s +++ b/asm/battle_anim_80A22E8.s @@ -38100,15 +38100,15 @@ _080B4854: bl sub_80752A0 mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080B48F0 @ =gUnknown_8E79354 + ldr r1, _080B48F0 @ =gFile_graphics_battle_anims_backgrounds_sandstorm_brew_tilemap bl sub_807543C mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080B48F4 @ =gUnknown_8E794D0 + ldr r1, _080B48F4 @ =gFile_graphics_battle_anims_backgrounds_sandstorm_brew_sheet mov r2, sp ldrh r2, [r2, 0xA] bl sub_80753B4 - ldr r0, _080B48F8 @ =gUnknown_8E799FC + ldr r0, _080B48F8 @ =gFile_graphics_battle_anims_sprites_261_palette mov r1, sp ldrb r1, [r1, 0x8] lsls r1, 4 @@ -38154,9 +38154,9 @@ _080B48CA: _080B48E4: .4byte 0x00003f42 _080B48E8: .4byte gUnknown_2022978 _080B48EC: .4byte gUnknown_202297A -_080B48F0: .4byte gUnknown_8E79354 -_080B48F4: .4byte gUnknown_8E794D0 -_080B48F8: .4byte gUnknown_8E799FC +_080B48F0: .4byte gFile_graphics_battle_anims_backgrounds_sandstorm_brew_tilemap +_080B48F4: .4byte gFile_graphics_battle_anims_backgrounds_sandstorm_brew_sheet +_080B48F8: .4byte gFile_graphics_battle_anims_sprites_261_palette _080B48FC: .4byte gUnknown_2037F02 _080B4900: .4byte gUnknown_2037F1A _080B4904: .4byte gTasks diff --git a/data/graphics.s b/data/graphics.s index f99ea96df..62dd2c823 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -13429,28 +13429,188 @@ gFile_graphics_pokemon_footprints_question_mark_footprint:: @ 8E7735C .incbin "graphics/pokemon/footprints/question_mark_footprint.1bpp" .align 2 - @ THIS IS ./graphics/battle_transitions/vs_frame.4bpp.lz -gUnknown_8E7737C:: @ 8E7737C - .incbin "baserom.gba", 0xE7737C, 0xE8 +gFile_graphics_battle_transitions_vs_frame_sheet:: @ 8E7737C + .incbin "graphics/battle_transitions/vs_frame.4bpp.lz" -gUnknown_8E77464:: @ 8E77464 - .incbin "baserom.gba", 0xE77464, 0x10C + .align 2 +gFile_graphics_battle_transitions_vs_frame_tilemap:: @ 8E77464 + .incbin "graphics/battle_transitions/vs_frame.bin.lz" -gUnknown_8E77570:: @ 8E77570 - .incbin "baserom.gba", 0xE77570, 0x28 + .align 2 +gFile_graphics_battle_transitions_vs_frame_palette:: @ 8E77570 + .incbin "graphics/battle_transitions/vs_frame.gbapal.lz" -gUnknown_8E77598:: @ 8E77598 - .incbin "baserom.gba", 0xE77598, 0x1DBC + .align 2 +gFile_graphics_battle_transitions_vs_sheet:: @ 8E77598 + .incbin "graphics/battle_transitions/vs.4bpp.lz" @from ruby -gUnknown_8E79354:: @ 8E79354 - .incbin "baserom.gba", 0xE79354, 0x17C + .align 2 +gFile_graphics_battle_terrain_plain_palette_palette:: @ 8E777A8 + .incbin "graphics/battle_terrain/plain/palette.gbapal.lz" -gUnknown_8E794D0:: @ 8E794D0 - .incbin "baserom.gba", 0xE794D0, 0x52C + .align 2 +gFile_graphics_battle_terrain_building_tiles_sheet:: @ 8E777E4 + .incbin "graphics/battle_terrain/building/tiles.4bpp.lz" -gUnknown_8E799FC:: @ 8E799FC - .incbin "baserom.gba", 0xE799FC, 0x20B4 + .align 2 +gFile_graphics_battle_terrain_stadium_battle_frontier_palette:: @ 8E77D90 + .incbin "graphics/battle_terrain/stadium/battle_frontier.gbapal.lz" + .align 2 +gFile_graphics_battle_terrain_building_map_tilemap:: @ 8E77DCC + .incbin "graphics/battle_terrain/building/map.bin.lz" + + .align 2 +gFile_graphics_battle_terrain_stadium_tiles_sheet:: @ 8E7807C + .incbin "graphics/battle_terrain/stadium/tiles.4bpp.lz" + + .align 2 +gFile_graphics_battle_terrain_stadium_map_tilemap:: @ 8E78684 + .incbin "graphics/battle_terrain/stadium/map.bin.lz" + + .align 2 +gFile_graphics_battle_terrain_building_palette_palette:: @ 8E78934 + .incbin "graphics/battle_terrain/building/palette.gbapal.lz" + + .align 2 +gFile_graphics_battle_terrain_water_kyogre_palette:: @ 8E78974 + .incbin "graphics/battle_terrain/water/kyogre.gbapal.lz" + + .align 2 +gFile_graphics_battle_terrain_cave_groudon_palette:: @ 8E789B0 + .incbin "graphics/battle_terrain/cave/groudon.gbapal.lz" + + .align 2 +gFile_graphics_battle_terrain_building_palette2_palette:: @ 8E78A08 + .incbin "graphics/battle_terrain/building/palette2.gbapal.lz" + + .align 2 +gFile_graphics_battle_terrain_building_palette3_palette:: @ 8E78A44 + .incbin "graphics/battle_terrain/building/palette3.gbapal.lz" + + .align 2 +gFile_graphics_battle_terrain_stadium_palette1_palette:: @ 8E78A80 + .incbin "graphics/battle_terrain/stadium/palette1.gbapal.lz" + + .align 2 +gFile_graphics_battle_terrain_stadium_palette2_palette:: @ 8E78AE0 + .incbin "graphics/battle_terrain/stadium/palette2.gbapal.lz" + + .align 2 +gFile_graphics_battle_terrain_stadium_palette3_palette:: @ 8E78B4C + .incbin "graphics/battle_terrain/stadium/palette3.gbapal.lz" + + .align 2 +gFile_graphics_battle_terrain_stadium_palette4_palette:: @ 8E78B9C + .incbin "graphics/battle_terrain/stadium/palette4.gbapal.lz" + + .align 2 +gFile_graphics_battle_terrain_stadium_palette5_palette:: @ 8E78BE4 + .incbin "graphics/battle_terrain/stadium/palette5.gbapal.lz" + + .align 2 +gFile_graphics_battle_terrain_stadium_palette6_palette:: @ 8E78C28 + .incbin "graphics/battle_terrain/stadium/palette6.gbapal.lz" + + .align 2 +gFile_graphics_battle_terrain_stadium_palette7_palette:: @ 8E78C78 + .incbin "graphics/battle_terrain/stadium/palette7.gbapal.lz" @from ruby + + .align 2 +gFile_graphics_battle_terrain_building_anim_tiles_sheet:: @ 8E78CB4 + .incbin "graphics/battle_terrain/building/anim_tiles.4bpp.lz" + + .align 2 +gFile_graphics_battle_terrain_building_anim_map_tilemap:: @ 8E790C4 + .incbin "graphics/battle_terrain/building/anim_map.bin.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_261_sheet:: @ 8E791E8 + .incbin "graphics/battle_anims/sprites/261.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_sandstorm_brew_tilemap:: @ 8E79354 + .incbin "graphics/battle_anims/backgrounds/sandstorm_brew.bin.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_sandstorm_brew_sheet:: @ 8E794D0 + .incbin "graphics/battle_anims/backgrounds/sandstorm_brew.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_261_palette:: @ 8E799FC + .incbin "graphics/battle_anims/sprites/261.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_260_sheet:: @ 8E79A24 + .incbin "graphics/battle_anims/sprites/260.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_260_palette:: @ 8E79BE0 + .incbin "graphics/battle_anims/sprites/260.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_15_sheet:: @ 8E79BF8 + .incbin "graphics/battle_anims/backgrounds/15.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_15_palette:: @ 8E7A568 + .incbin "graphics/battle_anims/backgrounds/15.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_15_tilemap:: @ 8E7A58C + .incbin "graphics/battle_anims/backgrounds/15.bin.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_262_sheet:: @ 8E7A784 + .incbin "graphics/battle_anims/sprites/262.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_262_palette:: @ 8E7A858 + .incbin "graphics/battle_anims/sprites/262.gbapal.lz" + + .align 2 +gUnknown_8E7A880:: @ 8E7A880 + .incbin "baserom.gba", 0xE7A880, 0x5C + + .align 2 +gFile_graphics_contest_nextturn_numbers:: @ 8E7A8DC + .incbin "graphics/contest/nextturn_numbers.4bpp" + @ .incbin "baserom.gba", 0xE7A8DC, 0x0080 + + .align 2 +gFile_graphics_contest_nextturn_random:: @ 8E7A95C + .incbin "graphics/contest/nextturn_random.4bpp" + @ .incbin "baserom.gba", 0xE7A95C, 0x0020 + + .align 2 +gFile_graphics_battle_anims_sprites_264_sheet:: @ 8E7A97C + .incbin "graphics/battle_anims/sprites/264.4bpp.lz" + @ .incbin "baserom.gba", 0xE7A97C, 0x0020 + + .align 2 +gFile_graphics_battle_anims_sprites_264_palette:: @ 8E7A99C + .incbin "graphics/battle_anims/sprites/264.gbapal.lz" + @ .incbin "baserom.gba", 0xE7A99C, 0x0018 + + .align 2 +gFile_graphics_battle_anims_sprites_265_palette:: @ 8E7A9B4 + .incbin "graphics/battle_anims/sprites/265.gbapal.lz" + @ .incbin "baserom.gba", 0xE7A9B4, 0x0018 + + .align 2 +gFile_graphics_battle_anims_sprites_067_palette:: @ 8E7A9CC + .incbin "graphics/battle_anims/sprites/067.gbapal.lz" + @ .incbin "baserom.gba", 0xE7A9CC, 0x0020 + + .align 2 +gFile_graphics_battle_anims_sprites_068_palette:: @ 8E7A9EC + .incbin "graphics/battle_anims/sprites/068.gbapal.lz" + @ .incbin "baserom.gba", 0xE7A9EC, 0x0020 + + .align 2 +gUnknown_8E7AA0C:: @ 8E7AA0C + .incbin "baserom.gba", 0xE7AA0C, 0x10A4 + gUnknown_8E7BAB0:: @ 8E7BAB0 .incbin "baserom.gba", 0xE7BAB0, 0x3744 @@ -13569,7 +13729,11 @@ gUnknown_8E86D6C:: @ 8E86D6C .incbin "baserom.gba", 0xE86D6C, 0x22C gUnknown_8E86F98:: @ 8E86F98 - .incbin "baserom.gba", 0xE86F98, 0xCB7C + .incbin "baserom.gba", 0xE86F98, 0x90 + + @ THIS IS ITEM ICONS +gUnknown_8E87028:: @ 8E87028 + .incbin "baserom.gba", 0xE87028, 0xCAEC gUnknown_8E93B14:: @ 8E93B14 .incbin "baserom.gba", 0xE93B14, 0x24 diff --git a/graphics/battle_terrain/building/anim_map.bin b/graphics/battle_terrain/building/anim_map.bin new file mode 100644 index 0000000000000000000000000000000000000000..432e41c2f7f34e1c82aebe7f0445864baae7be8b GIT binary patch literal 2048 zcmeHFNfLk{46D2Fs{H>|Qn6-=Ivzb(a)EA1GYBN`YX=sr4HDAD5v{t5>+k8%pBRo# zo2osWW|dYYE<0j!$mNxH%ubKZR^9x)jFOMpr<*C#4X8@1y&7uCaB4)PGS^Mtxf{mP OA153L2f~3b9M}L87;(-3 literal 0 HcmV?d00001 diff --git a/graphics/battle_terrain/building/anim_tiles.png b/graphics/battle_terrain/building/anim_tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..a627523d848c12075bd2cb45a06accd76047c7fa GIT binary patch literal 308 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?I3?vN&YJLEz2?0JKu0Z<#|Nr-nE_ruv%e!Z1 zpPgOu?cK9`SGPR7x&|l(1mC{R`Sxwgw{K^^eS7xp+c%&HR`oyyVC7iUe>>a#|J{;r z_vZY6x90!1Ef8h6$p13yqJeVpo-U3d8I5nxZ{%z+5OEC@lszDN$DxGbV7`9G@AXLm z-BTQoyqaV5LGNei*Ur>EK7#MRo&C`#0Ohn>RPIVC0@m>h5rB;x7n=d#Wzp$P!^QI72Z literal 0 HcmV?d00001 diff --git a/graphics/battle_terrain/building/map.bin b/graphics/battle_terrain/building/map.bin new file mode 100644 index 0000000000000000000000000000000000000000..d7bee60353130554304bf46e6b6268c799fe24c1 GIT binary patch literal 4096 zcmeIzMUDeO5JXWAGc)=PGcz+YGuZb(#GJtDMO*Snu8L(TQkj1dk(Q37lz93Tl$k(* zLPd&|C{?Chg-TVb)u>e$Nv>XlMopTvXw{}&hfZC(_2`w1^wX!`fI&lsjTkj%+=NL} zrp-k9XU&v_Ttr>cOO1|`Sug(PlOi;1Oj&93BV+ J0*PEV_#ZI{@Bjb+ literal 0 HcmV?d00001 diff --git a/graphics/battle_terrain/building/palette.pal b/graphics/battle_terrain/building/palette.pal new file mode 100644 index 000000000..219cef565 --- /dev/null +++ b/graphics/battle_terrain/building/palette.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +255 255 255 +222 197 164 +238 222 180 +238 230 205 +230 205 164 +246 238 230 +222 213 180 +230 213 172 +0 0 0 +0 0 0 +246 246 156 +246 246 180 +246 246 205 +246 246 230 +246 246 246 +0 0 0 +255 255 255 +222 197 164 +238 222 180 +238 230 205 +230 205 164 +246 238 230 +222 213 180 +246 246 205 +0 0 0 +0 0 0 +246 246 156 +246 246 180 +246 246 205 +246 246 230 +246 246 246 +0 0 0 +246 205 139 +255 238 164 +246 222 156 +255 238 172 +255 246 180 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/building/palette2.pal b/graphics/battle_terrain/building/palette2.pal new file mode 100644 index 000000000..3ca2e0b0c --- /dev/null +++ b/graphics/battle_terrain/building/palette2.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +255 255 255 +205 189 148 +222 213 172 +238 230 197 +205 197 156 +246 238 222 +213 205 164 +222 213 156 +0 0 0 +0 0 0 +213 189 148 +230 213 180 +238 230 213 +246 238 230 +246 246 246 +0 0 0 +255 255 255 +205 189 148 +222 213 172 +238 230 197 +205 197 156 +246 238 222 +213 205 164 +222 213 156 +0 0 0 +0 0 0 +213 189 148 +230 213 180 +238 230 213 +246 238 230 +246 246 246 +0 0 0 +164 197 246 +205 246 255 +180 222 255 +189 230 255 +197 238 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/building/palette3.pal b/graphics/battle_terrain/building/palette3.pal new file mode 100644 index 000000000..cebf5e687 --- /dev/null +++ b/graphics/battle_terrain/building/palette3.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +255 255 255 +205 189 148 +222 213 172 +238 230 197 +205 197 156 +246 238 222 +213 205 164 +222 213 156 +0 0 0 +0 0 0 +213 189 148 +230 213 180 +238 230 213 +246 238 230 +246 246 246 +0 0 0 +255 255 255 +205 189 148 +222 213 172 +238 230 197 +205 197 156 +246 238 222 +213 205 164 +222 213 156 +0 0 0 +0 0 0 +213 189 148 +230 213 180 +238 230 213 +246 238 230 +246 246 246 +0 0 0 +255 222 65 +255 255 180 +255 238 74 +255 246 115 +255 255 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/building/tiles.png b/graphics/battle_terrain/building/tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..9a031c2974b1934b47d4388fc1039f3d2b9d1ceb GIT binary patch literal 709 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?I3?vN&YJLEz2?0JKu0Z<#|Nr-nE_ruv%e!Z1 zpPgOu?cK9`SGPR7x&|l(1mC{R`Sxwgw{K^^eS7xp+c%&HR`oyyVC7iUe>>a#|J{;r z_vZY6x90!1Ef8h6$p13yq8S(%KX|%0hGaCpoo1bN*g>G}J6GETW)7B@i*J;66i5dM ztZP2IO|L0%zE=4u(W2HE#n6D&Z!-2=vP(;SYt<<6EI4sb#=p5YkJ}45ZTv7HXqs5o zfqL$Sii`r{OY^Ch1G>??M<*XatJbtp;IW|?L za&P6u%!=#_kDl~O{<&tqjw3DT&0C=|i|w|isti&yj^7e_v3&i@BaO4eD~|m)^$^iu zD0TRw_#rQ$fSK#Bl!jo(`a|z`g(fchX~_QY$ovG63tWqS_jPP%Xm#Jprq#H6$`76D zrc{9$4!-Yi^oShU=C9zz5N5gFpmnLoiUT4VK`d-ljc+TNyeIDIt`gjx%**+kL3BlN zL96BwZU?6C-6t03{V}qnoITa z`zrf*A917@%&%AY;GQk8k^A0>%I69XRivKIsT2>&U%YP4C+47*Z_L*xy8RE@zi#=B zzANI7Dj!X8cvijW<*8sE+k+)f^ImW-ub!;vP@CdvW`1|(n&P=kS3a(+2#;BDVEvkd l(;qn(E@a|4Y=A(<&GMcs**kiUy9k2Pg{P~Z%Q~loCIIs`PrU#D literal 0 HcmV?d00001 diff --git a/graphics/battle_terrain/cave/anim_map.bin b/graphics/battle_terrain/cave/anim_map.bin new file mode 100644 index 0000000000000000000000000000000000000000..0ab486890d3bdd74a68541988efb06eea3898894 GIT binary patch literal 2048 zcmeH_RZ|uK5JivOU^fVgg4o@96fiJR1iQPtun18U6uY~-ySw!-={LUd0y91^!+dvN z@4d5gc9Gx|9{~!dpKgYkW=TN>wk|Y3jp@u_CbO8$9OpXE`7B@|i&)GOmi{d$MQO@d z)^e7o0u`x5WvWosYK9ofGM2M~m8@d5Yh3F(*SmoX1Gn*N;(;2lEpT&-R=%^+{rF-$zwNrh#=CYHZ#iRwji1qTN-OCTGNKMv?JfW z?qfd(IOrh{d&Hw2<2WZc$th0Lo(^`jlb!8iSGv*N9`>}Cz3pRP`*Fszp7T5xyyzt_ zd&R3>^SU><=`C+7{T*PO@g_LXK@N6^i4Jv`!yVyB?|9dH-uHnIedJ@G_|#`U_k}Ng zp3>{wGwb)4g!;6x`m*(px-jcvm*ci literal 0 HcmV?d00001 diff --git a/graphics/battle_terrain/cave/anim_tiles.png b/graphics/battle_terrain/cave/anim_tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..464a2058b55b075e7d546a7ca4d66374a2bf3274 GIT binary patch literal 1416 zcmbW1`#aQm6vsc`nPGAtjX`pm^+-s&xfB~}#+_slr9s5FG@}Mnv6B6UT@$&iWR^y0 z8o7-7b!Xo`d`&kU=FsF;|9U6)+j>FGb%^PF>D@8^BabACKmeZ1XN6m=8<04g5t z&VDk&Ukinlbqh?&XBqN+y!>5c6t<-I3rU=8QVWaHQ4`+5p|`L|LJnP~$3&ExY`>Pm z@D3J5$e{>p=>KD%;z=x|`?X|~L@nu4B9`oeOn*z6^KB|KzlCy$pBMmCvxhU$KjzA8 zv0dJ~0~lCEY-Tu$3nJZ>GY{k9`uwR%J)5OHP+%}l0xT}WfgLw1gE>8qBUO7w=JOOo z4Ktfk#C~X$g1xYAR+OSUkj`2dh_YE7*_I|<)>hF> zAp%u`X*76>1CJhpfv1L=1t^3nKdK7#=nlL$JqdxQw27PvD#>V%KwY&i*c4#o|IkB0 z1fwzwd@d5as57@irhzA;O(|KKfUL2X()Z7yRv5KudN;x{=u_A$*)$B^ zx2?ydKTFDEq`G|n5mMBS_i|+`za$DAb=B^I{RaTD+EL41tboRZ z{?-=6N9Uzk3Bt9KTIl&fDybRQh@_mvKTd?pA*WNzhnMLC%#cSY~NA+(0LH z?f^A8YIsUwWOs4(N%!6dg8lbs8IQPbm%9r_5E)x-b=UH+$9>QY)n!kjxBoB3EFHm- zSJoFKM()%&_``7OpQxUL2JV8kgwvf!W|>=jS*k74aSMnSaAm{ywY}L z+hLk9@h?G@(RO!CK;=;GE8D8FV!*#9sUYoUsd>gz)CmwBBKm^rU-9kigk zxLokU{8$4#Moz51$&-Q)n&i~(^Yv?wpHP8ae%7>*+Hv)q{eq^y12(q27&(=!R3nJ@ zfkp3j5Y|SvTV_QSu^#H|pBt>6TVz!(kIPXfAWCJ3RCl4oV!0z4a7ODS;stHN6<$00 z!sH>sa(Nrw2DFBw@%)`fI8b=Quw}gl+5NBLNnF+qFPzq;CL*k*f|2^sQ2TP)L+IC4 zpea29+1EHIHhNpHsG!tSHKuxZvdQpaB`lr^B7nRRsk@S)mEDE5FXYlz)*Zl5MX#Nw z6)np{^BI(}8FSCrGqn76ppk@WGA*I{J>NuO3wWXg}+^OQf{*@s(?4F19Va?v(Mn5*eR3U=EH6SauZd3yjyil zzvNrOD@?&1X zso*bVEVT_Z5F$(?5u!BFObe~F5u=?B;!bm&bkR)@y(H+Pp8*CLVwe#|8DreZLy`$5 znPQq5Qlyz>jtuiGu*i~=7t5@$${JbL*ZJCp` zcTLjXCB<9jL>*mH3}oNCnzg1oXv>tOy>qgTF3CE&rkD)%SzeA)ii5UvM_t|0{Osx+ zpb0=W1OY`LvOqxy;E4^o#=yYT?djqelF|5f+Qz)w1_Etgx!9~q(jFX?Q(iukn>&)* zLf{VrCriF8mvgcBdd5edt9Shr{l!(=y3c9(f)mR=Rj8EOTDE(nO4wW z?fm7T(@M2?R;GiWMLzFX$h6^aY3J;%+oxxJlSp%z|NQMzEyturrU3RM`EP?tCvJWl zY0Y;z=KmVUgI^rF9rko*&Z@056<9A9nkVLy%Qv&X{gz{5|HoXbx@#t7=Bp=^`kTpR zsn4vl4my6uWXo2r`6c|*)Kues=h%mEoVxEMZ8V$Vn%}29wnuCCcq;BbJa5LW{%5j{ zpR8K>ZyLSdZ8xW!=ZXLa&+}TB2j{qNe79iQerd{wCw_v}{mviDRLwSSHr-RvW?QEk zvf%td>tAxmAA~tE$*cbj%yZk{l;&^8_Ro-&XY14&pA{Q?k2r7Mu{-kGIe`oOoeL$R zel(wb^e)Z8d8UQ^3nuU2chLva3d_57&hoNkt@`FMJI%2C^RidRob5watX?SQgO`SjdAOCWp{_h%QuMS2oF}7&@@9^OMmj_d}Pw1#UYiaRV zWl~YxPu&aa4c|JwTz~Oj+jO1BT5ApeTZ%uNuJeae_9V-rP_DbE9?o0wYc#)w*y9`y~?@q)NWG;3p3i~1LP;*i#lmFq{OTNn<#LQ>D@-g^x t>}NODe_s4`nROZWRx~JZG$ByW1OA8SYJWt(3sM3lP)}Dsmvv4FO#ot}m%RW0 literal 0 HcmV?d00001 diff --git a/graphics/battle_terrain/long_grass/anim_map.bin b/graphics/battle_terrain/long_grass/anim_map.bin new file mode 100644 index 0000000000000000000000000000000000000000..bd86cce6c89ee47b89377b9a808358e1ce02f2ab GIT binary patch literal 2048 zcmeIx*E<$)7{}okAq^U&sUb=cl{ApMWHivyK$$I-L`sPYC8d-WCH<@Zgx_HY@B5tI zN6+WFzL7|jpE&UnERiTlvZYciv)l?RrAiYC_$sTdu~xba>ttGQgN-)XY>O;gg?yXs zcF49N>@)g*pP{@nycfdi#4k>Zi5l0&wKqnM8TZyZ6W*Kj!ADa*`D|LqzxZm#H{bp6(=W5;{PxGZ VzZU!x@+eL{!l{XZc8yUJub?cPwikjw@VcmoJ@LoN zX2uemJB3_8{=!39#O`3>`|HXO&wG6P%n*?zcAj)JABn`i@XE?4zB4;?*|sT>_(;&V zU>U;j?dq;1X-CzX-LbE=B3Jy+pcN)H7;5}9eRWKB+3I2FZLd<<*$lzvfjB{P&V{>} z(st80$)FP7v26-HJLsRCU4aua?-uZ!FJ}plW4l}6`HM*2T1>XNbs(LqWLU|A{sva# z<8x_rB*{nL5PFnM>?B`7-RRC=+pw0@U~M7abW7?<=AxV8Go?N5bWS1=gHcDyxi^cw zmA4~(I(^ydns1v}r1dI~_x<7M&&Ze16P|<{93&>i)19@b3(LeQ+^1S(E{H>)P1X^# zmPrpE6~|>AhXu?$_tQxR$2oHDK)q3n?`Qesxz;rHArCr=Os1!9JCP^kFuI|K4u4Bx zN^U2cUkCf>aoDZlZ`lCp;XpekSgCCL9y9YWTK*mkz(p_-|J{Y~vjNzL{l%CAl*9Tn z3aB&xNchmBV8U5M=8&0m-7Xts?2H|ggK8to+RSIO`?v`V71Uk-#05@2OTCW#&;ZjX zNkV?07`mz&5DSHr2uMjMlm-IPliIp1APhK#E{!8ter?_rT0K9AA}T)?M?K%P4vg#}?UNMQ>+R1)xDo~`F5 zyes{!yb*?eXJRkeLM6bk#}j_w8RwdG?aJWBprniTCa-mlTtfPn9l}!C=FLLcT(Dg^ zEjzruBnfo0QdmozCN1&@vQ_!ht+){acrpa!zyo0PaP0j(*fOKvYMgVW5M)c~V2l7c z49)XHaOurn?&1X zso*bVEVT_Z5F$(?5u!BFObe~F5u=?B;!bm&bkR)@y(H+Pp8*CLVwe#|8DreZLy`$5 znPQq5Qlyz>jtuiGu*i~=7t5@$${JbL*uFl1tlhfA)_b}*hGaCpo#ve-V<^z}n~PbI{esWqzZpX7lgsz;mI%bP&p2k?e0YJh z#QT~BF^b_QL^pA%?e?7dYN31ifxC|aP9LZF-jtV(#~! z33zc|M(FP@>0QOvD`U-L>}9w_8y3#~*88f>o>^{vN!I&V#rLKYx@QXsOqzJo|NA=g zMU$h2ukJdnFLZ1LTffQ9^z?#~4^LSiD77fvy!%8m=Hi`Kx((aRKRo}~KD{HV>#-8+ zgD=bd7O}0K7U0LA#;|9}6M>D&49^<>RVQDI-oiIonW1i%N}~V^FT-mg&V_6Yj{omP zur*9%;;A)aU=vM<>RTvS&+sAnj|)Sqw}e(g|GsITlbwoxc>e3S8YR8Bj8RxqP=G^z z0h_=9>1Vqic-UpQZ)_-M@u>0ida~UfB^~qk3US7P-jQK>B1X}>tj;9w^ zC`YfA;@fT(x%jLk|6_YaR;@)0I#UDhJ4q~C5W^C|7$C^MsVD2nhe&&-oO{YLPMasm zq%r({AeyhDyPZLYHK1tcD{H?MA$m<*Mf}9 zOP4+`o8>l%@t7~rtdv~a;9J)o@0=i0yncSwh8nN)$NnscD%di${pp*-TV*(A+1*q3 zJzm~Cb5>tM+dt+5_g5aA6RN@9cZZ$3ENRlYiSG~X@xG?f`gFR^FRMqBM1>;DPIj3_ zRGpk8^6#Un_U-H5EtNIwwXAys4s5>ifc=H^i&myp7+~Il`w#M)MO<7$WI>7B)78&q Iol`;+0A^H%4FCWD literal 0 HcmV?d00001 diff --git a/graphics/battle_terrain/plain/palette.pal b/graphics/battle_terrain/plain/palette.pal new file mode 100644 index 000000000..2377b7729 --- /dev/null +++ b/graphics/battle_terrain/plain/palette.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +238 255 230 +156 230 156 +230 230 148 +230 238 164 +189 230 148 +230 246 180 +205 230 172 +172 238 172 +0 0 0 +0 0 0 +164 222 246 +180 230 230 +197 238 222 +213 246 213 +230 255 205 +0 0 0 +238 255 230 +156 230 156 +230 230 148 +230 238 164 +189 230 148 +230 246 180 +205 230 172 +172 238 172 +0 0 0 +0 0 0 +164 222 246 +180 230 230 +197 238 222 +213 246 213 +230 255 205 +0 0 0 +74 189 65 +172 230 172 +106 205 90 +131 213 115 +156 213 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/pond_water/anim_map.bin b/graphics/battle_terrain/pond_water/anim_map.bin new file mode 100644 index 0000000000000000000000000000000000000000..00aee51352769ceaa49384d5280779fbad688127 GIT binary patch literal 2048 zcmeIx#|^?z5CqUq&X{B}#$?KP{Z~Z^7AIt}JEzgyp0r7dgg|WtW*VAW+B&*=`UZwZ v#wMmRReNb}VQD3|wz0LdcW`u4IIG$(u5Rugo?hO*?LYs%6c+*^@UH?NvFC`f literal 0 HcmV?d00001 diff --git a/graphics/battle_terrain/pond_water/anim_tiles.png b/graphics/battle_terrain/pond_water/anim_tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..08568455f9aecc23b6339c4dd5a95c03d7000aa4 GIT binary patch literal 592 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?I3?vN&YJLEz2?0JKu0Z<#|Nlu#o-O&7bo76B z@!2hB{~w)lZ_2a(_qwnC2g=@i1_bY(y?giW8xVj*NL7FK+y5z7-&OB@7B%IbVb)#& zuQ@Tc*ufEA`FqS&yNq^X+SUZ@UDW zZ#fsS>dACNrR8nDdEQ$yoR_^&y}E~WQPR{WS7KalX0>lWl#wIBpBS_Ka`((j+UFi` zF#6ydDR3;9LoZw1_#>zL$#a1_Mfe{a_ByEfPC!J`Y1xBq$L1Y+vBo8J`rK)!r|#I# zpHs2a^}tMi=b(c5i}&rlZKG9SDSYHW*OLq7)057)uCrTuQS%Isv16az4@F<=7e1Pk zX7J2$k9rw?{O0C&1+S)UJyE2o@B2eF+}zsz^byU<>IdqFliB@O@SAgI2){i)d&&HV z`O(w9|NSZUxORTSf2sCObJ#yjd^r2~51)j%Pp`7qpV)e|Kt6BL&(Hv~>s9(^+s~UE znasKEX|2{((IY>$1{b{T{$;WCzG}p(pTB?ZD7gPo5*XMh;D`17bA~4`pZWHFHb~sl L)z4*}Q$iB}m_H#j literal 0 HcmV?d00001 diff --git a/graphics/battle_terrain/pond_water/map.bin b/graphics/battle_terrain/pond_water/map.bin new file mode 100644 index 0000000000000000000000000000000000000000..61f358f53211adb317e138da4d207772c896e39f GIT binary patch literal 4096 zcmeH|*G@uF5Jj&b*idZP%fbeVWm~ZK0@x6HSK$9Y!Y?4_;c76sbN1t8WpdWT>?&1X zso*bVEVT_Z5F$(?5u!BFObe~F5u=?B;!bm&bkR)@y(H+Pp8*CLVwe#|8DreZLy`$5 znPQq5Qlyz>jtuiGu*i~=7t5@$${JbL*vVOoD6WMSUH^y44*XK%c$6!@~vdx_cipS!zj(~q&tJf9UAy3{%J z>gork438qSH%5m&y=&?f81{A7*AFbyROPZYUjJpDxtq zXczQ4m#%-yEucAnYsF^$8yyo$t6tniPcggaFH9onF5p{=>7m3QKaH%p>I{b0^ zyS1{r$Z%F;)0#$s#tK;g$R!rGy7&$?pO?1WxRpb}>Koy@5hz!SMw31X;DE8w{BKxj*%2GrlVjVqYTN zrTd^O^Y^NSDZAviut!NLJ=khuD-bk$l^lQCiX~f1jm6g(mP=Yk#J#=wf^QY$;!IH;Gl&!0o`hQ)_J_A1&Jw!?Zg^k}uw9io5O1 zIkmPdCmsiX(6b0`oP6bh_XkCbV8$i|4g~6Wz`n;k?PFVM(UIL6a73I&@7xELgH)&4w*I_8d5BZ&Ha8BYxKz@nJG+#z$v3 X^m^vP^?Ua_<h4lIiqft~jS_(sAOVSYfvFL*vPh8}2Z%MLhVMxo64?uhS}pYze=%%$0Ds z&Us!(=4XWs!;%K&-c7euj(R3^y??Wq)o;FN1j7e`PYPVSBLkP5zgBH8z2Ti9r_}l< z0W81nulcGc%CWmtgL%`RtH=FwQs%mxzS+-LA#|YY>QtNg_omh_TH=}>&U9jPMUzGE z4RNt(yZ`Gm>>~wnJ@JajydL#;^ET{vv{7%} zdSK<9ho2^%GTv8V9?oyL_O#9k&iki+oI5ARw(dsGe*d*0Q5iw)DMz9&^xZV~Of1~R zaX^^yGQWx%`}TRBe`ZboV%`w!VR*ai{ojfeP5hDy(=zV)t+Fyr;Vn9$c;Xz>CGY%@ zOh>)W*^}Jbz1dz^Z0_xjztE<)@!Sz77FM|@<<;#Ud^S{`U_IpM)Z41IFGy*_JCc zE&Q0yUz%@d%_Lqwoju8Xo^Z`wkrVgZWgF|X_nnMeVcS}_x{vpNJA}HwQ Zb7{xQ>AzZil43!r$?&1X zso*bVEVT_Z5F$(?5u!BFObe~F5u=?B;!bm&bkR)@y(H+Pp8*CLVwe#|8DreZLy`$5 znPQq5Qlyz>jtuiGu*i~=7t5@$${JbL*<|}G%F1bLwp%9L{^b;fwUaGVNO`9t zYEii5`e?3pY?CI#srcu}b4Edw^c>;1a+&_57G*A|P^CtlORj{gmHpbs8#KA*hFex;)UM&wxjw@F#|hc;uaeDcMHE#JibHs6^8&>$N> SqnOVFERvQafh2+BOyCCsF=+h& literal 0 HcmV?d00001 diff --git a/graphics/battle_terrain/sand/anim_tiles.png b/graphics/battle_terrain/sand/anim_tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..79c774acfafe9dae7cf3f73665a0a5a70fc525eb GIT binary patch literal 644 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?I3?vN&YJLEz2?0JKu0Z<#|Fc)GM!kF2{q5VD zXV0?!|KI!WS@Zw@&wx@u@a|ppyLVH7Qs2I9`S$H7Pz0#{-qoOQ-++R9pFJ!7|NkgZ z4O~4~6AE$ksMnG?3is|cqln_*sBDj9XJBAl@9E+glF|5fN^H>~1D=-Ln#LWw7z&uO zOaAY^I;mbseHoA6^4g1b1_GYD=cgXn`9EMs)`V@{KgBt(ea_xczJFuu7QPAhJO0_k zpMU=2t1`<>zB<(%d(Wn(UWR= zy0uS~AO9($oXRlE`Ok*ATO9k;I}Di&yet}9uHXM4U{f{E{S2F+;YG_;41QcpY`5J+ z9Rxc1A~z{qo2fWmz_zrZCt%Sro-8Y)0$zqCY)uFBozq`@>{aCX>2M?KhJr|5)<*_Y zjg_}=T#VZKcH!1tS!bWExfC6~W%1jq=K^eFw(IW;*v-luT6OX*N6qY{7pu&_Enjl1 zqdLU$TEAhLy}En;I>9No;zD-LiJh0Q)34;zzR6S51>AS_ozPx9?ZG3*H|GTJShi%l zZM`+w@qFUs%)nPc&wgcm5a8`k+rQ3n)%Vqz1}pyW-~OG=^7qWrh7Vu)Kh)JHA2@kl z%U6-*yE)6#7w2R9YbBfRFIShiv*NNT>-Dysw_B3U*7zQK$9Zt|!)4*_<}-cNCZ9|( cLZUKV?@#q@Na`%-$p*!$r>mdKI;Vst07D=j&;S4c literal 0 HcmV?d00001 diff --git a/graphics/battle_terrain/sand/map.bin b/graphics/battle_terrain/sand/map.bin new file mode 100644 index 0000000000000000000000000000000000000000..d7bee60353130554304bf46e6b6268c799fe24c1 GIT binary patch literal 4096 zcmeIzMUDeO5JXWAGc)=PGcz+YGuZb(#GJtDMO*Snu8L(TQkj1dk(Q37lz93Tl$k(* zLPd&|C{?Chg-TVb)u>e$Nv>XlMopTvXw{}&hfZC(_2`w1^wX!`fI&lsjTkj%+=NL} zrp-k9XU&v_Ttr>cOO1|`Sug(PlOi;1Oj&93BV+ J0*PEV_#ZI{@Bjb+ literal 0 HcmV?d00001 diff --git a/graphics/battle_terrain/sand/palette.pal b/graphics/battle_terrain/sand/palette.pal new file mode 100644 index 000000000..20f4c3f7c --- /dev/null +++ b/graphics/battle_terrain/sand/palette.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +255 255 205 +213 213 90 +238 238 139 +246 246 172 +230 230 106 +255 255 189 +238 230 131 +255 255 230 +0 0 0 +0 0 0 +238 238 123 +238 238 148 +246 246 172 +246 246 180 +246 246 197 +0 0 0 +255 255 205 +222 213 82 +246 246 148 +246 246 189 +230 230 115 +255 255 197 +238 238 123 +255 255 230 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +197 197 74 +164 156 32 +222 222 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/sand/tiles.png b/graphics/battle_terrain/sand/tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..a4f7342be469fbf36a3c128690c0936a5253f3ce GIT binary patch literal 805 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?I3?vN&YJLEz2?0JKu0Z<#|Fc)GM!kF2{q5VD zXV0?!|KI!WS@Zw@&wx@u@a|ppyLVH7Qs2I9`S$H7Pz0#{-qoOQ-++R9pFJ!7|NkgZ z4O~4~6AE$ksMnG?3is|cqln_*sBDj9XJB9o@N{tu$!L5#%|Gj|fxxlSR`#Xr6E3jI zm`6^ZmBY>TY^`_GNxg2Nn&t_y{8zNUaP4&pS1fs+m8KK<|4zE4risD+v(-1|`5P<0 zmgY{hTw-I#<1B8-v%UXjGQ*K>%?IBPU#PXxzEpPj?RHH?L5W>OZ=B56aNFGfvGn*x ze+l>bC!WS?H5}b>RR3MIa`%gWKdvsF`1Qd|G5N;{YfIIfW^O4jc4&?UThm3eX@_07{#m%M7A6q-h1?H0CHcEN&NYdgJU?8;#b~8^ zRrs;pFPfrGE)jlF#5QrEwtt=8neSWTOpmy(_%KnlW?J6tOL<1F@4w0|=$k+7{WNo} p4_dZAQhz2^E@t96Y=A(U8|?!oNAj;ZZ0rF_cAl<&F6*2UngFvKV8Q?Z literal 0 HcmV?d00001 diff --git a/graphics/battle_terrain/sky/anim_map.bin b/graphics/battle_terrain/sky/anim_map.bin new file mode 100644 index 0000000000000000000000000000000000000000..c1712cdd86ff28292f94175f58dd079d3af05000 GIT binary patch literal 2048 zcmeIw*H;e!0LAg2nY}3^D*iBFSEvk-hgQD_gb@BHOYpYc@K?_^$6Sf#nQwuG7FleGBug!`Tyjyjl+wy5tDN#eR8UbRl~qwy zHPx-KQi@elt(Inuwbog0gN-)XY>OIds-?C%>Z&JHnED!MsF84uHL=w;>9*Tpr(Jg2 zBg0<%WZLh5gPLllxd<(^)JkiS+KAFtJMDGQ(IJN&anv!#op91Ar=4-uIpL@RJVQdwEOVxlX zuj@W`Eg`+K<7Z2U0#TJVx61Jf0ZM5KflBShQI4YL-q<&?YI3QzagB5zmv7t~$tnSC z)*pHRrH`Q;Vc6Ay)E`6)smyL&>>00gH2 zMrPB}i^wg|Z{t3W)ewCYcdf1ZHtA>HXtPSu z#2NqtV$mxfQu-?)<@#9I5PeB;#)0M-fVHy4z6NZ)YAKVBL7U>O8AbpOGjE*lx&YlG zLP>q9Zz13{4G#cKb14T)%MUN+Kw>R_C2Wd@KcH>{AlC`NhAU3#Ze3)#Lt1xO`>t}x zJ_`LssEFf@{S-ln{N#7EB@ZV>Q}4s_ejCKoBtAzTX6A(fzQ3mjH{f|f<^W5y$2`!DA%JCSoW<_yj{qe$j&*U(3(MR}0hp{I&A@<}lI6!c7U&>0Rs3 z3E0;|Lh-xyokwf^Qo8nzlXiWP*CtShO?)zzyJGMLqd0yv2X-5Xb0Q3Lz(wBox(h0m3KsdjJ zlIFMO0A0g@-Wxa~c-jCp!Dz!$KNa!_dCpx6!3DypWPIt!#q5ZU;7Tf-Wj{ja0>=Mw zj@&xz+Ko5ufPcI>H6P4pUbXVu4GGXt2V54bwzmw}etg)Gv~;i!N(f@s^~0{~5b(V` j*XOs~a?35Z{6F#wos?){Mf$#K00000NkvXXu0mjffMwMK literal 0 HcmV?d00001 diff --git a/graphics/battle_terrain/sky/map.bin b/graphics/battle_terrain/sky/map.bin new file mode 100644 index 0000000000000000000000000000000000000000..d7bee60353130554304bf46e6b6268c799fe24c1 GIT binary patch literal 4096 zcmeIzMUDeO5JXWAGc)=PGcz+YGuZb(#GJtDMO*Snu8L(TQkj1dk(Q37lz93Tl$k(* zLPd&|C{?Chg-TVb)u>e$Nv>XlMopTvXw{}&hfZC(_2`w1^wX!`fI&lsjTkj%+=NL} zrp-k9XU&v_Ttr>cOO1|`Sug(PlOi;1Oj&93BV+ J0*PEV_#ZI{@Bjb+ literal 0 HcmV?d00001 diff --git a/graphics/battle_terrain/sky/palette.pal b/graphics/battle_terrain/sky/palette.pal new file mode 100644 index 000000000..1a547d6a1 --- /dev/null +++ b/graphics/battle_terrain/sky/palette.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +213 238 255 +222 230 255 +148 205 255 +172 213 255 +197 222 255 +197 230 255 +172 213 255 +230 246 255 +205 222 246 +238 246 255 +164 213 255 +180 222 255 +197 230 255 +213 238 255 +230 246 255 +0 0 0 +180 238 255 +222 230 255 +148 205 255 +172 213 255 +197 222 255 +197 230 255 +172 213 255 +230 246 255 +205 222 246 +238 246 255 +148 197 255 +164 205 255 +189 222 255 +205 230 255 +230 246 255 +0 0 0 +222 238 255 +230 238 255 +238 246 255 +246 246 255 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +139 172 205 +197 230 255 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/sky/tiles.png b/graphics/battle_terrain/sky/tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..461bba6754ff5351700ef1a42a154ecdc46c90ba GIT binary patch literal 820 zcmV-41Izr0P)cRO2V>}gFDy{<3H_u^P`z>lw}5s81ME~RR*Z4?YF@(3u~YC0#Ey@ zyty33vaGfbeT0Z$Uyj>)l-p^7r+ao?*Xsy%&4JuL!~`xGa(=xt$JH1v)|;;s#-Ij& zzE4FXA1Qz&3=?+Ul6c-pn7TPzW z=vw3rf4KJ?-5^8O|7QC}&4Xb0WNKgn_+Z!{TRxD-v3NAd(B$U$XIq900%&v|m{Yl9 z4P^e1Yl5#E*>Mm06s3bm2+r$ zx;hCCfLob|!Oz`v6>v(sV3>em=jmk*<`*`J>rhT{LxKQ$$bwP`f`Zh5Rf2CI2+D%= zpqG+n4+Z670_xUC(r6)os2V|DiE=xRM>$(8s&~2Q@eg;}M*I7eMelH8|xijM)B5ADq#NBAwwZytmW%cIGUM zOd}~A%Ee$Nv>XlMopTvXw{}&hfZC(_2`w1^wX!`fI&lsjTkj%+=NL} zrp-k9XU&v_Ttr>cOO1|`Sug(PlOi;1Oj&93BV+ J0*PEV_#ZI{@Bjb+ literal 0 HcmV?d00001 diff --git a/graphics/battle_terrain/stadium/palette1.pal b/graphics/battle_terrain/stadium/palette1.pal new file mode 100644 index 000000000..8252e3c5e --- /dev/null +++ b/graphics/battle_terrain/stadium/palette1.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +230 246 255 +65 131 213 +131 197 255 +148 205 246 +82 148 222 +172 213 246 +106 172 238 +98 164 246 +82 148 230 +98 164 246 +65 164 213 +106 189 230 +139 205 238 +180 230 238 +205 238 246 +0 0 0 +255 255 255 +189 189 156 +213 213 197 +230 230 213 +197 197 180 +238 238 222 +205 205 189 +197 197 180 +0 0 0 +0 0 0 +222 230 230 +230 230 238 +230 238 238 +238 246 246 +246 246 255 +0 0 0 +255 213 65 +255 246 197 +255 213 82 +255 230 115 +255 246 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/palette2.pal b/graphics/battle_terrain/stadium/palette2.pal new file mode 100644 index 000000000..48b2d851b --- /dev/null +++ b/graphics/battle_terrain/stadium/palette2.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +222 222 222 +222 106 0 +156 148 156 +172 164 172 +197 106 49 +189 180 189 +172 123 98 +238 131 0 +230 115 0 +246 131 0 +139 139 139 +156 148 156 +180 172 180 +197 189 197 +205 197 213 +0 0 0 +255 255 255 +189 189 156 +213 213 197 +230 230 213 +197 197 180 +238 238 222 +205 205 189 +197 197 180 +0 0 0 +0 0 0 +222 230 230 +230 230 238 +230 238 238 +238 246 246 +246 246 255 +0 0 0 +123 205 164 +189 255 230 +139 222 180 +156 238 197 +172 255 213 +0 0 0 +213 49 0 +255 222 139 +213 106 57 +246 180 16 +255 197 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/palette3.pal b/graphics/battle_terrain/stadium/palette3.pal new file mode 100644 index 000000000..10c5b50d6 --- /dev/null +++ b/graphics/battle_terrain/stadium/palette3.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +230 246 230 +222 197 148 +246 222 172 +230 222 189 +230 205 156 +213 230 205 +238 213 164 +246 222 172 +238 205 164 +230 213 164 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +230 246 230 +205 172 131 +238 213 164 +238 222 189 +213 180 139 +238 230 222 +222 197 148 +230 205 156 +222 189 148 +230 213 164 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +255 213 65 +255 246 197 +255 213 82 +255 230 115 +255 246 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/palette4.pal b/graphics/battle_terrain/stadium/palette4.pal new file mode 100644 index 000000000..201de5471 --- /dev/null +++ b/graphics/battle_terrain/stadium/palette4.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +230 246 230 +197 156 205 +230 205 238 +205 222 230 +205 172 213 +213 213 230 +213 189 222 +213 156 238 +205 164 222 +230 180 238 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +230 246 230 +197 139 205 +230 205 238 +205 222 230 +205 156 213 +213 213 230 +213 180 222 +213 156 238 +205 156 213 +230 180 238 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +189 90 230 +230 213 246 +189 115 230 +197 139 230 +213 189 230 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/palette5.pal b/graphics/battle_terrain/stadium/palette5.pal new file mode 100644 index 000000000..16f50d89b --- /dev/null +++ b/graphics/battle_terrain/stadium/palette5.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +230 246 230 +139 172 238 +180 213 255 +180 213 255 +148 180 238 +189 222 255 +164 197 246 +164 197 255 +148 180 246 +180 213 255 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +230 246 230 +131 164 230 +180 213 255 +180 213 255 +148 180 238 +189 222 255 +164 197 246 +164 197 255 +148 180 246 +180 213 255 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +90 148 238 +172 238 255 +106 172 238 +123 189 246 +164 222 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/palette6.pal b/graphics/battle_terrain/stadium/palette6.pal new file mode 100644 index 000000000..118a6a3bb --- /dev/null +++ b/graphics/battle_terrain/stadium/palette6.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +230 246 230 +246 156 90 +197 197 197 +197 205 205 +230 164 123 +197 222 213 +213 180 156 +255 189 90 +255 172 90 +255 172 32 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +230 246 230 +230 115 32 +164 164 164 +172 189 180 +205 131 74 +180 213 205 +180 148 115 +255 148 32 +246 131 32 +255 172 32 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +238 189 49 +255 255 131 +238 197 57 +246 222 74 +255 246 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/palette7.pal b/graphics/battle_terrain/stadium/palette7.pal new file mode 100644 index 000000000..b0c050be5 --- /dev/null +++ b/graphics/battle_terrain/stadium/palette7.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +246 238 246 +197 115 205 +246 180 246 +238 205 238 +205 131 213 +238 213 238 +222 164 230 +222 148 230 +213 131 222 +238 156 246 +172 106 172 +205 148 205 +230 189 230 +238 213 238 +238 230 238 +0 0 0 +246 238 246 +197 115 205 +246 180 246 +238 205 238 +205 131 213 +238 213 238 +222 164 230 +222 148 230 +213 131 222 +238 156 246 +172 106 172 +205 148 205 +230 189 230 +238 213 238 +238 230 238 +0 0 0 +246 172 0 +255 238 131 +255 180 16 +255 197 41 +255 238 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/tiles.png b/graphics/battle_terrain/stadium/tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..ece531ec077e11555a2d1aafb92571316a544fc1 GIT binary patch literal 712 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?I3?vN&YJLEz2?0JKu0Z#vum1xYTn)3dv#0qyJz=+ z+JPGH?VW;E{r{_u|Gypme>Ld;v*Q2Xnt>+Z0SAOHd}m-_{OsxC7?RQWcG^b2!v+Fv zf4Qa#@C$Huo@236UbN0*!3yK7r(2nwZqBqSf4%tw*B++z2SQ4D?c!zTCoi|)&!iA{WlFQoyLC-ZT4S!qS}|?nI3C4yQ@PjqK`Q_6{Z#so`uG55Oq}ldCNDkwR-l8mwp@f-qDDA zDP?-$_#CbmZ@qW(A9-Wcag*g*WLT3+AJYW(Bl`vB*RmC?jgM?-TGuGlSfT#)JAFYY%)}?|*$6k5%hlOV-1@34+;^ohLQM%x&JhrMZJGPkruU zo2|DO-uJ1_pI80ymxeW$S^SsXXE*R)SpWV=cH^$Ub072S_&6V^6i zT|l+&+lr5Orlmzy6$O7y^NNYyUfkHT^Ye{^pIp)xTdxpun{BS!&KLfk(~7g_`-j<$ zyAK*v$sGC2&r-LNjd@?w_mn%99u}P{b0_|HdUZd;Nd6|jTg;{srOfF%(al%9r+Gf? z*N;56(~t4fkAOXzejyLsvp%e>2%ocp;jjS@0=ax(z5Cx!+v{eJ2Pk!Ty85}Sb4q9e E01aeKd;kCd literal 0 HcmV?d00001 diff --git a/graphics/battle_terrain/tall_grass/anim_map.bin b/graphics/battle_terrain/tall_grass/anim_map.bin new file mode 100644 index 0000000000000000000000000000000000000000..8e7d784f3787b2c46f7928e141daf3212e3f2c8b GIT binary patch literal 2048 zcmeIwMN&gi5J1s~1`7mtf+x7U9o*eD``-mS;0+l4s^2|4ldfAGLOO{qApCR7l&esw zDpZGznoz4Q)N7E{s3`=0drq?!t=hEf(5Xwe9=-bX8;}?CK|_X(7&T^GLD7UsQ>M+B zH7Dlt7A#t_Y{jZI>o#oKvTet%JuzqBfkQ`*oj7&o+=WY5uHCp5^E>w*JbLo%#j7{( YK79J}?MF$>6a9PX@o9myK%xu$0>yAyApigX literal 0 HcmV?d00001 diff --git a/graphics/battle_terrain/tall_grass/anim_tiles.png b/graphics/battle_terrain/tall_grass/anim_tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..85aed13bb294fc1ea92970d742cc2cc5dad68238 GIT binary patch literal 793 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?I3?vN&YJLEz2?0JKu0ZvfY;}V1>*IUB z{9pPpTA}09Z-+Va&Ih{uWNI)KSoU1{!4tCtKfQS7=Nz_fEbru48gAAy+;TITzk%&a zX?ER=!!;}&;uG8yw)w5`2y2el7FU?Y_)vJkoJ)TWzLd3iGn;WC^QSAX^QPx5|Ie7A zyYo^(jDyGm4u(?28y606o#r^e@#5YFhDWj%QVTqn`}#3XsA2W{w}WB9-;AJ5&DIWa zj*SZHt0TGQnk#4(6nz#}@D-bz%RDKT{rRzGb!m|YExRNnJ<1s-$+>R#mU~d|+7R>m z!6glJ?PV-j6<;hurOa%)g}^K|udS?83{1OTs+ BQn>&C literal 0 HcmV?d00001 diff --git a/graphics/battle_terrain/tall_grass/map.bin b/graphics/battle_terrain/tall_grass/map.bin new file mode 100644 index 0000000000000000000000000000000000000000..61f358f53211adb317e138da4d207772c896e39f GIT binary patch literal 4096 zcmeH|*G@uF5Jj&b*idZP%fbeVWm~ZK0@x6HSK$9Y!Y?4_;c76sbN1t8WpdWT>?&1X zso*bVEVT_Z5F$(?5u!BFObe~F5u=?B;!bm&bkR)@y(H+Pp8*CLVwe#|8DreZLy`$5 znPQq5Qlyz>jtuiGu*i~=7t5@$${JbL*zn{T7wKx7+P}jJJ-X!}EoYLt^=n0A z<<-grJvr`>6;iKm-kiRWDSQ8}A4eHo4<_5HB#6j`@J?x*Z7EjZ_RAt&Uj5UG(+Act zKEK8J!J=oe>M^G3cRUu1(>=c>?6#fK8qFs8zk(RHve7VyM4YX3w#m)R-X3^Wz z{P7QSWBjUvoXZ9F&Mf2S%2V=6e^kHl%l!=F`8W90YEovpoU+>#!|P?gDTk~6&%~#9 zUkjDU$#Hq)$ literal 0 HcmV?d00001 diff --git a/graphics/battle_terrain/underwater/anim_map.bin b/graphics/battle_terrain/underwater/anim_map.bin new file mode 100644 index 0000000000000000000000000000000000000000..616c2a24225a8a8f40792bb95920a9f97068a8d3 GIT binary patch literal 2048 zcmeH_TTcQp6oeZ^eG#Gpnt&27e?T9(>9?|2#M}S>H}>r5*-MPP@Ipej4{dj*Gt)^O zE{z>%;Fi0X;*9gnd2(aOe9uF{e&p$&Q^Hd9Q`&SQYrrtB1iR*jQP@|1O;=xssw>Of z?cFq;k2vN8w0_Lq}b}=w8s(QLOhGaCpy%Lz$Y{0{ou%wk)qKxqjU%;z3dt=X3 zFW3CO|CCI`^({+;N^X7oRPQg^Td&Txbk)D+;Ln?@1V6s!UUOG*z4+By_qVTDt{$kJ z_TZb6kIPbqs~<};SMQoF&9(77^9*aPcL!eWoGH8~e4FXC2QyZ_{Cw5#hR7?~>@BO_ z%(-mFy!ph#tcMcGFLkfX`DVu2QpcAOoY-TSyZT!2LJiyhcI8_xn(WqG;Mttj{_WDu zm(t?GZcG3Dv93E263@D6@?`!cSPkgV6uWQE%&Ho>K z{1eZ+imexqIvM@hq`vp_#&t`rMC`X-b#gz?Up8<38u$K!>eSq=J2siI>#SR|c3Swg gu=sE>?&1X zso*bVEVT_Z5F$(?5u!BFObe~F5u=?B;!bm&bkR)@y(H+Pp8*CLVwe#|8DreZLy`$5 znPQq5Qlyz>jtuiGu*i~=7t5@$${JbL*w0_Lq}b}=w88F;!lhGaCpo#vgzN&mxP-tHZi8`U%kp` z(W+~|pO|)TQ7=94eVvy2Vjb7Wwei^u0xM4KS-X5qAGb`{In(Dn2X=C&>}q7vl6+mW zCv|h8*eNl6vz{ev>~H7D8-G)>nv^8Ge8Z)Eb4{}^T`2T%W_(#EBXLoXgN4ILGcbd3 zX8V@=Zho7XOe%Iv;9AAzc1(}lqSd%mFyq!9PBo#aO+UNrEF_ptXT08CDwsXjSx2Db!bcrpnaz?NwFOI^ z6Bd4Uj~6?Ym{GR<1j9S_i(zF<50{lb=iu0}mWQvo%J`?qM?;P`QyqBwiX$2$RSx91 z{Ib|xXVAc_Drm4;^a5{c!f(g9+qS4VcyHFV&0TdyRCSBrtSqD8m}vhXuG_ojb03_s zJI^{|-l3Zk{Hx>^^YWcOcUaUe;K}joZ&$zMU6@$IBKw1#sXn+_FP_oPqFDaRjZR0a z^m(m$)7Pl9{+q6|cTVBSpiY(PYdmLrPh0PJ-+P+x!85FEynE)w`NeD!TCb}gd2!#n y<};6-Kd9{pXpCQZaQTDSf`v>RO$rEfsYyO+R$R4!^jTj}((-imb6Mw<&;$SgZ(h;> literal 0 HcmV?d00001 diff --git a/graphics/battle_terrain/water/anim_map.bin b/graphics/battle_terrain/water/anim_map.bin new file mode 100644 index 0000000000000000000000000000000000000000..2b5f7a548888b9d74e1c167a0c6ee4bafbe673a4 GIT binary patch literal 2048 zcmeIxNi#!H6h+~ih6q6rJwc*Rw9z;5;Syc=|Nq7)WuoepkwM-$lYMH<)~*wTbo<#r z=*@sZ1w)F4jVKv4W?YYk@H;P?FlkD~v>CJJ%v-Q%$+D^yNqp6sn!0rxHf`CqV^>4d zo_zcjKE@opU U{`LO%@B1k@O{sy@K%W`-218|*tpET3 literal 0 HcmV?d00001 diff --git a/graphics/battle_terrain/water/anim_tiles.png b/graphics/battle_terrain/water/anim_tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..b505640291ee960eed95ecaf0e32371e79a20143 GIT binary patch literal 887 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?I3?vN&YJLEz2?0JKu0Z<#|Nl`_?oGM+Zp*W8 zS!B>AsLNtr}-A$HsER9`f%?qh4fulm^x}3wRSf6K4<8vWWB%b zhoXwtvboD5+46HD7j^pgGpx91FyWKm;qb4L4EvdOOf0K!xA>?1VA(Eam2DqeHg)b} z_sD5bX}R$D$)CFHtGhir3=8$N(pTU1i)GMYOtJmXC}F_WILAiIt0Hdg0TwPb^bimnw64nrw+~v)m12UYIx3aZ|bE>UvdNvEZbnR;`h4k?@I+gr98-cvTf5uRVSW9 z`}S@VJ7Ctr7{&eOK3i4n&2!JIbJ;EgWz4gZ6DZy+&vRj&qfx@to$3!1uQ#x8F`Vo; zH+}gmn?Gls%o8w3|Ev@3y^Bq!<$+_V-`a`+S5(ooa7 z?WX202R1(SEuv>;9Z9h`B+$Ugv_N>*pC7@3IrDi0oCTI7JLbhcnA>_hlHJsRb3u(y z(S>>==?OZ|f_wEh=Pi@c@Yq(MI$vCMk7V0@20wja`K8kfCUG+Fo}-;0#&z_0&9a$2 zC(=znsdZ%bUN2xe5tw(oW7*vJR);lblqbImUEQHCrq3{|MXF4*>VCFrN@-o9x~SsC zq!+97Q>;|wU#~xFe#mXAVeRXw7oHaFjM1BZ8i}%xs%N}rDPfXrCYJ$9x}L6nF6*2U FngHW6j9>r& literal 0 HcmV?d00001 diff --git a/graphics/battle_terrain/water/kyogre.pal b/graphics/battle_terrain/water/kyogre.pal new file mode 100644 index 000000000..eaa19730f --- /dev/null +++ b/graphics/battle_terrain/water/kyogre.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +246 246 189 +90 148 222 +148 213 238 +180 222 222 +106 172 230 +172 213 213 +123 189 230 +205 222 197 +0 0 0 +0 0 0 +172 139 82 +189 156 106 +213 197 148 +230 213 164 +238 230 180 +0 0 0 +246 246 189 +90 148 222 +148 213 238 +180 222 222 +106 172 230 +172 213 213 +123 189 230 +205 222 197 +0 0 0 +0 0 0 +172 139 82 +189 156 106 +213 197 148 +230 213 164 +238 230 180 +0 0 0 +98 164 230 +131 197 255 +172 238 255 +255 255 255 +205 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/water/map.bin b/graphics/battle_terrain/water/map.bin new file mode 100644 index 0000000000000000000000000000000000000000..61f358f53211adb317e138da4d207772c896e39f GIT binary patch literal 4096 zcmeH|*G@uF5Jj&b*idZP%fbeVWm~ZK0@x6HSK$9Y!Y?4_;c76sbN1t8WpdWT>?&1X zso*bVEVT_Z5F$(?5u!BFObe~F5u=?B;!bm&bkR)@y(H+Pp8*CLVwe#|8DreZLy`$5 znPQq5Qlyz>jtuiGu*i~=7t5@$${JbL*PMbB;Rm(m$- zY`*hoi~pgUYo`~^$mzFavb@n=7wx=bZCSys7fUzmIHk-K+hmc%?rM&lq@TMl^Cw3ry^D$MwN zmN1=F(IBy;IpLmK&3a}TCwF$?$u5rFR@XXIo*73sX-t|X%_#W6YR4v(4yDNJxh)fR zOlEq=e#Vk(mq(kOpt7#uvmcZ1_y=hAgCy~QVk6f2%NE&cP%JIwgSq^DO(Hc8+;U0H?lhoYvpcLfk>gTe~DWM4f!3|jp literal 0 HcmV?d00001 diff --git a/graphics/battle_transitions/vs.png b/graphics/battle_transitions/vs.png new file mode 100644 index 0000000000000000000000000000000000000000..a1badcb02fbd448c9b56ab2fbbf231082a4a46ec GIT binary patch literal 533 zcmeAS@N?(olHy`uVBq!ia0vp^4nW+%!VDxm*B3=HFfb|v_=LCux&QzFfA{U(y?4*9 zKD&DK+1b7K_O7|QWy#ewQ|43`XGKL>I^HwnxSHj4c1icut5+fFuYNnb=G&a^Z&_Ja zy}Y()YEI$!_Kf4+QI4}qIQBMktV!aC3d#bK3=C_4>c4%v_w4Gudt2_EopSGJ^}Q`o z_tse6nyFUcJ$u6Emz+yIs0tN(PzzjpTSik+XWQd+w6F> zIqBZs=IS5`h?*_c)$i`D0g5{+F#Km=$l7vMvwBJO6vJ=dzQGN_!+2KRy~MB>qClgc z`2vu&!PCVtB%<~0m1w>e1s>K5@9HmKJ;KuUWofQg&mH}@wihKs7|Md0)2}!(?%-dx zk844}GiC$E73?J^{vLat@T!)iHXR0Su^)h%w zURtBRn}KJuLBjuKoF_se)a5f~R!j4=yv?2P+3BAtd;g33wgqOhv_QV_boFyt=akR{ E00^+#3jhEB literal 0 HcmV?d00001 diff --git a/graphics/battle_transitions/vs_frame.bin b/graphics/battle_transitions/vs_frame.bin new file mode 100644 index 0000000000000000000000000000000000000000..2ad1539649a0194c0349f5be5c181e90c8490903 GIT binary patch literal 2048 zcmZQgU_*oK2@E6vjs#9L$Tg~eH2jDT0qz7IG{{R*`XSn)QH7%+Fd71*Aut*OC?Nm< DnI0`4 literal 0 HcmV?d00001 diff --git a/graphics/battle_transitions/vs_frame.png b/graphics/battle_transitions/vs_frame.png new file mode 100644 index 0000000000000000000000000000000000000000..0b38c8960d945627464377f51811bdfdb8d21b3e GIT binary patch literal 317 zcmeAS@N?(olHy`uVBq!ia0vp^5ZkJeps3F6Jxexu4(P**ATD{^qVfhi&=$#WULyk1zi} zf5EHEpB$|kjMilG+`n|mu91N`+s(3N@%k^Fii-|ODo%d4gys6-TZ|@xX;RUgS1JS& zwB4RBX>?$i63oYx%P7!iC@^Eob|;I3@KsY33#V8yO|W>!=^^u(Wy4Yfz9W_ad^Z*r z@SWfW;$k4a&B1456=3o1#GF0`7WNkb1`U;rJPGrdnP+TgXJ=rz{<7q;-M%Z|fPP}| MboFyt=akR{0Ev2mnE(I) literal 0 HcmV?d00001 diff --git a/graphics/contest/nextturn_numbers.png b/graphics/contest/nextturn_numbers.png new file mode 100644 index 0000000000000000000000000000000000000000..cd0305b167d56402910f1e9de90af5dbe8f62acb GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^3P8-k!VDy{RzH{nqznRlLR^9Llqi93dyD_yEB^m~ z&VNIRs{#z)=G^l;Pq=#V l|KjF_%p3}9W`3?e$HH*pgjlV@9R?YYQJ$`TF6*2UngAp?G2;LL literal 0 HcmV?d00001 From cfe2cbd3818abbefd983ac10986473673cc79130 Mon Sep 17 00:00:00 2001 From: paul Date: Sat, 13 Oct 2018 21:59:56 +0200 Subject: [PATCH 051/222] add some battle interface, berry blender and contest files, fix up label --- asm/battle_anim_80A22E8.s | 4 +- data/graphics.s | 148 ++++++++++++++++-- graphics/battle_interface/ball_status_bar.png | Bin 0 -> 174 bytes .../battle_interface/enemy_mon_shadow.png | Bin 0 -> 154 bytes graphics/berry_blender/center.png | Bin 0 -> 1374 bytes graphics/berry_blender/outer.png | Bin 0 -> 1880 bytes graphics/berry_blender/outer_map.bin | Bin 0 -> 2048 bytes graphics/contest/applause_meter.png | Bin 0 -> 184 bytes graphics/contest/nextturn.png | Bin 0 -> 195 bytes graphics/unknown/unknown_E7CFB0.bin | Bin 0 -> 1280 bytes 10 files changed, 140 insertions(+), 12 deletions(-) create mode 100644 graphics/battle_interface/ball_status_bar.png create mode 100644 graphics/battle_interface/enemy_mon_shadow.png create mode 100644 graphics/berry_blender/center.png create mode 100644 graphics/berry_blender/outer.png create mode 100644 graphics/berry_blender/outer_map.bin create mode 100644 graphics/contest/applause_meter.png create mode 100644 graphics/contest/nextturn.png create mode 100644 graphics/unknown/unknown_E7CFB0.bin diff --git a/asm/battle_anim_80A22E8.s b/asm/battle_anim_80A22E8.s index c7048f9e4..e61ff48ad 100644 --- a/asm/battle_anim_80A22E8.s +++ b/asm/battle_anim_80A22E8.s @@ -18915,7 +18915,7 @@ _080AB45C: .4byte gUnknown_8E809CC _080AB460: .4byte gUnknown_2037F02 _080AB464: .4byte gUnknown_8E81CEC _080AB468: - ldr r0, _080AB4E0 @ =gUnknown_8E7BAB0 + ldr r0, _080AB4E0 @ =gFile_graphics_battle_anims_backgrounds_water_muddy_palette mov r1, sp ldrb r1, [r1, 0x8] lsls r1, 4 @@ -18973,7 +18973,7 @@ _080AB476: strh r0, [r7, 0xE] b _080AB552 .align 2, 0 -_080AB4E0: .4byte gUnknown_8E7BAB0 +_080AB4E0: .4byte gFile_graphics_battle_anims_backgrounds_water_muddy_palette _080AB4E4: .4byte sub_80AB79C _080AB4E8: .4byte gTasks _080AB4EC: .4byte 0x0000ffb0 diff --git a/data/graphics.s b/data/graphics.s index 62dd2c823..0c79f58e2 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -13575,45 +13575,173 @@ gUnknown_8E7A880:: @ 8E7A880 .align 2 gFile_graphics_contest_nextturn_numbers:: @ 8E7A8DC .incbin "graphics/contest/nextturn_numbers.4bpp" - @ .incbin "baserom.gba", 0xE7A8DC, 0x0080 .align 2 gFile_graphics_contest_nextturn_random:: @ 8E7A95C .incbin "graphics/contest/nextturn_random.4bpp" - @ .incbin "baserom.gba", 0xE7A95C, 0x0020 .align 2 gFile_graphics_battle_anims_sprites_264_sheet:: @ 8E7A97C .incbin "graphics/battle_anims/sprites/264.4bpp.lz" - @ .incbin "baserom.gba", 0xE7A97C, 0x0020 .align 2 gFile_graphics_battle_anims_sprites_264_palette:: @ 8E7A99C .incbin "graphics/battle_anims/sprites/264.gbapal.lz" - @ .incbin "baserom.gba", 0xE7A99C, 0x0018 .align 2 gFile_graphics_battle_anims_sprites_265_palette:: @ 8E7A9B4 .incbin "graphics/battle_anims/sprites/265.gbapal.lz" - @ .incbin "baserom.gba", 0xE7A9B4, 0x0018 .align 2 gFile_graphics_battle_anims_sprites_067_palette:: @ 8E7A9CC .incbin "graphics/battle_anims/sprites/067.gbapal.lz" - @ .incbin "baserom.gba", 0xE7A9CC, 0x0020 .align 2 gFile_graphics_battle_anims_sprites_068_palette:: @ 8E7A9EC .incbin "graphics/battle_anims/sprites/068.gbapal.lz" - @ .incbin "baserom.gba", 0xE7A9EC, 0x0020 .align 2 gUnknown_8E7AA0C:: @ 8E7AA0C - .incbin "baserom.gba", 0xE7AA0C, 0x10A4 + .incbin "baserom.gba", 0xE7AA0C, 0x12C -gUnknown_8E7BAB0:: @ 8E7BAB0 - .incbin "baserom.gba", 0xE7BAB0, 0x3744 + .align 2 +gFile_graphics_contest_applause_meter:: @ 8E7AB38 + .incbin "graphics/contest/applause_meter.4bpp" + .align 2 +gFile_graphics_contest_nextturn:: @ 8E7ABB8 + .incbin "graphics/contest/nextturn.gbapal" + + .align 2 +gFile_graphics_battle_anims_sprites_272_sheet:: @ 8E7ABD8 + .incbin "graphics/battle_anims/sprites/272.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_272_palette:: @ 8E7ADF4 + .incbin "graphics/battle_anims/sprites/272.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_273_sheet:: @ 8E7AE18 + .incbin "graphics/battle_anims/sprites/273.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_269_sheet:: @ 8E7AE40 + .incbin "graphics/battle_anims/sprites/269.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_269_palette:: @ 8E7AE94 + .incbin "graphics/battle_anims/sprites/269.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_274_sheet:: @ 8E7AEAC + .incbin "graphics/battle_anims/sprites/274.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_275_sheet:: @ 8E7B02C + .incbin "graphics/battle_anims/sprites/275.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_276_sheet:: @ 8E7B198 + .incbin "graphics/battle_anims/sprites/276.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_274_palette:: @ 8E7B300 + .incbin "graphics/battle_anims/sprites/274.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_17_sheet:: @ 8E7B328 + .incbin "graphics/battle_anims/backgrounds/17.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_17_palette:: @ 8E7B484 + .incbin "graphics/battle_anims/backgrounds/17.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_17_tilemap:: @ 8E7B4AC + .incbin "graphics/battle_anims/backgrounds/17.bin.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_280_sheet:: @ 8E7B694 + .incbin "graphics/battle_anims/sprites/280.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_280_palette:: @ 8E7BA90 + .incbin "graphics/battle_anims/sprites/280.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_water_muddy_palette:: @ 8E7BAB0 + .incbin "graphics/battle_anims/backgrounds/water_muddy.gbapal.lz" + + .align 2 +gFile_graphics_battle_interface_enemy_mon_shadow_sheet:: @ 8E7BAD4 + .incbin "graphics/battle_interface/enemy_mon_shadow.4bpp.lz" + + .align 2 +gFile_graphics_battle_interface_ball_status_bar_sheet:: @ 8E7BB04 + .incbin "graphics/battle_interface/ball_status_bar.4bpp.lz" + + + .align 2 +gUnknown_8E7BBB8:: @ 8E7BB88 + .incbin "baserom.gba", 0xE7BB88, 0x400 + + .align 2 +gFile_graphics_battle_anims_backgrounds_02_sheet:: @ 8E7BF88 + .incbin "graphics/battle_anims/backgrounds/02.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_02_palette:: @ 8E7CC50 + .incbin "graphics/battle_anims/backgrounds/02.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_02_tilemap:: @ 8E7CC6C + .incbin "graphics/battle_anims/backgrounds/02.bin.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_287_palette:: @ 8E7CF60 + .incbin "graphics/battle_anims/sprites/287.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_24_palette:: @ 8E7CF88 + .incbin "graphics/battle_anims/backgrounds/24.gbapal.lz" + + .align 2 +gFile_graphics_unknown_unknown_E7CFB0_tilemap:: @ 8E7CFB0 + .incbin "graphics/unknown/unknown_E7CFB0.bin.lz" + + .align 2 +gFile_graphics_berry_blender_center_sheet:: @ 8E7D4AC + .incbin "graphics/berry_blender/center.8bpp.lz" + + .align 2 +gFile_graphics_berry_blender_outer_sheet:: @ 8E7DCCC + .incbin "graphics/berry_blender/outer.4bpp.lz" + + .align 2 +gFile_graphics_berry_blender_outer_map_tilemap:: @ 8E7E700 + .incbin "graphics/berry_blender/outer_map.bin.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_16_palette:: @ 8E7EA14 + .incbin "graphics/battle_anims/backgrounds/16.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_16_sheet:: @ 8E7EA3C + .incbin "graphics/battle_anims/backgrounds/16.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_16_tilemap:: @ 8E7EC9C + .incbin "graphics/battle_anims/backgrounds/16.bin.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_277_palette:: @ 8E7EDD8 + .incbin "graphics/battle_anims/sprites/277.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_277_sheet:: @ 8E7EE00 + .incbin "graphics/battle_anims/sprites/277.4bpp.lz" + + .align 2 gUnknown_8E7F1F4:: @ 8E7F1F4 .incbin "baserom.gba", 0xE7F1F4, 0x2B8 diff --git a/graphics/battle_interface/ball_status_bar.png b/graphics/battle_interface/ball_status_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..b947a7803a93d36dc0c993d8776f6f5235072a70 GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^4M5Dn!VDx2e}3f)qznRlLR^8gqod>h|M%`)-Ewqq zarKnupsXYXO9smz$N$e5{?D1>c=kU7!+$Vj$eQw>-|C(aP>-dji(`n!#N>p81dsFu zJWHkruaZ~KU~l46IKj|lqQJr26ri9GR$s{~(7=h|M%`)-Ewqq zarKnupsXYXO9smz$N$e5{?D1>c=kU7!+$Vj$eQw>-|C(aP>-soi(?4K%;W?Hrfnt$ w9tjN%CMpdRS{qr~OiUUy8y2!24k*cH>^r1>)Ao4EOrQn^Pgg&ebxsLQ02<3O`v3p{ literal 0 HcmV?d00001 diff --git a/graphics/berry_blender/center.png b/graphics/berry_blender/center.png new file mode 100644 index 0000000000000000000000000000000000000000..1da3629d4c6ed19a9f1e39875d334efd0edf6170 GIT binary patch literal 1374 zcmV-k1)=(hP)nT{#$d|NOkAg(0GohYBI z0K7o-fPp?W$*TYWVGy`J7@dj+Uat&bCZeqmhtP*D8>j$gBH92>fJEv6%|s^f1_*+X z711hyeQ4^O>dz4tPEZfq=+|1Okq#58=A5Crx}601q<)31Uzt zg7XLIuk$=DKzd9BHK-Bbnf^QhzzDFCKJhUTR0ITY{dry7!q5An=OzIGLJz-W7QjGz zJ|MVmtg7E|{sRI_$V(jZ8Ni-}L)AZW00H+IAP4=!O~D#xB4_}#^TG9@0wxyr{fHHi87VYiKnQqD5PX}vKv-zU!Fp~| zYM5GKJ{Vmv$OGwVL_UyO03^sGagU($tOPIu9m=%BZi7J&@xj*_G$$JTD7j0-8np8c z4*{VAq#yGIehzTaWkD0CdU3*B4}pRbdkJsMz9YTct?=gY^CN&D%=9)uTA1qdj8wa= zCfFdDwQ`Y7FDQaaFcPq)mDb2seZzq!v;o;U%tE`&m#>wSfwJFJgrHtXRKm6^1OCW= z1tD2zFAnpP7#lztFaXH{0isw>h6aWf_~adJ19^zp7N~dvSq3($n_;0P60OX!H$Y9* zTVOAg*r&+5ycy6I(!y&dbw>E!0Jq>L@{EW%_qYMF;8A_&rFVj)E~xqh$XkY$nnC1L g`RiBz%YPgA2lUgB&OC%IZ2$lO07*qoM6N<$f-m%F(EtDd literal 0 HcmV?d00001 diff --git a/graphics/berry_blender/outer.png b/graphics/berry_blender/outer.png new file mode 100644 index 0000000000000000000000000000000000000000..d8040b02205fe71a8e56137b79744d7399d3a6d6 GIT binary patch literal 1880 zcmV-e2dDUnP)aq{7S;G@NEEC?S0U_qK3 z8~|bZp#Xm``6`7Vc5T4NC4j##3Aqj!?xi3La=`#R+|2pymkRkv5lR5WF!%lO0Rqr9 z7i6&;eIf11JR#8#Ig?$F0DqDA3yeVr+|H%*BiYMIGAjf5Ljn9~%-EOXD&SLLKT4)* zq^%=@CsF~1(L9Jo6oU@9=JvWdM+kxj2xLYV}D z24H>=jZ^Gw9dOB}&aL8a=rBL50-SaBNCyC6FHOES0hoYWMNwq${2&f107!!YAVLLz z3D^ff@g62f5LW=s%mg68F#%HvC<-c-p$S;803eeS6F`aN0O3Ta1Dq-Ve3&!>xD!Fx z3IIY2fIHC+V1eV#Lbip|kWD$@H$^}v$OUiYimv2i1m2@D4nhKK!Zf@TW6%H;!UYL% zW-y?aAqNbjV4DMU2b}CL9q_&a5H1iPNRp@qu=ESVg+{<|H%Sh*32;Y?z*o20O^1enSl2d0J=Z`UfB<~0kHE}i@@>xCtZN-3f>3e_XMDfz+sUIpng;UiU9!= z{&o!jMg)xjDHOx*$i;E$z}ip)@NEDKpEm=Z8xd3i1p?wQ+}adEG5k4lu@CA2o(+I$ zxmnhRT7ZfG0Z%Ld)P|?h1B}4{gx8$_qc%_yMlOzm5}-u@Q#G;xW^I5NmZDpEFIWI0 z2{@Juqc$L5R|7oDRtIEP<-l_8Ju^}O0Ivq1hk!}AdR`jLY5-3v0JFdnK>6%lcLT(3 zm_$ykSz&~u0tH_}}|01V|(BE;d{&;d{cQ54l=vH*Ez0X*8i3kL|GO=k|s z@-_gvpd_>wmYKfY!IjAZcyS!90?<1_E?dChkl0?@s4jK^BqXj`8+!w^zW;v!+@8`5 z*vMd?a^bpJ2F>gO-_tcySJY;}1z4jUzPNDnMMgYQc*W0wdC?BQyIt|?F8wko0jb>w zKnC=S{0c_+Ib9)?PC)50+`Lf*z&CXOnoN{LJz>IaQt267o$6$g(|Lt%Yz9PX?7#+O zjaO0FNvMKKVipux(k#H5C<(9~7L_4TfSQ_U0V36`3~38M-5>x|1E2^6YumCtoM3GT zOF+ZA06hc%x({E2HPxQrE554*$fXSjV8nR+pKakrTD769kKn2Sw53fhuG|A&|L<`? z*~WF@o(WKkt6bhG2eSST27%tDbzv}Isu#88-91oCliX0^&5>%`0J*{F4PfDe+hqtf z09n*p09%8t@&Pn60oo3u836VJ4RAH807MMU0EYHV<#2U?8p<|6C7}r**IAW<6#@Em zt^w?nF*FS%M-z(Rt_9#O!0>&5Hn;guF58+tf8;R%;av?t&jkYxDBBgla>ug)6hp*& z3twS6m+eU<0t@i)TDSlOh5srqD55>o06c;_Er8mR)&*dXMGQ?vwGzQoRs}HOLQ`3< zI502(RVfjo1|Up7N9z>j1g`=A20%4nCBT#ecs&<2Km)9InDc`uxdzA@paEuG_H+~` z*8oid{+y6hcWbubVVqn8bO23d?J%xU@HkNGz7nv_*ib(XYzFi^kZb|;I}&XH^gEPo z1N1r;Zj_FL>1C~vE?68}j>fM#0bc9jeEzf(z~Yv_2l9B(4FJNmLU7^c%RJuf9?Ecg z-0&C463=n^09yZ~`HujS2I&om8>BY?=YE|w0+62e5a|j22-9J(c#S(<1DT6$PM+t# zv&Xr5;D9RpBc}N+=s7Ah&d*Wbf}W$k1wH?jS84{%03b~@z+OMVAq>;H5JGS72L!wU zJwt`Y*%|5^&@2{T>0YK~GVkae9jS8uS$PHR$QjX}pgBD+k5R z`~?CwK;29}>(WD_czDDo3D>iqTLioUJwk=X(Glt^&?D4Wphqw7?-#W> z*uVMaI|Q779-~6z_!#vB^ceL7^!TSw_HS^3V$}iV#q)kS7{?**cks_^1HinrUoWIM z5QYIA#+rcM-6+R_8Nw<9sVHvQIap;VBf!o9xZv~m=ffus)9qTY9Iy?3kbgp5+ocYc)d)07!yf~quQ zGRY+4QbP?Xozw{(*T48(#vkG;p^_@4GP&`zG0B+8kLjq6=&mz zqAF(ct?7CNLOQ4e+OK_j1~Zw(Z00bRdCbSB{3@V=DwOqed8=ghU+R0cN4vF4JM{t< zvWUejVJXX4j#IgmTX~e%5z7Dh+Uo;D!jmsgLXRTEM^C}m)(DE z{&Ih`S3KetmpJ7muXxQH-tvz3e87ndHy*tCSt*~toF9^)1jH{s`N%Mz_{8`guzId@j3_Jp#7U4OmG_%evueru4Z2>}>1t(UGrLOIf^oH4)v0>bkoBufm#xao PUsG!O!E^`yhYtJ$n8XS4 literal 0 HcmV?d00001 diff --git a/graphics/contest/applause_meter.png b/graphics/contest/applause_meter.png new file mode 100644 index 0000000000000000000000000000000000000000..8a4fce8c08e105c10962437030b861cb5a88a870 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV!VDzu-cxxDqznRlLR^9Llqi93dyD_yEB^m~ z&VNIRs{#z)=G^v#3yZU*i>HgT35$yhuVIN0 zTf?`A*+qhxu~|XDK!L$!+nyt>2lp<%+q!Vk;>9f5jMG?GAI_Fz@ZnQ5?40CU1+v7` L)z4*}Q$iB}qKz@L literal 0 HcmV?d00001 diff --git a/graphics/contest/nextturn.png b/graphics/contest/nextturn.png new file mode 100644 index 0000000000000000000000000000000000000000..1d79d0608c66f019ffd9e2149f320affacdbbdce GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^4nWMo!VDyL`#gCAqznRlLR^9Llqi93dyD_yEB^m~ z&VNIRs{#z)=G^zopr0Ep;7eE)aa+rMp)y3KIg#&8?kaGT*a!)=D^1h*LwBrvu?u)qu_ zFvAHf+wcVT3S*F)+??E;@BQ!I6Gj-74C`twt(MicI#$=REZcG{*YYgi3arqItk_Dd z#1*?DSLg~{zRPpDF2`lNEEneS530J=u$m@Iv?NP5vlL6UG;@}28J208F2kie=h9rN zOL69sU6MEW3d)z@m9?eEWuTC@h;BAx)>MjqFkhlaN({D z|Cg1ua#r3dn2%L7U-L763$Q>7vS16bPz!Y-F4zURKo{WrouBh{6`hZ(pz2+0th6CU_uBbR3QphkOCDTfBDH*73HG`yNBIVm8n8i!igY~D58lW zmN??6Mgj?{rg+6ERxyfJlp+*l~0tzXjm=a15m3u5y&EER}ML?$u*F z&J#SzQ`DnA4QNOs8qQ61D??bKFn)LN~yj%!|(vd??$3%tlnbfY^x=t(bn z(}%wFqdx-}p#JKozUrgi>ZP9Qq3-IYYh33uKKIy{d4*Sbjn^5-AOQORf9boWJG{$#yw3-G$aH2flUdAW4s)5ud={{fg<7Ebny0y%quH9JnVO;L zy3c;ib}xgE_?S=ll*KGzDa%;S3Rbd;)vRGHYqdtJwMr|sLd&&GOSMFcz5VaA_cQ#0 zFZs&5#d Date: Sat, 13 Oct 2018 16:04:33 -0400 Subject: [PATCH 052/222] sub_8112940 --- asm/quest_log.s | 247 -------------------------------------------- data/quest_log.s | 4 - include/quest_log.h | 12 +++ src/quest_log.c | 88 ++++++++++++++-- 4 files changed, 91 insertions(+), 260 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 69def6a01..e4947d79c 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,253 +5,6 @@ .text - thumb_func_start sub_8112940 -sub_8112940: @ 8112940 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r2, 16 - cmp r0, 0x1 - beq _08112964 - cmp r0, 0x2 - beq _081129E0 - ldr r1, _08112960 @ =gUnknown_3005E88 - movs r0, 0 - strb r0, [r1] - b _08112B20 - .align 2, 0 -_08112960: .4byte gUnknown_3005E88 -_08112964: - ldr r2, _081129C0 @ =gUnknown_3005E94 - str r3, [r2] - ldr r1, _081129C4 @ =gUnknown_3005E8C - lsrs r0, r4, 19 - strh r0, [r1] - ldr r0, _081129C8 @ =gUnknown_3005E88 - mov r9, r0 - adds r1, r2, 0 - ldr r6, _081129CC @ =gUnknown_203AF9A - ldr r2, _081129D0 @ =gUnknown_203AF98 - ldr r7, _081129D4 @ =gUnknown_203B01C - ldr r0, _081129D8 @ =gUnknown_3005E90 - mov r12, r0 - ldr r0, _081129DC @ =gUnknown_203B01A - mov r8, r0 - movs r5, 0xFF - adds r3, r6, 0 - movs r4, 0x3F -_08112988: - ldrb r0, [r3] - orrs r0, r5 - strb r0, [r3] - ldrb r0, [r3, 0x1] - orrs r0, r5 - strb r0, [r3, 0x1] - adds r3, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _08112988 - movs r0, 0 - strh r0, [r2] - strh r0, [r7] - movs r0, 0 - mov r2, r12 - str r0, [r2] - ldr r1, [r1] - ldrh r0, [r1, 0x4] - mov r2, r8 - strh r0, [r2] - ldrb r0, [r1, 0x3] - strb r0, [r6] - movs r0, 0xFF - strb r0, [r6, 0x1] - movs r0, 0x1 - mov r1, r9 - strb r0, [r1] - b _08112B20 - .align 2, 0 -_081129C0: .4byte gUnknown_3005E94 -_081129C4: .4byte gUnknown_3005E8C -_081129C8: .4byte gUnknown_3005E88 -_081129CC: .4byte gUnknown_203AF9A -_081129D0: .4byte gUnknown_203AF98 -_081129D4: .4byte gUnknown_203B01C -_081129D8: .4byte gUnknown_3005E90 -_081129DC: .4byte gUnknown_203B01A -_081129E0: - ldr r1, _08112A44 @ =gUnknown_3005E94 - str r3, [r1] - ldr r5, _08112A48 @ =gUnknown_3005E8C - lsrs r0, r4, 19 - strh r0, [r5] - movs r4, 0 - ldr r2, _08112A4C @ =gUnknown_203B01A - mov r8, r2 - cmp r4, r0 - bge _08112A0E - adds r6, r1, 0 - ldr r0, _08112A50 @ =gUnknown_845669C - ldr r2, [r0] - ldr r3, [r0, 0x4] -_081129FC: - ldr r1, [r6] - lsls r0, r4, 3 - adds r0, r1 - str r2, [r0] - str r3, [r0, 0x4] - adds r4, 0x1 - ldrh r0, [r5] - cmp r4, r0 - blt _081129FC -_08112A0E: - ldr r4, _08112A54 @ =gUnknown_203AF98 - movs r2, 0 - strh r2, [r4] - mov r1, r8 - strh r2, [r1] - movs r1, 0 - ldr r3, _08112A44 @ =gUnknown_3005E94 - ldr r0, [r3] - strh r1, [r0, 0x4] - strb r2, [r0, 0x6] - ldrh r0, [r4] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - strb r2, [r0] - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _08112AC8 - lsls r0, 2 - ldr r1, _08112A58 @ =_08112A5C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08112A44: .4byte gUnknown_3005E94 -_08112A48: .4byte gUnknown_3005E8C -_08112A4C: .4byte gUnknown_203B01A -_08112A50: .4byte gUnknown_845669C -_08112A54: .4byte gUnknown_203AF98 -_08112A58: .4byte _08112A5C - .align 2, 0 -_08112A5C: - .4byte _08112A70 - .4byte _08112A70 - .4byte _08112AA0 - .4byte _08112AB8 - .4byte _08112A88 -_08112A70: - ldr r0, _08112A80 @ =gUnknown_203AF98 - ldrh r0, [r0] - ldr r1, _08112A84 @ =gUnknown_3005E94 - ldr r1, [r1] - lsls r0, 3 - adds r0, r1 - movs r1, 0 - b _08112AC6 - .align 2, 0 -_08112A80: .4byte gUnknown_203AF98 -_08112A84: .4byte gUnknown_3005E94 -_08112A88: - ldr r0, _08112A98 @ =gUnknown_203AF98 - ldrh r0, [r0] - ldr r1, _08112A9C @ =gUnknown_3005E94 - ldr r1, [r1] - lsls r0, 3 - adds r0, r1 - movs r1, 0x3 - b _08112AC6 - .align 2, 0 -_08112A98: .4byte gUnknown_203AF98 -_08112A9C: .4byte gUnknown_3005E94 -_08112AA0: - ldr r0, _08112AB0 @ =gUnknown_203AF98 - ldrh r0, [r0] - ldr r1, _08112AB4 @ =gUnknown_3005E94 - ldr r1, [r1] - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - b _08112AC6 - .align 2, 0 -_08112AB0: .4byte gUnknown_203AF98 -_08112AB4: .4byte gUnknown_3005E94 -_08112AB8: - ldr r0, _08112B2C @ =gUnknown_203AF98 - ldrh r0, [r0] - ldr r1, _08112B30 @ =gUnknown_3005E94 - ldr r1, [r1] - lsls r0, 3 - adds r0, r1 - movs r1, 0x2 -_08112AC6: - strb r1, [r0, 0x3] -_08112AC8: - ldr r0, _08112B34 @ =gUnknown_203B01C - movs r5, 0 - strh r5, [r0] - ldr r2, _08112B2C @ =gUnknown_203AF98 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - ldrh r0, [r2] - ldr r3, _08112B30 @ =gUnknown_3005E94 - ldr r4, [r3] - lsls r0, 3 - adds r0, r4 - movs r1, 0 - strh r1, [r0, 0x4] - ldrh r0, [r2] - lsls r0, 3 - adds r0, r4 - movs r4, 0x2 - strb r4, [r0, 0x6] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - strb r5, [r0] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - strb r5, [r0, 0x1] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - strb r5, [r0, 0x2] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - strb r5, [r0, 0x3] - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - ldr r0, _08112B38 @ =gUnknown_3005E88 - strb r4, [r0] -_08112B20: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08112B2C: .4byte gUnknown_203AF98 -_08112B30: .4byte gUnknown_3005E94 -_08112B34: .4byte gUnknown_203B01C -_08112B38: .4byte gUnknown_3005E88 - thumb_func_end sub_8112940 - thumb_func_start sub_8112B3C sub_8112B3C: @ 8112B3C push {r4-r7,lr} diff --git a/data/quest_log.s b/data/quest_log.s index c7956f82d..dd7776ae0 100644 --- a/data/quest_log.s +++ b/data/quest_log.s @@ -1,9 +1,5 @@ .section .rodata - .align 2, 0 -gUnknown_845669C:: @ 845669C - .incbin "baserom.gba", 0x45669C, 0x8 - gUnknown_84566A4:: @ 84566A4 .incbin "baserom.gba", 0x4566A4, 0x4 diff --git a/include/quest_log.h b/include/quest_log.h index 280a04423..f3fc04f41 100644 --- a/include/quest_log.h +++ b/include/quest_log.h @@ -1,8 +1,20 @@ #ifndef GUARD_QUEST_LOG_H #define GUARD_QUEST_LOG_H +struct UnkStruct_3005E90 +{ + u8 unk_0; + u8 unk_1_0:1; + u8 unk_1_1:1; + u8 unk_1_2:1; + u8 unk_1_3:1; + u8 unk_1_4:1; + u8 unk_2; +}; + extern u8 gUnknown_3005E88; extern u16 gUnknown_3005E8C; +extern struct UnkStruct_3005E90 gUnknown_3005E90; extern struct UnkStruct_203AE98 * gUnknown_3005E94; #endif //GUARD_QUEST_LOG_H diff --git a/src/quest_log.c b/src/quest_log.c index 834585ac9..49e0db836 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -54,6 +54,7 @@ struct UnkStruct_203AE98 u8 gUnknown_3005E88; u16 gUnknown_3005E8C; +struct UnkStruct_3005E90 gUnknown_3005E90; struct UnkStruct_203AE98 * gUnknown_3005E94; EWRAM_DATA u8 gUnknown_203ADF8 = 0; @@ -69,7 +70,7 @@ EWRAM_DATA u16 *gUnknown_203AE90 = NULL; EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0}; EWRAM_DATA struct UnkStruct_203AE98 gUnknown_203AE98[32] = {0}; EWRAM_DATA u16 gUnknown_203AF98 = 0; -EWRAM_DATA u8 gUnknown_203AF9A[128]; +EWRAM_DATA u8 gUnknown_203AF9A[64][2]; EWRAM_DATA u16 gUnknown_203B01A; EWRAM_DATA u16 gUnknown_203B01C; @@ -149,6 +150,8 @@ const u16 gUnknown_8456638[] = INCBIN_U16("data/graphics/unknown_8456638.bin"); const u8 gUnknown_8456698[] = {17, 10, 3}; +extern const struct UnkStruct_203AE98 gUnknown_845669C; + void sub_8110840(void * a0) { size_t r1 = (void *)gSaveBlock1Ptr - a0; @@ -1437,24 +1440,24 @@ void sub_811246C(struct Sprite *sprite) struct MapObject *mapObject = &gMapObjects[sprite->data[0]]; if (mapObject->localId == 0xFF) { - if (gUnknown_203AF9A[0] != 0xFF) + if (gUnknown_203AF9A[0][0] != 0xFF) { - sub_8063CA4(mapObject, gUnknown_203AF9A[0]); - gUnknown_203AF9A[0] = 0xFF; + sub_8063CA4(mapObject, gUnknown_203AF9A[0][0]); + gUnknown_203AF9A[0][0] = 0xFF; } - if (gUnknown_203AF9A[1] != 0xFF) + if (gUnknown_203AF9A[0][1] != 0xFF) { sub_8150454(); - gUnknown_203AF9A[1] = 0xFF; + gUnknown_203AF9A[0][1] = 0xFF; } sub_8063E28(mapObject, sprite); } else { - if (gUnknown_203AF9A[2 * mapObject->localId] != 0xFF) + if (gUnknown_203AF9A[mapObject->localId][0] != 0xFF) { - sub_8063CA4(mapObject, gUnknown_203AF9A[2 * mapObject->localId]); - gUnknown_203AF9A[2 * mapObject->localId] = 0xFF; + sub_8063CA4(mapObject, gUnknown_203AF9A[mapObject->localId][0]); + gUnknown_203AF9A[mapObject->localId][0] = 0xFF; } sub_8063E28(mapObject, sprite); } @@ -1607,3 +1610,70 @@ void sub_81128BC(u8 a0) break; } } + +void sub_8112940(u8 a0, struct UnkStruct_203AE98 *a1, u16 a2) +{ + s32 i; + + switch (a0) + { + default: + gUnknown_3005E88 = 0; + break; + case 1: + gUnknown_3005E94 = a1; + gUnknown_3005E8C = a2 / 8; + for (i = 0; i < 0x40; i++) + { + gUnknown_203AF9A[i][0] |= 0xFF; + gUnknown_203AF9A[i][1] |= 0xFF; + } + gUnknown_203AF98 = 0; + gUnknown_203B01C = 0; + gUnknown_3005E90 = (struct UnkStruct_3005E90){}; + gUnknown_203B01A = gUnknown_3005E94[gUnknown_203AF98].unk_4; + gUnknown_203AF9A[0][0] = gUnknown_3005E94[gUnknown_203AF98].unk_3; + gUnknown_203AF9A[0][1] = 0xFF; + gUnknown_3005E88 = 1; + break; + case 2: + gUnknown_3005E94 = a1; + gUnknown_3005E8C = a2 / 8; + for (i = 0; i < gUnknown_3005E8C; i++) + { + gUnknown_3005E94[i] = (struct UnkStruct_203AE98){ 0, 0, 0, 0, 0xFFFF, 0xFF }; + } + gUnknown_203AF98 = 0; + gUnknown_203B01A = 0; + gUnknown_3005E94[gUnknown_203AF98].unk_4 = 0; + gUnknown_3005E94[gUnknown_203AF98].unk_6 = 0; + gUnknown_3005E94[gUnknown_203AF98].unk_0 = 0; + switch (player_get_direction_lower_nybble()) + { + case 0: + case 1: + gUnknown_3005E94[gUnknown_203AF98].unk_3 = 0; + break; + case 4: + gUnknown_3005E94[gUnknown_203AF98].unk_3 = 3; + break; + case 2: + gUnknown_3005E94[gUnknown_203AF98].unk_3 = 1; + break; + case 3: + gUnknown_3005E94[gUnknown_203AF98].unk_3 = 2; + break; + } + gUnknown_203B01C = 0; + gUnknown_203AF98++; + gUnknown_3005E94[gUnknown_203AF98].unk_4 = 0; + gUnknown_3005E94[gUnknown_203AF98].unk_6 = 2; + gUnknown_3005E94[gUnknown_203AF98].unk_0 = 0; + gUnknown_3005E94[gUnknown_203AF98].unk_1 = 0; + gUnknown_3005E94[gUnknown_203AF98].unk_2 = 0; + gUnknown_3005E94[gUnknown_203AF98].unk_3 = 0; + gUnknown_203AF98++; + gUnknown_3005E88 = 2; + break; + } +} From fbd6100c36847bb9eff1605484d25b6d31f5b5c0 Mon Sep 17 00:00:00 2001 From: paul Date: Sat, 13 Oct 2018 22:28:46 +0200 Subject: [PATCH 053/222] replace more battle anim baseroms, fix up labels --- asm/battle_anim_80A22E8.s | 44 ++++---- asm/party_menu.s | 4 +- data/graphics.s | 147 +++++++++++++++++++++---- graphics/interface/party_menu_misc.png | Bin 0 -> 613 bytes graphics/unknown/unknown_E81D14.bin | Bin 0 -> 4096 bytes graphics/unknown/unknown_E81FE4.bin | Bin 0 -> 4096 bytes graphics/unknown/unknown_E822B8.bin | Bin 0 -> 4096 bytes 7 files changed, 151 insertions(+), 44 deletions(-) create mode 100644 graphics/interface/party_menu_misc.png create mode 100644 graphics/unknown/unknown_E81D14.bin create mode 100644 graphics/unknown/unknown_E81FE4.bin create mode 100644 graphics/unknown/unknown_E822B8.bin diff --git a/asm/battle_anim_80A22E8.s b/asm/battle_anim_80A22E8.s index e61ff48ad..31cf3ba30 100644 --- a/asm/battle_anim_80A22E8.s +++ b/asm/battle_anim_80A22E8.s @@ -16214,7 +16214,7 @@ _080A9F52: lsls r0, 24 cmp r0, 0 beq _080A9F98 - ldr r0, _080A9F94 @ =gUnknown_8E7F874 + ldr r0, _080A9F94 @ =gFile_graphics_battle_anims_backgrounds_scary_face_contest_tilemap ldr r1, [sp, 0x4] bl LZDecompressVram b _080A9FC6 @@ -16222,7 +16222,7 @@ _080A9F52: _080A9F88: .4byte 0x00003f42 _080A9F8C: .4byte gUnknown_2022978 _080A9F90: .4byte gUnknown_202297A -_080A9F94: .4byte gUnknown_8E7F874 +_080A9F94: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_contest_tilemap _080A9F98: ldr r0, _080A9FB4 @ =gUnknown_2037F1B ldrb r0, [r0] @@ -16233,16 +16233,16 @@ _080A9F98: bne _080A9FBC mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080A9FB8 @ =gUnknown_8E7F4AC + ldr r1, _080A9FB8 @ =gFile_graphics_battle_anims_backgrounds_scary_face_player_tilemap bl sub_807543C b _080A9FC6 .align 2, 0 _080A9FB4: .4byte gUnknown_2037F1B -_080A9FB8: .4byte gUnknown_8E7F4AC +_080A9FB8: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_player_tilemap _080A9FBC: mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080AA010 @ =gUnknown_8E7F690 + ldr r1, _080AA010 @ =gFile_graphics_battle_anims_backgrounds_scary_face_opponent_tilemap bl sub_807543C _080A9FC6: mov r0, sp @@ -16280,7 +16280,7 @@ _080A9FFA: pop {r0} bx r0 .align 2, 0 -_080AA010: .4byte gUnknown_8E7F690 +_080AA010: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_opponent_tilemap _080AA014: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_sheet _080AA018: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_palette _080AA01C: .4byte gTasks @@ -18865,23 +18865,23 @@ sub_80AB38C: @ 80AB38C bne _080AB408 mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080AB404 @ =gUnknown_8E81D14 + ldr r1, _080AB404 @ =gFile_graphics_unknown_unknown_E81D14_tilemap bl sub_807543C b _080AB42E .align 2, 0 _080AB3FC: .4byte 0x00003f42 _080AB400: .4byte gUnknown_2037F1A -_080AB404: .4byte gUnknown_8E81D14 +_080AB404: .4byte gFile_graphics_unknown_unknown_E81D14_tilemap _080AB408: mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080AB414 @ =gUnknown_8E81FE4 + ldr r1, _080AB414 @ =gFile_graphics_unknown_unknown_E81FE4_tilemap bl sub_807543C b _080AB42E .align 2, 0 -_080AB414: .4byte gUnknown_8E81FE4 +_080AB414: .4byte gFile_graphics_unknown_unknown_E81FE4_tilemap _080AB418: - ldr r0, _080AB458 @ =gUnknown_8E822B8 + ldr r0, _080AB458 @ =gFile_graphics_unknown_unknown_E822B8_tilemap ldr r1, [sp, 0x4] bl LZDecompressVram mov r0, sp @@ -18893,7 +18893,7 @@ _080AB418: _080AB42E: mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080AB45C @ =gUnknown_8E809CC + ldr r1, _080AB45C @ =gFile_graphics_battle_anims_backgrounds_water_sheet mov r2, sp ldrh r2, [r2, 0xA] bl sub_80753B4 @@ -18902,7 +18902,7 @@ _080AB42E: ldrsh r0, [r0, r1] cmp r0, 0 bne _080AB468 - ldr r0, _080AB464 @ =gUnknown_8E81CEC + ldr r0, _080AB464 @ =gFile_graphics_battle_anims_backgrounds_water_palette mov r1, sp ldrb r1, [r1, 0x8] lsls r1, 4 @@ -18910,10 +18910,10 @@ _080AB42E: bl LoadCompressedPalette b _080AB476 .align 2, 0 -_080AB458: .4byte gUnknown_8E822B8 -_080AB45C: .4byte gUnknown_8E809CC +_080AB458: .4byte gFile_graphics_unknown_unknown_E822B8_tilemap +_080AB45C: .4byte gFile_graphics_battle_anims_backgrounds_water_sheet _080AB460: .4byte gUnknown_2037F02 -_080AB464: .4byte gUnknown_8E81CEC +_080AB464: .4byte gFile_graphics_battle_anims_backgrounds_water_palette _080AB468: ldr r0, _080AB4E0 @ =gFile_graphics_battle_anims_backgrounds_water_muddy_palette mov r1, sp @@ -28163,7 +28163,7 @@ _080AFB26: bl LoadBgTiles mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080AFBB0 @ =gUnknown_8E7F1F4 + ldr r1, _080AFBB0 @ =gFile_graphics_battle_anims_backgrounds_fog_tilemap bl sub_807543C ldr r0, _080AFBB4 @ =gUnknown_83C2CE0 mov r1, sp @@ -28198,7 +28198,7 @@ _080AFBA0: .4byte 0x00003f42 _080AFBA4: .4byte gUnknown_2022978 _080AFBA8: .4byte gUnknown_202297A _080AFBAC: .4byte gUnknown_83C3540 -_080AFBB0: .4byte gUnknown_8E7F1F4 +_080AFBB0: .4byte gFile_graphics_battle_anims_backgrounds_fog_tilemap _080AFBB4: .4byte gUnknown_83C2CE0 _080AFBB8: .4byte gTasks _080AFBBC: .4byte sub_80AFBC0 @@ -28474,7 +28474,7 @@ _080AFDC2: bl LoadBgTiles mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, _080AFE50 @ =gUnknown_8E7F1F4 + ldr r1, _080AFE50 @ =gFile_graphics_battle_anims_backgrounds_fog_tilemap bl sub_807543C ldr r0, _080AFE54 @ =gUnknown_83C2CE0 mov r1, sp @@ -28511,7 +28511,7 @@ _080AFE40: .4byte 0x00003f42 _080AFE44: .4byte gUnknown_2022978 _080AFE48: .4byte gUnknown_202297A _080AFE4C: .4byte gUnknown_83C3540 -_080AFE50: .4byte gUnknown_8E7F1F4 +_080AFE50: .4byte gFile_graphics_battle_anims_backgrounds_fog_tilemap _080AFE54: .4byte gUnknown_83C2CE0 _080AFE58: .4byte gTasks _080AFE5C: .4byte 0x0000ffff @@ -42830,7 +42830,7 @@ _080B6D8C: lsls r4, 1 adds r0, r4 str r1, [r0] - ldr r0, _080B6E00 @ =gUnknown_8E7F4AC + ldr r0, _080B6E00 @ =gFile_graphics_battle_anims_backgrounds_scary_face_player_tilemap bl LZDecompressWram add r0, sp, 0xC ldrb r0, [r0, 0x8] @@ -42867,7 +42867,7 @@ _080B6D8C: b _080B6F1E .align 2, 0 _080B6DFC: .4byte gMonSpritesGfxPtr -_080B6E00: .4byte gUnknown_8E7F4AC +_080B6E00: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_player_tilemap _080B6E04: ldrh r0, [r6, 0xA] adds r0, 0x1 diff --git a/asm/party_menu.s b/asm/party_menu.s index 3a7542241..224fedb1d 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -647,7 +647,7 @@ _0811EF6C: .4byte _0811F010 _0811EF8C: ldr r4, _0811EFAC @ =gUnknown_203B0B8 - ldr r0, _0811EFB0 @ =gUnknown_8E82700 + ldr r0, _0811EFB0 @ =gFile_graphics_interface_party_menu_misc_sheet mov r1, sp bl malloc_and_decompress adds r1, r0, 0 @@ -661,7 +661,7 @@ _0811EF8C: b _0811F016 .align 2, 0 _0811EFAC: .4byte gUnknown_203B0B8 -_0811EFB0: .4byte gUnknown_8E82700 +_0811EFB0: .4byte gFile_graphics_interface_party_menu_misc_sheet _0811EFB4: bl IsDma3ManagerBusyWithBgCopy lsls r0, 24 diff --git a/data/graphics.s b/data/graphics.s index 0c79f58e2..98e0939b4 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -13741,37 +13741,144 @@ gFile_graphics_battle_anims_sprites_277_palette:: @ 8E7EDD8 gFile_graphics_battle_anims_sprites_277_sheet:: @ 8E7EE00 .incbin "graphics/battle_anims/sprites/277.4bpp.lz" + .align 2 -gUnknown_8E7F1F4:: @ 8E7F1F4 - .incbin "baserom.gba", 0xE7F1F4, 0x2B8 +gFile_graphics_battle_anims_backgrounds_fog_tilemap:: @ 8E7F1F4 + .incbin "graphics/battle_anims/backgrounds/fog.bin.lz" -gUnknown_8E7F4AC:: @ 8E7F4AC - .incbin "baserom.gba", 0xE7F4AC, 0x1E4 + .align 2 +gFile_graphics_battle_anims_sprites_283_palette:: @ 8E7F36C + .incbin "graphics/battle_anims/sprites/283.gbapal.lz" -gUnknown_8E7F690:: @ 8E7F690 - .incbin "baserom.gba", 0xE7F690, 0x1E4 + .align 2 +gFile_graphics_battle_anims_sprites_283_sheet:: @ 8E7F388 + .incbin "graphics/battle_anims/sprites/283.4bpp.lz" -gUnknown_8E7F874:: @ 8E7F874 - .incbin "baserom.gba", 0xE7F874, 0x1158 + .align 2 +gFile_graphics_battle_anims_backgrounds_scary_face_player_tilemap:: @ 8E7F4AC + .incbin "graphics/battle_anims/backgrounds/scary_face_player.bin.lz" -gUnknown_8E809CC:: @ 8E809CC - .incbin "baserom.gba", 0xE809CC, 0x1320 + .align 2 +gFile_graphics_battle_anims_backgrounds_scary_face_opponent_tilemap:: @ 8E7F690 + .incbin "graphics/battle_anims/backgrounds/scary_face_opponent.bin.lz" -gUnknown_8E81CEC:: @ 8E81CEC - .incbin "baserom.gba", 0xE81CEC, 0x28 + .align 2 +gFile_graphics_battle_anims_backgrounds_scary_face_contest_tilemap:: @ 8E7F874 + .incbin "graphics/battle_anims/backgrounds/scary_face_contest.bin.lz" -gUnknown_8E81D14:: @ 8E81D14 - .incbin "baserom.gba", 0xE81D14, 0x2D0 + .align 2 +gFile_graphics_battle_anims_sprites_263_sheet:: @ 8E7FA58 + .incbin "graphics/battle_anims/sprites/263.4bpp.lz" -gUnknown_8E81FE4:: @ 8E81FE4 - .incbin "baserom.gba", 0xE81FE4, 0x2D4 + .align 2 +gFile_graphics_battle_anims_sprites_263_palette:: @ 8E7FA98 + .incbin "graphics/battle_anims/sprites/263.gbapal.lz" -gUnknown_8E822B8:: @ 8E822B8 - .incbin "baserom.gba", 0xE822B8, 0x448 + .align 2 +gFile_graphics_battle_anims_sprites_266_sheet:: @ 8E7FAB0 + .incbin "graphics/battle_anims/sprites/266.4bpp.lz" -gUnknown_8E82700:: @ 8E82700 - .incbin "baserom.gba", 0xE82700, 0x2C8 + .align 2 +gFile_graphics_battle_anims_sprites_266_palette:: @ 8E7FAF0 + .incbin "graphics/battle_anims/sprites/266.gbapal.lz" + .align 2 +gFile_graphics_battle_anims_sprites_267_palette:: @ 8E7FB08 + .incbin "graphics/battle_anims/sprites/267.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_268_palette:: @ 8E7FB20 + .incbin "graphics/battle_anims/sprites/268.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_278_sheet:: @ 8E7FB38 + .incbin "graphics/battle_anims/sprites/278.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_278_palette:: @ 8E7FD44 + .incbin "graphics/battle_anims/sprites/278.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_279_sheet:: @ 8E7FD60 + .incbin "graphics/battle_anims/sprites/279.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_279_palette:: @ 8E7FDAC + .incbin "graphics/battle_anims/sprites/279.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_281_sheet:: @ 8E7FDC8 + .incbin "graphics/battle_anims/sprites/281.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_281_palette:: @ 8E7FF50 + .incbin "graphics/battle_anims/sprites/281.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_21_sheet:: @ 8E7FF70 + .incbin "graphics/battle_anims/backgrounds/21.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_21_palette:: @ 8E80264 + .incbin "graphics/battle_anims/backgrounds/21.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_21_tilemap:: @ 8E80280 + .incbin "graphics/battle_anims/backgrounds/21.bin.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_284_sheet:: @ 8E8056C + .incbin "graphics/battle_anims/sprites/284.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_284_palette:: @ 8E808E8 + .incbin "graphics/battle_anims/sprites/284.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_285_sheet:: @ 8E80904 + .incbin "graphics/battle_anims/sprites/285.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_285_palette:: @ 8E809A4 + .incbin "graphics/battle_anims/sprites/285.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_water_sheet:: @ 8E809CC + .incbin "graphics/battle_anims/backgrounds/water.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_backgrounds_water_palette:: @ 8E81CEC + .incbin "graphics/battle_anims/backgrounds/water.gbapal.lz" + + .align 2 +gFile_graphics_unknown_unknown_E81D14_tilemap:: @ 8E81D14 + .incbin "graphics/unknown/unknown_E81D14.bin.lz" + + .align 2 +gFile_graphics_unknown_unknown_E81FE4_tilemap:: @ 8E81FE4 + .incbin "graphics/unknown/unknown_E81FE4.bin.lz" + + .align 2 +gFile_graphics_unknown_unknown_E822B8_tilemap:: @ 8E822B8 + .incbin "graphics/unknown/unknown_E822B8.bin.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_286_palette:: @ 8E825AC + .incbin "graphics/battle_anims/sprites/286.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_188_sheet:: @ 8E825D4 + .incbin "graphics/battle_anims/sprites/188.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_188_palette:: @ 8E826E8 + .incbin "graphics/battle_anims/sprites/188.gbapal.lz" + + .align 2 +gFile_graphics_interface_party_menu_misc_sheet:: @ 8E82700 + .incbin "graphics/interface/party_menu_misc.4bpp.lz" + + .align 2 gUnknown_8E829C8:: @ 8E829C8 .incbin "baserom.gba", 0xE829C8, 0xE8 diff --git a/graphics/interface/party_menu_misc.png b/graphics/interface/party_menu_misc.png new file mode 100644 index 0000000000000000000000000000000000000000..c58f3aae98d8e7eb47f33be3d95b71bd78570b98 GIT binary patch literal 613 zcmV-r0-F7aP)Y$m<%VHF{;1%{$fdg60Jpc~%nM2;=Km{zcatXjbxx=iw$A1>{cr#et(c9XR@T4m9!} z2Sb4AcCfS)w#Q*kqfFmfKO7(n_;CkID`z34w@!gW0Pu*VgR~yRfblb{5LOcKx1;|B zwp;$7P!-7DR-_wvKgJsfR>A<@YaVxpnRi?CTmH zeZZ;SpQ<=OIXJ-Oa1NYTaaopS0N6kU4XpXUDCGY}xEnTRFL#3-Fu{9n(jo$2E}r{{dg~at{Ci literal 0 HcmV?d00001 diff --git a/graphics/unknown/unknown_E81FE4.bin b/graphics/unknown/unknown_E81FE4.bin new file mode 100644 index 0000000000000000000000000000000000000000..6a6f7c04925953f33325f5ab85c998bdee881b8a GIT binary patch literal 4096 zcmeIzH&2{F6ouiIpR+&l0U8r+Kq6xbFqkZnV}VUHAOR-ZnVZWXh5)N3M@?TKvt#Q=uZoN|Y*7uEJ-PN&2f)`=UmzujC=$r3`3>z_O%(x#WOqxo{KW)aWpXSV4uxQD$6~Fwp zYR!7&8yhxl*|uZXo_z-n9XWR5)R}XnN|XL(zi{cwwHvqY+~rc{Y1 ziWU9a@K{0Qo;Iysd!W2(^@0|f}_3P8CN4GAWI=s;yssCcu zjL$y#XxfxXA50iGX4Ht`Nd21MR;^gJWYI4_{qWs_d2_z`D$!L}#4gMyjvYDl*MWU| z{@Ar++m=lm)}>2x&)o}iLM%ie5C{YUfxu-X5U Date: Sat, 13 Oct 2018 22:38:10 +0200 Subject: [PATCH 054/222] replace some interface baseroms, fix labels --- asm/party_menu.s | 4 +- data/graphics.s | 37 ++++++++++++++++-- graphics/interface/bag_swap.png | Bin 0 -> 159 bytes graphics/interface/party_menu_misc.bin | Bin 0 -> 2048 bytes graphics/interface/party_menu_pokeball.png | Bin 0 -> 330 bytes .../interface/party_menu_pokeball_small.png | Bin 0 -> 261 bytes graphics/interface/status_icons.png | Bin 0 -> 455 bytes 7 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 graphics/interface/bag_swap.png create mode 100644 graphics/interface/party_menu_misc.bin create mode 100644 graphics/interface/party_menu_pokeball.png create mode 100644 graphics/interface/party_menu_pokeball_small.png create mode 100644 graphics/interface/status_icons.png diff --git a/asm/party_menu.s b/asm/party_menu.s index 224fedb1d..5ba1481ea 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -667,13 +667,13 @@ _0811EFB4: lsls r0, 24 cmp r0, 0 bne _0811F030 - ldr r0, _0811EFCC @ =gUnknown_8E82AB0 + ldr r0, _0811EFCC @ =gFile_graphics_interface_party_menu_misc_tilemap ldr r1, _0811EFD0 @ =gUnknown_203B0BC ldr r1, [r1] bl LZDecompressWram b _0811F016 .align 2, 0 -_0811EFCC: .4byte gUnknown_8E82AB0 +_0811EFCC: .4byte gFile_graphics_interface_party_menu_misc_tilemap _0811EFD0: .4byte gUnknown_203B0BC _0811EFD4: ldr r0, _0811EFF4 @ =gUnknown_8E829C8 diff --git a/data/graphics.s b/data/graphics.s index 98e0939b4..47838ad01 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -13882,9 +13882,31 @@ gFile_graphics_interface_party_menu_misc_sheet:: @ 8E82700 gUnknown_8E829C8:: @ 8E829C8 .incbin "baserom.gba", 0xE829C8, 0xE8 -gUnknown_8E82AB0:: @ 8E82AB0 - .incbin "baserom.gba", 0xE82AB0, 0x61C + .align 2 +gFile_graphics_interface_party_menu_misc_tilemap:: @ 8E82AB0 + .incbin "graphics/interface/party_menu_misc.bin.lz" + .align 2 +gFile_graphics_interface_party_menu_pokeball_sheet:: @ 8E82BE8 + .incbin "graphics/interface/party_menu_pokeball.4bpp.lz" + + .align 2 +gFile_graphics_interface_party_menu_pokeball_small_sheet:: @ 8E82D68 + .incbin "graphics/interface/party_menu_pokeball_small.4bpp.lz" + + .align 2 +gFile_graphics_interface_party_menu_pokeball_palette:: @ 8E82E7C + .incbin "graphics/interface/party_menu_pokeball.gbapal.lz" + + .align 2 +gUnknown_8E82EA0:: @ 8E82EA0 + .incbin "baserom.gba", 0xE82EA0, 0x204 + + .align 2 +gFile_graphics_interface_status_icons_palette:: @ 8E830A4 + .incbin "graphics/interface/status_icons.gbapal.lz" + + .align 2 gUnknown_8E830CC:: @ 8E830CC .incbin "baserom.gba", 0xE830CC, 0x1F4 @@ -13898,8 +13920,17 @@ gUnknown_8E835B4:: @ 8E835B4 .incbin "baserom.gba", 0xE835B4, 0x50 gUnknown_8E83604:: @ 8E83604 - .incbin "baserom.gba", 0xE83604, 0xFD4 + .incbin "baserom.gba", 0xE83604, 0xF84 + + .align 2 +gFile_graphics_interface_bag_swap_sheet:: @ 8E84588 + .incbin "graphics/interface/bag_swap.4bpp.lz" + .align 2 +gFile_graphics_interface_bag_swap_palette:: @ 8E845C8 + .incbin "graphics/interface/bag_swap.gbapal.lz" + + .align 2 gUnknown_8E845D8:: @ 8E845D8 .incbin "baserom.gba", 0xE845D8, 0x44C diff --git a/graphics/interface/bag_swap.png b/graphics/interface/bag_swap.png new file mode 100644 index 0000000000000000000000000000000000000000..a9bed1e8affebd0d39be57b9be404bcef95e270d GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!7}BEg(FbM9#}2&}sK z9;iXf)5S4FVrp{20p@>)CFK)({udmx7H~-W)9h*6V07=H@$6j>WJMGtLYNr-ZC1TM TefGnXAZt8b{an^LB{Ts5_LnC0 literal 0 HcmV?d00001 diff --git a/graphics/interface/party_menu_misc.bin b/graphics/interface/party_menu_misc.bin new file mode 100644 index 0000000000000000000000000000000000000000..d6ff1114d1161f5b54afcfeb1b35d483e3ee790f GIT binary patch literal 2048 zcmeH{y9$6X3`Mp0t}PesAQ+*bga7}9zDQ@AK^)3ibGYFWqM%Tq6p?3nrcS?t6~VsD zwn+Zdf9g-xK)Ro=@5g`w#&Q4c>+j(}6XSwkqY-iC$1!^fEI!V?rdLlpvkCkTI?&($ TFK&kcdSXU_AD5P<|KGp?HnU1V literal 0 HcmV?d00001 diff --git a/graphics/interface/party_menu_pokeball.png b/graphics/interface/party_menu_pokeball.png new file mode 100644 index 0000000000000000000000000000000000000000..2aad54de84f082c809f773099db85f39b3f8c4e7 GIT binary patch literal 330 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QU(D&A+DOuXMs#)kd@W^ZA&!} z-Fx;9h_*N~91UXFviB?yd3hz}M`Zp2s=n&!;uvDldv$^#U$X&^>&%F1S2gZJfg_$q zPq=vYG6eYxJY}0A8+hGM^yzGlmC3)^wd;P`cV0G$e|c=r+$!&i`OmGJ9jg?N9x4`! zW{%KWz?pX9!zP=!^Rf*ZENdCAi8^w8>}a3C#WBZgUzk~F;cg~P=FXf>1AFdHgSx+t zSH=HLj9T>WO0?5olU^3Km#re)zMd((2`d}aIuw*&7Z%tuO#B|TzG2fr$MCa@iUqcQ z>xr>HQ0;DVVkc{bm+E|t*;?0Q8>ck7Y!hj=3(?=izjpuKFZ&mmt0z8eDYh?-1_g(w LtDnm{r-UW|2-$xj literal 0 HcmV?d00001 diff --git a/graphics/interface/party_menu_pokeball_small.png b/graphics/interface/party_menu_pokeball_small.png new file mode 100644 index 0000000000000000000000000000000000000000..d2eec4d45bb94812fbb5e4c48233bfa801c877d1 GIT binary patch literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^0zjO=!VDyz{eM3hNErn9gt%%pp9M0JK~`4tw=LB` zbnn?aAll-{a5RWv%igm<a_}+jk&*Kda*H%@x2k!*`S(4R zP~*@8(F@hPg!WuG_=u%uPQPDhnpgaF1q+UX;vLGK3xW*Yz4l%HmB0S$;*P#uE7mBT sQEE^NaG&)+UB)8r@XJ5F-qZhG7uWPJ?oGaT_7un`p00i_>zopr0Ja!tIRF3v literal 0 HcmV?d00001 diff --git a/graphics/interface/status_icons.png b/graphics/interface/status_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..fe802d7f66659b1fdb5ca33e5fffcf920ab29145 GIT binary patch literal 455 zcmV;&0XY7NP)f$}&4cPmsZ^Og%s*voSJvbQfmE%tqn> zopOM{2`ZkO=hUgi&Xe-w{PaGSR}@9D(j1S)6dMJtgwo=HLDO3(C4^2uX_7NQ2TCjG zKYomplOBy x_+}V~al{aE0u2^`vB@e@I7Wy=v$g*regTrm{cS=+310vJ002ovPDHLkV1hL5#PR?D literal 0 HcmV?d00001 From dc73d6e003e9e77f22684af312fe2843d4c103ce Mon Sep 17 00:00:00 2001 From: paul Date: Sat, 13 Oct 2018 22:42:39 +0200 Subject: [PATCH 055/222] add items and some battle anims --- data/graphics.s | 1890 ++++++++++++++++- graphics/items/icon_palettes/acro_bike.pal | 19 + graphics/items/icon_palettes/aguav_berry.pal | 19 + graphics/items/icon_palettes/amulet_coin.pal | 19 + graphics/items/icon_palettes/antidote.pal | 19 + graphics/items/icon_palettes/apicot_berry.pal | 19 + graphics/items/icon_palettes/aspear_berry.pal | 19 + .../items/icon_palettes/aurora_ticket.pal | 19 + graphics/items/icon_palettes/awakening.pal | 19 + graphics/items/icon_palettes/bead_mail.pal | 19 + graphics/items/icon_palettes/belue_berry.pal | 19 + graphics/items/icon_palettes/berry_juice.pal | 19 + graphics/items/icon_palettes/berry_pouch.pal | 19 + graphics/items/icon_palettes/bicycle.pal | 19 + graphics/items/icon_palettes/bike_voucher.pal | 19 + graphics/items/icon_palettes/black_flute.pal | 19 + .../black_type_enhancing_item.pal | 19 + graphics/items/icon_palettes/blue_flute.pal | 19 + graphics/items/icon_palettes/blue_orb.pal | 19 + graphics/items/icon_palettes/blue_scarf.pal | 19 + graphics/items/icon_palettes/blue_shard.pal | 19 + graphics/items/icon_palettes/bluk_berry.pal | 19 + .../items/icon_palettes/bright_powder.pal | 19 + graphics/items/icon_palettes/burn_heal.pal | 19 + graphics/items/icon_palettes/calcium.pal | 19 + graphics/items/icon_palettes/carbos.pal | 19 + graphics/items/icon_palettes/card_key.pal | 19 + graphics/items/icon_palettes/charcoal.pal | 19 + graphics/items/icon_palettes/cheri_berry.pal | 19 + graphics/items/icon_palettes/chesto_berry.pal | 19 + graphics/items/icon_palettes/choice_band.pal | 19 + graphics/items/icon_palettes/cleanse_tag.pal | 19 + graphics/items/icon_palettes/coin_case.pal | 19 + graphics/items/icon_palettes/contest_pass.pal | 19 + graphics/items/icon_palettes/cornn_berry.pal | 19 + graphics/items/icon_palettes/dark_tm_hm.pal | 19 + .../items/icon_palettes/deep_sea_scale.pal | 19 + .../items/icon_palettes/deep_sea_tooth.pal | 19 + graphics/items/icon_palettes/devon_goods.pal | 19 + graphics/items/icon_palettes/devon_scope.pal | 19 + graphics/items/icon_palettes/dire_hit.pal | 19 + graphics/items/icon_palettes/dive_ball.pal | 19 + graphics/items/icon_palettes/dragon_fang.pal | 19 + graphics/items/icon_palettes/dragon_scale.pal | 19 + graphics/items/icon_palettes/dragon_tm_hm.pal | 19 + graphics/items/icon_palettes/dream_mail.pal | 19 + graphics/items/icon_palettes/durin_berry.pal | 19 + .../items/icon_palettes/electric_tm_hm.pal | 19 + graphics/items/icon_palettes/elixir.pal | 19 + .../items/icon_palettes/energy_powder.pal | 19 + graphics/items/icon_palettes/energy_root.pal | 19 + graphics/items/icon_palettes/enigma_berry.pal | 19 + graphics/items/icon_palettes/eon_ticket.pal | 19 + graphics/items/icon_palettes/escape_rope.pal | 19 + graphics/items/icon_palettes/ether.pal | 19 + graphics/items/icon_palettes/everstone.pal | 19 + graphics/items/icon_palettes/exp_share.pal | 19 + graphics/items/icon_palettes/fab_mail.pal | 19 + graphics/items/icon_palettes/fame_checker.pal | 19 + .../items/icon_palettes/fighting_tm_hm.pal | 19 + graphics/items/icon_palettes/figy_berry.pal | 19 + graphics/items/icon_palettes/fire_stone.pal | 19 + graphics/items/icon_palettes/fire_tm_hm.pal | 19 + graphics/items/icon_palettes/fluffy_tail.pal | 19 + graphics/items/icon_palettes/flying_tm_hm.pal | 19 + graphics/items/icon_palettes/focus_band.pal | 19 + graphics/items/icon_palettes/fresh_water.pal | 19 + graphics/items/icon_palettes/full_heal.pal | 19 + graphics/items/icon_palettes/full_restore.pal | 19 + graphics/items/icon_palettes/ganlon_berry.pal | 19 + graphics/items/icon_palettes/ghost_tm_hm.pal | 19 + graphics/items/icon_palettes/glitter_mail.pal | 19 + graphics/items/icon_palettes/go_goggles.pal | 19 + graphics/items/icon_palettes/gold_teeth.pal | 19 + graphics/items/icon_palettes/good_rod.pal | 19 + graphics/items/icon_palettes/grass_tm_hm.pal | 19 + graphics/items/icon_palettes/great_ball.pal | 19 + graphics/items/icon_palettes/green_scarf.pal | 19 + graphics/items/icon_palettes/green_shard.pal | 19 + graphics/items/icon_palettes/grepa_berry.pal | 19 + graphics/items/icon_palettes/ground_tm_hm.pal | 19 + graphics/items/icon_palettes/guard_spec.pal | 19 + graphics/items/icon_palettes/harbor_mail.pal | 19 + graphics/items/icon_palettes/hard_stone.pal | 19 + graphics/items/icon_palettes/heal_powder.pal | 19 + graphics/items/icon_palettes/heart_scale.pal | 19 + graphics/items/icon_palettes/hoenn_fossil.pal | 19 + graphics/items/icon_palettes/hondew_berry.pal | 19 + graphics/items/icon_palettes/hp_up.pal | 19 + graphics/items/icon_palettes/hyper_potion.pal | 19 + graphics/items/icon_palettes/iapapa_berry.pal | 19 + graphics/items/icon_palettes/ice_heal.pal | 19 + graphics/items/icon_palettes/ice_tm_hm.pal | 19 + graphics/items/icon_palettes/iron.pal | 19 + graphics/items/icon_palettes/itemfinder.pal | 19 + graphics/items/icon_palettes/kanto_fossil.pal | 19 + graphics/items/icon_palettes/kelpsy_berry.pal | 19 + graphics/items/icon_palettes/key.pal | 19 + graphics/items/icon_palettes/kings_rock.pal | 19 + graphics/items/icon_palettes/lansat_berry.pal | 19 + .../icon_palettes/lava_cookie_and_letter.pal | 19 + graphics/items/icon_palettes/lax_incense.pal | 19 + graphics/items/icon_palettes/leaf_stone.pal | 19 + graphics/items/icon_palettes/leftovers.pal | 19 + graphics/items/icon_palettes/lemonade.pal | 19 + graphics/items/icon_palettes/leppa_berry.pal | 19 + graphics/items/icon_palettes/liechi_berry.pal | 19 + graphics/items/icon_palettes/light_ball.pal | 19 + graphics/items/icon_palettes/lucky_egg.pal | 19 + graphics/items/icon_palettes/lucky_punch.pal | 19 + graphics/items/icon_palettes/lum_berry.pal | 19 + graphics/items/icon_palettes/luxury_ball.pal | 19 + graphics/items/icon_palettes/mach_bike.pal | 19 + graphics/items/icon_palettes/macho_brace.pal | 19 + graphics/items/icon_palettes/magma_emblem.pal | 19 + graphics/items/icon_palettes/magnet.pal | 19 + graphics/items/icon_palettes/mago_berry.pal | 19 + graphics/items/icon_palettes/magost_berry.pal | 19 + graphics/items/icon_palettes/master_ball.pal | 19 + graphics/items/icon_palettes/max_elixir.pal | 19 + graphics/items/icon_palettes/max_ether.pal | 19 + graphics/items/icon_palettes/max_potion.pal | 19 + graphics/items/icon_palettes/max_repel.pal | 19 + graphics/items/icon_palettes/mech_mail.pal | 19 + graphics/items/icon_palettes/mental_herb.pal | 19 + graphics/items/icon_palettes/metal_coat.pal | 19 + graphics/items/icon_palettes/metal_powder.pal | 19 + graphics/items/icon_palettes/meteorite.pal | 19 + graphics/items/icon_palettes/miracle_seed.pal | 19 + graphics/items/icon_palettes/moomoo_milk.pal | 19 + graphics/items/icon_palettes/moon_stone.pal | 19 + graphics/items/icon_palettes/mushroom.pal | 19 + .../items/icon_palettes/mystic_ticket.pal | 19 + graphics/items/icon_palettes/mystic_water.pal | 19 + graphics/items/icon_palettes/nanab_berry.pal | 19 + graphics/items/icon_palettes/nest_ball.pal | 19 + graphics/items/icon_palettes/net_ball.pal | 19 + .../items/icon_palettes/never_melt_ice.pal | 19 + graphics/items/icon_palettes/nomel_berry.pal | 19 + graphics/items/icon_palettes/normal_tm_hm.pal | 19 + graphics/items/icon_palettes/nugget.pal | 19 + graphics/items/icon_palettes/oaks_parcel.pal | 19 + graphics/items/icon_palettes/old_amber.pal | 19 + graphics/items/icon_palettes/old_key.pal | 19 + graphics/items/icon_palettes/old_rod.pal | 19 + graphics/items/icon_palettes/old_sea_map.pal | 19 + graphics/items/icon_palettes/oran_berry.pal | 19 + graphics/items/icon_palettes/orange_mail.pal | 19 + graphics/items/icon_palettes/pamtre_berry.pal | 19 + .../items/icon_palettes/paralyze_heal.pal | 19 + graphics/items/icon_palettes/pearl.pal | 19 + graphics/items/icon_palettes/pecha_berry.pal | 19 + graphics/items/icon_palettes/persim_berry.pal | 19 + graphics/items/icon_palettes/petaya_berry.pal | 19 + graphics/items/icon_palettes/pinap_berry.pal | 19 + graphics/items/icon_palettes/pink_scarf.pal | 19 + graphics/items/icon_palettes/poison_barb.pal | 19 + graphics/items/icon_palettes/poison_tm_hm.pal | 19 + graphics/items/icon_palettes/poke_ball.pal | 19 + graphics/items/icon_palettes/poke_doll.pal | 19 + graphics/items/icon_palettes/poke_flute.pal | 19 + .../items/icon_palettes/pokeblock_case.pal | 19 + graphics/items/icon_palettes/pomeg_berry.pal | 19 + graphics/items/icon_palettes/potion.pal | 19 + graphics/items/icon_palettes/powder_jar.pal | 19 + graphics/items/icon_palettes/pp_max.pal | 19 + graphics/items/icon_palettes/pp_up.pal | 19 + graphics/items/icon_palettes/protein.pal | 19 + .../items/icon_palettes/psychic_tm_hm.pal | 19 + graphics/items/icon_palettes/qualot_berry.pal | 19 + .../items/icon_palettes/question_mark.pal | 19 + graphics/items/icon_palettes/quick_claw.pal | 19 + graphics/items/icon_palettes/rabuta_berry.pal | 19 + graphics/items/icon_palettes/rainbow_pass.pal | 19 + graphics/items/icon_palettes/rare_candy.pal | 19 + graphics/items/icon_palettes/rawst_berry.pal | 19 + graphics/items/icon_palettes/razz_berry.pal | 19 + graphics/items/icon_palettes/red_flute.pal | 19 + graphics/items/icon_palettes/red_orb.pal | 19 + graphics/items/icon_palettes/red_scarf.pal | 19 + graphics/items/icon_palettes/red_shard.pal | 19 + graphics/items/icon_palettes/repeat_ball.pal | 19 + graphics/items/icon_palettes/repel.pal | 19 + graphics/items/icon_palettes/retro_mail.pal | 19 + .../icon_palettes/return_to_field_arrow.pal | 19 + graphics/items/icon_palettes/revival_herb.pal | 19 + graphics/items/icon_palettes/revive.pal | 19 + graphics/items/icon_palettes/rock_tm_hm.pal | 19 + graphics/items/icon_palettes/ruby.pal | 19 + graphics/items/icon_palettes/sacred_ash.pal | 19 + graphics/items/icon_palettes/safari_ball.pal | 19 + graphics/items/icon_palettes/salac_berry.pal | 19 + graphics/items/icon_palettes/sapphire.pal | 19 + graphics/items/icon_palettes/scanner.pal | 19 + graphics/items/icon_palettes/scope_lens.pal | 19 + graphics/items/icon_palettes/sea_incense.pal | 19 + graphics/items/icon_palettes/secret_key.pal | 19 + graphics/items/icon_palettes/shadow_mail.pal | 19 + graphics/items/icon_palettes/sharp_beak.pal | 19 + graphics/items/icon_palettes/shell.pal | 19 + graphics/items/icon_palettes/shoal_salt.pal | 19 + graphics/items/icon_palettes/silk_scarf.pal | 19 + graphics/items/icon_palettes/silph_scope.pal | 19 + .../items/icon_palettes/silver_powder.pal | 19 + graphics/items/icon_palettes/sitrus_berry.pal | 19 + graphics/items/icon_palettes/smoke_ball.pal | 19 + graphics/items/icon_palettes/soda_pop.pal | 19 + graphics/items/icon_palettes/soft_sand.pal | 19 + graphics/items/icon_palettes/soot_sack.pal | 19 + graphics/items/icon_palettes/soothe_bell.pal | 19 + graphics/items/icon_palettes/soul_dew.pal | 19 + graphics/items/icon_palettes/spell_tag.pal | 19 + graphics/items/icon_palettes/spelon_berry.pal | 19 + graphics/items/icon_palettes/ss_ticket.pal | 19 + graphics/items/icon_palettes/star.pal | 19 + graphics/items/icon_palettes/starf_berry.pal | 19 + graphics/items/icon_palettes/steel_tm_hm.pal | 19 + graphics/items/icon_palettes/stick.pal | 19 + graphics/items/icon_palettes/sun_stone.pal | 19 + graphics/items/icon_palettes/super_potion.pal | 19 + graphics/items/icon_palettes/super_repel.pal | 19 + graphics/items/icon_palettes/super_rod.pal | 19 + graphics/items/icon_palettes/tamato_berry.pal | 19 + graphics/items/icon_palettes/tea.pal | 19 + graphics/items/icon_palettes/teachy_tv.pal | 19 + graphics/items/icon_palettes/thick_club.pal | 19 + .../items/icon_palettes/thunder_stone.pal | 19 + graphics/items/icon_palettes/tm_case.pal | 19 + graphics/items/icon_palettes/town_map.pal | 19 + graphics/items/icon_palettes/tri_pass.pal | 19 + graphics/items/icon_palettes/tropic_mail.pal | 19 + .../items/icon_palettes/twisted_spoon.pal | 19 + graphics/items/icon_palettes/ultra_ball.pal | 19 + graphics/items/icon_palettes/up_grade.pal | 19 + graphics/items/icon_palettes/vs_seeker.pal | 19 + graphics/items/icon_palettes/wailmer_pail.pal | 19 + graphics/items/icon_palettes/water_stone.pal | 19 + graphics/items/icon_palettes/water_tm_hm.pal | 19 + graphics/items/icon_palettes/watmel_berry.pal | 19 + graphics/items/icon_palettes/wave_mail.pal | 19 + graphics/items/icon_palettes/wepear_berry.pal | 19 + graphics/items/icon_palettes/white_flute.pal | 19 + graphics/items/icon_palettes/white_herb.pal | 19 + graphics/items/icon_palettes/wiki_berry.pal | 19 + graphics/items/icon_palettes/wood_mail.pal | 19 + graphics/items/icon_palettes/x_accuracy.pal | 19 + graphics/items/icon_palettes/x_attack.pal | 19 + graphics/items/icon_palettes/x_defend.pal | 19 + graphics/items/icon_palettes/x_special.pal | 19 + graphics/items/icon_palettes/x_speed.pal | 19 + graphics/items/icon_palettes/yellow_flute.pal | 19 + graphics/items/icon_palettes/yellow_scarf.pal | 19 + graphics/items/icon_palettes/yellow_shard.pal | 19 + graphics/items/icon_palettes/zinc.pal | 19 + graphics/items/icons/acro_bike.png | Bin 0 -> 313 bytes graphics/items/icons/aguav_berry.png | Bin 0 -> 308 bytes graphics/items/icons/amulet_coin.png | Bin 0 -> 251 bytes graphics/items/icons/antidote.png | Bin 0 -> 255 bytes graphics/items/icons/apicot_berry.png | Bin 0 -> 269 bytes graphics/items/icons/aspear_berry.png | Bin 0 -> 302 bytes graphics/items/icons/aurora_ticket.png | Bin 0 -> 255 bytes graphics/items/icons/basement_key.png | Bin 0 -> 244 bytes graphics/items/icons/battle_stat_item.png | Bin 0 -> 305 bytes graphics/items/icons/bead_mail.png | Bin 0 -> 261 bytes graphics/items/icons/belue_berry.png | Bin 0 -> 320 bytes graphics/items/icons/berry_juice.png | Bin 0 -> 309 bytes graphics/items/icons/berry_pouch.png | Bin 0 -> 324 bytes graphics/items/icons/bicycle.png | Bin 0 -> 302 bytes graphics/items/icons/big_mushroom.png | Bin 0 -> 267 bytes graphics/items/icons/big_pearl.png | Bin 0 -> 269 bytes graphics/items/icons/bike_voucher.png | Bin 0 -> 243 bytes graphics/items/icons/black_belt.png | Bin 0 -> 270 bytes graphics/items/icons/black_glasses.png | Bin 0 -> 221 bytes graphics/items/icons/bluk_berry.png | Bin 0 -> 313 bytes graphics/items/icons/bright_powder.png | Bin 0 -> 282 bytes graphics/items/icons/card_key.png | Bin 0 -> 246 bytes graphics/items/icons/charcoal.png | Bin 0 -> 267 bytes graphics/items/icons/cheri_berry.png | Bin 0 -> 320 bytes graphics/items/icons/chesto_berry.png | Bin 0 -> 288 bytes graphics/items/icons/choice_band.png | Bin 0 -> 330 bytes graphics/items/icons/claw_fossil.png | Bin 0 -> 337 bytes graphics/items/icons/cleanse_tag.png | Bin 0 -> 257 bytes graphics/items/icons/coin_case.png | Bin 0 -> 265 bytes graphics/items/icons/contest_pass.png | Bin 0 -> 261 bytes graphics/items/icons/cornn_berry.png | Bin 0 -> 327 bytes graphics/items/icons/deep_sea_scale.png | Bin 0 -> 245 bytes graphics/items/icons/deep_sea_tooth.png | Bin 0 -> 272 bytes graphics/items/icons/devon_goods.png | Bin 0 -> 255 bytes graphics/items/icons/devon_scope.png | Bin 0 -> 293 bytes graphics/items/icons/dive_ball.png | Bin 0 -> 293 bytes graphics/items/icons/dome_fossil.png | Bin 0 -> 322 bytes graphics/items/icons/dragon_fang.png | Bin 0 -> 272 bytes graphics/items/icons/dragon_scale.png | Bin 0 -> 255 bytes graphics/items/icons/dream_mail.png | Bin 0 -> 284 bytes graphics/items/icons/durin_berry.png | Bin 0 -> 336 bytes graphics/items/icons/energy_root.png | Bin 0 -> 282 bytes graphics/items/icons/enigma_berry.png | Bin 0 -> 289 bytes graphics/items/icons/eon_ticket.png | Bin 0 -> 251 bytes graphics/items/icons/escape_rope.png | Bin 0 -> 265 bytes graphics/items/icons/ether.png | Bin 0 -> 278 bytes graphics/items/icons/everstone.png | Bin 0 -> 259 bytes graphics/items/icons/exp_share.png | Bin 0 -> 332 bytes graphics/items/icons/fab_mail.png | Bin 0 -> 257 bytes graphics/items/icons/fame_checker.png | Bin 0 -> 267 bytes graphics/items/icons/figy_berry.png | Bin 0 -> 292 bytes graphics/items/icons/fire_stone.png | Bin 0 -> 328 bytes graphics/items/icons/fluffy_tail.png | Bin 0 -> 325 bytes graphics/items/icons/flute.png | Bin 0 -> 266 bytes graphics/items/icons/focus_band.png | Bin 0 -> 332 bytes graphics/items/icons/fresh_water.png | Bin 0 -> 267 bytes graphics/items/icons/full_heal.png | Bin 0 -> 255 bytes graphics/items/icons/ganlon_berry.png | Bin 0 -> 298 bytes graphics/items/icons/gem.png | Bin 0 -> 291 bytes graphics/items/icons/glitter_mail.png | Bin 0 -> 302 bytes graphics/items/icons/go_goggles.png | Bin 0 -> 265 bytes graphics/items/icons/gold_teeth.png | Bin 0 -> 297 bytes graphics/items/icons/good_rod.png | Bin 0 -> 261 bytes graphics/items/icons/great_ball.png | Bin 0 -> 292 bytes graphics/items/icons/grepa_berry.png | Bin 0 -> 270 bytes graphics/items/icons/harbor_mail.png | Bin 0 -> 272 bytes graphics/items/icons/hard_stone.png | Bin 0 -> 275 bytes graphics/items/icons/heart_scale.png | Bin 0 -> 241 bytes graphics/items/icons/helix_fossil.png | Bin 0 -> 322 bytes graphics/items/icons/hm.png | Bin 0 -> 346 bytes graphics/items/icons/hondew_berry.png | Bin 0 -> 298 bytes graphics/items/icons/hp_up.png | Bin 0 -> 278 bytes graphics/items/icons/iapapa_berry.png | Bin 0 -> 313 bytes graphics/items/icons/in_battle_herb.png | Bin 0 -> 248 bytes graphics/items/icons/itemfinder.png | Bin 0 -> 288 bytes graphics/items/icons/kelpsy_berry.png | Bin 0 -> 288 bytes graphics/items/icons/kings_rock.png | Bin 0 -> 312 bytes graphics/items/icons/lansat_berry.png | Bin 0 -> 304 bytes graphics/items/icons/large_potion.png | Bin 0 -> 304 bytes graphics/items/icons/lava_cookie.png | Bin 0 -> 292 bytes graphics/items/icons/lax_incense.png | Bin 0 -> 303 bytes graphics/items/icons/leaf_stone.png | Bin 0 -> 326 bytes graphics/items/icons/leftovers.png | Bin 0 -> 262 bytes graphics/items/icons/lemonade.png | Bin 0 -> 285 bytes graphics/items/icons/leppa_berry.png | Bin 0 -> 284 bytes graphics/items/icons/letter.png | Bin 0 -> 220 bytes graphics/items/icons/liechi_berry.png | Bin 0 -> 303 bytes graphics/items/icons/lift_key.png | Bin 0 -> 262 bytes graphics/items/icons/light_ball.png | Bin 0 -> 234 bytes graphics/items/icons/lucky_egg.png | Bin 0 -> 229 bytes graphics/items/icons/lucky_punch.png | Bin 0 -> 274 bytes graphics/items/icons/lum_berry.png | Bin 0 -> 259 bytes graphics/items/icons/luxury_ball.png | Bin 0 -> 277 bytes graphics/items/icons/mach_bike.png | Bin 0 -> 336 bytes graphics/items/icons/macho_brace.png | Bin 0 -> 319 bytes graphics/items/icons/magma_emblem.png | Bin 0 -> 306 bytes graphics/items/icons/magnet.png | Bin 0 -> 271 bytes graphics/items/icons/mago_berry.png | Bin 0 -> 276 bytes graphics/items/icons/magost_berry.png | Bin 0 -> 260 bytes graphics/items/icons/master_ball.png | Bin 0 -> 293 bytes graphics/items/icons/max_revive.png | Bin 0 -> 269 bytes graphics/items/icons/mech_mail.png | Bin 0 -> 300 bytes graphics/items/icons/metal_coat.png | Bin 0 -> 250 bytes graphics/items/icons/metal_powder.png | Bin 0 -> 288 bytes graphics/items/icons/meteorite.png | Bin 0 -> 301 bytes graphics/items/icons/miracle_seed.png | Bin 0 -> 253 bytes graphics/items/icons/moomoo_milk.png | Bin 0 -> 258 bytes graphics/items/icons/moon_stone.png | Bin 0 -> 291 bytes graphics/items/icons/mystic_ticket.png | Bin 0 -> 245 bytes graphics/items/icons/mystic_water.png | Bin 0 -> 244 bytes graphics/items/icons/nanab_berry.png | Bin 0 -> 295 bytes graphics/items/icons/nest_ball.png | Bin 0 -> 287 bytes graphics/items/icons/net_ball.png | Bin 0 -> 297 bytes graphics/items/icons/never_melt_ice.png | Bin 0 -> 277 bytes graphics/items/icons/nomel_berry.png | Bin 0 -> 256 bytes graphics/items/icons/nugget.png | Bin 0 -> 232 bytes graphics/items/icons/oaks_parcel.png | Bin 0 -> 269 bytes graphics/items/icons/old_amber.png | Bin 0 -> 300 bytes graphics/items/icons/old_rod.png | Bin 0 -> 265 bytes graphics/items/icons/old_sea_map.png | Bin 0 -> 309 bytes graphics/items/icons/oran_berry.png | Bin 0 -> 274 bytes graphics/items/icons/orange_mail.png | Bin 0 -> 286 bytes graphics/items/icons/orb.png | Bin 0 -> 264 bytes graphics/items/icons/pamtre_berry.png | Bin 0 -> 311 bytes graphics/items/icons/pearl.png | Bin 0 -> 223 bytes graphics/items/icons/pecha_berry.png | Bin 0 -> 272 bytes graphics/items/icons/persim_berry.png | Bin 0 -> 289 bytes graphics/items/icons/petaya_berry.png | Bin 0 -> 332 bytes graphics/items/icons/pinap_berry.png | Bin 0 -> 326 bytes graphics/items/icons/poison_barb.png | Bin 0 -> 218 bytes graphics/items/icons/poke_ball.png | Bin 0 -> 262 bytes graphics/items/icons/poke_doll.png | Bin 0 -> 298 bytes graphics/items/icons/poke_flute.png | Bin 0 -> 285 bytes graphics/items/icons/pokeblock_case.png | Bin 0 -> 316 bytes graphics/items/icons/pomeg_berry.png | Bin 0 -> 272 bytes graphics/items/icons/potion.png | Bin 0 -> 289 bytes graphics/items/icons/powder.png | Bin 0 -> 231 bytes graphics/items/icons/powder_jar.png | Bin 0 -> 268 bytes graphics/items/icons/pp_max.png | Bin 0 -> 270 bytes graphics/items/icons/pp_up.png | Bin 0 -> 273 bytes graphics/items/icons/premier_ball.png | Bin 0 -> 254 bytes graphics/items/icons/qualot_berry.png | Bin 0 -> 291 bytes graphics/items/icons/question_mark.png | Bin 0 -> 205 bytes graphics/items/icons/quick_claw.png | Bin 0 -> 244 bytes graphics/items/icons/rabuta_berry.png | Bin 0 -> 334 bytes graphics/items/icons/rainbow_pass.png | Bin 0 -> 255 bytes graphics/items/icons/rare_candy.png | Bin 0 -> 279 bytes graphics/items/icons/rawst_berry.png | Bin 0 -> 300 bytes graphics/items/icons/razz_berry.png | Bin 0 -> 303 bytes graphics/items/icons/repeat_ball.png | Bin 0 -> 288 bytes graphics/items/icons/repel.png | Bin 0 -> 266 bytes graphics/items/icons/retro_mail.png | Bin 0 -> 239 bytes .../items/icons/return_to_field_arrow.png | Bin 0 -> 219 bytes graphics/items/icons/revival_herb.png | Bin 0 -> 295 bytes graphics/items/icons/revive.png | Bin 0 -> 198 bytes graphics/items/icons/room1_key.png | Bin 0 -> 250 bytes graphics/items/icons/room2_key.png | Bin 0 -> 250 bytes graphics/items/icons/room4_key.png | Bin 0 -> 251 bytes graphics/items/icons/room6_key.png | Bin 0 -> 254 bytes graphics/items/icons/root_fossil.png | Bin 0 -> 354 bytes graphics/items/icons/sacred_ash.png | Bin 0 -> 288 bytes graphics/items/icons/safari_ball.png | Bin 0 -> 296 bytes graphics/items/icons/salac_berry.png | Bin 0 -> 311 bytes graphics/items/icons/scanner.png | Bin 0 -> 285 bytes graphics/items/icons/scarf.png | Bin 0 -> 289 bytes graphics/items/icons/scope_lens.png | Bin 0 -> 348 bytes graphics/items/icons/sea_incense.png | Bin 0 -> 300 bytes graphics/items/icons/secret_key.png | Bin 0 -> 283 bytes graphics/items/icons/shadow_mail.png | Bin 0 -> 289 bytes graphics/items/icons/shard.png | Bin 0 -> 194 bytes graphics/items/icons/sharp_beak.png | Bin 0 -> 266 bytes graphics/items/icons/shell_bell.png | Bin 0 -> 313 bytes graphics/items/icons/shoal_shell.png | Bin 0 -> 329 bytes graphics/items/icons/silk_scarf.png | Bin 0 -> 322 bytes graphics/items/icons/silph_scope.png | Bin 0 -> 308 bytes graphics/items/icons/silver_powder.png | Bin 0 -> 240 bytes graphics/items/icons/sitrus_berry.png | Bin 0 -> 285 bytes graphics/items/icons/smoke_ball.png | Bin 0 -> 269 bytes graphics/items/icons/soda_pop.png | Bin 0 -> 266 bytes graphics/items/icons/soft_sand.png | Bin 0 -> 283 bytes graphics/items/icons/soot_sack.png | Bin 0 -> 293 bytes graphics/items/icons/soothe_bell.png | Bin 0 -> 282 bytes graphics/items/icons/soul_dew.png | Bin 0 -> 241 bytes graphics/items/icons/spell_tag.png | Bin 0 -> 251 bytes graphics/items/icons/spelon_berry.png | Bin 0 -> 283 bytes graphics/items/icons/ss_ticket.png | Bin 0 -> 233 bytes graphics/items/icons/star_piece.png | Bin 0 -> 236 bytes graphics/items/icons/stardust.png | Bin 0 -> 285 bytes graphics/items/icons/starf_berry.png | Bin 0 -> 295 bytes graphics/items/icons/status_heal.png | Bin 0 -> 255 bytes graphics/items/icons/stick.png | Bin 0 -> 232 bytes graphics/items/icons/storage_key.png | Bin 0 -> 248 bytes graphics/items/icons/sun_stone.png | Bin 0 -> 322 bytes graphics/items/icons/super_rod.png | Bin 0 -> 279 bytes graphics/items/icons/tamato_berry.png | Bin 0 -> 305 bytes graphics/items/icons/tea.png | Bin 0 -> 292 bytes graphics/items/icons/teachy_tv.png | Bin 0 -> 333 bytes graphics/items/icons/thick_club.png | Bin 0 -> 228 bytes graphics/items/icons/thunder_stone.png | Bin 0 -> 305 bytes graphics/items/icons/timer_ball.png | Bin 0 -> 290 bytes graphics/items/icons/tiny_mushroom.png | Bin 0 -> 222 bytes graphics/items/icons/tm.png | Bin 0 -> 344 bytes graphics/items/icons/tm_case.png | Bin 0 -> 295 bytes graphics/items/icons/town_map.png | Bin 0 -> 275 bytes graphics/items/icons/tri_pass.png | Bin 0 -> 240 bytes graphics/items/icons/tropic_mail.png | Bin 0 -> 314 bytes graphics/items/icons/twisted_spoon.png | Bin 0 -> 242 bytes graphics/items/icons/ultra_ball.png | Bin 0 -> 282 bytes graphics/items/icons/up_grade.png | Bin 0 -> 276 bytes graphics/items/icons/vitamin.png | Bin 0 -> 273 bytes graphics/items/icons/vs_seeker.png | Bin 0 -> 278 bytes graphics/items/icons/wailmer_pail.png | Bin 0 -> 289 bytes graphics/items/icons/water_stone.png | Bin 0 -> 305 bytes graphics/items/icons/watmel_berry.png | Bin 0 -> 341 bytes graphics/items/icons/wave_mail.png | Bin 0 -> 287 bytes graphics/items/icons/wepear_berry.png | Bin 0 -> 272 bytes graphics/items/icons/wiki_berry.png | Bin 0 -> 299 bytes graphics/items/icons/wood_mail.png | Bin 0 -> 301 bytes 472 files changed, 6695 insertions(+), 2 deletions(-) create mode 100644 graphics/items/icon_palettes/acro_bike.pal create mode 100644 graphics/items/icon_palettes/aguav_berry.pal create mode 100644 graphics/items/icon_palettes/amulet_coin.pal create mode 100644 graphics/items/icon_palettes/antidote.pal create mode 100644 graphics/items/icon_palettes/apicot_berry.pal create mode 100644 graphics/items/icon_palettes/aspear_berry.pal create mode 100644 graphics/items/icon_palettes/aurora_ticket.pal create mode 100644 graphics/items/icon_palettes/awakening.pal create mode 100644 graphics/items/icon_palettes/bead_mail.pal create mode 100644 graphics/items/icon_palettes/belue_berry.pal create mode 100644 graphics/items/icon_palettes/berry_juice.pal create mode 100644 graphics/items/icon_palettes/berry_pouch.pal create mode 100644 graphics/items/icon_palettes/bicycle.pal create mode 100644 graphics/items/icon_palettes/bike_voucher.pal create mode 100644 graphics/items/icon_palettes/black_flute.pal create mode 100644 graphics/items/icon_palettes/black_type_enhancing_item.pal create mode 100644 graphics/items/icon_palettes/blue_flute.pal create mode 100644 graphics/items/icon_palettes/blue_orb.pal create mode 100644 graphics/items/icon_palettes/blue_scarf.pal create mode 100644 graphics/items/icon_palettes/blue_shard.pal create mode 100644 graphics/items/icon_palettes/bluk_berry.pal create mode 100644 graphics/items/icon_palettes/bright_powder.pal create mode 100644 graphics/items/icon_palettes/burn_heal.pal create mode 100644 graphics/items/icon_palettes/calcium.pal create mode 100644 graphics/items/icon_palettes/carbos.pal create mode 100644 graphics/items/icon_palettes/card_key.pal create mode 100644 graphics/items/icon_palettes/charcoal.pal create mode 100644 graphics/items/icon_palettes/cheri_berry.pal create mode 100644 graphics/items/icon_palettes/chesto_berry.pal create mode 100644 graphics/items/icon_palettes/choice_band.pal create mode 100644 graphics/items/icon_palettes/cleanse_tag.pal create mode 100644 graphics/items/icon_palettes/coin_case.pal create mode 100644 graphics/items/icon_palettes/contest_pass.pal create mode 100644 graphics/items/icon_palettes/cornn_berry.pal create mode 100644 graphics/items/icon_palettes/dark_tm_hm.pal create mode 100644 graphics/items/icon_palettes/deep_sea_scale.pal create mode 100644 graphics/items/icon_palettes/deep_sea_tooth.pal create mode 100644 graphics/items/icon_palettes/devon_goods.pal create mode 100644 graphics/items/icon_palettes/devon_scope.pal create mode 100644 graphics/items/icon_palettes/dire_hit.pal create mode 100644 graphics/items/icon_palettes/dive_ball.pal create mode 100644 graphics/items/icon_palettes/dragon_fang.pal create mode 100644 graphics/items/icon_palettes/dragon_scale.pal create mode 100644 graphics/items/icon_palettes/dragon_tm_hm.pal create mode 100644 graphics/items/icon_palettes/dream_mail.pal create mode 100644 graphics/items/icon_palettes/durin_berry.pal create mode 100644 graphics/items/icon_palettes/electric_tm_hm.pal create mode 100644 graphics/items/icon_palettes/elixir.pal create mode 100644 graphics/items/icon_palettes/energy_powder.pal create mode 100644 graphics/items/icon_palettes/energy_root.pal create mode 100644 graphics/items/icon_palettes/enigma_berry.pal create mode 100644 graphics/items/icon_palettes/eon_ticket.pal create mode 100644 graphics/items/icon_palettes/escape_rope.pal create mode 100644 graphics/items/icon_palettes/ether.pal create mode 100644 graphics/items/icon_palettes/everstone.pal create mode 100644 graphics/items/icon_palettes/exp_share.pal create mode 100644 graphics/items/icon_palettes/fab_mail.pal create mode 100644 graphics/items/icon_palettes/fame_checker.pal create mode 100644 graphics/items/icon_palettes/fighting_tm_hm.pal create mode 100644 graphics/items/icon_palettes/figy_berry.pal create mode 100644 graphics/items/icon_palettes/fire_stone.pal create mode 100644 graphics/items/icon_palettes/fire_tm_hm.pal create mode 100644 graphics/items/icon_palettes/fluffy_tail.pal create mode 100644 graphics/items/icon_palettes/flying_tm_hm.pal create mode 100644 graphics/items/icon_palettes/focus_band.pal create mode 100644 graphics/items/icon_palettes/fresh_water.pal create mode 100644 graphics/items/icon_palettes/full_heal.pal create mode 100644 graphics/items/icon_palettes/full_restore.pal create mode 100644 graphics/items/icon_palettes/ganlon_berry.pal create mode 100644 graphics/items/icon_palettes/ghost_tm_hm.pal create mode 100644 graphics/items/icon_palettes/glitter_mail.pal create mode 100644 graphics/items/icon_palettes/go_goggles.pal create mode 100644 graphics/items/icon_palettes/gold_teeth.pal create mode 100644 graphics/items/icon_palettes/good_rod.pal create mode 100644 graphics/items/icon_palettes/grass_tm_hm.pal create mode 100644 graphics/items/icon_palettes/great_ball.pal create mode 100644 graphics/items/icon_palettes/green_scarf.pal create mode 100644 graphics/items/icon_palettes/green_shard.pal create mode 100644 graphics/items/icon_palettes/grepa_berry.pal create mode 100644 graphics/items/icon_palettes/ground_tm_hm.pal create mode 100644 graphics/items/icon_palettes/guard_spec.pal create mode 100644 graphics/items/icon_palettes/harbor_mail.pal create mode 100644 graphics/items/icon_palettes/hard_stone.pal create mode 100644 graphics/items/icon_palettes/heal_powder.pal create mode 100644 graphics/items/icon_palettes/heart_scale.pal create mode 100644 graphics/items/icon_palettes/hoenn_fossil.pal create mode 100644 graphics/items/icon_palettes/hondew_berry.pal create mode 100644 graphics/items/icon_palettes/hp_up.pal create mode 100644 graphics/items/icon_palettes/hyper_potion.pal create mode 100644 graphics/items/icon_palettes/iapapa_berry.pal create mode 100644 graphics/items/icon_palettes/ice_heal.pal create mode 100644 graphics/items/icon_palettes/ice_tm_hm.pal create mode 100644 graphics/items/icon_palettes/iron.pal create mode 100644 graphics/items/icon_palettes/itemfinder.pal create mode 100644 graphics/items/icon_palettes/kanto_fossil.pal create mode 100644 graphics/items/icon_palettes/kelpsy_berry.pal create mode 100644 graphics/items/icon_palettes/key.pal create mode 100644 graphics/items/icon_palettes/kings_rock.pal create mode 100644 graphics/items/icon_palettes/lansat_berry.pal create mode 100644 graphics/items/icon_palettes/lava_cookie_and_letter.pal create mode 100644 graphics/items/icon_palettes/lax_incense.pal create mode 100644 graphics/items/icon_palettes/leaf_stone.pal create mode 100644 graphics/items/icon_palettes/leftovers.pal create mode 100644 graphics/items/icon_palettes/lemonade.pal create mode 100644 graphics/items/icon_palettes/leppa_berry.pal create mode 100644 graphics/items/icon_palettes/liechi_berry.pal create mode 100644 graphics/items/icon_palettes/light_ball.pal create mode 100644 graphics/items/icon_palettes/lucky_egg.pal create mode 100644 graphics/items/icon_palettes/lucky_punch.pal create mode 100644 graphics/items/icon_palettes/lum_berry.pal create mode 100644 graphics/items/icon_palettes/luxury_ball.pal create mode 100644 graphics/items/icon_palettes/mach_bike.pal create mode 100644 graphics/items/icon_palettes/macho_brace.pal create mode 100644 graphics/items/icon_palettes/magma_emblem.pal create mode 100644 graphics/items/icon_palettes/magnet.pal create mode 100644 graphics/items/icon_palettes/mago_berry.pal create mode 100644 graphics/items/icon_palettes/magost_berry.pal create mode 100644 graphics/items/icon_palettes/master_ball.pal create mode 100644 graphics/items/icon_palettes/max_elixir.pal create mode 100644 graphics/items/icon_palettes/max_ether.pal create mode 100644 graphics/items/icon_palettes/max_potion.pal create mode 100644 graphics/items/icon_palettes/max_repel.pal create mode 100644 graphics/items/icon_palettes/mech_mail.pal create mode 100644 graphics/items/icon_palettes/mental_herb.pal create mode 100644 graphics/items/icon_palettes/metal_coat.pal create mode 100644 graphics/items/icon_palettes/metal_powder.pal create mode 100644 graphics/items/icon_palettes/meteorite.pal create mode 100644 graphics/items/icon_palettes/miracle_seed.pal create mode 100644 graphics/items/icon_palettes/moomoo_milk.pal create mode 100644 graphics/items/icon_palettes/moon_stone.pal create mode 100644 graphics/items/icon_palettes/mushroom.pal create mode 100644 graphics/items/icon_palettes/mystic_ticket.pal create mode 100644 graphics/items/icon_palettes/mystic_water.pal create mode 100644 graphics/items/icon_palettes/nanab_berry.pal create mode 100644 graphics/items/icon_palettes/nest_ball.pal create mode 100644 graphics/items/icon_palettes/net_ball.pal create mode 100644 graphics/items/icon_palettes/never_melt_ice.pal create mode 100644 graphics/items/icon_palettes/nomel_berry.pal create mode 100644 graphics/items/icon_palettes/normal_tm_hm.pal create mode 100644 graphics/items/icon_palettes/nugget.pal create mode 100644 graphics/items/icon_palettes/oaks_parcel.pal create mode 100644 graphics/items/icon_palettes/old_amber.pal create mode 100644 graphics/items/icon_palettes/old_key.pal create mode 100644 graphics/items/icon_palettes/old_rod.pal create mode 100644 graphics/items/icon_palettes/old_sea_map.pal create mode 100644 graphics/items/icon_palettes/oran_berry.pal create mode 100644 graphics/items/icon_palettes/orange_mail.pal create mode 100644 graphics/items/icon_palettes/pamtre_berry.pal create mode 100644 graphics/items/icon_palettes/paralyze_heal.pal create mode 100644 graphics/items/icon_palettes/pearl.pal create mode 100644 graphics/items/icon_palettes/pecha_berry.pal create mode 100644 graphics/items/icon_palettes/persim_berry.pal create mode 100644 graphics/items/icon_palettes/petaya_berry.pal create mode 100644 graphics/items/icon_palettes/pinap_berry.pal create mode 100644 graphics/items/icon_palettes/pink_scarf.pal create mode 100644 graphics/items/icon_palettes/poison_barb.pal create mode 100644 graphics/items/icon_palettes/poison_tm_hm.pal create mode 100644 graphics/items/icon_palettes/poke_ball.pal create mode 100644 graphics/items/icon_palettes/poke_doll.pal create mode 100644 graphics/items/icon_palettes/poke_flute.pal create mode 100644 graphics/items/icon_palettes/pokeblock_case.pal create mode 100644 graphics/items/icon_palettes/pomeg_berry.pal create mode 100644 graphics/items/icon_palettes/potion.pal create mode 100644 graphics/items/icon_palettes/powder_jar.pal create mode 100644 graphics/items/icon_palettes/pp_max.pal create mode 100644 graphics/items/icon_palettes/pp_up.pal create mode 100644 graphics/items/icon_palettes/protein.pal create mode 100644 graphics/items/icon_palettes/psychic_tm_hm.pal create mode 100644 graphics/items/icon_palettes/qualot_berry.pal create mode 100644 graphics/items/icon_palettes/question_mark.pal create mode 100644 graphics/items/icon_palettes/quick_claw.pal create mode 100644 graphics/items/icon_palettes/rabuta_berry.pal create mode 100644 graphics/items/icon_palettes/rainbow_pass.pal create mode 100644 graphics/items/icon_palettes/rare_candy.pal create mode 100644 graphics/items/icon_palettes/rawst_berry.pal create mode 100644 graphics/items/icon_palettes/razz_berry.pal create mode 100644 graphics/items/icon_palettes/red_flute.pal create mode 100644 graphics/items/icon_palettes/red_orb.pal create mode 100644 graphics/items/icon_palettes/red_scarf.pal create mode 100644 graphics/items/icon_palettes/red_shard.pal create mode 100644 graphics/items/icon_palettes/repeat_ball.pal create mode 100644 graphics/items/icon_palettes/repel.pal create mode 100644 graphics/items/icon_palettes/retro_mail.pal create mode 100644 graphics/items/icon_palettes/return_to_field_arrow.pal create mode 100644 graphics/items/icon_palettes/revival_herb.pal create mode 100644 graphics/items/icon_palettes/revive.pal create mode 100644 graphics/items/icon_palettes/rock_tm_hm.pal create mode 100644 graphics/items/icon_palettes/ruby.pal create mode 100644 graphics/items/icon_palettes/sacred_ash.pal create mode 100644 graphics/items/icon_palettes/safari_ball.pal create mode 100644 graphics/items/icon_palettes/salac_berry.pal create mode 100644 graphics/items/icon_palettes/sapphire.pal create mode 100644 graphics/items/icon_palettes/scanner.pal create mode 100644 graphics/items/icon_palettes/scope_lens.pal create mode 100644 graphics/items/icon_palettes/sea_incense.pal create mode 100644 graphics/items/icon_palettes/secret_key.pal create mode 100644 graphics/items/icon_palettes/shadow_mail.pal create mode 100644 graphics/items/icon_palettes/sharp_beak.pal create mode 100644 graphics/items/icon_palettes/shell.pal create mode 100644 graphics/items/icon_palettes/shoal_salt.pal create mode 100644 graphics/items/icon_palettes/silk_scarf.pal create mode 100644 graphics/items/icon_palettes/silph_scope.pal create mode 100644 graphics/items/icon_palettes/silver_powder.pal create mode 100644 graphics/items/icon_palettes/sitrus_berry.pal create mode 100644 graphics/items/icon_palettes/smoke_ball.pal create mode 100644 graphics/items/icon_palettes/soda_pop.pal create mode 100644 graphics/items/icon_palettes/soft_sand.pal create mode 100644 graphics/items/icon_palettes/soot_sack.pal create mode 100644 graphics/items/icon_palettes/soothe_bell.pal create mode 100644 graphics/items/icon_palettes/soul_dew.pal create mode 100644 graphics/items/icon_palettes/spell_tag.pal create mode 100644 graphics/items/icon_palettes/spelon_berry.pal create mode 100644 graphics/items/icon_palettes/ss_ticket.pal create mode 100644 graphics/items/icon_palettes/star.pal create mode 100644 graphics/items/icon_palettes/starf_berry.pal create mode 100644 graphics/items/icon_palettes/steel_tm_hm.pal create mode 100644 graphics/items/icon_palettes/stick.pal create mode 100644 graphics/items/icon_palettes/sun_stone.pal create mode 100644 graphics/items/icon_palettes/super_potion.pal create mode 100644 graphics/items/icon_palettes/super_repel.pal create mode 100644 graphics/items/icon_palettes/super_rod.pal create mode 100644 graphics/items/icon_palettes/tamato_berry.pal create mode 100644 graphics/items/icon_palettes/tea.pal create mode 100644 graphics/items/icon_palettes/teachy_tv.pal create mode 100644 graphics/items/icon_palettes/thick_club.pal create mode 100644 graphics/items/icon_palettes/thunder_stone.pal create mode 100644 graphics/items/icon_palettes/tm_case.pal create mode 100644 graphics/items/icon_palettes/town_map.pal create mode 100644 graphics/items/icon_palettes/tri_pass.pal create mode 100644 graphics/items/icon_palettes/tropic_mail.pal create mode 100644 graphics/items/icon_palettes/twisted_spoon.pal create mode 100644 graphics/items/icon_palettes/ultra_ball.pal create mode 100644 graphics/items/icon_palettes/up_grade.pal create mode 100644 graphics/items/icon_palettes/vs_seeker.pal create mode 100644 graphics/items/icon_palettes/wailmer_pail.pal create mode 100644 graphics/items/icon_palettes/water_stone.pal create mode 100644 graphics/items/icon_palettes/water_tm_hm.pal create mode 100644 graphics/items/icon_palettes/watmel_berry.pal create mode 100644 graphics/items/icon_palettes/wave_mail.pal create mode 100644 graphics/items/icon_palettes/wepear_berry.pal create mode 100644 graphics/items/icon_palettes/white_flute.pal create mode 100644 graphics/items/icon_palettes/white_herb.pal create mode 100644 graphics/items/icon_palettes/wiki_berry.pal create mode 100644 graphics/items/icon_palettes/wood_mail.pal create mode 100644 graphics/items/icon_palettes/x_accuracy.pal create mode 100644 graphics/items/icon_palettes/x_attack.pal create mode 100644 graphics/items/icon_palettes/x_defend.pal create mode 100644 graphics/items/icon_palettes/x_special.pal create mode 100644 graphics/items/icon_palettes/x_speed.pal create mode 100644 graphics/items/icon_palettes/yellow_flute.pal create mode 100644 graphics/items/icon_palettes/yellow_scarf.pal create mode 100644 graphics/items/icon_palettes/yellow_shard.pal create mode 100644 graphics/items/icon_palettes/zinc.pal create mode 100644 graphics/items/icons/acro_bike.png create mode 100644 graphics/items/icons/aguav_berry.png create mode 100644 graphics/items/icons/amulet_coin.png create mode 100644 graphics/items/icons/antidote.png create mode 100644 graphics/items/icons/apicot_berry.png create mode 100644 graphics/items/icons/aspear_berry.png create mode 100644 graphics/items/icons/aurora_ticket.png create mode 100644 graphics/items/icons/basement_key.png create mode 100644 graphics/items/icons/battle_stat_item.png create mode 100644 graphics/items/icons/bead_mail.png create mode 100644 graphics/items/icons/belue_berry.png create mode 100644 graphics/items/icons/berry_juice.png create mode 100644 graphics/items/icons/berry_pouch.png create mode 100644 graphics/items/icons/bicycle.png create mode 100644 graphics/items/icons/big_mushroom.png create mode 100644 graphics/items/icons/big_pearl.png create mode 100644 graphics/items/icons/bike_voucher.png create mode 100644 graphics/items/icons/black_belt.png create mode 100644 graphics/items/icons/black_glasses.png create mode 100644 graphics/items/icons/bluk_berry.png create mode 100644 graphics/items/icons/bright_powder.png create mode 100644 graphics/items/icons/card_key.png create mode 100644 graphics/items/icons/charcoal.png create mode 100644 graphics/items/icons/cheri_berry.png create mode 100644 graphics/items/icons/chesto_berry.png create mode 100644 graphics/items/icons/choice_band.png create mode 100644 graphics/items/icons/claw_fossil.png create mode 100644 graphics/items/icons/cleanse_tag.png create mode 100644 graphics/items/icons/coin_case.png create mode 100644 graphics/items/icons/contest_pass.png create mode 100644 graphics/items/icons/cornn_berry.png create mode 100644 graphics/items/icons/deep_sea_scale.png create mode 100644 graphics/items/icons/deep_sea_tooth.png create mode 100644 graphics/items/icons/devon_goods.png create mode 100644 graphics/items/icons/devon_scope.png create mode 100644 graphics/items/icons/dive_ball.png create mode 100644 graphics/items/icons/dome_fossil.png create mode 100644 graphics/items/icons/dragon_fang.png create mode 100644 graphics/items/icons/dragon_scale.png create mode 100644 graphics/items/icons/dream_mail.png create mode 100644 graphics/items/icons/durin_berry.png create mode 100644 graphics/items/icons/energy_root.png create mode 100644 graphics/items/icons/enigma_berry.png create mode 100644 graphics/items/icons/eon_ticket.png create mode 100644 graphics/items/icons/escape_rope.png create mode 100644 graphics/items/icons/ether.png create mode 100644 graphics/items/icons/everstone.png create mode 100644 graphics/items/icons/exp_share.png create mode 100644 graphics/items/icons/fab_mail.png create mode 100644 graphics/items/icons/fame_checker.png create mode 100644 graphics/items/icons/figy_berry.png create mode 100644 graphics/items/icons/fire_stone.png create mode 100644 graphics/items/icons/fluffy_tail.png create mode 100644 graphics/items/icons/flute.png create mode 100644 graphics/items/icons/focus_band.png create mode 100644 graphics/items/icons/fresh_water.png create mode 100644 graphics/items/icons/full_heal.png create mode 100644 graphics/items/icons/ganlon_berry.png create mode 100644 graphics/items/icons/gem.png create mode 100644 graphics/items/icons/glitter_mail.png create mode 100644 graphics/items/icons/go_goggles.png create mode 100644 graphics/items/icons/gold_teeth.png create mode 100644 graphics/items/icons/good_rod.png create mode 100644 graphics/items/icons/great_ball.png create mode 100644 graphics/items/icons/grepa_berry.png create mode 100644 graphics/items/icons/harbor_mail.png create mode 100644 graphics/items/icons/hard_stone.png create mode 100644 graphics/items/icons/heart_scale.png create mode 100644 graphics/items/icons/helix_fossil.png create mode 100644 graphics/items/icons/hm.png create mode 100644 graphics/items/icons/hondew_berry.png create mode 100644 graphics/items/icons/hp_up.png create mode 100644 graphics/items/icons/iapapa_berry.png create mode 100644 graphics/items/icons/in_battle_herb.png create mode 100644 graphics/items/icons/itemfinder.png create mode 100644 graphics/items/icons/kelpsy_berry.png create mode 100644 graphics/items/icons/kings_rock.png create mode 100644 graphics/items/icons/lansat_berry.png create mode 100644 graphics/items/icons/large_potion.png create mode 100644 graphics/items/icons/lava_cookie.png create mode 100644 graphics/items/icons/lax_incense.png create mode 100644 graphics/items/icons/leaf_stone.png create mode 100644 graphics/items/icons/leftovers.png create mode 100644 graphics/items/icons/lemonade.png create mode 100644 graphics/items/icons/leppa_berry.png create mode 100644 graphics/items/icons/letter.png create mode 100644 graphics/items/icons/liechi_berry.png create mode 100644 graphics/items/icons/lift_key.png create mode 100644 graphics/items/icons/light_ball.png create mode 100644 graphics/items/icons/lucky_egg.png create mode 100644 graphics/items/icons/lucky_punch.png create mode 100644 graphics/items/icons/lum_berry.png create mode 100644 graphics/items/icons/luxury_ball.png create mode 100644 graphics/items/icons/mach_bike.png create mode 100644 graphics/items/icons/macho_brace.png create mode 100644 graphics/items/icons/magma_emblem.png create mode 100644 graphics/items/icons/magnet.png create mode 100644 graphics/items/icons/mago_berry.png create mode 100644 graphics/items/icons/magost_berry.png create mode 100644 graphics/items/icons/master_ball.png create mode 100644 graphics/items/icons/max_revive.png create mode 100644 graphics/items/icons/mech_mail.png create mode 100644 graphics/items/icons/metal_coat.png create mode 100644 graphics/items/icons/metal_powder.png create mode 100644 graphics/items/icons/meteorite.png create mode 100644 graphics/items/icons/miracle_seed.png create mode 100644 graphics/items/icons/moomoo_milk.png create mode 100644 graphics/items/icons/moon_stone.png create mode 100644 graphics/items/icons/mystic_ticket.png create mode 100644 graphics/items/icons/mystic_water.png create mode 100644 graphics/items/icons/nanab_berry.png create mode 100644 graphics/items/icons/nest_ball.png create mode 100644 graphics/items/icons/net_ball.png create mode 100644 graphics/items/icons/never_melt_ice.png create mode 100644 graphics/items/icons/nomel_berry.png create mode 100644 graphics/items/icons/nugget.png create mode 100644 graphics/items/icons/oaks_parcel.png create mode 100644 graphics/items/icons/old_amber.png create mode 100644 graphics/items/icons/old_rod.png create mode 100644 graphics/items/icons/old_sea_map.png create mode 100644 graphics/items/icons/oran_berry.png create mode 100644 graphics/items/icons/orange_mail.png create mode 100644 graphics/items/icons/orb.png create mode 100644 graphics/items/icons/pamtre_berry.png create mode 100644 graphics/items/icons/pearl.png create mode 100644 graphics/items/icons/pecha_berry.png create mode 100644 graphics/items/icons/persim_berry.png create mode 100644 graphics/items/icons/petaya_berry.png create mode 100644 graphics/items/icons/pinap_berry.png create mode 100644 graphics/items/icons/poison_barb.png create mode 100644 graphics/items/icons/poke_ball.png create mode 100644 graphics/items/icons/poke_doll.png create mode 100644 graphics/items/icons/poke_flute.png create mode 100644 graphics/items/icons/pokeblock_case.png create mode 100644 graphics/items/icons/pomeg_berry.png create mode 100644 graphics/items/icons/potion.png create mode 100644 graphics/items/icons/powder.png create mode 100644 graphics/items/icons/powder_jar.png create mode 100644 graphics/items/icons/pp_max.png create mode 100644 graphics/items/icons/pp_up.png create mode 100644 graphics/items/icons/premier_ball.png create mode 100644 graphics/items/icons/qualot_berry.png create mode 100644 graphics/items/icons/question_mark.png create mode 100644 graphics/items/icons/quick_claw.png create mode 100644 graphics/items/icons/rabuta_berry.png create mode 100644 graphics/items/icons/rainbow_pass.png create mode 100644 graphics/items/icons/rare_candy.png create mode 100644 graphics/items/icons/rawst_berry.png create mode 100644 graphics/items/icons/razz_berry.png create mode 100644 graphics/items/icons/repeat_ball.png create mode 100644 graphics/items/icons/repel.png create mode 100644 graphics/items/icons/retro_mail.png create mode 100644 graphics/items/icons/return_to_field_arrow.png create mode 100644 graphics/items/icons/revival_herb.png create mode 100644 graphics/items/icons/revive.png create mode 100644 graphics/items/icons/room1_key.png create mode 100644 graphics/items/icons/room2_key.png create mode 100644 graphics/items/icons/room4_key.png create mode 100644 graphics/items/icons/room6_key.png create mode 100644 graphics/items/icons/root_fossil.png create mode 100644 graphics/items/icons/sacred_ash.png create mode 100644 graphics/items/icons/safari_ball.png create mode 100644 graphics/items/icons/salac_berry.png create mode 100644 graphics/items/icons/scanner.png create mode 100644 graphics/items/icons/scarf.png create mode 100644 graphics/items/icons/scope_lens.png create mode 100644 graphics/items/icons/sea_incense.png create mode 100644 graphics/items/icons/secret_key.png create mode 100644 graphics/items/icons/shadow_mail.png create mode 100644 graphics/items/icons/shard.png create mode 100644 graphics/items/icons/sharp_beak.png create mode 100644 graphics/items/icons/shell_bell.png create mode 100644 graphics/items/icons/shoal_shell.png create mode 100644 graphics/items/icons/silk_scarf.png create mode 100644 graphics/items/icons/silph_scope.png create mode 100644 graphics/items/icons/silver_powder.png create mode 100644 graphics/items/icons/sitrus_berry.png create mode 100644 graphics/items/icons/smoke_ball.png create mode 100644 graphics/items/icons/soda_pop.png create mode 100644 graphics/items/icons/soft_sand.png create mode 100644 graphics/items/icons/soot_sack.png create mode 100644 graphics/items/icons/soothe_bell.png create mode 100644 graphics/items/icons/soul_dew.png create mode 100644 graphics/items/icons/spell_tag.png create mode 100644 graphics/items/icons/spelon_berry.png create mode 100644 graphics/items/icons/ss_ticket.png create mode 100644 graphics/items/icons/star_piece.png create mode 100644 graphics/items/icons/stardust.png create mode 100644 graphics/items/icons/starf_berry.png create mode 100644 graphics/items/icons/status_heal.png create mode 100644 graphics/items/icons/stick.png create mode 100644 graphics/items/icons/storage_key.png create mode 100644 graphics/items/icons/sun_stone.png create mode 100644 graphics/items/icons/super_rod.png create mode 100644 graphics/items/icons/tamato_berry.png create mode 100644 graphics/items/icons/tea.png create mode 100644 graphics/items/icons/teachy_tv.png create mode 100644 graphics/items/icons/thick_club.png create mode 100644 graphics/items/icons/thunder_stone.png create mode 100644 graphics/items/icons/timer_ball.png create mode 100644 graphics/items/icons/tiny_mushroom.png create mode 100644 graphics/items/icons/tm.png create mode 100644 graphics/items/icons/tm_case.png create mode 100644 graphics/items/icons/town_map.png create mode 100644 graphics/items/icons/tri_pass.png create mode 100644 graphics/items/icons/tropic_mail.png create mode 100644 graphics/items/icons/twisted_spoon.png create mode 100644 graphics/items/icons/ultra_ball.png create mode 100644 graphics/items/icons/up_grade.png create mode 100644 graphics/items/icons/vitamin.png create mode 100644 graphics/items/icons/vs_seeker.png create mode 100644 graphics/items/icons/wailmer_pail.png create mode 100644 graphics/items/icons/water_stone.png create mode 100644 graphics/items/icons/watmel_berry.png create mode 100644 graphics/items/icons/wave_mail.png create mode 100644 graphics/items/icons/wepear_berry.png create mode 100644 graphics/items/icons/wiki_berry.png create mode 100644 graphics/items/icons/wood_mail.png diff --git a/data/graphics.s b/data/graphics.s index 47838ad01..101ad50dc 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -13998,9 +13998,1895 @@ gUnknown_8E86F98:: @ 8E86F98 .incbin "baserom.gba", 0xE86F98, 0x90 @ THIS IS ITEM ICONS -gUnknown_8E87028:: @ 8E87028 - .incbin "baserom.gba", 0xE87028, 0xCAEC + .align 2 +gFile_graphics_items_icons_question_mark_sheet:: @ 8E87028 + .incbin "graphics/items/icons/question_mark.4bpp.lz" + .align 2 +gFile_graphics_items_icon_palettes_question_mark_palette:: @ 8E870A0 + .incbin "graphics/items/icon_palettes/question_mark.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_return_to_field_arrow_sheet:: @ 8E870B4 + .incbin "graphics/items/icons/return_to_field_arrow.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_return_to_field_arrow_palette:: @ 8E8713C + .incbin "graphics/items/icon_palettes/return_to_field_arrow.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_master_ball_sheet:: @ 8E87154 + .incbin "graphics/items/icons/master_ball.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_master_ball_palette:: @ 8E87224 + .incbin "graphics/items/icon_palettes/master_ball.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_ultra_ball_sheet:: @ 8E8724C + .incbin "graphics/items/icons/ultra_ball.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_ultra_ball_palette:: @ 8E8730C + .incbin "graphics/items/icon_palettes/ultra_ball.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_great_ball_sheet:: @ 8E87334 + .incbin "graphics/items/icons/great_ball.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_great_ball_palette:: @ 8E87404 + .incbin "graphics/items/icon_palettes/great_ball.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_poke_ball_sheet:: @ 8E8742C + .incbin "graphics/items/icons/poke_ball.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_poke_ball_palette:: @ 8E874DC + .incbin "graphics/items/icon_palettes/poke_ball.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_safari_ball_sheet:: @ 8E87500 + .incbin "graphics/items/icons/safari_ball.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_safari_ball_palette:: @ 8E875D0 + .incbin "graphics/items/icon_palettes/safari_ball.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_net_ball_sheet:: @ 8E875F8 + .incbin "graphics/items/icons/net_ball.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_net_ball_palette:: @ 8E876CC + .incbin "graphics/items/icon_palettes/net_ball.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_dive_ball_sheet:: @ 8E876F0 + .incbin "graphics/items/icons/dive_ball.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_dive_ball_palette:: @ 8E877B8 + .incbin "graphics/items/icon_palettes/dive_ball.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_nest_ball_sheet:: @ 8E877DC + .incbin "graphics/items/icons/nest_ball.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_nest_ball_palette:: @ 8E878A0 + .incbin "graphics/items/icon_palettes/nest_ball.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_repeat_ball_sheet:: @ 8E878C8 + .incbin "graphics/items/icons/repeat_ball.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_repeat_ball_palette:: @ 8E8798C + .incbin "graphics/items/icon_palettes/repeat_ball.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_timer_ball_sheet:: @ 8E879B4 + .incbin "graphics/items/icons/timer_ball.4bpp.lz" + + .align 2 +gFile_graphics_items_icons_luxury_ball_sheet:: @ 8E87A7C + .incbin "graphics/items/icons/luxury_ball.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_luxury_ball_palette:: @ 8E87B38 + .incbin "graphics/items/icon_palettes/luxury_ball.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_premier_ball_sheet:: @ 8E87B60 + .incbin "graphics/items/icons/premier_ball.4bpp.lz" + + .align 2 +gFile_graphics_items_icons_potion_sheet:: @ 8E87C04 + .incbin "graphics/items/icons/potion.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_potion_palette:: @ 8E87CCC + .incbin "graphics/items/icon_palettes/potion.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_antidote_sheet:: @ 8E87CF0 + .incbin "graphics/items/icons/antidote.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_antidote_palette:: @ 8E87DA0 + .incbin "graphics/items/icon_palettes/antidote.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_burn_heal_palette:: @ 8E87DC4 + .incbin "graphics/items/icon_palettes/burn_heal.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_ice_heal_palette:: @ 8E87DE8 + .incbin "graphics/items/icon_palettes/ice_heal.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_status_heal_sheet:: @ 8E87E0C + .incbin "graphics/items/icons/status_heal.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_awakening_palette:: @ 8E87EBC + .incbin "graphics/items/icon_palettes/awakening.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_paralyze_heal_palette:: @ 8E87EE0 + .incbin "graphics/items/icon_palettes/paralyze_heal.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_large_potion_sheet:: @ 8E87F04 + .incbin "graphics/items/icons/large_potion.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_full_restore_palette:: @ 8E87FE8 + .incbin "graphics/items/icon_palettes/full_restore.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_max_potion_palette:: @ 8E8800C + .incbin "graphics/items/icon_palettes/max_potion.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_hyper_potion_palette:: @ 8E88030 + .incbin "graphics/items/icon_palettes/hyper_potion.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_super_potion_palette:: @ 8E88054 + .incbin "graphics/items/icon_palettes/super_potion.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_full_heal_sheet:: @ 8E88078 + .incbin "graphics/items/icons/full_heal.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_full_heal_palette:: @ 8E88120 + .incbin "graphics/items/icon_palettes/full_heal.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_revive_sheet:: @ 8E88148 + .incbin "graphics/items/icons/revive.4bpp.lz" + + .align 2 +gFile_graphics_items_icons_max_revive_sheet:: @ 8E881A4 + .incbin "graphics/items/icons/max_revive.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_revive_palette:: @ 8E88270 + .incbin "graphics/items/icon_palettes/revive.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_fresh_water_sheet:: @ 8E8828C + .incbin "graphics/items/icons/fresh_water.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_fresh_water_palette:: @ 8E8833C + .incbin "graphics/items/icon_palettes/fresh_water.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_soda_pop_sheet:: @ 8E88360 + .incbin "graphics/items/icons/soda_pop.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_soda_pop_palette:: @ 8E883F4 + .incbin "graphics/items/icon_palettes/soda_pop.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_lemonade_sheet:: @ 8E8841C + .incbin "graphics/items/icons/lemonade.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_lemonade_palette:: @ 8E884DC + .incbin "graphics/items/icon_palettes/lemonade.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_moomoo_milk_sheet:: @ 8E88504 + .incbin "graphics/items/icons/moomoo_milk.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_moomoo_milk_palette:: @ 8E885B4 + .incbin "graphics/items/icon_palettes/moomoo_milk.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_powder_sheet:: @ 8E885DC + .incbin "graphics/items/icons/powder.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_energy_powder_palette:: @ 8E88668 + .incbin "graphics/items/icon_palettes/energy_powder.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_energy_root_sheet:: @ 8E88688 + .incbin "graphics/items/icons/energy_root.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_energy_root_palette:: @ 8E88754 + .incbin "graphics/items/icon_palettes/energy_root.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_heal_powder_palette:: @ 8E88770 + .incbin "graphics/items/icon_palettes/heal_powder.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_revival_herb_sheet:: @ 8E88790 + .incbin "graphics/items/icons/revival_herb.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_revival_herb_palette:: @ 8E88860 + .incbin "graphics/items/icon_palettes/revival_herb.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_ether_sheet:: @ 8E88880 + .incbin "graphics/items/icons/ether.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_ether_palette:: @ 8E88940 + .incbin "graphics/items/icon_palettes/ether.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_max_ether_palette:: @ 8E88964 + .incbin "graphics/items/icon_palettes/max_ether.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_elixir_palette:: @ 8E88988 + .incbin "graphics/items/icon_palettes/elixir.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_max_elixir_palette:: @ 8E889AC + .incbin "graphics/items/icon_palettes/max_elixir.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_lava_cookie_sheet:: @ 8E889D0 + .incbin "graphics/items/icons/lava_cookie.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_lava_cookie_and_letter_palette:: @ 8E88A9C + .incbin "graphics/items/icon_palettes/lava_cookie_and_letter.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_flute_sheet:: @ 8E88AC0 + .incbin "graphics/items/icons/flute.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_blue_flute_palette:: @ 8E88B74 + .incbin "graphics/items/icon_palettes/blue_flute.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_yellow_flute_palette:: @ 8E88B98 + .incbin "graphics/items/icon_palettes/yellow_flute.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_red_flute_palette:: @ 8E88BBC + .incbin "graphics/items/icon_palettes/red_flute.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_black_flute_palette:: @ 8E88BE0 + .incbin "graphics/items/icon_palettes/black_flute.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_white_flute_palette:: @ 8E88C04 + .incbin "graphics/items/icon_palettes/white_flute.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_berry_juice_sheet:: @ 8E88C28 + .incbin "graphics/items/icons/berry_juice.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_berry_juice_palette:: @ 8E88D08 + .incbin "graphics/items/icon_palettes/berry_juice.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_sacred_ash_sheet:: @ 8E88D30 + .incbin "graphics/items/icons/sacred_ash.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_sacred_ash_palette:: @ 8E88DF0 + .incbin "graphics/items/icon_palettes/sacred_ash.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_shoal_salt_palette:: @ 8E88E14 + .incbin "graphics/items/icon_palettes/shoal_salt.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_shoal_shell_sheet:: @ 8E88E34 + .incbin "graphics/items/icons/shoal_shell.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_shell_palette:: @ 8E88F28 + .incbin "graphics/items/icon_palettes/shell.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_shard_sheet:: @ 8E88F50 + .incbin "graphics/items/icons/shard.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_red_shard_palette:: @ 8E88FAC + .incbin "graphics/items/icon_palettes/red_shard.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_blue_shard_palette:: @ 8E88FC4 + .incbin "graphics/items/icon_palettes/blue_shard.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_yellow_shard_palette:: @ 8E88FDC + .incbin "graphics/items/icon_palettes/yellow_shard.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_green_shard_palette:: @ 8E88FF4 + .incbin "graphics/items/icon_palettes/green_shard.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_hp_up_sheet:: @ 8E8900C + .incbin "graphics/items/icons/hp_up.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_hp_up_palette:: @ 8E890C4 + .incbin "graphics/items/icon_palettes/hp_up.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_vitamin_sheet:: @ 8E890EC + .incbin "graphics/items/icons/vitamin.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_protein_palette:: @ 8E8919C + .incbin "graphics/items/icon_palettes/protein.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_iron_palette:: @ 8E891C4 + .incbin "graphics/items/icon_palettes/iron.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_carbos_palette:: @ 8E891EC + .incbin "graphics/items/icon_palettes/carbos.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_calcium_palette:: @ 8E89214 + .incbin "graphics/items/icon_palettes/calcium.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_rare_candy_sheet:: @ 8E8923C + .incbin "graphics/items/icons/rare_candy.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_rare_candy_palette:: @ 8E89300 + .incbin "graphics/items/icon_palettes/rare_candy.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_pp_up_sheet:: @ 8E8931C + .incbin "graphics/items/icons/pp_up.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_pp_up_palette:: @ 8E893CC + .incbin "graphics/items/icon_palettes/pp_up.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_zinc_palette:: @ 8E893F4 + .incbin "graphics/items/icon_palettes/zinc.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_pp_max_sheet:: @ 8E8941C + .incbin "graphics/items/icons/pp_max.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_pp_max_palette:: @ 8E894C4 + .incbin "graphics/items/icon_palettes/pp_max.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_guard_spec_palette:: @ 8E894EC + .incbin "graphics/items/icon_palettes/guard_spec.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_dire_hit_palette:: @ 8E89510 + .incbin "graphics/items/icon_palettes/dire_hit.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_x_attack_palette:: @ 8E89534 + .incbin "graphics/items/icon_palettes/x_attack.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_battle_stat_item_sheet:: @ 8E89558 + .incbin "graphics/items/icons/battle_stat_item.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_x_defend_palette:: @ 8E8963C + .incbin "graphics/items/icon_palettes/x_defend.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_x_speed_palette:: @ 8E89660 + .incbin "graphics/items/icon_palettes/x_speed.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_x_accuracy_palette:: @ 8E89684 + .incbin "graphics/items/icon_palettes/x_accuracy.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_x_special_palette:: @ 8E896A8 + .incbin "graphics/items/icon_palettes/x_special.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_poke_doll_sheet:: @ 8E896CC + .incbin "graphics/items/icons/poke_doll.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_poke_doll_palette:: @ 8E897BC + .incbin "graphics/items/icon_palettes/poke_doll.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_fluffy_tail_sheet:: @ 8E897D8 + .incbin "graphics/items/icons/fluffy_tail.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_fluffy_tail_palette:: @ 8E898C8 + .incbin "graphics/items/icon_palettes/fluffy_tail.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_repel_sheet:: @ 8E898EC + .incbin "graphics/items/icons/repel.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_super_repel_palette:: @ 8E8998C + .incbin "graphics/items/icon_palettes/super_repel.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_max_repel_palette:: @ 8E899B4 + .incbin "graphics/items/icon_palettes/max_repel.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_escape_rope_sheet:: @ 8E899DC + .incbin "graphics/items/icons/escape_rope.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_escape_rope_palette:: @ 8E89A90 + .incbin "graphics/items/icon_palettes/escape_rope.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_repel_palette:: @ 8E89AB4 + .incbin "graphics/items/icon_palettes/repel.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_sun_stone_sheet:: @ 8E89ADC + .incbin "graphics/items/icons/sun_stone.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_sun_stone_palette:: @ 8E89BD4 + .incbin "graphics/items/icon_palettes/sun_stone.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_moon_stone_sheet:: @ 8E89BF0 + .incbin "graphics/items/icons/moon_stone.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_moon_stone_palette:: @ 8E89CC4 + .incbin "graphics/items/icon_palettes/moon_stone.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_fire_stone_sheet:: @ 8E89CE4 + .incbin "graphics/items/icons/fire_stone.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_fire_stone_palette:: @ 8E89DD8 + .incbin "graphics/items/icon_palettes/fire_stone.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_thunder_stone_sheet:: @ 8E89E00 + .incbin "graphics/items/icons/thunder_stone.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_thunder_stone_palette:: @ 8E89EE8 + .incbin "graphics/items/icon_palettes/thunder_stone.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_water_stone_sheet:: @ 8E89F08 + .incbin "graphics/items/icons/water_stone.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_water_stone_palette:: @ 8E89FE8 + .incbin "graphics/items/icon_palettes/water_stone.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_leaf_stone_sheet:: @ 8E8A00C + .incbin "graphics/items/icons/leaf_stone.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_leaf_stone_palette:: @ 8E8A100 + .incbin "graphics/items/icon_palettes/leaf_stone.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_tiny_mushroom_sheet:: @ 8E8A128 + .incbin "graphics/items/icons/tiny_mushroom.4bpp.lz" + + .align 2 +gFile_graphics_items_icons_big_mushroom_sheet:: @ 8E8A1A8 + .incbin "graphics/items/icons/big_mushroom.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_mushroom_palette:: @ 8E8A260 + .incbin "graphics/items/icon_palettes/mushroom.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_pearl_sheet:: @ 8E8A284 + .incbin "graphics/items/icons/pearl.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_pearl_palette:: @ 8E8A300 + .incbin "graphics/items/icon_palettes/pearl.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_big_pearl_sheet:: @ 8E8A328 + .incbin "graphics/items/icons/big_pearl.4bpp.lz" + + .align 2 +gFile_graphics_items_icons_stardust_sheet:: @ 8E8A3E0 + .incbin "graphics/items/icons/stardust.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_star_palette:: @ 8E8A4A0 + .incbin "graphics/items/icon_palettes/star.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_star_piece_sheet:: @ 8E8A4C4 + .incbin "graphics/items/icons/star_piece.4bpp.lz" + + .align 2 +gFile_graphics_items_icons_nugget_sheet:: @ 8E8A548 + .incbin "graphics/items/icons/nugget.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_nugget_palette:: @ 8E8A5D4 + .incbin "graphics/items/icon_palettes/nugget.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_heart_scale_sheet:: @ 8E8A5F4 + .incbin "graphics/items/icons/heart_scale.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_heart_scale_palette:: @ 8E8A694 + .incbin "graphics/items/icon_palettes/heart_scale.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_orange_mail_sheet:: @ 8E8A6B0 + .incbin "graphics/items/icons/orange_mail.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_orange_mail_palette:: @ 8E8A784 + .incbin "graphics/items/icon_palettes/orange_mail.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_harbor_mail_sheet:: @ 8E8A7A4 + .incbin "graphics/items/icons/harbor_mail.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_harbor_mail_palette:: @ 8E8A86C + .incbin "graphics/items/icon_palettes/harbor_mail.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_glitter_mail_sheet:: @ 8E8A88C + .incbin "graphics/items/icons/glitter_mail.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_glitter_mail_palette:: @ 8E8A968 + .incbin "graphics/items/icon_palettes/glitter_mail.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_mech_mail_sheet:: @ 8E8A990 + .incbin "graphics/items/icons/mech_mail.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_mech_mail_palette:: @ 8E8AA6C + .incbin "graphics/items/icon_palettes/mech_mail.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_wood_mail_sheet:: @ 8E8AA8C + .incbin "graphics/items/icons/wood_mail.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_wood_mail_palette:: @ 8E8AB6C + .incbin "graphics/items/icon_palettes/wood_mail.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_wave_mail_sheet:: @ 8E8AB8C + .incbin "graphics/items/icons/wave_mail.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_wave_mail_palette:: @ 8E8AC64 + .incbin "graphics/items/icon_palettes/wave_mail.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_bead_mail_sheet:: @ 8E8AC84 + .incbin "graphics/items/icons/bead_mail.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_bead_mail_palette:: @ 8E8AD44 + .incbin "graphics/items/icon_palettes/bead_mail.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_shadow_mail_sheet:: @ 8E8AD64 + .incbin "graphics/items/icons/shadow_mail.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_shadow_mail_palette:: @ 8E8AE38 + .incbin "graphics/items/icon_palettes/shadow_mail.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_tropic_mail_sheet:: @ 8E8AE5C + .incbin "graphics/items/icons/tropic_mail.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_tropic_mail_palette:: @ 8E8AF40 + .incbin "graphics/items/icon_palettes/tropic_mail.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_dream_mail_sheet:: @ 8E8AF64 + .incbin "graphics/items/icons/dream_mail.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_dream_mail_palette:: @ 8E8B044 + .incbin "graphics/items/icon_palettes/dream_mail.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_fab_mail_sheet:: @ 8E8B064 + .incbin "graphics/items/icons/fab_mail.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_fab_mail_palette:: @ 8E8B12C + .incbin "graphics/items/icon_palettes/fab_mail.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_retro_mail_sheet:: @ 8E8B148 + .incbin "graphics/items/icons/retro_mail.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_retro_mail_palette:: @ 8E8B1E0 + .incbin "graphics/items/icon_palettes/retro_mail.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_cheri_berry_sheet:: @ 8E8B200 + .incbin "graphics/items/icons/cheri_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_cheri_berry_palette:: @ 8E8B2E8 + .incbin "graphics/items/icon_palettes/cheri_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_chesto_berry_sheet:: @ 8E8B310 + .incbin "graphics/items/icons/chesto_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_chesto_berry_palette:: @ 8E8B3D0 + .incbin "graphics/items/icon_palettes/chesto_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_pecha_berry_sheet:: @ 8E8B3F4 + .incbin "graphics/items/icons/pecha_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_pecha_berry_palette:: @ 8E8B4B4 + .incbin "graphics/items/icon_palettes/pecha_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_rawst_berry_sheet:: @ 8E8B4D8 + .incbin "graphics/items/icons/rawst_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_rawst_berry_palette:: @ 8E8B5BC + .incbin "graphics/items/icon_palettes/rawst_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_aspear_berry_sheet:: @ 8E8B5E0 + .incbin "graphics/items/icons/aspear_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_aspear_berry_palette:: @ 8E8B6C8 + .incbin "graphics/items/icon_palettes/aspear_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_leppa_berry_sheet:: @ 8E8B6EC + .incbin "graphics/items/icons/leppa_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_leppa_berry_palette:: @ 8E8B7A4 + .incbin "graphics/items/icon_palettes/leppa_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_oran_berry_sheet:: @ 8E8B7C8 + .incbin "graphics/items/icons/oran_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_oran_berry_palette:: @ 8E8B88C + .incbin "graphics/items/icon_palettes/oran_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_persim_berry_sheet:: @ 8E8B8B0 + .incbin "graphics/items/icons/persim_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_persim_berry_palette:: @ 8E8B984 + .incbin "graphics/items/icon_palettes/persim_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_lum_berry_sheet:: @ 8E8B9A8 + .incbin "graphics/items/icons/lum_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_lum_berry_palette:: @ 8E8BA60 + .incbin "graphics/items/icon_palettes/lum_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_sitrus_berry_sheet:: @ 8E8BA7C + .incbin "graphics/items/icons/sitrus_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_sitrus_berry_palette:: @ 8E8BB48 + .incbin "graphics/items/icon_palettes/sitrus_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_figy_berry_sheet:: @ 8E8BB6C + .incbin "graphics/items/icons/figy_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_figy_berry_palette:: @ 8E8BC34 + .incbin "graphics/items/icon_palettes/figy_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_wiki_berry_sheet:: @ 8E8BC58 + .incbin "graphics/items/icons/wiki_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_wiki_berry_palette:: @ 8E8BD3C + .incbin "graphics/items/icon_palettes/wiki_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_mago_berry_sheet:: @ 8E8BD60 + .incbin "graphics/items/icons/mago_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_mago_berry_palette:: @ 8E8BE1C + .incbin "graphics/items/icon_palettes/mago_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_aguav_berry_sheet:: @ 8E8BE40 + .incbin "graphics/items/icons/aguav_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_aguav_berry_palette:: @ 8E8BF2C + .incbin "graphics/items/icon_palettes/aguav_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_iapapa_berry_sheet:: @ 8E8BF4C + .incbin "graphics/items/icons/iapapa_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_iapapa_berry_palette:: @ 8E8C034 + .incbin "graphics/items/icon_palettes/iapapa_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_razz_berry_sheet:: @ 8E8C058 + .incbin "graphics/items/icons/razz_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_razz_berry_palette:: @ 8E8C138 + .incbin "graphics/items/icon_palettes/razz_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_bluk_berry_sheet:: @ 8E8C15C + .incbin "graphics/items/icons/bluk_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_bluk_berry_palette:: @ 8E8C24C + .incbin "graphics/items/icon_palettes/bluk_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_nanab_berry_sheet:: @ 8E8C270 + .incbin "graphics/items/icons/nanab_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_nanab_berry_palette:: @ 8E8C354 + .incbin "graphics/items/icon_palettes/nanab_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_wepear_berry_sheet:: @ 8E8C378 + .incbin "graphics/items/icons/wepear_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_wepear_berry_palette:: @ 8E8C440 + .incbin "graphics/items/icon_palettes/wepear_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_pinap_berry_sheet:: @ 8E8C45C + .incbin "graphics/items/icons/pinap_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_pinap_berry_palette:: @ 8E8C550 + .incbin "graphics/items/icon_palettes/pinap_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_pomeg_berry_sheet:: @ 8E8C574 + .incbin "graphics/items/icons/pomeg_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_pomeg_berry_palette:: @ 8E8C628 + .incbin "graphics/items/icon_palettes/pomeg_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_kelpsy_berry_sheet:: @ 8E8C64C + .incbin "graphics/items/icons/kelpsy_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_kelpsy_berry_palette:: @ 8E8C71C + .incbin "graphics/items/icon_palettes/kelpsy_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_qualot_berry_sheet:: @ 8E8C73C + .incbin "graphics/items/icons/qualot_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_qualot_berry_palette:: @ 8E8C808 + .incbin "graphics/items/icon_palettes/qualot_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_hondew_berry_sheet:: @ 8E8C82C + .incbin "graphics/items/icons/hondew_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_hondew_berry_palette:: @ 8E8C90C + .incbin "graphics/items/icon_palettes/hondew_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_grepa_berry_sheet:: @ 8E8C930 + .incbin "graphics/items/icons/grepa_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_grepa_berry_palette:: @ 8E8C9E4 + .incbin "graphics/items/icon_palettes/grepa_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_tamato_berry_sheet:: @ 8E8CA08 + .incbin "graphics/items/icons/tamato_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_tamato_berry_palette:: @ 8E8CAE4 + .incbin "graphics/items/icon_palettes/tamato_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_cornn_berry_sheet:: @ 8E8CB08 + .incbin "graphics/items/icons/cornn_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_cornn_berry_palette:: @ 8E8CBF4 + .incbin "graphics/items/icon_palettes/cornn_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_magost_berry_sheet:: @ 8E8CC1C + .incbin "graphics/items/icons/magost_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_magost_berry_palette:: @ 8E8CCC4 + .incbin "graphics/items/icon_palettes/magost_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_rabuta_berry_sheet:: @ 8E8CCE8 + .incbin "graphics/items/icons/rabuta_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_rabuta_berry_palette:: @ 8E8CDE4 + .incbin "graphics/items/icon_palettes/rabuta_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_nomel_berry_sheet:: @ 8E8CE08 + .incbin "graphics/items/icons/nomel_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_nomel_berry_palette:: @ 8E8CEAC + .incbin "graphics/items/icon_palettes/nomel_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_spelon_berry_sheet:: @ 8E8CEC8 + .incbin "graphics/items/icons/spelon_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_spelon_berry_palette:: @ 8E8CF8C + .incbin "graphics/items/icon_palettes/spelon_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_pamtre_berry_sheet:: @ 8E8CFAC + .incbin "graphics/items/icons/pamtre_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_pamtre_berry_palette:: @ 8E8D08C + .incbin "graphics/items/icon_palettes/pamtre_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_watmel_berry_sheet:: @ 8E8D0B4 + .incbin "graphics/items/icons/watmel_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_watmel_berry_palette:: @ 8E8D1C4 + .incbin "graphics/items/icon_palettes/watmel_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_durin_berry_sheet:: @ 8E8D1E8 + .incbin "graphics/items/icons/durin_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_durin_berry_palette:: @ 8E8D2EC + .incbin "graphics/items/icon_palettes/durin_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_belue_berry_sheet:: @ 8E8D310 + .incbin "graphics/items/icons/belue_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_belue_berry_palette:: @ 8E8D3F4 + .incbin "graphics/items/icon_palettes/belue_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_liechi_berry_sheet:: @ 8E8D418 + .incbin "graphics/items/icons/liechi_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_liechi_berry_palette:: @ 8E8D4F8 + .incbin "graphics/items/icon_palettes/liechi_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_ganlon_berry_sheet:: @ 8E8D518 + .incbin "graphics/items/icons/ganlon_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_ganlon_berry_palette:: @ 8E8D5F8 + .incbin "graphics/items/icon_palettes/ganlon_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_salac_berry_sheet:: @ 8E8D618 + .incbin "graphics/items/icons/salac_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_salac_berry_palette:: @ 8E8D700 + .incbin "graphics/items/icon_palettes/salac_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_petaya_berry_sheet:: @ 8E8D720 + .incbin "graphics/items/icons/petaya_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_petaya_berry_palette:: @ 8E8D818 + .incbin "graphics/items/icon_palettes/petaya_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_apicot_berry_sheet:: @ 8E8D83C + .incbin "graphics/items/icons/apicot_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_apicot_berry_palette:: @ 8E8D8F4 + .incbin "graphics/items/icon_palettes/apicot_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_lansat_berry_sheet:: @ 8E8D91C + .incbin "graphics/items/icons/lansat_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_lansat_berry_palette:: @ 8E8D9FC + .incbin "graphics/items/icon_palettes/lansat_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_starf_berry_sheet:: @ 8E8DA20 + .incbin "graphics/items/icons/starf_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_starf_berry_palette:: @ 8E8DAF0 + .incbin "graphics/items/icon_palettes/starf_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_enigma_berry_sheet:: @ 8E8DB14 + .incbin "graphics/items/icons/enigma_berry.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_enigma_berry_palette:: @ 8E8DBE0 + .incbin "graphics/items/icon_palettes/enigma_berry.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_bright_powder_sheet:: @ 8E8DC00 + .incbin "graphics/items/icons/bright_powder.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_bright_powder_palette:: @ 8E8DCBC + .incbin "graphics/items/icon_palettes/bright_powder.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_in_battle_herb_sheet:: @ 8E8DCDC + .incbin "graphics/items/icons/in_battle_herb.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_white_herb_palette:: @ 8E8DD88 + .incbin "graphics/items/icon_palettes/white_herb.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_macho_brace_sheet:: @ 8E8DDA8 + .incbin "graphics/items/icons/macho_brace.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_macho_brace_palette:: @ 8E8DE94 + .incbin "graphics/items/icon_palettes/macho_brace.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_exp_share_sheet:: @ 8E8DEBC + .incbin "graphics/items/icons/exp_share.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_exp_share_palette:: @ 8E8DFA8 + .incbin "graphics/items/icon_palettes/exp_share.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_quick_claw_sheet:: @ 8E8DFD0 + .incbin "graphics/items/icons/quick_claw.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_quick_claw_palette:: @ 8E8E068 + .incbin "graphics/items/icon_palettes/quick_claw.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_soothe_bell_sheet:: @ 8E8E088 + .incbin "graphics/items/icons/soothe_bell.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_soothe_bell_palette:: @ 8E8E14C + .incbin "graphics/items/icon_palettes/soothe_bell.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_mental_herb_palette:: @ 8E8E170 + .incbin "graphics/items/icon_palettes/mental_herb.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_choice_band_sheet:: @ 8E8E190 + .incbin "graphics/items/icons/choice_band.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_choice_band_palette:: @ 8E8E27C + .incbin "graphics/items/icon_palettes/choice_band.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_kings_rock_sheet:: @ 8E8E2A4 + .incbin "graphics/items/icons/kings_rock.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_kings_rock_palette:: @ 8E8E394 + .incbin "graphics/items/icon_palettes/kings_rock.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_silver_powder_sheet:: @ 8E8E3B0 + .incbin "graphics/items/icons/silver_powder.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_silver_powder_palette:: @ 8E8E43C + .incbin "graphics/items/icon_palettes/silver_powder.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_amulet_coin_sheet:: @ 8E8E460 + .incbin "graphics/items/icons/amulet_coin.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_amulet_coin_palette:: @ 8E8E4F8 + .incbin "graphics/items/icon_palettes/amulet_coin.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_cleanse_tag_sheet:: @ 8E8E51C + .incbin "graphics/items/icons/cleanse_tag.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_cleanse_tag_palette:: @ 8E8E5C0 + .incbin "graphics/items/icon_palettes/cleanse_tag.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_soul_dew_sheet:: @ 8E8E5E0 + .incbin "graphics/items/icons/soul_dew.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_soul_dew_palette:: @ 8E8E674 + .incbin "graphics/items/icon_palettes/soul_dew.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_deep_sea_tooth_sheet:: @ 8E8E694 + .incbin "graphics/items/icons/deep_sea_tooth.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_deep_sea_tooth_palette:: @ 8E8E748 + .incbin "graphics/items/icon_palettes/deep_sea_tooth.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_deep_sea_scale_sheet:: @ 8E8E76C + .incbin "graphics/items/icons/deep_sea_scale.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_deep_sea_scale_palette:: @ 8E8E814 + .incbin "graphics/items/icon_palettes/deep_sea_scale.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_smoke_ball_sheet:: @ 8E8E834 + .incbin "graphics/items/icons/smoke_ball.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_smoke_ball_palette:: @ 8E8E8EC + .incbin "graphics/items/icon_palettes/smoke_ball.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_everstone_sheet:: @ 8E8E910 + .incbin "graphics/items/icons/everstone.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_everstone_palette:: @ 8E8E9C4 + .incbin "graphics/items/icon_palettes/everstone.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_focus_band_sheet:: @ 8E8E9E0 + .incbin "graphics/items/icons/focus_band.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_focus_band_palette:: @ 8E8EAD0 + .incbin "graphics/items/icon_palettes/focus_band.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_lucky_egg_sheet:: @ 8E8EAF8 + .incbin "graphics/items/icons/lucky_egg.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_lucky_egg_palette:: @ 8E8EB80 + .incbin "graphics/items/icon_palettes/lucky_egg.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_scope_lens_sheet:: @ 8E8EB98 + .incbin "graphics/items/icons/scope_lens.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_scope_lens_palette:: @ 8E8EC98 + .incbin "graphics/items/icon_palettes/scope_lens.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_metal_coat_sheet:: @ 8E8ECC0 + .incbin "graphics/items/icons/metal_coat.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_metal_coat_palette:: @ 8E8ED7C + .incbin "graphics/items/icon_palettes/metal_coat.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_leftovers_sheet:: @ 8E8ED9C + .incbin "graphics/items/icons/leftovers.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_leftovers_palette:: @ 8E8EE40 + .incbin "graphics/items/icon_palettes/leftovers.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_dragon_scale_sheet:: @ 8E8EE64 + .incbin "graphics/items/icons/dragon_scale.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_dragon_scale_palette:: @ 8E8EF18 + .incbin "graphics/items/icon_palettes/dragon_scale.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_light_ball_sheet:: @ 8E8EF38 + .incbin "graphics/items/icons/light_ball.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_light_ball_palette:: @ 8E8EFCC + .incbin "graphics/items/icon_palettes/light_ball.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_soft_sand_sheet:: @ 8E8EFF0 + .incbin "graphics/items/icons/soft_sand.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_soft_sand_palette:: @ 8E8F0AC + .incbin "graphics/items/icon_palettes/soft_sand.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_hard_stone_sheet:: @ 8E8F0CC + .incbin "graphics/items/icons/hard_stone.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_hard_stone_palette:: @ 8E8F180 + .incbin "graphics/items/icon_palettes/hard_stone.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_miracle_seed_sheet:: @ 8E8F1A4 + .incbin "graphics/items/icons/miracle_seed.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_miracle_seed_palette:: @ 8E8F254 + .incbin "graphics/items/icon_palettes/miracle_seed.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_black_glasses_sheet:: @ 8E8F270 + .incbin "graphics/items/icons/black_glasses.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_black_type_enhancing_item_palette:: @ 8E8F2F8 + .incbin "graphics/items/icon_palettes/black_type_enhancing_item.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_black_belt_sheet:: @ 8E8F310 + .incbin "graphics/items/icons/black_belt.4bpp.lz" + + .align 2 +gFile_graphics_items_icons_magnet_sheet:: @ 8E8F3D8 + .incbin "graphics/items/icons/magnet.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_magnet_palette:: @ 8E8F488 + .incbin "graphics/items/icon_palettes/magnet.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_mystic_water_sheet:: @ 8E8F4B0 + .incbin "graphics/items/icons/mystic_water.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_mystic_water_palette:: @ 8E8F548 + .incbin "graphics/items/icon_palettes/mystic_water.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_sharp_beak_sheet:: @ 8E8F568 + .incbin "graphics/items/icons/sharp_beak.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_sharp_beak_palette:: @ 8E8F624 + .incbin "graphics/items/icon_palettes/sharp_beak.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_poison_barb_sheet:: @ 8E8F644 + .incbin "graphics/items/icons/poison_barb.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_poison_barb_palette:: @ 8E8F6CC + .incbin "graphics/items/icon_palettes/poison_barb.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_never_melt_ice_sheet:: @ 8E8F6EC + .incbin "graphics/items/icons/never_melt_ice.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_never_melt_ice_palette:: @ 8E8F7B8 + .incbin "graphics/items/icon_palettes/never_melt_ice.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_spell_tag_sheet:: @ 8E8F7D4 + .incbin "graphics/items/icons/spell_tag.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_spell_tag_palette:: @ 8E8F874 + .incbin "graphics/items/icon_palettes/spell_tag.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_twisted_spoon_sheet:: @ 8E8F894 + .incbin "graphics/items/icons/twisted_spoon.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_twisted_spoon_palette:: @ 8E8F934 + .incbin "graphics/items/icon_palettes/twisted_spoon.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_charcoal_sheet:: @ 8E8F94C + .incbin "graphics/items/icons/charcoal.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_charcoal_palette:: @ 8E8FA1C + .incbin "graphics/items/icon_palettes/charcoal.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_dragon_fang_sheet:: @ 8E8FA38 + .incbin "graphics/items/icons/dragon_fang.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_dragon_fang_palette:: @ 8E8FAEC + .incbin "graphics/items/icon_palettes/dragon_fang.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_silk_scarf_sheet:: @ 8E8FB0C + .incbin "graphics/items/icons/silk_scarf.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_silk_scarf_palette:: @ 8E8FC14 + .incbin "graphics/items/icon_palettes/silk_scarf.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_up_grade_sheet:: @ 8E8FC34 + .incbin "graphics/items/icons/up_grade.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_up_grade_palette:: @ 8E8FCF0 + .incbin "graphics/items/icon_palettes/up_grade.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_shell_bell_sheet:: @ 8E8FD18 + .incbin "graphics/items/icons/shell_bell.4bpp.lz" + + .align 2 +gFile_graphics_items_icons_sea_incense_sheet:: @ 8E8FDF8 + .incbin "graphics/items/icons/sea_incense.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_sea_incense_palette:: @ 8E8FEE0 + .incbin "graphics/items/icon_palettes/sea_incense.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_lax_incense_sheet:: @ 8E8FF08 + .incbin "graphics/items/icons/lax_incense.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_lax_incense_palette:: @ 8E8FFF0 + .incbin "graphics/items/icon_palettes/lax_incense.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_lucky_punch_sheet:: @ 8E90018 + .incbin "graphics/items/icons/lucky_punch.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_lucky_punch_palette:: @ 8E900DC + .incbin "graphics/items/icon_palettes/lucky_punch.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_metal_powder_sheet:: @ 8E900FC + .incbin "graphics/items/icons/metal_powder.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_metal_powder_palette:: @ 8E901BC + .incbin "graphics/items/icon_palettes/metal_powder.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_thick_club_sheet:: @ 8E901E0 + .incbin "graphics/items/icons/thick_club.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_thick_club_palette:: @ 8E90274 + .incbin "graphics/items/icon_palettes/thick_club.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_stick_sheet:: @ 8E90290 + .incbin "graphics/items/icons/stick.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_stick_palette:: @ 8E90330 + .incbin "graphics/items/icon_palettes/stick.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_scarf_sheet:: @ 8E90354 + .incbin "graphics/items/icons/scarf.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_red_scarf_palette:: @ 8E90420 + .incbin "graphics/items/icon_palettes/red_scarf.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_blue_scarf_palette:: @ 8E9043C + .incbin "graphics/items/icon_palettes/blue_scarf.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_pink_scarf_palette:: @ 8E90458 + .incbin "graphics/items/icon_palettes/pink_scarf.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_green_scarf_palette:: @ 8E90474 + .incbin "graphics/items/icon_palettes/green_scarf.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_yellow_scarf_palette:: @ 8E90490 + .incbin "graphics/items/icon_palettes/yellow_scarf.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_mach_bike_sheet:: @ 8E904AC + .incbin "graphics/items/icons/mach_bike.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_mach_bike_palette:: @ 8E905B4 + .incbin "graphics/items/icon_palettes/mach_bike.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_coin_case_sheet:: @ 8E905D8 + .incbin "graphics/items/icons/coin_case.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_coin_case_palette:: @ 8E90698 + .incbin "graphics/items/icon_palettes/coin_case.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_itemfinder_sheet:: @ 8E906B8 + .incbin "graphics/items/icons/itemfinder.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_itemfinder_palette:: @ 8E90774 + .incbin "graphics/items/icon_palettes/itemfinder.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_old_rod_sheet:: @ 8E9079C + .incbin "graphics/items/icons/old_rod.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_old_rod_palette:: @ 8E90848 + .incbin "graphics/items/icon_palettes/old_rod.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_good_rod_sheet:: @ 8E9086C + .incbin "graphics/items/icons/good_rod.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_good_rod_palette:: @ 8E90908 + .incbin "graphics/items/icon_palettes/good_rod.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_super_rod_sheet:: @ 8E90930 + .incbin "graphics/items/icons/super_rod.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_super_rod_palette:: @ 8E909E0 + .incbin "graphics/items/icon_palettes/super_rod.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_ss_ticket_sheet:: @ 8E90A08 + .incbin "graphics/items/icons/ss_ticket.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_ss_ticket_palette:: @ 8E90A9C + .incbin "graphics/items/icon_palettes/ss_ticket.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_contest_pass_sheet:: @ 8E90AB4 + .incbin "graphics/items/icons/contest_pass.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_contest_pass_palette:: @ 8E90B60 + .incbin "graphics/items/icon_palettes/contest_pass.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_wailmer_pail_sheet:: @ 8E90B88 + .incbin "graphics/items/icons/wailmer_pail.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_wailmer_pail_palette:: @ 8E90C54 + .incbin "graphics/items/icon_palettes/wailmer_pail.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_devon_goods_sheet:: @ 8E90C78 + .incbin "graphics/items/icons/devon_goods.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_devon_goods_palette:: @ 8E90D20 + .incbin "graphics/items/icon_palettes/devon_goods.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_soot_sack_sheet:: @ 8E90D3C + .incbin "graphics/items/icons/soot_sack.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_soot_sack_palette:: @ 8E90E14 + .incbin "graphics/items/icon_palettes/soot_sack.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_basement_key_sheet:: @ 8E90E3C + .incbin "graphics/items/icons/basement_key.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_old_key_palette:: @ 8E90EE4 + .incbin "graphics/items/icon_palettes/old_key.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_acro_bike_sheet:: @ 8E90F0C + .incbin "graphics/items/icons/acro_bike.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_acro_bike_palette:: @ 8E91008 + .incbin "graphics/items/icon_palettes/acro_bike.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_pokeblock_case_sheet:: @ 8E91028 + .incbin "graphics/items/icons/pokeblock_case.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_pokeblock_case_palette:: @ 8E91110 + .incbin "graphics/items/icon_palettes/pokeblock_case.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_letter_sheet:: @ 8E91138 + .incbin "graphics/items/icons/letter.4bpp.lz" + + .align 2 +gFile_graphics_items_icons_eon_ticket_sheet:: @ 8E911B8 + .incbin "graphics/items/icons/eon_ticket.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_eon_ticket_palette:: @ 8E91254 + .incbin "graphics/items/icon_palettes/eon_ticket.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_orb_sheet:: @ 8E91278 + .incbin "graphics/items/icons/orb.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_red_orb_palette:: @ 8E91330 + .incbin "graphics/items/icon_palettes/red_orb.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_blue_orb_palette:: @ 8E9134C + .incbin "graphics/items/icon_palettes/blue_orb.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_scanner_sheet:: @ 8E91368 + .incbin "graphics/items/icons/scanner.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_scanner_palette:: @ 8E91430 + .incbin "graphics/items/icon_palettes/scanner.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_go_goggles_sheet:: @ 8E91454 + .incbin "graphics/items/icons/go_goggles.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_go_goggles_palette:: @ 8E91508 + .incbin "graphics/items/icon_palettes/go_goggles.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_meteorite_sheet:: @ 8E91528 + .incbin "graphics/items/icons/meteorite.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_meteorite_palette:: @ 8E91608 + .incbin "graphics/items/icon_palettes/meteorite.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_room1_key_sheet:: @ 8E91628 + .incbin "graphics/items/icons/room1_key.4bpp.lz" + + .align 2 +gFile_graphics_items_icons_room2_key_sheet:: @ 8E916E0 + .incbin "graphics/items/icons/room2_key.4bpp.lz" + + .align 2 +gFile_graphics_items_icons_room4_key_sheet:: @ 8E9179C + .incbin "graphics/items/icons/room4_key.4bpp.lz" + + .align 2 +gFile_graphics_items_icons_room6_key_sheet:: @ 8E9185C + .incbin "graphics/items/icons/room6_key.4bpp.lz" + + .align 2 +gFile_graphics_items_icons_storage_key_sheet:: @ 8E91918 + .incbin "graphics/items/icons/storage_key.4bpp.lz" + + .align 2 +gFile_graphics_items_icons_root_fossil_sheet:: @ 8E919C0 + .incbin "graphics/items/icons/root_fossil.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_hoenn_fossil_palette:: @ 8E91ACC + .incbin "graphics/items/icon_palettes/hoenn_fossil.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_claw_fossil_sheet:: @ 8E91AF4 + .incbin "graphics/items/icons/claw_fossil.4bpp.lz" + + .align 2 +gFile_graphics_items_icons_devon_scope_sheet:: @ 8E91BE4 + .incbin "graphics/items/icons/devon_scope.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_devon_scope_palette:: @ 8E91CA0 + .incbin "graphics/items/icon_palettes/devon_scope.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_tm_sheet:: @ 8E91CC8 + .incbin "graphics/items/icons/tm.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_fighting_tm_hm_palette:: @ 8E91DC4 + .incbin "graphics/items/icon_palettes/fighting_tm_hm.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_dragon_tm_hm_palette:: @ 8E91DEC + .incbin "graphics/items/icon_palettes/dragon_tm_hm.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_water_tm_hm_palette:: @ 8E91E14 + .incbin "graphics/items/icon_palettes/water_tm_hm.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_psychic_tm_hm_palette:: @ 8E91E3C + .incbin "graphics/items/icon_palettes/psychic_tm_hm.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_normal_tm_hm_palette:: @ 8E91E64 + .incbin "graphics/items/icon_palettes/normal_tm_hm.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_poison_tm_hm_palette:: @ 8E91E8C + .incbin "graphics/items/icon_palettes/poison_tm_hm.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_ice_tm_hm_palette:: @ 8E91EB4 + .incbin "graphics/items/icon_palettes/ice_tm_hm.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_grass_tm_hm_palette:: @ 8E91EDC + .incbin "graphics/items/icon_palettes/grass_tm_hm.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_fire_tm_hm_palette:: @ 8E91F04 + .incbin "graphics/items/icon_palettes/fire_tm_hm.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_dark_tm_hm_palette:: @ 8E91F2C + .incbin "graphics/items/icon_palettes/dark_tm_hm.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_steel_tm_hm_palette:: @ 8E91F54 + .incbin "graphics/items/icon_palettes/steel_tm_hm.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_electric_tm_hm_palette:: @ 8E91F7C + .incbin "graphics/items/icon_palettes/electric_tm_hm.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_ground_tm_hm_palette:: @ 8E91FA4 + .incbin "graphics/items/icon_palettes/ground_tm_hm.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_ghost_tm_hm_palette:: @ 8E91FCC + .incbin "graphics/items/icon_palettes/ghost_tm_hm.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_rock_tm_hm_palette:: @ 8E91FF4 + .incbin "graphics/items/icon_palettes/rock_tm_hm.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_flying_tm_hm_palette:: @ 8E9201C + .incbin "graphics/items/icon_palettes/flying_tm_hm.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_oaks_parcel_sheet:: @ 8E92044 + .incbin "graphics/items/icons/oaks_parcel.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_oaks_parcel_palette:: @ 8E920FC + .incbin "graphics/items/icon_palettes/oaks_parcel.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_poke_flute_sheet:: @ 8E9211C + .incbin "graphics/items/icons/poke_flute.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_poke_flute_palette:: @ 8E921E0 + .incbin "graphics/items/icon_palettes/poke_flute.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_secret_key_sheet:: @ 8E92208 + .incbin "graphics/items/icons/secret_key.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_secret_key_palette:: @ 8E922D4 + .incbin "graphics/items/icon_palettes/secret_key.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_bike_voucher_sheet:: @ 8E922FC + .incbin "graphics/items/icons/bike_voucher.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_bike_voucher_palette:: @ 8E9239C + .incbin "graphics/items/icon_palettes/bike_voucher.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_gold_teeth_sheet:: @ 8E923BC + .incbin "graphics/items/icons/gold_teeth.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_gold_teeth_palette:: @ 8E924A8 + .incbin "graphics/items/icon_palettes/gold_teeth.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_old_amber_sheet:: @ 8E924CC + .incbin "graphics/items/icons/old_amber.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_old_amber_palette:: @ 8E925AC + .incbin "graphics/items/icon_palettes/old_amber.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_card_key_sheet:: @ 8E925D0 + .incbin "graphics/items/icons/card_key.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_card_key_palette:: @ 8E92678 + .incbin "graphics/items/icon_palettes/card_key.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_lift_key_sheet:: @ 8E92698 + .incbin "graphics/items/icons/lift_key.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_key_palette:: @ 8E92754 + .incbin "graphics/items/icon_palettes/key.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_helix_fossil_sheet:: @ 8E92774 + .incbin "graphics/items/icons/helix_fossil.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_kanto_fossil_palette:: @ 8E92868 + .incbin "graphics/items/icon_palettes/kanto_fossil.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_dome_fossil_sheet:: @ 8E92888 + .incbin "graphics/items/icons/dome_fossil.4bpp.lz" + + .align 2 +gFile_graphics_items_icons_silph_scope_sheet:: @ 8E92978 + .incbin "graphics/items/icons/silph_scope.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_silph_scope_palette:: @ 8E92A4C + .incbin "graphics/items/icon_palettes/silph_scope.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_bicycle_sheet:: @ 8E92A70 + .incbin "graphics/items/icons/bicycle.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_bicycle_palette:: @ 8E92B74 + .incbin "graphics/items/icon_palettes/bicycle.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_town_map_sheet:: @ 8E92B94 + .incbin "graphics/items/icons/town_map.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_town_map_palette:: @ 8E92C50 + .incbin "graphics/items/icon_palettes/town_map.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_vs_seeker_sheet:: @ 8E92C78 + .incbin "graphics/items/icons/vs_seeker.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_vs_seeker_palette:: @ 8E92D40 + .incbin "graphics/items/icon_palettes/vs_seeker.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_fame_checker_sheet:: @ 8E92D60 + .incbin "graphics/items/icons/fame_checker.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_fame_checker_palette:: @ 8E92E18 + .incbin "graphics/items/icon_palettes/fame_checker.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_tm_case_sheet:: @ 8E92E3C + .incbin "graphics/items/icons/tm_case.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_tm_case_palette:: @ 8E92F00 + .incbin "graphics/items/icon_palettes/tm_case.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_berry_pouch_sheet:: @ 8E92F28 + .incbin "graphics/items/icons/berry_pouch.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_berry_pouch_palette:: @ 8E93028 + .incbin "graphics/items/icon_palettes/berry_pouch.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_teachy_tv_sheet:: @ 8E93050 + .incbin "graphics/items/icons/teachy_tv.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_teachy_tv_palette:: @ 8E93148 + .incbin "graphics/items/icon_palettes/teachy_tv.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_tri_pass_sheet:: @ 8E93170 + .incbin "graphics/items/icons/tri_pass.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_tri_pass_palette:: @ 8E93214 + .incbin "graphics/items/icon_palettes/tri_pass.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_rainbow_pass_sheet:: @ 8E93234 + .incbin "graphics/items/icons/rainbow_pass.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_rainbow_pass_palette:: @ 8E932DC + .incbin "graphics/items/icon_palettes/rainbow_pass.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_tea_sheet:: @ 8E93304 + .incbin "graphics/items/icons/tea.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_tea_palette:: @ 8E933CC + .incbin "graphics/items/icon_palettes/tea.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_mystic_ticket_sheet:: @ 8E933F0 + .incbin "graphics/items/icons/mystic_ticket.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_mystic_ticket_palette:: @ 8E93488 + .incbin "graphics/items/icon_palettes/mystic_ticket.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_aurora_ticket_sheet:: @ 8E934A8 + .incbin "graphics/items/icons/aurora_ticket.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_aurora_ticket_palette:: @ 8E93544 + .incbin "graphics/items/icon_palettes/aurora_ticket.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_powder_jar_sheet:: @ 8E93568 + .incbin "graphics/items/icons/powder_jar.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_powder_jar_palette:: @ 8E93608 + .incbin "graphics/items/icon_palettes/powder_jar.gbapal.lz" + + .align 2 +gFile_graphics_items_icon_palettes_ruby_palette:: @ 8E93630 + .incbin "graphics/items/icon_palettes/ruby.gbapal.lz" + + .align 2 +gFile_graphics_items_icons_gem_sheet:: @ 8E93658 + .incbin "graphics/items/icons/gem.4bpp.lz" + + .align 2 +gFile_graphics_items_icon_palettes_sapphire_palette:: @ 8E93720 + .incbin "graphics/items/icon_palettes/sapphire.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_282_palette:: @ 8E93748 + .incbin "graphics/battle_anims/sprites/282.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_282_sheet:: @ 8E93770 + .incbin "graphics/battle_anims/sprites/282.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_270_palette:: @ 8E93958 + .incbin "graphics/battle_anims/sprites/270.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_270_sheet:: @ 8E93974 + .incbin "graphics/battle_anims/sprites/270.4bpp.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_271_palette:: @ 8E93A9C + .incbin "graphics/battle_anims/sprites/271.gbapal.lz" + + .align 2 +gFile_graphics_battle_anims_sprites_271_sheet:: @ 8E93AB4 + .incbin "graphics/battle_anims/sprites/271.4bpp.lz" + + .align 2 gUnknown_8E93B14:: @ 8E93B14 .incbin "baserom.gba", 0xE93B14, 0x24 diff --git a/graphics/items/icon_palettes/acro_bike.pal b/graphics/items/icon_palettes/acro_bike.pal new file mode 100644 index 000000000..12a37bf16 --- /dev/null +++ b/graphics/items/icon_palettes/acro_bike.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +164 90 57 +246 246 246 +172 189 172 +98 98 98 +197 180 65 +230 164 123 +106 57 32 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/aguav_berry.pal b/graphics/items/icon_palettes/aguav_berry.pal new file mode 100644 index 000000000..101035da3 --- /dev/null +++ b/graphics/items/icon_palettes/aguav_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +115 213 74 +106 189 74 +82 148 65 +74 98 74 +139 238 74 +230 238 106 +189 213 82 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/amulet_coin.pal b/graphics/items/icon_palettes/amulet_coin.pal new file mode 100644 index 000000000..b1d823303 --- /dev/null +++ b/graphics/items/icon_palettes/amulet_coin.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 246 +255 205 32 +180 156 41 +230 180 16 +255 238 65 +205 180 32 +246 246 180 +41 82 41 +115 90 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/antidote.pal b/graphics/items/icon_palettes/antidote.pal new file mode 100644 index 000000000..fc6561702 --- /dev/null +++ b/graphics/items/icon_palettes/antidote.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 255 +205 205 205 +156 156 156 +255 238 98 +255 180 41 +255 213 74 +246 197 57 +255 255 180 +90 90 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/apicot_berry.pal b/graphics/items/icon_palettes/apicot_berry.pal new file mode 100644 index 000000000..16ef4ff1a --- /dev/null +++ b/graphics/items/icon_palettes/apicot_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +148 172 230 +189 222 106 +238 238 123 +57 74 131 +139 180 74 +106 131 189 +82 106 164 +115 156 49 +197 213 238 +90 131 32 +123 98 24 +205 205 98 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/aspear_berry.pal b/graphics/items/icon_palettes/aspear_berry.pal new file mode 100644 index 000000000..68bd00715 --- /dev/null +++ b/graphics/items/icon_palettes/aspear_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +205 180 74 +246 230 82 +255 255 106 +131 148 131 +172 197 180 +230 213 90 +131 115 65 +180 222 205 +0 0 0 diff --git a/graphics/items/icon_palettes/aurora_ticket.pal b/graphics/items/icon_palettes/aurora_ticket.pal new file mode 100644 index 000000000..ad1274aaf --- /dev/null +++ b/graphics/items/icon_palettes/aurora_ticket.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 164 123 +49 49 49 +238 238 123 +65 205 238 +57 156 222 +90 74 164 +57 57 82 +98 238 246 +180 255 255 +57 123 189 +123 148 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/awakening.pal b/graphics/items/icon_palettes/awakening.pal new file mode 100644 index 000000000..b2984538c --- /dev/null +++ b/graphics/items/icon_palettes/awakening.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 255 +205 205 205 +156 156 156 +131 238 255 +74 180 197 +106 213 230 +90 197 213 +213 255 255 +90 90 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/bead_mail.pal b/graphics/items/icon_palettes/bead_mail.pal new file mode 100644 index 000000000..435dfee87 --- /dev/null +++ b/graphics/items/icon_palettes/bead_mail.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 106 131 +131 164 189 +238 156 90 +230 98 82 +246 213 123 +172 205 230 +65 98 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/belue_berry.pal b/graphics/items/icon_palettes/belue_berry.pal new file mode 100644 index 000000000..8ecbe76e0 --- /dev/null +++ b/graphics/items/icon_palettes/belue_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +156 123 230 +123 90 197 +156 222 115 +205 172 255 +238 230 172 +189 180 123 +82 156 49 +49 115 32 +82 57 156 +172 156 106 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/berry_juice.pal b/graphics/items/icon_palettes/berry_juice.pal new file mode 100644 index 000000000..51ec3ce8d --- /dev/null +++ b/graphics/items/icon_palettes/berry_juice.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +205 189 131 +205 222 131 +172 189 98 +238 189 115 +164 148 90 +131 148 57 +230 213 156 +98 82 32 +90 106 16 +139 123 65 +205 131 74 +238 255 255 +230 255 213 +180 213 164 diff --git a/graphics/items/icon_palettes/berry_pouch.pal b/graphics/items/icon_palettes/berry_pouch.pal new file mode 100644 index 000000000..bafbbd641 --- /dev/null +++ b/graphics/items/icon_palettes/berry_pouch.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 222 106 +49 49 49 +98 106 98 +238 213 82 +222 115 57 +246 246 246 +172 156 65 +255 205 57 +57 98 0 +90 82 57 +139 106 57 +197 172 82 +246 238 139 +230 172 57 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/bicycle.pal b/graphics/items/icon_palettes/bicycle.pal new file mode 100644 index 000000000..9ef361a31 --- /dev/null +++ b/graphics/items/icon_palettes/bicycle.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +180 98 98 +246 246 246 +172 189 172 +98 98 98 +197 180 65 +246 172 172 +115 65 65 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/bike_voucher.pal b/graphics/items/icon_palettes/bike_voucher.pal new file mode 100644 index 000000000..165af0357 --- /dev/null +++ b/graphics/items/icon_palettes/bike_voucher.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +205 205 49 +230 238 238 +238 156 156 +238 238 82 +156 164 164 +172 156 156 +82 90 90 +180 189 189 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/black_flute.pal b/graphics/items/icon_palettes/black_flute.pal new file mode 100644 index 000000000..93bdbd6e6 --- /dev/null +++ b/graphics/items/icon_palettes/black_flute.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 255 +115 115 115 +49 49 49 +148 148 148 +82 82 82 +222 222 98 +222 222 139 +238 238 189 +180 180 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/black_type_enhancing_item.pal b/graphics/items/icon_palettes/black_type_enhancing_item.pal new file mode 100644 index 000000000..db9a737aa --- /dev/null +++ b/graphics/items/icon_palettes/black_type_enhancing_item.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +205 205 205 +74 65 74 +98 90 98 +131 123 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/blue_flute.pal b/graphics/items/icon_palettes/blue_flute.pal new file mode 100644 index 000000000..2aa1aa0c7 --- /dev/null +++ b/graphics/items/icon_palettes/blue_flute.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 255 +139 172 246 +74 106 172 +172 205 255 +106 139 222 +205 74 65 +205 115 106 +222 164 148 +164 74 65 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/blue_orb.pal b/graphics/items/icon_palettes/blue_orb.pal new file mode 100644 index 000000000..9f061a800 --- /dev/null +++ b/graphics/items/icon_palettes/blue_orb.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +106 115 230 +156 156 222 +74 82 197 +57 65 148 +205 205 255 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/blue_scarf.pal b/graphics/items/icon_palettes/blue_scarf.pal new file mode 100644 index 000000000..c14baa837 --- /dev/null +++ b/graphics/items/icon_palettes/blue_scarf.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +90 90 197 +131 131 246 +82 82 148 +106 106 213 +180 172 255 +123 123 230 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/blue_shard.pal b/graphics/items/icon_palettes/blue_shard.pal new file mode 100644 index 000000000..acaf36f90 --- /dev/null +++ b/graphics/items/icon_palettes/blue_shard.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +172 180 255 +115 90 197 +32 8 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/bluk_berry.pal b/graphics/items/icon_palettes/bluk_berry.pal new file mode 100644 index 000000000..9ddacb585 --- /dev/null +++ b/graphics/items/icon_palettes/bluk_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +57 65 98 +180 115 238 +115 82 189 +230 148 255 +57 65 123 +131 90 205 +123 205 65 +65 156 65 +65 115 65 +0 0 0 diff --git a/graphics/items/icon_palettes/bright_powder.pal b/graphics/items/icon_palettes/bright_powder.pal new file mode 100644 index 000000000..9d09f75fa --- /dev/null +++ b/graphics/items/icon_palettes/bright_powder.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +131 172 131 +74 115 74 +57 98 57 +156 213 156 +213 255 213 +172 230 172 +246 255 246 +131 189 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/burn_heal.pal b/graphics/items/icon_palettes/burn_heal.pal new file mode 100644 index 000000000..9ca167384 --- /dev/null +++ b/graphics/items/icon_palettes/burn_heal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 255 +205 205 205 +156 156 156 +139 246 139 +82 189 82 +115 222 115 +106 213 106 +222 255 222 +90 90 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/calcium.pal b/graphics/items/icon_palettes/calcium.pal new file mode 100644 index 000000000..0a0100e2d --- /dev/null +++ b/graphics/items/icon_palettes/calcium.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 255 246 +148 90 57 +213 131 74 +255 205 164 +180 106 49 +189 148 41 +255 197 115 +197 222 197 +230 246 230 +172 197 172 +246 65 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/carbos.pal b/graphics/items/icon_palettes/carbos.pal new file mode 100644 index 000000000..75ea0b5e8 --- /dev/null +++ b/graphics/items/icon_palettes/carbos.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 255 246 +148 90 57 +90 189 189 +164 246 246 +65 139 139 +189 148 41 +255 197 115 +197 222 197 +230 246 230 +172 197 172 +41 164 246 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/card_key.pal b/graphics/items/icon_palettes/card_key.pal new file mode 100644 index 000000000..ab8db329c --- /dev/null +++ b/graphics/items/icon_palettes/card_key.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +90 74 74 +222 230 230 +230 106 106 +189 197 197 +156 164 164 +139 123 90 +230 246 246 +246 156 156 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/charcoal.pal b/graphics/items/icon_palettes/charcoal.pal new file mode 100644 index 000000000..af5f51e00 --- /dev/null +++ b/graphics/items/icon_palettes/charcoal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +98 98 98 +139 139 139 +189 189 189 +230 230 230 +255 255 255 +65 65 65 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/cheri_berry.pal b/graphics/items/icon_palettes/cheri_berry.pal new file mode 100644 index 000000000..6d5eb6121 --- /dev/null +++ b/graphics/items/icon_palettes/cheri_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +164 230 115 +238 98 82 +205 90 65 +255 222 189 +123 189 74 +213 246 123 +41 106 8 +131 65 49 +255 156 139 +222 106 82 +189 74 49 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/chesto_berry.pal b/graphics/items/icon_palettes/chesto_berry.pal new file mode 100644 index 000000000..738b10391 --- /dev/null +++ b/graphics/items/icon_palettes/chesto_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +148 115 230 +98 90 172 +205 148 255 +57 65 123 +238 213 106 +172 172 106 +123 90 74 +131 90 205 +197 180 106 diff --git a/graphics/items/icon_palettes/choice_band.pal b/graphics/items/icon_palettes/choice_band.pal new file mode 100644 index 000000000..65820988d --- /dev/null +++ b/graphics/items/icon_palettes/choice_band.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +180 180 197 +238 238 255 +98 98 106 +213 213 238 +222 222 238 +115 115 197 +222 115 115 +156 156 238 +82 82 164 +180 180 255 +246 246 255 +230 139 139 +246 205 205 +222 90 90 diff --git a/graphics/items/icon_palettes/cleanse_tag.pal b/graphics/items/icon_palettes/cleanse_tag.pal new file mode 100644 index 000000000..03ad379c9 --- /dev/null +++ b/graphics/items/icon_palettes/cleanse_tag.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +222 115 115 +82 82 82 +255 255 255 +222 222 222 +180 180 180 +148 148 148 +164 57 57 +189 82 82 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/coin_case.pal b/graphics/items/icon_palettes/coin_case.pal new file mode 100644 index 000000000..baf714b20 --- /dev/null +++ b/graphics/items/icon_palettes/coin_case.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +205 90 90 +172 57 57 +123 16 16 +65 65 65 +123 123 123 +238 238 123 +197 172 57 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/contest_pass.pal b/graphics/items/icon_palettes/contest_pass.pal new file mode 100644 index 000000000..9ee2fda6f --- /dev/null +++ b/graphics/items/icon_palettes/contest_pass.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +238 230 106 +230 98 74 +222 222 255 +189 189 222 +189 180 106 +197 98 74 +148 148 180 +230 172 139 +222 213 139 +238 238 246 +246 238 156 +222 123 98 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/cornn_berry.pal b/graphics/items/icon_palettes/cornn_berry.pal new file mode 100644 index 000000000..479182fbe --- /dev/null +++ b/graphics/items/icon_palettes/cornn_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +230 164 230 +156 115 82 +123 106 164 +189 139 213 +98 82 131 +82 65 106 +156 148 98 +98 180 82 +49 148 82 +123 213 82 +49 98 82 diff --git a/graphics/items/icon_palettes/dark_tm_hm.pal b/graphics/items/icon_palettes/dark_tm_hm.pal new file mode 100644 index 000000000..0657cc79f --- /dev/null +++ b/graphics/items/icon_palettes/dark_tm_hm.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 74 98 +205 230 230 +189 213 213 +164 205 205 +139 189 197 +123 180 180 +98 164 172 +82 156 164 +123 123 148 +123 123 123 +98 98 123 +255 255 255 +238 246 246 +82 82 82 diff --git a/graphics/items/icon_palettes/deep_sea_scale.pal b/graphics/items/icon_palettes/deep_sea_scale.pal new file mode 100644 index 000000000..8783f2191 --- /dev/null +++ b/graphics/items/icon_palettes/deep_sea_scale.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 189 230 +255 246 255 +255 222 255 +238 164 213 +255 197 246 +255 238 255 +180 82 156 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/deep_sea_tooth.pal b/graphics/items/icon_palettes/deep_sea_tooth.pal new file mode 100644 index 000000000..c68b91459 --- /dev/null +++ b/graphics/items/icon_palettes/deep_sea_tooth.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +205 197 255 +246 238 255 +230 230 255 +172 172 230 +246 246 230 +222 222 205 +230 230 164 +106 115 172 +197 197 131 +131 123 65 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/devon_goods.pal b/graphics/items/icon_palettes/devon_goods.pal new file mode 100644 index 000000000..4a6ab3366 --- /dev/null +++ b/graphics/items/icon_palettes/devon_goods.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +123 139 123 +246 246 246 +230 230 230 +189 205 189 +164 180 164 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/devon_scope.pal b/graphics/items/icon_palettes/devon_scope.pal new file mode 100644 index 000000000..76a699d42 --- /dev/null +++ b/graphics/items/icon_palettes/devon_scope.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +197 238 255 +156 197 213 +106 148 164 +65 115 139 +255 238 139 +197 156 74 +205 230 156 +98 98 98 +115 172 65 +148 148 148 +255 255 255 +74 74 74 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/dire_hit.pal b/graphics/items/icon_palettes/dire_hit.pal new file mode 100644 index 000000000..402d5bc5d --- /dev/null +++ b/graphics/items/icon_palettes/dire_hit.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +230 189 90 +180 131 49 +255 213 131 +255 255 255 +164 148 148 +238 213 189 +123 57 8 +255 230 205 +205 148 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/dive_ball.pal b/graphics/items/icon_palettes/dive_ball.pal new file mode 100644 index 000000000..b5096e7bc --- /dev/null +++ b/graphics/items/icon_palettes/dive_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 82 82 +123 123 131 +164 164 197 +222 205 246 +255 255 255 +41 115 213 +65 139 230 +90 164 255 +139 205 255 +148 238 246 +255 0 255 +255 0 255 +255 0 255 +255 0 255 diff --git a/graphics/items/icon_palettes/dragon_fang.pal b/graphics/items/icon_palettes/dragon_fang.pal new file mode 100644 index 000000000..3ace9a310 --- /dev/null +++ b/graphics/items/icon_palettes/dragon_fang.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 238 230 +180 172 164 +189 164 156 +131 106 98 +230 205 197 +255 255 255 +222 213 205 +148 139 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/dragon_scale.pal b/graphics/items/icon_palettes/dragon_scale.pal new file mode 100644 index 000000000..641925d3c --- /dev/null +++ b/graphics/items/icon_palettes/dragon_scale.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +148 213 238 +172 238 255 +106 172 205 +65 123 156 +156 222 255 +172 238 222 +213 238 189 +246 246 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/dragon_tm_hm.pal b/graphics/items/icon_palettes/dragon_tm_hm.pal new file mode 100644 index 000000000..47f0708bc --- /dev/null +++ b/graphics/items/icon_palettes/dragon_tm_hm.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 74 98 +205 230 255 +180 213 255 +156 197 255 +139 189 255 +172 180 213 +213 180 172 +255 180 131 +123 123 148 +123 123 123 +98 98 123 +255 255 255 +230 246 255 +82 82 82 diff --git a/graphics/items/icon_palettes/dream_mail.pal b/graphics/items/icon_palettes/dream_mail.pal new file mode 100644 index 000000000..643753f18 --- /dev/null +++ b/graphics/items/icon_palettes/dream_mail.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 197 255 +246 172 238 +205 156 222 +172 123 189 +148 98 164 +123 74 139 +98 49 115 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/durin_berry.pal b/graphics/items/icon_palettes/durin_berry.pal new file mode 100644 index 000000000..7015b8a04 --- /dev/null +++ b/graphics/items/icon_palettes/durin_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +115 180 65 +197 246 156 +57 115 16 +164 230 98 +197 172 90 +74 156 49 +139 106 41 +49 90 24 +246 205 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/electric_tm_hm.pal b/graphics/items/icon_palettes/electric_tm_hm.pal new file mode 100644 index 000000000..f4ce9febe --- /dev/null +++ b/graphics/items/icon_palettes/electric_tm_hm.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 74 98 +255 255 189 +255 238 156 +255 230 123 +255 222 90 +255 205 57 +255 197 24 +255 197 0 +123 123 148 +123 123 123 +98 98 123 +255 255 255 +255 255 222 +82 82 82 diff --git a/graphics/items/icon_palettes/elixir.pal b/graphics/items/icon_palettes/elixir.pal new file mode 100644 index 000000000..510968901 --- /dev/null +++ b/graphics/items/icon_palettes/elixir.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +238 238 164 +255 189 156 +230 164 131 +205 205 131 +180 106 65 +164 164 90 +246 246 164 +255 222 213 +106 49 65 +197 131 115 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/energy_powder.pal b/graphics/items/icon_palettes/energy_powder.pal new file mode 100644 index 000000000..e4a264706 --- /dev/null +++ b/graphics/items/icon_palettes/energy_powder.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 246 +238 164 164 +148 148 82 +197 115 115 +222 222 156 +238 238 189 +115 65 65 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/energy_root.pal b/graphics/items/icon_palettes/energy_root.pal new file mode 100644 index 000000000..574a7f78b --- /dev/null +++ b/graphics/items/icon_palettes/energy_root.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +230 205 131 +213 164 90 +255 230 164 +139 90 16 +205 156 82 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/enigma_berry.pal b/graphics/items/icon_palettes/enigma_berry.pal new file mode 100644 index 000000000..4f7b3cfbe --- /dev/null +++ b/graphics/items/icon_palettes/enigma_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 246 230 +74 74 74 +230 222 197 +205 189 164 +131 131 131 +180 180 180 +180 164 139 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/eon_ticket.pal b/graphics/items/icon_palettes/eon_ticket.pal new file mode 100644 index 000000000..cbfea06a5 --- /dev/null +++ b/graphics/items/icon_palettes/eon_ticket.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +238 246 246 +65 139 156 +82 205 205 +139 205 238 +139 189 98 +90 156 49 +213 180 139 +164 115 57 +246 115 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/escape_rope.pal b/graphics/items/icon_palettes/escape_rope.pal new file mode 100644 index 000000000..d9b3b84c7 --- /dev/null +++ b/graphics/items/icon_palettes/escape_rope.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +148 123 41 +189 164 82 +123 98 16 +98 74 8 +213 82 49 +222 222 230 +189 189 197 +156 156 164 +172 41 8 +222 197 115 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/ether.pal b/graphics/items/icon_palettes/ether.pal new file mode 100644 index 000000000..312f134ff --- /dev/null +++ b/graphics/items/icon_palettes/ether.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +213 230 230 +222 172 230 +189 139 197 +164 197 197 +131 82 139 +123 156 164 +230 255 255 +246 213 255 +74 41 98 +156 106 164 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/everstone.pal b/graphics/items/icon_palettes/everstone.pal new file mode 100644 index 000000000..bdcae0850 --- /dev/null +++ b/graphics/items/icon_palettes/everstone.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +148 172 189 +180 205 213 +222 246 255 +106 139 156 +205 230 238 +65 98 115 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/exp_share.pal b/graphics/items/icon_palettes/exp_share.pal new file mode 100644 index 000000000..237a7a28d --- /dev/null +++ b/graphics/items/icon_palettes/exp_share.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +131 148 131 +172 189 172 +65 82 65 +255 255 148 +222 222 115 +230 230 255 +197 197 222 +164 164 189 +189 205 189 +106 123 106 +131 131 156 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/fab_mail.pal b/graphics/items/icon_palettes/fab_mail.pal new file mode 100644 index 000000000..1ccad3cc3 --- /dev/null +++ b/graphics/items/icon_palettes/fab_mail.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +238 246 255 +222 180 197 +246 213 222 +255 255 255 +172 115 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/fame_checker.pal b/graphics/items/icon_palettes/fame_checker.pal new file mode 100644 index 000000000..ba744f0f5 --- /dev/null +++ b/graphics/items/icon_palettes/fame_checker.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 197 57 +49 49 49 +98 106 98 +238 123 41 +74 74 57 +98 156 148 +115 205 189 +0 0 0 +0 0 0 +255 172 65 +197 197 205 +213 246 246 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/fighting_tm_hm.pal b/graphics/items/icon_palettes/fighting_tm_hm.pal new file mode 100644 index 000000000..3dcd54ce7 --- /dev/null +++ b/graphics/items/icon_palettes/fighting_tm_hm.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 74 98 +246 213 189 +238 197 156 +238 180 123 +238 164 90 +230 148 57 +230 131 24 +230 115 0 +123 123 148 +123 123 123 +98 98 123 +255 255 255 +255 238 230 +82 82 82 diff --git a/graphics/items/icon_palettes/figy_berry.pal b/graphics/items/icon_palettes/figy_berry.pal new file mode 100644 index 000000000..d02bcb970 --- /dev/null +++ b/graphics/items/icon_palettes/figy_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 213 +246 238 139 +230 213 148 +205 189 123 +238 148 49 +189 106 65 +213 230 123 +139 148 74 +0 0 0 +156 123 57 diff --git a/graphics/items/icon_palettes/fire_stone.pal b/graphics/items/icon_palettes/fire_stone.pal new file mode 100644 index 000000000..4aeef36ab --- /dev/null +++ b/graphics/items/icon_palettes/fire_stone.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 238 49 +246 148 49 +222 205 16 +222 115 16 +255 255 238 +197 197 106 +230 230 123 +123 123 32 +255 238 156 +255 255 139 +164 164 74 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/fire_tm_hm.pal b/graphics/items/icon_palettes/fire_tm_hm.pal new file mode 100644 index 000000000..1f0ba5049 --- /dev/null +++ b/graphics/items/icon_palettes/fire_tm_hm.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 74 98 +255 230 189 +255 222 156 +255 205 131 +255 197 98 +255 189 65 +255 180 41 +238 172 32 +123 123 148 +123 123 123 +98 98 123 +255 255 255 +255 238 222 +82 82 82 diff --git a/graphics/items/icon_palettes/fluffy_tail.pal b/graphics/items/icon_palettes/fluffy_tail.pal new file mode 100644 index 000000000..b66157c54 --- /dev/null +++ b/graphics/items/icon_palettes/fluffy_tail.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 246 139 +222 222 90 +197 139 82 +238 172 115 +255 222 164 +131 74 16 +246 230 246 +180 148 172 +139 98 131 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/flying_tm_hm.pal b/graphics/items/icon_palettes/flying_tm_hm.pal new file mode 100644 index 000000000..8bcf19388 --- /dev/null +++ b/graphics/items/icon_palettes/flying_tm_hm.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 74 98 +213 246 255 +189 238 255 +172 238 255 +156 238 255 +172 222 238 +180 205 222 +197 197 197 +123 123 148 +123 123 123 +98 98 123 +255 255 255 +246 246 255 +82 82 82 diff --git a/graphics/items/icon_palettes/focus_band.pal b/graphics/items/icon_palettes/focus_band.pal new file mode 100644 index 000000000..a5f0543fd --- /dev/null +++ b/graphics/items/icon_palettes/focus_band.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +189 82 82 +238 123 123 +139 74 74 +205 98 98 +238 238 189 +213 213 164 +189 189 131 +255 222 123 +230 172 49 +197 139 16 +255 164 172 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/fresh_water.pal b/graphics/items/icon_palettes/fresh_water.pal new file mode 100644 index 000000000..466e9fbbb --- /dev/null +++ b/graphics/items/icon_palettes/fresh_water.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 255 +172 189 246 +213 255 255 +197 213 213 +156 172 172 +98 115 172 +65 82 139 +65 131 49 +115 180 98 +148 164 222 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/full_heal.pal b/graphics/items/icon_palettes/full_heal.pal new file mode 100644 index 000000000..a071627d3 --- /dev/null +++ b/graphics/items/icon_palettes/full_heal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 205 +238 230 0 +197 189 0 +255 246 65 +222 213 0 +180 172 0 +213 115 32 +255 123 0 +123 123 0 +246 255 65 +156 172 0 +222 238 0 +172 189 0 +197 213 0 diff --git a/graphics/items/icon_palettes/full_restore.pal b/graphics/items/icon_palettes/full_restore.pal new file mode 100644 index 000000000..35de1c562 --- /dev/null +++ b/graphics/items/icon_palettes/full_restore.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +156 230 65 +172 255 148 +123 197 32 +90 123 49 +213 213 164 +148 148 98 +255 255 213 +255 255 230 +180 180 131 +238 238 180 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/ganlon_berry.pal b/graphics/items/icon_palettes/ganlon_berry.pal new file mode 100644 index 000000000..cbcecc579 --- /dev/null +++ b/graphics/items/icon_palettes/ganlon_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +156 148 205 +222 213 131 +197 189 246 +115 106 164 +74 65 115 +164 148 90 +213 213 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/ghost_tm_hm.pal b/graphics/items/icon_palettes/ghost_tm_hm.pal new file mode 100644 index 000000000..8a1a79e85 --- /dev/null +++ b/graphics/items/icon_palettes/ghost_tm_hm.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 74 98 +238 222 246 +230 205 246 +230 189 246 +222 172 246 +213 148 246 +197 123 238 +180 98 222 +123 123 148 +123 123 123 +98 98 123 +255 255 255 +255 238 255 +82 82 82 diff --git a/graphics/items/icon_palettes/glitter_mail.pal b/graphics/items/icon_palettes/glitter_mail.pal new file mode 100644 index 000000000..59cb7ad54 --- /dev/null +++ b/graphics/items/icon_palettes/glitter_mail.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +238 238 148 +238 238 115 +230 205 106 +246 164 115 +139 123 90 +164 148 115 +222 222 106 +230 156 106 +197 189 148 +255 255 238 +180 180 65 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/go_goggles.pal b/graphics/items/icon_palettes/go_goggles.pal new file mode 100644 index 000000000..162581e43 --- /dev/null +++ b/graphics/items/icon_palettes/go_goggles.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 230 139 +255 255 246 +222 180 49 +222 131 0 +139 139 139 +90 90 90 +189 189 189 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/gold_teeth.pal b/graphics/items/icon_palettes/gold_teeth.pal new file mode 100644 index 000000000..a53141894 --- /dev/null +++ b/graphics/items/icon_palettes/gold_teeth.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +230 230 57 +222 106 106 +255 189 189 +189 90 90 +246 172 172 +255 255 230 +148 148 8 +197 197 57 +148 49 49 +123 123 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/good_rod.pal b/graphics/items/icon_palettes/good_rod.pal new file mode 100644 index 000000000..7993d0f8e --- /dev/null +++ b/graphics/items/icon_palettes/good_rod.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +222 246 98 +180 205 65 +82 82 139 +123 123 180 +115 139 41 +197 222 230 +156 180 189 +106 131 139 +205 90 57 +246 131 98 +255 255 255 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/grass_tm_hm.pal b/graphics/items/icon_palettes/grass_tm_hm.pal new file mode 100644 index 000000000..3a0a441ce --- /dev/null +++ b/graphics/items/icon_palettes/grass_tm_hm.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 74 98 +213 246 230 +197 246 213 +180 246 205 +156 238 197 +139 238 180 +123 238 172 +106 238 164 +123 123 148 +123 123 123 +98 98 123 +255 255 255 +238 246 246 +82 82 82 diff --git a/graphics/items/icon_palettes/great_ball.pal b/graphics/items/icon_palettes/great_ball.pal new file mode 100644 index 000000000..6eadfac6d --- /dev/null +++ b/graphics/items/icon_palettes/great_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 82 82 +123 123 131 +164 164 197 +222 205 246 +255 255 255 +49 65 148 +0 0 0 +49 82 213 +57 148 255 +57 213 255 +189 49 49 +246 74 74 +255 172 172 +255 0 255 diff --git a/graphics/items/icon_palettes/green_scarf.pal b/graphics/items/icon_palettes/green_scarf.pal new file mode 100644 index 000000000..3bad6e011 --- /dev/null +++ b/graphics/items/icon_palettes/green_scarf.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +115 197 115 +156 238 156 +82 148 82 +123 213 123 +180 255 180 +139 230 139 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/green_shard.pal b/graphics/items/icon_palettes/green_shard.pal new file mode 100644 index 000000000..066162e07 --- /dev/null +++ b/graphics/items/icon_palettes/green_shard.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +148 246 139 +90 197 115 +8 90 32 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/grepa_berry.pal b/graphics/items/icon_palettes/grepa_berry.pal new file mode 100644 index 000000000..a89f3fdfb --- /dev/null +++ b/graphics/items/icon_palettes/grepa_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 230 57 +222 189 74 +238 197 74 +156 139 74 +255 255 115 +90 164 32 +139 213 32 +0 0 0 +49 98 82 diff --git a/graphics/items/icon_palettes/ground_tm_hm.pal b/graphics/items/icon_palettes/ground_tm_hm.pal new file mode 100644 index 000000000..d17f0db50 --- /dev/null +++ b/graphics/items/icon_palettes/ground_tm_hm.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 74 98 +255 255 189 +255 255 156 +255 255 123 +255 255 90 +246 238 90 +230 213 82 +222 197 65 +123 123 148 +123 123 123 +98 98 123 +255 255 255 +255 255 222 +82 82 82 diff --git a/graphics/items/icon_palettes/guard_spec.pal b/graphics/items/icon_palettes/guard_spec.pal new file mode 100644 index 000000000..ad5bd2735 --- /dev/null +++ b/graphics/items/icon_palettes/guard_spec.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +106 213 115 +74 164 74 +172 238 156 +255 255 255 +148 156 148 +213 230 213 +32 115 32 +222 255 230 +90 172 74 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/harbor_mail.pal b/graphics/items/icon_palettes/harbor_mail.pal new file mode 100644 index 000000000..0edffaf19 --- /dev/null +++ b/graphics/items/icon_palettes/harbor_mail.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +106 148 172 +139 205 222 +238 255 255 +246 246 197 +205 238 238 +230 230 180 +115 106 65 +139 131 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/hard_stone.pal b/graphics/items/icon_palettes/hard_stone.pal new file mode 100644 index 000000000..f8fefe893 --- /dev/null +++ b/graphics/items/icon_palettes/hard_stone.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 246 246 +123 115 115 +156 148 148 +90 82 82 +205 197 205 +82 74 74 +238 230 230 +98 90 90 +74 65 65 +180 172 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/heal_powder.pal b/graphics/items/icon_palettes/heal_powder.pal new file mode 100644 index 000000000..dfe2d3175 --- /dev/null +++ b/graphics/items/icon_palettes/heal_powder.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +205 230 205 +238 238 98 +57 123 57 +197 197 98 +90 172 90 +139 205 139 +115 115 32 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/heart_scale.pal b/graphics/items/icon_palettes/heart_scale.pal new file mode 100644 index 000000000..458bff95f --- /dev/null +++ b/graphics/items/icon_palettes/heart_scale.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +238 205 205 +197 230 197 +205 205 238 +205 238 238 +238 238 238 +123 123 156 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/hoenn_fossil.pal b/graphics/items/icon_palettes/hoenn_fossil.pal new file mode 100644 index 000000000..2889dd254 --- /dev/null +++ b/graphics/items/icon_palettes/hoenn_fossil.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +189 180 82 +74 65 0 +139 131 32 +98 90 0 +222 213 115 +139 90 0 +0 0 0 +213 213 131 +98 98 41 +164 164 82 +123 123 41 +246 246 164 +164 123 41 +0 0 0 diff --git a/graphics/items/icon_palettes/hondew_berry.pal b/graphics/items/icon_palettes/hondew_berry.pal new file mode 100644 index 000000000..4918cc61a --- /dev/null +++ b/graphics/items/icon_palettes/hondew_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +255 238 74 +205 197 74 +148 222 74 +115 197 74 +82 156 74 +74 98 74 +197 255 74 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/hp_up.pal b/graphics/items/icon_palettes/hp_up.pal new file mode 100644 index 000000000..555e10f71 --- /dev/null +++ b/graphics/items/icon_palettes/hp_up.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 255 246 +148 90 57 +90 189 90 +164 246 164 +65 139 65 +189 148 41 +255 197 115 +197 222 197 +230 246 230 +172 197 172 +106 164 238 +74 131 205 +148 205 255 +0 0 0 diff --git a/graphics/items/icon_palettes/hyper_potion.pal b/graphics/items/icon_palettes/hyper_potion.pal new file mode 100644 index 000000000..fda69e0bb --- /dev/null +++ b/graphics/items/icon_palettes/hyper_potion.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 131 205 +197 222 238 +255 255 255 +164 189 205 +255 98 172 +131 156 172 +230 255 255 +255 197 255 +82 106 123 +197 57 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/iapapa_berry.pal b/graphics/items/icon_palettes/iapapa_berry.pal new file mode 100644 index 000000000..8d1b16468 --- /dev/null +++ b/graphics/items/icon_palettes/iapapa_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +255 255 213 +255 238 123 +238 205 148 +213 180 123 +238 148 49 +205 115 65 +172 115 49 +0 0 0 +0 0 0 +0 0 0 +115 123 49 diff --git a/graphics/items/icon_palettes/ice_heal.pal b/graphics/items/icon_palettes/ice_heal.pal new file mode 100644 index 000000000..49a1b20b1 --- /dev/null +++ b/graphics/items/icon_palettes/ice_heal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 255 +205 205 205 +156 156 156 +255 189 180 +246 106 106 +246 164 164 +246 139 139 +255 222 222 +90 90 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/ice_tm_hm.pal b/graphics/items/icon_palettes/ice_tm_hm.pal new file mode 100644 index 000000000..83192ed29 --- /dev/null +++ b/graphics/items/icon_palettes/ice_tm_hm.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 74 98 +230 246 255 +213 246 255 +197 246 255 +172 238 255 +156 238 255 +139 230 246 +131 213 238 +123 123 148 +123 123 123 +98 98 123 +255 255 255 +255 255 255 +82 82 82 diff --git a/graphics/items/icon_palettes/iron.pal b/graphics/items/icon_palettes/iron.pal new file mode 100644 index 000000000..44592f92b --- /dev/null +++ b/graphics/items/icon_palettes/iron.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 255 246 +148 90 57 +189 189 90 +246 246 164 +139 139 65 +189 148 41 +255 197 115 +197 222 197 +230 246 230 +172 197 172 +49 164 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/itemfinder.pal b/graphics/items/icon_palettes/itemfinder.pal new file mode 100644 index 000000000..c2052560b --- /dev/null +++ b/graphics/items/icon_palettes/itemfinder.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +238 238 106 +255 255 255 +74 74 74 +213 98 98 +98 172 238 +123 74 74 +255 189 189 +65 139 205 +139 213 255 +189 189 189 +106 106 106 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/kanto_fossil.pal b/graphics/items/icon_palettes/kanto_fossil.pal new file mode 100644 index 000000000..c2e2afebf --- /dev/null +++ b/graphics/items/icon_palettes/kanto_fossil.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +164 123 0 +189 148 41 +197 156 57 +222 189 106 +123 82 0 +106 65 0 +65 49 0 +238 222 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/kelpsy_berry.pal b/graphics/items/icon_palettes/kelpsy_berry.pal new file mode 100644 index 000000000..bbb0874bf --- /dev/null +++ b/graphics/items/icon_palettes/kelpsy_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +115 98 230 +139 213 255 +115 172 255 +90 82 98 +98 82 156 +197 197 123 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/key.pal b/graphics/items/icon_palettes/key.pal new file mode 100644 index 000000000..1acf63710 --- /dev/null +++ b/graphics/items/icon_palettes/key.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +106 106 106 +74 65 74 +255 255 255 +164 164 164 +156 156 156 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +164 90 90 +213 90 90 diff --git a/graphics/items/icon_palettes/kings_rock.pal b/graphics/items/icon_palettes/kings_rock.pal new file mode 100644 index 000000000..ba9e92580 --- /dev/null +++ b/graphics/items/icon_palettes/kings_rock.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +230 213 90 +246 230 123 +197 180 57 +164 148 32 +131 115 32 +74 57 24 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/lansat_berry.pal b/graphics/items/icon_palettes/lansat_berry.pal new file mode 100644 index 000000000..542953d06 --- /dev/null +++ b/graphics/items/icon_palettes/lansat_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 189 164 +222 139 106 +139 205 164 +197 106 74 +49 115 74 +246 197 172 +98 164 123 +131 57 32 +164 230 189 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/lava_cookie_and_letter.pal b/graphics/items/icon_palettes/lava_cookie_and_letter.pal new file mode 100644 index 000000000..b4c2b10f2 --- /dev/null +++ b/graphics/items/icon_palettes/lava_cookie_and_letter.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +238 238 255 +205 197 230 +0 0 0 +205 139 65 +230 180 24 +180 98 41 +57 49 16 +98 98 57 +172 172 131 +115 65 24 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/lax_incense.pal b/graphics/items/icon_palettes/lax_incense.pal new file mode 100644 index 000000000..a618d5986 --- /dev/null +++ b/graphics/items/icon_palettes/lax_incense.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +230 172 16 +172 115 32 +255 222 156 +222 189 123 +156 98 8 +205 148 16 +255 246 189 +246 197 65 +49 98 49 +197 230 197 +98 98 49 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/leaf_stone.pal b/graphics/items/icon_palettes/leaf_stone.pal new file mode 100644 index 000000000..41b1af789 --- /dev/null +++ b/graphics/items/icon_palettes/leaf_stone.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +106 148 106 +90 131 82 +139 180 139 +156 172 123 +123 139 90 +90 106 57 +74 90 41 +57 98 57 +197 213 164 +123 164 123 +74 115 65 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/leftovers.pal b/graphics/items/icon_palettes/leftovers.pal new file mode 100644 index 000000000..b5f27b871 --- /dev/null +++ b/graphics/items/icon_palettes/leftovers.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +230 82 82 +156 139 82 +123 148 32 +180 90 90 +123 74 74 +255 255 255 +255 139 106 +238 255 213 +205 230 172 +246 98 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/lemonade.pal b/graphics/items/icon_palettes/lemonade.pal new file mode 100644 index 000000000..2a93c5bcc --- /dev/null +++ b/graphics/items/icon_palettes/lemonade.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +230 230 255 +205 205 230 +164 164 189 +238 238 164 +197 197 131 +255 255 205 +255 197 156 +222 164 123 +255 222 180 +255 148 115 +131 213 180 +213 65 65 +238 98 98 +255 164 172 diff --git a/graphics/items/icon_palettes/leppa_berry.pal b/graphics/items/icon_palettes/leppa_berry.pal new file mode 100644 index 000000000..ac4934b05 --- /dev/null +++ b/graphics/items/icon_palettes/leppa_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +180 164 98 +255 148 49 +205 74 49 +230 115 49 +238 230 98 +90 213 82 +65 156 65 +49 115 65 +156 82 57 +255 222 49 diff --git a/graphics/items/icon_palettes/liechi_berry.pal b/graphics/items/icon_palettes/liechi_berry.pal new file mode 100644 index 000000000..f8907564e --- /dev/null +++ b/graphics/items/icon_palettes/liechi_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 246 +255 172 74 +172 82 16 +246 238 197 +164 156 131 +213 205 148 +213 115 49 +255 230 164 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/light_ball.pal b/graphics/items/icon_palettes/light_ball.pal new file mode 100644 index 000000000..0e592e673 --- /dev/null +++ b/graphics/items/icon_palettes/light_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 156 +230 222 41 +164 164 16 +255 255 255 +90 90 0 +222 222 139 +189 189 0 +131 131 0 +255 255 197 +74 74 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/lucky_egg.pal b/graphics/items/icon_palettes/lucky_egg.pal new file mode 100644 index 000000000..053f7a76e --- /dev/null +++ b/graphics/items/icon_palettes/lucky_egg.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +222 238 246 +205 213 222 +164 172 180 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/lucky_punch.pal b/graphics/items/icon_palettes/lucky_punch.pal new file mode 100644 index 000000000..ab87dd5ab --- /dev/null +++ b/graphics/items/icon_palettes/lucky_punch.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +222 115 57 +255 222 106 +255 172 115 +172 90 49 +115 65 16 +255 255 255 +139 139 139 +230 230 230 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/lum_berry.pal b/graphics/items/icon_palettes/lum_berry.pal new file mode 100644 index 000000000..0dc661882 --- /dev/null +++ b/graphics/items/icon_palettes/lum_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +148 222 74 +115 197 74 +82 164 74 +74 98 74 +164 255 74 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/luxury_ball.pal b/graphics/items/icon_palettes/luxury_ball.pal new file mode 100644 index 000000000..696a4b385 --- /dev/null +++ b/graphics/items/icon_palettes/luxury_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 82 82 +123 123 131 +164 164 197 +222 205 246 +255 255 255 +156 74 57 +180 82 57 +222 90 57 +255 148 57 +255 213 57 +230 180 106 +255 255 148 +213 156 49 +255 238 82 diff --git a/graphics/items/icon_palettes/mach_bike.pal b/graphics/items/icon_palettes/mach_bike.pal new file mode 100644 index 000000000..ae035c3b3 --- /dev/null +++ b/graphics/items/icon_palettes/mach_bike.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +106 123 189 +172 189 172 +246 255 246 +98 98 98 +172 172 74 +156 164 156 +164 180 255 +139 49 0 +57 74 115 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/macho_brace.pal b/graphics/items/icon_palettes/macho_brace.pal new file mode 100644 index 000000000..5ef43947b --- /dev/null +++ b/graphics/items/icon_palettes/macho_brace.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +222 230 238 +74 131 82 +106 164 115 +139 197 148 +180 238 189 +197 205 213 +156 164 172 +213 222 230 +74 90 98 +238 238 246 +255 255 222 +156 156 49 +57 82 65 +49 106 57 diff --git a/graphics/items/icon_palettes/magma_emblem.pal b/graphics/items/icon_palettes/magma_emblem.pal new file mode 100644 index 000000000..55ac014d6 --- /dev/null +++ b/graphics/items/icon_palettes/magma_emblem.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 82 82 +123 123 131 +164 164 197 +222 205 246 +255 255 255 +164 8 57 +222 82 82 +230 115 82 +238 148 82 +246 180 82 +255 213 82 +255 238 106 +255 255 180 +0 0 0 diff --git a/graphics/items/icon_palettes/magnet.pal b/graphics/items/icon_palettes/magnet.pal new file mode 100644 index 000000000..2ad217c4d --- /dev/null +++ b/graphics/items/icon_palettes/magnet.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 156 148 +115 57 57 +148 156 255 +57 57 115 +90 90 180 +148 164 148 +74 90 74 +172 189 172 +172 82 82 +255 189 189 +197 197 255 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/mago_berry.pal b/graphics/items/icon_palettes/mago_berry.pal new file mode 100644 index 000000000..eeecc7b12 --- /dev/null +++ b/graphics/items/icon_palettes/mago_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +255 230 156 +255 148 131 +255 189 156 +230 123 115 +172 90 65 +255 246 164 +222 213 115 +197 172 98 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/magost_berry.pal b/graphics/items/icon_palettes/magost_berry.pal new file mode 100644 index 000000000..2602221f6 --- /dev/null +++ b/graphics/items/icon_palettes/magost_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 189 156 +230 131 98 +172 90 65 +255 164 139 +49 156 82 +98 205 82 +49 98 82 +255 230 156 +0 0 0 diff --git a/graphics/items/icon_palettes/master_ball.pal b/graphics/items/icon_palettes/master_ball.pal new file mode 100644 index 000000000..b3d02bac4 --- /dev/null +++ b/graphics/items/icon_palettes/master_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 82 82 +123 123 131 +164 164 197 +222 205 246 +255 255 255 +106 49 197 +115 49 205 +180 57 246 +205 65 255 +0 0 0 +180 0 148 +230 32 197 +255 197 255 +0 0 0 diff --git a/graphics/items/icon_palettes/max_elixir.pal b/graphics/items/icon_palettes/max_elixir.pal new file mode 100644 index 000000000..61e3c34f4 --- /dev/null +++ b/graphics/items/icon_palettes/max_elixir.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 246 180 +156 255 255 +131 230 230 +238 238 156 +65 180 180 +213 213 90 +255 255 205 +213 255 255 +65 106 106 +115 197 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/max_ether.pal b/graphics/items/icon_palettes/max_ether.pal new file mode 100644 index 000000000..1e51e009c --- /dev/null +++ b/graphics/items/icon_palettes/max_ether.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +238 238 255 +189 255 156 +164 230 131 +205 205 222 +106 180 65 +164 164 180 +246 246 255 +222 255 213 +49 106 65 +131 197 115 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/max_potion.pal b/graphics/items/icon_palettes/max_potion.pal new file mode 100644 index 000000000..8ac590135 --- /dev/null +++ b/graphics/items/icon_palettes/max_potion.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +65 156 230 +148 172 255 +32 123 197 +49 90 123 +180 180 197 +115 115 131 +230 230 246 +246 255 246 +148 148 164 +205 205 222 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/max_repel.pal b/graphics/items/icon_palettes/max_repel.pal new file mode 100644 index 000000000..1946607df --- /dev/null +++ b/graphics/items/icon_palettes/max_repel.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 255 +213 230 230 +180 197 197 +123 139 139 +0 0 0 +0 0 0 +213 205 189 +139 131 115 +0 0 0 +0 0 0 +0 0 0 +255 246 230 +189 172 106 +246 230 164 diff --git a/graphics/items/icon_palettes/mech_mail.pal b/graphics/items/icon_palettes/mech_mail.pal new file mode 100644 index 000000000..01e9bf7e1 --- /dev/null +++ b/graphics/items/icon_palettes/mech_mail.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 255 246 +213 222 213 +131 139 131 +172 180 172 +90 98 90 +172 172 106 +222 222 180 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/mental_herb.pal b/graphics/items/icon_palettes/mental_herb.pal new file mode 100644 index 000000000..b488816e5 --- /dev/null +++ b/graphics/items/icon_palettes/mental_herb.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +222 255 255 +148 230 230 +123 205 205 +164 246 246 +172 255 255 +156 238 238 +57 148 148 +106 197 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/metal_coat.pal b/graphics/items/icon_palettes/metal_coat.pal new file mode 100644 index 000000000..3b81fa802 --- /dev/null +++ b/graphics/items/icon_palettes/metal_coat.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +222 238 238 +180 197 197 +82 106 106 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +106 131 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/metal_powder.pal b/graphics/items/icon_palettes/metal_powder.pal new file mode 100644 index 000000000..68d14765d --- /dev/null +++ b/graphics/items/icon_palettes/metal_powder.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +213 213 213 +156 156 156 +90 90 90 +238 238 238 +205 148 213 +156 106 164 +238 197 246 +115 65 123 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/meteorite.pal b/graphics/items/icon_palettes/meteorite.pal new file mode 100644 index 000000000..5beadc9fe --- /dev/null +++ b/graphics/items/icon_palettes/meteorite.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +131 82 82 +90 57 57 +205 131 123 +180 139 172 +213 156 205 +230 189 205 +156 106 106 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/miracle_seed.pal b/graphics/items/icon_palettes/miracle_seed.pal new file mode 100644 index 000000000..baa853e2f --- /dev/null +++ b/graphics/items/icon_palettes/miracle_seed.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 238 +222 222 123 +238 238 90 +197 197 49 +131 131 8 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/moomoo_milk.pal b/graphics/items/icon_palettes/moomoo_milk.pal new file mode 100644 index 000000000..d7107e7f5 --- /dev/null +++ b/graphics/items/icon_palettes/moomoo_milk.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 246 230 +238 238 213 +230 230 180 +180 180 115 +213 148 213 +255 255 255 +238 164 238 +156 82 156 +255 189 255 +131 131 57 +180 106 180 +123 49 139 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/moon_stone.pal b/graphics/items/icon_palettes/moon_stone.pal new file mode 100644 index 000000000..1601eca46 --- /dev/null +++ b/graphics/items/icon_palettes/moon_stone.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +205 230 213 +172 197 180 +131 156 139 +90 115 98 +222 246 230 +106 131 115 +74 98 82 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/mushroom.pal b/graphics/items/icon_palettes/mushroom.pal new file mode 100644 index 000000000..25e42a1dd --- /dev/null +++ b/graphics/items/icon_palettes/mushroom.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +213 57 32 +255 115 90 +255 164 131 +238 213 74 +246 230 98 +238 222 222 +222 205 205 +180 164 164 +139 123 123 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/mystic_ticket.pal b/graphics/items/icon_palettes/mystic_ticket.pal new file mode 100644 index 000000000..8b4814c59 --- /dev/null +++ b/graphics/items/icon_palettes/mystic_ticket.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 164 123 +49 49 49 +180 222 238 +255 255 255 +230 164 222 +139 74 172 +115 74 98 +189 115 197 +123 148 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/mystic_water.pal b/graphics/items/icon_palettes/mystic_water.pal new file mode 100644 index 000000000..14565886e --- /dev/null +++ b/graphics/items/icon_palettes/mystic_water.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +90 90 213 +156 222 255 +197 213 213 +172 172 222 +255 255 255 +74 0 0 +74 74 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/nanab_berry.pal b/graphics/items/icon_palettes/nanab_berry.pal new file mode 100644 index 000000000..ec13cc181 --- /dev/null +++ b/graphics/items/icon_palettes/nanab_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 180 131 +205 106 106 +123 90 65 +255 222 131 +255 238 131 +164 156 74 +213 197 90 +238 148 106 +0 0 0 diff --git a/graphics/items/icon_palettes/nest_ball.pal b/graphics/items/icon_palettes/nest_ball.pal new file mode 100644 index 000000000..810298892 --- /dev/null +++ b/graphics/items/icon_palettes/nest_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 82 82 +123 123 131 +164 164 197 +222 205 246 +255 255 255 +82 123 57 +57 98 57 +98 148 65 +123 197 57 +180 246 57 +255 0 255 +246 246 156 +172 172 74 +230 230 131 diff --git a/graphics/items/icon_palettes/net_ball.pal b/graphics/items/icon_palettes/net_ball.pal new file mode 100644 index 000000000..3e4d2c41c --- /dev/null +++ b/graphics/items/icon_palettes/net_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 82 82 +123 123 131 +164 164 197 +222 205 246 +255 255 255 +74 106 123 +65 65 65 +74 123 139 +74 180 197 +57 230 238 +255 0 255 +255 0 255 +255 0 255 +255 0 255 diff --git a/graphics/items/icon_palettes/never_melt_ice.pal b/graphics/items/icon_palettes/never_melt_ice.pal new file mode 100644 index 000000000..e7d4cae58 --- /dev/null +++ b/graphics/items/icon_palettes/never_melt_ice.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 255 255 +74 90 98 +164 213 230 +222 246 255 +115 164 197 +49 123 164 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/nomel_berry.pal b/graphics/items/icon_palettes/nomel_berry.pal new file mode 100644 index 000000000..9afadafab --- /dev/null +++ b/graphics/items/icon_palettes/nomel_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 246 98 +197 197 41 +98 98 16 +255 255 246 +230 230 74 +164 164 8 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/normal_tm_hm.pal b/graphics/items/icon_palettes/normal_tm_hm.pal new file mode 100644 index 000000000..a5bd9da1c --- /dev/null +++ b/graphics/items/icon_palettes/normal_tm_hm.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 74 98 +238 238 238 +230 230 238 +230 230 230 +222 222 222 +213 213 213 +205 205 205 +197 197 197 +123 123 148 +123 123 123 +98 98 123 +255 255 255 +255 255 255 +82 82 82 diff --git a/graphics/items/icon_palettes/nugget.pal b/graphics/items/icon_palettes/nugget.pal new file mode 100644 index 000000000..9cd190dd0 --- /dev/null +++ b/graphics/items/icon_palettes/nugget.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +205 172 74 +255 205 74 +255 230 98 +255 238 139 +255 255 255 +156 115 16 +131 90 0 +197 156 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/oaks_parcel.pal b/graphics/items/icon_palettes/oaks_parcel.pal new file mode 100644 index 000000000..d02e816ca --- /dev/null +++ b/graphics/items/icon_palettes/oaks_parcel.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 222 131 +205 180 90 +148 123 32 +115 90 16 +115 115 24 +197 197 82 +164 164 49 +205 82 16 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/old_amber.pal b/graphics/items/icon_palettes/old_amber.pal new file mode 100644 index 000000000..1738ccfd8 --- /dev/null +++ b/graphics/items/icon_palettes/old_amber.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +197 123 0 +230 148 0 +246 180 0 +246 246 180 +156 82 0 +180 115 0 +255 255 255 +255 255 106 +238 197 131 +255 197 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/old_key.pal b/graphics/items/icon_palettes/old_key.pal new file mode 100644 index 000000000..ffeb4692b --- /dev/null +++ b/graphics/items/icon_palettes/old_key.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +230 222 197 +205 189 164 +148 131 106 +98 82 57 +255 246 246 +0 0 0 +189 230 197 +164 197 164 +106 139 106 +57 90 57 +213 255 246 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/old_rod.pal b/graphics/items/icon_palettes/old_rod.pal new file mode 100644 index 000000000..526002034 --- /dev/null +++ b/graphics/items/icon_palettes/old_rod.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +156 106 8 +197 156 65 +115 65 16 +230 189 106 +197 222 230 +156 180 189 +106 131 139 +205 90 57 +246 131 98 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/old_sea_map.pal b/graphics/items/icon_palettes/old_sea_map.pal new file mode 100644 index 000000000..e654202c7 --- /dev/null +++ b/graphics/items/icon_palettes/old_sea_map.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 197 98 +49 49 49 +213 180 139 +222 205 164 +197 172 123 +148 131 106 +180 148 106 +197 123 115 +180 90 82 +115 90 57 +0 0 0 +0 0 0 +65 49 24 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/oran_berry.pal b/graphics/items/icon_palettes/oran_berry.pal new file mode 100644 index 000000000..57546dd7b --- /dev/null +++ b/graphics/items/icon_palettes/oran_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +82 164 246 +106 106 189 +90 213 255 +82 82 131 +189 197 255 +230 238 255 +156 164 189 +82 123 205 +0 0 0 diff --git a/graphics/items/icon_palettes/orange_mail.pal b/graphics/items/icon_palettes/orange_mail.pal new file mode 100644 index 000000000..db58702d9 --- /dev/null +++ b/graphics/items/icon_palettes/orange_mail.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 205 139 +164 222 131 +246 246 164 +123 98 82 +189 164 115 +172 148 115 +255 255 238 +164 164 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/pamtre_berry.pal b/graphics/items/icon_palettes/pamtre_berry.pal new file mode 100644 index 000000000..131981654 --- /dev/null +++ b/graphics/items/icon_palettes/pamtre_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +139 123 189 +115 180 98 +238 222 180 +90 74 139 +115 98 164 +180 164 230 +156 213 139 +49 115 49 +115 106 74 +205 189 148 +164 148 106 +82 74 41 +65 49 115 +0 0 0 diff --git a/graphics/items/icon_palettes/paralyze_heal.pal b/graphics/items/icon_palettes/paralyze_heal.pal new file mode 100644 index 000000000..e19a72ca9 --- /dev/null +++ b/graphics/items/icon_palettes/paralyze_heal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 255 +205 205 205 +156 156 156 +255 255 148 +197 197 57 +238 238 98 +222 222 90 +255 255 213 +90 90 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/pearl.pal b/graphics/items/icon_palettes/pearl.pal new file mode 100644 index 000000000..2525be880 --- /dev/null +++ b/graphics/items/icon_palettes/pearl.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +238 197 197 +180 230 222 +189 189 189 +238 238 189 +255 255 255 +230 230 230 +148 164 164 +74 74 74 +213 172 172 +156 205 197 +164 164 164 +123 139 139 +255 255 205 +0 0 0 diff --git a/graphics/items/icon_palettes/pecha_berry.pal b/graphics/items/icon_palettes/pecha_berry.pal new file mode 100644 index 000000000..0225be168 --- /dev/null +++ b/graphics/items/icon_palettes/pecha_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 197 156 +238 148 115 +172 90 65 +255 246 213 +98 205 82 +90 189 65 +49 115 65 +255 230 156 +255 180 115 diff --git a/graphics/items/icon_palettes/persim_berry.pal b/graphics/items/icon_palettes/persim_berry.pal new file mode 100644 index 000000000..62bfa2611 --- /dev/null +++ b/graphics/items/icon_palettes/persim_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 205 156 +230 156 115 +189 115 82 +98 106 65 +115 222 82 +74 172 65 +49 98 65 +255 238 164 +255 189 131 diff --git a/graphics/items/icon_palettes/petaya_berry.pal b/graphics/items/icon_palettes/petaya_berry.pal new file mode 100644 index 000000000..582e58207 --- /dev/null +++ b/graphics/items/icon_palettes/petaya_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 164 123 +139 74 49 +197 123 82 +255 213 197 +213 189 148 +197 238 139 +164 139 98 +98 49 16 +131 189 106 +106 164 82 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/pinap_berry.pal b/graphics/items/icon_palettes/pinap_berry.pal new file mode 100644 index 000000000..28ffd0897 --- /dev/null +++ b/graphics/items/icon_palettes/pinap_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +189 180 98 +246 230 74 +222 205 82 +205 180 82 +148 139 90 +123 222 90 +82 189 90 +74 106 65 +255 246 148 +106 106 65 diff --git a/graphics/items/icon_palettes/pink_scarf.pal b/graphics/items/icon_palettes/pink_scarf.pal new file mode 100644 index 000000000..ebf7456af --- /dev/null +++ b/graphics/items/icon_palettes/pink_scarf.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +213 131 156 +255 172 205 +164 98 131 +230 139 180 +255 197 230 +246 156 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/poison_barb.pal b/graphics/items/icon_palettes/poison_barb.pal new file mode 100644 index 000000000..41da14ae7 --- /dev/null +++ b/graphics/items/icon_palettes/poison_barb.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 255 +197 148 197 +238 189 238 +98 98 98 +213 213 213 +255 230 255 +148 98 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/poison_tm_hm.pal b/graphics/items/icon_palettes/poison_tm_hm.pal new file mode 100644 index 000000000..4b9484f6b --- /dev/null +++ b/graphics/items/icon_palettes/poison_tm_hm.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 74 98 +255 222 197 +255 205 172 +255 189 148 +255 180 123 +230 148 156 +205 123 189 +180 98 222 +123 123 148 +123 123 123 +98 98 123 +255 255 255 +255 238 230 +82 82 82 diff --git a/graphics/items/icon_palettes/poke_ball.pal b/graphics/items/icon_palettes/poke_ball.pal new file mode 100644 index 000000000..89182c210 --- /dev/null +++ b/graphics/items/icon_palettes/poke_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 82 82 +123 123 131 +164 164 197 +222 205 246 +255 255 255 +156 74 57 +180 82 57 +222 90 57 +255 148 57 +255 213 57 +255 0 255 +255 0 255 +255 0 255 +255 0 255 diff --git a/graphics/items/icon_palettes/poke_doll.pal b/graphics/items/icon_palettes/poke_doll.pal new file mode 100644 index 000000000..6d4940d31 --- /dev/null +++ b/graphics/items/icon_palettes/poke_doll.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +98 65 0 +255 213 222 +246 180 213 +213 148 180 +164 98 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/poke_flute.pal b/graphics/items/icon_palettes/poke_flute.pal new file mode 100644 index 000000000..736a6ad2c --- /dev/null +++ b/graphics/items/icon_palettes/poke_flute.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +213 82 57 +164 32 8 +238 238 246 +123 123 131 +197 172 49 +238 213 98 +255 246 131 +246 115 90 +205 205 213 +189 57 32 +148 98 41 +0 0 0 +0 0 0 +255 255 255 diff --git a/graphics/items/icon_palettes/pokeblock_case.pal b/graphics/items/icon_palettes/pokeblock_case.pal new file mode 100644 index 000000000..3019dca83 --- /dev/null +++ b/graphics/items/icon_palettes/pokeblock_case.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +197 115 106 +230 222 246 +197 180 205 +189 230 255 +82 123 164 +246 197 189 +131 230 148 +139 180 238 +123 106 131 +123 74 65 +230 156 148 +49 90 131 +255 255 255 +238 180 172 diff --git a/graphics/items/icon_palettes/pomeg_berry.pal b/graphics/items/icon_palettes/pomeg_berry.pal new file mode 100644 index 000000000..d580c7800 --- /dev/null +++ b/graphics/items/icon_palettes/pomeg_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 148 49 +205 74 49 +131 57 49 +230 115 49 +255 222 82 +0 0 0 +90 180 82 +0 0 0 +49 98 82 diff --git a/graphics/items/icon_palettes/potion.pal b/graphics/items/icon_palettes/potion.pal new file mode 100644 index 000000000..d1c83395c --- /dev/null +++ b/graphics/items/icon_palettes/potion.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +164 131 205 +197 238 222 +255 255 255 +164 205 189 +131 98 172 +131 172 156 +230 255 255 +230 197 255 +82 123 106 +90 57 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/powder_jar.pal b/graphics/items/icon_palettes/powder_jar.pal new file mode 100644 index 000000000..a4c34253b --- /dev/null +++ b/graphics/items/icon_palettes/powder_jar.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 255 +139 131 49 +213 172 49 +255 238 74 +131 98 49 +230 205 57 +115 246 115 +74 189 82 +98 74 49 +255 180 49 +238 189 49 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/pp_max.pal b/graphics/items/icon_palettes/pp_max.pal new file mode 100644 index 000000000..18792e2da --- /dev/null +++ b/graphics/items/icon_palettes/pp_max.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 246 246 +90 148 57 +255 230 90 +255 255 230 +139 139 8 +148 189 41 +197 255 115 +222 197 197 +246 230 230 +197 172 172 +197 123 197 +172 82 172 +238 148 238 +230 205 74 diff --git a/graphics/items/icon_palettes/pp_up.pal b/graphics/items/icon_palettes/pp_up.pal new file mode 100644 index 000000000..89e493779 --- /dev/null +++ b/graphics/items/icon_palettes/pp_up.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 255 246 +148 90 57 +189 90 189 +246 164 246 +139 65 139 +189 148 41 +255 197 115 +197 222 197 +230 246 230 +172 197 172 +98 189 189 +74 164 164 +49 139 139 +0 0 0 diff --git a/graphics/items/icon_palettes/protein.pal b/graphics/items/icon_palettes/protein.pal new file mode 100644 index 000000000..913a87ea4 --- /dev/null +++ b/graphics/items/icon_palettes/protein.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 255 246 +148 90 57 +197 98 98 +246 164 164 +139 65 65 +189 148 41 +255 197 115 +197 222 197 +230 246 230 +172 197 172 +246 164 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/psychic_tm_hm.pal b/graphics/items/icon_palettes/psychic_tm_hm.pal new file mode 100644 index 000000000..7a047b8d6 --- /dev/null +++ b/graphics/items/icon_palettes/psychic_tm_hm.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 74 98 +255 230 230 +255 222 213 +255 213 205 +255 197 197 +255 189 180 +255 180 172 +255 172 164 +123 123 148 +123 123 123 +98 98 123 +255 255 255 +255 246 246 +82 82 82 diff --git a/graphics/items/icon_palettes/qualot_berry.pal b/graphics/items/icon_palettes/qualot_berry.pal new file mode 100644 index 000000000..15bdb5ac5 --- /dev/null +++ b/graphics/items/icon_palettes/qualot_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 213 131 +238 156 115 +246 189 123 +255 246 131 +0 0 0 +156 139 74 +189 180 98 +222 213 115 +238 246 123 diff --git a/graphics/items/icon_palettes/question_mark.pal b/graphics/items/icon_palettes/question_mark.pal new file mode 100644 index 000000000..7bf4ffb4d --- /dev/null +++ b/graphics/items/icon_palettes/question_mark.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 164 98 +0 0 0 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/quick_claw.pal b/graphics/items/icon_palettes/quick_claw.pal new file mode 100644 index 000000000..169de57a1 --- /dev/null +++ b/graphics/items/icon_palettes/quick_claw.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +197 197 197 +255 255 255 +222 197 106 +255 222 213 +205 156 82 +172 123 57 +123 123 123 +246 246 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/rabuta_berry.pal b/graphics/items/icon_palettes/rabuta_berry.pal new file mode 100644 index 000000000..6c20fdb38 --- /dev/null +++ b/graphics/items/icon_palettes/rabuta_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +139 213 115 +246 238 205 +197 189 131 +148 139 82 +49 98 24 +65 139 41 +115 189 90 +82 82 32 +172 238 139 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/rainbow_pass.pal b/graphics/items/icon_palettes/rainbow_pass.pal new file mode 100644 index 000000000..ca5ae1da5 --- /dev/null +++ b/graphics/items/icon_palettes/rainbow_pass.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 164 123 +49 49 49 +65 82 180 +74 148 255 +238 156 98 +255 246 90 +74 115 205 +205 115 148 +139 230 255 +98 205 255 +255 189 164 +0 0 0 +255 255 197 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/rare_candy.pal b/graphics/items/icon_palettes/rare_candy.pal new file mode 100644 index 000000000..b1be69b51 --- /dev/null +++ b/graphics/items/icon_palettes/rare_candy.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +156 189 255 +98 115 213 +123 148 238 +41 57 156 +82 98 197 +213 238 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/rawst_berry.pal b/graphics/items/icon_palettes/rawst_berry.pal new file mode 100644 index 000000000..df09ffb83 --- /dev/null +++ b/graphics/items/icon_palettes/rawst_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +98 90 123 +131 148 172 +148 213 213 +139 180 213 +148 230 230 +90 213 82 +65 156 65 +49 106 65 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/razz_berry.pal b/graphics/items/icon_palettes/razz_berry.pal new file mode 100644 index 000000000..5bc2e66bb --- /dev/null +++ b/graphics/items/icon_palettes/razz_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 172 41 +222 90 49 +246 139 41 +156 65 41 +131 238 65 +65 172 65 +41 90 57 +255 230 65 +0 0 0 diff --git a/graphics/items/icon_palettes/red_flute.pal b/graphics/items/icon_palettes/red_flute.pal new file mode 100644 index 000000000..9fec9ed16 --- /dev/null +++ b/graphics/items/icon_palettes/red_flute.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 255 +246 172 139 +172 106 74 +255 205 172 +222 139 106 +65 74 205 +106 115 205 +148 164 222 +65 74 164 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/red_orb.pal b/graphics/items/icon_palettes/red_orb.pal new file mode 100644 index 000000000..dfbaa5cf3 --- /dev/null +++ b/graphics/items/icon_palettes/red_orb.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +230 115 106 +222 156 156 +197 82 74 +148 65 57 +255 205 205 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/red_scarf.pal b/graphics/items/icon_palettes/red_scarf.pal new file mode 100644 index 000000000..93a579ed2 --- /dev/null +++ b/graphics/items/icon_palettes/red_scarf.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +189 82 82 +238 123 123 +139 74 74 +205 98 98 +255 164 172 +222 115 115 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/red_shard.pal b/graphics/items/icon_palettes/red_shard.pal new file mode 100644 index 000000000..2c4c742b4 --- /dev/null +++ b/graphics/items/icon_palettes/red_shard.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 148 139 +197 90 115 +90 8 32 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/repeat_ball.pal b/graphics/items/icon_palettes/repeat_ball.pal new file mode 100644 index 000000000..d61f62a49 --- /dev/null +++ b/graphics/items/icon_palettes/repeat_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 82 82 +123 123 131 +164 164 197 +222 205 246 +255 255 255 +156 74 57 +180 82 57 +222 90 57 +255 148 57 +255 213 57 +246 246 139 +180 164 57 +222 205 57 +246 238 57 diff --git a/graphics/items/icon_palettes/repel.pal b/graphics/items/icon_palettes/repel.pal new file mode 100644 index 000000000..c7ef0931c --- /dev/null +++ b/graphics/items/icon_palettes/repel.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 255 +213 230 230 +180 197 197 +123 139 139 +0 0 0 +0 0 0 +230 90 57 +189 49 16 +0 0 0 +0 0 0 +0 0 0 +139 230 139 +49 123 49 +82 180 82 diff --git a/graphics/items/icon_palettes/retro_mail.pal b/graphics/items/icon_palettes/retro_mail.pal new file mode 100644 index 000000000..20b896a7d --- /dev/null +++ b/graphics/items/icon_palettes/retro_mail.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 139 74 +123 205 65 +98 156 230 +246 172 172 +205 148 90 +172 98 65 +65 98 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/return_to_field_arrow.pal b/graphics/items/icon_palettes/return_to_field_arrow.pal new file mode 100644 index 000000000..cf4fb2309 --- /dev/null +++ b/graphics/items/icon_palettes/return_to_field_arrow.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +57 57 57 +172 172 189 +205 205 222 +255 255 255 +131 131 156 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/revival_herb.pal b/graphics/items/icon_palettes/revival_herb.pal new file mode 100644 index 000000000..a68ded8cf --- /dev/null +++ b/graphics/items/icon_palettes/revival_herb.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +180 230 115 +115 164 82 +222 197 123 +65 82 41 +148 148 115 +49 123 16 +65 65 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/revive.pal b/graphics/items/icon_palettes/revive.pal new file mode 100644 index 000000000..ec9f04782 --- /dev/null +++ b/graphics/items/icon_palettes/revive.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 246 197 +230 230 123 +164 164 57 +255 255 255 +74 74 0 +222 238 238 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/rock_tm_hm.pal b/graphics/items/icon_palettes/rock_tm_hm.pal new file mode 100644 index 000000000..80ac40f8d --- /dev/null +++ b/graphics/items/icon_palettes/rock_tm_hm.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 74 98 +246 238 222 +238 230 197 +238 222 172 +230 213 148 +222 197 115 +222 189 90 +213 180 65 +123 123 148 +123 123 123 +98 98 123 +255 255 255 +255 255 255 +82 82 82 diff --git a/graphics/items/icon_palettes/ruby.pal b/graphics/items/icon_palettes/ruby.pal new file mode 100644 index 000000000..304d1a5ed --- /dev/null +++ b/graphics/items/icon_palettes/ruby.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +123 49 65 +197 82 90 +222 123 123 +238 148 148 +255 172 172 +255 197 197 +255 222 222 +255 238 238 +230 156 156 +255 205 205 +139 65 82 +255 213 213 +255 180 180 +164 74 82 diff --git a/graphics/items/icon_palettes/sacred_ash.pal b/graphics/items/icon_palettes/sacred_ash.pal new file mode 100644 index 000000000..4b7ec0b8c --- /dev/null +++ b/graphics/items/icon_palettes/sacred_ash.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +222 222 106 +172 172 41 +98 98 24 +246 246 164 +156 156 156 +115 115 115 +205 205 205 +82 82 82 +222 222 222 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/safari_ball.pal b/graphics/items/icon_palettes/safari_ball.pal new file mode 100644 index 000000000..84584f01a --- /dev/null +++ b/graphics/items/icon_palettes/safari_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 82 82 +123 123 131 +164 164 197 +222 205 246 +255 255 255 +74 98 0 +98 123 24 +156 180 82 +115 98 0 +197 180 57 +222 213 123 +16 90 49 +74 148 98 +106 180 139 diff --git a/graphics/items/icon_palettes/salac_berry.pal b/graphics/items/icon_palettes/salac_berry.pal new file mode 100644 index 000000000..f04414811 --- /dev/null +++ b/graphics/items/icon_palettes/salac_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +123 189 115 +49 115 41 +164 213 131 +213 246 180 +74 139 74 +230 246 123 +205 222 106 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/sapphire.pal b/graphics/items/icon_palettes/sapphire.pal new file mode 100644 index 000000000..7e7cf1b8f --- /dev/null +++ b/graphics/items/icon_palettes/sapphire.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +65 49 123 +90 82 197 +123 123 222 +148 148 238 +172 172 255 +197 197 255 +222 222 255 +238 238 255 +156 156 230 +205 205 255 +82 65 139 +213 213 255 +180 180 255 +82 74 164 diff --git a/graphics/items/icon_palettes/scanner.pal b/graphics/items/icon_palettes/scanner.pal new file mode 100644 index 000000000..e8df36f35 --- /dev/null +++ b/graphics/items/icon_palettes/scanner.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 148 0 +0 230 0 +82 106 164 +156 180 238 +197 222 255 +98 90 41 +222 213 65 +41 65 115 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +82 82 106 +238 238 255 diff --git a/graphics/items/icon_palettes/scope_lens.pal b/graphics/items/icon_palettes/scope_lens.pal new file mode 100644 index 000000000..8c73e8faa --- /dev/null +++ b/graphics/items/icon_palettes/scope_lens.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +164 180 197 +106 123 139 +213 90 74 +123 156 213 +197 213 230 +65 82 98 +82 115 172 +148 164 180 +246 238 82 +238 197 74 +148 115 41 +238 246 255 +115 82 8 +0 0 0 diff --git a/graphics/items/icon_palettes/sea_incense.pal b/graphics/items/icon_palettes/sea_incense.pal new file mode 100644 index 000000000..f7b7e5e5c --- /dev/null +++ b/graphics/items/icon_palettes/sea_incense.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +98 164 246 +74 115 197 +197 222 246 +172 197 222 +49 90 156 +131 197 255 +180 164 115 +164 148 98 +115 98 49 +238 230 197 +74 98 115 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/secret_key.pal b/graphics/items/icon_palettes/secret_key.pal new file mode 100644 index 000000000..d0bf3faba --- /dev/null +++ b/graphics/items/icon_palettes/secret_key.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +148 148 49 +115 106 16 +255 255 238 +189 197 41 +197 197 98 +90 90 90 +205 213 205 +156 164 156 +238 246 238 +115 115 115 +0 0 0 +255 115 115 +197 74 74 +230 90 90 diff --git a/graphics/items/icon_palettes/shadow_mail.pal b/graphics/items/icon_palettes/shadow_mail.pal new file mode 100644 index 000000000..064d2f8fa --- /dev/null +++ b/graphics/items/icon_palettes/shadow_mail.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +197 172 164 +98 74 65 +74 57 57 +255 98 98 +255 238 238 +197 82 82 +139 115 106 +156 131 123 +156 164 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/sharp_beak.pal b/graphics/items/icon_palettes/sharp_beak.pal new file mode 100644 index 000000000..efbe91cb4 --- /dev/null +++ b/graphics/items/icon_palettes/sharp_beak.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 222 90 +213 172 57 +139 98 32 +255 246 189 +255 230 156 +106 65 24 +189 148 57 +49 74 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/shell.pal b/graphics/items/icon_palettes/shell.pal new file mode 100644 index 000000000..dbbcc75ef --- /dev/null +++ b/graphics/items/icon_palettes/shell.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +238 213 213 +213 246 238 +205 205 197 +255 255 222 +255 255 255 +230 230 230 +164 180 180 +74 74 74 +213 172 172 +156 205 197 +164 164 164 +123 139 139 +255 255 205 +0 0 0 diff --git a/graphics/items/icon_palettes/shoal_salt.pal b/graphics/items/icon_palettes/shoal_salt.pal new file mode 100644 index 000000000..85e6fd59d --- /dev/null +++ b/graphics/items/icon_palettes/shoal_salt.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 255 +238 205 131 +131 131 131 +197 164 82 +205 205 205 +238 238 238 +115 90 32 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/silk_scarf.pal b/graphics/items/icon_palettes/silk_scarf.pal new file mode 100644 index 000000000..6c3517350 --- /dev/null +++ b/graphics/items/icon_palettes/silk_scarf.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +230 255 255 +222 230 230 +197 205 205 +106 123 115 +255 255 255 +238 246 246 +82 98 90 +172 180 180 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/silph_scope.pal b/graphics/items/icon_palettes/silph_scope.pal new file mode 100644 index 000000000..5697ed196 --- /dev/null +++ b/graphics/items/icon_palettes/silph_scope.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 255 +246 139 139 +106 164 222 +189 65 65 +255 189 189 +148 205 255 +74 98 156 +197 213 197 +139 164 139 +65 90 65 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/silver_powder.pal b/graphics/items/icon_palettes/silver_powder.pal new file mode 100644 index 000000000..5f5253d57 --- /dev/null +++ b/graphics/items/icon_palettes/silver_powder.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 255 +139 213 139 +115 115 115 +106 189 106 +156 156 156 +197 197 197 +65 115 65 +238 238 238 +213 213 213 +189 230 189 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/sitrus_berry.pal b/graphics/items/icon_palettes/sitrus_berry.pal new file mode 100644 index 000000000..2a594b09a --- /dev/null +++ b/graphics/items/icon_palettes/sitrus_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 238 106 +213 180 74 +139 115 57 +230 180 65 +238 213 90 +106 213 90 +0 0 0 +82 131 74 +172 115 49 diff --git a/graphics/items/icon_palettes/smoke_ball.pal b/graphics/items/icon_palettes/smoke_ball.pal new file mode 100644 index 000000000..07d6cf14b --- /dev/null +++ b/graphics/items/icon_palettes/smoke_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +222 189 230 +213 164 230 +148 123 205 +255 246 255 +115 115 115 +246 222 246 +230 205 246 +148 98 164 +197 148 213 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/soda_pop.pal b/graphics/items/icon_palettes/soda_pop.pal new file mode 100644 index 000000000..f5662444b --- /dev/null +++ b/graphics/items/icon_palettes/soda_pop.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +49 74 74 +90 123 123 +139 189 197 +189 238 246 +82 156 205 +131 205 255 +255 255 255 +238 230 230 +197 180 180 +57 131 180 +189 213 255 +156 205 238 +106 189 230 +0 0 0 diff --git a/graphics/items/icon_palettes/soft_sand.pal b/graphics/items/icon_palettes/soft_sand.pal new file mode 100644 index 000000000..5f48b04ea --- /dev/null +++ b/graphics/items/icon_palettes/soft_sand.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +213 156 213 +156 98 156 +115 57 115 +238 180 238 +246 230 156 +205 172 115 +255 246 213 +148 106 74 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/soot_sack.pal b/graphics/items/icon_palettes/soot_sack.pal new file mode 100644 index 000000000..ece17a7e0 --- /dev/null +++ b/graphics/items/icon_palettes/soot_sack.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +238 238 255 +246 197 156 +148 139 172 +74 74 106 +213 205 238 +230 230 246 +180 172 205 +238 238 255 +222 172 123 +189 139 90 +156 106 65 +131 123 156 +98 65 49 +0 0 0 diff --git a/graphics/items/icon_palettes/soothe_bell.pal b/graphics/items/icon_palettes/soothe_bell.pal new file mode 100644 index 000000000..3c64f14c7 --- /dev/null +++ b/graphics/items/icon_palettes/soothe_bell.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 255 +230 230 230 +82 82 82 +123 123 123 +164 164 164 +205 205 205 +213 115 106 +131 49 49 +164 90 82 +255 189 189 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/soul_dew.pal b/graphics/items/icon_palettes/soul_dew.pal new file mode 100644 index 000000000..a262960a7 --- /dev/null +++ b/graphics/items/icon_palettes/soul_dew.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 255 +65 90 180 +98 123 213 +205 222 255 +222 197 246 +172 148 213 +41 65 156 +222 238 238 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/spell_tag.pal b/graphics/items/icon_palettes/spell_tag.pal new file mode 100644 index 000000000..c671dbf5b --- /dev/null +++ b/graphics/items/icon_palettes/spell_tag.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 148 148 +82 82 82 +255 255 255 +205 205 205 +156 156 156 +148 148 148 +197 98 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/spelon_berry.pal b/graphics/items/icon_palettes/spelon_berry.pal new file mode 100644 index 000000000..bea46d8c0 --- /dev/null +++ b/graphics/items/icon_palettes/spelon_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 123 115 +255 230 156 +205 90 82 +172 90 74 +255 197 115 +255 189 172 +230 106 98 +131 65 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/ss_ticket.pal b/graphics/items/icon_palettes/ss_ticket.pal new file mode 100644 index 000000000..d943c9e01 --- /dev/null +++ b/graphics/items/icon_palettes/ss_ticket.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +213 222 222 +49 106 139 +82 164 222 +98 180 238 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/star.pal b/graphics/items/icon_palettes/star.pal new file mode 100644 index 000000000..d37358e90 --- /dev/null +++ b/graphics/items/icon_palettes/star.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +98 156 213 +41 98 156 +24 57 115 +123 180 238 +246 164 164 +222 115 115 +255 222 222 +156 74 74 +255 255 255 +131 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/starf_berry.pal b/graphics/items/icon_palettes/starf_berry.pal new file mode 100644 index 000000000..bbc1b7aed --- /dev/null +++ b/graphics/items/icon_palettes/starf_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +164 230 106 +123 189 65 +213 255 197 +98 148 213 +238 222 65 +238 90 65 +82 148 57 +222 172 57 +189 238 156 +65 106 41 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/steel_tm_hm.pal b/graphics/items/icon_palettes/steel_tm_hm.pal new file mode 100644 index 000000000..73df7faab --- /dev/null +++ b/graphics/items/icon_palettes/steel_tm_hm.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 74 98 +222 222 222 +213 213 213 +197 197 197 +189 189 189 +148 172 180 +115 164 172 +82 156 164 +123 123 148 +123 123 123 +98 98 123 +255 255 255 +238 246 246 +82 82 82 diff --git a/graphics/items/icon_palettes/stick.pal b/graphics/items/icon_palettes/stick.pal new file mode 100644 index 000000000..e1a16804c --- /dev/null +++ b/graphics/items/icon_palettes/stick.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +123 189 8 +180 213 74 +74 148 0 +32 98 0 +197 213 180 +230 230 197 +180 180 139 +98 98 57 +255 255 246 +205 238 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/sun_stone.pal b/graphics/items/icon_palettes/sun_stone.pal new file mode 100644 index 000000000..e4af237df --- /dev/null +++ b/graphics/items/icon_palettes/sun_stone.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +197 98 41 +255 172 115 +131 74 41 +230 115 57 +255 238 205 +246 131 74 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/super_potion.pal b/graphics/items/icon_palettes/super_potion.pal new file mode 100644 index 000000000..76e58020a --- /dev/null +++ b/graphics/items/icon_palettes/super_potion.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +222 131 131 +255 222 131 +255 255 238 +230 189 106 +197 98 90 +180 139 65 +255 246 180 +255 172 148 +148 106 49 +148 82 74 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/super_repel.pal b/graphics/items/icon_palettes/super_repel.pal new file mode 100644 index 000000000..c9c489689 --- /dev/null +++ b/graphics/items/icon_palettes/super_repel.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 255 +213 230 230 +180 197 197 +123 139 139 +0 0 0 +0 0 0 +213 189 189 +139 115 115 +0 0 0 +0 0 0 +0 0 0 +246 246 255 +148 148 172 +205 205 230 diff --git a/graphics/items/icon_palettes/super_rod.pal b/graphics/items/icon_palettes/super_rod.pal new file mode 100644 index 000000000..324e773a5 --- /dev/null +++ b/graphics/items/icon_palettes/super_rod.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +205 197 197 +148 131 131 +82 82 139 +123 123 180 +90 82 82 +197 222 230 +156 180 189 +106 131 139 +205 90 57 +246 131 98 +255 255 255 +82 238 82 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/tamato_berry.pal b/graphics/items/icon_palettes/tamato_berry.pal new file mode 100644 index 000000000..cca4901ad --- /dev/null +++ b/graphics/items/icon_palettes/tamato_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 148 49 +205 74 49 +131 57 49 +230 115 49 +255 213 49 +0 0 0 +49 164 82 +115 222 82 +49 98 82 diff --git a/graphics/items/icon_palettes/tea.pal b/graphics/items/icon_palettes/tea.pal new file mode 100644 index 000000000..8285602d9 --- /dev/null +++ b/graphics/items/icon_palettes/tea.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +180 172 156 +238 230 230 +131 115 106 +205 255 156 +246 230 222 +197 180 156 +131 255 32 +98 82 65 +205 189 172 +148 230 24 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/teachy_tv.pal b/graphics/items/icon_palettes/teachy_tv.pal new file mode 100644 index 000000000..7de3e7f77 --- /dev/null +++ b/graphics/items/icon_palettes/teachy_tv.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 164 123 +49 49 49 +98 106 98 +255 205 74 +74 74 57 +98 156 148 +115 205 189 +148 131 74 +205 164 74 +255 230 74 +213 205 172 +156 139 115 +222 180 74 +82 98 98 +115 115 115 +246 246 238 diff --git a/graphics/items/icon_palettes/thick_club.pal b/graphics/items/icon_palettes/thick_club.pal new file mode 100644 index 000000000..819dfebad --- /dev/null +++ b/graphics/items/icon_palettes/thick_club.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +230 238 205 +189 197 164 +156 156 131 +213 213 172 +131 131 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/thunder_stone.pal b/graphics/items/icon_palettes/thunder_stone.pal new file mode 100644 index 000000000..debec0709 --- /dev/null +++ b/graphics/items/icon_palettes/thunder_stone.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 255 246 +139 213 139 +74 148 74 +213 238 123 +106 180 106 +41 115 41 +180 205 90 +172 246 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/tm_case.pal b/graphics/items/icon_palettes/tm_case.pal new file mode 100644 index 000000000..04e3fcd66 --- /dev/null +++ b/graphics/items/icon_palettes/tm_case.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +32 148 57 +49 49 49 +74 74 82 +123 148 131 +180 205 238 +246 230 41 +82 98 123 +230 189 41 +90 115 98 +82 148 197 +180 148 41 +0 0 0 +106 98 41 +205 230 246 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/town_map.pal b/graphics/items/icon_palettes/town_map.pal new file mode 100644 index 000000000..b55ac92ee --- /dev/null +++ b/graphics/items/icon_palettes/town_map.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 222 106 +49 49 49 +148 98 41 +238 139 41 +57 90 139 +246 230 41 +90 82 74 +148 131 156 +205 222 238 +156 164 189 +197 180 41 +131 123 41 +238 246 255 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/tri_pass.pal b/graphics/items/icon_palettes/tri_pass.pal new file mode 100644 index 000000000..a4806b9c5 --- /dev/null +++ b/graphics/items/icon_palettes/tri_pass.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 164 123 +49 49 49 +57 98 189 +82 156 255 +57 148 65 +74 172 65 +41 172 106 +98 205 255 +106 222 255 +41 197 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/tropic_mail.pal b/graphics/items/icon_palettes/tropic_mail.pal new file mode 100644 index 000000000..0a07e3ea4 --- /dev/null +++ b/graphics/items/icon_palettes/tropic_mail.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +205 246 172 +172 238 139 +106 172 74 +246 172 131 +197 123 82 +238 222 139 +230 156 115 +90 131 74 +156 222 123 +230 246 189 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/twisted_spoon.pal b/graphics/items/icon_palettes/twisted_spoon.pal new file mode 100644 index 000000000..4d93de7a1 --- /dev/null +++ b/graphics/items/icon_palettes/twisted_spoon.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 255 255 +106 131 131 +230 246 246 +156 172 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/ultra_ball.pal b/graphics/items/icon_palettes/ultra_ball.pal new file mode 100644 index 000000000..0aca283a1 --- /dev/null +++ b/graphics/items/icon_palettes/ultra_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 82 82 +123 123 131 +164 164 197 +222 205 246 +255 255 255 +57 74 90 +82 98 106 +115 131 148 +164 180 197 +213 172 16 +255 213 57 +255 246 90 +255 0 255 +255 0 255 diff --git a/graphics/items/icon_palettes/up_grade.pal b/graphics/items/icon_palettes/up_grade.pal new file mode 100644 index 000000000..ee3dfee40 --- /dev/null +++ b/graphics/items/icon_palettes/up_grade.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +213 213 180 +131 131 106 +238 255 213 +98 98 74 +255 246 222 +172 172 148 +238 238 197 +230 189 189 +230 148 0 +238 238 213 +197 197 197 +131 131 131 +255 222 0 +164 213 164 diff --git a/graphics/items/icon_palettes/vs_seeker.pal b/graphics/items/icon_palettes/vs_seeker.pal new file mode 100644 index 000000000..12de7db41 --- /dev/null +++ b/graphics/items/icon_palettes/vs_seeker.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 222 106 +49 49 49 +222 238 238 +180 197 197 +49 82 148 +255 255 255 +65 131 230 +115 205 255 +148 156 180 +74 90 106 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/wailmer_pail.pal b/graphics/items/icon_palettes/wailmer_pail.pal new file mode 100644 index 000000000..0aa71a151 --- /dev/null +++ b/graphics/items/icon_palettes/wailmer_pail.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +180 180 213 +139 139 197 +90 90 148 +246 246 238 +222 222 213 +189 189 180 +222 222 255 +131 131 123 +57 57 115 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/water_stone.pal b/graphics/items/icon_palettes/water_stone.pal new file mode 100644 index 000000000..3a27802cc --- /dev/null +++ b/graphics/items/icon_palettes/water_stone.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +98 82 205 +156 131 255 +197 197 255 +238 238 255 +222 222 255 +74 74 180 +106 106 222 +172 205 246 +148 180 222 +115 148 189 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/water_tm_hm.pal b/graphics/items/icon_palettes/water_tm_hm.pal new file mode 100644 index 000000000..9d10b3c1d --- /dev/null +++ b/graphics/items/icon_palettes/water_tm_hm.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +74 74 98 +205 230 246 +180 213 246 +164 205 246 +139 197 238 +115 180 238 +90 172 238 +74 164 238 +123 123 148 +123 123 123 +98 98 123 +255 255 255 +238 246 246 +82 82 82 diff --git a/graphics/items/icon_palettes/watmel_berry.pal b/graphics/items/icon_palettes/watmel_berry.pal new file mode 100644 index 000000000..d5b9a5e5c --- /dev/null +++ b/graphics/items/icon_palettes/watmel_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 197 172 +156 213 90 +90 148 57 +222 148 123 +246 172 148 +139 197 74 +115 172 49 +255 222 205 +180 238 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/wave_mail.pal b/graphics/items/icon_palettes/wave_mail.pal new file mode 100644 index 000000000..8e08d49a6 --- /dev/null +++ b/graphics/items/icon_palettes/wave_mail.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +148 222 246 +98 131 230 +238 255 255 +255 246 230 +238 222 172 +123 156 246 +65 98 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/wepear_berry.pal b/graphics/items/icon_palettes/wepear_berry.pal new file mode 100644 index 000000000..cc4e3ff01 --- /dev/null +++ b/graphics/items/icon_palettes/wepear_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +148 222 74 +115 197 74 +90 164 74 +74 98 74 +180 246 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/white_flute.pal b/graphics/items/icon_palettes/white_flute.pal new file mode 100644 index 000000000..6dffd6f79 --- /dev/null +++ b/graphics/items/icon_palettes/white_flute.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 255 +230 230 230 +164 164 164 +230 230 230 +197 197 197 +222 98 222 +222 139 222 +238 189 238 +180 98 180 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/white_herb.pal b/graphics/items/icon_palettes/white_herb.pal new file mode 100644 index 000000000..9869f6495 --- /dev/null +++ b/graphics/items/icon_palettes/white_herb.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 255 +230 213 230 +213 189 213 +246 230 246 +255 238 255 +238 222 238 +148 123 148 +197 172 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/wiki_berry.pal b/graphics/items/icon_palettes/wiki_berry.pal new file mode 100644 index 000000000..26a3ca4ca --- /dev/null +++ b/graphics/items/icon_palettes/wiki_berry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +148 115 230 +98 90 172 +205 164 255 +57 65 123 +131 90 205 +90 213 82 +65 156 65 +74 98 65 +0 0 0 diff --git a/graphics/items/icon_palettes/wood_mail.pal b/graphics/items/icon_palettes/wood_mail.pal new file mode 100644 index 000000000..d0e54475b --- /dev/null +++ b/graphics/items/icon_palettes/wood_mail.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +222 205 148 +213 148 106 +172 131 74 +255 246 222 +148 106 49 +230 205 197 +189 123 82 +238 172 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/x_accuracy.pal b/graphics/items/icon_palettes/x_accuracy.pal new file mode 100644 index 000000000..4c600d07d --- /dev/null +++ b/graphics/items/icon_palettes/x_accuracy.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +205 115 189 +164 82 148 +238 180 222 +255 255 255 +156 148 156 +230 213 230 +115 49 98 +255 230 246 +172 98 156 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/x_attack.pal b/graphics/items/icon_palettes/x_attack.pal new file mode 100644 index 000000000..4976e5623 --- /dev/null +++ b/graphics/items/icon_palettes/x_attack.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +230 131 123 +164 74 74 +238 156 172 +255 255 255 +156 148 148 +230 213 213 +131 49 49 +255 230 222 +197 98 115 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/x_defend.pal b/graphics/items/icon_palettes/x_defend.pal new file mode 100644 index 000000000..a76518dbd --- /dev/null +++ b/graphics/items/icon_palettes/x_defend.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +123 131 230 +74 74 164 +172 156 238 +255 255 255 +148 148 156 +213 213 230 +57 57 139 +222 230 255 +115 98 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/x_special.pal b/graphics/items/icon_palettes/x_special.pal new file mode 100644 index 000000000..6f5bc3d49 --- /dev/null +++ b/graphics/items/icon_palettes/x_special.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +205 205 106 +156 156 74 +230 230 172 +255 255 255 +156 156 148 +230 230 213 +106 106 32 +255 255 222 +164 164 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/x_speed.pal b/graphics/items/icon_palettes/x_speed.pal new file mode 100644 index 000000000..151380380 --- /dev/null +++ b/graphics/items/icon_palettes/x_speed.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +106 205 205 +74 156 156 +172 230 230 +255 255 255 +148 156 156 +213 230 230 +32 106 106 +222 255 255 +90 164 164 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/yellow_flute.pal b/graphics/items/icon_palettes/yellow_flute.pal new file mode 100644 index 000000000..d20ae4498 --- /dev/null +++ b/graphics/items/icon_palettes/yellow_flute.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 255 255 +230 230 115 +139 139 74 +238 238 172 +205 205 90 +74 205 65 +115 205 106 +164 222 148 +74 172 65 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/yellow_scarf.pal b/graphics/items/icon_palettes/yellow_scarf.pal new file mode 100644 index 000000000..a73b3c245 --- /dev/null +++ b/graphics/items/icon_palettes/yellow_scarf.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +197 197 74 +238 238 115 +148 148 41 +213 213 82 +255 255 139 +230 230 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/yellow_shard.pal b/graphics/items/icon_palettes/yellow_shard.pal new file mode 100644 index 000000000..3e33880bb --- /dev/null +++ b/graphics/items/icon_palettes/yellow_shard.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +255 230 90 +197 172 65 +90 65 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/zinc.pal b/graphics/items/icon_palettes/zinc.pal new file mode 100644 index 000000000..472936091 --- /dev/null +++ b/graphics/items/icon_palettes/zinc.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +49 49 49 +246 255 246 +148 90 57 +189 131 49 +238 205 106 +123 106 0 +189 148 41 +255 197 115 +197 222 197 +230 246 230 +172 197 172 +131 222 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icons/acro_bike.png b/graphics/items/icons/acro_bike.png new file mode 100644 index 0000000000000000000000000000000000000000..c132252ebc83aeae84c990c474cbb257011c6310 GIT binary patch literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQbiL(6m?c18Y zYm$!_jGX#k(e6Vzme~df{1Hk z!t*G(w_f70o&Oj%zEjN>&{LwZYGRR5p(`kGnNS3PzZz6JTx)78&qol`;+0B?kPNB{r; literal 0 HcmV?d00001 diff --git a/graphics/items/icons/aguav_berry.png b/graphics/items/icons/aguav_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..faae50cc6328f8e589bcc85512816ceaf0b50ade GIT binary patch literal 308 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bP^dB~vns#n%t zub?T8UP)fv@4TM9%i4PtWCReDFUwj7q!>$r{DK)Ap4~_TayEIoIEF|}&AqUZugQUj zE#V#Sj*|k9ovlnYx@QZ>-pF}m%aG&e_KU&YNp?=lk$v3`oJKcZ{x8ZcE_eK}-Dk&v zUuN#o=M2P(PAuQE=(yfBN#Vlaqf3>NmaRG<`0NyK;7WDD-?oA;n|PTG?j~B7Sn|JN z{FB(QXR_S9&w}o09)E%xZFh*pKCt`R8O$l#|Nrg(S%ocg zG@oq|`2WuF>=uP@-?nH5X%0*oa=e!&b5&u*jvIhCF+jv*3LlM@v9 zJ|NsB&*|T%z z%=!N=>HikZ|5v@f9ku-be@j$U6i^{D@XwaA1o9b6g8YIR9G=}s19ECTT^vIsrY0vG zU=rg}y3yq2#T1|>J|UOssR0+`O}zlV8E-j4RdZ4vDKTAE%6aqXQPYvgM^`zXSER0e z(cs0&UcEGR%VCR?ahbAD1Nx?H49~XcQQnwUsWC_SR$%85&bghlFJElD!2INZ&QylN pgmZ~3MN)};sRAM*Et@woGt7)rG1+n9(p8WvJzf1=);T3K0RU@bT*CkW literal 0 HcmV?d00001 diff --git a/graphics/items/icons/apicot_berry.png b/graphics/items/icons/apicot_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..d3f17b95e4e76bdd4fe78ee1951c00336d318516 GIT binary patch literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQ*S@Ue~y{vcd zsx7^mySI2{HSZ0|T2eg6@aWZdQOyd~NfKwzCINK-f$IOF6F`cwB*-tA!Qt7BG$5zj z)5S4FVrp`Nf*c2z(v2RyazUG87Xqd?GX?ZbxVGqqbz1=E+EA~ho6ckulBGnSSZrwV*=OUt_Q>VMRikfJnsG)Jd!GwX~_bct!Mqk$ZfZXco L>gTe~DWM4fqY+|> literal 0 HcmV?d00001 diff --git a/graphics/items/icons/aspear_berry.png b/graphics/items/icons/aspear_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..1014262f182d66fccdd7ac04f482ad4e2c65eff5 GIT binary patch literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bP^dC1`G7O!v5 zg8u){YM#=(=IEAZSEHJX9k<*&3sjT&b>}7^#aI&L7tG-B>_!@pv&PfKF+^f&?RiDM zLk1G858kq^j$)m@=GWvjjw|;rJzU9fdkNonbz6p(Gd{Wx*=Edb+!oE&^x?|yTV4AW z{g@xr;XnO&^Nn4$tG7idytUCRj@2uu^nJ{A^Jb)HOIGVvb%ljIGKm$8?dO_!L#jmi znb|L=Gql|-n7yH!fw{ls7az-llfQ%f>*?y}vd$@?2>`Cgb-w@r literal 0 HcmV?d00001 diff --git a/graphics/items/icons/aurora_ticket.png b/graphics/items/icons/aurora_ticket.png new file mode 100644 index 0000000000000000000000000000000000000000..97827e51315051f868cc59f1325c2b44ad3f9cef GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*Ck7;4Gj(7y{mRS`_6LC zy(q6GmX<+D@4jvM|KGBDZ}pTlK!wO)xr*}?AfK@$$S;_|;n|HeAg9*T#W6%;YI4E? z1`egoQ&}e5;OI-(IBAknPi&kF%VQ3y>C>ehuX0LB&z?Tp$)YKEPHfLGv~bCY8*TdL{HKCvOQykeUz|i{dfigTGvz4qpm#W>zdSVzSKa4EQbSESST_ nc5#bIi}F!{M-HVPIg1z=12fu^^ww)CWAO58a_(t8ZToIIoKn!_>a*%vgVlidQGHJMek-ZGTiIeZN;w{4s&S1qh3{GrBGsrh2VMAefo gXEa>AboAzYIlqH^N4Z~II1h4^r>mdKI;Vst0Q3e|>Hq)$ literal 0 HcmV?d00001 diff --git a/graphics/items/icons/battle_stat_item.png b/graphics/items/icons/battle_stat_item.png new file mode 100644 index 0000000000000000000000000000000000000000..1b0adfa1fce8cc62dc8891fa6a6ca37c40bd46a5 GIT binary patch literal 305 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bR8T`l%n;a(i~#R~WSKZ{!91yqO(o&{^?0{M(3L4Lsu4$p3+0XgeET^vIsrY0vS zFw9_O6_DAu#l@oE&{o$-P%m(a)GRfI$q}MbOV}PplZ5c zzPQxLwTQFjFyoXDC0C4s^jKb+1f&!}PJ#*>!=Q&}UL8V{dXdel2(qxFpx z<*73rICY&j=sL|ao;yn{+tk4_cuLQfH49|K)l<3G>MqaalI%G6`Wj)?_? p^6(rwcC7c1!TACXF99x5HU=Rk^*He_+ZjRr@^tlcS?83{1OTMpYYYGY literal 0 HcmV?d00001 diff --git a/graphics/items/icons/bead_mail.png b/graphics/items/icons/bead_mail.png new file mode 100644 index 0000000000000000000000000000000000000000..b3e78459710b01cf75e44dfacf0b52ebfb55aab7 GIT binary patch literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bRSWi>Z1+52uz z)U%|ZZ&$0=oPFk)bQGur6F9Ei(Et=>ED7=pW^j0RBMr!D_H=O!k(e4Aa9Z@R0mo)z z#|-g|gD>~S6n*EARMh_Q;43preO$?;2`!a;4;!BvbI%i*>KQ1?I`3AtZbP>Cfjw2L zn3U>b9Zt>sU+(ps>8!3pruC7ahsD~iLXXSk!n$rK?kq3f@+GTHPDJyi*|x`zX0U57 oeRIdF_qF$2@5}gEG$EP8 z%*TV1rHAL>G%ihPX-!RS>87^=o9@N&Okyl<*}i<~!PJ)1PFE-O^eD<4Gg950lA652 zc)PT|x7oI)0*NK3FLm{bANr#iyKYYagBVj!Q&WK%9|MCSv-%YFvp0G{e)M$pb6Mw< G&;$Tp8ge%P literal 0 HcmV?d00001 diff --git a/graphics/items/icons/berry_juice.png b/graphics/items/icons/berry_juice.png new file mode 100644 index 0000000000000000000000000000000000000000..73c8f0543fe6f7765a261fd5ad9a55328e31cf91 GIT binary patch literal 309 zcmV-50m}Y~P)q0LT7#51=GB~HQXpDt5Q}?3&4Wtr|NrLy)wI>5v6h=J00001 zbW%=J06^y0W&i*Hvq?ljR2Y?GU?34JKw@)!MB=QK6+lQ_WV{Gwa848yTr0o;mf@6t z_wLojpAZ%E9~&F575+Z~ERkn(=G4VAc8MSkWAmBNGiO52HG(*k`i_Ri91V?Y0~sJx z@isIxH1fe*i~1@she51rxx0JSDu|;QrB*GkS|tc|KBFKI;131>pvyUdy!bKf00000NkvXX Hu0mjfL&kmC literal 0 HcmV?d00001 diff --git a/graphics/items/icons/berry_pouch.png b/graphics/items/icons/berry_pouch.png new file mode 100644 index 0000000000000000000000000000000000000000..26f011d65a0b9c99485a0c1d69f45eed1a3b27cd GIT binary patch literal 324 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*CqF|3=IvFvXb6i4Z2rs z`R&`cHFF&QpS841Vu%W|?9Q@0x+dt`yY6ReEP*Eak7F}3!*E!QCj0oDg^c#T+CP8zCl73MZIyGDIv(2Q}iX-zj!Si(KgVVSVw7ru>` zuI=7oueLOJZ~xrH%6Z@O8U7e{cVtNj2rT8XXHzvSPhW1Z&O~EtJCpnw)rqVLXJU4W zPc+$Nt+btOL!Qc_keN3>H6M*j51p;M@y&Cum1pL4{QG>U$-mR_$Dcid8%sK>q7>tn zrRmQJTv8bR?Sx|ajoc@qsq;8LUrgEUx@To`>x`TdJ%=5uF3hqiVV9`x|I8Zy)a=}X SBeQRUyy)rb=d#Wzp$Py{*@3J8 literal 0 HcmV?d00001 diff --git a/graphics/items/icons/bicycle.png b/graphics/items/icons/bicycle.png new file mode 100644 index 0000000000000000000000000000000000000000..e3051e03b7e1101c4532c4dd28ff59a6e4c9eebf GIT binary patch literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bRGNlNpHiO;v3jA_b{d}S2CS3 zpYMz)>&bKK3u3?V{WvhiO7-ee!=BFQrdhJbOg%LUFA4iN>4h^n&)sR*rOK2Q6}zvy zW&`uJlIU$b8|(UapP0b>l*vEm?3WV?_k?S1v%ERc6!MX!cR`=h>1k?nSa)2Trxav& gAtR`+JM`ak)^pto%xzEArh~lZ>FVdQ&MBb@0BQPgivR!s literal 0 HcmV?d00001 diff --git a/graphics/items/icons/big_mushroom.png b/graphics/items/icons/big_mushroom.png new file mode 100644 index 0000000000000000000000000000000000000000..3ca2d2abc60b0553ec579e88f42831fc1c64d893 GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bR0wN&_D9QA)m z^Si5F-<~DCyLa#2*|S@gEa|SU1}a1bZyam)0r`w2L4Lsu4$p3+0XdzXE{-7*Q99wp9 znW8|bgWrn66~a@LrE++#A5zH5$$GO$gCYFcBNbD@LxIMAg@G}a%t}iiJzAt@#2 zqEBIA(3ClWd=D9JGWEP|6<99W=+pF*;hpd%28LyJ;tLIS{Zj_H*wfX|Wt~$(698|k BU*!M* literal 0 HcmV?d00001 diff --git a/graphics/items/icons/big_pearl.png b/graphics/items/icons/big_pearl.png new file mode 100644 index 0000000000000000000000000000000000000000..d21e45d5c390d0b663a29bcc6dedacaab004a5f7 GIT binary patch literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bSBJ9>1>vwM5@ z?tS-e@Bjb*pFMjvWyumRFR!a>*33D3bjgw>)!p6y|DOeFic{zY8NpZ*%h&+r+aM^Z9ZNqKd9Ch(7CAm>C%H*0-An%w}^aCdd(>i zT9qmJ?&&pwQm6N)v|{e8T`*_4oUYuvD1p8Z4>#}QrE8lL`p!)2>$~T@dcmBlvTw`F z*R~c|pm1hk@wqvcodsr-#64IU4sXzZ84w&D Q0(2IGr>mdKI;Vst0J7e6YybcN literal 0 HcmV?d00001 diff --git a/graphics/items/icons/bike_voucher.png b/graphics/items/icons/bike_voucher.png new file mode 100644 index 0000000000000000000000000000000000000000..a394364942281ab7b72807cd6c4bd251fe0223aa GIT binary patch literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bR$J!|;v-Me>l z=Dd3sG-t_@HFM?!MMZ7dyBDYm4Tu@01_Ff`OM?7@862M7NCR>TJzX3_B&H@OEMVYJ z+B}tI!i{4EeG67?+^FbeBYBK*Q*U#x;;V)nabaT)c9nOJa=5M?S&?$*PEO97IXO!> zo=D7=4lkP}!LHdfg>&}y>5&rBjW>A?O`ADwZh#r{V%8X$6OJ9tR}?o&woJIe)8mn| ah=CzGUigIa=GH8b<2+scT-G@yGywoOGE=Ak literal 0 HcmV?d00001 diff --git a/graphics/items/icons/black_belt.png b/graphics/items/icons/black_belt.png new file mode 100644 index 0000000000000000000000000000000000000000..9cacaf55757d3cd1533c5e6fe06cae60fb4867f5 GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bR$J$u&6(JLt` zskyotD1!%_;NNBslx8dm@(X5gcy=QV$m#KPaSV}|n%n=7msydcRZ&O5@w>%h*#lRk z4{Uk2-^Hl+c p-Fww2CEI7#X@xoQ#H+KJTr3u$%r0PZVdvA`HIQG0_ o*2(9srOjRsW92*g6!ttyzN_8OIrBwATnorap00i_>zopr0L?5#q5uE@ literal 0 HcmV?d00001 diff --git a/graphics/items/icons/bluk_berry.png b/graphics/items/icons/bluk_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..8e670c30d94b36b2cebd0b8fcd147f18c1500f23 GIT binary patch literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bP^d2nFqn6#z% zU2)LfXH))LI#xGFovl9W=s3sGvDgu)M&<7*9w5b7666=m;PC858j!Qy)5S4FVruJo zYraDUJZul1uzkJ4-ugInuOri3tE;D2y^j02oV&uga;KBz4NW2T2IC1|6ho5^T>gJ_ zlc@2x?Fo~A3anXwAdz*y$TI2lf*oR8_Mh)KzpQ%C!r4;CXI*-@dGo%b+MX|SV;Vf( z{_y$58MV-AkIv79FP2DqE_-47XjfK?QCX`%SI)C^rMK^`+yIsnaa0 zHgL!WCcYNj^+3tj-uF(6Qo~c03s0YAaoq5)W&Bdzopr01VcD A3jhEB literal 0 HcmV?d00001 diff --git a/graphics/items/icons/bright_powder.png b/graphics/items/icons/bright_powder.png new file mode 100644 index 0000000000000000000000000000000000000000..2e7c3b66a9cfb9b31aae7c4b9395a00a3b3e2c43 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQjuW9xw_OeW} zoO5-~)&E!5JX`ba|F`D7%|KOX;OEj$_CO)Vk|4ie28U-i(tw;9o-U3d5>t~C6r>Hf zxRh=jI(DpJUO>i*O&b|PoJ>tjJZ=gc5)9+z;te$_V<>isnd00$Md6ji+$nRLrYOvk zaCM&QJ7sFmL79(2>PrQblanVf_B?&6x@zG$0nTHeGGFRBo(u3+y?p7?Tp7ijV_W*R zZSf3vebmUx>XMH{qL8fYOEsP*0l()MAAI literal 0 HcmV?d00001 diff --git a/graphics/items/icons/card_key.png b/graphics/items/icons/card_key.png new file mode 100644 index 0000000000000000000000000000000000000000..b57039282e253de70c8cfd9002852a0ec522cabf GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQzd3oJ?_Uu_! z*50E>=PX&$T^;r8+qZ9X<^WZpfrAEB`+-7?B|(0{3=Yq3qyaf4o-U3d5>t~C6vPd< z6bf5-1#R4tRb4Io7wz4%SnyQx8;$id7#}mLTBVn{__VwVC@bSLGi-VJ;?0X0iVRZ= z8a+E$HD}J4A!XgH>U3J$D&3{TtZAz>qiT<$5D!n&DK!IGg?Sq_eVEQPdpA^^I}s&|NsAYbaVvDV+9d&7We`s7)yfuf*Bm1-ADs+Iz3$+LnNlQUf9TYM1g}Lz^c^t z^?|AtoSy@QzZ>0oKc}j5fBp0oZzI%BaI-M%=>A&#wEOw-$ejB>tQD8+H%)+tp{QTP(cNIQQMUGKU=NlQ+^%v%a0dJ%dA?!R+v2 r<^>X&sd_sNKCv)3Kefs+t@u4vo@ustuC7f;BFO2Uu6{1-oD!M0dB`w(*)_#L zHO3{Z2ZFLBQ=Mc5mI||~-V(h$g~d_L$Vz%U^IET9_M57EvI>PSur|GP;9DO4B8ht| zTSwior3<@z9na-46));pTgzf`pv`byR8Gz#ERxKYvF-!Q@IM2cVjV_m&; zH3P0jS-nS(9u*6$P~v>TaLhRUTtkN826lBWuOmdK II;Vst0IB(LaR2}S literal 0 HcmV?d00001 diff --git a/graphics/items/icons/chesto_berry.png b/graphics/items/icons/chesto_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..0d44845189c07f21b0d8d302f0c3779c94d24487 GIT binary patch literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bP^dB|W&@w23; zHD{;%w{)z2cQtFxnyl(5ujZ(;N4I39MLkvlDrGDQ@(X5gcy=QV$eHKq;us<^H90|n z*MLi5M$@ELgKY~ceili%uc~?WWnF8)$EU{W)51-huIRs?V<~%V;;K1zoA>;2Wxrve zxuBx5l6}VEitJ}+$}G~apZT=vo0SB+#=WhJ7IUAuxj*Y_*QfB+VU3o%&(GP(dWFf* z_t%$q@wEnhZ{Gb)4=X8gh~4n}{LJXpVUBl>Rs275*Es#0!(U~M>St#n9b2xmJj{8+ Zz_2#TIe){FQ)(a|db;|#taD0e0sz9bc4Ghl literal 0 HcmV?d00001 diff --git a/graphics/items/icons/choice_band.png b/graphics/items/icons/choice_band.png new file mode 100644 index 0000000000000000000000000000000000000000..0e5658260612c093de843872274335c83bb5b367 GIT binary patch literal 330 zcmV-Q0k!^#P)JQ7efXqAjikWMMy=&#n}PK zVL1Y{!^Kg=S%48}lA((LgP;H-*kr~Skh@rfwZNR6X9NWWosAZOIg_uQF*Y{Ug2==^ zyY@e_R0%A@5@&lO{%bizhGnkpjj#X1ise<@`u??gQ<^jR9`;n#aKyVZk c6u}H60LnBlLn1W92mk;807*qoM6N<$f~T2?m;e9( literal 0 HcmV?d00001 diff --git a/graphics/items/icons/claw_fossil.png b/graphics/items/icons/claw_fossil.png new file mode 100644 index 0000000000000000000000000000000000000000..51578f634b438108f7ab51ae92823ad6a6777f61 GIT binary patch literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bSx-4f*G$k5%a zkQBvm?`m;(6i}Ms>ec3?B+VsDf~u=EzkOS>q*@awxaNTJE+EBN666=m;PC858jy3| z)5S4FVrp{20d^KvURG9Cg`8t5qA%wfr#DviBzdhqcV~`eu~G+f%K169WzXg`EA&k` zcYCJs_d7Ow1y}T4tbIFYcJa3}_rRRj&t7g`?tk{)UV$Z^W#{Bh-sO&8JNYKZlQnnt z`ejX>HK|MF0?WGFtLNOAa%j>NZb!B^ML|KHL7c{%EH`(0ob)wyH9cw~kkdbDk|4rR%9=jv}vXCjf-d2t!q4{worg?@#+N&vMUs>*f%NcW4N=r gr>Vl3NtS^@WS&)sL;d=lK(8@)y85}Sb4q9e0FrBrCIA2c literal 0 HcmV?d00001 diff --git a/graphics/items/icons/cleanse_tag.png b/graphics/items/icons/cleanse_tag.png new file mode 100644 index 0000000000000000000000000000000000000000..44d74c053f588b1194bc3e294e9069f983fa8bec GIT binary patch literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bShD=rQS3i|*5 z|Gj(nfFe_-Oj%-Sxi<);4GkFjgscY&F_r}R1v5B2yO9Ru)O)%(hDc0JPEcUwP%1t$ zu~O)%hs{Smm3ftw?mHQ#oShRFcaQP0L0Z|A!>MPME!}$9(k(M{rU74az>J8rU5qWt zQX*2*W^zm|;0@)S%l5RxVx?aYS8GOMNns%uZ)=gyoGBqwoR}9zg~ZH>2}#(-!DQLT kv3{imw}C>1N6s1shEgd>-#p5mjD0%2dY8?duQ2K1BDn%g8YIR9G=}s19I9uT^vIsrndI(6>K)( zaa+o}#8_tU`%MgitXc2l9911S1tEKU>El z{5|MMRNjR?PCFBO|BwIDtf%f+_&rW*WAabc?XDH~m(@Nq)_*wZwAHknNg{!c=RQRS wO>ww8L)ELRF+o+jT3F$~U6!H0>>3u+c;ln0ibB@{r+}R7>FVdQ&MBb@03SGBF#rGn literal 0 HcmV?d00001 diff --git a/graphics/items/icons/contest_pass.png b/graphics/items/icons/contest_pass.png new file mode 100644 index 0000000000000000000000000000000000000000..7160d5c5de9fb455d9276cc2b86758c8c0f3bc47 GIT binary patch literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bSBdzSSq$?M*| z|9kh|+q)&}Xp+~IDO;Yc>ArWh``x>5-`>r+SDggZ0R(c7tsQ_AV@Z%-FoVOh8)-mJ zv!{z=h{V+71O;&eE`>rD89^Jj=VC1WRnJ7;_Xfx<&aN!Z<_Ph-_594)*~WX#n^f;y zxnwk{*ID|Y8|zZdr7J^SI2uYDEY~J*W{R&5UVUxOCkF2~a~^Gdc4nq(W5Qe6gUb># zGX({jSsV8RbOZ{-WwP8cZIXT1%HhskrcmuTLFGO(!+&WNrVF7vc!17f@O1TaS?83{ F1ON@oW6uBp literal 0 HcmV?d00001 diff --git a/graphics/items/icons/cornn_berry.png b/graphics/items/icons/cornn_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..7a3ddd481d7f7ccdb2bb7f0a32952afeceae5625 GIT binary patch literal 327 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bP^c@Xey$+J1d zLDgAH_I6)Q3Th5=%$hSLDQQcP;gq22t3ifIL3vTfZvd4tmIV0)GdMiEkp|=(^>lFz zk(gS0ej``2fdE^=XSTEqR@d5Pe2n4K-_32w<6C<1>_UONuCJe6a{VCK^3L{XB*zbi zrM=6h?fNqR-Q#x;`~v^6uCzA@E11~zA$?VmxpnV}ZH0%`+dUT?ER7JjEE)Fn(hs2{ zLR;m8#f0i-J&HN+IYB^vweXfXZLHnjn0T-EnUr?rYF^+HSvgs9>5ax^{(IiYgfew; zem`TKkR719?#81%^Aeofqt8{^&u7;EywPE!JA-1SsnmRi4Sy~tPJDVff8#0X41)k~ T*%POxg95_S)z4*}Q$iB}_Q8X= literal 0 HcmV?d00001 diff --git a/graphics/items/icons/deep_sea_scale.png b/graphics/items/icons/deep_sea_scale.png new file mode 100644 index 0000000000000000000000000000000000000000..41ec035fe09e8119a64d69ad7b82096e1287bae0 GIT binary patch literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bS>-}~(UxBvg| z{eQRQ>i?tP{=fUbC1?&%2_{hf%q{>FWh@Eu3ubV5b|VeQDfV=643U_coS?wS!DXg! zBTtX1U|aC4ZpA5QUo2~R(6NNk@|Zwrk6%Kc;*8@nSRPH8F7DM3qS@@*|%@c?%g~4?Aem6;x$K)HaAy00@cF7)hGXgfgHw?AirP+hi5m^fSf*07sn8Z zsmTcnoCWXQlDbWmEQBOm3(S(Ef3sPnSBFhyh)KHkDQic|isBzmY-}BsbF_}dwem8myV0*|Rxm!cmJ3F2uF!j+Akt>Xb{ed@KJxxnkBbpK?ZJr#Ip>ah?QCK0m zSounV@YR5&odK`s&V7*6=BegYV0KtU)z@*yVKuHpvOUra4F5MMs@<2mb`#`gPgg&e IbxsLQ0M5i@f&c&j literal 0 HcmV?d00001 diff --git a/graphics/items/icons/devon_goods.png b/graphics/items/icons/devon_goods.png new file mode 100644 index 0000000000000000000000000000000000000000..8feffd30ca78098912703314867ee1407f4be965 GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQ@cUOP=_U+lT zXM4}?U9x2fP!bn7wddqzpd4dKkY6x^!?PP{Ku)cvi(`ny)ZTLkc^edXSOac2h_EZX zVv-VL_^9W`9&q@dazqrTO5B^5`=80%CEpjGdgA8V?yAj2k9f8zd89sB!ntQ{_3Cn# zd>8YVvIkQ;>Ya?+W-upq&rNnapmdKI;Vst00pgAXaE2J literal 0 HcmV?d00001 diff --git a/graphics/items/icons/devon_scope.png b/graphics/items/icons/devon_scope.png new file mode 100644 index 0000000000000000000000000000000000000000..88702cbe416fc82987bb9494d0a3e1c3f1b8d162 GIT binary patch literal 293 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQLefNLP(W_Zg zmN*u7|9{tgbdJ~AXLFL0l8VQKrkasa~hChED7=pW^j0RBMrz| z?CIhdA~7{NVFA~U?jzIgb_?u#p`^)>`uSZ+n76mc4(_n3>P?We=3^(K*3m{z4)VIsO79k>Uy1Eth^wupDU&yyh lLrO}Uqg-qK0tRMI28LTjI<@mYRnGydYz!IFiy56R3cX-qn0+DG?lxP3{$uOIWyjZCUcNNU?R4g$ hD9xYJU(EB`?iKGaG;8gcwixJK22WQ%mvv4FO#tNOc~1ZU literal 0 HcmV?d00001 diff --git a/graphics/items/icons/dome_fossil.png b/graphics/items/icons/dome_fossil.png new file mode 100644 index 0000000000000000000000000000000000000000..78ea129d9ca8c5d6a1e9438b66a1c722bba35367 GIT binary patch literal 322 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQbsb<(aMf2z! z%X@pXs)HD^92p!98Q$HS0#tvOc7ns^6E@eBV)3v(OqlWR`^=*rez3}}%efPt6Jdd}(o9>_Y z^4(gohNZP~oA?rLZ}*d)5b^R&kk&yHpLjmT3m#`@dV1WKV0mi7!uHVVP@J4~TjNo# z#R~6k?1_vw?v3tqu8;K<@t7hfRp%FyF7xD~&N1VK57=fLXPIy7eQ2eZQ-?srVujyJ z)>&S9T@c6}x8V7uZO3ire0@HH@7sj0R##kJoR8l3im~CQUeJtUy$c|}db;|#taD0e F0stesdgTBB literal 0 HcmV?d00001 diff --git a/graphics/items/icons/dragon_fang.png b/graphics/items/icons/dragon_fang.png new file mode 100644 index 0000000000000000000000000000000000000000..96d799b369e2b3c323642c4dc5d8cd67d9a3b0e3 GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bRWd-rV1nk9Re z%xTU_dUp2c|NsB*T|GOcyBVko4OqKm{Q?RxmIV0)GdMiEkp|@SdAc};NK8#mP~c&i zVA<-CfJR7Bo?Disp@wxOI#VIkruo zK3!Y0d8>h6VWGZ%U=~}kQ<`64s26AJ3Zb_%EQ3!T6;0ZZ;?bTS;H_{(r+?)_UBP7m z(yrDv%DoGx8Mw5S?2tM%=a7YQiPE9o#wLw>?TifNH|3HZif_&Zx!lv$&t;ucLK6TJ C%U@^! literal 0 HcmV?d00001 diff --git a/graphics/items/icons/dragon_scale.png b/graphics/items/icons/dragon_scale.png new file mode 100644 index 0000000000000000000000000000000000000000..08db6d68d6b3651d84fe60d38d6c9fe4f2f1ecda GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQ*x%zI+yZ>2h z&N^1lnRD;|ns@iEzT5ll+Zv!MG$1(RSTRtDu_VYZn8D%MjWi&q*3-o?L}F@k!UDbo zQ4yYojm}3;YcJ<=xY77bRMt4%uVus8E8138>3)owDJEXbMOIc(4zF4!U%GO7p^Tfc z06T|Q!<+4;<^+O7RE_`xEY>>YLxGsZKl=aMns;aC z+*?zdF|7>oR?bBCwRSI zIbKP$$!XenV$#ibt_HJimij8zUI__a=eX$k5-ra;m2x3Zm;~lj=D1pLZ~n5@VDj@m zolE@ZB3(-6%(=WkVb$l{RE}4w`dZHZaq`@UZ$3IEpjGyBGyko6jr;t;7gd)1RCp8s O@`$IapUXO@geCwvt!(B1 literal 0 HcmV?d00001 diff --git a/graphics/items/icons/durin_berry.png b/graphics/items/icons/durin_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..95e4c86a1993971b2361c9ce94f543a5d7001853 GIT binary patch literal 336 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQDZ*e^OZH{HJ zz>;T4N7qDo%`xoG(lm^c_;z**P$4pylCf(Gkk42WFra?-Tx>4-g_H$Ko|Txt7+Nz_qmQ%tr8PnVg>n~rM&C*>D}oL{lBSh{e+o{p)E%VmDI z2nj5cvfSgjNqc(mqS?n2AKX3K(6XxWU57fa@UgE^^J4Q4ew?1qyl&%OhHd-4-`~Sn XH%H6m3&dvd;#s!Y;-QxcY>`@ivo|Eb0R+ndxSuB z%FYJ+=M)?3T|1_4OD^&DyDkG0!0~1g8YIR9G=}s19Ikjx;TbNOl|FV(w-0vF>JJj;2Uy@|>&He@+?%ht{uJy4yTBVEUmJ&t+a) z^5--}Ka1+;XN>Lh5V@N$El)E2nzEXu-CVZjT(RXdU1l%o<7qqnMR?}SJ&zJTPEc$(>fJE0#XZamnocX;`RxdoSMKWtgE=G^?#e5-8MbJu)4U&VM-?Er?O1A!O@qnV$vj~IkH(Sj~Q-yIR=zAEqu7r>y$v>gG(DeZBhtT6<=U=Y(?lp zW2fdRJ`S@aoTo2yXX51!V$l>1;^mz?E$

HU1|pQ>Q!J;OSZA_0qtMdGREpIlLj_ lO$o*w3L7OQCf;yiWKf?cu5_&P;%<-&Jzf1=);T3K0RV6TR#*T4 literal 0 HcmV?d00001 diff --git a/graphics/items/icons/escape_rope.png b/graphics/items/icons/escape_rope.png new file mode 100644 index 0000000000000000000000000000000000000000..9213aefa25edb821e81afaf376fc5ab972d94882 GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQ*sn*=PB&a$` zAjym4YLMZ*d(ZanJvwL3k~Nwf_l_0=)xyCBUiL&Fhp{BcFPOpM*^M+Hr`^-VF+^hO z+{$eeQ&-cT>*O>C0*rtX&E8pjtS1$mP=m>5`2{mLJiCzwM+gLLthN0wYN-z1?6FNzpFVdQ&MBb@0KK?jS^xk5 literal 0 HcmV?d00001 diff --git a/graphics/items/icons/everstone.png b/graphics/items/icons/everstone.png new file mode 100644 index 0000000000000000000000000000000000000000..7bdd2409ab7951f7d40708d6e51fb87952fdddf9 GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQ*S+jS`*{k=y z{m<&2bN1Og$E0GQJXUb>Ip1TT1Y=2%UoeBivm0qZPNS!bV~E7mwf%;ChYWaJZ?DX5 zo-m^`mG6OmRm&URPn%$@0S9!ljG j0@ALQ{*#m47H?n2RC`!rQ;ION2FS^tu6{1-oD!M%sx?jzr!! zsw?MIn!M*`YZqPlJn?Mt7AGlzASsnVwe33{9_u>qE1AKpQJ%P9niuQFRPBztWPFGe$uP*INK3{O8WT9tQAVdG9#EOd>Coa{ycBD@D(?ZR!ix#)s a|H|~}iJH@*H#T!Yp7nI~b6Mw<&;$TtG>``X literal 0 HcmV?d00001 diff --git a/graphics/items/icons/fab_mail.png b/graphics/items/icons/fab_mail.png new file mode 100644 index 0000000000000000000000000000000000000000..969faaf3116688190b5e4836fdb924ae39562182 GIT binary patch literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bSB`}Y6dmZRUU z-uwUm|C-_{KuKJnkty&8P>!)A$S;_|;n|HeAgA8b#W6%;YV3uJye$d>ECD}0MsHy{ z9C?5->VU3j2D93?`-jhNlAeCz`s|c8fjQN4AHF(#Z|Uq^CE-gJtPRp`O|Eh3D7+$8 zlhe(%Tw8P`uWh#Q!AJzpn&W9Htb@>@m6`_3&)Dz@ZQj?ljP+f|L_!T$jlxoU}65%?f@kh#L`hi6m+j7%b7vGy+`C0qO z{f5qI&WAV1%;Wj|y*qZc@a?qQ%-b*h3l?$M{%x`Mq3xG<+4pbY@=QLV+Rf5o*UZJo zJT2|ji>mhDJeS(0EM|IEcrbd6!^k~+zXVul!3jg2D`TxIr$r3N1atKg#JT?W$Vk`;r3ubV5b|VeQIp*o& z7$Pw>IpF}m1uHA7y2H&Lp|`S`olF9KE|rz;x4(4?bZ+}{s;j7!!(B;tZPBhtZi+5R zp|@r_dx<9Wxm??%ldSrc&%izB>Z(u&ziQsfXt+)7MVOj?-;ypnEuYB7&n+nv77#Lm%*jICh RR4xX2)YH|^Wt~$(69B%1eO>?n literal 0 HcmV?d00001 diff --git a/graphics/items/icons/fluffy_tail.png b/graphics/items/icons/fluffy_tail.png new file mode 100644 index 0000000000000000000000000000000000000000..ddc4c194e39b01440a9aac8e666d6b261bbdf441 GIT binary patch literal 325 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bRW`__H$UewX< zpm%GE|KD5E>?QE+*|#lI)^sN||Ns9Vs1^=R3T==Eau`d3{DK)Ap4~_Tat?dCIEF|} zO-^uN?_u(gNi24>n0_&8r;gyUWOE}uZ||0qBD336eCDOzz05pMJA5%BW3I}b?;t0!SQG+gJq1hSeZ_Oh>m_aCrj3gqzMdKVuh?fn>Grb zNfb$8c=Q06?KbRDzy_muAk)wk_N|)o4;+@B>O-&~fnb;T%&uUrCVYw*=@~Ee) KpUXO@geCwS0eE}> literal 0 HcmV?d00001 diff --git a/graphics/items/icons/flute.png b/graphics/items/icons/flute.png new file mode 100644 index 0000000000000000000000000000000000000000..9e1580ecc33f569d8deec8079226e170de9787be GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bS>|Np;x%{Q;C zHEYiP&+5K+*30p1an`*hQ^IkjMI~fqcf2AirP+hi5m^fSe9b7sn8ZsmTcn zJQA!EEEY9-2stj|(DY0VWo&7Ybeg&16OWEiUlZS=Q!52HCwh1b&tOSjF)3|^VMvpz zhp`gRvcsXKN?T0NGG=8&Wn@<%r2eZDlzmXlCZ8%j?&2E1hS`swj@<675p$ y1_!RH&bBf*uym61!*wDi+@&r*f&y5)XD~2S8A_Qsdd!pqIoQ+H&t;ucLK6T{CsjiL literal 0 HcmV?d00001 diff --git a/graphics/items/icons/focus_band.png b/graphics/items/icons/focus_band.png new file mode 100644 index 0000000000000000000000000000000000000000..f4054c90ea54039e5707bc03d154da5b5d186560 GIT binary patch literal 332 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bSx4GMZ!UES^F zbv7yK-MhV4uP)iUxB36Q>St>Vk9G_EU$O?M90HuucGm-0j3q&S!3+-1ZlnP@r#xL8 zLnNlAUf9cZ$UuPo1KTf#oe^_(Z7I3DG=8_Ca$zI*eU{Y*dhO?>}YGVh3{#IC)M-R5Pats4w61LBY1b4b@-Sm-8L=D9s8HGq^POqQSXTeYH7k3<(##7JIi_ z_DNCwMC$mH ZUh)2N*L!AOCh7(9tf#A=%Q~loCICi*i;VyP literal 0 HcmV?d00001 diff --git a/graphics/items/icons/fresh_water.png b/graphics/items/icons/fresh_water.png new file mode 100644 index 0000000000000000000000000000000000000000..b3578a96478c0e39ffafd6f35d03ea9537909bc6 GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bS>|Nno@-fvg` z|37;5>YO!el8V_!@p)9LBr7$Pw> zIpF}e1S>1+gE?ZVs{9tq?;c&sbkNYOt@wtjm6a6t0vW-tpFRn>u84Hh)YDtHjwzsz zTi}3&>$;UI72gH;eM?JDex19+La(5YyX#DnHcR^TGohOk=e(L~9Deo=-_wk|9|$~Glrvk z8UBBBymysh%NmBO#R~tc8LF!pzWsNcvxec`JBBrT8IE3MSn{ZY1*n&?B*-tA!Qt7B zG$5ze)5S4FVrp{20VXjnr5jCNx0nLd#3$6spGp)7y0q`R+^LCdo9@@PteUj9_WfKN zpYAVri{IZ%(%}1)?r4FY%hg&pLqtzayj80ea#ZA$VC+_l8?5IH zIYZT&lv^fmW;s#VYT16#GQ^VWSwI2<$Dx}y7#U8y(A19DsPF;k5C%_IKbLh*2~7Y% CUS#F~ literal 0 HcmV?d00001 diff --git a/graphics/items/icons/ganlon_berry.png b/graphics/items/icons/ganlon_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..428b6cc0e19854b134e4ce0e2fb973d1967b215a GIT binary patch literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bSRnR52t)#jsn zzZGXK@p3F)G9~Kj)ippRn803ijXY44u_VYZn8D%MjWi%*40zZJ zzOnT!n5Ub)BYRPts_MT>@5100001 zbW%=J06^y0W&i*Hp-DtRR2Y?GU?2eq0s)N8IK8~QL;%W>1aTap5;H*@7l@SP%(-`W zZ#FiBNX+cLySo^|k(@cBr)Fb62n(a~F8|KAWQ(a{0qd<1f&R(ap(=)HR%#@XF* z_pXwXB8aoZd++VNmz0zQAe_6mcOL>vFi5%h-o3r&3|N9e{=dzc|9{RLgt+W8m;-gR pu+91Ze-6TY1LDAZgW^vd004--NUlR#Qha^Hi&%-lRJD=ulGrcUsBBU zxvy-W@z=O@Tnu@?P={S?cjM6m%e=hWFKGHy1!@Qhm(LInyuf%qzsq>f$(>%284sRL zS~0u$KvMNB4#o8@+3kDJZ_4gCG0}e6;#-?zUgS*nnJH})w%lpbQR(g&ze`;w7KqHX uU18eldiNf`z1XIu^M1ZKACvKCp^g0R7R^f7bo~|F?Tv z4DU5Fba!`0MMdr1yBDYg6L2!-g#twxOM?7@862M7NCR@(JzX3_B&M$QH{?64z|$gs zL)Ig0-+>AIOZ**XUe>Dk_QaC=(M?l}iB@GRRFmb)zcm*B=XBW<-M{uK_fH2YUN(+J zT0GAcIM(ts`Pw?~H{8g5VSCfM%f*+XxOeXqNecZ@F0@8dch75&81t&5KT^yZ`uQHr sei`R3wq(xshi07FT@AK3YwG^LXAhV!lbyb)$QI;kPgg&ebxsLQ0AZ$GuK)l5 literal 0 HcmV?d00001 diff --git a/graphics/items/icons/gold_teeth.png b/graphics/items/icons/gold_teeth.png new file mode 100644 index 0000000000000000000000000000000000000000..a6dd8b569df4fe8e3e18d647e5ab78a12ba9349c GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQrduDkrE9?K> zy?djgzO7mF|NpZoQ#g(uwVYyTSX~WNiU47Y=YkAkED7=pW^j0RBMrz|?&;zfA~ChL z-;l4_fX8)mV`rNo;^=>C#~(9c1qRg zI`_nCHM=x1mztR_+g|-Pd%ATZOXzIwHIg^4t^aJ3zL|Ob-ALV}_y>p0TQ98Pi&k6N iZ6)(_Nzkh^Raf|ZFRH(++2!#H{KbLh*2~7Y~wsIi= literal 0 HcmV?d00001 diff --git a/graphics/items/icons/good_rod.png b/graphics/items/icons/good_rod.png new file mode 100644 index 0000000000000000000000000000000000000000..a30aeba90ad7556c7811991b62ce0b4aba05f9fd GIT binary patch literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bSh`-Ee6Kq*6oRDC{dPG2&MPf;qZc2gxZ%e_E%~FyQE;5Se64x-SN-q&@*x@VCAsNe( zkjA{xL&4~{;4^lCcavURl7%kiCqT^A&I9Uyv(3UHx3vIVCg!0A#3F AX8-^I literal 0 HcmV?d00001 diff --git a/graphics/items/icons/great_ball.png b/graphics/items/icons/great_ball.png new file mode 100644 index 0000000000000000000000000000000000000000..92a57202deb6c2fecffe9841299967184433a499 GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bRS1qD@CH!oRo z^xoNT|Ns9tbesZ|Hw?OJIpx3Q)&F}94ZnGL{a>@@Kg0h^OM@N&*D*D1O^|zhJ94+Y1 zY%O|rM#;e4^W@pgXFjT`8`d83%JlT|@@h+X-l4YJQd4uLm6MEAT8@;I6jSL+4~+?L oIX*XcbayMCaXv9mnT>(L=Arc(0j7vWK-V&Oy85}Sb4q9e0Oam+p8x;= literal 0 HcmV?d00001 diff --git a/graphics/items/icons/grepa_berry.png b/graphics/items/icons/grepa_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..3dae1e92bc8440debf533c989187992791bc2b48 GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bP^dC1`ZGs}B> zz1|)5n$zv||9^4R5{2%o3P1&hNkOlt9!UVQ7)yfuf*Bm1-ADs+dOTemLnNjqCn)ep zuuibp6wtR|!2*WIjvBl7?5SCJCf0Goqff8y?tb@Aa1VEodfYzg6P6kblM?6fJ$du5 z_?fbcXvgON|6K&!7s;$hFR!d@WoTh$)0iWv(08STV>$DY#5XM-4i>U=6US`=1sz-6_$U)Ei*+L?sB!uJ@?CeImJb^ zw##)|N3yev`zl}c_OJYnTP=le$82~%$&+X6QkzsZi7j7uY@O2H*wMc!ZPQ_O_J0ej z1>QO_Uwry5_s5<+rSHDw@m?;?{vDis^jg)zzuZ^9vcB3WeYkUZJ;zopr E0Dui_YXATM literal 0 HcmV?d00001 diff --git a/graphics/items/icons/hard_stone.png b/graphics/items/icons/hard_stone.png new file mode 100644 index 0000000000000000000000000000000000000000..5e27383c0d905c02acadd8b8575f21bd600be869 GIT binary patch literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bS>|MsoAxOmQ# zDN#W|XOEr@^74B3>{(J&l$WF9mNjdDYT_!@pGttw8Mz_!|fdFd#)bu#_&5u zjT$wL?mdKI;Vst0EOCS(*OVf literal 0 HcmV?d00001 diff --git a/graphics/items/icons/heart_scale.png b/graphics/items/icons/heart_scale.png new file mode 100644 index 0000000000000000000000000000000000000000..a9785ed6485fb54e55dcbf5de1d2d76537d848fc GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bSBJA3x%v!iFv zzB~I41gfj&0OhfQ&KiclKncc@AirP+hi5m^fSi0!7sn8ZsmTcom=Z)p912`wWCVrs zGBXP_-L79Suvo5QViF>-%-6-!(=_C);2~j8?_e%oFGlG@@6vLnEs>h?h;33*xtUp8 zaYGxcvPGgmpJdBqt|u#Ysv0?1Bzie!b}|Y0NeMXUri!pIZraPkptVrq;(K;eJCFlC MUHx3vIVCg!04{+?YybcN literal 0 HcmV?d00001 diff --git a/graphics/items/icons/helix_fossil.png b/graphics/items/icons/helix_fossil.png new file mode 100644 index 0000000000000000000000000000000000000000..05fefc5f57372a46e48f267a49e793295a2b86c2 GIT binary patch literal 322 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQbsb<(aMf2z! z%X@pXs)HD^92p!98Q$HS0#tRFwO}Uhg&Ts-BRmw(m3Z<%X~lll>e^E<)5F`bqbJYx#ua*4nf9-i(ZT&g<`4_+HC7XOWeooP;&NWV{)H$tS<>LtvEyb3T zg`9p>Xl7L}$@#(6(KYdN?%bE3DsG!a>R!8=qk8o(gKVhQs|RX+(ICHiy85}Sb4q9e E06p1xnE(I) literal 0 HcmV?d00001 diff --git a/graphics/items/icons/hm.png b/graphics/items/icons/hm.png new file mode 100644 index 0000000000000000000000000000000000000000..46e0f51c2f4693fe4391874c9543af37e833c15d GIT binary patch literal 346 zcmV-g0j2(lP)O?V(#wl=H~9^=H}ks-qqFB&CSil#l?GjlzV%7Vq$y$|NsC0|58#?|Aq_c00001 zbW%=J06^y0W&i*H*hxe|R2Y?GV89Rd3kq(4u|KX_wdUXl2z%qIlDC(;6v1q6sj|qK z$&Z`BQX7|-&AT_**-HS#k?JU)In%_&V?B_~uQ{VV*wiF6bRm$#xN>G|)4tTSG!SRg z%$X4i-09`zAkMFj4sQnTjE;_jAWnIi5yOtmnKRFW3`+~O``tEk=1gr6C)7FEG^2Co zERa1?A$C{O+$v^H0=eK<^V_?R-O@WjhA}X%yLme=8!zhqud__e-j870I6M39#j{}{r~^~07*qoM6N<$f@bZYEC2ui literal 0 HcmV?d00001 diff --git a/graphics/items/icons/hondew_berry.png b/graphics/items/icons/hondew_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..cf89e344613a547208ef72f8bf7da4e9b4613a3a GIT binary patch literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bP^c@Xgbo!8l; zUQ_OQ6(98qn&ah_(tPhd)=bFU`bKX f`4_pFe^?Xk>h&GM^iFS^2=a)htDnm{r-UW|%e`{` literal 0 HcmV?d00001 diff --git a/graphics/items/icons/hp_up.png b/graphics/items/icons/hp_up.png new file mode 100644 index 0000000000000000000000000000000000000000..0870f82b5b8de2706bba96e896aa09181cb7c973 GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bRW`~Pi9lx5W3 zs3qT)ICeYkouc{wXz|f|N1uIrw&v)XtR?Tfn$J!-`yZ%j-qzafK#H*>$S;_|;n|He zAZLoFi(`ny)Z_#Q_N2_rP6M;W*%=uf3{wt^aj|e3@OiMED`aGnXcs)v_)^f1k;z%( z_@0{*91B*RIo;iRwpa0$#P;$j($k}zEjOo4nI3+=t#C`&+9=lN8ZT{~9_^`afAGTg zQg!Qt7cx!7Wtwv>nZwgo7C$?)@@zm~zopr0K%YcEdT%j literal 0 HcmV?d00001 diff --git a/graphics/items/icons/iapapa_berry.png b/graphics/items/icons/iapapa_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..91054adc96ae5a75fd2f07897e9c60e4032923d3 GIT binary patch literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bP^c@Xgb|JDER zs^6WRa&=4fyD5feiyhY#BV>!K4eP(^Spk(YmIV0)GdMiEkp|>!_jGX#k(io$VK3hy z1p)Sg3g-OGSyn%C^xVxK2X)N$E>0}WK6ItTu)=%(*`+1Hc0HvZ)at&g7bqOrKZ(gK zq~KoDh8o4y3l8b&GroFvWjm)(+cl$maVz(iulUhd;oDfu9MoQ+DW%gjApIe zY`MpawuDVNXu9ayvIMRUasO$LY>Ph4-B`EPuDP?5i^X8`cI`kp^~7&eCRfOPep7kM vSzak=v4h#4o_n?P*bMLNb2xOqd`cCwDsw=i_TkhNkk>t3{an^LB{Ts5g86x> literal 0 HcmV?d00001 diff --git a/graphics/items/icons/in_battle_herb.png b/graphics/items/icons/in_battle_herb.png new file mode 100644 index 0000000000000000000000000000000000000000..1187d35fbceb8cc6ca152a4ac78e9d4a2e8ecb0e GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bS>|NsBl)n`}t zUj6p$+y8g}-`#sRrFzQIHAjJ}&_ILdl1`uyV@Z%-FoVOh8)-mJnWu|mh{V+71O@pL z4lb?(H+qjA%VR3o*6C?A<#0q!&Lb(drybJP(P}HX52(z!JH4`OTUk?5bG!O561BAQyVN`njxgN@xNA{cBmb literal 0 HcmV?d00001 diff --git a/graphics/items/icons/itemfinder.png b/graphics/items/icons/itemfinder.png new file mode 100644 index 0000000000000000000000000000000000000000..b1df6f66f3ca78968f4b8290f1c6d94860d35b21 GIT binary patch literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bSBdzbb9|9>wp zud7K(No(F!dwKoeyVtS%Z1+_ly*Dc>3#c3d^bS2%2C^7Sg8YIR9G=}s19Ikhx;TbN zOifO3VC-q~kWo}+Y-!mvQHjf4K<)U7B}*!vEl_akUvNfpg~|yN_k+gliC(ciYgtlR z6pVC^9o)U#!NSQ)>D=zvQ{3JQ+^TnPDBsfUV5!H`^HfkNpjtvgW%DUj*@Qgd+}Sgp zGHh)(+!AV($#uq8uu*4o&;pr2h4ficS9lk#W#Y+O8}NMUbS{G(ZHFvcIo>y07AR;O bXkcVG?j*O@;=rQKAP;!D`njxgN@xNAleuVK literal 0 HcmV?d00001 diff --git a/graphics/items/icons/kelpsy_berry.png b/graphics/items/icons/kelpsy_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..471d287350b25d6acb2e7d15f207b088dc503dee GIT binary patch literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bP^dB~tR=~?&H z|HW(mM+GG%1GmJe9-DHki%FKqj$ycvR}dhx4Fx*HaX|= z?|oTu=91tR!EOJhCOqb>sMC=Dx6UGvcYfe8-G|m^xYysi%A*uLCuyPl#S>O**(#UX Pf&Ad<>gTe~DWM4foJnVE literal 0 HcmV?d00001 diff --git a/graphics/items/icons/kings_rock.png b/graphics/items/icons/kings_rock.png new file mode 100644 index 0000000000000000000000000000000000000000..a45ada81d719c4f009e3767ba4e9aa1beba5d7c3 GIT binary patch literal 312 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQryBhWFS@qE^ zmP@86G#4v)S%MT}1+G`D8i5jwB|(0{3=Yq3qyahGJY5_^B&Mcb*vNNCL4Ym6Y9mvW z^>>|J!nKWD{0_Q_+d4NS&Hnat=@#Z=v)^&EKeTW8$Mt-MN1GwDnEi&5e9l7)5{1`Y zWVz)yOGj^N#@ga}Dit3s^z&9+Pv85VW&Nt}0{zb_XC7eN!o#@mlbq58_Wfoy$~QWX zZe)&N-1cDB`;2uFlA9MbFT3dTRqdYUj)vJ&yi}(!EqT*p+4hxt?F2WexsQ^xrpoo+ nH4<5+?$d57xU}V2w8vLg&8KQ6Y`sQHK>qY}^>bP0l+XkKq3>|? literal 0 HcmV?d00001 diff --git a/graphics/items/icons/lansat_berry.png b/graphics/items/icons/lansat_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..db3c70fe5ba6fa2a368305fd6ab7126dbd5ff1ff GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bRW+q>jmcUJe= zB}cQo42!+K9bJ>Oq`KKsVac<-K!wPF=iIp+Kt5whkY6x^!?PP{K+ZZ(7sn8ZsmTcr z>`Wdx$68OwxTo}qZ?fua6;9*gYMMExsZ%%asaKoAHiJm_9JIg(ozgWc5^!>~m2UFJ9??al(x!at#Of&AFPry3@Qi z{@?5SF(QA@R{1ckzZAXy`}QPDGTkd2*|F8nQgO z_UL2=t3#`6)4j`6xzn^;?o2zi tQ{~OiJrxtCZGShXg5%FN{pjBh4fOv-TTIE#%*zG&$mLdTh@wUc~XInTbl}VaJz=n+|}FISBTtiFfiqIdiC@Ke=2)*<@`75_Tg9e zZ(XyhG~%T#^x!xS#12b11}O>VrA+26f+J|m;ChtjOT z)C7 literal 0 HcmV?d00001 diff --git a/graphics/items/icons/lax_incense.png b/graphics/items/icons/lax_incense.png new file mode 100644 index 0000000000000000000000000000000000000000..564c8da138cf257ccc8f94f442bee33c7a0de7af GIT binary patch literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQrTO+WhSmFP@ zIrsKf&q?AqJ4N9Cx4qwvIvOS!9({H+DajD190CN>F1P|&j3q&S!3+-1ZlnP@Ydu{Y zLnNjqCnzu)a4Fo#QR?F?*tVi0S;5C|iK@<3WdW^+8W%5K)Zm(UN<^d(2t!zkkBB<6 zvO2f&96Yuw^qh#u97|i)C4Fm8MsRZUm^v(5ex}6G%-gJN=1VrCh|SKPM?F^_mQC5Q zqwDk;Nm=7qg*idus^SV8%RJ;zc+lR8tr8<H_I8u zrdLa@uG;XWXoIul~R)&7U<{b=y@iAk)fm6QG59U Rg?^AXJzf1=);T3K0RY%(e6|1p literal 0 HcmV?d00001 diff --git a/graphics/items/icons/leftovers.png b/graphics/items/icons/leftovers.png new file mode 100644 index 0000000000000000000000000000000000000000..8b4dbc9224b18ec1f17f60a5ab46ea89e158abec GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQr3ksUk9aKF< zVM|n0wU^g_An49|_y6kIXKTJCB>~mKLH(SxD?kooNswPKgTu2MX+Tbkr;B5V#MI;j z1qPOhH+uRwmMz$z7~_>OdBcQB3?WX|p%EsYf`<}c-9dTKJRa@X?xe-Vga7}{|HYi%q)MQa3_1_!Sx_albq4D6mA;hjPTNqjzp;E jM1Tf_AiRp?ZR`L5xIQcHRS)|}00000NkvXXu0mjfTE}yq literal 0 HcmV?d00001 diff --git a/graphics/items/icons/leppa_berry.png b/graphics/items/icons/leppa_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..b7e62df8ac252162b4e10e750bfb9e69713268df GIT binary patch literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bP^d2q00Nz(r* zhG)GDpA{RvdzKV+HOO&}qhYb*oFL2p_Y4(FOI`w%GL{7S1v5B2yO9Ru%<^<`43U`H z+Hc5r$biT7we*o-)mbuqTcekEtW4T$!D!B~skBVONZot^&zwctngYwE>pxB2w}1ca zXZsyacC28XP^-njKR@7)o!_R5N2_D6>n!6@JT7X$HFLjP2wU(Yf0kPhS1Ny=#rXKr z*@H(i*IwxB=Hm)*EZcgG@5gQ?@$B;<57PKm3RG8JxZK(I^w&AdD$l?7-fow_Ub)!( X;$GdIY%kS{LB8{J^>bP0l+XkKt4wUk literal 0 HcmV?d00001 diff --git a/graphics/items/icons/letter.png b/graphics/items/icons/letter.png new file mode 100644 index 0000000000000000000000000000000000000000..ed240ea332db975b289e5043a0513dcb05bede87 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bSBd-wnB(Pu!h zv)zu*wn%JA(zG-bNJ_F?v!=P&5u_0g!VJ`p138Q(L4Lsu4$p3+0Xb2gE{-7*Q>RWi zD0o1DgJog!k&p?Cncwc;-f)kjGWAe)`JUo{iS@-{#{w;m-hB5&_uva{^O>7&Fr3$1 zRkG~a)7&FR7M^BhOIFl9GpX=mn1$Euy;F3o;`o36YiB>t$M>t;bY2(8eot3Fmvv4F FO#nv4PXYh{ literal 0 HcmV?d00001 diff --git a/graphics/items/icons/liechi_berry.png b/graphics/items/icons/liechi_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..ce269355c536f271fc894ff4804c9693a52a2457 GIT binary patch literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bS>|Nrg(8m~1$ z0^i;pT{5Tn>e(q*iw*xjTLM&t2Evw|ISUkGED7=pW^j0RBMrz|>*?YcA~Ci1{9e8$ z0|ADF3TElnyWUS&Pd&)t=UUvdcsJu5Q-|kycVlZ}G9B3;Kk)tjRPVbm%YXLdoX;mq zS)Yd{1~DG0bG%}rJN<#TVkdV({r<`=nM_O8ADX)87mLRg5xH1)CFRy*i`TMw9&SF{ z;hECz$$w|fjM<+KB~HJpx$@IX_MFtYeXE`vQ=Fo8JxZoG{#L(~dZKNUL~7?Tz4Y_n lIr47)me0Pn?7e^eaqb77wQ8SB8N35|%+uA+Wt~$(69C8Sc+~&^ literal 0 HcmV?d00001 diff --git a/graphics/items/icons/lift_key.png b/graphics/items/icons/lift_key.png new file mode 100644 index 0000000000000000000000000000000000000000..b0d2cd72dba34f35f8ecb765005607768e3b518c GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bR8Wo3Cedj0?Z zf60<1bLPweN@9W~QBhZ;qWZ5NDFMncmIV0)GdMiEkp|?nc)B=-NKBo2?jUE2fk5j+ z&K$;LSMSt53Kcxa)Ks=Wlta^omqq8m3Ll?6ZxWxI*vm6Je>v}=d71BlX5+Q!6dB7q z?{Y*Rz9{2sefPnx!)SvX$4Aowhx6u_6B=eMo-uuOTTkNE(>q)U*HF~Up^|c|{v4;$9)+EsUva(wIo#9L&t;ucLK6VoOkq+0 literal 0 HcmV?d00001 diff --git a/graphics/items/icons/light_ball.png b/graphics/items/icons/light_ball.png new file mode 100644 index 0000000000000000000000000000000000000000..22cd69cdbc1b72aa5dfb41f0173acd4ffb58a9c5 GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bS>|3By1JFVdQ&MBb@06U#f0ssI2 literal 0 HcmV?d00001 diff --git a/graphics/items/icons/lucky_egg.png b/graphics/items/icons/lucky_egg.png new file mode 100644 index 0000000000000000000000000000000000000000..7455b9f1fa8fff4938b6cf4d410a8aeb2bf44755 GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bShd-v_^)q6|U zZ2ABHKTrk_*dTgNA1KXO666=m;PC858jzFh>Eak7F*P|sfzg1AOW}r-S6e~fgh`W( ze7XWTITC`LRylfkb)AqARSEUdVwxeNXmFfm=HsR#fo{)cI9MJ^;M8cp=;3+u$Whj; x{>>Y^ySdL;DmiR3zOztC?_85do%4oH28Ls-{N0zigl2-A=IQF^vd$@?2>{soM1%kU literal 0 HcmV?d00001 diff --git a/graphics/items/icons/lucky_punch.png b/graphics/items/icons/lucky_punch.png new file mode 100644 index 0000000000000000000000000000000000000000..cbc018ea6fcd0e74b1681703cebecdcff3ac48f7 GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bShE4KW9FYEuB z;x$o*#f}31|Nrmq?tb>{8Bi4(*nRqc5m1P+B*-tA!Qt7BG$3b!r;B5V#MIger+E(< z@HouoeZ;WJGD(wrf?vZV#u^Xt1>9eb%oN;Y7&iA>2eaMJmy!Q?5BoDzoDSBq-Z{m% zusvAKsDi^~ZL#p*<`WAF_+36b#W8BwdGCFB#^Ljk1!vC(g)%HW-^u-Wb!K}MbAQJ^ z{o046;YvGYy;SN}9_-vDr`}~$@YeR$M~>CCM=OP+YZ%O`B{PpqHY^0W-P6_2Wt~$( F698^WWO4ui literal 0 HcmV?d00001 diff --git a/graphics/items/icons/lum_berry.png b/graphics/items/icons/lum_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..33020e55803c9a1767e5d7c357bc528120cd97bb GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bP^dB|YOJ+I=U zUO`K|ypp_@{P#kZ>WF;x6Ub*Q3GxeOaCmkj4ajNqba4!km^$~IA>Sbb9@Yy#*uI8v z`knkzXl=N#Z*EU-_1XW^)!)}KDXIQRzrN<>)6y;h zzX-d4V;pA^P0V=NUKs`nF%%zg;5-!Q_KZb(xg~RGYlG!l&DymN+t_Cae}DG3J7jtv z-v-x3&)@y8{=Dh1V3Pl_-{sHK+8lIJOF-z$Tx09Dw7YDy$WgiCv Z!@QGPQ6Dz3bpoBo;OXk;vd$@?2>=XbZh-&* literal 0 HcmV?d00001 diff --git a/graphics/items/icons/mach_bike.png b/graphics/items/icons/mach_bike.png new file mode 100644 index 0000000000000000000000000000000000000000..32f41cfce12d393a527b77ee854db20da8ca740f GIT binary patch literal 336 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bR8RqtK1cg?r| z-;$D&)~xZGvt-VaE&sa>87#eufeMj<>DoR$AfK@$$S;_|;n|HeAm^N?i(`ny)Y^cJ zS%)2XrnW~L{k$3|z3b+Mr`xhWT(aFg|E{rOw8qZ{2ZiEKs> z-Sf%(6Gei~CWg;1IT|Nqb>0+tSMtrnBkb~H>+3eYYd-$l?K0iXW&gUzw>Q>xJhWmd zJ*J-XJ8AU+KD$#3CEiV)`(<%|nbkU-8j Xf7zlJa5%K_1IXK+u6{1-oD!M<&oYmg literal 0 HcmV?d00001 diff --git a/graphics/items/icons/macho_brace.png b/graphics/items/icons/macho_brace.png new file mode 100644 index 0000000000000000000000000000000000000000..ff7a30c975b4e2872de94066aab812bec6a68176 GIT binary patch literal 319 zcmV-F0l@x=P)?Od!H5;r>SpM_!i3|)Y3qc%4 zc`u0_0t~CcniyUPa7~|R_f87Tk*s1^u^HwJpaL#8m@|M{S-{Q!akzE}FsFt{y#EO1 zOmCD6b*!^DglL*w=knr-F~kI}6%&EZFoF7mYZcHL2p=-an;`to@K6vvXaJLLH+Ou8 RuLA%8002ovPDHLkV1gJ%fouQ( literal 0 HcmV?d00001 diff --git a/graphics/items/icons/magma_emblem.png b/graphics/items/icons/magma_emblem.png new file mode 100644 index 0000000000000000000000000000000000000000..5404efcf89ec120e629ad80195d88d157b527e24 GIT binary patch literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bRS1qD@CH!oRo z^xoNT|NsAA!eMzYDCk*n(7P!?-?jw(zZ&%aUDp5qTY#FbJZ)$LQj8@*e!&b5&u*jv zIU77(9780g_Vyd{H8}{lcE%jo+nCqiy6xEG070SEo*dIRD5-rhlh#W}->CA#Ip5jy z5LYqVP0J6%^2=JIlqj_k0ZDE{anKk z(z7-CDHqqB+jn2~n)n8kh;y^KaF>V*uB>XBbV{=9*|erf`Yg7+Y7ehh?qojqW^QQm zv32a59pEIS{(sIh2 z|CW};QBhl_EScgJ<+Wz-nl(W||M%`adh|a~IRt#_(k}$E7)yfuf*Bm1-ADs+dOckn zLnNjqCnzu$n0P7NnEUjptU+Ijr2vP+jh@S=wUnHS_&lJIKn`O`kY6x^!?PP{K+Ysj7sn8Zsl68r zg$^kQumSs4jnfTA5z@dFHor_u9ALDfQ9JJw4U6zV;ZqkhWRr_MG%ZAa{GZ L`njxgN@xNAYKLj| literal 0 HcmV?d00001 diff --git a/graphics/items/icons/magost_berry.png b/graphics/items/icons/magost_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..b62fd8894a58c82cb7b515a315350fb2eb2d755c GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bP^dC1`Z-Z{^j zlh#Bz{$J8;76(En$1fNJI#oI3)f7)yfuf*Bm1-ADs+nmk<`LnNjqCn)e5 za48t3@*T3=B>nz?MN?Bc%X_D(oY!pc6n|Kx;8Oc@cloAr{(EfRo!9qPf8X<=M@J}~ zKSDCuIv}!gXM*w+W;Ovo@fopK8802au~FtoB;!+t%1~L^1ioe$c8L5BjdAI#D>IAVJ6OzBIM-u*{NS8ZGaU>TFP1$MIDh35 z%f*WqbDRkbDk^@J5gx>JTWigfX-k$YN#WQQVsi7Wr{~Elf{(TtBwxO8L14vhSEt4t n_Zj6bF)=a^<($6B2r@9tF|t}`5dWeH=v)R*S3j3^P6K3uz8}I$+`0Cl77WV)60}JIN@xJ11l@A%R&!#gX#zLjt<55UFmxk=a_iguUL5}xy^>bP0l+XkKyTWE< literal 0 HcmV?d00001 diff --git a/graphics/items/icons/mech_mail.png b/graphics/items/icons/mech_mail.png new file mode 100644 index 0000000000000000000000000000000000000000..93c6c4f39e448312156feb204a51d59fd232d052 GIT binary patch literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bRW`~U6gy{paL z&1<%-iAsuEvnK1_y)8f`nBXMKl0Kj)V@Z%-FoVOh8)-n!Do+>35Q(X=6CAmk4Fp_8 zZ5k#^TX5ZsE{XM;EaRXXd)w+=aHgNalN-L5u5@kw#sBYrjhZLl^tsTVm$uyRw&hnp8cQ z`bHqyDgK;_FRPi?Zvkbyt4|kfk)M*}>U?>Yfu5`9`k#{RMzii~y=vL{X@1$$n#+1$ fuIF9&=={)5y;yD6bP0l+XkKb}n=n literal 0 HcmV?d00001 diff --git a/graphics/items/icons/metal_coat.png b/graphics/items/icons/metal_coat.png new file mode 100644 index 0000000000000000000000000000000000000000..54af148f50db79794d3af64eb52c079cc16c806c GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bShd-rb3(W60G zS^xk42g*P|R&z6qiJ%Yj38esej3q&S!3+-1ZlnP@6`n4RArez-Cm3=y81T3Te_#-c zk1KeX?Z;c@|&1d)eXqLDGW23E)SvAR^$asONDt@Lg)dx(eSSBrqkvlnW3 Y?p)Q?{kM$2;vmR*p00i_>zopr0MQFj6951J literal 0 HcmV?d00001 diff --git a/graphics/items/icons/metal_powder.png b/graphics/items/icons/metal_powder.png new file mode 100644 index 0000000000000000000000000000000000000000..654b07da77cb0e80de4884b18912d6bb8ca975ca GIT binary patch literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bR0y?S-doHC`9$PGC>KGOohOu~VN%h;vRc02(v^r~c+`FVFOIS9B813D2 z=cM4Fv@F_DaL2gGL+&su YL+@h64Jq5FW`Mlm>FVdQ&MBb@0C0A0Z2$lO literal 0 HcmV?d00001 diff --git a/graphics/items/icons/meteorite.png b/graphics/items/icons/meteorite.png new file mode 100644 index 0000000000000000000000000000000000000000..56a8a4802eb23f94248cabc28d99f993bd8e05a9 GIT binary patch literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQj2L(l0TAppL z-qOA1>YTIB_MV-Sl?7CS38s2-8~}6GkZoW2ES@HV~FYaT#et(Ph?zcL3sc?J!_a(EpzMQP~ zLXF2sLr+~H&VIS0+bz#n^1GVr z;tJ2S%ci-8(^WFbP0l+XkKt=n|NrjZz3O-G zqK+OlY;NWNO5y^0AKmH$$}yG%`2{mLJiCzwxBsBKUx{I4A#B7JSuynC1bPkSTqZ=Qe8+~PBq=f#!x`8-H5&D^gO#Hw~= zjZIvmk@)mRSE+2lle)GW*B)^4SfpnwbUm!0^w7bk4;sItrytX+Ugh;^vg7tA2Y;S9 byZ;QMUW8cF4&yE%kb6B{{an^LB{Ts5BHLP( literal 0 HcmV?d00001 diff --git a/graphics/items/icons/moomoo_milk.png b/graphics/items/icons/moomoo_milk.png new file mode 100644 index 0000000000000000000000000000000000000000..1ccca7bf5fc0e47cba6f48a5061049f855fe397a GIT binary patch literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bRW`}XYJyQ|Nh z0eQt&r(FI2|Npxs@8$%}`M>vnbF<}^tS!}s-9Q~cuvq%dS0Ke$666=m;PC858j#cA z>Eak7F*P~i0JjYDdHRB?+YUj0_fuH6qd7{PeR6W%jPOsp*pR1!gt|-daO>!S#LRAP0K7`njxgN@xNAcgbNX literal 0 HcmV?d00001 diff --git a/graphics/items/icons/moon_stone.png b/graphics/items/icons/moon_stone.png new file mode 100644 index 0000000000000000000000000000000000000000..335952858dfd253e2fdbc7131484a6c330aa4bd4 GIT binary patch literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bR$eRg%t(Jjq$ zx}%Dd?tOcf)m-eA1k!^EZfz4-3KV553GxeOaCmkj4aiyO>Eak7F?Fi{My^8vJUQma z?fx*CU!N2d`_}uVj>M(VRS)h>In!$QB0c-FmY!9`<<{LY<({A9-KN*BcynI6yz6X9 zRHbCevAG|w9G=^;c$4dYj-Y-u5f0uDfUX*TYR*7${L^&Ot3q6X(&*Xu_VYZn8D%MjWi&q*we)^L}KdF9z(7M10L7Q z(lZuX%+}VZU_2Q4^7!48vB~QnY|Ooy$r5OF& ZBHUmnx#!{H!-gOidb;|#taD0e0syQhTc`j4 literal 0 HcmV?d00001 diff --git a/graphics/items/icons/mystic_water.png b/graphics/items/icons/mystic_water.png new file mode 100644 index 0000000000000000000000000000000000000000..9067bca9723491a9d187fd6cc3e09db0cb71c591 GIT binary patch literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQzMO~e9@Bh)O zSJ$k$_y7NYF9rrLAjSrQ!vgOC#TiS2{DK)Ap4~_Ta*8}%9780gCMO)=KXsb>K~9-L zQxlU$o7aNE8-jEC_*j-VGqxzm@CjUO$dO{7qTFyKF@!;yDNy}U#{+|1R*hR5EtOU( zG8Ob?Xv|L2F6dPF>zIF?) TXFfJX8RSGyS3j3^P6%Vw}@!$oY|4*YQ28-15O;LaG zQswOB%ry`9GKD(b(7Le4to!`csfUeM@TA&q)}NYUe(S02XHZ?OOX literal 0 HcmV?d00001 diff --git a/graphics/items/icons/nest_ball.png b/graphics/items/icons/nest_ball.png new file mode 100644 index 0000000000000000000000000000000000000000..cc375c9e693f222bdb23bfa24d131f4e5d196f25 GIT binary patch literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bRS1qD@CH!oRo z^xoNT|Ns9FsTU% zoYQ}ScK92#7hb*f+u_`)N`=y%{b6hW|F6I5Bf-v+wvV~^Uh@s@=eF#{U+Oe7*UtI5 zj^j*VP*L%$pMIX4ITJSoMNI+%#T#-LQ_R&>RfF9-iVyYpIy*Zr&=cik-6WeBCs0^e h=u*LPve<=z!Ss>M>+erbZvr}$!PC{xWt~$(69DIAd9nZi literal 0 HcmV?d00001 diff --git a/graphics/items/icons/net_ball.png b/graphics/items/icons/net_ball.png new file mode 100644 index 0000000000000000000000000000000000000000..cf51843ebf97591b6e8265bb99612c7ee615b8da GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bRS1qD@CH!oRo z^xoNT|NsB@%BpsBbo8q3_S$mP^4Yup4FBQi)~CcupkBt3AirP+hi5m^fSl!?E{-7* zQ#T3xD!EJNk^&U2Z*%wb_U47IyQ!JrxO3}Afp>Aip1VRluqTI(a%TF5VGc`t8yIkL9lGhlz|g;6+i1s`&nJLRX7F_Nb6Mw<&;$S>_tTpHFGfPIivHvJor+3|?UO8*ce6F=N2VKvG#`~&Ah!(E= z64fU1y=Gd^%Ss2H6`9|3my|m#-j;uWnajOfAV%t2=&g#D7nlBTpI#`~=+nmE<6+p$ zo;~wgvV;RDj}=UuD0CMn!B`UH7tG-B>_!@pQ|Ia87$Pw>IYEJ`Lt#dbQm2PZ zDZ9q$zgTe~DWM4flygx| literal 0 HcmV?d00001 diff --git a/graphics/items/icons/nugget.png b/graphics/items/icons/nugget.png new file mode 100644 index 0000000000000000000000000000000000000000..1b81b95c626d87465082da46fb1b92301c2819a4 GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bR$UE}rttk?f% zN&nw<|NsAgPO(696vNRumOxc#;0OO_1)vaPNswPKgTu2MX+Tbzr;B5V#MI=31zZ9m zE=ktfhbw#Z^xRG{1@v`9cNI=l5^~=wu(k-Ph>(taKQ%;#KTxL3b^=k3R13IQ!`t8xD6!LOnI_@r<0k|lhTMS`;OvzR=aN*PqOx~5E#U1&9HipeQo2N^-}1$?Ti zPsIe>Z`?S_dBV`Mv7je7X3CV<1xClt9@A6QGnko@{8&I`=1C8uX~vC43hbOrscB59 yLW*(%e%n}HHSQGAkbKnfVQvA(rvC!_lzABTepgs)e~tAZ$l0E*elF{r5}E*b6;ucS literal 0 HcmV?d00001 diff --git a/graphics/items/icons/old_amber.png b/graphics/items/icons/old_amber.png new file mode 100644 index 0000000000000000000000000000000000000000..3e70a4f56bce5727f9094092ce6b758bcd093d5a GIT binary patch literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQLt!8*Oh2h&4 zhHu}t%n4%HQq1rl1hU>8ZT^4M5U3Uo&arLR1acTlg8YIR9G=}s19Db*x;TbNOifNu zU^L+3;yQ3M$?H`Ylfkx)TMKt8wJ1-^d24xe4~Ndt89BC_jc>>v5;VSd)39{AWrXbF zO<#M?3A{fWaPHj9;Ij*56d%uB_;B@}xeMpqRD71Xd+uo-N15#RcU5oh?!Dq5BbYt) z?(XvZFfS%a-9>92?Wx{AG03Pxc}>cbO_kk~b}HUr^gE??%KOV$FbN^ z;Mv}+qxYW8*|ImQx%+IC<+tXf|Ns93)xv??wF#eq9LAC$zhDN3XE)M-oOVwa#}J9B z$q5e3Jxv}m7X=tq`aG2<8TIq1Xnr(vZ{bOv%o*d=;204psK)4`c8tk@lZ{PL*?9)b zgn%%yhT?=EfulX={Fn;(nmaZsxlC2Ku(Icz0N-Oj#szyilxHYg7As9i5@9GlV#B>K zjY-sC8TSDThfK#Axe0Pj%zVr$_c@i=IYk&4HmY%dtkNvj2RYW$)z4*}Q$iB}K!;H~ literal 0 HcmV?d00001 diff --git a/graphics/items/icons/old_sea_map.png b/graphics/items/icons/old_sea_map.png new file mode 100644 index 0000000000000000000000000000000000000000..2c17bfeaa50f202f912155beb0dd9008abb6cc13 GIT binary patch literal 309 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*QBFKhK7b$w{+h-yX5Ga z>M6}xTc%_ktuEdY6;vE$2~-6Hj)ow;5TNj=eg%-lSQ6wH%;50sMjDW_+0(@_L}F^{ zg@as&40sqWeC1!`w9sAn#y%iZEwoJInZPFv-^pfY{VPs) z-}fw=Je6ni3Dx(u#(_aSYg8K^cDP8IO*zGrZ^L}rk^iOAT)wv7yj$PaJ-Kt%R{D@a z__Jw+f=3jcuQSdsY3UGM#~@j%*Y3zzcKo5mVfM-f{Q%a?4l}2(3$K>*p5A37Zl(TO v*Hl$cn(L#A^sPr5H`Sj=*N}Ri{8?UqdZ~Wu#flxzLB8^I^>bP0l+XkK1u$|C literal 0 HcmV?d00001 diff --git a/graphics/items/icons/oran_berry.png b/graphics/items/icons/oran_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..ed8d3b21225511451aedba28a8e5be0e43778bf5 GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bP^dB`AW$+xVm zy-`>H2L(0nJ^KIIyZ>{R>u9rLY(4sr+V@Hu$kPqVX5%-y}`KArZ8_4}&(H1NhQ zk!@;blUG-Jb#MHtd2HXS7(@Q#=|^w;`~0S_>$!2SLaeIHA4O|r#e(I!i63q}QYlh? zV);-dR+#hliSjudXFT$|{KPI@V4pwJHLkGoB3s*!WHF1GyY01O4fIR?F8rI*%Aq}T T_btgEAb)te`njxgN@xNAhe2-K literal 0 HcmV?d00001 diff --git a/graphics/items/icons/orb.png b/graphics/items/icons/orb.png new file mode 100644 index 0000000000000000000000000000000000000000..0a3e182923f726541882b0814b7fcd1f8f173935 GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQrE6%z%XU@?e zuPKg}|IeQN|NlQw9xFIIr+ht7g0UpXFPOpM*^M+Hr_IyFF+^hO-1CNfhYWaFFDPA< zWwd4JJKeX|Ncr^5g^F)hWc4##S6@51QSjdrb?sB-p?_!ox)yVK&#RfceUD8G_N#oj ztg$60bpCyPw=Lm+c_x-QdMLOY?px02!q4`cV}mJ+lEtF;JbVmS`nj)7N#hm&EfQK= p^Te*Y*U-lM;_eR-U3GImWZO*;mf+21{~Qc*x2LP0%Q~loCIAlEUNry! literal 0 HcmV?d00001 diff --git a/graphics/items/icons/pamtre_berry.png b/graphics/items/icons/pamtre_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..fea8f98fe790ad1404f69e6976f8470cfcf78b82 GIT binary patch literal 311 zcmV-70m%M|P)ql;?%uRoN{e%1q_m{woYjjlb1`#jO3l5Lq?Bq>N-04xa{vGU)Wl_900001 zbW%=J06^y0W&i*HwMj%lR2Y?GV89Bb7?C(40tmL?L@yYVQLtmCAWT@IquCI~R??hl z+z3^pUamIT5-KB9US2eFCWIrUR9>#6mI>xC`YNd_DXFPVgm8kCl#-It0>L)#UA0P0 zO%1}4-nGRSD3SUQ%-OU1Y*<=aDA;MzyLX>jwJJ0Y%wgQUXNik%=tGG8XU?qNefFII zjI;a9s#O;tu8}!&=G5*pP?1>vwM5@ z?tS-e@Bjb*pFMjvWyumRFR!a>*33D3bjgw>)!p6y|DOeFic{zY8NpZ*)Zi-F_BT7r`nOGO T>2+giphXOxu6{1-oD!My^e;(j{l#{`M;$&@MP&;pi;(?AirP+hi5m^fSf*07sn8ZsmTcn z3@ogy2|jKIcRg=4*jDj#clpx*&5xfx?Rp--r#yj`MWFPNgX#MK%lBFiuOx0CJe4q~ z$l%9Cjz?dbZ+?|c@H<|UQL z>jMQ|y=pFJWlhyPv`4M_`I(u`1@}+Rv*h@$bzwb+nHdAa);q3DLeX*8KtA$x^>bP0 Hl+XkKxEE$y literal 0 HcmV?d00001 diff --git a/graphics/items/icons/persim_berry.png b/graphics/items/icons/persim_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..e8f7a0ea0013bdb94ceac0224f8b111604b9102c GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bP^dC1`Z**VYV z6z?q#O3HF9z8B=R#?dgz@&CIe|Mxa)+|Ww_DrGDQ@(X5gcy=QV$eHiy;us<^wYGmD z-ys75hwJtWvb>#toaGkwezs01TtMXpTXUX3hE-$Q<5-)pD16n`~hA-u)@v9ZuQtI|UamW+;4T z$oP%NU8!T)fteZoth4$KEO@xAO(pZm@k{FhH!oFKbdWikcad4`&&^J?QF@|9r8n09 YWKf87ImQ0&r4Pu9p00i_>zopr06~9nSpWb4 literal 0 HcmV?d00001 diff --git a/graphics/items/icons/petaya_berry.png b/graphics/items/icons/petaya_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..6138af4e1ab69f414eef02eb2052c9ab598c0c03 GIT binary patch literal 332 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bRWTTOHDSNBdi`mTFPcT$p}K=aNZC4CzW zlcPS1^v=vwDD62X8GPGnYLD)LSt^H?%_x&fKf@5MB4%~-q($yA5rOtdQ}vz zC&JvWUbt}Kir?c6E*$C_o}MZptV?<>YI=BjUOakKaLN43uFjsGCvONmdes@~>*bY| zDX_hB{j`9fj~`wzyk2=LzyRKKF Szh}QS$iJShelF{r5}E*|1AP_% literal 0 HcmV?d00001 diff --git a/graphics/items/icons/pinap_berry.png b/graphics/items/icons/pinap_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..9a10cc75549fe85cef00061e76d8359598c5a234 GIT binary patch literal 326 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bP^d2q0IOVYPz zUiZ!ho!t^Nr8}znUR2QDD6cHX|KFx$WjV%Q*wF@5%2*QQ7tG-B>_!@pbHvldF+^f& zZvR5QLk1$Qx9uZ%TO5DbO!HBw^gjAWrEQ5Z%hoN4zZs1h)03vH+os%6C9$U!84maBVhw=E^G!EK63+K3A=BYi{b=Da<~;@m{5wvS;S6TsU{l z-feX`TCry3kJg-;v154?yZr@Qmz(!O`8Hl;IAF76*DG!hn==P;8o3Voi8(cJyg7ba zm!q}0XYb!_dlqme?`tx6?8EU+n?rX;t^Kq6w+r4i@GOtaJTdLWl;b}c82`s=?N{sX P0fmF7tDnm{r-UW|96^ND literal 0 HcmV?d00001 diff --git a/graphics/items/icons/poison_barb.png b/graphics/items/icons/poison_barb.png new file mode 100644 index 0000000000000000000000000000000000000000..eef95e4a108b6060387066ae3caca4e85b4d3b42 GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bS>|NsB!l%wzV zzDr6NB{r; literal 0 HcmV?d00001 diff --git a/graphics/items/icons/poke_ball.png b/graphics/items/icons/poke_ball.png new file mode 100644 index 0000000000000000000000000000000000000000..fa039f9167981acc19a6c3e01b84c8233c79dbaa GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bRS1qD@CH!oRo z^xoNT|NsA=<7K%e$nsv4<^L&`|F2s9XZR0C_uM}(1L|cg3GxeOaCmkj4ajNnba4!k zn3|lRAZNhE#dY9j(CRSVmX8f@LRYIfsfN90DhhL2vSeFovxTssMbB!5Q)yfcmI(&J z+{?2>Bd(ShxYtgdbnVnkINS(4NYl*9!p6(T@JFqQ=Q1v5B2yO9RutnhSk43U^xd%;_%S%HV`K@qd@w!713 z$}JF1dH>^Z-0=#=3%}(TGH!jlDsf^>N=2Mree;VoJc8vezgsqTDqgeW+o3aAR(shK z?V9I(V5+RoaUb2?4_#imEdOqp-RkUj zYnS@kzhcvNUQB*;U{0khH_OaqfqGun;v-5zuKuQ~+ErTLcV?{1kYN`ML literal 0 HcmV?d00001 diff --git a/graphics/items/icons/poke_flute.png b/graphics/items/icons/poke_flute.png new file mode 100644 index 0000000000000000000000000000000000000000..d05288d1e5e9f7654395eb567b71fefb1cfd5611 GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bR04YFLK!13{(nSStyDIE*(X*O?f* zKsday(?m=b8|#2MSFa|na`rN|hDd}7opv!cc7#gI4a;(I5r9ZYwx$Uzl!8j+h9yE= z%o`deHZ@HE#!1wMNdP&iM`02Syff3_5+Dv-f`LJD8e9VCOhJSMG5`Q+2|8-KMN6MS|e}qnc%AaN5^!1OX@tf_R z?#W6vSbQ=+pZnqVE$Lf|EcbX0$k^;YYEaQTC;yZi=rRURS3j3^P6fD|^O`x&{{Me=^nXxwR+MEkP%Rw9?`OIL>5`2{mLJiCzw&(5-D(zezZ)>qyntRLia7W9V zHxE92YQVf?J6m{ud!dB&tFVdQ&MBb@07`mp%>V!Z literal 0 HcmV?d00001 diff --git a/graphics/items/icons/powder.png b/graphics/items/icons/powder.png new file mode 100644 index 0000000000000000000000000000000000000000..f61e2f5705a3efab36868c02e6d0e04e7ebd20e4 GIT binary patch literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bS>|NrgXk|k57 z1RX6dzISiVyLWqw9UXy6FhRY~!S6s(#*!evU|Np|Mo3visk=j zQUCux>+a^5vRCuy|KfW`kA8dh?C6>`N2`yn30m`R%DZQ0z0AICehbvgSQ6wH%;50s zMjDXQ?&t;ucLK6T`yK)x* literal 0 HcmV?d00001 diff --git a/graphics/items/icons/pp_up.png b/graphics/items/icons/pp_up.png new file mode 100644 index 0000000000000000000000000000000000000000..d5187efc1c657a8c7160da46ae89b45690815752 GIT binary patch literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bRW`~Pi9l;z&2 zz2BC6>vrtkJ4N&V(c+``jz0VLY|YU%NqhHtEm>mN-3`=qwrplKkYX$e@(X5gcy=QV z$m#cVaSV}|nw;Rko|Ku{X<)WEJ0qimVaj1KE*4G$J`c8Yg^WxR?Se-dUkds$GC6A; z-*Z!fW5KF3r@MR4_A0)T*j_$GdU~|8<>s_0)5FiV6>bSz8^!uuW3FZMgBLQFcD6py z&{QluH>a_Eak7F*P|sLC%1Si|fG6q|D4t1Gx!vr-^Y)W!QK*h*dx+b7iB1OvkD%R{|JW z)J3?D^DfeoIHT#Qt?$jtYsy}H>h#?^&dsM!9~9%9zI^HQ>C>f~-U^;ADc09FFKw|< z&v|y`!Ucg9-mXrKIqoyWU1DNn1m&DQ$p|tq*hFc3Sp9m|8lXEEJYD@<);T3K0RX{^ BUC00c literal 0 HcmV?d00001 diff --git a/graphics/items/icons/qualot_berry.png b/graphics/items/icons/qualot_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..7c3a0d7706bf4407d33ea87cfd345ae7db297fb0 GIT binary patch literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bP^dC1`Z)#i6| zioflx{{O8RC_bm#Ywwn%dsmC!eXDkMwcQC6Vk`;r3ubV5b|VeQS?KBF7$PxsYQG^L zlcIp@LpJZNy%&=g&EC;@*F^4s@C=`avTt-^gjcUs*qE;P?a_$?LekRpU*qqcVQKlH z?!|d?idJYx)>oaqZ<+W0QFiWDU$p&v@+M~tA1d9mjx4@+OVa8}RCIN^ zglT$y8PCMuYzrDZ^LP(jf8wCr&66a_&!(lL_ISY>72}Gw;>s<%V<%_4I{#V3-OWZG2mz4Oi zoiOU2;;CzH#Gv*>E+T`Wx0F$4#ga8SW}=gr?{~biX1E@`-dpF#Ev?J>Yz0x*w}6ag N@O1TaS?83{1OP4)G*XIDEP;UbQ%)DySxy^Xk#GjtK?c`Yi>g8iX>R1~9wyI$t`) zx^UGT-@BJs6Vq7RmmIvoqqNLmvO|>9B>_HRK1UCOUAq)jBn}G*Iq*#imtdY~t9ify Z=o7i6LhBp%-*W-E&ePS;Wt~$(69ASnQlJ0; literal 0 HcmV?d00001 diff --git a/graphics/items/icons/rabuta_berry.png b/graphics/items/icons/rabuta_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..514f5b0afec9750916da8cef79417abde6dd6316 GIT binary patch literal 334 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bROUoHOj?(EUM z%~QIA43i`ryETjVMg;{ata;ZBREP{p_MZS5##j>M7tG-B>_!@pbH>xfF+^f&=mbOl zCIf-i+Xoxh9$`6jD(SG>t)bmbc^M+3#Lw-@hx` zU|-3hz%ZXLfh+jR?-LiTk~CF~zgT;DZnH_6@+pZiSiWWVv)&di&3@rEH>PRdjZ=To z^>5MEteX33^VyQOoSiUh-j^*Guid~sPwrQS8nWC>jMr~_RMBHFl+xbsRKIEb_Y3X&)5HA*jQi~ TsKa#E6Xa=6S3j3^P6FUZz~IupI&xE?luOdHHKxam)BTvdOPnkcINel}g|BZ&QSLa{Z{5QFqRDQ}aG_8}rsO{q+1ahCJtDnm{r-UW|3c6Mh literal 0 HcmV?d00001 diff --git a/graphics/items/icons/rare_candy.png b/graphics/items/icons/rare_candy.png new file mode 100644 index 0000000000000000000000000000000000000000..a005a500477241044d4b78055cc97e637f5026e7 GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bSR+511K_-gf( zcbb-Sf|8D2efJ+Ij}`plubTjrU@Qsp3ubV5b|VeQnd<4{7$PyXwf{8VAq4?f?>~&5 z^70HSYou@O(&JmlD*xL|vwG{l{l^w2mYsVw&*z=5U*I2GKcmUNdCqzz)cxwMuwB3C zXbjVi$x<70THi1|NM9Z=rjYb}mGwdy_Z3GTa%ZkC3Og`mK}ndb;IgV63_Q>8=S}#Q z$CI})`a*J#o$0TuAAK9XKAY=1?Sq0=xB4Vs@2Q))L+l>6uD8+xAQ~vzw zI^3@HtvEpSL1EhYO(r6nzh^ILd33y3(%5rDVUVHTPl2|E-cE0i1?vx9WUDSOX_oYz zq8)RBCF0?`yxKWN2Ohpz!5=k?MK^HumZ>iVOI%8vrmSSzR{eWd;~(M8r#N~|Zy7nh i5tw~;Iq&_O_FtHsjyZgv+0APY@{FgepUXO@geCx2z;h!2 literal 0 HcmV?d00001 diff --git a/graphics/items/icons/razz_berry.png b/graphics/items/icons/razz_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..3340d8854ab086623d010a2d41c4cf1823135b62 GIT binary patch literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bP^dC1`Z8qIrA zhTpn1=QwIMzjJh4slH!uF<}5Yh~m)w{4n{J^PeJ7pNz(k9I;(@58taVTKrs;3X_f8X9D`CHuP ze(F5gSvi+4-3i_=H2;9f#@!S3mVLTW%IsJ;O>bFa+m5=5j*V|mE}g$1K9}iL%#^Fi zPWfUR?siRHbsmfzl48vBQ>0qSKe3GxeOaCmkj z4ak}2>Eak7F*P|sLC%1Si|fG6N&a*64^;$xj(rpF*W$It?)(4yYo-cluFPGj_CI{> z9FE5lzxOv4NQAHDWGhVLYOs90Z^xf{Q{huHzyJTgKQzGaYPI

DuXj?8R61YpndU z+j29Z+>2?j6O4dVHOoofqhda|NsB$vu9h5 z9v?XZzrNE6qK4VFcUoeBivm0qZPKT$9V~E7m zOwhEIb2hdN=!}7_&6Iq4BJ@R+ji}6 zvh<(Z8yoXz!JO|4_4F3LPnh$+{QrOTw#$aX2Y=o)EVi3tygB)q56kkI!Us7w&UnQ2 zyvDSw(|yJ>Aui)yN4}Kv&NH6h1G=4GjzfcyiJ75yf{TIK{G+lUXM4K(xvX-MTX>zFj> z*|#-o&Q6J1ljP`_bQGur6FmQa+XpDhSQ6wH%;50sMjDWl>*?YcA~7}h!fxIJ3Op9NhId3R@;)-K5bI1%ftj{T_X?gT&Udhpu=VZn2$(~;pX0~;W(w3}qtxsktFwT0W zQp7xk%}Ld4!&jz{Oq>gB_4jXx`_sz%$w8hyA;UzWyyuP0=QCYXOE3IfSSSCKU+z)g SQU89B+dN(UT-G@yGywpb!BbKI literal 0 HcmV?d00001 diff --git a/graphics/items/icons/return_to_field_arrow.png b/graphics/items/icons/return_to_field_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..d520a3657ff84354e6b56d38ddaf5e274f78c1f5 GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*Z=?jTUuJKS+n=-*?T~C zbMqXa3?6Xa@{^KjHuY literal 0 HcmV?d00001 diff --git a/graphics/items/icons/revival_herb.png b/graphics/items/icons/revival_herb.png new file mode 100644 index 0000000000000000000000000000000000000000..4380fa896d001a5cb6e8de6d48b3f5fc11dde1cb GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bRGc~)G!B1G+4Ruz z^fydt5!b&T>R9{a%bypoH?GpxDBkk@{FR!n+fEWnGHXO;7BlL*R?QGvq4i$ooBX8T YO!K(p>vg>}?tnby>FVdQ&MBb@0G@1a*#H0l literal 0 HcmV?d00001 diff --git a/graphics/items/icons/revive.png b/graphics/items/icons/revive.png new file mode 100644 index 0000000000000000000000000000000000000000..f5a63c29d6cb6e98b735e482c0547eccb5eab9a0 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bRW`*!r%v+5;F zEdT%i@8!jC@7+6~JXUaVJWKiI64!psT z&S;jv-2XRxcc)B=-NKBo2{vdCI0*}MR zNfrztvJM^08ikCDxL4e*7v=VN_{h<(CXR#k!SNuro+BP<`b#@@lrUPI%wRk|jY-nX z&ZEVQDb}*;boD3AEAMu$Q@tzMH+wZhYjr78u|s%b(9fxQhpf4H1XCWdCFC#|L@@qK by<5MIJ;+=lVq3YAGsv-?u6{1-oD!M<*vU`R literal 0 HcmV?d00001 diff --git a/graphics/items/icons/room2_key.png b/graphics/items/icons/room2_key.png new file mode 100644 index 0000000000000000000000000000000000000000..a7e0d70ecb5ab0ad0c4572d8331d2591a2b29143 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bR8Wo3Cedj0?Z zf60<1bLPweN@9W~QBhZ;qWZ5NDFMncmIV0)GdMiEkp|>cc)B=-NKBpDe~`C9fydSR z5krGfgDT&GJckmdzrWWfF|LfWxgos%{p4*f_NOe0xES-YQy3I)vnb68Z4@GzOBUB;|p=fS?83{1OVbIRonmo literal 0 HcmV?d00001 diff --git a/graphics/items/icons/room4_key.png b/graphics/items/icons/room4_key.png new file mode 100644 index 0000000000000000000000000000000000000000..1a6b4a17cc6f2357317bdbb8d301af3e674f457b GIT binary patch literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bR8Wo3Cedj0?Z zf60<1bLPweN@9W~QBhZ;qWZ5NDFMncmIV0)GdMiEkp|>cdb&7m|-w3CPuM!vZg)w=kN#isDvEDa70>D{#Cm9u^os)5vD=g-HwjZ5U=Uda%En eQ1|nl{dL|&zTyQ^zgyKnuJv^Fb6Mw<&;$Vf3{*t` literal 0 HcmV?d00001 diff --git a/graphics/items/icons/room6_key.png b/graphics/items/icons/room6_key.png new file mode 100644 index 0000000000000000000000000000000000000000..358ba49ca9dab36f468ca319c3e747190ce5c5a4 GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bR8Wo3Cedj0?Z zf60<1bLPweN@9W~QBhZ;qWZ5NDFMncmIV0)GdMiEkp|?{c)B=-NKBo2{vdCI0uSqj zNfr$Y_!L?gr)*%j$a-Y|f2}Zq504Jc`%#%2)loNPf=c!bh3%7A4y@EKusE@=VWZqm zf5vYQ&bfFUc2{_2@ZtsI^rjng(jqRM*)e|(m%^OYD-)WHc+)0sFEO`Sexbs7?+;d! jy$vB3M1M?w`!`bjW|{br?QX$}AP0N8`njxgN@xNAa>8Ar literal 0 HcmV?d00001 diff --git a/graphics/items/icons/root_fossil.png b/graphics/items/icons/root_fossil.png new file mode 100644 index 0000000000000000000000000000000000000000..52b0038be5ac544ee3faa3b87d9d5c3b9d6a33dc GIT binary patch literal 354 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bSx-4f*G$k5%a zkQBvm?`m;(6i}Ms>ec3?B+VsDf~u=EzkOS>q*@awxaNTJE+EBN666=m;PC858j$nA z)5S4FVrp`N1N)gK51H3DxgX{@-`u@E(dOA~>-=-K)EOQc+}mrK|7=#fK;N5l)3u-b z*)UH_+E<Rxwu<-8pxW zLf^`Xle{KPdK?ot;o?EBJWWrpMeEg@bWDST3X6q#?sAqjPFNkZ(bMBa)`lLBfDM@* x9#_r=Cv2B&wc_IPI@es`5paP)qeX^i2GEDcyfpgScZvX644$rjF6*2UngIJ>jN7k z#J6ut=FFK>TwHwi?Af58pnLc3{r~?Ts1^=*<&T~Kau`d3{DK)Ap4~_Ta^`uuIEF|} zO-@jdHsIn?x^d{(v4VLMzN)1rGp=a)^zN?Lu{MFe4WHg!NDxkEH*i1VYH4!gsN|Zy zi=j6)Z*Uw+oN{kfQqqz~Ni2^#mRiirF)T6+WAR*)>bH@v%q)y)wb$&pcS%o{uxt!5 z+Pmk@Nx?&DXI^CJ&*$A5mvgkM=ah)s3YT#A=v1y|g_g+^C&s;CD&3e66}6M$j&YNR b++kLRx$KHlr!2WF4f2DhtDnm{r-UW|j&pD+ literal 0 HcmV?d00001 diff --git a/graphics/items/icons/safari_ball.png b/graphics/items/icons/safari_ball.png new file mode 100644 index 0000000000000000000000000000000000000000..f4f7779fdd0bc4d8af322ab5caa6ee6b8c63c14d GIT binary patch literal 296 zcmV+@0oVSCP)O~QhR%Yq@=~(&G!HQ|4L#2VtW{zv{G|o0L8R9-qm{$S}{tLVrsODYEHZQ00001 zbW%=J06^y0W&i*Hrb$FWR2Y?GU?3ha3JMCq+0wh`J%sV(cJG|Idm&Wf{qKEqPVa(9 zNq@`P_vXxwMhNFv&c1i=-hw%d``({^2jtuWsbk#p4k+<%)haM&&bfCp-|dESR-V~6 zbM~%P*TEe1xk}o*SFODS<|rw-Iqhm!QUY5ftdy3dq@-jBwnsGC%}Ghg)DhyGFk{ou u&=9CgMM8mWN0=8xTwELx9zyaQ5dZ*%iajeHijjZ-0000=`**BeBKz4w(Q+s&I#UmYx@G6*X_D~o|(B}cV3nKITHs) z<_o5x#tQR9g|~5TvvObdrIhni+ab&A{aJ;Ayj6`|YaRyiu`#~Bl>b;GZ~@1~9aDsU pS2(J&`<{Ml=5_R1^~WEJw*HG;DYr9Q&`t>CM^9Hjmvv4FO#q?`byWZW literal 0 HcmV?d00001 diff --git a/graphics/items/icons/scanner.png b/graphics/items/icons/scanner.png new file mode 100644 index 0000000000000000000000000000000000000000..45b0cd03694ae9855ed66fdb8ca971f32d7e6664 GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQfOkrSn#t@XX zWX_g%NALYliqgDy)lt*27^n&kf`YQ%z5D;<$SV$@5MxP@UoeBivm0qZ&TLN?#}J9B z$q5G-dYC+9E;_LE8wzx)YiV#iH)NBNWUibetRQsiR9Dl)PYHb<3l?nH_~MGo2BVWJ z8=IOYCiVfvo?UUcxKdL<_{Y3dzgAC!J^v-1S@LQzK55zI)9Phl)di#*y*ifdaPt#s z@oHJxdQPLkQb*TxlkBsk=>{zgTe~DWM4fa0q3( literal 0 HcmV?d00001 diff --git a/graphics/items/icons/scarf.png b/graphics/items/icons/scarf.png new file mode 100644 index 0000000000000000000000000000000000000000..a7462654085456175401852cb22fd473c6a66645 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bSx4GMZ!UES^F zbv7yK|B^NLii?5rSb?=e;6iW^EwzbcRGN)^|d);Mv9{oYlqE=0Q?oQgf`7q_p<#Qtrh{lyfQW_WyHI2mk;8k^j_q00001 zbW%=J06^y0W&i*H+DSw~R2Y?GV890$4Fv>>MN*}DO4FPkGm6shflq?Gk?G#{O zPQ06_WO#f=TEyf62IjOvp(H~_%Z^S%pq*(-YRVHCgpG|sPPa`cz&$59b0Wgm?1BghBme+-eMeQF_OUqt0000j~-2mii$dW_3WG_bKZS>S6o~SRQtcU_^6lHv#6-Nl_Gb6e8!R>zhDN3XE)M- zoSB|3jv*3LlM@c`?=a`$I&ic4{k^@skKg`y|LOmK=M_hG{df2vq;z!0yZQHbf7e%Y z3em0q|L*R7E)Msi(7XTtpSL!1ve+Fqb$a<0XN%cu)7M5_4CH*+VG;d4%CuJPhKbws zfb`Qd=L-B)TBo?|p5WbrP66kSyak-;D-O>%AQa$kq~vK}0K=;!4y#H?u&{EraB?s( Y>~gad*5i3K73fF?Pgg&ebxsLQ03fAtmH+?% literal 0 HcmV?d00001 diff --git a/graphics/items/icons/shadow_mail.png b/graphics/items/icons/shadow_mail.png new file mode 100644 index 0000000000000000000000000000000000000000..98f3f9be988e2b8c0a2f20a9a304202a2845ce79 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQLU9%*~%hAiy z@_$m&|99_>1_gB&XU%D@p0i{PP$4qt`CC~HiYp&5ecp1>_!ozn!Jc=F zcV`s;EvU3(YFbzWsyK>6 z0Vs?gJYBA722{aV666=m;PC858j$1Q>Eak7F*P}1fnkD(!y^t&rHUReFOGQ=geJ64 z2nZ^2nH11i*wQ;?N=!mkOKIB94o2NYr~3GxeOaCmkj4an*6ba4!kn3|lRz;SEh zjW=1W9Daeb7$&)FVwlvjku%0g^X3f!y@e@jro3X991!Hi+nS}ty79E4%rphntrv<` z$nh<3*|AyCCp5}~bIM`4CDTG)JmR^!Xv(s4?~-^PPFbZYI%S8$R*R)OjSp;XS!sMA ybfb#s0ab~ZMxj$}0oz3w_iAu_?y=}|U}WGrCCyy-`~C`$n>}6qT-G@yGywo4BwKO- literal 0 HcmV?d00001 diff --git a/graphics/items/icons/shell_bell.png b/graphics/items/icons/shell_bell.png new file mode 100644 index 0000000000000000000000000000000000000000..0f9f5103370576152b8e640d916ef506dcebc0dc GIT binary patch literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bSByL$ENw|8gH z9{vCS-v9sqpFMlFWXl#WFR!a>*33D3bjgw>)!p6y|DOeFI-7K>6i6|a1o;IsI6S+N z2IOq_ba4!kn3|lhfZ>CmNP}TIS4=_z%VrB!*6r8*5)yVWBz3o|hP#*<88H0hxqR4a zPDuGXfdq!EM>=lV!Z&0^Yh00001 zbW%=J06^y0W&i*H$4Nv%R2Y?GV89O~XHGz{(?Tm@Jjrt7Vr@?dn=vdcEG)blA|+lL z8XBUq6)eRWmTp{J7FxdL0!UR_SXydoxpoOi-PH25(9m%0@M-}dM=Z41+`J^Ud<%#p zo(2Np+J#_~%R_-cJ6skd!ysl{T<(%8c;zC9bI~m=HB@kwuOrAF-;08Rg1eNwL7EtA zSKVE;dy%qrE{K!6rQF3!$#^T+0MXkjPU^wR}=@ugd2v?BzD!>p$su?FN|NsA6cX!s3 zdwU%n|L@&9p=) zZVOg*^sVsp5|UjzO~J3*`|+txSyj1-3V+|~^=Yeb+p*h)vmsTcTsNn%kdx)+{fCb< uG;Tb6#8lSn($3J4(Ne|Zb6{_SCT%EOTo{Zige|ft4xvX|Np=HYIkvQ zan|0fIdkS5J$lr!*zw)FcUP}o-TQ1WP%RuhI^|{!>5`2{mLJiCzw1uU$YQF3XNI4UzyFGHf@=dxs&e=8JRsh1=GqNUt3#X#_Y^4 bG~0lIp`u%{h*u?64CE$HS3j3^P6OY7|g5sM%{xv0*;rGk+k5u_VYZn8D%MjWi%j%^(`8d-yuHy;*P=2AI#w!SKU+xeaQo$ps> zW_>A{FK@bi!BQvbrxy99Qi~gS{@h^ZNY_?WP%2?F7oEXXq4DKG&}Sx&Pp0Na6;^rY zC$n<-WdVwP5YHKeqZ^0k$fN SpA9rY-t%S}5) literal 0 HcmV?d00001 diff --git a/graphics/items/icons/soda_pop.png b/graphics/items/icons/soda_pop.png new file mode 100644 index 0000000000000000000000000000000000000000..334d816b188c3091a721d5d90f9c6af1280096b1 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7y^NpS5$R%_uiv> z-+c?3bGG^He;|1G?Ag&RTP&Nm?7jMb&e?Zad!GR{?VPo8ACO`!3GxeOaCmkj4an*6 zba4!kn3|k$fT7EY!z|cuE7P3A5xIH|50<1VTli$|7CaTwJEi%7%)|h3cMEruBdP-D zCKj4nb{HJE$&%QxqDweN^7E7n0@^cNd$gTx!W1p$8mB83K0DW399MR459{+aZ|8Og zeEam|Y_$R3<=dOf-yh6L-L(7rJHtDiht3^qGskk8+(9mV(@hJ Kb6Mw<&;$V26>ez& literal 0 HcmV?d00001 diff --git a/graphics/items/icons/soft_sand.png b/graphics/items/icons/soft_sand.png new file mode 100644 index 0000000000000000000000000000000000000000..29a4fde0deea36f20cf1f14664486e153f3a5c94 GIT binary patch literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bR0opW_g(wt(; z;&)r#eS0?N?3&{L->y!{@&c+t1E;JUrU8W*OM?7@862M7NCR?adb&7?p@ z;!?VC=-9D>c>x(KHf>}GaWXYA@wh2)NHC0-i#OD$jG@>iW{Pw36opq3bEnL0nxZgE z!qs`I@06)M2W1k4)t3q=Cnrx}>^U|qIK+9bqEOGV%co^}&S3j3^P6?j-dj_>w>xT1mSc1EoFqp>pr$QqPZt0w#*!evUL%h&UXG`z~>jon&xJ!nOUOZ%61 zp=|+vOQOHLI~u^ZcvkR(YXK|fb%=x>=U7p=CQEmfo}Z$?Ood*N(0;K{4tEXSGleXx zv%HJBUcM+`%1(Nd!CdUbBp}nF=GHF~D&8+9uCbi;V4^@_;MW%!jZsH59*I19#AGOS mLO4WJq$P@rg(;zhiy=TrFF|NsBlvu8m; zLDkjOOO`A-d-m+r;;d#v!zEEc|M%_%s)d7DTT%pp9LAC$zhDN3XE)M-oEe@jjv*3L zlM@tJSSH@+k$$M-$(Cv1zRS5FP1z^uc~2i7qeOaHvb%E3X|aCICO!kd*(XaL8;NV= zdleN$RtbdkT|R50Yb%k}QczhLwX%w-XD(%*s_JBsbkuF>tGs}| z=&H(qPU|U$!{k=I)8Ko$p+#%DMVE7LTA-e%w|0x=Rl~hDybnXg98>a>85zo@m5L_$ Rn>`1)-qY33Wt~$(697nIV%Gow literal 0 HcmV?d00001 diff --git a/graphics/items/icons/soul_dew.png b/graphics/items/icons/soul_dew.png new file mode 100644 index 0000000000000000000000000000000000000000..057ef6936805692c24f4fed2fa269165a5bae65b GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bS>|Nq}HYD-e} z)wB2h-#hwk&6KN}j&tt4dk0j72Fk@X`hY@=B|(0{3=Yq3qyahko-U3d5>t~C7H|oO zxNJ~$a+XfaITj#3J%CZeJ>=w#8>#}QGDEY>%sw`(;@Y@kgF#vAie!_O9$D`T+KSR5 zwk+LR>SQ5v`L^{XD=le-St_SbUAnF20-> zP-Vq3Lr>Co*%Q~loCIIR0Q1$=- literal 0 HcmV?d00001 diff --git a/graphics/items/icons/spelon_berry.png b/graphics/items/icons/spelon_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..f7bc51c9cef8ea06dbec21d67a864f31b873bfb9 GIT binary patch literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bRWt1kZkY|h!J zpfyom|Bn{`-@E2nR#LO0B~TR_@QPEo02E>@3GxeOaCmkj4ak}4>Eak7F*P~Cfn9i_ zWfBv|w=*Iv?S`&Lg9VPweHOBA8qd>$t`*@LtWK&em#@qYmPw3qnsO^9HnECjZisU% z%Yz_4S>1UC^Coz^3tuR4?AWF0m*$syGQjzWP0$_fkOf?>bDi#*uo-6^kpdXLmRr-Xa#k6$>QP~1P)XtB*AUs>nftdar>g~EJF zhEMmV**PfXrvLuVPgcTI23++EgY|CTM?O1Nv{T<&_1^E_SsT-G@yGywom CvqxzF literal 0 HcmV?d00001 diff --git a/graphics/items/icons/star_piece.png b/graphics/items/icons/star_piece.png new file mode 100644 index 0000000000000000000000000000000000000000..809bfceb9eb10174764f338ac9199ec754177432 GIT binary patch literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQT&AFUoeBivm0qZPL`*OV~E7m zzopr07$S`UoeBivm0qZ&TLN?#}J9B z$q5S523%Z9Hx3;;RxmFhW5uS83?WXYCMF&?1r7;@@pAEo8kI2=yTnX!Zl0p>N@DJm zxlL0PW=Xg@PxYNLwdbHrqOkf>0p;Z635-3*rUi#M&s7xaId=JUY}1^D)4Y}~pKfjG zbfYIy_U+Tj3$AsqjhGmid5B}`i&q(|O%fTjlh2$u;h|sBxGTaycWn&AJ4r{C{)bEq X|BuSf|7r60CCCGwu6{1-oD!M;Ls)d6)?&UoeBivm0qZ&Qebo#}J9B z$q5QP608#}4tdD9rLwpOoLC`vOe7?zsgPyrmN4D0rUHq^H=%BR0(}M(a^F1Sd1hdy zy*6siqeqDx&q6ZR8Wk2^Y$)2*6B{#U*1t*naNaox6!SJl75>%+1_*_{I&1r03gQR9~lcXtA+v>~y*&E88TH?!{%0 hCnD0abAE>bBST@3dd-<%)|)_H@pScbS?83{1OO$AZs`C3 literal 0 HcmV?d00001 diff --git a/graphics/items/icons/status_heal.png b/graphics/items/icons/status_heal.png new file mode 100644 index 0000000000000000000000000000000000000000..205512e4a67c43cf24b7b29b670b9496a08d6543 GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bS>|NsB&*|T%z z%<2Bt9ke&7_+D|=)vSB}??pvL0Tm*HuTdAj0Qrn1L4Lsu4$p3+0XemvE{-7*QuU?wE<*>!cxJ=on0ew?8hG$#!C~wTF)R?1uE3oqj=iJWOmoGM6V19ByXDUNs o!ns72BB?~aQ~?o@mdzWP8D_?*nC!T4=_<&Tp00i_>zopr0IyeFZ~y=R literal 0 HcmV?d00001 diff --git a/graphics/items/icons/stick.png b/graphics/items/icons/stick.png new file mode 100644 index 0000000000000000000000000000000000000000..1675255e248aa0b9df54737cff27df3ffaa2aa8d GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQ@@8#HX)yr!N zgF+I+(W_gYJv+K(OLtO|<^TWR&b~_ms)YmXV_bYd4r57>UoeBivm0qZPMW8SV~E7m z<2bDf4Ml lqMGXIk_loBfu#)}O!+^qQ)RH(DEkKFFi%%Mmvv4FO#uF?U$+1N literal 0 HcmV?d00001 diff --git a/graphics/items/icons/sun_stone.png b/graphics/items/icons/sun_stone.png new file mode 100644 index 0000000000000000000000000000000000000000..3a2c3708c6f25bb16903688eef1382662f1008c2 GIT binary patch literal 322 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQLP15|ornuQl z^I5Uw|95A4v4 zLlIQSGXB9l~*lbt3_;N7@oL5K1Yzhl8n zJWM_7m=gM~tZMCH>d_PEs}MU8G0~x86W0XE1Yd`*3C%7CX0a@MSK4UJ|EMB`fx-Kq V!2bvHE{lU)?dj_0vd$@?2>{>^XYT+2 literal 0 HcmV?d00001 diff --git a/graphics/items/icons/tamato_berry.png b/graphics/items/icons/tamato_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..cd0268755241ac8de7e61f2e15a94b44352b8b30 GIT binary patch literal 305 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bP^dC1`Z6vMM# zhRv3S&x#HIUj@k;E(t2W7i5?e#HIDx1juJB3GxeOaCmkj4aiyV>Eak7F}3!BwNR6R z0NaCt<{VcE_IDmz6+=RF%0fEkPVE!la6+?)g`dG#j=_Y#BP?%g{ImII)q4J}Z*k12 zWNgd#_-$%_UiR!B9cvd${cH!O2*39~Mb8Dt&Poz`;MUQsc4Fb7?(VC<8f&9h-eWXX z+GepUqR2J=N#T@~YEg&g9Kn1=H8vTM(o4$Dl}c8N=U-bfQRm$|IkrRJt}x!;wz*?{ l@`PTSL+Ab<{LY_L%WzuK@o}H9+e46-Jzf1=);T3K0RW##Y+3*S literal 0 HcmV?d00001 diff --git a/graphics/items/icons/tea.png b/graphics/items/icons/tea.png new file mode 100644 index 0000000000000000000000000000000000000000..4d09fd00eb142e0670c7dc1351e9ae597a843048 GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bRGSu^L|vuDl4 zS!e&x`S$GI(JgbD|0^T~IiB6SX38^=MmSifH`fNpVJr#q3ubV5b|VeQS>);B7$PyX zwqKEt$xy&``=&hUE4Q{euDR32TlS+dU_ZNpVhls8>)I4ypJwG1aSNv}_FS%UDEzb0 zXSJWcpUs0-R?j_pZLYuW;a5@{>^~(5J5*gavbkImZQPSNEB$c7u_=1ajGo7K9-Q|4 z(xhwG#0B&l9NzpWS3Av@bf)~xfyv8WeL1m`&(&eG@`ZGEp8h=t8m&thIlOhRw{Eyn f)En^1`u{ohmkU(|lNxUv1Np<#)z4*}Q$iB}^vrgi literal 0 HcmV?d00001 diff --git a/graphics/items/icons/teachy_tv.png b/graphics/items/icons/teachy_tv.png new file mode 100644 index 0000000000000000000000000000000000000000..43a1588350b984cfcd103cda29cf334183a7623e GIT binary patch literal 333 zcmV-T0kZyyP) zF)?ClV*kxbN=i9moRo9Ty_ADW&7?~I=1SGgtelH;-n2?mVq$Z1bN2S`3uUON00001 zbW%=J06^y0W&i*H%Sl8*R2Y?GV88&3f&vJRSXv^S%NTk$49JCWL}TyXy&IMamSYSQ z?zg>r*A2`Ol$_jQZ*kWZ#9@@2In$z}*%-uOl$_CF33XJgPTt1Us|5qeID~R~q8xRm;meDhfA3d?UDP)$&4Vm`4Q#SFPTN f2m?Xn0D%Gk0;W7Pa4t#100000NkvXXu0mjf8+V5P literal 0 HcmV?d00001 diff --git a/graphics/items/icons/thick_club.png b/graphics/items/icons/thick_club.png new file mode 100644 index 0000000000000000000000000000000000000000..cf32da9fd3eb3ed80b25fcfb0f2c57bd1bdd12fc GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQrdv|v4(Is={ zG+({Crnxx@D2WRQBu{t=lw&Lj@(X5gcy=QV$Vu{aaSV}|nw+4(!NMw#v$kYu7He)f8@1-!8lWmPVAQzaHBgALB*-tA!Qt7BG$3car;B5V#MIV)d;TT^ zkt2yoTlv)1Ox-bg)}+2A=RdKoh+j~!=3itjtd$N&-(R|U=RF1LiRHbsmfzl48vBQ>0qSKe3GxeOaCmkj z4aiyG>Eak7F*P~i06z<>V9v4F)2t72UWQ)gO|*GGlO+rD|O8LyytTU9p9m&yH`h7SL7HYqsDTcBYwPd`JQPk*Ic=@ ztxc@a(#tE)Z{a~NuY~R+Q!h=LGGz+a!EYXFyDc>}XIeSU5l+jIl9FO7UFo4Q;VsAK mrjG7zH!HBRpOGT-G@y GGywo1uSw1T literal 0 HcmV?d00001 diff --git a/graphics/items/icons/tm.png b/graphics/items/icons/tm.png new file mode 100644 index 0000000000000000000000000000000000000000..c4e6d1df78a0498443ae3567ec7c9f3839e7713a GIT binary patch literal 344 zcmV-e0jK_nP)O?V)oU&?!}z$w0rKPTIQ5F=7SjKa{zmLlzV%7Vq$y$|NsB)=2B8pffj^h00001 zbW%=J06^y0W&i*H)=5M`R2Y?GV89Rd3kq(4u|KX_wdUXl2z%qIlDC(;6v1q6sj`r_ zcON%_r8X`Ha_$*>34l0K9p$O-9=mv~2eSD!XS4^KnuLZf1acTx&TMVkmztIa;%u5Z zGeUtoy}TU6`PI?k&A^?}(Qy#ODK9f(*pWGN=6R4|X`yz%+h)$3sSVnKZaiJuXfQ7!Go#{#lSXxDM#hUzP8`-IC7~IWp*tBOYAZ8-d|DNH zx>4p>kpjossL(pD6N2o8)551ZTcl>bbl^RGox!r_=}hD0jF#C}d`w$q=2w@eRsH-V zYOC-!Ej%V~+4S{MiYFKz?P##%cHCyLZRd^(CQE_oobrX1lY>hI9vMi^Ha>QYeW734 k6a%xomg+Xao5>ao405|I5Bp{Ybc1~1>FVdQ&MBb@0NcuFtpET3 literal 0 HcmV?d00001 diff --git a/graphics/items/icons/town_map.png b/graphics/items/icons/town_map.png new file mode 100644 index 0000000000000000000000000000000000000000..9562c637536be89765db874102a3aa4fcd8a12b6 GIT binary patch literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*CqF|3=IvZBx%0u*0hZ3 z{`O2WD#&X}^PIEy-pyIE_vjYQ=4#D%-~I!YLqPBOuaAH%#*!evUhl;c6 zDd)q>+x+yIytgoK4R4#)tST|}z^z^dHf}A+!#z!(dLFD}{FES+Ah$`J#q*Ob!_}#h Uy*mV6p8>hd)78&qol`;+0Qjd%R{#J2 literal 0 HcmV?d00001 diff --git a/graphics/items/icons/tropic_mail.png b/graphics/items/icons/tropic_mail.png new file mode 100644 index 0000000000000000000000000000000000000000..4abc5212e5022082fad8e1a6f9e7e717b420caac GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bR${kCS!yY8$t zUf+qeJqv~O^J{E}YI?PiDx%%qv?sCp7&I6WBp4}`9R+VwPm857oSvCniUF*rM zxQb=3k~+SPnVdolCEUw@)}=@dAfyTMQ354i|dSy z8(#{Et1qxxd1b?rlVZoZr|xNxS-8bO|8dCbP;Upmq$^&Rxy-gPZEl<;rW=|1hN*PL zlxe~)yc`_57n?RqN`%Hd$XTGqBK<<)ivSZd!=>9M5f+?Vmw|le>FVdQ&MBb@0LXE5 A^#A|> literal 0 HcmV?d00001 diff --git a/graphics/items/icons/twisted_spoon.png b/graphics/items/icons/twisted_spoon.png new file mode 100644 index 0000000000000000000000000000000000000000..a67893e23ae0b122394bc47458c19ea8822853e3 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bRW`~N?yx%t_* zZ*$hH0m|S3UtAZe0i_vBg8YIR9G=}s19A#HT^vIsruOz<FGl!ne!6UwN-(bbL6PbUgMCUD8@Ep-P5kKt667AZaFed)ZcJ7f62@%e=09=>$~zZ>;7NY26CsT LtDnm{r-UW|7$8jO literal 0 HcmV?d00001 diff --git a/graphics/items/icons/ultra_ball.png b/graphics/items/icons/ultra_ball.png new file mode 100644 index 0000000000000000000000000000000000000000..0e58d05c8d64e0d7748e2c416ec3b42dc132d8d5 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bRS1qD@CH!oRo z^xoNT|NsBD^oj~f$|`Q2vSiEAt7`=QU$y-IE$TnRe;`_Q@B#-=FJnoNUoeBivm0qZ z&J0f%#}J9B$q5Q_23%ZR2W}drpOb0%nBsSSPHmcU$fGx>W*UE=)8^qBcbchCA?T9A zxtW)H6GDsq7^lv)yr{_VY|b1`lLYoA=Df>bFW%y>m3i*w-9VOS8k##T zOW%hDF-5DanKEt3k|ik|+uTiVp7r!Rc}4Ki9E0S`7cK~_@OE`-%yFL~?h+FtBPi$e dNk))?fhE`M;GYiOqd+$@c)I$ztaD0e0swr6a2@~v literal 0 HcmV?d00001 diff --git a/graphics/items/icons/up_grade.png b/graphics/items/icons/up_grade.png new file mode 100644 index 0000000000000000000000000000000000000000..3b539c60ac9d85474268614e5d752b87e6121ff0 GIT binary patch literal 276 zcmV+v0qg#WP)#w5bSsF9tuF&Y47CTEe!bUQlkouc{wXz|f|N1uIrw&v)XZ%crxp}<4xu@#WXSQ6wH%;50sMjDXQ@9E+g zA~7{N!GS#~GqcmcY;kr*MhC-`!(v=4oCbUzZ08CYnIzf;k2Jm%^kZal);PZBrUb`= zRcB6j_nz%ld?m5He2Vn+XlKjKX;Y?$pKmMN61Fyq^|{7N8K*~cESn#^m}6PYrMP$r z%k-PAI?0@qZt^^xQNAw9RQ4Iuw~)8}c18 z;BlQiu{VV4jUT&2;L!sI|;raSE zYYy`LoMAuno#nIQRU49@X-{;y)jm=AqGwa*Ehdc(`xomQoLL~h-RxUqOso24^*57B z_FAx&+`W@_+Dl=A!_AB0?bhJ`)E|u zlyBeO-Me>n@7^uRX_ zfXq_o-kd&xVZoT{KTUIq|(X|tA2np|CpSn~;?!as-orIj3S^LgZe-0O^Zu-IR zx9?8SNzopr0LWTy?f?J) literal 0 HcmV?d00001 diff --git a/graphics/items/icons/water_stone.png b/graphics/items/icons/water_stone.png new file mode 100644 index 0000000000000000000000000000000000000000..904e534627e551da7e98d5457d68d93485dd99f0 GIT binary patch literal 305 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bQT1)ZJK{Qv0D z|L@-YzjyDym)Dl8tb1$Dew(u8Uh$N@K(%m?sN-}C$YCrA@(X5gcy=QV$XV~{;us<^ zH90|nfs2)ub)k=2p}4xLDkF#c5mjAX-McbM52uOEnih7C<5@@h(zd0khbKe}el)u^Z` zmiMMqe_J!9`>0p(8pHqh&Te_v3{;2=y06u90{M(3L4Lsu4$p3+0XdgFT^vIsrp8{_ z%XP>=fc?Wa-c><`rn@ZMvkHUtW`$-P3B6LyI8|i3+ri?ij@G-sYWluXzgJ?fr}A_D z^S{&MSF+6CC$>55!@J+EUN?hH>+YN(#Wla2zFV1mrGkKKTxj3q&S!3+-1ZlnP@b3I)gLnNlgUO32m$bg6S z!U7!!t0v)z+7CP)%0#}M>3l;WR$;0{!_n;N0gHZpng2yMGVGPXuUm`Dx`LN`=vLDyux{)(S6qwUY3Mr?aF8O z93JFI6rW_exAD8-{wE4?Ro4Tyo$=_1xV4Zu;>a|~lm9m9yq)>+e9eWA&bQYHl*yj` Sr(^~4F@vY8pUXO@geCxlv~`vM literal 0 HcmV?d00001 diff --git a/graphics/items/icons/wepear_berry.png b/graphics/items/icons/wepear_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..05edc7bf2357f78205ccac5aad8627b8651eb49e GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bP^dB|YOJ+I=U zUQtWDypp`Od`m)>TK7mAWDsLXkY6x^!?PP{Ku({hi(`ny)Z7be`C1Hk*bBa~g}ZY2 zcfQ)8DWVV<{XC$hSi>d$U4%7<%Ae5s$nRGdRrLP66OjL&A!41`hx=xS9nN2Qvg_W& z+X~vtp2*7bHJvh4j%wtrIl#C0z~(h2m!96;$i6Xf!IMT$0g)=BuPf!g`YH8K^Vk@4 uYKi`D&NNq_uAj`IF_~?}LJS4+Zs+8=(i|sEh+pXma<-?dpUXO@geCxR8(k6r literal 0 HcmV?d00001 diff --git a/graphics/items/icons/wiki_berry.png b/graphics/items/icons/wiki_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..7114e13b7d6cfb7de940f0ceeec2b83483696a2b GIT binary patch literal 299 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bP^dB|W&@w23; zHD{Onw{)y-jyfB4HOO&}qgRq6P)%{>>Q_LDu_VYZn8D%MjWi%_A>5!0p6^$oe2L0Ud!jb171II>2>j&;kjxpa~*65p`jh}F9!O?f! z^PY!#F%}B;Ui0s-)>Y=I+qKupQ}8$MgT3~)hZlakdN@N#j7RE#T{BZo+dS{RSIr)- z3TC&GYA7t6Bgk_`!|&4-vr{)6nobv6B|bY5WHot%cUkexwT~YJ72TYrnz%P~Y5K?F iRYA7-@BaOqD3$NA#PespkncN?XFXm0T-G@yGywp~G)t(>}4n*ZeE2mnJX#{e)p!)a$qp46KFsTc2$6yR~BB<|_FbemUhMFBUm- z%x>7EvVh0uRJ682VCf%bSCMLNE!|y<*;`NDdYYiwAa{NDXC+tF6B2J5cDKArd7;y? zrmOFiWuRSg!uDM`^Gy%jyAt<{9 literal 0 HcmV?d00001 From 943931f86f50b946145548b0bee9663724e14980 Mon Sep 17 00:00:00 2001 From: paul Date: Sat, 13 Oct 2018 22:49:21 +0200 Subject: [PATCH 056/222] add mail --- data/graphics.s | 99 +++++++++++++++++++++++++++++- graphics/mail/bead/map.bin | Bin 0 -> 1280 bytes graphics/mail/bead/palette.pal | 19 ++++++ graphics/mail/bead/tiles.png | Bin 0 -> 263 bytes graphics/mail/dream/map.bin | Bin 0 -> 1280 bytes graphics/mail/dream/palette.pal | 19 ++++++ graphics/mail/dream/tiles.png | Bin 0 -> 351 bytes graphics/mail/fab/map.bin | Bin 0 -> 1280 bytes graphics/mail/fab/palette.pal | 19 ++++++ graphics/mail/fab/tiles.png | Bin 0 -> 388 bytes graphics/mail/glitter/map.bin | Bin 0 -> 1280 bytes graphics/mail/glitter/palette.pal | 19 ++++++ graphics/mail/glitter/tiles.png | Bin 0 -> 548 bytes graphics/mail/harbor/map.bin | Bin 0 -> 1280 bytes graphics/mail/harbor/palette.pal | 19 ++++++ graphics/mail/harbor/tiles.png | Bin 0 -> 366 bytes graphics/mail/mech/map.bin | Bin 0 -> 1280 bytes graphics/mail/mech/palette.pal | 19 ++++++ graphics/mail/mech/tiles.png | Bin 0 -> 299 bytes graphics/mail/orange/map.bin | Bin 0 -> 1280 bytes graphics/mail/orange/palette.pal | 19 ++++++ graphics/mail/orange/tiles.png | Bin 0 -> 439 bytes graphics/mail/retro/map.bin | Bin 0 -> 1280 bytes graphics/mail/retro/palette.pal | 19 ++++++ graphics/mail/retro/tiles.png | Bin 0 -> 615 bytes graphics/mail/shadow/map.bin | Bin 0 -> 1280 bytes graphics/mail/shadow/palette.pal | 19 ++++++ graphics/mail/shadow/tiles.png | Bin 0 -> 400 bytes graphics/mail/tropic/map.bin | Bin 0 -> 1280 bytes graphics/mail/tropic/palette.pal | 19 ++++++ graphics/mail/tropic/tiles.png | Bin 0 -> 389 bytes graphics/mail/wave/map.bin | Bin 0 -> 1280 bytes graphics/mail/wave/palette.pal | 19 ++++++ graphics/mail/wave/tiles.png | Bin 0 -> 409 bytes graphics/mail/wood/map.bin | Bin 0 -> 1280 bytes graphics/mail/wood/palette.pal | 19 ++++++ graphics/mail/wood/tiles.png | Bin 0 -> 518 bytes 37 files changed, 326 insertions(+), 1 deletion(-) create mode 100644 graphics/mail/bead/map.bin create mode 100644 graphics/mail/bead/palette.pal create mode 100644 graphics/mail/bead/tiles.png create mode 100644 graphics/mail/dream/map.bin create mode 100644 graphics/mail/dream/palette.pal create mode 100644 graphics/mail/dream/tiles.png create mode 100644 graphics/mail/fab/map.bin create mode 100644 graphics/mail/fab/palette.pal create mode 100644 graphics/mail/fab/tiles.png create mode 100644 graphics/mail/glitter/map.bin create mode 100644 graphics/mail/glitter/palette.pal create mode 100644 graphics/mail/glitter/tiles.png create mode 100644 graphics/mail/harbor/map.bin create mode 100644 graphics/mail/harbor/palette.pal create mode 100644 graphics/mail/harbor/tiles.png create mode 100644 graphics/mail/mech/map.bin create mode 100644 graphics/mail/mech/palette.pal create mode 100644 graphics/mail/mech/tiles.png create mode 100644 graphics/mail/orange/map.bin create mode 100644 graphics/mail/orange/palette.pal create mode 100644 graphics/mail/orange/tiles.png create mode 100644 graphics/mail/retro/map.bin create mode 100644 graphics/mail/retro/palette.pal create mode 100644 graphics/mail/retro/tiles.png create mode 100644 graphics/mail/shadow/map.bin create mode 100644 graphics/mail/shadow/palette.pal create mode 100644 graphics/mail/shadow/tiles.png create mode 100644 graphics/mail/tropic/map.bin create mode 100644 graphics/mail/tropic/palette.pal create mode 100644 graphics/mail/tropic/tiles.png create mode 100644 graphics/mail/wave/map.bin create mode 100644 graphics/mail/wave/palette.pal create mode 100644 graphics/mail/wave/tiles.png create mode 100644 graphics/mail/wood/map.bin create mode 100644 graphics/mail/wood/palette.pal create mode 100644 graphics/mail/wood/tiles.png diff --git a/data/graphics.s b/data/graphics.s index 101ad50dc..d2389d361 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -15891,8 +15891,105 @@ gUnknown_8E93B14:: @ 8E93B14 .incbin "baserom.gba", 0xE93B14, 0x24 gUnknown_8E93B38:: @ 8E93B38 - .incbin "baserom.gba", 0xE93B38, 0x2264 + .incbin "baserom.gba", 0xE93B38, 0x4E8 + + .align 2 +gFile_graphics_mail_orange_tiles_sheet:: @ 8E94020 + .incbin "graphics/mail/orange/tiles.4bpp.lz" + .align 2 +gFile_graphics_mail_harbor_tiles_sheet:: @ 8E941C0 + .incbin "graphics/mail/harbor/tiles.4bpp.lz" + + .align 2 +gFile_graphics_mail_glitter_tiles_sheet:: @ 8E942FC + .incbin "graphics/mail/glitter/tiles.4bpp.lz" + + .align 2 +gFile_graphics_mail_mech_tiles_sheet:: @ 8E9450C + .incbin "graphics/mail/mech/tiles.4bpp.lz" + + .align 2 +gFile_graphics_mail_wood_tiles_sheet:: @ 8E945E4 + .incbin "graphics/mail/wood/tiles.4bpp.lz" + + .align 2 +gFile_graphics_mail_wave_tiles_sheet:: @ 8E947DC + .incbin "graphics/mail/wave/tiles.4bpp.lz" + + .align 2 +gFile_graphics_mail_bead_tiles_sheet:: @ 8E9495C + .incbin "graphics/mail/bead/tiles.4bpp.lz" + + .align 2 +gFile_graphics_mail_shadow_tiles_sheet:: @ 8E94A04 + .incbin "graphics/mail/shadow/tiles.4bpp.lz" + + .align 2 +gFile_graphics_mail_tropic_tiles_sheet:: @ 8E94B94 + .incbin "graphics/mail/tropic/tiles.4bpp.lz" + + .align 2 +gFile_graphics_mail_dream_tiles_sheet:: @ 8E94CD4 + .incbin "graphics/mail/dream/tiles.4bpp.lz" + + .align 2 +gFile_graphics_mail_fab_tiles_sheet:: @ 8E94E3C + .incbin "graphics/mail/fab/tiles.4bpp.lz" + + .align 2 +gFile_graphics_mail_retro_tiles_sheet:: @ 8E94F8C + .incbin "graphics/mail/retro/tiles.4bpp.lz" + + .align 2 +gFile_graphics_mail_orange_map_tilemap:: @ 8E9522C + .incbin "graphics/mail/orange/map.bin.lz" + + .align 2 +gFile_graphics_mail_harbor_map_tilemap:: @ 8E95304 + .incbin "graphics/mail/harbor/map.bin.lz" + + .align 2 +gFile_graphics_mail_glitter_map_tilemap:: @ 8E953E4 + .incbin "graphics/mail/glitter/map.bin.lz" + + .align 2 +gFile_graphics_mail_mech_map_tilemap:: @ 8E954F0 + .incbin "graphics/mail/mech/map.bin.lz" + + .align 2 +gFile_graphics_mail_wood_map_tilemap:: @ 8E955CC + .incbin "graphics/mail/wood/map.bin.lz" + + .align 2 +gFile_graphics_mail_wave_map_tilemap:: @ 8E956BC + .incbin "graphics/mail/wave/map.bin.lz" + + .align 2 +gFile_graphics_mail_bead_map_tilemap:: @ 8E9579C + .incbin "graphics/mail/bead/map.bin.lz" + + .align 2 +gFile_graphics_mail_shadow_map_tilemap:: @ 8E9587C + .incbin "graphics/mail/shadow/map.bin.lz" + + .align 2 +gFile_graphics_mail_tropic_map_tilemap:: @ 8E95988 + .incbin "graphics/mail/tropic/map.bin.lz" + + .align 2 +gFile_graphics_mail_dream_map_tilemap:: @ 8E95A78 + .incbin "graphics/mail/dream/map.bin.lz" + + .align 2 +gFile_graphics_mail_fab_map_tilemap:: @ 8E95B70 + .incbin "graphics/mail/fab/map.bin.lz" + + .align 2 +gFile_graphics_mail_retro_map_tilemap:: @ 8E95C88 + .incbin "graphics/mail/retro/map.bin.lz" + + .align 2 gUnknown_8E95D9C:: @ 8E95D9C .incbin "baserom.gba", 0xE95D9C, 0x20 diff --git a/graphics/mail/bead/map.bin b/graphics/mail/bead/map.bin new file mode 100644 index 0000000000000000000000000000000000000000..6ebb4932ca1ad7338257352c88fd323f34313dd0 GIT binary patch literal 1280 zcmeH{Q3}8y3`0w`t^@CX-dScLjD48-J3|eKk4QyDc85y&Ag!5OrHRQgit!3O%f^1> zncU1mKGzsW{?FgP|L8qa*#F?p$*=m8x5=+M@{t*09Qm8(X5iiW&^*JEyZIX5#9!6m P{i&BeujP)8jO zNFN4(dQkw2R1p;$%oHr^hpWE)aacFx8uEM~^Tn4oXMAr{k36q9_46I^rl{^to(b|? zzI0G6mv=NlM`e?k$u0_N6T=UkiCHk*pPEmbY|4+(UE}He^hd`heF37kUL*(P$IJi# N002ovPDHLkV1n?0b9(>) literal 0 HcmV?d00001 diff --git a/graphics/mail/dream/map.bin b/graphics/mail/dream/map.bin new file mode 100644 index 0000000000000000000000000000000000000000..bc28d88640cad09f3d817f463bfdfa44fa89d11f GIT binary patch literal 1280 zcmeH`$qs-Z3`8f2GOoBU|No)L8v821Ec_wT#~B%1kZDZaGsirO{Qenff{|_OrY{0 xGF^`oJa`5ML*c=W91`tv>(&002ovPDHLkV1i5pnF#;@ literal 0 HcmV?d00001 diff --git a/graphics/mail/fab/map.bin b/graphics/mail/fab/map.bin new file mode 100644 index 0000000000000000000000000000000000000000..b11121bdf5346bccf0f762cef84d7b7b7b89f272 GIT binary patch literal 1280 zcmeH{TMNS=6oZ4N65Hc?ng9Q{t}XO3)`4!1n;!?CLLi<9e0v-`SKupf+$fz35F-Q9im?AibS|952X%3xq%x=!3}3)JsT+!E|`M^MvNsm|`qnY~_Rir(=Z zUn=B!8jkwj*)Du<-tSW!8CN&$UanYu`|%YH@3r$%PpkjAm)lezJ7JUWx`R@tsrB4* zRdb6f_nlp0eX6XHJ$QzSR?H-=JD=P7WCecjuu;%|Y_oa&3jy(Ip&K~n{*qoMs@r08 zDWvq&ms<&(I|_W~ZJpqHKyZ^*_|~hd;wKzx(3x9u>d2qak6y`_1?DU~;(y#b)8mWW z;;E9CV%CaEt*v?V(%{s!I=RIbamQCXo9$U+_Ux~@vD?zU7d||BZ(1Y-@2@Xq$dqH50}4D(S3j3^P6ya^dd^fGJsIj%z_-#kUVTdEG_;Oa4|z@YQ_S(2?57BMP4-jF@tW+X2>C64 zJO8-s(8-1LL#OIP^@BO9@PCA@egJ3LO@EOv49iC6_rdZ;IK~D zcwm4=zy{yWxJmq+BPm5H9U2D;-gaSh>;cV)9S7h@i(?Lw;P}>Na|Vu(0LAe0VSuv>t)UnkaQS#MN~rq*_s0& zKaZ|~d}@cIXpa}VWDP8nbT0000|@d*;E literal 0 HcmV?d00001 diff --git a/graphics/mail/harbor/palette.pal b/graphics/mail/harbor/palette.pal new file mode 100644 index 000000000..1a8795c33 --- /dev/null +++ b/graphics/mail/harbor/palette.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 164 189 +24 172 255 +255 255 148 +115 205 255 +74 172 255 +16 57 230 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +98 197 197 +57 148 148 +82 82 82 +139 139 139 +205 205 205 +255 255 255 diff --git a/graphics/mail/harbor/tiles.png b/graphics/mail/harbor/tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..b0a09ef690fdfe516f46ecfebb396ee55ab861d0 GIT binary patch literal 366 zcmeAS@N?(olHy`uVBq!ia0vp^JAjyjg&D-UuF(jj3<7*YT)UU-m00ut|Nkk)Xa9Sx z`7dDk3@8H!Nk@-bPMH!E6x7|_efI2Gpt^UyYj*;re|ow&hGO!!LPwA$MTey=-b^nXF4`}42WzVe|v4zuj9+@e+V z@4=4zInx(yd9<|Ub(eX@k&Hj}A4E=vci3!x{zvrWr_kLw-&T}Pcz96Imhrsvv)Jc- zN1jAx&V4Xld1;}a%K_nyTR!+cTk=r-X^h_D!;Po6+P^(m&sZcCa@;#)em^LTJYD@< J);T3K0RaB~t2+Py literal 0 HcmV?d00001 diff --git a/graphics/mail/mech/map.bin b/graphics/mail/mech/map.bin new file mode 100644 index 0000000000000000000000000000000000000000..d749740085ee8176954665e35c833e9e035f764b GIT binary patch literal 1280 zcmeH_-44JI424gq)v)(}-B}h5F-Q9im?AibS|IZCKdk9pz&C|s(L}F^`#NC326$D%|8<|!F zFFs&cvOuwrG4CMjiAG^1_in8QJ`AuvD#p!j-4yiu*D=)vw2YJ@h)z4*}Q$iB}SGIp6 literal 0 HcmV?d00001 diff --git a/graphics/mail/orange/map.bin b/graphics/mail/orange/map.bin new file mode 100644 index 0000000000000000000000000000000000000000..be4dbf9c56403ecac4f182fdc0ed4dd7a194dc4b GIT binary patch literal 1280 zcmeH`ITC;%3;=g9fCCb;z6b4`)fTb{mHD>7C2Dku488hJc9%+YX#!fX-4-j9WSLo8Ul0`03 z2_Z2?(D$Al0ut^27RULL_&F8=^NA6{bDGhk1TYCyZ-&O4$wLcJS+e2-BmC|}VQiCE z7+ZUdO^*k={T-zlN{RCpt)+2Dir5BB%NXp3lT6BtafNc@+%;aiGv4lHj}2RQ^Ubu3 z?gnFgv9l4URlw#J=G_?E+HV|=(~623G#6{`Iu97e5hpN|35;kr>RRCEEThE~a;leU z+dSU`rCH21XEkl!E=Ha4d&H$y_<-v1_Mlgp z*4ex)ei+xNBi6{VdOSERS6NwRGgW+rHDBWR$ur&^o;bxZViWO2GhKt-;W{0?!2Ohh he!!nN9$W7P<6r1g7~1mb7@`0G002ovPDHLkV1fdR$zA{e literal 0 HcmV?d00001 diff --git a/graphics/mail/retro/map.bin b/graphics/mail/retro/map.bin new file mode 100644 index 0000000000000000000000000000000000000000..30ee05ba21d853837df630307cd6df05064518ea GIT binary patch literal 1280 zcmds%*$#ss5JgWAm9})>_r)&q|3BEoW*TXH5PfJ`ZYIOanR`h9XuA|qEoEd{Dne=T z)#SBw<%U#_4(9JXkZQvFDZ~B0&YN%dRY1l z7&0oRBwFTv_QZQXDPtx~nK5Udk!2qapqF+PRCTsmHd^78c13BKic&t D5d}Eu literal 0 HcmV?d00001 diff --git a/graphics/mail/retro/palette.pal b/graphics/mail/retro/palette.pal new file mode 100644 index 000000000..707bdff93 --- /dev/null +++ b/graphics/mail/retro/palette.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 164 189 +246 106 41 +255 246 156 +255 205 65 +148 238 82 +172 106 49 +189 164 57 +123 213 246 +0 0 0 +255 230 90 +98 197 197 +57 148 148 +82 82 82 +139 139 139 +205 205 205 +255 255 255 diff --git a/graphics/mail/retro/tiles.png b/graphics/mail/retro/tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..da96ad4867dc827c18b467de0007892898124f45 GIT binary patch literal 615 zcmV-t0+{`YP)<&0000mP)t-si=@5w zYAOHrod3;1l!kP$;OhZVt<{Y-*i zSN-D!;~kAO&$1DGT~)8T+6V!CK%YT3CFRTc1@KzDdPU9s0iaRMi36>J1|UWESZ@WbG>KiE!=HF@-y~rau|Ks37fN+F-IFLEi`1 zQSBin1lW4`i(v^kMwlDf0G=XLy0d^7xus(!T>P`Yj-#0W_2L&JPh+&S_cSx(PzyWjeyeh1r@ZL=}K z+f{7mgDLyiuW%zW^RXS;Qv=_<_0TS7irr`$ZdY*9MIegDDG7I6K_Vz z_Y5vp4a0SUUI!MxiQECZ7;aK+E(uK&CAcOV7s)?YG>8AuD;^RhGsy3rD^d4{h~egv zJVt&2={k+2t)^#?N~H`7>l#vb756EWG?xpCz}BZYWfN6RJ? zJv+7}tvbEKSJtdprhKu|;2JEPm&YuVjM*5zS~1@})c5=WV>Twt!N2EU*+A_7|Nq~} v|89Pt{7Y1*p~)4T_379jqD6;3;h*`5`%|dV1uHh}Fz-1J67D|~`PT3Pn(G?> literal 0 HcmV?d00001 diff --git a/graphics/mail/shadow/palette.pal b/graphics/mail/shadow/palette.pal new file mode 100644 index 000000000..f08b838c5 --- /dev/null +++ b/graphics/mail/shadow/palette.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 164 189 +139 139 164 +123 123 139 +106 106 123 +90 90 98 +0 0 0 +0 0 0 +0 0 0 +213 65 16 +148 49 0 +98 197 197 +57 148 148 +82 82 82 +139 139 139 +205 205 205 +255 255 255 diff --git a/graphics/mail/shadow/tiles.png b/graphics/mail/shadow/tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..cdc63cde1c9c2cf47772b6c521376b98463d795f GIT binary patch literal 400 zcmV;B0dM|^P)V7P5JkB{vTZ8gz*?6sQ*y9e!A%a3E2N6t4)_9S`$#NYz=H5+059Hr zEf%uo>HirA;zeI|~62$>ta% zpAKvdn#Bf4RXH_a=wSdjQtavugT=0g)a6?XM9&7>NTJKudgJK2AFG6=WgP?bf&imH zp?u|X4NAhA5FGu}<3T69R~3_mOYvI2N%ViKS(qO6N};jWMffWMSqnbR~E uH6LEcJAfN6rz$NAfUmZVZfB9EC;b5}*JKTfBYpD#00001sx5Jh!>Z3ctYt8r~q_y7^8Ul1Y}$ktY@9qkFM3oIsA$Q9DM^nKE1 zMyp_xkbL;?2g?usj1Z&`k`UXr!XLsB@?Eklej|t*A@XT4pbA;x$+}!wpaGjIZu#%yg zAuU6+j@OIB0+FhtIdKjh<-uJqZ?8LK{T~u$V>6&q4~We{QJvv=iC*t@xXRBuZLLEu z)jZiOXGL{}T(TlygD(310HKYs4e5Ka1;X3A2Q^BQ(o7ZjB9yT%md~@-sgRBI3&J%3 jWtu`)Z!Qy>z=5YP#66N0%#DO=00000NkvXXu0mjf_qesT literal 0 HcmV?d00001 diff --git a/graphics/mail/wave/map.bin b/graphics/mail/wave/map.bin new file mode 100644 index 0000000000000000000000000000000000000000..0af44f798610451d37d70f049167281e2b8559ad GIT binary patch literal 1280 zcmeH`Q44?|41|xeva%?0>;M1L>_Hqf2=%c%#C!1D!JI(tBKQK4iMa=w0v&>9oS9-H z`CR(G|MThnzTQ8!xgB69=cji5TNrfc!!OdDUR~x7uoy7~UUTpK42K14;Gb^84sEA= Mvc5p%;{4T}7dtN`PXGV_ literal 0 HcmV?d00001 diff --git a/graphics/mail/wave/palette.pal b/graphics/mail/wave/palette.pal new file mode 100644 index 000000000..dd9bbfae4 --- /dev/null +++ b/graphics/mail/wave/palette.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 164 189 +0 172 246 +65 90 156 +106 131 197 +197 222 255 +82 156 197 +230 246 255 +0 0 0 +0 0 0 +0 0 0 +98 197 197 +57 148 148 +82 82 82 +139 139 139 +205 205 205 +255 255 255 diff --git a/graphics/mail/wave/tiles.png b/graphics/mail/wave/tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..6b5af8a01cfaf1076114c6946495de0682d5752c GIT binary patch literal 409 zcmV;K0cQS*P)8(?w)PqvjSJbPFKd7DdEJzTHQEA$rLdttJyGM(Y!U`ze2 zh}g^r14?neIl9CEz_tAEpo!%VA4F2GzBo;NncZJF2++$4^gM$O-v1F9=xTR@+IkK{y*8E7~FY5Aw^3A~Sym*;28Kp$E< zTw`jPN50AtM!(qth!YWMP0GS(*=u*McrF!XT2PT?$1~QibMOQc2fscL%$QcN6n#&pF$VBN*DnNRW02EN+ zGz*z#1+spw&%mGzHy&>-km3Y%z4HRlttmV%N09Re^^o2A!2#HA00000NkvXXu0mjf D5nQoe literal 0 HcmV?d00001 diff --git a/graphics/mail/wood/map.bin b/graphics/mail/wood/map.bin new file mode 100644 index 0000000000000000000000000000000000000000..4338a31c8a58ab172a0f64ba6c1095f3726b6744 GIT binary patch literal 1280 zcmeH{>kh&o3`S2F)1r94U*7*Y9myJ3gC=$VjC^StD5r&n0AoiWX1_wzx(z}iMK$T> zHEFzfp|QNAoO-LVWliJ7TfW7wVSPW{n)Cm8e+Pc4|F180R(=0=*YN%}GAFZO$%^%d nJn#7pTXyU@aQuoFPMo=L<;H|*MfWc6vwo0>Um@%NG0r~#4v`Kj literal 0 HcmV?d00001 diff --git a/graphics/mail/wood/palette.pal b/graphics/mail/wood/palette.pal new file mode 100644 index 000000000..9ed936918 --- /dev/null +++ b/graphics/mail/wood/palette.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 164 189 +139 131 74 +164 180 82 +189 180 106 +222 205 106 +180 156 65 +246 213 156 +189 164 90 +222 164 123 +255 205 180 +98 197 197 +57 148 148 +82 82 82 +139 139 139 +205 205 205 +255 255 255 diff --git a/graphics/mail/wood/tiles.png b/graphics/mail/wood/tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..a55029facdb033e39a3375080152473d7e86841c GIT binary patch literal 518 zcmV+h0{Q)kP)0oV}!4-lTi~&9q|0#W|FeQc_Zji;K<8&Hw-ZTQ7Xi0004z zNkl|MK%(8%qE#)DxXjtC2^Vqd4(mTnr+V(@hf65V)F92^^MXEaBV5j{n-;?uE zVuIje=wOoTl9|p->y2c!B51_jBVY5yd|``DQ+H3hWuEK(g{IFcq=5iLDi|U8%{Il9 zp0jQ_R3OV>fX-|Xmrw=V=AT#euT7lHx=}y_x z>f@aeq_M}vcgVn0?(3l?#Fw0W3J=4mcXk>2a6(+EgVRAXm`Z1K(w&ab#umWPKGJEt z2I^|NtwzfT!@_v8V;X;#7%Rol@`|bRFwimH#twkv)&L4 z>bX)y>}x3QZ!k&6ZWy5gmJH=gub@g*L%Nx3pa~S4en)Z*o>U#jm4os|x)TlY(s5bx zk!eX+v+AnOQD*vRz$)rn^?94_eoO}Wx;|{qpAotjr{ku60l8`6#DoS56951J07*qo IM6N<$g5MeXQUCw| literal 0 HcmV?d00001 From 771cc93d932058d4ba079a33c04c0380f339c6a7 Mon Sep 17 00:00:00 2001 From: paul Date: Sun, 14 Oct 2018 16:38:48 +0200 Subject: [PATCH 057/222] actually fix trade.s --- asm/trade.s | 5 ----- 1 file changed, 5 deletions(-) diff --git a/asm/trade.s b/asm/trade.s index 769b9b808..cf1cde171 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -7897,13 +7897,8 @@ sub_80504CC: @ 80504CC .align 2, 0 _080505B4: .4byte gUnknown_826D1D4 _080505B8: .4byte gUnknown_8D00000 -<<<<<<< HEAD _080505BC: .4byte gFile_graphics_interface_menu_map_tilemap -_080505C0: .4byte gUnknown_201C000 -======= -_080505BC: .4byte gUnknown_8D0051C _080505C0: .4byte gDecompressionBuffer ->>>>>>> upstream/master _080505C4: .4byte gUnknown_8D004D8 _080505C8: .4byte gUnknown_826D1BC thumb_func_end sub_80504CC From f12a82b068bb5871bc8ee9fd4146baa89799e645 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 15 Oct 2018 05:41:11 -0400 Subject: [PATCH 058/222] nonmatching sub_8112B3C --- asm/quest_log.s | 184 ---------------------------------- src/quest_log.c | 259 +++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 257 insertions(+), 186 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index e4947d79c..2bfc14dd1 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,190 +5,6 @@ .text - thumb_func_start sub_8112B3C -sub_8112B3C: @ 8112B3C - push {r4-r7,lr} - ldr r0, _08112B54 @ =gUnknown_3005E88 - ldrb r0, [r0] - cmp r0, 0x4 - bls _08112B48 - b _08112C84 -_08112B48: - lsls r0, 2 - ldr r1, _08112B58 @ =_08112B5C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08112B54: .4byte gUnknown_3005E88 -_08112B58: .4byte _08112B5C - .align 2, 0 -_08112B5C: - .4byte _08112C84 - .4byte _08112B70 - .4byte _08112C5E - .4byte _08112C84 - .4byte _08112C84 -_08112B70: - bl sub_8112CEC - lsls r0, 24 - cmp r0, 0 - beq _08112B7C - b _08112C72 -_08112B7C: - ldr r0, _08112B8C @ =gUnknown_203B01A - ldrh r1, [r0] - adds r7, r0, 0 - cmp r1, 0 - beq _08112B90 - subs r0, r1, 0x1 - strh r0, [r7] - b _08112C84 - .align 2, 0 -_08112B8C: .4byte gUnknown_203B01A -_08112B90: - ldr r5, _08112B98 @ =gUnknown_3005E88 - ldr r4, _08112B9C @ =gUnknown_203AF98 - ldr r6, _08112BA0 @ =gUnknown_3005E94 - b _08112BD4 - .align 2, 0 -_08112B98: .4byte gUnknown_3005E88 -_08112B9C: .4byte gUnknown_203AF98 -_08112BA0: .4byte gUnknown_3005E94 -_08112BA4: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - ldr r1, _08112BF0 @ =gUnknown_3005E8C - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r1] - cmp r0, r1 - bcs _08112C58 - ldrh r0, [r4] - ldr r1, [r6] - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x4] - strh r0, [r7] - cmp r2, 0x3 - beq _08112C84 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _08112BD4 - ldr r0, _08112BF4 @ =0x0000ffff - cmp r1, r0 - bne _08112C84 -_08112BD4: - ldrh r0, [r4] - ldr r1, [r6] - lsls r0, 3 - adds r3, r0, r1 - ldrb r0, [r3, 0x6] - cmp r0, 0x2 - beq _08112C2C - cmp r0, 0x2 - bgt _08112BF8 - cmp r0, 0 - beq _08112C0C - cmp r0, 0x1 - beq _08112C18 - b _08112C50 - .align 2, 0 -_08112BF0: .4byte gUnknown_3005E8C -_08112BF4: .4byte 0x0000ffff -_08112BF8: - cmp r0, 0xFE - beq _08112C50 - cmp r0, 0xFE - bgt _08112C06 - cmp r0, 0x3 - beq _08112C4E - b _08112C50 -_08112C06: - cmp r0, 0xFF - beq _08112C4C - b _08112C50 -_08112C0C: - ldr r0, _08112C14 @ =gUnknown_203AF9A - ldrb r1, [r3] - lsls r1, 1 - b _08112C20 - .align 2, 0 -_08112C14: .4byte gUnknown_203AF9A -_08112C18: - ldr r0, _08112C28 @ =gUnknown_203AF9A - ldrb r1, [r3] - lsls r1, 1 - adds r0, 0x1 -_08112C20: - adds r1, r0 - ldrb r0, [r3, 0x3] - strb r0, [r1] - b _08112C50 - .align 2, 0 -_08112C28: .4byte gUnknown_203AF9A -_08112C2C: - ldr r2, _08112C48 @ =gUnknown_3005E90 - ldrb r1, [r3, 0x3] - lsls r1, 24 - ldrb r0, [r3, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3] - orrs r1, r0 - str r1, [r2] - b _08112C50 - .align 2, 0 -_08112C48: .4byte gUnknown_3005E90 -_08112C4C: - movs r0, 0 -_08112C4E: - strb r0, [r5] -_08112C50: - ldrb r2, [r5] - cmp r2, 0 - bne _08112BA4 - b _08112C84 -_08112C58: - movs r0, 0 - strb r0, [r5] - b _08112C84 -_08112C5E: - bl ScriptContext2_IsEnabled - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08112C84 - ldr r1, _08112C8C @ =gUnknown_203B01A - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_08112C72: - ldr r0, _08112C90 @ =gUnknown_203AF98 - ldr r1, _08112C94 @ =gUnknown_3005E8C - ldrh r0, [r0] - ldrh r1, [r1] - cmp r0, r1 - bcc _08112C84 - ldr r1, _08112C98 @ =gUnknown_3005E88 - movs r0, 0 - strb r0, [r1] -_08112C84: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08112C8C: .4byte gUnknown_203B01A -_08112C90: .4byte gUnknown_203AF98 -_08112C94: .4byte gUnknown_3005E8C -_08112C98: .4byte gUnknown_3005E88 - thumb_func_end sub_8112B3C - thumb_func_start sub_8112C9C sub_8112C9C: @ 8112C9C ldr r1, _08112CA8 @ =gUnknown_203B01A diff --git a/src/quest_log.c b/src/quest_log.c index 49e0db836..61b1e66d6 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -1550,11 +1550,11 @@ void sub_811278C(u8 a0, u8 a1) } } -void sub_81127F8(u32 * a0) +void sub_81127F8(struct UnkStruct_3005E90 * a0) { if (gUnknown_203AF98 < gUnknown_3005E8C) { - u32 r2 = *a0 & 0x00FF00F3; + u32 r2 = *(u32 *)a0 & 0x00FF00F3; gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A; gUnknown_3005E94[gUnknown_203AF98].unk_6 = 2; gUnknown_3005E94[gUnknown_203AF98].unk_0 = r2; @@ -1677,3 +1677,258 @@ void sub_8112940(u8 a0, struct UnkStruct_203AE98 *a1, u16 a2) break; } } + +#ifdef NONMATCHING +void sub_8112B3C(void) +{ + switch (gUnknown_3005E88) + { + case 0: + break; + case 1: + if (sub_8112CEC()) + { + if (gUnknown_203B01A != 0) + gUnknown_203B01A--; + else + { + while (1) + { + switch (gUnknown_3005E94[gUnknown_203AF98].unk_6) + { + case 0: + gUnknown_203AF9A[gUnknown_3005E94[gUnknown_203AF98].unk_0][0] = gUnknown_3005E94[gUnknown_203AF98].unk_3; + break; + case 1: + gUnknown_203AF9A[gUnknown_3005E94[gUnknown_203AF98].unk_0][1] = gUnknown_3005E94[gUnknown_203AF98].unk_3; + break; + case 2: + *(u32 *)&gUnknown_3005E90 = ((gUnknown_3005E94[gUnknown_203AF98].unk_3 << 24) | (gUnknown_3005E94[gUnknown_203AF98].unk_2 << 16) | (gUnknown_3005E94[gUnknown_203AF98].unk_1 << 8) | (gUnknown_3005E94[gUnknown_203AF98].unk_0 << 0)); + break; + case 3: + gUnknown_3005E88 = 3; + break; + case 0xFE: + break; + case 0xFF: + gUnknown_3005E88 = 0; + break; + } + if (gUnknown_3005E88 == 0) + break; + if (++gUnknown_203AF98 >= gUnknown_3005E8C) + { + gUnknown_3005E88 = 0; + break; + } + gUnknown_203B01A = gUnknown_3005E94[gUnknown_203AF98].unk_4; + if (gUnknown_3005E88 == 3) + break; + if (gUnknown_203B01A == 0) + continue; + if (gUnknown_203B01A == 0xFFFF) + break; + } + } + } + else if (gUnknown_203AF98 >= gUnknown_3005E8C) + gUnknown_3005E88 = 0; + break; + case 2: + if (ScriptContext2_IsEnabled() != 1) + gUnknown_203B01A++; + if (gUnknown_203AF98 >= gUnknown_3005E8C) + gUnknown_3005E88 = 0; + break; + case 3: + break; + case 4: + break; + } +} +#else +NAKED +void sub_8112B3C(void) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tldr r0, _08112B54 @ =gUnknown_3005E88\n" + "\tldrb r0, [r0]\n" + "\tcmp r0, 0x4\n" + "\tbls _08112B48\n" + "\tb _08112C84\n" + "_08112B48:\n" + "\tlsls r0, 2\n" + "\tldr r1, _08112B58 @ =_08112B5C\n" + "\tadds r0, r1\n" + "\tldr r0, [r0]\n" + "\tmov pc, r0\n" + "\t.align 2, 0\n" + "_08112B54: .4byte gUnknown_3005E88\n" + "_08112B58: .4byte _08112B5C\n" + "\t.align 2, 0\n" + "_08112B5C:\n" + "\t.4byte _08112C84\n" + "\t.4byte _08112B70\n" + "\t.4byte _08112C5E\n" + "\t.4byte _08112C84\n" + "\t.4byte _08112C84\n" + "_08112B70:\n" + "\tbl sub_8112CEC\n" + "\tlsls r0, 24\n" + "\tcmp r0, 0\n" + "\tbeq _08112B7C\n" + "\tb _08112C72\n" + "_08112B7C:\n" + "\tldr r0, _08112B8C @ =gUnknown_203B01A\n" + "\tldrh r1, [r0]\n" + "\tadds r7, r0, 0\n" + "\tcmp r1, 0\n" + "\tbeq _08112B90\n" + "\tsubs r0, r1, 0x1\n" + "\tstrh r0, [r7]\n" + "\tb _08112C84\n" + "\t.align 2, 0\n" + "_08112B8C: .4byte gUnknown_203B01A\n" + "_08112B90:\n" + "\tldr r5, _08112B98 @ =gUnknown_3005E88\n" + "\tldr r4, _08112B9C @ =gUnknown_203AF98\n" + "\tldr r6, _08112BA0 @ =gUnknown_3005E94\n" + "\tb _08112BD4\n" + "\t.align 2, 0\n" + "_08112B98: .4byte gUnknown_3005E88\n" + "_08112B9C: .4byte gUnknown_203AF98\n" + "_08112BA0: .4byte gUnknown_3005E94\n" + "_08112BA4:\n" + "\tldrh r0, [r4]\n" + "\tadds r0, 0x1\n" + "\tstrh r0, [r4]\n" + "\tldr r1, _08112BF0 @ =gUnknown_3005E8C\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tldrh r1, [r1]\n" + "\tcmp r0, r1\n" + "\tbcs _08112C58\n" + "\tldrh r0, [r4]\n" + "\tldr r1, [r6]\n" + "\tlsls r0, 3\n" + "\tadds r0, r1\n" + "\tldrh r0, [r0, 0x4]\n" + "\tstrh r0, [r7]\n" + "\tcmp r2, 0x3\n" + "\tbeq _08112C84\n" + "\tlsls r0, 16\n" + "\tlsrs r1, r0, 16\n" + "\tcmp r1, 0\n" + "\tbeq _08112BD4\n" + "\tldr r0, _08112BF4 @ =0x0000ffff\n" + "\tcmp r1, r0\n" + "\tbne _08112C84\n" + "_08112BD4:\n" + "\tldrh r0, [r4]\n" + "\tldr r1, [r6]\n" + "\tlsls r0, 3\n" + "\tadds r3, r0, r1\n" + "\tldrb r0, [r3, 0x6]\n" + "\tcmp r0, 0x2\n" + "\tbeq _08112C2C\n" + "\tcmp r0, 0x2\n" + "\tbgt _08112BF8\n" + "\tcmp r0, 0\n" + "\tbeq _08112C0C\n" + "\tcmp r0, 0x1\n" + "\tbeq _08112C18\n" + "\tb _08112C50\n" + "\t.align 2, 0\n" + "_08112BF0: .4byte gUnknown_3005E8C\n" + "_08112BF4: .4byte 0x0000ffff\n" + "_08112BF8:\n" + "\tcmp r0, 0xFE\n" + "\tbeq _08112C50\n" + "\tcmp r0, 0xFE\n" + "\tbgt _08112C06\n" + "\tcmp r0, 0x3\n" + "\tbeq _08112C4E\n" + "\tb _08112C50\n" + "_08112C06:\n" + "\tcmp r0, 0xFF\n" + "\tbeq _08112C4C\n" + "\tb _08112C50\n" + "_08112C0C:\n" + "\tldr r0, _08112C14 @ =gUnknown_203AF9A\n" + "\tldrb r1, [r3]\n" + "\tlsls r1, 1\n" + "\tb _08112C20\n" + "\t.align 2, 0\n" + "_08112C14: .4byte gUnknown_203AF9A\n" + "_08112C18:\n" + "\tldr r0, _08112C28 @ =gUnknown_203AF9A\n" + "\tldrb r1, [r3]\n" + "\tlsls r1, 1\n" + "\tadds r0, 0x1\n" + "_08112C20:\n" + "\tadds r1, r0\n" + "\tldrb r0, [r3, 0x3]\n" + "\tstrb r0, [r1]\n" + "\tb _08112C50\n" + "\t.align 2, 0\n" + "_08112C28: .4byte gUnknown_203AF9A\n" + "_08112C2C:\n" + "\tldr r2, _08112C48 @ =gUnknown_3005E90\n" + "\tldrb r1, [r3, 0x3]\n" + "\tlsls r1, 24\n" + "\tldrb r0, [r3, 0x2]\n" + "\tlsls r0, 16\n" + "\torrs r1, r0\n" + "\tldrb r0, [r3, 0x1]\n" + "\tlsls r0, 8\n" + "\torrs r1, r0\n" + "\tldrb r0, [r3]\n" + "\torrs r1, r0\n" + "\tstr r1, [r2]\n" + "\tb _08112C50\n" + "\t.align 2, 0\n" + "_08112C48: .4byte gUnknown_3005E90\n" + "_08112C4C:\n" + "\tmovs r0, 0\n" + "_08112C4E:\n" + "\tstrb r0, [r5]\n" + "_08112C50:\n" + "\tldrb r2, [r5]\n" + "\tcmp r2, 0\n" + "\tbne _08112BA4\n" + "\tb _08112C84\n" + "_08112C58:\n" + "\tmovs r0, 0\n" + "\tstrb r0, [r5]\n" + "\tb _08112C84\n" + "_08112C5E:\n" + "\tbl ScriptContext2_IsEnabled\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tcmp r0, 0x1\n" + "\tbeq _08112C84\n" + "\tldr r1, _08112C8C @ =gUnknown_203B01A\n" + "\tldrh r0, [r1]\n" + "\tadds r0, 0x1\n" + "\tstrh r0, [r1]\n" + "_08112C72:\n" + "\tldr r0, _08112C90 @ =gUnknown_203AF98\n" + "\tldr r1, _08112C94 @ =gUnknown_3005E8C\n" + "\tldrh r0, [r0]\n" + "\tldrh r1, [r1]\n" + "\tcmp r0, r1\n" + "\tbcc _08112C84\n" + "\tldr r1, _08112C98 @ =gUnknown_3005E88\n" + "\tmovs r0, 0\n" + "\tstrb r0, [r1]\n" + "_08112C84:\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" + "_08112C8C: .4byte gUnknown_203B01A\n" + "_08112C90: .4byte gUnknown_203AF98\n" + "_08112C94: .4byte gUnknown_3005E8C\n" + "_08112C98: .4byte gUnknown_3005E88"); +} +#endif From 1c90805498f7a03d415d74bfe3b380396b81e14f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 15 Oct 2018 10:07:39 -0500 Subject: [PATCH 059/222] through sub_8112D40 --- asm/quest_log.s | 154 ------------------------------------------------ include/save.h | 1 - src/quest_log.c | 65 ++++++++++++++++++++ 3 files changed, 65 insertions(+), 155 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 2bfc14dd1..22a28b96f 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,160 +5,6 @@ .text - thumb_func_start sub_8112C9C -sub_8112C9C: @ 8112C9C - ldr r1, _08112CA8 @ =gUnknown_203B01A - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - bx lr - .align 2, 0 -_08112CA8: .4byte gUnknown_203B01A - thumb_func_end sub_8112C9C - - thumb_func_start sub_8112CAC -sub_8112CAC: @ 8112CAC - push {lr} - ldr r0, _08112CC0 @ =gUnknown_3005E88 - ldrb r0, [r0] - cmp r0, 0x4 - bhi _08112CDC - lsls r0, 2 - ldr r1, _08112CC4 @ =_08112CC8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08112CC0: .4byte gUnknown_3005E88 -_08112CC4: .4byte _08112CC8 - .align 2, 0 -_08112CC8: - .4byte _08112CDC - .4byte _08112CE0 - .4byte _08112CE4 - .4byte _08112CE0 - .4byte _08112CE4 -_08112CDC: - movs r0, 0 - b _08112CE6 -_08112CE0: - movs r0, 0x1 - b _08112CE6 -_08112CE4: - movs r0, 0x2 -_08112CE6: - pop {r1} - bx r1 - thumb_func_end sub_8112CAC - - thumb_func_start sub_8112CEC -sub_8112CEC: @ 8112CEC - push {lr} - ldr r0, _08112D0C @ =gUnknown_203AF98 - ldr r1, _08112D10 @ =gUnknown_3005E8C - ldrh r0, [r0] - ldrh r1, [r1] - cmp r0, r1 - bcs _08112D06 - bl ScriptContext2_IsEnabled - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08112D14 -_08112D06: - movs r0, 0x1 - b _08112D16 - .align 2, 0 -_08112D0C: .4byte gUnknown_203AF98 -_08112D10: .4byte gUnknown_3005E8C -_08112D14: - movs r0, 0 -_08112D16: - pop {r1} - bx r1 - thumb_func_end sub_8112CEC - - thumb_func_start sub_8112D1C -sub_8112D1C: @ 8112D1C - push {lr} - ldr r0, _08112D30 @ =gUnknown_203AF98 - ldr r1, _08112D34 @ =gUnknown_3005E8C - ldrh r0, [r0] - ldrh r1, [r1] - cmp r0, r1 - bcs _08112D38 - movs r0, 0 - b _08112D3A - .align 2, 0 -_08112D30: .4byte gUnknown_203AF98 -_08112D34: .4byte gUnknown_3005E8C -_08112D38: - movs r0, 0x1 -_08112D3A: - pop {r1} - bx r1 - thumb_func_end sub_8112D1C - - thumb_func_start sub_8112D40 -sub_8112D40: @ 8112D40 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - ldr r0, _08112D6C @ =gUnknown_203AF98 - ldrh r1, [r0] - cmp r1, 0 - beq _08112D66 - ldr r0, _08112D70 @ =gUnknown_3005E8C - ldrh r0, [r0] - cmp r1, r0 - bcs _08112D66 - ldr r4, _08112D74 @ =gUnknown_203B01E - ldr r1, _08112D78 @ =gUnknown_3002020 - ldrh r0, [r4] - ldrh r1, [r1] - cmp r0, r1 - bcc _08112D7C -_08112D66: - movs r0, 0 - b _08112DA8 - .align 2, 0 -_08112D6C: .4byte gUnknown_203AF98 -_08112D70: .4byte gUnknown_3005E8C -_08112D74: .4byte gUnknown_203B01E -_08112D78: .4byte gUnknown_3002020 -_08112D7C: - ldrh r3, [r4] - ldr r0, _08112DA0 @ =gUnknown_300201C - ldr r1, [r0] - lsls r0, r3, 2 - adds r2, r0, r1 - ldr r1, [r2] - lsls r0, r1, 17 - lsrs r0, 17 - cmp r0, r5 - bne _08112DA4 - lsls r0, r1, 16 - lsrs r0, 31 - cmp r0, r6 - bne _08112DA4 - adds r1, r2, 0x2 - adds r0, r3, 0x1 - strh r0, [r4] - b _08112DA6 - .align 2, 0 -_08112DA0: .4byte gUnknown_300201C -_08112DA4: - movs r1, 0 -_08112DA6: - adds r0, r1, 0 -_08112DA8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8112D40 - thumb_func_start sub_8112DB0 sub_8112DB0: @ 8112DB0 push {r4-r7,lr} diff --git a/include/save.h b/include/save.h index 5a502e1fc..29524a7e2 100644 --- a/include/save.h +++ b/include/save.h @@ -119,7 +119,6 @@ u8 Save_LoadGameData(u8 a1); u32 TryCopySpecialSaveSection(u8 sector, u8* dst); u32 sub_8153634(u8 sector, u8* src); void sub_8153688(u8 taskId); -//void Save_LoadGameData(u8); u32 sub_80DA5E0(u8 sector, u8* src); void sub_80DA634(u8 taskId); diff --git a/src/quest_log.c b/src/quest_log.c index a1008aa06..1419ca8a0 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -52,11 +52,21 @@ struct UnkStruct_203AE98 u8 unk_6; }; +struct UnkStruct_300201C +{ + u16 unk_0_0:15; + u16 unk_0_f:1; + u16 unk_2; +}; + u8 gUnknown_3005E88; u16 gUnknown_3005E8C; struct UnkStruct_3005E90 gUnknown_3005E90; struct UnkStruct_203AE98 * gUnknown_3005E94; +IWRAM_DATA struct UnkStruct_300201C * gUnknown_300201C; +IWRAM_DATA u16 gUnknown_3002020; + EWRAM_DATA u8 gUnknown_203ADF8 = 0; EWRAM_DATA u8 gUnknown_203ADF9 = 0; EWRAM_DATA u8 gUnknown_203ADFA = 0; @@ -73,6 +83,7 @@ EWRAM_DATA u16 gUnknown_203AF98 = 0; EWRAM_DATA u8 gUnknown_203AF9A[64][2]; EWRAM_DATA u16 gUnknown_203B01A; EWRAM_DATA u16 gUnknown_203B01C; +EWRAM_DATA u16 gUnknown_203B01E; EWRAM_DATA u16 gUnknown_203B044[2] = {0}; @@ -1932,3 +1943,57 @@ void sub_8112B3C(void) "_08112C98: .4byte gUnknown_3005E88"); } #endif + +void sub_8112C9C(void) +{ + gUnknown_203B01A++; +} + +u8 sub_8112CAC(void) +{ + switch (gUnknown_3005E88) + { + case 0: + default: + return 0; + case 1: + case 3: + return 1; + case 2: + case 4: + return 2; + } +} + +bool8 sub_8112CEC(void) +{ + if (gUnknown_203AF98 >= gUnknown_3005E8C || ScriptContext2_IsEnabled() == TRUE) + return TRUE; + return FALSE; +} + +bool8 sub_8112D1C(void) +{ + if (gUnknown_203AF98 >= gUnknown_3005E8C) + return TRUE; + return FALSE; +} + +u16 * sub_8112D40(u8 a0, u16 a1) +{ + u16 * response; + if (gUnknown_203AF98 == 0) + return NULL; + if (gUnknown_203AF98 >= gUnknown_3005E8C) + return NULL; + if (gUnknown_203B01E >= gUnknown_3002020) + return NULL; + if (gUnknown_300201C[gUnknown_203B01E].unk_0_0 == a1 && gUnknown_300201C[gUnknown_203B01E].unk_0_f == a0) + { + response = &gUnknown_300201C[gUnknown_203B01E].unk_2; + gUnknown_203B01E++; + } + else + response = NULL; + return response; +} From 3f43d60bc240bfcdc3da254bf9ff50af3cbaee1a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 15 Oct 2018 11:30:50 -0500 Subject: [PATCH 060/222] through sub_8112EB4 --- asm/quest_log.s | 157 ----------------------------------------------- data/quest_log.s | 10 +-- src/quest_log.c | 63 +++++++++++++++++++ 3 files changed, 64 insertions(+), 166 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 22a28b96f..d6dc18f13 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,163 +5,6 @@ .text - thumb_func_start sub_8112DB0 -sub_8112DB0: @ 8112DB0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 16 - lsrs r3, r1, 16 - lsls r2, 16 - lsrs r2, 16 - mov r12, r2 - ldr r0, _08112E20 @ =gUnknown_203AF98 - ldrh r1, [r0] - cmp r1, 0 - beq _08112E18 - ldr r0, _08112E24 @ =gUnknown_3005E8C - ldrh r0, [r0] - cmp r1, r0 - bcs _08112E18 - ldr r6, _08112E28 @ =gUnknown_203B01E - ldr r1, _08112E2C @ =gUnknown_3002020 - ldrh r0, [r6] - ldrh r1, [r1] - cmp r0, r1 - bcs _08112E18 - adds r2, r0, 0 - ldr r5, _08112E30 @ =gUnknown_300201C - ldr r4, [r5] - lsls r2, 2 - adds r2, r4 - ldr r1, _08112E34 @ =0x00007fff - ands r1, r3 - ldrh r3, [r2] - ldr r0, _08112E38 @ =0xffff8000 - ands r0, r3 - orrs r0, r1 - strh r0, [r2] - ldrh r1, [r6] - lsls r1, 2 - adds r1, r4 - lsls r3, r7, 7 - ldrb r2, [r1, 0x1] - movs r0, 0x7F - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x1] - ldrh r0, [r6] - ldr r1, [r5] - lsls r0, 2 - adds r0, r1 - mov r1, r12 - strh r1, [r0, 0x2] - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] -_08112E18: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08112E20: .4byte gUnknown_203AF98 -_08112E24: .4byte gUnknown_3005E8C -_08112E28: .4byte gUnknown_203B01E -_08112E2C: .4byte gUnknown_3002020 -_08112E30: .4byte gUnknown_300201C -_08112E34: .4byte 0x00007fff -_08112E38: .4byte 0xffff8000 - thumb_func_end sub_8112DB0 - - thumb_func_start sub_8112E3C -sub_8112E3C: @ 8112E3C - push {r4,r5,lr} - lsls r0, 24 - lsls r2, 16 - lsrs r3, r0, 24 - movs r4, 0xFF - lsls r4, 24 - adds r0, r4 - lsrs r0, 24 - cmp r0, 0x1 - bls _08112E5C - ldr r1, _08112E58 @ =gUnknown_3005E88 - movs r0, 0 - strb r0, [r1] - b _08112E8E - .align 2, 0 -_08112E58: .4byte gUnknown_3005E88 -_08112E5C: - ldr r5, _08112E94 @ =gUnknown_300201C - str r1, [r5] - ldr r1, _08112E98 @ =gUnknown_3002020 - lsrs r0, r2, 18 - strh r0, [r1] - ldr r1, _08112E9C @ =gUnknown_203B01E - movs r0, 0 - strh r0, [r1] - cmp r3, 0x2 - bne _08112E8E - movs r2, 0 - ldr r4, _08112EA0 @ =gUnknown_3005E8C - ldrh r0, [r4] - cmp r2, r0 - bge _08112E8E - ldr r0, _08112EA4 @ =gUnknown_84566A4 - ldr r3, [r0] -_08112E7E: - ldr r1, [r5] - lsls r0, r2, 2 - adds r0, r1 - str r3, [r0] - adds r2, 0x1 - ldrh r0, [r4] - cmp r2, r0 - blt _08112E7E -_08112E8E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08112E94: .4byte gUnknown_300201C -_08112E98: .4byte gUnknown_3002020 -_08112E9C: .4byte gUnknown_203B01E -_08112EA0: .4byte gUnknown_3005E8C -_08112EA4: .4byte gUnknown_84566A4 - thumb_func_end sub_8112E3C - - thumb_func_start sub_8112EA8 -sub_8112EA8: @ 8112EA8 - ldr r1, _08112EB0 @ =gUnknown_203B020 - movs r0, 0xFF - strb r0, [r1] - bx lr - .align 2, 0 -_08112EB0: .4byte gUnknown_203B020 - thumb_func_end sub_8112EA8 - - thumb_func_start sub_8112EB4 -sub_8112EB4: @ 8112EB4 - push {r4,lr} - ldr r4, _08112ED4 @ =gUnknown_203B020 - ldrb r0, [r4] - cmp r0, 0xFF - bne _08112ECC - ldr r0, _08112ED8 @ =gUnknown_8456928 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - bl PutWindowTilemap -_08112ECC: - ldrb r0, [r4] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08112ED4: .4byte gUnknown_203B020 -_08112ED8: .4byte gUnknown_8456928 - thumb_func_end sub_8112EB4 - thumb_func_start sub_8112EDC sub_8112EDC: @ 8112EDC push {r4,r5,lr} diff --git a/data/quest_log.s b/data/quest_log.s index dd7776ae0..a68d924a7 100644 --- a/data/quest_log.s +++ b/data/quest_log.s @@ -1,14 +1,6 @@ .section .rodata -gUnknown_84566A4:: @ 84566A4 - .incbin "baserom.gba", 0x4566A4, 0x4 - -gUnknown_84566A8:: @ 84566A8 - .incbin "baserom.gba", 0x4566A8, 0x280 - -gUnknown_8456928:: @ 8456928 - .incbin "baserom.gba", 0x456928, 0x8 - + .align 2 gUnknown_8456930:: @ 8456930 .incbin "baserom.gba", 0x456930, 0x4 diff --git a/src/quest_log.c b/src/quest_log.c index 1419ca8a0..590892acf 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -84,6 +84,7 @@ EWRAM_DATA u8 gUnknown_203AF9A[64][2]; EWRAM_DATA u16 gUnknown_203B01A; EWRAM_DATA u16 gUnknown_203B01C; EWRAM_DATA u16 gUnknown_203B01E; +EWRAM_DATA u8 gUnknown_203B020; EWRAM_DATA u16 gUnknown_203B044[2] = {0}; @@ -1979,6 +1980,12 @@ bool8 sub_8112D1C(void) return FALSE; } +const struct UnkStruct_300201C gUnknown_84566A4 = { + 0, + FALSE, + 0x7FFF +}; + u16 * sub_8112D40(u8 a0, u16 a1) { u16 * response; @@ -1997,3 +2004,59 @@ u16 * sub_8112D40(u8 a0, u16 a1) response = NULL; return response; } + +void sub_8112DB0(u8 a0, u16 a1, u16 a2) +{ + if (gUnknown_203AF98 == 0) + return; + if (gUnknown_203AF98 >= gUnknown_3005E8C) + return; + if (gUnknown_203B01E >= gUnknown_3002020) + return; + gUnknown_300201C[gUnknown_203B01E].unk_0_0 = a1; + gUnknown_300201C[gUnknown_203B01E].unk_0_f = a0; + gUnknown_300201C[gUnknown_203B01E].unk_2 = a2; + gUnknown_203B01E++; +} + +void sub_8112E3C(u8 a0, struct UnkStruct_300201C * a1, u16 a2) +{ + s32 i; + + if (a0 == 0 || a0 > 2) + gUnknown_3005E88 = 0; + else + { + gUnknown_300201C = a1; + gUnknown_3002020 = a2 >> 2; + gUnknown_203B01E = 0; + if (a0 == 2) + { + for (i = 0; i < gUnknown_3005E8C; i++) + { + gUnknown_300201C[i] = gUnknown_84566A4; + } + } + } +} + +const u16 gUnknown_84566A8[] = INCBIN_U16("data/graphics/unknown_84566a8.bin"); + +const struct WindowTemplate gUnknown_8456928 = { + 0x00, 0, 15, 30, 5, 15, 0x008F +}; + +void sub_8112EA8(void) +{ + gUnknown_203B020 = 0xFF; +} + +u8 sub_8112EB4(void) +{ + if (gUnknown_203B020 == 0xFF) + { + gUnknown_203B020 = AddWindow(&gUnknown_8456928); + PutWindowTilemap(gUnknown_203B020); + } + return gUnknown_203B020; +} From f214ba976da083876d6ed6c87e38c48823d44e93 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 15 Oct 2018 18:48:37 -0500 Subject: [PATCH 061/222] nonmatching sub_8112F18 --- asm/quest_log.s | 126 ----------------------------------------- src/quest_log.c | 147 +++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 146 insertions(+), 127 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index d6dc18f13..5e6e71eb4 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,132 +5,6 @@ .text - thumb_func_start sub_8112EDC -sub_8112EDC: @ 8112EDC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _08112F14 @ =gUnknown_203B020 - ldrb r0, [r4] - cmp r0, 0xFF - beq _08112F0C - movs r1, 0 - bl FillWindowPixelBuffer - ldrb r0, [r4] - bl ClearWindowTilemap - cmp r5, 0 - beq _08112F02 - ldrb r0, [r4] - adds r1, r5, 0 - bl CopyWindowToVram -_08112F02: - ldrb r0, [r4] - bl RemoveWindow - movs r0, 0xFF - strb r0, [r4] -_08112F0C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08112F14: .4byte gUnknown_203B020 - thumb_func_end sub_8112EDC - - thumb_func_start sub_8112F18 -sub_8112F18: @ 8112F18 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - movs r1, 0x3 - bl GetWindowAttribute - lsls r0, 24 - lsrs r6, r0, 24 - mov r0, r10 - movs r1, 0x4 - bl GetWindowAttribute - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 5 - muls r0, r6 - bl Alloc - mov r8, r0 - cmp r0, 0 - beq _08112FB8 - movs r5, 0 - adds r0, r6, 0 - muls r0, r7 - str r0, [sp] - cmp r5, r7 - bcs _08112FA2 -_08112F5A: - movs r4, 0 - adds r1, r5, 0x1 - mov r9, r1 - cmp r4, r6 - bcs _08112F98 - subs r3, r7, 0x1 -_08112F66: - movs r0, 0 - cmp r5, 0 - beq _08112F74 - movs r0, 0x5 - cmp r5, r3 - bne _08112F74 - movs r0, 0xE -_08112F74: - lsls r0, 5 - ldr r1, _08112FC8 @ =gUnknown_84566A8 - adds r0, r1, r0 - adds r1, r5, 0 - muls r1, r6 - adds r1, r4 - lsls r1, 5 - add r1, r8 - ldr r2, _08112FCC @ =0x04000008 - str r3, [sp, 0x4] - bl CpuSet - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r3, [sp, 0x4] - cmp r4, r6 - bcc _08112F66 -_08112F98: - mov r1, r9 - lsls r0, r1, 24 - lsrs r5, r0, 24 - cmp r5, r7 - bcc _08112F5A -_08112FA2: - ldr r0, [sp] - lsls r2, r0, 21 - lsrs r2, 16 - mov r0, r10 - mov r1, r8 - movs r3, 0 - bl CopyToWindowPixelBuffer - mov r0, r8 - bl Free -_08112FB8: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08112FC8: .4byte gUnknown_84566A8 -_08112FCC: .4byte 0x04000008 - thumb_func_end sub_8112F18 - thumb_func_start sub_8112FD0 sub_8112FD0: @ 8112FD0 push {lr} diff --git a/src/quest_log.c b/src/quest_log.c index 590892acf..cf24cf462 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -2040,7 +2040,7 @@ void sub_8112E3C(u8 a0, struct UnkStruct_300201C * a1, u16 a2) } } -const u16 gUnknown_84566A8[] = INCBIN_U16("data/graphics/unknown_84566a8.bin"); +const u16 gUnknown_84566A8[][16] = INCBIN_U16("data/graphics/unknown_84566a8.bin"); const struct WindowTemplate gUnknown_8456928 = { 0x00, 0, 15, 30, 5, 15, 0x008F @@ -2060,3 +2060,148 @@ u8 sub_8112EB4(void) } return gUnknown_203B020; } + +void sub_8112EDC(u8 a0) +{ + if (gUnknown_203B020 != 0xFF) + { + FillWindowPixelBuffer(gUnknown_203B020, 0x00); + ClearWindowTilemap(gUnknown_203B020); + + if (a0) + CopyWindowToVram(gUnknown_203B020, a0); + + RemoveWindow(gUnknown_203B020); + gUnknown_203B020 = 0xFF; + } +} + +#ifdef NONMATCHING +void sub_8112F18(u8 a0) +{ + u8 width = GetWindowAttribute(a0, WINDOW_WIDTH); + u8 height = GetWindowAttribute(a0, WINDOW_HEIGHT); + u8 * buffer = Alloc(32 * width * height); + u8 i, j; + u8 k; + + if (buffer) + { + for (i = 0; i < height; i++) + { + for (j = 0; j < width; j++) + { + if (i == 0) + k = 0; + else if (i == height - 1) + k = 14; + else + k = 5; + CpuCopy32( + gUnknown_84566A8[k], // operand swap on "add" instruction + buffer + 32 * (i * width + j), + 32 + ); + } + } + CopyToWindowPixelBuffer(a0, buffer, width * height * 32, 0); + Free(buffer); + } +} +#else +NAKED +void sub_8112F18(u8 a0) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tmov r7, r10\n" + "\tmov r6, r9\n" + "\tmov r5, r8\n" + "\tpush {r5-r7}\n" + "\tsub sp, 0x8\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tmov r10, r0\n" + "\tmovs r1, 0x3\n" + "\tbl GetWindowAttribute\n" + "\tlsls r0, 24\n" + "\tlsrs r6, r0, 24\n" + "\tmov r0, r10\n" + "\tmovs r1, 0x4\n" + "\tbl GetWindowAttribute\n" + "\tlsls r0, 24\n" + "\tlsrs r7, r0, 24\n" + "\tlsls r0, r7, 5\n" + "\tmuls r0, r6\n" + "\tbl Alloc\n" + "\tmov r8, r0\n" + "\tcmp r0, 0\n" + "\tbeq _08112FB8\n" + "\tmovs r5, 0\n" + "\tadds r0, r6, 0\n" + "\tmuls r0, r7\n" + "\tstr r0, [sp]\n" + "\tcmp r5, r7\n" + "\tbcs _08112FA2\n" + "_08112F5A:\n" + "\tmovs r4, 0\n" + "\tadds r1, r5, 0x1\n" + "\tmov r9, r1\n" + "\tcmp r4, r6\n" + "\tbcs _08112F98\n" + "\tsubs r3, r7, 0x1\n" + "_08112F66:\n" + "\tmovs r0, 0\n" + "\tcmp r5, 0\n" + "\tbeq _08112F74\n" + "\tmovs r0, 0x5\n" + "\tcmp r5, r3\n" + "\tbne _08112F74\n" + "\tmovs r0, 0xE\n" + "_08112F74:\n" + "\tlsls r0, 5\n" + "\tldr r1, _08112FC8 @ =gUnknown_84566A8\n" + "\tadds r0, r1, r0\n" + "\tadds r1, r5, 0\n" + "\tmuls r1, r6\n" + "\tadds r1, r4\n" + "\tlsls r1, 5\n" + "\tadd r1, r8\n" + "\tldr r2, _08112FCC @ =0x04000008\n" + "\tstr r3, [sp, 0x4]\n" + "\tbl CpuSet\n" + "\tadds r0, r4, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r4, r0, 24\n" + "\tldr r3, [sp, 0x4]\n" + "\tcmp r4, r6\n" + "\tbcc _08112F66\n" + "_08112F98:\n" + "\tmov r1, r9\n" + "\tlsls r0, r1, 24\n" + "\tlsrs r5, r0, 24\n" + "\tcmp r5, r7\n" + "\tbcc _08112F5A\n" + "_08112FA2:\n" + "\tldr r0, [sp]\n" + "\tlsls r2, r0, 21\n" + "\tlsrs r2, 16\n" + "\tmov r0, r10\n" + "\tmov r1, r8\n" + "\tmovs r3, 0\n" + "\tbl CopyToWindowPixelBuffer\n" + "\tmov r0, r8\n" + "\tbl Free\n" + "_08112FB8:\n" + "\tadd sp, 0x8\n" + "\tpop {r3-r5}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tmov r10, r5\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" + "_08112FC8: .4byte gUnknown_84566A8\n" + "_08112FCC: .4byte 0x04000008"); +} +#endif From 6d31e24cba449b856f63c8279339bf1406013b83 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 15 Oct 2018 20:08:52 -0500 Subject: [PATCH 062/222] through sub_8113114 --- asm/event_data.s | 18 +-- asm/field_control_avatar.s | 4 +- asm/pokemon_size_record.s | 8 +- asm/quest_log.s | 245 +------------------------------------ asm/scrcmd.s | 26 ++-- data/quest_log.s | 6 - include/event_data.h | 2 +- src/menews_jisan.c | 2 +- src/quest_log.c | 109 ++++++++++++++++- 9 files changed, 140 insertions(+), 280 deletions(-) diff --git a/asm/event_data.s b/asm/event_data.s index 1875449fa..b6a12e8b2 100644 --- a/asm/event_data.s +++ b/asm/event_data.s @@ -78,7 +78,7 @@ _0806E164: .4byte 0x00000842 sub_806E168: @ 806E168 push {lr} ldr r0, _0806E184 @ =0x0000403c - bl sub_806E454 + bl GetVarPointer ldr r1, _0806E188 @ =gSaveBlock2Ptr ldr r2, [r1] movs r1, 0 @@ -98,7 +98,7 @@ _0806E18C: .4byte 0x00000838 sub_806E190: @ 806E190 push {lr} ldr r0, _0806E1B0 @ =0x0000403c - bl sub_806E454 + bl GetVarPointer ldr r1, _0806E1B4 @ =gSaveBlock2Ptr ldr r2, [r1] movs r1, 0xDA @@ -154,7 +154,7 @@ _0806E1FE: sub_806E204: @ 806E204 push {lr} ldr r0, _0806E224 @ =0x0000404e - bl sub_806E454 + bl GetVarPointer ldr r1, _0806E228 @ =gSaveBlock2Ptr ldr r2, [r1] movs r1, 0 @@ -174,7 +174,7 @@ _0806E228: .4byte gSaveBlock2Ptr sub_806E22C: @ 806E22C push {lr} ldr r0, _0806E250 @ =0x0000404e - bl sub_806E454 + bl GetVarPointer ldr r1, _0806E254 @ =gSaveBlock2Ptr ldr r2, [r1] movs r1, 0xB9 @@ -419,8 +419,8 @@ _0806E44E: bx r1 thumb_func_end CanResetRTC - thumb_func_start sub_806E454 -sub_806E454: @ 806E454 + thumb_func_start GetVarPointer +GetVarPointer: @ 806E454 push {r4-r6,lr} lsls r0, 16 lsrs r4, r0, 16 @@ -522,7 +522,7 @@ _0806E518: .align 2, 0 _0806E520: .4byte gUnknown_815FD0C _0806E524: .4byte 0xffff8000 - thumb_func_end sub_806E454 + thumb_func_end GetVarPointer thumb_func_start sub_806E528 sub_806E528: @ 806E528 @@ -569,7 +569,7 @@ VarGet: @ 806E568 lsls r0, 16 lsrs r4, r0, 16 adds r0, r4, 0 - bl sub_806E454 + bl GetVarPointer cmp r0, 0 beq _0806E57C ldrh r0, [r0] @@ -589,7 +589,7 @@ VarSet: @ 806E584 lsrs r0, 16 lsls r1, 16 lsrs r4, r1, 16 - bl sub_806E454 + bl GetVarPointer cmp r0, 0 beq _0806E59C strh r4, [r0] diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index 41bcd05c1..237472c45 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -1872,7 +1872,7 @@ _0806D748: .4byte 0x00004021 AdjustFriendship_step: @ 806D74C push {r4,r5,lr} ldr r0, _0806D780 @ =0x00004021 - bl sub_806E454 + bl GetVarPointer ldrh r1, [r0] adds r1, 0x1 strh r1, [r0] @@ -1921,7 +1921,7 @@ overworld_poison_step: @ 806D79C cmp r0, 0x9 beq _0806D7E0 ldr r0, _0806D7DC @ =0x00004022 - bl sub_806E454 + bl GetVarPointer adds r4, r0, 0 ldrh r0, [r4] adds r0, 0x1 diff --git a/asm/pokemon_size_record.s b/asm/pokemon_size_record.s index 50ddd41a4..56a5d54f5 100644 --- a/asm/pokemon_size_record.s +++ b/asm/pokemon_size_record.s @@ -327,7 +327,7 @@ _080A0914: .4byte 0x0000403d sub_80A0918: @ 80A0918 push {lr} ldr r0, _080A092C @ =0x0000403d - bl sub_806E454 + bl GetVarPointer adds r1, r0, 0 movs r0, 0xD6 bl sub_80A08CC @@ -341,7 +341,7 @@ _080A092C: .4byte 0x0000403d sub_80A0930: @ 80A0930 push {r4,lr} ldr r0, _080A0950 @ =0x0000403d - bl sub_806E454 + bl GetVarPointer adds r1, r0, 0 ldr r4, _080A0954 @ =gUnknown_20370D0 movs r0, 0xD6 @@ -373,7 +373,7 @@ _080A0968: .4byte 0x00004040 sub_80A096C: @ 80A096C push {lr} ldr r0, _080A0980 @ =0x00004040 - bl sub_806E454 + bl GetVarPointer adds r1, r0, 0 movs r0, 0x81 bl sub_80A08CC @@ -387,7 +387,7 @@ _080A0980: .4byte 0x00004040 sub_80A0984: @ 80A0984 push {r4,lr} ldr r0, _080A09A4 @ =0x00004040 - bl sub_806E454 + bl GetVarPointer adds r1, r0, 0 ldr r4, _080A09A8 @ =gUnknown_20370D0 movs r0, 0x81 diff --git a/asm/quest_log.s b/asm/quest_log.s index 5e6e71eb4..fa9018ce5 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,239 +5,6 @@ .text - thumb_func_start sub_8112FD0 -sub_8112FD0: @ 8112FD0 - push {lr} - ldr r0, _08112FE0 @ =gUnknown_203B020 - ldrb r0, [r0] - bl sub_8112F18 - pop {r0} - bx r0 - .align 2, 0 -_08112FE0: .4byte gUnknown_203B020 - thumb_func_end sub_8112FD0 - - thumb_func_start sub_8112FE4 -sub_8112FE4: @ 8112FE4 - push {lr} - sub sp, 0x14 - adds r2, r0, 0 - ldr r0, _08113010 @ =gUnknown_203B020 - ldrb r0, [r0] - movs r1, 0x1 - str r1, [sp] - str r1, [sp, 0x4] - ldr r1, _08113014 @ =gUnknown_8456930 - str r1, [sp, 0x8] - movs r1, 0x1 - negs r1, r1 - str r1, [sp, 0xC] - str r2, [sp, 0x10] - movs r1, 0x2 - movs r2, 0x2 - movs r3, 0x5 - bl AddTextPrinterParametrized2 - add sp, 0x14 - pop {r0} - bx r0 - .align 2, 0 -_08113010: .4byte gUnknown_203B020 -_08113014: .4byte gUnknown_8456930 - thumb_func_end sub_8112FE4 - - thumb_func_start sub_8113018 -sub_8113018: @ 8113018 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - bl sub_8112FD0 - adds r0, r4, 0 - bl sub_8112FE4 - cmp r5, 0 - beq _08113038 - ldr r0, _08113040 @ =gUnknown_203B020 - ldrb r0, [r0] - adds r1, r5, 0 - bl CopyWindowToVram -_08113038: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08113040: .4byte gUnknown_203B020 - thumb_func_end sub_8113018 - - thumb_func_start sub_8113044 -sub_8113044: @ 8113044 - push {lr} - ldr r0, _0811305C @ =0x00004038 - movs r1, 0 - bl VarSet - ldr r0, _08113060 @ =0x00004039 - movs r1, 0 - bl VarSet - pop {r0} - bx r0 - .align 2, 0 -_0811305C: .4byte 0x00004038 -_08113060: .4byte 0x00004039 - thumb_func_end sub_8113044 - - thumb_func_start sub_8113064 -sub_8113064: @ 8113064 - push {lr} - ldr r0, _08113074 @ =0x00004038 - bl sub_806E454 - bl sub_8113078 - pop {r0} - bx r0 - .align 2, 0 -_08113074: .4byte 0x00004038 - thumb_func_end sub_8113064 - - thumb_func_start sub_8113078 -sub_8113078: @ 8113078 - push {r4,lr} - adds r4, r0, 0 - bl sub_8113508 - lsls r0, 24 - cmp r0, 0 - beq _08113098 - adds r0, r4, 0 - bl sub_81132E0 - ldr r0, _081130A0 @ =0x00004039 - ldr r1, _081130A4 @ =gSaveBlock2Ptr - ldr r1, [r1] - ldrh r1, [r1, 0xE] - bl VarSet -_08113098: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081130A0: .4byte 0x00004039 -_081130A4: .4byte gSaveBlock2Ptr - thumb_func_end sub_8113078 - - thumb_func_start sub_81130A8 -sub_81130A8: @ 81130A8 - push {lr} - ldr r0, _081130B8 @ =0x00004038 - bl sub_806E454 - bl sub_81130BC - pop {r0} - bx r0 - .align 2, 0 -_081130B8: .4byte 0x00004038 - thumb_func_end sub_81130A8 - - thumb_func_start sub_81130BC -sub_81130BC: @ 81130BC - push {r4,lr} - adds r4, r0, 0 - ldrb r1, [r4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08113102 - adds r0, r4, 0 - bl sub_8113524 - adds r0, r4, 0 - bl sub_8113390 - ldr r0, _08113108 @ =0x00004039 - ldr r1, _0811310C @ =gSaveBlock2Ptr - ldr r1, [r1] - ldrh r1, [r1, 0xE] - bl VarSet - movs r0, 0x6C - bl FlagClear - movs r0, 0x6D - bl FlagClear - movs r0, 0x6E - bl FlagClear - movs r0, 0x6F - bl FlagClear - ldr r0, _08113110 @ =0x00004073 - movs r1, 0x1 - bl VarSet -_08113102: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08113108: .4byte 0x00004039 -_0811310C: .4byte gSaveBlock2Ptr -_08113110: .4byte 0x00004073 - thumb_func_end sub_81130BC - - thumb_func_start sub_8113114 -sub_8113114: @ 8113114 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, _0811315C @ =0x00004073 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _08113188 - ldr r0, [r4] - lsls r2, r0, 25 - lsrs r1, r2, 25 - ldr r0, _08113160 @ =gUnknown_8456934 - adds r0, r5, r0 - ldrb r0, [r0] - adds r1, r0 - cmp r1, 0x13 - ble _08113174 - adds r0, r4, 0 - bl sub_81132A0 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bhi _08113164 - adds r0, r4, 0 - bl sub_8113194 - ldrb r1, [r4] - movs r0, 0x80 - negs r0, r0 - ands r0, r1 - b _08113186 - .align 2, 0 -_0811315C: .4byte 0x00004073 -_08113160: .4byte gUnknown_8456934 -_08113164: - ldrb r0, [r4] - movs r1, 0x80 - negs r1, r1 - ands r1, r0 - movs r0, 0x14 - orrs r1, r0 - strb r1, [r4] - b _08113188 -_08113174: - lsrs r1, r2, 25 - adds r1, r0 - movs r0, 0x7F - ands r1, r0 - ldrb r2, [r4] - movs r0, 0x80 - negs r0, r0 - ands r0, r2 - orrs r0, r1 -_08113186: - strb r0, [r4] -_08113188: - ldr r0, [r4] - lsls r0, 25 - lsrs r0, 25 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8113114 - thumb_func_start sub_8113194 sub_8113194: @ 8113194 push {r4-r7,lr} @@ -377,7 +144,7 @@ _08113284: .4byte gUnknown_8456940 sub_8113288: @ 8113288 push {lr} ldr r0, _0811329C @ =0x00004038 - bl sub_806E454 + bl GetVarPointer bl sub_81132A0 lsls r0, 16 lsrs r0, 16 @@ -419,7 +186,7 @@ _081132BA: sub_81132CC: @ 81132CC push {lr} ldr r0, _081132DC @ =0x00004038 - bl sub_806E454 + bl GetVarPointer bl sub_81132E0 pop {r0} bx r0 @@ -495,7 +262,7 @@ _0811335C: sub_8113364: @ 8113364 push {lr} ldr r0, _08113378 @ =0x00004038 - bl sub_806E454 + bl GetVarPointer bl sub_811337C lsls r0, 16 lsrs r0, 16 @@ -674,7 +441,7 @@ _081134B2: sub_81134B8: @ 81134B8 push {lr} ldr r0, _081134C8 @ =0x00004038 - bl sub_806E454 + bl GetVarPointer bl sub_81134CC pop {r0} bx r0 @@ -725,7 +492,7 @@ sub_8113508: @ 8113508 sub_8113510: @ 8113510 push {lr} ldr r0, _08113520 @ =0x00004038 - bl sub_806E454 + bl GetVarPointer bl sub_8113524 pop {r0} bx r0 @@ -746,7 +513,7 @@ sub_8113524: @ 8113524 sub_8113530: @ 8113530 push {lr} ldr r0, _08113548 @ =0x00004038 - bl sub_806E454 + bl GetVarPointer ldr r1, _0811354C @ =gUnknown_20370C0 ldrb r1, [r1] bl sub_8113114 diff --git a/asm/scrcmd.s b/asm/scrcmd.s index 733860772..85fbd6162 100644 --- a/asm/scrcmd.s +++ b/asm/scrcmd.s @@ -79,7 +79,7 @@ sub_8069F3C: @ 8069F3C bl ScriptReadHalfword lsls r0, 16 lsrs r0, 16 - bl sub_806E454 + bl GetVarPointer adds r5, r0, 0 adds r0, r4, 0 bl ScriptReadHalfword @@ -692,7 +692,7 @@ ScrCmd_setvar: @ 806A390 bl ScriptReadHalfword lsls r0, 16 lsrs r0, 16 - bl sub_806E454 + bl GetVarPointer adds r4, r0, 0 adds r0, r5, 0 bl ScriptReadHalfword @@ -710,13 +710,13 @@ ScrCmd_copyvar: @ 806A3B4 bl ScriptReadHalfword lsls r0, 16 lsrs r0, 16 - bl sub_806E454 + bl GetVarPointer adds r5, r0, 0 adds r0, r4, 0 bl ScriptReadHalfword lsls r0, 16 lsrs r0, 16 - bl sub_806E454 + bl GetVarPointer ldrh r0, [r0] strh r0, [r5] movs r0, 0 @@ -732,7 +732,7 @@ ScrCmd_setorcopyvar: @ 806A3E0 bl ScriptReadHalfword lsls r0, 16 lsrs r0, 16 - bl sub_806E454 + bl GetVarPointer adds r5, r0, 0 adds r0, r4, 0 bl ScriptReadHalfword @@ -909,7 +909,7 @@ ScrCmd_compare_var_to_value: @ 806A520 bl ScriptReadHalfword lsls r0, 16 lsrs r0, 16 - bl sub_806E454 + bl GetVarPointer ldrh r5, [r0] adds r0, r4, 0 bl ScriptReadHalfword @@ -932,13 +932,13 @@ ScrCmd_compare_var_to_var: @ 806A550 bl ScriptReadHalfword lsls r0, 16 lsrs r0, 16 - bl sub_806E454 + bl GetVarPointer adds r5, r0, 0 adds r0, r4, 0 bl ScriptReadHalfword lsls r0, 16 lsrs r0, 16 - bl sub_806E454 + bl GetVarPointer ldrh r2, [r5] ldrh r1, [r0] adds r0, r2, 0 @@ -957,7 +957,7 @@ ScrCmd_addvar: @ 806A584 bl ScriptReadHalfword lsls r0, 16 lsrs r0, 16 - bl sub_806E454 + bl GetVarPointer adds r4, r0, 0 adds r0, r5, 0 bl ScriptReadHalfword @@ -977,7 +977,7 @@ ScrCmd_subvar: @ 806A5AC bl ScriptReadHalfword lsls r0, 16 lsrs r0, 16 - bl sub_806E454 + bl GetVarPointer adds r5, r0, 0 adds r0, r4, 0 bl ScriptReadHalfword @@ -2319,13 +2319,13 @@ ScrCmd_getplayerxy: @ 806B010 bl ScriptReadHalfword lsls r0, 16 lsrs r0, 16 - bl sub_806E454 + bl GetVarPointer adds r5, r0, 0 adds r0, r4, 0 bl ScriptReadHalfword lsls r0, 16 lsrs r0, 16 - bl sub_806E454 + bl GetVarPointer ldr r2, _0806B048 @ =gSaveBlock1Ptr ldr r1, [r2] ldrh r1, [r1] @@ -5428,7 +5428,7 @@ ScrCmd_checkcoins: @ 806C72C bl ScriptReadHalfword lsls r0, 16 lsrs r0, 16 - bl sub_806E454 + bl GetVarPointer adds r4, r0, 0 bl sub_80D0554 strh r0, [r4] diff --git a/data/quest_log.s b/data/quest_log.s index a68d924a7..4cbfdbd28 100644 --- a/data/quest_log.s +++ b/data/quest_log.s @@ -1,12 +1,6 @@ .section .rodata .align 2 -gUnknown_8456930:: @ 8456930 - .incbin "baserom.gba", 0x456930, 0x4 - -gUnknown_8456934:: @ 8456934 - .incbin "baserom.gba", 0x456934, 0x4 - gUnknown_8456938:: @ 8456938 .incbin "baserom.gba", 0x456938, 0x8 diff --git a/include/event_data.h b/include/event_data.h index 77bc41603..555887b6c 100644 --- a/include/event_data.h +++ b/include/event_data.h @@ -29,7 +29,7 @@ u8 *GetFlagPointer(u16 id); u8 FlagSet(u16 id); u8 FlagClear(u16 id); bool8 FlagGet(u16 id); -u16 * sub_806E454(u16 id); +u16 * GetVarPointer(u16 id); bool32 sub_806E2BC(void); void sub_806E6FC(void); diff --git a/src/menews_jisan.c b/src/menews_jisan.c index 7dfcee939..31540c411 100644 --- a/src/menews_jisan.c +++ b/src/menews_jisan.c @@ -94,7 +94,7 @@ void sub_8146C88(void) void sub_8146CA4(void) { - u16 *r4 = sub_806E454(0x4028); + u16 *r4 = GetVarPointer(0x4028); struct MysteryEventStruct *r2 = sub_8143D94(); struct MysteryEventStruct r0 = *r2; diff --git a/src/quest_log.c b/src/quest_log.c index cf24cf462..36de09ca7 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -32,6 +32,12 @@ u8 gUnknown_3005E88; +struct Var4038Struct +{ + u8 unk_0_0:7; + u8 unk_0_7:1; +}; + struct UnkStruct_203AE94 { u8 unk_0_0:4; @@ -130,6 +136,14 @@ void sub_8112940(u8, struct UnkStruct_203AE98 *, u16); u8 sub_8112CAC(void); bool8 sub_8112CEC(void); bool8 sub_8112D1C(void); +void sub_8113078(struct Var4038Struct *); +void sub_81130BC(struct Var4038Struct *); +u16 sub_81132A0(struct Var4038Struct *); +void sub_8113194(struct Var4038Struct *); +void sub_81132E0(struct Var4038Struct *); +bool8 sub_8113508(void); +void sub_8113524(struct Var4038Struct *); +void sub_8113390(struct Var4038Struct *); void sub_8113A1C(u8); void sub_811381C(void); void sub_81138F8(void); @@ -164,21 +178,21 @@ const u8 gUnknown_8456698[] = {17, 10, 3}; extern const struct UnkStruct_203AE98 gUnknown_845669C; -void sub_8110840(void * a0) +void sub_8110840(void * oldPointer) { - size_t r1 = (void *)gSaveBlock1Ptr - a0; + ptrdiff_t offset = (void *)gSaveBlock1Ptr - oldPointer; if (gUnknown_203AE04) - gUnknown_203AE04 += r1; + gUnknown_203AE04 += offset; if (gUnknown_203ADFA != 0) { if (gUnknown_203AE08) - gUnknown_203AE08 = (void *)gUnknown_203AE08 + r1; + gUnknown_203AE08 = (void *)gUnknown_203AE08 + offset; if (gUnknown_203ADFA == 2) { int r3; for (r3 = 0; r3 < 0x20; r3++) if (gUnknown_203AE0C[r3]) - gUnknown_203AE0C[r3] += r1; + gUnknown_203AE0C[r3] += offset; } } } @@ -2205,3 +2219,88 @@ void sub_8112F18(u8 a0) "_08112FCC: .4byte 0x04000008"); } #endif + +void sub_8112FD0(void) +{ + sub_8112F18(gUnknown_203B020); +} + +const struct TextColor gUnknown_8456930 = { + 0, 10, 2 +}; + +void sub_8112FE4(const u8 * a0) +{ + AddTextPrinterParametrized2(gUnknown_203B020, 0x02, 2, 5, 1, 1, &gUnknown_8456930, -1, a0); +} + +void sub_8113018(const u8 * a0, u8 a1) +{ + sub_8112FD0(); + sub_8112FE4(a0); + if (a1) + CopyWindowToVram(gUnknown_203B020, a1); +} + +void sub_8113044(void) +{ + VarSet(VAR_0x4038, 0); + VarSet(VAR_0x4039, 0); +} + +void sub_8113064(void) +{ + sub_8113078((struct Var4038Struct *)GetVarPointer(VAR_0x4038)); +} + +void sub_8113078(struct Var4038Struct * varPtr) +{ + if (sub_8113508()) + { + sub_81132E0(varPtr); + VarSet(VAR_0x4039, gSaveBlock2Ptr->playTimeHours); + } +} + +void sub_81130A8(void) +{ + sub_81130BC((struct Var4038Struct *)GetVarPointer(VAR_0x4038)); +} + +void sub_81130BC(struct Var4038Struct * varPtr) +{ + if (!varPtr->unk_0_7) + { + sub_8113524(varPtr); + sub_8113390(varPtr); + VarSet(VAR_0x4039, gSaveBlock2Ptr->playTimeHours); + FlagClear(FLAG_0x06C); + FlagClear(FLAG_0x06D); + FlagClear(FLAG_0x06E); + FlagClear(FLAG_0x06F); + VarSet(VAR_0x4073, 1); + } +} + +ALIGNED(4) const u8 gUnknown_8456934[] = {2, 1, 2, 1}; + +u8 sub_8113114(struct Var4038Struct * a0, u8 a1) +{ + if (VarGet(VAR_0x4073) == 2) + { + if (a0->unk_0_0 + gUnknown_8456934[a1] >= 20) + { + if (sub_81132A0(a0) < 3) + { + sub_8113194(a0); + a0->unk_0_0 = 0; + } + else + a0->unk_0_0 = 20; + } + else + a0->unk_0_0 += gUnknown_8456934[a1]; + } + + return a0->unk_0_0; +} From 11066dc88f55c32ec1877c2f7e995412c4a07318 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 16 Oct 2018 12:56:37 -0700 Subject: [PATCH 063/222] sub_8113194 --- asm/quest_log.s | 58 ------------------------------------------------ data/quest_log.s | 3 --- src/quest_log.c | 29 +++++++++++++++++++++++- 3 files changed, 28 insertions(+), 62 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index fa9018ce5..c8f7f9a29 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,64 +5,6 @@ .text - thumb_func_start sub_8113194 -sub_8113194: @ 8113194 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - movs r0, 0 - mov r8, r0 - movs r6, 0 - movs r7, 0x1 -_081131A4: - ldrb r1, [r5, 0x1] - ldr r0, _081131D0 @ =gUnknown_8456938 - adds r0, r6, r0 - ldrb r4, [r0] - asrs r1, r4 - ands r1, r7 - cmp r1, 0 - bne _081131D4 - mov r8, r6 - bl Random - adds r1, r7, 0 - ands r1, r0 - cmp r1, 0 - beq _081131D4 - adds r0, r7, 0 - lsls r0, r4 - ldrb r1, [r5, 0x1] - orrs r0, r1 - strb r0, [r5, 0x1] - adds r0, r4, 0 - b _081131EE - .align 2, 0 -_081131D0: .4byte gUnknown_8456938 -_081131D4: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x7 - bls _081131A4 - ldr r0, _081131F8 @ =gUnknown_8456938 - add r0, r8 - ldrb r0, [r0] - movs r1, 0x1 - lsls r1, r0 - ldrb r2, [r5, 0x1] - orrs r1, r2 - strb r1, [r5, 0x1] -_081131EE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081131F8: .4byte gUnknown_8456938 - thumb_func_end sub_8113194 - thumb_func_start sub_81131FC sub_81131FC: @ 81131FC push {r4-r7,lr} diff --git a/data/quest_log.s b/data/quest_log.s index 4cbfdbd28..839a9d9e5 100644 --- a/data/quest_log.s +++ b/data/quest_log.s @@ -1,9 +1,6 @@ .section .rodata .align 2 -gUnknown_8456938:: @ 8456938 - .incbin "baserom.gba", 0x456938, 0x8 - gUnknown_8456940:: @ 8456940 .incbin "baserom.gba", 0x456940, 0x8 diff --git a/src/quest_log.c b/src/quest_log.c index 36de09ca7..30f529615 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -5,6 +5,7 @@ #include "task.h" #include "palette.h" #include "menu.h" +#include "random.h" #include "menu_helpers.h" #include "window.h" #include "text_window.h" @@ -36,6 +37,7 @@ struct Var4038Struct { u8 unk_0_0:7; u8 unk_0_7:1; + u8 unk_1; }; struct UnkStruct_203AE94 @@ -139,7 +141,7 @@ bool8 sub_8112D1C(void); void sub_8113078(struct Var4038Struct *); void sub_81130BC(struct Var4038Struct *); u16 sub_81132A0(struct Var4038Struct *); -void sub_8113194(struct Var4038Struct *); +u8 sub_8113194(struct Var4038Struct *); void sub_81132E0(struct Var4038Struct *); bool8 sub_8113508(void); void sub_8113524(struct Var4038Struct *); @@ -2304,3 +2306,28 @@ u8 sub_8113114(struct Var4038Struct * a0, u8 a1) return a0->unk_0_0; } + +const u8 gUnknown_8456938[] = { + 1, 3, 5, 0, 7, 6, 4, 2 +}; + +u8 sub_8113194(struct Var4038Struct * a0) +{ + u8 i; + u8 retval = 0; + + for (i = 0; i < 8; i++) + { + if (!((a0->unk_1 >> gUnknown_8456938[i]) & 1)) + { + retval = i; + if (Random() % 2) + { + a0->unk_1 |= 1 << gUnknown_8456938[i]; + return gUnknown_8456938[i]; + } + } + } + a0->unk_1 |= 1 << gUnknown_8456938[retval]; + return gUnknown_8456938[retval]; +} From 9dd047d9db67586529cbde6a32176413af659c1d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 16 Oct 2018 13:07:02 -0700 Subject: [PATCH 064/222] sub_81131FC --- asm/quest_log.s | 77 ------------------------------------------------ data/quest_log.s | 3 -- src/quest_log.c | 29 ++++++++++++++++++ 3 files changed, 29 insertions(+), 80 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index c8f7f9a29..2f032248a 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,83 +5,6 @@ .text - thumb_func_start sub_81131FC -sub_81131FC: @ 81131FC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r7, r0, 0 - movs r0, 0 - mov r8, r0 - adds r0, r7, 0 - bl sub_81132A0 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _08113228 - movs r0, 0 - b _08113276 -_0811321C: - lsls r4, r6 - ldrb r0, [r7, 0x1] - eors r4, r0 - strb r4, [r7, 0x1] - adds r0, r6, 0 - b _08113276 -_08113228: - movs r5, 0 - movs r4, 0x1 -_0811322C: - ldrb r1, [r7, 0x1] - ldr r2, _08113284 @ =gUnknown_8456940 - adds r0, r5, r2 - ldrb r6, [r0] - asrs r1, r6 - ands r1, r4 - cmp r1, 0 - beq _0811324E - mov r8, r5 - str r2, [sp] - bl Random - adds r1, r4, 0 - ands r1, r0 - ldr r2, [sp] - cmp r1, 0 - bne _0811321C -_0811324E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0811322C - ldrb r1, [r7, 0x1] - mov r3, r8 - adds r0, r3, r2 - ldrb r2, [r0] - adds r0, r1, 0 - asrs r0, r2 - movs r3, 0x1 - ands r0, r3 - cmp r0, 0 - beq _08113274 - adds r0, r3, 0 - lsls r0, r2 - eors r1, r0 - strb r1, [r7, 0x1] -_08113274: - adds r0, r2, 0 -_08113276: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08113284: .4byte gUnknown_8456940 - thumb_func_end sub_81131FC - thumb_func_start sub_8113288 sub_8113288: @ 8113288 push {lr} diff --git a/data/quest_log.s b/data/quest_log.s index 839a9d9e5..527fadb75 100644 --- a/data/quest_log.s +++ b/data/quest_log.s @@ -1,9 +1,6 @@ .section .rodata .align 2 -gUnknown_8456940:: @ 8456940 - .incbin "baserom.gba", 0x456940, 0x8 - gUnknown_8456948:: @ 8456948 .incbin "baserom.gba", 0x456948, 0xAC diff --git a/src/quest_log.c b/src/quest_log.c index 30f529615..51ffaac11 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -2331,3 +2331,32 @@ u8 sub_8113194(struct Var4038Struct * a0) a0->unk_1 |= 1 << gUnknown_8456938[retval]; return gUnknown_8456938[retval]; } + +const u8 gUnknown_8456940[] = { + 5, 6, 3, 7, 4, 1, 0, 2 +}; + +u8 sub_81131FC(struct Var4038Struct * a0) +{ + u8 i; + u8 retval = 0; + + if (sub_81132A0(a0) == 1) + return 0; + + for (i = 0; i < 8; i++) + { + if ((a0->unk_1 >> gUnknown_8456940[i]) & 1) + { + retval = i; + if (Random() % 2) + { + a0->unk_1 ^= 1 << gUnknown_8456940[i]; + return gUnknown_8456940[i]; + } + } + } + if ((a0->unk_1 >> gUnknown_8456940[retval]) & 1) + a0->unk_1 ^= 1 << gUnknown_8456940[retval]; + return gUnknown_8456940[retval]; +} From d50948133d3ad740ee4c719bc84a7991abd53a34 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 16 Oct 2018 17:32:29 -0700 Subject: [PATCH 065/222] through sub_81132E0 --- asm/quest_log.s | 118 ------------------------------------------------ src/quest_log.c | 53 +++++++++++++++++++++- 2 files changed, 52 insertions(+), 119 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 2f032248a..53672cf3f 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,124 +5,6 @@ .text - thumb_func_start sub_8113288 -sub_8113288: @ 8113288 - push {lr} - ldr r0, _0811329C @ =0x00004038 - bl GetVarPointer - bl sub_81132A0 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_0811329C: .4byte 0x00004038 - thumb_func_end sub_8113288 - - thumb_func_start sub_81132A0 -sub_81132A0: @ 81132A0 - push {r4,lr} - movs r2, 0 - movs r1, 0 - ldrb r3, [r0, 0x1] - movs r4, 0x1 -_081132AA: - adds r0, r3, 0 - asrs r0, r1 - ands r0, r4 - cmp r0, 0 - beq _081132BA - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 -_081132BA: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x7 - bls _081132AA - adds r0, r2, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81132A0 - - thumb_func_start sub_81132CC -sub_81132CC: @ 81132CC - push {lr} - ldr r0, _081132DC @ =0x00004038 - bl GetVarPointer - bl sub_81132E0 - pop {r0} - bx r0 - .align 2, 0 -_081132DC: .4byte 0x00004038 - thumb_func_end sub_81132CC - - thumb_func_start sub_81132E0 -sub_81132E0: @ 81132E0 - push {r4-r6,lr} - adds r4, r0, 0 - movs r5, 0 - ldr r2, _081132F8 @ =gSaveBlock2Ptr - ldr r0, [r2] - ldrh r1, [r0, 0xE] - ldr r0, _081132FC @ =0x000003e6 - cmp r1, r0 - bhi _0811335C - adds r6, r2, 0 - b _08113338 - .align 2, 0 -_081132F8: .4byte gSaveBlock2Ptr -_081132FC: .4byte 0x000003e6 -_08113300: - ldr r0, _08113354 @ =0x00004039 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - ldr r1, [r6] - ldrh r1, [r1, 0xE] - subs r1, r0 - cmp r1, 0xB - ble _0811335C - adds r0, r4, 0 - bl sub_81131FC - ldr r0, _08113354 @ =0x00004039 - bl VarGet - adds r1, r0, 0 - lsls r1, 16 - movs r0, 0xC0 - lsls r0, 12 - adds r1, r0 - lsrs r1, 16 - ldr r0, _08113354 @ =0x00004039 - bl VarSet - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_08113338: - adds r0, r4, 0 - bl sub_81132A0 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bhi _08113358 - ldr r0, [r6] - ldrh r1, [r0, 0xE] - ldr r0, _08113354 @ =0x00004039 - bl VarSet - b _0811335C - .align 2, 0 -_08113354: .4byte 0x00004039 -_08113358: - cmp r5, 0x8 - bne _08113300 -_0811335C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81132E0 - thumb_func_start sub_8113364 sub_8113364: @ 8113364 push {lr} diff --git a/src/quest_log.c b/src/quest_log.c index 51ffaac11..7d2b2511d 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -140,8 +140,8 @@ bool8 sub_8112CEC(void); bool8 sub_8112D1C(void); void sub_8113078(struct Var4038Struct *); void sub_81130BC(struct Var4038Struct *); -u16 sub_81132A0(struct Var4038Struct *); u8 sub_8113194(struct Var4038Struct *); +u16 sub_81132A0(struct Var4038Struct *); void sub_81132E0(struct Var4038Struct *); bool8 sub_8113508(void); void sub_8113524(struct Var4038Struct *); @@ -2360,3 +2360,54 @@ u8 sub_81131FC(struct Var4038Struct * a0) a0->unk_1 ^= 1 << gUnknown_8456940[retval]; return gUnknown_8456940[retval]; } + +u16 sub_8113288(void) +{ + return sub_81132A0((struct Var4038Struct *)GetVarPointer(VAR_0x4038)); +} + +u16 sub_81132A0(struct Var4038Struct * a0) +{ + u8 count = 0; + u8 i; + + for (i = 0; i < 8; i++) + { + if ((a0->unk_1 >> i) & 1) + count++; + } + + return count; +} + +void sub_81132CC(void) +{ + sub_81132E0((struct Var4038Struct *)GetVarPointer(VAR_0x4038)); +} + +void sub_81132E0(struct Var4038Struct * a0) +{ + u8 i = 0; + u16 var_4039; + + if (gSaveBlock2Ptr->playTimeHours < 999) + { + while (1) + { + if (sub_81132A0(a0) < 5) + { + VarSet(VAR_0x4039, gSaveBlock2Ptr->playTimeHours); + break; + } + if (i == 8) + break; + var_4039 = VarGet(VAR_0x4039); + if (gSaveBlock2Ptr->playTimeHours - var_4039 < 12) + break; + sub_81131FC(a0); + var_4039 = VarGet(VAR_0x4039); + VarSet(VAR_0x4039, var_4039 + 12); + i++; + } + } +} From 7670f0527fcbd49269ed52a52b8fa3e30353ef64 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 16 Oct 2018 18:05:39 -0700 Subject: [PATCH 066/222] through sub_8113414 --- asm/quest_log.s | 179 ---------------------------------------- include/event_data.h | 1 + include/event_scripts.h | 3 + include/global.h | 4 +- src/quest_log.c | 104 +++++++++++++++++++++-- 5 files changed, 106 insertions(+), 185 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 53672cf3f..0ce955c8d 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,185 +5,6 @@ .text - thumb_func_start sub_8113364 -sub_8113364: @ 8113364 - push {lr} - ldr r0, _08113378 @ =0x00004038 - bl GetVarPointer - bl sub_811337C - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_08113378: .4byte 0x00004038 - thumb_func_end sub_8113364 - - thumb_func_start sub_811337C -sub_811337C: @ 811337C - ldrb r0, [r0, 0x1] - ldr r1, _0811338C @ =gUnknown_20370C0 - ldrh r1, [r1] - asrs r0, r1 - movs r1, 0x1 - ands r0, r1 - bx lr - .align 2, 0 -_0811338C: .4byte gUnknown_20370C0 - thumb_func_end sub_811337C - - thumb_func_start sub_8113390 -sub_8113390: @ 8113390 - ldrb r2, [r0, 0x1] - movs r1, 0x1 - orrs r1, r2 - movs r2, 0x2 - orrs r1, r2 - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x1] - bx lr - thumb_func_end sub_8113390 - - thumb_func_start sub_81133A4 -sub_81133A4: @ 81133A4 - push {lr} - movs r3, 0 - movs r2, 0 - ldr r0, _081133BC @ =gUnknown_20370C0 - ldrh r0, [r0] - cmp r0, 0x7 - bhi _081133F8 - lsls r0, 2 - ldr r1, _081133C0 @ =_081133C4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081133BC: .4byte gUnknown_20370C0 -_081133C0: .4byte _081133C4 - .align 2, 0 -_081133C4: - .4byte _081133E4 - .4byte _081133F8 - .4byte _081133F8 - .4byte _081133F8 - .4byte _081133EA - .4byte _081133F0 - .4byte _081133F4 - .4byte _081133F8 -_081133E4: - movs r2, 0 - movs r3, 0 - b _081133F8 -_081133EA: - movs r2, 0x1 - movs r3, 0 - b _081133F8 -_081133F0: - movs r2, 0 - b _081133F6 -_081133F4: - movs r2, 0x2 -_081133F6: - movs r3, 0x1 -_081133F8: - ldr r0, _0811340C @ =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, _08113410 @ =0x00000a98 - adds r0, r1 - adds r1, r3, 0 - bl sub_8113414 - pop {r0} - bx r0 - .align 2, 0 -_0811340C: .4byte gSaveBlock2Ptr -_08113410: .4byte 0x00000a98 - thumb_func_end sub_81133A4 - - thumb_func_start sub_8113414 -sub_8113414: @ 8113414 - push {r4,lr} - lsls r1, 24 - lsls r2, 24 - lsrs r2, 24 - adds r3, r2, 0 - lsrs r1, 20 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0xFF - bne _08113478 - cmp r2, 0x1 - beq _08113436 - cmp r2, 0x1 - ble _0811345C - cmp r3, 0x2 - beq _08113448 - b _0811345C -_08113436: - ldr r0, _08113440 @ =gStringVar1 - ldr r1, _08113444 @ =gUnknown_84178D0 - bl StringCopy - b _081134B2 - .align 2, 0 -_08113440: .4byte gStringVar1 -_08113444: .4byte gUnknown_84178D0 -_08113448: - ldr r0, _08113454 @ =gStringVar1 - ldr r1, _08113458 @ =gUnknown_84178DA - bl StringCopy - b _081134B2 - .align 2, 0 -_08113454: .4byte gStringVar1 -_08113458: .4byte gUnknown_84178DA -_0811345C: - ldr r0, _0811346C @ =gStringVar1 - ldr r1, _08113470 @ =gSaveBlock1Ptr - ldr r1, [r1] - ldr r2, _08113474 @ =0x00003a4c - adds r1, r2 - bl StringCopy - b _081134B2 - .align 2, 0 -_0811346C: .4byte gStringVar1 -_08113470: .4byte gSaveBlock1Ptr -_08113474: .4byte 0x00003a4c -_08113478: - ldr r4, _08113498 @ =gStringVar1 - adds r0, r4, 0 - movs r2, 0x7 - bl StringCopyN - movs r0, 0xFF - strb r0, [r4, 0x7] - ldrb r0, [r4] - cmp r0, 0xFC - bne _081134B2 - ldrb r0, [r4, 0x1] - cmp r0, 0x15 - bne _081134B2 - adds r4, 0x2 - b _0811349E - .align 2, 0 -_08113498: .4byte gStringVar1 -_0811349C: - adds r4, 0x1 -_0811349E: - ldrb r0, [r4] - cmp r0, 0xFF - bne _0811349C - movs r0, 0xFC - strb r0, [r4] - adds r4, 0x1 - movs r0, 0x16 - strb r0, [r4] - movs r0, 0xFF - strb r0, [r4, 0x1] -_081134B2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8113414 - thumb_func_start sub_81134B8 sub_81134B8: @ 81134B8 push {lr} diff --git a/include/event_data.h b/include/event_data.h index 555887b6c..398e03264 100644 --- a/include/event_data.h +++ b/include/event_data.h @@ -53,5 +53,6 @@ extern u16 gSpecialVar_MonBoxPos; extern u16 gSpecialVar_0x8014; extern u16 gUnknown_20370D0; +extern u16 gUnknown_20370C0; #endif // GUARD_EVENT_DATA_H diff --git a/include/event_scripts.h b/include/event_scripts.h index 844f1052a..6b9025ec2 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -372,4 +372,7 @@ extern const u8 SecretBase_RedCave1_Text_274E75[]; extern const u8 SecretBase_RedCave1_Text_2751E1[]; extern const u8 SecretBase_RedCave1_Text_2754F6[]; extern const u8 SecretBase_RedCave1_Text_2758CC[]; + +extern const u8 gUnknown_84178D0[]; +extern const u8 gUnknown_84178DA[]; #endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/global.h b/include/global.h index ee64e855a..0857d552a 100644 --- a/include/global.h +++ b/include/global.h @@ -237,7 +237,9 @@ struct SaveBlock2 /*0x098*/ struct Time localTimeOffset; /*0x0A0*/ struct Time lastBerryTreeUpdate; /*0x0A8*/ u32 field_A8; - /*0x0AC*/ u8 filler_AC[0xE74]; + /*0x0AC*/ u8 filler_AC[0x9ec]; + /*0xA98*/ u8 unk_A98[2][16]; + /*0xAB8*/ u8 filler_AB8[0x468]; /*0xF20*/ u32 encryptionKey; }; diff --git a/src/quest_log.c b/src/quest_log.c index 7d2b2511d..f0b79bb58 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -10,6 +10,7 @@ #include "window.h" #include "text_window.h" #include "event_data.h" +#include "event_scripts.h" #include "string_util.h" #include "script.h" #include "overworld.h" @@ -40,6 +41,8 @@ struct Var4038Struct u8 unk_1; }; +#define VAR_0x4038_STRUCT ((struct Var4038Struct *)GetVarPointer(VAR_0x4038)) + struct UnkStruct_203AE94 { u8 unk_0_0:4; @@ -143,9 +146,11 @@ void sub_81130BC(struct Var4038Struct *); u8 sub_8113194(struct Var4038Struct *); u16 sub_81132A0(struct Var4038Struct *); void sub_81132E0(struct Var4038Struct *); +bool16 sub_811337C(struct Var4038Struct *); +void sub_8113390(struct Var4038Struct *); +void sub_8113414(u8 (*)[16], u8, u8); bool8 sub_8113508(void); void sub_8113524(struct Var4038Struct *); -void sub_8113390(struct Var4038Struct *); void sub_8113A1C(u8); void sub_811381C(void); void sub_81138F8(void); @@ -2252,7 +2257,7 @@ void sub_8113044(void) void sub_8113064(void) { - sub_8113078((struct Var4038Struct *)GetVarPointer(VAR_0x4038)); + sub_8113078(VAR_0x4038_STRUCT); } void sub_8113078(struct Var4038Struct * varPtr) @@ -2266,7 +2271,7 @@ void sub_8113078(struct Var4038Struct * varPtr) void sub_81130A8(void) { - sub_81130BC((struct Var4038Struct *)GetVarPointer(VAR_0x4038)); + sub_81130BC(VAR_0x4038_STRUCT); } void sub_81130BC(struct Var4038Struct * varPtr) @@ -2363,7 +2368,7 @@ u8 sub_81131FC(struct Var4038Struct * a0) u16 sub_8113288(void) { - return sub_81132A0((struct Var4038Struct *)GetVarPointer(VAR_0x4038)); + return sub_81132A0(VAR_0x4038_STRUCT); } u16 sub_81132A0(struct Var4038Struct * a0) @@ -2382,7 +2387,7 @@ u16 sub_81132A0(struct Var4038Struct * a0) void sub_81132CC(void) { - sub_81132E0((struct Var4038Struct *)GetVarPointer(VAR_0x4038)); + sub_81132E0(VAR_0x4038_STRUCT); } void sub_81132E0(struct Var4038Struct * a0) @@ -2411,3 +2416,92 @@ void sub_81132E0(struct Var4038Struct * a0) } } } + +bool16 sub_8113364(void) +{ + return sub_811337C(VAR_0x4038_STRUCT); +} + +bool16 sub_811337C(struct Var4038Struct * a0) +{ + return (a0->unk_1 >> gUnknown_20370C0) & 1; +} + +void sub_8113390(struct Var4038Struct * a0) +{ + a0->unk_1 |= 1; + a0->unk_1 |= 2; + a0->unk_1 |= 4; +} + +void sub_81133A4(void) +{ + u8 r3 = 0; + u8 r2 = 0; + + switch (gUnknown_20370C0) + { + case 0: + r2 = 0; + r3 = 0; + break; + case 1: + case 2: + case 3: + case 7: + break; + case 4: + r2 = 1; + r3 = 0; + break; + case 5: + r2 = 0; + r3 = 1; + break; + case 6: + r2 = 2; + r3 = 1; + break; + } + sub_8113414(gSaveBlock2Ptr->unk_A98, r3, r2); +} + +void sub_8113414(u8 (* a0)[16], u8 a1, u8 a2) +{ + u8 * str; + const u8 * src = a0[a1]; + if (src[0] == EOS) + { + switch (a2) + { + case 0: + StringCopy(gStringVar1, gSaveBlock1Ptr->rivalName); + break; + case 1: + StringCopy(gStringVar1, gUnknown_84178D0); + break; + case 2: + StringCopy(gStringVar1, gUnknown_84178DA); + break; + default: + StringCopy(gStringVar1, gSaveBlock1Ptr->rivalName); + break; + } + } + else + { + str = gStringVar1; + StringCopyN(str, src, 7); + str[7] = EOS; + if ( str[0] == EXT_CTRL_CODE_BEGIN + && str[1] == EXT_CTRL_CODE_JPN) + { + str += 2; + while (*str != EOS) + str++; + *str++ = EXT_CTRL_CODE_BEGIN; + *str++ = EXT_CTRL_CODE_ENG; + *str++ = EOS; + } + } +} From 0ba52688584d8a35ec9c617b035c9dea71e2689f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 16 Oct 2018 21:46:09 -0700 Subject: [PATCH 067/222] through sub_8113530 --- asm/quest_log.s | 89 ------------------------------------------------ include/battle.h | 2 ++ src/quest_log.c | 43 +++++++++++++++++++++-- 3 files changed, 43 insertions(+), 91 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 0ce955c8d..4a2914209 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,95 +5,6 @@ .text - thumb_func_start sub_81134B8 -sub_81134B8: @ 81134B8 - push {lr} - ldr r0, _081134C8 @ =0x00004038 - bl GetVarPointer - bl sub_81134CC - pop {r0} - bx r0 - .align 2, 0 -_081134C8: .4byte 0x00004038 - thumb_func_end sub_81134B8 - - thumb_func_start sub_81134CC -sub_81134CC: @ 81134CC - push {r4,lr} - adds r4, r0, 0 - ldr r0, _081134F4 @ =0x00004073 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _08113502 - adds r0, r4, 0 - bl sub_8113078 - ldr r0, _081134F8 @ =gUnknown_2023E8A - ldrb r0, [r0] - cmp r0, 0x1 - bne _081134FC - adds r0, r4, 0 - bl sub_8113194 - b _08113502 - .align 2, 0 -_081134F4: .4byte 0x00004073 -_081134F8: .4byte gUnknown_2023E8A -_081134FC: - adds r0, r4, 0 - bl sub_81131FC -_08113502: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81134CC - - thumb_func_start sub_8113508 -sub_8113508: @ 8113508 - ldr r0, [r0] - lsls r0, 24 - lsrs r0, 31 - bx lr - thumb_func_end sub_8113508 - - thumb_func_start sub_8113510 -sub_8113510: @ 8113510 - push {lr} - ldr r0, _08113520 @ =0x00004038 - bl GetVarPointer - bl sub_8113524 - pop {r0} - bx r0 - .align 2, 0 -_08113520: .4byte 0x00004038 - thumb_func_end sub_8113510 - - thumb_func_start sub_8113524 -sub_8113524: @ 8113524 - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - bx lr - thumb_func_end sub_8113524 - - thumb_func_start sub_8113530 -sub_8113530: @ 8113530 - push {lr} - ldr r0, _08113548 @ =0x00004038 - bl GetVarPointer - ldr r1, _0811354C @ =gUnknown_20370C0 - ldrb r1, [r1] - bl sub_8113114 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_08113548: .4byte 0x00004038 -_0811354C: .4byte gUnknown_20370C0 - thumb_func_end sub_8113530 - thumb_func_start sub_8113550 sub_8113550: @ 8113550 push {r4,r5,lr} diff --git a/include/battle.h b/include/battle.h index ee707f78b..d89db4656 100644 --- a/include/battle.h +++ b/include/battle.h @@ -977,4 +977,6 @@ extern u8 gBattlersCount; extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT]; extern s32 gBattleMoveDamage; +extern u8 gUnknown_2023E8A; + #endif // GUARD_BATTLE_H diff --git a/src/quest_log.c b/src/quest_log.c index f0b79bb58..e16de5e5d 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -21,6 +21,7 @@ #include "map_obj_lock.h" #include "field_player_avatar.h" #include "field_control_avatar.h" +#include "battle.h" #include "item.h" #include "region_map.h" #include "map_name_popup.h" @@ -149,7 +150,8 @@ void sub_81132E0(struct Var4038Struct *); bool16 sub_811337C(struct Var4038Struct *); void sub_8113390(struct Var4038Struct *); void sub_8113414(u8 (*)[16], u8, u8); -bool8 sub_8113508(void); +void sub_81134CC(struct Var4038Struct *); +bool8 sub_8113508(struct Var4038Struct * ); void sub_8113524(struct Var4038Struct *); void sub_8113A1C(u8); void sub_811381C(void); @@ -2262,7 +2264,7 @@ void sub_8113064(void) void sub_8113078(struct Var4038Struct * varPtr) { - if (sub_8113508()) + if (sub_8113508(varPtr)) { sub_81132E0(varPtr); VarSet(VAR_0x4039, gSaveBlock2Ptr->playTimeHours); @@ -2505,3 +2507,40 @@ void sub_8113414(u8 (* a0)[16], u8 a1, u8 a2) } } } + +void sub_81134B8(void) +{ + sub_81134CC(VAR_0x4038_STRUCT); +} + +void sub_81134CC(struct Var4038Struct * a0) +{ + if (VarGet(VAR_0x4073) == 2) + { + sub_8113078(a0); + if (gUnknown_2023E8A == 1) + sub_8113194(a0); + else + sub_81131FC(a0); + } +} + +bool8 sub_8113508(struct Var4038Struct * a0) +{ + return a0->unk_0_7; +} + +void sub_8113510(void) +{ + sub_8113524(VAR_0x4038_STRUCT); +} + +void sub_8113524(struct Var4038Struct * a0) +{ + a0->unk_0_7 = TRUE; +} + +u8 sub_8113530(void) +{ + return sub_8113114(VAR_0x4038_STRUCT, gUnknown_20370C0); +} From d40ea8b15da1dfcd2477121e4191a0c1dec3e400 Mon Sep 17 00:00:00 2001 From: paul Date: Tue, 30 Oct 2018 01:27:51 +0100 Subject: [PATCH 068/222] prepare graphics.s for further dumping of compressed data, tag regions which arent compressed --- data/graphics.s | 283 +++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 230 insertions(+), 53 deletions(-) diff --git a/data/graphics.s b/data/graphics.s index d2389d361..ab8075c41 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -12,7 +12,10 @@ gFile_graphics_interface_menu_map_tilemap:: @ 8D0051C .align 2 gUnknown_8D00748:: @ 8D00748 - .incbin "baserom.gba", 0xD00748, 0x488 + .incbin "baserom.gba", 0xD00748, 0x244 + +gUnknown_8D0098C:: @ 8D0098C + .incbin "baserom.gba", 0xD0098C, 0x244 .align 2 gUnknown_8D00BD0:: @ 8D00BD0 @@ -1759,7 +1762,19 @@ gFile_graphics_battle_anims_sprites_186_palette:: @ 8D1F31C .align 2 gUnknown_8D1F340:: @ 8D1F340 - .incbin "baserom.gba", 0xD1F340, 0x77C + .incbin "baserom.gba", 0xD1F340, 0x2C4 + + .align 2 +gUnknown_8D1F604:: @ 8D1F604 + .incbin "baserom.gba", 0xD1F604, 0x190 + + .align 2 +gUnknown_8D1F794:: @ 8D1F794 + .incbin "baserom.gba", 0xD1F794, 0x194 + + .align 2 +gUnknown_8D1F928:: @ 8D1F928 + .incbin "baserom.gba", 0xD1F928, 0x194 .align 2 gFile_graphics_battle_interface_healthbox_safari_sheet:: @ 8D1FABC @@ -13683,7 +13698,7 @@ gFile_graphics_battle_interface_ball_status_bar_sheet:: @ 8E7BB04 .align 2 gUnknown_8E7BBB8:: @ 8E7BB88 - .incbin "baserom.gba", 0xE7BB88, 0x400 + .incbin "baserom.gba", 0xE7BB88, 0x400 @UNKNOWN .align 2 gFile_graphics_battle_anims_backgrounds_02_sheet:: @ 8E7BF88 @@ -13920,7 +13935,16 @@ gUnknown_8E835B4:: @ 8E835B4 .incbin "baserom.gba", 0xE835B4, 0x50 gUnknown_8E83604:: @ 8E83604 - .incbin "baserom.gba", 0xE83604, 0xF84 + .incbin "baserom.gba", 0xE83604, 0x28 + +gUnknown_8E8362C:: @ 8E8362C + .incbin "baserom.gba", 0xE8362C, 0x790 + +gUnknown_8E83DBC:: @ 8E83DBC + .incbin "baserom.gba", 0xE83DBC, 0x7A4 + +gUnknown_8E84560:: @ 8E84560 + .incbin "baserom.gba", 0xE84560, 0x28 .align 2 gFile_graphics_interface_bag_swap_sheet:: @ 8E84588 @@ -13944,7 +13968,10 @@ gUnknown_8E84CB0:: @ 8E84CB0 .incbin "baserom.gba", 0xE84CB0, 0x70 gUnknown_8E84D20:: @ 8E84D20 - .incbin "baserom.gba", 0xE84D20, 0x200 + .incbin "baserom.gba", 0xE84D20, 0x70 + +gUnknown_8E84D90:: @ 8E84D90 + .incbin "baserom.gba", 0xE84D90, 0x190 gUnknown_8E84F20:: @ 8E84F20 .incbin "baserom.gba", 0xE84F20, 0x148 @@ -13959,7 +13986,10 @@ gUnknown_8E85408:: @ 8E85408 .incbin "baserom.gba", 0xE85408, 0x50 gUnknown_8E85458:: @ 8E85458 - .incbin "baserom.gba", 0xE85458, 0x578 + .incbin "baserom.gba", 0xE85458, 0x1B4 + +gUnknown_8E8560C:: @ 8E8560C + .incbin "baserom.gba", 0xE8560C, 0x3C4 gUnknown_8E859D0:: @ 8E859D0 .incbin "baserom.gba", 0xE859D0, 0x1D4 @@ -13968,7 +13998,10 @@ gUnknown_8E85BA4:: @ 8E85BA4 .incbin "baserom.gba", 0xE85BA4, 0x50 gUnknown_8E85BF4:: @ 8E85BF4 - .incbin "baserom.gba", 0xE85BF4, 0x50 + .incbin "baserom.gba", 0xE85BF4, 0x28 + +gUnknown_8E85C1C:: @ 8E85C1C + .incbin "baserom.gba", 0xE85C1C, 0x28 gUnknown_8E85C44:: @ 8E85C44 .incbin "baserom.gba", 0xE85C44, 0x184 @@ -13983,7 +14016,10 @@ gUnknown_8E86038:: @ 8E86038 .incbin "baserom.gba", 0xE86038, 0x138 gUnknown_8E86170:: @ 8E86170 - .incbin "baserom.gba", 0xE86170, 0xD0 + .incbin "baserom.gba", 0xE86170, 0x38 + +gUnknown_8E861A8:: @ 8E861A8 + .incbin "baserom.gba", 0xE861A8, 0x98 gUnknown_8E86240:: @ 8E86240 .incbin "baserom.gba", 0xE86240, 0x9A8 @@ -13995,7 +14031,10 @@ gUnknown_8E86D6C:: @ 8E86D6C .incbin "baserom.gba", 0xE86D6C, 0x22C gUnknown_8E86F98:: @ 8E86F98 - .incbin "baserom.gba", 0xE86F98, 0x90 + .incbin "baserom.gba", 0xE86F98, 0x78 + +gUnknown_8E87010:: @ 8E87010 + .incbin "baserom.gba", 0xE87010, 0x18 @ THIS IS ITEM ICONS .align 2 @@ -15891,7 +15930,10 @@ gUnknown_8E93B14:: @ 8E93B14 .incbin "baserom.gba", 0xE93B14, 0x24 gUnknown_8E93B38:: @ 8E93B38 - .incbin "baserom.gba", 0xE93B38, 0x4E8 + .incbin "baserom.gba", 0xE93B38, 0x368 + +gUnknown_8E93EA0:: @ 8E93EA0 + .incbin "baserom.gba", 0xE93EA0, 0x180 @UNKNOWN .align 2 gFile_graphics_mail_orange_tiles_sheet:: @ 8E94020 @@ -15991,16 +16033,16 @@ gFile_graphics_mail_retro_map_tilemap:: @ 8E95C88 .align 2 gUnknown_8E95D9C:: @ 8E95D9C - .incbin "baserom.gba", 0xE95D9C, 0x20 + .incbin "baserom.gba", 0xE95D9C, 0x20 @UNKNOWN gUnknown_8E95DBC:: @ 8E95DBC - .incbin "baserom.gba", 0xE95DBC, 0x20 + .incbin "baserom.gba", 0xE95DBC, 0x20 @UNKNOWN gUnknown_8E95DDC:: @ 8E95DDC - .incbin "baserom.gba", 0xE95DDC, 0x2000 + .incbin "baserom.gba", 0xE95DDC, 0x2000 @UNKNOWN gUnknown_8E97DDC:: @ 8E97DDC - .incbin "baserom.gba", 0xE97DDC, 0x20 + .incbin "baserom.gba", 0xE97DDC, 0x20 @UNKNOWN gUnknown_8E97DFC:: @ 8E97DFC .incbin "baserom.gba", 0xE97DFC, 0xC8 @@ -16009,10 +16051,10 @@ gUnknown_8E97EC4:: @ 8E97EC4 .incbin "baserom.gba", 0xE97EC4, 0x120 gUnknown_8E97FE4:: @ 8E97FE4 - .incbin "baserom.gba", 0xE97FE4, 0x40 + .incbin "baserom.gba", 0xE97FE4, 0x40 @UNKNOWN gUnknown_8E98024:: @ 8E98024 - .incbin "baserom.gba", 0xE98024, 0xC0 + .incbin "baserom.gba", 0xE98024, 0xC0 @UNKNOWN gUnknown_8E980E4:: @ 8E980E4 .incbin "baserom.gba", 0xE980E4, 0x1D8 @@ -16024,34 +16066,52 @@ gUnknown_8E98398:: @ 8E98398 .incbin "baserom.gba", 0xE98398, 0xC0 gUnknown_8E98458:: @ 8E98458 - .incbin "baserom.gba", 0xE98458, 0xCC0 + .incbin "baserom.gba", 0xE98458, 0xC0 + +gUnknown_8E98518:: @ 8E98518 + .incbin "baserom.gba", 0xE98518, 0xC0 + +gUnknown_8E985D8:: @ 8E985D8 + .incbin "baserom.gba", 0xE985D8, 0xB40 @UNKNOWN, FALSEPOSITIVE? gUnknown_8E99118:: @ 8E99118 - .incbin "baserom.gba", 0xE99118, 0xE0 + .incbin "baserom.gba", 0xE99118, 0xE0 @UNKNOWN gUnknown_8E991F8:: @ 8E991F8 - .incbin "baserom.gba", 0xE991F8, 0x6D4 + .incbin "baserom.gba", 0xE991F8, 0x674 + +gUnknown_8E9986C:: @ 8E9986C + .incbin "baserom.gba", 0xE9986C, 0x60 @UNKNOWN gUnknown_8E998CC:: @ 8E998CC .incbin "baserom.gba", 0xE998CC, 0x4C0 gUnknown_8E99D8C:: @ 8E99D8C - .incbin "baserom.gba", 0xE99D8C, 0x20 + .incbin "baserom.gba", 0xE99D8C, 0x20 @UNKNOWN gUnknown_8E99DAC:: @ 8E99DAC - .incbin "baserom.gba", 0xE99DAC, 0xC8 + .incbin "baserom.gba", 0xE99DAC, 0xC8 @UNKNOWN gUnknown_8E99E74:: @ 8E99E74 - .incbin "baserom.gba", 0xE99E74, 0x5EC + .incbin "baserom.gba", 0xE99E74, 0xB0 + +gUnknown_8E99F24:: @ 8E99F24 + .incbin "baserom.gba", 0xE99F24, 0x20 @UNKNOWN + +gUnknown_8E99F44:: @ 8E99F44 + .incbin "baserom.gba", 0xE99F44, 0x224 + +gUnknown_8E9A168:: @ 8E9A168 + .incbin "baserom.gba", 0xE9A168, 0x2F8 gUnknown_8E9A460:: @ 8E9A460 .incbin "baserom.gba", 0xE9A460, 0xEB0 gUnknown_8E9B310:: @ 8E9B310 - .incbin "baserom.gba", 0xE9B310, 0xC0 + .incbin "baserom.gba", 0xE9B310, 0xC0 @UNKNOWN gUnknown_8E9B3D0:: @ 8E9B3D0 - .incbin "baserom.gba", 0xE9B3D0, 0x20 + .incbin "baserom.gba", 0xE9B3D0, 0x20 @UNKNOWN gUnknown_8E9B3F0:: @ 8E9B3F0 .incbin "baserom.gba", 0xE9B3F0, 0xC8 @@ -16060,7 +16120,7 @@ gUnknown_8E9B4B8:: @ 8E9B4B8 .incbin "baserom.gba", 0xE9B4B8, 0xC0 gUnknown_8E9B578:: @ 8E9B578 - .incbin "baserom.gba", 0xE9B578, 0x20 + .incbin "baserom.gba", 0xE9B578, 0x20 @UNKNOWN gUnknown_8E9B598:: @ 8E9B598 .incbin "baserom.gba", 0xE9B598, 0x1B8 @@ -16075,22 +16135,34 @@ gUnknown_8E9BA9C:: @ 8E9BA9C .incbin "baserom.gba", 0xE9BA9C, 0x130 gUnknown_8E9BBCC:: @ 8E9BBCC - .incbin "baserom.gba", 0xE9BBCC, 0x35C + .incbin "baserom.gba", 0xE9BBCC, 0x13C + +gUnknown_8E9BD08:: @ 8E9BD08 + .incbin "baserom.gba", 0xE9BD08, 0x20 @UNKNOWN + +gUnknown_8E9BD28:: @ 8E9BD28 + .incbin "baserom.gba", 0xE9BD28, 0x200 gUnknown_8E9BF28:: @ 8E9BF28 - .incbin "baserom.gba", 0xE9BF28, 0x20 + .incbin "baserom.gba", 0xE9BF28, 0x20 @UNKNOWN gUnknown_8E9BF48:: @ 8E9BF48 - .incbin "baserom.gba", 0xE9BF48, 0x490 + .incbin "baserom.gba", 0xE9BF48, 0x204 + +gUnknown_8E9C14C:: @ 8E9C14C + .incbin "baserom.gba", 0xE9C14C, 0x20 @UNKNOWN + +gUnknown_8E9C16C:: @ 8E9C16C + .incbin "baserom.gba", 0xE9C16C, 0x26C gUnknown_8E9C3D8:: @ 8E9C3D8 - .incbin "baserom.gba", 0xE9C3D8, 0x20 + .incbin "baserom.gba", 0xE9C3D8, 0x20 @UNKNOWN gUnknown_8E9C3F8:: @ 8E9C3F8 - .incbin "baserom.gba", 0xE9C3F8, 0x20 + .incbin "baserom.gba", 0xE9C3F8, 0x20 @UNKNOWN gUnknown_8E9C418:: @ 8E9C418 - .incbin "baserom.gba", 0xE9C418, 0x20 + .incbin "baserom.gba", 0xE9C418, 0x20 @UNKNOWN gUnknown_8E9C438:: @ 8E9C438 .incbin "baserom.gba", 0xE9C438, 0x6B4 @@ -16099,46 +16171,133 @@ gUnknown_8E9CAEC:: @ 8E9CAEC .incbin "baserom.gba", 0xE9CAEC, 0xB0 gUnknown_8E9CB9C:: @ 8E9CB9C - .incbin "baserom.gba", 0xE9CB9C, 0x20 + .incbin "baserom.gba", 0xE9CB9C, 0x20 @UNKNOWN gUnknown_8E9CBBC:: @ 8E9CBBC - .incbin "baserom.gba", 0xE9CBBC, 0x320 + .incbin "baserom.gba", 0xE9CBBC, 0x320 @UNKNOWN gUnknown_8E9CEDC:: @ 8E9CEDC - .incbin "baserom.gba", 0xE9CEDC, 0x80 + .incbin "baserom.gba", 0xE9CEDC, 0x80 @UNKNOWN gUnknown_8E9CF5C:: @ 8E9CF5C - .incbin "baserom.gba", 0xE9CF5C, 0x1AA0 + .incbin "baserom.gba", 0xE9CF5C, 0x1AA0 @UNKNOWN gUnknown_8E9E9FC:: @ 8E9E9FC - .incbin "baserom.gba", 0xE9E9FC, 0x800 + .incbin "baserom.gba", 0xE9E9FC, 0x800 @UNKNOWN gUnknown_8E9F1FC:: @ 8E9F1FC - .incbin "baserom.gba", 0xE9F1FC, 0x24 + .incbin "baserom.gba", 0xE9F1FC, 0x24 @UNKNOWN gUnknown_8E9F220:: @ 8E9F220 - .incbin "baserom.gba", 0xE9F220, 0x40 + .incbin "baserom.gba", 0xE9F220, 0x40 @UNKNOWN gUnknown_8E9F260:: @ 8E9F260 - .incbin "baserom.gba", 0xE9F260, 0x14A0 + .incbin "baserom.gba", 0xE9F260, 0x14A0 @UNKNOWN gUnknown_8EA0700:: @ 8EA0700 - .incbin "baserom.gba", 0xEA0700, 0x800 + .incbin "baserom.gba", 0xEA0700, 0x800 @UNKNOWN gUnknown_8EA0F00:: @ 8EA0F00 - .incbin "baserom.gba", 0xEA0F00, 0x800 + .incbin "baserom.gba", 0xEA0F00, 0x800 @UNKNOWN gUnknown_8EA1700:: @ 8EA1700 - .incbin "baserom.gba", 0xEA1700, 0x20 + .incbin "baserom.gba", 0xEA1700, 0x20 @UNKNOWN gUnknown_8EA1720:: @ 8EA1720 .incbin "baserom.gba", 0xEA1720, 0x238 gUnknown_8EA1958:: @ 8EA1958 - .incbin "baserom.gba", 0xEA1958, 0x9098 + .incbin "baserom.gba", 0xEA1958, 0xF8 + +gUnknown_8EA1A50:: @ 8EA1A50 + .incbin "baserom.gba", 0xEA1A50, 0x118 + +gUnknown_8EA1B68:: @ 8EA1B68 + .incbin "baserom.gba", 0xEA1B68, 0xE0 @UNKNOWN + +gUnknown_8EA1C48:: @ 8EA1C48 + .incbin "baserom.gba", 0xEA1C48, 0x90 + +gUnknown_8EA1CD8:: @ 8EA1CD8 + .incbin "baserom.gba", 0xEA1CD8, 0x90 @UNKNOWN + +gUnknown_8EA1D68:: @ 8EA1D68 + .incbin "baserom.gba", 0xEA1D68, 0x28D4 + +gUnknown_8EA463C:: @ 8EA463C + .incbin "baserom.gba", 0xEA463C, 0x40 @UNKNOWN + +gUnknown_8EA467C:: @ 8EA467C + .incbin "baserom.gba", 0xEA467C, 0xC3C + +gUnknown_8EA52B8:: @ 8EA52B8 + .incbin "baserom.gba", 0xEA52B8, 0x34C + +gUnknown_8EA5604:: @ 8EA5604 + .incbin "baserom.gba", 0xEA5604, 0x60 @UNKNOWN + +gUnknown_8EA5664:: @ 8EA5664 + .incbin "baserom.gba", 0xEA5664, 0xA64 + +gUnknown_8EA60C8:: @ 8EA60C8 + .incbin "baserom.gba", 0xEA60C8, 0x300 + +gUnknown_8EA63C8:: @ 8EA63C8 + .incbin "baserom.gba", 0xEA63C8, 0x40 @UNKNOWN + +gUnknown_8EA6408:: @ 8EA6408 + .incbin "baserom.gba", 0xEA6408, 0xC20 + +gUnknown_8EA7028:: @ 8EA7028 + .incbin "baserom.gba", 0xEA7028, 0x2B8 + +gUnknown_8EA72E0:: @ 8EA72E0 + .incbin "baserom.gba", 0xEA72E0, 0x40 @UNKNOWN + +gUnknown_8EA7320:: @ 8EA7320 + .incbin "baserom.gba", 0xEA7320, 0xDF8 + +gUnknown_8EA8118:: @ 8EA8118 + .incbin "baserom.gba", 0xEA8118, 0x2B0 + +gUnknown_8EA83C8:: @ 8EA83C8 + .incbin "baserom.gba", 0xEA83C8, 0x40 @UNKNOWN + +gUnknown_8EA8408:: @ 8EA8408 + .incbin "baserom.gba", 0xEA8408, 0x8C0 + +gUnknown_8EA8CC8:: @ 8EA8CC8 + .incbin "baserom.gba", 0xEA8CC8, 0x238 + +gUnknown_8EA8F00:: @ 8EA8F00 + .incbin "baserom.gba", 0xEA8F00, 0x40 @UNKNOWN + +gUnknown_8EA8F40:: @ 8EA8F40 + .incbin "baserom.gba", 0xEA8F40, 0x648 + +gUnknown_8EA9588:: @ 8EA9588 + .incbin "baserom.gba", 0xEA9588, 0x26C + +gUnknown_8EA97F4:: @ 8EA97F4 + .incbin "baserom.gba", 0xEA97F4, 0x120 @UNKNOWN + +gUnknown_8EA9914:: @ 8EA9914 + .incbin "baserom.gba", 0xEA9914, 0x90 + +gUnknown_8EA99A4:: @ 8EA99A4 + .incbin "baserom.gba", 0xEA99A4, 0x50 @UNKNOWN + +gUnknown_8EA99F4:: @ 8EA99F4 + .incbin "baserom.gba", 0xEA99F4, 0x394 + +gUnknown_8EA9D88:: @ 8EA9D88 + .incbin "baserom.gba", 0xEA9D88, 0x200 @UNKNOWN + +gUnknown_8EA9F88:: @ 8EA9F88 + .incbin "baserom.gba", 0xEA9F88, 0xA68 gUnknown_8EAA9F0:: @ 8EAA9F0 - .incbin "baserom.gba", 0xEAA9F0, 0x20 + .incbin "baserom.gba", 0xEAA9F0, 0x20 @UNKNOWN gUnknown_8EAAA10:: @ 8EAAA10 .incbin "baserom.gba", 0xEAAA10, 0x5C @@ -16147,7 +16306,7 @@ gUnknown_8EAAA6C:: @ 8EAAA6C .incbin "baserom.gba", 0xEAAA6C, 0xAC gUnknown_8EAAB18:: @ 8EAAB18 - .incbin "baserom.gba", 0xEAAB18, 0x80 + .incbin "baserom.gba", 0xEAAB18, 0x80 @UNKNOWN gUnknown_8EAAB98:: @ 8EAAB98 .incbin "baserom.gba", 0xEAAB98, 0x774 @@ -16156,7 +16315,7 @@ gUnknown_8EAB30C:: @ 8EAB30C .incbin "baserom.gba", 0xEAB30C, 0x3B8 gUnknown_8EAB6C4:: @ 8EAB6C4 - .incbin "baserom.gba", 0xEAB6C4, 0x200 + .incbin "baserom.gba", 0xEAB6C4, 0x200 @UNKNOWN gUnknown_8EAB8C4:: @ 8EAB8C4 .incbin "baserom.gba", 0xEAB8C4, 0x1ACC @@ -16165,7 +16324,7 @@ gUnknown_8EAD390:: @ 8EAD390 .incbin "baserom.gba", 0xEAD390, 0x258 gUnknown_8EAD5E8:: @ 8EAD5E8 - .incbin "baserom.gba", 0xEAD5E8, 0x20 + .incbin "baserom.gba", 0xEAD5E8, 0x20 @UNKNOWN gUnknown_8EAD608:: @ 8EAD608 .incbin "baserom.gba", 0xEAD608, 0x8DC @@ -16174,7 +16333,7 @@ gUnknown_8EADEE4:: @ 8EADEE4 .incbin "baserom.gba", 0xEADEE4, 0x1B0 gUnknown_8EAE094:: @ 8EAE094 - .incbin "baserom.gba", 0xEAE094, 0x20 + .incbin "baserom.gba", 0xEAE094, 0x20 @UNKNOWN gUnknown_8EAE0B4:: @ 8EAE0B4 .incbin "baserom.gba", 0xEAE0B4, 0x2C0 @@ -16183,19 +16342,37 @@ gUnknown_8EAE374:: @ 8EAE374 .incbin "baserom.gba", 0xEAE374, 0x114 gUnknown_8EAE488:: @ 8EAE488 - .incbin "baserom.gba", 0xEAE488, 0x598 + .incbin "baserom.gba", 0xEAE488, 0x20 @UNKNOWN + +gUnknown_8EAE4A8:: @ 8EAE4A8 + .incbin "baserom.gba", 0xEAE4A8, 0x80 + +gUnknown_8EAE528:: @ 8EAE528 + .incbin "baserom.gba", 0xEAE528, 0x20 @UNKNOWN + +gUnknown_8EAE548:: @ 8EAE548 + .incbin "baserom.gba", 0xEAE548, 0x3B8 + +gUnknown_8EAE900:: @ 8EAE900 + .incbin "baserom.gba", 0xEAE900, 0x100 + +gUnknown_8EAEA00:: @ 8EAEA00 + .incbin "baserom.gba", 0xEAEA00, 0x20 @UNKNOWN gUnknown_8EAEA20:: @ 8EAEA20 - .incbin "baserom.gba", 0xEAEA20, 0x60 + .incbin "baserom.gba", 0xEAEA20, 0x60 @UNKNOWN gUnknown_8EAEA80:: @ 8EAEA80 - .incbin "baserom.gba", 0xEAEA80, 0x1420 + .incbin "baserom.gba", 0xEAEA80, 0x1420 @UNKNOWN gUnknown_8EAFEA0:: @ 8EAFEA0 - .incbin "baserom.gba", 0xEAFEA0, 0x120 + .incbin "baserom.gba", 0xEAFEA0, 0x120 @UNKNOWN gUnknown_8EAFFC0:: @ 8EAFFC0 .incbin "baserom.gba", 0xEAFFC0, 0xB1C gUnknown_8EB0ADC:: @ 8EB0ADC - .incbin "baserom.gba", 0xEB0ADC + .incbin "baserom.gba", 0xEB0ADC, 0x44 + +gUnknown_8EB0B20:: @ 8EB0B20 + .incbin "baserom.gba", 0xEB0B20 From 812f735c03d90b92c10e8c2ee460654317fc1822 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 3 Nov 2018 11:25:27 -0400 Subject: [PATCH 069/222] Nonmatching sub_8113550 --- asm/quest_log.s | 183 ----------------------- data/quest_log.s | 3 - src/quest_log.c | 369 ++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 367 insertions(+), 188 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 4a2914209..72cd3da6a 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,189 +5,6 @@ .text - thumb_func_start sub_8113550 -sub_8113550: @ 8113550 - push {r4,r5,lr} - adds r5, r1, 0 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x23 - bne _08113570 - ldr r0, _0811356C @ =gUnknown_203B048 - ldrb r0, [r0] - cmp r0, 0x2 - bne _08113570 - bl sub_811381C - b _081136BC - .align 2, 0 -_0811356C: .4byte gUnknown_203B048 -_08113570: - bl sub_811381C - ldr r0, _0811362C @ =gUnknown_203ADFA - ldrb r0, [r0] - cmp r0, 0x2 - bne _0811357E - b _081136BC -_0811357E: - subs r0, r4, 0x3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x27 - bls _0811358A - b _081136BC -_0811358A: - bl sub_81136D4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08113598 - b _081136BC -_08113598: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_81138A0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081135AA - b _081136BC -_081135AA: - bl sub_80BF708 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081135B8 - b _081136BC -_081135B8: - bl InUnionRoom - cmp r0, 0x1 - bne _081135C2 - b _081136BC -_081135C2: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8113954 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081136BC - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8113A44 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081136BC - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_81153E4 - lsls r0, 24 - cmp r0, 0 - beq _081136BC - ldr r0, _08113630 @ =gUnknown_3005E88 - ldrb r0, [r0] - cmp r0, 0 - bne _08113638 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8113778 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081136BC - cmp r4, 0x1F - bne _08113614 - ldr r0, _08113634 @ =gUnknown_203AE04 - ldr r0, [r0] - cmp r0, 0 - bne _0811363C -_08113614: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_81153A8 - lsls r0, 24 - cmp r0, 0 - beq _081136BC - adds r0, r4, 0 - bl sub_8110AEC - b _0811363C - .align 2, 0 -_0811362C: .4byte gUnknown_203ADFA -_08113630: .4byte gUnknown_3005E88 -_08113634: .4byte gUnknown_203AE04 -_08113638: - cmp r4, 0x28 - beq _081136BC -_0811363C: - adds r0, r4, 0 - bl sub_8113B94 - cmp r4, 0x1F - bne _0811367C - ldr r2, _0811365C @ =gUnknown_203AE04 - ldr r1, [r2] - cmp r1, 0 - bne _08113668 - ldr r0, _08113660 @ =gUnknown_203AE08 - ldr r0, [r0] - str r0, [r2] - ldr r1, _08113664 @ =gUnknown_8456948 - ldr r2, [r1, 0x7C] - b _0811368E - .align 2, 0 -_0811365C: .4byte gUnknown_203AE04 -_08113660: .4byte gUnknown_203AE08 -_08113664: .4byte gUnknown_8456948 -_08113668: - ldr r0, _08113678 @ =gUnknown_8456948 - ldr r2, [r0, 0x7C] - adds r0, r1, 0 - adds r1, r5, 0 - bl _call_via_r2 - b _081136BC - .align 2, 0 -_08113678: .4byte gUnknown_8456948 -_0811367C: - ldr r1, _081136C4 @ =gUnknown_203AE04 - movs r0, 0 - str r0, [r1] - ldr r0, _081136C8 @ =gUnknown_8456948 - lsls r1, r4, 2 - adds r1, r0 - ldr r0, _081136CC @ =gUnknown_203AE08 - ldr r0, [r0] - ldr r2, [r1] -_0811368E: - adds r1, r5, 0 - bl _call_via_r2 - adds r1, r0, 0 - cmp r1, 0 - bne _081136AC - bl sub_811231C - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8113828 - adds r1, r0, 0 - cmp r1, 0 - beq _081136BC -_081136AC: - ldr r0, _081136CC @ =gUnknown_203AE08 - str r1, [r0] - ldr r0, _081136D0 @ =gUnknown_203B048 - ldrb r0, [r0] - cmp r0, 0 - beq _081136BC - bl sub_811231C -_081136BC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081136C4: .4byte gUnknown_203AE04 -_081136C8: .4byte gUnknown_8456948 -_081136CC: .4byte gUnknown_203AE08 -_081136D0: .4byte gUnknown_203B048 - thumb_func_end sub_8113550 - thumb_func_start sub_81136D4 sub_81136D4: @ 81136D4 push {lr} diff --git a/data/quest_log.s b/data/quest_log.s index 527fadb75..6a0f5449d 100644 --- a/data/quest_log.s +++ b/data/quest_log.s @@ -1,9 +1,6 @@ .section .rodata .align 2 -gUnknown_8456948:: @ 8456948 - .incbin "baserom.gba", 0x456948, 0xAC - gUnknown_84569F4:: @ 84569F4 .incbin "baserom.gba", 0x4569F4, 0xAC diff --git a/src/quest_log.c b/src/quest_log.c index e16de5e5d..cfa353caa 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -30,6 +30,7 @@ #include "unk_8159F40.h" #include "pokemon_storage_system.h" #include "save.h" +#include "link.h" #include "quest_log_8150454.h" #include "quest_log.h" @@ -99,6 +100,7 @@ EWRAM_DATA u16 gUnknown_203B01E; EWRAM_DATA u8 gUnknown_203B020; EWRAM_DATA u16 gUnknown_203B044[2] = {0}; +EWRAM_DATA u8 gUnknown_203B048 = 0; void sub_8110A00(void); void sub_8110A3C(void); @@ -153,6 +155,53 @@ void sub_8113414(u8 (*)[16], u8, u8); void sub_81134CC(struct Var4038Struct *); bool8 sub_8113508(struct Var4038Struct * ); void sub_8113524(struct Var4038Struct *); +bool8 sub_81136D4(void); +bool8 sub_8113778(u16, void*); +void* sub_8113828(u16, void*); +bool8 sub_81138A0(u16, void*); +bool8 sub_8113954(u16, void*); +bool8 sub_8113A44(u16, void*); +void sub_8113B94(u16); +void *sub_8113F14(void *, void *); +void *sub_8113F80(void *, void *); +void *sub_8114174(void *, void *); +void *sub_81141D0(void *, void *); +void *sub_811422C(void *, void *); +void *sub_8114288(void *, void *); +void *sub_8114310(void *, void *); +void *sub_8114380(void *, void *); +void *sub_81143F0(void *, void *); +void *sub_811445C(void *, void *); +void *sub_81144EC(void *, void *); +void *sub_8114578(void *, void *); +void *sub_8114604(void *, void *); +void *sub_8114710(void *, void *); +void *sub_8114744(void *, void *); +void *sub_8114778(void *, void *); +void *sub_8114808(void *, void *); +void *sub_811488C(void *, void *); +void *sub_8114918(void *, void *); +void *sub_8114990(void *, void *); +void *sub_8114A1C(void *, void *); +void *sub_8114AA0(void *, void *); +void *sub_8114B0C(void *, void *); +void *sub_8114B78(void *, void *); +void *sub_8114BE4(void *, void *); +void *sub_8114C68(void *, void *); +void *sub_8114CC0(void *, void *); +void *sub_8114D4C(void *, void *); +void *sub_8114DE8(void *, void *); +void *sub_8114FF0(void *, void *); +void *sub_8115078(void *, void *); +void *sub_81151C0(void *, void *); +void *sub_8115280(void *, void *); +void *sub_8115410(void *, void *); +void *sub_81154DC(void *, void *); +void *sub_81155A4(void *, void *); +void *sub_81156D8(void *, void *); +void *sub_81157DC(void *, void *); +bool8 sub_81153A8(u16, void*); +bool8 sub_81153E4(u16, void*); void sub_8113A1C(u8); void sub_811381C(void); void sub_81138F8(void); @@ -185,8 +234,6 @@ const u16 gUnknown_8456638[] = INCBIN_U16("data/graphics/unknown_8456638.bin"); const u8 gUnknown_8456698[] = {17, 10, 3}; -extern const struct UnkStruct_203AE98 gUnknown_845669C; - void sub_8110840(void * oldPointer) { ptrdiff_t offset = (void *)gSaveBlock1Ptr - oldPointer; @@ -2544,3 +2591,321 @@ u8 sub_8113530(void) { return sub_8113114(VAR_0x4038_STRUCT, gUnknown_20370C0); } + +void * (*const gUnknown_8456948[])(void *, void *) = { + NULL, + NULL, + NULL, + sub_8113F14, + sub_8113F80, + sub_8114174, + sub_81141D0, + sub_811422C, + sub_8114288, + sub_8114310, + sub_8114380, + sub_81143F0, + sub_811445C, + sub_81144EC, + sub_8114578, + sub_8114604, + sub_8114710, + sub_8114744, + sub_8114778, + sub_8114808, + sub_811488C, + sub_8114918, + sub_8114990, + sub_8114A1C, + sub_8114AA0, + sub_8114B0C, + sub_8114B78, + sub_8114BE4, + sub_8114C68, + sub_8114CC0, + sub_8114D4C, + sub_8114DE8, + sub_8114FF0, + sub_8115078, + sub_81151C0, + sub_8115280, + sub_8115410, + sub_81154DC, + sub_81155A4, + NULL, + sub_81156D8, + NULL, + sub_81157DC +}; + +#ifdef NONMATCHING +void sub_8113550(u16 a0, void * a1) +{ + void * r1; + + if (a0 == 35 && gUnknown_203B048 == 2) + { + sub_811381C(); + return; + } + sub_811381C(); + if (gUnknown_203ADFA == 2) + return; + + if (a0 < 3 || a0 > 26) + return; + + if (sub_81136D4() == TRUE) + return; + + if (sub_81138A0(a0, a1) == TRUE) + return; + + if (sub_80BF708() == TRUE) + return; + + // NONMATCHING: branch logic here + if (InUnionRoom() == TRUE) + return; + + if (sub_8113954(a0, a1) == TRUE) + return; + + if (sub_8113A44(a0, a1) == TRUE) + return; + + if (sub_81153E4(a0, a1) == FALSE) + return; + + if (gUnknown_3005E88 == 0) + { + if (sub_8113778(a0, a1) == TRUE) + return; + + if (a0 != 31 || gUnknown_203AE04 == NULL) + { + if (sub_81153A8(a0, a1) == FALSE) + return; + sub_8110AEC(a0); + } + } + else if (a0 == 40) + return; + + sub_8113B94(a0); + if (a0 == 31) + { + if (gUnknown_203AE04 == NULL) + { + gUnknown_203AE04 = gUnknown_203AE08; + r1 = gUnknown_8456948[a0](gUnknown_203AE04, a1); + } + else + { + gUnknown_8456948[a0](gUnknown_203AE04, a1); + return; + } + } + else + { + gUnknown_203AE04 = NULL; + r1 = gUnknown_8456948[a0](gUnknown_203AE08, a1); + } + + if (r1 == NULL) + { + r1 = sub_8113828(a0, a1); + if (r1 == NULL) + return; + } + + gUnknown_203AE08 = r1; + if (gUnknown_203B048 == 0) + return; + sub_811231C(); +} +#else +NAKED +void sub_8113550(u16 a0, void * a1) +{ + asm_unified("\tpush {r4,r5,lr}\n" + "\tadds r5, r1, 0\n" + "\tlsls r0, 16\n" + "\tlsrs r4, r0, 16\n" + "\tcmp r4, 0x23\n" + "\tbne _08113570\n" + "\tldr r0, _0811356C @ =gUnknown_203B048\n" + "\tldrb r0, [r0]\n" + "\tcmp r0, 0x2\n" + "\tbne _08113570\n" + "\tbl sub_811381C\n" + "\tb ._return\n" + "\t.align 2, 0\n" + "_0811356C: .4byte gUnknown_203B048\n" + "_08113570:\n" + "\tbl sub_811381C\n" + "\tldr r0, _0811362C @ =gUnknown_203ADFA\n" + "\tldrb r0, [r0]\n" + "\tcmp r0, 0x2\n" + "\tbne _0811357E\n" + "\tb ._return\n" + "_0811357E:\n" + "\tsubs r0, r4, 0x3\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tcmp r0, 0x27\n" + "\tbls _0811358A\n" + "\tb ._return\n" + "_0811358A:\n" + "\tbl sub_81136D4\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tcmp r0, 0x1\n" + "\tbne _08113598\n" + "\tb ._return\n" + "_08113598:\n" + "\tadds r0, r4, 0\n" + "\tadds r1, r5, 0\n" + "\tbl sub_81138A0\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tcmp r0, 0x1\n" + "\tbne _081135AA\n" + "\tb ._return\n" + "_081135AA:\n" + "\tbl sub_80BF708\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tcmp r0, 0x1\n" + "\tbne _081135B8\n" + "\tb ._return\n" + "_081135B8:\n" + "\tbl InUnionRoom\n" + "\tcmp r0, 0x1\n" + "\tbne _081135C2\n" + "\tb ._return\n" + "_081135C2:\n" + "\tadds r0, r4, 0\n" + "\tadds r1, r5, 0\n" + "\tbl sub_8113954\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tcmp r0, 0x1\n" + "\tbeq ._return\n" + "\tadds r0, r4, 0\n" + "\tadds r1, r5, 0\n" + "\tbl sub_8113A44\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tcmp r0, 0x1\n" + "\tbeq ._return\n" + "\tadds r0, r4, 0\n" + "\tadds r1, r5, 0\n" + "\tbl sub_81153E4\n" + "\tlsls r0, 24\n" + "\tcmp r0, 0\n" + "\tbeq ._return\n" + "\tldr r0, _08113630 @ =gUnknown_3005E88\n" + "\tldrb r0, [r0]\n" + "\tcmp r0, 0\n" + "\tbne _08113638\n" + "\tadds r0, r4, 0\n" + "\tadds r1, r5, 0\n" + "\tbl sub_8113778\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tcmp r0, 0x1\n" + "\tbeq ._return\n" + "\tcmp r4, 0x1F\n" + "\tbne _08113614\n" + "\tldr r0, _08113634 @ =gUnknown_203AE04\n" + "\tldr r0, [r0]\n" + "\tcmp r0, 0\n" + "\tbne _0811363C\n" + "_08113614:\n" + "\tadds r0, r4, 0\n" + "\tadds r1, r5, 0\n" + "\tbl sub_81153A8\n" + "\tlsls r0, 24\n" + "\tcmp r0, 0\n" + "\tbeq ._return\n" + "\tadds r0, r4, 0\n" + "\tbl sub_8110AEC\n" + "\tb _0811363C\n" + "\t.align 2, 0\n" + "_0811362C: .4byte gUnknown_203ADFA\n" + "_08113630: .4byte gUnknown_3005E88\n" + "_08113634: .4byte gUnknown_203AE04\n" + "_08113638:\n" + "\tcmp r4, 0x28\n" + "\tbeq ._return\n" + "_0811363C:\n" + "\tadds r0, r4, 0\n" + "\tbl sub_8113B94\n" + "\tcmp r4, 0x1F\n" + "\tbne _0811367C\n" + "\tldr r2, _0811365C @ =gUnknown_203AE04\n" + "\tldr r1, [r2]\n" + "\tcmp r1, 0\n" + "\tbne _08113668\n" + "\tldr r0, _08113660 @ =gUnknown_203AE08\n" + "\tldr r0, [r0]\n" + "\tstr r0, [r2]\n" + "\tldr r1, _08113664 @ =gUnknown_8456948\n" + "\tldr r2, [r1, 0x7C]\n" + "\tb _0811368E\n" + "\t.align 2, 0\n" + "_0811365C: .4byte gUnknown_203AE04\n" + "_08113660: .4byte gUnknown_203AE08\n" + "_08113664: .4byte gUnknown_8456948\n" + "_08113668:\n" + "\tldr r0, _08113678 @ =gUnknown_8456948\n" + "\tldr r2, [r0, 0x7C]\n" + "\tadds r0, r1, 0\n" + "\tadds r1, r5, 0\n" + "\tbl _call_via_r2\n" + "\tb ._return\n" + "\t.align 2, 0\n" + "_08113678: .4byte gUnknown_8456948\n" + "_0811367C:\n" + "\tldr r1, _081136C4 @ =gUnknown_203AE04\n" + "\tmovs r0, 0\n" + "\tstr r0, [r1]\n" + "\tldr r0, _081136C8 @ =gUnknown_8456948\n" + "\tlsls r1, r4, 2\n" + "\tadds r1, r0\n" + "\tldr r0, _081136CC @ =gUnknown_203AE08\n" + "\tldr r0, [r0]\n" + "\tldr r2, [r1]\n" + "_0811368E:\n" + "\tadds r1, r5, 0\n" + "\tbl _call_via_r2\n" + "\tadds r1, r0, 0\n" + "\tcmp r1, 0\n" + "\tbne _081136AC\n" + "\tbl sub_811231C\n" + "\tadds r0, r4, 0\n" + "\tadds r1, r5, 0\n" + "\tbl sub_8113828\n" + "\tadds r1, r0, 0\n" + "\tcmp r1, 0\n" + "\tbeq ._return\n" + "_081136AC:\n" + "\tldr r0, _081136CC @ =gUnknown_203AE08\n" + "\tstr r1, [r0]\n" + "\tldr r0, _081136D0 @ =gUnknown_203B048\n" + "\tldrb r0, [r0]\n" + "\tcmp r0, 0\n" + "\tbeq ._return\n" + "\tbl sub_811231C\n" + "._return:\n" + "\tpop {r4,r5}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" + "_081136C4: .4byte gUnknown_203AE04\n" + "_081136C8: .4byte gUnknown_8456948\n" + "_081136CC: .4byte gUnknown_203AE08\n" + "_081136D0: .4byte gUnknown_203B048"); +} +#endif // NONMATCHING From 8dcea40e585c6aa37a42aa570de9b37d78538756 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 3 Nov 2018 13:36:42 -0400 Subject: [PATCH 070/222] sub_81136D4 --- asm/quest_log.s | 61 ------------------------------------------------- src/quest_log.c | 17 ++++++++++++++ 2 files changed, 17 insertions(+), 61 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 72cd3da6a..a256be271 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,67 +5,6 @@ .text - thumb_func_start sub_81136D4 -sub_81136D4: @ 81136D4 - push {lr} - ldr r0, _08113728 @ =gSaveBlock1Ptr - ldr r2, [r0] - movs r1, 0x4 - ldrsb r1, [r2, r1] - adds r3, r0, 0 - cmp r1, 0x2 - bne _081136F0 - ldrb r0, [r2, 0x5] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xA - bls _08113724 -_081136F0: - ldr r2, [r3] - ldrh r1, [r2, 0x4] - ldr r0, _0811372C @ =0x0000090e - cmp r1, r0 - beq _08113724 - movs r0, 0x4 - ldrsb r0, [r2, r0] - cmp r0, 0x1F - bne _08113708 - ldrb r0, [r2, 0x5] - cmp r0, 0x1 - bls _08113724 -_08113708: - ldr r0, [r3] - ldrh r1, [r0, 0x4] - ldr r0, _08113730 @ =0x00002e01 - cmp r1, r0 - beq _08113724 - ldr r0, _08113734 @ =0x00003a01 - cmp r1, r0 - beq _08113724 - ldr r0, _08113738 @ =0x00000b02 - cmp r1, r0 - beq _08113724 - ldr r0, _0811373C @ =0x0000060a - cmp r1, r0 - bne _08113740 -_08113724: - movs r0, 0x1 - b _08113742 - .align 2, 0 -_08113728: .4byte gSaveBlock1Ptr -_0811372C: .4byte 0x0000090e -_08113730: .4byte 0x00002e01 -_08113734: .4byte 0x00003a01 -_08113738: .4byte 0x00000b02 -_0811373C: .4byte 0x0000060a -_08113740: - movs r0, 0 -_08113742: - pop {r1} - bx r1 - thumb_func_end sub_81136D4 - thumb_func_start sub_8113748 sub_8113748: @ 8113748 push {lr} diff --git a/src/quest_log.c b/src/quest_log.c index cfa353caa..50998b0eb 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -2909,3 +2909,20 @@ void sub_8113550(u16 a0, void * a1) "_081136D0: .4byte gUnknown_203B048"); } #endif // NONMATCHING + +bool8 sub_81136D4(void) +{ + if (gSaveBlock1Ptr->location.mapGroup == 2 && (gSaveBlock1Ptr->location.mapNum == 1 || gSaveBlock1Ptr->location.mapNum == 2 || gSaveBlock1Ptr->location.mapNum == 3 || gSaveBlock1Ptr->location.mapNum == 4 || gSaveBlock1Ptr->location.mapNum == 5 || gSaveBlock1Ptr->location.mapNum == 6 || gSaveBlock1Ptr->location.mapNum == 7 || gSaveBlock1Ptr->location.mapNum == 8 || gSaveBlock1Ptr->location.mapNum == 9 || gSaveBlock1Ptr->location.mapNum == 10 || gSaveBlock1Ptr->location.mapNum == 11)) + return TRUE; + + if (gSaveBlock1Ptr->location.mapGroup == 14 && gSaveBlock1Ptr->location.mapNum == 9) + return TRUE; + + if (gSaveBlock1Ptr->location.mapGroup == 31 && (gSaveBlock1Ptr->location.mapNum == 0 || gSaveBlock1Ptr->location.mapNum == 1)) + return TRUE; + + if ((gSaveBlock1Ptr->location.mapGroup == 1 && gSaveBlock1Ptr->location.mapNum == 46) || (gSaveBlock1Ptr->location.mapGroup == 1 && gSaveBlock1Ptr->location.mapNum == 58) || (gSaveBlock1Ptr->location.mapGroup == 2 && gSaveBlock1Ptr->location.mapNum == 11) || (gSaveBlock1Ptr->location.mapGroup == 10 && gSaveBlock1Ptr->location.mapNum == 6)) + return TRUE; + + return FALSE; +} From be7cda00a1f047fdf38ff88da9477e2c5dfc8cf4 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 3 Nov 2018 16:21:34 -0400 Subject: [PATCH 071/222] through sub_81138F8 --- asm/quest_log.s | 249 ------------------------------------------------ src/quest_log.c | 123 +++++++++++++++++++++--- 2 files changed, 111 insertions(+), 261 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index a256be271..fe46a9da6 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,255 +5,6 @@ .text - thumb_func_start sub_8113748 -sub_8113748: @ 8113748 - push {lr} - bl sub_81136D4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08113770 - ldr r0, _08113764 @ =gUnknown_203ADFA - ldrb r0, [r0] - cmp r0, 0x2 - bne _08113768 - movs r0, 0x1 - b _08113772 - .align 2, 0 -_08113764: .4byte gUnknown_203ADFA -_08113768: - cmp r0, 0x1 - bne _08113770 - bl sub_8112364 -_08113770: - movs r0, 0 -_08113772: - pop {r1} - bx r1 - thumb_func_end sub_8113748 - - thumb_func_start sub_8113778 -sub_8113778: @ 8113778 - push {r4,r5,lr} - adds r5, r1, 0 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x24 - beq _081137CE - cmp r4, 0xB - beq _081137CE - ldr r0, _081137D4 @ =0x0000082c - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _081137AC - cmp r4, 0x3 - beq _081137CE - cmp r4, 0x1F - beq _081137CE - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_81137E4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081137CE -_081137AC: - ldr r0, _081137D8 @ =0x00000844 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _081137DC - subs r0, r4, 0x4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x6 - bls _081137CE - cmp r4, 0x16 - beq _081137CE - cmp r4, 0x19 - beq _081137CE - cmp r4, 0x1A - bne _081137DC -_081137CE: - movs r0, 0x1 - b _081137DE - .align 2, 0 -_081137D4: .4byte 0x0000082c -_081137D8: .4byte 0x00000844 -_081137DC: - movs r0, 0 -_081137DE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8113778 - - thumb_func_start sub_81137E4 -sub_81137E4: @ 81137E4 - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x22 - bne _08113814 - ldr r2, _08113810 @ =gTrainers - ldrh r1, [r1] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r1, [r0, 0x1] - cmp r1, 0x51 - beq _08113814 - cmp r1, 0x59 - beq _08113814 - cmp r1, 0x5A - beq _08113814 - cmp r1, 0x53 - beq _08113814 - movs r0, 0x1 - b _08113816 - .align 2, 0 -_08113810: .4byte gTrainers -_08113814: - movs r0, 0 -_08113816: - pop {r1} - bx r1 - thumb_func_end sub_81137E4 - - thumb_func_start sub_811381C -sub_811381C: @ 811381C - ldr r1, _08113824 @ =gUnknown_203B048 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_08113824: .4byte gUnknown_203B048 - thumb_func_end sub_811381C - - thumb_func_start sub_8113828 -sub_8113828: @ 8113828 - push {r4,r5,lr} - adds r5, r1, 0 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl sub_8113778 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0811384C - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_81153A8 - lsls r0, 24 - cmp r0, 0 - bne _08113850 -_0811384C: - movs r0, 0 - b _0811388C -_08113850: - adds r0, r4, 0 - bl sub_8110AEC - adds r0, r4, 0 - bl sub_8113B94 - cmp r4, 0x1F - bne _08113874 - ldr r2, _0811386C @ =gUnknown_203AE04 - ldr r1, _08113870 @ =gUnknown_203AE08 - ldr r0, [r1] - str r0, [r2] - adds r2, r1, 0 - b _0811387C - .align 2, 0 -_0811386C: .4byte gUnknown_203AE04 -_08113870: .4byte gUnknown_203AE08 -_08113874: - ldr r1, _08113894 @ =gUnknown_203AE04 - movs r0, 0 - str r0, [r1] - ldr r2, _08113898 @ =gUnknown_203AE08 -_0811387C: - ldr r0, _0811389C @ =gUnknown_8456948 - lsls r1, r4, 2 - adds r1, r0 - ldr r0, [r2] - ldr r2, [r1] - adds r1, r5, 0 - bl _call_via_r2 -_0811388C: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08113894: .4byte gUnknown_203AE04 -_08113898: .4byte gUnknown_203AE08 -_0811389C: .4byte gUnknown_8456948 - thumb_func_end sub_8113828 - - thumb_func_start sub_81138A0 -sub_81138A0: @ 81138A0 - push {r4,r5,lr} - adds r5, r1, 0 - lsls r0, 16 - lsrs r0, 16 - adds r4, r0, 0 - subs r0, 0xC - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x7 - bls _081138B8 - movs r0, 0 - b _081138F0 -_081138B8: - bl sub_81138F8 - ldr r1, _081138E0 @ =gUnknown_203B024 - strh r4, [r1] - adds r0, r4, 0 - subs r0, 0x10 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bls _081138EE - cmp r4, 0xC - beq _081138D4 - cmp r4, 0x12 - bne _081138E4 -_081138D4: - adds r0, r1, 0x4 - adds r1, r5, 0 - movs r2, 0xC - bl memcpy - b _081138EE - .align 2, 0 -_081138E0: .4byte gUnknown_203B024 -_081138E4: - adds r0, r1, 0x4 - adds r1, r5, 0 - movs r2, 0x18 - bl memcpy -_081138EE: - movs r0, 0x1 -_081138F0: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81138A0 - - thumb_func_start sub_81138F8 -sub_81138F8: @ 81138F8 - push {lr} - ldr r0, _08113908 @ =gUnknown_203B024 - movs r1, 0 - movs r2, 0x20 - bl memset - pop {r0} - bx r0 - .align 2, 0 -_08113908: .4byte gUnknown_203B024 - thumb_func_end sub_81138F8 - thumb_func_start sub_811390C sub_811390C: @ 811390C push {r4,r5,lr} diff --git a/src/quest_log.c b/src/quest_log.c index 50998b0eb..9cdd17816 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -93,11 +93,13 @@ EWRAM_DATA u16 *gUnknown_203AE90 = NULL; EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0}; EWRAM_DATA struct UnkStruct_203AE98 gUnknown_203AE98[32] = {0}; EWRAM_DATA u16 gUnknown_203AF98 = 0; -EWRAM_DATA u8 gUnknown_203AF9A[64][2]; -EWRAM_DATA u16 gUnknown_203B01A; -EWRAM_DATA u16 gUnknown_203B01C; -EWRAM_DATA u16 gUnknown_203B01E; -EWRAM_DATA u8 gUnknown_203B020; +EWRAM_DATA u8 gUnknown_203AF9A[64][2] = {{0}}; +EWRAM_DATA u16 gUnknown_203B01A = 0; +EWRAM_DATA u16 gUnknown_203B01C = 0; +EWRAM_DATA u16 gUnknown_203B01E = 0; +EWRAM_DATA u8 gUnknown_203B020 = 0; + +EWRAM_DATA ALIGNED(2) u16 gUnknown_203B024[16] = {0}; EWRAM_DATA u16 gUnknown_203B044[2] = {0}; EWRAM_DATA u8 gUnknown_203B048 = 0; @@ -156,11 +158,12 @@ void sub_81134CC(struct Var4038Struct *); bool8 sub_8113508(struct Var4038Struct * ); void sub_8113524(struct Var4038Struct *); bool8 sub_81136D4(void); -bool8 sub_8113778(u16, void*); -void* sub_8113828(u16, void*); -bool8 sub_81138A0(u16, void*); -bool8 sub_8113954(u16, void*); -bool8 sub_8113A44(u16, void*); +bool8 sub_8113778(u16, u16 *); +bool8 sub_81137E4(u16, u16 *); +void * sub_8113828(u16, u16 *); +bool8 sub_81138A0(u16, u16 *); +bool8 sub_8113954(u16, u16 *); +bool8 sub_8113A44(u16, u16 *); void sub_8113B94(u16); void *sub_8113F14(void *, void *); void *sub_8113F80(void *, void *); @@ -2639,7 +2642,7 @@ void * (*const gUnknown_8456948[])(void *, void *) = { }; #ifdef NONMATCHING -void sub_8113550(u16 a0, void * a1) +void sub_8113550(u16 a0, u16 * a1) { void * r1; @@ -2726,7 +2729,7 @@ void sub_8113550(u16 a0, void * a1) } #else NAKED -void sub_8113550(u16 a0, void * a1) +void sub_8113550(u16 a0, u16 * a1) { asm_unified("\tpush {r4,r5,lr}\n" "\tadds r5, r1, 0\n" @@ -2926,3 +2929,99 @@ bool8 sub_81136D4(void) return FALSE; } + +bool8 sub_8113748(void) +{ + if (sub_81136D4() != TRUE) + return FALSE; + + if (gUnknown_203ADFA == 2) + return TRUE; + + if (gUnknown_203ADFA == 1) + sub_8112364(); + + return FALSE; +} + +bool8 sub_8113778(u16 a0, u16 * a1) +{ + if (a0 == 36 || a0 == 11) + return TRUE; + + if (!FlagGet(0x82C)) + { + if (a0 == 3 || a0 == 31 || sub_81137E4(a0, a1) == TRUE) + return TRUE; + } + + if (!FlagGet(0x844)) + { + if (a0 == 4 || a0 == 5 || a0 == 6 || a0 == 7 || a0 == 8 || a0 == 9 || a0 == 10 || a0 == 22 || a0 == 25 || a0 == 26) + return TRUE; + } + + return FALSE; +} + +bool8 sub_81137E4(u16 a0, u16 * a1) +{ + if (a0 == 34) + { + u8 trainerClass = gTrainers[*a1].trainerClass; + if ( trainerClass == 0x51 + || trainerClass == 0x59 + || trainerClass == 0x5A + || trainerClass == 0x53) + return FALSE; + return TRUE; + } + return FALSE; +} + +void sub_811381C(void) +{ + gUnknown_203B048 = 0; +} + +void * sub_8113828(u16 a0, u16 * a1) +{ + if (sub_8113778(a0, a1) == TRUE) + return NULL; + + if (sub_81153A8(a0, a1) == FALSE) + return NULL; + + sub_8110AEC(a0); + sub_8113B94(a0); + + if (a0 == 31) + gUnknown_203AE04 = gUnknown_203AE08; + else + gUnknown_203AE04 = NULL; + + return gUnknown_8456948[a0](gUnknown_203AE08, a1); +} + +bool8 sub_81138A0(u16 a0, u16 * a1) +{ + if (a0 < 12 || a0 > 19) + return FALSE; + + sub_81138F8(); + gUnknown_203B024[0] = a0; + + if (a0 < 16 || a0 > 17) + { + if (a0 == 12 || a0 == 18) + memcpy(gUnknown_203B024 + 2, a1, 12); + else + memcpy(gUnknown_203B024 + 2, a1, 24); + } + return TRUE; +} + +void sub_81138F8(void) +{ + memset(gUnknown_203B024, 0, sizeof(gUnknown_203B024)); +} From a68ed3ec1758533b73078da934e109d12c502691 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 3 Nov 2018 18:24:00 -0400 Subject: [PATCH 072/222] through sub_81139BC --- asm/quest_log.s | 131 ------------------------------------------------ src/quest_log.c | 70 ++++++++++++++++++++++---- sym_ewram.txt | 72 +------------------------- 3 files changed, 62 insertions(+), 211 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index fe46a9da6..c85a496bc 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,137 +5,6 @@ .text - thumb_func_start sub_811390C -sub_811390C: @ 811390C - push {r4,r5,lr} - ldr r5, _08113944 @ =gUnknown_203B024 - ldrh r0, [r5] - cmp r0, 0 - beq _0811393C - ldr r1, _08113948 @ =gUnknown_203B04A - movs r0, 0 - strb r0, [r1] - ldrh r0, [r5] - bl sub_8110AEC - ldr r0, _0811394C @ =gUnknown_8456948 - ldrh r2, [r5] - lsls r2, 2 - adds r2, r0 - ldr r4, _08113950 @ =gUnknown_203AE08 - ldr r0, [r4] - adds r1, r5, 0x4 - ldr r2, [r2] - bl _call_via_r2 - str r0, [r4] - bl sub_81138F8 -_0811393C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08113944: .4byte gUnknown_203B024 -_08113948: .4byte gUnknown_203B04A -_0811394C: .4byte gUnknown_8456948 -_08113950: .4byte gUnknown_203AE08 - thumb_func_end sub_811390C - - thumb_func_start sub_8113954 -sub_8113954: @ 8113954 - push {r4,r5,lr} - adds r5, r1, 0 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x22 - beq _08113970 - cmp r4, 0x1E - beq _08113970 - cmp r4, 0x20 - beq _08113970 - cmp r4, 0x21 - beq _08113970 - movs r0, 0 - b _081139A8 -_08113970: - bl sub_81138F8 - ldr r0, _081139B0 @ =gUnknown_3005E88 - ldrb r0, [r0] - cmp r0, 0 - bne _08113998 - ldr r0, _081139B4 @ =0x0000082c - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _08113998 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_81137E4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081139A6 -_08113998: - ldr r0, _081139B8 @ =gUnknown_203B024 - strh r4, [r0] - adds r0, 0x4 - adds r1, r5, 0 - movs r2, 0x8 - bl memcpy -_081139A6: - movs r0, 0x1 -_081139A8: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_081139B0: .4byte gUnknown_3005E88 -_081139B4: .4byte 0x0000082c -_081139B8: .4byte gUnknown_203B024 - thumb_func_end sub_8113954 - - thumb_func_start sub_81139BC -sub_81139BC: @ 81139BC - push {r4,r5,lr} - ldr r5, _08113A08 @ =gUnknown_203B024 - ldrh r0, [r5] - cmp r0, 0 - beq _08113A02 - ldr r0, _08113A0C @ =gUnknown_3005E88 - ldrb r1, [r0] - cmp r1, 0 - bne _081139D8 - ldr r0, _08113A10 @ =gUnknown_203B04A - strb r1, [r0] - ldrh r0, [r5] - bl sub_8110AEC -_081139D8: - ldrh r0, [r5] - bl sub_8113B94 - ldr r0, _08113A14 @ =gUnknown_8456948 - ldrh r2, [r5] - lsls r2, 2 - adds r2, r0 - ldr r4, _08113A18 @ =gUnknown_203AE08 - ldr r0, [r4] - adds r1, r5, 0x4 - ldr r2, [r2] - bl _call_via_r2 - str r0, [r4] - movs r0, 0x1 - bl sub_8113A1C - bl sub_81138F8 - bl sub_811231C -_08113A02: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08113A08: .4byte gUnknown_203B024 -_08113A0C: .4byte gUnknown_3005E88 -_08113A10: .4byte gUnknown_203B04A -_08113A14: .4byte gUnknown_8456948 -_08113A18: .4byte gUnknown_203AE08 - thumb_func_end sub_81139BC - thumb_func_start sub_8113A1C sub_8113A1C: @ 8113A1C push {r4,lr} diff --git a/src/quest_log.c b/src/quest_log.c index 9cdd17816..98bb0b3b1 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -72,6 +72,12 @@ struct UnkStruct_300201C u16 unk_2; }; +struct UnkStruct_203B024 +{ + u16 unk_00; + u32 unk_04[7]; +}; + u8 gUnknown_3005E88; u16 gUnknown_3005E8C; struct UnkStruct_3005E90 gUnknown_3005E90; @@ -84,11 +90,11 @@ EWRAM_DATA u8 gUnknown_203ADF8 = 0; EWRAM_DATA u8 gUnknown_203ADF9 = 0; EWRAM_DATA u8 gUnknown_203ADFA = 0; EWRAM_DATA u16 gUnknown_203ADFC = 0; -EWRAM_DATA u8 gUnknown_203ADFE[3]; +EWRAM_DATA u8 gUnknown_203ADFE[3] = {0}; EWRAM_DATA void * gUnknown_203AE04 = NULL; EWRAM_DATA u16 * gUnknown_203AE08 = NULL; EWRAM_DATA void * gUnknown_203AE0C[32] = {NULL}; -EWRAM_DATA void (* gUnknown_203AE8C)(void) = 0; +EWRAM_DATA void (* gUnknown_203AE8C)(void) = NULL; EWRAM_DATA u16 *gUnknown_203AE90 = NULL; EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0}; EWRAM_DATA struct UnkStruct_203AE98 gUnknown_203AE98[32] = {0}; @@ -98,11 +104,12 @@ EWRAM_DATA u16 gUnknown_203B01A = 0; EWRAM_DATA u16 gUnknown_203B01C = 0; EWRAM_DATA u16 gUnknown_203B01E = 0; EWRAM_DATA u8 gUnknown_203B020 = 0; - -EWRAM_DATA ALIGNED(2) u16 gUnknown_203B024[16] = {0}; - +EWRAM_DATA struct UnkStruct_203B024 gUnknown_203B024 = {0}; EWRAM_DATA u16 gUnknown_203B044[2] = {0}; EWRAM_DATA u8 gUnknown_203B048 = 0; +EWRAM_DATA u8 gUnknown_203B049 = 0; +EWRAM_DATA u8 gUnknown_203B04A = 0; +EWRAM_DATA u8 gUnknown_203B04B = 0; void sub_8110A00(void); void sub_8110A3C(void); @@ -3009,19 +3016,64 @@ bool8 sub_81138A0(u16 a0, u16 * a1) return FALSE; sub_81138F8(); - gUnknown_203B024[0] = a0; + gUnknown_203B024.unk_00 = a0; if (a0 < 16 || a0 > 17) { if (a0 == 12 || a0 == 18) - memcpy(gUnknown_203B024 + 2, a1, 12); + memcpy(gUnknown_203B024.unk_04, a1, 12); else - memcpy(gUnknown_203B024 + 2, a1, 24); + memcpy(gUnknown_203B024.unk_04, a1, 24); } return TRUE; } void sub_81138F8(void) { - memset(gUnknown_203B024, 0, sizeof(gUnknown_203B024)); + gUnknown_203B024 = (struct UnkStruct_203B024){}; +} + +void sub_811390C(void) +{ + if (gUnknown_203B024.unk_00 != 0) + { + void * resp; + gUnknown_203B04A = 0; + sub_8110AEC(gUnknown_203B024.unk_00); + resp = gUnknown_8456948[gUnknown_203B024.unk_00](gUnknown_203AE08, gUnknown_203B024.unk_04); + gUnknown_203AE08 = resp; + sub_81138F8(); + } +} + +bool8 sub_8113954(u16 a0, u16 * a1) +{ + if (a0 != 34 && a0 != 30 && a0 != 32 && a0 != 33) + return FALSE; + sub_81138F8(); + if (gUnknown_3005E88 || FlagGet(0x82C) || sub_81137E4(a0, a1) != TRUE) + { + gUnknown_203B024.unk_00 = a0; + memcpy(gUnknown_203B024.unk_04, a1, 8); + } + return TRUE; +} + +void sub_81139BC(void) +{ + if (gUnknown_203B024.unk_00 != 0) + { + void * resp; + if (gUnknown_3005E88 == 0) + { + gUnknown_203B04A = 0; + sub_8110AEC(gUnknown_203B024.unk_00); + } + sub_8113B94(gUnknown_203B024.unk_00); + resp = gUnknown_8456948[gUnknown_203B024.unk_00](gUnknown_203AE08, gUnknown_203B024.unk_04); + gUnknown_203AE08 = resp; + sub_8113A1C(1); + sub_81138F8(); + sub_811231C(); + } } diff --git a/sym_ewram.txt b/sym_ewram.txt index 7aa860fdd..2e0123d6f 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1457,77 +1457,7 @@ gUnknown_203ADF3: @ 203ADF3 gUnknown_203ADF4: @ 203ADF4 .space 0x4 -gUnknown_203ADF8: @ 203ADF8 - .space 0x1 - -gUnknown_203ADF9: @ 203ADF9 - .space 0x1 - -gUnknown_203ADFA: @ 203ADFA - .space 0x2 - -gUnknown_203ADFC: @ 203ADFC - .space 0x2 - -gUnknown_203ADFE: @ 203ADFE - .space 0x6 - -gUnknown_203AE04: @ 203AE04 - .space 0x4 - -gUnknown_203AE08: @ 203AE08 - .space 0x4 - -gUnknown_203AE0C: @ 203AE0C - .space 0x80 - -gUnknown_203AE8C: @ 203AE8C - .space 0x4 - -gUnknown_203AE90: @ 203AE90 - .space 0x4 - -gUnknown_203AE94: @ 203AE94 - .space 0x4 - -gUnknown_203AE98: @ 203AE98 - .space 0x100 - -gUnknown_203AF98: @ 203AF98 - .space 0x2 - -gUnknown_203AF9A: @ 203AF9A - .space 0x80 - -gUnknown_203B01A: @ 203B01A - .space 0x2 - -gUnknown_203B01C: @ 203B01C - .space 0x2 - -gUnknown_203B01E: @ 203B01E - .space 0x2 - -gUnknown_203B020: @ 203B020 - .space 0x4 - -gUnknown_203B024: @ 203B024 - .space 0x20 - -gUnknown_203B044: @ 203B044 - .space 0x4 - -gUnknown_203B048: @ 203B048 - .space 0x1 - -gUnknown_203B049: @ 203B049 - .space 0x1 - -gUnknown_203B04A: @ 203B04A - .space 0x1 - -gUnknown_203B04B: @ 203B04B - .space 0x1 + .include "src/quest_log.o" gUnknown_203B04C: @ 203B04C .space 0xC From f3231493dbb90dbcb5d5653d0a873b38b1a6f2d4 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 3 Nov 2018 19:28:55 -0400 Subject: [PATCH 073/222] through sub_8113A78 --- asm/quest_log.s | 92 ----------------- data/quest_log.s | 6 -- src/quest_log.c | 252 ++++++++++++++++++++++++++++++++++++++--------- 3 files changed, 208 insertions(+), 142 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index c85a496bc..d273125dc 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,98 +5,6 @@ .text - thumb_func_start sub_8113A1C -sub_8113A1C: @ 8113A1C - push {r4,lr} - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r4, _08113A3C @ =gUnknown_203AE08 - ldr r0, [r4] - bl sub_8113C5C - str r0, [r4] - ldr r1, _08113A40 @ =gUnknown_203AF98 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08113A3C: .4byte gUnknown_203AE08 -_08113A40: .4byte gUnknown_203AF98 - thumb_func_end sub_8113A1C - - thumb_func_start sub_8113A44 -sub_8113A44: @ 8113A44 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1F - bne _08113A6C - ldrh r0, [r4] - bl sub_8114FBC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08113A70 - ldrh r0, [r4, 0x2] - bl sub_8114FBC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08113A70 -_08113A6C: - movs r0, 0 - b _08113A72 -_08113A70: - movs r0, 0x1 -_08113A72: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8113A44 - - thumb_func_start sub_8113A78 -sub_8113A78: @ 8113A78 - push {r4,r5,lr} - adds r3, r0, 0 - adds r5, r1, 0 - ldrh r1, [r3] - ldr r0, _08113AAC @ =0x00000fff - ands r0, r1 - adds r2, r0, 0 - lsrs r4, r1, 12 - cmp r2, 0x21 - bne _08113A8E - movs r4, 0 -_08113A8E: - subs r0, r2, 0x3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x27 - bhi _08113AB4 - str r3, [r5] - ldr r0, _08113AB0 @ =gUnknown_8456AA0 - adds r0, r2, r0 - ldrb r0, [r0] - subs r1, r0, 0x4 - muls r1, r4 - adds r0, r1 - adds r0, r3, r0 - b _08113AB6 - .align 2, 0 -_08113AAC: .4byte 0x00000fff -_08113AB0: .4byte gUnknown_8456AA0 -_08113AB4: - movs r0, 0 -_08113AB6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8113A78 - thumb_func_start sub_8113ABC sub_8113ABC: @ 8113ABC push {lr} diff --git a/data/quest_log.s b/data/quest_log.s index 6a0f5449d..f8d02c32a 100644 --- a/data/quest_log.s +++ b/data/quest_log.s @@ -1,12 +1,6 @@ .section .rodata .align 2 -gUnknown_84569F4:: @ 84569F4 - .incbin "baserom.gba", 0x4569F4, 0xAC - -gUnknown_8456AA0:: @ 8456AA0 - .incbin "baserom.gba", 0x456AA0, 0x2C - gUnknown_8456ACC:: @ 8456ACC .incbin "baserom.gba", 0x456ACC, 0xC diff --git a/src/quest_log.c b/src/quest_log.c index 98bb0b3b1..58006d9ca 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -170,64 +170,104 @@ bool8 sub_81137E4(u16, u16 *); void * sub_8113828(u16, u16 *); bool8 sub_81138A0(u16, u16 *); bool8 sub_8113954(u16, u16 *); -bool8 sub_8113A44(u16, u16 *); -void sub_8113B94(u16); -void *sub_8113F14(void *, void *); -void *sub_8113F80(void *, void *); -void *sub_8114174(void *, void *); -void *sub_81141D0(void *, void *); -void *sub_811422C(void *, void *); -void *sub_8114288(void *, void *); -void *sub_8114310(void *, void *); -void *sub_8114380(void *, void *); -void *sub_81143F0(void *, void *); -void *sub_811445C(void *, void *); -void *sub_81144EC(void *, void *); -void *sub_8114578(void *, void *); -void *sub_8114604(void *, void *); -void *sub_8114710(void *, void *); -void *sub_8114744(void *, void *); -void *sub_8114778(void *, void *); -void *sub_8114808(void *, void *); -void *sub_811488C(void *, void *); -void *sub_8114918(void *, void *); -void *sub_8114990(void *, void *); -void *sub_8114A1C(void *, void *); -void *sub_8114AA0(void *, void *); -void *sub_8114B0C(void *, void *); -void *sub_8114B78(void *, void *); -void *sub_8114BE4(void *, void *); -void *sub_8114C68(void *, void *); -void *sub_8114CC0(void *, void *); -void *sub_8114D4C(void *, void *); -void *sub_8114DE8(void *, void *); -void *sub_8114FF0(void *, void *); -void *sub_8115078(void *, void *); -void *sub_81151C0(void *, void *); -void *sub_8115280(void *, void *); -void *sub_8115410(void *, void *); -void *sub_81154DC(void *, void *); -void *sub_81155A4(void *, void *); -void *sub_81156D8(void *, void *); -void *sub_81157DC(void *, void *); -bool8 sub_81153A8(u16, void*); -bool8 sub_81153E4(u16, void*); -void sub_8113A1C(u8); +void sub_8113A1C(u16); void sub_811381C(void); void sub_81138F8(void); -void * sub_8113A78(void *, void **); +bool8 sub_8113A44(u16, u16 *); +void * sub_8113A78(u16 *, void **); void sub_8113ABC(void *); bool8 sub_8113AE8(void *); bool8 sub_8113B44(void *); void sub_8113B88(void); +void sub_8113B94(u16); void sub_8113BD8(void); void * sub_8113BF4(void *); void * sub_8113C20(void *, struct UnkStruct_203AE98 *); +void *sub_8113C5C(void *, u16); void * sub_8113C8C(void *, struct UnkStruct_203AE98 *); void * sub_8113CC8(void *, struct UnkStruct_203AE98 *); void * sub_8113D08(void *, struct UnkStruct_203AE98 *); void * sub_8113D48(void *, struct UnkStruct_203AE98 *); void * sub_8113D94(void *, struct UnkStruct_203AE98 *); +void *sub_8113F14(void *, void *); +u16 *sub_8113F3C(u16 *); +void *sub_8113F80(void *, void *); +u16 *sub_8113FBC(u16 *); +void *sub_8114174(void *, void *); +u16 *sub_8114188(u16 *); +void *sub_81141D0(void *, void *); +u16 *sub_81141E4(u16 *); +void *sub_811422C(void *, void *); +u16 *sub_8114240(u16 *); +void *sub_8114288(void *, void *); +u16 *sub_811429C(u16 *); +void *sub_8114310(void *, void *); +u16 *sub_8114324(u16 *); +void *sub_8114380(void *, void *); +u16 *sub_8114394(u16 *); +void *sub_81143F0(void *, void *); +u16 *sub_811443C(u16 *); +void *sub_811445C(void *, void *); +u16 *sub_811448C(u16 *); +void *sub_81144EC(void *, void *); +u16 *sub_8114518(u16 *); +void *sub_8114578(void *, void *); +u16 *sub_81145A4(u16 *); +void *sub_8114604(void *, void *); +u16 *sub_811464C(u16 *); +void *sub_8114710(void *, void *); +u16 *sub_8114724(u16 *); +void *sub_8114744(void *, void *); +u16 *sub_8114758(u16 *); +void *sub_8114778(void *, void *); +u16 *sub_81147A8(u16 *); +void *sub_8114808(void *, void *); +u16 *sub_8114834(u16 *); +void *sub_811488C(void *, void *); +u16 *sub_81148BC(u16 *); +void *sub_8114918(void *, void *); +u16 *sub_8114944(u16 *); +void *sub_8114990(void *, void *); +u16 *sub_81149D0(u16 *); +void *sub_8114A1C(void *, void *); +u16 *sub_8114A4C(u16 *); +void *sub_8114AA0(void *, void *); +u16 *sub_8114AC8(u16 *); +void *sub_8114B0C(void *, void *); +u16 *sub_8114B34(u16 *); +void *sub_8114B78(void *, void *); +u16 *sub_8114BA0(u16 *); +void *sub_8114BE4(void *, void *); +u16 *sub_8114C0C(u16 *); +void *sub_8114C68(void *, void *); +u16 *sub_8114C8C(u16 *); +void *sub_8114CC0(void *, void *); +u16 *sub_8114CE4(u16 *); +void *sub_8114D4C(void *, void *); +u16 *sub_8114D68(u16 *); +void *sub_8114DE8(void *, void *); +u16 *sub_8114E68(u16 *); +bool8 sub_8114FBC(u16); +void *sub_8114FF0(void *, void *); +u16 *sub_811500C(u16 *); +void *sub_8115078(void *, void *); +u16 *sub_81150CC(u16 *); +void *sub_81151C0(void *, void *); +u16 *sub_81151DC(u16 *); +void *sub_8115280(void *, void *); +u16 *sub_81152BC(u16 *); +void *sub_8115410(void *, void *); +u16 *sub_8115460(u16 *); +void *sub_81154DC(void *, void *); +u16 *sub_8115518(u16 *); +void *sub_81155A4(void *, void *); +u16 *sub_81155E0(u16 *); +void *sub_81156D8(void *, void *); +u16 *sub_8115700(u16 *); +void *sub_81157DC(void *, void *); +u16 *sub_8115800(u16 *); +bool8 sub_81153A8(u16, void*); +bool8 sub_81153E4(u16, void*); extern const u8 gUnknown_841A155[]; extern const u8 gUnknown_841B073[]; @@ -3077,3 +3117,127 @@ void sub_81139BC(void) sub_811231C(); } } + +void sub_8113A1C(u16 a0) +{ + gUnknown_203AE08 = sub_8113C5C(gUnknown_203AE08, a0); + gUnknown_203AF98++; +} + +bool8 sub_8113A44(u16 a0, u16 *a1) +{ + if (a0 != 31) + return FALSE; + + if (sub_8114FBC(a1[0]) == TRUE) + return TRUE; + + if (sub_8114FBC(a1[1]) == TRUE) + return TRUE; + + return FALSE; +} + +u16 * (*const gUnknown_84569F4[])(u16 *) = { + NULL, + NULL, + NULL, + sub_8113F3C, + sub_8113FBC, + sub_8114188, + sub_81141E4, + sub_8114240, + sub_811429C, + sub_8114324, + sub_8114394, + sub_811443C, + sub_811448C, + sub_8114518, + sub_81145A4, + sub_811464C, + sub_8114724, + sub_8114758, + sub_81147A8, + sub_8114834, + sub_81148BC, + sub_8114944, + sub_81149D0, + sub_8114A4C, + sub_8114AC8, + sub_8114B34, + sub_8114BA0, + sub_8114C0C, + sub_8114C8C, + sub_8114CE4, + sub_8114D68, + sub_8114E68, + sub_811500C, + sub_81150CC, + sub_81151DC, + sub_81152BC, + sub_8115460, + sub_8115518, + sub_81155E0, + NULL, + sub_8115700, + NULL, + sub_8115800 +}; + +const u8 gUnknown_8456AA0[] = { + 0x08, + 0x08, + 0x08, + 0x08, + 0x0a, + 0x08, + 0x08, + 0x08, + 0x08, + 0x0a, + 0x0a, + 0x04, + 0x10, + 0x0c, + 0x0c, + 0x1a, + 0x04, + 0x04, + 0x10, + 0x0c, + 0x0a, + 0x0a, + 0x0a, + 0x08, + 0x08, + 0x08, + 0x08, + 0x06, + 0x06, + 0x06, + 0x0c, + 0x0c, + 0x0c, + 0x0a, + 0x0c, + 0x06, + 0x08, + 0x0e, + 0x0e, + 0x02, + 0x08, + 0x04, + 0x06 +}; + +void * sub_8113A78(u16 *a0, void **a1) +{ + u16 r2 = *a0 & 0xfff; + u16 r4 = *a0 >> 12; + if (r2 == 33) + r4 = 0; + if (r2 < 3 || r2 > 42) + return NULL; + *a1 = a0; + return gUnknown_8456AA0[r2] + (gUnknown_8456AA0[r2] - 4) * r4 + (void *)a0; +} From 7344d64b15d5389dcf1eafcbce7ac93f087df98f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 5 Nov 2018 13:46:45 -0500 Subject: [PATCH 074/222] Add missing data/graphics/unknown_84566a8.bin --- data/graphics/unknown_84566a8.bin | Bin 0 -> 640 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 data/graphics/unknown_84566a8.bin diff --git a/data/graphics/unknown_84566a8.bin b/data/graphics/unknown_84566a8.bin new file mode 100644 index 0000000000000000000000000000000000000000..2fc4a648adea21c5ff1429ee9abe4792fc464705 GIT binary patch literal 640 pcmcb67Xr=z!GA0ODt&jL Date: Mon, 5 Nov 2018 17:45:21 -0500 Subject: [PATCH 075/222] sub_8113ABC --- asm/quest_log.s | 27 ----------------------- include/global.h | 21 +++++++++++++++++- src/quest_log.c | 57 +++++++++++++++++++++++++----------------------- 3 files changed, 50 insertions(+), 55 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index d273125dc..29b5a4e33 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,33 +5,6 @@ .text - thumb_func_start sub_8113ABC -sub_8113ABC: @ 8113ABC - push {lr} - adds r2, r0, 0x4 - ldrh r1, [r0] - ldr r0, _08113AD0 @ =0x00000fff - ands r0, r1 - cmp r0, 0x23 - beq _08113AD8 - ldr r1, _08113AD4 @ =gUnknown_203B04A - movs r0, 0 - b _08113ADE - .align 2, 0 -_08113AD0: .4byte 0x00000fff -_08113AD4: .4byte gUnknown_203B04A -_08113AD8: - ldr r1, _08113AE4 @ =gUnknown_203B04A - ldrb r0, [r2, 0x1] - adds r0, 0x1 -_08113ADE: - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08113AE4: .4byte gUnknown_203B04A - thumb_func_end sub_8113ABC - thumb_func_start sub_8113AE8 sub_8113AE8: @ 8113AE8 push {r4,lr} diff --git a/include/global.h b/include/global.h index b1604e1d6..50d979cba 100644 --- a/include/global.h +++ b/include/global.h @@ -503,6 +503,25 @@ struct QuestLogNPCData u32 movementType:8; }; +struct UnkStruct_203B024_Sub1 +{ + u8 unk_00; + u8 unk_01; + u8 filler_02[26]; +}; + +union UnkUnion_203B024 +{ + struct UnkStruct_203B024_Sub1 type1; + u8 filler[28]; +}; + +struct UnkStruct_203B024 +{ + u16 unk_00; + union UnkUnion_203B024 unk_04; +}; + struct QuestLog { /*0x0000*/ u8 unk_000; @@ -515,7 +534,7 @@ struct QuestLog /*0x0148*/ u8 unk_148[0x120]; /*0x02c8*/ u8 unk_268[0x200]; /*0x0468*/ struct QuestLogNPCData npcData[64]; - /*0x0568*/ u16 unk_568[0x80]; + /*0x0568*/ struct UnkStruct_203B024 unk_568[8]; /*0x0668*/ u16 end[0]; }; diff --git a/src/quest_log.c b/src/quest_log.c index 58006d9ca..393eed73f 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -72,12 +72,6 @@ struct UnkStruct_300201C u16 unk_2; }; -struct UnkStruct_203B024 -{ - u16 unk_00; - u32 unk_04[7]; -}; - u8 gUnknown_3005E88; u16 gUnknown_3005E8C; struct UnkStruct_3005E90 gUnknown_3005E90; @@ -92,8 +86,8 @@ EWRAM_DATA u8 gUnknown_203ADFA = 0; EWRAM_DATA u16 gUnknown_203ADFC = 0; EWRAM_DATA u8 gUnknown_203ADFE[3] = {0}; EWRAM_DATA void * gUnknown_203AE04 = NULL; -EWRAM_DATA u16 * gUnknown_203AE08 = NULL; -EWRAM_DATA void * gUnknown_203AE0C[32] = {NULL}; +EWRAM_DATA struct UnkStruct_203B024 * gUnknown_203AE08 = NULL; +EWRAM_DATA struct UnkStruct_203B024 * gUnknown_203AE0C[32] = {NULL}; EWRAM_DATA void (* gUnknown_203AE8C)(void) = NULL; EWRAM_DATA u16 *gUnknown_203AE90 = NULL; EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0}; @@ -174,21 +168,21 @@ void sub_8113A1C(u16); void sub_811381C(void); void sub_81138F8(void); bool8 sub_8113A44(u16, u16 *); -void * sub_8113A78(u16 *, void **); -void sub_8113ABC(void *); +void * sub_8113A78(struct UnkStruct_203B024 *, struct UnkStruct_203B024 **); +void sub_8113ABC(struct UnkStruct_203B024 *); bool8 sub_8113AE8(void *); bool8 sub_8113B44(void *); void sub_8113B88(void); void sub_8113B94(u16); void sub_8113BD8(void); -void * sub_8113BF4(void *); +struct UnkStruct_203B024 * sub_8113BF4(struct UnkStruct_203B024 *); void * sub_8113C20(void *, struct UnkStruct_203AE98 *); void *sub_8113C5C(void *, u16); -void * sub_8113C8C(void *, struct UnkStruct_203AE98 *); -void * sub_8113CC8(void *, struct UnkStruct_203AE98 *); -void * sub_8113D08(void *, struct UnkStruct_203AE98 *); -void * sub_8113D48(void *, struct UnkStruct_203AE98 *); -void * sub_8113D94(void *, struct UnkStruct_203AE98 *); +struct UnkStruct_203B024 * sub_8113C8C(void *, struct UnkStruct_203AE98 *); +struct UnkStruct_203B024 * sub_8113CC8(void *, struct UnkStruct_203AE98 *); +struct UnkStruct_203B024 * sub_8113D08(void *, struct UnkStruct_203AE98 *); +struct UnkStruct_203B024 * sub_8113D48(void *, struct UnkStruct_203AE98 *); +struct UnkStruct_203B024 * sub_8113D94(void *, struct UnkStruct_203AE98 *); void *sub_8113F14(void *, void *); u16 *sub_8113F3C(u16 *); void *sub_8113F80(void *, void *); @@ -298,7 +292,7 @@ void sub_8110840(void * oldPointer) int r3; for (r3 = 0; r3 < 0x20; r3++) if (gUnknown_203AE0C[r3]) - gUnknown_203AE0C[r3] += offset; + gUnknown_203AE0C[r3] = (void *)gUnknown_203AE0C[r3] + offset; } } } @@ -1032,7 +1026,7 @@ void sub_8111708(void) void sub_811175C(u8 a0, struct UnkStruct_203AE98 * a1) { u16 i; - u16 *r4; + struct UnkStruct_203B024 *r4; u16 r6 = 0; u16 r9 = 0; @@ -1045,7 +1039,7 @@ void sub_811175C(u8 a0, struct UnkStruct_203AE98 * a1) r4 = gSaveBlock1Ptr->questLog[a0].unk_568; for (i = 0; i < 32; i++) { - switch (*r4 & 0xFFF) + switch (r4->unk_00 & 0xFFF) { case 0: r4 = sub_8113D08(r4, &a1[r6]); @@ -3061,9 +3055,9 @@ bool8 sub_81138A0(u16 a0, u16 * a1) if (a0 < 16 || a0 > 17) { if (a0 == 12 || a0 == 18) - memcpy(gUnknown_203B024.unk_04, a1, 12); + memcpy(&gUnknown_203B024.unk_04, a1, 12); else - memcpy(gUnknown_203B024.unk_04, a1, 24); + memcpy(&gUnknown_203B024.unk_04, a1, 24); } return TRUE; } @@ -3080,7 +3074,7 @@ void sub_811390C(void) void * resp; gUnknown_203B04A = 0; sub_8110AEC(gUnknown_203B024.unk_00); - resp = gUnknown_8456948[gUnknown_203B024.unk_00](gUnknown_203AE08, gUnknown_203B024.unk_04); + resp = gUnknown_8456948[gUnknown_203B024.unk_00](gUnknown_203AE08, &gUnknown_203B024.unk_04); gUnknown_203AE08 = resp; sub_81138F8(); } @@ -3094,7 +3088,7 @@ bool8 sub_8113954(u16 a0, u16 * a1) if (gUnknown_3005E88 || FlagGet(0x82C) || sub_81137E4(a0, a1) != TRUE) { gUnknown_203B024.unk_00 = a0; - memcpy(gUnknown_203B024.unk_04, a1, 8); + memcpy(&gUnknown_203B024.unk_04, a1, 8); } return TRUE; } @@ -3110,7 +3104,7 @@ void sub_81139BC(void) sub_8110AEC(gUnknown_203B024.unk_00); } sub_8113B94(gUnknown_203B024.unk_00); - resp = gUnknown_8456948[gUnknown_203B024.unk_00](gUnknown_203AE08, gUnknown_203B024.unk_04); + resp = gUnknown_8456948[gUnknown_203B024.unk_00](gUnknown_203AE08, &gUnknown_203B024.unk_04); gUnknown_203AE08 = resp; sub_8113A1C(1); sub_81138F8(); @@ -3230,10 +3224,10 @@ const u8 gUnknown_8456AA0[] = { 0x06 }; -void * sub_8113A78(u16 *a0, void **a1) +void * sub_8113A78(struct UnkStruct_203B024 *a0, struct UnkStruct_203B024 **a1) { - u16 r2 = *a0 & 0xfff; - u16 r4 = *a0 >> 12; + u16 r2 = a0->unk_00 & 0xfff; + u16 r4 = a0->unk_00 >> 12; if (r2 == 33) r4 = 0; if (r2 < 3 || r2 > 42) @@ -3241,3 +3235,12 @@ void * sub_8113A78(u16 *a0, void **a1) *a1 = a0; return gUnknown_8456AA0[r2] + (gUnknown_8456AA0[r2] - 4) * r4 + (void *)a0; } + +void sub_8113ABC(struct UnkStruct_203B024 * a0) +{ + struct UnkStruct_203B024_Sub1 * r2 = &a0->unk_04.type1; + if ((a0->unk_00 & 0xFFF) != 35) + gUnknown_203B04A = 0; + else + gUnknown_203B04A = r2->unk_01 + 1; +} From ed3cc83264cf25acb4889508ffc6b878b1e1d095 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 5 Nov 2018 22:19:53 -0500 Subject: [PATCH 076/222] nonmatching sub_8113AE8 --- asm/quest_log.s | 50 --------------- include/global.h | 1 + src/quest_log.c | 157 ++++++++++++++++++++++++++++++++++------------- 3 files changed, 116 insertions(+), 92 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 29b5a4e33..cf93da04f 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,56 +5,6 @@ .text - thumb_func_start sub_8113AE8 -sub_8113AE8: @ 8113AE8 - push {r4,lr} - adds r4, r0, 0 - cmp r0, 0 - beq _08113AFA - ldr r1, _08113B00 @ =gUnknown_203AF98 - ldrh r0, [r0, 0x2] - ldrh r1, [r1] - cmp r0, r1 - bls _08113B04 -_08113AFA: - movs r0, 0 - b _08113B32 - .align 2, 0 -_08113B00: .4byte gUnknown_203AF98 -_08113B04: - ldr r2, _08113B38 @ =gUnknown_84569F4 - ldrh r1, [r4] - ldr r0, _08113B3C @ =0x00000fff - ands r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - ldr r2, _08113B40 @ =gUnknown_203B044 - ldrh r1, [r4] - strb r1, [r2] - movs r0, 0xF0 - lsls r0, 8 - ands r0, r1 - lsrs r0, 12 - strb r0, [r2, 0x1] - cmp r0, 0 - beq _08113B30 - movs r0, 0x1 - strh r0, [r2, 0x2] -_08113B30: - movs r0, 0x1 -_08113B32: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08113B38: .4byte gUnknown_84569F4 -_08113B3C: .4byte 0x00000fff -_08113B40: .4byte gUnknown_203B044 - thumb_func_end sub_8113AE8 - thumb_func_start sub_8113B44 sub_8113B44: @ 8113B44 push {r4,lr} diff --git a/include/global.h b/include/global.h index 50d979cba..6a178feb6 100644 --- a/include/global.h +++ b/include/global.h @@ -519,6 +519,7 @@ union UnkUnion_203B024 struct UnkStruct_203B024 { u16 unk_00; + u16 unk_02; union UnkUnion_203B024 unk_04; }; diff --git a/src/quest_log.c b/src/quest_log.c index 393eed73f..e69f012d7 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -72,6 +72,13 @@ struct UnkStruct_300201C u16 unk_2; }; +struct UnkStruct_203B044 +{ + u8 unk_0; + u8 unk_1; + u16 unk_2; +}; + u8 gUnknown_3005E88; u16 gUnknown_3005E8C; struct UnkStruct_3005E90 gUnknown_3005E90; @@ -99,7 +106,7 @@ EWRAM_DATA u16 gUnknown_203B01C = 0; EWRAM_DATA u16 gUnknown_203B01E = 0; EWRAM_DATA u8 gUnknown_203B020 = 0; EWRAM_DATA struct UnkStruct_203B024 gUnknown_203B024 = {0}; -EWRAM_DATA u16 gUnknown_203B044[2] = {0}; +EWRAM_DATA struct UnkStruct_203B044 gUnknown_203B044 = {0}; EWRAM_DATA u8 gUnknown_203B048 = 0; EWRAM_DATA u8 gUnknown_203B049 = 0; EWRAM_DATA u8 gUnknown_203B04A = 0; @@ -170,7 +177,7 @@ void sub_81138F8(void); bool8 sub_8113A44(u16, u16 *); void * sub_8113A78(struct UnkStruct_203B024 *, struct UnkStruct_203B024 **); void sub_8113ABC(struct UnkStruct_203B024 *); -bool8 sub_8113AE8(void *); +bool8 sub_8113AE8(struct UnkStruct_203B024 *); bool8 sub_8113B44(void *); void sub_8113B88(void); void sub_8113B94(u16); @@ -184,82 +191,82 @@ struct UnkStruct_203B024 * sub_8113D08(void *, struct UnkStruct_203AE98 *); struct UnkStruct_203B024 * sub_8113D48(void *, struct UnkStruct_203AE98 *); struct UnkStruct_203B024 * sub_8113D94(void *, struct UnkStruct_203AE98 *); void *sub_8113F14(void *, void *); -u16 *sub_8113F3C(u16 *); +struct UnkStruct_203B024 *sub_8113F3C(struct UnkStruct_203B024 *); void *sub_8113F80(void *, void *); -u16 *sub_8113FBC(u16 *); +struct UnkStruct_203B024 *sub_8113FBC(struct UnkStruct_203B024 *); void *sub_8114174(void *, void *); -u16 *sub_8114188(u16 *); +struct UnkStruct_203B024 *sub_8114188(struct UnkStruct_203B024 *); void *sub_81141D0(void *, void *); -u16 *sub_81141E4(u16 *); +struct UnkStruct_203B024 *sub_81141E4(struct UnkStruct_203B024 *); void *sub_811422C(void *, void *); -u16 *sub_8114240(u16 *); +struct UnkStruct_203B024 *sub_8114240(struct UnkStruct_203B024 *); void *sub_8114288(void *, void *); -u16 *sub_811429C(u16 *); +struct UnkStruct_203B024 *sub_811429C(struct UnkStruct_203B024 *); void *sub_8114310(void *, void *); -u16 *sub_8114324(u16 *); +struct UnkStruct_203B024 *sub_8114324(struct UnkStruct_203B024 *); void *sub_8114380(void *, void *); -u16 *sub_8114394(u16 *); +struct UnkStruct_203B024 *sub_8114394(struct UnkStruct_203B024 *); void *sub_81143F0(void *, void *); -u16 *sub_811443C(u16 *); +struct UnkStruct_203B024 *sub_811443C(struct UnkStruct_203B024 *); void *sub_811445C(void *, void *); -u16 *sub_811448C(u16 *); +struct UnkStruct_203B024 *sub_811448C(struct UnkStruct_203B024 *); void *sub_81144EC(void *, void *); -u16 *sub_8114518(u16 *); +struct UnkStruct_203B024 *sub_8114518(struct UnkStruct_203B024 *); void *sub_8114578(void *, void *); -u16 *sub_81145A4(u16 *); +struct UnkStruct_203B024 *sub_81145A4(struct UnkStruct_203B024 *); void *sub_8114604(void *, void *); -u16 *sub_811464C(u16 *); +struct UnkStruct_203B024 *sub_811464C(struct UnkStruct_203B024 *); void *sub_8114710(void *, void *); -u16 *sub_8114724(u16 *); +struct UnkStruct_203B024 *sub_8114724(struct UnkStruct_203B024 *); void *sub_8114744(void *, void *); -u16 *sub_8114758(u16 *); +struct UnkStruct_203B024 *sub_8114758(struct UnkStruct_203B024 *); void *sub_8114778(void *, void *); -u16 *sub_81147A8(u16 *); +struct UnkStruct_203B024 *sub_81147A8(struct UnkStruct_203B024 *); void *sub_8114808(void *, void *); -u16 *sub_8114834(u16 *); +struct UnkStruct_203B024 *sub_8114834(struct UnkStruct_203B024 *); void *sub_811488C(void *, void *); -u16 *sub_81148BC(u16 *); +struct UnkStruct_203B024 *sub_81148BC(struct UnkStruct_203B024 *); void *sub_8114918(void *, void *); -u16 *sub_8114944(u16 *); +struct UnkStruct_203B024 *sub_8114944(struct UnkStruct_203B024 *); void *sub_8114990(void *, void *); -u16 *sub_81149D0(u16 *); +struct UnkStruct_203B024 *sub_81149D0(struct UnkStruct_203B024 *); void *sub_8114A1C(void *, void *); -u16 *sub_8114A4C(u16 *); +struct UnkStruct_203B024 *sub_8114A4C(struct UnkStruct_203B024 *); void *sub_8114AA0(void *, void *); -u16 *sub_8114AC8(u16 *); +struct UnkStruct_203B024 *sub_8114AC8(struct UnkStruct_203B024 *); void *sub_8114B0C(void *, void *); -u16 *sub_8114B34(u16 *); +struct UnkStruct_203B024 *sub_8114B34(struct UnkStruct_203B024 *); void *sub_8114B78(void *, void *); -u16 *sub_8114BA0(u16 *); +struct UnkStruct_203B024 *sub_8114BA0(struct UnkStruct_203B024 *); void *sub_8114BE4(void *, void *); -u16 *sub_8114C0C(u16 *); +struct UnkStruct_203B024 *sub_8114C0C(struct UnkStruct_203B024 *); void *sub_8114C68(void *, void *); -u16 *sub_8114C8C(u16 *); +struct UnkStruct_203B024 *sub_8114C8C(struct UnkStruct_203B024 *); void *sub_8114CC0(void *, void *); -u16 *sub_8114CE4(u16 *); +struct UnkStruct_203B024 *sub_8114CE4(struct UnkStruct_203B024 *); void *sub_8114D4C(void *, void *); -u16 *sub_8114D68(u16 *); +struct UnkStruct_203B024 *sub_8114D68(struct UnkStruct_203B024 *); void *sub_8114DE8(void *, void *); -u16 *sub_8114E68(u16 *); +struct UnkStruct_203B024 *sub_8114E68(struct UnkStruct_203B024 *); bool8 sub_8114FBC(u16); void *sub_8114FF0(void *, void *); -u16 *sub_811500C(u16 *); +struct UnkStruct_203B024 *sub_811500C(struct UnkStruct_203B024 *); void *sub_8115078(void *, void *); -u16 *sub_81150CC(u16 *); +struct UnkStruct_203B024 *sub_81150CC(struct UnkStruct_203B024 *); void *sub_81151C0(void *, void *); -u16 *sub_81151DC(u16 *); +struct UnkStruct_203B024 *sub_81151DC(struct UnkStruct_203B024 *); void *sub_8115280(void *, void *); -u16 *sub_81152BC(u16 *); +struct UnkStruct_203B024 *sub_81152BC(struct UnkStruct_203B024 *); void *sub_8115410(void *, void *); -u16 *sub_8115460(u16 *); +struct UnkStruct_203B024 *sub_8115460(struct UnkStruct_203B024 *); void *sub_81154DC(void *, void *); -u16 *sub_8115518(u16 *); +struct UnkStruct_203B024 *sub_8115518(struct UnkStruct_203B024 *); void *sub_81155A4(void *, void *); -u16 *sub_81155E0(u16 *); +struct UnkStruct_203B024 *sub_81155E0(struct UnkStruct_203B024 *); void *sub_81156D8(void *, void *); -u16 *sub_8115700(u16 *); +struct UnkStruct_203B024 *sub_8115700(struct UnkStruct_203B024 *); void *sub_81157DC(void *, void *); -u16 *sub_8115800(u16 *); +struct UnkStruct_203B024 *sub_8115800(struct UnkStruct_203B024 *); bool8 sub_81153A8(u16, void*); bool8 sub_81153E4(u16, void*); @@ -1197,7 +1204,7 @@ void sub_8111B80(void) gUnknown_203AE94.unk_0_4 = 0; gUnknown_203AE94.unk_3 = 0; gUnknown_203AE94.unk_2 = sub_8111BD4(); - if (gUnknown_203B044[1] == 0) + if (gUnknown_203B044.unk_2 == 0) gUnknown_203AE94.unk_1++; if (gUnknown_203AE94.unk_1 > 32) return; @@ -3132,7 +3139,7 @@ bool8 sub_8113A44(u16 a0, u16 *a1) return FALSE; } -u16 * (*const gUnknown_84569F4[])(u16 *) = { +struct UnkStruct_203B024 * (*const gUnknown_84569F4[])(struct UnkStruct_203B024 *) = { NULL, NULL, NULL, @@ -3244,3 +3251,69 @@ void sub_8113ABC(struct UnkStruct_203B024 * a0) else gUnknown_203B04A = r2->unk_01 + 1; } + +#ifdef NONMATCHING +bool8 sub_8113AE8(struct UnkStruct_203B024 * a0) +{ + if (a0 == NULL || a0->unk_02 > gUnknown_203AF98) + return FALSE; + + gUnknown_84569F4[a0->unk_00 & 0xFFF](a0); + gUnknown_203B044.unk_0 = a0->unk_00; + gUnknown_203B044.unk_1 = (a0->unk_00 & 0xF000) >> 12; + if (gUnknown_203B044.unk_1 != 0) + gUnknown_203B044.unk_2 = 1; + return TRUE; +} +#else +NAKED +bool8 sub_8113AE8(struct UnkStruct_203B024 * a0) +{ + asm_unified("\tpush {r4,lr}\n" + "\tadds r4, r0, 0\n" + "\tcmp r0, 0\n" + "\tbeq _08113AFA\n" + "\tldr r1, _08113B00 @ =gUnknown_203AF98\n" + "\tldrh r0, [r0, 0x2]\n" + "\tldrh r1, [r1]\n" + "\tcmp r0, r1\n" + "\tbls _08113B04\n" + "_08113AFA:\n" + "\tmovs r0, 0\n" + "\tb _08113B32\n" + "\t.align 2, 0\n" + "_08113B00: .4byte gUnknown_203AF98\n" + "_08113B04:\n" + "\tldr r2, _08113B38 @ =gUnknown_84569F4\n" + "\tldrh r1, [r4]\n" + "\tldr r0, _08113B3C @ =0x00000fff\n" + "\tands r0, r1\n" + "\tlsls r0, 2\n" + "\tadds r0, r2\n" + "\tldr r1, [r0]\n" + "\tadds r0, r4, 0\n" + "\tbl _call_via_r1\n" + "\tldr r2, _08113B40 @ =gUnknown_203B044\n" + "\tldrh r1, [r4]\n" + "\tstrb r1, [r2]\n" + "\tmovs r0, 0xF0\n" + "\tlsls r0, 8\n" + "\tands r0, r1\n" + "\tlsrs r0, 12\n" + "\tstrb r0, [r2, 0x1]\n" + "\tcmp r0, 0\n" + "\tbeq _08113B30\n" + "\tmovs r0, 0x1\n" + "\tstrh r0, [r2, 0x2]\n" + "_08113B30:\n" + "\tmovs r0, 0x1\n" + "_08113B32:\n" + "\tpop {r4}\n" + "\tpop {r1}\n" + "\tbx r1\n" + "\t.align 2, 0\n" + "_08113B38: .4byte gUnknown_84569F4\n" + "_08113B3C: .4byte 0x00000fff\n" + "_08113B40: .4byte gUnknown_203B044"); +} +#endif From 1e63aeb48ddb282a64d9acc73e0dcec54ddfd745 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 6 Nov 2018 08:40:46 -0500 Subject: [PATCH 077/222] through sub_8113B94 --- asm/quest_log.s | 88 ------------------------------------------------- src/quest_log.c | 31 ++++++++++++++++- 2 files changed, 30 insertions(+), 89 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index cf93da04f..8bd75ed2f 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,94 +5,6 @@ .text - thumb_func_start sub_8113B44 -sub_8113B44: @ 8113B44 - push {r4,lr} - adds r2, r0, 0 - ldr r4, _08113B54 @ =gUnknown_203B044 - ldrh r0, [r4, 0x2] - cmp r0, 0 - bne _08113B58 - movs r0, 0 - b _08113B7E - .align 2, 0 -_08113B54: .4byte gUnknown_203B044 -_08113B58: - ldr r1, _08113B84 @ =gUnknown_84569F4 - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r2, 0 - bl _call_via_r1 - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - lsls r0, 16 - lsrs r0, 16 - ldrb r4, [r4, 0x1] - cmp r0, r4 - bls _08113B7C - bl sub_8113B88 -_08113B7C: - movs r0, 0x1 -_08113B7E: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08113B84: .4byte gUnknown_84569F4 - thumb_func_end sub_8113B44 - - thumb_func_start sub_8113B88 -sub_8113B88: @ 8113B88 - ldr r1, _08113B90 @ =gUnknown_203B044 - movs r0, 0 - str r0, [r1] - bx lr - .align 2, 0 -_08113B90: .4byte gUnknown_203B044 - thumb_func_end sub_8113B88 - - thumb_func_start sub_8113B94 -sub_8113B94: @ 8113B94 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - adds r4, r0, 0 - ldr r2, _08113BC0 @ =gUnknown_203B044 - ldrb r1, [r2] - lsls r0, r4, 24 - lsrs r0, 24 - ldr r3, _08113BC4 @ =gUnknown_203AF98 - cmp r1, r0 - bne _08113BB2 - ldrh r1, [r2, 0x2] - ldrh r0, [r3] - cmp r1, r0 - beq _08113BC8 -_08113BB2: - movs r0, 0 - strb r4, [r2] - strb r0, [r2, 0x1] - ldrh r0, [r3] - strh r0, [r2, 0x2] - b _08113BD2 - .align 2, 0 -_08113BC0: .4byte gUnknown_203B044 -_08113BC4: .4byte gUnknown_203AF98 -_08113BC8: - ldrb r0, [r2, 0x1] - cmp r0, 0x4 - bhi _08113BD2 - adds r0, 0x1 - strb r0, [r2, 0x1] -_08113BD2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8113B94 - thumb_func_start sub_8113BD8 sub_8113BD8: @ 8113BD8 ldr r0, _08113BE8 @ =gUnknown_203B049 diff --git a/src/quest_log.c b/src/quest_log.c index e69f012d7..d2ffb2461 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -178,7 +178,7 @@ bool8 sub_8113A44(u16, u16 *); void * sub_8113A78(struct UnkStruct_203B024 *, struct UnkStruct_203B024 **); void sub_8113ABC(struct UnkStruct_203B024 *); bool8 sub_8113AE8(struct UnkStruct_203B024 *); -bool8 sub_8113B44(void *); +bool8 sub_8113B44(struct UnkStruct_203B024 *); void sub_8113B88(void); void sub_8113B94(u16); void sub_8113BD8(void); @@ -3317,3 +3317,32 @@ bool8 sub_8113AE8(struct UnkStruct_203B024 * a0) "_08113B40: .4byte gUnknown_203B044"); } #endif + +bool8 sub_8113B44(struct UnkStruct_203B024 * a0) +{ + if (gUnknown_203B044.unk_2 == 0) + return FALSE; + + gUnknown_84569F4[gUnknown_203B044.unk_0](a0); + gUnknown_203B044.unk_2++; + if (gUnknown_203B044.unk_2 > gUnknown_203B044.unk_1) + sub_8113B88(); + return TRUE; +} + +void sub_8113B88(void) +{ + gUnknown_203B044 = (struct UnkStruct_203B044){}; +} + +void sub_8113B94(u16 a0) +{ + if (gUnknown_203B044.unk_0 != (u8)a0 || gUnknown_203B044.unk_2 != gUnknown_203AF98) + { + gUnknown_203B044.unk_0 = a0; + gUnknown_203B044.unk_1 = 0; + gUnknown_203B044.unk_2 = gUnknown_203AF98; + } + else if (gUnknown_203B044.unk_1 < 5) + gUnknown_203B044.unk_1++; +} From 2c627ae37367500aff4063ec07bfd3fc2c37cf57 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 6 Nov 2018 11:19:39 -0500 Subject: [PATCH 078/222] through sub_8113C20 --- asm/quest_log.s | 76 ------------------------------------------------- src/quest_log.c | 36 ++++++++++++++++++++--- 2 files changed, 32 insertions(+), 80 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 8bd75ed2f..915837f58 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,82 +5,6 @@ .text - thumb_func_start sub_8113BD8 -sub_8113BD8: @ 8113BD8 - ldr r0, _08113BE8 @ =gUnknown_203B049 - movs r1, 0 - strb r1, [r0] - ldr r0, _08113BEC @ =gUnknown_203B04A - strb r1, [r0] - ldr r0, _08113BF0 @ =gUnknown_203B04B - strb r1, [r0] - bx lr - .align 2, 0 -_08113BE8: .4byte gUnknown_203B049 -_08113BEC: .4byte gUnknown_203B04A -_08113BF0: .4byte gUnknown_203B04B - thumb_func_end sub_8113BD8 - - thumb_func_start sub_8113BF4 -sub_8113BF4: @ 8113BF4 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08113C14 @ =gUnknown_8456AA0 - adds r0, 0x27 - ldrb r1, [r0] - adds r0, r4, 0 - bl sub_8110988 - lsls r0, 24 - cmp r0, 0 - beq _08113C18 - movs r0, 0x27 - strh r0, [r4] - adds r0, r4, 0x2 - b _08113C1A - .align 2, 0 -_08113C14: .4byte gUnknown_8456AA0 -_08113C18: - movs r0, 0 -_08113C1A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8113BF4 - - thumb_func_start sub_8113C20 -sub_8113C20: @ 8113C20 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldr r0, _08113C50 @ =gUnknown_8456AA0 - adds r0, 0x27 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_8110988 - lsls r0, 24 - cmp r0, 0 - beq _08113C54 - movs r0, 0xFF - strb r0, [r4, 0x6] - movs r1, 0 - movs r0, 0 - strh r0, [r4, 0x4] - strb r1, [r4] - strb r1, [r4, 0x1] - strb r1, [r4, 0x2] - strb r1, [r4, 0x3] - adds r0, r5, 0x2 - b _08113C56 - .align 2, 0 -_08113C50: .4byte gUnknown_8456AA0 -_08113C54: - movs r0, 0 -_08113C56: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8113C20 - thumb_func_start sub_8113C5C sub_8113C5C: @ 8113C5C push {r4,r5,lr} diff --git a/src/quest_log.c b/src/quest_log.c index d2ffb2461..9ccad6042 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -183,7 +183,7 @@ void sub_8113B88(void); void sub_8113B94(u16); void sub_8113BD8(void); struct UnkStruct_203B024 * sub_8113BF4(struct UnkStruct_203B024 *); -void * sub_8113C20(void *, struct UnkStruct_203AE98 *); +struct UnkStruct_203B024 * sub_8113C20(struct UnkStruct_203B024 * a0, struct UnkStruct_203AE98 * a1); void *sub_8113C5C(void *, u16); struct UnkStruct_203B024 * sub_8113C8C(void *, struct UnkStruct_203AE98 *); struct UnkStruct_203B024 * sub_8113CC8(void *, struct UnkStruct_203AE98 *); @@ -338,17 +338,17 @@ bool8 sub_8110944(void * a0, size_t a1) void * r2 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_568; void * r0 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].end; r0 -= a1; - if (a0 < r2 || a0 > r0) + if ((void *)a0 < r2 || (void *)a0 > r0) return FALSE; return TRUE; } -bool8 sub_8110988(void * a0, size_t a1) +bool8 sub_8110988(struct UnkStruct_203B024 * a0, size_t a1) { void * r2 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_568; void * r0 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].end; r0 -= a1; - if (a0 < r2 || a0 > r0) + if ((void *)a0 < r2 || (void *)a0 > r0) return FALSE; return TRUE; } @@ -3346,3 +3346,31 @@ void sub_8113B94(u16 a0) else if (gUnknown_203B044.unk_1 < 5) gUnknown_203B044.unk_1++; } + +void sub_8113BD8(void) +{ + gUnknown_203B049 = 0; + gUnknown_203B04A = 0; + gUnknown_203B04B = 0; +} + +struct UnkStruct_203B024 * sub_8113BF4(struct UnkStruct_203B024 * a0) +{ + if (!sub_8110988(a0, gUnknown_8456AA0[39])) + return NULL; + a0->unk_00 = 39; + return (void *)a0 + 2; +} + +struct UnkStruct_203B024 * sub_8113C20(struct UnkStruct_203B024 * a0, struct UnkStruct_203AE98 * a1) +{ + if (!sub_8110988(a0, gUnknown_8456AA0[39])) + return NULL; + a1->unk_6 = 0xFF; + a1->unk_4 = 0; + a1->unk_0 = 0; + a1->unk_1 = 0; + a1->unk_2 = 0; + a1->unk_3 = 0; + return (void *)a0 + 2; +} From 226bd50a5c49f422f8038c23b4f9c194e93164b3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 6 Nov 2018 11:36:09 -0500 Subject: [PATCH 079/222] sub_8113C5C; rethink what this data actually is --- asm/quest_log.s | 29 --------- src/quest_log.c | 167 +++++++++++++++++++++++++----------------------- 2 files changed, 88 insertions(+), 108 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 915837f58..164fdc06c 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,35 +5,6 @@ .text - thumb_func_start sub_8113C5C -sub_8113C5C: @ 8113C5C - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - ldr r0, _08113C80 @ =gUnknown_8456AA0 - adds r0, 0x29 - ldrb r1, [r0] - adds r0, r4, 0 - bl sub_8110988 - lsls r0, 24 - cmp r0, 0 - beq _08113C84 - movs r0, 0x29 - strh r0, [r4] - strh r5, [r4, 0x2] - adds r0, r4, 0x4 - b _08113C86 - .align 2, 0 -_08113C80: .4byte gUnknown_8456AA0 -_08113C84: - movs r0, 0 -_08113C86: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8113C5C - thumb_func_start sub_8113C8C sub_8113C8C: @ 8113C8C push {r4,r5,lr} diff --git a/src/quest_log.c b/src/quest_log.c index 9ccad6042..fe1ca9e18 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -92,9 +92,9 @@ EWRAM_DATA u8 gUnknown_203ADF9 = 0; EWRAM_DATA u8 gUnknown_203ADFA = 0; EWRAM_DATA u16 gUnknown_203ADFC = 0; EWRAM_DATA u8 gUnknown_203ADFE[3] = {0}; -EWRAM_DATA void * gUnknown_203AE04 = NULL; -EWRAM_DATA struct UnkStruct_203B024 * gUnknown_203AE08 = NULL; -EWRAM_DATA struct UnkStruct_203B024 * gUnknown_203AE0C[32] = {NULL}; +EWRAM_DATA u16 * gUnknown_203AE04 = NULL; +EWRAM_DATA u16 * gUnknown_203AE08 = NULL; +EWRAM_DATA u16 * gUnknown_203AE0C[32] = {NULL}; EWRAM_DATA void (* gUnknown_203AE8C)(void) = NULL; EWRAM_DATA u16 *gUnknown_203AE90 = NULL; EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0}; @@ -175,98 +175,98 @@ void sub_8113A1C(u16); void sub_811381C(void); void sub_81138F8(void); bool8 sub_8113A44(u16, u16 *); -void * sub_8113A78(struct UnkStruct_203B024 *, struct UnkStruct_203B024 **); -void sub_8113ABC(struct UnkStruct_203B024 *); -bool8 sub_8113AE8(struct UnkStruct_203B024 *); -bool8 sub_8113B44(struct UnkStruct_203B024 *); +u16 * sub_8113A78(u16 *, u16 **); +void sub_8113ABC(u16 *); +bool8 sub_8113AE8(u16 *); +bool8 sub_8113B44(u16 *); void sub_8113B88(void); void sub_8113B94(u16); void sub_8113BD8(void); -struct UnkStruct_203B024 * sub_8113BF4(struct UnkStruct_203B024 *); -struct UnkStruct_203B024 * sub_8113C20(struct UnkStruct_203B024 * a0, struct UnkStruct_203AE98 * a1); -void *sub_8113C5C(void *, u16); -struct UnkStruct_203B024 * sub_8113C8C(void *, struct UnkStruct_203AE98 *); -struct UnkStruct_203B024 * sub_8113CC8(void *, struct UnkStruct_203AE98 *); -struct UnkStruct_203B024 * sub_8113D08(void *, struct UnkStruct_203AE98 *); -struct UnkStruct_203B024 * sub_8113D48(void *, struct UnkStruct_203AE98 *); -struct UnkStruct_203B024 * sub_8113D94(void *, struct UnkStruct_203AE98 *); +u16 * sub_8113BF4(u16 *); +u16 * sub_8113C20(u16 *, struct UnkStruct_203AE98 *); +u16 * sub_8113C5C(u16 *, u16); +u16 * sub_8113C8C(u16 *, struct UnkStruct_203AE98 *); +u16 * sub_8113CC8(u16 *, struct UnkStruct_203AE98 *); +u16 * sub_8113D08(u16 *, struct UnkStruct_203AE98 *); +u16 * sub_8113D48(u16 *, struct UnkStruct_203AE98 *); +u16 * sub_8113D94(u16 *, struct UnkStruct_203AE98 *); void *sub_8113F14(void *, void *); -struct UnkStruct_203B024 *sub_8113F3C(struct UnkStruct_203B024 *); +u16 *sub_8113F3C(u16 *); void *sub_8113F80(void *, void *); -struct UnkStruct_203B024 *sub_8113FBC(struct UnkStruct_203B024 *); +u16 *sub_8113FBC(u16 *); void *sub_8114174(void *, void *); -struct UnkStruct_203B024 *sub_8114188(struct UnkStruct_203B024 *); +u16 *sub_8114188(u16 *); void *sub_81141D0(void *, void *); -struct UnkStruct_203B024 *sub_81141E4(struct UnkStruct_203B024 *); +u16 *sub_81141E4(u16 *); void *sub_811422C(void *, void *); -struct UnkStruct_203B024 *sub_8114240(struct UnkStruct_203B024 *); +u16 *sub_8114240(u16 *); void *sub_8114288(void *, void *); -struct UnkStruct_203B024 *sub_811429C(struct UnkStruct_203B024 *); +u16 *sub_811429C(u16 *); void *sub_8114310(void *, void *); -struct UnkStruct_203B024 *sub_8114324(struct UnkStruct_203B024 *); +u16 *sub_8114324(u16 *); void *sub_8114380(void *, void *); -struct UnkStruct_203B024 *sub_8114394(struct UnkStruct_203B024 *); +u16 *sub_8114394(u16 *); void *sub_81143F0(void *, void *); -struct UnkStruct_203B024 *sub_811443C(struct UnkStruct_203B024 *); +u16 *sub_811443C(u16 *); void *sub_811445C(void *, void *); -struct UnkStruct_203B024 *sub_811448C(struct UnkStruct_203B024 *); +u16 *sub_811448C(u16 *); void *sub_81144EC(void *, void *); -struct UnkStruct_203B024 *sub_8114518(struct UnkStruct_203B024 *); +u16 *sub_8114518(u16 *); void *sub_8114578(void *, void *); -struct UnkStruct_203B024 *sub_81145A4(struct UnkStruct_203B024 *); +u16 *sub_81145A4(u16 *); void *sub_8114604(void *, void *); -struct UnkStruct_203B024 *sub_811464C(struct UnkStruct_203B024 *); +u16 *sub_811464C(u16 *); void *sub_8114710(void *, void *); -struct UnkStruct_203B024 *sub_8114724(struct UnkStruct_203B024 *); +u16 *sub_8114724(u16 *); void *sub_8114744(void *, void *); -struct UnkStruct_203B024 *sub_8114758(struct UnkStruct_203B024 *); +u16 *sub_8114758(u16 *); void *sub_8114778(void *, void *); -struct UnkStruct_203B024 *sub_81147A8(struct UnkStruct_203B024 *); +u16 *sub_81147A8(u16 *); void *sub_8114808(void *, void *); -struct UnkStruct_203B024 *sub_8114834(struct UnkStruct_203B024 *); +u16 *sub_8114834(u16 *); void *sub_811488C(void *, void *); -struct UnkStruct_203B024 *sub_81148BC(struct UnkStruct_203B024 *); +u16 *sub_81148BC(u16 *); void *sub_8114918(void *, void *); -struct UnkStruct_203B024 *sub_8114944(struct UnkStruct_203B024 *); +u16 *sub_8114944(u16 *); void *sub_8114990(void *, void *); -struct UnkStruct_203B024 *sub_81149D0(struct UnkStruct_203B024 *); +u16 *sub_81149D0(u16 *); void *sub_8114A1C(void *, void *); -struct UnkStruct_203B024 *sub_8114A4C(struct UnkStruct_203B024 *); +u16 *sub_8114A4C(u16 *); void *sub_8114AA0(void *, void *); -struct UnkStruct_203B024 *sub_8114AC8(struct UnkStruct_203B024 *); +u16 *sub_8114AC8(u16 *); void *sub_8114B0C(void *, void *); -struct UnkStruct_203B024 *sub_8114B34(struct UnkStruct_203B024 *); +u16 *sub_8114B34(u16 *); void *sub_8114B78(void *, void *); -struct UnkStruct_203B024 *sub_8114BA0(struct UnkStruct_203B024 *); +u16 *sub_8114BA0(u16 *); void *sub_8114BE4(void *, void *); -struct UnkStruct_203B024 *sub_8114C0C(struct UnkStruct_203B024 *); +u16 *sub_8114C0C(u16 *); void *sub_8114C68(void *, void *); -struct UnkStruct_203B024 *sub_8114C8C(struct UnkStruct_203B024 *); +u16 *sub_8114C8C(u16 *); void *sub_8114CC0(void *, void *); -struct UnkStruct_203B024 *sub_8114CE4(struct UnkStruct_203B024 *); +u16 *sub_8114CE4(u16 *); void *sub_8114D4C(void *, void *); -struct UnkStruct_203B024 *sub_8114D68(struct UnkStruct_203B024 *); +u16 *sub_8114D68(u16 *); void *sub_8114DE8(void *, void *); -struct UnkStruct_203B024 *sub_8114E68(struct UnkStruct_203B024 *); +u16 *sub_8114E68(u16 *); bool8 sub_8114FBC(u16); void *sub_8114FF0(void *, void *); -struct UnkStruct_203B024 *sub_811500C(struct UnkStruct_203B024 *); +u16 *sub_811500C(u16 *); void *sub_8115078(void *, void *); -struct UnkStruct_203B024 *sub_81150CC(struct UnkStruct_203B024 *); +u16 *sub_81150CC(u16 *); void *sub_81151C0(void *, void *); -struct UnkStruct_203B024 *sub_81151DC(struct UnkStruct_203B024 *); +u16 *sub_81151DC(u16 *); void *sub_8115280(void *, void *); -struct UnkStruct_203B024 *sub_81152BC(struct UnkStruct_203B024 *); +u16 *sub_81152BC(u16 *); void *sub_8115410(void *, void *); -struct UnkStruct_203B024 *sub_8115460(struct UnkStruct_203B024 *); +u16 *sub_8115460(u16 *); void *sub_81154DC(void *, void *); -struct UnkStruct_203B024 *sub_8115518(struct UnkStruct_203B024 *); +u16 *sub_8115518(u16 *); void *sub_81155A4(void *, void *); -struct UnkStruct_203B024 *sub_81155E0(struct UnkStruct_203B024 *); +u16 *sub_81155E0(u16 *); void *sub_81156D8(void *, void *); -struct UnkStruct_203B024 *sub_8115700(struct UnkStruct_203B024 *); +u16 *sub_8115700(u16 *); void *sub_81157DC(void *, void *); -struct UnkStruct_203B024 *sub_8115800(struct UnkStruct_203B024 *); +u16 *sub_8115800(u16 *); bool8 sub_81153A8(u16, void*); bool8 sub_81153E4(u16, void*); @@ -289,7 +289,7 @@ void sub_8110840(void * oldPointer) { ptrdiff_t offset = (void *)gSaveBlock1Ptr - oldPointer; if (gUnknown_203AE04) - gUnknown_203AE04 += offset; + gUnknown_203AE04 = (void *)gUnknown_203AE04 + offset; if (gUnknown_203ADFA != 0) { if (gUnknown_203AE08) @@ -343,7 +343,7 @@ bool8 sub_8110944(void * a0, size_t a1) return TRUE; } -bool8 sub_8110988(struct UnkStruct_203B024 * a0, size_t a1) +bool8 sub_8110988(u16 * a0, size_t a1) { void * r2 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_568; void * r0 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].end; @@ -408,7 +408,7 @@ void sub_8110AEC(u16 a0) sub_81108F0(gUnknown_203ADF8); sub_8113B88(); - gUnknown_203AE08 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_568; + gUnknown_203AE08 = (u16 *)gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_568; if ((a0 >= 12 && a0 < 20) || a0 == 35) gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_000 = 2; else @@ -1033,7 +1033,7 @@ void sub_8111708(void) void sub_811175C(u8 a0, struct UnkStruct_203AE98 * a1) { u16 i; - struct UnkStruct_203B024 *r4; + u16 *r4; u16 r6 = 0; u16 r9 = 0; @@ -1043,10 +1043,10 @@ void sub_811175C(u8 a0, struct UnkStruct_203AE98 * a1) gUnknown_203AE0C[i] = NULL; } - r4 = gSaveBlock1Ptr->questLog[a0].unk_568; + r4 = (u16 *)gSaveBlock1Ptr->questLog[a0].unk_568; for (i = 0; i < 32; i++) { - switch (r4->unk_00 & 0xFFF) + switch (r4[0] & 0xFFF) { case 0: r4 = sub_8113D08(r4, &a1[r6]); @@ -3139,7 +3139,7 @@ bool8 sub_8113A44(u16 a0, u16 *a1) return FALSE; } -struct UnkStruct_203B024 * (*const gUnknown_84569F4[])(struct UnkStruct_203B024 *) = { +u16 * (*const gUnknown_84569F4[])(u16 *) = { NULL, NULL, NULL, @@ -3231,10 +3231,10 @@ const u8 gUnknown_8456AA0[] = { 0x06 }; -void * sub_8113A78(struct UnkStruct_203B024 *a0, struct UnkStruct_203B024 **a1) +u16 * sub_8113A78(u16 * a0, u16 **a1) { - u16 r2 = a0->unk_00 & 0xfff; - u16 r4 = a0->unk_00 >> 12; + u16 r2 = a0[0] & 0xfff; + u16 r4 = a0[0] >> 12; if (r2 == 33) r4 = 0; if (r2 < 3 || r2 > 42) @@ -3243,31 +3243,31 @@ void * sub_8113A78(struct UnkStruct_203B024 *a0, struct UnkStruct_203B024 **a1) return gUnknown_8456AA0[r2] + (gUnknown_8456AA0[r2] - 4) * r4 + (void *)a0; } -void sub_8113ABC(struct UnkStruct_203B024 * a0) +void sub_8113ABC(u16 * a0) { - struct UnkStruct_203B024_Sub1 * r2 = &a0->unk_04.type1; - if ((a0->unk_00 & 0xFFF) != 35) + u8 * r2 = (u8 *)(a0 + 2); + if ((a0[0] & 0xFFF) != 35) gUnknown_203B04A = 0; else - gUnknown_203B04A = r2->unk_01 + 1; + gUnknown_203B04A = r2[1] + 1; } #ifdef NONMATCHING -bool8 sub_8113AE8(struct UnkStruct_203B024 * a0) +bool8 sub_8113AE8(u16 * a0) { - if (a0 == NULL || a0->unk_02 > gUnknown_203AF98) + if (a0 == NULL || a0[1] > gUnknown_203AF98) return FALSE; - gUnknown_84569F4[a0->unk_00 & 0xFFF](a0); - gUnknown_203B044.unk_0 = a0->unk_00; - gUnknown_203B044.unk_1 = (a0->unk_00 & 0xF000) >> 12; + gUnknown_84569F4[a0[0] & 0xFFF](a0); + gUnknown_203B044.unk_0 = a0[0]; + gUnknown_203B044.unk_1 = (a0[0] & 0xF000) >> 12; if (gUnknown_203B044.unk_1 != 0) gUnknown_203B044.unk_2 = 1; return TRUE; } #else NAKED -bool8 sub_8113AE8(struct UnkStruct_203B024 * a0) +bool8 sub_8113AE8(u16 * a0) { asm_unified("\tpush {r4,lr}\n" "\tadds r4, r0, 0\n" @@ -3318,7 +3318,7 @@ bool8 sub_8113AE8(struct UnkStruct_203B024 * a0) } #endif -bool8 sub_8113B44(struct UnkStruct_203B024 * a0) +bool8 sub_8113B44(u16 * a0) { if (gUnknown_203B044.unk_2 == 0) return FALSE; @@ -3354,15 +3354,15 @@ void sub_8113BD8(void) gUnknown_203B04B = 0; } -struct UnkStruct_203B024 * sub_8113BF4(struct UnkStruct_203B024 * a0) +u16 * sub_8113BF4(u16 * a0) { if (!sub_8110988(a0, gUnknown_8456AA0[39])) return NULL; - a0->unk_00 = 39; - return (void *)a0 + 2; + a0[0] = 39; + return a0 + 1; } -struct UnkStruct_203B024 * sub_8113C20(struct UnkStruct_203B024 * a0, struct UnkStruct_203AE98 * a1) +u16 * sub_8113C20(u16 * a0, struct UnkStruct_203AE98 * a1) { if (!sub_8110988(a0, gUnknown_8456AA0[39])) return NULL; @@ -3372,5 +3372,14 @@ struct UnkStruct_203B024 * sub_8113C20(struct UnkStruct_203B024 * a0, struct Unk a1->unk_1 = 0; a1->unk_2 = 0; a1->unk_3 = 0; - return (void *)a0 + 2; + return a0 + 1; +} + +u16 * sub_8113C5C(u16 * a0, u16 a1) +{ + if (!sub_8110988(a0, gUnknown_8456AA0[41])) + return NULL; + a0[0] = 41; + a0[1] = a1; + return a0 + 2; } From 5a85a2273d25222d6504d7b7b4c9c16e9a262f32 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 6 Nov 2018 14:29:43 -0500 Subject: [PATCH 080/222] through sub_8113D94 --- asm/quest_log.s | 196 ------------------------------------------------ src/quest_log.c | 81 ++++++++++++++++++++ 2 files changed, 81 insertions(+), 196 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 164fdc06c..95cd834b7 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,202 +5,6 @@ .text - thumb_func_start sub_8113C8C -sub_8113C8C: @ 8113C8C - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldr r0, _08113CBC @ =gUnknown_8456AA0 - adds r0, 0x29 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_8110988 - lsls r0, 24 - cmp r0, 0 - beq _08113CC0 - movs r0, 0xFE - strb r0, [r4, 0x6] - ldrh r1, [r5, 0x2] - movs r0, 0 - strh r1, [r4, 0x4] - strb r0, [r4] - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - strb r0, [r4, 0x3] - adds r0, r5, 0x4 - b _08113CC2 - .align 2, 0 -_08113CBC: .4byte gUnknown_8456AA0 -_08113CC0: - movs r0, 0 -_08113CC2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8113C8C - - thumb_func_start sub_8113CC8 -sub_8113CC8: @ 8113CC8 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r4, 0x4 - ldr r0, _08113CFC @ =gUnknown_8456AA0 - ldrb r1, [r0] - adds r0, r4, 0 - bl sub_8110988 - lsls r0, 24 - cmp r0, 0 - beq _08113D00 - movs r0, 0 - strh r0, [r4] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x2] - ldrb r0, [r5] - strb r0, [r4, 0x4] - ldrb r0, [r5, 0x1] - strb r0, [r6, 0x1] - ldrb r0, [r5, 0x2] - strb r0, [r6, 0x2] - ldrb r0, [r5, 0x3] - strb r0, [r6, 0x3] - adds r0, r6, 0x4 - b _08113D02 - .align 2, 0 -_08113CFC: .4byte gUnknown_8456AA0 -_08113D00: - movs r0, 0 -_08113D02: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8113CC8 - - thumb_func_start sub_8113D08 -sub_8113D08: @ 8113D08 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r6, r5, 0x4 - ldr r0, _08113D3C @ =gUnknown_8456AA0 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_8110988 - lsls r0, 24 - cmp r0, 0 - beq _08113D40 - movs r0, 0x2 - strb r0, [r4, 0x6] - ldrh r0, [r5, 0x2] - strh r0, [r4, 0x4] - ldrb r0, [r5, 0x4] - strb r0, [r4] - ldrb r0, [r6, 0x1] - strb r0, [r4, 0x1] - ldrb r0, [r6, 0x2] - strb r0, [r4, 0x2] - ldrb r0, [r6, 0x3] - strb r0, [r4, 0x3] - adds r0, r6, 0x4 - b _08113D42 - .align 2, 0 -_08113D3C: .4byte gUnknown_8456AA0 -_08113D40: - movs r0, 0 -_08113D42: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8113D08 - - thumb_func_start sub_8113D48 -sub_8113D48: @ 8113D48 - push {r4-r6,lr} - adds r5, r1, 0 - adds r4, r0, 0 - adds r6, r4, 0x4 - ldr r0, _08113D64 @ =gUnknown_8456AA0 - ldrb r1, [r0, 0x2] - adds r0, r4, 0 - bl sub_8110988 - lsls r0, 24 - cmp r0, 0 - bne _08113D68 - movs r0, 0 - b _08113D8C - .align 2, 0 -_08113D64: .4byte gUnknown_8456AA0 -_08113D68: - ldrb r0, [r5, 0x6] - cmp r0, 0 - bne _08113D72 - movs r0, 0x2 - b _08113D74 -_08113D72: - movs r0, 0x1 -_08113D74: - strh r0, [r4] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x2] - ldrb r0, [r5] - strb r0, [r6] - ldrb r0, [r5, 0x1] - strb r0, [r6, 0x1] - ldrb r0, [r5, 0x2] - strb r0, [r6, 0x2] - ldrb r0, [r5, 0x3] - strb r0, [r6, 0x3] - adds r0, r6, 0x4 -_08113D8C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8113D48 - - thumb_func_start sub_8113D94 -sub_8113D94: @ 8113D94 - push {r4-r6,lr} - adds r4, r1, 0 - adds r5, r0, 0 - adds r6, r5, 0x4 - ldr r0, _08113DB0 @ =gUnknown_8456AA0 - ldrb r1, [r0, 0x2] - adds r0, r5, 0 - bl sub_8110988 - lsls r0, 24 - cmp r0, 0 - bne _08113DB4 - movs r0, 0 - b _08113DD8 - .align 2, 0 -_08113DB0: .4byte gUnknown_8456AA0 -_08113DB4: - ldrh r0, [r5] - cmp r0, 0x2 - bne _08113DBE - movs r0, 0 - b _08113DC0 -_08113DBE: - movs r0, 0x1 -_08113DC0: - strb r0, [r4, 0x6] - ldrh r0, [r5, 0x2] - strh r0, [r4, 0x4] - ldrb r0, [r6] - strb r0, [r4] - ldrb r0, [r6, 0x1] - strb r0, [r4, 0x1] - ldrb r0, [r6, 0x2] - strb r0, [r4, 0x2] - ldrb r0, [r6, 0x3] - strb r0, [r4, 0x3] - adds r0, r6, 0x4 -_08113DD8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8113D94 - thumb_func_start sub_8113DE0 sub_8113DE0: @ 8113DE0 push {r4-r7,lr} diff --git a/src/quest_log.c b/src/quest_log.c index fe1ca9e18..1d6951485 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -3383,3 +3383,84 @@ u16 * sub_8113C5C(u16 * a0, u16 a1) a0[1] = a1; return a0 + 2; } + +u16 * sub_8113C8C(u16 * a0, struct UnkStruct_203AE98 * a1) +{ + if (!sub_8110988(a0, gUnknown_8456AA0[41])) + return NULL; + a1->unk_6 = 0xFE; + a1->unk_4 = a0[1]; + a1->unk_0 = 0; + a1->unk_1 = 0; + a1->unk_2 = 0; + a1->unk_3 = 0; + return a0 + 2; +} + +u16 * sub_8113CC8(u16 * a0, struct UnkStruct_203AE98 * a1) +{ + u8 * r6 = (u8 *)a0 + 4; + + if (!sub_8110988(a0, gUnknown_8456AA0[0])) + return NULL; + a0[0] = 0; + a0[1] = a1->unk_4; + r6[0] = a1->unk_0; + r6[1] = a1->unk_1; + r6[2] = a1->unk_2; + r6[3] = a1->unk_3; + return (u16 *)(r6 + 4); +} + +u16 * sub_8113D08(u16 * a0, struct UnkStruct_203AE98 * a1) +{ + u8 * r6 = (u8 *)a0 + 4; + + if (!sub_8110988(a0, gUnknown_8456AA0[0])) + return NULL; + a1->unk_6 = 2; + a1->unk_4 = a0[1]; + a1->unk_0 = r6[0]; + a1->unk_1 = r6[1]; + a1->unk_2 = r6[2]; + a1->unk_3 = r6[3]; + return (u16 *)(r6 + 4); +} + +u16 * sub_8113D48(u16 * a0, struct UnkStruct_203AE98 * a1) +{ + u16 * r4 = a0; + u8 * r6 = (u8 *)a0 + 4; + + if (!sub_8110988(r4, gUnknown_8456AA0[2])) + return NULL; + if (a1->unk_6 == 0) + r4[0] = 2; + else + r4[0] = 1; + r4[1] = a1->unk_4; + r6[0] = a1->unk_0; + r6[1] = a1->unk_1; + r6[2] = a1->unk_2; + r6[3] = a1->unk_3; + return (u16 *)(r6 + 4); +} + +u16 * sub_8113D94(u16 * a0, struct UnkStruct_203AE98 * a1) +{ + u16 * r5 = a0; + u8 * r6 = (u8 *)a0 + 4; + + if (!sub_8110988(r5, gUnknown_8456AA0[2])) + return NULL; + if (r5[0] == 2) + a1->unk_6 = 0; + else + a1->unk_6 = 1; + a1->unk_4 = r5[1]; + a1->unk_0 = r6[0]; + a1->unk_1 = r6[1]; + a1->unk_2 = r6[2]; + a1->unk_3 = r6[3]; + return (u16 *)(r6 + 4); +} From 4628859055b05feeebdde69b6852c3b6c88e6afe Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 6 Nov 2018 17:27:11 -0500 Subject: [PATCH 081/222] sub_8113DE0 --- asm/quest_log.s | 91 ------------------------------------------------- src/quest_log.c | 40 ++++++++++++++++++++++ 2 files changed, 40 insertions(+), 91 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 95cd834b7..3c4845ae6 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,97 +5,6 @@ .text - thumb_func_start sub_8113DE0 -sub_8113DE0: @ 8113DE0 - push {r4-r7,lr} - adds r4, r1, 0 - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, _08113DF8 @ =gUnknown_203B044 - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _08113E00 - ldr r0, _08113DFC @ =gUnknown_8456AA0 - adds r0, r7, r0 - ldrb r6, [r0] - b _08113E0C - .align 2, 0 -_08113DF8: .4byte gUnknown_203B044 -_08113DFC: .4byte gUnknown_8456AA0 -_08113E00: - ldr r0, _08113E20 @ =gUnknown_8456AA0 - adds r0, r7, r0 - ldrb r0, [r0] - subs r0, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 -_08113E0C: - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_8110944 - lsls r0, 24 - cmp r0, 0 - bne _08113E24 - movs r0, 0 - b _08113E7C - .align 2, 0 -_08113E20: .4byte gUnknown_8456AA0 -_08113E24: - adds r5, r4, 0 - ldr r2, _08113E60 @ =gUnknown_203B044 - ldrb r1, [r2, 0x1] - cmp r1, 0 - beq _08113E36 - adds r0, r1, 0 - muls r0, r6 - adds r0, 0x4 - subs r5, r0 -_08113E36: - cmp r1, 0x5 - bne _08113E64 - movs r4, 0 -_08113E3C: - adds r0, r4, 0 - muls r0, r6 - adds r0, r5 - adds r0, 0x4 - adds r4, 0x1 - adds r1, r4, 0 - muls r1, r6 - adds r1, r5 - adds r1, 0x4 - adds r2, r6, 0 - bl memcpy - lsls r4, 24 - lsrs r4, 24 - cmp r4, 0x3 - bls _08113E3C - movs r1, 0x4 - b _08113E66 - .align 2, 0 -_08113E60: .4byte gUnknown_203B044 -_08113E64: - ldrb r1, [r2, 0x1] -_08113E66: - lsls r0, r1, 12 - adds r0, r7, r0 - strh r0, [r5] - ldr r0, _08113E84 @ =gUnknown_203AF98 - ldrh r0, [r0] - strh r0, [r5, 0x2] - adds r0, r1, 0 - muls r0, r6 - adds r0, 0x4 - adds r5, r0 - adds r0, r5, 0 -_08113E7C: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08113E84: .4byte gUnknown_203AF98 - thumb_func_end sub_8113DE0 - thumb_func_start sub_8113E88 sub_8113E88: @ 8113E88 lsls r0, 16 diff --git a/src/quest_log.c b/src/quest_log.c index 1d6951485..6e2767a1e 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -3464,3 +3464,43 @@ u16 * sub_8113D94(u16 * a0, struct UnkStruct_203AE98 * a1) a1->unk_3 = r6[3]; return (u16 *)(r6 + 4); } + +u16 * sub_8113DE0(u16 a0, u16 * a1) +{ + u8 r6; + u16 * r5; + u8 r4; + u8 r1; + + if (gUnknown_203B044.unk_1 == 0) + r6 = gUnknown_8456AA0[a0]; + else + r6 = gUnknown_8456AA0[a0] - 4; + if (!sub_8110944(a1, r6)) + return NULL; + + r5 = (void *)a1; + + if (gUnknown_203B044.unk_1 != 0) + r5 = (void *)r5 - (gUnknown_203B044.unk_1 * r6 + 4); + + if (gUnknown_203B044.unk_1 == 5) + { + for (r4 = 0; r4 < 4; r4++) + { + memcpy( + (void *)r5 + (r4 * r6 + 4), + (void *)r5 + ((r4 + 1) * r6 + 4), + r6 + ); + } + r1 = 4; + } + else + r1 = gUnknown_203B044.unk_1; + + r5[0] = a0 + (r1 << 12); + r5[1] = gUnknown_203AF98; + r5 = (void *)r5 + (r1 * r6 + 4); + return r5; +} From 65b57e5a269c9dd4bdaf82e9cac2b2f5bb82772c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 7 Nov 2018 08:45:08 -0500 Subject: [PATCH 082/222] through sub_8113EAC --- asm/quest_log.s | 73 ------------------------------------------------- src/quest_log.c | 29 ++++++++++++++++++++ 2 files changed, 29 insertions(+), 73 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 3c4845ae6..655d791c5 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,79 +5,6 @@ .text - thumb_func_start sub_8113E88 -sub_8113E88: @ 8113E88 - lsls r0, 16 - lsrs r0, 16 - ldr r2, _08113EA4 @ =gUnknown_203B044 - ldrh r3, [r2, 0x2] - ldr r2, _08113EA8 @ =gUnknown_8456AA0 - adds r0, r2 - ldrb r0, [r0] - subs r0, 0x4 - muls r0, r3 - adds r0, 0x4 - adds r1, r0 - adds r0, r1, 0 - bx lr - .align 2, 0 -_08113EA4: .4byte gUnknown_203B044 -_08113EA8: .4byte gUnknown_8456AA0 - thumb_func_end sub_8113E88 - - thumb_func_start sub_8113EAC -sub_8113EAC: @ 8113EAC - push {r4,r5,lr} - adds r3, r1, 0 - lsls r0, 16 - lsrs r1, r0, 16 - adds r4, r1, 0 - lsls r2, 24 - lsrs r2, 24 - adds r5, r2, 0 - cmp r3, 0 - beq _08113EE0 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - beq _08113ED0 - adds r0, r3, 0 - bl GetSpeciesName - b _08113F08 -_08113ED0: - ldr r1, _08113EDC @ =gText_EggNickname - adds r0, r3, 0 - bl StringCopy - b _08113F08 - .align 2, 0 -_08113EDC: .4byte gText_EggNickname -_08113EE0: - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - beq _08113F00 - movs r0, 0xB - adds r1, r4, 0 - muls r1, r0 - ldr r0, _08113EFC @ =gSpeciesNames - adds r1, r0 - adds r0, r2, 0 - bl UnkTextUtil_SetPtrI - b _08113F08 - .align 2, 0 -_08113EFC: .4byte gSpeciesNames -_08113F00: - ldr r1, _08113F10 @ =gText_EggNickname - adds r0, r5, 0 - bl UnkTextUtil_SetPtrI -_08113F08: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08113F10: .4byte gText_EggNickname - thumb_func_end sub_8113EAC - thumb_func_start sub_8113F14 sub_8113F14: @ 8113F14 push {r4,lr} diff --git a/src/quest_log.c b/src/quest_log.c index 6e2767a1e..82b93898e 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -1,5 +1,6 @@ #include "global.h" #include "constants/species.h" +#include "data2.h" #include "malloc.h" #include "main.h" #include "task.h" @@ -9,6 +10,7 @@ #include "menu_helpers.h" #include "window.h" #include "text_window.h" +#include "unk_text_util.h" #include "event_data.h" #include "event_scripts.h" #include "string_util.h" @@ -3504,3 +3506,30 @@ u16 * sub_8113DE0(u16 a0, u16 * a1) r5 = (void *)r5 + (r1 * r6 + 4); return r5; } + +u16 * sub_8113E88(u16 a0, u16 * a1) +{ + a1 = (void *)a1 + (gUnknown_203B044.unk_2 * (gUnknown_8456AA0[a0] - 4) + 4); + return a1; +} + +// TODO: delete this declaration once data_83FECCC.s is decompiled +extern const u8 gText_EggNickname[]; + +void sub_8113EAC(u16 a0, u8 * a1, u8 a2) +{ + if (a1 != NULL) + { + if (a0 != SPECIES_EGG) + GetSpeciesName(a1, a0); + else + StringCopy(a1, gText_EggNickname); + } + else + { + if (a0 != SPECIES_EGG) + UnkTextUtil_SetPtrI(a2, gSpeciesNames[a0]); + else + UnkTextUtil_SetPtrI(a2, gText_EggNickname); + } +} From 325cc10aa762d9a80b95fc4101383a23a7e12f14 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 7 Nov 2018 15:37:00 -0500 Subject: [PATCH 083/222] sub_8113F14; make C code compatible with modern cc1 --- asm/quest_log.s | 25 ------------ src/load_save.c | 8 ++-- src/quest_log.c | 103 +++++++++++++++++++++++++++--------------------- src/save.c | 7 +++- 4 files changed, 67 insertions(+), 76 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 655d791c5..fb9a5692c 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,31 +5,6 @@ .text - thumb_func_start sub_8113F14 -sub_8113F14: @ 8113F14 - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - movs r0, 0x3 - adds r1, r2, 0 - bl sub_8113DE0 - adds r2, r0, 0 - cmp r2, 0 - beq _08113F34 - ldrh r0, [r4] - strh r0, [r2] - ldrh r0, [r4, 0x2] - strh r0, [r2, 0x2] - adds r0, r2, 0x4 - b _08113F36 -_08113F34: - movs r0, 0 -_08113F36: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8113F14 - thumb_func_start sub_8113F3C sub_8113F3C: @ 8113F3C push {r4,lr} diff --git a/src/load_save.c b/src/load_save.c index eba01642c..da55869aa 100644 --- a/src/load_save.c +++ b/src/load_save.c @@ -40,10 +40,10 @@ EWRAM_DATA struct LoadedSaveData gLoadedSaveData = {0}; EWRAM_DATA u32 gLastEncryptionKey = 0; // IWRAM common -IWRAM_DATA bool32 gFlashMemoryPresent; -IWRAM_DATA struct SaveBlock1 *gSaveBlock1Ptr; -IWRAM_DATA struct SaveBlock2 *gSaveBlock2Ptr; -IWRAM_DATA struct PokemonStorage *gPokemonStoragePtr; +bool32 gFlashMemoryPresent; +struct SaveBlock1 *gSaveBlock1Ptr; +struct SaveBlock2 *gSaveBlock2Ptr; +struct PokemonStorage *gPokemonStoragePtr; void CheckForFlashMemory(void) { diff --git a/src/quest_log.c b/src/quest_log.c index 82b93898e..a82d4f0ab 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -170,7 +170,7 @@ void sub_8113524(struct Var4038Struct *); bool8 sub_81136D4(void); bool8 sub_8113778(u16, u16 *); bool8 sub_81137E4(u16, u16 *); -void * sub_8113828(u16, u16 *); +u16 * sub_8113828(u16, u16 *); bool8 sub_81138A0(u16, u16 *); bool8 sub_8113954(u16, u16 *); void sub_8113A1C(u16); @@ -192,82 +192,82 @@ u16 * sub_8113CC8(u16 *, struct UnkStruct_203AE98 *); u16 * sub_8113D08(u16 *, struct UnkStruct_203AE98 *); u16 * sub_8113D48(u16 *, struct UnkStruct_203AE98 *); u16 * sub_8113D94(u16 *, struct UnkStruct_203AE98 *); -void *sub_8113F14(void *, void *); +u16 *sub_8113F14(u16 *, u16 *); u16 *sub_8113F3C(u16 *); -void *sub_8113F80(void *, void *); +u16 *sub_8113F80(u16 *, u16 *); u16 *sub_8113FBC(u16 *); -void *sub_8114174(void *, void *); +u16 *sub_8114174(u16 *, u16 *); u16 *sub_8114188(u16 *); -void *sub_81141D0(void *, void *); +u16 *sub_81141D0(u16 *, u16 *); u16 *sub_81141E4(u16 *); -void *sub_811422C(void *, void *); +u16 *sub_811422C(u16 *, u16 *); u16 *sub_8114240(u16 *); -void *sub_8114288(void *, void *); +u16 *sub_8114288(u16 *, u16 *); u16 *sub_811429C(u16 *); -void *sub_8114310(void *, void *); +u16 *sub_8114310(u16 *, u16 *); u16 *sub_8114324(u16 *); -void *sub_8114380(void *, void *); +u16 *sub_8114380(u16 *, u16 *); u16 *sub_8114394(u16 *); -void *sub_81143F0(void *, void *); +u16 *sub_81143F0(u16 *, u16 *); u16 *sub_811443C(u16 *); -void *sub_811445C(void *, void *); +u16 *sub_811445C(u16 *, u16 *); u16 *sub_811448C(u16 *); -void *sub_81144EC(void *, void *); +u16 *sub_81144EC(u16 *, u16 *); u16 *sub_8114518(u16 *); -void *sub_8114578(void *, void *); +u16 *sub_8114578(u16 *, u16 *); u16 *sub_81145A4(u16 *); -void *sub_8114604(void *, void *); +u16 *sub_8114604(u16 *, u16 *); u16 *sub_811464C(u16 *); -void *sub_8114710(void *, void *); +u16 *sub_8114710(u16 *, u16 *); u16 *sub_8114724(u16 *); -void *sub_8114744(void *, void *); +u16 *sub_8114744(u16 *, u16 *); u16 *sub_8114758(u16 *); -void *sub_8114778(void *, void *); +u16 *sub_8114778(u16 *, u16 *); u16 *sub_81147A8(u16 *); -void *sub_8114808(void *, void *); +u16 *sub_8114808(u16 *, u16 *); u16 *sub_8114834(u16 *); -void *sub_811488C(void *, void *); +u16 *sub_811488C(u16 *, u16 *); u16 *sub_81148BC(u16 *); -void *sub_8114918(void *, void *); +u16 *sub_8114918(u16 *, u16 *); u16 *sub_8114944(u16 *); -void *sub_8114990(void *, void *); +u16 *sub_8114990(u16 *, u16 *); u16 *sub_81149D0(u16 *); -void *sub_8114A1C(void *, void *); +u16 *sub_8114A1C(u16 *, u16 *); u16 *sub_8114A4C(u16 *); -void *sub_8114AA0(void *, void *); +u16 *sub_8114AA0(u16 *, u16 *); u16 *sub_8114AC8(u16 *); -void *sub_8114B0C(void *, void *); +u16 *sub_8114B0C(u16 *, u16 *); u16 *sub_8114B34(u16 *); -void *sub_8114B78(void *, void *); +u16 *sub_8114B78(u16 *, u16 *); u16 *sub_8114BA0(u16 *); -void *sub_8114BE4(void *, void *); +u16 *sub_8114BE4(u16 *, u16 *); u16 *sub_8114C0C(u16 *); -void *sub_8114C68(void *, void *); +u16 *sub_8114C68(u16 *, u16 *); u16 *sub_8114C8C(u16 *); -void *sub_8114CC0(void *, void *); +u16 *sub_8114CC0(u16 *, u16 *); u16 *sub_8114CE4(u16 *); -void *sub_8114D4C(void *, void *); +u16 *sub_8114D4C(u16 *, u16 *); u16 *sub_8114D68(u16 *); -void *sub_8114DE8(void *, void *); +u16 *sub_8114DE8(u16 *, u16 *); u16 *sub_8114E68(u16 *); bool8 sub_8114FBC(u16); -void *sub_8114FF0(void *, void *); +u16 *sub_8114FF0(u16 *, u16 *); u16 *sub_811500C(u16 *); -void *sub_8115078(void *, void *); +u16 *sub_8115078(u16 *, u16 *); u16 *sub_81150CC(u16 *); -void *sub_81151C0(void *, void *); +u16 *sub_81151C0(u16 *, u16 *); u16 *sub_81151DC(u16 *); -void *sub_8115280(void *, void *); +u16 *sub_8115280(u16 *, u16 *); u16 *sub_81152BC(u16 *); -void *sub_8115410(void *, void *); +u16 *sub_8115410(u16 *, u16 *); u16 *sub_8115460(u16 *); -void *sub_81154DC(void *, void *); +u16 *sub_81154DC(u16 *, u16 *); u16 *sub_8115518(u16 *); -void *sub_81155A4(void *, void *); +u16 *sub_81155A4(u16 *, u16 *); u16 *sub_81155E0(u16 *); -void *sub_81156D8(void *, void *); +u16 *sub_81156D8(u16 *, u16 *); u16 *sub_8115700(u16 *); -void *sub_81157DC(void *, void *); +u16 *sub_81157DC(u16 *, u16 *); u16 *sub_8115800(u16 *); bool8 sub_81153A8(u16, void*); bool8 sub_81153E4(u16, void*); @@ -2645,7 +2645,7 @@ u8 sub_8113530(void) return sub_8113114(VAR_0x4038_STRUCT, gUnknown_20370C0); } -void * (*const gUnknown_8456948[])(void *, void *) = { +u16 * (*const gUnknown_8456948[])(u16 *, u16 *) = { NULL, NULL, NULL, @@ -2694,7 +2694,7 @@ void * (*const gUnknown_8456948[])(void *, void *) = { #ifdef NONMATCHING void sub_8113550(u16 a0, u16 * a1) { - void * r1; + u16 * r1; if (a0 == 35 && gUnknown_203B048 == 2) { @@ -3034,7 +3034,7 @@ void sub_811381C(void) gUnknown_203B048 = 0; } -void * sub_8113828(u16 a0, u16 * a1) +u16 * sub_8113828(u16 a0, u16 * a1) { if (sub_8113778(a0, a1) == TRUE) return NULL; @@ -3080,10 +3080,10 @@ void sub_811390C(void) { if (gUnknown_203B024.unk_00 != 0) { - void * resp; + u16 * resp; gUnknown_203B04A = 0; sub_8110AEC(gUnknown_203B024.unk_00); - resp = gUnknown_8456948[gUnknown_203B024.unk_00](gUnknown_203AE08, &gUnknown_203B024.unk_04); + resp = gUnknown_8456948[gUnknown_203B024.unk_00](gUnknown_203AE08, (u16 *)&gUnknown_203B024.unk_04); gUnknown_203AE08 = resp; sub_81138F8(); } @@ -3106,14 +3106,14 @@ void sub_81139BC(void) { if (gUnknown_203B024.unk_00 != 0) { - void * resp; + u16 * resp; if (gUnknown_3005E88 == 0) { gUnknown_203B04A = 0; sub_8110AEC(gUnknown_203B024.unk_00); } sub_8113B94(gUnknown_203B024.unk_00); - resp = gUnknown_8456948[gUnknown_203B024.unk_00](gUnknown_203AE08, &gUnknown_203B024.unk_04); + resp = gUnknown_8456948[gUnknown_203B024.unk_00](gUnknown_203AE08, (u16 *)&gUnknown_203B024.unk_04); gUnknown_203AE08 = resp; sub_8113A1C(1); sub_81138F8(); @@ -3533,3 +3533,14 @@ void sub_8113EAC(u16 a0, u8 * a1, u8 a2) UnkTextUtil_SetPtrI(a2, gText_EggNickname); } } + +u16 * sub_8113F14(u16 * a0, u16 * a1) +{ + u16 * r2 = sub_8113DE0(3, a0); + if (r2 == NULL) + return NULL; + + r2[0] = a1[0]; + r2[1] = a1[1]; + return r2 + 2; +} diff --git a/src/save.c b/src/save.c index 28f6a2896..ef38d8b17 100644 --- a/src/save.c +++ b/src/save.c @@ -614,7 +614,12 @@ u16 CalculateChecksum(void *data, u16 size) u32 checksum = 0; for (i = 0; i < (size / 4); i++) - checksum += *((u32 *)data)++; + { + // checksum += *(u32 *)data++; + // For compatibility with modern gcc, these statements were separated. + checksum += *(u32 *)data; + data += 4; + } return ((checksum >> 16) + checksum); } From 2cc1329cd0433e65614bfd498ac979512aa6866c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 8 Nov 2018 09:44:56 -0500 Subject: [PATCH 084/222] sub_8113F3C; disassemble some strings --- asm/quest_log.s | 30 ------ charmap.txt | 2 + data/data_83FECCC.s | 224 ++++++++++++++++++++++++++++++++++++++++---- data/quest_log.s | 170 +++++++++++++++++++++++++++++++-- src/quest_log.c | 11 +++ 5 files changed, 381 insertions(+), 56 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index fb9a5692c..d0933093a 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,36 +5,6 @@ .text - thumb_func_start sub_8113F3C -sub_8113F3C: @ 8113F3C - push {r4,lr} - adds r1, r0, 0 - movs r0, 0x3 - bl sub_8113E88 - adds r4, r0, 0 - ldrh r0, [r4] - ldr r1, _08113F70 @ =gStringVar1 - movs r2, 0 - bl sub_8113EAC - ldrh r0, [r4, 0x2] - ldr r1, _08113F74 @ =gStringVar2 - movs r2, 0 - bl sub_8113EAC - ldr r0, _08113F78 @ =gStringVar4 - ldr r1, _08113F7C @ =gUnknown_841A16F - bl StringExpandPlaceholders - adds r4, 0x4 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08113F70: .4byte gStringVar1 -_08113F74: .4byte gStringVar2 -_08113F78: .4byte gStringVar4 -_08113F7C: .4byte gUnknown_841A16F - thumb_func_end sub_8113F3C - thumb_func_start sub_8113F80 sub_8113F80: @ 8113F80 push {r4,lr} diff --git a/charmap.txt b/charmap.txt index 1c68994df..b81563bfc 100644 --- a/charmap.txt +++ b/charmap.txt @@ -321,6 +321,8 @@ TALL_PLUS = FC 0C FB '·' = AF '‥' = B0 +@ TODO: Identify and declare F7 control codes + STRING = FD @ string placeholders diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 666549d4c..31c3c67fd 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -2,7 +2,7 @@ .align 2 gUnknown_83FECCC:: @ 83FECCC - .incbin "baserom.gba", 0x3FECCC, 0x6 + .byte 0x0c, 0x00, 0x1c, 0x00, 0x2c, 0x00 gUnknown_83FECD2:: @ 83FECD2 .incbin "baserom.gba", 0x3FECD2, 0x4 @@ -1511,10 +1511,19 @@ gUnknown_841A477:: @ 841A477 .incbin "baserom.gba", 0x41A477, 0x4F gUnknown_841A4C6:: @ 841A4C6 - .incbin "baserom.gba", 0x41A4C6, 0x45 + .incbin "baserom.gba", 0x41A4C6, 0x3C + +gUnknown_841A502:: + .string "win$" + +gUnknown_841A506:: + .string "loss$" gUnknown_841A50B:: @ 841A50B - .incbin "baserom.gba", 0x41A50B, 0x5B + .string "Mingled with other TRAINERS in\nthe UNION ROOM.$" + +gUnknown_841A53A:: + .string "Departed {STR_VAR_2}\nin {STR_VAR_1} for the next\ndestination.$" gUnknown_841A566:: @ 841A566 .incbin "baserom.gba", 0x41A566, 0x36 @@ -1541,16 +1550,25 @@ gUnknown_841A66E:: @ 841A66E .incbin "baserom.gba", 0x41A66E, 0x26 gUnknown_841A694:: @ 841A694 - .incbin "baserom.gba", 0x41A694, 0x11 + .string "a different spot$" gUnknown_841A6A5:: @ 841A6A5 - .incbin "baserom.gba", 0x41A6A5, 0x3C + .string "Removed the item {STR_VAR_1} from\n{PLAYER}’s PC and gave it to {STR_VAR_2}\nto hold.$" gUnknown_841A6E1:: @ 841A6E1 - .incbin "baserom.gba", 0x41A6E1, 0x51 + .string "Removed the item {STR_VAR_1} from\na PC, gave it to {STR_VAR_2}, and put\nthe {STR_VAR_3} it held in the BAG.$" gUnknown_841A732:: @ 841A732 - .incbin "baserom.gba", 0x41A732, 0x38 + .string "Chatted with many TRAINERS.$" + +gUnknown_841A74E:: + .string "handily$" + +gUnknown_841A756:: + .string "tenaciously$" + +gUnknown_841A762:: + .string "somehow$" gUnknown_841A76A:: @ 841A76A .incbin "baserom.gba", 0x41A76A, 0x46 @@ -1574,7 +1592,13 @@ gUnknown_841A8D4:: @ 841A8D4 .incbin "baserom.gba", 0x41A8D4, 0x9 gUnknown_841A8DD:: @ 841A8DD - .incbin "baserom.gba", 0x41A8DD, 0x5B + .incbin "baserom.gba", 0x41A8DD, 0x3 + +gUnknown_841A8E0:: @ 841A8E0 + .string "{STR_VAR_1} shared its HP using the move\nSOFTBOILED.$" + +gUnknown_841A90C:: @ 841A90C + .string "{STR_VAR_1} shared its HP using the move\nMILK DRINK.$" gUnknown_841A938:: @ 841A938 .incbin "baserom.gba", 0x41A938, 0x2D @@ -1610,13 +1634,64 @@ gUnknown_841AB74:: @ 841AB74 .incbin "baserom.gba", 0x41AB74, 0x1A gUnknown_841AB8E:: @ 841AB8E - .incbin "baserom.gba", 0x41AB8E, 0x2BA + .string "{PLAYER} made {STR_VAR_1} hold the item\n{STR_VAR_2}.$" + +gUnknown_841ABAB:: @ 841ABAB + .string "{STR_VAR_1} used the Hidden Move\nCUT here.$" + +gUnknown_841ABCD:: @ 841ABCD + .string "{STR_VAR_1} used the Hidden Move\nFLY and flew to {STR_VAR_2}.$" + +gUnknown_841ABF9:: @ 841ABF9 + .string "{STR_VAR_1} used the Hidden Move\nSURF and rode the waves.$" + +gUnknown_841AC2A:: @ 841AC2A + .string "{STR_VAR_1} used the Hidden Move\nSTRENGTH here.$" + +gUnknown_841AC51:: @ 841AC51 + .string "{STR_VAR_1} used the Hidden Move\nFLASH and illuminated a pitch-black\ncave.$" + +gUnknown_841AC93:: @ 841AC93 + .string "{STR_VAR_1} used the Hidden Move\nROCK SMASH here.$" + +gUnknown_841ACBC:: @ 841ACBC + .string "{STR_VAR_1} used the Hidden Move\nWATERFALL to scale a raging torrent.$" + +gUnknown_841ACF9:: @ 841ACF9 + .string "{STR_VAR_1}è êÉà Ñ㓪& òã–Ã\néã§+ã‚ã–\nダ¡ビング& ÚÉã£Å’!$" + +gUnknown_841AD1D:: @ 841AD1D + .string "{STR_VAR_1} used DIG to escape from\n{STR_VAR_2}.$" + +gUnknown_841AD3C:: @ 841AD3C + .string "{STR_VAR_1} used SWEET SCENT to attract\nwild POKéMON.$" + +gUnknown_841AD69:: @ 841AD69 + .string "{STR_VAR_1} used TELEPORT, transporting\nthe party to {STR_VAR_2}’s\n{STR_VAR_3}.$" + +gUnknown_841AD9E:: @ 841AD9E + .string "{PLAYER} left {STR_VAR_1}’s\n{STR_VAR_2} for the next\ndestination.$" + +gUnknown_841ADC8:: @ 841ADC8 + .string "Played a lot of games at the ROCKET\nGAME CORNER in {STR_VAR_1}.$" + +gUnknown_841ADFF:: @ 841ADFF + .string "{PLAYER} rested comfortably at home.$" + +gUnknown_841AE1E:: @ 841AE1E + .string "{PLAYER} left PROF. OAK’s POKéMON\nRESEARCH LAB.$" gUnknown_841AE48:: @ 841AE48 - .incbin "baserom.gba", 0x41AE48, 0x47 + .string "The GYM in {STR_VAR_1} was full of\ntough TRAINERS…\nPreparations had to be made.$" gUnknown_841AE8F:: @ 841AE8F - .incbin "baserom.gba", 0x41AE8F, 0x7D + .string "Departed the GYM in {STR_VAR_1}.$" + +gUnknown_841AEA7:: @ 841AEA7 + .string "{PLAYER} had a great time with POKéMON\nin the SAFARI ZONE.$" + +gUnknown_841AEDC:: @ 841AEDC + .string "Managed to get out of {STR_VAR_2}\nafter wandering about.$" gUnknown_841AF0C:: @ 841AF0C .incbin "baserom.gba", 0x41AF0C, 0x32 @@ -1625,22 +1700,136 @@ gUnknown_841AF3E:: @ 841AF3E .incbin "baserom.gba", 0x41AF3E, 0x2F gUnknown_841AF6D:: @ 841AF6D - .incbin "baserom.gba", 0x41AF6D, 0x39 + .incbin "baserom.gba", 0x41AF6D, 0x2B + +gUnknown_841AF98:: @ 841AF98 + .string "coolly$" + +gUnknown_841AF9F:: @ 841AF9F + .string "barely$" gUnknown_841AFA6:: @ 841AFA6 - .incbin "baserom.gba", 0x41AFA6, 0x99 + .string "{PLAYER} used an ESCAPE ROPE to get\nout from {STR_VAR_2}.$" + +gUnknown_841AFD1:: @ 841AFD1 + .string "draw$" + +gUnknown_841AFD6:: @ 841AFD6 + .string "Departed from the {STR_VAR_2}\nfor the next destination.$" + +gUnknown_841B005:: @ 841B005 + .string "{PLAYER} departed from\n{STR_VAR_2} and made way\nto the next destination.$" gUnknown_841B03F:: @ 841B03F - .incbin "baserom.gba", 0x41B03F, 0x25 + .string "Here in {STR_VAR_1}, {PLAYER}\nobtained the item {STR_VAR_2}.$" gUnknown_841B064:: @ 841B064 - .incbin "baserom.gba", 0x41B064, 0xF + .string "Arrived in {STR_VAR_1}.$" gUnknown_841B073:: @ 841B073 - .incbin "baserom.gba", 0x41B073, 0x2C + .string "And {PLAYER} saved the game at this\nlocation: {STR_VAR_1}.$" gUnknown_841B09F:: @ 841B09F - .incbin "baserom.gba", 0x41B09F, 0x1E6 + .string "HOME$" + +gUnknown_841B0A4:: @ 841B0A4 + .string "OAK RESEARCH LAB$" + +gUnknown_841B0B5:: @ 841B0B5 + .string "GYM$" + +gUnknown_841B0B9:: @ 841B0B9 + .string "POKéMON LEAGUE GATE$" + +gUnknown_841B0CD:: @ 841B0CD + .string "VIRIDIAN FOREST$" + +gUnknown_841B0DD:: @ 841B0DD + .string "PEWTER MUSEUM OF SCIENCE$" + +gUnknown_841B0F6:: @ 841B0F6 + .string "MT. MOON$" + +gUnknown_841B0FF:: @ 841B0FF + .string "BIKE SHOP$" + +gUnknown_841B109:: @ 841B109 + .string "BILL’S HOUSE$" + +gUnknown_841B116:: @ 841B116 + .string "DAY CARE$" + +gUnknown_841B11F:: @ 841B11F + .string "UNDERGROUND PATH$" + +gUnknown_841B130:: @ 841B130 + .string "POKéMON FAN CLUB$" + +gUnknown_841B141:: @ 841B141 + .string "S.S. ANNE$" + +gUnknown_841B14B:: @ 841B14B + .string "DIGLETT’S CAVE$" + +gUnknown_841B15A:: @ 841B15A + .string "ROCK TUNNEL$" + +gUnknown_841B166:: @ 841B166 + .string "POWER PLANT$" + +gUnknown_841B172:: @ 841B172 + .string "POKéMON TOWER$" + +gUnknown_841B180:: @ 841B180 + .string "VOLUNTEER HOUSE$" + +gUnknown_841B190:: @ 841B190 + .string "NAME RATER’S HOUSE$" + +gUnknown_841B1A3:: @ 841B1A3 + .string "CELADON DEPT. STORE$" + +gUnknown_841B1B7:: @ 841B1B7 + .string "CELADON MANSION$" + +gUnknown_841B1C7:: @ 841B1C7 + .string "ROCKET GAME CORNER$" + +gUnknown_841B1DA:: @ 841B1DA + .string "RESTAURANT$" + +gUnknown_841B1E5:: @ 841B1E5 + .string "ROCKET HIDEOUT$" + +gUnknown_841B1F4:: @ 841B1F4 + .string "SAFARI ZONE$" + +gUnknown_841B200:: @ 841B200 + .string "WARDEN’S HOME$" + +gUnknown_841B20E:: @ 841B20E + .string "FIGHTING DOJO$" + +gUnknown_841B21C:: @ 841B21C + .string "SILPH CO.$" + +gUnknown_841B226:: @ 841B226 + .string "SEAFOAM ISLANDS$" + +gUnknown_841B236:: @ 841B236 + .string "POKéMON MANSION$" + +gUnknown_841B246:: @ 841B246 + .string "POKéMON RESEARCH LAB$" + +gUnknown_841B25B:: @ 841B25B + .string "VICTORY ROAD$" + +gUnknown_841B268:: @ 841B268 + .string "POKéMON LEAGUE$" + +gUnknown_841B277:: @ 841B277 + .string "CERULEAN CAVE$" gUnknown_841B285:: @ 841B285 .incbin "baserom.gba", 0x41B285, 0xE @@ -4312,3 +4501,4 @@ gUnknown_8468B6C:: @ 8468B6C gUnknown_8468BCC:: @ 8468BCC .incbin "baserom.gba", 0x468BCC, 0x90 + diff --git a/data/quest_log.s b/data/quest_log.s index f8d02c32a..cf55e5b0a 100644 --- a/data/quest_log.s +++ b/data/quest_log.s @@ -2,28 +2,180 @@ .align 2 gUnknown_8456ACC:: @ 8456ACC - .incbin "baserom.gba", 0x456ACC, 0xC + .4byte gUnknown_841A74E + .4byte gUnknown_841A756 + .4byte gUnknown_841A762 gUnknown_8456AD8:: @ 8456AD8 - .incbin "baserom.gba", 0x456AD8, 0xC + .4byte gUnknown_841AF98 + .4byte gUnknown_841A762 + .4byte gUnknown_841AF9F gUnknown_8456AE4:: @ 8456AE4 - .incbin "baserom.gba", 0x456AE4, 0xC + .4byte gUnknown_841A502 + .4byte gUnknown_841A506 + .4byte gUnknown_841AFD1 gUnknown_8456AF0:: @ 8456AF0 - .incbin "baserom.gba", 0x456AF0, 0xCC + .4byte gUnknown_841B09F + .4byte gUnknown_841B0A4 + .4byte gUnknown_841B0B5 + .4byte gUnknown_841B0B9 + .4byte gUnknown_841B0B9 + .4byte gUnknown_841B0CD + .4byte gUnknown_841B0CD + .4byte gUnknown_841B0DD + .4byte gUnknown_841B0B5 + .4byte gUnknown_841B0F6 + .4byte gUnknown_841B0F6 + .4byte gUnknown_841B0B5 + .4byte gUnknown_841B0FF + .4byte gUnknown_841B109 + .4byte gUnknown_841B116 + .4byte gUnknown_841B11F + .4byte gUnknown_841B11F + .4byte gUnknown_841B130 + .4byte gUnknown_841B0B5 + .4byte gUnknown_841B141 + .4byte gUnknown_841B14B + .4byte gUnknown_841B14B + .4byte gUnknown_841B15A + .4byte gUnknown_841B15A + .4byte gUnknown_841B166 + .4byte gUnknown_841B172 + .4byte gUnknown_841B180 + .4byte gUnknown_841B190 + .4byte gUnknown_841B11F + .4byte gUnknown_841B11F + .4byte gUnknown_841B1A3 + .4byte gUnknown_841B1B7 + .4byte gUnknown_841B1C7 + .4byte gUnknown_841B0B5 + .4byte gUnknown_841B1DA + .4byte gUnknown_841B1E5 + .4byte gUnknown_841B1F4 + .4byte gUnknown_841B0B5 + .4byte gUnknown_841B200 + .4byte gUnknown_841B20E + .4byte gUnknown_841B0B5 + .4byte gUnknown_841B21C + .4byte gUnknown_841B226 + .4byte gUnknown_841B226 + .4byte gUnknown_841B236 + .4byte gUnknown_841B0B5 + .4byte gUnknown_841B246 + .4byte gUnknown_841B25B + .4byte gUnknown_841B25B + .4byte gUnknown_841B268 + .4byte gUnknown_841B277 gUnknown_8456BBC:: @ 8456BBC - .incbin "baserom.gba", 0x456BBC, 0x28 + .4byte gUnknown_841A53A + .4byte gUnknown_841AD9E + .4byte gUnknown_841ADC8 + .4byte gUnknown_841ADFF + .4byte gUnknown_841AE1E + .4byte gUnknown_841AE48 + .4byte gUnknown_841AEA7 + .4byte gUnknown_841AEDC + .4byte gUnknown_841AFD6 + .4byte gUnknown_841B005 gUnknown_8456BE4:: @ 8456BE4 - .incbin "baserom.gba", 0x456BE4, 0x33 + .byte 0x03 + .byte 0x04 + .byte 0x05 + .byte 0x08 + .byte 0x08 + .byte 0x07 + .byte 0x07 + .byte 0x01 + .byte 0x05 + .byte 0x07 + .byte 0x07 + .byte 0x05 + .byte 0x00 + .byte 0x00 + .byte 0x00 + .byte 0x08 + .byte 0x08 + .byte 0x00 + .byte 0x05 + .byte 0x08 + .byte 0x07 + .byte 0x07 + .byte 0x07 + .byte 0x07 + .byte 0x08 + .byte 0x08 + .byte 0x00 + .byte 0x00 + .byte 0x08 + .byte 0x08 + .byte 0x00 + .byte 0x00 + .byte 0x02 + .byte 0x05 + .byte 0x00 + .byte 0x08 + .byte 0x06 + .byte 0x05 + .byte 0x00 + .byte 0x00 + .byte 0x05 + .byte 0x09 + .byte 0x07 + .byte 0x07 + .byte 0x09 + .byte 0x05 + .byte 0x00 + .byte 0x07 + .byte 0x07 + .byte 0x08 + .byte 0x07 gUnknown_8456C17:: @ 8456C17 - .incbin "baserom.gba", 0x456C17, 0x9 + .byte 0x5a + .byte 0x5b + .byte 0x5d + .byte 0x5e + .byte 0x5f + .byte 0x62 + .byte 0x60 + .byte 0x59 + .byte 0x00 gUnknown_8456C20:: @ 8456C20 - .incbin "baserom.gba", 0x456C20, 0x30 + .4byte gUnknown_841AC51 + .4byte gUnknown_841ABAB + .4byte gUnknown_841ABCD + .4byte gUnknown_841AC2A + .4byte gUnknown_841ABF9 + .4byte gUnknown_841AC93 + .4byte gUnknown_841ACBC + .4byte gUnknown_841AD69 + .4byte gUnknown_841AD1D + .4byte gUnknown_841A90C + .4byte gUnknown_841A8E0 + .4byte gUnknown_841AD3C gUnknown_8456C50:: @ 8456C50 - .incbin "baserom.gba", 0x456C50, 0x24 + .2byte 0x0891 + .2byte 0x0892 + .2byte 0x0893 + .2byte 0x0894 + .2byte 0x0895 + .2byte 0x0896 + .2byte 0x0897 + .2byte 0x0898 + .2byte 0x0899 + .2byte 0x089a + .2byte 0x089b + .2byte 0x089c + .2byte 0x089d + .2byte 0x089e + .2byte 0x089f + .2byte 0x08a0 + .2byte 0x08a1 + .2byte 0x0000 + diff --git a/src/quest_log.c b/src/quest_log.c index a82d4f0ab..b95bc8bd6 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -273,6 +273,7 @@ bool8 sub_81153A8(u16, void*); bool8 sub_81153E4(u16, void*); extern const u8 gUnknown_841A155[]; +extern const u8 gUnknown_841A16F[]; extern const u8 gUnknown_841B073[]; const struct WindowTemplate gUnknown_845661C[3] = { @@ -3544,3 +3545,13 @@ u16 * sub_8113F14(u16 * a0, u16 * a1) r2[1] = a1[1]; return r2 + 2; } + +u16 * sub_8113F3C(u16 * a0) +{ + u16 * r4 = sub_8113E88(3, a0); + sub_8113EAC(r4[0], gStringVar1, 0); + sub_8113EAC(r4[1], gStringVar2, 0); + StringExpandPlaceholders(gStringVar4, gUnknown_841A16F); + r4 += 2; + return r4; +} From 27ed9452c6559d973e3ad4484d84c309a5713a09 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 8 Nov 2018 10:05:22 -0500 Subject: [PATCH 085/222] Placeholder for text control code F7 --- charmap.txt | 1 + data/data_83FECCC.s | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/charmap.txt b/charmap.txt index b81563bfc..2abc3fa50 100644 --- a/charmap.txt +++ b/charmap.txt @@ -322,6 +322,7 @@ TALL_PLUS = FC 0C FB '‥' = B0 @ TODO: Identify and declare F7 control codes +UNKNOWN_F7 = F7 STRING = FD diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 31c3c67fd..4b332a1aa 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -1592,7 +1592,7 @@ gUnknown_841A8D4:: @ 841A8D4 .incbin "baserom.gba", 0x41A8D4, 0x9 gUnknown_841A8DD:: @ 841A8DD - .incbin "baserom.gba", 0x41A8DD, 0x3 + .string "{UNKNOWN_F7 0x04}$" gUnknown_841A8E0:: @ 841A8E0 .string "{STR_VAR_1} shared its HP using the move\nSOFTBOILED.$" From 21b5f78d6a38032aa49870a4c02cacfed2249ab8 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 8 Nov 2018 11:01:58 -0500 Subject: [PATCH 086/222] More string dumps (some Japanese text was incorrectly dumped as gibberish) --- charmap.txt | 1 + data/data_83FECCC.s | 357 +++++++++++++++++++++++++++++++++++++------- data/quest_log.s | 1 + 3 files changed, 306 insertions(+), 53 deletions(-) diff --git a/charmap.txt b/charmap.txt index 2abc3fa50..f89919509 100644 --- a/charmap.txt +++ b/charmap.txt @@ -323,6 +323,7 @@ TALL_PLUS = FC 0C FB @ TODO: Identify and declare F7 control codes UNKNOWN_F7 = F7 +UNKNOWN_F9 = F9 STRING = FD diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 4b332a1aa..724138136 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -1271,7 +1271,14 @@ gUnknown_8418C83:: @ 8418C83 .incbin "baserom.gba", 0x418C83, 0x56 gUnknown_8418CD9:: @ 8418CD9 - .incbin "baserom.gba", 0x418CD9, 0x130 + .string "The backup memory is damaged or\n" + .string "the game’s battery has run dry.\n" + .string "The game can be played, but its\n" + .string "progress cannot be saved.\n" + .string "“Please press the A Button.â€$" + +gUnknown_8418D70:: @ 8418D70 + .incbin "baserom.gba", 0x418D70, 0x99 gUnknown_8418E09:: @ 8418E09 .incbin "baserom.gba", 0x418E09, 0x6E @@ -1307,46 +1314,210 @@ gUnknown_8418EBC:: @ 8418EBC .incbin "baserom.gba", 0x418EBC, 0x7 gUnknown_8418EC3:: @ 8418EC3 - .incbin "baserom.gba", 0x418EC3, 0x8BF + .string "No data$" + +gUnknown_8418ECB:: @ 8418ECB + @ Viridian Forest + .string "A deep and sprawling forest that\n" + .string "extends around VIRIDIAN CITY.\n" + .string "A natural maze, many people\n" + .string "become lost inside.$" + +gUnknown_8418F3A:: @ 8418F3A + @ Mt. Moon + .string "A mystical mountain that is known\n" + .string "for its frequent meteor falls.\n" + .string "The shards of stars that fall\n" + .string "here are known as MOON STONES.$" + +gUnknown_8418FB8:: @ 8418FB8 + @ Diglett's Cave + .string "A seemingly plain tunnel that was\n" + .string "dug by wild DIGLETT.\n" + .string "It is famous for connecting\n" + .string "ROUTES 2 and 11.$" + +gUnknown_841901C:: @ 841901C + @ Victory Road + .string "A tunnel situated on ROUTE 23.\n" + .string "It earned its name because it\n" + .string "must be traveled by all TRAINERS\n" + .string "aiming for the top.$" + +gUnknown_841908E:: @ 841908E + @ Pokémon Mansion + .string "A decrepit, burned-down mansion\n" + .string "on CINNABAR ISLAND.\n" + .string "It got its name because a famous\n" + .string "POKéMON researcher lived there.$" + +gUnknown_8419103:: @ 8419103 + @ Safari Zone + .string "An amusement park outside FUCHSIA\n" + .string "CITY where many rare POKéMON can\n" + .string "be observed in the wild.\n" + .string "Catch them in a popular game!$" + +gUnknown_841917D:: @ 841917D + @ Rock Tunnel + .string "A naturally formed underground\n" + .string "tunnel. Because it has not been\n" + .string "developed, it is inky dark inside.\n" + .string "A light is needed to get through.$" + +gUnknown_8419201:: @ 8419201 + @ Seafoam Islands + .string "A pair of islands that is situated\n" + .string "on ROUTE 20.\n" + .string "The two islands are shaped the\n" + .string "same, as if they were twins.$" + +gUnknown_841926D:: @ 841926D + @ Pokémon Tower + .string "A tower that houses the graves of\n" + .string "countless POKéMON.\n" + .string "Many people visit it daily to pay\n" + .string "their respects to the fallen.$" + +gUnknown_84192E2:: @ 84192E2 + @ Cerulean Cave + .string "A mysterious cave that is filled\n" + .string "with terribly tough POKéMON.\n" + .string "It is so dangerous, the POKéMON\n" + .string "LEAGUE is in charge of it.$" + +gUnknown_841935B:: @ 841935B + @ Power Plant + .string "A power plant that was abandoned\n" + .string "years ago, though some of the\n" + .string "machines still work. It is infested\n" + .string "with electric POKéMON.$" + +gUnknown_84193D5:: @ 84193D5 + @ Mt. Ember + .string "Supposedly an inactive volcano.\n" + .string "However, there are persistent\n" + .string "reports that the peak blazes\n" + .string "with fire at night.$" + +gUnknown_8419444:: @ 8419444 + @ Berry Forest + .string "A forest on a small islet off the\n" + .string "coast of THREE ISLAND. BERRIES\n" + .string "grow wildly in profusion, quickly\n" + .string "replenishing those that fall off.$" + +gUnknown_84194C9:: @ 84194C9 + @ Icefall Cave + .string "A cave which is covered by water\n" + .string "and ice on FOUR ISLAND.\n" + .string "It seems like the end of the cave\n" + .string "is connected to the ocean.$" + +gUnknown_841953F:: @ 841953F + @ Lost Cave + .string "A bewildering cave off the coast\n" + .string "of RESORT GORGEOUS.\n" + .string "Some curious thrill seekers have\n" + .string "never emerged from it.$" + +gUnknown_84195AC:: @ 84195AC + @ Tanoby Ruins + .string "An ancient ruin that is rumored to\n" + .string "be home to a peculiar POKéMON.\n" + .string "However, so far, the POKéMON\n" + .string "remains an unconfirmed rumor.$" + +gUnknown_8419629:: @ 8419629 + @ Altering Cave + .string "This island has been known by this\n" + .string "name since the distant past.\n" + .string "No one today knows where it got\n" + .string "this name, however.$" + +gUnknown_841969D:: @ 841969D + @ Pattern Bush + .string "A lush and bush-like area. \n" + .string "In it are patterns where no grass\n" + .string "grows. Some study it in the belief\n" + .string "that a secret is concealed.$" + +gUnknown_841971A:: @ 841971A + @ Dotted Hole + .string "A mysterious, just-discovered\n" + .string "ruin from an ancient time.\n" + .string "It got its name from the six dots\n" + .string "on its door.$" gUnknown_8419782:: @ 8419782 - .incbin "baserom.gba", 0x419782, 0x1B + .string "{UNKNOWN_F7 0x00} nature.\n" + .string "Met in a trade.$" gUnknown_841979D:: @ 841979D - .incbin "baserom.gba", 0x41979D, 0x1B + .string "{UNKNOWN_F7 0x00} nature.\n" + .string "Met in a trade.$" gUnknown_84197B8:: @ 84197B8 - .incbin "baserom.gba", 0x4197B8, 0x35 + .string "{UNKNOWN_F7 0x00} nature.\n" + .string "Met in a fateful encounter when\n" + .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" gUnknown_84197ED:: @ 84197ED - .incbin "baserom.gba", 0x4197ED, 0x35 + .string "{UNKNOWN_F7 0x00} nature.\n" + .string "Met in a fateful encounter when\n" + .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" gUnknown_8419822:: @ 8419822 - .incbin "baserom.gba", 0x419822, 0x1F + .string "{UNKNOWN_F7 0x00} nature.\n" + .string "Met in {UNKNOWN_F7 0x02} at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" gUnknown_8419841:: @ 8419841 - .incbin "baserom.gba", 0x419841, 0x1F + .string "{UNKNOWN_F7 0x00} nature.\n" + .string "Met in {UNKNOWN_F7 0x02} at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" gUnknown_8419860:: @ 8419860 - .incbin "baserom.gba", 0x419860, 0x2A + .string "{UNKNOWN_F7 0x00} nature.\n" + .string "Apparently met in {UNKNOWN_F7 0x02}\n" + .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" gUnknown_841988A:: @ 841988A - .incbin "baserom.gba", 0x41988A, 0x2A + .string "{UNKNOWN_F7 0x00} nature.\n" + .string "Apparently met in {UNKNOWN_F7 0x02}\n" + .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" gUnknown_84198B4:: @ 84198B4 - .incbin "baserom.gba", 0x4198B4, 0x21 + .string "{UNKNOWN_F7 0x00} nature.\n" + .string "Hatched: {UNKNOWN_F7 0x02}\n" + .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" gUnknown_84198D5:: @ 84198D5 - .incbin "baserom.gba", 0x4198D5, 0x5A + .string "{UNKNOWN_F7 0x00} nature.\n" + .string "Hatched: {UNKNOWN_F7 0x02}\n" + .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" + +@ TODO: Replace this gibberish with the proper Hiragana +gUnknown_84198F6:: @ 84198F6 + .string "{UNKNOWN_F7 0x00}ßÓÃÉË {UNKNOWN_F9 0x05}{UNKNOWN_F7 0x01}çÑÊ\n" + .string "{UNKNOWN_F7 0x02}㧠ÉÇã£Å’ ùÂã $" + +gUnknown_8419913:: @ 8419913 + .string "{UNKNOWN_F7 0x00}ÓÃÉË {UNKNOWN_F9 0x05}{UNKNOWN_F7 0x01}çÑÊ\n" + .string "{UNKNOWN_F7 0x02}㧠ÉÇã£Å’ ùÂã $" gUnknown_841992F:: @ 841992F - .incbin "baserom.gba", 0x41992F, 0x3E + .string "{UNKNOWN_F7 0x00} nature. Met in a fateful\n" + .string "encounter (hatched: {UNKNOWN_F7 0x02}\n" + .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}).$" gUnknown_841996D:: @ 841996D - .incbin "baserom.gba", 0x41996D, 0x3E + .string "{UNKNOWN_F7 0x00} nature. Met in a fateful\n" + .string "encounter (hatched: {UNKNOWN_F7 0x02}\n" + .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}).$" gUnknown_84199AB:: @ 84199AB - .incbin "baserom.gba", 0x4199AB, 0x49 + .string "{UNKNOWN_F7 0x00} nature. Apparently met in\n" + .string "a fateful encounter (hatched:\n" + .string "{UNKNOWN_F7 0x02} at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}).$" gUnknown_84199F4:: @ 84199F4 .incbin "baserom.gba", 0x4199F4, 0x217 @@ -1454,7 +1625,38 @@ gUnknown_8419E57:: @ 8419E57 .incbin "baserom.gba", 0x419E57, 0xFD gUnknown_8419F54:: @ 8419F54 - .incbin "baserom.gba", 0x419F54, 0x201 + .string "SAVING…\n" + .string "DON’T TURN OFF THE POWER.$" + +gUnknown_8419F76:: @ 8419F76 + .string "A device that records POKéMON secrets\n" + .string "upon meeting or catching them.$" + +gUnknown_8419FBB:: @ 8419FBB + .string "Check and organize POKéMON that are\n" + .string "traveling with you in your party.$" + +gUnknown_841A001:: @ 841A001 + .string "Equipped with pockets for storing items\n" + .string "you bought, received, or found.$" + +gUnknown_841A049:: @ 841A049 + .string "Check your money and other game data.$" + +gUnknown_841A06F:: @ 841A06F + .string "Save your game with a complete record\n" + .string "of your progress to take a break.$" + +gUnknown_841A0B7:: @ 841A0B7 + .string "Adjust various game settings such as text\n" + .string "speed, game rules, etc.$" + +gUnknown_841A0F9:: @ 841A0F9 + .string "Close this MENU window.$" + +gUnknown_841A111:: @ 841A111 + .string "Retire from the SAFARI GAME and return to\n" + .string "the registration counter.$" gUnknown_841A155:: @ 841A155 .string "Previously on your quest…$" @@ -1520,43 +1722,59 @@ gUnknown_841A506:: .string "loss$" gUnknown_841A50B:: @ 841A50B - .string "Mingled with other TRAINERS in\nthe UNION ROOM.$" + .string "Mingled with other TRAINERS in\n" + .string "the UNION ROOM.$" gUnknown_841A53A:: - .string "Departed {STR_VAR_2}\nin {STR_VAR_1} for the next\ndestination.$" + .string "Departed {STR_VAR_2}\n" + .string "in {STR_VAR_1} for the next\n" + .string "destination.$" gUnknown_841A566:: @ 841A566 - .incbin "baserom.gba", 0x41A566, 0x36 + .string "After consideration, switched\n" + .string "{UNKNOWN_F7 0x01} in {UNKNOWN_F7 0x00} with\n" + .string "{UNKNOWN_F7 0x03} in {UNKNOWN_F7 0x02}.$" gUnknown_841A59C:: @ 841A59C - .incbin "baserom.gba", 0x41A59C, 0x3D + .string "After deep thought, switched\n" + .string "{UNKNOWN_F7 0x01} in BOX “{UNKNOWN_F7 0x00}†to\n" + .string "the BOX “{UNKNOWN_F7 0x02}.â€$" gUnknown_841A5D9:: @ 841A5D9 - .incbin "baserom.gba", 0x41A5D9, 0x21 + .string "Switched around {UNKNOWN_F7 0x01} and\n" + .string "{UNKNOWN_F7 0x02} in {UNKNOWN_F7 0x00}.$" gUnknown_841A5FA:: @ 841A5FA - .incbin "baserom.gba", 0x41A5FA, 0x10 + .string "Moved {UNKNOWN_F7 0x01} in {UNKNOWN_F7 0x00}.$" gUnknown_841A60A:: @ 841A60A - .incbin "baserom.gba", 0x41A60A, 0x28 + .string "Switched {UNKNOWN_F7 0x01} in {UNKNOWN_F7 0x00}\n" + .string "with {UNKNOWN_F7 0x02} in the party.$" gUnknown_841A632:: @ 841A632 - .incbin "baserom.gba", 0x41A632, 0x1D + .string "Added {UNKNOWN_F7 0x01} in {UNKNOWN_F7 0x00}\n" + .string "to the party.$" gUnknown_841A64F:: @ 841A64F - .incbin "baserom.gba", 0x41A64F, 0x1F + .string "Moved {UNKNOWN_F7 0x00} from the party\n" + .string "to {UNKNOWN_F7 0x01}.$" gUnknown_841A66E:: @ 841A66E - .incbin "baserom.gba", 0x41A66E, 0x26 + .string "Moved a group of POKéMON in\n" + .string "{UNKNOWN_F7 0x00} to {UNKNOWN_F7 0x01}.$" gUnknown_841A694:: @ 841A694 .string "a different spot$" gUnknown_841A6A5:: @ 841A6A5 - .string "Removed the item {STR_VAR_1} from\n{PLAYER}’s PC and gave it to {STR_VAR_2}\nto hold.$" + .string "Removed the item {STR_VAR_1} from\n" + .string "{PLAYER}’s PC and gave it to {STR_VAR_2}\n" + .string "to hold.$" gUnknown_841A6E1:: @ 841A6E1 - .string "Removed the item {STR_VAR_1} from\na PC, gave it to {STR_VAR_2}, and put\nthe {STR_VAR_3} it held in the BAG.$" + .string "Removed the item {STR_VAR_1} from\n" + .string "a PC, gave it to {STR_VAR_2}, and put\n" + .string "the {STR_VAR_3} it held in the BAG.$" gUnknown_841A732:: @ 841A732 .string "Chatted with many TRAINERS.$" @@ -1595,10 +1813,12 @@ gUnknown_841A8DD:: @ 841A8DD .string "{UNKNOWN_F7 0x04}$" gUnknown_841A8E0:: @ 841A8E0 - .string "{STR_VAR_1} shared its HP using the move\nSOFTBOILED.$" + .string "{STR_VAR_1} shared its HP using the move\n" + .string "SOFTBOILED.$" gUnknown_841A90C:: @ 841A90C - .string "{STR_VAR_1} shared its HP using the move\nMILK DRINK.$" + .string "{STR_VAR_1} shared its HP using the move\n" + .string "MILK DRINK.$" gUnknown_841A938:: @ 841A938 .incbin "baserom.gba", 0x41A938, 0x2D @@ -1634,64 +1854,87 @@ gUnknown_841AB74:: @ 841AB74 .incbin "baserom.gba", 0x41AB74, 0x1A gUnknown_841AB8E:: @ 841AB8E - .string "{PLAYER} made {STR_VAR_1} hold the item\n{STR_VAR_2}.$" + .string "{PLAYER} made {STR_VAR_1} hold the item\n" + .string "{STR_VAR_2}.$" gUnknown_841ABAB:: @ 841ABAB - .string "{STR_VAR_1} used the Hidden Move\nCUT here.$" + .string "{STR_VAR_1} used the Hidden Move\n" + .string "CUT here.$" gUnknown_841ABCD:: @ 841ABCD - .string "{STR_VAR_1} used the Hidden Move\nFLY and flew to {STR_VAR_2}.$" + .string "{STR_VAR_1} used the Hidden Move\n" + .string "FLY and flew to {STR_VAR_2}.$" gUnknown_841ABF9:: @ 841ABF9 - .string "{STR_VAR_1} used the Hidden Move\nSURF and rode the waves.$" + .string "{STR_VAR_1} used the Hidden Move\n" + .string "SURF and rode the waves.$" gUnknown_841AC2A:: @ 841AC2A - .string "{STR_VAR_1} used the Hidden Move\nSTRENGTH here.$" + .string "{STR_VAR_1} used the Hidden Move\n" + .string "STRENGTH here.$" gUnknown_841AC51:: @ 841AC51 - .string "{STR_VAR_1} used the Hidden Move\nFLASH and illuminated a pitch-black\ncave.$" + .string "{STR_VAR_1} used the Hidden Move\n" + .string "FLASH and illuminated a pitch-black\n" + .string "cave.$" gUnknown_841AC93:: @ 841AC93 - .string "{STR_VAR_1} used the Hidden Move\nROCK SMASH here.$" + .string "{STR_VAR_1} used the Hidden Move\n" + .string "ROCK SMASH here.$" gUnknown_841ACBC:: @ 841ACBC - .string "{STR_VAR_1} used the Hidden Move\nWATERFALL to scale a raging torrent.$" + .string "{STR_VAR_1} used the Hidden Move\n" + .string "WATERFALL to scale a raging torrent.$" gUnknown_841ACF9:: @ 841ACF9 - .string "{STR_VAR_1}è êÉà Ñ㓪& òã–Ã\néã§+ã‚ã–\nダ¡ビング& ÚÉã£Å’!$" + .string "{STR_VAR_1}è êÉà Ñ㓪& òã–Ã\n" + .string "éã§+ã‚ã–\n" + .string "ダ¡ビング& ÚÉã£Å’!$" gUnknown_841AD1D:: @ 841AD1D - .string "{STR_VAR_1} used DIG to escape from\n{STR_VAR_2}.$" + .string "{STR_VAR_1} used DIG to escape from\n" + .string "{STR_VAR_2}.$" gUnknown_841AD3C:: @ 841AD3C - .string "{STR_VAR_1} used SWEET SCENT to attract\nwild POKéMON.$" + .string "{STR_VAR_1} used SWEET SCENT to attract\n" + .string "wild POKéMON.$" gUnknown_841AD69:: @ 841AD69 - .string "{STR_VAR_1} used TELEPORT, transporting\nthe party to {STR_VAR_2}’s\n{STR_VAR_3}.$" + .string "{STR_VAR_1} used TELEPORT, transporting\n" + .string "the party to {STR_VAR_2}’s\n" + .string "{STR_VAR_3}.$" gUnknown_841AD9E:: @ 841AD9E - .string "{PLAYER} left {STR_VAR_1}’s\n{STR_VAR_2} for the next\ndestination.$" + .string "{PLAYER} left {STR_VAR_1}’s\n" + .string "{STR_VAR_2} for the next\n" + .string "destination.$" gUnknown_841ADC8:: @ 841ADC8 - .string "Played a lot of games at the ROCKET\nGAME CORNER in {STR_VAR_1}.$" + .string "Played a lot of games at the ROCKET\n" + .string "GAME CORNER in {STR_VAR_1}.$" gUnknown_841ADFF:: @ 841ADFF .string "{PLAYER} rested comfortably at home.$" gUnknown_841AE1E:: @ 841AE1E - .string "{PLAYER} left PROF. OAK’s POKéMON\nRESEARCH LAB.$" + .string "{PLAYER} left PROF. OAK’s POKéMON\n" + .string "RESEARCH LAB.$" gUnknown_841AE48:: @ 841AE48 - .string "The GYM in {STR_VAR_1} was full of\ntough TRAINERS…\nPreparations had to be made.$" + .string "The GYM in {STR_VAR_1} was full of\n" + .string "tough TRAINERS…\n" + .string "Preparations had to be made.$" gUnknown_841AE8F:: @ 841AE8F .string "Departed the GYM in {STR_VAR_1}.$" gUnknown_841AEA7:: @ 841AEA7 - .string "{PLAYER} had a great time with POKéMON\nin the SAFARI ZONE.$" + .string "{PLAYER} had a great time with POKéMON\n" + .string "in the SAFARI ZONE.$" gUnknown_841AEDC:: @ 841AEDC - .string "Managed to get out of {STR_VAR_2}\nafter wandering about.$" + .string "Managed to get out of {STR_VAR_2}\n" + .string "after wandering about.$" gUnknown_841AF0C:: @ 841AF0C .incbin "baserom.gba", 0x41AF0C, 0x32 @@ -1709,25 +1952,31 @@ gUnknown_841AF9F:: @ 841AF9F .string "barely$" gUnknown_841AFA6:: @ 841AFA6 - .string "{PLAYER} used an ESCAPE ROPE to get\nout from {STR_VAR_2}.$" + .string "{PLAYER} used an ESCAPE ROPE to get\n" + .string "out from {STR_VAR_2}.$" gUnknown_841AFD1:: @ 841AFD1 .string "draw$" gUnknown_841AFD6:: @ 841AFD6 - .string "Departed from the {STR_VAR_2}\nfor the next destination.$" + .string "Departed from the {STR_VAR_2}\n" + .string "for the next destination.$" gUnknown_841B005:: @ 841B005 - .string "{PLAYER} departed from\n{STR_VAR_2} and made way\nto the next destination.$" + .string "{PLAYER} departed from\n" + .string "{STR_VAR_2} and made way\n" + .string "to the next destination.$" gUnknown_841B03F:: @ 841B03F - .string "Here in {STR_VAR_1}, {PLAYER}\nobtained the item {STR_VAR_2}.$" + .string "Here in {STR_VAR_1}, {PLAYER}\n" + .string "obtained the item {STR_VAR_2}.$" gUnknown_841B064:: @ 841B064 .string "Arrived in {STR_VAR_1}.$" gUnknown_841B073:: @ 841B073 - .string "And {PLAYER} saved the game at this\nlocation: {STR_VAR_1}.$" + .string "And {PLAYER} saved the game at this\n" + .string "location: {STR_VAR_1}.$" gUnknown_841B09F:: @ 841B09F .string "HOME$" @@ -4502,3 +4751,5 @@ gUnknown_8468B6C:: @ 8468B6C gUnknown_8468BCC:: @ 8468BCC .incbin "baserom.gba", 0x468BCC, 0x90 + + diff --git a/data/quest_log.s b/data/quest_log.s index cf55e5b0a..bd28fd62b 100644 --- a/data/quest_log.s +++ b/data/quest_log.s @@ -179,3 +179,4 @@ gUnknown_8456C50:: @ 8456C50 .2byte 0x08a1 .2byte 0x0000 + From 50709682c7b1db4a1fcdfcf8080910bde2f969a1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 8 Nov 2018 11:43:54 -0500 Subject: [PATCH 087/222] through sub_8113FBC --- asm/battle_controller_player.s | 4 +- asm/battle_message.s | 12 +- asm/easy_chat.s | 4 +- asm/field_specials.s | 4 +- asm/item_pc.s | 4 +- asm/learn_move.s | 8 +- asm/party_menu.s | 52 +++--- asm/pokemon_special_anim.s | 8 +- asm/pokemon_summary_screen.s | 4 +- asm/quest_log.s | 268 ++++-------------------------- asm/scrcmd.s | 4 +- asm/script_pokemon_util_80BF8FC.s | 4 +- asm/shop.s | 4 +- asm/tm_case.s | 4 +- asm/trade.s | 4 +- constants/item_data_constants.inc | 10 +- data/data.s | 2 +- data/data_83FECCC.s | 36 ++-- include/constants/items.h | 7 + include/party_menu.h | 1 + src/quest_log.c | 120 ++++++++++--- 21 files changed, 222 insertions(+), 342 deletions(-) diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s index 89f98fc35..c009baf03 100644 --- a/asm/battle_controller_player.s +++ b/asm/battle_controller_player.s @@ -4570,7 +4570,7 @@ _08030848: ldrh r1, [r4] movs r0, 0xD muls r1, r0 - ldr r0, _080308A4 @ =gUnknown_8247094 + ldr r0, _080308A4 @ =gMoveNames adds r1, r0 adds r0, r6, 0 bl StringAppend @@ -4599,7 +4599,7 @@ _08030894: .4byte gUnknown_2022BC8 _08030898: .4byte gUnknown_3004FF8 _0803089C: .4byte gDisplayedStringBattle _080308A0: .4byte gUnknown_83FE770 -_080308A4: .4byte gUnknown_8247094 +_080308A4: .4byte gMoveNames thumb_func_end sub_8030830 thumb_func_start MoveSelectionDisplayPpString diff --git a/asm/battle_message.s b/asm/battle_message.s index c3d9dd018..ecfd738f1 100644 --- a/asm/battle_message.s +++ b/asm/battle_message.s @@ -473,7 +473,7 @@ _080D762C: ldrh r2, [r2] movs r1, 0xD muls r1, r2 - ldr r2, _080D764C @ =gUnknown_8247094 + ldr r2, _080D764C @ =gMoveNames adds r1, r2 bl StringCopy _080D763C: @@ -483,7 +483,7 @@ _080D763C: b _080D77DC .align 2, 0 _080D7648: .4byte gBattleTextBuff2 -_080D764C: .4byte gUnknown_8247094 +_080D764C: .4byte gMoveNames _080D7650: .4byte gUnknown_83FD57B _080D7654: ldr r4, _080D7694 @ =gBattleTextBuff1 @@ -1505,11 +1505,11 @@ _080D7ED4: _080D7ED6: movs r0, 0xD muls r1, r0 - ldr r0, _080D7EE0 @ =gUnknown_8247094 + ldr r0, _080D7EE0 @ =gMoveNames adds r4, r1, r0 b _080D8382 .align 2, 0 -_080D7EE0: .4byte gUnknown_8247094 +_080D7EE0: .4byte gMoveNames _080D7EE4: ldr r0, _080D7F1C @ =gBattleTypeFlags ldr r1, [r0] @@ -2294,11 +2294,11 @@ _080D84EC: orrs r1, r0 movs r0, 0xD muls r1, r0 - ldr r0, _080D8500 @ =gUnknown_8247094 + ldr r0, _080D8500 @ =gMoveNames adds r1, r0 b _080D868E .align 2, 0 -_080D8500: .4byte gUnknown_8247094 +_080D8500: .4byte gMoveNames _080D8504: adds r0, r5, r7 ldrb r0, [r0, 0x1] diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 05a45baa1..1b4879bf3 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -166,11 +166,11 @@ _080BD820: .4byte gSpeciesNames _080BD824: movs r0, 0xD muls r0, r2 - ldr r1, _080BD830 @ =gUnknown_8247094 + ldr r1, _080BD830 @ =gMoveNames adds r0, r1 b _080BD846 .align 2, 0 -_080BD830: .4byte gUnknown_8247094 +_080BD830: .4byte gMoveNames _080BD834: ldr r1, _080BD84C @ =gUnknown_83ECED4 lsls r0, 3 diff --git a/asm/field_specials.s b/asm/field_specials.s index e9b2ba085..0a0bbb7ec 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -4570,7 +4570,7 @@ _080CC8EC: lsrs r0, 16 movs r1, 0xD muls r1, r0 - ldr r0, _080CC914 @ =gUnknown_8247094 + ldr r0, _080CC914 @ =gMoveNames adds r1, r0 adds r0, r4, 0 bl StringCopy @@ -4581,7 +4581,7 @@ _080CC908: bx r1 .align 2, 0 _080CC910: .4byte gStringVar1 -_080CC914: .4byte gUnknown_8247094 +_080CC914: .4byte gMoveNames thumb_func_end sub_80CC8CC thumb_func_start sub_80CC918 diff --git a/asm/item_pc.s b/asm/item_pc.s index af247572b..8e71d9dc3 100644 --- a/asm/item_pc.s +++ b/asm/item_pc.s @@ -709,12 +709,12 @@ _0810D968: lsrs r0, 16 movs r1, 0xD muls r1, r0 - ldr r0, _0810D9C0 @ =gUnknown_8247094 + ldr r0, _0810D9C0 @ =gMoveNames adds r5, r1, r0 b _0810D9DA .align 2, 0 _0810D9BC: .4byte gUnknown_203ADBC -_0810D9C0: .4byte gUnknown_8247094 +_0810D9C0: .4byte gMoveNames _0810D9C4: adds r0, r4, 0 bl ItemId_GetDescription diff --git a/asm/learn_move.s b/asm/learn_move.s index 0db1b01ff..f3f472847 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -882,7 +882,7 @@ _080E4DB4: mov r9, r1 mov r1, r9 muls r1, r0 - ldr r3, _080E4E58 @ =gUnknown_8247094 + ldr r3, _080E4E58 @ =gMoveNames mov r8, r3 add r1, r8 adds r0, r2, 0 @@ -938,7 +938,7 @@ _080E4DB4: .align 2, 0 _080E4E50: .4byte gPlayerParty _080E4E54: .4byte gStringVar3 -_080E4E58: .4byte gUnknown_8247094 +_080E4E58: .4byte gMoveNames _080E4E5C: .4byte 0x00000261 _080E4E60: .4byte 0x00000a67 _080E4E64: .4byte gStringVar2 @@ -1297,7 +1297,7 @@ _080E511A: adds r1, r2 ldrh r1, [r1] muls r1, r7 - ldr r2, _080E51F0 @ =gUnknown_8247094 + ldr r2, _080E51F0 @ =gMoveNames adds r1, r2 bl StringCopy adds r4, 0xD @@ -1394,7 +1394,7 @@ _080E51AA: .align 2, 0 _080E51E8: .4byte gUnknown_203AAB4 _080E51EC: .4byte gPlayerParty -_080E51F0: .4byte gUnknown_8247094 +_080E51F0: .4byte gMoveNames _080E51F4: .4byte gStringVar1 _080E51F8: .4byte gUnknown_84161C1 _080E51FC: .4byte gUnknown_3005E70 diff --git a/asm/party_menu.s b/asm/party_menu.s index 8bf8b4ff2..5f2d4d4db 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -13647,7 +13647,7 @@ _08125620: movs r0, 0xD adds r2, r5, 0 muls r2, r0 - ldr r0, _081256BC @ =gUnknown_8247094 + ldr r0, _081256BC @ =gMoveNames adds r2, r0 lsls r0, r6, 4 adds r0, 0x2 @@ -13697,7 +13697,7 @@ _08125680: bx r0 .align 2, 0 _081256B8: .4byte gPlayerParty -_081256BC: .4byte gUnknown_8247094 +_081256BC: .4byte gMoveNames thumb_func_end sub_81255F0 thumb_func_start sub_81256C0 @@ -13974,7 +13974,7 @@ sub_8125898: @ 8125898 ldr r2, _08125944 @ =gStringVar1 movs r1, 0xD muls r1, r0 - ldr r0, _08125948 @ =gUnknown_8247094 + ldr r0, _08125948 @ =gMoveNames adds r1, r0 adds r0, r2, 0 bl StringCopy @@ -14005,7 +14005,7 @@ _08125938: .4byte gUnknown_203AD30 _0812593C: .4byte gUnknown_203B0C0 _08125940: .4byte 0x0000ffff _08125944: .4byte gStringVar1 -_08125948: .4byte gUnknown_8247094 +_08125948: .4byte gMoveNames _0812594C: .4byte gStringVar4 _08125950: .4byte gTasks _08125954: .4byte sub_81255BC @@ -14076,7 +14076,7 @@ _081259A0: ldr r0, _08125A28 @ =gStringVar1 movs r1, 0xD muls r1, r4 - ldr r2, _08125A2C @ =gUnknown_8247094 + ldr r2, _08125A2C @ =gMoveNames adds r1, r2 bl StringCopy adds r0, r5, 0 @@ -14104,7 +14104,7 @@ _08125A1C: .4byte gUnknown_203B0C0 _08125A20: .4byte gPlayerParty _08125A24: .4byte 0x0000ffff _08125A28: .4byte gStringVar1 -_08125A2C: .4byte gUnknown_8247094 +_08125A2C: .4byte gMoveNames _08125A30: .4byte gStringVar4 _08125A34: .4byte gTasks _08125A38: .4byte sub_81255BC @@ -14288,7 +14288,7 @@ sub_8125B40: @ 8125B40 ldrsh r2, [r7, r1] movs r1, 0xD muls r1, r2 - ldr r2, _08125BE4 @ =gUnknown_8247094 + ldr r2, _08125BE4 @ =gMoveNames adds r1, r2 bl StringCopy movs r0, 0 @@ -14328,7 +14328,7 @@ _08125BD4: .4byte gPlayerParty _08125BD8: .4byte gUnknown_203AD30 _08125BDC: .4byte gStringVar1 _08125BE0: .4byte gStringVar2 -_08125BE4: .4byte gUnknown_8247094 +_08125BE4: .4byte gMoveNames _08125BE8: .4byte 0x0000ffff _08125BEC: .4byte gUnknown_3005E98 _08125BF0: .4byte sub_8125C38 @@ -14416,7 +14416,7 @@ _08125C84: ldrsh r2, [r6, r1] movs r1, 0xD muls r1, r2 - ldr r2, _08125CE0 @ =gUnknown_8247094 + ldr r2, _08125CE0 @ =gMoveNames adds r1, r2 bl StringCopy ldr r4, _08125CE4 @ =gStringVar4 @@ -14444,7 +14444,7 @@ _08125CD0: .4byte gPlayerParty _08125CD4: .4byte gUnknown_203AD30 _08125CD8: .4byte gStringVar1 _08125CDC: .4byte gStringVar2 -_08125CE0: .4byte gUnknown_8247094 +_08125CE0: .4byte gMoveNames _08125CE4: .4byte gStringVar4 _08125CE8: .4byte gUnknown_8416DB3 _08125CEC: .4byte gTasks @@ -14806,7 +14806,7 @@ sub_8125F5C: @ 8125F5C ldr r0, _08125FF4 @ =gStringVar2 movs r1, 0xD muls r1, r4 - ldr r2, _08125FF8 @ =gUnknown_8247094 + ldr r2, _08125FF8 @ =gMoveNames adds r1, r2 bl StringCopy adds r0, r6, 0 @@ -14831,7 +14831,7 @@ _08125FE8: .4byte gPlayerParty _08125FEC: .4byte gUnknown_203AD30 _08125FF0: .4byte gStringVar1 _08125FF4: .4byte gStringVar2 -_08125FF8: .4byte gUnknown_8247094 +_08125FF8: .4byte gMoveNames thumb_func_end sub_8125F5C thumb_func_start sub_8125FFC @@ -14864,7 +14864,7 @@ sub_8125FFC: @ 8125FFC ldr r0, _08126068 @ =gStringVar2 movs r1, 0xD muls r1, r4 - ldr r2, _0812606C @ =gUnknown_8247094 + ldr r2, _0812606C @ =gMoveNames adds r1, r2 bl StringCopy ldr r0, _08126070 @ =gUnknown_8416EC6 @@ -14884,7 +14884,7 @@ _0812605C: .4byte gUnknown_203B0A0 _08126060: .4byte gPlayerParty _08126064: .4byte gStringVar1 _08126068: .4byte gStringVar2 -_0812606C: .4byte gUnknown_8247094 +_0812606C: .4byte gMoveNames _08126070: .4byte gUnknown_8416EC6 _08126074: .4byte gTasks _08126078: .4byte sub_812607C @@ -14945,7 +14945,7 @@ sub_81260D8: @ 81260D8 ldrsh r2, [r1, r3] movs r1, 0xD muls r1, r2 - ldr r2, _08126128 @ =gUnknown_8247094 + ldr r2, _08126128 @ =gMoveNames adds r1, r2 bl StringCopy ldr r4, _0812612C @ =gStringVar4 @@ -14970,7 +14970,7 @@ sub_81260D8: @ 81260D8 .align 2, 0 _08126120: .4byte gStringVar2 _08126124: .4byte gUnknown_203B0A0 -_08126128: .4byte gUnknown_8247094 +_08126128: .4byte gMoveNames _0812612C: .4byte gStringVar4 _08126130: .4byte gUnknown_8416E6B _08126134: .4byte gTasks @@ -15044,7 +15044,7 @@ _081261AE: ldrsh r2, [r7, r1] movs r1, 0xD muls r1, r2 - ldr r2, _081261FC @ =gUnknown_8247094 + ldr r2, _081261FC @ =gMoveNames adds r1, r2 bl StringCopy ldr r4, _08126200 @ =gStringVar4 @@ -15069,7 +15069,7 @@ _081261AE: .align 2, 0 _081261F4: .4byte gStringVar1 _081261F8: .4byte gStringVar2 -_081261FC: .4byte gUnknown_8247094 +_081261FC: .4byte gMoveNames _08126200: .4byte gStringVar4 _08126204: .4byte gUnknown_8416E84 _08126208: .4byte gTasks @@ -15105,7 +15105,7 @@ _0812623A: ldrsh r2, [r1, r3] movs r1, 0xD muls r1, r2 - ldr r2, _0812627C @ =gUnknown_8247094 + ldr r2, _0812627C @ =gMoveNames adds r1, r2 bl StringCopy ldr r0, _08126280 @ =gUnknown_8416DF7 @@ -15125,7 +15125,7 @@ _0812626A: _08126270: .4byte gStringVar1 _08126274: .4byte gStringVar2 _08126278: .4byte gUnknown_203B0A0 -_0812627C: .4byte gUnknown_8247094 +_0812627C: .4byte gMoveNames _08126280: .4byte gUnknown_8416DF7 _08126284: .4byte gTasks _08126288: .4byte sub_8125D88 @@ -15754,7 +15754,7 @@ sub_8126770: @ 8126770 ldrh r2, [r6] movs r1, 0xD muls r1, r2 - ldr r2, _081267F0 @ =gUnknown_8247094 + ldr r2, _081267F0 @ =gMoveNames adds r1, r2 bl StringCopy ldr r4, _081267F4 @ =gStringVar4 @@ -15787,7 +15787,7 @@ _081267E0: .4byte gPlayerParty _081267E4: .4byte gStringVar1 _081267E8: .4byte gStringVar2 _081267EC: .4byte gMoveToLearn -_081267F0: .4byte gUnknown_8247094 +_081267F0: .4byte gMoveNames _081267F4: .4byte gStringVar4 _081267F8: .4byte gUnknown_8416DF7 _081267FC: .4byte gTasks @@ -15818,7 +15818,7 @@ sub_8126804: @ 8126804 ldr r0, _0812687C @ =gStringVar2 movs r1, 0xD muls r1, r5 - ldr r2, _08126880 @ =gUnknown_8247094 + ldr r2, _08126880 @ =gMoveNames adds r1, r2 bl StringCopy ldr r4, _08126884 @ =gStringVar4 @@ -15849,7 +15849,7 @@ _08126870: .4byte gUnknown_203B0A0 _08126874: .4byte gPlayerParty _08126878: .4byte gStringVar1 _0812687C: .4byte gStringVar2 -_08126880: .4byte gUnknown_8247094 +_08126880: .4byte gMoveNames _08126884: .4byte gStringVar4 _08126888: .4byte gUnknown_8416DB3 _0812688C: .4byte gTasks @@ -16556,7 +16556,7 @@ sub_8126DC8: @ 8126DC8 ldrsh r2, [r7, r1] movs r1, 0xD muls r1, r2 - ldr r2, _08126E64 @ =gUnknown_8247094 + ldr r2, _08126E64 @ =gMoveNames adds r1, r2 bl StringCopy movs r0, 0x2 @@ -16589,7 +16589,7 @@ _08126E54: .4byte gPlayerParty _08126E58: .4byte gStringVar1 _08126E5C: .4byte gSpecialVar_0x8005 _08126E60: .4byte gStringVar2 -_08126E64: .4byte gUnknown_8247094 +_08126E64: .4byte gMoveNames _08126E68: .4byte 0xffff0000 _08126E6C: ldr r1, _08126E70 @ =gUnknown_8416DC2 diff --git a/asm/pokemon_special_anim.s b/asm/pokemon_special_anim.s index fa73d892f..fa72d3c8e 100644 --- a/asm/pokemon_special_anim.s +++ b/asm/pokemon_special_anim.s @@ -50,7 +50,7 @@ _0811C58C: adds r0, 0x77 movs r1, 0xD muls r1, r6 - ldr r2, _0811C5A8 @ =gUnknown_8247094 + ldr r2, _0811C5A8 @ =gMoveNames adds r1, r2 bl StringCopy adds r0, r4, 0 @@ -60,7 +60,7 @@ _0811C5A2: pop {r0} bx r0 .align 2, 0 -_0811C5A8: .4byte gUnknown_8247094 +_0811C5A8: .4byte gMoveNames thumb_func_end sub_811C568 thumb_func_start sub_811C5AC @@ -194,7 +194,7 @@ _0811C628: adds r2, 0x84 movs r1, 0xD muls r1, r0 - ldr r0, _0811C6E4 @ =gUnknown_8247094 + ldr r0, _0811C6E4 @ =gMoveNames adds r1, r0 adds r0, r2, 0 bl StringCopy @@ -209,7 +209,7 @@ _0811C6D2: bx r1 .align 2, 0 _0811C6E0: .4byte gPlayerParty -_0811C6E4: .4byte gUnknown_8247094 +_0811C6E4: .4byte gMoveNames thumb_func_end sub_811C5D4 thumb_func_start sub_811C6E8 diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index e2680033d..073727d7f 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -4241,7 +4241,7 @@ _081368B0: adds r0, r1 ldrh r1, [r3] muls r1, r2 - ldr r2, _0813695C @ =gUnknown_8247094 + ldr r2, _0813695C @ =gMoveNames adds r1, r2 bl StringCopy cmp r7, 0x3 @@ -4292,7 +4292,7 @@ _0813694C: .4byte 0x0000324e _08136950: .4byte gBattleMoves _08136954: .4byte 0x00003258 _08136958: .4byte 0x00003128 -_0813695C: .4byte gUnknown_8247094 +_0813695C: .4byte gMoveNames _08136960: .4byte 0x00003208 _08136964: .4byte 0x000030b8 _08136968: .4byte 0x000030f0 diff --git a/asm/quest_log.s b/asm/quest_log.s index d0933093a..be4e55ce8 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,212 +5,6 @@ .text - thumb_func_start sub_8113F80 -sub_8113F80: @ 8113F80 - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - movs r0, 0x4 - adds r1, r2, 0 - bl sub_8113DE0 - adds r2, r0, 0 - cmp r2, 0 - bne _08113F98 - movs r0, 0 - b _08113FB2 -_08113F98: - ldrh r0, [r4] - strh r0, [r2] - ldrh r0, [r4, 0x4] - strh r0, [r2, 0x2] - ldrh r0, [r4, 0x6] - strh r0, [r2, 0x4] - ldrh r0, [r4] - cmp r0, 0x55 - bne _08113FB0 - ldr r1, _08113FB8 @ =gUnknown_203B048 - movs r0, 0x2 - strb r0, [r1] -_08113FB0: - adds r0, r2, 0x6 -_08113FB2: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08113FB8: .4byte gUnknown_203B048 - thumb_func_end sub_8113F80 - - thumb_func_start sub_8113FBC -sub_8113FBC: @ 8113FBC - push {r4-r7,lr} - adds r1, r0, 0 - movs r0, 0x4 - bl sub_8113E88 - adds r5, r0, 0 - ldrh r0, [r5] - bl ItemId_GetPocket - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x4 - bls _08113FDA - b _0811413C -_08113FDA: - lsls r0, 2 - ldr r1, _08113FE4 @ =_08113FE8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08113FE4: .4byte _08113FE8 - .align 2, 0 -_08113FE8: - .4byte _08113FFC - .4byte _08114074 - .4byte _08113FFC - .4byte _0811409C - .4byte _08113FFC -_08113FFC: - ldr r4, _08114024 @ =gStringVar1 - ldrh r0, [r5] - bl ItemId_GetItem - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - ldrh r0, [r5] - cmp r0, 0x55 - bne _08114034 - ldr r0, _08114028 @ =gStringVar2 - ldrb r1, [r5, 0x4] - bl sub_80C4DF8 - ldr r0, _0811402C @ =gStringVar4 - ldr r1, _08114030 @ =gUnknown_841AFA6 - bl StringExpandPlaceholders - b _0811413C - .align 2, 0 -_08114024: .4byte gStringVar1 -_08114028: .4byte gStringVar2 -_0811402C: .4byte gStringVar4 -_08114030: .4byte gUnknown_841AFA6 -_08114034: - ldrh r1, [r5, 0x2] - ldr r0, _08114050 @ =0x0000ffff - cmp r1, r0 - beq _08114060 - adds r0, r1, 0 - ldr r1, _08114054 @ =gStringVar2 - movs r2, 0 - bl sub_8113EAC - ldr r0, _08114058 @ =gStringVar4 - ldr r1, _0811405C @ =gUnknown_841A1E7 - bl StringExpandPlaceholders - b _0811413C - .align 2, 0 -_08114050: .4byte 0x0000ffff -_08114054: .4byte gStringVar2 -_08114058: .4byte gStringVar4 -_0811405C: .4byte gUnknown_841A1E7 -_08114060: - ldr r0, _0811406C @ =gStringVar4 - ldr r1, _08114070 @ =gUnknown_841A210 - bl StringExpandPlaceholders - b _0811413C - .align 2, 0 -_0811406C: .4byte gStringVar4 -_08114070: .4byte gUnknown_841A210 -_08114074: - ldr r4, _08114090 @ =gStringVar1 - ldrh r0, [r5] - bl ItemId_GetItem - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - ldr r0, _08114094 @ =gStringVar4 - ldr r1, _08114098 @ =gUnknown_841A220 - bl StringExpandPlaceholders - b _0811413C - .align 2, 0 -_08114090: .4byte gStringVar1 -_08114094: .4byte gStringVar4 -_08114098: .4byte gUnknown_841A220 -_0811409C: - ldrh r0, [r5, 0x2] - ldr r1, _081140E8 @ =gStringVar1 - movs r2, 0 - bl sub_8113EAC - ldr r4, _081140EC @ =gStringVar2 - ldrh r0, [r5] - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - movs r7, 0xD - adds r1, r0, 0 - muls r1, r7 - ldr r6, _081140F0 @ =gUnknown_8247094 - adds r1, r6 - adds r0, r4, 0 - bl StringCopy - ldrh r1, [r5, 0x4] - ldr r0, _081140F4 @ =0x0000ffff - cmp r1, r0 - beq _08114118 - ldr r0, _081140F8 @ =gStringVar3 - muls r1, r7 - adds r1, r6 - bl StringCopy - ldrh r1, [r5] - movs r0, 0xA9 - lsls r0, 1 - cmp r1, r0 - bls _08114104 - ldr r0, _081140FC @ =gStringVar4 - ldr r1, _08114100 @ =gUnknown_841A965 - bl StringExpandPlaceholders - b _0811413C - .align 2, 0 -_081140E8: .4byte gStringVar1 -_081140EC: .4byte gStringVar2 -_081140F0: .4byte gUnknown_8247094 -_081140F4: .4byte 0x0000ffff -_081140F8: .4byte gStringVar3 -_081140FC: .4byte gStringVar4 -_08114100: .4byte gUnknown_841A965 -_08114104: - ldr r0, _08114110 @ =gStringVar4 - ldr r1, _08114114 @ =gUnknown_841A277 - bl StringExpandPlaceholders - b _0811413C - .align 2, 0 -_08114110: .4byte gStringVar4 -_08114114: .4byte gUnknown_841A277 -_08114118: - ldrh r1, [r5] - movs r0, 0xA9 - lsls r0, 1 - cmp r1, r0 - bls _08114134 - ldr r0, _0811412C @ =gStringVar4 - ldr r1, _08114130 @ =gUnknown_841A938 - bl StringExpandPlaceholders - b _0811413C - .align 2, 0 -_0811412C: .4byte gStringVar4 -_08114130: .4byte gUnknown_841A938 -_08114134: - ldr r0, _08114144 @ =gStringVar4 - ldr r1, _08114148 @ =gUnknown_841A255 - bl StringExpandPlaceholders -_0811413C: - adds r0, r5, 0x6 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08114144: .4byte gStringVar4 -_08114148: .4byte gUnknown_841A255 - thumb_func_end sub_8113FBC - thumb_func_start sub_811414C sub_811414C: @ 811414C push {r4,lr} @@ -257,7 +51,7 @@ sub_8114188: @ 8114188 ldrh r0, [r4, 0x2] ldr r1, _081141C0 @ =gStringVar1 movs r2, 0 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldr r5, _081141C4 @ =gStringVar2 ldrh r0, [r4] bl ItemId_GetItem @@ -301,7 +95,7 @@ sub_81141E4: @ 81141E4 ldrh r0, [r4, 0x2] ldr r1, _0811421C @ =gStringVar1 movs r2, 0 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldr r5, _08114220 @ =gStringVar2 ldrh r0, [r4] bl ItemId_GetItem @@ -345,7 +139,7 @@ sub_8114240: @ 8114240 ldrh r0, [r4, 0x2] ldr r1, _08114278 @ =gStringVar2 movs r2, 0 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldr r5, _0811427C @ =gStringVar1 ldrh r0, [r4] bl ItemId_GetItem @@ -389,7 +183,7 @@ sub_811429C: @ 811429C ldrh r0, [r4, 0x2] ldr r1, _081142D4 @ =gStringVar1 movs r2, 0 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldr r5, _081142D8 @ =gStringVar2 ldrh r0, [r4] bl ItemId_GetItem @@ -459,7 +253,7 @@ sub_8114324: @ 8114324 ldrh r0, [r4, 0x4] ldr r1, _0811436C @ =gStringVar1 movs r2, 0 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldr r5, _08114370 @ =gStringVar2 ldrh r0, [r4] bl ItemId_GetItem @@ -510,7 +304,7 @@ sub_8114394: @ 8114394 ldrh r0, [r4, 0x4] ldr r1, _081143DC @ =gStringVar2 movs r2, 0 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldr r5, _081143E0 @ =gStringVar3 ldrh r0, [r4] bl ItemId_GetItem @@ -645,11 +439,11 @@ sub_811448C: @ 811448C ldrh r0, [r5, 0x6] ldr r1, _081144DC @ =gStringVar2 movs r2, 0 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldrh r0, [r5, 0x4] ldr r1, _081144E0 @ =gStringVar3 movs r2, 0 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldr r0, _081144E4 @ =gStringVar4 ldr r1, _081144E8 @ =gUnknown_841A3FF bl StringExpandPlaceholders @@ -1019,11 +813,11 @@ sub_81147A8: @ 81147A8 ldrh r0, [r5, 0x6] ldr r1, _081147F8 @ =gStringVar2 movs r2, 0 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldrh r0, [r5, 0x4] ldr r1, _081147FC @ =gStringVar3 movs r2, 0 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldr r0, _08114800 @ =gStringVar4 ldr r1, _08114804 @ =gUnknown_841A76A bl StringExpandPlaceholders @@ -1148,7 +942,7 @@ sub_81148BC: @ 81148BC ldrh r0, [r4] movs r1, 0 movs r2, 0x1 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldrb r0, [r5, 0x1] bl GetBoxNamePtr adds r1, r0, 0 @@ -1157,7 +951,7 @@ sub_81148BC: @ 81148BC ldrh r0, [r4, 0x2] movs r1, 0 movs r2, 0x3 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldr r0, _08114910 @ =gStringVar4 ldr r1, _08114914 @ =gUnknown_841A566 bl UnkTextUtil_StringExpandPlaceholders @@ -1214,11 +1008,11 @@ sub_8114944: @ 8114944 ldrh r0, [r4] movs r1, 0 movs r2, 0x1 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldrh r0, [r4, 0x2] movs r1, 0 movs r2, 0x2 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldr r0, _08114988 @ =gStringVar4 ldr r1, _0811498C @ =gUnknown_841A5D9 bl UnkTextUtil_StringExpandPlaceholders @@ -1287,11 +1081,11 @@ sub_81149D0: @ 81149D0 ldrh r0, [r4] movs r1, 0 movs r2, 0x1 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldrh r0, [r4, 0x2] movs r1, 0 movs r2, 0x2 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldr r0, _08114A14 @ =gStringVar4 ldr r1, _08114A18 @ =gUnknown_841A60A bl UnkTextUtil_StringExpandPlaceholders @@ -1350,7 +1144,7 @@ sub_8114A4C: @ 8114A4C ldrh r0, [r4] movs r1, 0 movs r2, 0x1 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldrb r0, [r5, 0x1] bl GetBoxNamePtr adds r1, r0, 0 @@ -1411,7 +1205,7 @@ sub_8114AC8: @ 8114AC8 ldrh r0, [r4] movs r1, 0 movs r2, 0x1 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldr r0, _08114B04 @ =gStringVar4 ldr r1, _08114B08 @ =gUnknown_841A5FA bl UnkTextUtil_StringExpandPlaceholders @@ -1467,7 +1261,7 @@ sub_8114B34: @ 8114B34 ldrh r0, [r4] movs r1, 0 movs r2, 0x1 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldr r0, _08114B70 @ =gStringVar4 ldr r1, _08114B74 @ =gUnknown_841A632 bl UnkTextUtil_StringExpandPlaceholders @@ -1518,7 +1312,7 @@ sub_8114BA0: @ 8114BA0 ldrh r0, [r4] movs r1, 0 movs r2, 0 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldrb r0, [r4, 0x2] bl GetBoxNamePtr adds r1, r0, 0 @@ -1773,11 +1567,11 @@ sub_8114D68: @ 8114D68 ldrh r0, [r4] movs r1, 0 movs r2, 0x2 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldrh r0, [r4, 0x2] movs r1, 0 movs r2, 0x3 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldr r1, _08114DDC @ =gUnknown_8456ACC ldrb r0, [r6, 0x1] lsls r0, 2 @@ -1903,7 +1697,7 @@ _08114E84: ldrh r0, [r5, 0x4] movs r1, 0 movs r2, 0x1 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldr r4, _08114F04 @ =gStringVar2 ldrb r1, [r5, 0x8] adds r0, r4, 0 @@ -1916,7 +1710,7 @@ _08114E84: ldrh r0, [r5, 0x6] movs r1, 0 movs r2, 0x3 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldr r4, _08114F08 @ =gStringVar3 ldrb r1, [r6, 0x1] adds r0, r4, 0 @@ -2092,11 +1886,11 @@ sub_811500C: @ 811500C ldrh r0, [r4] movs r1, 0 movs r2, 0x1 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldrh r0, [r4, 0x2] movs r1, 0 movs r2, 0x2 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldr r1, _0811506C @ =gUnknown_8456ACC ldrb r0, [r5, 0x1] lsls r0, 2 @@ -2229,7 +2023,7 @@ _08115148: ldrh r0, [r4, 0x4] movs r1, 0 movs r2, 0x1 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldr r0, _08115188 @ =gSaveBlock2Ptr ldr r1, [r0] movs r0, 0x2 @@ -2237,7 +2031,7 @@ _08115148: ldrh r0, [r4, 0x6] movs r1, 0 movs r2, 0x3 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldr r0, _0811518C @ =gStringVar4 ldr r1, _08115190 @ =gUnknown_841A312 bl UnkTextUtil_StringExpandPlaceholders @@ -2336,11 +2130,11 @@ _0811523E: ldrh r0, [r5] movs r1, 0 movs r2, 0x2 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldrh r0, [r5, 0x2] movs r1, 0 movs r2, 0x3 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldr r1, _08115274 @ =gUnknown_8456ACC ldrb r0, [r6, 0x1] lsls r0, 2 @@ -2626,7 +2420,7 @@ sub_8115460: @ 8115460 ldrh r0, [r4] ldr r1, _0811549C @ =gStringVar1 movs r2, 0 - bl sub_8113EAC + bl QuestLog_AutoGetSpeciesname ldrb r0, [r5, 0x1] cmp r0, 0xFF beq _08115486 diff --git a/asm/scrcmd.s b/asm/scrcmd.s index 321f8768e..6fd8d83a5 100644 --- a/asm/scrcmd.s +++ b/asm/scrcmd.s @@ -4243,7 +4243,7 @@ ScrCmd_buffermovename: @ 806BE50 ldr r2, [r4] movs r1, 0xD muls r1, r0 - ldr r0, _0806BE8C @ =gUnknown_8247094 + ldr r0, _0806BE8C @ =gMoveNames adds r1, r0 adds r0, r2, 0 bl StringCopy @@ -4253,7 +4253,7 @@ ScrCmd_buffermovename: @ 806BE50 bx r1 .align 2, 0 _0806BE88: .4byte gUnknown_83A7294 -_0806BE8C: .4byte gUnknown_8247094 +_0806BE8C: .4byte gMoveNames thumb_func_end ScrCmd_buffermovename thumb_func_start ScrCmd_buffernumberstring diff --git a/asm/script_pokemon_util_80BF8FC.s b/asm/script_pokemon_util_80BF8FC.s index aa393e36b..b8da48f65 100644 --- a/asm/script_pokemon_util_80BF8FC.s +++ b/asm/script_pokemon_util_80BF8FC.s @@ -196,7 +196,7 @@ ScrSpecial_GetPokemonNicknameAndMoveName: @ 80BFA50 ldr r0, _080BFAA0 @ =gStringVar2 movs r1, 0xD muls r1, r4 - ldr r2, _080BFAA4 @ =gUnknown_8247094 + ldr r2, _080BFAA4 @ =gMoveNames adds r1, r2 bl StringCopy pop {r4,r5} @@ -208,7 +208,7 @@ _080BFA94: .4byte gPlayerParty _080BFA98: .4byte gSpecialVar_0x8005 _080BFA9C: .4byte gStringVar1 _080BFAA0: .4byte gStringVar2 -_080BFAA4: .4byte gUnknown_8247094 +_080BFAA4: .4byte gMoveNames thumb_func_end ScrSpecial_GetPokemonNicknameAndMoveName thumb_func_start sub_80BFAA8 diff --git a/asm/shop.s b/asm/shop.s index 08e81ad38..a732c8656 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -1259,7 +1259,7 @@ sub_809B494: @ 809B494 lsrs r0, 16 movs r1, 0xD muls r1, r0 - ldr r0, _0809B524 @ =gUnknown_8247094 + ldr r0, _0809B524 @ =gMoveNames adds r1, r0 adds r0, r5, 0 bl StringCopy @@ -1280,7 +1280,7 @@ _0809B514: .4byte gStringVar1 _0809B518: .4byte 0xfffffee0 _0809B51C: .4byte gStringVar4 _0809B520: .4byte gUnknown_8416226 -_0809B524: .4byte gUnknown_8247094 +_0809B524: .4byte gMoveNames _0809B528: ldr r2, _0809B564 @ =gUnknown_8416213 movs r4, 0 diff --git a/asm/tm_case.s b/asm/tm_case.s index afb3fc274..d3bf0cbf2 100644 --- a/asm/tm_case.s +++ b/asm/tm_case.s @@ -704,7 +704,7 @@ _08131DC4: lsrs r0, 16 movs r1, 0xD muls r1, r0 - ldr r0, _08131E14 @ =gUnknown_8247094 + ldr r0, _08131E14 @ =gMoveNames adds r1, r0 adds r0, r4, 0 bl StringAppend @@ -721,7 +721,7 @@ _08131E04: .4byte 0xfffffee0 _08131E08: .4byte gStringVar4 _08131E0C: .4byte gUnknown_846317C _08131E10: .4byte gUnknown_8416703 -_08131E14: .4byte gUnknown_8247094 +_08131E14: .4byte gMoveNames thumb_func_end sub_8131D48 thumb_func_start sub_8131E18 diff --git a/asm/trade.s b/asm/trade.s index 0abbb8e7f..cb15185e9 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -5033,7 +5033,7 @@ _0804EF50: adds r1, r0, 0 movs r0, 0xD muls r1, r0 - ldr r0, _0804EF84 @ =gUnknown_8247094 + ldr r0, _0804EF84 @ =gMoveNames adds r1, r0 adds r0, r6, 0 bl StringAppend @@ -5049,7 +5049,7 @@ _0804EF6C: b _0804EF9C .align 2, 0 _0804EF80: .4byte gUnknown_8261EB6 -_0804EF84: .4byte gUnknown_8247094 +_0804EF84: .4byte gMoveNames _0804EF88: .4byte gUnknown_8261EC7 _0804EF8C: ldr r1, _0804EFAC @ =gUnknown_8261EB6 diff --git a/constants/item_data_constants.inc b/constants/item_data_constants.inc index 07ceb6e3b..cfeb9c1c4 100644 --- a/constants/item_data_constants.inc +++ b/constants/item_data_constants.inc @@ -1,5 +1,5 @@ - .set POCKET_ITEMS, 0x01 - .set POCKET_POKE_BALLS, 0x02 - .set POCKET_TM_HM, 0x03 - .set POCKET_BERRIES, 0x04 - .set POCKET_KEY_ITEMS, 0x05 + .set POCKET_ITEMS, 0x01 + .set POCKET_KEY_ITEMS, 0x02 + .set POCKET_POKE_BALLS, 0x03 + .set POCKET_TM_CASE, 0x04 + .set POCKET_BERRY_POUCH, 0x05 diff --git a/data/data.s b/data/data.s index 5c81abcac..1c4806436 100644 --- a/data/data.s +++ b/data/data.s @@ -128,7 +128,7 @@ gSpeciesNames:: @ 8245EE0 gUnknown_8246BE5:: @ 8246BE5 .incbin "baserom.gba", 0x246BE5, 0x4AF -gUnknown_8247094:: @ 8247094 +gMoveNames:: @ 8247094 .incbin "baserom.gba", 0x247094, 0xF97 gUnknown_824802B:: @ 824802B diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 724138136..da553d83e 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -1662,58 +1662,58 @@ gUnknown_841A155:: @ 841A155 .string "Previously on your quest…$" gUnknown_841A16F:: @ 841A16F - .incbin "baserom.gba", 0x41A16F, 0x24 + .string "{PLAYER} switched the POKéMON\n{STR_VAR_1} with {STR_VAR_2}.$" gUnknown_841A193:: @ 841A193 - .incbin "baserom.gba", 0x41A193, 0x3A + .string "Took the item {STR_VAR_2} from\n{STR_VAR_1} and gave it the item\n{STR_VAR_3} to hold.$" gUnknown_841A1CD:: @ 841A1CD - .incbin "baserom.gba", 0x41A1CD, 0x1A + .string "Took the item {STR_VAR_2} from\n{STR_VAR_1}.$" gUnknown_841A1E7:: @ 841A1E7 - .incbin "baserom.gba", 0x41A1E7, 0x29 + .string "Used the item {STR_VAR_1} on {STR_VAR_2}\nat this location.$" gUnknown_841A210:: @ 841A210 - .incbin "baserom.gba", 0x41A210, 0x10 + .string "{PLAYER} used the\n{STR_VAR_1}.$" gUnknown_841A220:: @ 841A220 - .incbin "baserom.gba", 0x41A220, 0x35 + .string "Used the item {STR_VAR_1}, which was\nin the KEY ITEMS POCKET.$" gUnknown_841A255:: @ 841A255 - .incbin "baserom.gba", 0x41A255, 0x22 + .string "{STR_VAR_1} learned the move\n{STR_VAR_2} from a TM.$" gUnknown_841A277:: @ 841A277 - .incbin "baserom.gba", 0x41A277, 0x39 + .string "{STR_VAR_1} learned the move\n{STR_VAR_2} from a TM and forgot\nthe move {STR_VAR_3}.$" gUnknown_841A2B0:: @ 841A2B0 - .incbin "baserom.gba", 0x41A2B0, 0x31 + .string "POKéMON were fully restored\nat a POKéMON CENTER.$" gUnknown_841A2E1:: @ 841A2E1 - .incbin "baserom.gba", 0x41A2E1, 0x31 + .string "{UNKNOWN_F7 0x00} had a marvelous battle\nwith the CHAMPION, {UNKNOWN_F7 0x01}.$" gUnknown_841A312:: @ 841A312 - .incbin "baserom.gba", 0x41A312, 0x37 + .string "In the end, {UNKNOWN_F7 0x00} sent out {UNKNOWN_F7 0x01}\nwhile {UNKNOWN_F7 0x02} countered with\n{UNKNOWN_F7 0x03}.$" gUnknown_841A349:: @ 841A349 - .incbin "baserom.gba", 0x41A349, 0x48 + .string "And, as a result of battling with every\nbit of power, {UNKNOWN_F7 0x00} won\nthe match.$" gUnknown_841A391:: @ 841A391 - .incbin "baserom.gba", 0x41A391, 0x49 + .string "Removed the item {STR_VAR_1} from\nthe BAG’s ITEMS POCKET and stored it\non the PC.$" gUnknown_841A3DA:: @ 841A3DA - .incbin "baserom.gba", 0x41A3DA, 0x25 + .string "{PLAYER} withdrew the item {STR_VAR_1}\nfrom the PC.$" gUnknown_841A3FF:: @ 841A3FF - .incbin "baserom.gba", 0x41A3FF, 0x23 + .string "Traded {STR_VAR_3} in exchange for\n{STR_VAR_1}’s {STR_VAR_2}.$" gUnknown_841A422:: @ 841A422 - .incbin "baserom.gba", 0x41A422, 0x55 + .string "Took on {UNKNOWN_F7 0x00} in a SINGLE BATTLE.\nIt was a hotly contested match that\nresulted in a {UNKNOWN_F7 0x01}.$" gUnknown_841A477:: @ 841A477 - .incbin "baserom.gba", 0x41A477, 0x4F + .string "Took on {UNKNOWN_F7 0x00} in a DOUBLE BATTLE.\nIt was an extended match that resulted\nin a {UNKNOWN_F7 0x01}.$" gUnknown_841A4C6:: @ 841A4C6 - .incbin "baserom.gba", 0x41A4C6, 0x3C + .string "{UNKNOWN_F7 0x00} and {UNKNOWN_F7 0x01} took on\n{UNKNOWN_F7 0x02} and {UNKNOWN_F7 0x03} in a\nMULTI BATTLE and got a {UNKNOWN_F7 0x04}.$" gUnknown_841A502:: .string "win$" diff --git a/include/constants/items.h b/include/constants/items.h index dd2b4c4ed..64fed0e4c 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -393,4 +393,11 @@ // Check if the item is one that can be used on a Pokemon. #define IS_POKEMON_ITEM(item) ((item) >= ITEM_POTION && (item) <= ITEM_0B2) +// POCKETS +#define POCKET_ITEMS 1 +#define POCKET_KEY_ITEMS 2 +#define POCKET_POKE_BALLS 3 +#define POCKET_TM_CASE 4 +#define POCKET_BERRY_POUCH 5 + #endif // GUARD_CONSTANTS_ITEMS_H diff --git a/include/party_menu.h b/include/party_menu.h index c787bafb1..75a1645c4 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -14,5 +14,6 @@ bool8 pokemon_has_move(struct Pokemon *, u16); void sub_81B58A8(void); void DoWallyTutorialBagMenu(void); u8 pokemon_ailments_get_primary(u32 status); +u16 ItemIdToBattleMoveId(u16 itemId); #endif // GUARD_PARTY_MENU_H diff --git a/src/quest_log.c b/src/quest_log.c index b95bc8bd6..8131e1937 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -1,5 +1,6 @@ #include "global.h" #include "constants/species.h" +#include "constants/items.h" #include "data2.h" #include "malloc.h" #include "main.h" @@ -29,6 +30,7 @@ #include "map_name_popup.h" #include "wild_encounter.h" #include "help_system.h" +#include "party_menu.h" #include "unk_8159F40.h" #include "pokemon_storage_system.h" #include "save.h" @@ -275,6 +277,14 @@ bool8 sub_81153E4(u16, void*); extern const u8 gUnknown_841A155[]; extern const u8 gUnknown_841A16F[]; extern const u8 gUnknown_841B073[]; +extern const u8 gUnknown_841AFA6[]; +extern const u8 gUnknown_841A1E7[]; +extern const u8 gUnknown_841A210[]; +extern const u8 gUnknown_841A220[]; +extern const u8 gUnknown_841A965[]; +extern const u8 gUnknown_841A277[]; +extern const u8 gUnknown_841A938[]; +extern const u8 gUnknown_841A255[]; const struct WindowTemplate gUnknown_845661C[3] = { { 0, 0, 0, 30, 2, 15, 0x0e9 }, @@ -2646,7 +2656,7 @@ u8 sub_8113530(void) return sub_8113114(VAR_0x4038_STRUCT, gUnknown_20370C0); } -u16 * (*const gUnknown_8456948[])(u16 *, u16 *) = { +static u16 * (*const sQuestLogStorageCBs[])(u16 *, u16 *) = { NULL, NULL, NULL, @@ -2752,18 +2762,18 @@ void sub_8113550(u16 a0, u16 * a1) if (gUnknown_203AE04 == NULL) { gUnknown_203AE04 = gUnknown_203AE08; - r1 = gUnknown_8456948[a0](gUnknown_203AE04, a1); + r1 = sQuestLogStorageCBs[a0](gUnknown_203AE04, a1); } else { - gUnknown_8456948[a0](gUnknown_203AE04, a1); + sQuestLogStorageCBs[a0](gUnknown_203AE04, a1); return; } } else { gUnknown_203AE04 = NULL; - r1 = gUnknown_8456948[a0](gUnknown_203AE08, a1); + r1 = sQuestLogStorageCBs[a0](gUnknown_203AE08, a1); } if (r1 == NULL) @@ -2905,27 +2915,27 @@ void sub_8113550(u16 a0, u16 * a1) "\tldr r0, _08113660 @ =gUnknown_203AE08\n" "\tldr r0, [r0]\n" "\tstr r0, [r2]\n" - "\tldr r1, _08113664 @ =gUnknown_8456948\n" + "\tldr r1, _08113664 @ =sQuestLogStorageCBs\n" "\tldr r2, [r1, 0x7C]\n" "\tb _0811368E\n" "\t.align 2, 0\n" "_0811365C: .4byte gUnknown_203AE04\n" "_08113660: .4byte gUnknown_203AE08\n" - "_08113664: .4byte gUnknown_8456948\n" + "_08113664: .4byte sQuestLogStorageCBs\n" "_08113668:\n" - "\tldr r0, _08113678 @ =gUnknown_8456948\n" + "\tldr r0, _08113678 @ =sQuestLogStorageCBs\n" "\tldr r2, [r0, 0x7C]\n" "\tadds r0, r1, 0\n" "\tadds r1, r5, 0\n" "\tbl _call_via_r2\n" "\tb ._return\n" "\t.align 2, 0\n" - "_08113678: .4byte gUnknown_8456948\n" + "_08113678: .4byte sQuestLogStorageCBs\n" "_0811367C:\n" "\tldr r1, _081136C4 @ =gUnknown_203AE04\n" "\tmovs r0, 0\n" "\tstr r0, [r1]\n" - "\tldr r0, _081136C8 @ =gUnknown_8456948\n" + "\tldr r0, _081136C8 @ =sQuestLogStorageCBs\n" "\tlsls r1, r4, 2\n" "\tadds r1, r0\n" "\tldr r0, _081136CC @ =gUnknown_203AE08\n" @@ -2958,7 +2968,7 @@ void sub_8113550(u16 a0, u16 * a1) "\tbx r0\n" "\t.align 2, 0\n" "_081136C4: .4byte gUnknown_203AE04\n" - "_081136C8: .4byte gUnknown_8456948\n" + "_081136C8: .4byte sQuestLogStorageCBs\n" "_081136CC: .4byte gUnknown_203AE08\n" "_081136D0: .4byte gUnknown_203B048"); } @@ -3051,7 +3061,7 @@ u16 * sub_8113828(u16 a0, u16 * a1) else gUnknown_203AE04 = NULL; - return gUnknown_8456948[a0](gUnknown_203AE08, a1); + return sQuestLogStorageCBs[a0](gUnknown_203AE08, a1); } bool8 sub_81138A0(u16 a0, u16 * a1) @@ -3084,7 +3094,7 @@ void sub_811390C(void) u16 * resp; gUnknown_203B04A = 0; sub_8110AEC(gUnknown_203B024.unk_00); - resp = gUnknown_8456948[gUnknown_203B024.unk_00](gUnknown_203AE08, (u16 *)&gUnknown_203B024.unk_04); + resp = sQuestLogStorageCBs[gUnknown_203B024.unk_00](gUnknown_203AE08, (u16 *)&gUnknown_203B024.unk_04); gUnknown_203AE08 = resp; sub_81138F8(); } @@ -3114,7 +3124,7 @@ void sub_81139BC(void) sub_8110AEC(gUnknown_203B024.unk_00); } sub_8113B94(gUnknown_203B024.unk_00); - resp = gUnknown_8456948[gUnknown_203B024.unk_00](gUnknown_203AE08, (u16 *)&gUnknown_203B024.unk_04); + resp = sQuestLogStorageCBs[gUnknown_203B024.unk_00](gUnknown_203AE08, (u16 *)&gUnknown_203B024.unk_04); gUnknown_203AE08 = resp; sub_8113A1C(1); sub_81138F8(); @@ -3142,7 +3152,7 @@ bool8 sub_8113A44(u16 a0, u16 *a1) return FALSE; } -u16 * (*const gUnknown_84569F4[])(u16 *) = { +static u16 * (*const sQuestLogScriptParsingCBs[])(u16 *) = { NULL, NULL, NULL, @@ -3261,7 +3271,7 @@ bool8 sub_8113AE8(u16 * a0) if (a0 == NULL || a0[1] > gUnknown_203AF98) return FALSE; - gUnknown_84569F4[a0[0] & 0xFFF](a0); + sQuestLogScriptParsingCBs[a0[0] & 0xFFF](a0); gUnknown_203B044.unk_0 = a0[0]; gUnknown_203B044.unk_1 = (a0[0] & 0xF000) >> 12; if (gUnknown_203B044.unk_1 != 0) @@ -3287,7 +3297,7 @@ bool8 sub_8113AE8(u16 * a0) "\t.align 2, 0\n" "_08113B00: .4byte gUnknown_203AF98\n" "_08113B04:\n" - "\tldr r2, _08113B38 @ =gUnknown_84569F4\n" + "\tldr r2, _08113B38 @ =sQuestLogScriptParsingCBs\n" "\tldrh r1, [r4]\n" "\tldr r0, _08113B3C @ =0x00000fff\n" "\tands r0, r1\n" @@ -3315,7 +3325,7 @@ bool8 sub_8113AE8(u16 * a0) "\tpop {r1}\n" "\tbx r1\n" "\t.align 2, 0\n" - "_08113B38: .4byte gUnknown_84569F4\n" + "_08113B38: .4byte sQuestLogScriptParsingCBs\n" "_08113B3C: .4byte 0x00000fff\n" "_08113B40: .4byte gUnknown_203B044"); } @@ -3326,7 +3336,7 @@ bool8 sub_8113B44(u16 * a0) if (gUnknown_203B044.unk_2 == 0) return FALSE; - gUnknown_84569F4[gUnknown_203B044.unk_0](a0); + sQuestLogScriptParsingCBs[gUnknown_203B044.unk_0](a0); gUnknown_203B044.unk_2++; if (gUnknown_203B044.unk_2 > gUnknown_203B044.unk_1) sub_8113B88(); @@ -3517,7 +3527,7 @@ u16 * sub_8113E88(u16 a0, u16 * a1) // TODO: delete this declaration once data_83FECCC.s is decompiled extern const u8 gText_EggNickname[]; -void sub_8113EAC(u16 a0, u8 * a1, u8 a2) +void QuestLog_AutoGetSpeciesname(u16 a0, u8 * a1, u8 a2) { if (a1 != NULL) { @@ -3549,9 +3559,77 @@ u16 * sub_8113F14(u16 * a0, u16 * a1) u16 * sub_8113F3C(u16 * a0) { u16 * r4 = sub_8113E88(3, a0); - sub_8113EAC(r4[0], gStringVar1, 0); - sub_8113EAC(r4[1], gStringVar2, 0); + QuestLog_AutoGetSpeciesname(r4[0], gStringVar1, 0); + QuestLog_AutoGetSpeciesname(r4[1], gStringVar2, 0); StringExpandPlaceholders(gStringVar4, gUnknown_841A16F); r4 += 2; return r4; } + +u16 * sub_8113F80(u16 * a0, u16 * a1) +{ + u16 * r2 = sub_8113DE0(4, a0); + if (r2 == NULL) + return NULL; + + r2[0] = a1[0]; + r2[1] = a1[2]; + r2[2] = a1[3]; + + if (a1[0] == ITEM_ESCAPE_ROPE) + gUnknown_203B048 = 2; + + return r2 + 3; +} + +u16 * sub_8113FBC(u16 * a0) +{ + u16 * r5 = sub_8113E88(4, a0); + + switch (ItemId_GetPocket(r5[0])) + { + case POCKET_ITEMS: + case POCKET_POKE_BALLS: + case POCKET_BERRY_POUCH: + StringCopy(gStringVar1, ItemId_GetItem(r5[0])->name); + if (r5[0] == ITEM_ESCAPE_ROPE) + { + sub_80C4DF8(gStringVar2, r5[2]); + StringExpandPlaceholders(gStringVar4, gUnknown_841AFA6); + } + else if (r5[1] != 0xFFFF) + { + QuestLog_AutoGetSpeciesname(r5[1], gStringVar2, 0); + StringExpandPlaceholders(gStringVar4, gUnknown_841A1E7); + } + else + { + StringExpandPlaceholders(gStringVar4, gUnknown_841A210); + } + break; + case POCKET_KEY_ITEMS: + StringCopy(gStringVar1, ItemId_GetItem(r5[0])->name); + StringExpandPlaceholders(gStringVar4, gUnknown_841A220); + break; + case POCKET_TM_CASE: + QuestLog_AutoGetSpeciesname(r5[1], gStringVar1, 0); + StringCopy(gStringVar2, gMoveNames[ItemIdToBattleMoveId(r5[0])]); + if (r5[2] != 0xFFFF) + { + StringCopy(gStringVar3, gMoveNames[r5[2]]); + if (r5[0] > ITEM_TM50) + StringExpandPlaceholders(gStringVar4, gUnknown_841A965); + else + StringExpandPlaceholders(gStringVar4, gUnknown_841A277); + } + else + { + if (r5[0] > ITEM_TM50) + StringExpandPlaceholders(gStringVar4, gUnknown_841A938); + else + StringExpandPlaceholders(gStringVar4, gUnknown_841A255); + } + break; + } + return r5 + 3; +} From 3e418d7a7be44631f33d4e05bc54c495aa181ecb Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 8 Nov 2018 14:20:36 -0500 Subject: [PATCH 088/222] Finish disming quest_log strings --- asm/quest_log.s | 62 +++--- data/data_83FECCC.s | 439 +----------------------------------- data/text/quest_log.inc | 481 ++++++++++++++++++++++++++++++++++++++++ src/quest_log.c | 10 +- 4 files changed, 527 insertions(+), 465 deletions(-) create mode 100644 data/text/quest_log.inc diff --git a/asm/quest_log.s b/asm/quest_log.s index be4e55ce8..cd3812b47 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -51,7 +51,7 @@ sub_8114188: @ 8114188 ldrh r0, [r4, 0x2] ldr r1, _081141C0 @ =gStringVar1 movs r2, 0 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldr r5, _081141C4 @ =gStringVar2 ldrh r0, [r4] bl ItemId_GetItem @@ -95,7 +95,7 @@ sub_81141E4: @ 81141E4 ldrh r0, [r4, 0x2] ldr r1, _0811421C @ =gStringVar1 movs r2, 0 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldr r5, _08114220 @ =gStringVar2 ldrh r0, [r4] bl ItemId_GetItem @@ -139,7 +139,7 @@ sub_8114240: @ 8114240 ldrh r0, [r4, 0x2] ldr r1, _08114278 @ =gStringVar2 movs r2, 0 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldr r5, _0811427C @ =gStringVar1 ldrh r0, [r4] bl ItemId_GetItem @@ -183,7 +183,7 @@ sub_811429C: @ 811429C ldrh r0, [r4, 0x2] ldr r1, _081142D4 @ =gStringVar1 movs r2, 0 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldr r5, _081142D8 @ =gStringVar2 ldrh r0, [r4] bl ItemId_GetItem @@ -253,7 +253,7 @@ sub_8114324: @ 8114324 ldrh r0, [r4, 0x4] ldr r1, _0811436C @ =gStringVar1 movs r2, 0 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldr r5, _08114370 @ =gStringVar2 ldrh r0, [r4] bl ItemId_GetItem @@ -304,7 +304,7 @@ sub_8114394: @ 8114394 ldrh r0, [r4, 0x4] ldr r1, _081143DC @ =gStringVar2 movs r2, 0 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldr r5, _081143E0 @ =gStringVar3 ldrh r0, [r4] bl ItemId_GetItem @@ -439,11 +439,11 @@ sub_811448C: @ 811448C ldrh r0, [r5, 0x6] ldr r1, _081144DC @ =gStringVar2 movs r2, 0 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldrh r0, [r5, 0x4] ldr r1, _081144E0 @ =gStringVar3 movs r2, 0 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldr r0, _081144E4 @ =gStringVar4 ldr r1, _081144E8 @ =gUnknown_841A3FF bl StringExpandPlaceholders @@ -813,11 +813,11 @@ sub_81147A8: @ 81147A8 ldrh r0, [r5, 0x6] ldr r1, _081147F8 @ =gStringVar2 movs r2, 0 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldrh r0, [r5, 0x4] ldr r1, _081147FC @ =gStringVar3 movs r2, 0 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldr r0, _08114800 @ =gStringVar4 ldr r1, _08114804 @ =gUnknown_841A76A bl StringExpandPlaceholders @@ -942,7 +942,7 @@ sub_81148BC: @ 81148BC ldrh r0, [r4] movs r1, 0 movs r2, 0x1 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldrb r0, [r5, 0x1] bl GetBoxNamePtr adds r1, r0, 0 @@ -951,7 +951,7 @@ sub_81148BC: @ 81148BC ldrh r0, [r4, 0x2] movs r1, 0 movs r2, 0x3 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldr r0, _08114910 @ =gStringVar4 ldr r1, _08114914 @ =gUnknown_841A566 bl UnkTextUtil_StringExpandPlaceholders @@ -1008,11 +1008,11 @@ sub_8114944: @ 8114944 ldrh r0, [r4] movs r1, 0 movs r2, 0x1 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldrh r0, [r4, 0x2] movs r1, 0 movs r2, 0x2 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldr r0, _08114988 @ =gStringVar4 ldr r1, _0811498C @ =gUnknown_841A5D9 bl UnkTextUtil_StringExpandPlaceholders @@ -1081,11 +1081,11 @@ sub_81149D0: @ 81149D0 ldrh r0, [r4] movs r1, 0 movs r2, 0x1 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldrh r0, [r4, 0x2] movs r1, 0 movs r2, 0x2 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldr r0, _08114A14 @ =gStringVar4 ldr r1, _08114A18 @ =gUnknown_841A60A bl UnkTextUtil_StringExpandPlaceholders @@ -1144,7 +1144,7 @@ sub_8114A4C: @ 8114A4C ldrh r0, [r4] movs r1, 0 movs r2, 0x1 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldrb r0, [r5, 0x1] bl GetBoxNamePtr adds r1, r0, 0 @@ -1205,7 +1205,7 @@ sub_8114AC8: @ 8114AC8 ldrh r0, [r4] movs r1, 0 movs r2, 0x1 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldr r0, _08114B04 @ =gStringVar4 ldr r1, _08114B08 @ =gUnknown_841A5FA bl UnkTextUtil_StringExpandPlaceholders @@ -1261,7 +1261,7 @@ sub_8114B34: @ 8114B34 ldrh r0, [r4] movs r1, 0 movs r2, 0x1 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldr r0, _08114B70 @ =gStringVar4 ldr r1, _08114B74 @ =gUnknown_841A632 bl UnkTextUtil_StringExpandPlaceholders @@ -1312,7 +1312,7 @@ sub_8114BA0: @ 8114BA0 ldrh r0, [r4] movs r1, 0 movs r2, 0 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldrb r0, [r4, 0x2] bl GetBoxNamePtr adds r1, r0, 0 @@ -1567,11 +1567,11 @@ sub_8114D68: @ 8114D68 ldrh r0, [r4] movs r1, 0 movs r2, 0x2 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldrh r0, [r4, 0x2] movs r1, 0 movs r2, 0x3 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldr r1, _08114DDC @ =gUnknown_8456ACC ldrb r0, [r6, 0x1] lsls r0, 2 @@ -1697,7 +1697,7 @@ _08114E84: ldrh r0, [r5, 0x4] movs r1, 0 movs r2, 0x1 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldr r4, _08114F04 @ =gStringVar2 ldrb r1, [r5, 0x8] adds r0, r4, 0 @@ -1710,7 +1710,7 @@ _08114E84: ldrh r0, [r5, 0x6] movs r1, 0 movs r2, 0x3 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldr r4, _08114F08 @ =gStringVar3 ldrb r1, [r6, 0x1] adds r0, r4, 0 @@ -1886,11 +1886,11 @@ sub_811500C: @ 811500C ldrh r0, [r4] movs r1, 0 movs r2, 0x1 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldrh r0, [r4, 0x2] movs r1, 0 movs r2, 0x2 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldr r1, _0811506C @ =gUnknown_8456ACC ldrb r0, [r5, 0x1] lsls r0, 2 @@ -2023,7 +2023,7 @@ _08115148: ldrh r0, [r4, 0x4] movs r1, 0 movs r2, 0x1 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldr r0, _08115188 @ =gSaveBlock2Ptr ldr r1, [r0] movs r0, 0x2 @@ -2031,7 +2031,7 @@ _08115148: ldrh r0, [r4, 0x6] movs r1, 0 movs r2, 0x3 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldr r0, _0811518C @ =gStringVar4 ldr r1, _08115190 @ =gUnknown_841A312 bl UnkTextUtil_StringExpandPlaceholders @@ -2130,11 +2130,11 @@ _0811523E: ldrh r0, [r5] movs r1, 0 movs r2, 0x2 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldrh r0, [r5, 0x2] movs r1, 0 movs r2, 0x3 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldr r1, _08115274 @ =gUnknown_8456ACC ldrb r0, [r6, 0x1] lsls r0, 2 @@ -2420,7 +2420,7 @@ sub_8115460: @ 8115460 ldrh r0, [r4] ldr r1, _0811549C @ =gStringVar1 movs r2, 0 - bl QuestLog_AutoGetSpeciesname + bl QuestLog_AutoGetSpeciesName ldrb r0, [r5, 0x1] cmp r0, 0xFF beq _08115486 diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index da553d83e..bdcf0a201 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -1628,457 +1628,38 @@ gUnknown_8419F54:: @ 8419F54 .string "SAVING…\n" .string "DON’T TURN OFF THE POWER.$" -gUnknown_8419F76:: @ 8419F76 +// Start menu option descriptions +gUnknown_8419F76:: @ 8419F76 // Pokedex .string "A device that records POKéMON secrets\n" .string "upon meeting or catching them.$" -gUnknown_8419FBB:: @ 8419FBB +gUnknown_8419FBB:: @ 8419FBB // Pokemon .string "Check and organize POKéMON that are\n" .string "traveling with you in your party.$" -gUnknown_841A001:: @ 841A001 +gUnknown_841A001:: @ 841A001 // Bag .string "Equipped with pockets for storing items\n" .string "you bought, received, or found.$" -gUnknown_841A049:: @ 841A049 +gUnknown_841A049:: @ 841A049 // {PLAYER} .string "Check your money and other game data.$" -gUnknown_841A06F:: @ 841A06F +gUnknown_841A06F:: @ 841A06F // Save .string "Save your game with a complete record\n" .string "of your progress to take a break.$" -gUnknown_841A0B7:: @ 841A0B7 +gUnknown_841A0B7:: @ 841A0B7 // Options .string "Adjust various game settings such as text\n" .string "speed, game rules, etc.$" -gUnknown_841A0F9:: @ 841A0F9 +gUnknown_841A0F9:: @ 841A0F9 // Quit .string "Close this MENU window.$" -gUnknown_841A111:: @ 841A111 +gUnknown_841A111:: @ 841A111 // Retire .string "Retire from the SAFARI GAME and return to\n" .string "the registration counter.$" -gUnknown_841A155:: @ 841A155 - .string "Previously on your quest…$" - -gUnknown_841A16F:: @ 841A16F - .string "{PLAYER} switched the POKéMON\n{STR_VAR_1} with {STR_VAR_2}.$" - -gUnknown_841A193:: @ 841A193 - .string "Took the item {STR_VAR_2} from\n{STR_VAR_1} and gave it the item\n{STR_VAR_3} to hold.$" - -gUnknown_841A1CD:: @ 841A1CD - .string "Took the item {STR_VAR_2} from\n{STR_VAR_1}.$" - -gUnknown_841A1E7:: @ 841A1E7 - .string "Used the item {STR_VAR_1} on {STR_VAR_2}\nat this location.$" - -gUnknown_841A210:: @ 841A210 - .string "{PLAYER} used the\n{STR_VAR_1}.$" - -gUnknown_841A220:: @ 841A220 - .string "Used the item {STR_VAR_1}, which was\nin the KEY ITEMS POCKET.$" - -gUnknown_841A255:: @ 841A255 - .string "{STR_VAR_1} learned the move\n{STR_VAR_2} from a TM.$" - -gUnknown_841A277:: @ 841A277 - .string "{STR_VAR_1} learned the move\n{STR_VAR_2} from a TM and forgot\nthe move {STR_VAR_3}.$" - -gUnknown_841A2B0:: @ 841A2B0 - .string "POKéMON were fully restored\nat a POKéMON CENTER.$" - -gUnknown_841A2E1:: @ 841A2E1 - .string "{UNKNOWN_F7 0x00} had a marvelous battle\nwith the CHAMPION, {UNKNOWN_F7 0x01}.$" - -gUnknown_841A312:: @ 841A312 - .string "In the end, {UNKNOWN_F7 0x00} sent out {UNKNOWN_F7 0x01}\nwhile {UNKNOWN_F7 0x02} countered with\n{UNKNOWN_F7 0x03}.$" - -gUnknown_841A349:: @ 841A349 - .string "And, as a result of battling with every\nbit of power, {UNKNOWN_F7 0x00} won\nthe match.$" - -gUnknown_841A391:: @ 841A391 - .string "Removed the item {STR_VAR_1} from\nthe BAG’s ITEMS POCKET and stored it\non the PC.$" - -gUnknown_841A3DA:: @ 841A3DA - .string "{PLAYER} withdrew the item {STR_VAR_1}\nfrom the PC.$" - -gUnknown_841A3FF:: @ 841A3FF - .string "Traded {STR_VAR_3} in exchange for\n{STR_VAR_1}’s {STR_VAR_2}.$" - -gUnknown_841A422:: @ 841A422 - .string "Took on {UNKNOWN_F7 0x00} in a SINGLE BATTLE.\nIt was a hotly contested match that\nresulted in a {UNKNOWN_F7 0x01}.$" - -gUnknown_841A477:: @ 841A477 - .string "Took on {UNKNOWN_F7 0x00} in a DOUBLE BATTLE.\nIt was an extended match that resulted\nin a {UNKNOWN_F7 0x01}.$" - -gUnknown_841A4C6:: @ 841A4C6 - .string "{UNKNOWN_F7 0x00} and {UNKNOWN_F7 0x01} took on\n{UNKNOWN_F7 0x02} and {UNKNOWN_F7 0x03} in a\nMULTI BATTLE and got a {UNKNOWN_F7 0x04}.$" - -gUnknown_841A502:: - .string "win$" - -gUnknown_841A506:: - .string "loss$" - -gUnknown_841A50B:: @ 841A50B - .string "Mingled with other TRAINERS in\n" - .string "the UNION ROOM.$" - -gUnknown_841A53A:: - .string "Departed {STR_VAR_2}\n" - .string "in {STR_VAR_1} for the next\n" - .string "destination.$" - -gUnknown_841A566:: @ 841A566 - .string "After consideration, switched\n" - .string "{UNKNOWN_F7 0x01} in {UNKNOWN_F7 0x00} with\n" - .string "{UNKNOWN_F7 0x03} in {UNKNOWN_F7 0x02}.$" - -gUnknown_841A59C:: @ 841A59C - .string "After deep thought, switched\n" - .string "{UNKNOWN_F7 0x01} in BOX “{UNKNOWN_F7 0x00}†to\n" - .string "the BOX “{UNKNOWN_F7 0x02}.â€$" - -gUnknown_841A5D9:: @ 841A5D9 - .string "Switched around {UNKNOWN_F7 0x01} and\n" - .string "{UNKNOWN_F7 0x02} in {UNKNOWN_F7 0x00}.$" - -gUnknown_841A5FA:: @ 841A5FA - .string "Moved {UNKNOWN_F7 0x01} in {UNKNOWN_F7 0x00}.$" - -gUnknown_841A60A:: @ 841A60A - .string "Switched {UNKNOWN_F7 0x01} in {UNKNOWN_F7 0x00}\n" - .string "with {UNKNOWN_F7 0x02} in the party.$" - -gUnknown_841A632:: @ 841A632 - .string "Added {UNKNOWN_F7 0x01} in {UNKNOWN_F7 0x00}\n" - .string "to the party.$" - -gUnknown_841A64F:: @ 841A64F - .string "Moved {UNKNOWN_F7 0x00} from the party\n" - .string "to {UNKNOWN_F7 0x01}.$" - -gUnknown_841A66E:: @ 841A66E - .string "Moved a group of POKéMON in\n" - .string "{UNKNOWN_F7 0x00} to {UNKNOWN_F7 0x01}.$" - -gUnknown_841A694:: @ 841A694 - .string "a different spot$" - -gUnknown_841A6A5:: @ 841A6A5 - .string "Removed the item {STR_VAR_1} from\n" - .string "{PLAYER}’s PC and gave it to {STR_VAR_2}\n" - .string "to hold.$" - -gUnknown_841A6E1:: @ 841A6E1 - .string "Removed the item {STR_VAR_1} from\n" - .string "a PC, gave it to {STR_VAR_2}, and put\n" - .string "the {STR_VAR_3} it held in the BAG.$" - -gUnknown_841A732:: @ 841A732 - .string "Chatted with many TRAINERS.$" - -gUnknown_841A74E:: - .string "handily$" - -gUnknown_841A756:: - .string "tenaciously$" - -gUnknown_841A762:: - .string "somehow$" - -gUnknown_841A76A:: @ 841A76A - .incbin "baserom.gba", 0x41A76A, 0x46 - -gUnknown_841A7B0:: @ 841A7B0 - .incbin "baserom.gba", 0x41A7B0, 0x2D - -gUnknown_841A7DD:: @ 841A7DD - .incbin "baserom.gba", 0x41A7DD, 0x33 - -gUnknown_841A810:: @ 841A810 - .incbin "baserom.gba", 0x41A810, 0x48 - -gUnknown_841A858:: @ 841A858 - .incbin "baserom.gba", 0x41A858, 0x3E - -gUnknown_841A896:: @ 841A896 - .incbin "baserom.gba", 0x41A896, 0x3E - -gUnknown_841A8D4:: @ 841A8D4 - .incbin "baserom.gba", 0x41A8D4, 0x9 - -gUnknown_841A8DD:: @ 841A8DD - .string "{UNKNOWN_F7 0x04}$" - -gUnknown_841A8E0:: @ 841A8E0 - .string "{STR_VAR_1} shared its HP using the move\n" - .string "SOFTBOILED.$" - -gUnknown_841A90C:: @ 841A90C - .string "{STR_VAR_1} shared its HP using the move\n" - .string "MILK DRINK.$" - -gUnknown_841A938:: @ 841A938 - .incbin "baserom.gba", 0x41A938, 0x2D - -gUnknown_841A965:: @ 841A965 - .incbin "baserom.gba", 0x41A965, 0x44 - -gUnknown_841A9A9:: @ 841A9A9 - .incbin "baserom.gba", 0x41A9A9, 0x2B - -gUnknown_841A9D4:: @ 841A9D4 - .incbin "baserom.gba", 0x41A9D4, 0x2D - -gUnknown_841AA01:: @ 841AA01 - .incbin "baserom.gba", 0x41AA01, 0x2A - -gUnknown_841AA2B:: @ 841AA2B - .incbin "baserom.gba", 0x41AA2B, 0x4B - -gUnknown_841AA76:: @ 841AA76 - .incbin "baserom.gba", 0x41AA76, 0x34 - -gUnknown_841AAAA:: @ 841AAAA - .incbin "baserom.gba", 0x41AAAA, 0x42 - -gUnknown_841AAEC:: @ 841AAEC - .incbin "baserom.gba", 0x41AAEC, 0x3D - -gUnknown_841AB29:: @ 841AB29 - .incbin "baserom.gba", 0x41AB29, 0x4B - -gUnknown_841AB74:: @ 841AB74 - .incbin "baserom.gba", 0x41AB74, 0x1A - -gUnknown_841AB8E:: @ 841AB8E - .string "{PLAYER} made {STR_VAR_1} hold the item\n" - .string "{STR_VAR_2}.$" - -gUnknown_841ABAB:: @ 841ABAB - .string "{STR_VAR_1} used the Hidden Move\n" - .string "CUT here.$" - -gUnknown_841ABCD:: @ 841ABCD - .string "{STR_VAR_1} used the Hidden Move\n" - .string "FLY and flew to {STR_VAR_2}.$" - -gUnknown_841ABF9:: @ 841ABF9 - .string "{STR_VAR_1} used the Hidden Move\n" - .string "SURF and rode the waves.$" - -gUnknown_841AC2A:: @ 841AC2A - .string "{STR_VAR_1} used the Hidden Move\n" - .string "STRENGTH here.$" - -gUnknown_841AC51:: @ 841AC51 - .string "{STR_VAR_1} used the Hidden Move\n" - .string "FLASH and illuminated a pitch-black\n" - .string "cave.$" - -gUnknown_841AC93:: @ 841AC93 - .string "{STR_VAR_1} used the Hidden Move\n" - .string "ROCK SMASH here.$" - -gUnknown_841ACBC:: @ 841ACBC - .string "{STR_VAR_1} used the Hidden Move\n" - .string "WATERFALL to scale a raging torrent.$" - -gUnknown_841ACF9:: @ 841ACF9 - .string "{STR_VAR_1}è êÉà Ñ㓪& òã–Ã\n" - .string "éã§+ã‚ã–\n" - .string "ダ¡ビング& ÚÉã£Å’!$" - -gUnknown_841AD1D:: @ 841AD1D - .string "{STR_VAR_1} used DIG to escape from\n" - .string "{STR_VAR_2}.$" - -gUnknown_841AD3C:: @ 841AD3C - .string "{STR_VAR_1} used SWEET SCENT to attract\n" - .string "wild POKéMON.$" - -gUnknown_841AD69:: @ 841AD69 - .string "{STR_VAR_1} used TELEPORT, transporting\n" - .string "the party to {STR_VAR_2}’s\n" - .string "{STR_VAR_3}.$" - -gUnknown_841AD9E:: @ 841AD9E - .string "{PLAYER} left {STR_VAR_1}’s\n" - .string "{STR_VAR_2} for the next\n" - .string "destination.$" - -gUnknown_841ADC8:: @ 841ADC8 - .string "Played a lot of games at the ROCKET\n" - .string "GAME CORNER in {STR_VAR_1}.$" - -gUnknown_841ADFF:: @ 841ADFF - .string "{PLAYER} rested comfortably at home.$" - -gUnknown_841AE1E:: @ 841AE1E - .string "{PLAYER} left PROF. OAK’s POKéMON\n" - .string "RESEARCH LAB.$" - -gUnknown_841AE48:: @ 841AE48 - .string "The GYM in {STR_VAR_1} was full of\n" - .string "tough TRAINERS…\n" - .string "Preparations had to be made.$" - -gUnknown_841AE8F:: @ 841AE8F - .string "Departed the GYM in {STR_VAR_1}.$" - -gUnknown_841AEA7:: @ 841AEA7 - .string "{PLAYER} had a great time with POKéMON\n" - .string "in the SAFARI ZONE.$" - -gUnknown_841AEDC:: @ 841AEDC - .string "Managed to get out of {STR_VAR_2}\n" - .string "after wandering about.$" - -gUnknown_841AF0C:: @ 841AF0C - .incbin "baserom.gba", 0x41AF0C, 0x32 - -gUnknown_841AF3E:: @ 841AF3E - .incbin "baserom.gba", 0x41AF3E, 0x2F - -gUnknown_841AF6D:: @ 841AF6D - .incbin "baserom.gba", 0x41AF6D, 0x2B - -gUnknown_841AF98:: @ 841AF98 - .string "coolly$" - -gUnknown_841AF9F:: @ 841AF9F - .string "barely$" - -gUnknown_841AFA6:: @ 841AFA6 - .string "{PLAYER} used an ESCAPE ROPE to get\n" - .string "out from {STR_VAR_2}.$" - -gUnknown_841AFD1:: @ 841AFD1 - .string "draw$" - -gUnknown_841AFD6:: @ 841AFD6 - .string "Departed from the {STR_VAR_2}\n" - .string "for the next destination.$" - -gUnknown_841B005:: @ 841B005 - .string "{PLAYER} departed from\n" - .string "{STR_VAR_2} and made way\n" - .string "to the next destination.$" - -gUnknown_841B03F:: @ 841B03F - .string "Here in {STR_VAR_1}, {PLAYER}\n" - .string "obtained the item {STR_VAR_2}.$" - -gUnknown_841B064:: @ 841B064 - .string "Arrived in {STR_VAR_1}.$" - -gUnknown_841B073:: @ 841B073 - .string "And {PLAYER} saved the game at this\n" - .string "location: {STR_VAR_1}.$" - -gUnknown_841B09F:: @ 841B09F - .string "HOME$" - -gUnknown_841B0A4:: @ 841B0A4 - .string "OAK RESEARCH LAB$" - -gUnknown_841B0B5:: @ 841B0B5 - .string "GYM$" - -gUnknown_841B0B9:: @ 841B0B9 - .string "POKéMON LEAGUE GATE$" - -gUnknown_841B0CD:: @ 841B0CD - .string "VIRIDIAN FOREST$" - -gUnknown_841B0DD:: @ 841B0DD - .string "PEWTER MUSEUM OF SCIENCE$" - -gUnknown_841B0F6:: @ 841B0F6 - .string "MT. MOON$" - -gUnknown_841B0FF:: @ 841B0FF - .string "BIKE SHOP$" - -gUnknown_841B109:: @ 841B109 - .string "BILL’S HOUSE$" - -gUnknown_841B116:: @ 841B116 - .string "DAY CARE$" - -gUnknown_841B11F:: @ 841B11F - .string "UNDERGROUND PATH$" - -gUnknown_841B130:: @ 841B130 - .string "POKéMON FAN CLUB$" - -gUnknown_841B141:: @ 841B141 - .string "S.S. ANNE$" - -gUnknown_841B14B:: @ 841B14B - .string "DIGLETT’S CAVE$" - -gUnknown_841B15A:: @ 841B15A - .string "ROCK TUNNEL$" - -gUnknown_841B166:: @ 841B166 - .string "POWER PLANT$" - -gUnknown_841B172:: @ 841B172 - .string "POKéMON TOWER$" - -gUnknown_841B180:: @ 841B180 - .string "VOLUNTEER HOUSE$" - -gUnknown_841B190:: @ 841B190 - .string "NAME RATER’S HOUSE$" - -gUnknown_841B1A3:: @ 841B1A3 - .string "CELADON DEPT. STORE$" - -gUnknown_841B1B7:: @ 841B1B7 - .string "CELADON MANSION$" - -gUnknown_841B1C7:: @ 841B1C7 - .string "ROCKET GAME CORNER$" - -gUnknown_841B1DA:: @ 841B1DA - .string "RESTAURANT$" - -gUnknown_841B1E5:: @ 841B1E5 - .string "ROCKET HIDEOUT$" - -gUnknown_841B1F4:: @ 841B1F4 - .string "SAFARI ZONE$" - -gUnknown_841B200:: @ 841B200 - .string "WARDEN’S HOME$" - -gUnknown_841B20E:: @ 841B20E - .string "FIGHTING DOJO$" - -gUnknown_841B21C:: @ 841B21C - .string "SILPH CO.$" - -gUnknown_841B226:: @ 841B226 - .string "SEAFOAM ISLANDS$" - -gUnknown_841B236:: @ 841B236 - .string "POKéMON MANSION$" - -gUnknown_841B246:: @ 841B246 - .string "POKéMON RESEARCH LAB$" - -gUnknown_841B25B:: @ 841B25B - .string "VICTORY ROAD$" - -gUnknown_841B268:: @ 841B268 - .string "POKéMON LEAGUE$" - -gUnknown_841B277:: @ 841B277 - .string "CERULEAN CAVE$" + .include "data/text/quest_log.inc" gUnknown_841B285:: @ 841B285 .incbin "baserom.gba", 0x41B285, 0xE diff --git a/data/text/quest_log.inc b/data/text/quest_log.inc new file mode 100644 index 000000000..58c9cf66e --- /dev/null +++ b/data/text/quest_log.inc @@ -0,0 +1,481 @@ +gUnknown_841A155:: @ 841A155 + .string "Previously on your quest…$" + +gUnknown_841A16F:: @ 841A16F + .string "{PLAYER} switched the POKéMON\n" + .string "{STR_VAR_1} with {STR_VAR_2}.$" + +gUnknown_841A193:: @ 841A193 + .string "Took the item {STR_VAR_2} from\n" + .string "{STR_VAR_1} and gave it the item\n" + .string "{STR_VAR_3} to hold.$" + +gUnknown_841A1CD:: @ 841A1CD + .string "Took the item {STR_VAR_2} from\n" + .string "{STR_VAR_1}.$" + +gUnknown_841A1E7:: @ 841A1E7 + .string "Used the item {STR_VAR_1} on {STR_VAR_2}\n" + .string "at this location.$" + +gUnknown_841A210:: @ 841A210 + .string "{PLAYER} used the\n" + .string "{STR_VAR_1}.$" + +gUnknown_841A220:: @ 841A220 + .string "Used the item {STR_VAR_1}, which was\n" + .string "in the KEY ITEMS POCKET.$" + +gUnknown_841A255:: @ 841A255 + .string "{STR_VAR_1} learned the move\n" + .string "{STR_VAR_2} from a TM.$" + +gUnknown_841A277:: @ 841A277 + .string "{STR_VAR_1} learned the move\n" + .string "{STR_VAR_2} from a TM and forgot\n" + .string "the move {STR_VAR_3}.$" + +gUnknown_841A2B0:: @ 841A2B0 + .string "POKéMON were fully restored\n" + .string "at a POKéMON CENTER.$" + +gUnknown_841A2E1:: @ 841A2E1 + .string "{UNKNOWN_F7 0x00} had a marvelous battle\n" + .string "with the CHAMPION, {UNKNOWN_F7 0x01}.$" + +gUnknown_841A312:: @ 841A312 + .string "In the end, {UNKNOWN_F7 0x00} sent out {UNKNOWN_F7 0x01}\n" + .string "while {UNKNOWN_F7 0x02} countered with\n" + .string "{UNKNOWN_F7 0x03}.$" + +gUnknown_841A349:: @ 841A349 + .string "And, as a result of battling with every\n" + .string "bit of power, {UNKNOWN_F7 0x00} won\n" + .string "the match.$" + +gUnknown_841A391:: @ 841A391 + .string "Removed the item {STR_VAR_1} from\n" + .string "the BAG’s ITEMS POCKET and stored it\n" + .string "on the PC.$" + +gUnknown_841A3DA:: @ 841A3DA + .string "{PLAYER} withdrew the item {STR_VAR_1}\n" + .string "from the PC.$" + +gUnknown_841A3FF:: @ 841A3FF + .string "Traded {STR_VAR_3} in exchange for\n" + .string "{STR_VAR_1}’s {STR_VAR_2}.$" + +gUnknown_841A422:: @ 841A422 + .string "Took on {UNKNOWN_F7 0x00} in a SINGLE BATTLE.\n" + .string "It was a hotly contested match that\n" + .string "resulted in a {UNKNOWN_F7 0x01}.$" + +gUnknown_841A477:: @ 841A477 + .string "Took on {UNKNOWN_F7 0x00} in a DOUBLE BATTLE.\n" + .string "It was an extended match that resulted\n" + .string "in a {UNKNOWN_F7 0x01}.$" + +gUnknown_841A4C6:: @ 841A4C6 + .string "{UNKNOWN_F7 0x00} and {UNKNOWN_F7 0x01} took on\n" + .string "{UNKNOWN_F7 0x02} and {UNKNOWN_F7 0x03} in a\n" + .string "MULTI BATTLE and got a {UNKNOWN_F7 0x04}.$" + +gUnknown_841A502:: + .string "win$" + +gUnknown_841A506:: + .string "loss$" + +gUnknown_841A50B:: @ 841A50B + .string "Mingled with other TRAINERS in\n" + .string "the UNION ROOM.$" + +gUnknown_841A53A:: + .string "Departed {STR_VAR_2}\n" + .string "in {STR_VAR_1} for the next\n" + .string "destination.$" + +gUnknown_841A566:: @ 841A566 + .string "After consideration, switched\n" + .string "{UNKNOWN_F7 0x01} in {UNKNOWN_F7 0x00} with\n" + .string "{UNKNOWN_F7 0x03} in {UNKNOWN_F7 0x02}.$" + +gUnknown_841A59C:: @ 841A59C + .string "After deep thought, switched\n" + .string "{UNKNOWN_F7 0x01} in BOX “{UNKNOWN_F7 0x00}†to\n" + .string "the BOX “{UNKNOWN_F7 0x02}.â€$" + +gUnknown_841A5D9:: @ 841A5D9 + .string "Switched around {UNKNOWN_F7 0x01} and\n" + .string "{UNKNOWN_F7 0x02} in {UNKNOWN_F7 0x00}.$" + +gUnknown_841A5FA:: @ 841A5FA + .string "Moved {UNKNOWN_F7 0x01} in {UNKNOWN_F7 0x00}.$" + +gUnknown_841A60A:: @ 841A60A + .string "Switched {UNKNOWN_F7 0x01} in {UNKNOWN_F7 0x00}\n" + .string "with {UNKNOWN_F7 0x02} in the party.$" + +gUnknown_841A632:: @ 841A632 + .string "Added {UNKNOWN_F7 0x01} in {UNKNOWN_F7 0x00}\n" + .string "to the party.$" + +gUnknown_841A64F:: @ 841A64F + .string "Moved {UNKNOWN_F7 0x00} from the party\n" + .string "to {UNKNOWN_F7 0x01}.$" + +gUnknown_841A66E:: @ 841A66E + .string "Moved a group of POKéMON in\n" + .string "{UNKNOWN_F7 0x00} to {UNKNOWN_F7 0x01}.$" + +gUnknown_841A694:: @ 841A694 + .string "a different spot$" + +gUnknown_841A6A5:: @ 841A6A5 + .string "Removed the item {STR_VAR_1} from\n" + .string "{PLAYER}’s PC and gave it to {STR_VAR_2}\n" + .string "to hold.$" + +gUnknown_841A6E1:: @ 841A6E1 + .string "Removed the item {STR_VAR_1} from\n" + .string "a PC, gave it to {STR_VAR_2}, and put\n" + .string "the {STR_VAR_3} it held in the BAG.$" + +gUnknown_841A732:: @ 841A732 + .string "Chatted with many TRAINERS.$" + +gUnknown_841A74E:: + .string "handily$" + +gUnknown_841A756:: + .string "tenaciously$" + +gUnknown_841A762:: + .string "somehow$" + +gUnknown_841A76A:: @ 841A76A + .string "Met and traded with {STR_VAR_1}.\n" + .string "Obtained the TRAINER’s {STR_VAR_2} in\n" + .string "exchange for {STR_VAR_3}.$" + +gUnknown_841A7B0:: @ 841A7B0 + .string "Met and battled {STR_VAR_1}.\n" + .string "The match ended in a {STR_VAR_2}.$" + +gUnknown_841A7DD:: @ 841A7DD + .string "Went to the POKéMON MART in\n" + .string "{UNKNOWN_F7 0x00} and bought one \n" + .string "{UNKNOWN_F7 0x01}.$" + +gUnknown_841A810:: @ 841A810 + .string "Went to the POKéMON MART in\n" + .string "{UNKNOWN_F7 0x00} and spent Â¥{UNKNOWN_F7 0x02} for\n" + .string "items including {UNKNOWN_F7 0x01}(s).$" + +gUnknown_841A858:: @ 841A858 + .string "{UNKNOWN_F7 0x00} went to the POKéMON MART in\n" + .string "{UNKNOWN_F7 0x01} and sold {UNKNOWN_F7 0x03} of\n" + .string "the item {UNKNOWN_F7 0x02}.$" + +gUnknown_841A896:: @ 841A896 + .string "Sold items including {UNKNOWN_F7 0x01} at\n" + .string "the POKéMON MART in {UNKNOWN_F7 0x00},\n" + .string "worth Â¥{UNKNOWN_F7 0x02}.$" + +gUnknown_841A8D4:: @ 841A8D4 + .string "just one$" + +gUnknown_841A8DD:: @ 841A8DD + .string "{UNKNOWN_F7 0x04}$" + +gUnknown_841A8E0:: @ 841A8E0 + .string "{STR_VAR_1} shared its HP using the move\n" + .string "SOFTBOILED.$" + +gUnknown_841A90C:: @ 841A90C + .string "{STR_VAR_1} shared its HP using the move\n" + .string "MILK DRINK.$" + +gUnknown_841A938:: @ 841A938 + .string "{STR_VAR_1} securely learned the move\n" + .string "{STR_VAR_2} using an HM.$" + +gUnknown_841A965:: @ 841A965 + .string "{STR_VAR_1} securely learned the move\n" + .string "{STR_VAR_2} using an HM and forgot\n" + .string "the move {STR_VAR_3}.$" + +gUnknown_841A9A9:: @ 841A9A9 + .string "{UNKNOWN_F7 0x05} managed to defeat the POKéMON\n" + .string "{UNKNOWN_F7 0x01} in {UNKNOWN_F7 0x00}.$" + +gUnknown_841A9D4:: @ 841A9D4 + .string "Defeated {UNKNOWN_F7 0x02} wild POKéMON including\n" + .string "{UNKNOWN_F7 0x01} in {UNKNOWN_F7 0x00}.$" + +gUnknown_841AA01:: @ 841AA01 + .string "{UNKNOWN_F7 0x05} managed to catch the POKéMON\n" + .string "{UNKNOWN_F7 0x03} in {UNKNOWN_F7 0x00}.$" + +gUnknown_841AA2B:: @ 841AA2B + .string "Threw POKé BALLS in a frenzy, catching\n" + .string "{UNKNOWN_F7 0x04} POKéMON including {UNKNOWN_F7 0x03} here\n" + .string "in {UNKNOWN_F7 0x00}.$" + +gUnknown_841AA76:: @ 841AA76 + .string "{UNKNOWN_F7 0x05} defeated the POKéMON\n" + .string "{UNKNOWN_F7 0x01} and caught one {UNKNOWN_F7 0x03}\n" + .string "in {UNKNOWN_F7 0x00}.$" + +gUnknown_841AAAA:: @ 841AAAA + .string "Defeated the POKéMON {UNKNOWN_F7 0x01}\n" + .string "and caught {UNKNOWN_F7 0x04} POKéMON including\n" + .string "{UNKNOWN_F7 0x03} in {UNKNOWN_F7 0x00}.$" + +gUnknown_841AAEC:: @ 841AAEC + .string "{UNKNOWN_F7 0x05} defeated {UNKNOWN_F7 0x02} POKéMON including\n" + .string "{UNKNOWN_F7 0x01} and caught one {UNKNOWN_F7 0x03}\n" + .string "in {UNKNOWN_F7 0x00}.$" + +gUnknown_841AB29:: @ 841AB29 + .string "Defeated {UNKNOWN_F7 0x02} POKéMON including\n" + .string "{UNKNOWN_F7 0x01} and caught {UNKNOWN_F7 0x04} POKéMON\n" + .string "including {UNKNOWN_F7 0x03} in {UNKNOWN_F7 0x00}.$" + +gUnknown_841AB74:: @ 841AB74 + .string "Made {STR_VAR_1} hold the item\n" + .string "{STR_VAR_2}.$" + +gUnknown_841AB8E:: @ 841AB8E + .string "{PLAYER} made {STR_VAR_1} hold the item\n" + .string "{STR_VAR_2}.$" + +gUnknown_841ABAB:: @ 841ABAB + .string "{STR_VAR_1} used the Hidden Move\n" + .string "CUT here.$" + +gUnknown_841ABCD:: @ 841ABCD + .string "{STR_VAR_1} used the Hidden Move\n" + .string "FLY and flew to {STR_VAR_2}.$" + +gUnknown_841ABF9:: @ 841ABF9 + .string "{STR_VAR_1} used the Hidden Move\n" + .string "SURF and rode the waves.$" + +gUnknown_841AC2A:: @ 841AC2A + .string "{STR_VAR_1} used the Hidden Move\n" + .string "STRENGTH here.$" + +gUnknown_841AC51:: @ 841AC51 + .string "{STR_VAR_1} used the Hidden Move\n" + .string "FLASH and illuminated a pitch-black\n" + .string "cave.$" + +gUnknown_841AC93:: @ 841AC93 + .string "{STR_VAR_1} used the Hidden Move\n" + .string "ROCK SMASH here.$" + +gUnknown_841ACBC:: @ 841ACBC + .string "{STR_VAR_1} used the Hidden Move\n" + .string "WATERFALL to scale a raging torrent.$" + +gUnknown_841ACF9:: @ 841ACF9 + .string "{STR_VAR_1}è êÉà Ñ㓪& òã–Ã\n" + .string "éã§+ã‚ã–\n" + .string "ダ¡ビング& ÚÉã£Å’!$" + +gUnknown_841AD1D:: @ 841AD1D + .string "{STR_VAR_1} used DIG to escape from\n" + .string "{STR_VAR_2}.$" + +gUnknown_841AD3C:: @ 841AD3C + .string "{STR_VAR_1} used SWEET SCENT to attract\n" + .string "wild POKéMON.$" + +gUnknown_841AD69:: @ 841AD69 + .string "{STR_VAR_1} used TELEPORT, transporting\n" + .string "the party to {STR_VAR_2}’s\n" + .string "{STR_VAR_3}.$" + +gUnknown_841AD9E:: @ 841AD9E + .string "{PLAYER} left {STR_VAR_1}’s\n" + .string "{STR_VAR_2} for the next\n" + .string "destination.$" + +gUnknown_841ADC8:: @ 841ADC8 + .string "Played a lot of games at the ROCKET\n" + .string "GAME CORNER in {STR_VAR_1}.$" + +gUnknown_841ADFF:: @ 841ADFF + .string "{PLAYER} rested comfortably at home.$" + +gUnknown_841AE1E:: @ 841AE1E + .string "{PLAYER} left PROF. OAK’s POKéMON\n" + .string "RESEARCH LAB.$" + +gUnknown_841AE48:: @ 841AE48 + .string "The GYM in {STR_VAR_1} was full of\n" + .string "tough TRAINERS…\n" + .string "Preparations had to be made.$" + +gUnknown_841AE8F:: @ 841AE8F + .string "Departed the GYM in {STR_VAR_1}.$" + +gUnknown_841AEA7:: @ 841AEA7 + .string "{PLAYER} had a great time with POKéMON\n" + .string "in the SAFARI ZONE.$" + +gUnknown_841AEDC:: @ 841AEDC + .string "Managed to get out of {STR_VAR_2}\n" + .string "after wandering about.$" + +gUnknown_841AF0C:: @ 841AF0C + .string "Took on {UNKNOWN_F7 0x00} GYM LEADER\n" + .string "{UNKNOWN_F7 0x01}’s {UNKNOWN_F7 0x02} with {UNKNOWN_F7 0x03}\n" + .string "and won {UNKNOWN_F7 0x04}!$" + +gUnknown_841AF3E:: @ 841AF3E + .string "Took on ELITE FOUR {UNKNOWN_F7 0x00}’s\n" + .string "{UNKNOWN_F7 0x01} with {UNKNOWN_F7 0x02} and\n" + .string "won {UNKNOWN_F7 0x03}!$" + +gUnknown_841AF6D:: @ 841AF6D + .string "In {UNKNOWN_F7 0x00}, took on\n" + .string "{UNKNOWN_F7 0x01}’s {UNKNOWN_F7 0x02} with {UNKNOWN_F7 0x03}\n" + .string "and won {UNKNOWN_F7 0x04}!$" + +gUnknown_841AF98:: @ 841AF98 + .string "coolly$" + +gUnknown_841AF9F:: @ 841AF9F + .string "barely$" + +gUnknown_841AFA6:: @ 841AFA6 + .string "{PLAYER} used an ESCAPE ROPE to get\n" + .string "out from {STR_VAR_2}.$" + +gUnknown_841AFD1:: @ 841AFD1 + .string "draw$" + +gUnknown_841AFD6:: @ 841AFD6 + .string "Departed from the {STR_VAR_2}\n" + .string "for the next destination.$" + +gUnknown_841B005:: @ 841B005 + .string "{PLAYER} departed from\n" + .string "{STR_VAR_2} and made way\n" + .string "to the next destination.$" + +gUnknown_841B03F:: @ 841B03F + .string "Here in {STR_VAR_1}, {PLAYER}\n" + .string "obtained the item {STR_VAR_2}.$" + +gUnknown_841B064:: @ 841B064 + .string "Arrived in {STR_VAR_1}.$" + +gUnknown_841B073:: @ 841B073 + .string "And {PLAYER} saved the game at this\n" + .string "location: {STR_VAR_1}.$" + +gUnknown_841B09F:: @ 841B09F + .string "HOME$" + +gUnknown_841B0A4:: @ 841B0A4 + .string "OAK RESEARCH LAB$" + +gUnknown_841B0B5:: @ 841B0B5 + .string "GYM$" + +gUnknown_841B0B9:: @ 841B0B9 + .string "POKéMON LEAGUE GATE$" + +gUnknown_841B0CD:: @ 841B0CD + .string "VIRIDIAN FOREST$" + +gUnknown_841B0DD:: @ 841B0DD + .string "PEWTER MUSEUM OF SCIENCE$" + +gUnknown_841B0F6:: @ 841B0F6 + .string "MT. MOON$" + +gUnknown_841B0FF:: @ 841B0FF + .string "BIKE SHOP$" + +gUnknown_841B109:: @ 841B109 + .string "BILL’S HOUSE$" + +gUnknown_841B116:: @ 841B116 + .string "DAY CARE$" + +gUnknown_841B11F:: @ 841B11F + .string "UNDERGROUND PATH$" + +gUnknown_841B130:: @ 841B130 + .string "POKéMON FAN CLUB$" + +gUnknown_841B141:: @ 841B141 + .string "S.S. ANNE$" + +gUnknown_841B14B:: @ 841B14B + .string "DIGLETT’S CAVE$" + +gUnknown_841B15A:: @ 841B15A + .string "ROCK TUNNEL$" + +gUnknown_841B166:: @ 841B166 + .string "POWER PLANT$" + +gUnknown_841B172:: @ 841B172 + .string "POKéMON TOWER$" + +gUnknown_841B180:: @ 841B180 + .string "VOLUNTEER HOUSE$" + +gUnknown_841B190:: @ 841B190 + .string "NAME RATER’S HOUSE$" + +gUnknown_841B1A3:: @ 841B1A3 + .string "CELADON DEPT. STORE$" + +gUnknown_841B1B7:: @ 841B1B7 + .string "CELADON MANSION$" + +gUnknown_841B1C7:: @ 841B1C7 + .string "ROCKET GAME CORNER$" + +gUnknown_841B1DA:: @ 841B1DA + .string "RESTAURANT$" + +gUnknown_841B1E5:: @ 841B1E5 + .string "ROCKET HIDEOUT$" + +gUnknown_841B1F4:: @ 841B1F4 + .string "SAFARI ZONE$" + +gUnknown_841B200:: @ 841B200 + .string "WARDEN’S HOME$" + +gUnknown_841B20E:: @ 841B20E + .string "FIGHTING DOJO$" + +gUnknown_841B21C:: @ 841B21C + .string "SILPH CO.$" + +gUnknown_841B226:: @ 841B226 + .string "SEAFOAM ISLANDS$" + +gUnknown_841B236:: @ 841B236 + .string "POKéMON MANSION$" + +gUnknown_841B246:: @ 841B246 + .string "POKéMON RESEARCH LAB$" + +gUnknown_841B25B:: @ 841B25B + .string "VICTORY ROAD$" + +gUnknown_841B268:: @ 841B268 + .string "POKéMON LEAGUE$" + +gUnknown_841B277:: @ 841B277 + .string "CERULEAN CAVE$" diff --git a/src/quest_log.c b/src/quest_log.c index 8131e1937..1b37e074c 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -3527,7 +3527,7 @@ u16 * sub_8113E88(u16 a0, u16 * a1) // TODO: delete this declaration once data_83FECCC.s is decompiled extern const u8 gText_EggNickname[]; -void QuestLog_AutoGetSpeciesname(u16 a0, u8 * a1, u8 a2) +void QuestLog_AutoGetSpeciesName(u16 a0, u8 * a1, u8 a2) { if (a1 != NULL) { @@ -3559,8 +3559,8 @@ u16 * sub_8113F14(u16 * a0, u16 * a1) u16 * sub_8113F3C(u16 * a0) { u16 * r4 = sub_8113E88(3, a0); - QuestLog_AutoGetSpeciesname(r4[0], gStringVar1, 0); - QuestLog_AutoGetSpeciesname(r4[1], gStringVar2, 0); + QuestLog_AutoGetSpeciesName(r4[0], gStringVar1, 0); + QuestLog_AutoGetSpeciesName(r4[1], gStringVar2, 0); StringExpandPlaceholders(gStringVar4, gUnknown_841A16F); r4 += 2; return r4; @@ -3599,7 +3599,7 @@ u16 * sub_8113FBC(u16 * a0) } else if (r5[1] != 0xFFFF) { - QuestLog_AutoGetSpeciesname(r5[1], gStringVar2, 0); + QuestLog_AutoGetSpeciesName(r5[1], gStringVar2, 0); StringExpandPlaceholders(gStringVar4, gUnknown_841A1E7); } else @@ -3612,7 +3612,7 @@ u16 * sub_8113FBC(u16 * a0) StringExpandPlaceholders(gStringVar4, gUnknown_841A220); break; case POCKET_TM_CASE: - QuestLog_AutoGetSpeciesname(r5[1], gStringVar1, 0); + QuestLog_AutoGetSpeciesName(r5[1], gStringVar1, 0); StringCopy(gStringVar2, gMoveNames[ItemIdToBattleMoveId(r5[0])]); if (r5[2] != 0xFFFF) { From 10900139e3731cf76ec94c96fa90f8355f3162b3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 8 Nov 2018 15:23:15 -0500 Subject: [PATCH 089/222] through sub_8114324 --- asm/quest_log.s | 277 ------------------------------------------------ src/quest_log.c | 227 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 222 insertions(+), 282 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index cd3812b47..5aa5019b2 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,283 +5,6 @@ .text - thumb_func_start sub_811414C -sub_811414C: @ 811414C - push {r4,lr} - adds r4, r2, 0 - lsls r0, 16 - lsrs r0, 16 - bl sub_8113DE0 - adds r1, r0, 0 - cmp r1, 0 - beq _0811416A - ldrh r0, [r4] - strh r0, [r1] - ldrh r0, [r4, 0x4] - strh r0, [r1, 0x2] - adds r0, r1, 0x4 - b _0811416C -_0811416A: - movs r0, 0 -_0811416C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811414C - - thumb_func_start sub_8114174 -sub_8114174: @ 8114174 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - movs r0, 0x5 - adds r1, r3, 0 - bl sub_811414C - pop {r1} - bx r1 - thumb_func_end sub_8114174 - - thumb_func_start sub_8114188 -sub_8114188: @ 8114188 - push {r4,r5,lr} - adds r1, r0, 0 - movs r0, 0x5 - bl sub_8113E88 - adds r4, r0, 0 - ldrh r0, [r4, 0x2] - ldr r1, _081141C0 @ =gStringVar1 - movs r2, 0 - bl QuestLog_AutoGetSpeciesName - ldr r5, _081141C4 @ =gStringVar2 - ldrh r0, [r4] - bl ItemId_GetItem - adds r1, r0, 0 - adds r0, r5, 0 - bl StringCopy - ldr r0, _081141C8 @ =gStringVar4 - ldr r1, _081141CC @ =gUnknown_841AB74 - bl StringExpandPlaceholders - adds r4, 0x4 - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_081141C0: .4byte gStringVar1 -_081141C4: .4byte gStringVar2 -_081141C8: .4byte gStringVar4 -_081141CC: .4byte gUnknown_841AB74 - thumb_func_end sub_8114188 - - thumb_func_start sub_81141D0 -sub_81141D0: @ 81141D0 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - movs r0, 0x6 - adds r1, r3, 0 - bl sub_811414C - pop {r1} - bx r1 - thumb_func_end sub_81141D0 - - thumb_func_start sub_81141E4 -sub_81141E4: @ 81141E4 - push {r4,r5,lr} - adds r1, r0, 0 - movs r0, 0x6 - bl sub_8113E88 - adds r4, r0, 0 - ldrh r0, [r4, 0x2] - ldr r1, _0811421C @ =gStringVar1 - movs r2, 0 - bl QuestLog_AutoGetSpeciesName - ldr r5, _08114220 @ =gStringVar2 - ldrh r0, [r4] - bl ItemId_GetItem - adds r1, r0, 0 - adds r0, r5, 0 - bl StringCopy - ldr r0, _08114224 @ =gStringVar4 - ldr r1, _08114228 @ =gUnknown_841AB8E - bl StringExpandPlaceholders - adds r4, 0x4 - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0811421C: .4byte gStringVar1 -_08114220: .4byte gStringVar2 -_08114224: .4byte gStringVar4 -_08114228: .4byte gUnknown_841AB8E - thumb_func_end sub_81141E4 - - thumb_func_start sub_811422C -sub_811422C: @ 811422C - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - movs r0, 0x7 - adds r1, r3, 0 - bl sub_811414C - pop {r1} - bx r1 - thumb_func_end sub_811422C - - thumb_func_start sub_8114240 -sub_8114240: @ 8114240 - push {r4,r5,lr} - adds r1, r0, 0 - movs r0, 0x7 - bl sub_8113E88 - adds r4, r0, 0 - ldrh r0, [r4, 0x2] - ldr r1, _08114278 @ =gStringVar2 - movs r2, 0 - bl QuestLog_AutoGetSpeciesName - ldr r5, _0811427C @ =gStringVar1 - ldrh r0, [r4] - bl ItemId_GetItem - adds r1, r0, 0 - adds r0, r5, 0 - bl StringCopy - ldr r0, _08114280 @ =gStringVar4 - ldr r1, _08114284 @ =gUnknown_841A6A5 - bl StringExpandPlaceholders - adds r4, 0x4 - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08114278: .4byte gStringVar2 -_0811427C: .4byte gStringVar1 -_08114280: .4byte gStringVar4 -_08114284: .4byte gUnknown_841A6A5 - thumb_func_end sub_8114240 - - thumb_func_start sub_8114288 -sub_8114288: @ 8114288 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - movs r0, 0x8 - adds r1, r3, 0 - bl sub_811414C - pop {r1} - bx r1 - thumb_func_end sub_8114288 - - thumb_func_start sub_811429C -sub_811429C: @ 811429C - push {r4,r5,lr} - adds r1, r0, 0 - movs r0, 0x8 - bl sub_8113E88 - adds r4, r0, 0 - ldrh r0, [r4, 0x2] - ldr r1, _081142D4 @ =gStringVar1 - movs r2, 0 - bl QuestLog_AutoGetSpeciesName - ldr r5, _081142D8 @ =gStringVar2 - ldrh r0, [r4] - bl ItemId_GetItem - adds r1, r0, 0 - adds r0, r5, 0 - bl StringCopy - ldr r0, _081142DC @ =gStringVar4 - ldr r1, _081142E0 @ =gUnknown_841A1CD - bl StringExpandPlaceholders - adds r4, 0x4 - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_081142D4: .4byte gStringVar1 -_081142D8: .4byte gStringVar2 -_081142DC: .4byte gStringVar4 -_081142E0: .4byte gUnknown_841A1CD - thumb_func_end sub_811429C - - thumb_func_start sub_81142E4 -sub_81142E4: @ 81142E4 - push {r4,lr} - adds r4, r2, 0 - lsls r0, 16 - lsrs r0, 16 - bl sub_8113DE0 - adds r1, r0, 0 - cmp r1, 0 - beq _08114306 - ldrh r0, [r4] - strh r0, [r1] - ldrh r0, [r4, 0x2] - strh r0, [r1, 0x2] - ldrh r0, [r4, 0x4] - strh r0, [r1, 0x4] - adds r0, r1, 0x6 - b _08114308 -_08114306: - movs r0, 0 -_08114308: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81142E4 - - thumb_func_start sub_8114310 -sub_8114310: @ 8114310 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - movs r0, 0x9 - adds r1, r3, 0 - bl sub_81142E4 - pop {r1} - bx r1 - thumb_func_end sub_8114310 - - thumb_func_start sub_8114324 -sub_8114324: @ 8114324 - push {r4,r5,lr} - adds r1, r0, 0 - movs r0, 0x9 - bl sub_8113E88 - adds r4, r0, 0 - ldrh r0, [r4, 0x4] - ldr r1, _0811436C @ =gStringVar1 - movs r2, 0 - bl QuestLog_AutoGetSpeciesName - ldr r5, _08114370 @ =gStringVar2 - ldrh r0, [r4] - bl ItemId_GetItem - adds r1, r0, 0 - adds r0, r5, 0 - bl StringCopy - ldr r5, _08114374 @ =gStringVar3 - ldrh r0, [r4, 0x2] - bl ItemId_GetItem - adds r1, r0, 0 - adds r0, r5, 0 - bl StringCopy - ldr r0, _08114378 @ =gStringVar4 - ldr r1, _0811437C @ =gUnknown_841A193 - bl StringExpandPlaceholders - adds r4, 0x6 - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0811436C: .4byte gStringVar1 -_08114370: .4byte gStringVar2 -_08114374: .4byte gStringVar3 -_08114378: .4byte gStringVar4 -_0811437C: .4byte gUnknown_841A193 - thumb_func_end sub_8114324 - thumb_func_start sub_8114380 sub_8114380: @ 8114380 push {lr} diff --git a/src/quest_log.c b/src/quest_log.c index 1b37e074c..68678c6e5 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -276,15 +276,130 @@ bool8 sub_81153E4(u16, void*); extern const u8 gUnknown_841A155[]; extern const u8 gUnknown_841A16F[]; -extern const u8 gUnknown_841B073[]; -extern const u8 gUnknown_841AFA6[]; +extern const u8 gUnknown_841A193[]; +extern const u8 gUnknown_841A1CD[]; extern const u8 gUnknown_841A1E7[]; extern const u8 gUnknown_841A210[]; extern const u8 gUnknown_841A220[]; -extern const u8 gUnknown_841A965[]; -extern const u8 gUnknown_841A277[]; -extern const u8 gUnknown_841A938[]; extern const u8 gUnknown_841A255[]; +extern const u8 gUnknown_841A277[]; +extern const u8 gUnknown_841A2B0[]; +extern const u8 gUnknown_841A2E1[]; +extern const u8 gUnknown_841A312[]; +extern const u8 gUnknown_841A349[]; +extern const u8 gUnknown_841A391[]; +extern const u8 gUnknown_841A3DA[]; +extern const u8 gUnknown_841A3FF[]; +extern const u8 gUnknown_841A422[]; +extern const u8 gUnknown_841A477[]; +extern const u8 gUnknown_841A4C6[]; +extern const u8 gUnknown_841A502[]; +extern const u8 gUnknown_841A506[]; +extern const u8 gUnknown_841A50B[]; +extern const u8 gUnknown_841A53A[]; +extern const u8 gUnknown_841A566[]; +extern const u8 gUnknown_841A59C[]; +extern const u8 gUnknown_841A5D9[]; +extern const u8 gUnknown_841A5FA[]; +extern const u8 gUnknown_841A60A[]; +extern const u8 gUnknown_841A632[]; +extern const u8 gUnknown_841A64F[]; +extern const u8 gUnknown_841A66E[]; +extern const u8 gUnknown_841A694[]; +extern const u8 gUnknown_841A6A5[]; +extern const u8 gUnknown_841A6E1[]; +extern const u8 gUnknown_841A732[]; +extern const u8 gUnknown_841A74E[]; +extern const u8 gUnknown_841A756[]; +extern const u8 gUnknown_841A762[]; +extern const u8 gUnknown_841A76A[]; +extern const u8 gUnknown_841A7B0[]; +extern const u8 gUnknown_841A7DD[]; +extern const u8 gUnknown_841A810[]; +extern const u8 gUnknown_841A858[]; +extern const u8 gUnknown_841A896[]; +extern const u8 gUnknown_841A8D4[]; +extern const u8 gUnknown_841A8DD[]; +extern const u8 gUnknown_841A8E0[]; +extern const u8 gUnknown_841A90C[]; +extern const u8 gUnknown_841A938[]; +extern const u8 gUnknown_841A965[]; +extern const u8 gUnknown_841A9A9[]; +extern const u8 gUnknown_841A9D4[]; +extern const u8 gUnknown_841AA01[]; +extern const u8 gUnknown_841AA2B[]; +extern const u8 gUnknown_841AA76[]; +extern const u8 gUnknown_841AAAA[]; +extern const u8 gUnknown_841AAEC[]; +extern const u8 gUnknown_841AB29[]; +extern const u8 gUnknown_841AB74[]; +extern const u8 gUnknown_841AB8E[]; +extern const u8 gUnknown_841ABAB[]; +extern const u8 gUnknown_841ABCD[]; +extern const u8 gUnknown_841ABF9[]; +extern const u8 gUnknown_841AC2A[]; +extern const u8 gUnknown_841AC51[]; +extern const u8 gUnknown_841AC93[]; +extern const u8 gUnknown_841ACBC[]; +extern const u8 gUnknown_841ACF9[]; +extern const u8 gUnknown_841AD1D[]; +extern const u8 gUnknown_841AD3C[]; +extern const u8 gUnknown_841AD69[]; +extern const u8 gUnknown_841AD9E[]; +extern const u8 gUnknown_841ADC8[]; +extern const u8 gUnknown_841ADFF[]; +extern const u8 gUnknown_841AE1E[]; +extern const u8 gUnknown_841AE48[]; +extern const u8 gUnknown_841AE8F[]; +extern const u8 gUnknown_841AEA7[]; +extern const u8 gUnknown_841AEDC[]; +extern const u8 gUnknown_841AF0C[]; +extern const u8 gUnknown_841AF3E[]; +extern const u8 gUnknown_841AF6D[]; +extern const u8 gUnknown_841AF98[]; +extern const u8 gUnknown_841AF9F[]; +extern const u8 gUnknown_841AFA6[]; +extern const u8 gUnknown_841AFD1[]; +extern const u8 gUnknown_841AFD6[]; +extern const u8 gUnknown_841B005[]; +extern const u8 gUnknown_841B03F[]; +extern const u8 gUnknown_841B064[]; +extern const u8 gUnknown_841B073[]; +extern const u8 gUnknown_841B09F[]; +extern const u8 gUnknown_841B0A4[]; +extern const u8 gUnknown_841B0B5[]; +extern const u8 gUnknown_841B0B9[]; +extern const u8 gUnknown_841B0CD[]; +extern const u8 gUnknown_841B0DD[]; +extern const u8 gUnknown_841B0F6[]; +extern const u8 gUnknown_841B0FF[]; +extern const u8 gUnknown_841B109[]; +extern const u8 gUnknown_841B116[]; +extern const u8 gUnknown_841B11F[]; +extern const u8 gUnknown_841B130[]; +extern const u8 gUnknown_841B141[]; +extern const u8 gUnknown_841B14B[]; +extern const u8 gUnknown_841B15A[]; +extern const u8 gUnknown_841B166[]; +extern const u8 gUnknown_841B172[]; +extern const u8 gUnknown_841B180[]; +extern const u8 gUnknown_841B190[]; +extern const u8 gUnknown_841B1A3[]; +extern const u8 gUnknown_841B1B7[]; +extern const u8 gUnknown_841B1C7[]; +extern const u8 gUnknown_841B1DA[]; +extern const u8 gUnknown_841B1E5[]; +extern const u8 gUnknown_841B1F4[]; +extern const u8 gUnknown_841B200[]; +extern const u8 gUnknown_841B20E[]; +extern const u8 gUnknown_841B21C[]; +extern const u8 gUnknown_841B226[]; +extern const u8 gUnknown_841B236[]; +extern const u8 gUnknown_841B246[]; +extern const u8 gUnknown_841B25B[]; +extern const u8 gUnknown_841B268[]; +extern const u8 gUnknown_841B277[]; + const struct WindowTemplate gUnknown_845661C[3] = { { 0, 0, 0, 30, 2, 15, 0x0e9 }, @@ -3633,3 +3748,105 @@ u16 * sub_8113FBC(u16 * a0) } return r5 + 3; } + +u16 * sub_811414C(u16 a0, u16 * a1, u16 * a2) +{ + u16 * r1 = sub_8113DE0(a0, a1); + if (r1 == NULL) + return NULL; + + r1[0] = a2[0]; + r1[1] = a2[2]; + return r1 + 2; +} + +u16 * sub_8114174(u16 * a0, u16 * a1) +{ + return sub_811414C(5, a0, a1); +} + +u16 * sub_8114188(u16 * a0) +{ + u16 * r4 = sub_8113E88(5, a0); + QuestLog_AutoGetSpeciesName(r4[1], gStringVar1, 0); + StringCopy(gStringVar2, ItemId_GetItem(r4[0])->name); + StringExpandPlaceholders(gStringVar4, gUnknown_841AB74); + r4 += 2; + return r4; +} + +u16 * sub_81141D0(u16 * a0, u16 * a1) +{ + return sub_811414C(6, a0, a1); +} + +u16 * sub_81141E4(u16 * a0) +{ + u16 * r4 = sub_8113E88(6, a0); + + QuestLog_AutoGetSpeciesName(r4[1], gStringVar1, 0); + StringCopy(gStringVar2, ItemId_GetItem(r4[0])->name); + StringExpandPlaceholders(gStringVar4, gUnknown_841AB8E); + r4 += 2; + return r4; +} + +u16 * sub_811422C(u16 * a0, u16 * a1) +{ + return sub_811414C(7, a0, a1); +} + +u16 * sub_8114240(u16 * a0) +{ + u16 * r4 = sub_8113E88(7, a0); + + QuestLog_AutoGetSpeciesName(r4[1], gStringVar2, 0); + StringCopy(gStringVar1, ItemId_GetItem(r4[0])->name); + StringExpandPlaceholders(gStringVar4, gUnknown_841A6A5); + r4 += 2; + return r4; +} + +u16 * sub_8114288(u16 * a0, u16 * a1) +{ + return sub_811414C(8, a0, a1); +} + +u16 * sub_811429C(u16 * a0) +{ + u16 * r4 = sub_8113E88(8, a0); + + QuestLog_AutoGetSpeciesName(r4[1], gStringVar1, 0); + StringCopy(gStringVar2, ItemId_GetItem(r4[0])->name); + StringExpandPlaceholders(gStringVar4, gUnknown_841A1CD); + r4 += 2; + return r4; +} + +u16 * sub_81142E4(u16 a0, u16 * a1, u16 * a2) +{ + u16 * r1 = sub_8113DE0(a0, a1); + if (r1 == NULL) + return NULL; + + r1[0] = a2[0]; + r1[1] = a2[1]; + r1[2] = a2[2]; + return r1 + 3; +} + +u16 * sub_8114310(u16 * a0, u16 * a1) +{ + return sub_81142E4(9, a0, a1); +} + +u16 * sub_8114324(u16 * a0) +{ + u16 * r4 = sub_8113E88(9, a0); + QuestLog_AutoGetSpeciesName(r4[2], gStringVar1, 0); + StringCopy(gStringVar2, ItemId_GetItem(r4[0])->name); + StringCopy(gStringVar3, ItemId_GetItem(r4[1])->name); + StringExpandPlaceholders(gStringVar4, gUnknown_841A193); + r4 += 3; + return r4; +} From 3e638ddb4bd45f991ffed10e3103dee6560cccdf Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 8 Nov 2018 16:38:49 -0500 Subject: [PATCH 090/222] through sub_8114518 --- asm/quest_log.s | 243 ------------------------------------ data/quest_log.s | 15 --- src/quest_log.c | 317 +++++++++++++++++++++++++++++++---------------- 3 files changed, 213 insertions(+), 362 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 5aa5019b2..afc89e1ab 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,249 +5,6 @@ .text - thumb_func_start sub_8114380 -sub_8114380: @ 8114380 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - movs r0, 0xA - adds r1, r3, 0 - bl sub_81142E4 - pop {r1} - bx r1 - thumb_func_end sub_8114380 - - thumb_func_start sub_8114394 -sub_8114394: @ 8114394 - push {r4,r5,lr} - adds r1, r0, 0 - movs r0, 0xA - bl sub_8113E88 - adds r4, r0, 0 - ldrh r0, [r4, 0x4] - ldr r1, _081143DC @ =gStringVar2 - movs r2, 0 - bl QuestLog_AutoGetSpeciesName - ldr r5, _081143E0 @ =gStringVar3 - ldrh r0, [r4] - bl ItemId_GetItem - adds r1, r0, 0 - adds r0, r5, 0 - bl StringCopy - ldr r5, _081143E4 @ =gStringVar1 - ldrh r0, [r4, 0x2] - bl ItemId_GetItem - adds r1, r0, 0 - adds r0, r5, 0 - bl StringCopy - ldr r0, _081143E8 @ =gStringVar4 - ldr r1, _081143EC @ =gUnknown_841A6E1 - bl StringExpandPlaceholders - adds r4, 0x6 - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_081143DC: .4byte gStringVar2 -_081143E0: .4byte gStringVar3 -_081143E4: .4byte gStringVar1 -_081143E8: .4byte gStringVar4 -_081143EC: .4byte gUnknown_841A6E1 - thumb_func_end sub_8114394 - - thumb_func_start sub_81143F0 -sub_81143F0: @ 81143F0 - push {r4,lr} - adds r4, r0, 0 - adds r2, r4, 0 - ldr r1, _08114408 @ =gUnknown_203B044 - ldrb r0, [r1] - cmp r0, 0xB - bne _0811440C - ldrb r0, [r1, 0x1] - cmp r0, 0 - beq _0811440C - adds r0, r4, 0 - b _08114436 - .align 2, 0 -_08114408: .4byte gUnknown_203B044 -_0811440C: - ldr r0, _0811442C @ =gUnknown_8456AA0 - ldrb r1, [r0, 0xB] - adds r0, r2, 0 - bl sub_8110944 - lsls r0, 24 - cmp r0, 0 - beq _08114434 - movs r0, 0xB - strh r0, [r4] - ldr r0, _08114430 @ =gUnknown_203AF98 - ldrh r0, [r0] - strh r0, [r4, 0x2] - adds r0, r4, 0x4 - b _08114436 - .align 2, 0 -_0811442C: .4byte gUnknown_8456AA0 -_08114430: .4byte gUnknown_203AF98 -_08114434: - movs r0, 0 -_08114436: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81143F0 - - thumb_func_start sub_811443C -sub_811443C: @ 811443C - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08114454 @ =gStringVar4 - ldr r1, _08114458 @ =gUnknown_841A2B0 - bl StringExpandPlaceholders - adds r4, 0x4 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08114454: .4byte gStringVar4 -_08114458: .4byte gUnknown_841A2B0 - thumb_func_end sub_811443C - - thumb_func_start sub_811445C -sub_811445C: @ 811445C - push {r4,lr} - adds r4, r0, 0 - adds r4, 0x8 - movs r2, 0xC - strh r2, [r0] - ldr r2, _08114488 @ =gUnknown_203AF98 - ldrh r2, [r2] - strh r2, [r0, 0x2] - ldrh r2, [r1] - strh r2, [r0, 0x4] - ldrh r2, [r1, 0x2] - strh r2, [r0, 0x6] - adds r1, 0x4 - adds r0, r4, 0 - movs r2, 0x7 - bl memcpy - adds r4, 0x8 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08114488: .4byte gUnknown_203AF98 - thumb_func_end sub_811445C - - thumb_func_start sub_811448C -sub_811448C: @ 811448C - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r5, 0 - adds r6, 0x8 - ldr r4, _081144D8 @ =gStringVar1 - adds r0, r4, 0 - movs r1, 0xFF - movs r2, 0x8 - bl memset - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x7 - bl memcpy - adds r0, r4, 0 - bl sub_8115834 - ldrh r0, [r5, 0x6] - ldr r1, _081144DC @ =gStringVar2 - movs r2, 0 - bl QuestLog_AutoGetSpeciesName - ldrh r0, [r5, 0x4] - ldr r1, _081144E0 @ =gStringVar3 - movs r2, 0 - bl QuestLog_AutoGetSpeciesName - ldr r0, _081144E4 @ =gStringVar4 - ldr r1, _081144E8 @ =gUnknown_841A3FF - bl StringExpandPlaceholders - adds r6, 0x8 - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_081144D8: .4byte gStringVar1 -_081144DC: .4byte gStringVar2 -_081144E0: .4byte gStringVar3 -_081144E4: .4byte gStringVar4 -_081144E8: .4byte gUnknown_841A3FF - thumb_func_end sub_811448C - - thumb_func_start sub_81144EC -sub_81144EC: @ 81144EC - push {r4,lr} - adds r4, r0, 0 - movs r0, 0xD - strh r0, [r4] - ldr r0, _08114514 @ =gUnknown_203AF98 - ldrh r0, [r0] - strh r0, [r4, 0x2] - ldrb r0, [r1] - strb r0, [r4, 0x4] - adds r0, r4, 0x5 - adds r1, 0x1 - movs r2, 0x7 - bl memcpy - adds r4, 0xC - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08114514: .4byte gUnknown_203AF98 - thumb_func_end sub_81144EC - - thumb_func_start sub_8114518 -sub_8114518: @ 8114518 - push {r4,r5,lr} - adds r5, r0, 0 - bl UnkTextUtil_Reset - ldr r4, _08114568 @ =gStringVar1 - adds r0, r4, 0 - movs r1, 0xFF - movs r2, 0x8 - bl memset - adds r1, r5, 0x5 - adds r0, r4, 0 - movs r2, 0x7 - bl memcpy - adds r0, r4, 0 - bl sub_8115834 - movs r0, 0 - adds r1, r4, 0 - bl UnkTextUtil_SetPtrI - ldr r1, _0811456C @ =gUnknown_8456AE4 - ldrb r0, [r5, 0x4] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x1 - bl UnkTextUtil_SetPtrI - ldr r0, _08114570 @ =gStringVar4 - ldr r1, _08114574 @ =gUnknown_841A422 - bl UnkTextUtil_StringExpandPlaceholders - adds r5, 0xC - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08114568: .4byte gStringVar1 -_0811456C: .4byte gUnknown_8456AE4 -_08114570: .4byte gStringVar4 -_08114574: .4byte gUnknown_841A422 - thumb_func_end sub_8114518 - thumb_func_start sub_8114578 sub_8114578: @ 8114578 push {r4,lr} diff --git a/data/quest_log.s b/data/quest_log.s index bd28fd62b..0bb7cb3fb 100644 --- a/data/quest_log.s +++ b/data/quest_log.s @@ -1,21 +1,6 @@ .section .rodata .align 2 -gUnknown_8456ACC:: @ 8456ACC - .4byte gUnknown_841A74E - .4byte gUnknown_841A756 - .4byte gUnknown_841A762 - -gUnknown_8456AD8:: @ 8456AD8 - .4byte gUnknown_841AF98 - .4byte gUnknown_841A762 - .4byte gUnknown_841AF9F - -gUnknown_8456AE4:: @ 8456AE4 - .4byte gUnknown_841A502 - .4byte gUnknown_841A506 - .4byte gUnknown_841AFD1 - gUnknown_8456AF0:: @ 8456AF0 .4byte gUnknown_841B09F .4byte gUnknown_841B0A4 diff --git a/src/quest_log.c b/src/quest_log.c index 68678c6e5..57e5ac0b9 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -194,83 +194,84 @@ u16 * sub_8113CC8(u16 *, struct UnkStruct_203AE98 *); u16 * sub_8113D08(u16 *, struct UnkStruct_203AE98 *); u16 * sub_8113D48(u16 *, struct UnkStruct_203AE98 *); u16 * sub_8113D94(u16 *, struct UnkStruct_203AE98 *); -u16 *sub_8113F14(u16 *, u16 *); -u16 *sub_8113F3C(u16 *); -u16 *sub_8113F80(u16 *, u16 *); -u16 *sub_8113FBC(u16 *); -u16 *sub_8114174(u16 *, u16 *); -u16 *sub_8114188(u16 *); -u16 *sub_81141D0(u16 *, u16 *); -u16 *sub_81141E4(u16 *); -u16 *sub_811422C(u16 *, u16 *); -u16 *sub_8114240(u16 *); -u16 *sub_8114288(u16 *, u16 *); -u16 *sub_811429C(u16 *); -u16 *sub_8114310(u16 *, u16 *); -u16 *sub_8114324(u16 *); -u16 *sub_8114380(u16 *, u16 *); -u16 *sub_8114394(u16 *); -u16 *sub_81143F0(u16 *, u16 *); -u16 *sub_811443C(u16 *); -u16 *sub_811445C(u16 *, u16 *); -u16 *sub_811448C(u16 *); -u16 *sub_81144EC(u16 *, u16 *); -u16 *sub_8114518(u16 *); -u16 *sub_8114578(u16 *, u16 *); -u16 *sub_81145A4(u16 *); -u16 *sub_8114604(u16 *, u16 *); -u16 *sub_811464C(u16 *); -u16 *sub_8114710(u16 *, u16 *); -u16 *sub_8114724(u16 *); -u16 *sub_8114744(u16 *, u16 *); -u16 *sub_8114758(u16 *); -u16 *sub_8114778(u16 *, u16 *); -u16 *sub_81147A8(u16 *); -u16 *sub_8114808(u16 *, u16 *); -u16 *sub_8114834(u16 *); -u16 *sub_811488C(u16 *, u16 *); -u16 *sub_81148BC(u16 *); -u16 *sub_8114918(u16 *, u16 *); -u16 *sub_8114944(u16 *); -u16 *sub_8114990(u16 *, u16 *); -u16 *sub_81149D0(u16 *); -u16 *sub_8114A1C(u16 *, u16 *); -u16 *sub_8114A4C(u16 *); -u16 *sub_8114AA0(u16 *, u16 *); -u16 *sub_8114AC8(u16 *); -u16 *sub_8114B0C(u16 *, u16 *); -u16 *sub_8114B34(u16 *); -u16 *sub_8114B78(u16 *, u16 *); -u16 *sub_8114BA0(u16 *); -u16 *sub_8114BE4(u16 *, u16 *); -u16 *sub_8114C0C(u16 *); -u16 *sub_8114C68(u16 *, u16 *); -u16 *sub_8114C8C(u16 *); -u16 *sub_8114CC0(u16 *, u16 *); -u16 *sub_8114CE4(u16 *); -u16 *sub_8114D4C(u16 *, u16 *); -u16 *sub_8114D68(u16 *); -u16 *sub_8114DE8(u16 *, u16 *); -u16 *sub_8114E68(u16 *); +u16 * sub_8113F14(u16 *, const u16 *); +const u16 * sub_8113F3C(const u16 *); +u16 * sub_8113F80(u16 *, const u16 *); +const u16 * sub_8113FBC(const u16 *); +u16 * sub_8114174(u16 *, const u16 *); +const u16 * sub_8114188(const u16 *); +u16 * sub_81141D0(u16 *, const u16 *); +const u16 * sub_81141E4(const u16 *); +u16 * sub_811422C(u16 *, const u16 *); +const u16 * sub_8114240(const u16 *); +u16 * sub_8114288(u16 *, const u16 *); +const u16 * sub_811429C(const u16 *); +u16 * sub_8114310(u16 *, const u16 *); +const u16 * sub_8114324(const u16 *); +u16 * sub_8114380(u16 *, const u16 *); +const u16 * sub_8114394(const u16 *); +u16 * sub_81143F0(u16 *, const u16 *); +const u16 * sub_811443C(const u16 *); +u16 * sub_811445C(u16 *, const u16 *); +const u16 * sub_811448C(const u16 *); +u16 * sub_81144EC(u16 *, const u16 *); +const u16 * sub_8114518(const u16 *); +u16 * sub_8114578(u16 *, const u16 *); +const u16 * sub_81145A4(const u16 *); +u16 * sub_8114604(u16 *, const u16 *); +const u16 * sub_811464C(const u16 *); +u16 * sub_8114710(u16 *, const u16 *); +const u16 * sub_8114724(const u16 *); +u16 * sub_8114744(u16 *, const u16 *); +const u16 * sub_8114758(const u16 *); +u16 * sub_8114778(u16 *, const u16 *); +const u16 * sub_81147A8(const u16 *); +u16 * sub_8114808(u16 *, const u16 *); +const u16 * sub_8114834(const u16 *); +u16 * sub_811488C(u16 *, const u16 *); +const u16 * sub_81148BC(const u16 *); +u16 * sub_8114918(u16 *, const u16 *); +const u16 * sub_8114944(const u16 *); +u16 * sub_8114990(u16 *, const u16 *); +const u16 * sub_81149D0(const u16 *); +u16 * sub_8114A1C(u16 *, const u16 *); +const u16 * sub_8114A4C(const u16 *); +u16 * sub_8114AA0(u16 *, const u16 *); +const u16 * sub_8114AC8(const u16 *); +u16 * sub_8114B0C(u16 *, const u16 *); +const u16 * sub_8114B34(const u16 *); +u16 * sub_8114B78(u16 *, const u16 *); +const u16 * sub_8114BA0(const u16 *); +u16 * sub_8114BE4(u16 *, const u16 *); +const u16 * sub_8114C0C(const u16 *); +u16 * sub_8114C68(u16 *, const u16 *); +const u16 * sub_8114C8C(const u16 *); +u16 * sub_8114CC0(u16 *, const u16 *); +const u16 * sub_8114CE4(const u16 *); +u16 * sub_8114D4C(u16 *, const u16 *); +const u16 * sub_8114D68(const u16 *); +u16 * sub_8114DE8(u16 *, const u16 *); +const u16 * sub_8114E68(const u16 *); bool8 sub_8114FBC(u16); -u16 *sub_8114FF0(u16 *, u16 *); -u16 *sub_811500C(u16 *); -u16 *sub_8115078(u16 *, u16 *); -u16 *sub_81150CC(u16 *); -u16 *sub_81151C0(u16 *, u16 *); -u16 *sub_81151DC(u16 *); -u16 *sub_8115280(u16 *, u16 *); -u16 *sub_81152BC(u16 *); -u16 *sub_8115410(u16 *, u16 *); -u16 *sub_8115460(u16 *); -u16 *sub_81154DC(u16 *, u16 *); -u16 *sub_8115518(u16 *); -u16 *sub_81155A4(u16 *, u16 *); -u16 *sub_81155E0(u16 *); -u16 *sub_81156D8(u16 *, u16 *); -u16 *sub_8115700(u16 *); -u16 *sub_81157DC(u16 *, u16 *); -u16 *sub_8115800(u16 *); +u16 * sub_8114FF0(u16 *, const u16 *); +const u16 * sub_811500C(const u16 *); +u16 * sub_8115078(u16 *, const u16 *); +const u16 * sub_81150CC(const u16 *); +u16 * sub_81151C0(u16 *, const u16 *); +const u16 * sub_81151DC(const u16 *); +u16 * sub_8115280(u16 *, const u16 *); +const u16 * sub_81152BC(const u16 *); +u16 * sub_8115410(u16 *, const u16 *); +const u16 * sub_8115460(const u16 *); +u16 * sub_81154DC(u16 *, const u16 *); +const u16 * sub_8115518(const u16 *); +u16 * sub_81155A4(u16 *, const u16 *); +const u16 * sub_81155E0(const u16 *); +u16 * sub_81156D8(u16 *, const u16 *); +const u16 * sub_8115700(const u16 *); +u16 * sub_81157DC(u16 *, const u16 *); +const u16 * sub_8115800(const u16 *); +void sub_8115834(u8 *); bool8 sub_81153A8(u16, void*); bool8 sub_81153E4(u16, void*); @@ -2771,7 +2772,7 @@ u8 sub_8113530(void) return sub_8113114(VAR_0x4038_STRUCT, gUnknown_20370C0); } -static u16 * (*const sQuestLogStorageCBs[])(u16 *, u16 *) = { +static u16 * (*const sQuestLogStorageCBs[])(u16 *, const u16 *) = { NULL, NULL, NULL, @@ -2905,7 +2906,7 @@ void sub_8113550(u16 a0, u16 * a1) } #else NAKED -void sub_8113550(u16 a0, u16 * a1) +void sub_8113550(u16 a0, const u16 * a1) { asm_unified("\tpush {r4,r5,lr}\n" "\tadds r5, r1, 0\n" @@ -3267,7 +3268,7 @@ bool8 sub_8113A44(u16 a0, u16 *a1) return FALSE; } -static u16 * (*const sQuestLogScriptParsingCBs[])(u16 *) = { +static const u16 * (*const sQuestLogScriptParsingCBs[])(const u16 *) = { NULL, NULL, NULL, @@ -3633,9 +3634,9 @@ u16 * sub_8113DE0(u16 a0, u16 * a1) return r5; } -u16 * sub_8113E88(u16 a0, u16 * a1) +const u16 * sub_8113E88(u16 a0, const u16 * a1) { - a1 = (void *)a1 + (gUnknown_203B044.unk_2 * (gUnknown_8456AA0[a0] - 4) + 4); + a1 = (const void *)a1 + (gUnknown_203B044.unk_2 * (gUnknown_8456AA0[a0] - 4) + 4); return a1; } @@ -3660,7 +3661,7 @@ void QuestLog_AutoGetSpeciesName(u16 a0, u8 * a1, u8 a2) } } -u16 * sub_8113F14(u16 * a0, u16 * a1) +u16 * sub_8113F14(u16 * a0, const u16 * a1) { u16 * r2 = sub_8113DE0(3, a0); if (r2 == NULL) @@ -3671,9 +3672,9 @@ u16 * sub_8113F14(u16 * a0, u16 * a1) return r2 + 2; } -u16 * sub_8113F3C(u16 * a0) +const u16 * sub_8113F3C(const u16 * a0) { - u16 * r4 = sub_8113E88(3, a0); + const u16 * r4 = sub_8113E88(3, a0); QuestLog_AutoGetSpeciesName(r4[0], gStringVar1, 0); QuestLog_AutoGetSpeciesName(r4[1], gStringVar2, 0); StringExpandPlaceholders(gStringVar4, gUnknown_841A16F); @@ -3681,7 +3682,7 @@ u16 * sub_8113F3C(u16 * a0) return r4; } -u16 * sub_8113F80(u16 * a0, u16 * a1) +u16 * sub_8113F80(u16 * a0, const u16 * a1) { u16 * r2 = sub_8113DE0(4, a0); if (r2 == NULL) @@ -3697,9 +3698,9 @@ u16 * sub_8113F80(u16 * a0, u16 * a1) return r2 + 3; } -u16 * sub_8113FBC(u16 * a0) +const u16 * sub_8113FBC(const u16 * a0) { - u16 * r5 = sub_8113E88(4, a0); + const u16 * r5 = sub_8113E88(4, a0); switch (ItemId_GetPocket(r5[0])) { @@ -3749,7 +3750,7 @@ u16 * sub_8113FBC(u16 * a0) return r5 + 3; } -u16 * sub_811414C(u16 a0, u16 * a1, u16 * a2) +u16 * sub_811414C(u16 a0, u16 * a1, const u16 * a2) { u16 * r1 = sub_8113DE0(a0, a1); if (r1 == NULL) @@ -3760,14 +3761,14 @@ u16 * sub_811414C(u16 a0, u16 * a1, u16 * a2) return r1 + 2; } -u16 * sub_8114174(u16 * a0, u16 * a1) +u16 * sub_8114174(u16 * a0, const u16 * a1) { return sub_811414C(5, a0, a1); } -u16 * sub_8114188(u16 * a0) +const u16 * sub_8114188(const u16 * a0) { - u16 * r4 = sub_8113E88(5, a0); + const u16 * r4 = sub_8113E88(5, a0); QuestLog_AutoGetSpeciesName(r4[1], gStringVar1, 0); StringCopy(gStringVar2, ItemId_GetItem(r4[0])->name); StringExpandPlaceholders(gStringVar4, gUnknown_841AB74); @@ -3775,14 +3776,14 @@ u16 * sub_8114188(u16 * a0) return r4; } -u16 * sub_81141D0(u16 * a0, u16 * a1) +u16 * sub_81141D0(u16 * a0, const u16 * a1) { return sub_811414C(6, a0, a1); } -u16 * sub_81141E4(u16 * a0) +const u16 * sub_81141E4(const u16 * a0) { - u16 * r4 = sub_8113E88(6, a0); + const u16 * r4 = sub_8113E88(6, a0); QuestLog_AutoGetSpeciesName(r4[1], gStringVar1, 0); StringCopy(gStringVar2, ItemId_GetItem(r4[0])->name); @@ -3791,14 +3792,14 @@ u16 * sub_81141E4(u16 * a0) return r4; } -u16 * sub_811422C(u16 * a0, u16 * a1) +u16 * sub_811422C(u16 * a0, const u16 * a1) { return sub_811414C(7, a0, a1); } -u16 * sub_8114240(u16 * a0) +const u16 * sub_8114240(const u16 * a0) { - u16 * r4 = sub_8113E88(7, a0); + const u16 * r4 = sub_8113E88(7, a0); QuestLog_AutoGetSpeciesName(r4[1], gStringVar2, 0); StringCopy(gStringVar1, ItemId_GetItem(r4[0])->name); @@ -3807,14 +3808,14 @@ u16 * sub_8114240(u16 * a0) return r4; } -u16 * sub_8114288(u16 * a0, u16 * a1) +u16 * sub_8114288(u16 * a0, const u16 * a1) { return sub_811414C(8, a0, a1); } -u16 * sub_811429C(u16 * a0) +const u16 * sub_811429C(const u16 * a0) { - u16 * r4 = sub_8113E88(8, a0); + const u16 * r4 = sub_8113E88(8, a0); QuestLog_AutoGetSpeciesName(r4[1], gStringVar1, 0); StringCopy(gStringVar2, ItemId_GetItem(r4[0])->name); @@ -3823,7 +3824,7 @@ u16 * sub_811429C(u16 * a0) return r4; } -u16 * sub_81142E4(u16 a0, u16 * a1, u16 * a2) +u16 * sub_81142E4(u16 a0, u16 * a1, const u16 * a2) { u16 * r1 = sub_8113DE0(a0, a1); if (r1 == NULL) @@ -3835,14 +3836,14 @@ u16 * sub_81142E4(u16 a0, u16 * a1, u16 * a2) return r1 + 3; } -u16 * sub_8114310(u16 * a0, u16 * a1) +u16 * sub_8114310(u16 * a0, const u16 * a1) { return sub_81142E4(9, a0, a1); } -u16 * sub_8114324(u16 * a0) +const u16 * sub_8114324(const u16 * a0) { - u16 * r4 = sub_8113E88(9, a0); + const u16 * r4 = sub_8113E88(9, a0); QuestLog_AutoGetSpeciesName(r4[2], gStringVar1, 0); StringCopy(gStringVar2, ItemId_GetItem(r4[0])->name); StringCopy(gStringVar3, ItemId_GetItem(r4[1])->name); @@ -3850,3 +3851,111 @@ u16 * sub_8114324(u16 * a0) r4 += 3; return r4; } + +u16 * sub_8114380(u16 * a0, const u16 * a1) +{ + return sub_81142E4(10, a0, a1); +} + +const u16 * sub_8114394(const u16 * a0) +{ + const u16 * r4 = sub_8113E88(10, a0); + QuestLog_AutoGetSpeciesName(r4[2], gStringVar2, 0); + StringCopy(gStringVar3, ItemId_GetItem(r4[0])->name); + StringCopy(gStringVar1, ItemId_GetItem(r4[1])->name); + StringExpandPlaceholders(gStringVar4, gUnknown_841A6E1); + r4 += 3; + return r4; +} + +u16 * sub_81143F0(u16 * a0, const u16 * a1) +{ + u16 * r4 = a0; + if (gUnknown_203B044.unk_0 == 11 && gUnknown_203B044.unk_1 != 0) + return r4; + + if (!sub_8110944(a0, gUnknown_8456AA0[11])) + return NULL; + + r4[0] = 11; + r4[1] = gUnknown_203AF98; + return r4 + 2; +} + +const u16 * sub_811443C(const u16 * a0) +{ + StringExpandPlaceholders(gStringVar4, gUnknown_841A2B0); + a0 += 2; + return a0; +} + +u16 * sub_811445C(u16 * a0, const u16 * a1) +{ + u16 * r4 = a0 + 4; + + a0[0] = 12; + a0[1] = gUnknown_203AF98; + a0[2] = a1[0]; + a0[3] = a1[1]; + a1 += 2; + memcpy(r4, a1, 7); + r4 += 4; + return r4; +} + +const u16 * sub_811448C(const u16 * a0) +{ + const u16 * r6 = a0 + 4; + + memset(gStringVar1, EOS, 8); + memcpy(gStringVar1, r6, 7); + + sub_8115834(gStringVar1); + QuestLog_AutoGetSpeciesName(a0[3], gStringVar2, 0); + QuestLog_AutoGetSpeciesName(a0[2], gStringVar3, 0); + StringExpandPlaceholders(gStringVar4, gUnknown_841A3FF); + r6 += 4; + return r6; +} + +u16 * sub_81144EC(u16 * a0, const u16 * a1) +{ + a0[0] = 13; + a0[1] = gUnknown_203AF98; + *((u8 *)a0 + 4) = *((const u8 *)a1 + 0); + memcpy((u8 *)a0 + 5, (const u8 *)a1 + 1, 7); + a0 += 6; + return a0; +} + +const u8 *const gUnknown_8456ACC[] = { + gUnknown_841A74E, + gUnknown_841A756, + gUnknown_841A762 +}; + +const u8 *const gUnknown_8456AD8[] = { + gUnknown_841AF98, + gUnknown_841A762, + gUnknown_841AF9F +}; + +const u8 *const gUnknown_8456AE4[] = { + gUnknown_841A502, + gUnknown_841A506, + gUnknown_841AFD1 +}; + +const u16 * sub_8114518(const u16 * a0) +{ + UnkTextUtil_Reset(); + + memset(gStringVar1, EOS, 8); + memcpy(gStringVar1, (const u8 *)a0 + 5, 7); + sub_8115834(gStringVar1); + UnkTextUtil_SetPtrI(0, gStringVar1); + UnkTextUtil_SetPtrI(1, gUnknown_8456AE4[((const u8 *)a0)[4]]); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A422); + a0 += 6; + return a0; +} From e3a2a2fa85b23a73fc595bd81733989ae2d1ba4d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 8 Nov 2018 17:01:10 -0500 Subject: [PATCH 091/222] through sub_8114758 --- asm/quest_log.s | 241 ------------------------------------------------ src/quest_log.c | 107 +++++++++++++++++++-- 2 files changed, 97 insertions(+), 251 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index afc89e1ab..8f47698ad 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,247 +5,6 @@ .text - thumb_func_start sub_8114578 -sub_8114578: @ 8114578 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0xE - strh r0, [r4] - ldr r0, _081145A0 @ =gUnknown_203AF98 - ldrh r0, [r0] - strh r0, [r4, 0x2] - ldrb r0, [r1] - strb r0, [r4, 0x4] - adds r0, r4, 0x5 - adds r1, 0x1 - movs r2, 0x7 - bl memcpy - adds r4, 0xC - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_081145A0: .4byte gUnknown_203AF98 - thumb_func_end sub_8114578 - - thumb_func_start sub_81145A4 -sub_81145A4: @ 81145A4 - push {r4,r5,lr} - adds r5, r0, 0 - bl UnkTextUtil_Reset - ldr r4, _081145F4 @ =gStringVar1 - adds r0, r4, 0 - movs r1, 0xFF - movs r2, 0x8 - bl memset - adds r1, r5, 0x5 - adds r0, r4, 0 - movs r2, 0x7 - bl memcpy - adds r0, r4, 0 - bl sub_8115834 - movs r0, 0 - adds r1, r4, 0 - bl UnkTextUtil_SetPtrI - ldr r1, _081145F8 @ =gUnknown_8456AE4 - ldrb r0, [r5, 0x4] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x1 - bl UnkTextUtil_SetPtrI - ldr r0, _081145FC @ =gStringVar4 - ldr r1, _08114600 @ =gUnknown_841A477 - bl UnkTextUtil_StringExpandPlaceholders - adds r5, 0xC - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_081145F4: .4byte gStringVar1 -_081145F8: .4byte gUnknown_8456AE4 -_081145FC: .4byte gStringVar4 -_08114600: .4byte gUnknown_841A477 - thumb_func_end sub_81145A4 - - thumb_func_start sub_8114604 -sub_8114604: @ 8114604 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0xF - strh r0, [r4] - ldr r0, _08114648 @ =gUnknown_203AF98 - ldrh r0, [r0] - strh r0, [r4, 0x2] - ldrb r0, [r5] - strb r0, [r4, 0x4] - adds r0, r4, 0x5 - adds r1, r5, 0x1 - movs r2, 0x7 - bl memcpy - adds r0, r4, 0 - adds r0, 0xC - adds r1, r5, 0 - adds r1, 0x8 - movs r2, 0x7 - bl memcpy - adds r0, r4, 0 - adds r0, 0x13 - adds r5, 0xF - adds r1, r5, 0 - movs r2, 0x7 - bl memcpy - adds r4, 0x1A - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08114648: .4byte gUnknown_203AF98 - thumb_func_end sub_8114604 - - thumb_func_start sub_811464C -sub_811464C: @ 811464C - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - bl UnkTextUtil_Reset - ldr r0, _081146F4 @ =gStringVar1 - mov r8, r0 - movs r1, 0xFF - movs r2, 0x8 - bl memset - ldr r6, _081146F8 @ =gStringVar2 - adds r0, r6, 0 - movs r1, 0xFF - movs r2, 0x8 - bl memset - ldr r5, _081146FC @ =gStringVar3 - adds r0, r5, 0 - movs r1, 0xFF - movs r2, 0x8 - bl memset - adds r1, r4, 0x5 - mov r0, r8 - bl StringCopy7 - adds r1, r4, 0 - adds r1, 0xC - adds r0, r6, 0 - bl StringCopy7 - adds r1, r4, 0 - adds r1, 0x13 - adds r0, r5, 0 - bl StringCopy7 - mov r0, r8 - bl sub_8115834 - adds r0, r6, 0 - bl sub_8115834 - adds r0, r5, 0 - bl sub_8115834 - ldr r0, _08114700 @ =gSaveBlock2Ptr - ldr r1, [r0] - movs r0, 0 - bl UnkTextUtil_SetPtrI - movs r0, 0x1 - mov r1, r8 - bl UnkTextUtil_SetPtrI - movs r0, 0x2 - adds r1, r6, 0 - bl UnkTextUtil_SetPtrI - movs r0, 0x3 - adds r1, r5, 0 - bl UnkTextUtil_SetPtrI - ldr r1, _08114704 @ =gUnknown_8456AE4 - ldrb r0, [r4, 0x4] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x4 - bl UnkTextUtil_SetPtrI - ldr r0, _08114708 @ =gStringVar4 - ldr r1, _0811470C @ =gUnknown_841A4C6 - bl UnkTextUtil_StringExpandPlaceholders - adds r4, 0x1A - adds r0, r4, 0 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_081146F4: .4byte gStringVar1 -_081146F8: .4byte gStringVar2 -_081146FC: .4byte gStringVar3 -_08114700: .4byte gSaveBlock2Ptr -_08114704: .4byte gUnknown_8456AE4 -_08114708: .4byte gStringVar4 -_0811470C: .4byte gUnknown_841A4C6 - thumb_func_end sub_811464C - - thumb_func_start sub_8114710 -sub_8114710: @ 8114710 - movs r1, 0x10 - strh r1, [r0] - ldr r1, _08114720 @ =gUnknown_203AF98 - ldrh r1, [r1] - strh r1, [r0, 0x2] - adds r0, 0x4 - bx lr - .align 2, 0 -_08114720: .4byte gUnknown_203AF98 - thumb_func_end sub_8114710 - - thumb_func_start sub_8114724 -sub_8114724: @ 8114724 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _0811473C @ =gStringVar4 - ldr r1, _08114740 @ =gUnknown_841A50B - bl StringExpandPlaceholders - adds r4, 0x4 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0811473C: .4byte gStringVar4 -_08114740: .4byte gUnknown_841A50B - thumb_func_end sub_8114724 - - thumb_func_start sub_8114744 -sub_8114744: @ 8114744 - movs r1, 0x11 - strh r1, [r0] - ldr r1, _08114754 @ =gUnknown_203AF98 - ldrh r1, [r1] - strh r1, [r0, 0x2] - adds r0, 0x4 - bx lr - .align 2, 0 -_08114754: .4byte gUnknown_203AF98 - thumb_func_end sub_8114744 - - thumb_func_start sub_8114758 -sub_8114758: @ 8114758 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08114770 @ =gStringVar4 - ldr r1, _08114774 @ =gUnknown_841A732 - bl StringExpandPlaceholders - adds r4, 0x4 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08114770: .4byte gStringVar4 -_08114774: .4byte gUnknown_841A732 - thumb_func_end sub_8114758 - thumb_func_start sub_8114778 sub_8114778: @ 8114778 push {r4,lr} diff --git a/src/quest_log.c b/src/quest_log.c index 57e5ac0b9..d664f3e25 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -3918,16 +3918,6 @@ const u16 * sub_811448C(const u16 * a0) return r6; } -u16 * sub_81144EC(u16 * a0, const u16 * a1) -{ - a0[0] = 13; - a0[1] = gUnknown_203AF98; - *((u8 *)a0 + 4) = *((const u8 *)a1 + 0); - memcpy((u8 *)a0 + 5, (const u8 *)a1 + 1, 7); - a0 += 6; - return a0; -} - const u8 *const gUnknown_8456ACC[] = { gUnknown_841A74E, gUnknown_841A756, @@ -3946,6 +3936,16 @@ const u8 *const gUnknown_8456AE4[] = { gUnknown_841AFD1 }; +u16 * sub_81144EC(u16 * a0, const u16 * a1) +{ + a0[0] = 13; + a0[1] = gUnknown_203AF98; + *((u8 *)a0 + 4) = *((const u8 *)a1 + 0); + memcpy((u8 *)a0 + 5, (const u8 *)a1 + 1, 7); + a0 += 6; + return a0; +} + const u16 * sub_8114518(const u16 * a0) { UnkTextUtil_Reset(); @@ -3959,3 +3959,90 @@ const u16 * sub_8114518(const u16 * a0) a0 += 6; return a0; } + +u16 * sub_8114578(u16 * a0, const u16 * a1) +{ + a0[0] = 14; + a0[1] = gUnknown_203AF98; + *((u8 *)a0 + 4) = *((const u8 *)a1 + 0); + memcpy((u8 *)a0 + 5, (const u8 *)a1 + 1, 7); + a0 += 6; + return a0; +} + +const u16 * sub_81145A4(const u16 * a0) +{ + UnkTextUtil_Reset(); + + memset(gStringVar1, EOS, 8); + memcpy(gStringVar1, (const u8 *)a0 + 5, 7); + sub_8115834(gStringVar1); + UnkTextUtil_SetPtrI(0, gStringVar1); + UnkTextUtil_SetPtrI(1, gUnknown_8456AE4[((const u8 *)a0)[4]]); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A477); + a0 += 6; + return a0; +} + +u16 * sub_8114604(u16 * a0, const u16 * a1) +{ + a0[0] = 15; + a0[1] = gUnknown_203AF98; + *((u8 *)a0 + 4) = *((const u8 *)a1 + 0); + memcpy((u8 *)a0 + 5, (const u8 *)a1 + 1, 7); + memcpy((u8 *)a0 + 12, (const u8 *)a1 + 8, 7); + memcpy((u8 *)a0 + 19, (const u8 *)a1 + 15, 7); + a0 += 13; + return a0; +} + +const u16 * sub_811464C(const u16 * a0) +{ + UnkTextUtil_Reset(); + + memset(gStringVar1, EOS, 8); + memset(gStringVar2, EOS, 8); + memset(gStringVar3, EOS, 8); + StringCopy7(gStringVar1, (const u8 *)a0 + 5); + StringCopy7(gStringVar2, (const u8 *)a0 + 12); + StringCopy7(gStringVar3, (const u8 *)a0 + 19); + sub_8115834(gStringVar1); + sub_8115834(gStringVar2); + sub_8115834(gStringVar3); + UnkTextUtil_SetPtrI(0, gSaveBlock2Ptr->playerName); + UnkTextUtil_SetPtrI(1, gStringVar1); + UnkTextUtil_SetPtrI(2, gStringVar2); + UnkTextUtil_SetPtrI(3, gStringVar3); + UnkTextUtil_SetPtrI(4, gUnknown_8456AE4[((const u8 *)a0)[4]]); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A4C6); + a0 += 13; + return a0; +} + +u16 * sub_8114710(u16 * a0, const u16 * a1) +{ + a0[0] = 16; + a0[1] = gUnknown_203AF98; + return a0 + 2; +} + +const u16 * sub_8114724(const u16 * a0) +{ + StringExpandPlaceholders(gStringVar4, gUnknown_841A50B); + a0 += 2; + return a0; +} + +u16 * sub_8114744(u16 * a0, const u16 * a1) +{ + a0[0] = 17; + a0[1] = gUnknown_203AF98; + return a0 + 2; +} + +const u16 * sub_8114758(const u16 * a0) +{ + StringExpandPlaceholders(gStringVar4, gUnknown_841A732); + a0 += 2; + return a0; +} From 4ee3c03a697b9520d365fa17ed43602e68852468 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 8 Nov 2018 17:52:02 -0500 Subject: [PATCH 092/222] through sub_8114834 --- asm/quest_log.s | 130 ------------------------------------------------ src/quest_log.c | 46 +++++++++++++++++ 2 files changed, 46 insertions(+), 130 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 8f47698ad..a5b8ae30e 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,136 +5,6 @@ .text - thumb_func_start sub_8114778 -sub_8114778: @ 8114778 - push {r4,lr} - adds r4, r0, 0 - adds r4, 0x8 - movs r2, 0x12 - strh r2, [r0] - ldr r2, _081147A4 @ =gUnknown_203AF98 - ldrh r2, [r2] - strh r2, [r0, 0x2] - ldrh r2, [r1] - strh r2, [r0, 0x4] - ldrh r2, [r1, 0x2] - strh r2, [r0, 0x6] - adds r1, 0x4 - adds r0, r4, 0 - movs r2, 0x7 - bl memcpy - adds r4, 0x8 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_081147A4: .4byte gUnknown_203AF98 - thumb_func_end sub_8114778 - - thumb_func_start sub_81147A8 -sub_81147A8: @ 81147A8 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r5, 0 - adds r6, 0x8 - ldr r4, _081147F4 @ =gStringVar1 - adds r0, r4, 0 - movs r1, 0xFF - movs r2, 0x8 - bl memset - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x7 - bl memcpy - adds r0, r4, 0 - bl sub_8115834 - ldrh r0, [r5, 0x6] - ldr r1, _081147F8 @ =gStringVar2 - movs r2, 0 - bl QuestLog_AutoGetSpeciesName - ldrh r0, [r5, 0x4] - ldr r1, _081147FC @ =gStringVar3 - movs r2, 0 - bl QuestLog_AutoGetSpeciesName - ldr r0, _08114800 @ =gStringVar4 - ldr r1, _08114804 @ =gUnknown_841A76A - bl StringExpandPlaceholders - adds r6, 0x8 - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_081147F4: .4byte gStringVar1 -_081147F8: .4byte gStringVar2 -_081147FC: .4byte gStringVar3 -_08114800: .4byte gStringVar4 -_08114804: .4byte gUnknown_841A76A - thumb_func_end sub_81147A8 - - thumb_func_start sub_8114808 -sub_8114808: @ 8114808 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x13 - strh r0, [r4] - ldr r0, _08114830 @ =gUnknown_203AF98 - ldrh r0, [r0] - strh r0, [r4, 0x2] - ldrb r0, [r1] - strb r0, [r4, 0x4] - adds r0, r4, 0x5 - adds r1, 0x1 - movs r2, 0x7 - bl memcpy - adds r4, 0xC - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08114830: .4byte gUnknown_203AF98 - thumb_func_end sub_8114808 - - thumb_func_start sub_8114834 -sub_8114834: @ 8114834 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _08114878 @ =gStringVar1 - adds r0, r4, 0 - movs r1, 0xFF - movs r2, 0x8 - bl memset - adds r1, r5, 0x5 - adds r0, r4, 0 - movs r2, 0x7 - bl memcpy - adds r0, r4, 0 - bl sub_8115834 - ldr r0, _0811487C @ =gStringVar2 - ldr r2, _08114880 @ =gUnknown_8456AE4 - ldrb r1, [r5, 0x4] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - ldr r0, _08114884 @ =gStringVar4 - ldr r1, _08114888 @ =gUnknown_841A7B0 - bl StringExpandPlaceholders - adds r5, 0xC - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08114878: .4byte gStringVar1 -_0811487C: .4byte gStringVar2 -_08114880: .4byte gUnknown_8456AE4 -_08114884: .4byte gStringVar4 -_08114888: .4byte gUnknown_841A7B0 - thumb_func_end sub_8114834 - thumb_func_start sub_811488C sub_811488C: @ 811488C push {r4,lr} diff --git a/src/quest_log.c b/src/quest_log.c index d664f3e25..e146c92e7 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -4046,3 +4046,49 @@ const u16 * sub_8114758(const u16 * a0) a0 += 2; return a0; } + +u16 * sub_8114778(u16 * a0, const u16 * a1) +{ + u8 * r4 = (u8 *)(a0 + 4); + a0[0] = 18; + a0[1] = gUnknown_203AF98; + a0[2] = a1[0]; + a0[3] = a1[1]; + memcpy(r4, a1 + 2, 7); + r4 += 8; + return (u16 *)r4; +} + +const u16 * sub_81147A8(const u16 * a0) +{ + const u8 * r6 = (const u8 *)(a0 + 4); + memset(gStringVar1, EOS, 8); + memcpy(gStringVar1, r6, 7); + sub_8115834(gStringVar1); + QuestLog_AutoGetSpeciesName(a0[3], gStringVar2, 0); + QuestLog_AutoGetSpeciesName(a0[2], gStringVar3, 0); + StringExpandPlaceholders(gStringVar4, gUnknown_841A76A); + r6 += 8; + return (const u16 *)r6; +} + +u16 * sub_8114808(u16 * a0, const u16 * a1) +{ + a0[0] = 19; + a0[1] = gUnknown_203AF98; + *(u8 *)&a0[2] = *(const u8 *)&a1[0]; + memcpy((u8 *)a0 + 5, (const u8 *)a1 + 1, 7); + a0 += 6; + return a0; +} + +const u16 * sub_8114834(const u16 * a0) +{ + memset(gStringVar1, EOS, 8); + memcpy(gStringVar1, (const u8 *)a0 + 5, 7); + sub_8115834(gStringVar1); + StringCopy(gStringVar2, gUnknown_8456AE4[*(const u8 *)&a0[2]]); + StringExpandPlaceholders(gStringVar4, gUnknown_841A7B0); + a0 += 6; + return a0; +} From 6317f0180e191fb7c426eaf38b2dd631d9694146 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 9 Nov 2018 08:28:39 -0500 Subject: [PATCH 093/222] Start to refactor some of the data components --- include/global.h | 35 ++++++++++++++++++++--------------- src/quest_log.c | 14 +++++++------- 2 files changed, 27 insertions(+), 22 deletions(-) diff --git a/include/global.h b/include/global.h index 6a178feb6..11c0e61e3 100644 --- a/include/global.h +++ b/include/global.h @@ -503,24 +503,29 @@ struct QuestLogNPCData u32 movementType:8; }; -struct UnkStruct_203B024_Sub1 -{ - u8 unk_00; - u8 unk_01; - u8 filler_02[26]; -}; - -union UnkUnion_203B024 -{ - struct UnkStruct_203B024_Sub1 type1; - u8 filler[28]; -}; - struct UnkStruct_203B024 { u16 unk_00; u16 unk_02; - union UnkUnion_203B024 unk_04; + u16 unk_04[14]; +}; + +union QuestLogScene +{ + u8 allocation[32]; + u16 ident; +}; + +typedef union QuestLogScene QuestLogScene; + +union QuestLogMovement; +union QuestLogMovement +{ + u16 ident_raw; + struct { + u16 ident:12; + u16 flags:4; + } ident_struct; }; struct QuestLog @@ -535,7 +540,7 @@ struct QuestLog /*0x0148*/ u8 unk_148[0x120]; /*0x02c8*/ u8 unk_268[0x200]; /*0x0468*/ struct QuestLogNPCData npcData[64]; - /*0x0568*/ struct UnkStruct_203B024 unk_568[8]; + /*0x0568*/ u16 unk_568[128]; /*0x0668*/ u16 end[0]; }; diff --git a/src/quest_log.c b/src/quest_log.c index e146c92e7..06780ff21 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -537,7 +537,7 @@ void sub_8110AEC(u16 a0) sub_81108F0(gUnknown_203ADF8); sub_8113B88(); - gUnknown_203AE08 = (u16 *)gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_568; + gUnknown_203AE08 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_568; if ((a0 >= 12 && a0 < 20) || a0 == 35) gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_000 = 2; else @@ -1172,7 +1172,7 @@ void sub_811175C(u8 a0, struct UnkStruct_203AE98 * a1) gUnknown_203AE0C[i] = NULL; } - r4 = (u16 *)gSaveBlock1Ptr->questLog[a0].unk_568; + r4 = gSaveBlock1Ptr->questLog[a0].unk_568; for (i = 0; i < 32; i++) { switch (r4[0] & 0xFFF) @@ -3191,9 +3191,9 @@ bool8 sub_81138A0(u16 a0, u16 * a1) if (a0 < 16 || a0 > 17) { if (a0 == 12 || a0 == 18) - memcpy(&gUnknown_203B024.unk_04, a1, 12); + memcpy(gUnknown_203B024.unk_04, a1, 12); else - memcpy(&gUnknown_203B024.unk_04, a1, 24); + memcpy(gUnknown_203B024.unk_04, a1, 24); } return TRUE; } @@ -3210,7 +3210,7 @@ void sub_811390C(void) u16 * resp; gUnknown_203B04A = 0; sub_8110AEC(gUnknown_203B024.unk_00); - resp = sQuestLogStorageCBs[gUnknown_203B024.unk_00](gUnknown_203AE08, (u16 *)&gUnknown_203B024.unk_04); + resp = sQuestLogStorageCBs[gUnknown_203B024.unk_00](gUnknown_203AE08, gUnknown_203B024.unk_04); gUnknown_203AE08 = resp; sub_81138F8(); } @@ -3224,7 +3224,7 @@ bool8 sub_8113954(u16 a0, u16 * a1) if (gUnknown_3005E88 || FlagGet(0x82C) || sub_81137E4(a0, a1) != TRUE) { gUnknown_203B024.unk_00 = a0; - memcpy(&gUnknown_203B024.unk_04, a1, 8); + memcpy(gUnknown_203B024.unk_04, a1, 8); } return TRUE; } @@ -3240,7 +3240,7 @@ void sub_81139BC(void) sub_8110AEC(gUnknown_203B024.unk_00); } sub_8113B94(gUnknown_203B024.unk_00); - resp = sQuestLogStorageCBs[gUnknown_203B024.unk_00](gUnknown_203AE08, (u16 *)&gUnknown_203B024.unk_04); + resp = sQuestLogStorageCBs[gUnknown_203B024.unk_00](gUnknown_203AE08, gUnknown_203B024.unk_04); gUnknown_203AE08 = resp; sub_8113A1C(1); sub_81138F8(); From d6233c5b3b7539469e028838b1e548b6c39ce784 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 9 Nov 2018 12:33:20 -0500 Subject: [PATCH 094/222] Fix C/C++ errors generated by CLion IDE --- include/battle.h | 2 ++ include/battle_2.h | 2 ++ include/battle_ai_script_commands.h | 2 ++ include/battle_ai_switch_items.h | 2 ++ include/battle_anim.h | 6 ++++++ include/battle_controllers.h | 2 ++ include/battle_dome_cards.h | 2 ++ include/battle_interface.h | 1 + include/battle_message.h | 2 ++ include/battle_script_commands.h | 2 ++ include/battle_scripts.h | 2 ++ include/battle_setup.h | 2 ++ include/battle_string_ids.h | 2 ++ include/battle_tower.h | 2 ++ include/battle_transition.h | 2 ++ include/battle_util.h | 2 ++ include/battle_util2.h | 2 ++ include/berry.h | 2 ++ include/bg.h | 2 ++ include/blend_palette.h | 2 ++ include/calculate_base_damage.h | 2 ++ include/coins.h | 2 ++ include/config.h | 2 ++ include/data2.h | 2 ++ include/daycare.h | 2 ++ include/decompress.h | 2 ++ include/diploma.h | 2 ++ include/dma3.h | 2 ++ include/easy_chat.h | 2 ++ include/egg_hatch.h | 2 ++ include/event_data.h | 2 ++ include/event_scripts.h | 2 ++ include/evolution_graphics.h | 2 ++ include/evolution_scene.h | 2 ++ include/field_camera.h | 2 ++ include/field_control_avatar.h | 2 ++ include/field_door.h | 2 ++ include/field_effect.h | 2 ++ include/field_effect_helpers.h | 2 ++ include/field_fadetransition.h | 2 ++ include/field_ground_effect.h | 2 ++ include/field_map_obj.h | 2 ++ include/field_map_obj_helpers.h | 2 ++ include/field_message_box.h | 2 ++ include/field_player_avatar.h | 2 ++ include/field_poison.h | 2 ++ include/field_screen.h | 2 ++ include/field_screen_effect.h | 2 ++ include/field_specials.h | 2 ++ include/field_tasks.h | 2 ++ include/field_weather.h | 2 ++ include/fieldmap.h | 2 ++ include/fldeff_80F9BCC.h | 2 ++ include/global.berry.h | 2 ++ include/global.fieldmap.h | 2 ++ include/global.h | 29 +++++++++++++++++++++++------ include/gpu_regs.h | 2 ++ include/graphics.h | 2 ++ include/hall_of_fame.h | 2 ++ include/heal_location.h | 2 ++ include/help_system.h | 2 ++ include/international_string_util.h | 2 ++ include/item_icon.h | 2 ++ include/item_menu.h | 2 ++ include/item_menu_icons.h | 2 ++ include/link.h | 2 ++ include/list_menu.h | 2 ++ include/load_save.h | 2 ++ include/m4a.h | 2 ++ include/mail.h | 2 ++ include/mail_data.h | 2 ++ include/main.h | 2 ++ include/malloc.h | 2 ++ include/map_name_popup.h | 2 ++ include/map_obj_80688E4.h | 2 ++ include/map_obj_8097404.h | 2 ++ include/map_obj_lock.h | 2 ++ include/menews_jisan.h | 2 ++ include/menu.h | 2 ++ include/menu_helpers.h | 2 ++ include/menu_indicators.h | 2 ++ include/metatile_behavior.h | 2 ++ include/mevent.h | 2 ++ include/money.h | 2 ++ include/multiboot.h | 2 ++ include/mystery_event_script.h | 2 ++ include/naming_screen.h | 2 ++ include/new_game.h | 2 ++ include/new_menu_helpers.h | 2 ++ include/overworld.h | 2 ++ include/palette.h | 2 ++ include/party_menu.h | 2 ++ include/play_time.h | 2 ++ include/player_pc.h | 2 ++ include/pokeball.h | 2 ++ include/pokedex.h | 2 ++ include/pokemon.h | 8 ++++++++ include/pokemon_3.h | 2 ++ include/pokemon_icon.h | 2 ++ include/pokemon_item_effects.h | 2 +- include/pokemon_size_record.h | 2 ++ include/pokemon_storage_system.h | 2 ++ include/pokenav.h | 2 ++ include/quest_log.h | 2 ++ include/quest_log_8150454.h | 2 ++ include/random.h | 2 ++ include/region_map.h | 2 ++ include/reshow_battle_screen.h | 2 ++ include/roamer.h | 2 ++ include/rom6.h | 2 ++ include/rom_818CFC8.h | 2 ++ include/rom_81BE66C.h | 2 ++ include/safari_zone.h | 2 ++ include/save.h | 2 ++ include/save_location.h | 2 ++ include/script.h | 2 ++ include/script_menu.h | 2 ++ include/script_movement.h | 2 ++ include/script_pokemon_80F8.h | 2 ++ include/script_pokemon_81B9.h | 2 ++ include/shop.h | 2 ++ include/slot_machine.h | 2 ++ include/songs.h | 2 ++ include/sound.h | 2 ++ include/sprite.h | 2 ++ include/start_menu.h | 2 ++ include/string_util.h | 2 ++ include/strings.h | 2 ++ include/task.h | 2 ++ include/text.h | 2 ++ include/text_window.h | 2 ++ include/tilesets.h | 2 ++ include/trainer_classes.h | 2 ++ include/trainer_front_sprites.h | 6 ++++-- include/trainer_ids.h | 2 ++ include/trainer_see.h | 2 ++ include/trig.h | 2 ++ include/unk_8159F40.h | 2 ++ include/unk_text_util.h | 2 ++ include/unknown_task.h | 2 ++ include/util.h | 2 ++ include/wild_encounter.h | 2 ++ include/window.h | 2 ++ src/pokemon.c | 2 ++ src/quest_log.c | 8 ++++---- src/text.c | 6 +++--- 146 files changed, 326 insertions(+), 16 deletions(-) diff --git a/include/battle.h b/include/battle.h index d89db4656..e2f7ddb44 100644 --- a/include/battle.h +++ b/include/battle.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_H #define GUARD_BATTLE_H +#include "global.h" + // should they be included here or included individually by every file? #include "constants/battle.h" #include "battle_util.h" diff --git a/include/battle_2.h b/include/battle_2.h index ee61efd9b..ca8b78805 100644 --- a/include/battle_2.h +++ b/include/battle_2.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_2_H #define GUARD_BATTLE_2_H +#include "global.h" + void CB2_InitBattle(void); void BattleMainCB2(void); void CB2_QuitRecordedBattle(void); diff --git a/include/battle_ai_script_commands.h b/include/battle_ai_script_commands.h index 5fb422b41..5f8c4419b 100644 --- a/include/battle_ai_script_commands.h +++ b/include/battle_ai_script_commands.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_AI_SCRIPT_COMMANDS_H #define GUARD_BATTLE_AI_SCRIPT_COMMANDS_H +#include "global.h" + void BattleAI_HandleItemUseBeforeAISetup(u8 defaultScoreMoves); void BattleAI_SetupAIData(u8 defaultScoreMoves); u8 BattleAI_ChooseMoveOrAction(void); diff --git a/include/battle_ai_switch_items.h b/include/battle_ai_switch_items.h index 0a230e7f6..d0461319d 100644 --- a/include/battle_ai_switch_items.h +++ b/include/battle_ai_switch_items.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_AI_SWITCH_ITEMS_H #define GUARD_BATTLE_AI_SWITCH_ITEMS_H +#include "global.h" + enum { AI_ITEM_FULL_RESTORE = 1, diff --git a/include/battle_anim.h b/include/battle_anim.h index 9fb7ccd53..4ea3bdead 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -1,6 +1,12 @@ #ifndef GUARD_BATTLE_ANIM_H #define GUARD_BATTLE_ANIM_H +#include "global.h" + +#ifndef BATTLE_BANKS_COUNT +#define BATTLE_BANKS_COUNT 4 +#endif // BATTLE_BANKS_COUNT + enum { ANIM_BANK_ATTACKER, diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 66984b453..df00c3526 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_CONTROLLERS_H #define GUARD_BATTLE_CONTROLLERS_H +#include "global.h" + enum { REQUEST_ALL_BATTLE, diff --git a/include/battle_dome_cards.h b/include/battle_dome_cards.h index a0696d156..48d165e9c 100644 --- a/include/battle_dome_cards.h +++ b/include/battle_dome_cards.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_DOME_CARDS_H #define GUARD_BATTLE_DOME_CARDS_H +#include "global.h" + bool16 dp13_810BB8C(void); u16 sub_818D3E4(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y, u8 paletteSlot, u16 paletteTag); u16 sub_818D7D8(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag); diff --git a/include/battle_interface.h b/include/battle_interface.h index b2d3b1b97..27f93a3c2 100644 --- a/include/battle_interface.h +++ b/include/battle_interface.h @@ -1,6 +1,7 @@ #ifndef GUARD_BATTLE_INTERFACE_H #define GUARD_BATTLE_INTERFACE_H +#include "global.h" #include "battle_controllers.h" enum diff --git a/include/battle_message.h b/include/battle_message.h index 30ddca469..27ae88b01 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_MESSAGE_H #define GUARD_BATTLE_MESSAGE_H +#include "global.h" + // for 0xFD #define B_TXT_BUFF1 0x0 diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index 80fabaa64..d4cb75e91 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_SCRIPT_COMMANDS_H #define GUARD_BATTLE_SCRIPT_COMMANDS_H +#include "global.h" + #define NO_ACC_CALC 0xFFFE #define NO_ACC_CALC_CHECK_LOCK_ON 0xFFFF #define ACC_CURR_MOVE 0 diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 2e31a37c5..69edacae6 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_SCRIPTS_H #define GUARD_BATTLE_SCRIPTS_H +#include "global.h" + extern const u8 BattleScript_HitFromCritCalc[]; extern const u8 BattleScript_MoveEnd[]; extern const u8 BattleScript_MakeMoveMissed[]; diff --git a/include/battle_setup.h b/include/battle_setup.h index 0168022cc..b4c0201a3 100644 --- a/include/battle_setup.h +++ b/include/battle_setup.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_SETUP_H #define GUARD_BATTLE_SETUP_H +#include "global.h" + void BattleSetup_StartScriptedWildBattle(void); u8 BattleSetup_GetTerrainId(void); u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data); diff --git a/include/battle_string_ids.h b/include/battle_string_ids.h index f242284b0..a030a7b48 100644 --- a/include/battle_string_ids.h +++ b/include/battle_string_ids.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_STRING_IDS_H #define GUARD_BATTLE_STRING_IDS_H +#include "global.h" + #define BATTLESTRINGS_COUNT 369 #define BATTLESTRINGS_ID_ADDER 12 // all battlestrings have its ID + 12, because first 5 are reserved diff --git a/include/battle_tower.h b/include/battle_tower.h index 25b439c1b..120ab9a99 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_TOWER_H #define GUARD_BATTLE_TOWER_H +#include "global.h" + u16 sub_8164FCC(u8, u8); #endif //GUARD_BATTLE_TOWER_H diff --git a/include/battle_transition.h b/include/battle_transition.h index 1603f5c93..eba76fd61 100644 --- a/include/battle_transition.h +++ b/include/battle_transition.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_TRANSITION_H #define GUARD_BATTLE_TRANSITION_H +#include "global.h" + void sub_8149DFC(u8 a1); #endif // GUARD_BATTLE_TRANSITION_H diff --git a/include/battle_util.h b/include/battle_util.h index 25e26719b..ed070720d 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_UTIL_H #define GUARD_BATTLE_UTIL_H +#include "global.h" + #define MOVE_LIMITATION_ZEROMOVE (1 << 0) #define MOVE_LIMITATION_PP (1 << 1) #define MOVE_LIMITATION_DISABLED (1 << 2) diff --git a/include/battle_util2.h b/include/battle_util2.h index 3954e42dc..3b8a6f817 100644 --- a/include/battle_util2.h +++ b/include/battle_util2.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_UTIL2_H #define GUARD_BATTLE_UTIL2_H +#include "global.h" + void AllocateBattleResources(void); void FreeBattleResources(void); void AdjustFriendshipOnBattleFaint(u8 bank); diff --git a/include/berry.h b/include/berry.h index 425a664c9..40715868b 100644 --- a/include/berry.h +++ b/include/berry.h @@ -1,6 +1,8 @@ #ifndef GUARD_BERRY_H #define GUARD_BERRY_H +#include "global.h" + enum { BERRY_FIRMNESS_UNKNOWN, diff --git a/include/bg.h b/include/bg.h index 0700e2d23..55927a5a4 100644 --- a/include/bg.h +++ b/include/bg.h @@ -1,6 +1,8 @@ #ifndef GUARD_BG_H #define GUARD_BG_H +#include "global.h" + struct BGCntrlBitfield // for the I/O registers { volatile u16 priority:2; diff --git a/include/blend_palette.h b/include/blend_palette.h index 1db3f4eb0..4ece15d69 100644 --- a/include/blend_palette.h +++ b/include/blend_palette.h @@ -1,6 +1,8 @@ #ifndef GUARD_BLEND_PALETTE_H #define GUARD_BLEND_PALETTE_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/calculate_base_damage.h b/include/calculate_base_damage.h index e9146c188..8079031e8 100644 --- a/include/calculate_base_damage.h +++ b/include/calculate_base_damage.h @@ -1,6 +1,8 @@ #ifndef GUARD_CALCULATE_BASE_DAMAGE_H #define GUARD_CALCULATE_BASE_DAMAGE_H +#include "global.h" + s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 sideStatus, u16 powerOverride, u8 typeOverride, u8 bankAtk, u8 bankDef); #endif // GUARD_CALCULATE_BASE_DAMAGE_H diff --git a/include/coins.h b/include/coins.h index 996519605..83ad7d611 100644 --- a/include/coins.h +++ b/include/coins.h @@ -1,6 +1,8 @@ #ifndef GUARD_COINS_H #define GUARD_COINS_H +#include "global.h" + void PrintCoinsString(u32 coinAmount); void ShowCoinsWindow(u32 coinAmount, u8 x, u8 y); void HideCoinsWindow(void); diff --git a/include/config.h b/include/config.h index 756fd1ebd..f094c95bd 100644 --- a/include/config.h +++ b/include/config.h @@ -1,6 +1,8 @@ #ifndef GUARD_CONFIG_H #define GUARD_CONFIG_H +#include "global.h" + // In the Generation 3 games, Asserts were used in various debug builds. // Ruby/Sapphire and Emerald do not have these asserts while Fire Red // still has them in the ROM. This is because the developers forgot diff --git a/include/data2.h b/include/data2.h index be0f33ab8..e383b1c9a 100644 --- a/include/data2.h +++ b/include/data2.h @@ -1,6 +1,8 @@ #ifndef GUARD_DATA2_H #define GUARD_DATA2_H +#include "global.h" + struct MonCoords { // This would use a bitfield, but some function diff --git a/include/daycare.h b/include/daycare.h index 7db44e024..6544ba21a 100644 --- a/include/daycare.h +++ b/include/daycare.h @@ -1,6 +1,8 @@ #ifndef GUARD_DAYCARE_H #define GUARD_DAYCARE_H +#include "global.h" + #define EGG_HATCH_LEVEL 5 u8 *GetMonNick(struct Pokemon *mon, u8 *dest); diff --git a/include/decompress.h b/include/decompress.h index 34a678cda..5f3863dc7 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -1,6 +1,8 @@ #ifndef GUARD_DECOMPRESS_H #define GUARD_DECOMPRESS_H +#include "global.h" + #include "sprite.h" extern u8 gDecompressionBuffer[0x4000]; diff --git a/include/diploma.h b/include/diploma.h index 8d730fa05..8477e70fc 100644 --- a/include/diploma.h +++ b/include/diploma.h @@ -1,6 +1,8 @@ #ifndef GUARD_DIPLOMA_H #define GUARD_DIPLOMA_H +#include "global.h" + void CB2_ShowDiploma(void); #endif // GUARD_DIPLOMA_H diff --git a/include/dma3.h b/include/dma3.h index 265b47824..fcd7bae43 100644 --- a/include/dma3.h +++ b/include/dma3.h @@ -1,6 +1,8 @@ #ifndef GUARD_DMA3_H #define GUARD_DMA3_H +#include "global.h" + void ClearDma3Requests(void); void ProcessDma3Requests(void); int RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode); diff --git a/include/easy_chat.h b/include/easy_chat.h index f0ac51c22..2b5664420 100644 --- a/include/easy_chat.h +++ b/include/easy_chat.h @@ -1,6 +1,8 @@ #ifndef GUARD_EASYCHAT_H #define GUARD_EASYCHAT_H +#include "global.h" + // Taken from Pokeruby, check if it's correct enum { diff --git a/include/egg_hatch.h b/include/egg_hatch.h index 862d33947..9945284e1 100644 --- a/include/egg_hatch.h +++ b/include/egg_hatch.h @@ -1,6 +1,8 @@ #ifndef GUARD_EGG_HATCH_H #define GUARD_EGG_HATCH_H +#include "global.h" + void ScriptHatchMon(void); bool8 sub_8071614(void); void EggHatch(void); diff --git a/include/event_data.h b/include/event_data.h index 398e03264..2e340f073 100644 --- a/include/event_data.h +++ b/include/event_data.h @@ -1,6 +1,8 @@ #ifndef GUARD_EVENT_DATA_H #define GUARD_EVENT_DATA_H +#include "global.h" + #include "constants/flags.h" #include "constants/vars.h" diff --git a/include/event_scripts.h b/include/event_scripts.h index 6b9025ec2..900755108 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -5,6 +5,8 @@ #ifndef GUARD_EVENT_SCRIPTS_H #define GUARD_EVENT_SCRIPTS_H +#include "global.h" + extern const u8 gUnknown_0823B4E8[]; extern const u8 gUnknown_0823B5E9[]; extern const u8 EventScript_275BB7[]; diff --git a/include/evolution_graphics.h b/include/evolution_graphics.h index f52105815..21f133872 100644 --- a/include/evolution_graphics.h +++ b/include/evolution_graphics.h @@ -1,6 +1,8 @@ #ifndef GUARD_EVOLUTION_GRAPHICS_H #define GUARD_EVOLUTION_GRAPHICS_H +#include "global.h" + void LoadEvoSparkleSpriteAndPal(void); u8 LaunchTask_PreEvoSparklesSet1(u16 arg0); diff --git a/include/evolution_scene.h b/include/evolution_scene.h index 5f8c534b9..1d87ceb76 100644 --- a/include/evolution_scene.h +++ b/include/evolution_scene.h @@ -1,6 +1,8 @@ #ifndef GUARD_EVOLUTION_SCENE_H #define GUARD_EVOLUTION_SCENE_H +#include "global.h" + void BeginEvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, u8 partyID); void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, u8 partyID); void TradeEvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, u8 preEvoSpriteID, u8 partyID); diff --git a/include/field_camera.h b/include/field_camera.h index a8559e1c2..53d734081 100644 --- a/include/field_camera.h +++ b/include/field_camera.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_CAMERA_H #define GUARD_FIELD_CAMERA_H +#include "global.h" + // Exported type declarations struct CameraObject diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h index 5b2184561..0a33138b3 100644 --- a/include/field_control_avatar.h +++ b/include/field_control_avatar.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_CONTROL_AVATAR_H #define GUARD_FIELD_CONTROL_AVATAR_H +#include "global.h" + extern u32 gUnknown_3005078; #endif //GUARD_FIELD_CONTROL_AVATAR_H diff --git a/include/field_door.h b/include/field_door.h index f1dfc551d..0059cbe1a 100644 --- a/include/field_door.h +++ b/include/field_door.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELDDOOR_H #define GUARD_FIELDDOOR_H +#include "global.h" + void FieldSetDoorOpened(u32, u32); void FieldSetDoorClosed(u32, u32); s8 FieldAnimateDoorClose(u32, u32); diff --git a/include/field_effect.h b/include/field_effect.h index 629ae07c7..8d96e4929 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_EFFECTS_H #define GUARD_FIELD_EFFECTS_H +#include "global.h" + enum FieldEffectScriptIdx { FLDEFF_EXCLAMATION_MARK_ICON_1, diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index e80daf3bd..33c4d5bbc 100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h @@ -5,6 +5,8 @@ #ifndef GUARD_FIELD_EFFECT_HELPERS_H #define GUARD_FIELD_EFFECT_HELPERS_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/field_fadetransition.h b/include/field_fadetransition.h index 2cd01601e..051865210 100644 --- a/include/field_fadetransition.h +++ b/include/field_fadetransition.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_FADETRANSITION_H #define GUARD_FIELD_FADETRANSITION_H +#include "global.h" + void sub_80AF734(void); void sp13E_warp_to_last_warp(void); void sub_80AF7D0(void); diff --git a/include/field_ground_effect.h b/include/field_ground_effect.h index 63b67ceaf..49448db6a 100644 --- a/include/field_ground_effect.h +++ b/include/field_ground_effect.h @@ -5,6 +5,8 @@ #ifndef GUARD_FIELD_GROUND_EFFECT_H #define GUARD_FIELD_GROUND_EFFECT_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 22d2d4a78..ebe68ea01 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_MAP_OBJ_H #define GUARD_FIELD_MAP_OBJ_H +#include "global.h" + #define NUM_OBJECT_GRAPHICS_INFO 239 #define SPRITE_VAR 240 diff --git a/include/field_map_obj_helpers.h b/include/field_map_obj_helpers.h index ba797ec98..2d3f69d95 100644 --- a/include/field_map_obj_helpers.h +++ b/include/field_map_obj_helpers.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELDMAPOBJHELP_H #define GUARD_FIELDMAPOBJHELP_H +#include "global.h" + void UnfreezeMapObjects(void); void sub_8097B78(u8, u8); diff --git a/include/field_message_box.h b/include/field_message_box.h index 432c9078b..5777921b7 100644 --- a/include/field_message_box.h +++ b/include/field_message_box.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_MESSAGE_BOX_H #define GUARD_FIELD_MESSAGE_BOX_H +#include "global.h" + bool8 ShowFieldMessage(const u8 *message); bool8 sub_8098238(const u8 *message); bool8 ShowFieldAutoScrollMessage(const u8 *message); diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 4bbc197aa..9b7fcde38 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_PLAYER_AVATAR_H #define GUARD_FIELD_PLAYER_AVATAR_H +#include "global.h" + void ClearPlayerAvatarInfo(void); void SetPlayerAvatarExtraStateTransition(u8, u8); u8 GetPlayerAvatarGenderByGraphicsId(u8); diff --git a/include/field_poison.h b/include/field_poison.h index d1a4c823b..fcfb71cf5 100644 --- a/include/field_poison.h +++ b/include/field_poison.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_POISON_H #define GUARD_FIELD_POISON_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/field_screen.h b/include/field_screen.h index cfc0d081f..a11aa0041 100644 --- a/include/field_screen.h +++ b/include/field_screen.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_SCREEN_H #define GUARD_FIELD_SCREEN_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h index ef81c2f9e..add61d57c 100644 --- a/include/field_screen_effect.h +++ b/include/field_screen_effect.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_SCREEN_EFFECT_H #define GUARD_FIELD_SCREEN_EFFECT_H +#include "global.h" + void sub_80AF79C(void); void sub_80B009C(u8); void sub_80B0244(void); diff --git a/include/field_specials.h b/include/field_specials.h index 1f8fbf147..fbe004355 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_SPECIALS_H #define GUARD_FIELD_SPECIALS_H +#include "global.h" + u8 GetLeadMonIndex(void); #endif // GUARD_FIELD_SPECIALS_H diff --git a/include/field_tasks.h b/include/field_tasks.h index 2a2a772d8..aba2a9eee 100644 --- a/include/field_tasks.h +++ b/include/field_tasks.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_TASKS_H #define GUARD_FIELD_TASKS_H +#include "global.h" + void ActivatePerStepCallback(u8); #endif // GUARD_FIELD_TASKS_H diff --git a/include/field_weather.h b/include/field_weather.h index 3f7741f00..b896259e9 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -1,6 +1,8 @@ #ifndef GUARD_WEATHER_H #define GUARD_WEATHER_H +#include "global.h" + void fade_screen(u8, s8); void SetSav1Weather(u32); diff --git a/include/fieldmap.h b/include/fieldmap.h index 06cb7cc77..c5abdb2e1 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELDMAP_H #define GUARD_FIELDMAP_H +#include "global.h" + extern struct MapCoords { int width; int height; diff --git a/include/fldeff_80F9BCC.h b/include/fldeff_80F9BCC.h index d57665c68..3960c6c65 100644 --- a/include/fldeff_80F9BCC.h +++ b/include/fldeff_80F9BCC.h @@ -1,6 +1,8 @@ #ifndef GUARD_FLDEFF_80F9BCC_H #define GUARD_FLDEFF_80F9BCC_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/global.berry.h b/include/global.berry.h index 5c8a43a02..f9e27b186 100644 --- a/include/global.berry.h +++ b/include/global.berry.h @@ -1,6 +1,8 @@ #ifndef GUARD_GLOBAL_BERRY_H #define GUARD_GLOBAL_BERRY_H +#include "global.h" + #define BERRY_NAME_COUNT 7 #define BERRY_ITEM_EFFECT_COUNT 18 diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index ed5054b7d..98077d8d4 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -1,6 +1,8 @@ #ifndef GUARD_GLOBAL_FIELDMAP_H #define GUARD_GLOBAL_FIELDMAP_H +#include "global.h" + #define NUM_FIELD_OBJECTS 16 enum diff --git a/include/global.h b/include/global.h index 11c0e61e3..9db1443c2 100644 --- a/include/global.h +++ b/include/global.h @@ -3,6 +3,7 @@ #include "config.h" #include "gba/gba.h" +#include // Prevent cross-jump optimization. #define BLOCK_CROSS_JUMP asm(""); @@ -12,10 +13,18 @@ #define asm_unified(x) asm(".syntax unified\n" x "\n.syntax divided") #if defined (__APPLE__) || defined (__CYGWIN__) -void *memset(void *, int, size_t); -void *memcpy(void *, const void *, size_t); -int strcmp(const char *s1, const char *s2); -char* strcpy(char *dst0, const char *src0); +// Get the IDE to stfu + +// We define it this way to fool preproc. +#define INCBIN(x) {0} +#define INCBIN_U8 INCBIN +#define INCBIN_U16 INCBIN +#define INCBIN_U32 INCBIN +#define INCBIN_S8 INCBIN +#define INCBIN_S16 INCBIN +#define INCBIN_S32 INCBIN +#define _(x) (x) +#define __(x) (x) #endif // __APPLE__ #define ARRAY_COUNT(array) (sizeof(array) / sizeof((array)[0])) @@ -518,7 +527,12 @@ union QuestLogScene typedef union QuestLogScene QuestLogScene; +// This name is a complete guess and may change. + +// Declare here so that it can be recursively referenced. union QuestLogMovement; + +// Define here union QuestLogMovement { u16 ident_raw; @@ -537,8 +551,11 @@ struct QuestLog /*0x0004*/ s16 unk_004; /*0x0006*/ s16 unk_006; /*0x0008*/ u8 filler_008[0x140]; - /*0x0148*/ u8 unk_148[0x120]; - /*0x02c8*/ u8 unk_268[0x200]; + + // These arrays hold the game state for + // playing back the quest log + /*0x0148*/ u8 flags[0x120]; + /*0x02c8*/ u16 vars[0x100]; /*0x0468*/ struct QuestLogNPCData npcData[64]; /*0x0568*/ u16 unk_568[128]; /*0x0668*/ u16 end[0]; diff --git a/include/gpu_regs.h b/include/gpu_regs.h index 89e0cb64b..3930f6809 100644 --- a/include/gpu_regs.h +++ b/include/gpu_regs.h @@ -1,6 +1,8 @@ #ifndef GUARD_GPU_REGS_H #define GUARD_GPU_REGS_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/graphics.h b/include/graphics.h index aad5c0190..9888d2f7c 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -5,6 +5,8 @@ #ifndef GUARD_GRAPHICS_H #define GUARD_GRAPHICS_H +#include "global.h" + extern const u8 gInterfaceGfx_PokeBall[]; extern const u8 gInterfacePal_PokeBall[]; extern const u8 gInterfaceGfx_GreatBall[]; diff --git a/include/hall_of_fame.h b/include/hall_of_fame.h index d35ecf268..2dc9fae41 100644 --- a/include/hall_of_fame.h +++ b/include/hall_of_fame.h @@ -1,6 +1,8 @@ #ifndef GUARD_HALL_OF_FAME_H #define GUARD_HALL_OF_FAME_H +#include "global.h" + void CB2_DoHallOfFameScreen(void); void CB2_DoHallOfFameScreenDontSaveData(void); void CB2_DoHallOfFamePC(void); diff --git a/include/heal_location.h b/include/heal_location.h index 1f966f1ae..0143b8158 100644 --- a/include/heal_location.h +++ b/include/heal_location.h @@ -1,6 +1,8 @@ #ifndef GUARD_HEAL_LOCATION_H #define GUARD_HEAL_LOCATION_H +#include "global.h" + // Exported type declarations struct UnkStruct_0859F534 { diff --git a/include/help_system.h b/include/help_system.h index 3a4c52f2e..3f6a741c6 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -1,6 +1,8 @@ #ifndef GUARD_HELP_SYSTEM_H #define GUARD_HELP_SYSTEM_H +#include "global.h" + extern bool8 gUnknown_3005ECC; #endif //GUARD_HELP_SYSTEM_H diff --git a/include/international_string_util.h b/include/international_string_util.h index e7876162e..2b922676d 100644 --- a/include/international_string_util.h +++ b/include/international_string_util.h @@ -1,6 +1,8 @@ #ifndef GUARD_INTERNATIONAL_STRING_UTIL_H #define GUARD_INTERNATIONAL_STRING_UTIL_H +#include "global.h" + #include "menu.h" void sub_81DB52C(const u8 *src); diff --git a/include/item_icon.h b/include/item_icon.h index a43b72f39..75e2475f3 100644 --- a/include/item_icon.h +++ b/include/item_icon.h @@ -5,6 +5,8 @@ #ifndef GUARD_ITEM_ICON_H #define GUARD_ITEM_ICON_H +#include "global.h" + extern EWRAM_DATA void *gUnknown_0203CEBC; extern EWRAM_DATA void *gUnknown_0203CEC0; diff --git a/include/item_menu.h b/include/item_menu.h index 85655e9d5..24f700918 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -1,6 +1,8 @@ #ifndef GUARD_item_menu_H #define GUARD_item_menu_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/item_menu_icons.h b/include/item_menu_icons.h index 553e7c262..7fcd6d5e1 100644 --- a/include/item_menu_icons.h +++ b/include/item_menu_icons.h @@ -1,6 +1,8 @@ #ifndef GUARD_ITEM_MENU_ICONS #define GUARD_ITEM_MENU_ICONS +#include "global.h" + u8 sub_80D511C(u8 a0, u8 a1, u8 a2, u8 a3); #endif // GUARD_ITEM_MENU_ICONS diff --git a/include/link.h b/include/link.h index 352386523..239a59b71 100644 --- a/include/link.h +++ b/include/link.h @@ -1,6 +1,8 @@ #ifndef GUARD_LINK_H #define GUARD_LINK_H +#include "global.h" + #define MAX_LINK_PLAYERS 4 #define MAX_RFU_PLAYERS 5 #define CMD_LENGTH 8 diff --git a/include/list_menu.h b/include/list_menu.h index 0249b06af..f547801bd 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -1,6 +1,8 @@ #ifndef GUARD_LIST_MENU_H #define GUARD_LIST_MENU_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/load_save.h b/include/load_save.h index b3e9fe49c..064e6dff2 100644 --- a/include/load_save.h +++ b/include/load_save.h @@ -1,6 +1,8 @@ #ifndef GUARD_LOAD_SAVE_H #define GUARD_LOAD_SAVE_H +#include "global.h" + extern bool32 gFlashMemoryPresent; void ClearSav2(void); diff --git a/include/m4a.h b/include/m4a.h index 8c3380dd8..24b454104 100644 --- a/include/m4a.h +++ b/include/m4a.h @@ -1,6 +1,8 @@ #ifndef GUARD_M4A_H #define GUARD_M4A_H +#include "global.h" + #include "gba/m4a_internal.h" void m4aSoundVSync(void); diff --git a/include/mail.h b/include/mail.h index 0a70237bf..5d6ad559b 100644 --- a/include/mail.h +++ b/include/mail.h @@ -1,6 +1,8 @@ #ifndef GUARD_MAIL_H #define GUARD_MAIL_H +#include "global.h" + #define IS_ITEM_MAIL(itemId)((itemId == ITEM_ORANGE_MAIL \ || itemId == ITEM_HARBOR_MAIL \ || itemId == ITEM_GLITTER_MAIL \ diff --git a/include/mail_data.h b/include/mail_data.h index bf6540bad..bbe695203 100644 --- a/include/mail_data.h +++ b/include/mail_data.h @@ -1,6 +1,8 @@ #ifndef GUARD_MAIL_DATA_H #define GUARD_MAIL_DATA_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/main.h b/include/main.h index 82f85f881..84d356692 100644 --- a/include/main.h +++ b/include/main.h @@ -3,6 +3,8 @@ #include "global.h" +#include "global.h" + typedef void (*MainCallback)(void); typedef void (*IntrCallback)(void); typedef void (*IntrFunc)(void); diff --git a/include/malloc.h b/include/malloc.h index 6efa8fbef..ae66aecb1 100644 --- a/include/malloc.h +++ b/include/malloc.h @@ -1,6 +1,8 @@ #ifndef GUARD_MALLOC_H #define GUARD_MALLOC_H +#include "global.h" + #define HEAP_SIZE 0x1C000 #define malloc Alloc #define calloc(ct, sz) AllocZeroed((ct) * (sz)) diff --git a/include/map_name_popup.h b/include/map_name_popup.h index 0cb0c49ad..cf9b005d9 100644 --- a/include/map_name_popup.h +++ b/include/map_name_popup.h @@ -1,6 +1,8 @@ #ifndef GUARD_MAP_NAME_POPUP_H #define GUARD_MAP_NAME_POPUP_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/map_obj_80688E4.h b/include/map_obj_80688E4.h index b131a1a54..9ab76646d 100644 --- a/include/map_obj_80688E4.h +++ b/include/map_obj_80688E4.h @@ -1,6 +1,8 @@ #ifndef GUARD_MAP_OBJ_80688E4_H #define GUARD_MAP_OBJ_80688E4_H +#include "global.h" + void player_bitmagic(void); #endif //GUARD_MAP_OBJ_80688E4_H diff --git a/include/map_obj_8097404.h b/include/map_obj_8097404.h index 27ffd18cb..ad90bed9c 100644 --- a/include/map_obj_8097404.h +++ b/include/map_obj_8097404.h @@ -5,6 +5,8 @@ #ifndef GUARD_MAP_OBJ_8097404_H #define GUARD_MAP_OBJ_8097404_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/map_obj_lock.h b/include/map_obj_lock.h index cf1f714d7..c8e075658 100644 --- a/include/map_obj_lock.h +++ b/include/map_obj_lock.h @@ -1,6 +1,8 @@ #ifndef GUARD_MAP_OBJ_LOCK_H #define GUARD_MAP_OBJ_LOCK_H +#include "global.h" + bool8 sub_80983C4(void); void ScriptFreezeMapObjects(void); bool8 sub_809847C(void); diff --git a/include/menews_jisan.h b/include/menews_jisan.h index 8dc1d0a99..4db5a7be2 100644 --- a/include/menews_jisan.h +++ b/include/menews_jisan.h @@ -1,6 +1,8 @@ #ifndef GUARD_MENEWS_JISAN_H #define GUARD_MENEWS_JISAN_H +#include "global.h" + void sub_8146C30(u32 a0); void sub_8146C88(void); void sub_8146CA4(void); diff --git a/include/menu.h b/include/menu.h index 2d28218b6..b932693f7 100644 --- a/include/menu.h +++ b/include/menu.h @@ -1,6 +1,8 @@ #ifndef GUARD_MENU_H #define GUARD_MENU_H +#include "global.h" + #include "text.h" #include "window.h" diff --git a/include/menu_helpers.h b/include/menu_helpers.h index e88385f94..b193388e5 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -1,6 +1,8 @@ #ifndef GUARD_MENU_HELPERS_H #define GUARD_MENU_HELPERS_H +#include "global.h" + // Exported type declarations struct YesNoFuncTable { diff --git a/include/menu_indicators.h b/include/menu_indicators.h index d0baac810..2350e2502 100644 --- a/include/menu_indicators.h +++ b/include/menu_indicators.h @@ -1,6 +1,8 @@ #ifndef GUARD_MENU_INDICATORS_H #define GUARD_MENU_INDICATORS_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h index d6743b788..973d96cbb 100644 --- a/include/metatile_behavior.h +++ b/include/metatile_behavior.h @@ -1,6 +1,8 @@ #ifndef GUARD_METATILE_BEHAVIOR #define GUARD_METATILE_BEHAVIOR +#include "global.h" + bool8 ShouldDoJumpLandingDustEffect(u8); bool8 MetatileBehavior_IsEncounterTile(u8); bool8 MetatileBehavior_IsJumpEast(u8); diff --git a/include/mevent.h b/include/mevent.h index a611a98a8..7df669da3 100644 --- a/include/mevent.h +++ b/include/mevent.h @@ -1,6 +1,8 @@ #ifndef GUARD_MEVENT_H #define GUARD_MEVENT_H +#include "global.h" + struct MysteryEventStruct * sub_8143D94(void); bool32 sub_8143E1C(void); diff --git a/include/money.h b/include/money.h index 48b15db76..fa63e321c 100644 --- a/include/money.h +++ b/include/money.h @@ -1,6 +1,8 @@ #ifndef GUARD_MONEY_H #define GUARD_MONEY_H +#include "global.h" + u32 GetMoney(u32* moneyPtr); void SetMoney(u32* moneyPtr, u32 newValue); bool8 IsEnoughMoney(u32* moneyPtr, u32 cost); diff --git a/include/multiboot.h b/include/multiboot.h index d4700ff4e..4b4a3693a 100644 --- a/include/multiboot.h +++ b/include/multiboot.h @@ -1,6 +1,8 @@ #ifndef GUARD_MULTIBOOT_H #define GUARD_MULTIBOOT_H +#include "global.h" + #define MULTIBOOT_MASTER_INFO 0x62 #define MULTIBOOT_CLIENT_INFO 0x72 #define MULTIBOOT_MASTER_START_PROBE 0x61 diff --git a/include/mystery_event_script.h b/include/mystery_event_script.h index ab23a8d00..1ba1464fa 100644 --- a/include/mystery_event_script.h +++ b/include/mystery_event_script.h @@ -1,6 +1,8 @@ #ifndef GUARD_MYSTERY_EVENT_SCRIPT_H #define GUARD_MYSTERY_EVENT_SCRIPT_H +#include "global.h" + u32 RunMysteryEventScript(u8 *); void SetMysteryEventScriptStatus(u32 val); u16 GetRecordMixingGift(void); diff --git a/include/naming_screen.h b/include/naming_screen.h index 3d69b834f..be2cf34f8 100644 --- a/include/naming_screen.h +++ b/include/naming_screen.h @@ -1,6 +1,8 @@ #ifndef GUARD_NAMING_SCREEN_H #define GUARD_NAMING_SCREEN_H +#include "global.h" + #define NAMING_SCREEN_PLAYER 0 #define NAMING_SCREEN_BOX 1 #define NAMING_SCREEN_CAUGHT_MON 2 diff --git a/include/new_game.h b/include/new_game.h index 2088d1826..c495a9585 100644 --- a/include/new_game.h +++ b/include/new_game.h @@ -1,6 +1,8 @@ #ifndef GUARD_NEW_GAME_H #define GUARD_NEW_GAME_H +#include "global.h" + void WriteUnalignedWord(u32 var, u8 *dataPtr); u32 ReadUnalignedWord(u8* dataPtr); void CopyUnalignedWord(u8 *copyTo, u8 *copyFrom); diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h index c52184972..ffe5c2e3f 100644 --- a/include/new_menu_helpers.h +++ b/include/new_menu_helpers.h @@ -1,6 +1,8 @@ #ifndef GUARD_NEW_MENU_HELPERS_H #define GUARD_NEW_MENU_HELPERS_H +#include "global.h" + #include "text.h" #include "task.h" diff --git a/include/overworld.h b/include/overworld.h index d497ddbe1..05ff5e03c 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -1,6 +1,8 @@ #ifndef GUARD_ROM4_H #define GUARD_ROM4_H +#include "global.h" + #include "main.h" struct UnkPlayerStruct diff --git a/include/palette.h b/include/palette.h index 90112947a..3af0d5d7b 100644 --- a/include/palette.h +++ b/include/palette.h @@ -3,6 +3,8 @@ #include "global.h" +#include "global.h" + #define gPaletteFade_selectedPalettes (gPaletteFade.multipurpose1) // normal and fast fade #define gPaletteFade_blendCnt (gPaletteFade.multipurpose1) // hardware fade #define gPaletteFade_delay (gPaletteFade.multipurpose2) // normal and hardware fade diff --git a/include/party_menu.h b/include/party_menu.h index 75a1645c4..19e1f7d4e 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -1,6 +1,8 @@ #ifndef GUARD_PARTY_MENU_H #define GUARD_PARTY_MENU_H +#include "global.h" + enum { AILMENT_NONE, AILMENT_PSN, diff --git a/include/play_time.h b/include/play_time.h index 49091f4b1..233dbadda 100644 --- a/include/play_time.h +++ b/include/play_time.h @@ -1,6 +1,8 @@ #ifndef GUARD_PLAY_TIME_H #define GUARD_PLAY_TIME_H +#include "global.h" + void PlayTimeCounter_Reset(void); void PlayTimeCounter_Start(void); void PlayTimeCounter_Stop(void); diff --git a/include/player_pc.h b/include/player_pc.h index b14d1ede3..e14e5e9da 100644 --- a/include/player_pc.h +++ b/include/player_pc.h @@ -1,6 +1,8 @@ #ifndef GUARD_PLAYER_PC_H #define GUARD_PLAYER_PC_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/pokeball.h b/include/pokeball.h index 84178b5b2..10a9529b9 100644 --- a/include/pokeball.h +++ b/include/pokeball.h @@ -1,6 +1,8 @@ #ifndef GUARD_POKEBALL_H #define GUARD_POKEBALL_H +#include "global.h" + enum { BALL_POKE, diff --git a/include/pokedex.h b/include/pokedex.h index 236feac45..ca642ed1a 100644 --- a/include/pokedex.h +++ b/include/pokedex.h @@ -1,6 +1,8 @@ #ifndef GUARD_POKEDEX_H #define GUARD_POKEDEX_H +#include "global.h" + void ResetPokedex(void); void CopyMonCategoryText(u16 species, u8 *dst); u16 GetPokedexHeightWeight(u16 dexNum, u8 data); diff --git a/include/pokemon.h b/include/pokemon.h index e15172dd5..e8782af98 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -1,6 +1,8 @@ #ifndef GUARD_POKEMON_H #define GUARD_POKEMON_H +#include "global.h" + #define MON_DATA_PERSONALITY 0 #define MON_DATA_OT_ID 1 #define MON_DATA_NICKNAME 2 @@ -570,8 +572,14 @@ void DecryptBoxMon(struct BoxPokemon *boxMon); // but they are not used since some code erroneously omits the third arg. // u32 GetMonData(struct Pokemon *mon, s32 field, u8 *data); // u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data); + +#ifdef IS_POKEMON_C +u32 GetMonData(struct Pokemon *, s32, u8 *); +u32 GetBoxMonData(struct BoxPokemon *, s32, u8 *); +#else u32 GetMonData(); u32 GetBoxMonData(); +#endif // IS_POKEMON_C void SetMonData(struct Pokemon *mon, s32 field, const void *data); void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *data); diff --git a/include/pokemon_3.h b/include/pokemon_3.h index 5c9862d57..cffc9780b 100644 --- a/include/pokemon_3.h +++ b/include/pokemon_3.h @@ -1,6 +1,8 @@ #ifndef GUARD_POKEMON_3_H #define GUARD_POKEMON_3_H +#include "global.h" + const u8* GetTrainerClassNameFromId(u16 trainerId); const u8* GetTrainerNameFromId(u16 trainerId); diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index b6d21823e..da58a2d83 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -1,6 +1,8 @@ #ifndef GUARD_POKEMON_ICON_H #define GUARD_POKEMON_ICON_H +#include "global.h" + const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo); const u16 *GetValidMonIconPalettePtr(u16 speciesId); u16 sub_80D2E84(u16 speciesId); diff --git a/include/pokemon_item_effects.h b/include/pokemon_item_effects.h index 505cc0f25..e02d976b2 100644 --- a/include/pokemon_item_effects.h +++ b/include/pokemon_item_effects.h @@ -55,8 +55,8 @@ struct PokemonItemEffect /*field 6 u8 value; }; -*/ bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 itemId, u8 partyId, u8 monMoveIndex, u8 a5); +*/ #endif // GUARD_POKEMON_ITEM_EFFECTS diff --git a/include/pokemon_size_record.h b/include/pokemon_size_record.h index f61286bd4..3fa448cbb 100644 --- a/include/pokemon_size_record.h +++ b/include/pokemon_size_record.h @@ -1,6 +1,8 @@ #ifndef GUARD_POKEMON_SIZE_RECORD_H #define GUARD_POKEMON_SIZE_RECORD_H +#include "global.h" + void InitSeedotSizeRecord(void); void GetSeedotSizeRecordInfo(void); void CompareSeedotSize(void); diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 04d739314..5b2d2052b 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -1,6 +1,8 @@ #ifndef GUARD_POKEMON_STORAGE_SYSTEM_H #define GUARD_POKEMON_STORAGE_SYSTEM_H +#include "global.h" + #define TOTAL_BOXES_COUNT 14 #define IN_BOX_COUNT 30 diff --git a/include/pokenav.h b/include/pokenav.h index 06676610a..ad95873b1 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -1,6 +1,8 @@ #ifndef GUARD_POKENAV_H #define GUARD_POKENAV_H +#include "global.h" + bool8 sub_81D5C18(void); #endif //GUARD_POKENAV_H diff --git a/include/quest_log.h b/include/quest_log.h index f3fc04f41..90eb290ca 100644 --- a/include/quest_log.h +++ b/include/quest_log.h @@ -1,6 +1,8 @@ #ifndef GUARD_QUEST_LOG_H #define GUARD_QUEST_LOG_H +#include "global.h" + struct UnkStruct_3005E90 { u8 unk_0; diff --git a/include/quest_log_8150454.h b/include/quest_log_8150454.h index 05bebdd75..adf5d193e 100644 --- a/include/quest_log_8150454.h +++ b/include/quest_log_8150454.h @@ -1,6 +1,8 @@ #ifndef GUARD_QUEST_LOG_8150454_H #define GUARD_QUEST_LOG_8150454_H +#include "global.h" + void sub_8150454(void); #endif //GUARD_QUEST_LOG_8150454_H diff --git a/include/random.h b/include/random.h index 79a9d71dc..139316f9d 100644 --- a/include/random.h +++ b/include/random.h @@ -1,6 +1,8 @@ #ifndef GUARD_RANDOM_H #define GUARD_RANDOM_H +#include "global.h" + extern u32 gRngValue; extern u32 gRng2Value; diff --git a/include/region_map.h b/include/region_map.h index eb84a71b1..93ad5541d 100644 --- a/include/region_map.h +++ b/include/region_map.h @@ -1,6 +1,8 @@ #ifndef GUARD_REGION_MAP_H #define GUARD_REGION_MAP_H +#include "global.h" + #include "bg.h" // Exported type declarations diff --git a/include/reshow_battle_screen.h b/include/reshow_battle_screen.h index c22135280..9d1ec30f2 100644 --- a/include/reshow_battle_screen.h +++ b/include/reshow_battle_screen.h @@ -1,6 +1,8 @@ #ifndef GUARD_RESHOW_BATTLE_SCREEN_H #define GUARD_RESHOW_BATTLE_SCREEN_H +#include "global.h" + void nullsub_35(void); void ReshowBattleScreenAfterMenu(void); diff --git a/include/roamer.h b/include/roamer.h index ba1b09b54..5ec0a17fc 100644 --- a/include/roamer.h +++ b/include/roamer.h @@ -1,6 +1,8 @@ #ifndef GUARD_ROAMER_H #define GUARD_ROAMER_H +#include "global.h" + void ClearRoamerData(void); void ClearRoamerLocationData(void); void InitRoamer(void); diff --git a/include/rom6.h b/include/rom6.h index 6d20752e2..753c07305 100644 --- a/include/rom6.h +++ b/include/rom6.h @@ -1,6 +1,8 @@ #ifndef GUARD_ROM6_H #define GUARD_ROM6_H +#include "global.h" + void sub_81357FC(u8, void(void)); u8 GetLeadMonIndex(void); u8 GetSSTidalLocation(u8 *grp, u8 *num, s16 *x, s16 *y); diff --git a/include/rom_818CFC8.h b/include/rom_818CFC8.h index 1d0626b2b..048825778 100644 --- a/include/rom_818CFC8.h +++ b/include/rom_818CFC8.h @@ -5,6 +5,8 @@ #ifndef GUARD_ROM_818CFC8_H #define GUARD_ROM_818CFC8_H +#include "global.h" + bool8 InBattlePyramid(void); u8 sub_81AAA40(void); diff --git a/include/rom_81BE66C.h b/include/rom_81BE66C.h index 5b4f80249..fa439d8da 100644 --- a/include/rom_81BE66C.h +++ b/include/rom_81BE66C.h @@ -5,6 +5,8 @@ #ifndef GUARD_ROM_81BE66C_H #define GUARD_ROM_81BE66C_H +#include "global.h" + bool32 InTrainerHill(void); bool8 FieldObjectIsFarawayIslandMew(struct MapObject *); u32 sub_81D427C(void); diff --git a/include/safari_zone.h b/include/safari_zone.h index 9a81894b8..b20555a8c 100644 --- a/include/safari_zone.h +++ b/include/safari_zone.h @@ -1,6 +1,8 @@ #ifndef GUARD_SAFARI_ZONE_H #define GUARD_SAFARI_ZONE_H +#include "global.h" + extern u8 gNumSafariBalls; bool32 GetSafariZoneFlag(void); diff --git a/include/save.h b/include/save.h index 29524a7e2..f547230b9 100644 --- a/include/save.h +++ b/include/save.h @@ -1,6 +1,8 @@ #ifndef GUARD_SAVE_H #define GUARD_SAVE_H +#include "global.h" + #define NUM_SECTORS 32 // defined in agb_flash but not in a header #define SAVE_STATUS_EMPTY 0 diff --git a/include/save_location.h b/include/save_location.h index 95b3a7d7d..69b39ea53 100644 --- a/include/save_location.h +++ b/include/save_location.h @@ -1,6 +1,8 @@ #ifndef GUARD_SAVE_LOCATION_H #define GUARD_SAVE_LOCATION_H +#include "global.h" + bool32 sub_81AFCEC(void); void TrySetMapSaveWarpStatus(void); void sub_81AFDA0(void); diff --git a/include/script.h b/include/script.h index 2b5f8c2ce..9e26b8a28 100644 --- a/include/script.h +++ b/include/script.h @@ -1,6 +1,8 @@ #ifndef GUARD_SCRIPT_H #define GUARD_SCRIPT_H +#include "global.h" + struct ScriptContext; typedef bool8 (*ScrCmdFunc)(struct ScriptContext *); diff --git a/include/script_menu.h b/include/script_menu.h index 717eda041..1e95570b3 100644 --- a/include/script_menu.h +++ b/include/script_menu.h @@ -1,6 +1,8 @@ #ifndef GUARD_SCRIPT_MENU_H #define GUARD_SCRIPT_MENU_H +#include "global.h" + extern const u8 *const gUnknown_0858BAF0[9]; bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 var3, u8 var4); diff --git a/include/script_movement.h b/include/script_movement.h index 4c3fa6002..ae446812e 100644 --- a/include/script_movement.h +++ b/include/script_movement.h @@ -1,6 +1,8 @@ #ifndef GUARD_SCRIPT_MOVEMENT_H #define GUARD_SCRIPT_MOVEMENT_H +#include "global.h" + bool8 ScriptMovement_StartObjectMovementScript(u8, u8, u8, const u8 *); bool8 ScriptMovement_IsObjectMovementFinished(u8, u8, u8); void sub_80D338C(void); diff --git a/include/script_pokemon_80F8.h b/include/script_pokemon_80F8.h index 8dd7ed0c0..8a5bb12e1 100644 --- a/include/script_pokemon_80F8.h +++ b/include/script_pokemon_80F8.h @@ -1,6 +1,8 @@ #ifndef GUARD_SCRIPTPOKE80F8_H #define GUARD_SCRIPTPOKE80F8_H +#include "global.h" + void ShowContestWinner(void); u8 ScriptGiveMon(u16, u8, u16, u32, u32, u8); u8 ScriptGiveEgg(u16); diff --git a/include/script_pokemon_81B9.h b/include/script_pokemon_81B9.h index 1b8563ee6..d49095fcc 100644 --- a/include/script_pokemon_81B9.h +++ b/include/script_pokemon_81B9.h @@ -1,6 +1,8 @@ #ifndef GUARD_SCRIPTPOKE81B9_H #define GUARD_SCRIPTPOKE81B9_H +#include "global.h" + void sub_81B9404(void); #endif diff --git a/include/shop.h b/include/shop.h index d3e86408c..1046a590a 100644 --- a/include/shop.h +++ b/include/shop.h @@ -1,6 +1,8 @@ #ifndef GUARD_SHOP_H #define GUARD_SHOP_H +#include "global.h" + extern EWRAM_DATA struct ItemSlot gUnknown_02039F80[3]; void CreatePokemartMenu(const u16 *); diff --git a/include/slot_machine.h b/include/slot_machine.h index 8334e56fc..5c96384fa 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -1,6 +1,8 @@ #ifndef GUARD_SLOT_MACHINE_H #define GUARD_SLOT_MACHINE_H +#include "global.h" + void PlaySlotMachine(u8, void *); #endif // GUARD_SLOT_MACHINE_H diff --git a/include/songs.h b/include/songs.h index 5a1fff00c..f8d0fbf5b 100644 --- a/include/songs.h +++ b/include/songs.h @@ -1,6 +1,8 @@ #ifndef GUARD_SONGS_H #define GUARD_SONGS_H +#include "global.h" + enum { /*0x00*/ SE_STOP, diff --git a/include/sound.h b/include/sound.h index 7d47b7456..34fdfc839 100644 --- a/include/sound.h +++ b/include/sound.h @@ -1,6 +1,8 @@ #ifndef GUARD_SOUND_H #define GUARD_SOUND_H +#include "global.h" + void InitMapMusic(void); void MapMusicMain(void); void ResetMapMusic(void); diff --git a/include/sprite.h b/include/sprite.h index 170d77c3f..bc47f7100 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -1,6 +1,8 @@ #ifndef GUARD_SPRITE_H #define GUARD_SPRITE_H +#include "global.h" + #define MAX_SPRITES 64 struct SpriteSheet diff --git a/include/start_menu.h b/include/start_menu.h index 6c7cb3237..f5b38ee5e 100644 --- a/include/start_menu.h +++ b/include/start_menu.h @@ -1,6 +1,8 @@ #ifndef GUARD_START_MENU_H #define GUARD_START_MENU_H +#include "global.h" + void AppendToList(u8* list, u8* pos, u8 newEntry); #endif // GUARD_START_MENU_H diff --git a/include/string_util.h b/include/string_util.h index 2354c9ded..32e74e031 100644 --- a/include/string_util.h +++ b/include/string_util.h @@ -1,6 +1,8 @@ #ifndef GUARD_STRING_UTIL_H #define GUARD_STRING_UTIL_H +#include "global.h" + enum StringConvertMode { STR_CONV_MODE_LEFT_ALIGN, diff --git a/include/strings.h b/include/strings.h index 8b218e1e9..90c84c9b9 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1,6 +1,8 @@ #ifndef GUARD_STRINGS_H #define GUARD_STRINGS_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/task.h b/include/task.h index a199ba128..cd3deb544 100644 --- a/include/task.h +++ b/include/task.h @@ -1,6 +1,8 @@ #ifndef GUARD_TASK_H #define GUARD_TASK_H +#include "global.h" + #define NUM_TASKS 16 typedef void (*TaskFunc)(u8 taskId); diff --git a/include/text.h b/include/text.h index 7853598f8..2bda590c1 100644 --- a/include/text.h +++ b/include/text.h @@ -1,6 +1,8 @@ #ifndef GUARD_TEXT_H #define GUARD_TEXT_H +#include "global.h" + #define CHAR_SPACE 0x00 #define CHAR_0 0xA1 #define CHAR_QUESTION_MARK 0xAC diff --git a/include/text_window.h b/include/text_window.h index 3514296c1..72ce50efc 100644 --- a/include/text_window.h +++ b/include/text_window.h @@ -1,6 +1,8 @@ #ifndef GUARD_TEXT_WINDOW_H #define GUARD_TEXT_WINDOW_H +#include "global.h" + struct TilesPal { u32* tiles; diff --git a/include/tilesets.h b/include/tilesets.h index 70609c046..03274be60 100644 --- a/include/tilesets.h +++ b/include/tilesets.h @@ -1,6 +1,8 @@ #ifndef GUARD_tilesets_H #define GUARD_tilesets_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/trainer_classes.h b/include/trainer_classes.h index e5e26b359..3b93c3814 100644 --- a/include/trainer_classes.h +++ b/include/trainer_classes.h @@ -1,6 +1,8 @@ #ifndef GUARD_TRAINER_CLASSES_H #define GUARD_TRAINER_CLASSES_H +#include "global.h" + enum { CLASS_PKMN_TRAINER0, // 0 diff --git a/include/trainer_front_sprites.h b/include/trainer_front_sprites.h index 3259bec88..8855041a5 100644 --- a/include/trainer_front_sprites.h +++ b/include/trainer_front_sprites.h @@ -1,6 +1,8 @@ #ifndef GUARD_TRAINER_FRONT_SPRITES_H #define GUARD_TRAINER_FRONT_SPRITES_H +#include "global.h" + enum { TRAINER_FRONT_PIC_HIKER, @@ -54,8 +56,8 @@ enum TRAINER_FRONT_PIC_SCHOOL_KID_M, TRAINER_FRONT_PIC_SCHOOL_KID_F, TRAINER_FRONT_PIC_SR_JR, - TRAINER_FRONT_PIC_POKÉFAN_M, - TRAINER_FRONT_PIC_POKÉFAN_F, + TRAINER_FRONT_PIC_POKéFAN_M, + TRAINER_FRONT_PIC_POKéFAN_F, TRAINER_FRONT_PIC_YOUNGSTER, TRAINER_FRONT_PIC_WALLACE, TRAINER_FRONT_PIC_FISHERMAN, diff --git a/include/trainer_ids.h b/include/trainer_ids.h index 65c80187f..ebcb6e4e5 100644 --- a/include/trainer_ids.h +++ b/include/trainer_ids.h @@ -1,6 +1,8 @@ #ifndef GUARD_TRAINER_IDS_H #define GUARD_TRAINER_IDS_H +#include "global.h" + #define NO_OF_TRAINERS 854 #define TRAINER_ID_STEVEN 804 diff --git a/include/trainer_see.h b/include/trainer_see.h index ab035d9f8..f87189377 100644 --- a/include/trainer_see.h +++ b/include/trainer_see.h @@ -1,6 +1,8 @@ #ifndef GUARD_TRAINER_SEE_H #define GUARD_TRAINER_SEE_H +#include "global.h" + void sub_80B4578(struct MapObject *); u8 sub_80B47BC(void); void sub_8155D78(struct MapObject *); diff --git a/include/trig.h b/include/trig.h index a2f98a3e6..92388e05c 100644 --- a/include/trig.h +++ b/include/trig.h @@ -1,6 +1,8 @@ #ifndef GUARD_TRIG_H #define GUARD_TRIG_H +#include "global.h" + extern const s16 gSineTable[]; s16 Sin(s16 index, s16 amplitude); diff --git a/include/unk_8159F40.h b/include/unk_8159F40.h index b7666766f..f0e85d416 100644 --- a/include/unk_8159F40.h +++ b/include/unk_8159F40.h @@ -1,6 +1,8 @@ #ifndef GUARD_UNK_8159F40_H #define GUARD_UNK_8159F40_H +#include "global.h" + void sub_815A008(struct QuestLog *); void sub_815A1F8(struct QuestLog *, struct MapObjectTemplate *); diff --git a/include/unk_text_util.h b/include/unk_text_util.h index 72243a90e..750c0541e 100644 --- a/include/unk_text_util.h +++ b/include/unk_text_util.h @@ -1,6 +1,8 @@ #ifndef GUARD_UNK_TEXT_UTIL_H #define GUARD_UNK_TEXT_UTIL_H +#include "global.h" + void UnkTextUtil_Reset(void); void UnkTextUtil_SetPtrI(u8 idx, const u8 *ptr); u8 *UnkTextUtil_StringExpandPlaceholders(u8 *dest, const u8 *src); diff --git a/include/unknown_task.h b/include/unknown_task.h index 9c6968c30..429e58aad 100644 --- a/include/unknown_task.h +++ b/include/unknown_task.h @@ -1,6 +1,8 @@ #ifndef GUARD_unknown_task_H #define GUARD_unknown_task_H +#include "global.h" + // Exported type declarations struct UnknownTaskStruct { diff --git a/include/util.h b/include/util.h index 63887b13f..a22cc77fa 100644 --- a/include/util.h +++ b/include/util.h @@ -1,6 +1,8 @@ #ifndef GUARD_UTIL_H #define GUARD_UTIL_H +#include "global.h" + #include "sprite.h" extern const u8 gMiscBlank_Gfx[]; // unused in Emerald diff --git a/include/wild_encounter.h b/include/wild_encounter.h index a1e26fe45..2186e0b4f 100644 --- a/include/wild_encounter.h +++ b/include/wild_encounter.h @@ -1,6 +1,8 @@ #ifndef GUARD_WILD_ENCOUNTER_H #define GUARD_WILD_ENCOUNTER_H +#include "global.h" + #define LAND_WILD_COUNT 12 #define WATER_WILD_COUNT 5 #define ROCK_WILD_COUNT 5 diff --git a/include/window.h b/include/window.h index 1e29119ea..2705a7895 100644 --- a/include/window.h +++ b/include/window.h @@ -1,6 +1,8 @@ #ifndef GUARD_WINDOW_H #define GUARD_WINDOW_H +#include "global.h" + enum { WINDOW_PRIORITY, diff --git a/src/pokemon.c b/src/pokemon.c index ff7c907ca..5cd2cd2d7 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1,3 +1,5 @@ +#define IS_POKEMON_C + #include "global.h" #include "pokemon.h" #include "random.h" diff --git a/src/quest_log.c b/src/quest_log.c index 06780ff21..5cc458e26 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -769,8 +769,8 @@ void sub_8110D48(u8 a0) { struct QuestLog * questLog = &gSaveBlock1Ptr->questLog[a0]; - CpuCopy16(gSaveBlock1Ptr->flags, questLog->unk_148, FLAGS_COUNT * sizeof(u8)); - CpuCopy16(gSaveBlock1Ptr->vars, questLog->unk_268, VARS_COUNT * sizeof(u16)); + CpuCopy16(gSaveBlock1Ptr->flags, questLog->flags, FLAGS_COUNT * sizeof(u8)); + CpuCopy16(gSaveBlock1Ptr->vars, questLog->vars, VARS_COUNT * sizeof(u16)); } void sub_8110D94(void) @@ -1005,8 +1005,8 @@ void sub_81113E4(void) { struct QuestLog * questLog = &gSaveBlock1Ptr->questLog[gUnknown_203ADF8]; - CpuCopy16(questLog->unk_148, gSaveBlock1Ptr->flags, FLAGS_COUNT * sizeof(u8)); - CpuCopy16(questLog->unk_268, gSaveBlock1Ptr->vars, VARS_COUNT * sizeof(u16)); + CpuCopy16(questLog->flags, gSaveBlock1Ptr->flags, FLAGS_COUNT * sizeof(u8)); + CpuCopy16(questLog->vars, gSaveBlock1Ptr->vars, VARS_COUNT * sizeof(u16)); sub_8111688(); } diff --git a/src/text.c b/src/text.c index 7fb0ab034..d4d25b5aa 100644 --- a/src/text.c +++ b/src/text.c @@ -1479,17 +1479,17 @@ u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing) return (u8)(GetFontAttribute(fontId, 0) + letterSpacing) * width; } -u32 (*GetFontWidthFunc(u8 glyphId))(u16, bool32) +u32 (*GetFontWidthFunc(u8 glyphId))(u16 _glyphId, bool32 _isJapanese) { u32 i; for (i = 0; i < 7; ++i) { if (glyphId == gGlyphWidthFuncs[i].font_id) - return gGlyphWidthFuncs[i].func; + return *gGlyphWidthFuncs[i].func; } - return 0; + return NULL; } u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing) From a6b5d09ddfa6bd047848e023d50124e4aff86e5e Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 10 Nov 2018 18:28:24 -0500 Subject: [PATCH 095/222] More changes for modern gcc compat --- Makefile | 5 ----- ld_script.txt | 2 ++ src/dma3_manager.c | 2 +- src/quest_log.c | 4 ++-- src/script.c | 22 +++++++++++----------- src/sound.c | 10 +++++----- sym_bss.txt | 7 ++----- sym_ewram.txt | 3 +-- 8 files changed, 24 insertions(+), 31 deletions(-) diff --git a/Makefile b/Makefile index 0b83cb5c5..b5429de2c 100644 --- a/Makefile +++ b/Makefile @@ -108,11 +108,6 @@ sound/%.bin: sound/%.aif ; $(AIF) $< $@ sound/songs/%.s: sound/songs/%.mid cd $(@D) && ../../$(MID) $( Date: Mon, 19 Nov 2018 17:54:14 -0500 Subject: [PATCH 096/222] through sub_8114A4C --- asm/quest_log.s | 267 ------------------------------------------------ src/quest_log.c | 113 ++++++++++++++++++++ 2 files changed, 113 insertions(+), 267 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index a5b8ae30e..f9b059837 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,273 +5,6 @@ .text - thumb_func_start sub_811488C -sub_811488C: @ 811488C - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - movs r0, 0x14 - adds r1, r2, 0 - bl sub_8113DE0 - adds r2, r0, 0 - cmp r2, 0 - beq _081148B4 - ldrh r0, [r4] - strh r0, [r2] - ldrh r0, [r4, 0x2] - strh r0, [r2, 0x2] - ldrb r0, [r4, 0x4] - strb r0, [r2, 0x4] - ldrb r0, [r4, 0x5] - strb r0, [r2, 0x5] - adds r0, r2, 0x6 - b _081148B6 -_081148B4: - movs r0, 0 -_081148B6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811488C - - thumb_func_start sub_81148BC -sub_81148BC: @ 81148BC - push {r4,r5,lr} - adds r1, r0, 0 - movs r0, 0x14 - bl sub_8113E88 - adds r4, r0, 0 - adds r5, r4, 0x4 - bl UnkTextUtil_Reset - ldrb r0, [r4, 0x4] - bl GetBoxNamePtr - adds r1, r0, 0 - movs r0, 0 - bl UnkTextUtil_SetPtrI - ldrh r0, [r4] - movs r1, 0 - movs r2, 0x1 - bl QuestLog_AutoGetSpeciesName - ldrb r0, [r5, 0x1] - bl GetBoxNamePtr - adds r1, r0, 0 - movs r0, 0x2 - bl UnkTextUtil_SetPtrI - ldrh r0, [r4, 0x2] - movs r1, 0 - movs r2, 0x3 - bl QuestLog_AutoGetSpeciesName - ldr r0, _08114910 @ =gStringVar4 - ldr r1, _08114914 @ =gUnknown_841A566 - bl UnkTextUtil_StringExpandPlaceholders - adds r4, 0x6 - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08114910: .4byte gStringVar4 -_08114914: .4byte gUnknown_841A566 - thumb_func_end sub_81148BC - - thumb_func_start sub_8114918 -sub_8114918: @ 8114918 - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - movs r0, 0x15 - adds r1, r2, 0 - bl sub_8113DE0 - adds r2, r0, 0 - cmp r2, 0 - beq _0811493C - ldrh r0, [r4] - strh r0, [r2] - ldrh r0, [r4, 0x2] - strh r0, [r2, 0x2] - ldrb r0, [r4, 0x4] - strb r0, [r2, 0x4] - adds r0, r2, 0x6 - b _0811493E -_0811493C: - movs r0, 0 -_0811493E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8114918 - - thumb_func_start sub_8114944 -sub_8114944: @ 8114944 - push {r4,lr} - adds r1, r0, 0 - movs r0, 0x15 - bl sub_8113E88 - adds r4, r0, 0 - bl UnkTextUtil_Reset - ldrb r0, [r4, 0x4] - bl GetBoxNamePtr - adds r1, r0, 0 - movs r0, 0 - bl UnkTextUtil_SetPtrI - ldrh r0, [r4] - movs r1, 0 - movs r2, 0x1 - bl QuestLog_AutoGetSpeciesName - ldrh r0, [r4, 0x2] - movs r1, 0 - movs r2, 0x2 - bl QuestLog_AutoGetSpeciesName - ldr r0, _08114988 @ =gStringVar4 - ldr r1, _0811498C @ =gUnknown_841A5D9 - bl UnkTextUtil_StringExpandPlaceholders - adds r4, 0x6 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08114988: .4byte gStringVar4 -_0811498C: .4byte gUnknown_841A5D9 - thumb_func_end sub_8114944 - - thumb_func_start sub_8114990 -sub_8114990: @ 8114990 - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - movs r0, 0x16 - adds r1, r2, 0 - bl sub_8113DE0 - adds r2, r0, 0 - cmp r2, 0 - bne _081149A8 - movs r0, 0 - b _081149CA -_081149A8: - adds r1, r2, 0x4 - ldrb r0, [r4, 0x4] - cmp r0, 0xE - bne _081149BC - ldrh r0, [r4, 0x2] - strh r0, [r2] - ldrh r0, [r4] - strh r0, [r2, 0x2] - ldrb r0, [r4, 0x5] - b _081149C6 -_081149BC: - ldrh r0, [r4] - strh r0, [r2] - ldrh r0, [r4, 0x2] - strh r0, [r2, 0x2] - ldrb r0, [r4, 0x4] -_081149C6: - strb r0, [r2, 0x4] - adds r0, r1, 0x2 -_081149CA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8114990 - - thumb_func_start sub_81149D0 -sub_81149D0: @ 81149D0 - push {r4,lr} - adds r1, r0, 0 - movs r0, 0x16 - bl sub_8113E88 - adds r4, r0, 0 - bl UnkTextUtil_Reset - ldrb r0, [r4, 0x4] - bl GetBoxNamePtr - adds r1, r0, 0 - movs r0, 0 - bl UnkTextUtil_SetPtrI - ldrh r0, [r4] - movs r1, 0 - movs r2, 0x1 - bl QuestLog_AutoGetSpeciesName - ldrh r0, [r4, 0x2] - movs r1, 0 - movs r2, 0x2 - bl QuestLog_AutoGetSpeciesName - ldr r0, _08114A14 @ =gStringVar4 - ldr r1, _08114A18 @ =gUnknown_841A60A - bl UnkTextUtil_StringExpandPlaceholders - adds r4, 0x6 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08114A14: .4byte gStringVar4 -_08114A18: .4byte gUnknown_841A60A - thumb_func_end sub_81149D0 - - thumb_func_start sub_8114A1C -sub_8114A1C: @ 8114A1C - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - movs r0, 0x17 - adds r1, r2, 0 - bl sub_8113DE0 - adds r2, r0, 0 - cmp r2, 0 - beq _08114A42 - ldrh r0, [r4] - strh r0, [r2] - adds r0, r2, 0x2 - ldrb r1, [r4, 0x4] - strb r1, [r2, 0x2] - ldrb r1, [r4, 0x5] - strb r1, [r0, 0x1] - adds r0, 0x2 - b _08114A44 -_08114A42: - movs r0, 0 -_08114A44: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8114A1C - - thumb_func_start sub_8114A4C -sub_8114A4C: @ 8114A4C - push {r4,r5,lr} - adds r1, r0, 0 - movs r0, 0x17 - bl sub_8113E88 - adds r4, r0, 0 - adds r5, r4, 0x2 - bl UnkTextUtil_Reset - ldrb r0, [r4, 0x2] - bl GetBoxNamePtr - adds r1, r0, 0 - movs r0, 0 - bl UnkTextUtil_SetPtrI - ldrh r0, [r4] - movs r1, 0 - movs r2, 0x1 - bl QuestLog_AutoGetSpeciesName - ldrb r0, [r5, 0x1] - bl GetBoxNamePtr - adds r1, r0, 0 - movs r0, 0x2 - bl UnkTextUtil_SetPtrI - ldr r0, _08114A98 @ =gStringVar4 - ldr r1, _08114A9C @ =gUnknown_841A59C - bl UnkTextUtil_StringExpandPlaceholders - adds r5, 0x2 - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08114A98: .4byte gStringVar4 -_08114A9C: .4byte gUnknown_841A59C - thumb_func_end sub_8114A4C - thumb_func_start sub_8114AA0 sub_8114AA0: @ 8114AA0 push {r4,lr} diff --git a/src/quest_log.c b/src/quest_log.c index 3388d9012..4dccdb890 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -4092,3 +4092,116 @@ const u16 * sub_8114834(const u16 * a0) a0 += 6; return a0; } + +u16 * sub_811488C(u16 * a0, const u16 * a1) +{ + a0 = sub_8113DE0(20, a0); + if (a0 == NULL) + return NULL; + a0[0] = a1[0]; + a0[1] = a1[1]; + *((u8 *)a0 + 4) = *((const u8 *)a1 + 4); + *((u8 *)a0 + 5) = *((const u8 *)a1 + 5); + return a0 + 3; +} + +const u16 * sub_81148BC(const u16 * a0) +{ + const u8 * boxIdxs; + a0 = sub_8113E88(20, a0); + boxIdxs = (const u8 *)a0 + 4; + UnkTextUtil_Reset(); + UnkTextUtil_SetPtrI(0, GetBoxNamePtr(boxIdxs[0])); + QuestLog_AutoGetSpeciesName(a0[0], NULL, 1); + UnkTextUtil_SetPtrI(2, GetBoxNamePtr(boxIdxs[1])); + QuestLog_AutoGetSpeciesName(a0[1], NULL, 3); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A566); + return a0 + 3; +} + +u16 * sub_8114918(u16 * a0, const u16 * a1) +{ + a0 = sub_8113DE0(21, a0); + if (a0 == NULL) + return NULL; + a0[0] = a1[0]; + a0[1] = a1[1]; + *((u8 *)a0 + 4) = *((const u8 *)a1 + 4); + return a0 + 3; +} + +const u16 * sub_8114944(const u16 * a0) +{ + const u8 * boxIdxs; + a0 = sub_8113E88(21, a0); + boxIdxs = (const u8 *)a0 + 4; + UnkTextUtil_Reset(); + UnkTextUtil_SetPtrI(0, GetBoxNamePtr(boxIdxs[0])); + QuestLog_AutoGetSpeciesName(a0[0], NULL, 1); + QuestLog_AutoGetSpeciesName(a0[1], NULL, 2); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A5D9); + return a0 + 3; +} + +u16 * sub_8114990(u16 * a0, const u16 * a1) +{ + u16 * r2; + u16 * ret; + r2 = sub_8113DE0(22, a0); + if (r2 == NULL) + return NULL; + ret = r2 + 2; + if (*((const u8 *)a1 + 4) == TOTAL_BOXES_COUNT) + { + r2[0] = a1[1]; + r2[1] = a1[0]; + *((u8 *)r2 + 4) = *((const u8 *)a1 + 5); + } + else + { + r2[0] = a1[0]; + r2[1] = a1[1]; + *((u8 *)r2 + 4) = *((const u8 *)a1 + 4); + } + return ret + 1; +} + +const u16 * sub_81149D0(const u16 * a0) +{ + const u8 * boxIdxs; + a0 = sub_8113E88(22, a0); + boxIdxs = (const u8 *)a0 + 4; + UnkTextUtil_Reset(); + UnkTextUtil_SetPtrI(0, GetBoxNamePtr(boxIdxs[0])); + QuestLog_AutoGetSpeciesName(a0[0], NULL, 1); + QuestLog_AutoGetSpeciesName(a0[1], NULL, 2); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A60A); + return a0 + 3; +} + +u16 * sub_8114A1C(u16 * a0, const u16 * a1) +{ + u16 * r2; + u16 * ret; + r2 = sub_8113DE0(23, a0); + if (r2 == NULL) + return NULL; + r2[0] = a1[0]; + ret = r2 + 1; + *((u8 *)ret + 0) = *((const u8 *)a1 + 4); + *((u8 *)ret + 1) = *((const u8 *)a1 + 5); + return ret + 1; +} + +const u16 * sub_8114A4C(const u16 * a0) +{ + const u8 * boxIdxs; + a0 = sub_8113E88(23, a0); + boxIdxs = (const u8 *)a0 + 2; + UnkTextUtil_Reset(); + UnkTextUtil_SetPtrI(0, GetBoxNamePtr(boxIdxs[0])); + QuestLog_AutoGetSpeciesName(a0[0], NULL, 1); + UnkTextUtil_SetPtrI(2, GetBoxNamePtr(boxIdxs[1])); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A59C); + return (const u16 *)boxIdxs + 1; +} From 251d031ec98c599dab50b28f0fe57c035e273dd1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 19 Nov 2018 18:14:31 -0500 Subject: [PATCH 097/222] through sub_8114CE4 --- asm/quest_log.s | 329 ------------------------------------------------ include/item.h | 1 + src/quest_log.c | 127 +++++++++++++++++++ 3 files changed, 128 insertions(+), 329 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index f9b059837..2b2b22c14 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,335 +5,6 @@ .text - thumb_func_start sub_8114AA0 -sub_8114AA0: @ 8114AA0 - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - movs r0, 0x18 - adds r1, r2, 0 - bl sub_8113DE0 - adds r2, r0, 0 - cmp r2, 0 - beq _08114AC0 - ldrh r0, [r4] - strh r0, [r2] - ldrb r0, [r4, 0x4] - strb r0, [r2, 0x2] - adds r0, r2, 0x4 - b _08114AC2 -_08114AC0: - movs r0, 0 -_08114AC2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8114AA0 - - thumb_func_start sub_8114AC8 -sub_8114AC8: @ 8114AC8 - push {r4,r5,lr} - adds r1, r0, 0 - movs r0, 0x18 - bl sub_8113E88 - adds r4, r0, 0 - adds r5, r4, 0x2 - bl UnkTextUtil_Reset - ldrb r0, [r4, 0x2] - bl GetBoxNamePtr - adds r1, r0, 0 - movs r0, 0 - bl UnkTextUtil_SetPtrI - ldrh r0, [r4] - movs r1, 0 - movs r2, 0x1 - bl QuestLog_AutoGetSpeciesName - ldr r0, _08114B04 @ =gStringVar4 - ldr r1, _08114B08 @ =gUnknown_841A5FA - bl UnkTextUtil_StringExpandPlaceholders - adds r5, 0x2 - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08114B04: .4byte gStringVar4 -_08114B08: .4byte gUnknown_841A5FA - thumb_func_end sub_8114AC8 - - thumb_func_start sub_8114B0C -sub_8114B0C: @ 8114B0C - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - movs r0, 0x19 - adds r1, r2, 0 - bl sub_8113DE0 - adds r2, r0, 0 - cmp r2, 0 - beq _08114B2C - ldrh r0, [r4] - strh r0, [r2] - ldrb r0, [r4, 0x4] - strb r0, [r2, 0x2] - adds r0, r2, 0x4 - b _08114B2E -_08114B2C: - movs r0, 0 -_08114B2E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8114B0C - - thumb_func_start sub_8114B34 -sub_8114B34: @ 8114B34 - push {r4,r5,lr} - adds r1, r0, 0 - movs r0, 0x19 - bl sub_8113E88 - adds r4, r0, 0 - adds r5, r4, 0x2 - bl UnkTextUtil_Reset - ldrb r0, [r4, 0x2] - bl GetBoxNamePtr - adds r1, r0, 0 - movs r0, 0 - bl UnkTextUtil_SetPtrI - ldrh r0, [r4] - movs r1, 0 - movs r2, 0x1 - bl QuestLog_AutoGetSpeciesName - ldr r0, _08114B70 @ =gStringVar4 - ldr r1, _08114B74 @ =gUnknown_841A632 - bl UnkTextUtil_StringExpandPlaceholders - adds r5, 0x2 - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08114B70: .4byte gStringVar4 -_08114B74: .4byte gUnknown_841A632 - thumb_func_end sub_8114B34 - - thumb_func_start sub_8114B78 -sub_8114B78: @ 8114B78 - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - movs r0, 0x1A - adds r1, r2, 0 - bl sub_8113DE0 - adds r2, r0, 0 - cmp r2, 0 - beq _08114B98 - ldrh r0, [r4] - strh r0, [r2] - ldrb r0, [r4, 0x4] - strb r0, [r2, 0x2] - adds r0, r2, 0x4 - b _08114B9A -_08114B98: - movs r0, 0 -_08114B9A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8114B78 - - thumb_func_start sub_8114BA0 -sub_8114BA0: @ 8114BA0 - push {r4,r5,lr} - adds r1, r0, 0 - movs r0, 0x1A - bl sub_8113E88 - adds r4, r0, 0 - adds r5, r4, 0x2 - bl UnkTextUtil_Reset - ldrh r0, [r4] - movs r1, 0 - movs r2, 0 - bl QuestLog_AutoGetSpeciesName - ldrb r0, [r4, 0x2] - bl GetBoxNamePtr - adds r1, r0, 0 - movs r0, 0x1 - bl UnkTextUtil_SetPtrI - ldr r0, _08114BDC @ =gStringVar4 - ldr r1, _08114BE0 @ =gUnknown_841A64F - bl UnkTextUtil_StringExpandPlaceholders - adds r5, 0x2 - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08114BDC: .4byte gStringVar4 -_08114BE0: .4byte gUnknown_841A64F - thumb_func_end sub_8114BA0 - - thumb_func_start sub_8114BE4 -sub_8114BE4: @ 8114BE4 - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - movs r0, 0x1B - adds r1, r2, 0 - bl sub_8113DE0 - adds r2, r0, 0 - cmp r2, 0 - beq _08114C04 - ldrb r0, [r4, 0x4] - strb r0, [r2] - ldrb r0, [r4, 0x5] - strb r0, [r2, 0x1] - adds r0, r2, 0x2 - b _08114C06 -_08114C04: - movs r0, 0 -_08114C06: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8114BE4 - - thumb_func_start sub_8114C0C -sub_8114C0C: @ 8114C0C - push {r4,lr} - adds r1, r0, 0 - movs r0, 0x1B - bl sub_8113E88 - adds r4, r0, 0 - bl UnkTextUtil_Reset - ldrb r0, [r4] - bl GetBoxNamePtr - adds r1, r0, 0 - movs r0, 0 - bl UnkTextUtil_SetPtrI - ldrb r0, [r4] - ldrb r1, [r4, 0x1] - cmp r0, r1 - bne _08114C40 - ldr r1, _08114C3C @ =gUnknown_841A694 - movs r0, 0x1 - bl UnkTextUtil_SetPtrI - b _08114C4E - .align 2, 0 -_08114C3C: .4byte gUnknown_841A694 -_08114C40: - ldrb r0, [r4, 0x1] - bl GetBoxNamePtr - adds r1, r0, 0 - movs r0, 0x1 - bl UnkTextUtil_SetPtrI -_08114C4E: - ldr r0, _08114C60 @ =gStringVar4 - ldr r1, _08114C64 @ =gUnknown_841A66E - bl UnkTextUtil_StringExpandPlaceholders - adds r0, r4, 0x2 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08114C60: .4byte gStringVar4 -_08114C64: .4byte gUnknown_841A66E - thumb_func_end sub_8114C0C - - thumb_func_start sub_8114C68 -sub_8114C68: @ 8114C68 - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - movs r0, 0x1C - adds r1, r2, 0 - bl sub_8113DE0 - adds r2, r0, 0 - cmp r2, 0 - beq _08114C84 - ldrh r0, [r4] - strh r0, [r2] - adds r0, r2, 0x2 - b _08114C86 -_08114C84: - movs r0, 0 -_08114C86: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8114C68 - - thumb_func_start sub_8114C8C -sub_8114C8C: @ 8114C8C - push {r4,lr} - adds r1, r0, 0 - movs r0, 0x1C - bl sub_8113E88 - adds r4, r0, 0 - ldrh r0, [r4] - ldr r1, _08114CB4 @ =gStringVar1 - bl sub_8099E90 - ldr r0, _08114CB8 @ =gStringVar4 - ldr r1, _08114CBC @ =gUnknown_841A391 - bl StringExpandPlaceholders - adds r4, 0x2 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08114CB4: .4byte gStringVar1 -_08114CB8: .4byte gStringVar4 -_08114CBC: .4byte gUnknown_841A391 - thumb_func_end sub_8114C8C - - thumb_func_start sub_8114CC0 -sub_8114CC0: @ 8114CC0 - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - movs r0, 0x1D - adds r1, r2, 0 - bl sub_8113DE0 - adds r2, r0, 0 - cmp r2, 0 - beq _08114CDC - ldrh r0, [r4] - strh r0, [r2] - adds r0, r2, 0x2 - b _08114CDE -_08114CDC: - movs r0, 0 -_08114CDE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8114CC0 - - thumb_func_start sub_8114CE4 -sub_8114CE4: @ 8114CE4 - push {r4,lr} - adds r1, r0, 0 - movs r0, 0x1D - bl sub_8113E88 - adds r4, r0, 0 - ldrh r0, [r4] - ldr r1, _08114D0C @ =gStringVar1 - bl sub_8099E90 - ldr r0, _08114D10 @ =gStringVar4 - ldr r1, _08114D14 @ =gUnknown_841A3DA - bl StringExpandPlaceholders - adds r4, 0x2 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08114D0C: .4byte gStringVar1 -_08114D10: .4byte gStringVar4 -_08114D14: .4byte gUnknown_841A3DA - thumb_func_end sub_8114CE4 - thumb_func_start sub_8114D18 sub_8114D18: @ 8114D18 push {r4,lr} diff --git a/include/item.h b/include/item.h index 199b3b65e..75c56c94d 100644 --- a/include/item.h +++ b/include/item.h @@ -62,5 +62,6 @@ u8 ItemId_GetSecondaryId(u16 itemId); u16 itemid_get_market_price(u16 itemId); void sub_809A2DC(void); void sub_809A2A4(void); +void sub_8099E90(u16, u8 *); #endif // ITEM_H diff --git a/src/quest_log.c b/src/quest_log.c index 4dccdb890..f4b964d96 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -4205,3 +4205,130 @@ const u16 * sub_8114A4C(const u16 * a0) UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A59C); return (const u16 *)boxIdxs + 1; } + +u16 * sub_8114AA0(u16 * a0, const u16 * a1) +{ + u16 * r2; + r2 = sub_8113DE0(24, a0); + if (r2 == NULL) + return NULL; + r2[0] = a1[0]; + *((u8 *)r2 + 2) = *((const u8 *)a1 + 4); + return r2 + 2; +} + +const u16 * sub_8114AC8(const u16 * a0) +{ + const u8 * boxIdxs; + a0 = sub_8113E88(24, a0); + boxIdxs = (const u8 *)a0 + 2; + UnkTextUtil_Reset(); + UnkTextUtil_SetPtrI(0, GetBoxNamePtr(boxIdxs[0])); + QuestLog_AutoGetSpeciesName(a0[0], NULL, 1); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A5FA); + return (const u16 *)boxIdxs + 1; +} + +u16 * sub_8114B0C(u16 * a0, const u16 * a1) +{ + u16 * r2; + r2 = sub_8113DE0(25, a0); + if (r2 == NULL) + return NULL; + r2[0] = a1[0]; + *((u8 *)r2 + 2) = *((const u8 *)a1 + 4); + return r2 + 2; +} + +const u16 * sub_8114B34(const u16 * a0) +{ + const u8 * boxIdxs; + a0 = sub_8113E88(25, a0); + boxIdxs = (const u8 *)a0 + 2; + UnkTextUtil_Reset(); + UnkTextUtil_SetPtrI(0, GetBoxNamePtr(boxIdxs[0])); + QuestLog_AutoGetSpeciesName(a0[0], NULL, 1); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A632); + return (const u16 *)boxIdxs + 1; +} + +u16 * sub_8114B78(u16 * a0, const u16 * a1) +{ + u16 * r2; + r2 = sub_8113DE0(26, a0); + if (r2 == NULL) + return NULL; + r2[0] = a1[0]; + *((u8 *)r2 + 2) = *((const u8 *)a1 + 4); + return r2 + 2; +} + +const u16 * sub_8114BA0(const u16 * a0) +{ + const u8 * boxIdxs; + a0 = sub_8113E88(26, a0); + boxIdxs = (const u8 *)a0 + 2; + UnkTextUtil_Reset(); + QuestLog_AutoGetSpeciesName(a0[0], NULL, 0); + UnkTextUtil_SetPtrI(1, GetBoxNamePtr(boxIdxs[0])); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A64F); + return (const u16 *)boxIdxs + 1; +} + +u16 * sub_8114BE4(u16 * a0, const u16 * a1) +{ + u16 * r2; + r2 = sub_8113DE0(27, a0); + if (r2 == NULL) + return NULL; + *((u8 *)r2 + 0) = *((const u8 *)a1 + 4); + *((u8 *)r2 + 1) = *((const u8 *)a1 + 5); + return r2 + 1; +} + +const u16 * sub_8114C0C(const u16 * a0) +{ + const u16 *r4 = sub_8113E88(27, a0); + UnkTextUtil_Reset(); + UnkTextUtil_SetPtrI(0, GetBoxNamePtr(*((const u8 *)r4 + 0))); + if (*((const u8 *)r4 + 0) == *((const u8 *)r4 + 1)) + UnkTextUtil_SetPtrI(1, gUnknown_841A694); + else + UnkTextUtil_SetPtrI(1, GetBoxNamePtr(*((const u8 *)r4 + 1))); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A66E); + return r4 + 1; +} + +u16 * sub_8114C68(u16 * a0, const u16 * a1) +{ + a0 = sub_8113DE0(28, a0); + if (a0 == NULL) + return NULL; + a0[0] = a1[0]; + return a0 + 1; +} + +const u16 * sub_8114C8C(const u16 * a0) +{ + const u16 *r4 = sub_8113E88(28, a0); + sub_8099E90(r4[0], gStringVar1); + StringExpandPlaceholders(gStringVar4, gUnknown_841A391); + return r4 + 1; +} + +u16 * sub_8114CC0(u16 * a0, const u16 * a1) +{ + a0 = sub_8113DE0(29, a0); + if (a0 == NULL) + return NULL; + a0[0] = a1[0]; + return a0 + 1; +} + +const u16 * sub_8114CE4(const u16 * a0) +{ + const u16 *r4 = sub_8113E88(29, a0); + sub_8099E90(r4[0], gStringVar1); + StringExpandPlaceholders(gStringVar4, gUnknown_841A3DA); + return r4 + 1; +} From a38bbb8604f9927c5eeb45dfa57a133a69b952ae Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 19 Nov 2018 18:28:02 -0500 Subject: [PATCH 098/222] through sub_8114D68 --- asm/quest_log.s | 103 ------------------------------------------------ src/quest_log.c | 35 ++++++++++++++++ 2 files changed, 35 insertions(+), 103 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 2b2b22c14..ddde56738 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,109 +5,6 @@ .text - thumb_func_start sub_8114D18 -sub_8114D18: @ 8114D18 - push {r4,lr} - adds r4, r2, 0 - lsls r0, 16 - lsrs r0, 16 - bl sub_8113DE0 - adds r1, r0, 0 - cmp r1, 0 - beq _08114D44 - ldrh r0, [r4, 0x2] - strh r0, [r1] - ldrh r0, [r4, 0x4] - strh r0, [r1, 0x2] - ldrh r0, [r4] - strh r0, [r1, 0x4] - ldrb r0, [r4, 0x7] - strb r0, [r1, 0x6] - ldrb r0, [r4, 0x6] - strb r0, [r1, 0x7] - adds r0, r1, 0 - adds r0, 0x8 - b _08114D46 -_08114D44: - movs r0, 0 -_08114D46: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8114D18 - - thumb_func_start sub_8114D4C -sub_8114D4C: @ 8114D4C - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldr r1, _08114D64 @ =gUnknown_203B048 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x1E - adds r1, r3, 0 - bl sub_8114D18 - pop {r1} - bx r1 - .align 2, 0 -_08114D64: .4byte gUnknown_203B048 - thumb_func_end sub_8114D4C - - thumb_func_start sub_8114D68 -sub_8114D68: @ 8114D68 - push {r4-r6,lr} - adds r1, r0, 0 - movs r0, 0x1E - bl sub_8113E88 - adds r4, r0, 0 - adds r6, r4, 0x6 - bl UnkTextUtil_Reset - ldr r5, _08114DD4 @ =gStringVar1 - ldrb r1, [r4, 0x6] - adds r0, r5, 0 - bl sub_80C4DF8 - movs r0, 0 - adds r1, r5, 0 - bl UnkTextUtil_SetPtrI - ldrh r0, [r4, 0x4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08114DD8 @ =gTrainers+0x4 - adds r1, r0 - movs r0, 0x1 - bl UnkTextUtil_SetPtrI - ldrh r0, [r4] - movs r1, 0 - movs r2, 0x2 - bl QuestLog_AutoGetSpeciesName - ldrh r0, [r4, 0x2] - movs r1, 0 - movs r2, 0x3 - bl QuestLog_AutoGetSpeciesName - ldr r1, _08114DDC @ =gUnknown_8456ACC - ldrb r0, [r6, 0x1] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x4 - bl UnkTextUtil_SetPtrI - ldr r0, _08114DE0 @ =gStringVar4 - ldr r1, _08114DE4 @ =gUnknown_841AF0C - bl UnkTextUtil_StringExpandPlaceholders - adds r4, 0x8 - adds r0, r4, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08114DD4: .4byte gStringVar1 -_08114DD8: .4byte gTrainers+0x4 -_08114DDC: .4byte gUnknown_8456ACC -_08114DE0: .4byte gStringVar4 -_08114DE4: .4byte gUnknown_841AF0C - thumb_func_end sub_8114D68 - thumb_func_start sub_8114DE8 sub_8114DE8: @ 8114DE8 push {r4-r6,lr} diff --git a/src/quest_log.c b/src/quest_log.c index f4b964d96..d43027e57 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -4332,3 +4332,38 @@ const u16 * sub_8114CE4(const u16 * a0) StringExpandPlaceholders(gStringVar4, gUnknown_841A3DA); return r4 + 1; } + +u16 * sub_8114D18(u16 a0, u16 * a1, const u16 * a2) +{ + a1 = sub_8113DE0(a0, a1); + if (a1 == NULL) + return NULL; + a1[0] = a2[1]; + a1[1] = a2[2]; + a1[2] = a2[0]; + *((u8 *)a1 + 6) = *((const u8 *)a2 + 7); + *((u8 *)a1 + 7) = *((const u8 *)a2 + 6); + return a1 + 4; +} + +u16 * sub_8114D4C(u16 * a0, const u16 * a1) +{ + gUnknown_203B048 = TRUE; + return sub_8114D18(30, a0, a1); +} + +const u16 * sub_8114D68(const u16 * a0) +{ + const u8 * r6; + a0 = sub_8113E88(30, a0); + r6 = (const u8 *)a0 + 6; + UnkTextUtil_Reset(); + sub_80C4DF8(gStringVar1, r6[0]); + UnkTextUtil_SetPtrI(0, gStringVar1); + UnkTextUtil_SetPtrI(1, gTrainers[a0[2]].trainerName); + QuestLog_AutoGetSpeciesName(a0[0], 0, 2); + QuestLog_AutoGetSpeciesName(a0[1], 0, 3); + UnkTextUtil_SetPtrI(4, gUnknown_8456ACC[r6[1]]); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AF0C); + return a0 + 4; +} From c7439253be8a79bfb628640276135c174c8fad11 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 19 Nov 2018 18:36:05 -0500 Subject: [PATCH 099/222] sub_8114DE8 --- asm/quest_log.s | 73 ------------------------------------------------- src/quest_log.c | 23 ++++++++++++++++ 2 files changed, 23 insertions(+), 73 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index ddde56738..a28cba2dc 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,79 +5,6 @@ .text - thumb_func_start sub_8114DE8 -sub_8114DE8: @ 8114DE8 - push {r4-r6,lr} - adds r6, r1, 0 - adds r4, r0, 0 - adds r5, r4, 0 - adds r5, 0x8 - ldr r0, _08114E08 @ =gUnknown_8456AA0 - ldrb r1, [r0, 0x1F] - adds r0, r4, 0 - bl sub_8110944 - lsls r0, 24 - cmp r0, 0 - bne _08114E0C - movs r0, 0 - b _08114E5E - .align 2, 0 -_08114E08: .4byte gUnknown_8456AA0 -_08114E0C: - ldrb r0, [r4, 0x8] - cmp r0, 0 - bne _08114E22 - ldrb r0, [r5, 0x1] - cmp r0, 0 - bne _08114E22 - movs r0, 0x1F - strh r0, [r4] - ldr r0, _08114E64 @ =gUnknown_203AF98 - ldrh r0, [r0] - strh r0, [r4, 0x2] -_08114E22: - ldrh r0, [r6] - adds r2, r0, 0 - cmp r2, 0 - beq _08114E2C - strh r0, [r4, 0x4] -_08114E2C: - ldrh r0, [r6, 0x2] - adds r1, r0, 0 - cmp r1, 0 - beq _08114E36 - strh r1, [r4, 0x6] -_08114E36: - cmp r2, 0 - beq _08114E46 - ldrb r2, [r5] - adds r0, r2, 0 - cmp r0, 0xFF - beq _08114E46 - adds r0, r2, 0x1 - strb r0, [r5] -_08114E46: - lsls r0, r1, 16 - cmp r0, 0 - beq _08114E58 - ldrb r1, [r5, 0x1] - adds r0, r1, 0 - cmp r0, 0xFF - beq _08114E58 - adds r0, r1, 0x1 - strb r0, [r5, 0x1] -_08114E58: - ldrb r0, [r6, 0x4] - strb r0, [r5, 0x2] - adds r0, r5, 0x4 -_08114E5E: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08114E64: .4byte gUnknown_203AF98 - thumb_func_end sub_8114DE8 - thumb_func_start sub_8114E68 sub_8114E68: @ 8114E68 push {r4-r6,lr} diff --git a/src/quest_log.c b/src/quest_log.c index d43027e57..593585aac 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -4367,3 +4367,26 @@ const u16 * sub_8114D68(const u16 * a0) UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AF0C); return a0 + 4; } + +u16 * sub_8114DE8(u16 * a0, const u16 * a1) +{ + u16 * r4 = a0; + u8 * r5 = (u8 *)a0 + 8; + if (!sub_8110944(r4, gUnknown_8456AA0[31])) + return NULL; + if (r5[0] == 0 && r5[1] == 0) + { + r4[0] = 31; + r4[1] = gUnknown_203AF98; + } + if (a1[0]) + r4[2] = a1[0]; + if (a1[1]) + r4[3] = a1[1]; + if (a1[0] && r5[0] != 0xFF) + r5[0]++; + if (a1[1] && r5[1] != 0xFF) + r5[1]++; + r5[2] = *((const u8 *)a1 + 4); + return (u16 *)(r5 + 4); +} From ccc245601756237b4cd452b421506922be944d21 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 19 Nov 2018 21:32:13 -0500 Subject: [PATCH 100/222] through sub_81150CC --- asm/quest_log.s | 397 ------------------------------------------------ src/quest_log.c | 129 +++++++++++++++- 2 files changed, 127 insertions(+), 399 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index a28cba2dc..e6d9448f1 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,403 +5,6 @@ .text - thumb_func_start sub_8114E68 -sub_8114E68: @ 8114E68 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r0, _08114E80 @ =gUnknown_8456AA0 - ldrb r1, [r0, 0x1F] - adds r0, r5, 0 - bl sub_8110944 - lsls r0, 24 - cmp r0, 0 - bne _08114E84 - movs r0, 0 - b _08114FAE - .align 2, 0 -_08114E80: .4byte gUnknown_8456AA0 -_08114E84: - adds r6, r5, 0 - adds r6, 0x8 - bl UnkTextUtil_Reset - ldr r4, _08114F00 @ =gStringVar1 - ldrb r1, [r6, 0x2] - adds r0, r4, 0 - bl sub_80C4DF8 - movs r0, 0 - adds r1, r4, 0 - bl UnkTextUtil_SetPtrI - ldrh r0, [r5, 0x4] - movs r1, 0 - movs r2, 0x1 - bl QuestLog_AutoGetSpeciesName - ldr r4, _08114F04 @ =gStringVar2 - ldrb r1, [r5, 0x8] - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r0, 0x2 - adds r1, r4, 0 - bl UnkTextUtil_SetPtrI - ldrh r0, [r5, 0x6] - movs r1, 0 - movs r2, 0x3 - bl QuestLog_AutoGetSpeciesName - ldr r4, _08114F08 @ =gStringVar3 - ldrb r1, [r6, 0x1] - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r0, 0x4 - adds r1, r4, 0 - bl UnkTextUtil_SetPtrI - ldr r0, _08114F0C @ =gSaveBlock2Ptr - ldr r1, [r0] - movs r0, 0x5 - bl UnkTextUtil_SetPtrI - ldrb r0, [r5, 0x8] - cmp r0, 0 - bne _08114F2C - ldrb r0, [r6, 0x1] - cmp r0, 0x1 - bne _08114F18 - ldr r0, _08114F10 @ =gStringVar4 - ldr r1, _08114F14 @ =gUnknown_841AA01 - bl UnkTextUtil_StringExpandPlaceholders - b _08114FAC - .align 2, 0 -_08114F00: .4byte gStringVar1 -_08114F04: .4byte gStringVar2 -_08114F08: .4byte gStringVar3 -_08114F0C: .4byte gSaveBlock2Ptr -_08114F10: .4byte gStringVar4 -_08114F14: .4byte gUnknown_841AA01 -_08114F18: - ldr r0, _08114F24 @ =gStringVar4 - ldr r1, _08114F28 @ =gUnknown_841AA2B - bl UnkTextUtil_StringExpandPlaceholders - b _08114FAC - .align 2, 0 -_08114F24: .4byte gStringVar4 -_08114F28: .4byte gUnknown_841AA2B -_08114F2C: - ldrb r1, [r6, 0x1] - cmp r1, 0 - bne _08114F5C - cmp r0, 0x1 - bne _08114F48 - ldr r0, _08114F40 @ =gStringVar4 - ldr r1, _08114F44 @ =gUnknown_841A9A9 - bl UnkTextUtil_StringExpandPlaceholders - b _08114FAC - .align 2, 0 -_08114F40: .4byte gStringVar4 -_08114F44: .4byte gUnknown_841A9A9 -_08114F48: - ldr r0, _08114F54 @ =gStringVar4 - ldr r1, _08114F58 @ =gUnknown_841A9D4 - bl UnkTextUtil_StringExpandPlaceholders - b _08114FAC - .align 2, 0 -_08114F54: .4byte gStringVar4 -_08114F58: .4byte gUnknown_841A9D4 -_08114F5C: - cmp r0, 0x1 - bne _08114F8C - cmp r1, 0x1 - bne _08114F78 - ldr r0, _08114F70 @ =gStringVar4 - ldr r1, _08114F74 @ =gUnknown_841AA76 - bl UnkTextUtil_StringExpandPlaceholders - b _08114FAC - .align 2, 0 -_08114F70: .4byte gStringVar4 -_08114F74: .4byte gUnknown_841AA76 -_08114F78: - ldr r0, _08114F84 @ =gStringVar4 - ldr r1, _08114F88 @ =gUnknown_841AAAA - bl UnkTextUtil_StringExpandPlaceholders - b _08114FAC - .align 2, 0 -_08114F84: .4byte gStringVar4 -_08114F88: .4byte gUnknown_841AAAA -_08114F8C: - cmp r1, 0x1 - bne _08114FA4 - ldr r0, _08114F9C @ =gStringVar4 - ldr r1, _08114FA0 @ =gUnknown_841AAEC - bl UnkTextUtil_StringExpandPlaceholders - b _08114FAC - .align 2, 0 -_08114F9C: .4byte gStringVar4 -_08114FA0: .4byte gUnknown_841AAEC -_08114FA4: - ldr r0, _08114FB4 @ =gStringVar4 - ldr r1, _08114FB8 @ =gUnknown_841AB29 - bl UnkTextUtil_StringExpandPlaceholders -_08114FAC: - adds r0, r6, 0x4 -_08114FAE: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08114FB4: .4byte gStringVar4 -_08114FB8: .4byte gUnknown_841AB29 - thumb_func_end sub_8114E68 - - thumb_func_start sub_8114FBC -sub_8114FBC: @ 8114FBC - push {lr} - lsls r0, 16 - lsrs r0, 16 - adds r1, r0, 0 - cmp r0, 0x96 - beq _08114FE6 - cmp r0, 0x96 - bgt _08114FD6 - cmp r0, 0x92 - bgt _08114FEA - cmp r0, 0x8F - blt _08114FEA - b _08114FE6 -_08114FD6: - cmp r1, 0xF9 - blt _08114FEA - cmp r1, 0xFA - ble _08114FE6 - movs r0, 0xCD - lsls r0, 1 - cmp r1, r0 - bne _08114FEA -_08114FE6: - movs r0, 0x1 - b _08114FEC -_08114FEA: - movs r0, 0 -_08114FEC: - pop {r1} - bx r1 - thumb_func_end sub_8114FBC - - thumb_func_start sub_8114FF0 -sub_8114FF0: @ 8114FF0 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldr r1, _08115008 @ =gUnknown_203B048 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x20 - adds r1, r3, 0 - bl sub_8114D18 - pop {r1} - bx r1 - .align 2, 0 -_08115008: .4byte gUnknown_203B048 - thumb_func_end sub_8114FF0 - - thumb_func_start sub_811500C -sub_811500C: @ 811500C - push {r4,r5,lr} - adds r1, r0, 0 - movs r0, 0x20 - bl sub_8113E88 - adds r4, r0, 0 - adds r5, r4, 0x6 - bl UnkTextUtil_Reset - ldrh r0, [r4, 0x4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08115068 @ =gTrainers+0x4 - adds r1, r0 - movs r0, 0 - bl UnkTextUtil_SetPtrI - ldrh r0, [r4] - movs r1, 0 - movs r2, 0x1 - bl QuestLog_AutoGetSpeciesName - ldrh r0, [r4, 0x2] - movs r1, 0 - movs r2, 0x2 - bl QuestLog_AutoGetSpeciesName - ldr r1, _0811506C @ =gUnknown_8456ACC - ldrb r0, [r5, 0x1] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x3 - bl UnkTextUtil_SetPtrI - ldr r0, _08115070 @ =gStringVar4 - ldr r1, _08115074 @ =gUnknown_841AF3E - bl UnkTextUtil_StringExpandPlaceholders - adds r4, 0x8 - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08115068: .4byte gTrainers+0x4 -_0811506C: .4byte gUnknown_8456ACC -_08115070: .4byte gStringVar4 -_08115074: .4byte gUnknown_841AF3E - thumb_func_end sub_811500C - - thumb_func_start sub_8115078 -sub_8115078: @ 8115078 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, _081150B4 @ =gUnknown_8456AA0 - adds r0, 0x21 - ldrb r1, [r0] - adds r0, r4, 0 - bl sub_8110944 - lsls r0, 24 - cmp r0, 0 - beq _081150C4 - ldr r1, _081150B8 @ =0x00002021 - adds r0, r1, 0 - strh r0, [r4] - ldr r0, _081150BC @ =gUnknown_203AF98 - ldrh r0, [r0] - strh r0, [r4, 0x2] - ldrh r0, [r5, 0x2] - strh r0, [r4, 0x4] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x6] - ldrb r0, [r5, 0x6] - strb r0, [r4, 0x8] - ldr r1, _081150C0 @ =gUnknown_203B048 - movs r0, 0x1 - strb r0, [r1] - adds r0, r4, 0 - adds r0, 0xA - b _081150C6 - .align 2, 0 -_081150B4: .4byte gUnknown_8456AA0 -_081150B8: .4byte 0x00002021 -_081150BC: .4byte gUnknown_203AF98 -_081150C0: .4byte gUnknown_203B048 -_081150C4: - movs r0, 0 -_081150C6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8115078 - - thumb_func_start sub_81150CC -sub_81150CC: @ 81150CC - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, _081150E8 @ =gUnknown_8456AA0 - adds r0, 0x21 - ldrb r1, [r0] - adds r0, r4, 0 - bl sub_8110944 - lsls r0, 24 - cmp r0, 0 - bne _081150EC - movs r0, 0 - b _081151AE - .align 2, 0 -_081150E8: .4byte gUnknown_8456AA0 -_081150EC: - adds r5, r4, 0 - adds r5, 0x8 - bl UnkTextUtil_Reset - ldr r0, _08115108 @ =gUnknown_203B044 - ldrh r0, [r0, 0x2] - cmp r0, 0x1 - beq _08115148 - cmp r0, 0x1 - bgt _0811510C - cmp r0, 0 - beq _08115112 - b _081151AC - .align 2, 0 -_08115108: .4byte gUnknown_203B044 -_0811510C: - cmp r0, 0x2 - beq _08115194 - b _081151AC -_08115112: - ldr r0, _08115134 @ =gSaveBlock2Ptr - ldr r1, [r0] - movs r0, 0 - bl UnkTextUtil_SetPtrI - ldr r0, _08115138 @ =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, _0811513C @ =0x00003a4c - adds r1, r0 - movs r0, 0x1 - bl UnkTextUtil_SetPtrI - ldr r0, _08115140 @ =gStringVar4 - ldr r1, _08115144 @ =gUnknown_841A2E1 - bl UnkTextUtil_StringExpandPlaceholders - b _081151AC - .align 2, 0 -_08115134: .4byte gSaveBlock2Ptr -_08115138: .4byte gSaveBlock1Ptr -_0811513C: .4byte 0x00003a4c -_08115140: .4byte gStringVar4 -_08115144: .4byte gUnknown_841A2E1 -_08115148: - ldr r0, _08115180 @ =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, _08115184 @ =0x00003a4c - adds r1, r0 - movs r0, 0 - bl UnkTextUtil_SetPtrI - ldrh r0, [r4, 0x4] - movs r1, 0 - movs r2, 0x1 - bl QuestLog_AutoGetSpeciesName - ldr r0, _08115188 @ =gSaveBlock2Ptr - ldr r1, [r0] - movs r0, 0x2 - bl UnkTextUtil_SetPtrI - ldrh r0, [r4, 0x6] - movs r1, 0 - movs r2, 0x3 - bl QuestLog_AutoGetSpeciesName - ldr r0, _0811518C @ =gStringVar4 - ldr r1, _08115190 @ =gUnknown_841A312 - bl UnkTextUtil_StringExpandPlaceholders - b _081151AC - .align 2, 0 -_08115180: .4byte gSaveBlock1Ptr -_08115184: .4byte 0x00003a4c -_08115188: .4byte gSaveBlock2Ptr -_0811518C: .4byte gStringVar4 -_08115190: .4byte gUnknown_841A312 -_08115194: - ldr r1, _081151B4 @ =gUnknown_8456AD8 - ldrb r0, [r4, 0x8] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - movs r0, 0 - bl UnkTextUtil_SetPtrI - ldr r0, _081151B8 @ =gStringVar4 - ldr r1, _081151BC @ =gUnknown_841A349 - bl UnkTextUtil_StringExpandPlaceholders -_081151AC: - adds r0, r5, 0x2 -_081151AE: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_081151B4: .4byte gUnknown_8456AD8 -_081151B8: .4byte gStringVar4 -_081151BC: .4byte gUnknown_841A349 - thumb_func_end sub_81150CC - thumb_func_start sub_81151C0 sub_81151C0: @ 81151C0 push {lr} diff --git a/src/quest_log.c b/src/quest_log.c index 593585aac..9bd7d6227 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -462,12 +462,12 @@ void sub_811092C(void) gUnknown_203AE8C(); } -bool8 sub_8110944(void * a0, size_t a1) +bool8 sub_8110944(const void * a0, size_t a1) { void * r2 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_568; void * r0 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].end; r0 -= a1; - if ((void *)a0 < r2 || (void *)a0 > r0) + if ((const void *)a0 < r2 || (const void *)a0 > r0) return FALSE; return TRUE; } @@ -4390,3 +4390,128 @@ u16 * sub_8114DE8(u16 * a0, const u16 * a1) r5[2] = *((const u8 *)a1 + 4); return (u16 *)(r5 + 4); } + +const u16 * sub_8114E68(const u16 * a0) +{ + const u8 * r6; + if (!sub_8110944(a0, gUnknown_8456AA0[31])) + return NULL; + + r6 = (const u8 *)a0 + 8; + UnkTextUtil_Reset(); + sub_80C4DF8(gStringVar1, r6[2]); + UnkTextUtil_SetPtrI(0, gStringVar1); + QuestLog_AutoGetSpeciesName(a0[2], NULL, 1); + ConvertIntToDecimalStringN(gStringVar2, r6[0], STR_CONV_MODE_LEFT_ALIGN, 3); + UnkTextUtil_SetPtrI(2, gStringVar2); + QuestLog_AutoGetSpeciesName(a0[3], NULL, 3); + ConvertIntToDecimalStringN(gStringVar3, r6[1], STR_CONV_MODE_LEFT_ALIGN, 3); + UnkTextUtil_SetPtrI(4, gStringVar3); + UnkTextUtil_SetPtrI(5, gSaveBlock2Ptr->playerName); + if (r6[0] == 0) + { + if (r6[1] == 1) + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AA01); + else + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AA2B); + } + else if (r6[1] == 0) + { + if (r6[0] == 1) + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A9A9); + else + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A9D4); + } + else if (r6[0] == 1) + { + if (r6[1] == 1) + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AA76); + else + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AAAA); + } + else + { + if (r6[1] == 1) + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AAEC); + else + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AB29); + } + return (const u16 *)(r6 + 4); +} + +bool8 sub_8114FBC(u16 a0) +{ + switch (a0) + { + case 0x96: + case 0x8F ... 0x92: + case 0xF9 ... 0xFA: + case 0x19A: + return TRUE; + } + return FALSE; +} + +u16 * sub_8114FF0(u16 * a0, const u16 * a1) +{ + gUnknown_203B048 = TRUE; + return sub_8114D18(32, a0, a1); +} + +const u16 * sub_811500C(const u16 * a0) +{ + const u8 * r5; + a0 = sub_8113E88(32, a0); + r5 = (const u8 *)a0 + 6; + UnkTextUtil_Reset(); + UnkTextUtil_SetPtrI(0, gTrainers[a0[2]].trainerName); + QuestLog_AutoGetSpeciesName(a0[0], NULL, 1); + QuestLog_AutoGetSpeciesName(a0[1], NULL, 2); + UnkTextUtil_SetPtrI(3, gUnknown_8456ACC[r5[1]]); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AF3E); + return a0 + 4; +} + +u16 * sub_8115078(u16 * a0, const u16 * a1) +{ + if (!sub_8110944(a0, gUnknown_8456AA0[33])) + return NULL; + a0[0] = 0x2021; + a0[1] = gUnknown_203AF98; + a0[2] = a1[1]; + a0[3] = a1[2]; + *((u8 *)a0 + 8) = *((const u8 *)a1 + 6); + gUnknown_203B048 = TRUE; + return a0 + 5; +} + +const u16 * sub_81150CC(const u16 * a0) +{ + const u8 * r5; + if (!sub_8110944(a0, gUnknown_8456AA0[33])) + return NULL; + + r5 = (const u8 *)a0 + 8; + UnkTextUtil_Reset(); + + switch (gUnknown_203B044.unk_2) + { + case 0: + UnkTextUtil_SetPtrI(0, gSaveBlock2Ptr->playerName); + UnkTextUtil_SetPtrI(1, gSaveBlock1Ptr->rivalName); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A2E1); + break; + case 1: + UnkTextUtil_SetPtrI(0, gSaveBlock1Ptr->rivalName); + QuestLog_AutoGetSpeciesName(a0[2], NULL, 1); + UnkTextUtil_SetPtrI(2, gSaveBlock2Ptr->playerName); + QuestLog_AutoGetSpeciesName(a0[3], NULL, 3); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A312); + break; + case 2: + UnkTextUtil_SetPtrI(0, gUnknown_8456AD8[r5[0]]); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A349); + break; + } + return (const u16 *)(r5 + 2); +} From 8e5da871440bf340fcea5edf9db8ffe4cb794509 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 19 Nov 2018 21:45:40 -0500 Subject: [PATCH 101/222] through sub_81151DC --- asm/quest_log.s | 90 ------------------------------------------------- src/quest_log.c | 28 +++++++++++++++ 2 files changed, 28 insertions(+), 90 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index e6d9448f1..3ed9101ed 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,96 +5,6 @@ .text - thumb_func_start sub_81151C0 -sub_81151C0: @ 81151C0 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldr r1, _081151D8 @ =gUnknown_203B048 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x22 - adds r1, r3, 0 - bl sub_8114D18 - pop {r1} - bx r1 - .align 2, 0 -_081151D8: .4byte gUnknown_203B048 - thumb_func_end sub_81151C0 - - thumb_func_start sub_81151DC -sub_81151DC: @ 81151DC - push {r4-r6,lr} - adds r1, r0, 0 - movs r0, 0x22 - bl sub_8113E88 - adds r5, r0, 0 - adds r6, r5, 0x6 - bl UnkTextUtil_Reset - ldr r4, _0811522C @ =gStringVar1 - ldrb r1, [r5, 0x6] - adds r0, r4, 0 - bl sub_80C4DF8 - movs r0, 0 - adds r1, r4, 0 - bl UnkTextUtil_SetPtrI - ldr r3, _08115230 @ =gTrainers - ldrh r1, [r5, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r2, r0, 3 - adds r0, r2, r3 - ldrb r0, [r0, 0x1] - cmp r0, 0x51 - beq _0811521A - cmp r0, 0x59 - beq _0811521A - cmp r0, 0x5A - bne _08115234 -_0811521A: - movs r0, 0x6 - bl GetExpandedPlaceholder - adds r1, r0, 0 - movs r0, 0x1 - bl UnkTextUtil_SetPtrI - b _0811523E - .align 2, 0 -_0811522C: .4byte gStringVar1 -_08115230: .4byte gTrainers -_08115234: - adds r1, r3, 0x4 - adds r1, r2, r1 - movs r0, 0x1 - bl UnkTextUtil_SetPtrI -_0811523E: - ldrh r0, [r5] - movs r1, 0 - movs r2, 0x2 - bl QuestLog_AutoGetSpeciesName - ldrh r0, [r5, 0x2] - movs r1, 0 - movs r2, 0x3 - bl QuestLog_AutoGetSpeciesName - ldr r1, _08115274 @ =gUnknown_8456ACC - ldrb r0, [r6, 0x1] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x4 - bl UnkTextUtil_SetPtrI - ldr r0, _08115278 @ =gStringVar4 - ldr r1, _0811527C @ =gUnknown_841AF6D - bl UnkTextUtil_StringExpandPlaceholders - adds r0, r6, 0x2 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08115274: .4byte gUnknown_8456ACC -_08115278: .4byte gStringVar4 -_0811527C: .4byte gUnknown_841AF6D - thumb_func_end sub_81151DC - thumb_func_start sub_8115280 sub_8115280: @ 8115280 push {r4,lr} diff --git a/src/quest_log.c b/src/quest_log.c index 9bd7d6227..08fb1fb37 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -4515,3 +4515,31 @@ const u16 * sub_81150CC(const u16 * a0) } return (const u16 *)(r5 + 2); } + +u16 * sub_81151C0(u16 * a0, const u16 * a1) +{ + gUnknown_203B048 = TRUE; + return sub_8114D18(34, a0, a1); +} + +const u16 * sub_81151DC(const u16 * a0) +{ + const u16 * r5 = sub_8113E88(34, a0); + const u8 * r6 = (const u8 *)r5 + 6; + UnkTextUtil_Reset(); + sub_80C4DF8(gStringVar1, r6[0]); + UnkTextUtil_SetPtrI(0, gStringVar1); + if ( + gTrainers[r5[2]].trainerClass == 0x51 + || gTrainers[r5[2]].trainerClass == 0x59 + || gTrainers[r5[2]].trainerClass == 0x5A + ) + UnkTextUtil_SetPtrI(1, GetExpandedPlaceholder(6)); + else + UnkTextUtil_SetPtrI(1, gTrainers[r5[2]].trainerName); + QuestLog_AutoGetSpeciesName(r5[0], NULL, 2); + QuestLog_AutoGetSpeciesName(r5[1], NULL, 3); + UnkTextUtil_SetPtrI(4, gUnknown_8456ACC[r6[1]]); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AF6D); + return (const u16 *)(r6 + 2); +} From fb3d416283a44390efd57bf9fa0b637927806602 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 20 Nov 2018 08:52:28 -0500 Subject: [PATCH 102/222] through wip sub_81152BC --- asm/quest_log.s | 35 --------- data/quest_log.s | 144 ----------------------------------- src/quest_log.c | 190 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 190 insertions(+), 179 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index 3ed9101ed..a17383c00 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,41 +5,6 @@ .text - thumb_func_start sub_8115280 -sub_8115280: @ 8115280 - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - movs r0, 0x23 - adds r1, r2, 0 - bl sub_8113DE0 - adds r2, r0, 0 - cmp r2, 0 - bne _08115298 - movs r0, 0 - b _081152B0 -_08115298: - ldrb r0, [r4] - strb r0, [r2] - ldrb r0, [r4, 0x1] - strb r0, [r2, 0x1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x24 - bne _081152AE - ldr r1, _081152B8 @ =gUnknown_203B048 - movs r0, 0x1 - strb r0, [r1] -_081152AE: - adds r0, r2, 0x2 -_081152B0: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_081152B8: .4byte gUnknown_203B048 - thumb_func_end sub_8115280 - thumb_func_start sub_81152BC sub_81152BC: @ 81152BC push {r4-r7,lr} diff --git a/data/quest_log.s b/data/quest_log.s index 0bb7cb3fb..a4d3dd16c 100644 --- a/data/quest_log.s +++ b/data/quest_log.s @@ -1,149 +1,5 @@ .section .rodata - .align 2 -gUnknown_8456AF0:: @ 8456AF0 - .4byte gUnknown_841B09F - .4byte gUnknown_841B0A4 - .4byte gUnknown_841B0B5 - .4byte gUnknown_841B0B9 - .4byte gUnknown_841B0B9 - .4byte gUnknown_841B0CD - .4byte gUnknown_841B0CD - .4byte gUnknown_841B0DD - .4byte gUnknown_841B0B5 - .4byte gUnknown_841B0F6 - .4byte gUnknown_841B0F6 - .4byte gUnknown_841B0B5 - .4byte gUnknown_841B0FF - .4byte gUnknown_841B109 - .4byte gUnknown_841B116 - .4byte gUnknown_841B11F - .4byte gUnknown_841B11F - .4byte gUnknown_841B130 - .4byte gUnknown_841B0B5 - .4byte gUnknown_841B141 - .4byte gUnknown_841B14B - .4byte gUnknown_841B14B - .4byte gUnknown_841B15A - .4byte gUnknown_841B15A - .4byte gUnknown_841B166 - .4byte gUnknown_841B172 - .4byte gUnknown_841B180 - .4byte gUnknown_841B190 - .4byte gUnknown_841B11F - .4byte gUnknown_841B11F - .4byte gUnknown_841B1A3 - .4byte gUnknown_841B1B7 - .4byte gUnknown_841B1C7 - .4byte gUnknown_841B0B5 - .4byte gUnknown_841B1DA - .4byte gUnknown_841B1E5 - .4byte gUnknown_841B1F4 - .4byte gUnknown_841B0B5 - .4byte gUnknown_841B200 - .4byte gUnknown_841B20E - .4byte gUnknown_841B0B5 - .4byte gUnknown_841B21C - .4byte gUnknown_841B226 - .4byte gUnknown_841B226 - .4byte gUnknown_841B236 - .4byte gUnknown_841B0B5 - .4byte gUnknown_841B246 - .4byte gUnknown_841B25B - .4byte gUnknown_841B25B - .4byte gUnknown_841B268 - .4byte gUnknown_841B277 - -gUnknown_8456BBC:: @ 8456BBC - .4byte gUnknown_841A53A - .4byte gUnknown_841AD9E - .4byte gUnknown_841ADC8 - .4byte gUnknown_841ADFF - .4byte gUnknown_841AE1E - .4byte gUnknown_841AE48 - .4byte gUnknown_841AEA7 - .4byte gUnknown_841AEDC - .4byte gUnknown_841AFD6 - .4byte gUnknown_841B005 - -gUnknown_8456BE4:: @ 8456BE4 - .byte 0x03 - .byte 0x04 - .byte 0x05 - .byte 0x08 - .byte 0x08 - .byte 0x07 - .byte 0x07 - .byte 0x01 - .byte 0x05 - .byte 0x07 - .byte 0x07 - .byte 0x05 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x08 - .byte 0x08 - .byte 0x00 - .byte 0x05 - .byte 0x08 - .byte 0x07 - .byte 0x07 - .byte 0x07 - .byte 0x07 - .byte 0x08 - .byte 0x08 - .byte 0x00 - .byte 0x00 - .byte 0x08 - .byte 0x08 - .byte 0x00 - .byte 0x00 - .byte 0x02 - .byte 0x05 - .byte 0x00 - .byte 0x08 - .byte 0x06 - .byte 0x05 - .byte 0x00 - .byte 0x00 - .byte 0x05 - .byte 0x09 - .byte 0x07 - .byte 0x07 - .byte 0x09 - .byte 0x05 - .byte 0x00 - .byte 0x07 - .byte 0x07 - .byte 0x08 - .byte 0x07 - -gUnknown_8456C17:: @ 8456C17 - .byte 0x5a - .byte 0x5b - .byte 0x5d - .byte 0x5e - .byte 0x5f - .byte 0x62 - .byte 0x60 - .byte 0x59 - .byte 0x00 - -gUnknown_8456C20:: @ 8456C20 - .4byte gUnknown_841AC51 - .4byte gUnknown_841ABAB - .4byte gUnknown_841ABCD - .4byte gUnknown_841AC2A - .4byte gUnknown_841ABF9 - .4byte gUnknown_841AC93 - .4byte gUnknown_841ACBC - .4byte gUnknown_841AD69 - .4byte gUnknown_841AD1D - .4byte gUnknown_841A90C - .4byte gUnknown_841A8E0 - .4byte gUnknown_841AD3C - gUnknown_8456C50:: @ 8456C50 .2byte 0x0891 .2byte 0x0892 diff --git a/src/quest_log.c b/src/quest_log.c index 08fb1fb37..048fe289a 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -4543,3 +4543,193 @@ const u16 * sub_81151DC(const u16 * a0) UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AF6D); return (const u16 *)(r6 + 2); } + +const u8 *const gUnknown_8456AF0[] = { + gUnknown_841B09F, + gUnknown_841B0A4, + gUnknown_841B0B5, + gUnknown_841B0B9, + gUnknown_841B0B9, + gUnknown_841B0CD, + gUnknown_841B0CD, + gUnknown_841B0DD, + gUnknown_841B0B5, + gUnknown_841B0F6, + gUnknown_841B0F6, + gUnknown_841B0B5, + gUnknown_841B0FF, + gUnknown_841B109, + gUnknown_841B116, + gUnknown_841B11F, + gUnknown_841B11F, + gUnknown_841B130, + gUnknown_841B0B5, + gUnknown_841B141, + gUnknown_841B14B, + gUnknown_841B14B, + gUnknown_841B15A, + gUnknown_841B15A, + gUnknown_841B166, + gUnknown_841B172, + gUnknown_841B180, + gUnknown_841B190, + gUnknown_841B11F, + gUnknown_841B11F, + gUnknown_841B1A3, + gUnknown_841B1B7, + gUnknown_841B1C7, + gUnknown_841B0B5, + gUnknown_841B1DA, + gUnknown_841B1E5, + gUnknown_841B1F4, + gUnknown_841B0B5, + gUnknown_841B200, + gUnknown_841B20E, + gUnknown_841B0B5, + gUnknown_841B21C, + gUnknown_841B226, + gUnknown_841B226, + gUnknown_841B236, + gUnknown_841B0B5, + gUnknown_841B246, + gUnknown_841B25B, + gUnknown_841B25B, + gUnknown_841B268, + gUnknown_841B277 +}; + +const u8 *const gUnknown_8456BBC[] = { + gUnknown_841A53A, + gUnknown_841AD9E, + gUnknown_841ADC8, + gUnknown_841ADFF, + gUnknown_841AE1E, + gUnknown_841AE48, + gUnknown_841AEA7, + gUnknown_841AEDC, + gUnknown_841AFD6, + gUnknown_841B005 +}; + +const u8 gUnknown_8456BE4[] = { + 0x03, + 0x04, + 0x05, + 0x08, + 0x08, + 0x07, + 0x07, + 0x01, + 0x05, + 0x07, + 0x07, + 0x05, + 0x00, + 0x00, + 0x00, + 0x08, + 0x08, + 0x00, + 0x05, + 0x08, + 0x07, + 0x07, + 0x07, + 0x07, + 0x08, + 0x08, + 0x00, + 0x00, + 0x08, + 0x08, + 0x00, + 0x00, + 0x02, + 0x05, + 0x00, + 0x08, + 0x06, + 0x05, + 0x00, + 0x00, + 0x05, + 0x09, + 0x07, + 0x07, + 0x09, + 0x05, + 0x00, + 0x07, + 0x07, + 0x08, + 0x07 +}; + +const u8 gUnknown_8456C17[] = { + 0x5a, + 0x5b, + 0x5d, + 0x5e, + 0x5f, + 0x62, + 0x60, + 0x59, + 0x00 +}; + +const u8 *const gUnknown_8456C20[] = { + gUnknown_841AC51, + gUnknown_841ABAB, + gUnknown_841ABCD, + gUnknown_841AC2A, + gUnknown_841ABF9, + gUnknown_841AC93, + gUnknown_841ACBC, + gUnknown_841AD69, + gUnknown_841AD1D, + gUnknown_841A90C, + gUnknown_841A8E0, + gUnknown_841AD3C +}; + +u16 * sub_8115280(u16 * a0, const u16 * a1) +{ + u16 * r2 = sub_8113DE0(35, a0); + if (r2 == NULL) + return NULL; + *((u8 *)r2 + 0) = *((const u8 *)a1 + 0); + if ((*((u8 *)r2 + 1) = *((const u8 *)a1 + 1)) == 0x24) + gUnknown_203B048 = TRUE; + return r2 + 1; +} + +/* +const u16 * sub_81152BC(const u16 * a0) +{ + u8 r4; + const u16 * r5 = sub_8113E88(35, a0); + const u8 * r5_2 = (const u8 *)r5 + 0; + sub_80C4DF8(gStringVar1, r5_2[1]); + StringCopy(gStringVar2, gUnknown_8456AF0[r5_2[1]]); + if (gUnknown_8456BE4[r5_2[1]] == 5) + { + for (r4 = 0; r4 < 8; r4++) + { + if (r5_2[0] == gUnknown_8456C17[r4]) + { + if (FlagGet(0x820) != TRUE) + StringExpandPlaceholders(gStringVar4, gUnknown_841AE48); + else + StringExpandPlaceholders(gStringVar4, gUnknown_841AE8F); + break; + } + } + if (r4 == 8) + StringExpandPlaceholders(gStringVar4, gUnknown_8456BBC[gUnknown_8456BE4[r5_2[1]]]); + } + else + StringExpandPlaceholders(gStringVar4, gUnknown_8456BBC[gUnknown_8456BE4[r5_2[1]]]); + + return r5 + 1; +} + */ From 374352c3cf1c307ecd7d4cedcd1b7815a3e9e4bf Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 20 Nov 2018 21:41:35 -0500 Subject: [PATCH 103/222] Match sub_81152BC --- asm/quest_log.s | 101 ------------------------------------------------ src/quest_log.c | 37 ++++++++---------- 2 files changed, 17 insertions(+), 121 deletions(-) diff --git a/asm/quest_log.s b/asm/quest_log.s index a17383c00..72ba6e0bc 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,107 +5,6 @@ .text - thumb_func_start sub_81152BC -sub_81152BC: @ 81152BC - push {r4-r7,lr} - adds r1, r0, 0 - movs r0, 0x23 - bl sub_8113E88 - adds r5, r0, 0 - ldrb r6, [r5, 0x1] - ldr r0, _08115318 @ =gStringVar1 - ldrb r1, [r5] - bl sub_80C4DF8 - ldr r0, _0811531C @ =gStringVar2 - ldr r2, _08115320 @ =gUnknown_8456AF0 - lsls r1, r6, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - ldr r0, _08115324 @ =gUnknown_8456BE4 - adds r1, r6, r0 - ldrb r0, [r1] - cmp r0, 0x5 - bne _08115378 - movs r4, 0 - ldr r2, _08115328 @ =gUnknown_8456C17 - adds r7, r5, 0x2 - ldrb r1, [r5] -_081152F2: - adds r0, r4, r2 - ldrb r0, [r0] - cmp r1, r0 - bne _08115334 - movs r1, 0x82 - lsls r1, 4 - adds r0, r4, r1 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08115364 - ldr r0, _0811532C @ =gStringVar4 - ldr r1, _08115330 @ =gUnknown_841AE48 - bl StringExpandPlaceholders - b _0811533E - .align 2, 0 -_08115318: .4byte gStringVar1 -_0811531C: .4byte gStringVar2 -_08115320: .4byte gUnknown_8456AF0 -_08115324: .4byte gUnknown_8456BE4 -_08115328: .4byte gUnknown_8456C17 -_0811532C: .4byte gStringVar4 -_08115330: .4byte gUnknown_841AE48 -_08115334: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x7 - bls _081152F2 -_0811533E: - cmp r4, 0x8 - bne _0811538A - ldr r0, _08115358 @ =gStringVar4 - ldr r2, _0811535C @ =gUnknown_8456BBC - ldr r1, _08115360 @ =gUnknown_8456BE4 - adds r1, r6, r1 - ldrb r1, [r1] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringExpandPlaceholders - b _0811538A - .align 2, 0 -_08115358: .4byte gStringVar4 -_0811535C: .4byte gUnknown_8456BBC -_08115360: .4byte gUnknown_8456BE4 -_08115364: - ldr r0, _08115370 @ =gStringVar4 - ldr r1, _08115374 @ =gUnknown_841AE8F - bl StringExpandPlaceholders - b _0811533E - .align 2, 0 -_08115370: .4byte gStringVar4 -_08115374: .4byte gUnknown_841AE8F -_08115378: - ldr r0, _08115394 @ =gStringVar4 - ldr r2, _08115398 @ =gUnknown_8456BBC - ldrb r1, [r1] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringExpandPlaceholders - adds r7, r5, 0x2 -_0811538A: - adds r0, r7, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08115394: .4byte gStringVar4 -_08115398: .4byte gUnknown_8456BBC - thumb_func_end sub_81152BC - thumb_func_start sub_811539C sub_811539C: @ 811539C ldr r1, _081153A4 @ =gUnknown_203B04B diff --git a/src/quest_log.c b/src/quest_log.c index 048fe289a..d88bc04a4 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -4673,8 +4673,7 @@ const u8 gUnknown_8456C17[] = { 0x5f, 0x62, 0x60, - 0x59, - 0x00 + 0x59 }; const u8 *const gUnknown_8456C20[] = { @@ -4703,33 +4702,31 @@ u16 * sub_8115280(u16 * a0, const u16 * a1) return r2 + 1; } -/* const u16 * sub_81152BC(const u16 * a0) { - u8 r4; + u8 r4, r6; const u16 * r5 = sub_8113E88(35, a0); const u8 * r5_2 = (const u8 *)r5 + 0; - sub_80C4DF8(gStringVar1, r5_2[1]); - StringCopy(gStringVar2, gUnknown_8456AF0[r5_2[1]]); - if (gUnknown_8456BE4[r5_2[1]] == 5) + r6 = r5_2[1]; + sub_80C4DF8(gStringVar1, r5_2[0]); + StringCopy(gStringVar2, gUnknown_8456AF0[r6]); + if (gUnknown_8456BE4[r6] == 5) { - for (r4 = 0; r4 < 8; r4++) + for (r4 = 0; r4 < ARRAY_COUNT(gUnknown_8456C17); r4++) { - if (r5_2[0] == gUnknown_8456C17[r4]) - { - if (FlagGet(0x820) != TRUE) - StringExpandPlaceholders(gStringVar4, gUnknown_841AE48); - else - StringExpandPlaceholders(gStringVar4, gUnknown_841AE8F); - break; - } + if (r5_2[0] != gUnknown_8456C17[r4]) + continue; + if (FlagGet(0x820 + r4) == TRUE) + StringExpandPlaceholders(gStringVar4, gUnknown_841AE8F); + else + StringExpandPlaceholders(gStringVar4, gUnknown_841AE48); + break; } if (r4 == 8) - StringExpandPlaceholders(gStringVar4, gUnknown_8456BBC[gUnknown_8456BE4[r5_2[1]]]); + StringExpandPlaceholders(gStringVar4, gUnknown_8456BBC[gUnknown_8456BE4[r6]]); } else - StringExpandPlaceholders(gStringVar4, gUnknown_8456BBC[gUnknown_8456BE4[r5_2[1]]]); + StringExpandPlaceholders(gStringVar4, gUnknown_8456BBC[gUnknown_8456BE4[r6]]); - return r5 + 1; + return (const u16 *)(r5_2 + 2); } - */ From eb98d02443e7433dd594e35e92edda3b8fa5d499 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 21 Nov 2018 07:55:42 -0500 Subject: [PATCH 104/222] through sub_8115518; finish quest_log rodata --- asm/quest_log.s | 270 -------------------------------------------- data/data_83FECCC.s | 5 +- data/quest_log.s | 23 ---- ld_script.txt | 1 - src/quest_log.c | 122 +++++++++++++++++++- 5 files changed, 124 insertions(+), 297 deletions(-) delete mode 100644 data/quest_log.s diff --git a/asm/quest_log.s b/asm/quest_log.s index 72ba6e0bc..f5992a824 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,276 +5,6 @@ .text - thumb_func_start sub_811539C -sub_811539C: @ 811539C - ldr r1, _081153A4 @ =gUnknown_203B04B - movs r0, 0x1 - strb r0, [r1] - bx lr - .align 2, 0 -_081153A4: .4byte gUnknown_203B04B - thumb_func_end sub_811539C - - thumb_func_start sub_81153A8 -sub_81153A8: @ 81153A8 - push {lr} - adds r2, r1, 0 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x23 - beq _081153C4 - ldr r1, _081153C0 @ =gUnknown_203B04A - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - b _081153DE - .align 2, 0 -_081153C0: .4byte gUnknown_203B04A -_081153C4: - ldr r3, _081153D8 @ =gUnknown_203B04A - ldrb r1, [r3] - ldrb r0, [r2, 0x1] - adds r0, 0x1 - cmp r1, r0 - beq _081153DC - strb r0, [r3] - movs r0, 0x1 - b _081153DE - .align 2, 0 -_081153D8: .4byte gUnknown_203B04A -_081153DC: - movs r0, 0 -_081153DE: - pop {r1} - bx r1 - thumb_func_end sub_81153A8 - - thumb_func_start sub_81153E4 -sub_81153E4: @ 81153E4 - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x23 - bne _08115408 - ldrb r0, [r1, 0x1] - ldr r1, _08115400 @ =gUnknown_203B04B - cmp r0, 0x20 - bne _08115404 - ldrb r0, [r1] - cmp r0, 0 - bne _08115404 - movs r0, 0 - b _0811540A - .align 2, 0 -_08115400: .4byte gUnknown_203B04B -_08115404: - movs r0, 0 - strb r0, [r1] -_08115408: - movs r0, 0x1 -_0811540A: - pop {r1} - bx r1 - thumb_func_end sub_81153E4 - - thumb_func_start sub_8115410 -sub_8115410: @ 8115410 - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - movs r0, 0x24 - adds r1, r2, 0 - bl sub_8113DE0 - adds r2, r0, 0 - cmp r2, 0 - bne _08115428 - movs r0, 0 - b _08115454 -_08115428: - ldrh r0, [r4] - strh r0, [r2] - adds r3, r2, 0x2 - ldrb r0, [r4, 0x2] - strb r0, [r2, 0x2] - ldrb r0, [r4, 0x3] - strb r0, [r3, 0x1] - ldrb r0, [r2, 0x2] - subs r0, 0x7 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0811544C - ldr r1, _08115448 @ =gUnknown_203B048 - movs r0, 0x2 - b _08115450 - .align 2, 0 -_08115448: .4byte gUnknown_203B048 -_0811544C: - ldr r1, _0811545C @ =gUnknown_203B048 - movs r0, 0x1 -_08115450: - strb r0, [r1] - adds r0, r3, 0x2 -_08115454: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0811545C: .4byte gUnknown_203B048 - thumb_func_end sub_8115410 - - thumb_func_start sub_8115460 -sub_8115460: @ 8115460 - push {r4,r5,lr} - adds r1, r0, 0 - movs r0, 0x24 - bl sub_8113E88 - adds r4, r0, 0 - adds r5, r4, 0x2 - ldrh r0, [r4] - ldr r1, _0811549C @ =gStringVar1 - movs r2, 0 - bl QuestLog_AutoGetSpeciesName - ldrb r0, [r5, 0x1] - cmp r0, 0xFF - beq _08115486 - ldr r0, _081154A0 @ =gStringVar2 - ldrb r1, [r5, 0x1] - bl sub_80C4DF8 -_08115486: - ldrb r0, [r4, 0x2] - cmp r0, 0x7 - bne _081154B4 - ldrb r0, [r5, 0x1] - cmp r0, 0x58 - bne _081154AC - ldr r0, _081154A4 @ =gStringVar3 - ldr r1, _081154A8 @ =gUnknown_841B09F - bl StringCopy - b _081154B4 - .align 2, 0 -_0811549C: .4byte gStringVar1 -_081154A0: .4byte gStringVar2 -_081154A4: .4byte gStringVar3 -_081154A8: .4byte gUnknown_841B09F -_081154AC: - ldr r0, _081154CC @ =gStringVar3 - ldr r1, _081154D0 @ =gUnknown_8418C1B - bl StringCopy -_081154B4: - ldr r0, _081154D4 @ =gStringVar4 - ldr r2, _081154D8 @ =gUnknown_8456C20 - ldrb r1, [r5] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringExpandPlaceholders - adds r0, r5, 0x2 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_081154CC: .4byte gStringVar3 -_081154D0: .4byte gUnknown_8418C1B -_081154D4: .4byte gStringVar4 -_081154D8: .4byte gUnknown_8456C20 - thumb_func_end sub_8115460 - - thumb_func_start sub_81154DC -sub_81154DC: @ 81154DC - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - movs r0, 0x25 - adds r1, r2, 0 - bl sub_8113DE0 - adds r2, r0, 0 - cmp r2, 0 - beq _0811550E - ldrh r0, [r4, 0x4] - strh r0, [r2] - ldrh r0, [r4, 0x6] - strh r0, [r2, 0x2] - ldr r1, [r4] - lsrs r0, r1, 16 - strh r0, [r2, 0x4] - strh r1, [r2, 0x6] - ldrb r0, [r4, 0x8] - strb r0, [r2, 0x8] - movs r0, 0x1 - strb r0, [r2, 0x9] - adds r0, r2, 0 - adds r0, 0xA - b _08115510 -_0811550E: - movs r0, 0 -_08115510: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81154DC - - thumb_func_start sub_8115518 -sub_8115518: @ 8115518 - push {r4-r7,lr} - adds r1, r0, 0 - movs r0, 0x25 - bl sub_8113E88 - adds r4, r0, 0 - adds r7, r4, 0 - adds r7, 0x8 - ldrh r0, [r4, 0x4] - lsls r0, 16 - ldrh r1, [r4, 0x6] - adds r6, r0, r1 - bl UnkTextUtil_Reset - ldr r5, _08115564 @ =gStringVar1 - ldrb r1, [r4, 0x8] - adds r0, r5, 0 - bl sub_80C4DF8 - movs r0, 0 - adds r1, r5, 0 - bl UnkTextUtil_SetPtrI - ldrh r0, [r4] - bl ItemId_GetItem - adds r1, r0, 0 - movs r0, 0x1 - bl UnkTextUtil_SetPtrI - ldrh r0, [r4, 0x2] - cmp r0, 0x1 - bhi _08115570 - ldr r0, _08115568 @ =gStringVar4 - ldr r1, _0811556C @ =gUnknown_841A7DD - bl UnkTextUtil_StringExpandPlaceholders - b _0811558E - .align 2, 0 -_08115564: .4byte gStringVar1 -_08115568: .4byte gStringVar4 -_0811556C: .4byte gUnknown_841A7DD -_08115570: - ldr r4, _08115598 @ =gStringVar2 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - movs r0, 0x2 - adds r1, r4, 0 - bl UnkTextUtil_SetPtrI - ldr r0, _0811559C @ =gStringVar4 - ldr r1, _081155A0 @ =gUnknown_841A810 - bl UnkTextUtil_StringExpandPlaceholders -_0811558E: - adds r0, r7, 0x2 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08115598: .4byte gStringVar2 -_0811559C: .4byte gStringVar4 -_081155A0: .4byte gUnknown_841A810 - thumb_func_end sub_8115518 - thumb_func_start sub_81155A4 sub_81155A4: @ 81155A4 push {r4,lr} diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index bdcf0a201..2ce441e4e 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -1265,7 +1265,10 @@ gUnknown_84189EE:: @ 84189EE .incbin "baserom.gba", 0x4189EE, 0x22D gUnknown_8418C1B:: @ 8418C1B - .incbin "baserom.gba", 0x418C1B, 0x68 + .string "POKéMON CENTER$" + +gUnknown_8418C2A:: @ 8418C2A + .incbin "baserom.gba", 0x418C2A, 0x59 gUnknown_8418C83:: @ 8418C83 .incbin "baserom.gba", 0x418C83, 0x56 diff --git a/data/quest_log.s b/data/quest_log.s deleted file mode 100644 index a4d3dd16c..000000000 --- a/data/quest_log.s +++ /dev/null @@ -1,23 +0,0 @@ - .section .rodata - -gUnknown_8456C50:: @ 8456C50 - .2byte 0x0891 - .2byte 0x0892 - .2byte 0x0893 - .2byte 0x0894 - .2byte 0x0895 - .2byte 0x0896 - .2byte 0x0897 - .2byte 0x0898 - .2byte 0x0899 - .2byte 0x089a - .2byte 0x089b - .2byte 0x089c - .2byte 0x089d - .2byte 0x089e - .2byte 0x089f - .2byte 0x08a0 - .2byte 0x08a1 - .2byte 0x0000 - - diff --git a/ld_script.txt b/ld_script.txt index 28abe99ca..2087ea35b 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -371,7 +371,6 @@ SECTIONS { src/save.o(.rodata); data/data_83FECCC.o(.rodata); src/quest_log.o(.rodata); - data/quest_log.o(.rodata); data/data_83FECCC.o(.rodata.8456C74); src/menews_jisan.o(.rodata); src/menews_jisan.o(.rodata.str1.4); diff --git a/src/quest_log.c b/src/quest_log.c index d88bc04a4..eac9486d2 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -272,8 +272,8 @@ const u16 * sub_8115700(const u16 *); u16 * sub_81157DC(u16 *, const u16 *); const u16 * sub_8115800(const u16 *); void sub_8115834(u8 *); -bool8 sub_81153A8(u16, void*); -bool8 sub_81153E4(u16, void*); +bool8 sub_81153A8(u16, u16 *); +bool8 sub_81153E4(u16, u16 *); extern const u8 gUnknown_841A155[]; extern const u8 gUnknown_841A16F[]; @@ -400,6 +400,7 @@ extern const u8 gUnknown_841B246[]; extern const u8 gUnknown_841B25B[]; extern const u8 gUnknown_841B268[]; extern const u8 gUnknown_841B277[]; +extern const u8 gUnknown_8418C1B[]; const struct WindowTemplate gUnknown_845661C[3] = { @@ -4730,3 +4731,120 @@ const u16 * sub_81152BC(const u16 * a0) return (const u16 *)(r5_2 + 2); } + +void sub_811539C(void) +{ + gUnknown_203B04B = TRUE; +} + +bool8 sub_81153A8(u16 a0, u16 * a1) +{ + if (a0 != 35) + { + gUnknown_203B04A = 0; + return TRUE; + } + if (gUnknown_203B04A == *((u8 *)a1 + 1) + 1) + return FALSE; + gUnknown_203B04A = *((u8 *)a1 + 1) + 1; + return TRUE; +} + +bool8 sub_81153E4(u16 a0, u16 * a1) +{ + if (a0 != 35) + return TRUE; + if (*((u8 *)a1 + 1) == 32 && gUnknown_203B04B == 0) + return FALSE; + gUnknown_203B04B = 0; + return TRUE; +} + +u16 * sub_8115410(u16 * a0, const u16 * a1) +{ + u8 * r3; + a0 = sub_8113DE0(36, a0); + if (a0 == NULL) + return NULL; + a0[0] = a1[0]; + r3 = (u8 *)a0 + 2; + r3[0] = *((const u8 *)a1 + 2); + r3[1] = *((const u8 *)a1 + 3); + if (r3[0] == 7 || r3[0] == 8) + gUnknown_203B048 = 2; + else + gUnknown_203B048 = 1; + return (u16 *)(r3 + 2); +} + +const u16 * sub_8115460(const u16 * a0) +{ + const u16 * r4 = sub_8113E88(36, a0); + const u8 * r5 = (const u8 *)r4 + 2; + QuestLog_AutoGetSpeciesName(r4[0], gStringVar1, 0); + if (r5[1] != 0xFF) + sub_80C4DF8(gStringVar2, r5[1]); + if (r5[0] == 7) + { + if (r5[1] == 0x58) + StringCopy(gStringVar3, gUnknown_841B09F); + else + StringCopy(gStringVar3, gUnknown_8418C1B); + } + StringExpandPlaceholders(gStringVar4, gUnknown_8456C20[r5[0]]); + return (const u16 *)(r5 + 2); +} + +u16 * sub_81154DC(u16 * a0, const u16 * a1) +{ + a0 = sub_8113DE0(37, a0); + if (a0 == NULL) + return NULL; + a0[0] = a1[2]; + a0[1] = a1[3]; + a0[2] = *((const u32 *)a1) >> 16; + a0[3] = *((const u32 *)a1); + *((u8 *)a0 + 8) = *((const u8 *)a1 + 8); + *((u8 *)a0 + 9) = 1; + return a0 + 5; +} + +const u16 * sub_8115518(const u16 * a0) +{ + const u16 * r4 = sub_8113E88(37, a0); + const u8 * r7 = (const u8 *)r4 + 8; + u32 r6 = (r4[2] << 16) + r4[3]; + UnkTextUtil_Reset(); + sub_80C4DF8(gStringVar1, r7[0]); + UnkTextUtil_SetPtrI(0, gStringVar1); + UnkTextUtil_SetPtrI(1, ItemId_GetItem(r4[0])->name); + if (r4[1] < 2) + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A7DD); + else + { + ConvertIntToDecimalStringN(gStringVar2, r6, STR_CONV_MODE_LEFT_ALIGN, 6); + UnkTextUtil_SetPtrI(2, gStringVar2); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A810); + } + return (const u16 *)(r7 + 2); +} + +const u16 gUnknown_8456C50[] = { + 0x0891, + 0x0892, + 0x0893, + 0x0894, + 0x0895, + 0x0896, + 0x0897, + 0x0898, + 0x0899, + 0x089a, + 0x089b, + 0x089c, + 0x089d, + 0x089e, + 0x089f, + 0x08a0, + 0x08a1 +}; From 6bcabeab1ec976284da95c34b57615fc9fa44970 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 21 Nov 2018 08:52:01 -0500 Subject: [PATCH 105/222] Complete decomp of quest_log --- asm/quest_log.s | 367 ------------------------------------------------ ld_script.txt | 1 - src/quest_log.c | 181 +++++++++++++++++++++++- 3 files changed, 179 insertions(+), 370 deletions(-) delete mode 100644 asm/quest_log.s diff --git a/asm/quest_log.s b/asm/quest_log.s deleted file mode 100644 index f5992a824..000000000 --- a/asm/quest_log.s +++ /dev/null @@ -1,367 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81155A4 -sub_81155A4: @ 81155A4 - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - movs r0, 0x26 - adds r1, r2, 0 - bl sub_8113DE0 - adds r2, r0, 0 - cmp r2, 0 - beq _081155D6 - ldrh r0, [r4, 0x4] - strh r0, [r2] - ldrh r0, [r4, 0x6] - strh r0, [r2, 0x2] - ldr r1, [r4] - lsrs r0, r1, 16 - strh r0, [r2, 0x4] - strh r1, [r2, 0x6] - ldrb r0, [r4, 0x8] - strb r0, [r2, 0x8] - ldrb r0, [r4, 0x9] - strb r0, [r2, 0x9] - adds r0, r2, 0 - adds r0, 0xA - b _081155D8 -_081155D6: - movs r0, 0 -_081155D8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81155A4 - - thumb_func_start sub_81155E0 -sub_81155E0: @ 81155E0 - push {r4-r7,lr} - adds r1, r0, 0 - movs r0, 0x26 - bl sub_8113E88 - adds r5, r0, 0 - adds r7, r5, 0 - adds r7, 0x8 - ldrh r0, [r5, 0x4] - lsls r0, 16 - ldrh r1, [r5, 0x6] - adds r6, r0, r1 - bl UnkTextUtil_Reset - ldr r4, _0811563C @ =gStringVar1 - ldrb r1, [r5, 0x8] - adds r0, r4, 0 - bl sub_80C4DF8 - ldrb r0, [r7, 0x1] - cmp r0, 0 - bne _08115690 - ldr r0, _08115640 @ =gSaveBlock2Ptr - ldr r1, [r0] - movs r0, 0 - bl UnkTextUtil_SetPtrI - movs r0, 0x1 - adds r1, r4, 0 - bl UnkTextUtil_SetPtrI - ldrh r0, [r5] - bl ItemId_GetItem - adds r1, r0, 0 - movs r0, 0x2 - bl UnkTextUtil_SetPtrI - ldrh r0, [r5, 0x2] - cmp r0, 0x1 - bne _08115648 - ldr r1, _08115644 @ =gUnknown_841A8D4 - movs r0, 0x3 - bl UnkTextUtil_SetPtrI - b _08115670 - .align 2, 0 -_0811563C: .4byte gStringVar1 -_08115640: .4byte gSaveBlock2Ptr -_08115644: .4byte gUnknown_841A8D4 -_08115648: - ldr r4, _0811567C @ =gStringVar2 - ldrh r1, [r5, 0x2] - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r0, 0x4 - adds r1, r4, 0 - bl UnkTextUtil_SetPtrI - ldr r4, _08115680 @ =gStringVar3 - ldr r1, _08115684 @ =gUnknown_841A8DD - adds r0, r4, 0 - bl UnkTextUtil_StringExpandPlaceholders - movs r0, 0x3 - adds r1, r4, 0 - bl UnkTextUtil_SetPtrI -_08115670: - ldr r0, _08115688 @ =gStringVar4 - ldr r1, _0811568C @ =gUnknown_841A858 - bl UnkTextUtil_StringExpandPlaceholders - b _081156C4 - .align 2, 0 -_0811567C: .4byte gStringVar2 -_08115680: .4byte gStringVar3 -_08115684: .4byte gUnknown_841A8DD -_08115688: .4byte gStringVar4 -_0811568C: .4byte gUnknown_841A858 -_08115690: - movs r0, 0 - adds r1, r4, 0 - bl UnkTextUtil_SetPtrI - ldrh r0, [r5] - bl ItemId_GetItem - adds r1, r0, 0 - movs r0, 0x1 - bl UnkTextUtil_SetPtrI - ldr r4, _081156CC @ =gStringVar2 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - movs r0, 0x2 - adds r1, r4, 0 - bl UnkTextUtil_SetPtrI - ldr r0, _081156D0 @ =gStringVar4 - ldr r1, _081156D4 @ =gUnknown_841A896 - bl UnkTextUtil_StringExpandPlaceholders -_081156C4: - adds r0, r7, 0x2 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081156CC: .4byte gStringVar2 -_081156D0: .4byte gStringVar4 -_081156D4: .4byte gUnknown_841A896 - thumb_func_end sub_81155E0 - - thumb_func_start sub_81156D8 -sub_81156D8: @ 81156D8 - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - movs r0, 0x28 - adds r1, r2, 0 - bl sub_8113DE0 - adds r2, r0, 0 - cmp r2, 0 - beq _081156F8 - ldrh r0, [r4] - strh r0, [r2] - ldrb r0, [r4, 0x2] - strb r0, [r2, 0x2] - adds r0, r2, 0x4 - b _081156FA -_081156F8: - movs r0, 0 -_081156FA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81156D8 - - thumb_func_start sub_8115700 -sub_8115700: @ 8115700 - push {r4-r6,lr} - adds r1, r0, 0 - movs r0, 0x28 - bl sub_8113E88 - adds r4, r0, 0 - adds r5, r4, 0x2 - ldr r0, _08115738 @ =gStringVar1 - ldrb r1, [r4, 0x2] - bl sub_80C4DF8 - ldr r6, _0811573C @ =gStringVar2 - ldrh r0, [r4] - bl ItemId_GetItem - adds r1, r0, 0 - adds r0, r6, 0 - bl StringCopy - ldr r0, _08115740 @ =gStringVar4 - ldr r1, _08115744 @ =gUnknown_841B03F - bl StringExpandPlaceholders - adds r5, 0x2 - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08115738: .4byte gStringVar1 -_0811573C: .4byte gStringVar2 -_08115740: .4byte gStringVar4 -_08115744: .4byte gUnknown_841B03F - thumb_func_end sub_8115700 - - thumb_func_start sub_8115748 -sub_8115748: @ 8115748 - push {r4,lr} - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, _08115764 @ =gUnknown_203ADFA - ldrb r0, [r0] - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _08115792 - movs r1, 0 - ldr r4, _08115768 @ =gUnknown_203B049 - ldr r0, _0811576C @ =gUnknown_8456C50 - b _08115778 - .align 2, 0 -_08115764: .4byte gUnknown_203ADFA -_08115768: .4byte gUnknown_203B049 -_0811576C: .4byte gUnknown_8456C50 -_08115770: - movs r0, 0 - b _08115790 -_08115774: - adds r0, 0x2 - adds r1, 0x1 -_08115778: - cmp r1, 0x10 - bgt _08115792 - ldrh r3, [r0] - cmp r2, r3 - bne _08115774 - adds r0, r2, 0 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _08115770 - movs r0, 0x1 -_08115790: - strb r0, [r4] -_08115792: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8115748 - - thumb_func_start sub_8115798 -sub_8115798: @ 8115798 - push {r4,lr} - sub sp, 0x4 - ldr r0, _081157D0 @ =gUnknown_203ADFA - ldrb r0, [r0] - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _081157C6 - ldr r4, _081157D4 @ =gUnknown_203B049 - ldrb r0, [r4] - cmp r0, 0 - beq _081157C6 - ldr r0, _081157D8 @ =gMapHeader - ldrb r1, [r0, 0x14] - mov r0, sp - strh r1, [r0] - movs r0, 0x2A - mov r1, sp - bl sub_8113550 - movs r0, 0 - strb r0, [r4] -_081157C6: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081157D0: .4byte gUnknown_203ADFA -_081157D4: .4byte gUnknown_203B049 -_081157D8: .4byte gMapHeader - thumb_func_end sub_8115798 - - thumb_func_start sub_81157DC -sub_81157DC: @ 81157DC - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - movs r0, 0x2A - adds r1, r2, 0 - bl sub_8113DE0 - adds r2, r0, 0 - cmp r2, 0 - beq _081157F8 - ldrh r0, [r4] - strh r0, [r2] - adds r0, r2, 0x2 - b _081157FA -_081157F8: - movs r0, 0 -_081157FA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81157DC - - thumb_func_start sub_8115800 -sub_8115800: @ 8115800 - push {r4,lr} - adds r1, r0, 0 - movs r0, 0x2A - bl sub_8113E88 - adds r4, r0, 0 - ldr r0, _08115828 @ =gStringVar1 - ldrb r1, [r4] - bl sub_80C4DF8 - ldr r0, _0811582C @ =gStringVar4 - ldr r1, _08115830 @ =gUnknown_841B064 - bl StringExpandPlaceholders - adds r4, 0x2 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08115828: .4byte gStringVar1 -_0811582C: .4byte gStringVar4 -_08115830: .4byte gUnknown_841B064 - thumb_func_end sub_8115800 - - thumb_func_start sub_8115834 -sub_8115834: @ 8115834 - push {lr} - adds r1, r0, 0 - ldrb r0, [r1] - adds r1, 0x1 - cmp r0, 0xFC - bne _08115868 - ldrb r0, [r1] - adds r1, 0x1 - cmp r0, 0x15 - bne _08115868 - movs r2, 0 - b _08115854 -_0811584C: - adds r1, 0x1 - adds r2, 0x1 - cmp r2, 0x4 - bgt _0811585A -_08115854: - ldrb r0, [r1] - cmp r0, 0xFC - bne _0811584C -_0811585A: - movs r0, 0xFC - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x16 - strb r0, [r1] - movs r0, 0xFF - strb r0, [r1, 0x1] -_08115868: - pop {r0} - bx r0 - thumb_func_end sub_8115834 - - .align 2, 0 @ Don't pad with nop. diff --git a/ld_script.txt b/ld_script.txt index 2087ea35b..c1a32fcbf 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -220,7 +220,6 @@ SECTIONS { asm/mailbox_pc.o(.text); asm/menu.o(.text); src/quest_log.o(.text); - asm/quest_log.o(.text); asm/link_rfu_3.o(.text); asm/pokemon_special_anim.o(.text); asm/party_menu.o(.text); diff --git a/src/quest_log.c b/src/quest_log.c index eac9486d2..ed7214bdd 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -261,6 +261,8 @@ u16 * sub_81151C0(u16 *, const u16 *); const u16 * sub_81151DC(const u16 *); u16 * sub_8115280(u16 *, const u16 *); const u16 * sub_81152BC(const u16 *); +bool8 sub_81153A8(u16, u16 *); +bool8 sub_81153E4(u16, u16 *); u16 * sub_8115410(u16 *, const u16 *); const u16 * sub_8115460(const u16 *); u16 * sub_81154DC(u16 *, const u16 *); @@ -272,8 +274,6 @@ const u16 * sub_8115700(const u16 *); u16 * sub_81157DC(u16 *, const u16 *); const u16 * sub_8115800(const u16 *); void sub_8115834(u8 *); -bool8 sub_81153A8(u16, u16 *); -bool8 sub_81153E4(u16, u16 *); extern const u8 gUnknown_841A155[]; extern const u8 gUnknown_841A16F[]; @@ -4829,6 +4829,72 @@ const u16 * sub_8115518(const u16 * a0) return (const u16 *)(r7 + 2); } +u16 * sub_81155A4(u16 * a0, const u16 * a1) +{ + a0 = sub_8113DE0(38, a0); + if (a0 == NULL) + return NULL; + a0[0] = a1[2]; + a0[1] = a1[3]; + a0[2] = *((const u32 *)a1) >> 16; + a0[3] = *((const u32 *)a1); + *((u8 *)a0 + 8) = *((const u8 *)a1 + 8); + *((u8 *)a0 + 9) = *((const u8 *)a1 + 9); + return a0 + 5; +} + +const u16 * sub_81155E0(const u16 * a0) { + const u16 *r5 = sub_8113E88(38, a0); + const u8 *r7 = (const u8 *) r5 + 8; + u32 r6 = (r5[2] << 16) + r5[3]; + UnkTextUtil_Reset(); + sub_80C4DF8(gStringVar1, r7[0]); + if (r7[1] == 0) { + UnkTextUtil_SetPtrI(0, gSaveBlock2Ptr->playerName); + UnkTextUtil_SetPtrI(1, gStringVar1); + UnkTextUtil_SetPtrI(2, ItemId_GetItem(r5[0])->name); + if (r5[1] == 1) + UnkTextUtil_SetPtrI(3, gUnknown_841A8D4); + else + { + ConvertIntToDecimalStringN(gStringVar2, r5[1], STR_CONV_MODE_LEFT_ALIGN, 3); + UnkTextUtil_SetPtrI(4, gStringVar2); + UnkTextUtil_StringExpandPlaceholders(gStringVar3, gUnknown_841A8DD); + UnkTextUtil_SetPtrI(3, gStringVar3); + } + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A858); + } + else + { + UnkTextUtil_SetPtrI(0, gStringVar1); + UnkTextUtil_SetPtrI(1, ItemId_GetItem(r5[0])->name); + ConvertIntToDecimalStringN(gStringVar2, r6, STR_CONV_MODE_LEFT_ALIGN, 6); + UnkTextUtil_SetPtrI(2, gStringVar2); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A896); + } + return (const u16 *)(r7 + 2); +} + +u16 * sub_81156D8(u16 * a0, const u16 * a1) +{ + a0 = sub_8113DE0(40, a0); + if (a0 == NULL) + return NULL; + a0[0] = a1[0]; + *((u8 *)a0 + 2) = *((const u8 *)a1 + 2); + return a0 + 2; +} + +const u16 * sub_8115700(const u16 * a0) +{ + const u16 * r4 = sub_8113E88(40, a0); + const u8 * r5 = (const u8 *)r4 + 2; + sub_80C4DF8(gStringVar1, r5[0]); + StringCopy(gStringVar2, ItemId_GetItem(r4[0])->name); + StringExpandPlaceholders(gStringVar4, gUnknown_841B03F); + return (const u16 *)(r5 + 2); +} + const u16 gUnknown_8456C50[] = { 0x0891, 0x0892, @@ -4848,3 +4914,114 @@ const u16 gUnknown_8456C50[] = { 0x08a0, 0x08a1 }; + +#ifdef NONMATCHING +void sub_8115748(u16 a0) +{ + s32 i; + if (gUnknown_203ADFA == 2 || gUnknown_203ADFA == 3) + return; + for (i = 0; i < 17; i++) + { + if (a0 != gUnknown_8456C50[i]) + continue; + if (!FlagGet(a0)) + gUnknown_203B049 = TRUE; + else + gUnknown_203B049 = FALSE; + break; + } +} +#else +NAKED +void sub_8115748(u16 a0) +{ + asm_unified("\tpush {r4,lr}\n" + "\tlsls r0, 16\n" + "\tlsrs r2, r0, 16\n" + "\tldr r0, =gUnknown_203ADFA\n" + "\tldrb r0, [r0]\n" + "\tsubs r0, 0x2\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tcmp r0, 0x1\n" + "\tbls _08115792\n" + "\tmovs r1, 0\n" + "\tldr r4, =gUnknown_203B049\n" + "\tldr r0, =gUnknown_8456C50\n" + "\tb _08115778\n" + "\t.pool\n" + "_08115770:\n" + "\tmovs r0, 0\n" + "\tb _08115790\n" + "_08115774:\n" + "\tadds r0, 0x2\n" + "\tadds r1, 0x1\n" + "_08115778:\n" + "\tcmp r1, 0x10\n" + "\tbgt _08115792\n" + "\tldrh r3, [r0]\n" + "\tcmp r2, r3\n" + "\tbne _08115774\n" + "\tadds r0, r2, 0\n" + "\tbl FlagGet\n" + "\tlsls r0, 24\n" + "\tcmp r0, 0\n" + "\tbne _08115770\n" + "\tmovs r0, 0x1\n" + "_08115790:\n" + "\tstrb r0, [r4]\n" + "_08115792:\n" + "\tpop {r4}\n" + "\tpop {r0}\n" + "\tbx r0"); +} +#endif // NONMATCHING + +void sub_8115798(void) +{ + u16 sp0; + if (gUnknown_203ADFA != 2 && gUnknown_203ADFA != 3) + { + if (gUnknown_203B049) + { + sp0 = gMapHeader.regionMapSectionId; + sub_8113550(42, &sp0); + gUnknown_203B049 = FALSE; + } + } +} + +u16 * sub_81157DC(u16 * a0, const u16 * a1) +{ + a0 = sub_8113DE0(42, a0); + if (a0 == NULL) + return NULL; + a0[0] = a1[0]; + return a0 + 1; +} + +const u16 * sub_8115800(const u16 * a0) +{ + const u16 * r4 = sub_8113E88(42, a0); + sub_80C4DF8(gStringVar1, r4[0]); + StringExpandPlaceholders(gStringVar4, gUnknown_841B064); + return r4 + 1; +} + +void sub_8115834(u8 * a0) +{ + s32 i; + if (*a0++ == EXT_CTRL_CODE_BEGIN && *a0++ == EXT_CTRL_CODE_JPN) + { + for (i = 0; i < 5; i++) + { + if (*a0 == EXT_CTRL_CODE_BEGIN) + break; + a0++; + } + *a0++ = EXT_CTRL_CODE_BEGIN; + *a0++ = EXT_CTRL_CODE_ENG; + *a0++ = EOS; + } +} From 76f0c361edf91c3825b7a4344186150de0ce3469 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 21 Nov 2018 20:11:12 -0500 Subject: [PATCH 106/222] Try and guess what some of this stuff in crt0.s is --- asm/crt0.s | 31 ++++++++-------- include/global.h | 94 ++++++++++++++++++++++++++++-------------------- 2 files changed, 71 insertions(+), 54 deletions(-) diff --git a/asm/crt0.s b/asm/crt0.s index 37c7ef502..a2e9cd75f 100644 --- a/asm/crt0.s +++ b/asm/crt0.s @@ -60,11 +60,11 @@ GPIOPortReadEnable: @ 80000C8 .4byte 0x8245EE0 @ gSpeciesNames .4byte 0x8247094 @ gMoveNames .4byte 0x84556F8 @ gDecorations - .4byte 0xEE0 - .4byte 0x1000 - .4byte 0x18 - .4byte 0x5F8 - .4byte 0x3A18 + .4byte 0xEE0 @ offsetof(struct SaveBlock1, flags) + .4byte 0x1000 @ offsetof(struct SaveBlock1, vars) + .4byte 0x18 @ offsetof(struct SaveBlock2, pokedex) + .4byte 0x5F8 @ offsetof(struct SaveBlock1, seen1) + .4byte 0x3A18 @ offsetof(struct SaveBlock1, seen2) .4byte 0x3C .4byte 0x838 .4byte 0x839 @@ -74,16 +74,17 @@ GPIOPortReadEnable: @ 80000C8 .4byte 0xC121006 .4byte 0x8010B0F .4byte 0xC - .4byte 0xF24 - .4byte 0x3D68 - .4byte 0x34 - .4byte 0x38 - .4byte 9 - .4byte 0xA - .4byte 0 - .4byte 8 - .4byte 0xAD - .4byte 0xAD + .4byte 0xF24 @ sizeof(struct SaveBlock2) + .4byte 0x3D68 @ sizeof(struct SaveBlock1) + .4byte 0x34 @ offsetof(struct SaveBlock1, playerPartyCount) + .4byte 0x38 @ offsetof(struct SaveBlock1, playerParty) + .4byte 9 @ offsetof(struct SaveBlock2, specialSaveWarp) + .4byte 0xA @ offsetof(struct SaveBlock2, playerTrainerId) + .4byte 0 @ offsetof(struct SaveBlock2, playerName) + .4byte 8 @ offsetof(struct SaveBlock2, playerGender) + + .4byte 0xAD @ offsetof(struct SaveBlock2, ?????? (0xAD)) + .4byte 0xAD @ offsetof(struct SaveBlock2, ?????? (0xAD)) .4byte 0x30BB .4byte 0x30A7 .4byte 0 diff --git a/include/global.h b/include/global.h index 9db1443c2..050e200f9 100644 --- a/include/global.h +++ b/include/global.h @@ -155,6 +155,8 @@ struct Time /*0x04*/ s8 seconds; }; +#define DEX_FLAGS_NO ((POKEMON_SLOTS_NUMBER / 8) + ((POKEMON_SLOTS_NUMBER % 8) ? 1 : 0)) + struct Pokedex { /*0x00*/ u8 order; @@ -164,8 +166,8 @@ struct Pokedex /*0x04*/ u32 unownPersonality; // set when you first see Unown /*0x08*/ u32 spindaPersonality; // set when you first see Spinda /*0x0C*/ u32 unknown3; - /*0x10*/ u8 owned[52]; - /*0x44*/ u8 seen[52]; + /*0x10*/ u8 owned[DEX_FLAGS_NO]; + /*0x44*/ u8 seen[DEX_FLAGS_NO]; }; struct PokemonJumpResults // possibly used in the game itself? @@ -514,9 +516,9 @@ struct QuestLogNPCData struct UnkStruct_203B024 { - u16 unk_00; - u16 unk_02; - u16 unk_04[14]; + u16 unk_00; + u16 unk_02; + u16 unk_04[14]; }; union QuestLogScene @@ -535,11 +537,11 @@ union QuestLogMovement; // Define here union QuestLogMovement { - u16 ident_raw; - struct { - u16 ident:12; - u16 flags:4; - } ident_struct; + u16 ident_raw; + struct { + u16 ident:12; + u16 flags:4; + } ident_struct; }; struct QuestLog @@ -571,30 +573,31 @@ struct SaveBlock1 { /*0x0000*/ struct Coords16 pos; /*0x0004*/ struct WarpData location; - /*0x0C*/ struct WarpData warp1; - /*0x14*/ struct WarpData warp2; - /*0x1C*/ struct WarpData lastHealLocation; - /*0x24*/ struct WarpData warp4; - /*0x2C*/ u16 savedMusic; - /*0x2E*/ u8 weather; - /*0x2F*/ u8 filler_2F; - /*0x30*/ u8 flashLevel; - /*0x32*/ u16 mapDataId; - /*0x234*/ u8 playerPartyCount; - /*0x238*/ struct Pokemon playerParty[PARTY_SIZE]; - /*0x490*/ u32 money; - /*0x494*/ u16 coins; - /*0x496*/ u16 registeredItem; // registered for use with SELECT button - /*0x0298*/ u8 filler298[0x78]; - /*0x0310*/ struct ItemSlot bagPocket_Items[BAG_ITEMS_COUNT]; - /*0x????*/ struct ItemSlot bagPocket_KeyItems[BAG_KEYITEMS_COUNT]; - /*0x????*/ struct ItemSlot bagPocket_PokeBalls[BAG_POKEBALLS_COUNT]; - /*0x????*/ struct ItemSlot bagPocket_TMHM[BAG_TMHM_COUNT]; - /*0x????*/ struct ItemSlot bagPocket_Berries[BAG_BERRIES_COUNT]; - /*0x05F8*/ u8 filler5F8[0x40]; - /*0x638*/ u8 trainerRematchStepCounter; - u8 filler_639; - /*0x63A*/ u8 trainerRematches[100]; + /*0x000C*/ struct WarpData warp1; + /*0x0014*/ struct WarpData warp2; + /*0x001C*/ struct WarpData lastHealLocation; + /*0x0024*/ struct WarpData warp4; + /*0x002C*/ u16 savedMusic; + /*0x002E*/ u8 weather; + /*0x002F*/ u8 filler_2F; + /*0x0030*/ u8 flashLevel; + /*0x0032*/ u16 mapDataId; + /*0x0034*/ u8 playerPartyCount; + /*0x0038*/ struct Pokemon playerParty[PARTY_SIZE]; + /*0x0290*/ u32 money; + /*0x0294*/ u16 coins; + /*0x0296*/ u16 registeredItem; // registered for use with SELECT button + /*0x0298*/ u8 filler298[0x78]; + /*0x0310*/ struct ItemSlot bagPocket_Items[BAG_ITEMS_COUNT]; + /*0x03b8*/ struct ItemSlot bagPocket_KeyItems[BAG_KEYITEMS_COUNT]; + /*0x0430*/ struct ItemSlot bagPocket_PokeBalls[BAG_POKEBALLS_COUNT]; + /*0x0464*/ struct ItemSlot bagPocket_TMHM[BAG_TMHM_COUNT]; + /*0x054c*/ struct ItemSlot bagPocket_Berries[BAG_BERRIES_COUNT]; + /*0x05F8*/ u8 seen1[DEX_FLAGS_NO]; + /*0x062C*/ u8 filler_062c[12]; + /*0x0638*/ u8 trainerRematchStepCounter; + u8 filler_639; + /*0x063A*/ u8 trainerRematches[100]; /*0x06A0*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT]; /*0x08E0*/ struct MapObjectTemplate mapObjectTemplates[64]; /*0x0EE0*/ u8 flags[FLAGS_COUNT]; @@ -602,14 +605,27 @@ struct SaveBlock1 /*0x1200*/ u8 filler1200[0x100]; /*0x1300*/ struct QuestLog questLog[4]; /*0x2CA0*/ u8 filler2CA0[0x30]; - /*0x2CD0*/ struct MailStruct mail[MAIL_COUNT]; - /*0x2F10*/ u8 filler2F10[0x1DA]; - /*0x30EC*/ struct EnigmaBerry enigmaBerry; - /*0x3120*/ u8 filler3120[0x340]; + /*0x2CD0*/ struct MailStruct mail[MAIL_COUNT]; + /*0x2F10*/ u8 filler2F10[0x184]; + struct { + /*0x3094*/ u8 unknown1[8]; + /*0x309C*/ u8 giftRibbons[11]; + /*0x30A7*/ u8 unknown2[8]; + /*0x30AF*/ u32 currentPokeCoupons; + /*0x30B3*/ u32 totalEarnedPokeCoupons; + /*0x30B7*/ u8 unknown3[6]; + /*0x30BD*/ u8 receivedWishmakerJirachi; + /*0x30BE*/ u8 unknown4[18]; + } __attribute__((packed)) externalReservedData; + /*0x30D0*/ struct Roamer roamer; + /*0x30EC*/ struct EnigmaBerry enigmaBerry; + /*0x3120*/ u8 filler3120[0x340]; /*0x3460*/ struct MysteryEventStruct unk_3460; /*0x3464*/ u8 filler_3464[0x1b8]; /*0x361C*/ struct RamScript ramScript; - /*0x3A08*/ u8 filler3A08[0x44]; + /*0x3A08*/ u8 filler3A08[12]; + /*0x3A14*/ u8 seen2[DEX_FLAGS_NO]; + /*0x3A48*/ u8 filler_3a48[4]; /*0x3A4C*/ u8 rivalName[PLAYER_NAME_LENGTH]; /*0x3A54*/ u8 filler3A54[0x2E4]; u32 unkArray[4][3]; From d347a95390a5cb61416f0148e9a9661b1ffddde7 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 23 Nov 2018 15:17:38 -0500 Subject: [PATCH 107/222] quest_log_8150454 --- asm/battle_transition.s | 8 +- asm/field_effect.s | 80 +++--- asm/field_effect_helpers.s | 108 ++++---- asm/field_ground_effect.s | 48 ++-- asm/field_map_obj.s | 28 +- asm/field_player_avatar.s | 4 +- asm/field_specials.s | 4 +- asm/fldeff_cut.s | 8 +- asm/fldeff_flash.s | 4 +- asm/fldeff_strength.s | 8 +- asm/fldeff_sweetscent.s | 4 +- asm/fldeff_teleport.s | 4 +- asm/map_obj_80688E4.s | 8 +- asm/party_menu.s | 12 +- asm/quest_log_8150454.s | 482 --------------------------------- asm/rom6.s | 12 +- asm/scrcmd.s | 4 +- asm/trainer_see.s | 16 +- data/data_8468C98.s | 366 ------------------------- data/data_8471F00.s | 368 +++++++++++++++++++++++++ include/bike.h | 6 + include/field_effect_helpers.h | 1 + include/field_map_obj.h | 3 + include/field_player_avatar.h | 4 + include/quest_log.h | 2 + ld_script.txt | 4 +- src/quest_log_8150454.c | 197 ++++++++++++++ sym_ewram.txt | 2 +- 28 files changed, 765 insertions(+), 1030 deletions(-) delete mode 100644 asm/quest_log_8150454.s create mode 100644 data/data_8471F00.s create mode 100644 include/bike.h create mode 100644 src/quest_log_8150454.c diff --git a/asm/battle_transition.s b/asm/battle_transition.s index 931c7788c..ae1c7fa08 100644 --- a/asm/battle_transition.s +++ b/asm/battle_transition.s @@ -1522,7 +1522,7 @@ Phase2_Transition_PokeballsTrail_Func2: @ 80D144C ands r5, r0 movs r1, 0 mov r8, r4 - ldr r6, _080D14D4 @ =gUnknown_20386E0 + ldr r6, _080D14D4 @ =gFieldEffectArguments _080D147A: lsls r5, 16 asrs r5, 16 @@ -1567,7 +1567,7 @@ _080D147A: .align 2, 0 _080D14CC: .4byte gUnknown_83FA400 _080D14D0: .4byte gUnknown_83FA404 -_080D14D4: .4byte gUnknown_20386E0 +_080D14D4: .4byte gFieldEffectArguments thumb_func_end Phase2_Transition_PokeballsTrail_Func2 thumb_func_start Phase2_Transition_PokeballsTrail_Func3 @@ -1596,7 +1596,7 @@ _080D1500: .4byte sub_80D13C8 FldEff_Pokeball: @ 80D1504 push {r4,r5,lr} ldr r0, _080D1560 @ =gUnknown_83FA5CC - ldr r5, _080D1564 @ =gUnknown_20386E0 + ldr r5, _080D1564 @ =gFieldEffectArguments movs r2, 0 ldrsh r1, [r5, r2] movs r3, 0x4 @@ -1639,7 +1639,7 @@ FldEff_Pokeball: @ 80D1504 bx r1 .align 2, 0 _080D1560: .4byte gUnknown_83FA5CC -_080D1564: .4byte gUnknown_20386E0 +_080D1564: .4byte gFieldEffectArguments _080D1568: .4byte gSprites _080D156C: .4byte 0x0000ffff thumb_func_end FldEff_Pokeball diff --git a/asm/field_effect.s b/asm/field_effect.s index 4245e711b..1cbdc8214 100644 --- a/asm/field_effect.s +++ b/asm/field_effect.s @@ -2019,7 +2019,7 @@ task00_8084310: @ 8084310 cmp r0, 0 beq _08084376 bl GetCursorSelectionMonId - ldr r1, _08084380 @ =gUnknown_20386E0 + ldr r1, _08084380 @ =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r1] @@ -2053,7 +2053,7 @@ _08084376: bx r0 .align 2, 0 _0808437C: .4byte gTasks -_08084380: .4byte gUnknown_20386E0 +_08084380: .4byte gFieldEffectArguments _08084384: .4byte sub_805671C _08084388: .4byte gUnknown_3005020 _0808438C: .4byte mapldr_08084390 @@ -3238,7 +3238,7 @@ oei_waterfall: @ 8084CA0 adds r1, r0 lsls r1, 3 adds r1, r2 - ldr r2, _08084CD4 @ =gUnknown_20386E0 + ldr r2, _08084CD4 @ =gFieldEffectArguments ldr r2, [r2] strh r2, [r1, 0xA] bl _call_via_r4 @@ -3249,7 +3249,7 @@ oei_waterfall: @ 8084CA0 .align 2, 0 _08084CCC: .4byte sub_8084CD8 _08084CD0: .4byte gTasks -_08084CD4: .4byte gUnknown_20386E0 +_08084CD4: .4byte gFieldEffectArguments thumb_func_end oei_waterfall thumb_func_start sub_8084CD8 @@ -3323,7 +3323,7 @@ waterfall_1_do_anim_probably: @ 8084D44 bne _08084D74 adds r0, r5, 0 bl FieldObjectClearAnimIfSpecialAnimFinished - ldr r1, _08084D7C @ =gUnknown_20386E0 + ldr r1, _08084D7C @ =gFieldEffectArguments movs r2, 0xA ldrsh r0, [r4, r2] str r0, [r1] @@ -3338,7 +3338,7 @@ _08084D74: pop {r1} bx r1 .align 2, 0 -_08084D7C: .4byte gUnknown_20386E0 +_08084D7C: .4byte gFieldEffectArguments thumb_func_end waterfall_1_do_anim_probably thumb_func_start waterfall_2_wait_anim_finish_probably @@ -3442,7 +3442,7 @@ FldEff_UseDive: @ 8084E24 adds r1, r0 lsls r1, 3 adds r1, r2 - ldr r3, _08084E5C @ =gUnknown_20386E0 + ldr r3, _08084E5C @ =gFieldEffectArguments ldr r2, [r3] strh r2, [r1, 0x26] ldr r2, [r3, 0x4] @@ -3455,7 +3455,7 @@ FldEff_UseDive: @ 8084E24 .align 2, 0 _08084E54: .4byte sub_8084E60 _08084E58: .4byte gTasks -_08084E5C: .4byte gUnknown_20386E0 +_08084E5C: .4byte gFieldEffectArguments thumb_func_end FldEff_UseDive thumb_func_start sub_8084E60 @@ -3507,7 +3507,7 @@ dive_2_unknown: @ 8084EAC push {r4,lr} adds r4, r0, 0 bl ScriptContext2_Enable - ldr r1, _08084ED0 @ =gUnknown_20386E0 + ldr r1, _08084ED0 @ =gFieldEffectArguments movs r2, 0x26 ldrsh r0, [r4, r2] str r0, [r1] @@ -3521,7 +3521,7 @@ dive_2_unknown: @ 8084EAC pop {r1} bx r1 .align 2, 0 -_08084ED0: .4byte gUnknown_20386E0 +_08084ED0: .4byte gFieldEffectArguments thumb_func_end dive_2_unknown thumb_func_start dive_3_unknown @@ -3691,7 +3691,7 @@ sub_808500C: @ 808500C strh r0, [r2, 0x26] movs r0, 0x1 strh r0, [r4, 0xE] - ldr r3, _08085054 @ =gUnknown_20386E0 + ldr r3, _08085054 @ =gFieldEffectArguments movs r5, 0x10 ldrsh r0, [r1, r5] str r0, [r3] @@ -3719,7 +3719,7 @@ sub_808500C: @ 808500C pop {r1} bx r1 .align 2, 0 -_08085054: .4byte gUnknown_20386E0 +_08085054: .4byte gFieldEffectArguments thumb_func_end sub_808500C thumb_func_start sub_8085058 @@ -4006,7 +4006,7 @@ sub_8085274: @ 8085274 lsls r0, 24 cmp r0, 0 beq _080852B4 - ldr r1, _080852BC @ =gUnknown_20386E0 + ldr r1, _080852BC @ =gFieldEffectArguments movs r2, 0x10 ldrsh r0, [r5, r2] str r0, [r1] @@ -4034,7 +4034,7 @@ _080852B4: pop {r1} bx r1 .align 2, 0 -_080852BC: .4byte gUnknown_20386E0 +_080852BC: .4byte gFieldEffectArguments thumb_func_end sub_8085274 thumb_func_start sub_80852C0 @@ -4110,7 +4110,7 @@ _08085348: .4byte sub_80851E8 thumb_func_start FldEff_LavaridgeGymWarp FldEff_LavaridgeGymWarp: @ 808534C push {r4,lr} - ldr r4, _080853A4 @ =gUnknown_20386E0 + ldr r4, _080853A4 @ =gFieldEffectArguments adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -4151,7 +4151,7 @@ FldEff_LavaridgeGymWarp: @ 808534C pop {r1} bx r1 .align 2, 0 -_080853A4: .4byte gUnknown_20386E0 +_080853A4: .4byte gFieldEffectArguments _080853A8: .4byte gUnknown_83A0010 _080853AC: .4byte gSprites thumb_func_end FldEff_LavaridgeGymWarp @@ -4275,7 +4275,7 @@ sub_8085470: @ 8085470 ldrsh r0, [r5, r2] cmp r0, 0x3 ble _080854C4 - ldr r1, _080854C0 @ =gUnknown_20386E0 + ldr r1, _080854C0 @ =gFieldEffectArguments movs r2, 0x10 ldrsh r0, [r4, r2] str r0, [r1] @@ -4299,7 +4299,7 @@ sub_8085470: @ 8085470 strh r0, [r5, 0x8] b _080854E4 .align 2, 0 -_080854C0: .4byte gUnknown_20386E0 +_080854C0: .4byte gFieldEffectArguments _080854C4: adds r0, r1, 0x1 strh r0, [r5, 0xA] @@ -4414,7 +4414,7 @@ _0808559C: .4byte sub_80853E4 thumb_func_start FldEff_PopOutOfAsh FldEff_PopOutOfAsh: @ 80855A0 push {r4,lr} - ldr r4, _080855F8 @ =gUnknown_20386E0 + ldr r4, _080855F8 @ =gFieldEffectArguments adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -4455,7 +4455,7 @@ FldEff_PopOutOfAsh: @ 80855A0 pop {r1} bx r1 .align 2, 0 -_080855F8: .4byte gUnknown_20386E0 +_080855F8: .4byte gFieldEffectArguments _080855FC: .4byte gUnknown_83A0010 _08085600: .4byte gSprites thumb_func_end FldEff_PopOutOfAsh @@ -5777,7 +5777,7 @@ _0808604A: bl CreateTask lsls r0, 24 lsrs r4, r0, 24 - ldr r2, _0808607C @ =gUnknown_20386E0 + ldr r2, _0808607C @ =gFieldEffectArguments ldr r0, [r2] ldr r1, [r2, 0x4] ldr r2, [r2, 0x8] @@ -5796,14 +5796,14 @@ _0808604A: bx r1 .align 2, 0 _08086078: .4byte sub_8086468 -_0808607C: .4byte gUnknown_20386E0 +_0808607C: .4byte gFieldEffectArguments _08086080: .4byte gTasks thumb_func_end FldEff_FieldMoveShowMon thumb_func_start FldEff_FieldMoveShowMonInit FldEff_FieldMoveShowMonInit: @ 8086084 push {r4-r6,lr} - ldr r5, _080860D8 @ =gUnknown_20386E0 + ldr r5, _080860D8 @ =gFieldEffectArguments ldr r0, [r5] movs r6, 0x80 lsls r6, 24 @@ -5839,7 +5839,7 @@ FldEff_FieldMoveShowMonInit: @ 8086084 pop {r1} bx r1 .align 2, 0 -_080860D8: .4byte gUnknown_20386E0 +_080860D8: .4byte gFieldEffectArguments _080860DC: .4byte gPlayerParty thumb_func_end FldEff_FieldMoveShowMonInit @@ -6945,7 +6945,7 @@ sub_8086944: @ 8086944 adds r1, r0 lsls r1, 3 adds r1, r2 - ldr r0, _08086988 @ =gUnknown_20386E0 + ldr r0, _08086988 @ =gFieldEffectArguments ldr r0, [r0] strh r0, [r1, 0x26] bl sav1_reset_battle_music_maybe @@ -6964,7 +6964,7 @@ _08086978: .align 2, 0 _08086980: .4byte sub_8086990 _08086984: .4byte gTasks -_08086988: .4byte gUnknown_20386E0 +_08086988: .4byte gFieldEffectArguments _0808698C: .4byte 0x00000131 thumb_func_end sub_8086944 @@ -7091,7 +7091,7 @@ sub_8086A6C: @ 8086A6C lsls r0, 24 cmp r0, 0 beq _08086AA2 - ldr r2, _08086AB0 @ =gUnknown_20386E0 + ldr r2, _08086AB0 @ =gFieldEffectArguments movs r1, 0x26 ldrsh r0, [r4, r1] movs r1, 0x80 @@ -7110,7 +7110,7 @@ _08086AA2: .align 2, 0 _08086AA8: .4byte gPlayerAvatar _08086AAC: .4byte gMapObjects -_08086AB0: .4byte gUnknown_20386E0 +_08086AB0: .4byte gFieldEffectArguments thumb_func_end sub_8086A6C thumb_func_start sub_8086AB4 @@ -7146,7 +7146,7 @@ sub_8086AB4: @ 8086AB4 lsrs r1, 24 adds r0, r4, 0 bl sub_8063CA4 - ldr r1, _08086B2C @ =gUnknown_20386E0 + ldr r1, _08086B2C @ =gFieldEffectArguments movs r2, 0xA ldrsh r0, [r6, r2] str r0, [r1] @@ -7168,7 +7168,7 @@ _08086B1E: .align 2, 0 _08086B24: .4byte gPlayerAvatar _08086B28: .4byte gMapObjects -_08086B2C: .4byte gUnknown_20386E0 +_08086B2C: .4byte gFieldEffectArguments thumb_func_end sub_8086AB4 thumb_func_start sub_8086B30 @@ -7456,7 +7456,7 @@ sub_8086D38: @ 8086D38 strb r0, [r2, 0x5] ldr r0, _08086D8C @ =sub_8086D94 str r0, [r2, 0x1C] - ldr r0, _08086D90 @ =gUnknown_20386E0 + ldr r0, _08086D90 @ =gFieldEffectArguments ldr r0, [r0] strh r0, [r2, 0x30] movs r0, 0x97 @@ -7469,7 +7469,7 @@ sub_8086D38: @ 8086D38 _08086D84: .4byte gUnknown_83A0010 _08086D88: .4byte gSprites _08086D8C: .4byte sub_8086D94 -_08086D90: .4byte gUnknown_20386E0 +_08086D90: .4byte gFieldEffectArguments thumb_func_end sub_8086D38 thumb_func_start sub_8086D94 @@ -7550,7 +7550,7 @@ FldEff_UseFly: @ 8086E10 adds r1, r0 lsls r1, 3 adds r1, r2 - ldr r0, _08086E3C @ =gUnknown_20386E0 + ldr r0, _08086E3C @ =gFieldEffectArguments ldr r0, [r0] strh r0, [r1, 0xA] movs r0, 0 @@ -7559,7 +7559,7 @@ FldEff_UseFly: @ 8086E10 .align 2, 0 _08086E34: .4byte sub_8086E40 _08086E38: .4byte gTasks -_08086E3C: .4byte gUnknown_20386E0 +_08086E3C: .4byte gFieldEffectArguments thumb_func_end FldEff_UseFly thumb_func_start sub_8086E40 @@ -7648,7 +7648,7 @@ sub_8086EC8: @ 8086EC8 ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] - ldr r1, _08086F08 @ =gUnknown_20386E0 + ldr r1, _08086F08 @ =gFieldEffectArguments movs r2, 0xA ldrsh r0, [r4, r2] str r0, [r1] @@ -7661,7 +7661,7 @@ _08086EF8: .align 2, 0 _08086F00: .4byte gPlayerAvatar _08086F04: .4byte gMapObjects -_08086F08: .4byte gUnknown_20386E0 +_08086F08: .4byte gFieldEffectArguments thumb_func_end sub_8086EC8 thumb_func_start sub_8086F0C @@ -8977,7 +8977,7 @@ _08087920: .4byte sub_80872F0 sub_8087924: @ 8087924 push {r4-r7,lr} sub sp, 0x4 - ldr r7, _080879C4 @ =gUnknown_20386E0 + ldr r7, _080879C4 @ =gFieldEffectArguments ldrb r0, [r7] ldrb r1, [r7, 0x4] ldrb r2, [r7, 0x8] @@ -9054,7 +9054,7 @@ _080879BA: pop {r1} bx r1 .align 2, 0 -_080879C4: .4byte gUnknown_20386E0 +_080879C4: .4byte gFieldEffectArguments _080879C8: .4byte gMapObjects _080879CC: .4byte sub_80879D8 _080879D0: .4byte gTasks @@ -9176,7 +9176,7 @@ _08087AB0: .4byte gMapObjects sub_8087AB4: @ 8087AB4 push {r4,lr} sub sp, 0x4 - ldr r4, _08087AF8 @ =gUnknown_20386E0 + ldr r4, _08087AF8 @ =gFieldEffectArguments ldrb r0, [r4] ldrb r1, [r4, 0x4] ldrb r2, [r4, 0x8] @@ -9206,7 +9206,7 @@ sub_8087AB4: @ 8087AB4 strh r0, [r1, 0x18] b _08087B0A .align 2, 0 -_08087AF8: .4byte gUnknown_20386E0 +_08087AF8: .4byte gFieldEffectArguments _08087AFC: .4byte sub_8087BC0 _08087B00: .4byte gTasks _08087B04: diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s index bfeb2b942..ed746de25 100644 --- a/asm/field_effect_helpers.s +++ b/asm/field_effect_helpers.s @@ -580,7 +580,7 @@ _080DB1D8: .4byte gSprites thumb_func_start oei_shadow oei_shadow: @ 80DB1DC push {r4,r5,lr} - ldr r5, _080DB268 @ =gUnknown_20386E0 + ldr r5, _080DB268 @ =gFieldEffectArguments ldrb r0, [r5] ldrb r1, [r5, 0x4] ldrb r2, [r5, 0x8] @@ -648,7 +648,7 @@ _080DB260: pop {r1} bx r1 .align 2, 0 -_080DB268: .4byte gUnknown_20386E0 +_080DB268: .4byte gFieldEffectArguments _080DB26C: .4byte gMapObjects _080DB270: .4byte gUnknown_83A0010 _080DB274: .4byte gUnknown_83FECD2 @@ -757,7 +757,7 @@ _080DB344: .4byte 0x00400001 oei_grass_normal: @ 80DB348 push {r4,r5,lr} sub sp, 0x4 - ldr r5, _080DB3E0 @ =gUnknown_20386E0 + ldr r5, _080DB3E0 @ =gFieldEffectArguments ldrh r1, [r5] mov r0, sp strh r1, [r0] @@ -829,7 +829,7 @@ _080DB3D4: pop {r1} bx r1 .align 2, 0 -_080DB3E0: .4byte gUnknown_20386E0 +_080DB3E0: .4byte gFieldEffectArguments _080DB3E4: .4byte gUnknown_83A0010 _080DB3E8: .4byte gSprites thumb_func_end oei_grass_normal @@ -972,7 +972,7 @@ _080DB4F0: .4byte gMapObjects thumb_func_start FldEff_JumpTallGrass FldEff_JumpTallGrass: @ 80DB4F4 push {r4,lr} - ldr r4, _080DB558 @ =gUnknown_20386E0 + ldr r4, _080DB558 @ =gFieldEffectArguments adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -1021,7 +1021,7 @@ _080DB550: pop {r1} bx r1 .align 2, 0 -_080DB558: .4byte gUnknown_20386E0 +_080DB558: .4byte gFieldEffectArguments _080DB55C: .4byte gUnknown_83A0010 _080DB560: .4byte gSprites thumb_func_end FldEff_JumpTallGrass @@ -1107,7 +1107,7 @@ _080DB5E8: FldEff_LongGrass: @ 80DB5F4 push {r4,r5,lr} sub sp, 0x4 - ldr r5, _080DB690 @ =gUnknown_20386E0 + ldr r5, _080DB690 @ =gFieldEffectArguments ldrh r1, [r5] mov r0, sp strh r1, [r0] @@ -1180,7 +1180,7 @@ _080DB684: pop {r1} bx r1 .align 2, 0 -_080DB690: .4byte gUnknown_20386E0 +_080DB690: .4byte gFieldEffectArguments _080DB694: .4byte gUnknown_83A0010 _080DB698: .4byte gSprites thumb_func_end FldEff_LongGrass @@ -1315,7 +1315,7 @@ _080DB794: .4byte gMapObjects thumb_func_start FldEff_JumpLongGrass FldEff_JumpLongGrass: @ 80DB798 push {r4,lr} - ldr r4, _080DB7FC @ =gUnknown_20386E0 + ldr r4, _080DB7FC @ =gFieldEffectArguments adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -1364,7 +1364,7 @@ _080DB7F4: pop {r1} bx r1 .align 2, 0 -_080DB7FC: .4byte gUnknown_20386E0 +_080DB7FC: .4byte gFieldEffectArguments _080DB800: .4byte gUnknown_83A0010 _080DB804: .4byte gSprites thumb_func_end FldEff_JumpLongGrass @@ -1372,7 +1372,7 @@ _080DB804: .4byte gSprites thumb_func_start sub_80DB808 sub_80DB808: @ 80DB808 push {r4-r6,lr} - ldr r6, _080DB89C @ =gUnknown_20386E0 + ldr r6, _080DB89C @ =gFieldEffectArguments ldrb r0, [r6] ldrb r1, [r6, 0x4] ldrb r2, [r6, 0x8] @@ -1445,7 +1445,7 @@ _080DB894: pop {r1} bx r1 .align 2, 0 -_080DB89C: .4byte gUnknown_20386E0 +_080DB89C: .4byte gFieldEffectArguments _080DB8A0: .4byte gMapObjects _080DB8A4: .4byte gUnknown_83A0010 _080DB8A8: .4byte gSprites @@ -1579,7 +1579,7 @@ _080DB99C: .4byte gSprites thumb_func_start FldEff_SandFootprints FldEff_SandFootprints: @ 80DB9A0 push {r4,lr} - ldr r4, _080DBA08 @ =gUnknown_20386E0 + ldr r4, _080DBA08 @ =gFieldEffectArguments adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -1628,7 +1628,7 @@ _080DB9FE: pop {r1} bx r1 .align 2, 0 -_080DBA08: .4byte gUnknown_20386E0 +_080DBA08: .4byte gFieldEffectArguments _080DBA0C: .4byte gUnknown_83A0010 _080DBA10: .4byte gSprites thumb_func_end FldEff_SandFootprints @@ -1636,7 +1636,7 @@ _080DBA10: .4byte gSprites thumb_func_start FldEff_DeepSandFootprints FldEff_DeepSandFootprints: @ 80DBA14 push {r4,r5,lr} - ldr r4, _080DBA7C @ =gUnknown_20386E0 + ldr r4, _080DBA7C @ =gFieldEffectArguments adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -1686,7 +1686,7 @@ _080DBA74: pop {r1} bx r1 .align 2, 0 -_080DBA7C: .4byte gUnknown_20386E0 +_080DBA7C: .4byte gFieldEffectArguments _080DBA80: .4byte gUnknown_83A0010 _080DBA84: .4byte gSprites thumb_func_end FldEff_DeepSandFootprints @@ -1694,7 +1694,7 @@ _080DBA84: .4byte gSprites thumb_func_start FldEff_BikeTireTracks FldEff_BikeTireTracks: @ 80DBA88 push {r4,r5,lr} - ldr r4, _080DBAF0 @ =gUnknown_20386E0 + ldr r4, _080DBAF0 @ =gFieldEffectArguments adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -1744,7 +1744,7 @@ _080DBAE8: pop {r1} bx r1 .align 2, 0 -_080DBAF0: .4byte gUnknown_20386E0 +_080DBAF0: .4byte gFieldEffectArguments _080DBAF4: .4byte gUnknown_83A0010 _080DBAF8: .4byte gSprites thumb_func_end FldEff_BikeTireTracks @@ -1829,7 +1829,7 @@ _080DBB80: thumb_func_start FldEff_Splash FldEff_Splash: @ 80DBB88 push {r4-r6,lr} - ldr r6, _080DBC1C @ =gUnknown_20386E0 + ldr r6, _080DBC1C @ =gFieldEffectArguments ldrb r0, [r6] ldrb r1, [r6, 0x4] ldrb r2, [r6, 0x8] @@ -1899,7 +1899,7 @@ _080DBC12: pop {r1} bx r1 .align 2, 0 -_080DBC1C: .4byte gUnknown_20386E0 +_080DBC1C: .4byte gFieldEffectArguments _080DBC20: .4byte gMapObjects _080DBC24: .4byte gUnknown_83A0010 _080DBC28: .4byte gSprites @@ -1980,7 +1980,7 @@ _080DBCB4: .4byte gMapObjects thumb_func_start FldEff_JumpSmallSplash FldEff_JumpSmallSplash: @ 80DBCB8 push {r4,lr} - ldr r4, _080DBD1C @ =gUnknown_20386E0 + ldr r4, _080DBD1C @ =gFieldEffectArguments adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -2029,7 +2029,7 @@ _080DBD14: pop {r1} bx r1 .align 2, 0 -_080DBD1C: .4byte gUnknown_20386E0 +_080DBD1C: .4byte gFieldEffectArguments _080DBD20: .4byte gUnknown_83A0010 _080DBD24: .4byte gSprites thumb_func_end FldEff_JumpSmallSplash @@ -2037,7 +2037,7 @@ _080DBD24: .4byte gSprites thumb_func_start oei_water_drop_tall oei_water_drop_tall: @ 80DBD28 push {r4,lr} - ldr r4, _080DBD8C @ =gUnknown_20386E0 + ldr r4, _080DBD8C @ =gFieldEffectArguments adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -2086,7 +2086,7 @@ _080DBD84: pop {r1} bx r1 .align 2, 0 -_080DBD8C: .4byte gUnknown_20386E0 +_080DBD8C: .4byte gFieldEffectArguments _080DBD90: .4byte gUnknown_83A0010 _080DBD94: .4byte gSprites thumb_func_end oei_water_drop_tall @@ -2094,7 +2094,7 @@ _080DBD94: .4byte gSprites thumb_func_start FldEff_FeetInFlowingWater FldEff_FeetInFlowingWater: @ 80DBD98 push {r4-r7,lr} - ldr r7, _080DBE38 @ =gUnknown_20386E0 + ldr r7, _080DBE38 @ =gFieldEffectArguments ldrb r0, [r7] ldrb r1, [r7, 0x4] ldrb r2, [r7, 0x8] @@ -2170,7 +2170,7 @@ _080DBE2E: pop {r1} bx r1 .align 2, 0 -_080DBE38: .4byte gUnknown_20386E0 +_080DBE38: .4byte gFieldEffectArguments _080DBE3C: .4byte gMapObjects _080DBE40: .4byte gUnknown_83A0010 _080DBE44: .4byte gSprites @@ -2265,7 +2265,7 @@ oei_ripples: @ 80DBEF0 push {r4,lr} ldr r0, _080DBF44 @ =gUnknown_83A0010 ldr r0, [r0, 0x14] - ldr r4, _080DBF48 @ =gUnknown_20386E0 + ldr r4, _080DBF48 @ =gFieldEffectArguments movs r2, 0 ldrsh r1, [r4, r2] movs r3, 0x4 @@ -2306,14 +2306,14 @@ _080DBF3C: bx r1 .align 2, 0 _080DBF44: .4byte gUnknown_83A0010 -_080DBF48: .4byte gUnknown_20386E0 +_080DBF48: .4byte gFieldEffectArguments _080DBF4C: .4byte gSprites thumb_func_end oei_ripples thumb_func_start sub_80DBF50 sub_80DBF50: @ 80DBF50 push {r4-r6,lr} - ldr r6, _080DBFE4 @ =gUnknown_20386E0 + ldr r6, _080DBFE4 @ =gFieldEffectArguments ldrb r0, [r6] ldrb r1, [r6, 0x4] ldrb r2, [r6, 0x8] @@ -2386,7 +2386,7 @@ _080DBFDC: pop {r1} bx r1 .align 2, 0 -_080DBFE4: .4byte gUnknown_20386E0 +_080DBFE4: .4byte gFieldEffectArguments _080DBFE8: .4byte gMapObjects _080DBFEC: .4byte gUnknown_83A0010 _080DBFF0: .4byte gSprites @@ -2474,7 +2474,7 @@ _080DC088: .4byte gSprites thumb_func_start FldEff_Unknown19 FldEff_Unknown19: @ 80DC08C push {r4,lr} - ldr r4, _080DC0EC @ =gUnknown_20386E0 + ldr r4, _080DC0EC @ =gFieldEffectArguments adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -2521,7 +2521,7 @@ _080DC0E4: pop {r1} bx r1 .align 2, 0 -_080DC0EC: .4byte gUnknown_20386E0 +_080DC0EC: .4byte gFieldEffectArguments _080DC0F0: .4byte gUnknown_83A0010 _080DC0F4: .4byte gSprites thumb_func_end FldEff_Unknown19 @@ -2529,7 +2529,7 @@ _080DC0F4: .4byte gSprites thumb_func_start FldEff_Unknown20 FldEff_Unknown20: @ 80DC0F8 push {r4,lr} - ldr r4, _080DC158 @ =gUnknown_20386E0 + ldr r4, _080DC158 @ =gFieldEffectArguments adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -2576,7 +2576,7 @@ _080DC150: pop {r1} bx r1 .align 2, 0 -_080DC158: .4byte gUnknown_20386E0 +_080DC158: .4byte gFieldEffectArguments _080DC15C: .4byte gUnknown_83A0010 _080DC160: .4byte gSprites thumb_func_end FldEff_Unknown20 @@ -2584,7 +2584,7 @@ _080DC160: .4byte gSprites thumb_func_start FldEff_Unknown21 FldEff_Unknown21: @ 80DC164 push {r4,lr} - ldr r4, _080DC1C4 @ =gUnknown_20386E0 + ldr r4, _080DC1C4 @ =gFieldEffectArguments adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -2631,7 +2631,7 @@ _080DC1BC: pop {r1} bx r1 .align 2, 0 -_080DC1C4: .4byte gUnknown_20386E0 +_080DC1C4: .4byte gFieldEffectArguments _080DC1C8: .4byte gUnknown_83A0010 _080DC1CC: .4byte gSprites thumb_func_end FldEff_Unknown21 @@ -2639,7 +2639,7 @@ _080DC1CC: .4byte gSprites thumb_func_start FldEff_Unknown22 FldEff_Unknown22: @ 80DC1D0 push {r4,lr} - ldr r4, _080DC230 @ =gUnknown_20386E0 + ldr r4, _080DC230 @ =gFieldEffectArguments adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -2686,7 +2686,7 @@ _080DC228: pop {r1} bx r1 .align 2, 0 -_080DC230: .4byte gUnknown_20386E0 +_080DC230: .4byte gFieldEffectArguments _080DC234: .4byte gUnknown_83A0010 _080DC238: .4byte gSprites thumb_func_end FldEff_Unknown22 @@ -2696,7 +2696,7 @@ ash: @ 80DC23C push {r4,lr} lsls r2, 16 lsrs r2, 16 - ldr r4, _080DC26C @ =gUnknown_20386E0 + ldr r4, _080DC26C @ =gFieldEffectArguments lsls r0, 16 asrs r0, 16 str r0, [r4] @@ -2717,14 +2717,14 @@ ash: @ 80DC23C pop {r0} bx r0 .align 2, 0 -_080DC26C: .4byte gUnknown_20386E0 +_080DC26C: .4byte gFieldEffectArguments thumb_func_end ash thumb_func_start oei_ash oei_ash: @ 80DC270 push {r4,r5,lr} sub sp, 0x4 - ldr r5, _080DC2F0 @ =gUnknown_20386E0 + ldr r5, _080DC2F0 @ =gFieldEffectArguments ldrh r1, [r5] mov r0, sp strh r1, [r0] @@ -2786,7 +2786,7 @@ _080DC2E6: pop {r1} bx r1 .align 2, 0 -_080DC2F0: .4byte gUnknown_20386E0 +_080DC2F0: .4byte gFieldEffectArguments _080DC2F4: .4byte gUnknown_83A0010 _080DC2F8: .4byte gSprites thumb_func_end oei_ash @@ -2909,7 +2909,7 @@ _080DC3C8: thumb_func_start sub_80DC3D0 sub_80DC3D0: @ 80DC3D0 push {r4,r5,lr} - ldr r4, _080DC43C @ =gUnknown_20386E0 + ldr r4, _080DC43C @ =gFieldEffectArguments adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -2960,7 +2960,7 @@ _080DC42C: pop {r1} bx r1 .align 2, 0 -_080DC43C: .4byte gUnknown_20386E0 +_080DC43C: .4byte gFieldEffectArguments _080DC440: .4byte gUnknown_83A0010 _080DC444: .4byte gSprites _080DC448: .4byte 0x0000ffff @@ -3387,7 +3387,7 @@ _080DC73C: .4byte gSprites thumb_func_start FldEff_Dust FldEff_Dust: @ 80DC740 push {r4,lr} - ldr r4, _080DC7A4 @ =gUnknown_20386E0 + ldr r4, _080DC7A4 @ =gFieldEffectArguments adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -3436,7 +3436,7 @@ _080DC79C: pop {r1} bx r1 .align 2, 0 -_080DC7A4: .4byte gUnknown_20386E0 +_080DC7A4: .4byte gFieldEffectArguments _080DC7A8: .4byte gUnknown_83A0010 _080DC7AC: .4byte gSprites thumb_func_end FldEff_Dust @@ -3444,7 +3444,7 @@ _080DC7AC: .4byte gSprites thumb_func_start FldEff_SandPile FldEff_SandPile: @ 80DC7B0 push {r4-r7,lr} - ldr r7, _080DC85C @ =gUnknown_20386E0 + ldr r7, _080DC85C @ =gFieldEffectArguments ldrb r0, [r7] ldrb r1, [r7, 0x4] ldrb r2, [r7, 0x8] @@ -3527,7 +3527,7 @@ _080DC854: pop {r1} bx r1 .align 2, 0 -_080DC85C: .4byte gUnknown_20386E0 +_080DC85C: .4byte gFieldEffectArguments _080DC860: .4byte gMapObjects _080DC864: .4byte gUnknown_83A0010 _080DC868: .4byte gSprites @@ -3641,7 +3641,7 @@ _080DC934: .4byte gMapObjects thumb_func_start FldEff_Bubbles FldEff_Bubbles: @ 80DC938 push {r4,lr} - ldr r4, _080DC990 @ =gUnknown_20386E0 + ldr r4, _080DC990 @ =gFieldEffectArguments adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -3684,7 +3684,7 @@ _080DC988: pop {r1} bx r1 .align 2, 0 -_080DC990: .4byte gUnknown_20386E0 +_080DC990: .4byte gFieldEffectArguments _080DC994: .4byte gUnknown_83A0010 _080DC998: .4byte gSprites thumb_func_end FldEff_Bubbles @@ -3775,7 +3775,7 @@ ShowDisguiseFieldEffect: @ 80DCA10 lsrs r6, r1, 24 lsls r2, 24 lsrs r7, r2, 24 - ldr r5, _080DCA44 @ =gUnknown_20386E0 + ldr r5, _080DCA44 @ =gFieldEffectArguments ldrb r0, [r5] ldrb r1, [r5, 0x4] ldrb r2, [r5, 0x8] @@ -3789,7 +3789,7 @@ ShowDisguiseFieldEffect: @ 80DCA10 movs r0, 0x40 b _080DCAB4 .align 2, 0 -_080DCA44: .4byte gUnknown_20386E0 +_080DCA44: .4byte gFieldEffectArguments _080DCA48: ldr r1, _080DCAC0 @ =gUnknown_83A0010 lsls r0, r6, 2 @@ -4043,7 +4043,7 @@ _080DCC18: thumb_func_start FldEff_Sparkle FldEff_Sparkle: @ 80DCC1C push {r4,lr} - ldr r4, _080DCC84 @ =gUnknown_20386E0 + ldr r4, _080DCC84 @ =gFieldEffectArguments ldr r0, [r4] adds r0, 0x7 str r0, [r4] @@ -4094,7 +4094,7 @@ _080DCC7C: pop {r1} bx r1 .align 2, 0 -_080DCC84: .4byte gUnknown_20386E0 +_080DCC84: .4byte gFieldEffectArguments _080DCC88: .4byte gUnknown_83A0010 _080DCC8C: .4byte gSprites thumb_func_end FldEff_Sparkle diff --git a/asm/field_ground_effect.s b/asm/field_ground_effect.s index 62bc54815..56af66346 100644 --- a/asm/field_ground_effect.s +++ b/asm/field_ground_effect.s @@ -1139,7 +1139,7 @@ _08068378: thumb_func_start GroundEffect_SpawnOnTallGrass GroundEffect_SpawnOnTallGrass: @ 806837C push {lr} - ldr r3, _080683C0 @ =gUnknown_20386E0 + ldr r3, _080683C0 @ =gFieldEffectArguments movs r2, 0x10 ldrsh r1, [r0, r2] str r1, [r3] @@ -1172,14 +1172,14 @@ GroundEffect_SpawnOnTallGrass: @ 806837C pop {r0} bx r0 .align 2, 0 -_080683C0: .4byte gUnknown_20386E0 +_080683C0: .4byte gFieldEffectArguments _080683C4: .4byte gSaveBlock1Ptr thumb_func_end GroundEffect_SpawnOnTallGrass thumb_func_start GroundEffect_StepOnTallGrass GroundEffect_StepOnTallGrass: @ 80683C8 push {lr} - ldr r3, _0806840C @ =gUnknown_20386E0 + ldr r3, _0806840C @ =gFieldEffectArguments movs r2, 0x10 ldrsh r1, [r0, r2] str r1, [r3] @@ -1212,14 +1212,14 @@ GroundEffect_StepOnTallGrass: @ 80683C8 pop {r0} bx r0 .align 2, 0 -_0806840C: .4byte gUnknown_20386E0 +_0806840C: .4byte gFieldEffectArguments _08068410: .4byte gSaveBlock1Ptr thumb_func_end GroundEffect_StepOnTallGrass thumb_func_start GroundEffect_SpawnOnLongGrass GroundEffect_SpawnOnLongGrass: @ 8068414 push {lr} - ldr r3, _08068458 @ =gUnknown_20386E0 + ldr r3, _08068458 @ =gFieldEffectArguments movs r2, 0x10 ldrsh r1, [r0, r2] str r1, [r3] @@ -1252,14 +1252,14 @@ GroundEffect_SpawnOnLongGrass: @ 8068414 pop {r0} bx r0 .align 2, 0 -_08068458: .4byte gUnknown_20386E0 +_08068458: .4byte gFieldEffectArguments _0806845C: .4byte gSaveBlock1Ptr thumb_func_end GroundEffect_SpawnOnLongGrass thumb_func_start GroundEffect_StepOnLongGrass GroundEffect_StepOnLongGrass: @ 8068460 push {lr} - ldr r3, _080684A4 @ =gUnknown_20386E0 + ldr r3, _080684A4 @ =gFieldEffectArguments movs r2, 0x10 ldrsh r1, [r0, r2] str r1, [r3] @@ -1292,7 +1292,7 @@ GroundEffect_StepOnLongGrass: @ 8068460 pop {r0} bx r0 .align 2, 0 -_080684A4: .4byte gUnknown_20386E0 +_080684A4: .4byte gFieldEffectArguments _080684A8: .4byte gSaveBlock1Ptr thumb_func_end GroundEffect_StepOnLongGrass @@ -1386,7 +1386,7 @@ DoTracksGroundEffect_Footprints: @ 8068530 mov r0, sp movs r2, 0x4 bl memcpy - ldr r1, _0806857C @ =gUnknown_20386E0 + ldr r1, _0806857C @ =gFieldEffectArguments movs r2, 0x14 ldrsh r0, [r5, r2] str r0, [r1] @@ -1412,7 +1412,7 @@ DoTracksGroundEffect_Footprints: @ 8068530 bx r0 .align 2, 0 _08068578: .4byte gUnknown_83A70A8 -_0806857C: .4byte gUnknown_20386E0 +_0806857C: .4byte gFieldEffectArguments thumb_func_end DoTracksGroundEffect_Footprints thumb_func_start DoTracksGroundEffect_BikeTireTracks @@ -1423,7 +1423,7 @@ DoTracksGroundEffect_BikeTireTracks: @ 8068580 ldr r0, [r4, 0x14] cmp r1, r0 beq _080685C2 - ldr r2, _080685C8 @ =gUnknown_20386E0 + ldr r2, _080685C8 @ =gFieldEffectArguments movs r1, 0x14 ldrsh r0, [r4, r1] str r0, [r2] @@ -1454,7 +1454,7 @@ _080685C2: pop {r0} bx r0 .align 2, 0 -_080685C8: .4byte gUnknown_20386E0 +_080685C8: .4byte gFieldEffectArguments _080685CC: .4byte gUnknown_83A70AC thumb_func_end DoTracksGroundEffect_BikeTireTracks @@ -1492,7 +1492,7 @@ GroundEffect_JumpOnTallGrass: @ 80685FC sub sp, 0x4 adds r5, r0, 0 adds r6, r1, 0 - ldr r1, _08068650 @ =gUnknown_20386E0 + ldr r1, _08068650 @ =gFieldEffectArguments movs r2, 0x10 ldrsh r0, [r5, r2] str r0, [r1] @@ -1528,13 +1528,13 @@ _08068646: pop {r0} bx r0 .align 2, 0 -_08068650: .4byte gUnknown_20386E0 +_08068650: .4byte gFieldEffectArguments thumb_func_end GroundEffect_JumpOnTallGrass thumb_func_start GroundEffect_JumpOnLongGrass GroundEffect_JumpOnLongGrass: @ 8068654 push {lr} - ldr r2, _08068678 @ =gUnknown_20386E0 + ldr r2, _08068678 @ =gFieldEffectArguments movs r3, 0x10 ldrsh r1, [r0, r3] str r1, [r2] @@ -1551,13 +1551,13 @@ GroundEffect_JumpOnLongGrass: @ 8068654 pop {r0} bx r0 .align 2, 0 -_08068678: .4byte gUnknown_20386E0 +_08068678: .4byte gFieldEffectArguments thumb_func_end GroundEffect_JumpOnLongGrass thumb_func_start GroundEffect_JumpOnShallowWater GroundEffect_JumpOnShallowWater: @ 806867C push {r4,lr} - ldr r3, _080686A8 @ =gUnknown_20386E0 + ldr r3, _080686A8 @ =gFieldEffectArguments movs r4, 0x10 ldrsh r2, [r0, r4] str r2, [r3] @@ -1577,13 +1577,13 @@ GroundEffect_JumpOnShallowWater: @ 806867C pop {r0} bx r0 .align 2, 0 -_080686A8: .4byte gUnknown_20386E0 +_080686A8: .4byte gFieldEffectArguments thumb_func_end GroundEffect_JumpOnShallowWater thumb_func_start GroundEffect_JumpOnWater GroundEffect_JumpOnWater: @ 80686AC push {r4,lr} - ldr r3, _080686D8 @ =gUnknown_20386E0 + ldr r3, _080686D8 @ =gFieldEffectArguments movs r4, 0x10 ldrsh r2, [r0, r4] str r2, [r3] @@ -1603,13 +1603,13 @@ GroundEffect_JumpOnWater: @ 80686AC pop {r0} bx r0 .align 2, 0 -_080686D8: .4byte gUnknown_20386E0 +_080686D8: .4byte gFieldEffectArguments thumb_func_end GroundEffect_JumpOnWater thumb_func_start GroundEffect_JumpLandingDust GroundEffect_JumpLandingDust: @ 80686DC push {r4,lr} - ldr r3, _08068708 @ =gUnknown_20386E0 + ldr r3, _08068708 @ =gFieldEffectArguments movs r4, 0x10 ldrsh r2, [r0, r4] str r2, [r3] @@ -1629,7 +1629,7 @@ GroundEffect_JumpLandingDust: @ 80686DC pop {r0} bx r0 .align 2, 0 -_08068708: .4byte gUnknown_20386E0 +_08068708: .4byte gFieldEffectArguments thumb_func_end GroundEffect_JumpLandingDust thumb_func_start GroundEffect_ShortGrass @@ -1655,7 +1655,7 @@ GroundEffect_HotSprings: @ 806871C thumb_func_start GroundEffect_Seaweed GroundEffect_Seaweed: @ 806872C push {lr} - ldr r2, _08068748 @ =gUnknown_20386E0 + ldr r2, _08068748 @ =gFieldEffectArguments movs r3, 0x10 ldrsh r1, [r0, r3] str r1, [r2] @@ -1667,7 +1667,7 @@ GroundEffect_Seaweed: @ 806872C pop {r0} bx r0 .align 2, 0 -_08068748: .4byte gUnknown_20386E0 +_08068748: .4byte gFieldEffectArguments thumb_func_end GroundEffect_Seaweed thumb_func_start DoFlaggedGroundEffects diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s index d82f467dc..308421098 100644 --- a/asm/field_map_obj.s +++ b/asm/field_map_obj.s @@ -11168,7 +11168,7 @@ FieldObjectCB_TreeDisguise: @ 8062F08 cmp r0, 0 bne _08062F50 _08062F30: - ldr r1, _08062F70 @ =gUnknown_20386E0 + ldr r1, _08062F70 @ =gFieldEffectArguments adds r2, r1, 0x4 adds r3, r1, 0 adds r3, 0x8 @@ -11198,7 +11198,7 @@ _08062F50: bx r0 .align 2, 0 _08062F6C: .4byte gMapObjects -_08062F70: .4byte gUnknown_20386E0 +_08062F70: .4byte gFieldEffectArguments _08062F74: .4byte sub_8062F78 thumb_func_end FieldObjectCB_TreeDisguise @@ -11234,7 +11234,7 @@ FieldObjectCB_MountainDisguise: @ 8062F84 cmp r0, 0 bne _08062FCC _08062FAC: - ldr r1, _08062FEC @ =gUnknown_20386E0 + ldr r1, _08062FEC @ =gFieldEffectArguments adds r2, r1, 0x4 adds r3, r1, 0 adds r3, 0x8 @@ -11264,7 +11264,7 @@ _08062FCC: bx r0 .align 2, 0 _08062FE8: .4byte gMapObjects -_08062FEC: .4byte gUnknown_20386E0 +_08062FEC: .4byte gFieldEffectArguments _08062FF0: .4byte sub_8062F78 thumb_func_end FieldObjectCB_MountainDisguise @@ -19462,7 +19462,7 @@ sub_8066910: @ 8066910 do_exclamation_mark_bubble_1: @ 8066920 push {r4,lr} adds r4, r1, 0 - ldr r1, _08066940 @ =gUnknown_20386E0 + ldr r1, _08066940 @ =gFieldEffectArguments adds r2, r1, 0x4 adds r3, r1, 0 adds r3, 0x8 @@ -19475,14 +19475,14 @@ do_exclamation_mark_bubble_1: @ 8066920 pop {r1} bx r1 .align 2, 0 -_08066940: .4byte gUnknown_20386E0 +_08066940: .4byte gFieldEffectArguments thumb_func_end do_exclamation_mark_bubble_1 thumb_func_start do_exclamation_mark_bubble_2 do_exclamation_mark_bubble_2: @ 8066944 push {r4,lr} adds r4, r1, 0 - ldr r1, _08066964 @ =gUnknown_20386E0 + ldr r1, _08066964 @ =gFieldEffectArguments adds r2, r1, 0x4 adds r3, r1, 0 adds r3, 0x8 @@ -19495,14 +19495,14 @@ do_exclamation_mark_bubble_2: @ 8066944 pop {r1} bx r1 .align 2, 0 -_08066964: .4byte gUnknown_20386E0 +_08066964: .4byte gFieldEffectArguments thumb_func_end do_exclamation_mark_bubble_2 thumb_func_start do_heart_bubble do_heart_bubble: @ 8066968 push {r4,lr} adds r4, r1, 0 - ldr r1, _08066988 @ =gUnknown_20386E0 + ldr r1, _08066988 @ =gFieldEffectArguments adds r2, r1, 0x4 adds r3, r1, 0 adds r3, 0x8 @@ -19515,14 +19515,14 @@ do_heart_bubble: @ 8066968 pop {r1} bx r1 .align 2, 0 -_08066988: .4byte gUnknown_20386E0 +_08066988: .4byte gFieldEffectArguments thumb_func_end do_heart_bubble thumb_func_start sub_806698C sub_806698C: @ 806698C push {r4,lr} adds r4, r1, 0 - ldr r1, _080669AC @ =gUnknown_20386E0 + ldr r1, _080669AC @ =gFieldEffectArguments adds r2, r1, 0x4 adds r3, r1, 0 adds r3, 0x8 @@ -19535,14 +19535,14 @@ sub_806698C: @ 806698C pop {r1} bx r1 .align 2, 0 -_080669AC: .4byte gUnknown_20386E0 +_080669AC: .4byte gFieldEffectArguments thumb_func_end sub_806698C thumb_func_start sub_80669B0 sub_80669B0: @ 80669B0 push {r4,lr} adds r4, r1, 0 - ldr r1, _080669D0 @ =gUnknown_20386E0 + ldr r1, _080669D0 @ =gFieldEffectArguments adds r2, r1, 0x4 adds r3, r1, 0 adds r3, 0x8 @@ -19555,7 +19555,7 @@ sub_80669B0: @ 80669B0 pop {r1} bx r1 .align 2, 0 -_080669D0: .4byte gUnknown_20386E0 +_080669D0: .4byte gFieldEffectArguments thumb_func_end sub_80669B0 thumb_func_start sub_80669D4 diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index 65d56af88..aa68c6ef2 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -3559,7 +3559,7 @@ sub_805CD84: @ 805CD84 lsrs r1, 24 adds r0, r4, 0 bl sub_805C0A4 - ldr r2, _0805CE18 @ =gUnknown_20386E0 + ldr r2, _0805CE18 @ =gFieldEffectArguments movs r1, 0x10 ldrsh r0, [r4, r1] str r0, [r2] @@ -3592,7 +3592,7 @@ _0805CE0E: pop {r1} bx r1 .align 2, 0 -_0805CE18: .4byte gUnknown_20386E0 +_0805CE18: .4byte gFieldEffectArguments _0805CE1C: .4byte gSprites thumb_func_end sub_805CD84 diff --git a/asm/field_specials.s b/asm/field_specials.s index 0a0bbb7ec..c6df3442d 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -5338,7 +5338,7 @@ _080CCF32: ldr r0, _080CCF64 @ =sub_80CCF98 movs r1, 0x8 bl CreateTask - ldr r3, _080CCF68 @ =gUnknown_20386E0 + ldr r3, _080CCF68 @ =gFieldEffectArguments movs r0, 0x1 str r0, [r3] movs r0, 0x38 @@ -5361,7 +5361,7 @@ _080CCF32: b _080CCF72 .align 2, 0 _080CCF64: .4byte sub_80CCF98 -_080CCF68: .4byte gUnknown_20386E0 +_080CCF68: .4byte gFieldEffectArguments _080CCF6C: .4byte gUnknown_83F6366 _080CCF70: movs r0, 0x5 diff --git a/asm/fldeff_cut.s b/asm/fldeff_cut.s index 5710a320e..2497c695d 100644 --- a/asm/fldeff_cut.s +++ b/asm/fldeff_cut.s @@ -146,14 +146,14 @@ sub_8097984: @ 8097984 movs r0, 0x1 bl FieldEffectStart bl GetCursorSelectionMonId - ldr r1, _0809799C @ =gUnknown_20386E0 + ldr r1, _0809799C @ =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_0809799C: .4byte gUnknown_20386E0 +_0809799C: .4byte gFieldEffectArguments thumb_func_end sub_8097984 thumb_func_start sub_80979A0 @@ -185,7 +185,7 @@ _080979CC: .4byte sub_8097A20 sub_80979D0: @ 80979D0 push {lr} bl GetCursorSelectionMonId - ldr r1, _080979E8 @ =gUnknown_20386E0 + ldr r1, _080979E8 @ =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r1] @@ -194,7 +194,7 @@ sub_80979D0: @ 80979D0 pop {r0} bx r0 .align 2, 0 -_080979E8: .4byte gUnknown_20386E0 +_080979E8: .4byte gFieldEffectArguments _080979EC: .4byte gUnknown_81BDF6B thumb_func_end sub_80979D0 diff --git a/asm/fldeff_flash.s b/asm/fldeff_flash.s index 8fc9af0e3..6466c706e 100644 --- a/asm/fldeff_flash.s +++ b/asm/fldeff_flash.s @@ -47,7 +47,7 @@ sub_80C9B74: @ 80C9B74 lsls r4, 24 lsrs r4, 24 bl GetCursorSelectionMonId - ldr r1, _080C9BA4 @ =gUnknown_20386E0 + ldr r1, _080C9BA4 @ =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r1] @@ -64,7 +64,7 @@ sub_80C9B74: @ 80C9B74 pop {r0} bx r0 .align 2, 0 -_080C9BA4: .4byte gUnknown_20386E0 +_080C9BA4: .4byte gFieldEffectArguments _080C9BA8: .4byte gTasks _080C9BAC: .4byte sub_80C9BB0 thumb_func_end sub_80C9B74 diff --git a/asm/fldeff_strength.s b/asm/fldeff_strength.s index e74be1bd3..0c70bdf36 100644 --- a/asm/fldeff_strength.s +++ b/asm/fldeff_strength.s @@ -51,7 +51,7 @@ _080D083C: .4byte sub_80D0840 sub_80D0840: @ 80D0840 push {lr} bl GetCursorSelectionMonId - ldr r1, _080D0858 @ =gUnknown_20386E0 + ldr r1, _080D0858 @ =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r1] @@ -60,7 +60,7 @@ sub_80D0840: @ 80D0840 pop {r0} bx r0 .align 2, 0 -_080D0858: .4byte gUnknown_20386E0 +_080D0858: .4byte gFieldEffectArguments _080D085C: .4byte gUnknown_81BE16E thumb_func_end sub_80D0840 @@ -79,7 +79,7 @@ sub_80D0860: @ 80D0860 lsrs r0, r2, 16 strh r0, [r1, 0x18] strh r2, [r1, 0x1A] - ldr r0, _080D089C @ =gUnknown_20386E0 + ldr r0, _080D089C @ =gFieldEffectArguments ldr r1, [r0] movs r0, 0x64 muls r0, r1 @@ -93,7 +93,7 @@ sub_80D0860: @ 80D0860 .align 2, 0 _080D0894: .4byte gTasks _080D0898: .4byte sub_80D08A8 -_080D089C: .4byte gUnknown_20386E0 +_080D089C: .4byte gFieldEffectArguments _080D08A0: .4byte gPlayerParty _080D08A4: .4byte gStringVar1 thumb_func_end sub_80D0860 diff --git a/asm/fldeff_sweetscent.s b/asm/fldeff_sweetscent.s index 34a8ee372..47b9ef390 100644 --- a/asm/fldeff_sweetscent.s +++ b/asm/fldeff_sweetscent.s @@ -41,14 +41,14 @@ hm2_sweet_scent: @ 80DE0E8 movs r0, 0x33 bl FieldEffectStart bl GetCursorSelectionMonId - ldr r1, _080DE100 @ =gUnknown_20386E0 + ldr r1, _080DE100 @ =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_080DE100: .4byte gUnknown_20386E0 +_080DE100: .4byte gFieldEffectArguments thumb_func_end hm2_sweet_scent thumb_func_start FldEff_SweetScent diff --git a/asm/fldeff_teleport.s b/asm/fldeff_teleport.s index 0ac09c3f1..698ad4c23 100644 --- a/asm/fldeff_teleport.s +++ b/asm/fldeff_teleport.s @@ -44,14 +44,14 @@ hm_teleport_run_dp02scr: @ 80F6730 movs r0, 0x3F bl FieldEffectStart bl GetCursorSelectionMonId - ldr r1, _080F674C @ =gUnknown_20386E0 + ldr r1, _080F674C @ =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_080F674C: .4byte gUnknown_20386E0 +_080F674C: .4byte gFieldEffectArguments thumb_func_end hm_teleport_run_dp02scr thumb_func_start FldEff_UseTeleport diff --git a/asm/map_obj_80688E4.s b/asm/map_obj_80688E4.s index 7b3fd584e..bc06896bc 100644 --- a/asm/map_obj_80688E4.s +++ b/asm/map_obj_80688E4.s @@ -1437,7 +1437,7 @@ oe_exec_and_other_stuff: @ 80692C8 adds r0, r1, 0 lsls r4, 24 lsrs r4, 24 - ldr r1, _080692EC @ =gUnknown_20386E0 + ldr r1, _080692EC @ =gFieldEffectArguments adds r2, r1, 0x4 adds r3, r1, 0 adds r3, 0x8 @@ -1448,7 +1448,7 @@ oe_exec_and_other_stuff: @ 80692C8 pop {r1} bx r1 .align 2, 0 -_080692EC: .4byte gUnknown_20386E0 +_080692EC: .4byte gFieldEffectArguments thumb_func_end oe_exec_and_other_stuff thumb_func_start DoShadowFieldEffect @@ -1475,7 +1475,7 @@ DoRippleFieldEffect: @ 806930C adds r4, r1, 0 ldrb r0, [r0, 0x5] bl GetFieldObjectGraphicsInfo - ldr r2, _08069344 @ =gUnknown_20386E0 + ldr r2, _08069344 @ =gFieldEffectArguments movs r3, 0x20 ldrsh r1, [r4, r3] str r1, [r2] @@ -1497,7 +1497,7 @@ DoRippleFieldEffect: @ 806930C pop {r0} bx r0 .align 2, 0 -_08069344: .4byte gUnknown_20386E0 +_08069344: .4byte gFieldEffectArguments thumb_func_end DoRippleFieldEffect .align 2, 0 @ Don't pad with nop. diff --git a/asm/party_menu.s b/asm/party_menu.s index d9504245a..e58f3f0d2 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -11984,7 +11984,7 @@ task_launch_hm_phase_2: @ 81248C8 cmp r0, 0x1 bne _081248F4 bl brm_get_selected_species - ldr r1, _081248FC @ =gUnknown_20386E0 + ldr r1, _081248FC @ =gFieldEffectArguments lsls r0, 16 lsrs r0, 16 str r0, [r1] @@ -11998,7 +11998,7 @@ _081248F4: pop {r0} bx r0 .align 2, 0 -_081248FC: .4byte gUnknown_20386E0 +_081248FC: .4byte gFieldEffectArguments _08124900: .4byte gUnknown_203B0C4 thumb_func_end task_launch_hm_phase_2 @@ -12074,7 +12074,7 @@ _08124976: hm_surf_run_dp02scr: @ 812497C push {lr} bl GetCursorSelectionMonId - ldr r1, _08124994 @ =gUnknown_20386E0 + ldr r1, _08124994 @ =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r1] @@ -12083,7 +12083,7 @@ hm_surf_run_dp02scr: @ 812497C pop {r0} bx r0 .align 2, 0 -_08124994: .4byte gUnknown_20386E0 +_08124994: .4byte gFieldEffectArguments thumb_func_end hm_surf_run_dp02scr thumb_func_start sub_8124998 @@ -12250,7 +12250,7 @@ _08124AD8: .4byte sub_80568A8 hm2_waterfall: @ 8124ADC push {lr} bl GetCursorSelectionMonId - ldr r1, _08124AF4 @ =gUnknown_20386E0 + ldr r1, _08124AF4 @ =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r1] @@ -12259,7 +12259,7 @@ hm2_waterfall: @ 8124ADC pop {r0} bx r0 .align 2, 0 -_08124AF4: .4byte gUnknown_20386E0 +_08124AF4: .4byte gFieldEffectArguments thumb_func_end hm2_waterfall thumb_func_start hm_prepare_waterfall diff --git a/asm/quest_log_8150454.s b/asm/quest_log_8150454.s deleted file mode 100644 index ac59263d7..000000000 --- a/asm/quest_log_8150454.s +++ /dev/null @@ -1,482 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8150454 -sub_8150454: @ 8150454 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x8 - bhi _0815046A - ldr r0, _08150470 @ =gUnknown_8471EDC - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - bl _call_via_r0 -_0815046A: - pop {r0} - bx r0 - .align 2, 0 -_08150470: .4byte gUnknown_8471EDC - thumb_func_end sub_8150454 - - thumb_func_start sub_8150474 -sub_8150474: @ 8150474 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _08150488 @ =gUnknown_3005E88 - ldrb r0, [r0] - cmp r0, 0x2 - beq _0815048C - movs r0, 0 - b _08150494 - .align 2, 0 -_08150488: .4byte gUnknown_3005E88 -_0815048C: - adds r0, r1, 0 - bl sub_8112720 - movs r0, 0x1 -_08150494: - pop {r1} - bx r1 - thumb_func_end sub_8150474 - - thumb_func_start sub_8150498 -sub_8150498: @ 8150498 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_8150454 - pop {r0} - bx r0 - thumb_func_end sub_8150498 - - thumb_func_start sub_81504A8 -sub_81504A8: @ 81504A8 - push {r4,lr} - ldr r0, _081504E0 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _081504E4 @ =gMapObjects - adds r4, r0 - movs r0, 0 - bl sub_805C808 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_81507BC - ldrb r1, [r4, 0x18] - lsrs r1, 4 - adds r0, r4, 0 - bl FieldObjectTurn - movs r0, 0x1 - bl SetPlayerAvatarStateMask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081504E0: .4byte gPlayerAvatar -_081504E4: .4byte gMapObjects - thumb_func_end sub_81504A8 - - thumb_func_start sub_81504E8 -sub_81504E8: @ 81504E8 - push {r4,lr} - ldr r0, _08150528 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _0815052C @ =gMapObjects - adds r4, r0 - movs r0, 0x1 - bl sub_805C808 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_81507BC - ldrb r1, [r4, 0x18] - lsrs r1, 4 - adds r0, r4, 0 - bl FieldObjectTurn - movs r0, 0x2 - bl SetPlayerAvatarStateMask - movs r0, 0 - movs r1, 0 - bl sub_80BD620 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08150528: .4byte gPlayerAvatar -_0815052C: .4byte gMapObjects - thumb_func_end sub_81504E8 - - thumb_func_start sub_8150530 -sub_8150530: @ 8150530 - push {r4-r6,lr} - ldr r6, _0815057C @ =gPlayerAvatar - ldrb r1, [r6, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08150580 @ =gMapObjects - adds r4, r0, r1 - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08150584 @ =gSprites - adds r5, r0, r1 - ldr r0, _08150588 @ =gUnknown_3005E88 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08150558 - cmp r0, 0x3 - bne _08150594 -_08150558: - bl ScriptContext2_Enable - movs r4, 0 - movs r0, 0x1 - strb r0, [r6, 0x6] - ldr r0, _0815058C @ =sub_81505C4 - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08150590 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - b _081505BC - .align 2, 0 -_0815057C: .4byte gPlayerAvatar -_08150580: .4byte gMapObjects -_08150584: .4byte gSprites -_08150588: .4byte gUnknown_3005E88 -_0815058C: .4byte sub_81505C4 -_08150590: .4byte gTasks -_08150594: - movs r0, 0x4 - bl sub_805C808 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_81507BC - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl sub_80634F0 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim -_081505BC: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8150530 - - thumb_func_start sub_81505C4 -sub_81505C4: @ 81505C4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _0815060C @ =gPlayerAvatar - mov r9, r0 - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08150610 @ =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08150614 @ =gSprites - adds r7, r0, r1 - ldr r1, _08150618 @ =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r6, [r4, r0] - cmp r6, 0x1 - beq _08150666 - cmp r6, 0x1 - bgt _0815061C - cmp r6, 0 - beq _08150626 - b _081506FC - .align 2, 0 -_0815060C: .4byte gPlayerAvatar -_08150610: .4byte gMapObjects -_08150614: .4byte gSprites -_08150618: .4byte gTasks -_0815061C: - cmp r6, 0x2 - beq _0815067C - cmp r6, 0x3 - beq _0815069C - b _081506FC -_08150626: - adds r0, r5, 0 - bl FieldObjectClearAnimIfSpecialAnimActive - ldrb r0, [r5, 0x1] - movs r1, 0x8 - orrs r0, r1 - strb r0, [r5, 0x1] - movs r0, 0x4 - bl sub_805C808 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_81507BC - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl sub_80634F0 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r7, 0 - bl StartSpriteAnim - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - strh r6, [r4, 0xA] - b _081506FC -_08150666: - adds r0, r7, 0 - bl sub_805D9C4 - ldrh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0x3B - bgt _08150694 - adds r0, r1, 0x1 - strh r0, [r4, 0xA] - b _081506FC -_0815067C: - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - bl sub_8063500 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r7, 0 - bl StartSpriteAnim -_08150694: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _081506FC -_0815069C: - adds r0, r7, 0 - bl sub_805D9C4 - adds r0, r7, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _081506FC - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _081506D0 - movs r0, 0 - bl sub_805C808 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_81507BC - b _081506E2 -_081506D0: - movs r0, 0x2 - bl sub_805C808 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_81507BC -_081506E2: - ldrb r1, [r5, 0x18] - lsrs r1, 4 - adds r0, r5, 0 - bl FieldObjectTurn - movs r0, 0 - strh r0, [r7, 0x24] - strh r0, [r7, 0x26] - bl ScriptContext2_Disable - mov r0, r8 - bl DestroyTask -_081506FC: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81505C4 - - thumb_func_start sub_8150708 -sub_8150708: @ 8150708 - push {r4,r5,lr} - ldr r5, _08150770 @ =gPlayerAvatar - ldrb r1, [r5, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08150774 @ =gMapObjects - adds r4, r0, r1 - ldrb r1, [r5] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _08150768 - movs r0, 0x2 - bl sub_805C808 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_81507BC - ldrb r1, [r4, 0x18] - lsrs r1, 4 - adds r0, r4, 0 - bl FieldObjectTurn - movs r0, 0x8 - bl SetPlayerAvatarStateMask - ldr r1, _08150778 @ =gUnknown_20386E0 - movs r2, 0x10 - ldrsh r0, [r4, r2] - str r0, [r1] - movs r2, 0x12 - ldrsh r0, [r4, r2] - str r0, [r1, 0x4] - ldrb r0, [r5, 0x5] - str r0, [r1, 0x8] - movs r0, 0x8 - bl FieldEffectStart - lsls r0, 24 - lsrs r0, 24 - strb r0, [r4, 0x1A] - movs r1, 0x1 - bl sub_80DC44C -_08150768: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08150770: .4byte gPlayerAvatar -_08150774: .4byte gMapObjects -_08150778: .4byte gUnknown_20386E0 - thumb_func_end sub_8150708 - - thumb_func_start sub_815077C -sub_815077C: @ 815077C - push {lr} - movs r0, 0x41 - bl FieldEffectStart - ldr r0, _08150790 @ =sub_8150794 - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_08150790: .4byte sub_8150794 - thumb_func_end sub_815077C - - thumb_func_start sub_8150794 -sub_8150794: @ 8150794 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x41 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _081507B4 - bl UnfreezeMapObjects - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask -_081507B4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8150794 - - thumb_func_start sub_81507BC -sub_81507BC: @ 81507BC - push {lr} - lsls r1, 24 - lsrs r1, 24 - bl sub_805F060 - pop {r0} - bx r0 - thumb_func_end sub_81507BC - - thumb_func_start sub_81507CC -sub_81507CC: @ 81507CC - push {lr} - movs r0, 0x1 - bl sub_805D154 - pop {r0} - bx r0 - thumb_func_end sub_81507CC - - thumb_func_start sub_81507D8 -sub_81507D8: @ 81507D8 - push {lr} - movs r0, 0x2 - bl sub_805D154 - pop {r0} - bx r0 - thumb_func_end sub_81507D8 - - thumb_func_start sub_81507E4 -sub_81507E4: @ 81507E4 - push {lr} - movs r0, 0x3 - bl sub_805D154 - pop {r0} - bx r0 - thumb_func_end sub_81507E4 - - thumb_func_start sub_81507F0 -sub_81507F0: @ 81507F0 - push {lr} - movs r0, 0x4 - bl sub_805D154 - pop {r0} - bx r0 - thumb_func_end sub_81507F0 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom6.s b/asm/rom6.s index 8d5e76f8a..6d4ef8bc2 100644 --- a/asm/rom6.s +++ b/asm/rom6.s @@ -183,7 +183,7 @@ sub_80C98FC: @ 80C98FC cmp r4, 0 bne _080C9980 bl player_get_direction_lower_nybble - ldr r6, _080C9988 @ =gUnknown_20386E0 + ldr r6, _080C9988 @ =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r6, 0x4] @@ -242,7 +242,7 @@ _080C9980: pop {r0} bx r0 .align 2, 0 -_080C9988: .4byte gUnknown_20386E0 +_080C9988: .4byte gFieldEffectArguments _080C998C: .4byte gPlayerAvatar _080C9990: .4byte gMapObjects _080C9994: .4byte gSprites @@ -312,7 +312,7 @@ _080C9A0C: .4byte sub_80C9A10 sub_80C9A10: @ 80C9A10 push {lr} bl GetCursorSelectionMonId - ldr r1, _080C9A28 @ =gUnknown_20386E0 + ldr r1, _080C9A28 @ =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r1] @@ -321,7 +321,7 @@ sub_80C9A10: @ 80C9A10 pop {r0} bx r0 .align 2, 0 -_080C9A28: .4byte gUnknown_20386E0 +_080C9A28: .4byte gFieldEffectArguments _080C9A2C: .4byte gUnknown_81BE064 thumb_func_end sub_80C9A10 @@ -397,14 +397,14 @@ hm2_dig: @ 80C9AAC movs r0, 0x26 bl FieldEffectStart bl GetCursorSelectionMonId - ldr r1, _080C9AC8 @ =gUnknown_20386E0 + ldr r1, _080C9AC8 @ =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_080C9AC8: .4byte gUnknown_20386E0 +_080C9AC8: .4byte gFieldEffectArguments thumb_func_end hm2_dig thumb_func_start sub_80C9ACC diff --git a/asm/scrcmd.s b/asm/scrcmd.s index 6fd8d83a5..b4f3678de 100644 --- a/asm/scrcmd.s +++ b/asm/scrcmd.s @@ -5060,7 +5060,7 @@ ScrCmd_setfieldeffectarg: @ 806C458 lsls r0, 16 lsrs r0, 16 bl VarGet - ldr r1, _0806C484 @ =gUnknown_20386E0 + ldr r1, _0806C484 @ =gFieldEffectArguments lsls r4, 2 adds r4, r1 lsls r0, 16 @@ -5071,7 +5071,7 @@ ScrCmd_setfieldeffectarg: @ 806C458 pop {r1} bx r1 .align 2, 0 -_0806C484: .4byte gUnknown_20386E0 +_0806C484: .4byte gFieldEffectArguments thumb_func_end ScrCmd_setfieldeffectarg thumb_func_start WaitForFieldEffectFinish diff --git a/asm/trainer_see.s b/asm/trainer_see.s index 91dc077d7..6cc322609 100644 --- a/asm/trainer_see.s +++ b/asm/trainer_see.s @@ -585,7 +585,7 @@ sub_8081F38: @ 8081F38 movs r0, 0xC b _08081F82 _08081F54: - ldr r1, _08081F8C @ =gUnknown_20386E0 + ldr r1, _08081F8C @ =gFieldEffectArguments adds r2, r1, 0x4 adds r3, r1, 0 adds r3, 0x8 @@ -611,7 +611,7 @@ _08081F82: pop {r1} bx r1 .align 2, 0 -_08081F8C: .4byte gUnknown_20386E0 +_08081F8C: .4byte gFieldEffectArguments thumb_func_end sub_8081F38 thumb_func_start sub_8081F90 @@ -888,7 +888,7 @@ sub_8082184: @ 8082184 lsls r0, 24 cmp r0, 0 beq _080821CA - ldr r2, _080821D4 @ =gUnknown_20386E0 + ldr r2, _080821D4 @ =gFieldEffectArguments movs r1, 0x10 ldrsh r0, [r4, r1] str r0, [r2] @@ -919,7 +919,7 @@ _080821CA: pop {r1} bx r1 .align 2, 0 -_080821D4: .4byte gUnknown_20386E0 +_080821D4: .4byte gFieldEffectArguments _080821D8: .4byte gSprites thumb_func_end sub_8082184 @@ -1113,7 +1113,7 @@ _08082312: _08082348: .4byte gSaveBlock1Ptr _0808234C: .4byte gMapObjects _08082350: - ldr r1, _08082378 @ =gUnknown_20386E0 + ldr r1, _08082378 @ =gFieldEffectArguments adds r2, r1, 0x4 adds r3, r1, 0 adds r3, 0x8 @@ -1133,7 +1133,7 @@ _0808236E: pop {r1} bx r1 .align 2, 0 -_08082378: .4byte gUnknown_20386E0 +_08082378: .4byte gFieldEffectArguments thumb_func_end sub_80822CC thumb_func_start sub_808237C @@ -1525,7 +1525,7 @@ sub_808265C: @ 808265C orrs r3, r4 mov r4, r12 strb r3, [r4] - ldr r4, _080826A0 @ =gUnknown_20386E0 + ldr r4, _080826A0 @ =gFieldEffectArguments ldr r3, [r4] strh r3, [r0, 0x2E] ldr r3, [r4, 0x4] @@ -1541,7 +1541,7 @@ sub_808265C: @ 808265C pop {r0} bx r0 .align 2, 0 -_080826A0: .4byte gUnknown_20386E0 +_080826A0: .4byte gFieldEffectArguments _080826A4: .4byte 0x0000fffb thumb_func_end sub_808265C diff --git a/data/data_8468C98.s b/data/data_8468C98.s index 26a638f61..f850fe141 100644 --- a/data/data_8468C98.s +++ b/data/data_8468C98.s @@ -321,369 +321,3 @@ gUnknown_8471DEC:: @ 8471DEC gUnknown_8471E8C:: @ 8471E8C .incbin "baserom.gba", 0x471E8C, 0x50 - -gUnknown_8471EDC:: @ 8471EDC - .incbin "baserom.gba", 0x471EDC, 0x74 - -gUnknown_8471F50:: @ 8471F50 - .incbin "baserom.gba", 0x471F50, 0x113 - -gUnknown_8472063:: @ 8472063 - .incbin "baserom.gba", 0x472063, 0x4B - -gUnknown_84720AE:: @ 84720AE - .incbin "baserom.gba", 0x4720AE, 0x4E - -gUnknown_84720FC:: @ 84720FC - .incbin "baserom.gba", 0x4720FC, 0x37 - -gUnknown_8472133:: @ 8472133 - .incbin "baserom.gba", 0x472133, 0x3409 - -gUnknown_847553C:: @ 847553C - .incbin "baserom.gba", 0x47553C, 0xC - -gUnknown_8475548:: @ 8475548 - .incbin "baserom.gba", 0x475548, 0x8 - -gUnknown_8475550:: @ 8475550 - .incbin "baserom.gba", 0x475550, 0x8 - -gUnknown_8475558:: @ 8475558 - .incbin "baserom.gba", 0x475558, 0x20 - -gUnknown_8475578:: @ 8475578 - .incbin "baserom.gba", 0x475578, 0x30 - -gUnknown_84755A8:: @ 84755A8 - .incbin "baserom.gba", 0x4755A8, 0x30 - -gUnknown_84755D8:: @ 84755D8 - .incbin "baserom.gba", 0x4755D8, 0x8 - -gUnknown_84755E0:: @ 84755E0 - .incbin "baserom.gba", 0x4755E0, 0x8 - -gUnknown_84755E8:: @ 84755E8 - .incbin "baserom.gba", 0x4755E8, 0x10 - -gUnknown_84755F8:: @ 84755F8 - .incbin "baserom.gba", 0x4755F8, 0x4 - -gUnknown_84755FC:: @ 84755FC - .incbin "baserom.gba", 0x4755FC, 0x6 - -gUnknown_8475602:: @ 8475602 - .incbin "baserom.gba", 0x475602, 0x6 - -gUnknown_8475608:: @ 8475608 - .incbin "baserom.gba", 0x475608, 0x40 - -gUnknown_8475648:: @ 8475648 - .incbin "baserom.gba", 0x475648, 0x14 - -gUnknown_847565C:: @ 847565C - .incbin "baserom.gba", 0x47565C, 0x18 - -gUnknown_8475674:: @ 8475674 - .incbin "baserom.gba", 0x475674, 0x10 - -gUnknown_8475684:: @ 8475684 - .incbin "baserom.gba", 0x475684, 0x8 - -gUnknown_847568C:: @ 847568C - .incbin "baserom.gba", 0x47568C, 0x10 - -gUnknown_847569C:: @ 847569C - .incbin "baserom.gba", 0x47569C, 0x8 - -gUnknown_84756A4:: @ 84756A4 - .incbin "baserom.gba", 0x4756A4, 0x204 - -gUnknown_84758A8:: @ 84758A8 - .incbin "baserom.gba", 0x4758A8, 0xC0 - -gUnknown_8475968:: @ 8475968 - .incbin "baserom.gba", 0x475968, 0x1D4 - -gUnknown_8475B3C:: @ 8475B3C - .incbin "baserom.gba", 0x475B3C, 0x890 - -gUnknown_84763CC:: @ 84763CC - .incbin "baserom.gba", 0x4763CC, 0xDCC - -gUnknown_8477198:: @ 8477198 - .incbin "baserom.gba", 0x477198, 0x94 - -gUnknown_847722C:: @ 847722C - .incbin "baserom.gba", 0x47722C, 0x148 - -gUnknown_8477374:: @ 8477374 - .incbin "baserom.gba", 0x477374, 0x121C - -gUnknown_8478590:: @ 8478590 - .incbin "baserom.gba", 0x478590, 0x26C - -gUnknown_84787FC:: @ 84787FC - .incbin "baserom.gba", 0x4787FC, 0x250 - -gUnknown_8478A4C:: @ 8478A4C - .incbin "baserom.gba", 0x478A4C, 0x24C - -gUnknown_8478C98:: @ 8478C98 - .incbin "baserom.gba", 0x478C98, 0x48 - -gUnknown_8478CE0:: @ 8478CE0 - .incbin "baserom.gba", 0x478CE0, 0xB0 - -gUnknown_8478D90:: @ 8478D90 - .incbin "baserom.gba", 0x478D90, 0x8 - -gUnknown_8478D98:: @ 8478D98 - .incbin "baserom.gba", 0x478D98, 0x8 - -gUnknown_8478DA0:: @ 8478DA0 - .incbin "baserom.gba", 0x478DA0, 0x8 - -gUnknown_8478DA8:: @ 8478DA8 - .incbin "baserom.gba", 0x478DA8, 0x24 - -gUnknown_8478DCC:: @ 8478DCC - .incbin "baserom.gba", 0x478DCC, 0x8 - -gUnknown_8478DD4:: @ 8478DD4 - .incbin "baserom.gba", 0x478DD4, 0x8 - -gUnknown_8478DDC:: @ 8478DDC - .incbin "baserom.gba", 0x478DDC, 0x18 - -gUnknown_8478DF4:: @ 8478DF4 - .incbin "baserom.gba", 0x478DF4, 0x18 - -gUnknown_8478E0C:: @ 8478E0C - .incbin "baserom.gba", 0x478E0C, 0x2 - -gUnknown_8478E0E:: @ 8478E0E - .incbin "baserom.gba", 0x478E0E, 0xA - -gUnknown_8478E18:: @ 8478E18 - .incbin "baserom.gba", 0x478E18, 0x8 - -gUnknown_8478E20:: @ 8478E20 - .incbin "baserom.gba", 0x478E20, 0x18 - -gUnknown_8478E38:: @ 8478E38 - .incbin "baserom.gba", 0x478E38, 0x3 - -gUnknown_8478E3B:: @ 8478E3B - .incbin "baserom.gba", 0x478E3B, 0x45 - -gUnknown_8478E80:: @ 8478E80 - .incbin "baserom.gba", 0x478E80, 0x14 - -gUnknown_8478E94:: @ 8478E94 - .incbin "baserom.gba", 0x478E94, 0x14 - -gUnknown_8478EA8:: @ 8478EA8 - .incbin "baserom.gba", 0x478EA8, 0x8 - -gUnknown_8478EB0:: @ 8478EB0 - .incbin "baserom.gba", 0x478EB0, 0xA - -gUnknown_8478EBA:: @ 8478EBA - .incbin "baserom.gba", 0x478EBA, 0xA - -gUnknown_8478EC4:: @ 8478EC4 - .incbin "baserom.gba", 0x478EC4, 0x50 - -gUnknown_8478F14:: @ 8478F14 - .incbin "baserom.gba", 0x478F14, 0x8 - -gUnknown_8478F1C:: @ 8478F1C - .incbin "baserom.gba", 0x478F1C, 0x144 - -gUnknown_8479060:: @ 8479060 - .incbin "baserom.gba", 0x479060, 0x78 - -gUnknown_84790D8:: @ 84790D8 - .incbin "baserom.gba", 0x4790D8, 0xC0 - -gUnknown_8479198:: @ 8479198 - .incbin "baserom.gba", 0x479198, 0x10 - -gUnknown_84791A8:: @ 84791A8 - .incbin "baserom.gba", 0x4791A8, 0x10 - -gUnknown_84791B8:: @ 84791B8 - .incbin "baserom.gba", 0x4791B8, 0x14 - -gUnknown_84791CC:: @ 84791CC - .incbin "baserom.gba", 0x4791CC, 0x1C - -gUnknown_84791E8:: @ 84791E8 - .incbin "baserom.gba", 0x4791E8, 0xE8 - -gUnknown_84792D0:: @ 84792D0 - .incbin "baserom.gba", 0x4792D0, 0x10 - -gUnknown_84792E0:: @ 84792E0 - .incbin "baserom.gba", 0x4792E0, 0x10 - -gUnknown_84792F0:: @ 84792F0 - .incbin "baserom.gba", 0x4792F0, 0x50 - -gUnknown_8479340:: @ 8479340 - .incbin "baserom.gba", 0x479340, 0x28 - -gUnknown_8479368:: @ 8479368 - .incbin "baserom.gba", 0x479368, 0x18 - -gUnknown_8479380:: @ 8479380 - .incbin "baserom.gba", 0x479380, 0x10 - -gUnknown_8479390:: @ 8479390 - .incbin "baserom.gba", 0x479390, 0x1B8 - -gUnknown_8479548:: @ 8479548 - .incbin "baserom.gba", 0x479548, 0x18 - -gUnknown_8479560:: @ 8479560 - .incbin "baserom.gba", 0x479560, 0x18 - -gUnknown_8479578:: @ 8479578 - .incbin "baserom.gba", 0x479578, 0x18 - -gUnknown_8479590:: @ 8479590 - .incbin "baserom.gba", 0x479590, 0x28 - -gUnknown_84795B8:: @ 84795B8 - .incbin "baserom.gba", 0x4795B8, 0x10 - -gUnknown_84795C8:: @ 84795C8 - .incbin "baserom.gba", 0x4795C8, 0x90 - -gUnknown_8479658:: @ 8479658 - .incbin "baserom.gba", 0x479658, 0x600 - -gUnknown_8479C58:: @ 8479C58 - .incbin "baserom.gba", 0x479C58, 0x30 - -gUnknown_8479C88:: @ 8479C88 - .incbin "baserom.gba", 0x479C88, 0x38 - -gUnknown_8479CC0:: @ 8479CC0 - .incbin "baserom.gba", 0x479CC0, 0x18 - - .align 2 -gUnknown_8479CD8:: @ 8479CD8 - .asciz "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/cereader_tool.c" - - .align 2 -gUnknown_8479D10:: @ 8479D10 - .asciz "ttdata->dummy == 0" - - .align 2 -gUnknown_8479D24:: @ 8479D24 - .asciz "ttdata->id == 0" - -gUnknown_8479D34:: @ 8479D34 - .incbin "baserom.gba", 0x479D34, 0x4 - -gUnknown_8479D38:: @ 8479D38 - .incbin "baserom.gba", 0x479D38, 0x8 - -gUnknown_8479D40:: @ 8479D40 - .incbin "baserom.gba", 0x479D40, 0x8 - -gUnknown_8479D48:: @ 8479D48 - .incbin "baserom.gba", 0x479D48, 0x190 - -gUnknown_8479ED8:: @ 8479ED8 - .incbin "baserom.gba", 0x479ED8, 0x14C - -gUnknown_847A024:: @ 847A024 - .incbin "baserom.gba", 0x47A024, 0x50 - -gUnknown_847A074:: @ 847A074 - .incbin "baserom.gba", 0x47A074, 0x1A4 - -gUnknown_847A218:: @ 847A218 - .incbin "baserom.gba", 0x47A218, 0x14 - -gUnknown_847A22C:: @ 847A22C - .incbin "baserom.gba", 0x47A22C, 0x4 - -gUnknown_847A230:: @ 847A230 - .incbin "baserom.gba", 0x47A230, 0x54 - -gUnknown_847A284:: @ 847A284 - .incbin "baserom.gba", 0x47A284, 0x30 - -gUnknown_847A2B4:: @ 847A2B4 - .incbin "baserom.gba", 0x47A2B4, 0x1E - -gUnknown_847A2D2:: @ 847A2D2 - .incbin "baserom.gba", 0x47A2D2, 0x1C - -gUnknown_847A2EE:: @ 847A2EE - .incbin "baserom.gba", 0x47A2EE, 0x10 - -gUnknown_847A2FE:: @ 847A2FE - .incbin "baserom.gba", 0x47A2FE, 0x10 - -gUnknown_847A30E:: @ 847A30E - .incbin "baserom.gba", 0x47A30E, 0x48E - -gUnknown_847A79C:: @ 847A79C - .incbin "baserom.gba", 0x47A79C, 0x8 - -gUnknown_847A7A4:: @ 847A7A4 - .incbin "baserom.gba", 0x47A7A4, 0xBC - -gUnknown_847A860:: @ 847A860 - .incbin "baserom.gba", 0x47A860, 0x18 - -gUnknown_847A878:: @ 847A878 - .incbin "baserom.gba", 0x47A878, 0x18 - -gUnknown_847A890:: @ 847A890 - .incbin "baserom.gba", 0x47A890, 0x7F1C - -gUnknown_84827AC:: @ 84827AC - .incbin "baserom.gba", 0x4827AC, 0x8 - -gUnknown_84827B4:: @ 84827B4 - .incbin "baserom.gba", 0x4827B4, 0x5F34 - -gUnknown_84886E8:: @ 84886E8 - .incbin "baserom.gba", 0x4886E8, 0x588 - -gUnknown_8488C70:: @ 8488C70 - .incbin "baserom.gba", 0x488C70, 0x32 - -gUnknown_8488CA2:: @ 8488CA2 - .incbin "baserom.gba", 0x488CA2, 0x2C - -gUnknown_8488CCE:: @ 8488CCE - .incbin "baserom.gba", 0x488CCE, 0x28 - -gUnknown_8488CF6:: @ 8488CF6 - .incbin "baserom.gba", 0x488CF6, 0x34 - -gUnknown_8488D2A:: @ 8488D2A - .incbin "baserom.gba", 0x488D2A, 0x36 - -gUnknown_8488D60:: @ 8488D60 - .incbin "baserom.gba", 0x488D60, 0x1C - -gUnknown_8488D7C:: @ 8488D7C - .incbin "baserom.gba", 0x488D7C, 0x12 - -gUnknown_8488D8E:: @ 8488D8E - .incbin "baserom.gba", 0x488D8E, 0x2F - -gUnknown_8488DBD:: @ 8488DBD - .incbin "baserom.gba", 0x488DBD, 0x40 - -gUnknown_8488DFD:: @ 8488DFD - .incbin "baserom.gba", 0x488DFD, 0xB6B diff --git a/data/data_8471F00.s b/data/data_8471F00.s new file mode 100644 index 000000000..b9767d933 --- /dev/null +++ b/data/data_8471F00.s @@ -0,0 +1,368 @@ + .section .rodata + + .align 2 +gUnknown_8471F00:: + .incbin "baserom.gba", 0x471F00, 0x50 + +gUnknown_8471F50:: @ 8471F50 + .incbin "baserom.gba", 0x471F50, 0x113 + +gUnknown_8472063:: @ 8472063 + .incbin "baserom.gba", 0x472063, 0x4B + +gUnknown_84720AE:: @ 84720AE + .incbin "baserom.gba", 0x4720AE, 0x4E + +gUnknown_84720FC:: @ 84720FC + .incbin "baserom.gba", 0x4720FC, 0x37 + +gUnknown_8472133:: @ 8472133 + .incbin "baserom.gba", 0x472133, 0x3409 + +gUnknown_847553C:: @ 847553C + .incbin "baserom.gba", 0x47553C, 0xC + +gUnknown_8475548:: @ 8475548 + .incbin "baserom.gba", 0x475548, 0x8 + +gUnknown_8475550:: @ 8475550 + .incbin "baserom.gba", 0x475550, 0x8 + +gUnknown_8475558:: @ 8475558 + .incbin "baserom.gba", 0x475558, 0x20 + +gUnknown_8475578:: @ 8475578 + .incbin "baserom.gba", 0x475578, 0x30 + +gUnknown_84755A8:: @ 84755A8 + .incbin "baserom.gba", 0x4755A8, 0x30 + +gUnknown_84755D8:: @ 84755D8 + .incbin "baserom.gba", 0x4755D8, 0x8 + +gUnknown_84755E0:: @ 84755E0 + .incbin "baserom.gba", 0x4755E0, 0x8 + +gUnknown_84755E8:: @ 84755E8 + .incbin "baserom.gba", 0x4755E8, 0x10 + +gUnknown_84755F8:: @ 84755F8 + .incbin "baserom.gba", 0x4755F8, 0x4 + +gUnknown_84755FC:: @ 84755FC + .incbin "baserom.gba", 0x4755FC, 0x6 + +gUnknown_8475602:: @ 8475602 + .incbin "baserom.gba", 0x475602, 0x6 + +gUnknown_8475608:: @ 8475608 + .incbin "baserom.gba", 0x475608, 0x40 + +gUnknown_8475648:: @ 8475648 + .incbin "baserom.gba", 0x475648, 0x14 + +gUnknown_847565C:: @ 847565C + .incbin "baserom.gba", 0x47565C, 0x18 + +gUnknown_8475674:: @ 8475674 + .incbin "baserom.gba", 0x475674, 0x10 + +gUnknown_8475684:: @ 8475684 + .incbin "baserom.gba", 0x475684, 0x8 + +gUnknown_847568C:: @ 847568C + .incbin "baserom.gba", 0x47568C, 0x10 + +gUnknown_847569C:: @ 847569C + .incbin "baserom.gba", 0x47569C, 0x8 + +gUnknown_84756A4:: @ 84756A4 + .incbin "baserom.gba", 0x4756A4, 0x204 + +gUnknown_84758A8:: @ 84758A8 + .incbin "baserom.gba", 0x4758A8, 0xC0 + +gUnknown_8475968:: @ 8475968 + .incbin "baserom.gba", 0x475968, 0x1D4 + +gUnknown_8475B3C:: @ 8475B3C + .incbin "baserom.gba", 0x475B3C, 0x890 + +gUnknown_84763CC:: @ 84763CC + .incbin "baserom.gba", 0x4763CC, 0xDCC + +gUnknown_8477198:: @ 8477198 + .incbin "baserom.gba", 0x477198, 0x94 + +gUnknown_847722C:: @ 847722C + .incbin "baserom.gba", 0x47722C, 0x148 + +gUnknown_8477374:: @ 8477374 + .incbin "baserom.gba", 0x477374, 0x121C + +gUnknown_8478590:: @ 8478590 + .incbin "baserom.gba", 0x478590, 0x26C + +gUnknown_84787FC:: @ 84787FC + .incbin "baserom.gba", 0x4787FC, 0x250 + +gUnknown_8478A4C:: @ 8478A4C + .incbin "baserom.gba", 0x478A4C, 0x24C + +gUnknown_8478C98:: @ 8478C98 + .incbin "baserom.gba", 0x478C98, 0x48 + +gUnknown_8478CE0:: @ 8478CE0 + .incbin "baserom.gba", 0x478CE0, 0xB0 + +gUnknown_8478D90:: @ 8478D90 + .incbin "baserom.gba", 0x478D90, 0x8 + +gUnknown_8478D98:: @ 8478D98 + .incbin "baserom.gba", 0x478D98, 0x8 + +gUnknown_8478DA0:: @ 8478DA0 + .incbin "baserom.gba", 0x478DA0, 0x8 + +gUnknown_8478DA8:: @ 8478DA8 + .incbin "baserom.gba", 0x478DA8, 0x24 + +gUnknown_8478DCC:: @ 8478DCC + .incbin "baserom.gba", 0x478DCC, 0x8 + +gUnknown_8478DD4:: @ 8478DD4 + .incbin "baserom.gba", 0x478DD4, 0x8 + +gUnknown_8478DDC:: @ 8478DDC + .incbin "baserom.gba", 0x478DDC, 0x18 + +gUnknown_8478DF4:: @ 8478DF4 + .incbin "baserom.gba", 0x478DF4, 0x18 + +gUnknown_8478E0C:: @ 8478E0C + .incbin "baserom.gba", 0x478E0C, 0x2 + +gUnknown_8478E0E:: @ 8478E0E + .incbin "baserom.gba", 0x478E0E, 0xA + +gUnknown_8478E18:: @ 8478E18 + .incbin "baserom.gba", 0x478E18, 0x8 + +gUnknown_8478E20:: @ 8478E20 + .incbin "baserom.gba", 0x478E20, 0x18 + +gUnknown_8478E38:: @ 8478E38 + .incbin "baserom.gba", 0x478E38, 0x3 + +gUnknown_8478E3B:: @ 8478E3B + .incbin "baserom.gba", 0x478E3B, 0x45 + +gUnknown_8478E80:: @ 8478E80 + .incbin "baserom.gba", 0x478E80, 0x14 + +gUnknown_8478E94:: @ 8478E94 + .incbin "baserom.gba", 0x478E94, 0x14 + +gUnknown_8478EA8:: @ 8478EA8 + .incbin "baserom.gba", 0x478EA8, 0x8 + +gUnknown_8478EB0:: @ 8478EB0 + .incbin "baserom.gba", 0x478EB0, 0xA + +gUnknown_8478EBA:: @ 8478EBA + .incbin "baserom.gba", 0x478EBA, 0xA + +gUnknown_8478EC4:: @ 8478EC4 + .incbin "baserom.gba", 0x478EC4, 0x50 + +gUnknown_8478F14:: @ 8478F14 + .incbin "baserom.gba", 0x478F14, 0x8 + +gUnknown_8478F1C:: @ 8478F1C + .incbin "baserom.gba", 0x478F1C, 0x144 + +gUnknown_8479060:: @ 8479060 + .incbin "baserom.gba", 0x479060, 0x78 + +gUnknown_84790D8:: @ 84790D8 + .incbin "baserom.gba", 0x4790D8, 0xC0 + +gUnknown_8479198:: @ 8479198 + .incbin "baserom.gba", 0x479198, 0x10 + +gUnknown_84791A8:: @ 84791A8 + .incbin "baserom.gba", 0x4791A8, 0x10 + +gUnknown_84791B8:: @ 84791B8 + .incbin "baserom.gba", 0x4791B8, 0x14 + +gUnknown_84791CC:: @ 84791CC + .incbin "baserom.gba", 0x4791CC, 0x1C + +gUnknown_84791E8:: @ 84791E8 + .incbin "baserom.gba", 0x4791E8, 0xE8 + +gUnknown_84792D0:: @ 84792D0 + .incbin "baserom.gba", 0x4792D0, 0x10 + +gUnknown_84792E0:: @ 84792E0 + .incbin "baserom.gba", 0x4792E0, 0x10 + +gUnknown_84792F0:: @ 84792F0 + .incbin "baserom.gba", 0x4792F0, 0x50 + +gUnknown_8479340:: @ 8479340 + .incbin "baserom.gba", 0x479340, 0x28 + +gUnknown_8479368:: @ 8479368 + .incbin "baserom.gba", 0x479368, 0x18 + +gUnknown_8479380:: @ 8479380 + .incbin "baserom.gba", 0x479380, 0x10 + +gUnknown_8479390:: @ 8479390 + .incbin "baserom.gba", 0x479390, 0x1B8 + +gUnknown_8479548:: @ 8479548 + .incbin "baserom.gba", 0x479548, 0x18 + +gUnknown_8479560:: @ 8479560 + .incbin "baserom.gba", 0x479560, 0x18 + +gUnknown_8479578:: @ 8479578 + .incbin "baserom.gba", 0x479578, 0x18 + +gUnknown_8479590:: @ 8479590 + .incbin "baserom.gba", 0x479590, 0x28 + +gUnknown_84795B8:: @ 84795B8 + .incbin "baserom.gba", 0x4795B8, 0x10 + +gUnknown_84795C8:: @ 84795C8 + .incbin "baserom.gba", 0x4795C8, 0x90 + +gUnknown_8479658:: @ 8479658 + .incbin "baserom.gba", 0x479658, 0x600 + +gUnknown_8479C58:: @ 8479C58 + .incbin "baserom.gba", 0x479C58, 0x30 + +gUnknown_8479C88:: @ 8479C88 + .incbin "baserom.gba", 0x479C88, 0x38 + +gUnknown_8479CC0:: @ 8479CC0 + .incbin "baserom.gba", 0x479CC0, 0x18 + + .align 2 +gUnknown_8479CD8:: @ 8479CD8 + .asciz "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/cereader_tool.c" + + .align 2 +gUnknown_8479D10:: @ 8479D10 + .asciz "ttdata->dummy == 0" + + .align 2 +gUnknown_8479D24:: @ 8479D24 + .asciz "ttdata->id == 0" + +gUnknown_8479D34:: @ 8479D34 + .incbin "baserom.gba", 0x479D34, 0x4 + +gUnknown_8479D38:: @ 8479D38 + .incbin "baserom.gba", 0x479D38, 0x8 + +gUnknown_8479D40:: @ 8479D40 + .incbin "baserom.gba", 0x479D40, 0x8 + +gUnknown_8479D48:: @ 8479D48 + .incbin "baserom.gba", 0x479D48, 0x190 + +gUnknown_8479ED8:: @ 8479ED8 + .incbin "baserom.gba", 0x479ED8, 0x14C + +gUnknown_847A024:: @ 847A024 + .incbin "baserom.gba", 0x47A024, 0x50 + +gUnknown_847A074:: @ 847A074 + .incbin "baserom.gba", 0x47A074, 0x1A4 + +gUnknown_847A218:: @ 847A218 + .incbin "baserom.gba", 0x47A218, 0x14 + +gUnknown_847A22C:: @ 847A22C + .incbin "baserom.gba", 0x47A22C, 0x4 + +gUnknown_847A230:: @ 847A230 + .incbin "baserom.gba", 0x47A230, 0x54 + +gUnknown_847A284:: @ 847A284 + .incbin "baserom.gba", 0x47A284, 0x30 + +gUnknown_847A2B4:: @ 847A2B4 + .incbin "baserom.gba", 0x47A2B4, 0x1E + +gUnknown_847A2D2:: @ 847A2D2 + .incbin "baserom.gba", 0x47A2D2, 0x1C + +gUnknown_847A2EE:: @ 847A2EE + .incbin "baserom.gba", 0x47A2EE, 0x10 + +gUnknown_847A2FE:: @ 847A2FE + .incbin "baserom.gba", 0x47A2FE, 0x10 + +gUnknown_847A30E:: @ 847A30E + .incbin "baserom.gba", 0x47A30E, 0x48E + +gUnknown_847A79C:: @ 847A79C + .incbin "baserom.gba", 0x47A79C, 0x8 + +gUnknown_847A7A4:: @ 847A7A4 + .incbin "baserom.gba", 0x47A7A4, 0xBC + +gUnknown_847A860:: @ 847A860 + .incbin "baserom.gba", 0x47A860, 0x18 + +gUnknown_847A878:: @ 847A878 + .incbin "baserom.gba", 0x47A878, 0x18 + +gUnknown_847A890:: @ 847A890 + .incbin "baserom.gba", 0x47A890, 0x7F1C + +gUnknown_84827AC:: @ 84827AC + .incbin "baserom.gba", 0x4827AC, 0x8 + +gUnknown_84827B4:: @ 84827B4 + .incbin "baserom.gba", 0x4827B4, 0x5F34 + +gUnknown_84886E8:: @ 84886E8 + .incbin "baserom.gba", 0x4886E8, 0x588 + +gUnknown_8488C70:: @ 8488C70 + .incbin "baserom.gba", 0x488C70, 0x32 + +gUnknown_8488CA2:: @ 8488CA2 + .incbin "baserom.gba", 0x488CA2, 0x2C + +gUnknown_8488CCE:: @ 8488CCE + .incbin "baserom.gba", 0x488CCE, 0x28 + +gUnknown_8488CF6:: @ 8488CF6 + .incbin "baserom.gba", 0x488CF6, 0x34 + +gUnknown_8488D2A:: @ 8488D2A + .incbin "baserom.gba", 0x488D2A, 0x36 + +gUnknown_8488D60:: @ 8488D60 + .incbin "baserom.gba", 0x488D60, 0x1C + +gUnknown_8488D7C:: @ 8488D7C + .incbin "baserom.gba", 0x488D7C, 0x12 + +gUnknown_8488D8E:: @ 8488D8E + .incbin "baserom.gba", 0x488D8E, 0x2F + +gUnknown_8488DBD:: @ 8488DBD + .incbin "baserom.gba", 0x488DBD, 0x40 + +gUnknown_8488DFD:: @ 8488DFD + .incbin "baserom.gba", 0x488DFD, 0xB6B diff --git a/include/bike.h b/include/bike.h new file mode 100644 index 000000000..468c48273 --- /dev/null +++ b/include/bike.h @@ -0,0 +1,6 @@ +#ifndef GUARD_BIKE_H +#define GUARD_BIKE_H + +void sub_80BD620(u32 unkC, u32 unk10); + +#endif //GUARD_BIKE_H diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index 33c4d5bbc..5cd29fc5b 100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h @@ -14,5 +14,6 @@ // Exported ROM declarations u8 sub_8154228(void); bool8 sub_8155DA0(struct MapObject *); +void sub_80DC44C(u8, u8); #endif //GUARD_FIELD_EFFECT_HELPERS_H diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 9ff5ecedc..ded970a83 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -83,6 +83,9 @@ void sub_8063CA4(struct MapObject *, u8); void npc_coords_shift_still(struct MapObject *); void sub_805FE7C(struct MapObject *, u8); void npc_set_running_behaviour_etc(struct MapObject *, u8); +u8 sub_80634F0(u8 direction); +u8 sub_8063500(u8 a0); +void sub_805F060(struct MapObject *mapObject, u8 a1); // Exported data declarations diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 9b7fcde38..297d66441 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -16,5 +16,9 @@ void sub_808D074(u8); void sub_805C270(); void sub_805C780(); void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr); +u8 sub_805C808(u8); +void SetPlayerAvatarStateMask(u8 mask); +void sub_805D9C4(struct Sprite *sprite); +void sub_805D154(u8 direction); #endif //GUARD_FIELD_PLAYER_AVATAR_H diff --git a/include/quest_log.h b/include/quest_log.h index 90eb290ca..b2a750725 100644 --- a/include/quest_log.h +++ b/include/quest_log.h @@ -19,4 +19,6 @@ extern u16 gUnknown_3005E8C; extern struct UnkStruct_3005E90 gUnknown_3005E90; extern struct UnkStruct_203AE98 * gUnknown_3005E94; +void sub_8112720(u8); + #endif //GUARD_QUEST_LOG_H diff --git a/ld_script.txt b/ld_script.txt index 4643cf8b0..3d59b2459 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -256,7 +256,7 @@ SECTIONS { asm/wireless_communication_status_screen.o(.text); asm/braille_text.o(.text); asm/text_window.o(.text); - asm/quest_log_8150454.o(.text); + src/quest_log_8150454.o(.text); asm/unk_81507FC.o(.text); asm/battle_controller_pokedude.o(.text); asm/unk_8159F40.o(.text); @@ -379,6 +379,8 @@ SECTIONS { src/menews_jisan.o(.rodata); src/menews_jisan.o(.rodata.str1.4); data/data_8468C98.o(.rodata); + src/quest_log_8150454.o(.rodata); + data/data_8471F00.o(.rodata); src/m4a_tables.o(.rodata); data/sound_data.o(.rodata); } =0 diff --git a/src/quest_log_8150454.c b/src/quest_log_8150454.c new file mode 100644 index 000000000..8af516e3a --- /dev/null +++ b/src/quest_log_8150454.c @@ -0,0 +1,197 @@ +#include "global.h" +#include "bike.h" +#include "script.h" +#include "task.h" +#include "field_player_avatar.h" +#include "field_map_obj.h" +#include "field_map_obj_helpers.h" +#include "field_effect.h" +#include "field_effect_helpers.h" +#include "quest_log.h" + +void sub_81504A8(void); +void sub_81504E8(void); +void sub_8150530(void); +void sub_81505C4(u8 taskId); +void sub_8150708(void); +void sub_815077C(void); +void sub_8150794(u8 taskId); +void sub_81507CC(void); +void sub_81507D8(void); +void sub_81507E4(void); +void sub_81507F0(void); +void sub_81507BC(struct MapObject *a0, u8 a1); + +void (*const gUnknown_8471EDC[])(void) = { + sub_81504A8, + sub_81504E8, + sub_8150530, + sub_8150708, + sub_81507CC, + sub_81507D8, + sub_81507E4, + sub_81507F0, + sub_815077C +}; + +void sub_8150454(u8 a0) +{ + if (a0 < ARRAY_COUNT(gUnknown_8471EDC)) + gUnknown_8471EDC[a0](); +} + +bool8 sub_8150474(u8 a0) +{ + if (gUnknown_3005E88 == 2) + { + sub_8112720(a0); + return TRUE; + } + return FALSE; +} + +void sub_8150498(u8 a0) +{ + return sub_8150454(a0); +} + +void sub_81504A8(void) +{ + struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + sub_81507BC(mapObject, sub_805C808(0)); + FieldObjectTurn(mapObject, mapObject->placeholder18); + SetPlayerAvatarStateMask(0x01); +} + +void sub_81504E8(void) +{ + struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + sub_81507BC(mapObject, sub_805C808(1)); + FieldObjectTurn(mapObject, mapObject->placeholder18); + SetPlayerAvatarStateMask(0x02); + sub_80BD620(0, 0); +} + +void sub_8150530(void) +{ + struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct Sprite *sprite = &gSprites[mapObject->spriteId]; + + if (gUnknown_3005E88 == 1 || gUnknown_3005E88 == 3) + { + u8 taskId; + ScriptContext2_Enable(); + gPlayerAvatar.unk6 = 1; + taskId = CreateTask(sub_81505C4, 0xFF); + gTasks[taskId].data[0] = 0; + } + else + { + sub_81507BC(mapObject, sub_805C808(4)); + StartSpriteAnim(sprite, sub_80634F0(mapObject->mapobj_unk_18)); + } +} + +void sub_81505C4(u8 taskId) +{ + struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct Sprite *sprite = &gSprites[mapObject->spriteId]; + + switch (gTasks[taskId].data[0]) + { + case 0: + FieldObjectClearAnimIfSpecialAnimActive(mapObject); + mapObject->mapobj_bit_11 = TRUE; + sub_81507BC(mapObject, sub_805C808(4)); + StartSpriteAnim(sprite, sub_80634F0(mapObject->mapobj_unk_18)); + gTasks[taskId].data[0]++; + gTasks[taskId].data[1] = 0; + break; + case 1: + sub_805D9C4(sprite); + if (gTasks[taskId].data[1] < 60) + gTasks[taskId].data[1]++; + else + gTasks[taskId].data[0]++; + break; + case 2: + StartSpriteAnim(sprite, sub_8063500(player_get_direction_lower_nybble())); + gTasks[taskId].data[0]++; + break; + case 3: + sub_805D9C4(sprite); + if (sprite->animEnded) + { + if (!(gPlayerAvatar.flags & 8)) + sub_81507BC(mapObject, sub_805C808(0)); + else + sub_81507BC(mapObject, sub_805C808(2)); + FieldObjectTurn(mapObject, mapObject->placeholder18); + sprite->pos2.x = 0; + sprite->pos2.y = 0; + ScriptContext2_Disable(); + DestroyTask(taskId); + } + break; + } +} + +void sub_8150708(void) +{ + struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + u8 fieldEffectId; + + if (!(gPlayerAvatar.flags & 0x08)) + { + sub_81507BC(mapObject, sub_805C808(2)); + FieldObjectTurn(mapObject, mapObject->placeholder18); + SetPlayerAvatarStateMask(0x08); + gFieldEffectArguments[0] = mapObject->coords2.x; + gFieldEffectArguments[1] = mapObject->coords2.y; + gFieldEffectArguments[2] = gPlayerAvatar.mapObjectId; + fieldEffectId = FieldEffectStart(0x08); + mapObject->mapobj_unk_1A = fieldEffectId; + sub_80DC44C(fieldEffectId, 1); + } +} + +void sub_815077C(void) +{ + FieldEffectStart(0x41); + CreateTask(sub_8150794, 0x00); +} + +void sub_8150794(u8 taskId) +{ + if (!FieldEffectActiveListContains(0x41)) + { + UnfreezeMapObjects(); + ScriptContext2_Disable(); + DestroyTask(taskId); + } +} + +void sub_81507BC(struct MapObject * a0, u8 a1) +{ + sub_805F060(a0, a1); +} + +void sub_81507CC(void) +{ + sub_805D154(1); +} + +void sub_81507D8(void) +{ + sub_805D154(2); +} + +void sub_81507E4(void) +{ + sub_805D154(3); +} + +void sub_81507F0(void) +{ + sub_805D154(4); +} diff --git a/sym_ewram.txt b/sym_ewram.txt index 1e0ed2e60..ee83526af 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -895,7 +895,7 @@ gUnknown_20386D0: @ 20386D0 gUnknown_20386DC: @ 20386DC .space 0x4 -gUnknown_20386E0: @ 20386E0 +gFieldEffectArguments: @ 20386E0 .space 0x20 gUnknown_2038700: @ 2038700 From 91bfbfb9fb2bbdecfc33e76fca7aa6ff5a2c8a34 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 23 Nov 2018 21:22:31 -0500 Subject: [PATCH 108/222] quest_log_battle, 1 --- asm/quest_log_battle.s | 286 ----------------------------------------- include/overworld.h | 3 +- include/quest_log.h | 1 + ld_script.txt | 1 + src/quest_log.c | 2 +- src/quest_log_battle.c | 97 ++++++++++++++ 6 files changed, 102 insertions(+), 288 deletions(-) create mode 100644 src/quest_log_battle.c diff --git a/asm/quest_log_battle.s b/asm/quest_log_battle.s index 1870395e9..1afadbf5f 100644 --- a/asm/quest_log_battle.s +++ b/asm/quest_log_battle.s @@ -5,292 +5,6 @@ .text - thumb_func_start sub_812BFDC -sub_812BFDC: @ 812BFDC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r4, _0812C03C @ =gBattleTypeFlags - ldr r0, [r4] - ldr r1, _0812C040 @ =0x00010202 - ands r0, r1 - cmp r0, 0 - beq _0812BFF4 - b _0812C212 -_0812BFF4: - ldr r5, _0812C044 @ =gUnknown_2023E8A - ldrb r0, [r5] - cmp r0, 0x1 - beq _0812C002 - cmp r0, 0x7 - beq _0812C002 - b _0812C212 -_0812C002: - movs r0, 0x8 - bl Alloc - adds r7, r0, 0 - movs r0, 0x8 - bl Alloc - mov r9, r0 - ldr r4, [r4] - movs r0, 0x8 - ands r4, r0 - cmp r4, 0 - bne _0812C01E - b _0812C1CC -_0812C01E: - ldr r3, _0812C048 @ =gTrainers - ldr r2, _0812C04C @ =gTrainerBattleOpponent_A - ldrh r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - ldrb r1, [r0, 0x1] - cmp r1, 0x57 - beq _0812C060 - cmp r1, 0x57 - bgt _0812C050 - cmp r1, 0x54 - beq _0812C056 - b _0812C066 - .align 2, 0 -_0812C03C: .4byte gBattleTypeFlags -_0812C040: .4byte 0x00010202 -_0812C044: .4byte gUnknown_2023E8A -_0812C048: .4byte gTrainers -_0812C04C: .4byte gTrainerBattleOpponent_A -_0812C050: - cmp r1, 0x5A - beq _0812C05C - b _0812C066 -_0812C056: - movs r0, 0x1E - mov r10, r0 - b _0812C06A -_0812C05C: - movs r1, 0x21 - b _0812C068 -_0812C060: - movs r0, 0x20 - mov r10, r0 - b _0812C06A -_0812C066: - movs r1, 0x22 -_0812C068: - mov r10, r1 -_0812C06A: - ldrh r0, [r2] - strh r0, [r7] - ldr r0, _0812C0AC @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812C150 - ldr r0, _0812C0B0 @ =gBattleResults - ldrh r0, [r0, 0x20] - strh r0, [r7, 0x2] - ldr r4, _0812C0B4 @ =gBattleStruct - ldr r0, [r4] - movs r1, 0xC1 - lsls r1, 1 - adds r0, r1 - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0812C0BC - ldr r2, _0812C0B8 @ =gBattleMons - ldr r0, [r4] - movs r1, 0xC1 - lsls r1, 1 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - b _0812C0EA - .align 2, 0 -_0812C0AC: .4byte gBattleTypeFlags -_0812C0B0: .4byte gBattleResults -_0812C0B4: .4byte gBattleStruct -_0812C0B8: .4byte gBattleMons -_0812C0BC: - ldr r5, _0812C0D8 @ =gBattleMons - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - movs r4, 0x58 - muls r0, r4 - adds r0, r5 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _0812C0DC - movs r0, 0 - b _0812C0DE - .align 2, 0 -_0812C0D8: .4byte gBattleMons -_0812C0DC: - movs r0, 0x2 -_0812C0DE: - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - muls r0, r4 - adds r0, r5 -_0812C0EA: - ldrh r0, [r0] - strh r0, [r7, 0x4] - movs r0, 0 - bl GetBattlerAtPosition - adds r4, r0, 0 - movs r0, 0x2 - bl GetBattlerAtPosition - ldr r6, _0812C14C @ =gBattleMons - lsls r4, 24 - lsrs r4, 24 - movs r5, 0x58 - adds r1, r4, 0 - muls r1, r5 - adds r1, r6 - lsls r0, 24 - lsrs r0, 24 - muls r0, r5 - adds r0, r6 - ldrh r0, [r0, 0x28] - ldrh r1, [r1, 0x28] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - movs r0, 0 - bl GetBattlerAtPosition - adds r4, r0, 0 - movs r0, 0x2 - bl GetBattlerAtPosition - lsls r4, 24 - lsrs r4, 24 - adds r1, r4, 0 - muls r1, r5 - adds r1, r6 - lsls r0, 24 - lsrs r0, 24 - muls r0, r5 - adds r0, r6 - ldrh r0, [r0, 0x2C] - ldrh r1, [r1, 0x2C] - adds r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - b _0812C18E - .align 2, 0 -_0812C14C: .4byte gBattleMons -_0812C150: - ldr r0, _0812C1C4 @ =gBattleResults - ldrh r0, [r0, 0x20] - strh r0, [r7, 0x2] - movs r0, 0 - bl GetBattlerAtPosition - ldr r5, _0812C1C8 @ =gBattleMons - lsls r0, 24 - lsrs r0, 24 - movs r4, 0x58 - muls r0, r4 - adds r0, r5 - ldrh r0, [r0] - strh r0, [r7, 0x4] - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - muls r0, r4 - adds r0, r5 - ldrh r0, [r0, 0x28] - mov r8, r0 - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - muls r0, r4 - adds r0, r5 - ldrh r4, [r0, 0x2C] -_0812C18E: - bl sav1_map_get_name - movs r1, 0 - strb r0, [r7, 0x7] - strb r1, [r7, 0x6] - adds r0, r4, 0 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 16 - lsrs r1, r0, 16 - lsls r0, r1, 1 - cmp r8, r0 - bge _0812C1AE - movs r0, 0x1 - strb r0, [r7, 0x6] -_0812C1AE: - cmp r8, r1 - bcs _0812C1B8 - ldrb r0, [r7, 0x6] - adds r0, 0x1 - strb r0, [r7, 0x6] -_0812C1B8: - mov r0, r10 - adds r1, r7, 0 - bl sub_8113550 - b _0812C206 - .align 2, 0 -_0812C1C4: .4byte gBattleResults -_0812C1C8: .4byte gBattleMons -_0812C1CC: - ldrb r0, [r5] - cmp r0, 0x1 - bne _0812C1E8 - ldr r0, _0812C1E4 @ =gEnemyParty - movs r1, 0xB - bl GetMonData - mov r1, r9 - strh r0, [r1] - strh r4, [r1, 0x2] - b _0812C1F8 - .align 2, 0 -_0812C1E4: .4byte gEnemyParty -_0812C1E8: - mov r0, r9 - strh r4, [r0] - ldr r0, _0812C220 @ =gEnemyParty - movs r1, 0xB - bl GetMonData - mov r1, r9 - strh r0, [r1, 0x2] -_0812C1F8: - bl sav1_map_get_name - mov r1, r9 - strb r0, [r1, 0x4] - movs r0, 0x1F - bl sub_8113550 -_0812C206: - adds r0, r7, 0 - bl Free - mov r0, r9 - bl Free -_0812C212: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812C220: .4byte gEnemyParty - thumb_func_end sub_812BFDC - thumb_func_start sub_812C224 sub_812C224: @ 812C224 push {r4-r7,lr} diff --git a/include/overworld.h b/include/overworld.h index 05ff5e03c..8cae07bdc 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -70,7 +70,6 @@ void c2_load_new_map(void); void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused); void mapldr_default(void); -void IncrementGameStat(u8); u32 GetGameStat(u8); void sub_8056938(void); @@ -80,6 +79,8 @@ void sub_805726C(void); void sub_8057430(void); void sub_8055DC4(void); +u8 sav1_map_get_name(void); + extern u8 gUnknown_2031DD8; extern u8 gUnknown_2036E28; diff --git a/include/quest_log.h b/include/quest_log.h index b2a750725..9f8a0ea21 100644 --- a/include/quest_log.h +++ b/include/quest_log.h @@ -20,5 +20,6 @@ extern struct UnkStruct_3005E90 gUnknown_3005E90; extern struct UnkStruct_203AE98 * gUnknown_3005E94; void sub_8112720(u8); +void sub_8113550(u16, const u16 *); #endif //GUARD_QUEST_LOG_H diff --git a/ld_script.txt b/ld_script.txt index 3d59b2459..070eb444a 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -225,6 +225,7 @@ SECTIONS { asm/party_menu.o(.text); asm/union_room_chat.o(.text); asm/help_system_812B1E0.o(.text); + src/quest_log_battle.o(.text); asm/quest_log_battle.o(.text); asm/fame_checker.o(.text); asm/menu2.o(.text); diff --git a/src/quest_log.c b/src/quest_log.c index ed7214bdd..546ff6e05 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -2820,7 +2820,7 @@ static u16 * (*const sQuestLogStorageCBs[])(u16 *, const u16 *) = { }; #ifdef NONMATCHING -void sub_8113550(u16 a0, u16 * a1) +void sub_8113550(u16 a0, const u16 * a1) { u16 * r1; diff --git a/src/quest_log_battle.c b/src/quest_log_battle.c new file mode 100644 index 000000000..c5d8ec2af --- /dev/null +++ b/src/quest_log_battle.c @@ -0,0 +1,97 @@ +#include "global.h" +#include "constants/species.h" +#include "malloc.h" +#include "battle.h" +#include "overworld.h" +#include "quest_log.h" + +struct QuestLogStruct_01 +{ + u16 v0; + u16 v2; + u16 v4; + u8 v6; + u8 v7; +}; + +struct QuestLogStruct_02 +{ + u16 v0; + u16 v2; + u8 v4; +}; + +void sub_812BFDC(void) +{ + if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_DOME)) && (gUnknown_2023E8A == 1 || gUnknown_2023E8A == 7)) + { + struct QuestLogStruct_01 * questLogTrainerBattleRecord = Alloc(sizeof(struct QuestLogStruct_01)); + struct QuestLogStruct_02 * questLogWildBattleRecord = Alloc(sizeof(struct QuestLogStruct_02)); + u16 questLogMessageType; + u16 playerEndingHP; + u16 playerMaxHP; + + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + switch (gTrainers[gTrainerBattleOpponent_A].trainerClass) + { + case 0x54: + questLogMessageType = 30; + break; + case 0x5a: + questLogMessageType = 33; + break; + case 0x57: + questLogMessageType = 32; + break; + default: + questLogMessageType = 34; + break; + } + questLogTrainerBattleRecord->v0 = gTrainerBattleOpponent_A; + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + questLogTrainerBattleRecord->v2 = gBattleResults.lastOpponentSpecies; + if (GetBattlerSide(gBattleStruct->field_182) == B_SIDE_PLAYER) + questLogTrainerBattleRecord->v4 = gBattleMons[gBattleStruct->field_182].species; + else if (gBattleMons[GetBattlerAtPosition(0)].hp != 0) + questLogTrainerBattleRecord->v4 = gBattleMons[GetBattlerAtPosition(0)].species; + else + questLogTrainerBattleRecord->v4 = gBattleMons[GetBattlerAtPosition(2)].species; + playerEndingHP = gBattleMons[GetBattlerAtPosition(0)].hp + gBattleMons[GetBattlerAtPosition(2)].hp; + playerMaxHP = gBattleMons[GetBattlerAtPosition(0)].maxHP + gBattleMons[GetBattlerAtPosition(2)].maxHP; + } + else + { + questLogTrainerBattleRecord->v2 = gBattleResults.lastOpponentSpecies; + questLogTrainerBattleRecord->v4 = gBattleMons[GetBattlerAtPosition(0)].species; + playerEndingHP = gBattleMons[GetBattlerAtPosition(0)].hp; + playerMaxHP = gBattleMons[GetBattlerAtPosition(0)].maxHP; + } + questLogTrainerBattleRecord->v7 = sav1_map_get_name(); + questLogTrainerBattleRecord->v6 = 0; + if (playerEndingHP < playerMaxHP / 3 * 2) + questLogTrainerBattleRecord->v6 = 1; + if (playerEndingHP < playerMaxHP / 3) + questLogTrainerBattleRecord->v6++; + sub_8113550(questLogMessageType, (const u16 *)questLogTrainerBattleRecord); + } + else + { + if (gUnknown_2023E8A == 1) + { + questLogWildBattleRecord->v0 = GetMonData(gEnemyParty + 0, MON_DATA_SPECIES); + questLogWildBattleRecord->v2 = SPECIES_NONE; + } + else + { + questLogWildBattleRecord->v0 = SPECIES_NONE; + questLogWildBattleRecord->v2 = GetMonData(gEnemyParty + 0, MON_DATA_SPECIES); + } + questLogWildBattleRecord->v4 = sav1_map_get_name(); + sub_8113550(31, (const u16 *)questLogWildBattleRecord); + } + Free(questLogTrainerBattleRecord); + Free(questLogWildBattleRecord); + } +} From d5d220bc5c952aae723a0c0849bfbbdb17dff70a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 23 Nov 2018 21:55:21 -0500 Subject: [PATCH 109/222] quest_log_battle, 2 --- asm/battle_1.s | 4 +- asm/battle_message.s | 8 +-- asm/cable_club.s | 4 +- asm/link_rfu_2.s | 4 +- asm/link_rfu_3.s | 8 +-- asm/link_rfu_4.s | 12 ++-- asm/quest_log_battle.s | 137 ----------------------------------------- asm/trade.s | 28 ++++----- asm/unk_8147AA8.s | 4 +- asm/unk_814B6F0.s | 4 +- asm/unk_81507FC.s | 8 +-- include/battle.h | 6 +- src/quest_log_battle.c | 61 ++++++++++++++++-- sym_ewram.txt | 8 +-- 14 files changed, 105 insertions(+), 191 deletions(-) diff --git a/asm/battle_1.s b/asm/battle_1.s index b91c32c7d..02ffb8fea 100644 --- a/asm/battle_1.s +++ b/asm/battle_1.s @@ -703,7 +703,7 @@ _0800F734: movs r5, 0 movs r6, 0x3 _0800F744: - ldr r0, _0800F760 @ =gUnknown_2022744 + ldr r0, _0800F760 @ =gLinkPlayers + 8 adds r1, r5, r0 subs r0, 0x8 adds r4, r5, r0 @@ -717,7 +717,7 @@ _0800F744: b _0800F7C2 .align 2, 0 _0800F75C: .4byte gBattleTypeFlags -_0800F760: .4byte gUnknown_2022744 +_0800F760: .4byte gLinkPlayers + 8 _0800F764: cmp r0, 0x2 beq _0800F790 diff --git a/asm/battle_message.s b/asm/battle_message.s index ecfd738f1..029ff9ed0 100644 --- a/asm/battle_message.s +++ b/asm/battle_message.s @@ -1834,11 +1834,11 @@ _080D8162: lsls r0, r7, 3 subs r0, r7 lsls r0, 2 - ldr r1, _080D8170 @ =gUnknown_2022744 + ldr r1, _080D8170 @ =gLinkPlayers + 8 adds r4, r0, r1 b _080D8382 .align 2, 0 -_080D8170: .4byte gUnknown_2022744 +_080D8170: .4byte gLinkPlayers + 8 _080D8174: ldr r4, _080D8184 @ =gLinkPlayers lsls r0, r7, 3 @@ -1888,12 +1888,12 @@ _080D81C8: lsls r1, r0, 3 subs r1, r0 lsls r1, 2 - ldr r0, _080D81D8 @ =gUnknown_2022744 + ldr r0, _080D81D8 @ =gLinkPlayers + 8 adds r4, r1, r0 b _080D8382 .align 2, 0 _080D81D4: .4byte gBattleScripting -_080D81D8: .4byte gUnknown_2022744 +_080D81D8: .4byte gLinkPlayers + 8 _080D81DC: ldr r0, _080D81E4 @ =gSaveBlock2Ptr ldr r4, [r0] diff --git a/asm/cable_club.s b/asm/cable_club.s index ae09830e6..1d49bfcaa 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -2408,7 +2408,7 @@ sub_8081A34: @ 8081A34 lsls r1, r4, 3 subs r1, r4 lsls r1, 2 - ldr r2, _08081A7C @ =gUnknown_2022744 + ldr r2, _08081A7C @ =gLinkPlayers + 8 adds r1, r2 bl StringCopy adds r0, r4, 0 @@ -2429,7 +2429,7 @@ sub_8081A34: @ 8081A34 .align 2, 0 _08081A74: .4byte gUnknown_20370C4 _08081A78: .4byte gStringVar1 -_08081A7C: .4byte gUnknown_2022744 +_08081A7C: .4byte gLinkPlayers + 8 _08081A80: .4byte gStringVar2 _08081A84: .4byte gUnknown_83C6AB8 _08081A88: diff --git a/asm/link_rfu_2.s b/asm/link_rfu_2.s index b606854a3..f59f1ea87 100644 --- a/asm/link_rfu_2.s +++ b/asm/link_rfu_2.s @@ -9954,7 +9954,7 @@ _080FD1C8: subs r0, r4 lsls r0, 2 str r0, [sp, 0x1C] - ldr r2, _080FD24C @ =gUnknown_2022744 + ldr r2, _080FD24C @ =gLinkPlayers + 8 mov r10, r2 ldr r6, _080FD250 @ =0x00003ba8 movs r4, 0 @@ -10007,7 +10007,7 @@ _080FD22C: ldr r6, [sp, 0x14] b _080FD2A4 .align 2, 0 -_080FD24C: .4byte gUnknown_2022744 +_080FD24C: .4byte gLinkPlayers + 8 _080FD250: .4byte 0x00003ba8 _080FD254: .4byte gSaveBlock1Ptr _080FD258: diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index ec3e2e5a4..d67176ed4 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -6293,7 +6293,7 @@ _08118ED6: lsls r1, r0, 3 subs r1, r0 lsls r1, 2 - ldr r4, _08118F24 @ =gUnknown_2022744 + ldr r4, _08118F24 @ =gLinkPlayers + 8 adds r1, r4 adds r0, r5, 0 bl StringCopy @@ -6312,7 +6312,7 @@ _08118ED6: bl _081198DA .align 2, 0 _08118F20: .4byte gStringVar1 -_08118F24: .4byte gUnknown_2022744 +_08118F24: .4byte gLinkPlayers + 8 _08118F28: .4byte gStringVar4 _08118F2C: .4byte gUnknown_8457C20 _08118F30: @@ -6543,7 +6543,7 @@ _08119122: movs r0, 0x21 strb r0, [r6, 0x14] ldr r0, _08119154 @ =gStringVar1 - ldr r4, _08119158 @ =gUnknown_2022760 + ldr r4, _08119158 @ =gLinkPlayers + 0x24 adds r1, r4, 0 bl StringCopy adds r0, r4, 0 @@ -6562,7 +6562,7 @@ _08119122: .align 2, 0 _08119150: .4byte sub_8117280 _08119154: .4byte gStringVar1 -_08119158: .4byte gUnknown_2022760 +_08119158: .4byte gLinkPlayers + 0x24 _0811915C: .4byte gStringVar4 _08119160: .4byte gUnknown_8457BCC _08119164: diff --git a/asm/link_rfu_4.s b/asm/link_rfu_4.s index 4749a278a..f8917e197 100644 --- a/asm/link_rfu_4.s +++ b/asm/link_rfu_4.s @@ -1731,12 +1731,12 @@ _0814315C: movs r0, 0xB strb r0, [r5, 0x8] ldr r0, _0814316C @ =gStringVar1 - ldr r1, _08143170 @ =gUnknown_2022744 + ldr r1, _08143170 @ =gLinkPlayers + 8 bl StringCopy b _081435C6 .align 2, 0 _0814316C: .4byte gStringVar1 -_08143170: .4byte gUnknown_2022744 +_08143170: .4byte gLinkPlayers + 8 _08143174: adds r4, r5, 0 adds r4, 0x9 @@ -1847,7 +1847,7 @@ _08143242: cmp r0, 0x1 bne _08143250 ldr r0, _0814325C @ =gStringVar1 - ldr r1, _08143260 @ =gUnknown_2022744 + ldr r1, _08143260 @ =gLinkPlayers + 8 bl StringCopy _08143250: movs r0, 0xF @@ -1856,7 +1856,7 @@ _08143250: .align 2, 0 _08143258: .4byte gUnknown_841E7A3 _0814325C: .4byte gStringVar1 -_08143260: .4byte gUnknown_2022744 +_08143260: .4byte gLinkPlayers + 8 _08143264: ldrb r1, [r5, 0xC] ldrb r2, [r5, 0xD] @@ -2229,14 +2229,14 @@ _08143514: _08143528: bl task_add_05_task_del_08FA224_when_no_RfuFunc ldr r0, _0814353C @ =gStringVar1 - ldr r1, _08143540 @ =gUnknown_2022760 + ldr r1, _08143540 @ =gLinkPlayers + 0x24 bl StringCopy movs r0, 0x22 strb r0, [r5, 0x8] b _081435C6 .align 2, 0 _0814353C: .4byte gStringVar1 -_08143540: .4byte gUnknown_2022760 +_08143540: .4byte gLinkPlayers + 0x24 _08143544: bl sub_80FA4F8 lsls r0, 24 diff --git a/asm/quest_log_battle.s b/asm/quest_log_battle.s index 1afadbf5f..2219633bb 100644 --- a/asm/quest_log_battle.s +++ b/asm/quest_log_battle.s @@ -5,143 +5,6 @@ .text - thumb_func_start sub_812C224 -sub_812C224: @ 812C224 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - ldr r4, _0812C2B8 @ =gBattleTypeFlags - ldr r0, [r4] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0812C31C - movs r0, 0x18 - bl Alloc - adds r5, r0, 0 - ldr r0, _0812C2BC @ =gUnknown_2023E8A - ldrb r0, [r0] - subs r0, 0x1 - strb r0, [r5] - ldr r1, [r4] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0812C2C4 - movs r0, 0xF - mov r8, r0 - add r4, sp, 0x4 - mov r0, sp - adds r1, r4, 0 - bl sub_812C334 - movs r3, 0 - mov r9, r4 - adds r1, r5, 0x1 - mov r12, r1 - adds r7, r5, 0 - adds r7, 0x8 - adds r6, r5, 0 - adds r6, 0xF - ldr r4, _0812C2C0 @ =gUnknown_2022744 -_0812C274: - mov r0, r12 - adds r2, r0, r3 - ldr r1, [sp] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r3, r0 - adds r0, r4 - ldrb r0, [r0] - strb r0, [r2] - adds r2, r7, r3 - ldr r1, [sp, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r3, r0 - adds r0, r4 - ldrb r0, [r0] - strb r0, [r2] - adds r2, r6, r3 - mov r0, r9 - ldr r1, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r3, r0 - adds r0, r4 - ldrb r0, [r0] - strb r0, [r2] - adds r3, 0x1 - cmp r3, 0x6 - ble _0812C274 - b _0812C30E - .align 2, 0 -_0812C2B8: .4byte gBattleTypeFlags -_0812C2BC: .4byte gUnknown_2023E8A -_0812C2C0: .4byte gUnknown_2022744 -_0812C2C4: - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - beq _0812C2D2 - movs r1, 0xE - mov r8, r1 - b _0812C2E2 -_0812C2D2: - bl InUnionRoom - movs r1, 0xD - mov r8, r1 - cmp r0, 0x1 - bne _0812C2E2 - movs r0, 0x13 - mov r8, r0 -_0812C2E2: - movs r3, 0 - adds r4, r5, 0x1 - ldr r1, _0812C32C @ =gUnknown_2022744 - mov r12, r1 - ldr r7, _0812C330 @ =gBattleStruct - movs r6, 0x1 -_0812C2EE: - adds r2, r4, r3 - ldr r0, [r7] - adds r0, 0xB5 - ldrb r0, [r0] - adds r1, r6, 0 - eors r1, r0 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r3, r0 - add r0, r12 - ldrb r0, [r0] - strb r0, [r2] - adds r3, 0x1 - cmp r3, 0x6 - ble _0812C2EE -_0812C30E: - mov r0, r8 - adds r1, r5, 0 - bl sub_8113550 - adds r0, r5, 0 - bl Free -_0812C31C: - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812C32C: .4byte gUnknown_2022744 -_0812C330: .4byte gBattleStruct - thumb_func_end sub_812C224 - thumb_func_start sub_812C334 sub_812C334: @ 812C334 push {r4-r6,lr} diff --git a/asm/trade.s b/asm/trade.s index cb15185e9..b5d1dcac6 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -664,7 +664,7 @@ _0804CB9C: lsls r0, r1, 3 subs r0, r1 lsls r0, 2 - ldr r1, _0804CC20 @ =gUnknown_2022744 + ldr r1, _0804CC20 @ =gLinkPlayers + 8 adds r0, r1 ldr r1, [r6, 0xC] str r5, [sp] @@ -702,7 +702,7 @@ _0804CB9C: _0804CC14: .4byte gSaveBlock2Ptr _0804CC18: .4byte gUnknown_2031C94 _0804CC1C: .4byte gDecompressionBuffer -_0804CC20: .4byte gUnknown_2022744 +_0804CC20: .4byte gLinkPlayers + 8 _0804CC24: .4byte gUnknown_8261ECC _0804CC28: .4byte gMain _0804CC2C: .4byte gUnknown_2031DA8 @@ -762,7 +762,7 @@ _0804CC62: lsls r0, r1, 3 subs r0, r1 lsls r0, 2 - ldr r1, _0804CD08 @ =gUnknown_2022744 + ldr r1, _0804CD08 @ =gLinkPlayers + 8 adds r1, r0, r1 movs r0, 0x1 movs r2, 0 @@ -811,7 +811,7 @@ _0804CCC6: _0804CCFC: .4byte gSaveBlock2Ptr _0804CD00: .4byte gUnknown_8261E8A _0804CD04: .4byte gUnknown_8261CC8 -_0804CD08: .4byte gUnknown_2022744 +_0804CD08: .4byte gLinkPlayers + 8 _0804CD0C: .4byte gMain _0804CD10: ldr r4, _0804CDCC @ =gUnknown_8261CC8 @@ -1354,7 +1354,7 @@ _0804D19C: lsls r0, r1, 3 subs r0, r1 lsls r0, 2 - ldr r1, _0804D220 @ =gUnknown_2022744 + ldr r1, _0804D220 @ =gLinkPlayers + 8 adds r0, r1 ldr r1, [r6, 0xC] str r5, [sp] @@ -1393,7 +1393,7 @@ _0804D200: _0804D214: .4byte gSaveBlock2Ptr _0804D218: .4byte gUnknown_2031C94 _0804D21C: .4byte gDecompressionBuffer -_0804D220: .4byte gUnknown_2022744 +_0804D220: .4byte gLinkPlayers + 8 _0804D224: .4byte gUnknown_8261ECC _0804D228: .4byte gMain _0804D22C: .4byte gUnknown_2031DA8 @@ -1459,7 +1459,7 @@ _0804D270: lsls r0, r1, 3 subs r0, r1 lsls r0, 2 - ldr r1, _0804D318 @ =gUnknown_2022744 + ldr r1, _0804D318 @ =gLinkPlayers + 8 adds r1, r0, r1 movs r0, 0x1 movs r2, 0 @@ -1508,7 +1508,7 @@ _0804D2D4: _0804D30C: .4byte gSaveBlock2Ptr _0804D310: .4byte gUnknown_8261E8A _0804D314: .4byte gUnknown_8261CC8 -_0804D318: .4byte gUnknown_2022744 +_0804D318: .4byte gLinkPlayers + 8 _0804D31C: .4byte gMain _0804D320: ldr r4, _0804D3B0 @ =gUnknown_8261CC8 @@ -7706,7 +7706,7 @@ _0805039C: lsls r1, r0, 3 subs r1, r0 lsls r1, 2 - ldr r0, _08050428 @ =gUnknown_2022744 + ldr r0, _08050428 @ =gLinkPlayers + 8 adds r1, r0 adds r0, r4, 0 movs r2, 0x7 @@ -7721,7 +7721,7 @@ _08050418: .4byte gUnknown_2031DA4 _0805041C: .4byte gPlayerParty _08050420: .4byte gUnknown_2031DAC _08050424: .4byte gEnemyParty -_08050428: .4byte gUnknown_2022744 +_08050428: .4byte gLinkPlayers + 8 _0805042C: .4byte gMain _08050430: bl sub_805049C @@ -7947,7 +7947,7 @@ _08050628: strb r0, [r1] movs r0, 0x6 strb r0, [r1, 0x1] - ldr r4, _080506D4 @ =gUnknown_2022744 + ldr r4, _080506D4 @ =gLinkPlayers + 8 ldr r0, _080506D8 @ =gSaveBlock2Ptr ldr r1, [r0] adds r0, r4, 0 @@ -8014,7 +8014,7 @@ _08050628: .align 2, 0 _080506CC: .4byte gUnknown_2031DA4 _080506D0: .4byte gSpecialVar_0x8005 -_080506D4: .4byte gUnknown_2022744 +_080506D4: .4byte gLinkPlayers + 8 _080506D8: .4byte gSaveBlock2Ptr _080506DC: .4byte gEnemyParty _080506E0: .4byte gUnknown_2031DAC @@ -8871,7 +8871,7 @@ sub_8050E24: @ 8050E24 lsls r1, r2, 3 subs r1, r2 lsls r1, 2 - ldr r0, _08050E9C @ =gUnknown_2022744 + ldr r0, _08050E9C @ =gLinkPlayers + 8 adds r1, r0 adds r0, r3, 0 bl StringCopy @@ -8905,7 +8905,7 @@ sub_8050E24: @ 8050E24 .align 2, 0 _08050E94: .4byte gUnknown_2031DAC _08050E98: .4byte gStringVar1 -_08050E9C: .4byte gUnknown_2022744 +_08050E9C: .4byte gLinkPlayers + 8 _08050EA0: .4byte gUnknown_2031DA4 _08050EA4: .4byte gEnemyParty _08050EA8: .4byte gStringVar3 diff --git a/asm/unk_8147AA8.s b/asm/unk_8147AA8.s index 3f52d5a6a..1b06167f8 100644 --- a/asm/unk_8147AA8.s +++ b/asm/unk_8147AA8.s @@ -2687,7 +2687,7 @@ _08148EFA: ldr r2, [sp] cmp r0, 0 beq _08148F34 - ldr r1, _08148F58 @ =gUnknown_2022744 + ldr r1, _08148F58 @ =gLinkPlayers + 8 add r1, r9 adds r0, r7, 0 bl StringCopy @@ -2723,7 +2723,7 @@ _08148F44: bx r0 .align 2, 0 _08148F54: .4byte 0x000082a8 -_08148F58: .4byte gUnknown_2022744 +_08148F58: .4byte gLinkPlayers + 8 thumb_func_end sub_8148E80 thumb_func_start sub_8148F5C diff --git a/asm/unk_814B6F0.s b/asm/unk_814B6F0.s index 2e3d2e112..cfc756cf8 100644 --- a/asm/unk_814B6F0.s +++ b/asm/unk_814B6F0.s @@ -508,7 +508,7 @@ _0814BAC4: lsls r1, r5, 3 subs r1, r5 lsls r1, 2 - ldr r2, _0814BB2C @ =gUnknown_2022744 + ldr r2, _0814BB2C @ =gLinkPlayers + 8 adds r1, r2 bl StringCopy adds r4, r6, r4 @@ -555,7 +555,7 @@ _0814BB14: beq _0814BB3A b _0814BB46 .align 2, 0 -_0814BB2C: .4byte gUnknown_2022744 +_0814BB2C: .4byte gLinkPlayers + 8 _0814BB30: .4byte gSaveBlock2Ptr _0814BB34: cmp r0, 0x2 diff --git a/asm/unk_81507FC.s b/asm/unk_81507FC.s index 534804769..205bb7a85 100644 --- a/asm/unk_81507FC.s +++ b/asm/unk_81507FC.s @@ -5763,13 +5763,13 @@ _081533F0: lsls r0, r2, 3 subs r0, r2 lsls r0, 2 - ldr r1, _08153400 @ =gUnknown_2022744 + ldr r1, _08153400 @ =gLinkPlayers + 8 _081533F8: adds r0, r1 pop {r1} bx r1 .align 2, 0 -_08153400: .4byte gUnknown_2022744 +_08153400: .4byte gLinkPlayers + 8 thumb_func_end sub_81533C4 thumb_func_start sub_8153404 @@ -6605,7 +6605,7 @@ _08153A14: lsls r0, r4, 3 subs r0, r4 lsls r0, 2 - ldr r1, _08153A94 @ =gUnknown_2022744 + ldr r1, _08153A94 @ =gLinkPlayers + 8 adds r0, r1 lsls r1, r4, 2 adds r1, r5 @@ -6668,7 +6668,7 @@ _08153A7E: .align 2, 0 _08153A8C: .4byte gUnknown_203F3E0 _08153A90: .4byte gUnknown_8475648 -_08153A94: .4byte gUnknown_2022744 +_08153A94: .4byte gLinkPlayers + 8 _08153A98: .4byte gUnknown_8475608 thumb_func_end sub_8153A04 diff --git a/include/battle.h b/include/battle.h index e2f7ddb44..c86bc9232 100644 --- a/include/battle.h +++ b/include/battle.h @@ -604,7 +604,11 @@ struct BattleStruct u8 hpScale; u8 synchronizeMoveEffect; u8 field_B3; - void (*savedCallback)(void); + u8 field_B4; + u8 field_B5; + u8 field_B6; + u8 field_B7; + // void (*savedCallback)(void); u16 usedHeldItems[BATTLE_BANKS_COUNT]; u8 chosenItem[4]; // why is this an u8? u8 AI_itemType[2]; diff --git a/src/quest_log_battle.c b/src/quest_log_battle.c index c5d8ec2af..b6d6c88f3 100644 --- a/src/quest_log_battle.c +++ b/src/quest_log_battle.c @@ -2,10 +2,11 @@ #include "constants/species.h" #include "malloc.h" #include "battle.h" +#include "link.h" #include "overworld.h" #include "quest_log.h" -struct QuestLogStruct_01 +struct QuestLogStruct_TrainerBattleRecord { u16 v0; u16 v2; @@ -14,19 +15,21 @@ struct QuestLogStruct_01 u8 v7; }; -struct QuestLogStruct_02 +struct QuestLogStruct_WildBattleRecord { u16 v0; u16 v2; u8 v4; }; +void sub_812C334(u32 *, u32 *); + void sub_812BFDC(void) { if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_DOME)) && (gUnknown_2023E8A == 1 || gUnknown_2023E8A == 7)) { - struct QuestLogStruct_01 * questLogTrainerBattleRecord = Alloc(sizeof(struct QuestLogStruct_01)); - struct QuestLogStruct_02 * questLogWildBattleRecord = Alloc(sizeof(struct QuestLogStruct_02)); + struct QuestLogStruct_TrainerBattleRecord * questLogTrainerBattleRecord = Alloc(sizeof(struct QuestLogStruct_TrainerBattleRecord)); + struct QuestLogStruct_WildBattleRecord * questLogWildBattleRecord = Alloc(sizeof(struct QuestLogStruct_WildBattleRecord)); u16 questLogMessageType; u16 playerEndingHP; u16 playerMaxHP; @@ -95,3 +98,53 @@ void sub_812BFDC(void) Free(questLogWildBattleRecord); } } + +struct QuestLogStruct_LinkBattleRecord +{ + u8 v0; + u8 v1[3][7]; +}; + +void sub_812C224(void) +{ + u32 sp0; + u32 sp4[2]; + u16 r8; + s32 r3; + u32 r0; + + if (gBattleTypeFlags & BATTLE_TYPE_LINK) + { + struct QuestLogStruct_LinkBattleRecord * r5 = Alloc(sizeof(struct QuestLogStruct_LinkBattleRecord)); + r5->v0 = gUnknown_2023E8A - 1; + if (gBattleTypeFlags & BATTLE_TYPE_MULTI) + { + r8 = 15; + sub_812C334(&sp0, sp4); + for (r3 = 0; r3 < 7; r3++) + { + r5->v1[0][r3] = gLinkPlayers[sp0].name[r3]; + r5->v1[1][r3] = gLinkPlayers[sp4[0]].name[r3]; + r5->v1[2][r3] = gLinkPlayers[sp4[1]].name[r3]; + } + } + else + { + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + r8 = 14; + else + { + r0 = InUnionRoom(); + r8 = 13; + if (r0 == TRUE) + r8 = 19; + } + for (r3 = 0; r3 < 7; r3++) + { + r5->v1[0][r3] = gLinkPlayers[gBattleStruct->field_B5 ^ 1].name[r3]; + } + } + sub_8113550(r8, (const u16 *)r5); + Free(r5); + } +} diff --git a/sym_ewram.txt b/sym_ewram.txt index ee83526af..16a1e7ddd 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -80,13 +80,7 @@ gUnknown_2022720: @ 2022720 .space 0x1C gLinkPlayers: @ 202273C - .space 0x8 - -gUnknown_2022744: @ 2022744 - .space 0x1C - -gUnknown_2022760: @ 2022760 - .space 0x68 + .space 0x8C gUnknown_20227C8: @ 20227C8 .space 0x8C From b3f1b2c2541b6ec3a8b5af2d4a3ca151f69839e4 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 23 Nov 2018 22:17:31 -0500 Subject: [PATCH 110/222] quest_log_battle, 3 (nonmatching) --- asm/quest_log_battle.s | 51 --------------------------------- ld_script.txt | 1 - src/quest_log_battle.c | 65 ++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 62 insertions(+), 55 deletions(-) delete mode 100644 asm/quest_log_battle.s diff --git a/asm/quest_log_battle.s b/asm/quest_log_battle.s deleted file mode 100644 index 2219633bb..000000000 --- a/asm/quest_log_battle.s +++ /dev/null @@ -1,51 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_812C334 -sub_812C334: @ 812C334 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r3, _0812C35C @ =gLinkPlayers - ldr r4, _0812C360 @ =gBattleStruct - ldr r0, [r4] - adds r0, 0xB5 - ldrb r2, [r0] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r3 - ldrb r2, [r0, 0x18] - movs r0, 0x2 - movs r5, 0 - eors r2, r0 -_0812C352: - ldrh r0, [r3, 0x18] - cmp r2, r0 - bne _0812C364 - str r5, [r6] - b _0812C370 - .align 2, 0 -_0812C35C: .4byte gLinkPlayers -_0812C360: .4byte gBattleStruct -_0812C364: - ldr r0, [r4] - adds r0, 0xB5 - ldrb r0, [r0] - cmp r5, r0 - beq _0812C370 - stm r1!, {r5} -_0812C370: - adds r3, 0x1C - adds r5, 0x1 - cmp r5, 0x3 - ble _0812C352 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_812C334 - - .align 2, 0 @ Don't pad with nop. diff --git a/ld_script.txt b/ld_script.txt index 070eb444a..67f21c48f 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -226,7 +226,6 @@ SECTIONS { asm/union_room_chat.o(.text); asm/help_system_812B1E0.o(.text); src/quest_log_battle.o(.text); - asm/quest_log_battle.o(.text); asm/fame_checker.o(.text); asm/menu2.o(.text); asm/oak_speech.o(.text); diff --git a/src/quest_log_battle.c b/src/quest_log_battle.c index b6d6c88f3..f4d66f4b7 100644 --- a/src/quest_log_battle.c +++ b/src/quest_log_battle.c @@ -22,7 +22,7 @@ struct QuestLogStruct_WildBattleRecord u8 v4; }; -void sub_812C334(u32 *, u32 *); +void sub_812C334(s32 *, s32 *); void sub_812BFDC(void) { @@ -107,8 +107,8 @@ struct QuestLogStruct_LinkBattleRecord void sub_812C224(void) { - u32 sp0; - u32 sp4[2]; + s32 sp0; + s32 sp4[2]; u16 r8; s32 r3; u32 r0; @@ -148,3 +148,62 @@ void sub_812C224(void) Free(r5); } } + +#ifdef NONMATCHING +void sub_812C334(s32 * a0, s32 * a1) +{ + s32 r5; + u8 r2 = gLinkPlayers[gBattleStruct->field_B5].id; + for (r5 = 0; r5 < 4; r5++) + { + if ((r2 ^ 2) == gLinkPlayers[r5].id) + *a0 = r5; + else if (r5 != gBattleStruct->field_B5) + *a1++ = r5; + } +} +#else +NAKED +void sub_812C334(s32 * a0, s32 * a1) +{ + asm_unified("\tpush {r4-r6,lr}\n" + "\tadds r6, r0, 0\n" + "\tldr r3, _0812C35C @ =gLinkPlayers\n" + "\tldr r4, _0812C360 @ =gBattleStruct\n" + "\tldr r0, [r4]\n" + "\tadds r0, 0xB5\n" + "\tldrb r2, [r0]\n" + "\tlsls r0, r2, 3\n" + "\tsubs r0, r2\n" + "\tlsls r0, 2\n" + "\tadds r0, r3\n" + "\tldrb r2, [r0, 0x18]\n" + "\tmovs r0, 0x2\n" + "\tmovs r5, 0\n" + "\teors r2, r0\n" + "_0812C352:\n" + "\tldrh r0, [r3, 0x18]\n" + "\tcmp r2, r0\n" + "\tbne _0812C364\n" + "\tstr r5, [r6]\n" + "\tb _0812C370\n" + "\t.align 2, 0\n" + "_0812C35C: .4byte gLinkPlayers\n" + "_0812C360: .4byte gBattleStruct\n" + "_0812C364:\n" + "\tldr r0, [r4]\n" + "\tadds r0, 0xB5\n" + "\tldrb r0, [r0]\n" + "\tcmp r5, r0\n" + "\tbeq _0812C370\n" + "\tstm r1!, {r5}\n" + "_0812C370:\n" + "\tadds r3, 0x1C\n" + "\tadds r5, 0x1\n" + "\tcmp r5, 0x3\n" + "\tble _0812C352\n" + "\tpop {r4-r6}\n" + "\tpop {r0}\n" + "\tbx r0"); +} +#endif // NONMATCHING From 9b79707eeef69e7521c8e1e5057fe2ebd020656a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 24 Nov 2018 11:20:51 -0500 Subject: [PATCH 111/222] match sub_812C334 --- src/quest_log_battle.c | 60 +++++++----------------------------------- 1 file changed, 10 insertions(+), 50 deletions(-) diff --git a/src/quest_log_battle.c b/src/quest_log_battle.c index f4d66f4b7..17b989951 100644 --- a/src/quest_log_battle.c +++ b/src/quest_log_battle.c @@ -149,61 +149,21 @@ void sub_812C224(void) } } -#ifdef NONMATCHING void sub_812C334(s32 * a0, s32 * a1) { s32 r5; - u8 r2 = gLinkPlayers[gBattleStruct->field_B5].id; + s32 _optimized_out = 0; + u8 r2 = gLinkPlayers[gBattleStruct->field_B5].id ^ 2; for (r5 = 0; r5 < 4; r5++) { - if ((r2 ^ 2) == gLinkPlayers[r5].id) - *a0 = r5; + if (r2 == gLinkPlayers[r5].id) + { + a0[0] = r5; + } else if (r5 != gBattleStruct->field_B5) - *a1++ = r5; + { + a1[_optimized_out] = r5; + _optimized_out++; + } } } -#else -NAKED -void sub_812C334(s32 * a0, s32 * a1) -{ - asm_unified("\tpush {r4-r6,lr}\n" - "\tadds r6, r0, 0\n" - "\tldr r3, _0812C35C @ =gLinkPlayers\n" - "\tldr r4, _0812C360 @ =gBattleStruct\n" - "\tldr r0, [r4]\n" - "\tadds r0, 0xB5\n" - "\tldrb r2, [r0]\n" - "\tlsls r0, r2, 3\n" - "\tsubs r0, r2\n" - "\tlsls r0, 2\n" - "\tadds r0, r3\n" - "\tldrb r2, [r0, 0x18]\n" - "\tmovs r0, 0x2\n" - "\tmovs r5, 0\n" - "\teors r2, r0\n" - "_0812C352:\n" - "\tldrh r0, [r3, 0x18]\n" - "\tcmp r2, r0\n" - "\tbne _0812C364\n" - "\tstr r5, [r6]\n" - "\tb _0812C370\n" - "\t.align 2, 0\n" - "_0812C35C: .4byte gLinkPlayers\n" - "_0812C360: .4byte gBattleStruct\n" - "_0812C364:\n" - "\tldr r0, [r4]\n" - "\tadds r0, 0xB5\n" - "\tldrb r0, [r0]\n" - "\tcmp r5, r0\n" - "\tbeq _0812C370\n" - "\tstm r1!, {r5}\n" - "_0812C370:\n" - "\tadds r3, 0x1C\n" - "\tadds r5, 0x1\n" - "\tcmp r5, 0x3\n" - "\tble _0812C352\n" - "\tpop {r4-r6}\n" - "\tpop {r0}\n" - "\tbx r0"); -} -#endif // NONMATCHING From bc6416ddd96182d5f786add8d1c1945a2f82f2b9 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 24 Nov 2018 11:25:24 -0500 Subject: [PATCH 112/222] A bit of cleanup --- src/quest_log_battle.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/quest_log_battle.c b/src/quest_log_battle.c index 17b989951..c702b6a5c 100644 --- a/src/quest_log_battle.c +++ b/src/quest_log_battle.c @@ -157,13 +157,8 @@ void sub_812C334(s32 * a0, s32 * a1) for (r5 = 0; r5 < 4; r5++) { if (r2 == gLinkPlayers[r5].id) - { a0[0] = r5; - } else if (r5 != gBattleStruct->field_B5) - { - a1[_optimized_out] = r5; - _optimized_out++; - } + a1[_optimized_out++] = r5; } } From a136c5203c4327c6aa46f93a35f9160e255c63e6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 24 Nov 2018 11:33:29 -0500 Subject: [PATCH 113/222] Add note about baserom to INSTALL.md --- INSTALL.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/INSTALL.md b/INSTALL.md index db4f80aba..5ba0ee484 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -50,3 +50,9 @@ If the command for building pokefirered.gba does not work, run `nproc` and use t ## Windows 10 Install the [Windows Subsystem for Linux](https://docs.microsoft.com/windows/wsl/install-win10), then install [devkitARM](https://devkitpro.org/wiki/Getting_Started) inside the subsystem, and run the commands. + +## Important note for all users + +Until further notice, this repository is dependent on `baserom.gba`, which is a copy of Pokémon FireRed (U)(1.0) bearing the SHA1 sum `41cb23d8dccc8ebd7c649cd8fbb58eeace6e2fdc`. If you attempt to build and get the following error or similar, it's because `baserom.gba` is missing. + + No rule to make target 'build/firered/data/librfu_rodata.o', needed by 'pokefirered.elf'. Stop. From 351ee943db92ac091197512921a0e58b286b7bb4 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 24 Nov 2018 12:22:36 -0500 Subject: [PATCH 114/222] Fame Checker START --- asm/fame_checker.s | 57 ---------------------------------------------- ld_script.txt | 1 + src/fame_checker.c | 51 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 52 insertions(+), 57 deletions(-) create mode 100644 src/fame_checker.c diff --git a/asm/fame_checker.s b/asm/fame_checker.s index 9e352e8ae..d0236d696 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -5,63 +5,6 @@ .text - thumb_func_start sub_812C380 -sub_812C380: @ 812C380 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_812C380 - - thumb_func_start sub_812C394 -sub_812C394: @ 812C394 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_812C394 - - thumb_func_start sub_812C3AC -sub_812C3AC: @ 812C3AC - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0 - bl SetVBlankCallback - ldr r4, _0812C3F0 @ =gUnknown_203B0FC - movs r0, 0x24 - bl AllocZeroed - str r0, [r4] - str r5, [r0] - movs r1, 0 - strb r1, [r0, 0x9] - ldr r0, [r4] - strb r1, [r0, 0xA] - ldr r0, [r4] - strb r1, [r0, 0xB] - ldr r1, [r4] - adds r1, 0x23 - ldrb r2, [r1] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - movs r0, 0xC7 - bl PlaySE - ldr r0, _0812C3F4 @ =sub_812C3F8 - bl SetMainCallback2 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812C3F0: .4byte gUnknown_203B0FC -_0812C3F4: .4byte sub_812C3F8 - thumb_func_end sub_812C3AC - thumb_func_start sub_812C3F8 sub_812C3F8: @ 812C3F8 push {r4-r6,lr} diff --git a/ld_script.txt b/ld_script.txt index 67f21c48f..e821a34ca 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -226,6 +226,7 @@ SECTIONS { asm/union_room_chat.o(.text); asm/help_system_812B1E0.o(.text); src/quest_log_battle.o(.text); + src/fame_checker.o(.text); asm/fame_checker.o(.text); asm/menu2.o(.text); asm/oak_speech.o(.text); diff --git a/src/fame_checker.c b/src/fame_checker.c new file mode 100644 index 000000000..889b96214 --- /dev/null +++ b/src/fame_checker.c @@ -0,0 +1,51 @@ +#include "global.h" +#include "constants/songs.h" +#include "palette.h" +#include "task.h" +#include "malloc.h" +#include "main.h" +#include "sound.h" + +struct FameCheckerData +{ + u32 unk_00; + u8 filler_04[5]; + u8 unk_09; + u8 unk_0A; + u8 unk_0B; + u8 filler_0C[23]; + u8 unk_23_0:1; + u8 unk_23_1:7; +}; + +EWRAM_DATA struct FameCheckerData * gUnknown_203B0FC = NULL; + +void sub_812C3F8(void); + +void sub_812C380(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void sub_812C394(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void sub_812C3AC(u32 a0) +{ + SetVBlankCallback(NULL); + gUnknown_203B0FC = AllocZeroed(sizeof(struct FameCheckerData)); + gUnknown_203B0FC->unk_00 = a0; + gUnknown_203B0FC->unk_09 = 0; + gUnknown_203B0FC->unk_0A = 0; + gUnknown_203B0FC->unk_0B = 0; + gUnknown_203B0FC->unk_23_0 = FALSE; + PlaySE(SE_W202); + SetMainCallback2(sub_812C3F8); +} From 5a262eec73614998a87f3466a0c0924c7317be36 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 24 Nov 2018 13:08:18 -0500 Subject: [PATCH 115/222] sub_812C3F8 --- asm/fame_checker.s | 241 --------------------------------------------- include/bg.h | 6 +- src/bg.c | 18 ++-- src/fame_checker.c | 118 +++++++++++++++++++++- sym_ewram.txt | 18 +--- 5 files changed, 130 insertions(+), 271 deletions(-) diff --git a/asm/fame_checker.s b/asm/fame_checker.s index d0236d696..949de51f9 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -5,247 +5,6 @@ .text - thumb_func_start sub_812C3F8 -sub_812C3F8: @ 812C3F8 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0xC - ldr r0, _0812C41C @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x7 - bls _0812C410 - b _0812C626 -_0812C410: - lsls r0, 2 - ldr r1, _0812C420 @ =_0812C424 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812C41C: .4byte gMain -_0812C420: .4byte _0812C424 - .align 2, 0 -_0812C424: - .4byte _0812C444 - .4byte _0812C450 - .4byte _0812C456 - .4byte _0812C4C0 - .4byte _0812C540 - .4byte _0812C578 - .4byte _0812C5A0 - .4byte _0812C5D4 -_0812C444: - movs r0, 0 - bl SetVBlankCallback - bl sub_812D420 - b _0812C5BE -_0812C450: - bl sub_812D558 - b _0812C5BE -_0812C456: - ldr r6, _0812C4B0 @ =gUnknown_203B0F0 - movs r4, 0x80 - lsls r4, 4 - adds r0, r4, 0 - bl AllocZeroed - str r0, [r6] - ldr r1, _0812C4B4 @ =gUnknown_203B0F4 - mov r8, r1 - movs r0, 0x80 - lsls r0, 5 - bl AllocZeroed - mov r1, r8 - str r0, [r1] - ldr r5, _0812C4B8 @ =gUnknown_203B0F8 - adds r0, r4, 0 - bl AllocZeroed - str r0, [r5] - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _0812C4BC @ =gUnknown_845FBF4 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r1, [r6] - movs r0, 0x3 - bl SetBgTilemapBuffer - ldr r1, [r5] - movs r0, 0x2 - bl SetBgTilemapBuffer - mov r0, r8 - ldr r1, [r0] - movs r0, 0x1 - bl SetBgTilemapBuffer - bl sub_812D594 - b _0812C5BE - .align 2, 0 -_0812C4B0: .4byte gUnknown_203B0F0 -_0812C4B4: .4byte gUnknown_203B0F4 -_0812C4B8: .4byte gUnknown_203B0F8 -_0812C4BC: .4byte gUnknown_845FBF4 -_0812C4C0: - ldr r1, _0812C52C @ =gUnknown_8E9F260 - movs r2, 0xA5 - lsls r2, 5 - movs r0, 0x3 - movs r3, 0 - bl LoadBgTiles - ldr r1, _0812C530 @ =gUnknown_8EA0700 - movs r5, 0x20 - str r5, [sp] - str r5, [sp, 0x4] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBufferRect - ldr r4, _0812C534 @ =gUnknown_8E9F220 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x40 - bl LoadPalette - adds r4, 0x20 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - ldr r1, _0812C538 @ =gUnknown_8EA0F00 - str r5, [sp] - str r5, [sp, 0x4] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBufferRect - ldr r1, _0812C53C @ =gUnknown_845C600 - str r5, [sp] - str r5, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r2, 0x1E - movs r3, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0x2 - bl stdpal_get - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - b _0812C5BE - .align 2, 0 -_0812C52C: .4byte gUnknown_8E9F260 -_0812C530: .4byte gUnknown_8EA0700 -_0812C534: .4byte gUnknown_8E9F220 -_0812C538: .4byte gUnknown_8EA0F00 -_0812C53C: .4byte gUnknown_845C600 -_0812C540: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0812C626 - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - b _0812C5BE -_0812C578: - ldr r0, _0812C598 @ =gUnknown_845FC04 - bl InitWindows - bl DeactivateAllTextPrinters - bl sub_812CEC0 - ldr r4, _0812C59C @ =gUnknown_203B100 - movs r0, 0x88 - bl AllocZeroed - str r0, [r4] - bl sub_812DB28 - b _0812C5BE - .align 2, 0 -_0812C598: .4byte gUnknown_845FC04 -_0812C59C: .4byte gUnknown_203B100 -_0812C5A0: - bl sub_812C648 - movs r0, 0 - bl sub_812D1A8 - bl sub_812CE9C - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_0812C5BE: - ldr r1, _0812C5D0 @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0812C626 - .align 2, 0 -_0812C5D0: .4byte gMain -_0812C5D4: - bl sub_812D584 - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0x7 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0x8 - bl SetGpuReg - ldr r0, _0812C634 @ =sub_812C380 - bl SetVBlankCallback - ldr r0, _0812C638 @ =gUnknown_203B0FC - ldr r1, [r0] - movs r4, 0 - movs r0, 0 - strh r0, [r1, 0x4] - bl sub_812E000 - movs r0, 0x1 - movs r1, 0x4 - bl sub_812E178 - ldr r0, _0812C63C @ =sub_812C664 - movs r1, 0x8 - bl CreateTask - ldr r0, _0812C640 @ =sub_812C394 - bl SetMainCallback2 - ldr r0, _0812C644 @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - strb r4, [r0] -_0812C626: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812C634: .4byte sub_812C380 -_0812C638: .4byte gUnknown_203B0FC -_0812C63C: .4byte sub_812C664 -_0812C640: .4byte sub_812C394 -_0812C644: .4byte gMain - thumb_func_end sub_812C3F8 - thumb_func_start sub_812C648 sub_812C648: @ 812C648 push {lr} diff --git a/include/bg.h b/include/bg.h index 55927a5a4..003ffc916 100644 --- a/include/bg.h +++ b/include/bg.h @@ -77,9 +77,9 @@ void UnsetBgTilemapBuffer(u8 bg); void* GetBgTilemapBuffer(u8 bg); void CopyToBgTilemapBuffer(u8 bg, const void *src, u16 mode, u16 destOffset); void CopyBgTilemapBufferToVram(u8 bg); -void CopyToBgTilemapBufferRect(u8 bg, void* src, u8 destX, u8 destY, u8 width, u8 height); -void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette); -void CopyRectToBgTilemapBufferRect(u8 bg, void* src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2); +void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 width, u8 height); +void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, const void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette); +void CopyRectToBgTilemapBufferRect(u8 bg, const void* src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2); void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height); void FillBgTilemapBufferRect(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height, u8 palette); void WriteSequenceToBgTilemapBuffer(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 width, u8 height, u8 paletteSlot, s16 tileNumDelta); diff --git a/src/bg.c b/src/bg.c index df91e9d4a..5cbd7658e 100644 --- a/src/bg.c +++ b/src/bg.c @@ -391,7 +391,7 @@ void InitBgsFromTemplates(u8 bgMode, const struct BgTemplate *templates, u8 numT } } #else -__attribute__((naked)) +NAKED void InitBgsFromTemplates(u8 bgMode, const struct BgTemplate *templates, u8 numTemplates) { asm(".syntax unified\n\ @@ -634,7 +634,7 @@ bool8 IsDma3ManagerBusyWithBgCopy(void) return FALSE; } #else -__attribute__((naked)) +NAKED bool8 IsDma3ManagerBusyWithBgCopy(void) { asm("push {r4-r7,lr}\n\ @@ -1065,7 +1065,7 @@ void CopyBgTilemapBufferToVram(u8 bg) } } -void CopyToBgTilemapBufferRect(u8 bg, void* src, u8 destX, u8 destY, u8 width, u8 height) +void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 width, u8 height) { u16 destX16; u16 destY16; @@ -1077,7 +1077,7 @@ void CopyToBgTilemapBufferRect(u8 bg, void* src, u8 destX, u8 destY, u8 width, u { case 0: { - u16 * srcCopy = src; + const u16 * srcCopy = src; for (destY16 = destY; destY16 < (destY + height); destY16++) { for (destX16 = destX; destX16 < (destX + width); destX16++) @@ -1089,7 +1089,7 @@ void CopyToBgTilemapBufferRect(u8 bg, void* src, u8 destX, u8 destY, u8 width, u } case 1: { - u8 * srcCopy = src; + const u8 * srcCopy = src; mode = GetBgMetricAffineMode(bg, 0x1); for (destY16 = destY; destY16 < (destY + height); destY16++) { @@ -1104,7 +1104,7 @@ void CopyToBgTilemapBufferRect(u8 bg, void* src, u8 destX, u8 destY, u8 width, u } } -void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette) +void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, const void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette) { CopyRectToBgTilemapBufferRect(bg, src, 0, 0, rectWidth, rectHeight, destX, destY, rectWidth, rectHeight, palette, 0, 0); } @@ -1151,8 +1151,8 @@ void CopyRectToBgTilemapBufferRect(u8 bg, void* src, u8 srcX, u8 srcY, u8 srcWid } } }*/ -__attribute__((naked)) -void CopyRectToBgTilemapBufferRect(u8 bg, void* src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2) +NAKED +void CopyRectToBgTilemapBufferRect(u8 bg, const void* src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2) { asm("push {r4-r7,lr}\n\ mov r7, r10\n\ @@ -1598,7 +1598,7 @@ void CopyTileMapEntry(u16 *src, u16 *dest, s32 palette1, u32 tileOffset, u32 pal *dest = test; } #else -__attribute__((naked)) +NAKED void CopyTileMapEntry(u16 *src, u16 *dest, s32 palette1, u32 tileOffset, u32 palette2) { asm("push {r4-r6,lr}\n\ diff --git a/src/fame_checker.c b/src/fame_checker.c index 889b96214..d311ecb94 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -1,15 +1,21 @@ #include "global.h" #include "constants/songs.h" +#include "bg.h" +#include "gpu_regs.h" #include "palette.h" #include "task.h" #include "malloc.h" #include "main.h" #include "sound.h" +#include "text.h" +#include "window.h" +#include "text_window.h" struct FameCheckerData { u32 unk_00; - u8 filler_04[5]; + u16 unk_04; + u8 filler_06[3]; u8 unk_09; u8 unk_0A; u8 unk_0B; @@ -18,9 +24,40 @@ struct FameCheckerData u8 unk_23_1:7; }; +struct FameCheckerData2 +{ + u8 filler_00[0x88]; +}; + +EWRAM_DATA u16 * gUnknown_203B0F0 = NULL; +EWRAM_DATA u16 * gUnknown_203B0F4 = NULL; +EWRAM_DATA u16 * gUnknown_203B0F8 = NULL; EWRAM_DATA struct FameCheckerData * gUnknown_203B0FC = NULL; +EWRAM_DATA struct FameCheckerData2 * gUnknown_203B100 = NULL; +EWRAM_DATA u32 gUnknown_203B104 = 0; void sub_812C3F8(void); +void sub_812C648(void); +void sub_812C664(u8 taskId); +void sub_812CE9C(void); +void sub_812CEC0(void); +void sub_812D1A8(u8 a0); +void sub_812D420(void); +void sub_812D558(void); +void sub_812D584(void); +void sub_812D594(void); +void sub_812DB28(void); +void sub_812E000(void); +void sub_812E178(u8 a0, s16 a1); + +extern const struct BgTemplate gUnknown_845FBF4[4]; +extern const struct WindowTemplate gUnknown_845FC04[]; +extern const u16 gUnknown_845C600[0x40]; + +extern const u16 gUnknown_8E9F220[0x30]; +extern const u16 gUnknown_8E9F260[0xa50]; +extern const u16 gUnknown_8EA0700[0x400]; +extern const u16 gUnknown_8EA0F00[0x400]; void sub_812C380(void) { @@ -49,3 +86,82 @@ void sub_812C3AC(u32 a0) PlaySE(SE_W202); SetMainCallback2(sub_812C3F8); } + +void sub_812C3F8(void) +{ + switch (gMain.state) + { + case 0: + SetVBlankCallback(NULL); + sub_812D420(); + gMain.state++; + break; + case 1: + sub_812D558(); + gMain.state++; + break; + case 2: + gUnknown_203B0F0 = AllocZeroed(0x800); + gUnknown_203B0F4 = AllocZeroed(0x1000); + gUnknown_203B0F8 = AllocZeroed(0x800); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_845FBF4, ARRAY_COUNT(gUnknown_845FBF4)); + SetBgTilemapBuffer(3, gUnknown_203B0F0); + SetBgTilemapBuffer(2, gUnknown_203B0F8); + SetBgTilemapBuffer(1, gUnknown_203B0F4); + sub_812D594(); + gMain.state++; + break; + case 3: + LoadBgTiles(3, gUnknown_8E9F260, sizeof(gUnknown_8E9F260), 0); + CopyToBgTilemapBufferRect(3, gUnknown_8EA0700, 0, 0, 32, 32); + LoadPalette(gUnknown_8E9F220 + 0x00, 0x00, 0x40); + LoadPalette(gUnknown_8E9F220 + 0x10, 0x10, 0x20); + CopyToBgTilemapBufferRect(2, gUnknown_8EA0F00, 0, 0, 32, 32); + CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_845C600, 30, 0, 32, 32, 0x11); + LoadPalette(stdpal_get(2), 0xF0, 0x20); + gMain.state++; + break; + case 4: + if (IsDma3ManagerBusyWithBgCopy() != TRUE) + { + ShowBg(0); + ShowBg(1); + ShowBg(2); + ShowBg(3); + CopyBgTilemapBufferToVram(3); + CopyBgTilemapBufferToVram(2); + CopyBgTilemapBufferToVram(1); + gMain.state++; + } + break; + case 5: + InitWindows(gUnknown_845FC04); + DeactivateAllTextPrinters(); + sub_812CEC0(); + gUnknown_203B100 = AllocZeroed(sizeof(struct FameCheckerData2)); + sub_812DB28(); + gMain.state++; + break; + case 6: + sub_812C648(); + sub_812D1A8(0); + sub_812CE9C(); + BeginNormalPaletteFade(0xFFFFFFFF,0, 16, 0, 0); + gMain.state++; + break; + case 7: + sub_812D584(); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD); + SetGpuReg(REG_OFFSET_BLDALPHA, 0x07); + SetGpuReg(REG_OFFSET_BLDY, 0x08); + SetVBlankCallback(sub_812C380); + gUnknown_203B0FC->unk_04 = 0; + sub_812E000(); + sub_812E178(1, 4); + CreateTask(sub_812C664, 0x08); + SetMainCallback2(sub_812C394); + gMain.state = 0; + break; + } +} diff --git a/sym_ewram.txt b/sym_ewram.txt index 16a1e7ddd..83fdcf763 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1556,23 +1556,7 @@ gUnknown_203B0EC: @ 203B0EC gUnknown_203B0EE: @ 203B0EE .space 0x2 -gUnknown_203B0F0: @ 203B0F0 - .space 0x4 - -gUnknown_203B0F4: @ 203B0F4 - .space 0x4 - -gUnknown_203B0F8: @ 203B0F8 - .space 0x4 - -gUnknown_203B0FC: @ 203B0FC - .space 0x4 - -gUnknown_203B100: @ 203B100 - .space 0x4 - -gUnknown_203B104: @ 203B104 - .space 0x4 + .include "src/fame_checker.o" gUnknown_203B108: @ 203B108 .space 0x4 From 2571ba516cb0f21c19405e943c53eebf5d19ab7a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 24 Nov 2018 15:51:55 -0500 Subject: [PATCH 116/222] through sub_812C694 --- asm/fame_checker.s | 324 --------------- common_syms/fame_checker.txt | 2 + data/data_83FECCC.s | 773 ----------------------------------- data/data_845FD54.s | 686 +++++++++++++++++++++++++++++++ data/fame_checker.s | 92 +++++ include/graphics.h | 7 + include/item_menu.h | 1 + ld_script.txt | 3 + src/fame_checker.c | 136 +++++- sym_common.txt | 6 +- 10 files changed, 918 insertions(+), 1112 deletions(-) create mode 100644 common_syms/fame_checker.txt create mode 100644 data/data_845FD54.s create mode 100644 data/fame_checker.s diff --git a/asm/fame_checker.s b/asm/fame_checker.s index 949de51f9..059b19291 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -5,330 +5,6 @@ .text - thumb_func_start sub_812C648 -sub_812C648: @ 812C648 - push {lr} - ldr r0, _0812C65C @ =gUnknown_845FB9C - bl LoadSpriteSheets - ldr r0, _0812C660 @ =gUnknown_845FBDC - bl LoadSpritePalettes - pop {r0} - bx r0 - .align 2, 0 -_0812C65C: .4byte gUnknown_845FB9C -_0812C660: .4byte gUnknown_845FBDC - thumb_func_end sub_812C648 - - thumb_func_start sub_812C664 -sub_812C664: @ 812C664 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _0812C688 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0812C684 - ldr r0, _0812C68C @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, _0812C690 @ =sub_812C694 - str r0, [r1] -_0812C684: - pop {r0} - bx r0 - .align 2, 0 -_0812C688: .4byte gPaletteFade -_0812C68C: .4byte gTasks -_0812C690: .4byte sub_812C694 - thumb_func_end sub_812C664 - - thumb_func_start sub_812C694 -sub_812C694: @ 812C694 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - ldr r0, _0812C714 @ =gTasks - adds r7, r1, r0 - adds r0, 0x8 - adds r1, r0 - mov r8, r1 - ldr r0, _0812C718 @ =sub_812E110 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0812C6C0 - b _0812C8EA -_0812C6C0: - bl RunTextPrinters - ldr r0, _0812C71C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0812C6E8 - ldr r0, _0812C720 @ =gUnknown_203B0FC - ldr r2, [r0] - ldrb r1, [r2, 0x7] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0812C6E8 - ldr r1, [r2] - ldr r0, _0812C724 @ =sub_8107EB8 - cmp r1, r0 - beq _0812C6E8 - b _0812C8DA -_0812C6E8: - ldr r0, _0812C71C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0812C7DC - bl sub_812E064 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r5, 0 - bl sub_812C8F8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812C728 - movs r0, 0xCB - bl PlaySE - b _0812C8EA - .align 2, 0 -_0812C714: .4byte gTasks -_0812C718: .4byte sub_812E110 -_0812C71C: .4byte gMain -_0812C720: .4byte gUnknown_203B0FC -_0812C724: .4byte sub_8107EB8 -_0812C728: - ldr r5, _0812C7D0 @ =gUnknown_203B0FC - ldr r0, [r5] - ldrb r0, [r0, 0x7] - lsrs r0, 2 - subs r0, 0x1 - cmp r4, r0 - bne _0812C738 - b _0812C8EA -_0812C738: - movs r0, 0xCB - bl PlaySE - movs r0, 0x58 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - movs r0, 0x3 - bl sub_812CEE0 - movs r0, 0x2 - movs r1, 0x4 - bl sub_812E178 - movs r0, 0x1 - movs r1, 0x5 - bl sub_812E178 - movs r0, 0x1 - bl sub_812D0F4 - ldr r0, [r5] - adds r0, 0xC - adds r0, r4 - ldrb r0, [r0] - bl sub_812D888 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0xC] - ldr r4, _0812C7D4 @ =gSprites - movs r0, 0xC - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r6, 0xF0 - strh r6, [r0, 0x24] - movs r3, 0xC - ldrsh r1, [r7, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r5, 0x1 - strh r5, [r0, 0x2E] - bl sub_812D7E4 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0xE] - movs r0, 0xE - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r6, [r0, 0x24] - movs r3, 0xE - ldrsh r1, [r7, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x2E] - ldr r0, _0812C7D8 @ =sub_812C9BC - str r0, [r7] - b _0812C8EA - .align 2, 0 -_0812C7D0: .4byte gUnknown_203B0FC -_0812C7D4: .4byte gSprites -_0812C7D8: .4byte sub_812C9BC -_0812C7DC: - movs r6, 0x1 - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0812C8C4 - movs r0, 0 - bl ListMenuHandleInput - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _0812C824 @ =gUnknown_203B0FC - ldr r0, [r0] - ldrb r1, [r0, 0x7] - lsrs r0, r1, 2 - subs r0, 0x1 - cmp r4, r0 - beq _0812C8DA - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0812C828 - movs r0, 0x2 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _0812C8EA - bl sub_812D6B4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812C8EA - bl sub_812CD3C - b _0812C8EA - .align 2, 0 -_0812C824: .4byte gUnknown_203B0FC -_0812C828: - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0812C8EA - movs r0, 0x5 - bl PlaySE - movs r1, 0xA - ldrsh r0, [r7, r1] - bl sub_812D724 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x8] - movs r4, 0 -_0812C846: - movs r3, 0xA - ldrsh r0, [r7, r3] - cmp r4, r0 - beq _0812C85E - ldr r0, _0812C8B4 @ =gUnknown_203B0FC - ldr r0, [r0] - adds r0, 0x1D - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x1 - bl sub_812CEFC -_0812C85E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0812C846 - ldr r1, _0812C8B8 @ =gUnknown_3005EC8 - movs r0, 0xFF - strb r0, [r1] - movs r0, 0 - bl sub_812E4A4 - movs r0, 0x2 - bl sub_812D0F4 - ldr r2, _0812C8BC @ =gSprites - ldr r0, _0812C8B4 @ =gUnknown_203B0FC - ldr r0, [r0] - movs r3, 0xA - ldrsh r1, [r7, r3] - adds r0, 0x1D - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x30 - ldrsh r0, [r0, r1] - cmp r0, 0xFF - beq _0812C8A8 - adds r0, r5, 0 - bl sub_812CE04 - mov r3, r8 - ldrb r0, [r3, 0x2] - bl sub_812DA14 -_0812C8A8: - bl sub_812E048 - ldr r0, _0812C8C0 @ =sub_812CAD8 - str r0, [r7] - b _0812C8EA - .align 2, 0 -_0812C8B4: .4byte gUnknown_203B0FC -_0812C8B8: .4byte gUnknown_3005EC8 -_0812C8BC: .4byte gSprites -_0812C8C0: .4byte sub_812CAD8 -_0812C8C4: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0812C8E4 - adds r0, r5, 0 - bl sub_812C8F8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0812C8EA -_0812C8DA: - ldr r0, _0812C8E0 @ =sub_812CF3C - str r0, [r7] - b _0812C8EA - .align 2, 0 -_0812C8E0: .4byte sub_812CF3C -_0812C8E4: - movs r0, 0 - bl ListMenuHandleInput -_0812C8EA: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_812C694 - thumb_func_start sub_812C8F8 sub_812C8F8: @ 812C8F8 push {r4,r5,lr} diff --git a/common_syms/fame_checker.txt b/common_syms/fame_checker.txt new file mode 100644 index 000000000..22330180e --- /dev/null +++ b/common_syms/fame_checker.txt @@ -0,0 +1,2 @@ +gUnknown_3005EB0 +gUnknown_3005EC8 diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index dfa4bee5d..ed542acc9 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -3549,776 +3549,3 @@ gUnknown_845C5BC:: @ 845C5BC gUnknown_845C5CE:: @ 845C5CE .incbin "baserom.gba", 0x45C5CE, 0x32 - -gUnknown_845C600:: @ 845C600 - .incbin "baserom.gba", 0x45C600, 0x1720 - -gUnknown_845DD20:: @ 845DD20 - .incbin "baserom.gba", 0x45DD20, 0x820 - -gUnknown_845E540:: @ 845E540 - .incbin "baserom.gba", 0x45E540, 0x820 - -gUnknown_845ED60:: @ 845ED60 - .incbin "baserom.gba", 0x45ED60, 0x820 - -gUnknown_845F580:: @ 845F580 - .incbin "baserom.gba", 0x45F580, 0x40 - -gUnknown_845F5C0:: @ 845F5C0 - .incbin "baserom.gba", 0x45F5C0, 0x20 - -gUnknown_845F5E0:: @ 845F5E0 - .incbin "baserom.gba", 0x45F5E0, 0x3 - -gUnknown_845F5E3:: @ 845F5E3 - .incbin "baserom.gba", 0x45F5E3, 0x3 - -gUnknown_845F5E6:: @ 845F5E6 - .incbin "baserom.gba", 0x45F5E6, 0x4 - -gUnknown_845F5EA:: @ 845F5EA - .incbin "baserom.gba", 0x45F5EA, 0x22 - -gUnknown_845F60C:: @ 845F60C - .incbin "baserom.gba", 0x45F60C, 0x10 - -gUnknown_845F61C:: @ 845F61C - .incbin "baserom.gba", 0x45F61C, 0x20 - -gUnknown_845F63C:: @ 845F63C - .incbin "baserom.gba", 0x45F63C, 0x80 - -gUnknown_845F6BC:: @ 845F6BC - .incbin "baserom.gba", 0x45F6BC, 0x180 - -gUnknown_845F83C:: @ 845F83C - .incbin "baserom.gba", 0x45F83C, 0x60 - -gUnknown_845F89C:: @ 845F89C - .incbin "baserom.gba", 0x45F89C, 0x180 - -gUnknown_845FA1C:: @ 845FA1C - .incbin "baserom.gba", 0x45FA1C, 0x180 - -gUnknown_845FB9C:: @ 845FB9C - .incbin "baserom.gba", 0x45FB9C, 0x40 - -gUnknown_845FBDC:: @ 845FBDC - .incbin "baserom.gba", 0x45FBDC, 0x18 - -gUnknown_845FBF4:: @ 845FBF4 - .incbin "baserom.gba", 0x45FBF4, 0x10 - -gUnknown_845FC04:: @ 845FC04 - .incbin "baserom.gba", 0x45FC04, 0x40 - -gUnknown_845FC44:: @ 845FC44 - .incbin "baserom.gba", 0x45FC44, 0x34 - -gUnknown_845FC78:: @ 845FC78 - .incbin "baserom.gba", 0x45FC78, 0x40 - -gUnknown_845FCB8:: @ 845FCB8 - .incbin "baserom.gba", 0x45FCB8, 0x2C - -gUnknown_845FCE4:: @ 845FCE4 - .incbin "baserom.gba", 0x45FCE4, 0x18 - -gUnknown_845FCFC:: @ 845FCFC - .incbin "baserom.gba", 0x45FCFC, 0x18 - -gUnknown_845FD14:: @ 845FD14 - .incbin "baserom.gba", 0x45FD14, 0x18 - -gUnknown_845FD2C:: @ 845FD2C - .incbin "baserom.gba", 0x45FD2C, 0x18 - -gUnknown_845FD44:: @ 845FD44 - .incbin "baserom.gba", 0x45FD44, 0x10 - -gUnknown_845FD54:: @ 845FD54 - .incbin "baserom.gba", 0x45FD54, 0x814 - -gUnknown_8460568:: @ 8460568 - .incbin "baserom.gba", 0x460568, 0x80 - -gUnknown_84605E8:: @ 84605E8 - .incbin "baserom.gba", 0x4605E8, 0x5C0 - -gUnknown_8460BA8:: @ 8460BA8 - .incbin "baserom.gba", 0x460BA8, 0xFC - -gUnknown_8460CA4:: @ 8460CA4 - .incbin "baserom.gba", 0x460CA4, 0x44 - -gUnknown_8460CE8:: @ 8460CE8 - .incbin "baserom.gba", 0x460CE8, 0xAC - -gUnknown_8460D94:: @ 8460D94 - .incbin "baserom.gba", 0x460D94, 0xA0 - -gUnknown_8460E34:: @ 8460E34 - .incbin "baserom.gba", 0x460E34, 0xA0 - -gUnknown_8460ED4:: @ 8460ED4 - .incbin "baserom.gba", 0x460ED4, 0x40 - -gUnknown_8460F14:: @ 8460F14 - .incbin "baserom.gba", 0x460F14, 0x6E8 - -gUnknown_84615FC:: @ 84615FC - .incbin "baserom.gba", 0x4615FC, 0x40 - -gUnknown_846163C:: @ 846163C - .incbin "baserom.gba", 0x46163C, 0x698 - -gUnknown_8461CD4:: @ 8461CD4 - .incbin "baserom.gba", 0x461CD4, 0x40 - -gUnknown_8461D14:: @ 8461D14 - .incbin "baserom.gba", 0x461D14, 0x698 - -gUnknown_84623AC:: @ 84623AC - .incbin "baserom.gba", 0x4623AC, 0x40 - -gUnknown_84623EC:: @ 84623EC - .incbin "baserom.gba", 0x4623EC, 0xA6C - -gUnknown_8462E58:: @ 8462E58 - .incbin "baserom.gba", 0x462E58, 0x5C - -gUnknown_8462EB4:: @ 8462EB4 - .incbin "baserom.gba", 0x462EB4, 0xC - -gUnknown_8462EC0:: @ 8462EC0 - .incbin "baserom.gba", 0x462EC0, 0x8 - -gUnknown_8462EC8:: @ 8462EC8 - .incbin "baserom.gba", 0x462EC8, 0x8 - -gUnknown_8462ED0:: @ 8462ED0 - .incbin "baserom.gba", 0x462ED0, 0x8 - -gUnknown_8462ED8:: @ 8462ED8 - .incbin "baserom.gba", 0x462ED8, 0x10 - -gUnknown_8462EE8:: @ 8462EE8 - .incbin "baserom.gba", 0x462EE8, 0x4 - -gUnknown_8462EEC:: @ 8462EEC - .incbin "baserom.gba", 0x462EEC, 0x4 - -gUnknown_8462EF0:: @ 8462EF0 - .incbin "baserom.gba", 0x462EF0, 0xC - -gUnknown_8462EFC:: @ 8462EFC - .incbin "baserom.gba", 0x462EFC, 0x18 - -gUnknown_8462F14:: @ 8462F14 - .incbin "baserom.gba", 0x462F14, 0x8 - -gUnknown_8462F1C:: @ 8462F1C - .incbin "baserom.gba", 0x462F1C, 0x8 - -gUnknown_8462F24:: @ 8462F24 - .incbin "baserom.gba", 0x462F24, 0x2C - -gUnknown_8462F50:: @ 8462F50 - .incbin "baserom.gba", 0x462F50, 0xDC - -gUnknown_846302C:: @ 846302C - .incbin "baserom.gba", 0x46302C, 0x48 - -gUnknown_8463074:: @ 8463074 - .incbin "baserom.gba", 0x463074, 0x18 - -gUnknown_846308C:: @ 846308C - .incbin "baserom.gba", 0x46308C, 0x4C - -gUnknown_84630D8:: @ 84630D8 - .incbin "baserom.gba", 0x4630D8, 0x4C - -gUnknown_8463124:: @ 8463124 - .incbin "baserom.gba", 0x463124, 0x10 - -gUnknown_8463134:: @ 8463134 - .incbin "baserom.gba", 0x463134, 0xC - -gUnknown_8463140:: @ 8463140 - .incbin "baserom.gba", 0x463140, 0x10 - -gUnknown_8463150:: @ 8463150 - .incbin "baserom.gba", 0x463150, 0x18 - -gUnknown_8463168:: @ 8463168 - .incbin "baserom.gba", 0x463168, 0x3 - -gUnknown_846316B:: @ 846316B - .incbin "baserom.gba", 0x46316B, 0x5 - -gUnknown_8463170:: @ 8463170 - .incbin "baserom.gba", 0x463170, 0x8 - -gUnknown_8463178:: @ 8463178 - .incbin "baserom.gba", 0x463178, 0x4 - -gUnknown_846317C:: @ 846317C - .incbin "baserom.gba", 0x46317C, 0x4 - -gUnknown_8463180:: @ 8463180 - .incbin "baserom.gba", 0x463180, 0x4 - -gUnknown_8463184:: @ 8463184 - .incbin "baserom.gba", 0x463184, 0xC - -gUnknown_8463190:: @ 8463190 - .incbin "baserom.gba", 0x463190, 0x50 - -gUnknown_84631E0:: @ 84631E0 - .incbin "baserom.gba", 0x4631E0, 0x8 - -gUnknown_84631E8:: @ 84631E8 - .incbin "baserom.gba", 0x4631E8, 0x30 - -gUnknown_8463218:: @ 8463218 - .incbin "baserom.gba", 0x463218, 0x8 - -gUnknown_8463220:: @ 8463220 - .incbin "baserom.gba", 0x463220, 0x18 - -gUnknown_8463238:: @ 8463238 - .incbin "baserom.gba", 0x463238, 0x24 - -gUnknown_846325C:: @ 846325C - .incbin "baserom.gba", 0x46325C, 0x48 - -gUnknown_84632A4:: @ 84632A4 - .incbin "baserom.gba", 0x4632A4, 0x18 - -gUnknown_84632BC:: @ 84632BC - .incbin "baserom.gba", 0x4632BC, 0x4 - -gUnknown_84632C0:: @ 84632C0 - .incbin "baserom.gba", 0x4632C0, 0x4 - -gUnknown_84632C4:: @ 84632C4 - .incbin "baserom.gba", 0x4632C4, 0x4 - -gUnknown_84632C8:: @ 84632C8 - .incbin "baserom.gba", 0x4632C8, 0x4 - -gUnknown_84632CC:: @ 84632CC - .incbin "baserom.gba", 0x4632CC, 0x4 - -gUnknown_84632D0:: @ 84632D0 - .incbin "baserom.gba", 0x4632D0, 0x4 - -gUnknown_84632D4:: @ 84632D4 - .incbin "baserom.gba", 0x4632D4, 0x4 - -gUnknown_84632D8:: @ 84632D8 - .incbin "baserom.gba", 0x4632D8, 0x18 - -gUnknown_84632F0:: @ 84632F0 - .incbin "baserom.gba", 0x4632F0, 0x18 - -gUnknown_8463308:: @ 8463308 - .incbin "baserom.gba", 0x463308, 0x20 - -gUnknown_8463328:: @ 8463328 - .incbin "baserom.gba", 0x463328, 0x70 - -gUnknown_8463398:: @ 8463398 - .incbin "baserom.gba", 0x463398, 0x40 - -gUnknown_84633D8:: @ 84633D8 - .incbin "baserom.gba", 0x4633D8, 0x44 - -gUnknown_846341C:: @ 846341C - .incbin "baserom.gba", 0x46341C, 0x20 - -gUnknown_846343C:: @ 846343C - .incbin "baserom.gba", 0x46343C, 0x128 - -gUnknown_8463564:: @ 8463564 - .incbin "baserom.gba", 0x463564, 0x1C - -gUnknown_8463580:: @ 8463580 - .incbin "baserom.gba", 0x463580, 0x140 - -gUnknown_84636C0:: @ 84636C0 - .incbin "baserom.gba", 0x4636C0, 0x20 - -gUnknown_84636E0:: @ 84636E0 - .incbin "baserom.gba", 0x4636E0, 0x20 - -gUnknown_8463700:: @ 8463700 - .incbin "baserom.gba", 0x463700, 0x20 - -gUnknown_8463720:: @ 8463720 - .incbin "baserom.gba", 0x463720, 0x20 - -gUnknown_8463740:: @ 8463740 - .incbin "baserom.gba", 0x463740, 0x12C - -gUnknown_846386C:: @ 846386C - .incbin "baserom.gba", 0x46386C, 0x120 - -gUnknown_846398C:: @ 846398C - .incbin "baserom.gba", 0x46398C, 0x18 - -gUnknown_84639A4:: @ 84639A4 - .incbin "baserom.gba", 0x4639A4, 0x8 - -gUnknown_84639AC:: @ 84639AC - .incbin "baserom.gba", 0x4639AC, 0x48 - -gUnknown_84639F4:: @ 84639F4 - .incbin "baserom.gba", 0x4639F4, 0x20 - -gUnknown_8463A14:: @ 8463A14 - .incbin "baserom.gba", 0x463A14, 0x68 - -gUnknown_8463A7C:: @ 8463A7C - .incbin "baserom.gba", 0x463A7C, 0x70 - -gUnknown_8463AEC:: @ 8463AEC - .incbin "baserom.gba", 0x463AEC, 0x10 - -gUnknown_8463AFC:: @ 8463AFC - .incbin "baserom.gba", 0x463AFC, 0x4 - -gUnknown_8463B00:: @ 8463B00 - .incbin "baserom.gba", 0x463B00, 0x20 - -gUnknown_8463B20:: @ 8463B20 - .incbin "baserom.gba", 0x463B20, 0x10 - -gUnknown_8463B30:: @ 8463B30 - .incbin "baserom.gba", 0x463B30, 0x10 - -gUnknown_8463B40:: @ 8463B40 - .incbin "baserom.gba", 0x463B40, 0x4 - -gUnknown_8463B44:: @ 8463B44 - .incbin "baserom.gba", 0x463B44, 0x20 - -gUnknown_8463B64:: @ 8463B64 - .incbin "baserom.gba", 0x463B64, 0x24 - -gUnknown_8463B88:: @ 8463B88 - .incbin "baserom.gba", 0x463B88, 0xF8 - -gUnknown_8463C80:: @ 8463C80 - .incbin "baserom.gba", 0x463C80, 0x1E0 - -gUnknown_8463E60:: @ 8463E60 - .incbin "baserom.gba", 0x463E60, 0x64 - -gUnknown_8463EC4:: @ 8463EC4 - .incbin "baserom.gba", 0x463EC4, 0x10 - -gUnknown_8463ED4:: @ 8463ED4 - .incbin "baserom.gba", 0x463ED4, 0x1C - -gUnknown_8463EF0:: @ 8463EF0 - .incbin "baserom.gba", 0x463EF0, 0xC - -gUnknown_8463EFC:: @ 8463EFC - .incbin "baserom.gba", 0x463EFC, 0x10 - -gUnknown_8463F0C:: @ 8463F0C - .incbin "baserom.gba", 0x463F0C, 0x18 - -gUnknown_8463F24:: @ 8463F24 - .incbin "baserom.gba", 0x463F24, 0x18 - -gUnknown_8463F3C:: @ 8463F3C - .incbin "baserom.gba", 0x463F3C, 0x20 - -gUnknown_8463F5C:: @ 8463F5C - .incbin "baserom.gba", 0x463F5C, 0x20 - -gUnknown_8463F7C:: @ 8463F7C - .incbin "baserom.gba", 0x463F7C, 0x20 - -gUnknown_8463F9C:: @ 8463F9C - .incbin "baserom.gba", 0x463F9C, 0x8 - -gUnknown_8463FA4:: @ 8463FA4 - .incbin "baserom.gba", 0x463FA4, 0x3 - -gUnknown_8463FA7:: @ 8463FA7 - .incbin "baserom.gba", 0x463FA7, 0x11 - -gUnknown_8463FB8:: @ 8463FB8 - .incbin "baserom.gba", 0x463FB8, 0x6 - -gUnknown_8463FBE:: @ 8463FBE - .incbin "baserom.gba", 0x463FBE, 0x3 - -gUnknown_8463FC1:: @ 8463FC1 - .incbin "baserom.gba", 0x463FC1, 0x5 - -gUnknown_8463FC6:: @ 8463FC6 - .incbin "baserom.gba", 0x463FC6, 0x7 - -gUnknown_8463FCD:: @ 8463FCD - .incbin "baserom.gba", 0x463FCD, 0x7 - -gUnknown_8463FD4:: @ 8463FD4 - .incbin "baserom.gba", 0x463FD4, 0xB - -gUnknown_8463FDF:: @ 8463FDF - .incbin "baserom.gba", 0x463FDF, 0xB - -gUnknown_8463FEA:: @ 8463FEA - .incbin "baserom.gba", 0x463FEA, 0x12 - -gUnknown_8463FFC:: @ 8463FFC - .incbin "baserom.gba", 0x463FFC, 0xC - -gUnknown_8464008:: @ 8464008 - .incbin "baserom.gba", 0x464008, 0x120 - -gUnknown_8464128:: @ 8464128 - .incbin "baserom.gba", 0x464128, 0x20 - -gUnknown_8464148:: @ 8464148 - .incbin "baserom.gba", 0x464148, 0x174 - -gUnknown_84642BC:: @ 84642BC - .incbin "baserom.gba", 0x4642BC, 0x4 - -gUnknown_84642C0:: @ 84642C0 - .incbin "baserom.gba", 0x4642C0, 0x34 - -gUnknown_84642F4:: @ 84642F4 - .incbin "baserom.gba", 0x4642F4, 0xC - -gUnknown_8464300:: @ 8464300 - .incbin "baserom.gba", 0x464300, 0x4C - -gUnknown_846434C:: @ 846434C - .incbin "baserom.gba", 0x46434C, 0xC - -gUnknown_8464358:: @ 8464358 - .incbin "baserom.gba", 0x464358, 0x14 - -gUnknown_846436C:: @ 846436C - .incbin "baserom.gba", 0x46436C, 0x8 - -gUnknown_8464374:: @ 8464374 - .incbin "baserom.gba", 0x464374, 0x8 - -gUnknown_846437C:: @ 846437C - .incbin "baserom.gba", 0x46437C, 0x28 - -gUnknown_84643A4:: @ 84643A4 - .incbin "baserom.gba", 0x4643A4, 0x4 - -gUnknown_84643A8:: @ 84643A8 - .incbin "baserom.gba", 0x4643A8, 0x4 - -gUnknown_84643AC:: @ 84643AC - .incbin "baserom.gba", 0x4643AC, 0x4 - -gUnknown_84643B0:: @ 84643B0 - .incbin "baserom.gba", 0x4643B0, 0x4 - -gUnknown_84643B4:: @ 84643B4 - .incbin "baserom.gba", 0x4643B4, 0x4 - -gUnknown_84643B8:: @ 84643B8 - .incbin "baserom.gba", 0x4643B8, 0x20 - -gUnknown_84643D8:: @ 84643D8 - .incbin "baserom.gba", 0x4643D8, 0x18 - -gUnknown_84643F0:: @ 84643F0 - .incbin "baserom.gba", 0x4643F0, 0x8 - -gUnknown_84643F8:: @ 84643F8 - .incbin "baserom.gba", 0x4643F8, 0x8 - -gUnknown_8464400:: @ 8464400 - .incbin "baserom.gba", 0x464400, 0x48 - -gUnknown_8464448:: @ 8464448 - .incbin "baserom.gba", 0x464448, 0x60 - -gUnknown_84644A8:: @ 84644A8 - .incbin "baserom.gba", 0x4644A8, 0x8 - -gUnknown_84644B0:: @ 84644B0 - .incbin "baserom.gba", 0x4644B0, 0x8 - -gUnknown_84644B8:: @ 84644B8 - .incbin "baserom.gba", 0x4644B8, 0x32C - -gUnknown_84647E4:: @ 84647E4 - .incbin "baserom.gba", 0x4647E4, 0x18 - -gUnknown_84647FC:: @ 84647FC - .incbin "baserom.gba", 0x4647FC, 0x8 - -gUnknown_8464804:: @ 8464804 - .incbin "baserom.gba", 0x464804, 0x38 - -gUnknown_846483C:: @ 846483C - .incbin "baserom.gba", 0x46483C, 0x40 - -gUnknown_846487C:: @ 846487C - .incbin "baserom.gba", 0x46487C, 0x8 - -gUnknown_8464884:: @ 8464884 - .incbin "baserom.gba", 0x464884, 0xC - -gUnknown_8464890:: @ 8464890 - .incbin "baserom.gba", 0x464890, 0x1E - -gUnknown_84648AE:: @ 84648AE - .incbin "baserom.gba", 0x4648AE, 0xF - -gUnknown_84648BD:: @ 84648BD - .incbin "baserom.gba", 0x4648BD, 0x15 - -gUnknown_84648D2:: @ 84648D2 - .incbin "baserom.gba", 0x4648D2, 0x54 - -gUnknown_8464926:: @ 8464926 - .incbin "baserom.gba", 0x464926, 0x40 - -gUnknown_8464966:: @ 8464966 - .incbin "baserom.gba", 0x464966, 0xC4A - -gUnknown_84655B0:: @ 84655B0 - .incbin "baserom.gba", 0x4655B0, 0x18 - -gUnknown_84655C8:: @ 84655C8 - .incbin "baserom.gba", 0x4655C8, 0x40 - -gUnknown_8465608:: @ 8465608 - .incbin "baserom.gba", 0x465608, 0xE - -gUnknown_8465616:: @ 8465616 - .incbin "baserom.gba", 0x465616, 0xC0 - -gUnknown_84656D6:: @ 84656D6 - .incbin "baserom.gba", 0x4656D6, 0x10E - -gUnknown_84657E4:: @ 84657E4 - .incbin "baserom.gba", 0x4657E4, 0x98 - -gUnknown_846587C:: @ 846587C - .incbin "baserom.gba", 0x46587C, 0x5C - -gUnknown_84658D8:: @ 84658D8 - .incbin "baserom.gba", 0x4658D8, 0x18 - -gUnknown_84658F0:: @ 84658F0 - .incbin "baserom.gba", 0x4658F0, 0x40 - -gUnknown_8465930:: @ 8465930 - .incbin "baserom.gba", 0x465930, 0x20 - -gUnknown_8465950:: @ 8465950 - .incbin "baserom.gba", 0x465950, 0x80 - -gUnknown_84659D0:: @ 84659D0 - .incbin "baserom.gba", 0x4659D0, 0x804 - -gUnknown_84661D4:: @ 84661D4 - .incbin "baserom.gba", 0x4661D4, 0x2E8 - -gUnknown_84664BC:: @ 84664BC - .incbin "baserom.gba", 0x4664BC, 0x20 - -gUnknown_84664DC:: @ 84664DC - .incbin "baserom.gba", 0x4664DC, 0x60 - -gUnknown_846653C:: @ 846653C - .incbin "baserom.gba", 0x46653C, 0x84 - -gUnknown_84665C0:: @ 84665C0 - .incbin "baserom.gba", 0x4665C0, 0x60 - -gUnknown_8466620:: @ 8466620 - .incbin "baserom.gba", 0x466620, 0x378 - -gUnknown_8466998:: @ 8466998 - .incbin "baserom.gba", 0x466998, 0x178 - -gUnknown_8466B10:: @ 8466B10 - .incbin "baserom.gba", 0x466B10, 0x10 - -gUnknown_8466B20:: @ 8466B20 - .incbin "baserom.gba", 0x466B20, 0xEC - -gUnknown_8466C0C:: @ 8466C0C - .incbin "baserom.gba", 0x466C0C, 0x28 - -gUnknown_8466C34:: @ 8466C34 - .incbin "baserom.gba", 0x466C34, 0x4 - -gUnknown_8466C38:: @ 8466C38 - .incbin "baserom.gba", 0x466C38, 0x8 - -gUnknown_8466C40:: @ 8466C40 - .incbin "baserom.gba", 0x466C40, 0x18 - -gUnknown_8466C58:: @ 8466C58 - .incbin "baserom.gba", 0x466C58, 0xB8 - -gUnknown_8466D10:: @ 8466D10 - .incbin "baserom.gba", 0x466D10, 0x20 - -gUnknown_8466D30:: @ 8466D30 - .incbin "baserom.gba", 0x466D30, 0x30 - -gUnknown_8466D60:: @ 8466D60 - .incbin "baserom.gba", 0x466D60, 0x10 - -gUnknown_8466D70:: @ 8466D70 - .incbin "baserom.gba", 0x466D70, 0x20 - -gUnknown_8466D90:: @ 8466D90 - .incbin "baserom.gba", 0x466D90, 0x8 - -gUnknown_8466D98:: @ 8466D98 - .incbin "baserom.gba", 0x466D98, 0x8 - -gUnknown_8466DA0:: @ 8466DA0 - .incbin "baserom.gba", 0x466DA0, 0x8 - -gUnknown_8466DA8:: @ 8466DA8 - .incbin "baserom.gba", 0x466DA8, 0x8 - -gUnknown_8466DB0:: @ 8466DB0 - .incbin "baserom.gba", 0x466DB0, 0x8 - -gUnknown_8466DB8:: @ 8466DB8 - .incbin "baserom.gba", 0x466DB8, 0x8 - -gUnknown_8466DC0:: @ 8466DC0 - .incbin "baserom.gba", 0x466DC0, 0x8 - -gUnknown_8466DC8:: @ 8466DC8 - .incbin "baserom.gba", 0x466DC8, 0x8 - -gUnknown_8466DD0:: @ 8466DD0 - .incbin "baserom.gba", 0x466DD0, 0x18 - -gUnknown_8466DE8:: @ 8466DE8 - .incbin "baserom.gba", 0x466DE8, 0x18 - -gUnknown_8466E00:: @ 8466E00 - .incbin "baserom.gba", 0x466E00, 0x78 - -gUnknown_8466E78:: @ 8466E78 - .incbin "baserom.gba", 0x466E78, 0x18 - -gUnknown_8466E90:: @ 8466E90 - .incbin "baserom.gba", 0x466E90, 0x18 - -gUnknown_8466EA8:: @ 8466EA8 - .incbin "baserom.gba", 0x466EA8, 0x18 - -gUnknown_8466EC0:: @ 8466EC0 - .incbin "baserom.gba", 0x466EC0, 0x28 - -gUnknown_8466EE8:: @ 8466EE8 - .incbin "baserom.gba", 0x466EE8, 0x8 - -gUnknown_8466EF0:: @ 8466EF0 - .incbin "baserom.gba", 0x466EF0, 0x10 - -gUnknown_8466F00:: @ 8466F00 - .incbin "baserom.gba", 0x466F00, 0x28 - - .align 2 -gUnknown_8466F28:: @ 8466F28 - .asciz "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c" - - .align 2 -gUnknown_8466F5C:: @ 8466F5C - .asciz "0" - - .align 2 -gUnknown_8466F60:: @ 8466F60 - .incbin "baserom.gba", 0x466F60, 0x20 - - .align 2 -gUnknown_8466F80:: @ 8466F80 - .asciz "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - - .align 2 -gUnknown_8466FB8:: @ 8466FB8 - .asciz "size <= ME_SEND_BUF_SIZE" - - .align 2 -gUnknown_8466FD4:: @ 8466FD4 - .asciz "cmd->parameter == NULL" - - .align 2 -gUnknown_8466FEC:: @ 8466FEC - .asciz "cmd->flag == FALSE" - - .align 2 -gUnknown_8467000:: @ 8467000 - .asciz "cmd->flag == FALSE && cmd->parameter == NULL" - - .align 2 -gUnknown_8467030:: @ 8467030 - .incbin "baserom.gba", 0x467030, 0x14 - - .align 2 -gUnknown_8467044:: @ 8467044 - .asciz "svr->mainseqno < NELEMS(func_tbl)" - - .align 2 -gUnknown_8467068:: @ 8467068 - .incbin "baserom.gba", 0x467068, 0x8 - -gUnknown_8467070:: @ 8467070 - .incbin "baserom.gba", 0x467070, 0x4 - -gUnknown_8467074:: @ 8467074 - .incbin "baserom.gba", 0x467074, 0xEE4 - -gUnknown_8467F58:: @ 8467F58 - .incbin "baserom.gba", 0x467F58, 0x8 - -gUnknown_8467F60:: @ 8467F60 - .incbin "baserom.gba", 0x467F60, 0x40 - -gUnknown_8467FA0:: @ 8467FA0 - .incbin "baserom.gba", 0x467FA0, 0x18 - -gUnknown_8467FB8:: @ 8467FB8 - .incbin "baserom.gba", 0x467FB8, 0x80 - -gUnknown_8468038:: @ 8468038 - .incbin "baserom.gba", 0x468038, 0x8 - -gUnknown_8468040:: @ 8468040 - .incbin "baserom.gba", 0x468040, 0x10 - -gUnknown_8468050:: @ 8468050 - .incbin "baserom.gba", 0x468050, 0x6D0 - -gUnknown_8468720:: @ 8468720 - .incbin "baserom.gba", 0x468720, 0xC0 - -gUnknown_84687E0:: @ 84687E0 - .incbin "baserom.gba", 0x4687E0, 0x38C - -gUnknown_8468B6C:: @ 8468B6C - .incbin "baserom.gba", 0x468B6C, 0x60 - -gUnknown_8468BCC:: @ 8468BCC - .incbin "baserom.gba", 0x468BCC, 0x90 - - - diff --git a/data/data_845FD54.s b/data/data_845FD54.s new file mode 100644 index 000000000..d2b52192d --- /dev/null +++ b/data/data_845FD54.s @@ -0,0 +1,686 @@ + .section .rodata + + .align 2 + // oak_speech +gUnknown_845FD54:: @ 845FD54 + .incbin "baserom.gba", 0x45FD54, 0x814 + +gUnknown_8460568:: @ 8460568 + .incbin "baserom.gba", 0x460568, 0x80 + +gUnknown_84605E8:: @ 84605E8 + .incbin "baserom.gba", 0x4605E8, 0x5C0 + +gUnknown_8460BA8:: @ 8460BA8 + .incbin "baserom.gba", 0x460BA8, 0xFC + +gUnknown_8460CA4:: @ 8460CA4 + .incbin "baserom.gba", 0x460CA4, 0x44 + +gUnknown_8460CE8:: @ 8460CE8 + .incbin "baserom.gba", 0x460CE8, 0xAC + +gUnknown_8460D94:: @ 8460D94 + .incbin "baserom.gba", 0x460D94, 0xA0 + +gUnknown_8460E34:: @ 8460E34 + .incbin "baserom.gba", 0x460E34, 0xA0 + +gUnknown_8460ED4:: @ 8460ED4 + .incbin "baserom.gba", 0x460ED4, 0x40 + +gUnknown_8460F14:: @ 8460F14 + .incbin "baserom.gba", 0x460F14, 0x6E8 + +gUnknown_84615FC:: @ 84615FC + .incbin "baserom.gba", 0x4615FC, 0x40 + +gUnknown_846163C:: @ 846163C + .incbin "baserom.gba", 0x46163C, 0x698 + +gUnknown_8461CD4:: @ 8461CD4 + .incbin "baserom.gba", 0x461CD4, 0x40 + +gUnknown_8461D14:: @ 8461D14 + .incbin "baserom.gba", 0x461D14, 0x698 + +gUnknown_84623AC:: @ 84623AC + .incbin "baserom.gba", 0x4623AC, 0x40 + +gUnknown_84623EC:: @ 84623EC + .incbin "baserom.gba", 0x4623EC, 0xA6C + +gUnknown_8462E58:: @ 8462E58 + .incbin "baserom.gba", 0x462E58, 0x5C + +gUnknown_8462EB4:: @ 8462EB4 + .incbin "baserom.gba", 0x462EB4, 0xC + +gUnknown_8462EC0:: @ 8462EC0 + .incbin "baserom.gba", 0x462EC0, 0x8 + +gUnknown_8462EC8:: @ 8462EC8 + .incbin "baserom.gba", 0x462EC8, 0x8 + +gUnknown_8462ED0:: @ 8462ED0 + .incbin "baserom.gba", 0x462ED0, 0x8 + +gUnknown_8462ED8:: @ 8462ED8 + .incbin "baserom.gba", 0x462ED8, 0x10 + +gUnknown_8462EE8:: @ 8462EE8 + .incbin "baserom.gba", 0x462EE8, 0x4 + +gUnknown_8462EEC:: @ 8462EEC + .incbin "baserom.gba", 0x462EEC, 0x4 + +gUnknown_8462EF0:: @ 8462EF0 + .incbin "baserom.gba", 0x462EF0, 0xC + +gUnknown_8462EFC:: @ 8462EFC + .incbin "baserom.gba", 0x462EFC, 0x18 + +gUnknown_8462F14:: @ 8462F14 + .incbin "baserom.gba", 0x462F14, 0x8 + +gUnknown_8462F1C:: @ 8462F1C + .incbin "baserom.gba", 0x462F1C, 0x8 + +gUnknown_8462F24:: @ 8462F24 + .incbin "baserom.gba", 0x462F24, 0x2C + +gUnknown_8462F50:: @ 8462F50 + .incbin "baserom.gba", 0x462F50, 0xDC + +gUnknown_846302C:: @ 846302C + .incbin "baserom.gba", 0x46302C, 0x48 + +gUnknown_8463074:: @ 8463074 + .incbin "baserom.gba", 0x463074, 0x18 + +gUnknown_846308C:: @ 846308C + .incbin "baserom.gba", 0x46308C, 0x4C + +gUnknown_84630D8:: @ 84630D8 + .incbin "baserom.gba", 0x4630D8, 0x4C + +gUnknown_8463124:: @ 8463124 + .incbin "baserom.gba", 0x463124, 0x10 + +gUnknown_8463134:: @ 8463134 + .incbin "baserom.gba", 0x463134, 0xC + +gUnknown_8463140:: @ 8463140 + .incbin "baserom.gba", 0x463140, 0x10 + +gUnknown_8463150:: @ 8463150 + .incbin "baserom.gba", 0x463150, 0x18 + +gUnknown_8463168:: @ 8463168 + .incbin "baserom.gba", 0x463168, 0x3 + +gUnknown_846316B:: @ 846316B + .incbin "baserom.gba", 0x46316B, 0x5 + +gUnknown_8463170:: @ 8463170 + .incbin "baserom.gba", 0x463170, 0x8 + +gUnknown_8463178:: @ 8463178 + .incbin "baserom.gba", 0x463178, 0x4 + +gUnknown_846317C:: @ 846317C + .incbin "baserom.gba", 0x46317C, 0x4 + +gUnknown_8463180:: @ 8463180 + .incbin "baserom.gba", 0x463180, 0x4 + +gUnknown_8463184:: @ 8463184 + .incbin "baserom.gba", 0x463184, 0xC + +gUnknown_8463190:: @ 8463190 + .incbin "baserom.gba", 0x463190, 0x50 + +gUnknown_84631E0:: @ 84631E0 + .incbin "baserom.gba", 0x4631E0, 0x8 + +gUnknown_84631E8:: @ 84631E8 + .incbin "baserom.gba", 0x4631E8, 0x30 + +gUnknown_8463218:: @ 8463218 + .incbin "baserom.gba", 0x463218, 0x8 + +gUnknown_8463220:: @ 8463220 + .incbin "baserom.gba", 0x463220, 0x18 + +gUnknown_8463238:: @ 8463238 + .incbin "baserom.gba", 0x463238, 0x24 + +gUnknown_846325C:: @ 846325C + .incbin "baserom.gba", 0x46325C, 0x48 + +gUnknown_84632A4:: @ 84632A4 + .incbin "baserom.gba", 0x4632A4, 0x18 + +gUnknown_84632BC:: @ 84632BC + .incbin "baserom.gba", 0x4632BC, 0x4 + +gUnknown_84632C0:: @ 84632C0 + .incbin "baserom.gba", 0x4632C0, 0x4 + +gUnknown_84632C4:: @ 84632C4 + .incbin "baserom.gba", 0x4632C4, 0x4 + +gUnknown_84632C8:: @ 84632C8 + .incbin "baserom.gba", 0x4632C8, 0x4 + +gUnknown_84632CC:: @ 84632CC + .incbin "baserom.gba", 0x4632CC, 0x4 + +gUnknown_84632D0:: @ 84632D0 + .incbin "baserom.gba", 0x4632D0, 0x4 + +gUnknown_84632D4:: @ 84632D4 + .incbin "baserom.gba", 0x4632D4, 0x4 + +gUnknown_84632D8:: @ 84632D8 + .incbin "baserom.gba", 0x4632D8, 0x18 + +gUnknown_84632F0:: @ 84632F0 + .incbin "baserom.gba", 0x4632F0, 0x18 + +gUnknown_8463308:: @ 8463308 + .incbin "baserom.gba", 0x463308, 0x20 + +gUnknown_8463328:: @ 8463328 + .incbin "baserom.gba", 0x463328, 0x70 + +gUnknown_8463398:: @ 8463398 + .incbin "baserom.gba", 0x463398, 0x40 + +gUnknown_84633D8:: @ 84633D8 + .incbin "baserom.gba", 0x4633D8, 0x44 + +gUnknown_846341C:: @ 846341C + .incbin "baserom.gba", 0x46341C, 0x20 + +gUnknown_846343C:: @ 846343C + .incbin "baserom.gba", 0x46343C, 0x128 + +gUnknown_8463564:: @ 8463564 + .incbin "baserom.gba", 0x463564, 0x1C + +gUnknown_8463580:: @ 8463580 + .incbin "baserom.gba", 0x463580, 0x140 + +gUnknown_84636C0:: @ 84636C0 + .incbin "baserom.gba", 0x4636C0, 0x20 + +gUnknown_84636E0:: @ 84636E0 + .incbin "baserom.gba", 0x4636E0, 0x20 + +gUnknown_8463700:: @ 8463700 + .incbin "baserom.gba", 0x463700, 0x20 + +gUnknown_8463720:: @ 8463720 + .incbin "baserom.gba", 0x463720, 0x20 + +gUnknown_8463740:: @ 8463740 + .incbin "baserom.gba", 0x463740, 0x12C + +gUnknown_846386C:: @ 846386C + .incbin "baserom.gba", 0x46386C, 0x120 + +gUnknown_846398C:: @ 846398C + .incbin "baserom.gba", 0x46398C, 0x18 + +gUnknown_84639A4:: @ 84639A4 + .incbin "baserom.gba", 0x4639A4, 0x8 + +gUnknown_84639AC:: @ 84639AC + .incbin "baserom.gba", 0x4639AC, 0x48 + +gUnknown_84639F4:: @ 84639F4 + .incbin "baserom.gba", 0x4639F4, 0x20 + +gUnknown_8463A14:: @ 8463A14 + .incbin "baserom.gba", 0x463A14, 0x68 + +gUnknown_8463A7C:: @ 8463A7C + .incbin "baserom.gba", 0x463A7C, 0x70 + +gUnknown_8463AEC:: @ 8463AEC + .incbin "baserom.gba", 0x463AEC, 0x10 + +gUnknown_8463AFC:: @ 8463AFC + .incbin "baserom.gba", 0x463AFC, 0x4 + +gUnknown_8463B00:: @ 8463B00 + .incbin "baserom.gba", 0x463B00, 0x20 + +gUnknown_8463B20:: @ 8463B20 + .incbin "baserom.gba", 0x463B20, 0x10 + +gUnknown_8463B30:: @ 8463B30 + .incbin "baserom.gba", 0x463B30, 0x10 + +gUnknown_8463B40:: @ 8463B40 + .incbin "baserom.gba", 0x463B40, 0x4 + +gUnknown_8463B44:: @ 8463B44 + .incbin "baserom.gba", 0x463B44, 0x20 + +gUnknown_8463B64:: @ 8463B64 + .incbin "baserom.gba", 0x463B64, 0x24 + +gUnknown_8463B88:: @ 8463B88 + .incbin "baserom.gba", 0x463B88, 0xF8 + +gUnknown_8463C80:: @ 8463C80 + .incbin "baserom.gba", 0x463C80, 0x1E0 + +gUnknown_8463E60:: @ 8463E60 + .incbin "baserom.gba", 0x463E60, 0x64 + +gUnknown_8463EC4:: @ 8463EC4 + .incbin "baserom.gba", 0x463EC4, 0x10 + +gUnknown_8463ED4:: @ 8463ED4 + .incbin "baserom.gba", 0x463ED4, 0x1C + +gUnknown_8463EF0:: @ 8463EF0 + .incbin "baserom.gba", 0x463EF0, 0xC + +gUnknown_8463EFC:: @ 8463EFC + .incbin "baserom.gba", 0x463EFC, 0x10 + +gUnknown_8463F0C:: @ 8463F0C + .incbin "baserom.gba", 0x463F0C, 0x18 + +gUnknown_8463F24:: @ 8463F24 + .incbin "baserom.gba", 0x463F24, 0x18 + +gUnknown_8463F3C:: @ 8463F3C + .incbin "baserom.gba", 0x463F3C, 0x20 + +gUnknown_8463F5C:: @ 8463F5C + .incbin "baserom.gba", 0x463F5C, 0x20 + +gUnknown_8463F7C:: @ 8463F7C + .incbin "baserom.gba", 0x463F7C, 0x20 + +gUnknown_8463F9C:: @ 8463F9C + .incbin "baserom.gba", 0x463F9C, 0x8 + +gUnknown_8463FA4:: @ 8463FA4 + .incbin "baserom.gba", 0x463FA4, 0x3 + +gUnknown_8463FA7:: @ 8463FA7 + .incbin "baserom.gba", 0x463FA7, 0x11 + +gUnknown_8463FB8:: @ 8463FB8 + .incbin "baserom.gba", 0x463FB8, 0x6 + +gUnknown_8463FBE:: @ 8463FBE + .incbin "baserom.gba", 0x463FBE, 0x3 + +gUnknown_8463FC1:: @ 8463FC1 + .incbin "baserom.gba", 0x463FC1, 0x5 + +gUnknown_8463FC6:: @ 8463FC6 + .incbin "baserom.gba", 0x463FC6, 0x7 + +gUnknown_8463FCD:: @ 8463FCD + .incbin "baserom.gba", 0x463FCD, 0x7 + +gUnknown_8463FD4:: @ 8463FD4 + .incbin "baserom.gba", 0x463FD4, 0xB + +gUnknown_8463FDF:: @ 8463FDF + .incbin "baserom.gba", 0x463FDF, 0xB + +gUnknown_8463FEA:: @ 8463FEA + .incbin "baserom.gba", 0x463FEA, 0x12 + +gUnknown_8463FFC:: @ 8463FFC + .incbin "baserom.gba", 0x463FFC, 0xC + +gUnknown_8464008:: @ 8464008 + .incbin "baserom.gba", 0x464008, 0x120 + +gUnknown_8464128:: @ 8464128 + .incbin "baserom.gba", 0x464128, 0x20 + +gUnknown_8464148:: @ 8464148 + .incbin "baserom.gba", 0x464148, 0x174 + +gUnknown_84642BC:: @ 84642BC + .incbin "baserom.gba", 0x4642BC, 0x4 + +gUnknown_84642C0:: @ 84642C0 + .incbin "baserom.gba", 0x4642C0, 0x34 + +gUnknown_84642F4:: @ 84642F4 + .incbin "baserom.gba", 0x4642F4, 0xC + +gUnknown_8464300:: @ 8464300 + .incbin "baserom.gba", 0x464300, 0x4C + +gUnknown_846434C:: @ 846434C + .incbin "baserom.gba", 0x46434C, 0xC + +gUnknown_8464358:: @ 8464358 + .incbin "baserom.gba", 0x464358, 0x14 + +gUnknown_846436C:: @ 846436C + .incbin "baserom.gba", 0x46436C, 0x8 + +gUnknown_8464374:: @ 8464374 + .incbin "baserom.gba", 0x464374, 0x8 + +gUnknown_846437C:: @ 846437C + .incbin "baserom.gba", 0x46437C, 0x28 + +gUnknown_84643A4:: @ 84643A4 + .incbin "baserom.gba", 0x4643A4, 0x4 + +gUnknown_84643A8:: @ 84643A8 + .incbin "baserom.gba", 0x4643A8, 0x4 + +gUnknown_84643AC:: @ 84643AC + .incbin "baserom.gba", 0x4643AC, 0x4 + +gUnknown_84643B0:: @ 84643B0 + .incbin "baserom.gba", 0x4643B0, 0x4 + +gUnknown_84643B4:: @ 84643B4 + .incbin "baserom.gba", 0x4643B4, 0x4 + +gUnknown_84643B8:: @ 84643B8 + .incbin "baserom.gba", 0x4643B8, 0x20 + +gUnknown_84643D8:: @ 84643D8 + .incbin "baserom.gba", 0x4643D8, 0x18 + +gUnknown_84643F0:: @ 84643F0 + .incbin "baserom.gba", 0x4643F0, 0x8 + +gUnknown_84643F8:: @ 84643F8 + .incbin "baserom.gba", 0x4643F8, 0x8 + +gUnknown_8464400:: @ 8464400 + .incbin "baserom.gba", 0x464400, 0x48 + +gUnknown_8464448:: @ 8464448 + .incbin "baserom.gba", 0x464448, 0x60 + +gUnknown_84644A8:: @ 84644A8 + .incbin "baserom.gba", 0x4644A8, 0x8 + +gUnknown_84644B0:: @ 84644B0 + .incbin "baserom.gba", 0x4644B0, 0x8 + +gUnknown_84644B8:: @ 84644B8 + .incbin "baserom.gba", 0x4644B8, 0x32C + +gUnknown_84647E4:: @ 84647E4 + .incbin "baserom.gba", 0x4647E4, 0x18 + +gUnknown_84647FC:: @ 84647FC + .incbin "baserom.gba", 0x4647FC, 0x8 + +gUnknown_8464804:: @ 8464804 + .incbin "baserom.gba", 0x464804, 0x38 + +gUnknown_846483C:: @ 846483C + .incbin "baserom.gba", 0x46483C, 0x40 + +gUnknown_846487C:: @ 846487C + .incbin "baserom.gba", 0x46487C, 0x8 + +gUnknown_8464884:: @ 8464884 + .incbin "baserom.gba", 0x464884, 0xC + +gUnknown_8464890:: @ 8464890 + .incbin "baserom.gba", 0x464890, 0x1E + +gUnknown_84648AE:: @ 84648AE + .incbin "baserom.gba", 0x4648AE, 0xF + +gUnknown_84648BD:: @ 84648BD + .incbin "baserom.gba", 0x4648BD, 0x15 + +gUnknown_84648D2:: @ 84648D2 + .incbin "baserom.gba", 0x4648D2, 0x54 + +gUnknown_8464926:: @ 8464926 + .incbin "baserom.gba", 0x464926, 0x40 + +gUnknown_8464966:: @ 8464966 + .incbin "baserom.gba", 0x464966, 0xC4A + +gUnknown_84655B0:: @ 84655B0 + .incbin "baserom.gba", 0x4655B0, 0x18 + +gUnknown_84655C8:: @ 84655C8 + .incbin "baserom.gba", 0x4655C8, 0x40 + +gUnknown_8465608:: @ 8465608 + .incbin "baserom.gba", 0x465608, 0xE + +gUnknown_8465616:: @ 8465616 + .incbin "baserom.gba", 0x465616, 0xC0 + +gUnknown_84656D6:: @ 84656D6 + .incbin "baserom.gba", 0x4656D6, 0x10E + +gUnknown_84657E4:: @ 84657E4 + .incbin "baserom.gba", 0x4657E4, 0x98 + +gUnknown_846587C:: @ 846587C + .incbin "baserom.gba", 0x46587C, 0x5C + +gUnknown_84658D8:: @ 84658D8 + .incbin "baserom.gba", 0x4658D8, 0x18 + +gUnknown_84658F0:: @ 84658F0 + .incbin "baserom.gba", 0x4658F0, 0x40 + +gUnknown_8465930:: @ 8465930 + .incbin "baserom.gba", 0x465930, 0x20 + +gUnknown_8465950:: @ 8465950 + .incbin "baserom.gba", 0x465950, 0x80 + +gUnknown_84659D0:: @ 84659D0 + .incbin "baserom.gba", 0x4659D0, 0x804 + +gUnknown_84661D4:: @ 84661D4 + .incbin "baserom.gba", 0x4661D4, 0x2E8 + +gUnknown_84664BC:: @ 84664BC + .incbin "baserom.gba", 0x4664BC, 0x20 + +gUnknown_84664DC:: @ 84664DC + .incbin "baserom.gba", 0x4664DC, 0x60 + +gUnknown_846653C:: @ 846653C + .incbin "baserom.gba", 0x46653C, 0x84 + +gUnknown_84665C0:: @ 84665C0 + .incbin "baserom.gba", 0x4665C0, 0x60 + +gUnknown_8466620:: @ 8466620 + .incbin "baserom.gba", 0x466620, 0x378 + +gUnknown_8466998:: @ 8466998 + .incbin "baserom.gba", 0x466998, 0x178 + +gUnknown_8466B10:: @ 8466B10 + .incbin "baserom.gba", 0x466B10, 0x10 + +gUnknown_8466B20:: @ 8466B20 + .incbin "baserom.gba", 0x466B20, 0xEC + +gUnknown_8466C0C:: @ 8466C0C + .incbin "baserom.gba", 0x466C0C, 0x28 + +gUnknown_8466C34:: @ 8466C34 + .incbin "baserom.gba", 0x466C34, 0x4 + +gUnknown_8466C38:: @ 8466C38 + .incbin "baserom.gba", 0x466C38, 0x8 + +gUnknown_8466C40:: @ 8466C40 + .incbin "baserom.gba", 0x466C40, 0x18 + +gUnknown_8466C58:: @ 8466C58 + .incbin "baserom.gba", 0x466C58, 0xB8 + +gUnknown_8466D10:: @ 8466D10 + .incbin "baserom.gba", 0x466D10, 0x20 + +gUnknown_8466D30:: @ 8466D30 + .incbin "baserom.gba", 0x466D30, 0x30 + +gUnknown_8466D60:: @ 8466D60 + .incbin "baserom.gba", 0x466D60, 0x10 + +gUnknown_8466D70:: @ 8466D70 + .incbin "baserom.gba", 0x466D70, 0x20 + +gUnknown_8466D90:: @ 8466D90 + .incbin "baserom.gba", 0x466D90, 0x8 + +gUnknown_8466D98:: @ 8466D98 + .incbin "baserom.gba", 0x466D98, 0x8 + +gUnknown_8466DA0:: @ 8466DA0 + .incbin "baserom.gba", 0x466DA0, 0x8 + +gUnknown_8466DA8:: @ 8466DA8 + .incbin "baserom.gba", 0x466DA8, 0x8 + +gUnknown_8466DB0:: @ 8466DB0 + .incbin "baserom.gba", 0x466DB0, 0x8 + +gUnknown_8466DB8:: @ 8466DB8 + .incbin "baserom.gba", 0x466DB8, 0x8 + +gUnknown_8466DC0:: @ 8466DC0 + .incbin "baserom.gba", 0x466DC0, 0x8 + +gUnknown_8466DC8:: @ 8466DC8 + .incbin "baserom.gba", 0x466DC8, 0x8 + +gUnknown_8466DD0:: @ 8466DD0 + .incbin "baserom.gba", 0x466DD0, 0x18 + +gUnknown_8466DE8:: @ 8466DE8 + .incbin "baserom.gba", 0x466DE8, 0x18 + +gUnknown_8466E00:: @ 8466E00 + .incbin "baserom.gba", 0x466E00, 0x78 + +gUnknown_8466E78:: @ 8466E78 + .incbin "baserom.gba", 0x466E78, 0x18 + +gUnknown_8466E90:: @ 8466E90 + .incbin "baserom.gba", 0x466E90, 0x18 + +gUnknown_8466EA8:: @ 8466EA8 + .incbin "baserom.gba", 0x466EA8, 0x18 + +gUnknown_8466EC0:: @ 8466EC0 + .incbin "baserom.gba", 0x466EC0, 0x28 + +gUnknown_8466EE8:: @ 8466EE8 + .incbin "baserom.gba", 0x466EE8, 0x8 + +gUnknown_8466EF0:: @ 8466EF0 + .incbin "baserom.gba", 0x466EF0, 0x10 + +gUnknown_8466F00:: @ 8466F00 + .incbin "baserom.gba", 0x466F00, 0x28 + + .align 2 +gUnknown_8466F28:: @ 8466F28 + .asciz "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c" + + .align 2 +gUnknown_8466F5C:: @ 8466F5C + .asciz "0" + + .align 2 +gUnknown_8466F60:: @ 8466F60 + .incbin "baserom.gba", 0x466F60, 0x20 + + .align 2 +gUnknown_8466F80:: @ 8466F80 + .asciz "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" + + .align 2 +gUnknown_8466FB8:: @ 8466FB8 + .asciz "size <= ME_SEND_BUF_SIZE" + + .align 2 +gUnknown_8466FD4:: @ 8466FD4 + .asciz "cmd->parameter == NULL" + + .align 2 +gUnknown_8466FEC:: @ 8466FEC + .asciz "cmd->flag == FALSE" + + .align 2 +gUnknown_8467000:: @ 8467000 + .asciz "cmd->flag == FALSE && cmd->parameter == NULL" + + .align 2 +gUnknown_8467030:: @ 8467030 + .incbin "baserom.gba", 0x467030, 0x14 + + .align 2 +gUnknown_8467044:: @ 8467044 + .asciz "svr->mainseqno < NELEMS(func_tbl)" + + .align 2 +gUnknown_8467068:: @ 8467068 + .incbin "baserom.gba", 0x467068, 0x8 + +gUnknown_8467070:: @ 8467070 + .incbin "baserom.gba", 0x467070, 0x4 + +gUnknown_8467074:: @ 8467074 + .incbin "baserom.gba", 0x467074, 0xEE4 + +gUnknown_8467F58:: @ 8467F58 + .incbin "baserom.gba", 0x467F58, 0x8 + +gUnknown_8467F60:: @ 8467F60 + .incbin "baserom.gba", 0x467F60, 0x40 + +gUnknown_8467FA0:: @ 8467FA0 + .incbin "baserom.gba", 0x467FA0, 0x18 + +gUnknown_8467FB8:: @ 8467FB8 + .incbin "baserom.gba", 0x467FB8, 0x80 + +gUnknown_8468038:: @ 8468038 + .incbin "baserom.gba", 0x468038, 0x8 + +gUnknown_8468040:: @ 8468040 + .incbin "baserom.gba", 0x468040, 0x10 + +gUnknown_8468050:: @ 8468050 + .incbin "baserom.gba", 0x468050, 0x6D0 + +gUnknown_8468720:: @ 8468720 + .incbin "baserom.gba", 0x468720, 0xC0 + +gUnknown_84687E0:: @ 84687E0 + .incbin "baserom.gba", 0x4687E0, 0x38C + +gUnknown_8468B6C:: @ 8468B6C + .incbin "baserom.gba", 0x468B6C, 0x60 + +gUnknown_8468BCC:: @ 8468BCC + .incbin "baserom.gba", 0x468BCC, 0x90 diff --git a/data/fame_checker.s b/data/fame_checker.s new file mode 100644 index 000000000..037891818 --- /dev/null +++ b/data/fame_checker.s @@ -0,0 +1,92 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 +gUnknown_845C600:: @ 845C600 + .incbin "baserom.gba", 0x45C600, 0x1720 + +gUnknown_845DD20:: @ 845DD20 + .incbin "baserom.gba", 0x45DD20, 0x820 + +gUnknown_845E540:: @ 845E540 + .incbin "baserom.gba", 0x45E540, 0x820 + +gUnknown_845ED60:: @ 845ED60 + .incbin "baserom.gba", 0x45ED60, 0x820 + +gUnknown_845F580:: @ 845F580 + .incbin "baserom.gba", 0x45F580, 0x40 + +gUnknown_845F5C0:: @ 845F5C0 + .incbin "baserom.gba", 0x45F5C0, 0x20 + +gUnknown_845F5E0:: @ 845F5E0 + .incbin "baserom.gba", 0x45F5E0, 0x3 + +gUnknown_845F5E3:: @ 845F5E3 + .incbin "baserom.gba", 0x45F5E3, 0x3 + +gUnknown_845F5E6:: @ 845F5E6 + .incbin "baserom.gba", 0x45F5E6, 0x4 + +gUnknown_845F5EA:: @ 845F5EA + .incbin "baserom.gba", 0x45F5EA, 0x22 + +gUnknown_845F60C:: @ 845F60C + .incbin "baserom.gba", 0x45F60C, 0x10 + +gUnknown_845F61C:: @ 845F61C + .incbin "baserom.gba", 0x45F61C, 0x20 + +gUnknown_845F63C:: @ 845F63C + .incbin "baserom.gba", 0x45F63C, 0x80 + +gUnknown_845F6BC:: @ 845F6BC + .incbin "baserom.gba", 0x45F6BC, 0x180 + +gUnknown_845F83C:: @ 845F83C + .incbin "baserom.gba", 0x45F83C, 0x60 + +gUnknown_845F89C:: @ 845F89C + .incbin "baserom.gba", 0x45F89C, 0x180 + +gUnknown_845FA1C:: @ 845FA1C + .incbin "baserom.gba", 0x45FA1C, 0x180 + +gUnknown_845FB9C:: @ 845FB9C + .incbin "baserom.gba", 0x45FB9C, 0x40 + +gUnknown_845FBDC:: @ 845FBDC + .incbin "baserom.gba", 0x45FBDC, 0x18 + +gUnknown_845FBF4:: @ 845FBF4 + .incbin "baserom.gba", 0x45FBF4, 0x10 + +gUnknown_845FC04:: @ 845FC04 + .incbin "baserom.gba", 0x45FC04, 0x40 + +gUnknown_845FC44:: @ 845FC44 + .incbin "baserom.gba", 0x45FC44, 0x34 + +gUnknown_845FC78:: @ 845FC78 + .incbin "baserom.gba", 0x45FC78, 0x40 + +gUnknown_845FCB8:: @ 845FCB8 + .incbin "baserom.gba", 0x45FCB8, 0x2C + +gUnknown_845FCE4:: @ 845FCE4 + .incbin "baserom.gba", 0x45FCE4, 0x18 + +gUnknown_845FCFC:: @ 845FCFC + .incbin "baserom.gba", 0x45FCFC, 0x18 + +gUnknown_845FD14:: @ 845FD14 + .incbin "baserom.gba", 0x45FD14, 0x18 + +gUnknown_845FD2C:: @ 845FD2C + .incbin "baserom.gba", 0x45FD2C, 0x18 + +gUnknown_845FD44:: @ 845FD44 + .incbin "baserom.gba", 0x45FD44, 0x10 diff --git a/include/graphics.h b/include/graphics.h index 9888d2f7c..c5544428e 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -143,4 +143,11 @@ extern const u8 gUnknown_08DDB020[]; extern const u8 gUnknown_08DDB2C4[]; extern const u16 gUnknown_08DDAFE0[]; +// fame_checker + +extern const u16 gUnknown_8E9F220[0x30]; +extern const u16 gUnknown_8E9F260[0xa50]; +extern const u16 gUnknown_8EA0700[0x400]; +extern const u16 gUnknown_8EA0F00[0x400]; + #endif //GUARD_GRAPHICS_H diff --git a/include/item_menu.h b/include/item_menu.h index 731c7cf2b..64cb2d762 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -12,5 +12,6 @@ extern u16 gUnknown_203AD30; // Exported ROM declarations void sub_81AAC50(void); void sub_81AAC70(void); +void sub_8107EB8(void); #endif //GUARD_ITEM_MENU_H diff --git a/ld_script.txt b/ld_script.txt index e821a34ca..cab20382b 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -377,6 +377,9 @@ SECTIONS { data/data_83FECCC.o(.rodata.8453F6C); src/quest_log.o(.rodata); data/data_83FECCC.o(.rodata.8456C74); + src/fame_checker.o(.rodata); + data/fame_checker.o(.rodata); + data/data_845FD54.o(.rodata); src/menews_jisan.o(.rodata); src/menews_jisan.o(.rodata.str1.4); data/data_8468C98.o(.rodata); diff --git a/src/fame_checker.c b/src/fame_checker.c index d311ecb94..0f047f612 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -1,6 +1,9 @@ #include "global.h" #include "constants/songs.h" #include "bg.h" +#include "graphics.h" +#include "item_menu.h" +#include "list_menu.h" #include "gpu_regs.h" #include "palette.h" #include "task.h" @@ -13,13 +16,18 @@ struct FameCheckerData { - u32 unk_00; + void (*unk_00)(void); u16 unk_04; - u8 filler_06[3]; + u8 filler_06[1]; + u8 unk_07_0:1; + u8 unk_07_1:1; + u8 unk_07_2:6; + u8 filler_08[1]; u8 unk_09; u8 unk_0A; u8 unk_0B; - u8 filler_0C[23]; + u8 unk_0C[17]; + u8 unk_1D[6]; u8 unk_23_0:1; u8 unk_23_1:7; }; @@ -36,28 +44,48 @@ EWRAM_DATA struct FameCheckerData * gUnknown_203B0FC = NULL; EWRAM_DATA struct FameCheckerData2 * gUnknown_203B100 = NULL; EWRAM_DATA u32 gUnknown_203B104 = 0; +struct ListMenuTemplate gUnknown_3005EB0; +u8 gUnknown_3005EC8; + void sub_812C3F8(void); void sub_812C648(void); void sub_812C664(u8 taskId); +void sub_812C694(u8 taskId); +bool8 sub_812C8F8(u8 taskId); +void sub_812C9BC(u8 taskId); +void sub_812CAD8(u8 taskId); +void sub_812CD3C(void); +void sub_812CE04(u8 taskId); void sub_812CE9C(void); void sub_812CEC0(void); +void sub_812CEE0(u8 windowId); +void sub_812CEFC(u8 taskId, u8 a1); +void sub_812CF3C(u8 taskId); +void sub_812D0F4(u8 a0); void sub_812D1A8(u8 a0); void sub_812D420(void); void sub_812D558(void); void sub_812D584(void); void sub_812D594(void); +bool8 sub_812D6B4(void); +u8 sub_812D724(s16 a0); +u8 sub_812D7E4(void); +u8 sub_812D888(u8 a0); +void sub_812DA14(u8 a0); void sub_812DB28(void); void sub_812E000(void); +void sub_812E048(void); +u16 sub_812E064(void); +void sub_812E110(u8 taskId); void sub_812E178(u8 a0, s16 a1); +void sub_812E4A4(u8 a0); + +extern const u16 gUnknown_845C600[]; extern const struct BgTemplate gUnknown_845FBF4[4]; +extern const struct SpriteSheet gUnknown_845FB9C[]; +extern const struct SpritePalette gUnknown_845FBDC[]; extern const struct WindowTemplate gUnknown_845FC04[]; -extern const u16 gUnknown_845C600[0x40]; - -extern const u16 gUnknown_8E9F220[0x30]; -extern const u16 gUnknown_8E9F260[0xa50]; -extern const u16 gUnknown_8EA0700[0x400]; -extern const u16 gUnknown_8EA0F00[0x400]; void sub_812C380(void) { @@ -74,7 +102,7 @@ void sub_812C394(void) UpdatePaletteFade(); } -void sub_812C3AC(u32 a0) +void sub_812C3AC(void (*a0)(void)) { SetVBlankCallback(NULL); gUnknown_203B0FC = AllocZeroed(sizeof(struct FameCheckerData)); @@ -165,3 +193,91 @@ void sub_812C3F8(void) break; } } + +void sub_812C648(void) +{ + LoadSpriteSheets(gUnknown_845FB9C); + LoadSpritePalettes(gUnknown_845FBDC); +} + +void sub_812C664(u8 taskId) +{ + if (!gPaletteFade.active) + gTasks[taskId].func = sub_812C694; +} + +void sub_812C694(u8 taskId) +{ + u16 r4; + u8 r4_2; + struct Task *task = &gTasks[taskId]; + s16 * data = gTasks[taskId].data; + if (FindTaskIdByFunc(sub_812E110) == 0xFF) + { + RunTextPrinters(); + if ((gMain.newKeys & SELECT_BUTTON) && !gUnknown_203B0FC->unk_07_1 && gUnknown_203B0FC->unk_00 != sub_8107EB8) + task->func = sub_812CF3C; + else if (gMain.newKeys & START_BUTTON) + { + r4 = sub_812E064(); + if (sub_812C8F8(taskId) == TRUE) + { + PlaySE(SE_W100); + } + else if (r4 != gUnknown_203B0FC->unk_07_2 - 1) + { + PlaySE(SE_W100); + FillWindowPixelRect(3, 0x00, 0, 0, 88, 32); + sub_812CEE0(3); + sub_812E178(2, 4); + sub_812E178(1, 5); + sub_812D0F4(1); + task->data[2] = sub_812D888(gUnknown_203B0FC->unk_0C[r4]); + gSprites[task->data[2]].pos2.x = 0xF0; + gSprites[task->data[2]].data[0] = 1; + task->data[3] = sub_812D7E4(); + gSprites[task->data[3]].pos2.x = 0xF0; + gSprites[task->data[3]].data[0] = 1; + task->func = sub_812C9BC; + } + } + else if (gMain.newKeys & A_BUTTON) + { + r4 = ListMenuHandleInput(0); + if (r4 == gUnknown_203B0FC->unk_07_2 - 1) + task->func = sub_812CF3C; + else if (gUnknown_203B0FC->unk_07_1) + { + if (!IsTextPrinterActive(2) && sub_812D6B4() == TRUE) + sub_812CD3C(); + } + else if (gUnknown_203B0FC->unk_07_0) + { + PlaySE(SE_SELECT); + task->data[0] = sub_812D724(task->data[1]); + for (r4_2 = 0; r4_2 < 6; r4_2++) + { + if (r4_2 != task->data[1]) + sub_812CEFC(gUnknown_203B0FC->unk_1D[r4_2], 1); + } + gUnknown_3005EC8 = 0xFF; + sub_812E4A4(0); + sub_812D0F4(2); + if (gSprites[gUnknown_203B0FC->unk_1D[task->data[1]]].data[1] != 0xFF) + { + sub_812CE04(taskId); + sub_812DA14(data[1]); + } + sub_812E048(); + task->func = sub_812CAD8; + } + } + else if (gMain.newKeys & B_BUTTON) + { + if (sub_812C8F8(taskId) != TRUE) + task->func = sub_812CF3C; + } + else + ListMenuHandleInput(0); + } +} diff --git a/sym_common.txt b/sym_common.txt index 6c213ca4d..af6d7ba4f 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -324,11 +324,7 @@ gUnknown_3005E9C: @ 3005E9C gUnknown_3005EA0: @ 3005EA0 .space 0x10 -gUnknown_3005EB0: @ 3005EB0 - .space 0x18 - -gUnknown_3005EC8: @ 3005EC8 - .space 0x4 + .include "fame_checker.o" gUnknown_3005ECC: @ 3005ECC .space 0x4 From 8ef1594d204e0b933fcfc048e17471191dfae720 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 24 Nov 2018 16:28:05 -0500 Subject: [PATCH 117/222] through sub_812CA1C --- asm/fame_checker.s | 240 --------------------------------------------- src/fame_checker.c | 65 +++++++++++- 2 files changed, 64 insertions(+), 241 deletions(-) diff --git a/asm/fame_checker.s b/asm/fame_checker.s index 059b19291..f87b8622f 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -5,246 +5,6 @@ .text - thumb_func_start sub_812C8F8 -sub_812C8F8: @ 812C8F8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0812C91C @ =gTasks - adds r4, r1, r0 - ldr r5, _0812C920 @ =gUnknown_203B0FC - ldr r0, [r5] - ldrb r1, [r0, 0x7] - movs r3, 0x2 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _0812C924 - movs r0, 0 - b _0812C982 - .align 2, 0 -_0812C91C: .4byte gTasks -_0812C920: .4byte gUnknown_203B0FC -_0812C924: - ldr r2, _0812C988 @ =gSprites - movs r0, 0xC - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x2E] - movs r0, 0xC - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x24] - adds r1, 0xA - strh r1, [r0, 0x24] - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x2E] - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x24] - adds r1, 0xA - strh r1, [r0, 0x24] - bl sub_812CE9C - ldr r0, _0812C98C @ =sub_812CA1C - str r0, [r4] - bl sub_812C990 - ldr r1, [r5] - adds r1, 0x23 - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - movs r0, 0x1 -_0812C982: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0812C988: .4byte gSprites -_0812C98C: .4byte sub_812CA1C - thumb_func_end sub_812C8F8 - - thumb_func_start sub_812C990 -sub_812C990: @ 812C990 - push {lr} - sub sp, 0x10 - ldr r2, _0812C9B8 @ =gUnknown_84181E4 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParametrized - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_0812C9B8: .4byte gUnknown_84181E4 - thumb_func_end sub_812C990 - - thumb_func_start sub_812C9BC -sub_812C9BC: @ 812C9BC - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0812C9F8 @ =gTasks - adds r4, r1, r0 - ldr r2, _0812C9FC @ =gSprites - movs r0, 0xC - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x2E - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0812CA08 - bl sub_812CD3C - ldr r0, _0812CA00 @ =gUnknown_203B0FC - ldr r2, [r0] - ldrb r0, [r2, 0x7] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0x7] - ldr r0, _0812CA04 @ =sub_812C694 - str r0, [r4] - b _0812CA14 - .align 2, 0 -_0812C9F8: .4byte gTasks -_0812C9FC: .4byte gSprites -_0812CA00: .4byte gUnknown_203B0FC -_0812CA04: .4byte sub_812C694 -_0812CA08: - movs r1, 0xA0 - lsls r1, 4 - movs r0, 0x1 - movs r2, 0x1 - bl ChangeBgX -_0812CA14: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812C9BC - - thumb_func_start sub_812CA1C -sub_812CA1C: @ 812CA1C - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0812CA44 @ =gTasks - adds r5, r0, r1 - movs r0, 0x1 - bl GetBgX - cmp r0, 0 - beq _0812CA48 - movs r1, 0xA0 - lsls r1, 4 - movs r0, 0x1 - movs r2, 0x2 - bl ChangeBgX - b _0812CA52 - .align 2, 0 -_0812CA44: .4byte gTasks -_0812CA48: - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX -_0812CA52: - ldr r7, _0812CAC8 @ =gSprites - movs r1, 0xC - ldrsh r0, [r5, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0812CAC0 - ldr r6, _0812CACC @ =gUnknown_203B0FC - ldr r0, [r6] - ldrb r1, [r0, 0x7] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812CA7C - movs r0, 0 - bl sub_812D0F4 -_0812CA7C: - movs r0, 0x1 - movs r1, 0x4 - bl sub_812E178 - movs r0, 0x2 - movs r1, 0x2 - bl sub_812E178 - ldr r2, [r6] - ldrb r1, [r2, 0x7] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x7] - bl sub_812E064 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_812D9A8 - ldr r0, _0812CAD0 @ =sub_812C694 - str r0, [r5] - movs r0, 0xE - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r7, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _0812CAD4 @ =sub_812D800 - str r1, [r0] -_0812CAC0: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812CAC8: .4byte gSprites -_0812CACC: .4byte gUnknown_203B0FC -_0812CAD0: .4byte sub_812C694 -_0812CAD4: .4byte sub_812D800 - thumb_func_end sub_812CA1C - thumb_func_start sub_812CAD8 sub_812CAD8: @ 812CAD8 push {r4-r6,lr} diff --git a/src/fame_checker.c b/src/fame_checker.c index 0f047f612..81aeb7aee 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -2,6 +2,7 @@ #include "constants/songs.h" #include "bg.h" #include "graphics.h" +#include "new_menu_helpers.h" #include "item_menu.h" #include "list_menu.h" #include "gpu_regs.h" @@ -29,7 +30,8 @@ struct FameCheckerData u8 unk_0C[17]; u8 unk_1D[6]; u8 unk_23_0:1; - u8 unk_23_1:7; + u8 unk_23_1:1; + u8 unk_23_2:1; }; struct FameCheckerData2 @@ -52,7 +54,9 @@ void sub_812C648(void); void sub_812C664(u8 taskId); void sub_812C694(u8 taskId); bool8 sub_812C8F8(u8 taskId); +void sub_812C990(void); void sub_812C9BC(u8 taskId); +void sub_812CA1C(u8 taskId); void sub_812CAD8(u8 taskId); void sub_812CD3C(void); void sub_812CE04(u8 taskId); @@ -70,7 +74,9 @@ void sub_812D594(void); bool8 sub_812D6B4(void); u8 sub_812D724(s16 a0); u8 sub_812D7E4(void); +void sub_812D800(struct Sprite *sprite); u8 sub_812D888(u8 a0); +void sub_812D9A8(u8 a0, u16 a1); void sub_812DA14(u8 a0); void sub_812DB28(void); void sub_812E000(void); @@ -80,6 +86,7 @@ void sub_812E110(u8 taskId); void sub_812E178(u8 a0, s16 a1); void sub_812E4A4(u8 a0); +extern const u8 gUnknown_84181E4[]; extern const u16 gUnknown_845C600[]; extern const struct BgTemplate gUnknown_845FBF4[4]; @@ -281,3 +288,59 @@ void sub_812C694(u8 taskId) ListMenuHandleInput(0); } } + +bool8 sub_812C8F8(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + if (gUnknown_203B0FC->unk_07_1) + { + gSprites[task->data[2]].data[0] = 2; + gSprites[task->data[2]].pos2.x += 10; + gSprites[task->data[3]].data[0] = 2; + gSprites[task->data[3]].pos2.x += 10; + sub_812CE9C(); + task->func = sub_812CA1C; + sub_812C990(); + gUnknown_203B0FC->unk_23_2 = FALSE; + return TRUE; + } + return FALSE; +} + +void sub_812C990(void) +{ + AddTextPrinterParametrized(2, 2, gUnknown_84181E4, 0, NULL, 2, 1, 3); +} + +void sub_812C9BC(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + if (gSprites[task->data[2]].data[0] == 0) + { + sub_812CD3C(); + gUnknown_203B0FC->unk_07_1 = TRUE; + task->func = sub_812C694; + } + else + ChangeBgX(1, 0xA00, 1); +} + +void sub_812CA1C(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + if (GetBgX(1) != 0) + ChangeBgX(1, 0xA00, 2); + else + ChangeBgX(1, 0x000, 0); + if (gSprites[task->data[2]].data[0] == 0) + { + if (gUnknown_203B0FC->unk_07_0) + sub_812D0F4(0); + sub_812E178(1, 4); + sub_812E178(2, 2); + gUnknown_203B0FC->unk_07_1 = FALSE; + sub_812D9A8(taskId, sub_812E064()); + task->func = sub_812C694; + gSprites[task->data[3]].callback = sub_812D800; + } +} From 93f67f9557109d85e191283b171f7f5e8028b7bf Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 24 Nov 2018 20:04:50 -0500 Subject: [PATCH 118/222] sub_812CAD8 New macro `PRESSED(x)` tests `gMain.newKeys & (x)`. The macro itself is inoptimal. However, its use is required to match this function. We suspect this macro may have been implemented globally, hence we put it in `global.h`. Propagating its use through the remainder of this project, as well as [Ruby](/pret/pokeruby) and [Emerald](/pret/pokeemerald), has been left as a to-do item. --- asm/fame_checker.s | 194 --------------------------------------------- include/global.h | 7 ++ src/fame_checker.c | 81 ++++++++++++++++++- 3 files changed, 84 insertions(+), 198 deletions(-) diff --git a/asm/fame_checker.s b/asm/fame_checker.s index f87b8622f..80c8fa2a8 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -5,200 +5,6 @@ .text - thumb_func_start sub_812CAD8 -sub_812CAD8: @ 812CAD8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - ldr r0, _0812CB9C @ =gTasks - adds r5, r1, r0 - adds r0, 0x8 - adds r6, r1, r0 - bl RunTextPrinters - ldr r0, _0812CBA0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812CB2E - movs r0, 0x2 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _0812CB2E - ldr r0, _0812CBA4 @ =gUnknown_203B0FC - ldr r0, [r0] - movs r2, 0x2 - ldrsh r1, [r6, r2] - adds r0, 0x1D - adds r0, r1 - ldrb r1, [r0] - ldr r2, _0812CBA8 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x30 - ldrsh r0, [r0, r1] - cmp r0, 0xFF - beq _0812CB2E - adds r0, r4, 0 - bl sub_812CE04 -_0812CB2E: - ldr r0, _0812CBA0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0812CBB8 - movs r0, 0x5 - bl PlaySE - movs r4, 0 - ldr r6, _0812CBA4 @ =gUnknown_203B0FC -_0812CB44: - ldr r0, [r6] - adds r0, 0x1D - adds r0, r4 - ldrb r0, [r0] - movs r1, 0 - bl sub_812CEFC - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0812CB44 - bl sub_812CE9C - ldr r2, _0812CBA8 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _0812CBAC @ =sub_812D764 - str r1, [r0] - ldr r0, _0812CBB0 @ =gUnknown_3005EC8 - ldrb r0, [r0] - cmp r0, 0xFF - beq _0812CB80 - bl sub_812DB10 -_0812CB80: - movs r0, 0x1 - bl sub_812E4A4 - movs r0, 0 - bl sub_812D0F4 - bl sub_812E000 - bl sub_812C990 - ldr r0, _0812CBB4 @ =sub_812C694 - str r0, [r5] - b _0812CC62 - .align 2, 0 -_0812CB9C: .4byte gTasks -_0812CBA0: .4byte gMain -_0812CBA4: .4byte gUnknown_203B0FC -_0812CBA8: .4byte gSprites -_0812CBAC: .4byte sub_812D764 -_0812CBB0: .4byte gUnknown_3005EC8 -_0812CBB4: .4byte sub_812C694 -_0812CBB8: - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _0812CBC8 - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0812CBF4 -_0812CBC8: - ldrh r1, [r5, 0xA] - movs r2, 0xA - ldrsh r0, [r5, r2] - cmp r0, 0x2 - ble _0812CBE4 - subs r0, r1, 0x3 - strh r0, [r5, 0xA] - movs r2, 0x1B - negs r2, r2 - adds r0, r4, 0 - movs r1, 0 - bl sub_812CC68 - b _0812CC62 -_0812CBE4: - adds r0, r1, 0x3 - strh r0, [r5, 0xA] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x1B - bl sub_812CC68 - b _0812CC62 -_0812CBF4: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0812CC26 - ldrh r6, [r5, 0xA] - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _0812CC12 - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _0812CC1C -_0812CC12: - adds r0, r6, 0x2 - strh r0, [r5, 0xA] - adds r0, r4, 0 - movs r1, 0x5E - b _0812CC4A -_0812CC1C: - subs r0, r6, 0x1 - strh r0, [r5, 0xA] - movs r1, 0x2F - negs r1, r1 - b _0812CC48 -_0812CC26: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0812CC62 - movs r1, 0xA - ldrsh r0, [r5, r1] - adds r0, 0x1 - movs r1, 0x3 - bl __modsi3 - cmp r0, 0 - bne _0812CC52 - ldrh r0, [r5, 0xA] - subs r0, 0x2 - strh r0, [r5, 0xA] - movs r1, 0x5E - negs r1, r1 -_0812CC48: - adds r0, r4, 0 -_0812CC4A: - movs r2, 0 - bl sub_812CC68 - b _0812CC62 -_0812CC52: - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - adds r0, r4, 0 - movs r1, 0x2F - movs r2, 0 - bl sub_812CC68 -_0812CC62: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_812CAD8 - thumb_func_start sub_812CC68 sub_812CC68: @ 812CC68 push {r4-r7,lr} diff --git a/include/global.h b/include/global.h index 050e200f9..3dc11bfbd 100644 --- a/include/global.h +++ b/include/global.h @@ -62,6 +62,13 @@ #define T2_READ_32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24)) #define T2_READ_PTR(ptr) (void*) T2_READ_32(ptr) +// This macro is required to prevent the compiler from optimizing +// a dpad up/down check in sub_812CAD8 (fame_checker.c). +// We suspect it was used globally. +// GameFreak never ceases to amaze. +// TODO: Propagate use of this macro +#define PRESSED(button) ({gMain.newKeys & (button);}) + extern u8 gStringVar1[]; extern u8 gStringVar2[]; extern u8 gStringVar3[]; diff --git a/src/fame_checker.c b/src/fame_checker.c index 81aeb7aee..e83eaa301 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -1,5 +1,6 @@ #include "global.h" #include "constants/songs.h" +#include "sprite.h" #include "bg.h" #include "graphics.h" #include "new_menu_helpers.h" @@ -58,6 +59,7 @@ void sub_812C990(void); void sub_812C9BC(u8 taskId); void sub_812CA1C(u8 taskId); void sub_812CAD8(u8 taskId); +void sub_812CC68(u8 taskId, s8 dx, s8 dy); void sub_812CD3C(void); void sub_812CE04(u8 taskId); void sub_812CE9C(void); @@ -73,11 +75,13 @@ void sub_812D584(void); void sub_812D594(void); bool8 sub_812D6B4(void); u8 sub_812D724(s16 a0); +void sub_812D764(struct Sprite *sprite); u8 sub_812D7E4(void); void sub_812D800(struct Sprite *sprite); u8 sub_812D888(u8 a0); void sub_812D9A8(u8 a0, u16 a1); void sub_812DA14(u8 a0); +void sub_812DB10(void); void sub_812DB28(void); void sub_812E000(void); void sub_812E048(void); @@ -222,9 +226,9 @@ void sub_812C694(u8 taskId) if (FindTaskIdByFunc(sub_812E110) == 0xFF) { RunTextPrinters(); - if ((gMain.newKeys & SELECT_BUTTON) && !gUnknown_203B0FC->unk_07_1 && gUnknown_203B0FC->unk_00 != sub_8107EB8) + if ((PRESSED(SELECT_BUTTON)) && !gUnknown_203B0FC->unk_07_1 && gUnknown_203B0FC->unk_00 != sub_8107EB8) task->func = sub_812CF3C; - else if (gMain.newKeys & START_BUTTON) + else if (PRESSED(START_BUTTON)) { r4 = sub_812E064(); if (sub_812C8F8(taskId) == TRUE) @@ -248,7 +252,7 @@ void sub_812C694(u8 taskId) task->func = sub_812C9BC; } } - else if (gMain.newKeys & A_BUTTON) + else if (PRESSED(A_BUTTON)) { r4 = ListMenuHandleInput(0); if (r4 == gUnknown_203B0FC->unk_07_2 - 1) @@ -279,7 +283,7 @@ void sub_812C694(u8 taskId) task->func = sub_812CAD8; } } - else if (gMain.newKeys & B_BUTTON) + else if (PRESSED(B_BUTTON)) { if (sub_812C8F8(taskId) != TRUE) task->func = sub_812CF3C; @@ -344,3 +348,72 @@ void sub_812CA1C(u8 taskId) gSprites[task->data[3]].callback = sub_812D800; } } + +void sub_812CAD8(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + s16 *data = gTasks[taskId].data; + + RunTextPrinters(); + if (PRESSED(A_BUTTON) && !IsTextPrinterActive(2)) + { + u8 spriteId = gUnknown_203B0FC->unk_1D[data[1]]; + if (gSprites[spriteId].data[1] != 0xFF) + sub_812CE04(taskId); + } + if (PRESSED(B_BUTTON)) + { + u8 r4; + PlaySE(SE_SELECT); + for (r4 = 0; r4 < 6; r4++) + sub_812CEFC(gUnknown_203B0FC->unk_1D[r4], 0); + sub_812CE9C(); + gSprites[task->data[0]].callback = sub_812D764; + if (gUnknown_3005EC8 != 0xFF) + sub_812DB10(); + sub_812E4A4(1); + sub_812D0F4(0); + sub_812E000(); + sub_812C990(); + task->func = sub_812C694; + } + else if (PRESSED(DPAD_UP) || PRESSED(DPAD_DOWN)) + { + if (task->data[1] >= 3) + { + task->data[1] -= 3; + sub_812CC68(taskId, 0, -0x1b); + } + else + { + task->data[1] += 3; + sub_812CC68(taskId, 0, +0x1b); + } + } + else if (PRESSED(DPAD_LEFT)) + { + if (task->data[1] == 0 || task->data[1] % 3 == 0) + { + task->data[1] += 2; + sub_812CC68(taskId, +0x5e, 0); + } + else + { + task->data[1]--; + sub_812CC68(taskId, -0x2f, 0); + } + } + else if (PRESSED(DPAD_RIGHT)) + { + if ((task->data[1] + 1) % 3 == 0) + { + task->data[1] -= 2; + sub_812CC68(taskId, -0x5e, 0); + } + else + { + task->data[1]++; + sub_812CC68(taskId, +0x2f, 0); + } + } +} From c60b28011871abaf987a46a6da6823ce451fa66d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 24 Nov 2018 21:41:18 -0500 Subject: [PATCH 119/222] through sub_812CD3C --- asm/fame_checker.s | 197 ------------------------------------- charmap.txt | 7 +- data/event_scripts.s | 7 +- data/fame_checker.s | 34 ++++++- data/text/fame_checker.inc | 185 ++++++++++++++++++++++++++++++++++ include/global.h | 8 +- include/new_menu_helpers.h | 1 + src/fame_checker.c | 44 ++++++++- 8 files changed, 281 insertions(+), 202 deletions(-) create mode 100644 data/text/fame_checker.inc diff --git a/asm/fame_checker.s b/asm/fame_checker.s index 80c8fa2a8..9cc4bf4ee 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -5,203 +5,6 @@ .text - thumb_func_start sub_812CC68 -sub_812CC68: @ 812CC68 - push {r4-r7,lr} - sub sp, 0x8 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _0812CD18 @ =gTasks+0x8 - adds r6, r0, r1 - movs r0, 0xBB - bl PlaySE - ldr r2, _0812CD1C @ =gSprites - movs r0, 0 - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - lsls r4, 24 - asrs r4, 24 - ldrh r1, [r0, 0x20] - adds r4, r1 - strh r4, [r0, 0x20] - movs r0, 0 - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - lsls r5, 24 - asrs r5, 24 - ldrh r1, [r0, 0x22] - adds r5, r1 - strh r5, [r0, 0x22] - movs r4, 0 - ldr r5, _0812CD20 @ =gUnknown_203B0FC -_0812CCBE: - ldr r0, [r5] - adds r0, 0x1D - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x1 - bl sub_812CEFC - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0812CCBE - movs r0, 0xD0 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - bl sub_812C990 - ldr r0, _0812CD20 @ =gUnknown_203B0FC - ldr r0, [r0] - movs r2, 0x2 - ldrsh r1, [r6, r2] - adds r0, 0x1D - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_812CEFC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812CD24 - adds r0, r7, 0 - bl sub_812CE04 - ldrb r0, [r6, 0x2] - bl sub_812DA14 - b _0812CD30 - .align 2, 0 -_0812CD18: .4byte gTasks+0x8 -_0812CD1C: .4byte gSprites -_0812CD20: .4byte gUnknown_203B0FC -_0812CD24: - ldr r0, _0812CD38 @ =gUnknown_3005EC8 - ldrb r0, [r0] - cmp r0, 0xFF - beq _0812CD30 - bl sub_812DB10 -_0812CD30: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812CD38: .4byte gUnknown_3005EC8 - thumb_func_end sub_812CC68 - - thumb_func_start sub_812CD3C -sub_812CD3C: @ 812CD3C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - movs r0, 0 - mov r8, r0 - bl sub_812E064 - lsls r0, 16 - lsrs r0, 16 - adds r6, r0, 0 - ldr r0, _0812CD7C @ =gSaveBlock1Ptr - ldr r1, [r0] - ldr r7, _0812CD80 @ =gUnknown_203B0FC - ldr r0, [r7] - adds r0, 0xC - adds r0, r6 - ldrb r0, [r0] - lsls r0, 2 - adds r1, r0 - ldr r0, _0812CD84 @ =0x00003a54 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 30 - lsrs r5, r0, 30 - cmp r5, 0x2 - beq _0812CD88 - bl sub_812CE9C - bl sub_812C990 - b _0812CDEE - .align 2, 0 -_0812CD7C: .4byte gSaveBlock1Ptr -_0812CD80: .4byte gUnknown_203B0FC -_0812CD84: .4byte 0x00003a54 -_0812CD88: - movs r0, 0xD0 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - bl sub_812D6B4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812CDAC - movs r0, 0x10 - mov r8, r0 -_0812CDAC: - ldr r4, _0812CDFC @ =gStringVar4 - ldr r1, _0812CE00 @ =gUnknown_845F63C - ldr r0, [r7] - adds r0, 0xC - adds r0, r6 - ldrb r0, [r0] - add r0, r8 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl StringExpandPlaceholders - bl sub_80F78A8 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - str r0, [sp] - str r5, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0x2 - adds r2, r4, 0 - bl AddTextPrinterParametrized - movs r0, 0x2 - bl sub_812CEE0 -_0812CDEE: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812CDFC: .4byte gStringVar4 -_0812CE00: .4byte gUnknown_845F63C - thumb_func_end sub_812CD3C - thumb_func_start sub_812CE04 sub_812CE04: @ 812CE04 push {r4-r6,lr} diff --git a/charmap.txt b/charmap.txt index f89919509..fc9cbc0a8 100644 --- a/charmap.txt +++ b/charmap.txt @@ -383,6 +383,11 @@ ENG = FC 16 PAUSE_MUSIC = FC 17 RESUME_MUSIC = FC 18 +@ font sizes + +SMALL = FC 06 00 +BIG = FC 06 04 + @ colors TRANSPARENT = 00 @@ -393,7 +398,7 @@ BLUE = 04 YELLOW = 05 CYAN = 06 MAGENTA = 07 -LIGHT_GREY = 08 +LIGHT_GRAY = 08 BLACK = 09 BLACK2 = 0A @ duplicate of black? SILVER = 0B diff --git a/data/event_scripts.s b/data/event_scripts.s index 6bfa500cc..4161c97d7 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -226,7 +226,12 @@ gUnknown_81A8DD8:: @ 81A8DD8 .incbin "baserom.gba", 0x1A8DD8, 0x25 gUnknown_81A8DFD:: @ 81A8DFD - .incbin "baserom.gba", 0x1A8DFD, 0xA072 + .incbin "baserom.gba", 0x1A8DFD, 0x738b + + .include "data/text/fame_checker.inc" + +gUnknown_81B0C45:: @ 0x81B0C45 + .incbin "baserom.gba", 0x1B0C45, 0x222A gUnknown_81B2E6F:: @ 81B2E6F .incbin "baserom.gba", 0x1B2E6F, 0x15A diff --git a/data/fame_checker.s b/data/fame_checker.s index 037891818..7f58fde76 100644 --- a/data/fame_checker.s +++ b/data/fame_checker.s @@ -40,8 +40,40 @@ gUnknown_845F60C:: @ 845F60C gUnknown_845F61C:: @ 845F61C .incbin "baserom.gba", 0x45F61C, 0x20 + gUnknown_845F63C:: @ 845F63C - .incbin "baserom.gba", 0x45F63C, 0x80 + .4byte gUnknown_81B0188 + .4byte gUnknown_81B0251 + .4byte gUnknown_81B030F + .4byte gUnknown_81B03B3 + .4byte gUnknown_81B0446 + .4byte gUnknown_81B0504 + .4byte gUnknown_81B05C2 + .4byte gUnknown_81B0667 + .4byte gUnknown_81B06FB + .4byte gUnknown_81B079F + .4byte gUnknown_81B0845 + .4byte gUnknown_81B08EE + .4byte gUnknown_81B097F + .4byte gUnknown_81B0A45 + .4byte gUnknown_81B0AFF + .4byte gUnknown_81B0BA6 + .4byte gUnknown_81B0198 + .4byte gUnknown_81B025D + .4byte gUnknown_81B031B + .4byte gUnknown_81B03BF + .4byte gUnknown_81B0456 + .4byte gUnknown_81B0510 + .4byte gUnknown_81B05CD + .4byte gUnknown_81B0675 + .4byte gUnknown_81B0708 + .4byte gUnknown_81B07AD + .4byte gUnknown_81B0851 + .4byte gUnknown_81B08FB + .4byte gUnknown_81B098B + .4byte gUnknown_81B0A50 + .4byte gUnknown_81B0B0E + .4byte gUnknown_81B0BB5 gUnknown_845F6BC:: @ 845F6BC .incbin "baserom.gba", 0x45F6BC, 0x180 diff --git a/data/text/fame_checker.inc b/data/text/fame_checker.inc new file mode 100644 index 000000000..4462ce62f --- /dev/null +++ b/data/text/fame_checker.inc @@ -0,0 +1,185 @@ +gUnknown_81B0188:: @ 0x81B0188 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}PROF. OAK$" + +gUnknown_81B0198:: @ 0x81B0198 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: PROF. OAK\n" + .string "To: {PLAYER}\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Why do POKéMON compete and battle\n" + .string "so hard for you?\p" + .string "They do so because they can see\n" + .string "the love and trust you have\l" + .string "towards POKéMON.\p" + .string "Never forget that.$" + +gUnknown_81B0251:: @ 0x81B0251 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}DAISY$" + +gUnknown_81B025D:: @ 0x81B025D + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: DAISY\n" + .string "To: {PLAYER}\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}While I was comfortably enjoying\n" + .string "my tea breaks, you’ve grown very\l" + .string "skilled and powerful.\p" + .string "I hope you’ll remain a good rival\n" + .string "to my little brother.$" + +gUnknown_81B030F:: @ 0x81B030F + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}BROCK$" + +gUnknown_81B031B:: @ 0x81B031B + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: BROCK\n" + .string "To: {PLAYER}\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}In this big world of ours, there\n" + .string "must be many tough TRAINERS.\p" + .string "Let’s both keep training and\n" + .string "making ourselves stronger!$" + +gUnknown_81B03B3:: @ 0x81B03B3 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}MISTY$" + +gUnknown_81B03BF:: @ 0x81B03BF + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: MISTY\n" + .string "To: {PLAYER}\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}I’m going to keep training here at\n" + .string "this GYM.\p" + .string "When I get better, I’d love to hit\n" + .string "the road and travel.$" + +gUnknown_81B0446:: @ 0x81B0446 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}LT. SURGE$" + +gUnknown_81B0456:: @ 0x81B0456 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: LT. SURGE\n" + .string "To: {PLAYER}\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Hey, kid!\n" + .string "You electrified me in our battle!\p" + .string "I didn’t know that there were\n" + .string "gutsy TRAINERS like you.\p" + .string "It made me change my mind about\n" + .string "you!$" + +gUnknown_81B0504:: @ 0x81B0504 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}ERIKA$" + +gUnknown_81B0510:: @ 0x81B0510 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: ERIKA\n" + .string "To: {PLAYER}\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}I am so glad that there are strong\n" + .string "TRAINERS like you.\p" + .string "That awareness alone inspires and\n" + .string "motivates me to try harder.\p" + .string "Please visit me again.\n" + .string "Zzz…$" + +gUnknown_81B05C2:: @ 0x81B05C2 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}KOGA$" + +gUnknown_81B05CD:: @ 0x81B05CD + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: KOGA\n" + .string "To: {PLAYER}\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}You and I, we must both set our\n" + .string "sights higher and work towards\l" + .string "meeting our challenges.\p" + .string "Now, I must go train my daughter.$" + +gUnknown_81B0667:: @ 0x81B0667 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}SABRINA$" + +gUnknown_81B0675:: @ 0x81B0675 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: SABRINA\n" + .string "To: {PLAYER}\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}The love you have towards your\n" + .string "POKéMON…\p" + .string "It was a power that was never\n" + .string "bested by my psychic power.$" + +gUnknown_81B06FB:: @ 0x81B06FB + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}BLAINE$" + +gUnknown_81B0708:: @ 0x81B0708 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: BLAINE\n" + .string "To: {PLAYER}\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}My fire POKéMON!\n" + .string "They’ll become even more powerful!\p" + .string "And now, a quiz. How many kinds of\n" + .string "FIRE-type POKéMON are there?$" + +gUnknown_81B079F:: @ 0x81B079F + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}LORELEI$" + +gUnknown_81B07AD:: @ 0x81B07AD + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: LORELEI\n" + .string "To: {PLAYER}\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}I needed to thank you for your\n" + .string "help.\p" + .string "But that has nothing to do with our\n" + .string "battles.\p" + .string "You’d better watch out next time!$" + +gUnknown_81B0845:: @ 0x81B0845 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}BRUNO$" + +gUnknown_81B0851:: @ 0x81B0851 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: BRUNO\n" + .string "To: {PLAYER}\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}The super power of your POKéMON\n" + .string "and you I’ve experienced myself.\p" + .string "Next time, maybe I should show you\n" + .string "how to train yourself.$" + +gUnknown_81B08EE:: @ 0x81B08EE + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}AGATHA$" + +gUnknown_81B08FB:: @ 0x81B08FB + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: AGATHA\n" + .string "To: {PLAYER}\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}When you grow older, don’t you\n" + .string "dare go soft like that coot OAK!\p" + .string "Be like me and keep battling on!$" + +gUnknown_81B097F:: @ 0x81B097F + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}LANCE$" + +gUnknown_81B098B:: @ 0x81B098B + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: LANCE\n" + .string "To: {PLAYER}\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}I’m considering going back to my\n" + .string "hometown.\p" + .string "I want to retrain my DRAGON-type\n" + .string "POKéMON and strengthen them.\p" + .string "I’d like to invite you to my\n" + .string "hometown one day.$" + +gUnknown_81B0A45:: @ 0x81B0A45 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}BILL$" + +gUnknown_81B0A50:: @ 0x81B0A50 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: BILL\n" + .string "To: {PLAYER}\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Hey, there! CELIO had nothing but\n" + .string "praise for you.\p" + .string "Hearing that makes me happy.\p" + .string "When you catch some rare POKéMON,\n" + .string "come show me, okay? Promise!$" + +gUnknown_81B0AFF:: @ 0x81B0AFF + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}MR. FUJI$" + +gUnknown_81B0B0E:: @ 0x81B0B0E + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: MR. FUJI\n" + .string "To: {PLAYER}\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Instead of hoping for the happiness\n" + .string "of just your POKéMON…\p" + .string "…Can I get you to wish for the\n" + .string "happiness of all POKéMON?$" + +gUnknown_81B0BA6:: @ 0x81B0BA6 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}GIOVANNI$" + +gUnknown_81B0BB5:: @ 0x81B0BB5 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: GIOVANNI\n" + .string "To: {PLAYER}\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}There is nothing that I wish to say\n" + .string "to you.\p" + .string "I will concentrate solely on\n" + .string "bettering myself, and none other.$" diff --git a/include/global.h b/include/global.h index 3dc11bfbd..568ece2be 100644 --- a/include/global.h +++ b/include/global.h @@ -570,6 +570,11 @@ struct QuestLog /*0x0668*/ u16 end[0]; }; +struct FameCheckerSaveData +{ + /*3a54*/ u8 unk_0_0:2; +}; + #define MAP_OBJECTS_COUNT 16 #define BERRY_TREES_COUNT 128 #define FLAGS_COUNT 288 // 300 @@ -634,7 +639,8 @@ struct SaveBlock1 /*0x3A14*/ u8 seen2[DEX_FLAGS_NO]; /*0x3A48*/ u8 filler_3a48[4]; /*0x3A4C*/ u8 rivalName[PLAYER_NAME_LENGTH]; - /*0x3A54*/ u8 filler3A54[0x2E4]; + /*0x3A54*/ struct FameCheckerSaveData fameChecker[17]; + /*0x3A98*/ u8 filler3A94[0x2A0]; u32 unkArray[4][3]; }; diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h index 639395941..432d06c81 100644 --- a/include/new_menu_helpers.h +++ b/include/new_menu_helpers.h @@ -16,5 +16,6 @@ void SetStandardWindowBorderStyle(u8 a0, u8 a1); void sub_8197930(void); u8 GetPlayerTextSpeed(void); void sub_80F6F54(u8, u8); +u8 sub_80F78A8(void); #endif // GUARD_NEW_MENU_HELPERS_H diff --git a/src/fame_checker.c b/src/fame_checker.c index e83eaa301..70fad0094 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -14,6 +14,7 @@ #include "sound.h" #include "text.h" #include "window.h" +#include "string_util.h" #include "text_window.h" struct FameCheckerData @@ -65,7 +66,7 @@ void sub_812CE04(u8 taskId); void sub_812CE9C(void); void sub_812CEC0(void); void sub_812CEE0(u8 windowId); -void sub_812CEFC(u8 taskId, u8 a1); +bool8 sub_812CEFC(u8 taskId, u8 a1); void sub_812CF3C(u8 taskId); void sub_812D0F4(u8 a0); void sub_812D1A8(u8 a0); @@ -93,6 +94,7 @@ void sub_812E4A4(u8 a0); extern const u8 gUnknown_84181E4[]; extern const u16 gUnknown_845C600[]; +extern const u8 *const gUnknown_845F63C[]; extern const struct BgTemplate gUnknown_845FBF4[4]; extern const struct SpriteSheet gUnknown_845FB9C[]; extern const struct SpritePalette gUnknown_845FBDC[]; @@ -417,3 +419,43 @@ void sub_812CAD8(u8 taskId) } } } + +void sub_812CC68(u8 taskId, s8 dx, s8 dy) +{ + u8 i; + s16 *data = gTasks[taskId].data; + PlaySE(SE_W155); + gSprites[data[0]].pos1.x += dx; + gSprites[data[0]].pos1.y += dy; + for (i = 0; i < 6; i++) + sub_812CEFC(gUnknown_203B0FC->unk_1D[i], 1); + FillWindowPixelRect(2, 0x11, 0, 0, 0xd0, 0x20); + sub_812C990(); + if (sub_812CEFC(gUnknown_203B0FC->unk_1D[data[1]], 0) == TRUE) + { + sub_812CE04(taskId); + sub_812DA14(data[1]); + } + else if (gUnknown_3005EC8 != 0xFF) + sub_812DB10(); +} + +void sub_812CD3C(void) +{ + u8 r8 = 0; + u16 r6 = sub_812E064(); + if (gSaveBlock1Ptr->fameChecker[gUnknown_203B0FC->unk_0C[r6]].unk_0_0 != 2) + { + sub_812CE9C(); + sub_812C990(); + } + else + { + FillWindowPixelRect(2, 0x11, 0, 0, 0xd0, 0x20); + if (sub_812D6B4() == TRUE) + r8 = 16; + StringExpandPlaceholders(gStringVar4, gUnknown_845F63C[gUnknown_203B0FC->unk_0C[r6] + r8]); + AddTextPrinterParametrized(2, 2, gStringVar4, sub_80F78A8(), 0, 2, 1, 3); + sub_812CEE0(2); + } +} From 3bbaaa4a737193294499176cce4638100c0941f5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 24 Nov 2018 22:13:10 -0500 Subject: [PATCH 120/222] sub_812CE04 --- asm/fame_checker.s | 71 ----- data/event_scripts.s | 2 +- data/fame_checker.s | 97 +++++- data/text/fame_checker.inc | 613 +++++++++++++++++++++++++++++++++++++ src/fame_checker.c | 13 +- 5 files changed, 722 insertions(+), 74 deletions(-) diff --git a/asm/fame_checker.s b/asm/fame_checker.s index 9cc4bf4ee..5a8b79754 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -5,77 +5,6 @@ .text - thumb_func_start sub_812CE04 -sub_812CE04: @ 812CE04 - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0812CE8C @ =gTasks+0x8 - adds r4, r0 - bl sub_812E064 - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - movs r0, 0xD0 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - ldr r6, _0812CE90 @ =gStringVar4 - ldr r2, _0812CE94 @ =gUnknown_845F6BC - ldr r0, _0812CE98 @ =gUnknown_203B0FC - ldr r0, [r0] - adds r0, 0xC - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - movs r3, 0x2 - ldrsh r1, [r4, r3] - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, [r0] - adds r0, r6, 0 - bl StringExpandPlaceholders - bl sub_80F78A8 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0x2 - adds r2, r6, 0 - bl AddTextPrinterParametrized - movs r0, 0x2 - bl sub_812CEE0 - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812CE8C: .4byte gTasks+0x8 -_0812CE90: .4byte gStringVar4 -_0812CE94: .4byte gUnknown_845F6BC -_0812CE98: .4byte gUnknown_203B0FC - thumb_func_end sub_812CE04 - thumb_func_start sub_812CE9C sub_812CE9C: @ 812CE9C push {lr} diff --git a/data/event_scripts.s b/data/event_scripts.s index 4161c97d7..764de7637 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -226,7 +226,7 @@ gUnknown_81A8DD8:: @ 81A8DD8 .incbin "baserom.gba", 0x1A8DD8, 0x25 gUnknown_81A8DFD:: @ 81A8DFD - .incbin "baserom.gba", 0x1A8DFD, 0x738b + .incbin "baserom.gba", 0x1A8DFD, 0x4309 .include "data/text/fame_checker.inc" diff --git a/data/fame_checker.s b/data/fame_checker.s index 7f58fde76..e1659f86b 100644 --- a/data/fame_checker.s +++ b/data/fame_checker.s @@ -76,7 +76,102 @@ gUnknown_845F63C:: @ 845F63C .4byte gUnknown_81B0BB5 gUnknown_845F6BC:: @ 845F6BC - .incbin "baserom.gba", 0x45F6BC, 0x180 + .4byte gUnknown_81AD106 + .4byte gUnknown_81AD145 + .4byte gUnknown_81AD1BB + .4byte gUnknown_81AD258 + .4byte gUnknown_81AD2B9 + .4byte gUnknown_81AD377 + .4byte gUnknown_81AD40C + .4byte gUnknown_81AD4AE + .4byte gUnknown_81AD516 + .4byte gUnknown_81AD5A7 + .4byte gUnknown_81AD608 + .4byte gUnknown_81AD69F + .4byte gUnknown_81AD705 + .4byte gUnknown_81AD771 + .4byte gUnknown_81AD840 + .4byte gUnknown_81AD908 + .4byte gUnknown_81AD99A + .4byte gUnknown_81ADA27 + .4byte gUnknown_81ADA91 + .4byte gUnknown_81ADAF6 + .4byte gUnknown_81ADB5A + .4byte gUnknown_81ADBD9 + .4byte gUnknown_81ADC72 + .4byte gUnknown_81ADCEB + .4byte gUnknown_81ADD3C + .4byte gUnknown_81ADDA7 + .4byte gUnknown_81ADE0B + .4byte gUnknown_81ADE82 + .4byte gUnknown_81ADEEC + .4byte gUnknown_81ADF6A + .4byte gUnknown_81AE009 + .4byte gUnknown_81AE072 + .4byte gUnknown_81AE0F3 + .4byte gUnknown_81AE15B + .4byte gUnknown_81AE1E5 + .4byte gUnknown_81AE247 + .4byte gUnknown_81AE2B6 + .4byte gUnknown_81AE31D + .4byte gUnknown_81AE37D + .4byte gUnknown_81AE407 + .4byte gUnknown_81AE48D + .4byte gUnknown_81AE51B + .4byte gUnknown_81AE5E8 + .4byte gUnknown_81AE656 + .4byte gUnknown_81AE6D7 + .4byte gUnknown_81AE762 + .4byte gUnknown_81AE7CB + .4byte gUnknown_81AE841 + .4byte gUnknown_81AE89E + .4byte gUnknown_81AE90A + .4byte gUnknown_81AE990 + .4byte gUnknown_81AEA59 + .4byte gUnknown_81AEAEE + .4byte gUnknown_81AEB69 + .4byte gUnknown_81AEBDF + .4byte gUnknown_81AEC28 + .4byte gUnknown_81AEC82 + .4byte gUnknown_81AED27 + .4byte gUnknown_81AEDAA + .4byte gUnknown_81AEE51 + .4byte gUnknown_81AEF25 + .4byte gUnknown_81AEF6C + .4byte gUnknown_81AEFC6 + .4byte gUnknown_81AF04C + .4byte gUnknown_81AF0F0 + .4byte gUnknown_81AF19A + .4byte gUnknown_81AF200 + .4byte gUnknown_81AF248 + .4byte gUnknown_81AF2B7 + .4byte gUnknown_81AF34E + .4byte gUnknown_81AF3BE + .4byte gUnknown_81AF47C + .4byte gUnknown_81AF4FD + .4byte gUnknown_81AF567 + .4byte gUnknown_81AF641 + .4byte gUnknown_81AF6BA + .4byte gUnknown_81AF758 + .4byte gUnknown_81AF7CB + .4byte gUnknown_81AF83E + .4byte gUnknown_81AF8CA + .4byte gUnknown_81AF929 + .4byte gUnknown_81AF998 + .4byte gUnknown_81AFA20 + .4byte gUnknown_81AFAB9 + .4byte gUnknown_81AFB0C + .4byte gUnknown_81AFB76 + .4byte gUnknown_81AFC38 + .4byte gUnknown_81AFCE9 + .4byte gUnknown_81AFD49 + .4byte gUnknown_81AFDC4 + .4byte gUnknown_81AFE68 + .4byte gUnknown_81AFF23 + .4byte gUnknown_81AFFA8 + .4byte gUnknown_81B0022 + .4byte gUnknown_81B00A6 + .4byte gUnknown_81B0106 gUnknown_845F83C:: @ 845F83C .incbin "baserom.gba", 0x45F83C, 0x60 diff --git a/data/text/fame_checker.inc b/data/text/fame_checker.inc index 4462ce62f..fd4864dc8 100644 --- a/data/text/fame_checker.inc +++ b/data/text/fame_checker.inc @@ -1,3 +1,616 @@ +gUnknown_81AD106:: @ 0x81AD106 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" + .string "{COLOR RED}{SHADOW GREEN}OAK POKéMON RESEARCH LAB$" + +gUnknown_81AD145:: @ 0x81AD145 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}To make a complete guide on all\n" + .string "the POKéMON in the world…\p" + .string "That was my dream!$" + +gUnknown_81AD1BB:: @ 0x81AD1BB + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}PROF. OAK may not look like much,\n" + .string "but he’s the authority on POKéMON.\p" + .string "Many POKéMON TRAINERS hold him in\n" + .string "high regard.$" + +gUnknown_81AD258:: @ 0x81AD258 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" + .string "{COLOR RED}{SHADOW GREEN}PROF. OAK reportedly lives with his\n" + .string "grandchildren, DAISY and {RIVAL}.$" + +gUnknown_81AD2B9:: @ 0x81AD2B9 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}I hear OAK’s taken a lot of\n" + .string "interest in you, child.\p" + .string "That old duff was once tough and\n" + .string "handsome.\p" + .string "But that was decades ago.\n" + .string "He’s a shadow of his former self.$" + +gUnknown_81AD377:: @ 0x81AD377 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}PROF. OAK is going to have his own\n" + .string "radio show soon.\p" + .string "The program will be called PROF.\n" + .string "OAK’S POKéMON SEMINAR.$" + +gUnknown_81AD40C:: @ 0x81AD40C + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}If you show DAISY your POKéMON,\n" + .string "she can tell how much it likes you.\p" + .string "Occasionally, she will even groom\n" + .string "a POKéMON for you.$" + +gUnknown_81AD4AE:: @ 0x81AD4AE + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}But the person who is most liked by\n" + .string "POKéMON is DAISY, I think.$" + +gUnknown_81AD516:: @ 0x81AD516 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}She was gently grooming POKéMON…\n" + .string "She was a little angel.\p" + .string "That little girl’s name…\n" + .string "I think it was DAISY.$" + +gUnknown_81AD5A7:: @ 0x81AD5A7 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" + .string "{COLOR RED}{SHADOW GREEN}PROF. OAK reportedly lives with his\n" + .string "grandchildren, DAISY and {RIVAL}.$" + +gUnknown_81AD608:: @ 0x81AD608 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}A girl from PALLET TOWN, DAISY,\n" + .string "she enjoys TEA every day.\p" + .string "She visits the CELADON DEPT. STORE\n" + .string "to buy some TEA.$" + +gUnknown_81AD69F:: @ 0x81AD69F + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" + .string "{COLOR RED}{SHADOW GREEN}The Spring POKéMON CONTEST’s\n" + .string "Grand Champion is DAISY OAK of\l" + .string "PALLET TOWN!$" + +gUnknown_81AD705:: @ 0x81AD705 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" + .string "{COLOR RED}{SHADOW GREEN}PEWTER CITY POKéMON GYM\n" + .string "LEADER: BROCK\l" + .string "The Rock-Solid POKéMON TRAINER!$" + +gUnknown_81AD771:: @ 0x81AD771 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}My rock-hard willpower is evident\n" + .string "in even my POKéMON.\p" + .string "My POKéMON are all rock hard and\n" + .string "have true-grit determination.\p" + .string "That’s right - my POKéMON are all\n" + .string "the ROCK type!$" + +gUnknown_81AD840:: @ 0x81AD840 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}There aren’t many serious POKéMON\n" + .string "TRAINERS here.\p" + .string "They’re all like BUG CATCHERS,\n" + .string "you know, just hobbyists.\p" + .string "But PEWTER GYM’s BROCK isn’t like\n" + .string "that, not one bit.$" + +gUnknown_81AD908:: @ 0x81AD908 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}BROCK is cool. He’s not just tough.\n" + .string "People like and respect him.\p" + .string "I want to become a GYM LEADER\n" + .string "like him.$" + +gUnknown_81AD99A:: @ 0x81AD99A + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Hi, I’m excavating for fossils here\n" + .string "under MT. MOON.\p" + .string "Sometimes, BROCK of PEWTER GYM\n" + .string "lends me a hand.$" + +gUnknown_81ADA27:: @ 0x81ADA27 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{COLOR RED}{SHADOW GREEN}BROCK rarely laughs, but is said to\n" + .string "be unable to stop if he starts.$" + +gUnknown_81ADA91:: @ 0x81ADA91 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" + .string "{COLOR RED}{SHADOW GREEN}CERULEAN CITY POKéMON GYM\n" + .string "LEADER: MISTY\l" + .string "The Tomboyish Mermaid!$" + +gUnknown_81ADAF6:: @ 0x81ADAF6 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}My policy is an all-out offensive\n" + .string "with WATER-type POKéMON!$" + +gUnknown_81ADB5A:: @ 0x81ADB5A + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}MISTY is a TRAINER who’s going to\n" + .string "keep improving.\p" + .string "She won’t lose to someone like you!$" + +gUnknown_81ADBD9:: @ 0x81ADBD9 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Strong TRAINERS and WATER POKéMON\n" + .string "are common sights in these parts.\p" + .string "They say that MISTY of the\n" + .string "CERULEAN GYM trains here.$" + +gUnknown_81ADC72:: @ 0x81ADC72 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}This cape is a famous date spot.\p" + .string "MISTY, the GYM LEADER, has high\n" + .string "hopes about this place.$" + +gUnknown_81ADCEB:: @ 0x81ADCEB + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" + .string "{COLOR RED}{SHADOW GREEN}MISTY is said to worship LORELEI\n" + .string "of the ELITE FOUR.$" + +gUnknown_81ADD3C:: @ 0x81ADD3C + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" + .string "{COLOR RED}{SHADOW GREEN}VERMILION CITY POKéMON GYM\n" + .string "LEADER: LT. SURGE\l" + .string "The Lightning American!$" + +gUnknown_81ADDA7:: @ 0x81ADDA7 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}I tell you, kid, electric POKéMON\n" + .string "saved me during the war!$" + +gUnknown_81ADE0B:: @ 0x81ADE0B + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}When I was in the Army, LT. SURGE\n" + .string "was my strict CO.\p" + .string "He was a hard taskmaster.$" + +gUnknown_81ADE82:: @ 0x81ADE82 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}LT. SURGE was always famous for\n" + .string "his cautious nature in the Army.$" + +gUnknown_81ADEEC:: @ 0x81ADEEC + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}LT. SURGE installed the traps in\n" + .string "the GYM himself.\p" + .string "He set up double locks everywhere.$" + +gUnknown_81ADF6A:: @ 0x81ADF6A + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" + .string "{COLOR RED}{SHADOW GREEN}LT. SURGE is rumored to have been\n" + .string "a pilot while home in America.\p" + .string "He used the electricity generated\n" + .string "by POKéMON to power his plane.$" + +gUnknown_81AE009:: @ 0x81AE009 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" + .string "{COLOR RED}{SHADOW GREEN}CELADON CITY POKéMON GYM\n" + .string "LEADER: ERIKA\l" + .string "The Nature-Loving Princess!$" + +gUnknown_81AE072:: @ 0x81AE072 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}I am a student of the art of\n" + .string "flower arranging.\p" + .string "My POKéMON are solely of the\n" + .string "GRASS type.$" + +gUnknown_81AE0F3:: @ 0x81AE0F3 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}Our LEADER ERIKA might be quiet,\n" + .string "but she’s famous around here.$" + +gUnknown_81AE15B:: @ 0x81AE15B + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}We only use GRASS-type POKéMON at\n" + .string "our GYM.\p" + .string "Why? We also use them for making\n" + .string "flower arrangements!$" + +gUnknown_81AE1E5:: @ 0x81AE1E5 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}I would never collect POKéMON if\n" + .string "they were unattractive.$" + +gUnknown_81AE247:: @ 0x81AE247 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" + .string "{COLOR RED}{SHADOW GREEN}Rumor has it that if you peek into\n" + .string "CELADON GYM, you can often\l" + .string "see ERIKA snoozing.$" + +gUnknown_81AE2B6:: @ 0x81AE2B6 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" + .string "{COLOR RED}{SHADOW GREEN}FUCHSIA CITY POKéMON GYM\n" + .string "LEADER: KOGA\l" + .string "The Poisonous Ninja Master$" + +gUnknown_81AE31D:: @ 0x81AE31D + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Despair to the creeping horror of\n" + .string "POISON-type POKéMON!$" + +gUnknown_81AE37D:: @ 0x81AE37D + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Even though I’ve lost, I will keep\n" + .string "training according to the teachings\l" + .string "of KOGA, my ninja master.$" + +gUnknown_81AE407:: @ 0x81AE407 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}My father is the GYM LEADER of\n" + .string "this town.\p" + .string "I’m training to use POISON POKéMON\n" + .string "as well as my father.$" + +gUnknown_81AE48D:: @ 0x81AE48D + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" + .string "{COLOR RED}{SHADOW GREEN}KOGA is said to have a thorough\n" + .string "knowledge of medicine.\p" + .string "He even concocts medicine to nurse\n" + .string "his POKéMON to health.$" + +gUnknown_81AE51B:: @ 0x81AE51B + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}The SAFARI ZONE’s huge, wouldn’t\n" + .string "you say?\p" + .string "FUCHSIA’s GYM LEADER, KOGA, \n" + .string "patrols the grounds every so often.\p" + .string "Thanks to him, we can play here\n" + .string "knowing that we’re safe.$" + +gUnknown_81AE5E8:: @ 0x81AE5E8 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" + .string "{COLOR RED}{SHADOW GREEN}SAFFRON CITY POKéMON GYM\n" + .string "LEADER: SABRINA\l" + .string "The Master of PSYCHIC POKéMON!$" + +gUnknown_81AE656:: @ 0x81AE656 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}You know about a girl GYM LEADER\n" + .string "in SAFFRON CITY?\p" + .string "She uses PSYCHIC-type POKéMON,\n" + .string "right?$" + +gUnknown_81AE6D7:: @ 0x81AE6D7 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}I have had psychic powers since\n" + .string "I was a child.\p" + .string "It started when a spoon I\n" + .string "carelessly tossed, bent.$" + +gUnknown_81AE762:: @ 0x81AE762 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}I dislike battling, but if you wish,\n" + .string "I will show you my powers!$" + +gUnknown_81AE7CB:: @ 0x81AE7CB + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" + .string "{COLOR RED}{SHADOW GREEN}People say that SABRINA can\n" + .string "communicate with her POKéMON\l" + .string "during battle without speaking.$" + +gUnknown_81AE841:: @ 0x81AE841 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}SABRINA just wiped out the KARATE\n" + .string "MASTER next door.$" + +gUnknown_81AE89E:: @ 0x81AE89E + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" + .string "{COLOR RED}{SHADOW GREEN}CINNABAR ISLAND POKéMON GYM\n" + .string "LEADER: BLAINE\l" + .string "The Hotheaded Quiz Master!$" + +gUnknown_81AE90A:: @ 0x81AE90A + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}My fiery POKéMON are all rough\n" + .string "and ready with intense heat!\p" + .string "They incinerate all challengers!$" + +gUnknown_81AE990:: @ 0x81AE990 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Our LEADER, BLAINE, became lost\n" + .string "in the mountains but good.\p" + .string "Night fell when a fiery bird\n" + .string "POKéMON appeared.\p" + .string "Its light allowed BLAINE to find\n" + .string "his way down safely.$" + +gUnknown_81AEA59:: @ 0x81AEA59 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}CINNABAR GYM’s BLAINE is quite the\n" + .string "odd fellow.\p" + .string "He’s lived on the island since way\n" + .string "before the LAB was built.$" + +gUnknown_81AEAEE:: @ 0x81AEAEE + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" + .string "{COLOR RED}{SHADOW GREEN}It’s a photo of BLAINE and\n" + .string "MR. FUJI.\p" + .string "They’re standing shoulder to\n" + .string "shoulder with big grins.$" + +gUnknown_81AEB69:: @ 0x81AEB69 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" + .string "{COLOR RED}{SHADOW GREEN}BLAINE is said to remove his dark\n" + .string "shades only when he is thinking up\l" + .string "new quiz questions.$" + +gUnknown_81AEBDF:: @ 0x81AEBDF + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}I am LORELEI of the ELITE FOUR.$" + +gUnknown_81AEC28:: @ 0x81AEC28 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}No one can best me when it comes\n" + .string "to icy POKéMON.$" + +gUnknown_81AEC82:: @ 0x81AEC82 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Where was this person born?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}We’ve had a great and powerful\n" + .string "TRAINER grow up on this island.\p" + .string "I bet even you’d know her.\n" + .string "It’s LORELEI of the ELITE FOUR!$" + +gUnknown_81AED27:: @ 0x81AED27 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{COLOR RED}{SHADOW GREEN}Known for her logical, calculated,\n" + .string "and cool battling style, LORELEI\l" + .string "has a surprising secret!$" + +gUnknown_81AEDAA:: @ 0x81AEDAA + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}Did you know that LORELEI has lots\n" + .string "and lots of stuffed dolls?\p" + .string "Every time she comes back to\n" + .string "FOUR ISLAND, her collection grows!$" + +gUnknown_81AEE51:: @ 0x81AEE51 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}The LAPRAS she has, I imagine it\n" + .string "to be the one she met as a child.\p" + .string "I believe it was in ICEFALL CAVE\n" + .string "that she caught it.\p" + .string "Perhaps that POKéMON has been with\n" + .string "her ever since.$" + +gUnknown_81AEF25:: @ 0x81AEF25 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}I am BRUNO of the ELITE FOUR!$" + +gUnknown_81AEF6C:: @ 0x81AEF6C + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}I’ve lived and trained with my\n" + .string "fighting POKéMON!$" + +gUnknown_81AEFC6:: @ 0x81AEFC6 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{COLOR RED}{SHADOW GREEN}BRUNO apparently joined the ELITE\n" + .string "FOUR out of his burning ambition to\l" + .string "battle the best TRAINERS.$" + +gUnknown_81AF04C:: @ 0x81AF04C + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}BRUNO, who’s a senior ahead of me,\n" + .string "visits the SPA on occasion.\p" + .string "He comes to rehab injuries, both\n" + .string "his own and his POKéMON’s.$" + +gUnknown_81AF0F0:: @ 0x81AF0F0 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}He’s one of the ELITE FOUR.\n" + .string "His name is BRUNO.\p" + .string "He went away disappointed when he\n" + .string "found out that they were all sold\l" + .string "out of Rage Candybars.$" + +gUnknown_81AF19A:: @ 0x81AF19A + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Even BRUNO…\n" + .string "He trained with a fellow by the\l" + .string "name of BRAWLY before.$" + +gUnknown_81AF200:: @ 0x81AF200 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}I am AGATHA of the ELITE FOUR.$" + +gUnknown_81AF248:: @ 0x81AF248 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}AGATHA’s GHOST-type POKéMON are\n" + .string "horrifically terrifying in toughness.$" + +gUnknown_81AF2B7:: @ 0x81AF2B7 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}That old lady’s also got a really\n" + .string "short fuse, too.\p" + .string "It doesn’t take anything to get\n" + .string "that scary lady hollering.$" + +gUnknown_81AF34E:: @ 0x81AF34E + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" + .string "{COLOR RED}{SHADOW GREEN}In her youth, AGATHA and PROF.\n" + .string "OAK were rivals who vied for\l" + .string "supremacy as TRAINERS.$" + +gUnknown_81AF3BE:: @ 0x81AF3BE + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}I hear OAK’s taken a lot of\n" + .string "interest in you, child.\p" + .string "That old duff was once tough and\n" + .string "handsome.\p" + .string "But that was decades ago.\n" + .string "He’s a shadow of his former self.$" + +gUnknown_81AF47C:: @ 0x81AF47C + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}Take AGATHA, for example.\p" + .string "She set a record for being the\n" + .string "oldest-ever ELITE FOUR member.$" + +gUnknown_81AF4FD:: @ 0x81AF4FD + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}I lead the ELITE FOUR.\p" + .string "You can call me LANCE the dragon\n" + .string "TRAINER.$" + +gUnknown_81AF567:: @ 0x81AF567 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}You know that dragons are\n" + .string "mythical POKéMON.\p" + .string "They’re hard to catch and raise,\n" + .string "but their powers are superior.\p" + .string "They’re virtually indestructible.\n" + .string "There’s no being clever with them.$" + +gUnknown_81AF641:: @ 0x81AF641 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}He stands for justice!\n" + .string "He’s cool, and yet passionate!\l" + .string "He’s the greatest, LANCE!$" + +gUnknown_81AF6BA:: @ 0x81AF6BA + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}We have a customer, LANCE, who\n" + .string "occasionally comes.\p" + .string "He always buys capes.\p" + .string "I wonder… Does he have many\n" + .string "identical capes at home?$" + +gUnknown_81AF758:: @ 0x81AF758 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" + .string "{COLOR RED}{SHADOW GREEN}LANCE’s grandfather is thought to\n" + .string "be the elder of a famous clan of\l" + .string "dragon masters.$" + +gUnknown_81AF7CB:: @ 0x81AF7CB + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}From what I’ve heard, LANCE has\n" + .string "a cousin who’s a GYM LEADER\l" + .string "somewhere far away.$" + +gUnknown_81AF83E:: @ 0x81AF83E + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}After all, BILL’s world-famous as a\n" + .string "POKéMANIAC.\p" + .string "He invented the POKéMON Storage\n" + .string "System on PC, too.$" + +gUnknown_81AF8CA:: @ 0x81AF8CA + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}BILL has lots of POKéMON!\n" + .string "He collects rare ones, too!$" + +gUnknown_81AF929:: @ 0x81AF929 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}He’s my grandson!\p" + .string "He always liked collecting things,\n" + .string "even as a child!$" + +gUnknown_81AF998:: @ 0x81AF998 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}BILL is a POKéMANIAC, so he loves\n" + .string "every kind.\p" + .string "Apparently, the first one he caught\n" + .string "was an ABRA.$" + +gUnknown_81AFA20:: @ 0x81AFA20 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}BILL’s hometown is GOLDENROD CITY,\n" + .string "where his folks still live.\p" + .string "I’ve heard that it’s quite the\n" + .string "festive, bustling city.$" + +gUnknown_81AFAB9:: @ 0x81AFAB9 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Apparently, BILL simply can’t\n" + .string "stomach milk at all.$" + +gUnknown_81AFB0C:: @ 0x81AFB0C + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" + .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}He’s really kind.\p" + .string "He looks after abandoned and\n" + .string "orphaned POKéMON.$" + +gUnknown_81AFB76:: @ 0x81AFB76 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}This old guy marched right up to\n" + .string "our HIDEOUT.\p" + .string "Then, he starts ranting about how\n" + .string "TEAM ROCKET’s abusing POKéMON.\p" + .string "So, we’re just talking it over as\n" + .string "adults.$" + +gUnknown_81AFC38:: @ 0x81AFC38 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{COLOR RED}{SHADOW GREEN}POKéMON FAN MAGAZINE\n" + .string "Monthly Grand Prize Drawing!\p" + .string "The application form is…\p" + .string "Gone! It’s been clipped out.\n" + .string "Someone must have applied already.$" + +gUnknown_81AFCE9:: @ 0x81AFCE9 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}I hear that MR. FUJI’s not from\n" + .string "these parts originally, either.$" + +gUnknown_81AFD49:: @ 0x81AFD49 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" + .string "{COLOR RED}{SHADOW GREEN}It’s a photo of BLAINE and\n" + .string "MR. FUJI.\p" + .string "They’re standing shoulder to\n" + .string "shoulder with big grins.$" + +gUnknown_81AFDC4:: @ 0x81AFDC4 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{COLOR RED}{SHADOW GREEN}Editor: The shy MR. FUJI turned\n" + .string "down our interview requests.\p" + .string "He is a kindly man who is adored\n" + .string "and respected in LAVENDER TOWN.$" + +gUnknown_81AFE68:: @ 0x81AFE68 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}TEAM ROCKET captures POKéMON from\n" + .string "around the world.\p" + .string "They’re important tools for keeping\n" + .string "our criminal enterprise going.\p" + .string "I am the leader, GIOVANNI!$" + +gUnknown_81AFF23:: @ 0x81AFF23 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Those thugs that took over our\n" + .string "building…\p" + .string "Their BOSS said he was looking for\n" + .string "strong POKéMON.$" + +gUnknown_81AFFA8:: @ 0x81AFFA8 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}TEAM ROCKET’s BOSS is terribly\n" + .string "cruel!\p" + .string "To him, POKéMON are just tools to\n" + .string "be used.$" + +gUnknown_81B0022:: @ 0x81B0022 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Welcome to my hideout!\p" + .string "It shall be so until I can restore\n" + .string "TEAM ROCKET to its former glory.$" + +gUnknown_81B00A6:: @ 0x81B00A6 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Blow me away! GIOVANNI was the\n" + .string "GYM LEADER of VIRIDIAN?$" + +gUnknown_81B0106:: @ 0x81B0106 + .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" + .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}You… You’re not GIOVANNI’s kid,\n" + .string "are you?\p" + .string "No, that can’t be right.\n" + .string "GIOVANNI’s kid has red hair.$" + + gUnknown_81B0188:: @ 0x81B0188 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}PROF. OAK$" diff --git a/src/fame_checker.c b/src/fame_checker.c index 70fad0094..a7feb0cf8 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -95,6 +95,7 @@ extern const u8 gUnknown_84181E4[]; extern const u16 gUnknown_845C600[]; extern const u8 *const gUnknown_845F63C[]; +extern const u8 *const gUnknown_845F6BC[]; extern const struct BgTemplate gUnknown_845FBF4[4]; extern const struct SpriteSheet gUnknown_845FB9C[]; extern const struct SpritePalette gUnknown_845FBDC[]; @@ -455,7 +456,17 @@ void sub_812CD3C(void) if (sub_812D6B4() == TRUE) r8 = 16; StringExpandPlaceholders(gStringVar4, gUnknown_845F63C[gUnknown_203B0FC->unk_0C[r6] + r8]); - AddTextPrinterParametrized(2, 2, gStringVar4, sub_80F78A8(), 0, 2, 1, 3); + AddTextPrinterParametrized(2, 2, gStringVar4, sub_80F78A8(), NULL, 2, 1, 3); sub_812CEE0(2); } } + +void sub_812CE04(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u16 r5 = sub_812E064(); + FillWindowPixelRect(2, 0x11, 0, 0, 0xd0, 0x20); + StringExpandPlaceholders(gStringVar4, gUnknown_845F6BC[gUnknown_203B0FC->unk_0C[r5] * 6 + data[1]]); + AddTextPrinterParametrized(2, 2, gStringVar4, sub_80F78A8(), NULL, 2, 1, 3); + sub_812CEE0(2); +} From 8f9ec933264a3ecfe204b653c508feacde3c976d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 24 Nov 2018 23:02:38 -0500 Subject: [PATCH 121/222] through sub_812D094 --- asm/fame_checker.s | 258 ------------------------------------- include/list_menu.h | 1 + include/new_menu_helpers.h | 2 + src/fame_checker.c | 102 ++++++++++++++- 4 files changed, 98 insertions(+), 265 deletions(-) diff --git a/asm/fame_checker.s b/asm/fame_checker.s index 5a8b79754..a99054d8b 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -5,264 +5,6 @@ .text - thumb_func_start sub_812CE9C -sub_812CE9C: @ 812CE9C - push {lr} - sub sp, 0x8 - movs r0, 0xD0 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - movs r0, 0x2 - bl sub_812CEE0 - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_812CE9C - - thumb_func_start sub_812CEC0 -sub_812CEC0: @ 812CEC0 - push {lr} - bl sub_80F6E9C - movs r0, 0x2 - movs r1, 0x1 - bl sub_80F6EE4 - movs r0, 0x2 - bl sub_812CEE0 - movs r0, 0 - bl sub_812CEE0 - pop {r0} - bx r0 - thumb_func_end sub_812CEC0 - - thumb_func_start sub_812CEE0 -sub_812CEE0: @ 812CEE0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812CEE0 - - thumb_func_start sub_812CEFC -sub_812CEFC: @ 812CEFC - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r2, _0812CF1C @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r3, r1, r2 - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0xFF - bne _0812CF20 - movs r0, 0 - b _0812CF36 - .align 2, 0 -_0812CF1C: .4byte gSprites -_0812CF20: - movs r0, 0x3 - adds r1, r4, 0 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x1] - movs r0, 0x1 -_0812CF36: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812CEFC - - thumb_func_start sub_812CF3C -sub_812CF3C: @ 812CF3C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0xC7 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0812CF74 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0812CF78 @ =sub_812CF7C - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812CF74: .4byte gTasks -_0812CF78: .4byte sub_812CF7C - thumb_func_end sub_812CF3C - - thumb_func_start sub_812CF7C -sub_812CF7C: @ 812CF7C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _0812D074 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0812D06C - ldr r0, _0812D078 @ =gUnknown_203B0FC - ldr r0, [r0] - ldrb r1, [r0, 0x7] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0812CFD8 - bl sub_812E064 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r6, 0 - bl sub_812D9A8 - ldr r0, _0812D07C @ =gTasks - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 3 - adds r4, r0 - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _0812D080 @ =gSprites - adds r0, r5 - bl FreeSpriteOamMatrix - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite -_0812CFD8: - movs r4, 0 -_0812CFDA: - ldr r5, _0812D078 @ =gUnknown_203B0FC - ldr r0, [r5] - adds r0, 0x1D - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0812D080 @ =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0812CFDA - bl sub_812D814 - bl sub_812D7C8 - bl sub_812D70C - bl sub_812D770 - bl sub_812E048 - ldr r0, [r5] - ldr r0, [r0] - bl SetMainCallback2 - ldr r0, [r5] - ldrb r0, [r0, 0x8] - movs r1, 0 - movs r2, 0 - bl sub_810713C - ldr r0, _0812D084 @ =gUnknown_203B0F0 - ldr r0, [r0] - bl Free - ldr r0, _0812D088 @ =gUnknown_203B0F4 - ldr r0, [r0] - bl Free - ldr r0, _0812D08C @ =gUnknown_203B0F8 - ldr r0, [r0] - bl Free - ldr r0, [r5] - bl Free - ldr r0, _0812D090 @ =gUnknown_203B100 - ldr r0, [r0] - bl Free - movs r0, 0 - bl sub_812D094 - movs r0, 0x1 - bl sub_812D094 - movs r0, 0x2 - bl sub_812D094 - movs r0, 0x3 - bl sub_812D094 - bl FreeAllWindowBuffers - adds r0, r6, 0 - bl DestroyTask -_0812D06C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812D074: .4byte gPaletteFade -_0812D078: .4byte gUnknown_203B0FC -_0812D07C: .4byte gTasks -_0812D080: .4byte gSprites -_0812D084: .4byte gUnknown_203B0F0 -_0812D088: .4byte gUnknown_203B0F4 -_0812D08C: .4byte gUnknown_203B0F8 -_0812D090: .4byte gUnknown_203B100 - thumb_func_end sub_812CF7C - - thumb_func_start sub_812D094 -sub_812D094: @ 812D094 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0 - bl ClearWindowTilemap - adds r0, r4, 0 - movs r1, 0x2 - bl CopyWindowToVram - adds r0, r4, 0 - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812D094 - thumb_func_start sub_812D0C0 sub_812D0C0: @ 812D0C0 push {r4,lr} diff --git a/include/list_menu.h b/include/list_menu.h index f547801bd..89adeaba0 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -54,5 +54,6 @@ u8 ListMenuInit(struct ListMenuTemplate *template, u16 a1, u16 a2); s32 ListMenuHandleInput(u8 id); void get_coro_args_x18_x1A(u8 a0, u16 *a1, u16 *a2); void sub_81AE6C8(u8 a0, u16 *a1, u16 *a2); +void sub_810713C(u8, u8, u8); #endif //GUARD_LIST_MENU_H diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h index 432d06c81..2ff20eb39 100644 --- a/include/new_menu_helpers.h +++ b/include/new_menu_helpers.h @@ -17,5 +17,7 @@ void sub_8197930(void); u8 GetPlayerTextSpeed(void); void sub_80F6F54(u8, u8); u8 sub_80F78A8(void); +void sub_80F6E9C(void); +void sub_80F6EE4(u8, u8); #endif // GUARD_NEW_MENU_HELPERS_H diff --git a/src/fame_checker.c b/src/fame_checker.c index a7feb0cf8..bb2fe29b5 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -19,13 +19,13 @@ struct FameCheckerData { - void (*unk_00)(void); + MainCallback unk_00; u16 unk_04; u8 filler_06[1]; u8 unk_07_0:1; u8 unk_07_1:1; u8 unk_07_2:6; - u8 filler_08[1]; + u8 unk_08; u8 unk_09; u8 unk_0A; u8 unk_0B; @@ -66,8 +66,10 @@ void sub_812CE04(u8 taskId); void sub_812CE9C(void); void sub_812CEC0(void); void sub_812CEE0(u8 windowId); -bool8 sub_812CEFC(u8 taskId, u8 a1); +bool8 sub_812CEFC(u8 taskId, u8 objMode); void sub_812CF3C(u8 taskId); +void sub_812CF7C(u8 taskId); +void sub_812D094(u8 windowId); void sub_812D0F4(u8 a0); void sub_812D1A8(u8 a0); void sub_812D420(void); @@ -75,10 +77,14 @@ void sub_812D558(void); void sub_812D584(void); void sub_812D594(void); bool8 sub_812D6B4(void); +void sub_812D70C(void); u8 sub_812D724(s16 a0); void sub_812D764(struct Sprite *sprite); +void sub_812D770(void); +void sub_812D7C8(void); u8 sub_812D7E4(void); void sub_812D800(struct Sprite *sprite); +void sub_812D814(void); u8 sub_812D888(u8 a0); void sub_812D9A8(u8 a0, u16 a1); void sub_812DA14(u8 a0); @@ -272,7 +278,7 @@ void sub_812C694(u8 taskId) for (r4_2 = 0; r4_2 < 6; r4_2++) { if (r4_2 != task->data[1]) - sub_812CEFC(gUnknown_203B0FC->unk_1D[r4_2], 1); + sub_812CEFC(gUnknown_203B0FC->unk_1D[r4_2], ST_OAM_OBJ_BLEND); } gUnknown_3005EC8 = 0xFF; sub_812E4A4(0); @@ -369,7 +375,7 @@ void sub_812CAD8(u8 taskId) u8 r4; PlaySE(SE_SELECT); for (r4 = 0; r4 < 6; r4++) - sub_812CEFC(gUnknown_203B0FC->unk_1D[r4], 0); + sub_812CEFC(gUnknown_203B0FC->unk_1D[r4], ST_OAM_OBJ_NORMAL); sub_812CE9C(); gSprites[task->data[0]].callback = sub_812D764; if (gUnknown_3005EC8 != 0xFF) @@ -429,10 +435,10 @@ void sub_812CC68(u8 taskId, s8 dx, s8 dy) gSprites[data[0]].pos1.x += dx; gSprites[data[0]].pos1.y += dy; for (i = 0; i < 6; i++) - sub_812CEFC(gUnknown_203B0FC->unk_1D[i], 1); + sub_812CEFC(gUnknown_203B0FC->unk_1D[i], ST_OAM_OBJ_BLEND); FillWindowPixelRect(2, 0x11, 0, 0, 0xd0, 0x20); sub_812C990(); - if (sub_812CEFC(gUnknown_203B0FC->unk_1D[data[1]], 0) == TRUE) + if (sub_812CEFC(gUnknown_203B0FC->unk_1D[data[1]], ST_OAM_OBJ_NORMAL) == TRUE) { sub_812CE04(taskId); sub_812DA14(data[1]); @@ -470,3 +476,85 @@ void sub_812CE04(u8 taskId) AddTextPrinterParametrized(2, 2, gStringVar4, sub_80F78A8(), NULL, 2, 1, 3); sub_812CEE0(2); } + +void sub_812CE9C(void) +{ + FillWindowPixelRect(2, 0x11, 0, 0, 0xd0, 0x20); + sub_812CEE0(2); +} + +void sub_812CEC0(void) +{ + sub_80F6E9C(); + sub_80F6EE4(2, 1); + sub_812CEE0(2); + sub_812CEE0(0); +} + +void sub_812CEE0(u8 windowId) +{ + PutWindowTilemap(windowId); + CopyWindowToVram(windowId, 3); +} + +bool8 sub_812CEFC(u8 spriteId, u8 objMode) +{ + if (gSprites[spriteId].data[1] != 0xFF) + { + gSprites[spriteId].oam.objMode = objMode; + return TRUE; + } + return FALSE; +} + +void sub_812CF3C(u8 taskId) +{ + PlaySE(SE_W202); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + gTasks[taskId].func = sub_812CF7C; +} + +void sub_812CF7C(u8 taskId) +{ + u8 r4; + + if (!gPaletteFade.active) + { + if (gUnknown_203B0FC->unk_07_1) + { + sub_812D9A8(taskId, sub_812E064()); + FreeSpriteOamMatrix(&gSprites[gTasks[taskId].data[3]]); + DestroySprite(&gSprites[gTasks[taskId].data[3]]); + } + for (r4 = 0; r4 < 6; r4++) + { + DestroySprite(&gSprites[gUnknown_203B0FC->unk_1D[r4]]); + } + sub_812D814(); + sub_812D7C8(); + sub_812D70C(); + sub_812D770(); + sub_812E048(); + SetMainCallback2(gUnknown_203B0FC->unk_00); + sub_810713C(gUnknown_203B0FC->unk_08, 0, 0); + Free(gUnknown_203B0F0); + Free(gUnknown_203B0F4); + Free(gUnknown_203B0F8); + Free(gUnknown_203B0FC); + Free(gUnknown_203B100); + sub_812D094(0); + sub_812D094(1); + sub_812D094(2); + sub_812D094(3); + FreeAllWindowBuffers(); + DestroyTask(taskId); + } +} + +void sub_812D094(u8 windowId) +{ + FillWindowPixelBuffer(windowId, 0); + ClearWindowTilemap(windowId); + CopyWindowToVram(windowId, 2); + RemoveWindow(windowId); +} From b09bbc65bed4716bc944306f64b89301dcaaffe6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 24 Nov 2018 23:41:08 -0500 Subject: [PATCH 122/222] through sub_812D174 --- asm/fame_checker.s | 121 --------------------------------------------- src/fame_checker.c | 43 ++++++++++++++++ 2 files changed, 43 insertions(+), 121 deletions(-) diff --git a/asm/fame_checker.s b/asm/fame_checker.s index a99054d8b..49226ae15 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -5,127 +5,6 @@ .text - thumb_func_start sub_812D0C0 -sub_812D0C0: @ 812D0C0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0xAF - lsls r0, 1 - bl HasTrainerAlreadyBeenFought - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812D0EA - cmp r4, 0x9 - bne _0812D0DE - movs r0, 0xF - b _0812D0EC -_0812D0DE: - cmp r4, 0x9 - bls _0812D0EA - subs r0, r4, 0x1 - lsls r0, 24 - lsrs r0, 24 - b _0812D0EC -_0812D0EA: - adds r0, r4, 0 -_0812D0EC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812D0C0 - - thumb_func_start sub_812D0F4 -sub_812D0F4: @ 812D0F4 - push {r4,r5,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - ldr r5, _0812D164 @ =gUnknown_841E5A4 - cmp r0, 0 - beq _0812D10A - ldr r5, _0812D168 @ =gUnknown_841E5D2 - cmp r0, 0x1 - bne _0812D10A - ldr r5, _0812D16C @ =gUnknown_841E5B9 -_0812D10A: - movs r0, 0 - adds r1, r5, 0 - movs r2, 0 - bl GetStringWidth - adds r4, r0, 0 - movs r0, 0xC0 - str r0, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - movs r0, 0x44 - negs r0, r0 - adds r2, r0, 0 - subs r2, r4 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - ldr r0, _0812D170 @ =gUnknown_845F5E0 - str r0, [sp, 0x8] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0xC] - str r5, [sp, 0x10] - movs r0, 0x1 - movs r1, 0 - movs r3, 0 - bl AddTextPrinterParametrized2 - movs r0, 0x1 - bl sub_812CEE0 - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812D164: .4byte gUnknown_841E5A4 -_0812D168: .4byte gUnknown_841E5D2 -_0812D16C: .4byte gUnknown_841E5B9 -_0812D170: .4byte gUnknown_845F5E0 - thumb_func_end sub_812D0F4 - - thumb_func_start sub_812D174 -sub_812D174: @ 812D174 - push {r4,lr} - movs r4, 0 -_0812D178: - ldr r0, _0812D1A0 @ =gUnknown_203B0FC - ldr r0, [r0] - adds r0, 0x1D - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0812D1A4 @ =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0812D178 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812D1A0: .4byte gUnknown_203B0FC -_0812D1A4: .4byte gSprites - thumb_func_end sub_812D174 - thumb_func_start sub_812D1A8 sub_812D1A8: @ 812D1A8 push {r4-r7,lr} diff --git a/src/fame_checker.c b/src/fame_checker.c index bb2fe29b5..ed7544d98 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -3,6 +3,8 @@ #include "sprite.h" #include "bg.h" #include "graphics.h" +#include "battle_setup.h" +#include "menu.h" #include "new_menu_helpers.h" #include "item_menu.h" #include "list_menu.h" @@ -98,9 +100,13 @@ void sub_812E178(u8 a0, s16 a1); void sub_812E4A4(u8 a0); extern const u8 gUnknown_84181E4[]; +extern const u8 gUnknown_841E5A4[]; +extern const u8 gUnknown_841E5B9[]; +extern const u8 gUnknown_841E5D2[]; extern const u16 gUnknown_845C600[]; extern const u8 *const gUnknown_845F63C[]; +extern const struct TextColor gUnknown_845F5E0; extern const u8 *const gUnknown_845F6BC[]; extern const struct BgTemplate gUnknown_845FBF4[4]; extern const struct SpriteSheet gUnknown_845FB9C[]; @@ -558,3 +564,40 @@ void sub_812D094(u8 windowId) CopyWindowToVram(windowId, 2); RemoveWindow(windowId); } + +u8 sub_812D0C0(u8 a0) +{ + if (HasTrainerAlreadyBeenFought(0x15e) == TRUE) + { + if (a0 == 9) + return 15; + if (a0 > 9) + return a0 - 1; + } + return a0; +} + +void sub_812D0F4(u8 a0) +{ + const u8 * r5 = gUnknown_841E5A4; + s32 width; + if (a0 != 0) + { + r5 = gUnknown_841E5D2; + if (a0 == 1) + r5 = gUnknown_841E5B9; + } + width = GetStringWidth(0, r5, 0); + FillWindowPixelRect(1, 0x00, 0, 0, 0xc0, 0x10); + AddTextPrinterParametrized2(1, 0, 188 - width, 0, 0, 2, &gUnknown_845F5E0, -1, r5); + sub_812CEE0(1); +} + +void sub_812D174(void) +{ + u8 r4; + for (r4 = 0; r4 < 6; r4++) + { + DestroySprite(&gSprites[gUnknown_203B0FC->unk_1D[r4]]); + } +} From 5b30b664bebb2ba890b86cd09f40c7c53da05659 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 25 Nov 2018 08:21:08 -0500 Subject: [PATCH 123/222] sub_812D1A8 --- asm/fame_checker.s | 169 ---------------------------------------- include/field_map_obj.h | 1 + include/global.h | 3 +- src/fame_checker.c | 47 ++++++++++- 4 files changed, 49 insertions(+), 171 deletions(-) diff --git a/asm/fame_checker.s b/asm/fame_checker.s index 49226ae15..6104d97bd 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -5,175 +5,6 @@ .text - thumb_func_start sub_812D1A8 -sub_812D1A8: @ 812D1A8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r5, 0 - movs r6, 0 - ldr r7, _0812D238 @ =gUnknown_203B0FC -_0812D1BA: - ldr r0, _0812D23C @ =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, [r7] - adds r0, 0xC - add r0, r8 - ldrb r2, [r0] - lsls r0, r2, 2 - adds r1, r0 - ldr r0, _0812D240 @ =0x00003a54 - adds r1, r0 - ldrh r0, [r1] - lsls r0, 18 - lsrs r0, 20 - asrs r0, r6 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812D248 - ldr r1, _0812D244 @ =gUnknown_845F83C - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 1 - adds r0, r6 - adds r0, r1 - ldrb r5, [r0] - adds r0, r6, 0 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 4 - subs r4, r0 - adds r4, 0x72 - lsls r4, 16 - asrs r4, 16 - adds r0, r6, 0 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r3, r0, 3 - subs r3, r0 - lsls r3, 2 - subs r3, r0 - adds r3, 0x2F - lsls r3, 16 - asrs r3, 16 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_805EB44 - ldr r1, [r7] - adds r1, 0x1D - adds r1, r6 - strb r0, [r1] - movs r5, 0x1 - b _0812D2A0 - .align 2, 0 -_0812D238: .4byte gUnknown_203B0FC -_0812D23C: .4byte gSaveBlock1Ptr -_0812D240: .4byte 0x00003a54 -_0812D244: .4byte gUnknown_845F83C -_0812D248: - adds r0, r6, 0 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 4 - subs r4, r0 - adds r4, 0x72 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - subs r1, r0 - adds r1, 0x1F - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_812D780 - ldr r1, [r7] - adds r1, 0x1D - adds r1, r6 - strb r0, [r1] - ldr r2, _0812D2D0 @ =gSprites - ldr r0, [r7] - adds r0, 0x1D - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0xFF - strh r1, [r0, 0x30] -_0812D2A0: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x5 - bls _0812D1BA - cmp r5, 0x1 - bne _0812D2E0 - ldr r3, _0812D2D4 @ =gUnknown_203B0FC - ldr r2, [r3] - ldrb r0, [r2, 0x7] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x7] - ldr r0, [r3] - ldrb r1, [r0, 0x7] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0812D2D8 - movs r0, 0x1 - bl sub_812D0F4 - b _0812D2F4 - .align 2, 0 -_0812D2D0: .4byte gSprites -_0812D2D4: .4byte gUnknown_203B0FC -_0812D2D8: - movs r0, 0 - bl sub_812D0F4 - b _0812D2F4 -_0812D2E0: - ldr r0, _0812D300 @ =gUnknown_203B0FC - ldr r2, [r0] - ldrb r1, [r2, 0x7] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x7] - movs r0, 0x1 - bl sub_812D0F4 -_0812D2F4: - adds r0, r5, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0812D300: .4byte gUnknown_203B0FC - thumb_func_end sub_812D1A8 - thumb_func_start sub_812D304 sub_812D304: @ 812D304 push {r4-r7,lr} diff --git a/include/field_map_obj.h b/include/field_map_obj.h index ded970a83..685701e89 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -86,6 +86,7 @@ void npc_set_running_behaviour_etc(struct MapObject *, u8); u8 sub_80634F0(u8 direction); u8 sub_8063500(u8 a0); void sub_805F060(struct MapObject *mapObject, u8 a1); +u8 sub_805EB44(u8, u8, s16, s16); // Exported data declarations diff --git a/include/global.h b/include/global.h index 568ece2be..31bb77f9f 100644 --- a/include/global.h +++ b/include/global.h @@ -572,7 +572,8 @@ struct QuestLog struct FameCheckerSaveData { - /*3a54*/ u8 unk_0_0:2; + /*3a54*/ u16 unk_0_0:2; + u16 unk_0_2:12; }; #define MAP_OBJECTS_COUNT 16 diff --git a/src/fame_checker.c b/src/fame_checker.c index ed7544d98..e13fc1913 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -17,6 +17,7 @@ #include "text.h" #include "window.h" #include "string_util.h" +#include "field_map_obj.h" #include "text_window.h" struct FameCheckerData @@ -73,7 +74,7 @@ void sub_812CF3C(u8 taskId); void sub_812CF7C(u8 taskId); void sub_812D094(u8 windowId); void sub_812D0F4(u8 a0); -void sub_812D1A8(u8 a0); +bool8 sub_812D1A8(u8 a0); void sub_812D420(void); void sub_812D558(void); void sub_812D584(void); @@ -83,6 +84,7 @@ void sub_812D70C(void); u8 sub_812D724(s16 a0); void sub_812D764(struct Sprite *sprite); void sub_812D770(void); +u8 sub_812D780(u8, u8); void sub_812D7C8(void); u8 sub_812D7E4(void); void sub_812D800(struct Sprite *sprite); @@ -108,6 +110,7 @@ extern const u16 gUnknown_845C600[]; extern const u8 *const gUnknown_845F63C[]; extern const struct TextColor gUnknown_845F5E0; extern const u8 *const gUnknown_845F6BC[]; +extern const u8 gUnknown_845F83C[]; extern const struct BgTemplate gUnknown_845FBF4[4]; extern const struct SpriteSheet gUnknown_845FB9C[]; extern const struct SpritePalette gUnknown_845FBDC[]; @@ -601,3 +604,45 @@ void sub_812D174(void) DestroySprite(&gSprites[gUnknown_203B0FC->unk_1D[r4]]); } } + +bool8 sub_812D1A8(u8 a0) +{ + // r8 <- a0 + bool8 r5 = FALSE; + u8 r6; + for (r6 = 0; r6 < 6; r6++) + { + if ((gSaveBlock1Ptr->fameChecker[gUnknown_203B0FC->unk_0C[a0]].unk_0_2 >> r6) & 1) + { + gUnknown_203B0FC->unk_1D[r6] = sub_805EB44( + gUnknown_845F83C[gUnknown_203B0FC->unk_0C[a0] * 6 + r6], + r6, + 47 * (r6 % 3) + 0x72, + 27 * (r6 / 3) + 0x2F + ); + r5 = TRUE; + } + else + { + gUnknown_203B0FC->unk_1D[r6] = sub_812D780( + 47 * (r6 % 3) + 0x72, + 27 * (r6 / 3) + 0x1F + ); + gSprites[gUnknown_203B0FC->unk_1D[r6]].data[1] = 0xFF; + } + } + if (r5 == TRUE) + { + gUnknown_203B0FC->unk_07_0 = TRUE; + if (gUnknown_203B0FC->unk_07_1) + sub_812D0F4(TRUE); + else + sub_812D0F4(FALSE); + } + else + { + gUnknown_203B0FC->unk_07_0 = FALSE; + sub_812D0F4(TRUE); + } + return r5; +} From 83dc744b85346386dea95ba70323917ca1e2a3ed Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 25 Nov 2018 18:32:21 -0500 Subject: [PATCH 124/222] through sub_812D388 --- asm/fame_checker.s | 146 --------------------------------------------- include/global.h | 5 +- src/fame_checker.c | 25 ++++++++ 3 files changed, 28 insertions(+), 148 deletions(-) diff --git a/asm/fame_checker.s b/asm/fame_checker.s index 6104d97bd..49b957eb3 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -5,152 +5,6 @@ .text - thumb_func_start sub_812D304 -sub_812D304: @ 812D304 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r4, 0 - ldr r0, _0812D378 @ =gSaveBlock1Ptr - mov r9, r0 - mov r6, r9 - ldr r5, _0812D37C @ =0x00003a54 - movs r0, 0x4 - negs r0, r0 - mov r8, r0 - ldr r0, _0812D380 @ =0xffffc003 - mov r12, r0 - ldr r7, _0812D384 @ =0x00003a55 -_0812D322: - ldr r1, [r6] - lsls r3, r4, 2 - adds r1, r3 - adds r1, r5 - ldrb r2, [r1] - mov r0, r8 - ands r0, r2 - strb r0, [r1] - ldr r1, [r6] - adds r1, r3 - adds r3, r1, r5 - ldrh r2, [r3] - mov r0, r12 - ands r0, r2 - strh r0, [r3] - adds r1, r7 - ldrb r2, [r1] - movs r0, 0x3F - ands r0, r2 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _0812D322 - mov r0, r9 - ldr r2, [r0] - ldr r0, _0812D37C @ =0x00003a54 - adds r2, r0 - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812D378: .4byte gSaveBlock1Ptr -_0812D37C: .4byte 0x00003a54 -_0812D380: .4byte 0xffffc003 -_0812D384: .4byte 0x00003a55 - thumb_func_end sub_812D304 - - thumb_func_start sub_812D388 -sub_812D388: @ 812D388 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r5, 0 - ldr r0, _0812D410 @ =gSaveBlock1Ptr - mov r12, r0 - ldr r7, _0812D414 @ =0x00003a54 - movs r1, 0x4 - negs r1, r1 - mov r10, r1 - ldr r6, _0812D418 @ =0xffffc003 - mov r9, r6 - movs r0, 0x1 - mov r8, r0 -_0812D3AA: - mov r1, r12 - ldr r2, [r1] - lsls r3, r5, 2 - adds r2, r3 - adds r2, r7 - ldrb r1, [r2] - mov r0, r10 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - movs r4, 0 - adds r5, 0x1 - str r5, [sp] - adds r5, r3, 0 -_0812D3C8: - mov r6, r12 - ldr r2, [r6] - adds r2, r5 - adds r2, r7 - ldrh r3, [r2] - lsls r0, r3, 18 - lsrs r0, 20 - mov r1, r8 - lsls r1, r4 - orrs r1, r0 - ldr r6, _0812D41C @ =0x00000fff - adds r0, r6, 0 - ands r1, r0 - lsls r1, 2 - mov r0, r9 - ands r0, r3 - orrs r0, r1 - strh r0, [r2] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0812D3C8 - ldr r1, [sp] - lsls r0, r1, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _0812D3AA - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812D410: .4byte gSaveBlock1Ptr -_0812D414: .4byte 0x00003a54 -_0812D418: .4byte 0xffffc003 -_0812D41C: .4byte 0x00000fff - thumb_func_end sub_812D388 - thumb_func_start sub_812D420 sub_812D420: @ 812D420 push {r4-r7,lr} diff --git a/include/global.h b/include/global.h index 31bb77f9f..9fb7703cd 100644 --- a/include/global.h +++ b/include/global.h @@ -574,6 +574,7 @@ struct FameCheckerSaveData { /*3a54*/ u16 unk_0_0:2; u16 unk_0_2:12; + u16 unk_0_E:2; }; #define MAP_OBJECTS_COUNT 16 @@ -640,8 +641,8 @@ struct SaveBlock1 /*0x3A14*/ u8 seen2[DEX_FLAGS_NO]; /*0x3A48*/ u8 filler_3a48[4]; /*0x3A4C*/ u8 rivalName[PLAYER_NAME_LENGTH]; - /*0x3A54*/ struct FameCheckerSaveData fameChecker[17]; - /*0x3A98*/ u8 filler3A94[0x2A0]; + /*0x3A54*/ struct FameCheckerSaveData fameChecker[16]; + /*0x3A94*/ u8 filler3A94[0x2A4]; u32 unkArray[4][3]; }; diff --git a/src/fame_checker.c b/src/fame_checker.c index e13fc1913..436e60b3a 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -646,3 +646,28 @@ bool8 sub_812D1A8(u8 a0) } return r5; } + +void sub_812D304(void) +{ + u8 r4; + for (r4 = 0; r4 < 16; r4++) + { + gSaveBlock1Ptr->fameChecker[r4].unk_0_0 = 0; + gSaveBlock1Ptr->fameChecker[r4].unk_0_2 = 0; + gSaveBlock1Ptr->fameChecker[r4].unk_0_E = 0; + } + gSaveBlock1Ptr->fameChecker[0].unk_0_0 = 2; +} + +void sub_812D388(void) +{ + u8 r5, r4; + for (r5 = 0; r5 < 16; r5++) + { + gSaveBlock1Ptr->fameChecker[r5].unk_0_0 = 2; + for (r4 = 0; r4 < 6; r4++) + { + gSaveBlock1Ptr->fameChecker[r5].unk_0_2 |= (1 << r4); + } + } +} From 5090c3fab25806fd972fd47360fef30ab095317d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 25 Nov 2018 18:46:32 -0500 Subject: [PATCH 125/222] sub_812D420 --- asm/fame_checker.s | 140 -------------------------------------------- include/gba/macro.h | 3 + src/fame_checker.c | 28 +++++++++ 3 files changed, 31 insertions(+), 140 deletions(-) diff --git a/asm/fame_checker.s b/asm/fame_checker.s index 49b957eb3..f04455117 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -5,146 +5,6 @@ .text - thumb_func_start sub_812D420 -sub_812D420: @ 812D420 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r0, sp, 0x4 - mov r8, r0 - mov r2, sp - movs r6, 0 - ldr r1, _0812D550 @ =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, _0812D554 @ =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_0812D446: - strh r6, [r2] - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _0812D446 - strh r6, [r2] - mov r2, sp - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0x4] - ldr r2, _0812D550 @ =0x040000d4 - mov r1, r8 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - mov r0, sp - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0x8 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0xA - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0xC - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0xE - movs r1, 0 - bl SetGpuReg - movs r0, 0x1C - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812D550: .4byte 0x040000d4 -_0812D554: .4byte 0x81000800 - thumb_func_end sub_812D420 - thumb_func_start sub_812D558 sub_812D558: @ 812D558 push {lr} diff --git a/include/gba/macro.h b/include/gba/macro.h index 462d3589d..c0a4e481b 100644 --- a/include/gba/macro.h +++ b/include/gba/macro.h @@ -125,6 +125,9 @@ #define DmaCopyLarge32(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 32) +#define DmaClearLarge16(dmaNum, dest, size, block) DmaClearLarge(dmaNum, dest, size, block, 16) +#define DmaClearLarge32(dmaNum, dest, size, block) DmaClearLarge(dmaNum, dest, size, block, 32) + #define DmaCopyDefvars(dmaNum, src, dest, size, bit) \ { \ const void *_src = src; \ diff --git a/src/fame_checker.c b/src/fame_checker.c index 436e60b3a..543fd8b87 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -671,3 +671,31 @@ void sub_812D388(void) } } } + +void sub_812D420(void) +{ + void * vram = (void *)VRAM; + DmaClearLarge16(3, vram, VRAM_SIZE, 0x1000); + DmaClear32(3, OAM, OAM_SIZE); + DmaClear16(3, PLTT, PLTT_SIZE); + SetGpuReg(REG_OFFSET_DISPCNT, 0); + SetGpuReg(REG_OFFSET_BG0CNT, 0); + SetGpuReg(REG_OFFSET_BG0HOFS, 0); + SetGpuReg(REG_OFFSET_BG0VOFS, 0); + SetGpuReg(REG_OFFSET_BG1CNT, 0); + SetGpuReg(REG_OFFSET_BG1HOFS, 0); + SetGpuReg(REG_OFFSET_BG1VOFS, 0); + SetGpuReg(REG_OFFSET_BG2CNT, 0); + SetGpuReg(REG_OFFSET_BG2HOFS, 0); + SetGpuReg(REG_OFFSET_BG2VOFS, 0); + SetGpuReg(REG_OFFSET_BG3CNT, 0); + SetGpuReg(REG_OFFSET_BG3HOFS, 0); + SetGpuReg(REG_OFFSET_BG3VOFS, 0); + SetGpuReg(REG_OFFSET_WIN0H, 0); + SetGpuReg(REG_OFFSET_WIN0V, 0); + SetGpuReg(REG_OFFSET_WININ, 0); + SetGpuReg(REG_OFFSET_WINOUT, 0); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); +} From f05f41b89a0de0e0c32a06d6477de0d5e2fad243 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 25 Nov 2018 19:21:05 -0500 Subject: [PATCH 126/222] through sub_812D5EC --- asm/fame_checker.s | 118 -------------------------------------- include/field_map_obj.h | 1 + include/scanline_effect.h | 6 ++ src/fame_checker.c | 43 ++++++++++++++ 4 files changed, 50 insertions(+), 118 deletions(-) create mode 100644 include/scanline_effect.h diff --git a/asm/fame_checker.s b/asm/fame_checker.s index f04455117..37bce8ba5 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -5,124 +5,6 @@ .text - thumb_func_start sub_812D558 -sub_812D558: @ 812D558 - push {lr} - bl remove_some_task - bl ResetTasks - bl ResetSpriteData - bl dp13_810BB8C - bl ResetPaletteFade - movs r0, 0 - bl npc_paltag_set_load - ldr r1, _0812D580 @ =gReservedSpritePaletteCount - movs r0, 0x7 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0812D580: .4byte gReservedSpritePaletteCount - thumb_func_end sub_812D558 - - thumb_func_start sub_812D584 -sub_812D584: @ 812D584 - push {lr} - movs r1, 0xFA - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_812D584 - - thumb_func_start sub_812D594 -sub_812D594: @ 812D594 - push {lr} - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - pop {r0} - bx r0 - thumb_func_end sub_812D594 - - thumb_func_start sub_812D5EC -sub_812D5EC: @ 812D5EC - push {r4-r6,lr} - ldr r1, _0812D638 @ =gUnknown_20370C0 - ldrh r0, [r1] - cmp r0, 0xF - bhi _0812D632 - ldr r5, _0812D63C @ =gSpecialVar_0x8005 - ldrh r0, [r5] - cmp r0, 0x5 - bhi _0812D632 - ldr r0, _0812D640 @ =gSaveBlock1Ptr - ldr r2, [r0] - ldrh r0, [r1] - lsls r0, 2 - adds r2, r0 - ldr r0, _0812D644 @ =0x00003a54 - adds r2, r0 - ldrh r3, [r2] - lsls r0, r3, 18 - lsrs r0, 20 - movs r4, 0x1 - adds r1, r4, 0 - ldrh r6, [r5] - lsls r1, r6 - orrs r1, r0 - ldr r6, _0812D648 @ =0x00000fff - adds r0, r6, 0 - ands r1, r0 - lsls r1, 2 - ldr r0, _0812D64C @ =0xffffc003 - ands r0, r3 - orrs r0, r1 - strh r0, [r2] - strh r4, [r5] - bl sub_812D650 -_0812D632: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812D638: .4byte gUnknown_20370C0 -_0812D63C: .4byte gSpecialVar_0x8005 -_0812D640: .4byte gSaveBlock1Ptr -_0812D644: .4byte 0x00003a54 -_0812D648: .4byte 0x00000fff -_0812D64C: .4byte 0xffffc003 - thumb_func_end sub_812D5EC - thumb_func_start sub_812D650 sub_812D650: @ 812D650 push {r4,lr} diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 685701e89..d2ec58979 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -87,6 +87,7 @@ u8 sub_80634F0(u8 direction); u8 sub_8063500(u8 a0); void sub_805F060(struct MapObject *mapObject, u8 a1); u8 sub_805EB44(u8, u8, s16, s16); +void npc_paltag_set_load(u8 mode); // Exported data declarations diff --git a/include/scanline_effect.h b/include/scanline_effect.h new file mode 100644 index 000000000..d49f5b4d6 --- /dev/null +++ b/include/scanline_effect.h @@ -0,0 +1,6 @@ +#ifndef GUARD_SCANLINE_EFFECT_H +#define GUARD_SCANLINE_EFFECT_H + +void remove_some_task(void); + +#endif //GUARD_SCANLINE_EFFECT_H diff --git a/src/fame_checker.c b/src/fame_checker.c index 543fd8b87..d309e59a3 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -2,9 +2,12 @@ #include "constants/songs.h" #include "sprite.h" #include "bg.h" +#include "event_data.h" #include "graphics.h" #include "battle_setup.h" #include "menu.h" +#include "battle_dome_cards.h" +#include "scanline_effect.h" #include "new_menu_helpers.h" #include "item_menu.h" #include "list_menu.h" @@ -79,6 +82,7 @@ void sub_812D420(void); void sub_812D558(void); void sub_812D584(void); void sub_812D594(void); +void sub_812D650(void); bool8 sub_812D6B4(void); void sub_812D70C(void); u8 sub_812D724(s16 a0); @@ -699,3 +703,42 @@ void sub_812D420(void) SetGpuReg(REG_OFFSET_BLDALPHA, 0); SetGpuReg(REG_OFFSET_BLDY, 0); } + +void sub_812D558(void) +{ + remove_some_task(); + ResetTasks(); + ResetSpriteData(); + dp13_810BB8C(); + ResetPaletteFade(); + npc_paltag_set_load(0); + gReservedSpritePaletteCount = 7; + +} + +void sub_812D584(void) +{ + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON); +} + +void sub_812D594(void) +{ + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0, 0); +} + +void sub_812D5EC(void) +{ + if (gUnknown_20370C0 < 16 && gSpecialVar_0x8005 < 6) + { + gSaveBlock1Ptr->fameChecker[gUnknown_20370C0].unk_0_2 |= (1 << gSpecialVar_0x8005); + gSpecialVar_0x8005 = 1; + sub_812D650(); + } +} From 1f9c58abedd92168b75e2d44abd6521fd82c78b2 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 25 Nov 2018 20:14:34 -0500 Subject: [PATCH 127/222] through sub_812D814 --- asm/fame_checker.s | 267 --------------------------------------------- src/fame_checker.c | 91 +++++++++++++++ 2 files changed, 91 insertions(+), 267 deletions(-) diff --git a/asm/fame_checker.s b/asm/fame_checker.s index 37bce8ba5..f907c448e 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -5,273 +5,6 @@ .text - thumb_func_start sub_812D650 -sub_812D650: @ 812D650 - push {r4,lr} - ldr r1, _0812D6A4 @ =gUnknown_20370C0 - ldrh r0, [r1] - cmp r0, 0xF - bhi _0812D69E - ldr r0, _0812D6A8 @ =gSpecialVar_0x8005 - ldrh r4, [r0] - adds r0, r4, 0 - cmp r0, 0x2 - bhi _0812D69E - cmp r0, 0 - beq _0812D69E - ldr r2, _0812D6AC @ =gSaveBlock1Ptr - ldrh r3, [r1] - cmp r0, 0x1 - bne _0812D684 - ldr r0, [r2] - lsls r1, r3, 2 - adds r0, r1 - ldr r1, _0812D6B0 @ =0x00003a54 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x2 - beq _0812D69E -_0812D684: - ldr r2, [r2] - lsls r0, r3, 2 - adds r2, r0 - ldr r0, _0812D6B0 @ =0x00003a54 - adds r2, r0 - movs r1, 0x3 - ands r1, r4 - ldrb r3, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] -_0812D69E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812D6A4: .4byte gUnknown_20370C0 -_0812D6A8: .4byte gSpecialVar_0x8005 -_0812D6AC: .4byte gSaveBlock1Ptr -_0812D6B0: .4byte 0x00003a54 - thumb_func_end sub_812D650 - - thumb_func_start sub_812D6B4 -sub_812D6B4: @ 812D6B4 - push {r4,lr} - ldr r0, _0812D6EC @ =gUnknown_203B0FC - ldr r4, [r0] - bl sub_812E064 - lsls r0, 16 - lsrs r0, 16 - adds r4, 0xC - adds r4, r0 - ldrb r1, [r4] - movs r2, 0 - ldr r0, _0812D6F0 @ =gSaveBlock1Ptr - ldr r0, [r0] - lsls r1, 2 - adds r0, r1 - ldr r1, _0812D6F4 @ =0x00003a54 - adds r0, r1 - ldrh r0, [r0] - lsls r1, r0, 18 - movs r3, 0x1 -_0812D6DC: - lsrs r0, r1, 20 - asrs r0, r2 - ands r0, r3 - cmp r0, 0 - bne _0812D6F8 - movs r0, 0 - b _0812D704 - .align 2, 0 -_0812D6EC: .4byte gUnknown_203B0FC -_0812D6F0: .4byte gSaveBlock1Ptr -_0812D6F4: .4byte 0x00003a54 -_0812D6F8: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x5 - bls _0812D6DC - movs r0, 0x1 -_0812D704: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812D6B4 - - thumb_func_start sub_812D70C -sub_812D70C: @ 812D70C - push {r4,lr} - movs r4, 0xFA - lsls r4, 2 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812D70C - - thumb_func_start sub_812D724 -sub_812D724: @ 812D724 - push {r4,lr} - lsls r0, 16 - asrs r0, 16 - movs r4, 0x22 - cmp r0, 0x2 - ble _0812D732 - movs r4, 0x3D -_0812D732: - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 4 - subs r1, r0 - adds r1, 0x72 - ldr r0, _0812D760 @ =gUnknown_845FC44 - lsls r1, 16 - asrs r1, 16 - adds r2, r4, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0812D760: .4byte gUnknown_845FC44 - thumb_func_end sub_812D724 - - thumb_func_start sub_812D764 -sub_812D764: @ 812D764 - push {lr} - bl DestroySprite - pop {r0} - bx r0 - thumb_func_end sub_812D764 - - thumb_func_start sub_812D770 -sub_812D770: @ 812D770 - push {lr} - ldr r0, _0812D77C @ =0x000003e9 - bl FreeSpriteTilesByTag - pop {r0} - bx r0 - .align 2, 0 -_0812D77C: .4byte 0x000003e9 - thumb_func_end sub_812D770 - - thumb_func_start sub_812D780 -sub_812D780: @ 812D780 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - lsls r3, 24 - lsrs r3, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _0812D7C0 @ =gUnknown_845FC78 - adds r1, r3, 0 - movs r3, 0x8 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0812D7C4 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - ldrb r3, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - movs r3, 0x8 - orrs r1, r3 - movs r3, 0xF - ands r1, r3 - movs r3, 0x20 - orrs r1, r3 - strb r1, [r2, 0x5] - pop {r1} - bx r1 - .align 2, 0 -_0812D7C0: .4byte gUnknown_845FC78 -_0812D7C4: .4byte gSprites - thumb_func_end sub_812D780 - - thumb_func_start sub_812D7C8 -sub_812D7C8: @ 812D7C8 - push {r4,lr} - ldr r4, _0812D7E0 @ =0x000003ea - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812D7E0: .4byte 0x000003ea - thumb_func_end sub_812D7C8 - - thumb_func_start sub_812D7E4 -sub_812D7E4: @ 812D7E4 - push {lr} - ldr r0, _0812D7FC @ =gUnknown_845FCB8 - movs r1, 0xE2 - movs r2, 0x42 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0812D7FC: .4byte gUnknown_845FCB8 - thumb_func_end sub_812D7E4 - - thumb_func_start sub_812D800 -sub_812D800: @ 812D800 - push {r4,lr} - adds r4, r0, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812D800 - - thumb_func_start sub_812D814 -sub_812D814: @ 812D814 - push {lr} - ldr r0, _0812D834 @ =0x000003ee - bl FreeSpriteTilesByTag - ldr r0, _0812D838 @ =0x000003ef - bl FreeSpriteTilesByTag - movs r0, 0xFC - lsls r0, 2 - bl FreeSpriteTilesByTag - ldr r0, _0812D83C @ =0x000003f1 - bl FreeSpriteTilesByTag - pop {r0} - bx r0 - .align 2, 0 -_0812D834: .4byte 0x000003ee -_0812D838: .4byte 0x000003ef -_0812D83C: .4byte 0x000003f1 - thumb_func_end sub_812D814 - thumb_func_start sub_812D840 sub_812D840: @ 812D840 push {lr} diff --git a/src/fame_checker.c b/src/fame_checker.c index d309e59a3..c5039fa5f 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -23,6 +23,14 @@ #include "field_map_obj.h" #include "text_window.h" +#define SPRITETAG_1000 1000 +#define SPRITETAG_1001 1001 +#define SPRITETAG_1002 1002 +#define SPRITETAG_1006 1006 +#define SPRITETAG_1007 1007 +#define SPRITETAG_1008 1008 +#define SPRITETAG_1009 1009 + struct FameCheckerData { MainCallback unk_00; @@ -119,6 +127,9 @@ extern const struct BgTemplate gUnknown_845FBF4[4]; extern const struct SpriteSheet gUnknown_845FB9C[]; extern const struct SpritePalette gUnknown_845FBDC[]; extern const struct WindowTemplate gUnknown_845FC04[]; +extern const struct SpriteTemplate gUnknown_845FC44; +extern const struct SpriteTemplate gUnknown_845FC78; +extern const struct SpriteTemplate gUnknown_845FCB8; void sub_812C380(void) { @@ -742,3 +753,83 @@ void sub_812D5EC(void) sub_812D650(); } } + +void sub_812D650(void) +{ + if (gUnknown_20370C0 < 16 && gSpecialVar_0x8005 < 3) + { + if (gSpecialVar_0x8005 == 0) + return; + if (gSpecialVar_0x8005 == 1 && gSaveBlock1Ptr->fameChecker[gUnknown_20370C0].unk_0_0 == 2) + return; + gSaveBlock1Ptr->fameChecker[gUnknown_20370C0].unk_0_0 = gSpecialVar_0x8005; + } +} + +bool8 sub_812D6B4(void) +{ + u8 r2; + u8 r1 = gUnknown_203B0FC->unk_0C[sub_812E064()]; + for (r2 = 0; r2 < 6; r2++) + { + if (!((gSaveBlock1Ptr->fameChecker[r1].unk_0_2 >> r2) & 1)) + return FALSE; + } + return TRUE; +} + +void sub_812D70C(void) +{ + FreeSpriteTilesByTag(SPRITETAG_1000); + FreeSpritePaletteByTag(SPRITETAG_1000); +} + +u8 sub_812D724(s16 a0) +{ + s16 r4 = a0 >= 3 ? 61 : 34; + s16 r1 = 47 * (a0 % 3) + 0x72; + return CreateSprite(&gUnknown_845FC44, r1, r4, 0); +} + +void sub_812D764(struct Sprite * sprite) +{ + DestroySprite(sprite); +} + +void sub_812D770(void) +{ + FreeSpriteTilesByTag(SPRITETAG_1001); +} + +u8 sub_812D780(u8 x, u8 y) +{ + u8 spriteId = CreateSprite(&gUnknown_845FC78, x, y, 8); + gSprites[spriteId].oam.priority = 2; + gSprites[spriteId].oam.paletteNum = 2; + return spriteId; +} + +void sub_812D7C8(void) +{ + FreeSpriteTilesByTag(SPRITETAG_1002); + FreeSpritePaletteByTag(SPRITETAG_1002); +} + +u8 sub_812D7E4(void) +{ + return CreateSprite(&gUnknown_845FCB8, 0xe2, 0x42, 0); +} + +void sub_812D800(struct Sprite * sprite) +{ + FreeSpriteOamMatrix(sprite); + DestroySprite(sprite); +} + +void sub_812D814(void) +{ + FreeSpriteTilesByTag(SPRITETAG_1006); + FreeSpriteTilesByTag(SPRITETAG_1007); + FreeSpriteTilesByTag(SPRITETAG_1008); + FreeSpriteTilesByTag(SPRITETAG_1009); +} From 5c013a089798efa1819986528de4af8470a9c329 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 25 Nov 2018 21:12:07 -0500 Subject: [PATCH 128/222] through sub_812DA14 --- asm/fame_checker.s | 355 ------------------------------------ include/battle_dome_cards.h | 2 + include/text.h | 24 +-- src/fame_checker.c | 108 ++++++++++- src/text.c | 22 +-- 5 files changed, 132 insertions(+), 379 deletions(-) diff --git a/asm/fame_checker.s b/asm/fame_checker.s index f907c448e..aa0cb17c4 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -5,361 +5,6 @@ .text - thumb_func_start sub_812D840 -sub_812D840: @ 812D840 - push {lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0x1 - bne _0812D864 - movs r3, 0x24 - ldrsh r0, [r2, r3] - subs r0, 0xA - cmp r0, 0 - bge _0812D85E - movs r0, 0 - strh r0, [r2, 0x24] - strh r0, [r2, 0x2E] - b _0812D882 -_0812D85E: - ldrh r0, [r2, 0x24] - subs r0, 0xA - b _0812D880 -_0812D864: - cmp r0, 0x2 - bne _0812D882 - ldrh r1, [r2, 0x24] - movs r3, 0x24 - ldrsh r0, [r2, r3] - cmp r0, 0xF0 - ble _0812D87C - movs r1, 0 - movs r0, 0xF0 - strh r0, [r2, 0x24] - strh r1, [r2, 0x2E] - b _0812D882 -_0812D87C: - adds r0, r1, 0 - adds r0, 0xA -_0812D880: - strh r0, [r2, 0x24] -_0812D882: - pop {r0} - bx r0 - thumb_func_end sub_812D840 - - thumb_func_start sub_812D888 -sub_812D888: @ 812D888 - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bne _0812D8B0 - ldr r0, _0812D8A8 @ =gUnknown_845FCE4 - movs r1, 0x94 - movs r2, 0x42 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0812D8AC @ =gUnknown_845ED60 - b _0812D906 - .align 2, 0 -_0812D8A8: .4byte gUnknown_845FCE4 -_0812D8AC: .4byte gUnknown_845ED60 -_0812D8B0: - cmp r5, 0xE - bne _0812D8D0 - ldr r0, _0812D8C8 @ =gUnknown_845FCFC - movs r1, 0x94 - movs r2, 0x42 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0812D8CC @ =gUnknown_845DD20 - b _0812D906 - .align 2, 0 -_0812D8C8: .4byte gUnknown_845FCFC -_0812D8CC: .4byte gUnknown_845DD20 -_0812D8D0: - cmp r5, 0 - bne _0812D8F0 - ldr r0, _0812D8E8 @ =gUnknown_845FD14 - movs r1, 0x94 - movs r2, 0x42 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0812D8EC @ =gUnknown_845F580 - b _0812D906 - .align 2, 0 -_0812D8E8: .4byte gUnknown_845FD14 -_0812D8EC: .4byte gUnknown_845F580 -_0812D8F0: - cmp r5, 0xD - bne _0812D934 - ldr r0, _0812D928 @ =gUnknown_845FD2C - movs r1, 0x94 - movs r2, 0x42 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0812D92C @ =gUnknown_845E540 -_0812D906: - movs r1, 0xB0 - lsls r1, 1 - movs r2, 0x20 - bl LoadPalette - ldr r1, _0812D930 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xF - ands r1, r2 - movs r2, 0x60 - orrs r1, r2 - strb r1, [r0, 0x5] - b _0812D950 - .align 2, 0 -_0812D928: .4byte gUnknown_845FD2C -_0812D92C: .4byte gUnknown_845E540 -_0812D930: .4byte gSprites -_0812D934: - ldr r0, _0812D98C @ =gUnknown_845F61C - adds r0, r5, r0 - ldrb r0, [r0] - movs r1, 0x6 - str r1, [sp] - ldr r1, _0812D990 @ =0x0000ffff - str r1, [sp, 0x4] - movs r1, 0x1 - movs r2, 0x94 - movs r3, 0x42 - bl sub_810C2A4 - lsls r0, 24 - lsrs r4, r0, 24 -_0812D950: - ldr r1, _0812D994 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r1, 0x1C - adds r0, r1 - ldr r1, _0812D998 @ =sub_812D840 - str r1, [r0] - ldr r0, _0812D99C @ =gSaveBlock1Ptr - ldr r0, [r0] - lsls r1, r5, 2 - adds r0, r1 - ldr r1, _0812D9A0 @ =0x00003a54 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _0812D982 - ldr r0, _0812D9A4 @ =gUnknown_845F5C0 - movs r1, 0xB0 - lsls r1, 1 - movs r2, 0x20 - bl LoadPalette -_0812D982: - adds r0, r4, 0 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0812D98C: .4byte gUnknown_845F61C -_0812D990: .4byte 0x0000ffff -_0812D994: .4byte gSprites -_0812D998: .4byte sub_812D840 -_0812D99C: .4byte gSaveBlock1Ptr -_0812D9A0: .4byte 0x00003a54 -_0812D9A4: .4byte gUnknown_845F5C0 - thumb_func_end sub_812D888 - - thumb_func_start sub_812D9A8 -sub_812D9A8: @ 812D9A8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - ldr r0, _0812D9FC @ =gTasks+0x8 - adds r4, r2, r0 - lsrs r1, 16 - ldr r0, _0812DA00 @ =gUnknown_203B0FC - ldr r2, [r0] - ldrb r0, [r2, 0x7] - lsrs r3, r0, 2 - subs r0, r3, 0x1 - cmp r1, r0 - bne _0812D9D0 - subs r0, r3, 0x2 - lsls r0, 16 - lsrs r1, r0, 16 -_0812D9D0: - adds r0, r2, 0 - adds r0, 0xC - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0812D9E8 - cmp r0, 0xE - beq _0812D9E8 - cmp r0, 0 - beq _0812D9E8 - cmp r0, 0xD - bne _0812DA08 -_0812D9E8: - movs r0, 0x4 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0812DA04 @ =gSprites - adds r0, r1 - bl DestroySprite - b _0812DA0E - .align 2, 0 -_0812D9FC: .4byte gTasks+0x8 -_0812DA00: .4byte gUnknown_203B0FC -_0812DA04: .4byte gSprites -_0812DA08: - ldrh r0, [r4, 0x4] - bl sub_810C2E8 -_0812DA0E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812D9A8 - - thumb_func_start sub_812DA14 -sub_812DA14: @ 812DA14 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_812E064 - ldr r1, _0812DAF8 @ =gUnknown_203B0FC - ldr r1, [r1] - lsls r0, 16 - lsrs r0, 16 - adds r1, 0xC - adds r1, r0 - ldrb r0, [r1] - lsls r5, r0, 1 - adds r5, r0 - lsls r5, 1 - adds r5, r4 - movs r0, 0x1 - bl sub_812E094 - ldr r1, _0812DAFC @ =gUnknown_3005EC8 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x58 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - ldr r0, _0812DB00 @ =gUnknown_845F89C - lsls r5, 2 - adds r0, r5, r0 - ldr r6, [r0] - movs r0, 0 - adds r1, r6, 0 - movs r2, 0 - bl GetStringWidth - movs r4, 0x54 - subs r0, r4, r0 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - lsls r2, r0, 24 - lsrs r2, 24 - movs r7, 0 - str r7, [sp] - movs r0, 0x2 - mov r10, r0 - str r0, [sp, 0x4] - ldr r0, _0812DB04 @ =gUnknown_845F5E3 - mov r9, r0 - str r0, [sp, 0x8] - movs r0, 0x1 - negs r0, r0 - mov r8, r0 - str r0, [sp, 0xC] - str r6, [sp, 0x10] - movs r0, 0x3 - movs r1, 0 - movs r3, 0 - bl AddTextPrinterParametrized2 - ldr r6, _0812DB08 @ =gStringVar1 - ldr r0, _0812DB0C @ =gUnknown_845FA1C - adds r5, r0 - ldr r1, [r5] - adds r0, r6, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r6, 0 - movs r2, 0 - bl GetStringWidth - subs r4, r0 - lsrs r0, r4, 31 - adds r4, r0 - asrs r0, r4, 1 - lsls r2, r0, 24 - lsrs r2, 24 - str r7, [sp] - mov r0, r10 - str r0, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - mov r0, r8 - str r0, [sp, 0xC] - str r6, [sp, 0x10] - movs r0, 0x3 - movs r1, 0 - movs r3, 0xA - bl AddTextPrinterParametrized2 - movs r0, 0x3 - bl sub_812CEE0 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812DAF8: .4byte gUnknown_203B0FC -_0812DAFC: .4byte gUnknown_3005EC8 -_0812DB00: .4byte gUnknown_845F89C -_0812DB04: .4byte gUnknown_845F5E3 -_0812DB08: .4byte gStringVar1 -_0812DB0C: .4byte gUnknown_845FA1C - thumb_func_end sub_812DA14 - thumb_func_start sub_812DB10 sub_812DB10: @ 812DB10 push {lr} diff --git a/include/battle_dome_cards.h b/include/battle_dome_cards.h index 48d165e9c..94c9876f3 100644 --- a/include/battle_dome_cards.h +++ b/include/battle_dome_cards.h @@ -11,5 +11,7 @@ u16 sub_818D8AC(u16 species, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 u16 sub_818D8F0(u16 spriteId); u16 sub_818D938(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId); u8 sub_818D97C(u8 a0, u8 a1); +u8 sub_810C2A4(u16, u8, s16, s16, u8, u16); +void sub_810C2E8(u16); #endif //GUARD_BATTLE_DOME_CARDS_H diff --git a/include/text.h b/include/text.h index 2bda590c1..e127f103a 100644 --- a/include/text.h +++ b/include/text.h @@ -161,7 +161,7 @@ extern const struct FontInfo *gFonts; struct GlyphWidthFunc { u32 font_id; - u32 (*func)(u16 glyphId, bool32 isJapanese); + s32 (*func)(u16 glyphId, bool32 isJapanese); }; struct KeypadIcon @@ -224,9 +224,9 @@ bool16 TextPrinterWaitWithDownArrow(struct TextPrinter *textPrinter); bool16 TextPrinterWait(struct TextPrinter *textPrinter); void DrawDownArrow(u8 windowId, u16 x, u16 y, u8 bgColor, bool8 drawArrow, u8 *counter, u8 *yCoordIndex); u16 RenderText(struct TextPrinter *textPrinter); -u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing); -u32 (*GetFontWidthFunc(u8 glyphId))(u16, bool32); -u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing); +s32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing); +s32 (*GetFontWidthFunc(u8 glyphId))(u16, bool32); +s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing); u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str); u8 DrawKeypadIcon(u8 windowId, u8 keypadIconId, u16 x, u16 y); u8 GetKeypadIconTileOffset(u8 keypadIconId); @@ -236,19 +236,19 @@ void SetDefaultFontsPointer(void); u8 GetFontAttribute(u8 fontId, u8 attributeId); u8 GetMenuCursorDimensionByFont(u8 fontId, u8 whichDimension); void DecompressGlyphFont0(u16 glyphId, bool32 isJapanese); -u32 GetGlyphWidthFont0(u16 glyphId, bool32 isJapanese); +s32 GetGlyphWidthFont0(u16 glyphId, bool32 isJapanese); void DecompressGlyphFont7(u16 glyphId, bool32 isJapanese); -u32 GetGlyphWidthFont7(u16 glyphId, bool32 isJapanese); +s32 GetGlyphWidthFont7(u16 glyphId, bool32 isJapanese); void DecompressGlyphFont8(u16 glyphId, bool32 isJapanese); -u32 GetGlyphWidthFont8(u16 glyphId, bool32 isJapanese); +s32 GetGlyphWidthFont8(u16 glyphId, bool32 isJapanese); void DecompressGlyphFont2(u16 glyphId, bool32 isJapanese); -u32 GetGlyphWidthFont2(u16 glyphId, bool32 isJapanese); +s32 GetGlyphWidthFont2(u16 glyphId, bool32 isJapanese); void DecompressGlyphFont1(u16 glyphId, bool32 isJapanese); -u32 GetGlyphWidthFont1(u16 glyphId, bool32 isJapanese); +s32 GetGlyphWidthFont1(u16 glyphId, bool32 isJapanese); void DecompressGlyphFont9(u16 glyphId); -u32 GetGlyphWidthFont3(u16 glyphId, bool32 isJapanese); -u32 GetGlyphWidthFont4(u16 glyphId, bool32 isJapanese); -u32 GetGlyphWidthFont5(u16 glyphId, bool32 isJapanese); +s32 GetGlyphWidthFont3(u16 glyphId, bool32 isJapanese); +s32 GetGlyphWidthFont4(u16 glyphId, bool32 isJapanese); +s32 GetGlyphWidthFont5(u16 glyphId, bool32 isJapanese); void sub_80062B0(struct Sprite *sprite); #endif // GUARD_TEXT_H diff --git a/src/fame_checker.c b/src/fame_checker.c index c5039fa5f..0c7072fb4 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -109,6 +109,7 @@ void sub_812DB28(void); void sub_812E000(void); void sub_812E048(void); u16 sub_812E064(void); +void sub_812E094(u8); void sub_812E110(u8 taskId); void sub_812E178(u8 a0, s16 a1); void sub_812E4A4(u8 a0); @@ -119,9 +120,18 @@ extern const u8 gUnknown_841E5B9[]; extern const u8 gUnknown_841E5D2[]; extern const u16 gUnknown_845C600[]; -extern const u8 *const gUnknown_845F63C[]; +extern const u16 gUnknown_845DD20[]; +extern const u16 gUnknown_845E540[]; +extern const u16 gUnknown_845ED60[]; +extern const u16 gUnknown_845F580[]; +extern const u16 gUnknown_845F5C0[]; extern const struct TextColor gUnknown_845F5E0; +extern const struct TextColor gUnknown_845F5E3; +extern const u8 gUnknown_845F61C[]; +extern const u8 *const gUnknown_845F63C[]; extern const u8 *const gUnknown_845F6BC[]; +extern const u8 *const gUnknown_845F89C[]; +extern const u8 *const gUnknown_845FA1C[]; extern const u8 gUnknown_845F83C[]; extern const struct BgTemplate gUnknown_845FBF4[4]; extern const struct SpriteSheet gUnknown_845FB9C[]; @@ -130,6 +140,10 @@ extern const struct WindowTemplate gUnknown_845FC04[]; extern const struct SpriteTemplate gUnknown_845FC44; extern const struct SpriteTemplate gUnknown_845FC78; extern const struct SpriteTemplate gUnknown_845FCB8; +extern const struct SpriteTemplate gUnknown_845FCE4; +extern const struct SpriteTemplate gUnknown_845FCFC; +extern const struct SpriteTemplate gUnknown_845FD14; +extern const struct SpriteTemplate gUnknown_845FD2C; void sub_812C380(void) { @@ -833,3 +847,95 @@ void sub_812D814(void) FreeSpriteTilesByTag(SPRITETAG_1008); FreeSpriteTilesByTag(SPRITETAG_1009); } + +void sub_812D840(struct Sprite * sprite) +{ + if (sprite->data[0] == 1) + { + if (sprite->pos2.x - 10 < 0) + { + sprite->pos2.x = 0; + sprite->data[0] = 0; + } + else + sprite->pos2.x -= 10; + } + else if (sprite->data[0] == 2) + { + if (sprite->pos2.x > 240) + { + sprite->pos2.x = 240; + sprite->data[0] = 0; + } + else + sprite->pos2.x += 10; + } +} + +u8 sub_812D888(u8 a0) +{ + u8 r4; + if (a0 == 1) + { + r4 = CreateSprite(&gUnknown_845FCE4, 0x94, 0x42, 0); + LoadPalette(gUnknown_845ED60, 0x160, 0x20); + gSprites[r4].oam.paletteNum = 6; + } + else if (a0 == 14) + { + r4 = CreateSprite(&gUnknown_845FCFC, 0x94, 0x42, 0); + LoadPalette(gUnknown_845DD20, 0x160, 0x20); + gSprites[r4].oam.paletteNum = 6; + } + else if (a0 == 0) + { + r4 = CreateSprite(&gUnknown_845FD14, 0x94, 0x42, 0); + LoadPalette(gUnknown_845F580, 0x160, 0x20); + gSprites[r4].oam.paletteNum = 6; + } + else if (a0 == 13) + { + r4 = CreateSprite(&gUnknown_845FD2C, 0x94, 0x42, 0); + LoadPalette(gUnknown_845E540, 0x160, 0x20); + gSprites[r4].oam.paletteNum = 6; + } + else + { + r4 = sub_810C2A4(gUnknown_845F61C[a0], 1, 0x94, 0x42, 6, 0xFFFF); + } + gSprites[r4].callback = sub_812D840; + if (gSaveBlock1Ptr->fameChecker[a0].unk_0_0 == 1) + LoadPalette(gUnknown_845F5C0, 0x160, 0x20); + return r4; +} + +void sub_812D9A8(u8 taskId, u16 a1) +{ + s16 * data = gTasks[taskId].data; + u16 r1 = a1; + if (a1 == gUnknown_203B0FC->unk_07_2 - 1) + r1 = a1 - 1; + if ( gUnknown_203B0FC->unk_0C[r1] == 1 + || gUnknown_203B0FC->unk_0C[r1] == 14 + || gUnknown_203B0FC->unk_0C[r1] == 0 + || gUnknown_203B0FC->unk_0C[r1] == 13 + ) + DestroySprite(&gSprites[data[2]]); + else + sub_810C2E8(data[2]); +} + +void sub_812DA14(u8 a0) +{ + s32 width; + u32 r5 = 6 * gUnknown_203B0FC->unk_0C[sub_812E064()] + a0; + sub_812E094(1); + gUnknown_3005EC8 = 1; + FillWindowPixelRect(3, 0x00, 0, 0, 0x58, 0x20); + width = (0x54 - GetStringWidth(0, gUnknown_845F89C[r5], 0)) / 2; + AddTextPrinterParametrized2(3, 0, width, 0, 0, 2, &gUnknown_845F5E3, -1, gUnknown_845F89C[r5]); + StringExpandPlaceholders(gStringVar1, gUnknown_845FA1C[r5]); + width = (0x54 - GetStringWidth(0, gStringVar1, 0)) / 2; + AddTextPrinterParametrized2(3, 0, width, 10, 0, 2, &gUnknown_845F5E3, -1, gStringVar1); + sub_812CEE0(3); +} diff --git a/src/text.c b/src/text.c index d4d25b5aa..874e12fd5 100644 --- a/src/text.c +++ b/src/text.c @@ -17,7 +17,7 @@ extern void BlitBitmapRectToWindow(u8 windowId, const u8 *pixels, u16 srcX, u16 extern u8 GetKeypadIconWidth(u8 keypadIconId); extern void CopyWindowToVram(u8 windowId, u8 mode); extern u16 Font6Func(struct TextPrinter *textPrinter); -extern u32 GetGlyphWidthFont6(u16 glyphId, bool32 isJapanese); +extern s32 GetGlyphWidthFont6(u16 glyphId, bool32 isJapanese); extern void PlaySE(u16 songNum); extern u8* UnkTextUtil_GetPtrI(u8 a1); @@ -1388,7 +1388,7 @@ _08005D6A:\n\ .syntax divided"); } -u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing) +s32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing) { int i; u8 width; @@ -1479,7 +1479,7 @@ u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing) return (u8)(GetFontAttribute(fontId, 0) + letterSpacing) * width; } -u32 (*GetFontWidthFunc(u8 glyphId))(u16 _glyphId, bool32 _isJapanese) +s32 (*GetFontWidthFunc(u8 glyphId))(u16 _glyphId, bool32 _isJapanese) { u32 i; @@ -1492,11 +1492,11 @@ u32 (*GetFontWidthFunc(u8 glyphId))(u16 _glyphId, bool32 _isJapanese) return NULL; } -u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing) +s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing) { bool8 isJapanese; int minGlyphWidth; - u32 (*func)(u16 glyphId, bool32 isJapanese); + s32 (*func)(u16 glyphId, bool32 isJapanese); int localLetterSpacing; register u32 lineWidth asm("r5"); u8 *bufferPointer; @@ -1863,7 +1863,7 @@ void DecompressGlyphFont0(u16 glyphId, bool32 isJapanese) } } -u32 GetGlyphWidthFont0(u16 glyphId, bool32 isJapanese) +s32 GetGlyphWidthFont0(u16 glyphId, bool32 isJapanese) { if (isJapanese == TRUE) return 8; @@ -1896,7 +1896,7 @@ void DecompressGlyphFont1(u16 glyphId, bool32 isJapanese) } } -u32 GetGlyphWidthFont1(u16 glyphId, bool32 isJapanese) +s32 GetGlyphWidthFont1(u16 glyphId, bool32 isJapanese) { if (isJapanese == TRUE) return 8; @@ -1962,7 +1962,7 @@ void DecompressGlyphFont2(u16 glyphId, bool32 isJapanese) } } -u32 GetGlyphWidthFont2(u16 glyphId, bool32 isJapanese) +s32 GetGlyphWidthFont2(u16 glyphId, bool32 isJapanese) { if (isJapanese == TRUE) { @@ -2012,7 +2012,7 @@ void DecompressGlyphFont3(u16 glyphId, bool32 isJapanese) DecompressGlyphFont2(glyphId, isJapanese); } -u32 GetGlyphWidthFont3(u16 glyphId, bool32 isJapanese) +s32 GetGlyphWidthFont3(u16 glyphId, bool32 isJapanese) { if(isJapanese == TRUE) return 10; @@ -2078,7 +2078,7 @@ void DecompressGlyphFont4(u16 glyphId, bool32 isJapanese) } } -u32 GetGlyphWidthFont4(u16 glyphId, bool32 isJapanese) +s32 GetGlyphWidthFont4(u16 glyphId, bool32 isJapanese) { if(isJapanese == TRUE) { @@ -2149,7 +2149,7 @@ void DecompressGlyphFont5(u16 glyphId, bool32 isJapanese) } } -u32 GetGlyphWidthFont5(u16 glyphId, bool32 isJapanese) +s32 GetGlyphWidthFont5(u16 glyphId, bool32 isJapanese) { if(isJapanese == TRUE) { From 82c7bd49aa07293c840254bccc144836057f2c65 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 25 Nov 2018 21:58:52 -0500 Subject: [PATCH 129/222] through sub_812DB64 --- asm/fame_checker.s | 91 --------------------------------------------- include/list_menu.h | 29 ++++++++------- src/fame_checker.c | 49 ++++++++++++++++++++---- 3 files changed, 57 insertions(+), 112 deletions(-) diff --git a/asm/fame_checker.s b/asm/fame_checker.s index aa0cb17c4..471e9921b 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -5,97 +5,6 @@ .text - thumb_func_start sub_812DB10 -sub_812DB10: @ 812DB10 - push {lr} - movs r0, 0 - bl sub_812E094 - ldr r1, _0812DB24 @ =gUnknown_3005EC8 - movs r0, 0xFF - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0812DB24: .4byte gUnknown_3005EC8 - thumb_func_end sub_812DB10 - - thumb_func_start sub_812DB28 -sub_812DB28: @ 812DB28 - push {r4,lr} - bl sub_812DB64 - bl sub_812DEF0 - ldr r4, _0812DB5C @ =gUnknown_203B0FC - ldr r3, [r4] - lsls r0, 2 - ldrb r2, [r3, 0x7] - movs r1, 0x3 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x7] - ldr r0, _0812DB60 @ =gUnknown_3005EB0 - movs r1, 0 - movs r2, 0 - bl ListMenuInit - ldr r1, [r4] - strb r0, [r1, 0x8] - movs r0, 0 - bl sub_812DFE4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812DB5C: .4byte gUnknown_203B0FC -_0812DB60: .4byte gUnknown_3005EB0 - thumb_func_end sub_812DB28 - - thumb_func_start sub_812DB64 -sub_812DB64: @ 812DB64 - ldr r2, _0812DBB4 @ =gUnknown_3005EB0 - ldr r0, _0812DBB8 @ =gUnknown_203B100 - ldr r0, [r0] - str r0, [r2] - ldr r0, _0812DBBC @ =sub_812DBC0 - str r0, [r2, 0x4] - movs r0, 0 - str r0, [r2, 0x8] - movs r1, 0 - movs r0, 0x1 - strh r0, [r2, 0xC] - strh r0, [r2, 0xE] - strb r1, [r2, 0x10] - strb r1, [r2, 0x11] - movs r0, 0x8 - strb r0, [r2, 0x12] - strb r1, [r2, 0x13] - ldrb r1, [r2, 0x14] - subs r0, 0x18 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - movs r1, 0xF - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2, 0x14] - movs r0, 0x30 - strb r0, [r2, 0x15] - movs r3, 0x3F - movs r0, 0 - strb r0, [r2, 0x16] - ldrb r1, [r2, 0x17] - subs r0, 0x40 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - ands r0, r3 - strb r0, [r2, 0x17] - bx lr - .align 2, 0 -_0812DBB4: .4byte gUnknown_3005EB0 -_0812DBB8: .4byte gUnknown_203B100 -_0812DBBC: .4byte sub_812DBC0 - thumb_func_end sub_812DB64 - thumb_func_start sub_812DBC0 sub_812DBC0: @ 812DBC0 push {r4-r7,lr} diff --git a/include/list_menu.h b/include/list_menu.h index 89adeaba0..fc829940e 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -18,22 +18,23 @@ struct ListMenu; struct ListMenuTemplate { const struct ListMenuItem *items; - void (* unk_04)(u32, bool8, struct ListMenu *); - void (* unk_08)(u8, s32, u8); + void (* moveCursorFunc)(s32 itemIndex, bool8 onInit, struct ListMenu *list); + void (* itemPrintFunc)(u8 windowId, s32 itemId, u8 y); u16 totalItems; u16 maxShowed; - u8 unk_10; - u8 unk_11; - u8 unk_12; - u8 cursor_Y; - u32 upText_Y:4; // x1, x2, x4, x8 = xF - u32 cursorColor:4; // x10, x20, x40, x80 = xF0 - u32 fillColor:4; // x100, x200, x400, x800 = xF00 - u32 cursorShadowColor:4; // x1000, x2000, x4000, x8000 = xF000 - u32 unk_16_0:1; // x10000 - u32 spaceBetweenItems:6; // x20000, x40000, x80000, x100000, x200000, x400000 = x7E0000 - u32 unk_16_7:1; // x800000 - u32 unk_17_0:6; // x1000000, x2000000, x4000000, x8000000, x10000000, x20000000 = x3F000000 + u8 windowId; + u8 header_X; + u8 item_X; + u8 cursor_X; + u8 upText_Y:4; // x1, x2, x4, x8 = xF + u8 cursorPal:4; // x10, x20, x40, x80 = xF0 + u8 fillValue:4; // x1, x2, x4, x8 = xF + u8 cursorShadowPal:4; // x10, x20, x40, x80 = xF0 + u8 lettersSpacing:3; + u8 itemVerticalPadding:3; + u8 scrollMultiple:2; // x40, x80 = xC0 + u8 fontId:6; // x1, x2, x4, x8, x10, x20 = x3F + u8 cursorKind:2; // x40, x80 }; struct ListMenu { diff --git a/src/fame_checker.c b/src/fame_checker.c index 0c7072fb4..203d1ca6c 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -50,16 +50,11 @@ struct FameCheckerData u8 unk_23_2:1; }; -struct FameCheckerData2 -{ - u8 filler_00[0x88]; -}; - EWRAM_DATA u16 * gUnknown_203B0F0 = NULL; EWRAM_DATA u16 * gUnknown_203B0F4 = NULL; EWRAM_DATA u16 * gUnknown_203B0F8 = NULL; EWRAM_DATA struct FameCheckerData * gUnknown_203B0FC = NULL; -EWRAM_DATA struct FameCheckerData2 * gUnknown_203B100 = NULL; +EWRAM_DATA struct ListMenuItem * gUnknown_203B100 = NULL; EWRAM_DATA u32 gUnknown_203B104 = 0; struct ListMenuTemplate gUnknown_3005EB0; @@ -106,6 +101,10 @@ void sub_812D9A8(u8 a0, u16 a1); void sub_812DA14(u8 a0); void sub_812DB10(void); void sub_812DB28(void); +void sub_812DB64(void); +void sub_812DBC0(s32, bool8, struct ListMenu *); +u8 sub_812DEF0(void); +void sub_812DFE4(u8); void sub_812E000(void); void sub_812E048(void); u16 sub_812E064(void); @@ -225,7 +224,7 @@ void sub_812C3F8(void) InitWindows(gUnknown_845FC04); DeactivateAllTextPrinters(); sub_812CEC0(); - gUnknown_203B100 = AllocZeroed(sizeof(struct FameCheckerData2)); + gUnknown_203B100 = AllocZeroed(17 * sizeof(struct ListMenuItem)); sub_812DB28(); gMain.state++; break; @@ -939,3 +938,39 @@ void sub_812DA14(u8 a0) AddTextPrinterParametrized2(3, 0, width, 10, 0, 2, &gUnknown_845F5E3, -1, gStringVar1); sub_812CEE0(3); } + +void sub_812DB10(void) +{ + sub_812E094(0); + gUnknown_3005EC8 = 0xFF; +} + +void sub_812DB28(void) +{ + sub_812DB64(); + gUnknown_203B0FC->unk_07_2 = sub_812DEF0(); + gUnknown_203B0FC->unk_08 = ListMenuInit(&gUnknown_3005EB0, 0, 0); + sub_812DFE4(0); +} + +void sub_812DB64(void) +{ + gUnknown_3005EB0.items = gUnknown_203B100; + gUnknown_3005EB0.moveCursorFunc = sub_812DBC0; + gUnknown_3005EB0.itemPrintFunc = NULL; + gUnknown_3005EB0.totalItems = 1; + gUnknown_3005EB0.maxShowed = 1; + gUnknown_3005EB0.windowId = 0; + gUnknown_3005EB0.header_X = 0; + gUnknown_3005EB0.item_X = 8; + gUnknown_3005EB0.cursor_X = 0; + gUnknown_3005EB0.upText_Y = 4; + gUnknown_3005EB0.cursorPal = 2; + gUnknown_3005EB0.fillValue = 0; + gUnknown_3005EB0.cursorShadowPal = 3; + gUnknown_3005EB0.lettersSpacing = 0; + gUnknown_3005EB0.itemVerticalPadding = 0; + gUnknown_3005EB0.scrollMultiple = 0; + gUnknown_3005EB0.fontId = 2; + gUnknown_3005EB0.cursorKind = 0; +} From 03af56b30e397e432f8815ba66de173a5be6501b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 26 Nov 2018 08:48:14 -0500 Subject: [PATCH 130/222] nonmatching sub_812DBC0 --- asm/fame_checker.s | 195 -------------------------------- src/fame_checker.c | 270 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 269 insertions(+), 196 deletions(-) diff --git a/asm/fame_checker.s b/asm/fame_checker.s index 471e9921b..b0a357af1 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -5,201 +5,6 @@ .text - thumb_func_start sub_812DBC0 -sub_812DBC0: @ 812DBC0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - adds r7, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _0812DC68 @ =gUnknown_203B104 - mov r10, r0 - movs r2, 0 - mov r8, r2 - str r2, [r0] - ldr r6, _0812DC6C @ =gUnknown_203B0FC - ldr r0, [r6] - ldrb r2, [r0, 0xA] - ldrb r0, [r0, 0xB] - adds r2, r0 - mov r9, r2 - adds r0, r7, 0 - bl sub_812DDF0 - ldr r0, _0812DC70 @ =sub_812C694 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xFF - bne _0812DBFE - b _0812DD3A -_0812DBFE: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0812DC74 @ =gTasks - adds r5, r0, r1 - movs r0, 0x5 - bl PlaySE - mov r0, r8 - strh r0, [r5, 0xA] - ldr r0, [r6] - ldrb r0, [r0, 0x8] - add r1, sp, 0x8 - movs r2, 0 - bl get_coro_args_x18_x1A - ldr r1, [r6] - add r0, sp, 0x8 - ldrh r0, [r0] - strh r0, [r1, 0x4] - ldrb r0, [r1, 0x7] - lsrs r0, 2 - subs r0, 0x1 - cmp r7, r0 - beq _0812DCD8 - bl sub_812D174 - lsls r0, r7, 24 - lsrs r0, 24 - bl sub_812D1A8 - ldr r2, [r6] - ldrb r1, [r2, 0x7] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0812DCBC - adds r0, r2, 0 - adds r0, 0x23 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _0812DC7C - adds r0, r4, 0 - mov r1, r9 - bl sub_812D9A8 - mov r1, r10 - str r7, [r1] - ldr r0, _0812DC78 @ =sub_812DD50 - str r0, [r5] - b _0812DD3A - .align 2, 0 -_0812DC68: .4byte gUnknown_203B104 -_0812DC6C: .4byte gUnknown_203B0FC -_0812DC70: .4byte sub_812C694 -_0812DC74: .4byte gTasks -_0812DC78: .4byte sub_812DD50 -_0812DC7C: - ldr r4, _0812DCB8 @ =gSprites - movs r2, 0xC - ldrsh r0, [r5, r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x23 - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - movs r0, 0xC - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - mov r1, r8 - strh r1, [r0, 0x2E] - bl sub_812CD3C - b _0812DD3A - .align 2, 0 -_0812DCB8: .4byte gSprites -_0812DCBC: - movs r0, 0xD0 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - movs r0, 0x2 - bl sub_812CEE0 - b _0812DD3A -_0812DCD8: - bl sub_812DDAC - ldr r0, [r6] - ldrb r1, [r0, 0x7] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0812DD10 - ldr r2, _0812DD0C @ =gSprites - movs r0, 0xC - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r1, [r6] - adds r1, 0x23 - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - b _0812DD3A - .align 2, 0 -_0812DD0C: .4byte gSprites -_0812DD10: - movs r2, 0 - ldr r5, _0812DD4C @ =gSprites - adds r4, r6, 0 - movs r3, 0x4 -_0812DD18: - ldr r0, [r4] - adds r0, 0x1D - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x5 - bls _0812DD18 -_0812DD3A: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812DD4C: .4byte gSprites - thumb_func_end sub_812DBC0 - thumb_func_start sub_812DD50 sub_812DD50: @ 812DD50 push {r4,lr} diff --git a/src/fame_checker.c b/src/fame_checker.c index 203d1ca6c..02afdc937 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -55,7 +55,7 @@ EWRAM_DATA u16 * gUnknown_203B0F4 = NULL; EWRAM_DATA u16 * gUnknown_203B0F8 = NULL; EWRAM_DATA struct FameCheckerData * gUnknown_203B0FC = NULL; EWRAM_DATA struct ListMenuItem * gUnknown_203B100 = NULL; -EWRAM_DATA u32 gUnknown_203B104 = 0; +EWRAM_DATA s32 gUnknown_203B104 = 0; struct ListMenuTemplate gUnknown_3005EB0; u8 gUnknown_3005EC8; @@ -103,6 +103,9 @@ void sub_812DB10(void); void sub_812DB28(void); void sub_812DB64(void); void sub_812DBC0(s32, bool8, struct ListMenu *); +void sub_812DD50(u8 taskId); +void sub_812DDAC(void); +void sub_812DDF0(s32 itemIndex, bool8 onInit); u8 sub_812DEF0(void); void sub_812DFE4(u8); void sub_812E000(void); @@ -974,3 +977,268 @@ void sub_812DB64(void) gUnknown_3005EB0.fontId = 2; gUnknown_3005EB0.cursorKind = 0; } + +#ifdef NONMATCHING +void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) +{ + u16 sp8[2]; + u8 taskId; + s32 r9; + gUnknown_203B104 = 0; + r9 = gUnknown_203B0FC->unk_0A + gUnknown_203B0FC->unk_0B; + sub_812DDF0(itemIndex, onInit); + taskId = FindTaskIdByFunc(sub_812C694); + if (taskId != 0xFF) + { + struct Task *task = &gTasks[taskId]; + PlaySE(SE_SELECT); + task->data[1] = 0; + get_coro_args_x18_x1A(gUnknown_203B0FC->unk_08, sp8, NULL); + gUnknown_203B0FC->unk_04 = sp8[0]; + if (itemIndex != gUnknown_203B0FC->unk_07_2 - 1) + { + sub_812D174(); + sub_812D1A8(itemIndex); + if (gUnknown_203B0FC->unk_07_1) + { + if (!gUnknown_203B0FC->unk_23_2) + { + /* + * The following two instructions compile in the wrong order: + * adds r0, r4, 0 + * mov r1, r9 + */ + sub_812D9A8(taskId, r9); + gUnknown_203B104 = itemIndex; + task->func = sub_812DD50; + } + else + { + gSprites[task->data[2]].invisible = FALSE; + gUnknown_203B0FC->unk_23_2 = FALSE; + gSprites[task->data[2]].data[0] = 0; + sub_812CD3C(); + } + } + else + { + FillWindowPixelRect(2, 0x11, 0, 0, 0xd0, 0x20); + sub_812CEE0(2); + } + } + else + { + sub_812DDAC(); + if (gUnknown_203B0FC->unk_07_1) + { + gSprites[task->data[2]].invisible = TRUE; + gUnknown_203B0FC->unk_23_2 = TRUE; + } + else + { + u8 r2; + for (r2 = 0; r2 < 6; r2++) + { + gSprites[gUnknown_203B0FC->unk_1D[r2]].invisible = TRUE; + } + } + } + } +} +#else +NAKED +void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu * list) +{ + asm_unified( "push {r4-r7,lr}\n" + "\tmov r7, r10\n" + "\tmov r6, r9\n" + "\tmov r5, r8\n" + "\tpush {r5-r7}\n" + "\tsub sp, 0xC\n" + "\tadds r7, r0, 0\n" + "\tlsls r1, 24\n" + "\tlsrs r1, 24\n" + "\tldr r0, _0812DC68 @ =gUnknown_203B104\n" + "\tmov r10, r0\n" + "\tmovs r2, 0\n" + "\tmov r8, r2\n" + "\tstr r2, [r0]\n" + "\tldr r6, _0812DC6C @ =gUnknown_203B0FC\n" + "\tldr r0, [r6]\n" + "\tldrb r2, [r0, 0xA]\n" + "\tldrb r0, [r0, 0xB]\n" + "\tadds r2, r0\n" + "\tmov r9, r2\n" + "\tadds r0, r7, 0\n" + "\tbl sub_812DDF0\n" + "\tldr r0, _0812DC70 @ =sub_812C694\n" + "\tbl FindTaskIdByFunc\n" + "\tlsls r0, 24\n" + "\tlsrs r4, r0, 24\n" + "\tcmp r4, 0xFF\n" + "\tbne _0812DBFE\n" + "\tb _0812DD3A\n" + "_0812DBFE:\n" + "\tlsls r0, r4, 2\n" + "\tadds r0, r4\n" + "\tlsls r0, 3\n" + "\tldr r1, _0812DC74 @ =gTasks\n" + "\tadds r5, r0, r1\n" + "\tmovs r0, 0x5\n" + "\tbl PlaySE\n" + "\tmov r0, r8\n" + "\tstrh r0, [r5, 0xA]\n" + "\tldr r0, [r6]\n" + "\tldrb r0, [r0, 0x8]\n" + "\tadd r1, sp, 0x8\n" + "\tmovs r2, 0\n" + "\tbl get_coro_args_x18_x1A\n" + "\tldr r1, [r6]\n" + "\tadd r0, sp, 0x8\n" + "\tldrh r0, [r0]\n" + "\tstrh r0, [r1, 0x4]\n" + "\tldrb r0, [r1, 0x7]\n" + "\tlsrs r0, 2\n" + "\tsubs r0, 0x1\n" + "\tcmp r7, r0\n" + "\tbeq _0812DCD8\n" + "\tbl sub_812D174\n" + "\tlsls r0, r7, 24\n" + "\tlsrs r0, 24\n" + "\tbl sub_812D1A8\n" + "\tldr r2, [r6]\n" + "\tldrb r1, [r2, 0x7]\n" + "\tmovs r0, 0x2\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbeq _0812DCBC\n" + "\tadds r0, r2, 0\n" + "\tadds r0, 0x23\n" + "\tldrb r1, [r0]\n" + "\tmovs r0, 0x4\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbne _0812DC7C\n" + "\tadds r0, r4, 0\n" + "\tmov r1, r9\n" + "\tbl sub_812D9A8\n" + "\tmov r1, r10\n" + "\tstr r7, [r1]\n" + "\tldr r0, _0812DC78 @ =sub_812DD50\n" + "\tstr r0, [r5]\n" + "\tb _0812DD3A\n" + "\t.align 2, 0\n" + "_0812DC68: .4byte gUnknown_203B104\n" + "_0812DC6C: .4byte gUnknown_203B0FC\n" + "_0812DC70: .4byte sub_812C694\n" + "_0812DC74: .4byte gTasks\n" + "_0812DC78: .4byte sub_812DD50\n" + "_0812DC7C:\n" + "\tldr r4, _0812DCB8 @ =gSprites\n" + "\tmovs r2, 0xC\n" + "\tldrsh r0, [r5, r2]\n" + "\tlsls r1, r0, 4\n" + "\tadds r1, r0\n" + "\tlsls r1, 2\n" + "\tadds r1, r4\n" + "\tadds r1, 0x3E\n" + "\tldrb r3, [r1]\n" + "\tmovs r2, 0x5\n" + "\tnegs r2, r2\n" + "\tadds r0, r2, 0\n" + "\tands r0, r3\n" + "\tstrb r0, [r1]\n" + "\tldr r0, [r6]\n" + "\tadds r0, 0x23\n" + "\tldrb r1, [r0]\n" + "\tands r2, r1\n" + "\tstrb r2, [r0]\n" + "\tmovs r0, 0xC\n" + "\tldrsh r1, [r5, r0]\n" + "\tlsls r0, r1, 4\n" + "\tadds r0, r1\n" + "\tlsls r0, 2\n" + "\tadds r0, r4\n" + "\tmov r1, r8\n" + "\tstrh r1, [r0, 0x2E]\n" + "\tbl sub_812CD3C\n" + "\tb _0812DD3A\n" + "\t.align 2, 0\n" + "_0812DCB8: .4byte gSprites\n" + "_0812DCBC:\n" + "\tmovs r0, 0xD0\n" + "\tstr r0, [sp]\n" + "\tmovs r0, 0x20\n" + "\tstr r0, [sp, 0x4]\n" + "\tmovs r0, 0x2\n" + "\tmovs r1, 0x11\n" + "\tmovs r2, 0\n" + "\tmovs r3, 0\n" + "\tbl FillWindowPixelRect\n" + "\tmovs r0, 0x2\n" + "\tbl sub_812CEE0\n" + "\tb _0812DD3A\n" + "_0812DCD8:\n" + "\tbl sub_812DDAC\n" + "\tldr r0, [r6]\n" + "\tldrb r1, [r0, 0x7]\n" + "\tmovs r0, 0x2\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbeq _0812DD10\n" + "\tldr r2, _0812DD0C @ =gSprites\n" + "\tmovs r0, 0xC\n" + "\tldrsh r1, [r5, r0]\n" + "\tlsls r0, r1, 4\n" + "\tadds r0, r1\n" + "\tlsls r0, 2\n" + "\tadds r0, r2\n" + "\tadds r0, 0x3E\n" + "\tldrb r1, [r0]\n" + "\tmovs r2, 0x4\n" + "\torrs r1, r2\n" + "\tstrb r1, [r0]\n" + "\tldr r1, [r6]\n" + "\tadds r1, 0x23\n" + "\tldrb r0, [r1]\n" + "\torrs r0, r2\n" + "\tstrb r0, [r1]\n" + "\tb _0812DD3A\n" + "\t.align 2, 0\n" + "_0812DD0C: .4byte gSprites\n" + "_0812DD10:\n" + "\tmovs r2, 0\n" + "\tldr r5, _0812DD4C @ =gSprites\n" + "\tadds r4, r6, 0\n" + "\tmovs r3, 0x4\n" + "_0812DD18:\n" + "\tldr r0, [r4]\n" + "\tadds r0, 0x1D\n" + "\tadds r0, r2\n" + "\tldrb r1, [r0]\n" + "\tlsls r0, r1, 4\n" + "\tadds r0, r1\n" + "\tlsls r0, 2\n" + "\tadds r0, r5\n" + "\tadds r0, 0x3E\n" + "\tldrb r1, [r0]\n" + "\torrs r1, r3\n" + "\tstrb r1, [r0]\n" + "\tadds r0, r2, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r2, r0, 24\n" + "\tcmp r2, 0x5\n" + "\tbls _0812DD18\n" + "_0812DD3A:\n" + "\tadd sp, 0xC\n" + "\tpop {r3-r5}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tmov r10, r5\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" + "_0812DD4C: .4byte gSprites"); +} +#endif // NONMATCHING From 840f8037e77885b664470910b072ee8dc4cd140d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 26 Nov 2018 09:28:23 -0500 Subject: [PATCH 131/222] through sub_812DDAC; match sub_812DBC0 --- asm/fame_checker.s | 79 ---------------- src/fame_checker.c | 218 ++++----------------------------------------- 2 files changed, 16 insertions(+), 281 deletions(-) diff --git a/asm/fame_checker.s b/asm/fame_checker.s index b0a357af1..fc6489bdd 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -5,85 +5,6 @@ .text - thumb_func_start sub_812DD50 -sub_812DD50: @ 812DD50 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0812DD98 @ =gTasks - adds r4, r0 - ldr r0, _0812DD9C @ =gUnknown_203B0FC - ldr r0, [r0] - ldr r1, _0812DDA0 @ =gUnknown_203B104 - adds r0, 0xC - ldr r1, [r1] - adds r0, r1 - ldrb r0, [r0] - bl sub_812D888 - lsls r0, 24 - lsrs r0, 24 - movs r3, 0 - strh r0, [r4, 0xC] - ldr r2, _0812DDA4 @ =gSprites - movs r0, 0xC - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x2E] - bl sub_812CD3C - ldr r0, _0812DDA8 @ =sub_812C694 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812DD98: .4byte gTasks -_0812DD9C: .4byte gUnknown_203B0FC -_0812DDA0: .4byte gUnknown_203B104 -_0812DDA4: .4byte gSprites -_0812DDA8: .4byte sub_812C694 - thumb_func_end sub_812DD50 - - thumb_func_start sub_812DDAC -sub_812DDAC: @ 812DDAC - push {lr} - sub sp, 0x10 - movs r0, 0xD0 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - ldr r2, _0812DDEC @ =gUnknown_84181C3 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParametrized - movs r0, 0x2 - bl sub_812CEE0 - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_0812DDEC: .4byte gUnknown_84181C3 - thumb_func_end sub_812DDAC - thumb_func_start sub_812DDF0 sub_812DDF0: @ 812DDF0 push {r4-r7,lr} diff --git a/src/fame_checker.c b/src/fame_checker.c index 02afdc937..8637f6e86 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -116,6 +116,7 @@ void sub_812E110(u8 taskId); void sub_812E178(u8 a0, s16 a1); void sub_812E4A4(u8 a0); +extern const u8 gUnknown_84181C3[]; extern const u8 gUnknown_84181E4[]; extern const u8 gUnknown_841E5A4[]; extern const u8 gUnknown_841E5B9[]; @@ -978,12 +979,11 @@ void sub_812DB64(void) gUnknown_3005EB0.cursorKind = 0; } -#ifdef NONMATCHING void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) { u16 sp8[2]; u8 taskId; - s32 r9; + u16 r9; gUnknown_203B104 = 0; r9 = gUnknown_203B0FC->unk_0A + gUnknown_203B0FC->unk_0B; sub_812DDF0(itemIndex, onInit); @@ -1003,11 +1003,6 @@ void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) { if (!gUnknown_203B0FC->unk_23_2) { - /* - * The following two instructions compile in the wrong order: - * adds r0, r4, 0 - * mov r1, r9 - */ sub_812D9A8(taskId, r9); gUnknown_203B104 = itemIndex; task->func = sub_812DD50; @@ -1045,200 +1040,19 @@ void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) } } } -#else -NAKED -void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu * list) + +void sub_812DD50(u8 taskId) { - asm_unified( "push {r4-r7,lr}\n" - "\tmov r7, r10\n" - "\tmov r6, r9\n" - "\tmov r5, r8\n" - "\tpush {r5-r7}\n" - "\tsub sp, 0xC\n" - "\tadds r7, r0, 0\n" - "\tlsls r1, 24\n" - "\tlsrs r1, 24\n" - "\tldr r0, _0812DC68 @ =gUnknown_203B104\n" - "\tmov r10, r0\n" - "\tmovs r2, 0\n" - "\tmov r8, r2\n" - "\tstr r2, [r0]\n" - "\tldr r6, _0812DC6C @ =gUnknown_203B0FC\n" - "\tldr r0, [r6]\n" - "\tldrb r2, [r0, 0xA]\n" - "\tldrb r0, [r0, 0xB]\n" - "\tadds r2, r0\n" - "\tmov r9, r2\n" - "\tadds r0, r7, 0\n" - "\tbl sub_812DDF0\n" - "\tldr r0, _0812DC70 @ =sub_812C694\n" - "\tbl FindTaskIdByFunc\n" - "\tlsls r0, 24\n" - "\tlsrs r4, r0, 24\n" - "\tcmp r4, 0xFF\n" - "\tbne _0812DBFE\n" - "\tb _0812DD3A\n" - "_0812DBFE:\n" - "\tlsls r0, r4, 2\n" - "\tadds r0, r4\n" - "\tlsls r0, 3\n" - "\tldr r1, _0812DC74 @ =gTasks\n" - "\tadds r5, r0, r1\n" - "\tmovs r0, 0x5\n" - "\tbl PlaySE\n" - "\tmov r0, r8\n" - "\tstrh r0, [r5, 0xA]\n" - "\tldr r0, [r6]\n" - "\tldrb r0, [r0, 0x8]\n" - "\tadd r1, sp, 0x8\n" - "\tmovs r2, 0\n" - "\tbl get_coro_args_x18_x1A\n" - "\tldr r1, [r6]\n" - "\tadd r0, sp, 0x8\n" - "\tldrh r0, [r0]\n" - "\tstrh r0, [r1, 0x4]\n" - "\tldrb r0, [r1, 0x7]\n" - "\tlsrs r0, 2\n" - "\tsubs r0, 0x1\n" - "\tcmp r7, r0\n" - "\tbeq _0812DCD8\n" - "\tbl sub_812D174\n" - "\tlsls r0, r7, 24\n" - "\tlsrs r0, 24\n" - "\tbl sub_812D1A8\n" - "\tldr r2, [r6]\n" - "\tldrb r1, [r2, 0x7]\n" - "\tmovs r0, 0x2\n" - "\tands r0, r1\n" - "\tcmp r0, 0\n" - "\tbeq _0812DCBC\n" - "\tadds r0, r2, 0\n" - "\tadds r0, 0x23\n" - "\tldrb r1, [r0]\n" - "\tmovs r0, 0x4\n" - "\tands r0, r1\n" - "\tcmp r0, 0\n" - "\tbne _0812DC7C\n" - "\tadds r0, r4, 0\n" - "\tmov r1, r9\n" - "\tbl sub_812D9A8\n" - "\tmov r1, r10\n" - "\tstr r7, [r1]\n" - "\tldr r0, _0812DC78 @ =sub_812DD50\n" - "\tstr r0, [r5]\n" - "\tb _0812DD3A\n" - "\t.align 2, 0\n" - "_0812DC68: .4byte gUnknown_203B104\n" - "_0812DC6C: .4byte gUnknown_203B0FC\n" - "_0812DC70: .4byte sub_812C694\n" - "_0812DC74: .4byte gTasks\n" - "_0812DC78: .4byte sub_812DD50\n" - "_0812DC7C:\n" - "\tldr r4, _0812DCB8 @ =gSprites\n" - "\tmovs r2, 0xC\n" - "\tldrsh r0, [r5, r2]\n" - "\tlsls r1, r0, 4\n" - "\tadds r1, r0\n" - "\tlsls r1, 2\n" - "\tadds r1, r4\n" - "\tadds r1, 0x3E\n" - "\tldrb r3, [r1]\n" - "\tmovs r2, 0x5\n" - "\tnegs r2, r2\n" - "\tadds r0, r2, 0\n" - "\tands r0, r3\n" - "\tstrb r0, [r1]\n" - "\tldr r0, [r6]\n" - "\tadds r0, 0x23\n" - "\tldrb r1, [r0]\n" - "\tands r2, r1\n" - "\tstrb r2, [r0]\n" - "\tmovs r0, 0xC\n" - "\tldrsh r1, [r5, r0]\n" - "\tlsls r0, r1, 4\n" - "\tadds r0, r1\n" - "\tlsls r0, 2\n" - "\tadds r0, r4\n" - "\tmov r1, r8\n" - "\tstrh r1, [r0, 0x2E]\n" - "\tbl sub_812CD3C\n" - "\tb _0812DD3A\n" - "\t.align 2, 0\n" - "_0812DCB8: .4byte gSprites\n" - "_0812DCBC:\n" - "\tmovs r0, 0xD0\n" - "\tstr r0, [sp]\n" - "\tmovs r0, 0x20\n" - "\tstr r0, [sp, 0x4]\n" - "\tmovs r0, 0x2\n" - "\tmovs r1, 0x11\n" - "\tmovs r2, 0\n" - "\tmovs r3, 0\n" - "\tbl FillWindowPixelRect\n" - "\tmovs r0, 0x2\n" - "\tbl sub_812CEE0\n" - "\tb _0812DD3A\n" - "_0812DCD8:\n" - "\tbl sub_812DDAC\n" - "\tldr r0, [r6]\n" - "\tldrb r1, [r0, 0x7]\n" - "\tmovs r0, 0x2\n" - "\tands r0, r1\n" - "\tcmp r0, 0\n" - "\tbeq _0812DD10\n" - "\tldr r2, _0812DD0C @ =gSprites\n" - "\tmovs r0, 0xC\n" - "\tldrsh r1, [r5, r0]\n" - "\tlsls r0, r1, 4\n" - "\tadds r0, r1\n" - "\tlsls r0, 2\n" - "\tadds r0, r2\n" - "\tadds r0, 0x3E\n" - "\tldrb r1, [r0]\n" - "\tmovs r2, 0x4\n" - "\torrs r1, r2\n" - "\tstrb r1, [r0]\n" - "\tldr r1, [r6]\n" - "\tadds r1, 0x23\n" - "\tldrb r0, [r1]\n" - "\torrs r0, r2\n" - "\tstrb r0, [r1]\n" - "\tb _0812DD3A\n" - "\t.align 2, 0\n" - "_0812DD0C: .4byte gSprites\n" - "_0812DD10:\n" - "\tmovs r2, 0\n" - "\tldr r5, _0812DD4C @ =gSprites\n" - "\tadds r4, r6, 0\n" - "\tmovs r3, 0x4\n" - "_0812DD18:\n" - "\tldr r0, [r4]\n" - "\tadds r0, 0x1D\n" - "\tadds r0, r2\n" - "\tldrb r1, [r0]\n" - "\tlsls r0, r1, 4\n" - "\tadds r0, r1\n" - "\tlsls r0, 2\n" - "\tadds r0, r5\n" - "\tadds r0, 0x3E\n" - "\tldrb r1, [r0]\n" - "\torrs r1, r3\n" - "\tstrb r1, [r0]\n" - "\tadds r0, r2, 0x1\n" - "\tlsls r0, 24\n" - "\tlsrs r2, r0, 24\n" - "\tcmp r2, 0x5\n" - "\tbls _0812DD18\n" - "_0812DD3A:\n" - "\tadd sp, 0xC\n" - "\tpop {r3-r5}\n" - "\tmov r8, r3\n" - "\tmov r9, r4\n" - "\tmov r10, r5\n" - "\tpop {r4-r7}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.align 2, 0\n" - "_0812DD4C: .4byte gSprites"); + struct Task * task = &gTasks[taskId]; + task->data[2] = sub_812D888(gUnknown_203B0FC->unk_0C[gUnknown_203B104]); + gSprites[task->data[2]].data[0] = 0; + sub_812CD3C(); + task->func = sub_812C694; +} + +void sub_812DDAC(void) +{ + FillWindowPixelRect(2, 0x11, 0, 0, 0xd0, 0x20); + AddTextPrinterParametrized(2, 2, gUnknown_84181C3, 0, NULL, 2, 1, 3); + sub_812CEE0(2); } -#endif // NONMATCHING From eb8dface178fed90656ea7a7726b6835ee5a1229 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 26 Nov 2018 10:26:12 -0500 Subject: [PATCH 132/222] through sub_812E064 --- asm/fame_checker.s | 345 -------------------------------------- include/menu_indicators.h | 9 + src/fame_checker.c | 103 +++++++++++- 3 files changed, 108 insertions(+), 349 deletions(-) diff --git a/asm/fame_checker.s b/asm/fame_checker.s index fc6489bdd..9807f15dc 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -5,351 +5,6 @@ .text - thumb_func_start sub_812DDF0 -sub_812DDF0: @ 812DDF0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x18 - mov r8, r0 - lsls r5, r1, 24 - lsrs r5, 24 - ldr r7, _0812DE68 @ =gUnknown_203B0FC - ldr r0, [r7] - ldrb r0, [r0, 0x8] - mov r4, sp - adds r4, 0x16 - add r1, sp, 0x14 - adds r2, r4, 0 - bl get_coro_args_x18_x1A - add r1, sp, 0x14 - ldrh r0, [r4] - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - ldrh r0, [r4] - lsls r3, r0, 3 - subs r3, r0 - lsls r3, 25 - movs r0, 0x80 - lsls r0, 19 - adds r3, r0 - lsrs r3, 24 - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - ldr r0, _0812DE6C @ =gUnknown_845F5E6 - str r0, [sp, 0x8] - str r1, [sp, 0xC] - ldr r0, _0812DE70 @ =gUnknown_203B100 - ldr r1, [r0] - mov r2, r8 - lsls r0, r2, 3 - adds r0, r1 - ldr r0, [r0] - str r0, [sp, 0x10] - movs r0, 0 - movs r1, 0x2 - movs r2, 0x8 - bl AddTextPrinterParametrized2 - cmp r5, 0 - bne _0812DEC0 - add r0, sp, 0x14 - ldr r1, [r7] - ldrh r2, [r0] - ldrb r0, [r1, 0xA] - cmp r2, r0 - bcs _0812DE74 - ldrb r0, [r1, 0xB] - adds r0, 0x1 - b _0812DE86 - .align 2, 0 -_0812DE68: .4byte gUnknown_203B0FC -_0812DE6C: .4byte gUnknown_845F5E6 -_0812DE70: .4byte gUnknown_203B100 -_0812DE74: - cmp r2, r0 - bls _0812DE88 - ldrb r0, [r1, 0x7] - lsrs r0, 2 - subs r0, 0x1 - cmp r6, r0 - beq _0812DE88 - ldrb r0, [r1, 0xB] - subs r0, 0x1 -_0812DE86: - strb r0, [r1, 0xB] -_0812DE88: - ldr r0, _0812DEE4 @ =gUnknown_203B0FC - ldr r2, [r0] - ldrb r0, [r2, 0xB] - lsls r3, r0, 3 - subs r3, r0 - lsls r3, 25 - movs r0, 0x80 - lsls r0, 19 - adds r3, r0 - lsrs r3, 24 - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - ldr r0, _0812DEE8 @ =gUnknown_845F5E3 - str r0, [sp, 0x8] - str r1, [sp, 0xC] - ldrb r0, [r2, 0x9] - ldr r1, _0812DEEC @ =gUnknown_203B100 - ldr r1, [r1] - lsls r0, 3 - adds r0, r1 - ldr r0, [r0] - str r0, [sp, 0x10] - movs r0, 0 - movs r1, 0x2 - movs r2, 0x8 - bl AddTextPrinterParametrized2 -_0812DEC0: - ldr r1, _0812DEE4 @ =gUnknown_203B0FC - ldr r0, [r1] - mov r2, r8 - strb r2, [r0, 0x9] - ldr r2, [r1] - ldrh r0, [r4] - strb r0, [r2, 0xB] - ldr r1, [r1] - add r0, sp, 0x14 - ldrh r0, [r0] - strb r0, [r1, 0xA] - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812DEE4: .4byte gUnknown_203B0FC -_0812DEE8: .4byte gUnknown_845F5E3 -_0812DEEC: .4byte gUnknown_203B100 - thumb_func_end sub_812DDF0 - - thumb_func_start sub_812DEF0 -sub_812DEF0: @ 812DEF0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r4, 0 - movs r6, 0 - ldr r0, _0812DF44 @ =0x0000fdff - mov r8, r0 - ldr r7, _0812DF48 @ =gUnknown_845F60C -_0812DF00: - adds r0, r6, 0 - bl sub_812D0C0 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0812DF4C @ =gSaveBlock1Ptr - ldr r0, [r0] - lsls r1, r5, 2 - adds r0, r1 - ldr r1, _0812DF50 @ =0x00003a54 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - cmp r0, 0 - beq _0812DF88 - ldr r0, _0812DF54 @ =gUnknown_845F5EA - lsls r1, r5, 1 - adds r3, r1, r0 - ldrh r0, [r3] - cmp r0, r8 - bhi _0812DF60 - ldr r0, _0812DF58 @ =gUnknown_203B100 - ldr r0, [r0] - lsls r2, r4, 3 - adds r2, r0 - ldrh r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _0812DF5C @ =gTrainers+0x4 - adds r0, r1 - str r0, [r2] - str r4, [r2, 0x4] - b _0812DF78 - .align 2, 0 -_0812DF44: .4byte 0x0000fdff -_0812DF48: .4byte gUnknown_845F60C -_0812DF4C: .4byte gSaveBlock1Ptr -_0812DF50: .4byte 0x00003a54 -_0812DF54: .4byte gUnknown_845F5EA -_0812DF58: .4byte gUnknown_203B100 -_0812DF5C: .4byte gTrainers+0x4 -_0812DF60: - ldr r0, _0812DFC0 @ =gUnknown_203B100 - ldr r0, [r0] - lsls r1, r4, 3 - adds r1, r0 - ldrh r0, [r3] - ldr r2, _0812DFC4 @ =0xffff0200 - adds r0, r2 - lsls r0, 2 - adds r0, r7 - ldr r0, [r0] - str r0, [r1] - str r4, [r1, 0x4] -_0812DF78: - ldr r0, _0812DFC8 @ =gUnknown_203B0FC - ldr r0, [r0] - adds r0, 0xC - adds r0, r4 - strb r5, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_0812DF88: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0xF - bls _0812DF00 - ldr r0, _0812DFC0 @ =gUnknown_203B100 - ldr r1, [r0] - lsls r0, r4, 3 - adds r0, r1 - ldr r1, _0812DFCC @ =gUnknown_84161C1 - str r1, [r0] - str r4, [r0, 0x4] - ldr r0, _0812DFC8 @ =gUnknown_203B0FC - ldr r0, [r0] - adds r0, 0xC - adds r0, r4 - movs r1, 0xFF - strb r1, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _0812DFD0 @ =gUnknown_3005EB0 - strh r4, [r1, 0xC] - cmp r4, 0x4 - bhi _0812DFD4 - strh r4, [r1, 0xE] - b _0812DFD8 - .align 2, 0 -_0812DFC0: .4byte gUnknown_203B100 -_0812DFC4: .4byte 0xffff0200 -_0812DFC8: .4byte gUnknown_203B0FC -_0812DFCC: .4byte gUnknown_84161C1 -_0812DFD0: .4byte gUnknown_3005EB0 -_0812DFD4: - movs r0, 0x5 - strh r0, [r1, 0xE] -_0812DFD8: - adds r0, r4, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_812DEF0 - - thumb_func_start sub_812DFE4 -sub_812DFE4: @ 812DFE4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812DFE4 - - thumb_func_start sub_812E000 -sub_812E000: @ 812E000 - push {r4,lr} - sub sp, 0x10 - mov r1, sp - ldr r0, _0812E040 @ =gUnknown_845FD44 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldr r0, [r0] - str r0, [r1] - ldr r4, _0812E044 @ =gUnknown_203B0FC - ldr r2, [r4] - ldrb r0, [r2, 0x7] - lsrs r0, 2 - cmp r0, 0x5 - bls _0812E036 - mov r1, sp - movs r0, 0 - strh r0, [r1, 0x6] - ldrb r0, [r2, 0x7] - lsrs r0, 2 - subs r0, 0x5 - strh r0, [r1, 0x8] - adds r1, r2, 0x4 - mov r0, sp - bl AddScrollIndicatorArrowPair - ldr r1, [r4] - strb r0, [r1, 0x6] -_0812E036: - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812E040: .4byte gUnknown_845FD44 -_0812E044: .4byte gUnknown_203B0FC - thumb_func_end sub_812E000 - - thumb_func_start sub_812E048 -sub_812E048: @ 812E048 - push {lr} - ldr r0, _0812E060 @ =gUnknown_203B0FC - ldr r1, [r0] - ldrb r0, [r1, 0x7] - lsrs r0, 2 - cmp r0, 0x5 - bls _0812E05C - ldrb r0, [r1, 0x6] - bl RemoveScrollIndicatorArrowPair -_0812E05C: - pop {r0} - bx r0 - .align 2, 0 -_0812E060: .4byte gUnknown_203B0FC - thumb_func_end sub_812E048 - - thumb_func_start sub_812E064 -sub_812E064: @ 812E064 - push {r4,lr} - sub sp, 0x4 - ldr r0, _0812E090 @ =gUnknown_203B0FC - ldr r0, [r0] - ldrb r0, [r0, 0x8] - mov r4, sp - adds r4, 0x2 - mov r1, sp - adds r2, r4, 0 - bl get_coro_args_x18_x1A - mov r1, sp - ldrh r0, [r4] - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0812E090: .4byte gUnknown_203B0FC - thumb_func_end sub_812E064 - thumb_func_start sub_812E094 sub_812E094: @ 812E094 push {r4-r6,lr} diff --git a/include/menu_indicators.h b/include/menu_indicators.h index 2350e2502..f88fd5549 100644 --- a/include/menu_indicators.h +++ b/include/menu_indicators.h @@ -7,8 +7,17 @@ // Exported RAM declarations +struct ScrollIndicatorArrowPairTemplate +{ + u8 filler_00[6]; + u16 unk_06; + u16 unk_08; + u8 filler_0a[6]; +}; + // Exported ROM declarations u8 AddScrollIndicatorArrowPairParametrized(u8, u8, u8, u8, s32, u16, u16, u16 *); +u8 AddScrollIndicatorArrowPair(const struct ScrollIndicatorArrowPairTemplate * template, u16 * a1); void RemoveScrollIndicatorArrowPair(u8); #endif //GUARD_MENU_INDICATORS_H diff --git a/src/fame_checker.c b/src/fame_checker.c index 8637f6e86..9535b6556 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -4,6 +4,7 @@ #include "bg.h" #include "event_data.h" #include "graphics.h" +#include "battle.h" #include "battle_setup.h" #include "menu.h" #include "battle_dome_cards.h" @@ -21,6 +22,7 @@ #include "window.h" #include "string_util.h" #include "field_map_obj.h" +#include "menu_indicators.h" #include "text_window.h" #define SPRITETAG_1000 1000 @@ -35,7 +37,7 @@ struct FameCheckerData { MainCallback unk_00; u16 unk_04; - u8 filler_06[1]; + u8 unk_06; u8 unk_07_0:1; u8 unk_07_1:1; u8 unk_07_2:6; @@ -121,6 +123,7 @@ extern const u8 gUnknown_84181E4[]; extern const u8 gUnknown_841E5A4[]; extern const u8 gUnknown_841E5B9[]; extern const u8 gUnknown_841E5D2[]; +extern const u8 gUnknown_84161C1[]; extern const u16 gUnknown_845C600[]; extern const u16 gUnknown_845DD20[]; @@ -130,7 +133,10 @@ extern const u16 gUnknown_845F580[]; extern const u16 gUnknown_845F5C0[]; extern const struct TextColor gUnknown_845F5E0; extern const struct TextColor gUnknown_845F5E3; +extern const struct TextColor gUnknown_845F5E6; +extern const u16 gUnknown_845F5EA[]; extern const u8 gUnknown_845F61C[]; +extern const u8 *const gUnknown_845F60C[]; extern const u8 *const gUnknown_845F63C[]; extern const u8 *const gUnknown_845F6BC[]; extern const u8 *const gUnknown_845F89C[]; @@ -147,6 +153,7 @@ extern const struct SpriteTemplate gUnknown_845FCE4; extern const struct SpriteTemplate gUnknown_845FCFC; extern const struct SpriteTemplate gUnknown_845FD14; extern const struct SpriteTemplate gUnknown_845FD2C; +extern const struct ScrollIndicatorArrowPairTemplate gUnknown_845FD44; void sub_812C380(void) { @@ -981,7 +988,7 @@ void sub_812DB64(void) void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) { - u16 sp8[2]; + u16 sp8; u8 taskId; u16 r9; gUnknown_203B104 = 0; @@ -993,8 +1000,8 @@ void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) struct Task *task = &gTasks[taskId]; PlaySE(SE_SELECT); task->data[1] = 0; - get_coro_args_x18_x1A(gUnknown_203B0FC->unk_08, sp8, NULL); - gUnknown_203B0FC->unk_04 = sp8[0]; + get_coro_args_x18_x1A(gUnknown_203B0FC->unk_08, &sp8, NULL); + gUnknown_203B0FC->unk_04 = sp8; if (itemIndex != gUnknown_203B0FC->unk_07_2 - 1) { sub_812D174(); @@ -1056,3 +1063,91 @@ void sub_812DDAC(void) AddTextPrinterParametrized(2, 2, gUnknown_84181C3, 0, NULL, 2, 1, 3); sub_812CEE0(2); } + +void sub_812DDF0(s32 itemIndex, bool8 onInit) +{ + u16 sp14; + u16 sp16; + u16 r6; + get_coro_args_x18_x1A(gUnknown_203B0FC->unk_08, &sp14, &sp16); + r6 = sp14 + sp16; + AddTextPrinterParametrized2(0, 2, 8, 14 * sp16 + 4, 0, 0, &gUnknown_845F5E6, 0, gUnknown_203B100[itemIndex].unk_00); + if (!onInit) + { + if (sp14 < gUnknown_203B0FC->unk_0A) + gUnknown_203B0FC->unk_0B++; + else if (sp14 > gUnknown_203B0FC->unk_0A && r6 != gUnknown_203B0FC->unk_07_2 - 1) + gUnknown_203B0FC->unk_0B--; + AddTextPrinterParametrized2(0, 2, 8, 14 * gUnknown_203B0FC->unk_0B + 4, 0, 0, &gUnknown_845F5E3, 0, gUnknown_203B100[gUnknown_203B0FC->unk_09].unk_00); + + } + gUnknown_203B0FC->unk_09 = itemIndex; + gUnknown_203B0FC->unk_0B = sp16; + gUnknown_203B0FC->unk_0A = sp14; +} + +u8 sub_812DEF0(void) +{ + u8 r4 = 0; + u8 r6; + + for (r6 = 0; r6 < 16; r6++) + { + u8 r5 = sub_812D0C0(r6); + if (gSaveBlock1Ptr->fameChecker[r5].unk_0_0 != 0) + { + if (gUnknown_845F5EA[r5] < 0xFE00) + { + gUnknown_203B100[r4].unk_00 = gTrainers[gUnknown_845F5EA[r5]].trainerName; + gUnknown_203B100[r4].unk_04 = r4; + } + else + { + gUnknown_203B100[r4].unk_00 = gUnknown_845F60C[gUnknown_845F5EA[r5] - 0xFE00]; + gUnknown_203B100[r4].unk_04 = r4; + } + gUnknown_203B0FC->unk_0C[r4] = r5; + r4++; + } + } + gUnknown_203B100[r4].unk_00 = gUnknown_84161C1; + gUnknown_203B100[r4].unk_04 = r4; + gUnknown_203B0FC->unk_0C[r4] = 0xFF; + r4++; + gUnknown_3005EB0.totalItems = r4; + if (r4 < 5) + gUnknown_3005EB0.maxShowed = r4; + else + gUnknown_3005EB0.maxShowed = 5; + return r4; +} + +void sub_812DFE4(u8 windowId) +{ + PutWindowTilemap(windowId); + CopyWindowToVram(windowId, 3); +} + +void sub_812E000(void) +{ + struct ScrollIndicatorArrowPairTemplate sp0 = gUnknown_845FD44; + if (gUnknown_203B0FC->unk_07_2 > 5) + { + sp0.unk_06 = 0; + sp0.unk_08 = gUnknown_203B0FC->unk_07_2 - 5; + gUnknown_203B0FC->unk_06 = AddScrollIndicatorArrowPair(&sp0, &gUnknown_203B0FC->unk_04); + } +} + +void sub_812E048(void) +{ + if (gUnknown_203B0FC->unk_07_2 > 5) + RemoveScrollIndicatorArrowPair(gUnknown_203B0FC->unk_06); +} + +u16 sub_812E064(void) +{ + u16 sp0, sp2; + get_coro_args_x18_x1A(gUnknown_203B0FC->unk_08, &sp0, &sp2); + return sp0 + sp2; +} From f75453388c6f9e1123915707f6d69c3373f761f6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 26 Nov 2018 10:54:41 -0500 Subject: [PATCH 133/222] Finish decomp of fame_checker(.text) --- asm/fame_checker.s | 563 -------------------------------------------- include/list_menu.h | 1 + ld_script.txt | 1 - src/fame_checker.c | 119 +++++++++- 4 files changed, 119 insertions(+), 565 deletions(-) delete mode 100644 asm/fame_checker.s diff --git a/asm/fame_checker.s b/asm/fame_checker.s deleted file mode 100644 index 9807f15dc..000000000 --- a/asm/fame_checker.s +++ /dev/null @@ -1,563 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_812E094 -sub_812E094: @ 812E094 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - ldr r6, _0812E0EC @ =gUnknown_203B0FC - ldr r0, [r6] - adds r0, 0x23 - ldrb r0, [r0] - lsls r0, 31 - lsrs r0, 31 - cmp r0, r4 - beq _0812E108 - ldr r5, _0812E0F0 @ =sub_812E110 - adds r0, r5, 0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - bne _0812E0C8 - adds r0, r5, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 -_0812E0C8: - ldr r0, _0812E0F4 @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x8] - movs r0, 0x4 - strh r0, [r1, 0xA] - cmp r4, 0x1 - bne _0812E0F8 - strh r4, [r1, 0xC] - ldr r0, [r6] - adds r0, 0x23 - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - b _0812E106 - .align 2, 0 -_0812E0EC: .4byte gUnknown_203B0FC -_0812E0F0: .4byte sub_812E110 -_0812E0F4: .4byte gTasks -_0812E0F8: - strh r0, [r1, 0xC] - ldr r0, [r6] - adds r0, 0x23 - ldrb r2, [r0] - movs r1, 0x2 - negs r1, r1 - ands r1, r2 -_0812E106: - strb r1, [r0] -_0812E108: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_812E094 - - thumb_func_start sub_812E110 -sub_812E110: @ 812E110 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0812E130 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0812E134 - cmp r0, 0x1 - beq _0812E154 - b _0812E170 - .align 2, 0 -_0812E130: .4byte gTasks -_0812E134: - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bne _0812E170 - movs r0, 0x1 - movs r1, 0 - bl sub_812E178 - movs r0, 0x4 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0812E170 -_0812E154: - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bne _0812E170 - movs r0, 0xC - ldrsh r1, [r4, r0] - movs r0, 0x1 - bl sub_812E178 - adds r0, r5, 0 - bl DestroyTask -_0812E170: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_812E110 - - thumb_func_start sub_812E178 -sub_812E178: @ 812E178 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - asrs r5, r1, 16 - cmp r5, 0 - beq _0812E18C - cmp r5, 0x3 - bne _0812E252 -_0812E18C: - movs r4, 0x1 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x8C - movs r2, 0xE - movs r3, 0xA - bl FillBgTilemapBufferRect - movs r5, 0xA - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0xA1 - movs r2, 0xF - movs r3, 0xA - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x8D - movs r2, 0x19 - movs r3, 0xA - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x8E - movs r2, 0x1A - movs r3, 0xA - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x8F - movs r2, 0xE - movs r3, 0xB - bl FillBgTilemapBufferRect - movs r0, 0xB - str r0, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0 - movs r2, 0xF - movs r3, 0xB - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x90 - movs r2, 0x1A - movs r3, 0xB - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x91 - movs r2, 0xE - movs r3, 0xC - bl FillBgTilemapBufferRect - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0xA3 - movs r2, 0xF - movs r3, 0xC - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x92 - movs r2, 0x19 - movs r3, 0xC - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x93 - b _0812E470 -_0812E252: - cmp r5, 0x1 - bne _0812E2F4 - str r5, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x9B - movs r2, 0xE - movs r3, 0xA - bl FillBgTilemapBufferRect - movs r4, 0xB - str r4, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x9C - movs r2, 0xF - movs r3, 0xA - bl FillBgTilemapBufferRect - str r5, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x96 - movs r2, 0x1A - movs r3, 0xA - bl FillBgTilemapBufferRect - str r5, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x9D - movs r2, 0xE - movs r3, 0xB - bl FillBgTilemapBufferRect - str r4, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0 - movs r2, 0xF - movs r3, 0xB - bl FillBgTilemapBufferRect - str r5, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x90 - movs r2, 0x1A - movs r3, 0xB - bl FillBgTilemapBufferRect - str r5, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x9E - movs r2, 0xE - movs r3, 0xC - bl FillBgTilemapBufferRect - str r4, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x9F - movs r2, 0xF - movs r3, 0xC - bl FillBgTilemapBufferRect - str r5, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x99 - b _0812E470 -_0812E2F4: - cmp r5, 0x2 - bne _0812E398 - movs r4, 0x1 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x94 - movs r2, 0xE - movs r3, 0xA - bl FillBgTilemapBufferRect - movs r5, 0xB - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x95 - movs r2, 0xF - movs r3, 0xA - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x96 - movs r2, 0x1A - movs r3, 0xA - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x8F - movs r2, 0xE - movs r3, 0xB - bl FillBgTilemapBufferRect - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x9A - movs r2, 0xF - movs r3, 0xB - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x90 - movs r2, 0x1A - movs r3, 0xB - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x97 - movs r2, 0xE - movs r3, 0xC - bl FillBgTilemapBufferRect - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x98 - movs r2, 0xF - movs r3, 0xC - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x99 - b _0812E470 -_0812E398: - cmp r5, 0x4 - bne _0812E47A - movs r4, 0x1 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x83 - movs r2, 0xE - movs r3, 0xA - bl FillBgTilemapBufferRect - movs r5, 0xA - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0xA0 - movs r2, 0xF - movs r3, 0xA - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x84 - movs r2, 0x19 - movs r3, 0xA - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x85 - movs r2, 0x1A - movs r3, 0xA - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x86 - movs r2, 0xE - movs r3, 0xB - bl FillBgTilemapBufferRect - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0xA2 - movs r2, 0xF - movs r3, 0xB - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x87 - movs r2, 0x19 - movs r3, 0xB - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x88 - movs r2, 0x1A - movs r3, 0xB - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x83 - movs r2, 0xE - movs r3, 0xC - bl FillBgTilemapBufferRect - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0xA0 - movs r2, 0xF - movs r3, 0xC - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x84 - movs r2, 0x19 - movs r3, 0xC - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x85 -_0812E470: - movs r2, 0x1A - movs r3, 0xC - bl FillBgTilemapBufferRect - b _0812E496 -_0812E47A: - cmp r5, 0x5 - bne _0812E496 - movs r0, 0xD - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0 - movs r2, 0xE - movs r3, 0xA - bl FillBgTilemapBufferRect -_0812E496: - adds r0, r6, 0 - bl CopyBgTilemapBufferToVram - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_812E178 - - thumb_func_start sub_812E4A4 -sub_812E4A4: @ 812E4A4 - push {r4,lr} - sub sp, 0x14 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0812E4E0 @ =gUnknown_203B0FC - ldr r0, [r0] - ldrb r0, [r0, 0x8] - bl ListMenuGetYCoordForPrintingArrowCursor - lsls r0, 16 - lsrs r0, 16 - cmp r4, 0x1 - bne _0812E4EC - lsls r3, r0, 24 - lsrs r3, 24 - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - ldr r0, _0812E4E4 @ =gUnknown_845F5E3 - str r0, [sp, 0x8] - str r1, [sp, 0xC] - ldr r0, _0812E4E8 @ =gUnknown_841623B - str r0, [sp, 0x10] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - bl AddTextPrinterParametrized2 - b _0812E50A - .align 2, 0 -_0812E4E0: .4byte gUnknown_203B0FC -_0812E4E4: .4byte gUnknown_845F5E3 -_0812E4E8: .4byte gUnknown_841623B -_0812E4EC: - lsls r3, r0, 24 - lsrs r3, 24 - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - ldr r0, _0812E514 @ =gUnknown_845F5E0 - str r0, [sp, 0x8] - str r1, [sp, 0xC] - ldr r0, _0812E518 @ =gUnknown_841623B - str r0, [sp, 0x10] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - bl AddTextPrinterParametrized2 -_0812E50A: - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812E514: .4byte gUnknown_845F5E0 -_0812E518: .4byte gUnknown_841623B - thumb_func_end sub_812E4A4 - - .align 2, 0 @ Don't pad with nop. diff --git a/include/list_menu.h b/include/list_menu.h index fc829940e..8834e5215 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -56,5 +56,6 @@ s32 ListMenuHandleInput(u8 id); void get_coro_args_x18_x1A(u8 a0, u16 *a1, u16 *a2); void sub_81AE6C8(u8 a0, u16 *a1, u16 *a2); void sub_810713C(u8, u8, u8); +u16 ListMenuGetYCoordForPrintingArrowCursor(u8); #endif //GUARD_LIST_MENU_H diff --git a/ld_script.txt b/ld_script.txt index cab20382b..bbebf21b1 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -227,7 +227,6 @@ SECTIONS { asm/help_system_812B1E0.o(.text); src/quest_log_battle.o(.text); src/fame_checker.o(.text); - asm/fame_checker.o(.text); asm/menu2.o(.text); asm/oak_speech.o(.text); asm/tm_case.o(.text); diff --git a/src/fame_checker.c b/src/fame_checker.c index 9535b6556..2f455c462 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -118,12 +118,13 @@ void sub_812E110(u8 taskId); void sub_812E178(u8 a0, s16 a1); void sub_812E4A4(u8 a0); +extern const u8 gUnknown_84161C1[]; +extern const u8 gUnknown_841623B[]; extern const u8 gUnknown_84181C3[]; extern const u8 gUnknown_84181E4[]; extern const u8 gUnknown_841E5A4[]; extern const u8 gUnknown_841E5B9[]; extern const u8 gUnknown_841E5D2[]; -extern const u8 gUnknown_84161C1[]; extern const u16 gUnknown_845C600[]; extern const u16 gUnknown_845DD20[]; @@ -1151,3 +1152,119 @@ u16 sub_812E064(void) get_coro_args_x18_x1A(gUnknown_203B0FC->unk_08, &sp0, &sp2); return sp0 + sp2; } + +void sub_812E094(u8 a0) +{ + if (gUnknown_203B0FC->unk_23_0 != a0) + { + u8 taskId = FindTaskIdByFunc(sub_812E110); + if (taskId == 0xFF) + taskId = CreateTask(sub_812E110, 8); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = 4; + if (a0 == TRUE) + { + gTasks[taskId].data[2] = 1; + gUnknown_203B0FC->unk_23_0 = TRUE; + } + else + { + gTasks[taskId].data[2] = 4; + gUnknown_203B0FC->unk_23_0 = FALSE; + } + } +} + +void sub_812E110(u8 taskId) +{ + struct Task * task = &gTasks[taskId]; + switch (task->data[0]) + { + case 0: + if (--task->data[1] == 0) + { + sub_812E178(1, 0); + task->data[1] = 4; + task->data[0]++; + } + break; + case 1: + if (--task->data[1] == 0) + { + sub_812E178(1, task->data[2]); + DestroyTask(taskId); + } + break; + } +} + +void sub_812E178(u8 bg, s16 a1) +{ + if (a1 == 0 || a1 == 3) + { + FillBgTilemapBufferRect(bg, 0x8C, 14, 10, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0xA1, 15, 10, 10, 1, 1); + FillBgTilemapBufferRect(bg, 0x8D, 25, 10, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0x8E, 26, 10, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0x8F, 14, 11, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0x00, 15, 11, 11, 1, 1); + FillBgTilemapBufferRect(bg, 0x90, 26, 11, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0x91, 14, 12, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0xA3, 15, 12, 10, 1, 1); + FillBgTilemapBufferRect(bg, 0x92, 25, 12, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0x93, 26, 12, 1, 1, 1); + } + else if (a1 == 1) + { + FillBgTilemapBufferRect(bg, 0x9B, 14, 10, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0x9C, 15, 10, 11, 1, 1); + FillBgTilemapBufferRect(bg, 0x96, 26, 10, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0x9D, 14, 11, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0x00, 15, 11, 11, 1, 1); + FillBgTilemapBufferRect(bg, 0x90, 26, 11, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0x9E, 14, 12, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0x9F, 15, 12, 11, 1, 1); + FillBgTilemapBufferRect(bg, 0x99, 26, 12, 1, 1, 1); + } + else if (a1 == 2) + { + FillBgTilemapBufferRect(bg, 0x94, 14, 10, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0x95, 15, 10, 11, 1, 1); + FillBgTilemapBufferRect(bg, 0x96, 26, 10, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0x8F, 14, 11, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0x9A, 15, 11, 11, 1, 1); + FillBgTilemapBufferRect(bg, 0x90, 26, 11, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0x97, 14, 12, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0x98, 15, 12, 11, 1, 1); + FillBgTilemapBufferRect(bg, 0x99, 26, 12, 1, 1, 1); + } + else if (a1 == 4) + { + FillBgTilemapBufferRect(bg, 0x83, 14, 10, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0xA0, 15, 10, 10, 1, 1); + FillBgTilemapBufferRect(bg, 0x84, 25, 10, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0x85, 26, 10, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0x86, 14, 11, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0xA2, 15, 11, 10, 1, 1); + FillBgTilemapBufferRect(bg, 0x87, 25, 11, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0x88, 26, 11, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0x83, 14, 12, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0xA0, 15, 12, 10, 1, 1); + FillBgTilemapBufferRect(bg, 0x84, 25, 12, 1, 1, 1); + FillBgTilemapBufferRect(bg, 0x85, 26, 12, 1, 1, 1); + } + else if (a1 == 5) + { + FillBgTilemapBufferRect(bg, 0x00, 14, 10, 13, 3, 1); + } + CopyBgTilemapBufferToVram(bg); +} + +void sub_812E4A4(u8 a0) +{ + u16 cursorY = ListMenuGetYCoordForPrintingArrowCursor(gUnknown_203B0FC->unk_08); + if (a0 == 1) + AddTextPrinterParametrized2(0, 2, 0, cursorY, 0, 0, &gUnknown_845F5E3, 0, gUnknown_841623B); + else + AddTextPrinterParametrized2(0, 2, 0, cursorY, 0, 0, &gUnknown_845F5E0, 0, gUnknown_841623B); +} From 4590f0f378ec8af6be075b7e8347b98609f3fdb0 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 26 Nov 2018 12:11:11 -0500 Subject: [PATCH 134/222] Start decompiling some more data --- data/fame_checker.s | 32 ++++++++++++++++++-------- data/fame_checker/img_845dd40.png | Bin 0 -> 629 bytes data/fame_checker/img_845e560.png | Bin 0 -> 517 bytes data/fame_checker/img_845ed80.png | Bin 0 -> 761 bytes data/fame_checker/pal_45dd20.pal | 19 +++++++++++++++ data/fame_checker/pal_45e540.pal | 19 +++++++++++++++ data/fame_checker/pal_45ed60.pal | 19 +++++++++++++++ data/fame_checker/pal_45f580.pal | 19 +++++++++++++++ data/fame_checker/pal_45f5c0.pal | 19 +++++++++++++++ data/fame_checker/pal_845dd20.pal | 19 +++++++++++++++ data/fame_checker/pal_845e540.pal | 19 +++++++++++++++ data/fame_checker/pal_845ed60.pal | 19 +++++++++++++++ data/fame_checker/pal_845f580.pal | 19 +++++++++++++++ data/fame_checker/pal_845f5a0.pal | 19 +++++++++++++++ data/fame_checker/pal_845f5c0.pal | 19 +++++++++++++++ data/fame_checker/tilemap_845c600.bin | Bin 0 -> 5920 bytes 16 files changed, 231 insertions(+), 10 deletions(-) create mode 100644 data/fame_checker/img_845dd40.png create mode 100644 data/fame_checker/img_845e560.png create mode 100644 data/fame_checker/img_845ed80.png create mode 100644 data/fame_checker/pal_45dd20.pal create mode 100644 data/fame_checker/pal_45e540.pal create mode 100644 data/fame_checker/pal_45ed60.pal create mode 100644 data/fame_checker/pal_45f580.pal create mode 100644 data/fame_checker/pal_45f5c0.pal create mode 100644 data/fame_checker/pal_845dd20.pal create mode 100644 data/fame_checker/pal_845e540.pal create mode 100644 data/fame_checker/pal_845ed60.pal create mode 100644 data/fame_checker/pal_845f580.pal create mode 100644 data/fame_checker/pal_845f5a0.pal create mode 100644 data/fame_checker/pal_845f5c0.pal create mode 100644 data/fame_checker/tilemap_845c600.bin diff --git a/data/fame_checker.s b/data/fame_checker.s index e1659f86b..444de0ffa 100644 --- a/data/fame_checker.s +++ b/data/fame_checker.s @@ -5,32 +5,45 @@ .align 2 gUnknown_845C600:: @ 845C600 - .incbin "baserom.gba", 0x45C600, 0x1720 + .incbin "data/fame_checker/tilemap_845c600.bin" gUnknown_845DD20:: @ 845DD20 - .incbin "baserom.gba", 0x45DD20, 0x820 + .incbin "data/fame_checker/pal_845dd20.gbapal" + +gUnknown_845DD40:: @ 845DD40 + .incbin "data/fame_checker/img_845dd40.4bpp" gUnknown_845E540:: @ 845E540 - .incbin "baserom.gba", 0x45E540, 0x820 + .incbin "data/fame_checker/pal_845e540.gbapal" + +gUnknown_845E560:: @ 845E560 + .incbin "data/fame_checker/img_845e560.4bpp" gUnknown_845ED60:: @ 845ED60 - .incbin "baserom.gba", 0x45ED60, 0x820 + .incbin "data/fame_checker/pal_845ed60.gbapal" + +gUnknown_845ED80:: @ 845ED80 + .incbin "data/fame_checker/img_845ed80.4bpp" gUnknown_845F580:: @ 845F580 - .incbin "baserom.gba", 0x45F580, 0x40 + .incbin "data/fame_checker/pal_845f580.gbapal" + +gUnknown_845F5A0:: @ 845F5A0 + .incbin "data/fame_checker/pal_845f5a0.gbapal" gUnknown_845F5C0:: @ 845F5C0 - .incbin "baserom.gba", 0x45F5C0, 0x20 + .incbin "data/fame_checker/pal_845f5c0.gbapal" gUnknown_845F5E0:: @ 845F5E0 - .incbin "baserom.gba", 0x45F5E0, 0x3 + .byte 0x00, 0x01, 0x02 gUnknown_845F5E3:: @ 845F5E3 - .incbin "baserom.gba", 0x45F5E3, 0x3 + .byte 0x00, 0x02, 0x03 gUnknown_845F5E6:: @ 845F5E6 - .incbin "baserom.gba", 0x45F5E6, 0x4 + .byte 0x00, 0x06, 0x07 + .align 1 gUnknown_845F5EA:: @ 845F5EA .incbin "baserom.gba", 0x45F5EA, 0x22 @@ -40,7 +53,6 @@ gUnknown_845F60C:: @ 845F60C gUnknown_845F61C:: @ 845F61C .incbin "baserom.gba", 0x45F61C, 0x20 - gUnknown_845F63C:: @ 845F63C .4byte gUnknown_81B0188 .4byte gUnknown_81B0251 diff --git a/data/fame_checker/img_845dd40.png b/data/fame_checker/img_845dd40.png new file mode 100644 index 0000000000000000000000000000000000000000..21f2a9d11476d6c6ae503236f9884824cf000993 GIT binary patch literal 629 zcmV-*0*d{KP)(q*AntL6mAatfamF=7Z+VYVLztT3Tw=&DH<^{{R30i#f-!00001 zbW%=J06^y0W&i*I^GQTOR7i=v)G=t=Kokbx8$<%3LdYGvT?`&Ngj$6{p(L?IhT4gi zsB4F|r!kv6W<7c7nlqGitE5FVXuF|=XtN3(oj~x?y^8A^3JL0|bN?e#Z+)Ns_qcnA zkpF*-az|eu$Xr_=N+}DRVGLXa2DVmAxkq>98mZ)M9zC+xpQiN*r-;V}Eb=T@NLY8{2NRDXx>=BfCr6 zF1!a~P={{2HBK=4wD$1#gzUEZo5z|uG1LSjU4qr4TS1@^p#pm>zya*APglVRf_3J< zp{tO=9xLX*rF#s55er@&(hdac>@V1YLs}gc`2HCU5m?f2<@-JQ>PN2x1Li%K-1$= zo6rD}V6ZG+?q7*?f`RLL!#TWZwf1#=E5FV$Q0MOYdcLCrq^@;8+JBrs0AKyf!=QG@ P00000NkvXXu0mjfAmtr) literal 0 HcmV?d00001 diff --git a/data/fame_checker/img_845e560.png b/data/fame_checker/img_845e560.png new file mode 100644 index 0000000000000000000000000000000000000000..0cd201fc15c9cce95ba72f6a1120fd0efd5a8d61 GIT binary patch literal 517 zcmV+g0{Z=lP)7k&iM@rhTc@dkYD5APDU`{CuoPRe+l~Pv6pWl_H>7}HxmN`a*v1dnd8ikGfgl|3 z@`Bh@QK>SI3t|xqx!fiTd<|$rHslsTGs#+>~b2U z6liY&K307kFarj?CU8oF*~%r3sQ}{FCXf<9chHNd$PqNa1DNTc;0>*}bU+M{?gtC%5jN70X4~>qc(@psV+A> z!RwNyn~R#mC8$|KAY|z^yb4LjINI)``Bacj>-13^iLef&tcUQD}eZK@B zfg8Rb-tYH*FUKMDpKI;=5-=K2+dhDE*Xj5B)P)6)NBseH;R^l1h|&eX8OXPX$qao5 zNRSeC2G@E#1p zCUa8|+z7!Yn4_4SlvA09FhJS7npP1{rnT0$J?bs@$EM_*Y`?!uS_q#Hi{-OnRp94VeL}6MEFyD5KLHmr@T$f2|E$xt3+pe z2+t4#yS@atttBPs*tQpe=XBhl8~`uQ zDS1K17u3|Scn3ae4rY{3QamRl)thvjp!L=aczGqqp<{_UlmZ~Zv#CUn76a6Dmw*e} zgh3D`+$QurxCD~RTNMLz7L<@|3j#bkL<<3RTLG{g2-E|B&OqSj8@vRXHR^}r4ODe= r8oE4iS$>$K9~_Fo@11=A&m?~Vj-r89wa;el00000NkvXXu0mjfdgERN literal 0 HcmV?d00001 diff --git a/data/fame_checker/pal_45dd20.pal b/data/fame_checker/pal_45dd20.pal new file mode 100644 index 000000000..e6dcabf2f --- /dev/null +++ b/data/fame_checker/pal_45dd20.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +255 222 205 +238 180 148 +197 139 106 +115 90 65 +222 164 82 +180 139 65 +148 106 57 +172 164 189 +255 230 131 +230 205 106 +238 131 90 +90 90 106 +213 205 213 +255 255 255 +0 0 0 diff --git a/data/fame_checker/pal_45e540.pal b/data/fame_checker/pal_45e540.pal new file mode 100644 index 000000000..485e27c48 --- /dev/null +++ b/data/fame_checker/pal_45e540.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +255 230 205 +230 189 156 +205 156 115 +106 74 57 +180 139 213 +139 98 172 +98 65 106 +213 189 131 +189 164 98 +139 123 74 +180 139 115 +156 106 82 +90 74 49 +255 255 255 +0 0 0 diff --git a/data/fame_checker/pal_45ed60.pal b/data/fame_checker/pal_45ed60.pal new file mode 100644 index 000000000..adf46bf14 --- /dev/null +++ b/data/fame_checker/pal_45ed60.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +255 222 205 +238 180 148 +197 139 106 +172 123 98 +213 172 115 +156 123 74 +90 82 65 +205 115 98 +164 213 156 +115 172 106 +90 123 82 +222 230 255 +164 172 197 +255 255 255 +0 0 0 diff --git a/data/fame_checker/pal_45f580.pal b/data/fame_checker/pal_45f580.pal new file mode 100644 index 000000000..eb6f2f18b --- /dev/null +++ b/data/fame_checker/pal_45f580.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +255 222 205 +238 180 148 +197 139 106 +106 74 74 +139 156 164 +205 164 205 +164 123 164 +82 82 57 +213 213 222 +123 123 82 +115 115 115 +197 189 131 +156 156 90 +255 255 255 +0 0 0 diff --git a/data/fame_checker/pal_45f5c0.pal b/data/fame_checker/pal_45f5c0.pal new file mode 100644 index 000000000..4b0812f09 --- /dev/null +++ b/data/fame_checker/pal_45f5c0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/data/fame_checker/pal_845dd20.pal b/data/fame_checker/pal_845dd20.pal new file mode 100644 index 000000000..e6dcabf2f --- /dev/null +++ b/data/fame_checker/pal_845dd20.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +255 222 205 +238 180 148 +197 139 106 +115 90 65 +222 164 82 +180 139 65 +148 106 57 +172 164 189 +255 230 131 +230 205 106 +238 131 90 +90 90 106 +213 205 213 +255 255 255 +0 0 0 diff --git a/data/fame_checker/pal_845e540.pal b/data/fame_checker/pal_845e540.pal new file mode 100644 index 000000000..485e27c48 --- /dev/null +++ b/data/fame_checker/pal_845e540.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +255 230 205 +230 189 156 +205 156 115 +106 74 57 +180 139 213 +139 98 172 +98 65 106 +213 189 131 +189 164 98 +139 123 74 +180 139 115 +156 106 82 +90 74 49 +255 255 255 +0 0 0 diff --git a/data/fame_checker/pal_845ed60.pal b/data/fame_checker/pal_845ed60.pal new file mode 100644 index 000000000..adf46bf14 --- /dev/null +++ b/data/fame_checker/pal_845ed60.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +255 222 205 +238 180 148 +197 139 106 +172 123 98 +213 172 115 +156 123 74 +90 82 65 +205 115 98 +164 213 156 +115 172 106 +90 123 82 +222 230 255 +164 172 197 +255 255 255 +0 0 0 diff --git a/data/fame_checker/pal_845f580.pal b/data/fame_checker/pal_845f580.pal new file mode 100644 index 000000000..eb6f2f18b --- /dev/null +++ b/data/fame_checker/pal_845f580.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +255 222 205 +238 180 148 +197 139 106 +106 74 74 +139 156 164 +205 164 205 +164 123 164 +82 82 57 +213 213 222 +123 123 82 +115 115 115 +197 189 131 +156 156 90 +255 255 255 +0 0 0 diff --git a/data/fame_checker/pal_845f5a0.pal b/data/fame_checker/pal_845f5a0.pal new file mode 100644 index 000000000..25a3ac1d2 --- /dev/null +++ b/data/fame_checker/pal_845f5a0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +255 255 255 +98 98 98 +213 213 205 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/data/fame_checker/pal_845f5c0.pal b/data/fame_checker/pal_845f5c0.pal new file mode 100644 index 000000000..4b0812f09 --- /dev/null +++ b/data/fame_checker/pal_845f5c0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/data/fame_checker/tilemap_845c600.bin b/data/fame_checker/tilemap_845c600.bin new file mode 100644 index 0000000000000000000000000000000000000000..4272a1b41cce4b7378b75ec3fdeaf268600d4069 GIT binary patch literal 5920 zcmeH~Urbw77{EVclf7X2UAOpReBi>HK|9#gsgtf2*w|?2Tvdnz|3L9y0=n9}Zeu0! zr5c$p8ol6rQjwdi#AGjokoCdDm$IQ*gk?R&MeIL4Kee7 z0uSJm=t6f%ah3Hyj7P8;pDyX`#)EhQA2-A-|8abd?8nOZw_q>6i|^rSH1mH2U&Yrp z@b}^S=tsrW|9L!#p0fT=;Ta6zSv+Uz|2lSJS6Tm~cpm%k0tQX}U%(gfrLz7lbUtY@ ztKW;=_y)dQ=KM~Pcj@a7(28x?jvYDKk3#bE_OjO>;7xoB-^O=x(ttwpb1_Qm%=W*d z+c|-q6WBR{yY>VUx(=h7meA4^*P-iH(6m1Z%_>M}^E{z(0r?0Fzj^8ncv!P?PHQuW zvCxIdS5UOx@E7?(?1P%fkzJe3De{YbY_TcO%NTvwG*KKwAq8W*2)2vpE4G`=dr3Df z+<*cDOl6p+USu$BV~kyzXKaF-S%*j&zR4KBC3XVPmkthM!tTpJ%JlAjW7Qagc&FVAT$WG1rEoM%;nFTD= zmC0|Kcf)fnx-Nye3dg3wbIJrQH86chY<3U1u$h5)^av70bn#t|V(-n(%SGPC`7`Hl zUh8Jg->m-Z`HScm9yZS*wCxXc+*8{6Us`NcV7p&}-I8RMrS@Kc%32FZvct@Lcj+Wa zvI!oNe)=^oElx41#wJU$ZB1ITyQD*sTuXJzRz~m|+4^(Ml3SLmJ8Iy2g7X$?4o(>1lH8^C{J` zFS(XfX3w~iv0+!GT-Q@6C%simJzmGMyU{VLJL_jg^$#u%-Ua( z^J#$l1_NAG18htU#KzUY%vCioNj>BAq~L$hJH;CP{xfTugUc}Rr~~Lm+5QIrpN#{2 zt{U{VQSF1Ra9kUNVS0xphSXN3sw2~?sx}asM;&QaN3>>omo>0f$rg9Dyi`{wFV)vQ zYpqXOjrR&s`2SRVKcyBFwf<13e}?n9IA4tOxfs2;#prF)sPh|5vr|Eb30DE!O%qM? z Date: Mon, 26 Nov 2018 12:12:04 -0500 Subject: [PATCH 135/222] Fix png palettes --- data/fame_checker/img_845dd40.png | Bin 629 -> 629 bytes data/fame_checker/img_845e560.png | Bin 517 -> 517 bytes data/fame_checker/img_845ed80.png | Bin 761 -> 761 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/data/fame_checker/img_845dd40.png b/data/fame_checker/img_845dd40.png index 21f2a9d11476d6c6ae503236f9884824cf000993..7e3a7b39bb92b03777b2bd4287c6358bdf44aa76 100644 GIT binary patch delta 59 zcmV-B0L1_G1oZ@vEimTI=DnQFoO5bQIkbz_i(;%|L2A{#gT16;i+f76i*uZ6Qd&we R|Ns90008a?7mTr87y_?S9U1@t delta 59 zcmV-B0L1_G1oZ@vEim5A?zEJ}i)wRPLEfZNw2MKMYB{W=z5nKe=FMvEgIZczYSqov R|Ns90004_Q$FZ?p7y{)7AZGvo diff --git a/data/fame_checker/img_845e560.png b/data/fame_checker/img_845e560.png index 0cd201fc15c9cce95ba72f6a1120fd0efd5a8d61..1abf1a63ecdf60fd6a259e5f211e6b480ea43eda 100644 GIT binary patch delta 59 zcmV-B0L1@=1cd~UEim5A?zEJ}i)yTUV%4m3oO?=IQbEmgVx-labF6Awds5!!|D>$N R|Ns900079l!>6%br~#$N|Ns900079l J!>6%boC3548;Sq` From ae8b4043c1690d6b3cb62f89372c7f7e6d45348b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 26 Nov 2018 12:34:22 -0500 Subject: [PATCH 136/222] More data decomp --- charmap.txt | 1 + data/data_83FECCC.s | 26 ++++- data/fame_checker.s | 181 ------------------------------- include/event_scripts.h | 132 +++++++++++++++++++++++ src/fame_checker.c | 229 +++++++++++++++++++++++++++++++++++++--- 5 files changed, 373 insertions(+), 196 deletions(-) diff --git a/charmap.txt b/charmap.txt index fc9cbc0a8..9441532b4 100644 --- a/charmap.txt +++ b/charmap.txt @@ -323,6 +323,7 @@ TALL_PLUS = FC 0C FB @ TODO: Identify and declare F7 control codes UNKNOWN_F7 = F7 +UNKNOWN_F8 = F8 UNKNOWN_F9 = F9 STRING = FD diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index ed542acc9..7c2d85f03 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -2097,7 +2097,31 @@ gUnknown_841E5B9:: @ 841E5B9 .incbin "baserom.gba", 0x41E5B9, 0x19 gUnknown_841E5D2:: @ 841E5D2 - .incbin "baserom.gba", 0x41E5D2, 0xCF + .string "{UNKNOWN_F8 0x0C}PICK {UNKNOWN_F8 0x00}READ {UNKNOWN_F8 0x01}CANCEL$" + +gUnknown_841E5E9:: @ 841E5E9 + .string "OAK$" + +gUnknown_841E5ED:: @ 841E5ED + .string "DAISY$" + +gUnknown_841E5F3:: @ 841E5F3 + .string "BILL$" + +gUnknown_841E5F8:: @ 841E5F8 + .string "FUJI$" + +gUnknown_841E5FD:: @ 841E5FD + .string "A variety of events will be imported\nover Wireless Communication.$" + +gUnknown_841E63F:: @ 841E63F + .string "Read the WONDER CARDS in your\npossession.$" + +gUnknown_841E669:: @ 841E669 + .string "Read the NEWS that arrived.$" + +gUnknown_841E685:: @ 841E685 + .string "Return to the title screen.$" gUnknown_841E6A1:: @ 841E6A1 .incbin "baserom.gba", 0x41E6A1, 0x3B diff --git a/data/fame_checker.s b/data/fame_checker.s index 444de0ffa..55042293a 100644 --- a/data/fame_checker.s +++ b/data/fame_checker.s @@ -4,187 +4,6 @@ .section .rodata .align 2 -gUnknown_845C600:: @ 845C600 - .incbin "data/fame_checker/tilemap_845c600.bin" - -gUnknown_845DD20:: @ 845DD20 - .incbin "data/fame_checker/pal_845dd20.gbapal" - -gUnknown_845DD40:: @ 845DD40 - .incbin "data/fame_checker/img_845dd40.4bpp" - -gUnknown_845E540:: @ 845E540 - .incbin "data/fame_checker/pal_845e540.gbapal" - -gUnknown_845E560:: @ 845E560 - .incbin "data/fame_checker/img_845e560.4bpp" - -gUnknown_845ED60:: @ 845ED60 - .incbin "data/fame_checker/pal_845ed60.gbapal" - -gUnknown_845ED80:: @ 845ED80 - .incbin "data/fame_checker/img_845ed80.4bpp" - -gUnknown_845F580:: @ 845F580 - .incbin "data/fame_checker/pal_845f580.gbapal" - -gUnknown_845F5A0:: @ 845F5A0 - .incbin "data/fame_checker/pal_845f5a0.gbapal" - -gUnknown_845F5C0:: @ 845F5C0 - .incbin "data/fame_checker/pal_845f5c0.gbapal" - -gUnknown_845F5E0:: @ 845F5E0 - .byte 0x00, 0x01, 0x02 - -gUnknown_845F5E3:: @ 845F5E3 - .byte 0x00, 0x02, 0x03 - -gUnknown_845F5E6:: @ 845F5E6 - .byte 0x00, 0x06, 0x07 - - .align 1 -gUnknown_845F5EA:: @ 845F5EA - .incbin "baserom.gba", 0x45F5EA, 0x22 - -gUnknown_845F60C:: @ 845F60C - .incbin "baserom.gba", 0x45F60C, 0x10 - -gUnknown_845F61C:: @ 845F61C - .incbin "baserom.gba", 0x45F61C, 0x20 - -gUnknown_845F63C:: @ 845F63C - .4byte gUnknown_81B0188 - .4byte gUnknown_81B0251 - .4byte gUnknown_81B030F - .4byte gUnknown_81B03B3 - .4byte gUnknown_81B0446 - .4byte gUnknown_81B0504 - .4byte gUnknown_81B05C2 - .4byte gUnknown_81B0667 - .4byte gUnknown_81B06FB - .4byte gUnknown_81B079F - .4byte gUnknown_81B0845 - .4byte gUnknown_81B08EE - .4byte gUnknown_81B097F - .4byte gUnknown_81B0A45 - .4byte gUnknown_81B0AFF - .4byte gUnknown_81B0BA6 - .4byte gUnknown_81B0198 - .4byte gUnknown_81B025D - .4byte gUnknown_81B031B - .4byte gUnknown_81B03BF - .4byte gUnknown_81B0456 - .4byte gUnknown_81B0510 - .4byte gUnknown_81B05CD - .4byte gUnknown_81B0675 - .4byte gUnknown_81B0708 - .4byte gUnknown_81B07AD - .4byte gUnknown_81B0851 - .4byte gUnknown_81B08FB - .4byte gUnknown_81B098B - .4byte gUnknown_81B0A50 - .4byte gUnknown_81B0B0E - .4byte gUnknown_81B0BB5 - -gUnknown_845F6BC:: @ 845F6BC - .4byte gUnknown_81AD106 - .4byte gUnknown_81AD145 - .4byte gUnknown_81AD1BB - .4byte gUnknown_81AD258 - .4byte gUnknown_81AD2B9 - .4byte gUnknown_81AD377 - .4byte gUnknown_81AD40C - .4byte gUnknown_81AD4AE - .4byte gUnknown_81AD516 - .4byte gUnknown_81AD5A7 - .4byte gUnknown_81AD608 - .4byte gUnknown_81AD69F - .4byte gUnknown_81AD705 - .4byte gUnknown_81AD771 - .4byte gUnknown_81AD840 - .4byte gUnknown_81AD908 - .4byte gUnknown_81AD99A - .4byte gUnknown_81ADA27 - .4byte gUnknown_81ADA91 - .4byte gUnknown_81ADAF6 - .4byte gUnknown_81ADB5A - .4byte gUnknown_81ADBD9 - .4byte gUnknown_81ADC72 - .4byte gUnknown_81ADCEB - .4byte gUnknown_81ADD3C - .4byte gUnknown_81ADDA7 - .4byte gUnknown_81ADE0B - .4byte gUnknown_81ADE82 - .4byte gUnknown_81ADEEC - .4byte gUnknown_81ADF6A - .4byte gUnknown_81AE009 - .4byte gUnknown_81AE072 - .4byte gUnknown_81AE0F3 - .4byte gUnknown_81AE15B - .4byte gUnknown_81AE1E5 - .4byte gUnknown_81AE247 - .4byte gUnknown_81AE2B6 - .4byte gUnknown_81AE31D - .4byte gUnknown_81AE37D - .4byte gUnknown_81AE407 - .4byte gUnknown_81AE48D - .4byte gUnknown_81AE51B - .4byte gUnknown_81AE5E8 - .4byte gUnknown_81AE656 - .4byte gUnknown_81AE6D7 - .4byte gUnknown_81AE762 - .4byte gUnknown_81AE7CB - .4byte gUnknown_81AE841 - .4byte gUnknown_81AE89E - .4byte gUnknown_81AE90A - .4byte gUnknown_81AE990 - .4byte gUnknown_81AEA59 - .4byte gUnknown_81AEAEE - .4byte gUnknown_81AEB69 - .4byte gUnknown_81AEBDF - .4byte gUnknown_81AEC28 - .4byte gUnknown_81AEC82 - .4byte gUnknown_81AED27 - .4byte gUnknown_81AEDAA - .4byte gUnknown_81AEE51 - .4byte gUnknown_81AEF25 - .4byte gUnknown_81AEF6C - .4byte gUnknown_81AEFC6 - .4byte gUnknown_81AF04C - .4byte gUnknown_81AF0F0 - .4byte gUnknown_81AF19A - .4byte gUnknown_81AF200 - .4byte gUnknown_81AF248 - .4byte gUnknown_81AF2B7 - .4byte gUnknown_81AF34E - .4byte gUnknown_81AF3BE - .4byte gUnknown_81AF47C - .4byte gUnknown_81AF4FD - .4byte gUnknown_81AF567 - .4byte gUnknown_81AF641 - .4byte gUnknown_81AF6BA - .4byte gUnknown_81AF758 - .4byte gUnknown_81AF7CB - .4byte gUnknown_81AF83E - .4byte gUnknown_81AF8CA - .4byte gUnknown_81AF929 - .4byte gUnknown_81AF998 - .4byte gUnknown_81AFA20 - .4byte gUnknown_81AFAB9 - .4byte gUnknown_81AFB0C - .4byte gUnknown_81AFB76 - .4byte gUnknown_81AFC38 - .4byte gUnknown_81AFCE9 - .4byte gUnknown_81AFD49 - .4byte gUnknown_81AFDC4 - .4byte gUnknown_81AFE68 - .4byte gUnknown_81AFF23 - .4byte gUnknown_81AFFA8 - .4byte gUnknown_81B0022 - .4byte gUnknown_81B00A6 - .4byte gUnknown_81B0106 - gUnknown_845F83C:: @ 845F83C .incbin "baserom.gba", 0x45F83C, 0x60 diff --git a/include/event_scripts.h b/include/event_scripts.h index ebfdb4fe3..28106d9d4 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -381,4 +381,136 @@ extern const u8 gUnknown_84178DA[]; extern const u8 gUnknown_81C137C[]; extern const u8 gUnknown_81C13D6[]; extern const u8 gUnknown_81C1429[]; + +// fame_checker + +extern const u8 gUnknown_81AD106[]; +extern const u8 gUnknown_81AD145[]; +extern const u8 gUnknown_81AD1BB[]; +extern const u8 gUnknown_81AD258[]; +extern const u8 gUnknown_81AD2B9[]; +extern const u8 gUnknown_81AD377[]; +extern const u8 gUnknown_81AD40C[]; +extern const u8 gUnknown_81AD4AE[]; +extern const u8 gUnknown_81AD516[]; +extern const u8 gUnknown_81AD5A7[]; +extern const u8 gUnknown_81AD608[]; +extern const u8 gUnknown_81AD69F[]; +extern const u8 gUnknown_81AD705[]; +extern const u8 gUnknown_81AD771[]; +extern const u8 gUnknown_81AD840[]; +extern const u8 gUnknown_81AD908[]; +extern const u8 gUnknown_81AD99A[]; +extern const u8 gUnknown_81ADA27[]; +extern const u8 gUnknown_81ADA91[]; +extern const u8 gUnknown_81ADAF6[]; +extern const u8 gUnknown_81ADB5A[]; +extern const u8 gUnknown_81ADBD9[]; +extern const u8 gUnknown_81ADC72[]; +extern const u8 gUnknown_81ADCEB[]; +extern const u8 gUnknown_81ADD3C[]; +extern const u8 gUnknown_81ADDA7[]; +extern const u8 gUnknown_81ADE0B[]; +extern const u8 gUnknown_81ADE82[]; +extern const u8 gUnknown_81ADEEC[]; +extern const u8 gUnknown_81ADF6A[]; +extern const u8 gUnknown_81AE009[]; +extern const u8 gUnknown_81AE072[]; +extern const u8 gUnknown_81AE0F3[]; +extern const u8 gUnknown_81AE15B[]; +extern const u8 gUnknown_81AE1E5[]; +extern const u8 gUnknown_81AE247[]; +extern const u8 gUnknown_81AE2B6[]; +extern const u8 gUnknown_81AE31D[]; +extern const u8 gUnknown_81AE37D[]; +extern const u8 gUnknown_81AE407[]; +extern const u8 gUnknown_81AE48D[]; +extern const u8 gUnknown_81AE51B[]; +extern const u8 gUnknown_81AE5E8[]; +extern const u8 gUnknown_81AE656[]; +extern const u8 gUnknown_81AE6D7[]; +extern const u8 gUnknown_81AE762[]; +extern const u8 gUnknown_81AE7CB[]; +extern const u8 gUnknown_81AE841[]; +extern const u8 gUnknown_81AE89E[]; +extern const u8 gUnknown_81AE90A[]; +extern const u8 gUnknown_81AE990[]; +extern const u8 gUnknown_81AEA59[]; +extern const u8 gUnknown_81AEAEE[]; +extern const u8 gUnknown_81AEB69[]; +extern const u8 gUnknown_81AEBDF[]; +extern const u8 gUnknown_81AEC28[]; +extern const u8 gUnknown_81AEC82[]; +extern const u8 gUnknown_81AED27[]; +extern const u8 gUnknown_81AEDAA[]; +extern const u8 gUnknown_81AEE51[]; +extern const u8 gUnknown_81AEF25[]; +extern const u8 gUnknown_81AEF6C[]; +extern const u8 gUnknown_81AEFC6[]; +extern const u8 gUnknown_81AF04C[]; +extern const u8 gUnknown_81AF0F0[]; +extern const u8 gUnknown_81AF19A[]; +extern const u8 gUnknown_81AF200[]; +extern const u8 gUnknown_81AF248[]; +extern const u8 gUnknown_81AF2B7[]; +extern const u8 gUnknown_81AF34E[]; +extern const u8 gUnknown_81AF3BE[]; +extern const u8 gUnknown_81AF47C[]; +extern const u8 gUnknown_81AF4FD[]; +extern const u8 gUnknown_81AF567[]; +extern const u8 gUnknown_81AF641[]; +extern const u8 gUnknown_81AF6BA[]; +extern const u8 gUnknown_81AF758[]; +extern const u8 gUnknown_81AF7CB[]; +extern const u8 gUnknown_81AF83E[]; +extern const u8 gUnknown_81AF8CA[]; +extern const u8 gUnknown_81AF929[]; +extern const u8 gUnknown_81AF998[]; +extern const u8 gUnknown_81AFA20[]; +extern const u8 gUnknown_81AFAB9[]; +extern const u8 gUnknown_81AFB0C[]; +extern const u8 gUnknown_81AFB76[]; +extern const u8 gUnknown_81AFC38[]; +extern const u8 gUnknown_81AFCE9[]; +extern const u8 gUnknown_81AFD49[]; +extern const u8 gUnknown_81AFDC4[]; +extern const u8 gUnknown_81AFE68[]; +extern const u8 gUnknown_81AFF23[]; +extern const u8 gUnknown_81AFFA8[]; +extern const u8 gUnknown_81B0022[]; +extern const u8 gUnknown_81B00A6[]; +extern const u8 gUnknown_81B0106[]; +extern const u8 gUnknown_81B0188[]; +extern const u8 gUnknown_81B0198[]; +extern const u8 gUnknown_81B0251[]; +extern const u8 gUnknown_81B025D[]; +extern const u8 gUnknown_81B030F[]; +extern const u8 gUnknown_81B031B[]; +extern const u8 gUnknown_81B03B3[]; +extern const u8 gUnknown_81B03BF[]; +extern const u8 gUnknown_81B0446[]; +extern const u8 gUnknown_81B0456[]; +extern const u8 gUnknown_81B0504[]; +extern const u8 gUnknown_81B0510[]; +extern const u8 gUnknown_81B05C2[]; +extern const u8 gUnknown_81B05CD[]; +extern const u8 gUnknown_81B0667[]; +extern const u8 gUnknown_81B0675[]; +extern const u8 gUnknown_81B06FB[]; +extern const u8 gUnknown_81B0708[]; +extern const u8 gUnknown_81B079F[]; +extern const u8 gUnknown_81B07AD[]; +extern const u8 gUnknown_81B0845[]; +extern const u8 gUnknown_81B0851[]; +extern const u8 gUnknown_81B08EE[]; +extern const u8 gUnknown_81B08FB[]; +extern const u8 gUnknown_81B097F[]; +extern const u8 gUnknown_81B098B[]; +extern const u8 gUnknown_81B0A45[]; +extern const u8 gUnknown_81B0A50[]; +extern const u8 gUnknown_81B0AFF[]; +extern const u8 gUnknown_81B0B0E[]; +extern const u8 gUnknown_81B0BA6[]; +extern const u8 gUnknown_81B0BB5[]; + #endif //GUARD_EVENT_SCRIPTS_H diff --git a/src/fame_checker.c b/src/fame_checker.c index 2f455c462..11bb637b7 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -3,6 +3,7 @@ #include "sprite.h" #include "bg.h" #include "event_data.h" +#include "event_scripts.h" #include "graphics.h" #include "battle.h" #include "battle_setup.h" @@ -125,21 +126,221 @@ extern const u8 gUnknown_84181E4[]; extern const u8 gUnknown_841E5A4[]; extern const u8 gUnknown_841E5B9[]; extern const u8 gUnknown_841E5D2[]; +extern const u8 gUnknown_841E5E9[]; +extern const u8 gUnknown_841E5ED[]; +extern const u8 gUnknown_841E5F3[]; +extern const u8 gUnknown_841E5F8[]; + +const u16 gUnknown_845C600[] = INCBIN_U16("data/fame_checker/tilemap_845c600.bin"); +const u16 gUnknown_845DD20[] = INCBIN_U16("data/fame_checker/pal_845dd20.gbapal"); +const u16 gUnknown_845DD40[] = INCBIN_U16("data/fame_checker/img_845dd40.4bpp"); +const u16 gUnknown_845E540[] = INCBIN_U16("data/fame_checker/pal_845e540.gbapal"); +const u16 gUnknown_845E560[] = INCBIN_U16("data/fame_checker/img_845e560.4bpp"); +const u16 gUnknown_845ED60[] = INCBIN_U16("data/fame_checker/pal_845ed60.gbapal"); +const u16 gUnknown_845ED80[] = INCBIN_U16("data/fame_checker/img_845ed80.4bpp"); +const u16 gUnknown_845F580[] = INCBIN_U16("data/fame_checker/pal_845f580.gbapal"); +const u16 gUnknown_845F5A0[] = INCBIN_U16("data/fame_checker/pal_845f5a0.gbapal"); +const u16 gUnknown_845F5C0[] = INCBIN_U16("data/fame_checker/pal_845f5c0.gbapal"); + +const struct TextColor gUnknown_845F5E0 = {0x00, 0x01, 0x02}; +const struct TextColor gUnknown_845F5E3 = {0x00, 0x02, 0x03}; +const struct TextColor gUnknown_845F5E6 = {0x00, 0x06, 0x07}; + +const u16 gUnknown_845F5EA[] = { + 0xfe00, + 0xfe01, + 0x019e, + 0x019f, + 0x01a0, + 0x01a1, + 0x01a2, + 0x01a4, + 0x01a3, + 0x019a, + 0x019b, + 0x019c, + 0x019d, + 0xfe02, + 0xfe03, + 0x015c +}; + +const u8 *const gUnknown_845F60C[] = { + gUnknown_841E5E9, + gUnknown_841E5ED, + gUnknown_841E5F3, + gUnknown_841E5F8 +}; + +const u8 gUnknown_845F61C[] = { + 0x56, + 0x54, + 0x74, + 0x75, + 0x76, + 0x77, + 0x78, + 0x7a, + 0x79, + 0x70, + 0x71, + 0x72, + 0x73, + 0x64, + 0x7b, + 0x6c, + 0x00, + 0x01, + 0x00, + 0x01, + 0x00, + 0x01, + 0x00, + 0x01, + 0x00, + 0x01, + 0x00, + 0x01, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +const u8 *const gUnknown_845F63C[] = { + gUnknown_81B0188, + gUnknown_81B0251, + gUnknown_81B030F, + gUnknown_81B03B3, + gUnknown_81B0446, + gUnknown_81B0504, + gUnknown_81B05C2, + gUnknown_81B0667, + gUnknown_81B06FB, + gUnknown_81B079F, + gUnknown_81B0845, + gUnknown_81B08EE, + gUnknown_81B097F, + gUnknown_81B0A45, + gUnknown_81B0AFF, + gUnknown_81B0BA6, + gUnknown_81B0198, + gUnknown_81B025D, + gUnknown_81B031B, + gUnknown_81B03BF, + gUnknown_81B0456, + gUnknown_81B0510, + gUnknown_81B05CD, + gUnknown_81B0675, + gUnknown_81B0708, + gUnknown_81B07AD, + gUnknown_81B0851, + gUnknown_81B08FB, + gUnknown_81B098B, + gUnknown_81B0A50, + gUnknown_81B0B0E, + gUnknown_81B0BB5 +}; + +const u8 *const gUnknown_845F6BC[] = { + gUnknown_81AD106, + gUnknown_81AD145, + gUnknown_81AD1BB, + gUnknown_81AD258, + gUnknown_81AD2B9, + gUnknown_81AD377, + gUnknown_81AD40C, + gUnknown_81AD4AE, + gUnknown_81AD516, + gUnknown_81AD5A7, + gUnknown_81AD608, + gUnknown_81AD69F, + gUnknown_81AD705, + gUnknown_81AD771, + gUnknown_81AD840, + gUnknown_81AD908, + gUnknown_81AD99A, + gUnknown_81ADA27, + gUnknown_81ADA91, + gUnknown_81ADAF6, + gUnknown_81ADB5A, + gUnknown_81ADBD9, + gUnknown_81ADC72, + gUnknown_81ADCEB, + gUnknown_81ADD3C, + gUnknown_81ADDA7, + gUnknown_81ADE0B, + gUnknown_81ADE82, + gUnknown_81ADEEC, + gUnknown_81ADF6A, + gUnknown_81AE009, + gUnknown_81AE072, + gUnknown_81AE0F3, + gUnknown_81AE15B, + gUnknown_81AE1E5, + gUnknown_81AE247, + gUnknown_81AE2B6, + gUnknown_81AE31D, + gUnknown_81AE37D, + gUnknown_81AE407, + gUnknown_81AE48D, + gUnknown_81AE51B, + gUnknown_81AE5E8, + gUnknown_81AE656, + gUnknown_81AE6D7, + gUnknown_81AE762, + gUnknown_81AE7CB, + gUnknown_81AE841, + gUnknown_81AE89E, + gUnknown_81AE90A, + gUnknown_81AE990, + gUnknown_81AEA59, + gUnknown_81AEAEE, + gUnknown_81AEB69, + gUnknown_81AEBDF, + gUnknown_81AEC28, + gUnknown_81AEC82, + gUnknown_81AED27, + gUnknown_81AEDAA, + gUnknown_81AEE51, + gUnknown_81AEF25, + gUnknown_81AEF6C, + gUnknown_81AEFC6, + gUnknown_81AF04C, + gUnknown_81AF0F0, + gUnknown_81AF19A, + gUnknown_81AF200, + gUnknown_81AF248, + gUnknown_81AF2B7, + gUnknown_81AF34E, + gUnknown_81AF3BE, + gUnknown_81AF47C, + gUnknown_81AF4FD, + gUnknown_81AF567, + gUnknown_81AF641, + gUnknown_81AF6BA, + gUnknown_81AF758, + gUnknown_81AF7CB, + gUnknown_81AF83E, + gUnknown_81AF8CA, + gUnknown_81AF929, + gUnknown_81AF998, + gUnknown_81AFA20, + gUnknown_81AFAB9, + gUnknown_81AFB0C, + gUnknown_81AFB76, + gUnknown_81AFC38, + gUnknown_81AFCE9, + gUnknown_81AFD49, + gUnknown_81AFDC4, + gUnknown_81AFE68, + gUnknown_81AFF23, + gUnknown_81AFFA8, + gUnknown_81B0022, + gUnknown_81B00A6, + gUnknown_81B0106 +}; -extern const u16 gUnknown_845C600[]; -extern const u16 gUnknown_845DD20[]; -extern const u16 gUnknown_845E540[]; -extern const u16 gUnknown_845ED60[]; -extern const u16 gUnknown_845F580[]; -extern const u16 gUnknown_845F5C0[]; -extern const struct TextColor gUnknown_845F5E0; -extern const struct TextColor gUnknown_845F5E3; -extern const struct TextColor gUnknown_845F5E6; -extern const u16 gUnknown_845F5EA[]; -extern const u8 gUnknown_845F61C[]; -extern const u8 *const gUnknown_845F60C[]; -extern const u8 *const gUnknown_845F63C[]; -extern const u8 *const gUnknown_845F6BC[]; extern const u8 *const gUnknown_845F89C[]; extern const u8 *const gUnknown_845FA1C[]; extern const u8 gUnknown_845F83C[]; From 6fb78b0885d4dacf83df09eb48bb97d3c75b6680 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 26 Nov 2018 12:51:56 -0500 Subject: [PATCH 137/222] more text dism --- data/event_scripts.s | 3 - data/fame_checker.s | 6 - data/text/fame_checker.inc | 902 +++++++++++++++++++++++++++++++++++++ include/event_scripts.h | 96 ++++ src/fame_checker.c | 152 +++---- 5 files changed, 1052 insertions(+), 107 deletions(-) diff --git a/data/event_scripts.s b/data/event_scripts.s index 764de7637..c27df1946 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -230,9 +230,6 @@ gUnknown_81A8DFD:: @ 81A8DFD .include "data/text/fame_checker.inc" -gUnknown_81B0C45:: @ 0x81B0C45 - .incbin "baserom.gba", 0x1B0C45, 0x222A - gUnknown_81B2E6F:: @ 81B2E6F .incbin "baserom.gba", 0x1B2E6F, 0x15A diff --git a/data/fame_checker.s b/data/fame_checker.s index 55042293a..e85c384bb 100644 --- a/data/fame_checker.s +++ b/data/fame_checker.s @@ -4,12 +4,6 @@ .section .rodata .align 2 -gUnknown_845F83C:: @ 845F83C - .incbin "baserom.gba", 0x45F83C, 0x60 - -gUnknown_845F89C:: @ 845F89C - .incbin "baserom.gba", 0x45F89C, 0x180 - gUnknown_845FA1C:: @ 845FA1C .incbin "baserom.gba", 0x45FA1C, 0x180 diff --git a/data/text/fame_checker.inc b/data/text/fame_checker.inc index fd4864dc8..975960e4e 100644 --- a/data/text/fame_checker.inc +++ b/data/text/fame_checker.inc @@ -796,3 +796,905 @@ gUnknown_81B0BB5:: @ 0x81B0BB5 .string "to you.\p" .string "I will concentrate solely on\n" .string "bettering myself, and none other.$" + +gUnknown_81B0C45:: @ 0x81B0C45 + .string "PALLET TOWN$" + +gUnknown_81B0C51:: @ 81B0C51 + .string "RESEARCH LAB$" + +gUnknown_81B0C5E:: @ 81B0C5E + .string "RESEARCH LAB$" + +gUnknown_81B0C6B:: @ 81B0C6B + .string "VIRIDIAN CITY$" + +gUnknown_81B0C79:: @ 81B0C79 + .string "POKéMON LEAGUE$" + +gUnknown_81B0C88:: @ 81B0C88 + .string "RESEARCH LAB$" + +gUnknown_81B0C95:: @ 81B0C95 + .string "RESEARCH LAB$" + +gUnknown_81B0CA2:: @ 81B0CA2 + .string "VERMILION CITY$" + +gUnknown_81B0CB1:: @ 81B0CB1 + .string "WATER LABYRINTH$" + +gUnknown_81B0CC1:: @ 81B0CC1 + .string "VIRIDIAN CITY$" + +gUnknown_81B0CCF:: @ 81B0CCF + .string "CELADON MANSION$" + +gUnknown_81B0CDF:: @ 81B0CDF + .string "FOUR ISLAND$" + +gUnknown_81B0CEB:: @ 81B0CEB + .string "PEWTER CITY$" + +gUnknown_81B0CF7:: @ 81B0CF7 + .string "PEWTER GYM$" + +gUnknown_81B0D02:: @ 81B0D02 + .string "PEWTER CITY$" + +gUnknown_81B0D0E:: @ 81B0D0E + .string "ROUTE 4$" + +gUnknown_81B0D16:: @ 81B0D16 + .string "MT. MOON$" + +gUnknown_81B0D1F:: @ 81B0D1F + .string "PEWTER MUSEUM$" + +gUnknown_81B0D2D:: @ 81B0D2D + .string "CERULEAN CITY$" + +gUnknown_81B0D3B:: @ 81B0D3B + .string "CERULEAN GYM$" + +gUnknown_81B0D48:: @ 81B0D48 + .string "CERULEAN GYM$" + +gUnknown_81B0D55:: @ 81B0D55 + .string "SEAFOAM ISLANDS$" + +gUnknown_81B0D65:: @ 81B0D65 + .string "CERULEAN CAPE$" + +gUnknown_81B0D73:: @ 81B0D73 + .string "CERULEAN CITY$" + +gUnknown_81B0D81:: @ 81B0D81 + .string "VERMILION CITY$" + +gUnknown_81B0D90:: @ 81B0D90 + .string "VERMILION GYM$" + +gUnknown_81B0D9E:: @ 81B0D9E + .string "VERMILION GYM$" + +gUnknown_81B0DAC:: @ 81B0DAC + .string "VERMILION GYM$" + +gUnknown_81B0DBA:: @ 81B0DBA + .string "VERMILION GYM$" + +gUnknown_81B0DC8:: @ 81B0DC8 + .string "VERMILION CITY$" + +gUnknown_81B0DD7:: @ 81B0DD7 + .string "CELADON CITY$" + +gUnknown_81B0DE4:: @ 81B0DE4 + .string "CELADON GYM$" + +gUnknown_81B0DF0:: @ 81B0DF0 + .string "CELADON GYM$" + +gUnknown_81B0DFC:: @ 81B0DFC + .string "CELADON GYM$" + +gUnknown_81B0E08:: @ 81B0E08 + .string "CELADON GYM$" + +gUnknown_81B0E14:: @ 81B0E14 + .string "CELADON MANSION$" + +gUnknown_81B0E24:: @ 81B0E24 + .string "FUCHSIA CITY$" + +gUnknown_81B0E31:: @ 81B0E31 + .string "FUCHSIA GYM$" + +gUnknown_81B0E3D:: @ 81B0E3D + .string "FUCHSIA GYM$" + +gUnknown_81B0E49:: @ 81B0E49 + .string "FUCHSIA CITY$" + +gUnknown_81B0E56:: @ 81B0E56 + .string "FUCHSIA CITY$" + +gUnknown_81B0E63:: @ 81B0E63 + .string "SAFARI ZONE$" + +gUnknown_81B0E6F:: @ 81B0E6F + .string "SAFFRON CITY$" + +gUnknown_81B0E7C:: @ 81B0E7C + .string "THREE ISLAND$" + +gUnknown_81B0E89:: @ 81B0E89 + .string "SAFFRON GYM$" + +gUnknown_81B0E95:: @ 81B0E95 + .string "SAFFRON GYM$" + +gUnknown_81B0EA1:: @ 81B0EA1 + .string "SAFFRON CITY$" + +gUnknown_81B0EAE:: @ 81B0EAE + .string "SAFFRON GYM$" + +gUnknown_81B0EBA:: @ 81B0EBA + .string "CINNABAR ISLAND$" + +gUnknown_81B0ECA:: @ 81B0ECA + .string "CINNABAR GYM$" + +gUnknown_81B0ED7:: @ 81B0ED7 + .string "CINNABAR GYM$" + +gUnknown_81B0EE4:: @ 81B0EE4 + .string "CINNABAR ISLAND$" + +gUnknown_81B0EF4:: @ 81B0EF4 + .string "CINNABAR GYM$" + +gUnknown_81B0F01:: @ 81B0F01 + .string "RESORT GORGEOUS$" + +gUnknown_81B0F11:: @ 81B0F11 + .string "POKéMON LEAGUE$" + +gUnknown_81B0F20:: @ 81B0F20 + .string "POKéMON LEAGUE$" + +gUnknown_81B0F2F:: @ 81B0F2F + .string "FOUR ISLAND$" + +gUnknown_81B0F3B:: @ 81B0F3B + .string "FIVE ISLAND$" + +gUnknown_81B0F47:: @ 81B0F47 + .string "FOUR ISLAND$" + +gUnknown_81B0F53:: @ 81B0F53 + .string "FOUR ISLAND$" + +gUnknown_81B0F5F:: @ 81B0F5F + .string "POKéMON LEAGUE$" + +gUnknown_81B0F6E:: @ 81B0F6E + .string "POKéMON LEAGUE$" + +gUnknown_81B0F7D:: @ 81B0F7D + .string "SAFFRON CITY$" + +gUnknown_81B0F8A:: @ 81B0F8A + .string "EMBER SPA$" + +gUnknown_81B0F94:: @ 81B0F94 + .string "TWO ISLAND$" + +gUnknown_81B0F9F:: @ 81B0F9F + .string "SEVAULT CANYON$" + +gUnknown_81B0FAE:: @ 81B0FAE + .string "POKéMON LEAGUE$" + +gUnknown_81B0FBD:: @ 81B0FBD + .string "INDIGO PLATEAU$" + +gUnknown_81B0FCC:: @ 81B0FCC + .string "INDIGO PLATEAU$" + +gUnknown_81B0FDB:: @ 81B0FDB + .string "SEVEN ISLAND$" + +gUnknown_81B0FE8:: @ 81B0FE8 + .string "POKéMON LEAGUE$" + +gUnknown_81B0FF7:: @ 81B0FF7 + .string "SIX ISLAND$" + +gUnknown_81B1002:: @ 81B1002 + .string "POKéMON LEAGUE$" + +gUnknown_81B1011:: @ 81B1011 + .string "POKéMON LEAGUE$" + +gUnknown_81B1020:: @ 81B1020 + .string "SAFFRON CITY$" + +gUnknown_81B102D:: @ 81B102D + .string "CELADON DEPT.$" + +gUnknown_81B103B:: @ 81B103B + .string "INDIGO PLATEAU$" + +gUnknown_81B104A:: @ 81B104A + .string "INDIGO PLATEAU$" + +gUnknown_81B1059:: @ 81B1059 + .string "CERULEAN CITY$" + +gUnknown_81B1067:: @ 81B1067 + .string "CERULEAN CITY$" + +gUnknown_81B1075:: @ 81B1075 + .string "FUCHSIA CITY$" + +gUnknown_81B1082:: @ 81B1082 + .string "ONE ISLAND$" + +gUnknown_81B108D:: @ 81B108D + .string "ONE ISLAND$" + +gUnknown_81B1098:: @ 81B1098 + .string "ONE ISLAND$" + +gUnknown_81B10A3:: @ 81B10A3 + .string "LAVENDER TOWN$" + +gUnknown_81B10B1:: @ 81B10B1 + .string "POKéMON TOWER$" + +gUnknown_81B10BF:: @ 81B10BF + .string "LAVENDER TOWN$" + +gUnknown_81B10CD:: @ 81B10CD + .string "LAVENDER TOWN$" + +gUnknown_81B10DB:: @ 81B10DB + .string "CINNABAR GYM$" + +gUnknown_81B10E8:: @ 81B10E8 + .string "CINNABAR ISLAND$" + +gUnknown_81B10F8:: @ 81B10F8 + .string "ROCKET HIDEOUT$" + +gUnknown_81B1107:: @ 81B1107 + .string "SILPH CO.$" + +gUnknown_81B1111:: @ 81B1111 + .string "SILPH CO.$" + +gUnknown_81B111B:: @ 81B111B + .string "VIRIDIAN GYM$" + +gUnknown_81B1128:: @ 81B1128 + .string "VIRIDIAN GYM$" + +gUnknown_81B1135:: @ 81B1135 + .string "ROCKET WAREHOUSE$" + +gUnknown_81B1146:: @ 81B1146 + .string "SIGN$" + +gUnknown_81B114B:: @ 81B114B + .string "PROF. OAK$" + +gUnknown_81B1155:: @ 81B1155 + .string "AIDE$" + +gUnknown_81B115A:: @ 81B115A + .string "POKéMON JOURNAL$" + +gUnknown_81B116A:: @ 81B116A + .string "AGATHA$" + +gUnknown_81B1171:: @ 81B1171 + .string "AIDE$" + +gUnknown_81B1176:: @ 81B1176 + .string "AIDE$" + +gUnknown_81B117B:: @ 81B117B + .string "WOMAN$" + +gUnknown_81B1181:: @ 81B1181 + .string "MAN$" + +gUnknown_81B1185:: @ 81B1185 + .string "POKéMON JOURNAL$" + +gUnknown_81B1195:: @ 81B1195 + .string "OLD LADY$" + +gUnknown_81B119E:: @ 81B119E + .string "POKéMON JOURNAL$" + +gUnknown_81B11AE:: @ 81B11AE + .string "SIGN$" + +gUnknown_81B11B3:: @ 81B11B3 + .string "BROCK$" + +gUnknown_81B11B9:: @ 81B11B9 + .string "YOUNG MAN$" + +gUnknown_81B11C3:: @ 81B11C3 + .string "BOY$" + +gUnknown_81B11C7:: @ 81B11C7 + .string "MAN$" + +gUnknown_81B11CB:: @ 81B11CB + .string "POKéMON JOURNAL$" + +gUnknown_81B11DB:: @ 81B11DB + .string "SIGN$" + +gUnknown_81B11E0:: @ 81B11E0 + .string "MISTY$" + +gUnknown_81B11E6:: @ 81B11E6 + .string "LUIS$" + +gUnknown_81B11EB:: @ 81B11EB + .string "YOUNG MAN$" + +gUnknown_81B11F5:: @ 81B11F5 + .string "DAME$" + +gUnknown_81B11FA:: @ 81B11FA + .string "POKéMON JOURNAL$" + +gUnknown_81B120A:: @ 81B120A + .string "SIGN$" + +gUnknown_81B120F:: @ 81B120F + .string "LT. SURGE$" + +gUnknown_81B1219:: @ 81B1219 + .string "TUCKER$" + +gUnknown_81B1220:: @ 81B1220 + .string "TUCKER$" + +gUnknown_81B1227:: @ 81B1227 + .string "DWAYNE$" + +gUnknown_81B122E:: @ 81B122E + .string "POKéMON JOURNAL$" + +gUnknown_81B123E:: @ 81B123E + .string "SIGN$" + +gUnknown_81B1243:: @ 81B1243 + .string "ERIKA$" + +gUnknown_81B1249:: @ 81B1249 + .string "LOLA$" + +gUnknown_81B124E:: @ 81B124E + .string "TAMIA$" + +gUnknown_81B1254:: @ 81B1254 + .string "ERIKA$" + +gUnknown_81B125A:: @ 81B125A + .string "POKéMON JOURNAL$" + +gUnknown_81B126A:: @ 81B126A + .string "SIGN$" + +gUnknown_81B126F:: @ 81B126F + .string "KOGA$" + +gUnknown_81B1274:: @ 81B1274 + .string "KIRK$" + +gUnknown_81B1279:: @ 81B1279 + .string "CHARINE$" + +gUnknown_81B1281:: @ 81B1281 + .string "POKéMON JOURNAL$" + +gUnknown_81B1291:: @ 81B1291 + .string "MAN$" + +gUnknown_81B1295:: @ 81B1295 + .string "SIGN$" + +gUnknown_81B129A:: @ 81B129A + .string "YOUNG MAN$" + +gUnknown_81B12A4:: @ 81B12A4 + .string "SABRINA$" + +gUnknown_81B12AC:: @ 81B12AC + .string "SABRINA$" + +gUnknown_81B12B4:: @ 81B12B4 + .string "POKéMON JOURNAL$" + +gUnknown_81B12C4:: @ 81B12C4 + .string "TYRON$" + +gUnknown_81B12CA:: @ 81B12CA + .string "SIGN$" + +gUnknown_81B12CF:: @ 81B12CF + .string "BLAINE$" + +gUnknown_81B12D6:: @ 81B12D6 + .string "DEREK$" + +gUnknown_81B12DC:: @ 81B12DC + .string "WOMAN$" + +gUnknown_81B12E2:: @ 81B12E2 + .string "PHOTO$" + +gUnknown_81B12E8:: @ 81B12E8 + .string "POKéMON JOURNAL$" + +gUnknown_81B12F8:: @ 81B12F8 + .string "LORELEI$" + +gUnknown_81B1300:: @ 81B1300 + .string "LORELEI$" + +gUnknown_81B1308:: @ 81B1308 + .string "OLD MAN$" + +gUnknown_81B1310:: @ 81B1310 + .string "POKéMON JOURNAL$" + +gUnknown_81B1320:: @ 81B1320 + .string "LITTLE GIRL$" + +gUnknown_81B132C:: @ 81B132C + .string "OLD LADY$" + +gUnknown_81B1335:: @ 81B1335 + .string "BRUNO$" + +gUnknown_81B133B:: @ 81B133B + .string "BRUNO$" + +gUnknown_81B1341:: @ 81B1341 + .string "POKéMON JOURNAL$" + +gUnknown_81B1351:: @ 81B1351 + .string "CRUSHER$" + +gUnknown_81B1359:: @ 81B1359 + .string "WOMAN$" + +gUnknown_81B135F:: @ 81B135F + .string "CRUSHER$" + +gUnknown_81B1367:: @ 81B1367 + .string "AGATHA$" + +gUnknown_81B136E:: @ 81B136E + .string "CRUSHER$" + +gUnknown_81B1376:: @ 81B1376 + .string "CRUSHER$" + +gUnknown_81B137E:: @ 81B137E + .string "POKéMON JOURNAL$" + +gUnknown_81B138E:: @ 81B138E + .string "AGATHA$" + +gUnknown_81B1395:: @ 81B1395 + .string "OLD LADY$" + +gUnknown_81B139E:: @ 81B139E + .string "LANCE$" + +gUnknown_81B13A4:: @ 81B13A4 + .string "LANCE$" + +gUnknown_81B13AA:: @ 81B13AA + .string "WOMAN$" + +gUnknown_81B13B0:: @ 81B13B0 + .string "LITTLE GIRL$" + +gUnknown_81B13BC:: @ 81B13BC + .string "POKéMON JOURNAL$" + +gUnknown_81B13CC:: @ 81B13CC + .string "YOUNG MAN$" + +gUnknown_81B13D6:: @ 81B13D6 + .string "{RIVAL}$" + +gUnknown_81B13D9:: @ 81B13D9 + .string "LITTLE BOY$" + +gUnknown_81B13E4:: @ 81B13E4 + .string "OLD MAN$" + +gUnknown_81B13EC:: @ 81B13EC + .string "CELIO$" + +gUnknown_81B13F2:: @ 81B13F2 + .string "CELIO$" + +gUnknown_81B13F8:: @ 81B13F8 + .string "CELIO$" + +gUnknown_81B13FE:: @ 81B13FE + .string "LITTLE GIRL$" + +gUnknown_81B140A:: @ 81B140A + .string "TEAM ROCKET$" + +gUnknown_81B1416:: @ 81B1416 + .string "MAGAZINE$" + +gUnknown_81B141F:: @ 81B141F + .string "MAN$" + +gUnknown_81B1423:: @ 81B1423 + .string "PHOTO$" + +gUnknown_81B1429:: @ 81B1429 + .string "POKéMON JOURNAL$" + +gUnknown_81B1439:: @ 81B1439 + .string "GIOVANNI$" + +gUnknown_81B1442:: @ 81B1442 + .string "SCIENTIST$" + +gUnknown_81B144C:: @ 81B144C + .string "SCIENTIST$" + +gUnknown_81B1456:: @ 81B1456 + .string "GIOVANNI$" + +gUnknown_81B145F:: @ 81B145F + .string "MAN$" + +gUnknown_81B1463:: @ 81B1463 + .string "GIDEON$" + +gUnknown_81B146A:: @ 81B146A + .string "POKéMON JOURNAL\p" + .string "Special Feature: PEWTER GYM\n" + .string "LEADER BROCK!\p" + .string "BROCK rarely laughs, but is said to\n" + .string "be unable to stop if he starts.$" + +gUnknown_81B14E8:: @ 81B14E8 + .string "POKéMON JOURNAL\p" + .string "Special Feature: CERULEAN GYM\n" + .string "LEADER MISTY!\p" + .string "MISTY is said to worship LORELEI\n" + .string "of the ELITE FOUR.$" + +gUnknown_81B1558:: @ 81B1558 + .string "POKéMON JOURNAL\p" + .string "Special Feature: VERMILION GYM\n" + .string "LEADER LT. SURGE!\p" + .string "LT. SURGE is rumored to have been\n" + .string "a pilot while home in America.\p" + .string "He used the electricity generated\n" + .string "by POKéMON to power his plane.$" + +gUnknown_81B161B:: @ 81B161B + .string "POKéMON JOURNAL\p" + .string "Special Feature: CELADON GYM\n" + .string "LEADER ERIKA!\p" + .string "Rumor has it that if you peek into\n" + .string "CELADON GYM, you can often\l" + .string "see ERIKA snoozing.$" + +gUnknown_81B16A8:: @ 81B16A8 + .string "POKéMON JOURNAL\p" + .string "Special Feature: FUCHSIA GYM\n" + .string "LEADER KOGA!\p" + .string "KOGA is said to have a thorough\n" + .string "knowledge of medicine.\p" + .string "He even concocts medicine to nurse\n" + .string "his POKéMON to health.$" + +gUnknown_81B1753:: @ 81B1753 + .string "POKéMON JOURNAL\p" + .string "Special Feature: SAFFRON GYM\n" + .string "LEADER SABRINA!\p" + .string "People say that SABRINA can\n" + .string "communicate with her POKéMON\l" + .string "during battle without speaking.$" + +gUnknown_81B17E9:: @ 81B17E9 + .string "POKéMON JOURNAL\p" + .string "Special Feature: CINNABAR GYM\n" + .string "LEADER BLAINE!\p" + .string "BLAINE is said to remove his dark\n" + .string "shades only when he is thinking up\l" + .string "new quiz questions.$" + +gUnknown_81B187F:: @ 81B187F + .string "POKéMON JOURNAL\p" + .string "Special Feature:\n" + .string "ELITE FOUR’s LORELEI!\p" + .string "Known for her logical, calculated,\n" + .string "and cool battling style, LORELEI\l" + .string "has a surprising secret!$" + +gUnknown_81B1913:: @ 81B1913 + .string "POKéMON JOURNAL\p" + .string "Special Feature:\n" + .string "ELITE FOUR’s BRUNO!\p" + .string "BRUNO apparently joined the ELITE\n" + .string "FOUR out of his burning ambition to\l" + .string "battle the best TRAINERS.$" + +gUnknown_81B19A8:: @ 81B19A8 + .string "POKéMON JOURNAL\p" + .string "Special Feature:\n" + .string "ELITE FOUR’s AGATHA!\p" + .string "In her youth, AGATHA and PROF.\n" + .string "OAK were rivals who vied for\l" + .string "supremacy as TRAINERS.$" + +gUnknown_81B1A31:: @ 81B1A31 + .string "POKéMON JOURNAL\p" + .string "Special Feature:\n" + .string "ELITE FOUR’s LANCE!\p" + .string "LANCE’s grandfather is thought to\n" + .string "be the elder of a famous clan of\l" + .string "dragon masters.$" + +gUnknown_81B1AB9:: @ 81B1AB9 + .string "POKéMON JOURNAL\p" + .string "Special Feature: PROF. OAK,\n" + .string "the POKéMON Researcher!\p" + .string "PROF. OAK reportedly lives with his\n" + .string "grandchildren DAISY and {RIVAL}.$" + +gUnknown_81B1B3D:: @ 81B1B3D + .string "This is a POKéMON JOURNAL from\n" + .string "years ago…\p" + .string "POKéMON JOURNAL\n" + .string "CONTEST Special!\p" + .string "The Spring POKéMON CONTEST’s\n" + .string "Grand Champion is DAISY OAK of\l" + .string "PALLET TOWN!$" + +gUnknown_81B1BD1:: @ 81B1BD1 + .string "POKéMON JOURNAL\p" + .string "Special Feature:\n" + .string "MR. FUJI of POKéMON HOUSE!\p" + .string "Editor: The shy MR. FUJI turned\n" + .string "down our interview requests.\p" + .string "He is a kindly man who is adored\n" + .string "and respected in LAVENDER TOWN.$" + +gUnknown_81B1C8B:: @ 81B1C8B + .string "Hmm…\n" + .string "Is that right…$" + +gUnknown_81B1C9F:: @ 81B1C9F + .string "Oh!\n" + .string "Look, look!$" + +gUnknown_81B1CAF:: @ 81B1CAF + .string "Read it, read it!$" + +gUnknown_81B1CC1:: @ 81B1CC1 + .string "TRAINER TIPS\p" + .string "Press START to open the MENU!$" + +gUnknown_81B1CEC:: @ 81B1CEC + .string "Signs are useful, aren’t they?$" + +gUnknown_81B1D0B:: @ 81B1D0B + .string "Look, look!\p" + .string "I copied what it said on one of\n" + .string "those TRAINER TIPS signs!$" + +gUnknown_81B1D51:: @ 81B1D51 + .string "TRAINER TIPS!\p" + .string "Press START to open the MENU!$" + +gUnknown_81B1D7D:: @ 81B1D7D + .string "It’s a POKéMON PRINTER!\p" + .string "It can put a print of your POKéMON\n" + .string "on the back of your TRAINER CARD.\p" + .string "It costs only Â¥50.\n" + .string "Would you like to try it?$" + +gUnknown_81B1E07:: @ 81B1E07 + .string "You don’t have enough money.$" + +gUnknown_81B1E24:: @ 81B1E24 + .string "Please choose the print type.$" + +gUnknown_81B1E42:: @ 81B1E42 + .string "A big smile for the photo, please!\n" + .string "Three… Two… One…\p" + .string "Flash!$" + +gUnknown_81B1E7D:: @ 81B1E7D + .string "Your POKéMON print is ready!\n" + .string "Check your TRAINER CARD.$" + +gUnknown_81B1EB3:: @ 81B1EB3 + .string "Giggle…\n" + .string "I collected a ton of STICKERS.\l" + .string "I wish I could show them off…$" + +gUnknown_81B1EF8:: @ 81B1EF8 + .string "Oh, excellent!\n" + .string "You’ve come to the right place!\p" + .string "Look, look! See? See?\n" + .string "These are my STICKERS!\l" + .string "Look how many I got!\p" + .string "I bet you want some.\n" + .string "I bet you do!\p" + .string "I’ll give a STICKER if you can tell\n" + .string "me something awesome about\l" + .string "yourself.\p" + .string "What will you brag about?$" + +gUnknown_81B1FEF:: @ 81B1FEF + .string "Brag about something for me.\n" + .string "I’ll give you a STICKER.$" + +gUnknown_81B2025:: @ 81B2025 + .string "Oh, hi!\n" + .string "Here comes the braggart.\p" + .string "What are you going to brag about\n" + .string "today?$" + +gUnknown_81B206E:: @ 81B206E + .string "Oh, wow, you made it into the\n" + .string "HALL OF FAME.\p" + .string "That’s pretty good, yup!\n" + .string "I’ll give you one of these.$" + +gUnknown_81B20CF:: @ 81B20CF + .string "Oh, wow, you’ve entered the\n" + .string "HALL OF FAME often!\p" + .string "That’s impressive, yup!\n" + .string "I’ll give you one of these.$" + +gUnknown_81B2133:: @ 81B2133 + .string "Whoa! You’ve made it into the\n" + .string "HALL OF FAME that often?\l" + .string "That’s seriously incredible, yup!\p" + .string "You own the POKéMON LEAGUE!\n" + .string "I’ll give you one of these.$" + +gUnknown_81B21C4:: @ 81B21C4 + .string "No way! You’ve gone into the\n" + .string "HALL OF FAME that many times?\p" + .string "You’re beyond incredible, yup!\n" + .string "That’s it, I have to give you this.$" + +gUnknown_81B2242:: @ 81B2242 + .string "The HALL OF FAME STICKER was\n" + .string "applied to the TRAINER CARD.$" + +gUnknown_81B227C:: @ 81B227C + .string "Hmm…\p" + .string "Come back with a better story next\n" + .string "time, okay?$" + +gUnknown_81B22B0:: @ 81B22B0 + .string "Oh, no, no can do.\p" + .string "You’re practically a living legend.\n" + .string "I have no SITCKERS left to give.$" + +gUnknown_81B2308:: @ 81B2308 + .string "Oh, wow, there are POKéMON EGGS?\n" + .string "I didn’t know that!\p" + .string "That’s pretty good, yup!\n" + .string "I’ll give you one of these.$" + +gUnknown_81B2372:: @ 81B2372 + .string "You’ve hatched that many EGGS?\n" + .string "You really must like them!\p" + .string "That’s impressive, yup!\n" + .string "I’ll give you one of these.$" + +gUnknown_81B23E0:: @ 81B23E0 + .string "Whoa! You’ve hatched a whole\n" + .string "bunch of EGGS!\p" + .string "You’re an EGG-hatching machine!\n" + .string "I’ll give you one of these.$" + +gUnknown_81B2448:: @ 81B2448 + .string "Wh… You hatched that many EGGS?\p" + .string "What’s behind your love of EGGS?\n" + .string "It’s beyond incredible, yup!\p" + .string "You’re too awesome, I tell you.\n" + .string "That’s it, I have to give you this.$" + +gUnknown_81B24EA:: @ 81B24EA + .string "The EGG STICKER was applied\n" + .string "to the TRAINER CARD.$" + +gUnknown_81B251B:: @ 81B251B + .string "Hmm…\p" + .string "Come back with a better story next\n" + .string "time, okay?$" + +gUnknown_81B254F:: @ 81B254F + .string "Oh, no, no can do.\p" + .string "You’re practically a living legend.\n" + .string "I have no SITCKERS left to give.$" + +gUnknown_81B25A7:: @ 81B25A7 + .string "Oh, wow, you’ve had success\n" + .string "link battling?\p" + .string "You’re pretty strong, yup!\n" + .string "I’ll give you one of these.$" + +gUnknown_81B2609:: @ 81B2609 + .string "You’ve beaten your friends a lot\n" + .string "link battling, huh?\p" + .string "You’re impressively strong, yup!\n" + .string "I’ll give you one of these.$" + +gUnknown_81B267B:: @ 81B267B + .string "Whoa! You’ve beaten your friends\n" + .string "a frightful number of times.\p" + .string "Have you lost friends over this?\n" + .string "I’ll give you one of these.$" + +gUnknown_81B26F6:: @ 81B26F6 + .string "Wh… Wickedly whoa!\n" + .string "You’ve won mind-blowingly often!\p" + .string "It just knocks me out thinking\n" + .string "about how tough you are.\p" + .string "You’re the stuff of nightmares!\n" + .string "That’s it, I have to give you this.$" + +gUnknown_81B27A6:: @ 81B27A6 + .string "The VICTORY STICKER was applied\n" + .string "to the TRAINER CARD.$" + +gUnknown_81B27DB:: @ 81B27DB + .string "Hmm…\p" + .string "Come back with a better story next\n" + .string "time, okay?$" + +gUnknown_81B280F:: @ 81B280F + .string "Oh, no, no can do.\p" + .string "You’re practically a living legend.\n" + .string "I have no SITCKERS left to give.$" + +gUnknown_81B2867:: @ 81B2867 + +gUnknown_81B2E1C:: @ 81B2E1C + .incbin "baserom.gba", 0x001b2867, 0x5b5 + .string "How do I do this?$" + +gUnknown_81B2E2E:: @ 81B2E2E + .string "What does this term mean?$" + +gUnknown_81B2E48:: @ 81B2E48 + .string "About this game$" + +gUnknown_81B2E58:: @ 81B2E58 + .string "Type Matchup List$" + +gUnknown_81B2E6A:: @ 81B2E6A + .string "EXIT$" diff --git a/include/event_scripts.h b/include/event_scripts.h index 28106d9d4..2aec4a406 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -512,5 +512,101 @@ extern const u8 gUnknown_81B0AFF[]; extern const u8 gUnknown_81B0B0E[]; extern const u8 gUnknown_81B0BA6[]; extern const u8 gUnknown_81B0BB5[]; +extern const u8 gUnknown_81B0C45[]; +extern const u8 gUnknown_81B0C51[]; +extern const u8 gUnknown_81B0C5E[]; +extern const u8 gUnknown_81B0C6B[]; +extern const u8 gUnknown_81B0C79[]; +extern const u8 gUnknown_81B0C88[]; +extern const u8 gUnknown_81B0C95[]; +extern const u8 gUnknown_81B0CA2[]; +extern const u8 gUnknown_81B0CB1[]; +extern const u8 gUnknown_81B0CC1[]; +extern const u8 gUnknown_81B0CCF[]; +extern const u8 gUnknown_81B0CDF[]; +extern const u8 gUnknown_81B0CEB[]; +extern const u8 gUnknown_81B0CF7[]; +extern const u8 gUnknown_81B0D02[]; +extern const u8 gUnknown_81B0D0E[]; +extern const u8 gUnknown_81B0D16[]; +extern const u8 gUnknown_81B0D1F[]; +extern const u8 gUnknown_81B0D2D[]; +extern const u8 gUnknown_81B0D3B[]; +extern const u8 gUnknown_81B0D48[]; +extern const u8 gUnknown_81B0D55[]; +extern const u8 gUnknown_81B0D65[]; +extern const u8 gUnknown_81B0D73[]; +extern const u8 gUnknown_81B0D81[]; +extern const u8 gUnknown_81B0D90[]; +extern const u8 gUnknown_81B0D9E[]; +extern const u8 gUnknown_81B0DAC[]; +extern const u8 gUnknown_81B0DBA[]; +extern const u8 gUnknown_81B0DC8[]; +extern const u8 gUnknown_81B0DD7[]; +extern const u8 gUnknown_81B0DE4[]; +extern const u8 gUnknown_81B0DF0[]; +extern const u8 gUnknown_81B0DFC[]; +extern const u8 gUnknown_81B0E08[]; +extern const u8 gUnknown_81B0E14[]; +extern const u8 gUnknown_81B0E24[]; +extern const u8 gUnknown_81B0E31[]; +extern const u8 gUnknown_81B0E3D[]; +extern const u8 gUnknown_81B0E49[]; +extern const u8 gUnknown_81B0E56[]; +extern const u8 gUnknown_81B0E63[]; +extern const u8 gUnknown_81B0E6F[]; +extern const u8 gUnknown_81B0E7C[]; +extern const u8 gUnknown_81B0E89[]; +extern const u8 gUnknown_81B0E95[]; +extern const u8 gUnknown_81B0EA1[]; +extern const u8 gUnknown_81B0EAE[]; +extern const u8 gUnknown_81B0EBA[]; +extern const u8 gUnknown_81B0ECA[]; +extern const u8 gUnknown_81B0ED7[]; +extern const u8 gUnknown_81B0EE4[]; +extern const u8 gUnknown_81B0EF4[]; +extern const u8 gUnknown_81B0F01[]; +extern const u8 gUnknown_81B0F11[]; +extern const u8 gUnknown_81B0F20[]; +extern const u8 gUnknown_81B0F2F[]; +extern const u8 gUnknown_81B0F3B[]; +extern const u8 gUnknown_81B0F47[]; +extern const u8 gUnknown_81B0F53[]; +extern const u8 gUnknown_81B0F5F[]; +extern const u8 gUnknown_81B0F6E[]; +extern const u8 gUnknown_81B0F7D[]; +extern const u8 gUnknown_81B0F8A[]; +extern const u8 gUnknown_81B0F94[]; +extern const u8 gUnknown_81B0F9F[]; +extern const u8 gUnknown_81B0FAE[]; +extern const u8 gUnknown_81B0FBD[]; +extern const u8 gUnknown_81B0FCC[]; +extern const u8 gUnknown_81B0FDB[]; +extern const u8 gUnknown_81B0FE8[]; +extern const u8 gUnknown_81B0FF7[]; +extern const u8 gUnknown_81B1002[]; +extern const u8 gUnknown_81B1011[]; +extern const u8 gUnknown_81B1020[]; +extern const u8 gUnknown_81B102D[]; +extern const u8 gUnknown_81B103B[]; +extern const u8 gUnknown_81B104A[]; +extern const u8 gUnknown_81B1059[]; +extern const u8 gUnknown_81B1067[]; +extern const u8 gUnknown_81B1075[]; +extern const u8 gUnknown_81B1082[]; +extern const u8 gUnknown_81B108D[]; +extern const u8 gUnknown_81B1098[]; +extern const u8 gUnknown_81B10A3[]; +extern const u8 gUnknown_81B10B1[]; +extern const u8 gUnknown_81B10BF[]; +extern const u8 gUnknown_81B10CD[]; +extern const u8 gUnknown_81B10DB[]; +extern const u8 gUnknown_81B10E8[]; +extern const u8 gUnknown_81B10F8[]; +extern const u8 gUnknown_81B1107[]; +extern const u8 gUnknown_81B1111[]; +extern const u8 gUnknown_81B111B[]; +extern const u8 gUnknown_81B1128[]; +extern const u8 gUnknown_81B1135[]; #endif //GUARD_EVENT_SCRIPTS_H diff --git a/src/fame_checker.c b/src/fame_checker.c index 11bb637b7..985492d6b 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -243,107 +243,63 @@ const u8 *const gUnknown_845F63C[] = { }; const u8 *const gUnknown_845F6BC[] = { - gUnknown_81AD106, - gUnknown_81AD145, - gUnknown_81AD1BB, - gUnknown_81AD258, - gUnknown_81AD2B9, - gUnknown_81AD377, - gUnknown_81AD40C, - gUnknown_81AD4AE, - gUnknown_81AD516, - gUnknown_81AD5A7, - gUnknown_81AD608, - gUnknown_81AD69F, - gUnknown_81AD705, - gUnknown_81AD771, - gUnknown_81AD840, - gUnknown_81AD908, - gUnknown_81AD99A, - gUnknown_81ADA27, - gUnknown_81ADA91, - gUnknown_81ADAF6, - gUnknown_81ADB5A, - gUnknown_81ADBD9, - gUnknown_81ADC72, - gUnknown_81ADCEB, - gUnknown_81ADD3C, - gUnknown_81ADDA7, - gUnknown_81ADE0B, - gUnknown_81ADE82, - gUnknown_81ADEEC, - gUnknown_81ADF6A, - gUnknown_81AE009, - gUnknown_81AE072, - gUnknown_81AE0F3, - gUnknown_81AE15B, - gUnknown_81AE1E5, - gUnknown_81AE247, - gUnknown_81AE2B6, - gUnknown_81AE31D, - gUnknown_81AE37D, - gUnknown_81AE407, - gUnknown_81AE48D, - gUnknown_81AE51B, - gUnknown_81AE5E8, - gUnknown_81AE656, - gUnknown_81AE6D7, - gUnknown_81AE762, - gUnknown_81AE7CB, - gUnknown_81AE841, - gUnknown_81AE89E, - gUnknown_81AE90A, - gUnknown_81AE990, - gUnknown_81AEA59, - gUnknown_81AEAEE, - gUnknown_81AEB69, - gUnknown_81AEBDF, - gUnknown_81AEC28, - gUnknown_81AEC82, - gUnknown_81AED27, - gUnknown_81AEDAA, - gUnknown_81AEE51, - gUnknown_81AEF25, - gUnknown_81AEF6C, - gUnknown_81AEFC6, - gUnknown_81AF04C, - gUnknown_81AF0F0, - gUnknown_81AF19A, - gUnknown_81AF200, - gUnknown_81AF248, - gUnknown_81AF2B7, - gUnknown_81AF34E, - gUnknown_81AF3BE, - gUnknown_81AF47C, - gUnknown_81AF4FD, - gUnknown_81AF567, - gUnknown_81AF641, - gUnknown_81AF6BA, - gUnknown_81AF758, - gUnknown_81AF7CB, - gUnknown_81AF83E, - gUnknown_81AF8CA, - gUnknown_81AF929, - gUnknown_81AF998, - gUnknown_81AFA20, - gUnknown_81AFAB9, - gUnknown_81AFB0C, - gUnknown_81AFB76, - gUnknown_81AFC38, - gUnknown_81AFCE9, - gUnknown_81AFD49, - gUnknown_81AFDC4, - gUnknown_81AFE68, - gUnknown_81AFF23, - gUnknown_81AFFA8, - gUnknown_81B0022, - gUnknown_81B00A6, - gUnknown_81B0106 + gUnknown_81AD106, gUnknown_81AD145, gUnknown_81AD1BB, gUnknown_81AD258, gUnknown_81AD2B9, gUnknown_81AD377, + gUnknown_81AD40C, gUnknown_81AD4AE, gUnknown_81AD516, gUnknown_81AD5A7, gUnknown_81AD608, gUnknown_81AD69F, + gUnknown_81AD705, gUnknown_81AD771, gUnknown_81AD840, gUnknown_81AD908, gUnknown_81AD99A, gUnknown_81ADA27, + gUnknown_81ADA91, gUnknown_81ADAF6, gUnknown_81ADB5A, gUnknown_81ADBD9, gUnknown_81ADC72, gUnknown_81ADCEB, + gUnknown_81ADD3C, gUnknown_81ADDA7, gUnknown_81ADE0B, gUnknown_81ADE82, gUnknown_81ADEEC, gUnknown_81ADF6A, + gUnknown_81AE009, gUnknown_81AE072, gUnknown_81AE0F3, gUnknown_81AE15B, gUnknown_81AE1E5, gUnknown_81AE247, + gUnknown_81AE2B6, gUnknown_81AE31D, gUnknown_81AE37D, gUnknown_81AE407, gUnknown_81AE48D, gUnknown_81AE51B, + gUnknown_81AE5E8, gUnknown_81AE656, gUnknown_81AE6D7, gUnknown_81AE762, gUnknown_81AE7CB, gUnknown_81AE841, + gUnknown_81AE89E, gUnknown_81AE90A, gUnknown_81AE990, gUnknown_81AEA59, gUnknown_81AEAEE, gUnknown_81AEB69, + gUnknown_81AEBDF, gUnknown_81AEC28, gUnknown_81AEC82, gUnknown_81AED27, gUnknown_81AEDAA, gUnknown_81AEE51, + gUnknown_81AEF25, gUnknown_81AEF6C, gUnknown_81AEFC6, gUnknown_81AF04C, gUnknown_81AF0F0, gUnknown_81AF19A, + gUnknown_81AF200, gUnknown_81AF248, gUnknown_81AF2B7, gUnknown_81AF34E, gUnknown_81AF3BE, gUnknown_81AF47C, + gUnknown_81AF4FD, gUnknown_81AF567, gUnknown_81AF641, gUnknown_81AF6BA, gUnknown_81AF758, gUnknown_81AF7CB, + gUnknown_81AF83E, gUnknown_81AF8CA, gUnknown_81AF929, gUnknown_81AF998, gUnknown_81AFA20, gUnknown_81AFAB9, + gUnknown_81AFB0C, gUnknown_81AFB76, gUnknown_81AFC38, gUnknown_81AFCE9, gUnknown_81AFD49, gUnknown_81AFDC4, + gUnknown_81AFE68, gUnknown_81AFF23, gUnknown_81AFFA8, gUnknown_81B0022, gUnknown_81B00A6, gUnknown_81B0106 +}; + +const u8 gUnknown_845F83C[] = { + 0x67, 0x47, 0x30, 0x69, 0x4b, 0x37, + 0x37, 0x30, 0x3d, 0x69, 0x23, 0x69, + 0x66, 0x50, 0x1b, 0x13, 0x1e, 0x69, + 0x66, 0x51, 0x2b, 0x27, 0x1d, 0x69, + 0x66, 0x52, 0x3d, 0x3d, 0x3e, 0x69, + 0x66, 0x53, 0x16, 0x1d, 0x53, 0x69, + 0x66, 0x54, 0x1a, 0x16, 0x69, 0x1e, + 0x66, 0x19, 0x55, 0x55, 0x69, 0x29, + 0x66, 0x56, 0x37, 0x1c, 0x69, 0x69, + 0x4d, 0x4d, 0x20, 0x69, 0x11, 0x23, + 0x4f, 0x4f, 0x69, 0x36, 0x1d, 0x36, + 0x4b, 0x36, 0x36, 0x69, 0x4b, 0x23, + 0x4a, 0x4a, 0x18, 0x17, 0x69, 0x29, + 0x48, 0x12, 0x20, 0x59, 0x59, 0x59, + 0x11, 0x31, 0x69, 0x1e, 0x69, 0x69, + 0x57, 0x37, 0x37, 0x57, 0x5b, 0x37 +}; + +const u8 *const gUnknown_845F89C[] = { + gUnknown_81B0C45, gUnknown_81B0C51, gUnknown_81B0C5E, gUnknown_81B0C6B, gUnknown_81B0C79, gUnknown_81B0C88, + gUnknown_81B0C95, gUnknown_81B0CA2, gUnknown_81B0CB1, gUnknown_81B0CC1, gUnknown_81B0CCF, gUnknown_81B0CDF, + gUnknown_81B0CEB, gUnknown_81B0CF7, gUnknown_81B0D02, gUnknown_81B0D0E, gUnknown_81B0D16, gUnknown_81B0D1F, + gUnknown_81B0D2D, gUnknown_81B0D3B, gUnknown_81B0D48, gUnknown_81B0D55, gUnknown_81B0D65, gUnknown_81B0D73, + gUnknown_81B0D81, gUnknown_81B0D90, gUnknown_81B0D9E, gUnknown_81B0DAC, gUnknown_81B0DBA, gUnknown_81B0DC8, + gUnknown_81B0DD7, gUnknown_81B0DE4, gUnknown_81B0DF0, gUnknown_81B0DFC, gUnknown_81B0E08, gUnknown_81B0E14, + gUnknown_81B0E24, gUnknown_81B0E31, gUnknown_81B0E3D, gUnknown_81B0E49, gUnknown_81B0E56, gUnknown_81B0E63, + gUnknown_81B0E6F, gUnknown_81B0E7C, gUnknown_81B0E89, gUnknown_81B0E95, gUnknown_81B0EA1, gUnknown_81B0EAE, + gUnknown_81B0EBA, gUnknown_81B0ECA, gUnknown_81B0ED7, gUnknown_81B0EE4, gUnknown_81B0EF4, gUnknown_81B0F01, + gUnknown_81B0F11, gUnknown_81B0F20, gUnknown_81B0F2F, gUnknown_81B0F3B, gUnknown_81B0F47, gUnknown_81B0F53, + gUnknown_81B0F5F, gUnknown_81B0F6E, gUnknown_81B0F7D, gUnknown_81B0F8A, gUnknown_81B0F94, gUnknown_81B0F9F, + gUnknown_81B0FAE, gUnknown_81B0FBD, gUnknown_81B0FCC, gUnknown_81B0FDB, gUnknown_81B0FE8, gUnknown_81B0FF7, + gUnknown_81B1002, gUnknown_81B1011, gUnknown_81B1020, gUnknown_81B102D, gUnknown_81B103B, gUnknown_81B104A, + gUnknown_81B1059, gUnknown_81B1067, gUnknown_81B1075, gUnknown_81B1082, gUnknown_81B108D, gUnknown_81B1098, + gUnknown_81B10A3, gUnknown_81B10B1, gUnknown_81B10BF, gUnknown_81B10CD, gUnknown_81B10DB, gUnknown_81B10E8, + gUnknown_81B10F8, gUnknown_81B1107, gUnknown_81B1111, gUnknown_81B111B, gUnknown_81B1128, gUnknown_81B1135 }; -extern const u8 *const gUnknown_845F89C[]; extern const u8 *const gUnknown_845FA1C[]; -extern const u8 gUnknown_845F83C[]; extern const struct BgTemplate gUnknown_845FBF4[4]; extern const struct SpriteSheet gUnknown_845FB9C[]; extern const struct SpritePalette gUnknown_845FBDC[]; From e85ce728372d4c03deef73e41d883b04062a415a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 26 Nov 2018 12:57:24 -0500 Subject: [PATCH 138/222] Another text pointer table decomped --- data/fame_checker.s | 3 -- include/event_scripts.h | 96 +++++++++++++++++++++++++++++++++++++++++ src/fame_checker.c | 20 ++++++++- 3 files changed, 115 insertions(+), 4 deletions(-) diff --git a/data/fame_checker.s b/data/fame_checker.s index e85c384bb..206be0d0b 100644 --- a/data/fame_checker.s +++ b/data/fame_checker.s @@ -4,9 +4,6 @@ .section .rodata .align 2 -gUnknown_845FA1C:: @ 845FA1C - .incbin "baserom.gba", 0x45FA1C, 0x180 - gUnknown_845FB9C:: @ 845FB9C .incbin "baserom.gba", 0x45FB9C, 0x40 diff --git a/include/event_scripts.h b/include/event_scripts.h index 2aec4a406..4405b831d 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -608,5 +608,101 @@ extern const u8 gUnknown_81B1111[]; extern const u8 gUnknown_81B111B[]; extern const u8 gUnknown_81B1128[]; extern const u8 gUnknown_81B1135[]; +extern const u8 gUnknown_81B1146[]; +extern const u8 gUnknown_81B114B[]; +extern const u8 gUnknown_81B1155[]; +extern const u8 gUnknown_81B115A[]; +extern const u8 gUnknown_81B116A[]; +extern const u8 gUnknown_81B1171[]; +extern const u8 gUnknown_81B1176[]; +extern const u8 gUnknown_81B117B[]; +extern const u8 gUnknown_81B1181[]; +extern const u8 gUnknown_81B1185[]; +extern const u8 gUnknown_81B1195[]; +extern const u8 gUnknown_81B119E[]; +extern const u8 gUnknown_81B11AE[]; +extern const u8 gUnknown_81B11B3[]; +extern const u8 gUnknown_81B11B9[]; +extern const u8 gUnknown_81B11C3[]; +extern const u8 gUnknown_81B11C7[]; +extern const u8 gUnknown_81B11CB[]; +extern const u8 gUnknown_81B11DB[]; +extern const u8 gUnknown_81B11E0[]; +extern const u8 gUnknown_81B11E6[]; +extern const u8 gUnknown_81B11EB[]; +extern const u8 gUnknown_81B11F5[]; +extern const u8 gUnknown_81B11FA[]; +extern const u8 gUnknown_81B120A[]; +extern const u8 gUnknown_81B120F[]; +extern const u8 gUnknown_81B1219[]; +extern const u8 gUnknown_81B1220[]; +extern const u8 gUnknown_81B1227[]; +extern const u8 gUnknown_81B122E[]; +extern const u8 gUnknown_81B123E[]; +extern const u8 gUnknown_81B1243[]; +extern const u8 gUnknown_81B1249[]; +extern const u8 gUnknown_81B124E[]; +extern const u8 gUnknown_81B1254[]; +extern const u8 gUnknown_81B125A[]; +extern const u8 gUnknown_81B126A[]; +extern const u8 gUnknown_81B126F[]; +extern const u8 gUnknown_81B1274[]; +extern const u8 gUnknown_81B1279[]; +extern const u8 gUnknown_81B1281[]; +extern const u8 gUnknown_81B1291[]; +extern const u8 gUnknown_81B1295[]; +extern const u8 gUnknown_81B129A[]; +extern const u8 gUnknown_81B12A4[]; +extern const u8 gUnknown_81B12AC[]; +extern const u8 gUnknown_81B12B4[]; +extern const u8 gUnknown_81B12C4[]; +extern const u8 gUnknown_81B12CA[]; +extern const u8 gUnknown_81B12CF[]; +extern const u8 gUnknown_81B12D6[]; +extern const u8 gUnknown_81B12DC[]; +extern const u8 gUnknown_81B12E2[]; +extern const u8 gUnknown_81B12E8[]; +extern const u8 gUnknown_81B12F8[]; +extern const u8 gUnknown_81B1300[]; +extern const u8 gUnknown_81B1308[]; +extern const u8 gUnknown_81B1310[]; +extern const u8 gUnknown_81B1320[]; +extern const u8 gUnknown_81B132C[]; +extern const u8 gUnknown_81B1335[]; +extern const u8 gUnknown_81B133B[]; +extern const u8 gUnknown_81B1341[]; +extern const u8 gUnknown_81B1351[]; +extern const u8 gUnknown_81B1359[]; +extern const u8 gUnknown_81B135F[]; +extern const u8 gUnknown_81B1367[]; +extern const u8 gUnknown_81B136E[]; +extern const u8 gUnknown_81B1376[]; +extern const u8 gUnknown_81B137E[]; +extern const u8 gUnknown_81B138E[]; +extern const u8 gUnknown_81B1395[]; +extern const u8 gUnknown_81B139E[]; +extern const u8 gUnknown_81B13A4[]; +extern const u8 gUnknown_81B13AA[]; +extern const u8 gUnknown_81B13B0[]; +extern const u8 gUnknown_81B13BC[]; +extern const u8 gUnknown_81B13CC[]; +extern const u8 gUnknown_81B13D6[]; +extern const u8 gUnknown_81B13D9[]; +extern const u8 gUnknown_81B13E4[]; +extern const u8 gUnknown_81B13EC[]; +extern const u8 gUnknown_81B13F2[]; +extern const u8 gUnknown_81B13F8[]; +extern const u8 gUnknown_81B13FE[]; +extern const u8 gUnknown_81B140A[]; +extern const u8 gUnknown_81B1416[]; +extern const u8 gUnknown_81B141F[]; +extern const u8 gUnknown_81B1423[]; +extern const u8 gUnknown_81B1429[]; +extern const u8 gUnknown_81B1439[]; +extern const u8 gUnknown_81B1442[]; +extern const u8 gUnknown_81B144C[]; +extern const u8 gUnknown_81B1456[]; +extern const u8 gUnknown_81B145F[]; +extern const u8 gUnknown_81B1463[]; #endif //GUARD_EVENT_SCRIPTS_H diff --git a/src/fame_checker.c b/src/fame_checker.c index 985492d6b..40c406c18 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -299,7 +299,25 @@ const u8 *const gUnknown_845F89C[] = { gUnknown_81B10F8, gUnknown_81B1107, gUnknown_81B1111, gUnknown_81B111B, gUnknown_81B1128, gUnknown_81B1135 }; -extern const u8 *const gUnknown_845FA1C[]; +const u8 *const gUnknown_845FA1C[] = { + gUnknown_81B1146, gUnknown_81B114B, gUnknown_81B1155, gUnknown_81B115A, gUnknown_81B116A, gUnknown_81B1171, + gUnknown_81B1176, gUnknown_81B117B, gUnknown_81B1181, gUnknown_81B1185, gUnknown_81B1195, gUnknown_81B119E, + gUnknown_81B11AE, gUnknown_81B11B3, gUnknown_81B11B9, gUnknown_81B11C3, gUnknown_81B11C7, gUnknown_81B11CB, + gUnknown_81B11DB, gUnknown_81B11E0, gUnknown_81B11E6, gUnknown_81B11EB, gUnknown_81B11F5, gUnknown_81B11FA, + gUnknown_81B120A, gUnknown_81B120F, gUnknown_81B1219, gUnknown_81B1220, gUnknown_81B1227, gUnknown_81B122E, + gUnknown_81B123E, gUnknown_81B1243, gUnknown_81B1249, gUnknown_81B124E, gUnknown_81B1254, gUnknown_81B125A, + gUnknown_81B126A, gUnknown_81B126F, gUnknown_81B1274, gUnknown_81B1279, gUnknown_81B1281, gUnknown_81B1291, + gUnknown_81B1295, gUnknown_81B129A, gUnknown_81B12A4, gUnknown_81B12AC, gUnknown_81B12B4, gUnknown_81B12C4, + gUnknown_81B12CA, gUnknown_81B12CF, gUnknown_81B12D6, gUnknown_81B12DC, gUnknown_81B12E2, gUnknown_81B12E8, + gUnknown_81B12F8, gUnknown_81B1300, gUnknown_81B1308, gUnknown_81B1310, gUnknown_81B1320, gUnknown_81B132C, + gUnknown_81B1335, gUnknown_81B133B, gUnknown_81B1341, gUnknown_81B1351, gUnknown_81B1359, gUnknown_81B135F, + gUnknown_81B1367, gUnknown_81B136E, gUnknown_81B1376, gUnknown_81B137E, gUnknown_81B138E, gUnknown_81B1395, + gUnknown_81B139E, gUnknown_81B13A4, gUnknown_81B13AA, gUnknown_81B13B0, gUnknown_81B13BC, gUnknown_81B13CC, + gUnknown_81B13D6, gUnknown_81B13D9, gUnknown_81B13E4, gUnknown_81B13EC, gUnknown_81B13F2, gUnknown_81B13F8, + gUnknown_81B13FE, gUnknown_81B140A, gUnknown_81B1416, gUnknown_81B141F, gUnknown_81B1423, gUnknown_81B1429, + gUnknown_81B1439, gUnknown_81B1442, gUnknown_81B144C, gUnknown_81B1456, gUnknown_81B145F, gUnknown_81B1463 +}; + extern const struct BgTemplate gUnknown_845FBF4[4]; extern const struct SpriteSheet gUnknown_845FB9C[]; extern const struct SpritePalette gUnknown_845FBDC[]; From 031baf97af3da3a23719a9089dfaa088aa6b66a1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 26 Nov 2018 14:39:26 -0500 Subject: [PATCH 139/222] Decomp sprite sheets and additional graphics --- data/fame_checker.s | 3 -- data/fame_checker/img_845ce00.png | Bin 0 -> 129 bytes data/fame_checker/img_845cf00.png | Bin 0 -> 240 bytes data/fame_checker/img_845d100.png | Bin 0 -> 177 bytes data/fame_checker/img_845d520.png | Bin 0 -> 726 bytes data/fame_checker/pal_45dd20.pal | 19 ------------- data/fame_checker/pal_45e540.pal | 19 ------------- data/fame_checker/pal_45ed60.pal | 19 ------------- data/fame_checker/pal_45f580.pal | 19 ------------- data/fame_checker/pal_845d0e0.pal | 19 +++++++++++++ .../{pal_45f5c0.pal => pal_845d500.pal} | 6 ++-- data/fame_checker/tilemap_845c600.bin | Bin 5920 -> 2048 bytes graphics_file_rules.mk | 4 +++ src/fame_checker.c | 26 ++++++++++++++---- 14 files changed, 47 insertions(+), 87 deletions(-) create mode 100644 data/fame_checker/img_845ce00.png create mode 100644 data/fame_checker/img_845cf00.png create mode 100644 data/fame_checker/img_845d100.png create mode 100644 data/fame_checker/img_845d520.png delete mode 100644 data/fame_checker/pal_45dd20.pal delete mode 100644 data/fame_checker/pal_45e540.pal delete mode 100644 data/fame_checker/pal_45ed60.pal delete mode 100644 data/fame_checker/pal_45f580.pal create mode 100644 data/fame_checker/pal_845d0e0.pal rename data/fame_checker/{pal_45f5c0.pal => pal_845d500.pal} (75%) diff --git a/data/fame_checker.s b/data/fame_checker.s index 206be0d0b..3aaaf84dc 100644 --- a/data/fame_checker.s +++ b/data/fame_checker.s @@ -4,9 +4,6 @@ .section .rodata .align 2 -gUnknown_845FB9C:: @ 845FB9C - .incbin "baserom.gba", 0x45FB9C, 0x40 - gUnknown_845FBDC:: @ 845FBDC .incbin "baserom.gba", 0x45FBDC, 0x18 diff --git a/data/fame_checker/img_845ce00.png b/data/fame_checker/img_845ce00.png new file mode 100644 index 0000000000000000000000000000000000000000..b0a170e09d4ae7ad5de653ce2c067de0bbb47dab GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDGyH<#}J9B$v^m6dA=mnBrq`5 zDKwjka4`KduHj&1u1j%Suwa443`GtW0k;edDP|96$;N=A3mX?L%;4E^vSNt>&yH#V by%r`0q3Ag)bmc9pKxTWo`njxgN@xNAX(%Dw literal 0 HcmV?d00001 diff --git a/data/fame_checker/img_845cf00.png b/data/fame_checker/img_845cf00.png new file mode 100644 index 0000000000000000000000000000000000000000..2d25bb1b30cad602837f6a41ab729f106e59de52 GIT binary patch literal 240 zcmV(ymvv4FO#qiLDj)y= literal 0 HcmV?d00001 diff --git a/data/fame_checker/img_845d520.png b/data/fame_checker/img_845d520.png new file mode 100644 index 0000000000000000000000000000000000000000..4d23c4c873183845efcd4fcea30c9eadbb1013e4 GIT binary patch literal 726 zcmV;{0xA88P)(q*AntL6mAatfamF=7Z+VYVLztT3Tw=&DH<^{{R30i#f-!00001 zbW%=J06^y0W&i*JR7pfZR7i={(=m+FP#6dBCSYJdFC}iq!NO|rz`+f~N~7nc%k>gn zZXqRcaUu62iRoe@3%Gb`9;_HcHxn1b;^5#=j)-S+1Mf%-!wvQwksdX7l4lE}?`vG| zTfbkv@BjK<1>xdVB%8Vw+P@(tQ-u()E{dX*4gq2SQXw0bK$^nft9YF(fz1b39Px+_ zrK$Xge&T}5L>%56X58(4hYuo>pFk>}Zj%Fkj>uTd45d_F>whnBL3AQs{UN0@+SdIY ze#)FECZ*i`RMP-(Hvp=xYdd@(%j?N(X0FR6?HQ+?_^DOX_tJT{{QjEG3z;AaDoW`E zlY6}q_n5Y#j@4P?jBR{i+z3&$cs03mT-!WhybXS-{o15CvFPyzaG`6Y=G2vUl=3(D z;IOsXcwkcc8UVs?TvfUzb;c0zuwN!21bS3n8@I99he52}>tVA&zU4u1evZx2;VN?CCIsNETn+-Uw*jzbx!XX7Sa(mut82EQAxN39T0k2mPcpxxzzIBhy~5&+!dgCmDF!+_AI zbUC4m-yl99zHmc8oY<6l@)8tyATc`GcRXasatU!iln?r&17uWmoezZm7edC!D1#s| zSbSy(DIgH$Rar&ID^(z{tDnir5^zr;M62v+$3xW$G$C4fXa%5*Ab@HCFmwng%C4m{ z#ZVyN*^K?M2L^KiuvVW6tZp-VAanbx@`v~)1o(qkc>kaJ3wJ$B5glSJEdT%j07*qo IM6N<$g0b&RcmMzZ literal 0 HcmV?d00001 diff --git a/data/fame_checker/pal_45dd20.pal b/data/fame_checker/pal_45dd20.pal deleted file mode 100644 index e6dcabf2f..000000000 --- a/data/fame_checker/pal_45dd20.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -115 90 65 -222 164 82 -180 139 65 -148 106 57 -172 164 189 -255 230 131 -230 205 106 -238 131 90 -90 90 106 -213 205 213 -255 255 255 -0 0 0 diff --git a/data/fame_checker/pal_45e540.pal b/data/fame_checker/pal_45e540.pal deleted file mode 100644 index 485e27c48..000000000 --- a/data/fame_checker/pal_45e540.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -230 189 156 -205 156 115 -106 74 57 -180 139 213 -139 98 172 -98 65 106 -213 189 131 -189 164 98 -139 123 74 -180 139 115 -156 106 82 -90 74 49 -255 255 255 -0 0 0 diff --git a/data/fame_checker/pal_45ed60.pal b/data/fame_checker/pal_45ed60.pal deleted file mode 100644 index adf46bf14..000000000 --- a/data/fame_checker/pal_45ed60.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -172 123 98 -213 172 115 -156 123 74 -90 82 65 -205 115 98 -164 213 156 -115 172 106 -90 123 82 -222 230 255 -164 172 197 -255 255 255 -0 0 0 diff --git a/data/fame_checker/pal_45f580.pal b/data/fame_checker/pal_45f580.pal deleted file mode 100644 index eb6f2f18b..000000000 --- a/data/fame_checker/pal_45f580.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 156 164 -205 164 205 -164 123 164 -82 82 57 -213 213 222 -123 123 82 -115 115 115 -197 189 131 -156 156 90 -255 255 255 -0 0 0 diff --git a/data/fame_checker/pal_845d0e0.pal b/data/fame_checker/pal_845d0e0.pal new file mode 100644 index 000000000..dac232f78 --- /dev/null +++ b/data/fame_checker/pal_845d0e0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 106 106 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +139 139 139 +189 189 189 +205 205 205 +238 238 238 +230 230 230 +222 222 222 +180 180 180 +255 255 255 +106 106 106 diff --git a/data/fame_checker/pal_45f5c0.pal b/data/fame_checker/pal_845d500.pal similarity index 75% rename from data/fame_checker/pal_45f5c0.pal rename to data/fame_checker/pal_845d500.pal index 4b0812f09..212d9eb69 100644 --- a/data/fame_checker/pal_45f5c0.pal +++ b/data/fame_checker/pal_845d500.pal @@ -1,6 +1,7 @@ JASC-PAL 0100 16 +246 222 82 0 0 0 0 0 0 0 0 0 @@ -14,6 +15,5 @@ JASC-PAL 0 0 0 0 0 0 0 0 0 -0 0 0 -0 0 0 -0 0 0 +246 148 41 +255 82 0 diff --git a/data/fame_checker/tilemap_845c600.bin b/data/fame_checker/tilemap_845c600.bin index 4272a1b41cce4b7378b75ec3fdeaf268600d4069..8ff09b289b6498b9ba4c36666f9c12b17a4d01b8 100644 GIT binary patch delta 6 NcmZ3W*C4Qf0{{pl0tWy9 literal 5920 zcmeH~Urbw77{EVclf7X2UAOpReBi>HK|9#gsgtf2*w|?2Tvdnz|3L9y0=n9}Zeu0! zr5c$p8ol6rQjwdi#AGjokoCdDm$IQ*gk?R&MeIL4Kee7 z0uSJm=t6f%ah3Hyj7P8;pDyX`#)EhQA2-A-|8abd?8nOZw_q>6i|^rSH1mH2U&Yrp z@b}^S=tsrW|9L!#p0fT=;Ta6zSv+Uz|2lSJS6Tm~cpm%k0tQX}U%(gfrLz7lbUtY@ ztKW;=_y)dQ=KM~Pcj@a7(28x?jvYDKk3#bE_OjO>;7xoB-^O=x(ttwpb1_Qm%=W*d z+c|-q6WBR{yY>VUx(=h7meA4^*P-iH(6m1Z%_>M}^E{z(0r?0Fzj^8ncv!P?PHQuW zvCxIdS5UOx@E7?(?1P%fkzJe3De{YbY_TcO%NTvwG*KKwAq8W*2)2vpE4G`=dr3Df z+<*cDOl6p+USu$BV~kyzXKaF-S%*j&zR4KBC3XVPmkthM!tTpJ%JlAjW7Qagc&FVAT$WG1rEoM%;nFTD= zmC0|Kcf)fnx-Nye3dg3wbIJrQH86chY<3U1u$h5)^av70bn#t|V(-n(%SGPC`7`Hl zUh8Jg->m-Z`HScm9yZS*wCxXc+*8{6Us`NcV7p&}-I8RMrS@Kc%32FZvct@Lcj+Wa zvI!oNe)=^oElx41#wJU$ZB1ITyQD*sTuXJzRz~m|+4^(Ml3SLmJ8Iy2g7X$?4o(>1lH8^C{J` zFS(XfX3w~iv0+!GT-Q@6C%simJzmGMyU{VLJL_jg^$#u%-Ua( z^J#$l1_NAG18htU#KzUY%vCioNj>BAq~L$hJH;CP{xfTugUc}Rr~~Lm+5QIrpN#{2 zt{U{VQSF1Ra9kUNVS0xphSXN3sw2~?sx}asM;&QaN3>>omo>0f$rg9Dyi`{wFV)vQ zYpqXOjrR&s`2SRVKcyBFwf<13e}?n9IA4tOxfs2;#prF)sPh|5vr|Eb30DE!O%qM? z Date: Mon, 26 Nov 2018 15:22:21 -0500 Subject: [PATCH 140/222] First pass disassembly of fame_checker sprite templates --- data/fame_checker.s | 64 +++++++++++++++++++++++++++++++++++---------- src/fame_checker.c | 52 +++++++++++++++++++++++++++++++++--- 2 files changed, 99 insertions(+), 17 deletions(-) diff --git a/data/fame_checker.s b/data/fame_checker.s index 3aaaf84dc..38639c70b 100644 --- a/data/fame_checker.s +++ b/data/fame_checker.s @@ -4,35 +4,71 @@ .section .rodata .align 2 -gUnknown_845FBDC:: @ 845FBDC - .incbin "baserom.gba", 0x45FBDC, 0x18 +gUnknown_845FC2C:: @ 845FC2C + .4byte 0x000f0000, 0x000f0010, 0x0000fffe -gUnknown_845FBF4:: @ 845FBF4 - .incbin "baserom.gba", 0x45FBF4, 0x10 +gUnknown_845FC38:: + .4byte gUnknown_845FC2C -gUnknown_845FC04:: @ 845FC04 - .incbin "baserom.gba", 0x45FC04, 0x40 +gOamData_845FC3C:: + .4byte 0x80000000, 0x00000800 gUnknown_845FC44:: @ 845FC44 - .incbin "baserom.gba", 0x45FC44, 0x34 + spr_template 1000, 1000, gOamData_845FC3C, gUnknown_845FC38, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_845FC5C:: + .4byte 0x00000000, 0x00000000 + +gOamData_845FC64:: + .4byte 0x80008000, 0x00000800 + +gUnknown_845FC6C:: + .4byte 0x000a0000, 0x0000ffff + +gUnknown_845FC74:: + .4byte gUnknown_845FC6C gUnknown_845FC78:: @ 845FC78 - .incbin "baserom.gba", 0x45FC78, 0x40 + spr_template 1001, 0xffff, gOamData_845FC64, gUnknown_845FC74, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_845FC90:: @ 845FC90 + .4byte 0x000a0000, 0x0000ffff + +gUnknown_845FC98:: + .4byte gUnknown_845FC90 + +gOamData_845FC9C:: + .4byte 0x80000100, 0x00000000 + +gUnknown_845FCA4:: + .4byte 0x00000000, 0x00001404, 0x00007ffe, 0x00000000 + +gUnknown_845FCB4:: @ 845FCB4 + .4byte gUnknown_845FCA4 gUnknown_845FCB8:: @ 845FCB8 - .incbin "baserom.gba", 0x45FCB8, 0x2C + spr_template 1002, 1002, gOamData_845FC9C, gUnknown_845FC98, NULL, gUnknown_845FCB4, sub_812D840 + +gUnknown_845FCD0:: @ 845FCD0 + .4byte 0x000f0000, 0x0000ffff + +gUnknown_845FCD8:: + .4byte gUnknown_845FCD0 + +gOamData_845FCDC:: + .4byte 0xc0000000, 0x00000000 gUnknown_845FCE4:: @ 845FCE4 - .incbin "baserom.gba", 0x45FCE4, 0x18 + spr_template 1006, 0xffff, gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_845FCFC:: @ 845FCFC - .incbin "baserom.gba", 0x45FCFC, 0x18 + spr_template 1007, 0xffff, gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_845FD14:: @ 845FD14 - .incbin "baserom.gba", 0x45FD14, 0x18 + spr_template 1008, 0xffff, gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_845FD2C:: @ 845FD2C - .incbin "baserom.gba", 0x45FD2C, 0x18 + spr_template 1009, 0xffff, gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_845FD44:: @ 845FD44 - .incbin "baserom.gba", 0x45FD44, 0x10 + .byte 0x02, 0x28, 0x1a, 0x03, 0x28, 0x64, 0x00, 0x00, 0x00, 0x00, 0xec, 0x03, 0xff, 0xff, 0x01, 0x00 diff --git a/src/fame_checker.c b/src/fame_checker.c index 82cb25812..ac01f172f 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -335,9 +335,55 @@ const struct SpriteSheet gUnknown_845FB9C[] = { {} }; -extern const struct SpritePalette gUnknown_845FBDC[]; -extern const struct BgTemplate gUnknown_845FBF4[4]; -extern const struct WindowTemplate gUnknown_845FC04[]; +const struct SpritePalette gUnknown_845FBDC[] = { + {gUnknown_845D500, SPRITETAG_1000}, + {gUnknown_845D0E0, SPRITETAG_1002}, + {} +}; + +const struct BgTemplate gUnknown_845FBF4[4] = { + { + .bg = 3, + .charBaseIndex = 0x03, + .mapBaseIndex = 0x1e, + .screenSize = 0, + .paletteMode = FALSE, + .priority = 3, + .baseTile = 0x000}, + { + .bg = 2, + .charBaseIndex = 0x03, + .mapBaseIndex = 0x1b, + .screenSize = 0, + .paletteMode = FALSE, + .priority = 2, + .baseTile = 0x000}, + { + .bg = 1, + .charBaseIndex = 0x03, + .mapBaseIndex = 0x1c, + .screenSize = 1, + .paletteMode = FALSE, + .priority = 0, + .baseTile = 0x000}, + { + .bg = 0, + .charBaseIndex = 0x00, + .mapBaseIndex = 0x1f, + .screenSize = 0, + .paletteMode = FALSE, + .priority = 2, + .baseTile = 0x000}, +}; + +const struct WindowTemplate gUnknown_845FC04[] = { + {0x00, 0x01, 0x03, 0x08, 0x0a, 0x0f, 0x0014}, + {0x00, 0x06, 0x00, 0x18, 0x02, 0x0f, 0x0064}, + {0x00, 0x02, 0x0f, 0x1a, 0x04, 0x0f, 0x0094}, + {0x00, 0x0f, 0x0a, 0x0b, 0x04, 0x0f, 0x00fc}, + DUMMY_WIN_TEMPLATE +}; + extern const struct SpriteTemplate gUnknown_845FC44; extern const struct SpriteTemplate gUnknown_845FC78; extern const struct SpriteTemplate gUnknown_845FCB8; From e88def5ab1f84d5aad5485d47975ea0d01e878c5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 26 Nov 2018 15:39:30 -0500 Subject: [PATCH 141/222] Decompile remaining sprite templates --- data/fame_checker.s | 66 ---------------------------- src/fame_checker.c | 104 +++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 97 insertions(+), 73 deletions(-) diff --git a/data/fame_checker.s b/data/fame_checker.s index 38639c70b..7e2ff471e 100644 --- a/data/fame_checker.s +++ b/data/fame_checker.s @@ -4,71 +4,5 @@ .section .rodata .align 2 -gUnknown_845FC2C:: @ 845FC2C - .4byte 0x000f0000, 0x000f0010, 0x0000fffe - -gUnknown_845FC38:: - .4byte gUnknown_845FC2C - -gOamData_845FC3C:: - .4byte 0x80000000, 0x00000800 - -gUnknown_845FC44:: @ 845FC44 - spr_template 1000, 1000, gOamData_845FC3C, gUnknown_845FC38, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_845FC5C:: - .4byte 0x00000000, 0x00000000 - -gOamData_845FC64:: - .4byte 0x80008000, 0x00000800 - -gUnknown_845FC6C:: - .4byte 0x000a0000, 0x0000ffff - -gUnknown_845FC74:: - .4byte gUnknown_845FC6C - -gUnknown_845FC78:: @ 845FC78 - spr_template 1001, 0xffff, gOamData_845FC64, gUnknown_845FC74, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_845FC90:: @ 845FC90 - .4byte 0x000a0000, 0x0000ffff - -gUnknown_845FC98:: - .4byte gUnknown_845FC90 - -gOamData_845FC9C:: - .4byte 0x80000100, 0x00000000 - -gUnknown_845FCA4:: - .4byte 0x00000000, 0x00001404, 0x00007ffe, 0x00000000 - -gUnknown_845FCB4:: @ 845FCB4 - .4byte gUnknown_845FCA4 - -gUnknown_845FCB8:: @ 845FCB8 - spr_template 1002, 1002, gOamData_845FC9C, gUnknown_845FC98, NULL, gUnknown_845FCB4, sub_812D840 - -gUnknown_845FCD0:: @ 845FCD0 - .4byte 0x000f0000, 0x0000ffff - -gUnknown_845FCD8:: - .4byte gUnknown_845FCD0 - -gOamData_845FCDC:: - .4byte 0xc0000000, 0x00000000 - -gUnknown_845FCE4:: @ 845FCE4 - spr_template 1006, 0xffff, gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_845FCFC:: @ 845FCFC - spr_template 1007, 0xffff, gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_845FD14:: @ 845FD14 - spr_template 1008, 0xffff, gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_845FD2C:: @ 845FD2C - spr_template 1009, 0xffff, gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - gUnknown_845FD44:: @ 845FD44 .byte 0x02, 0x28, 0x1a, 0x03, 0x28, 0x64, 0x00, 0x00, 0x00, 0x00, 0xec, 0x03, 0xff, 0xff, 0x01, 0x00 diff --git a/src/fame_checker.c b/src/fame_checker.c index ac01f172f..0efd60057 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -104,6 +104,7 @@ void sub_812D9A8(u8 a0, u16 a1); void sub_812DA14(u8 a0); void sub_812DB10(void); void sub_812DB28(void); +void sub_812D840(struct Sprite * sprite); void sub_812DB64(void); void sub_812DBC0(s32, bool8, struct ListMenu *); void sub_812DD50(u8 taskId); @@ -384,13 +385,102 @@ const struct WindowTemplate gUnknown_845FC04[] = { DUMMY_WIN_TEMPLATE }; -extern const struct SpriteTemplate gUnknown_845FC44; -extern const struct SpriteTemplate gUnknown_845FC78; -extern const struct SpriteTemplate gUnknown_845FCB8; -extern const struct SpriteTemplate gUnknown_845FCE4; -extern const struct SpriteTemplate gUnknown_845FCFC; -extern const struct SpriteTemplate gUnknown_845FD14; -extern const struct SpriteTemplate gUnknown_845FD2C; +const union AnimCmd gUnknown_845FC2C[] = { + ANIMCMD_FRAME( 0, 15), + ANIMCMD_FRAME(16, 15), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd *const gUnknown_845FC38[] = { + gUnknown_845FC2C +}; + +const struct OamData gOamData_845FC3C = { + .size = 2, + .priority = 2 +}; + +const struct SpriteTemplate gUnknown_845FC44 = { + SPRITETAG_1000, SPRITETAG_1000, &gOamData_845FC3C, gUnknown_845FC38, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const u8 filler_845FC5C[8] = {}; + +const struct OamData gOamData_845FC64 = { + .shape = ST_OAM_V_RECTANGLE, + .size = 2, + .priority = 2 +}; + +const union AnimCmd gUnknown_845FC6C[] = { + ANIMCMD_FRAME( 0, 10), + ANIMCMD_END +}; + +const union AnimCmd *const gUnknown_845FC74[] = { + gUnknown_845FC6C +}; + +const struct SpriteTemplate gUnknown_845FC78 = { + SPRITETAG_1001, 0xffff, &gOamData_845FC64, gUnknown_845FC74, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const union AnimCmd gUnknown_845FC90[] = { + ANIMCMD_FRAME( 0, 10), + ANIMCMD_END +}; + +const union AnimCmd *const gUnknown_845FC98[] = { + gUnknown_845FC90 +}; + +const struct OamData gOamData_845FC9C = { + .affineMode = ST_OAM_AFFINE_NORMAL, + .size = 2 +}; + +const union AffineAnimCmd gUnknown_845FCA4[] = { + AFFINEANIMCMD_FRAME(0, 0, 4, 20), + AFFINEANIMCMD_JUMP(0) +}; + +const union AffineAnimCmd *const gUnknown_845FCB4[] = { + gUnknown_845FCA4 +}; + +const struct SpriteTemplate gUnknown_845FCB8 = { + SPRITETAG_1002, SPRITETAG_1002, &gOamData_845FC9C, gUnknown_845FC98, NULL, gUnknown_845FCB4, sub_812D840 +}; + +const union AnimCmd gUnknown_845FCD0[] = { + ANIMCMD_FRAME( 0, 15), + ANIMCMD_END +}; + +const union AnimCmd *const gUnknown_845FCD8[] = { + gUnknown_845FCD0 +}; + +const struct OamData gOamData_845FCDC = { + .size = 3 +}; + +const struct SpriteTemplate gUnknown_845FCE4 = { + SPRITETAG_1006, 0xffff, &gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gUnknown_845FCFC = { + SPRITETAG_1007, 0xffff, &gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gUnknown_845FD14 = { + SPRITETAG_1008, 0xffff, &gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gUnknown_845FD2C = { + SPRITETAG_1009, 0xffff, &gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + extern const struct ScrollIndicatorArrowPairTemplate gUnknown_845FD44; void sub_812C380(void) From a2b7b3ebf2f5460c4f5ab076e5dcb06935f61d25 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 26 Nov 2018 15:47:50 -0500 Subject: [PATCH 142/222] Finish data decomp --- data/fame_checker.s | 8 -------- include/menu_indicators.h | 12 ++++++++++-- ld_script.txt | 1 - src/fame_checker.c | 18 +++++++++++++++--- 4 files changed, 25 insertions(+), 14 deletions(-) delete mode 100644 data/fame_checker.s diff --git a/data/fame_checker.s b/data/fame_checker.s deleted file mode 100644 index 7e2ff471e..000000000 --- a/data/fame_checker.s +++ /dev/null @@ -1,8 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_845FD44:: @ 845FD44 - .byte 0x02, 0x28, 0x1a, 0x03, 0x28, 0x64, 0x00, 0x00, 0x00, 0x00, 0xec, 0x03, 0xff, 0xff, 0x01, 0x00 diff --git a/include/menu_indicators.h b/include/menu_indicators.h index f88fd5549..f195ceb6d 100644 --- a/include/menu_indicators.h +++ b/include/menu_indicators.h @@ -9,10 +9,18 @@ struct ScrollIndicatorArrowPairTemplate { - u8 filler_00[6]; + u8 unk_00; + u8 unk_01; + u8 unk_02; + u8 unk_03; + u8 unk_04; + u8 unk_05; u16 unk_06; u16 unk_08; - u8 filler_0a[6]; + u16 unk_0a; + u16 unk_0c; + u16 unk_0e_0:4; + u16 unk_0e_4:12; }; // Exported ROM declarations diff --git a/ld_script.txt b/ld_script.txt index bbebf21b1..2a42825c9 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -377,7 +377,6 @@ SECTIONS { src/quest_log.o(.rodata); data/data_83FECCC.o(.rodata.8456C74); src/fame_checker.o(.rodata); - data/fame_checker.o(.rodata); data/data_845FD54.o(.rodata); src/menews_jisan.o(.rodata); src/menews_jisan.o(.rodata.str1.4); diff --git a/src/fame_checker.c b/src/fame_checker.c index 0efd60057..dfece6720 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -481,8 +481,6 @@ const struct SpriteTemplate gUnknown_845FD2C = { SPRITETAG_1009, 0xffff, &gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -extern const struct ScrollIndicatorArrowPairTemplate gUnknown_845FD44; - void sub_812C380(void) { LoadOam(); @@ -1458,7 +1456,21 @@ void sub_812DFE4(u8 windowId) void sub_812E000(void) { - struct ScrollIndicatorArrowPairTemplate sp0 = gUnknown_845FD44; + struct ScrollIndicatorArrowPairTemplate sp0 = { + 2, + 40, + 26, + 3, + 40, + 100, + 0, + 0, + 1004, + 0xFFFF, + 1, + 0 + }; + if (gUnknown_203B0FC->unk_07_2 > 5) { sp0.unk_06 = 0; From 9750849c69899b0faaa156f397ff63dd086ab40c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 26 Nov 2018 16:47:19 -0500 Subject: [PATCH 143/222] Genericize PRESSED macro --- include/global.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/global.h b/include/global.h index 9fb7703cd..2b9b00d5c 100644 --- a/include/global.h +++ b/include/global.h @@ -67,7 +67,9 @@ // We suspect it was used globally. // GameFreak never ceases to amaze. // TODO: Propagate use of this macro -#define PRESSED(button) ({gMain.newKeys & (button);}) +#define TEST_BUTTON(field, button) ({(field) & (button);}) +#define PRESSED(button) TEST_BUTTON(gMain.newKeys, button) +#define PUSHED(button) TEST_BUTTON(gMain.heldKeys, button) extern u8 gStringVar1[]; extern u8 gStringVar2[]; From 69106536eb68653a47f31c7bd9f8755087ce7b43 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 26 Nov 2018 18:12:17 -0500 Subject: [PATCH 144/222] Start documenting stuff; make objects static where possible --- asm/item_use.s | 4 +- asm/new_game.s | 2 +- include/fame_checker.h | 9 + src/fame_checker.c | 426 ++++++++++++++++++++--------------------- 4 files changed, 225 insertions(+), 216 deletions(-) create mode 100644 include/fame_checker.h diff --git a/asm/item_use.s b/asm/item_use.s index a7f7b1b7c..49d517eb5 100644 --- a/asm/item_use.s +++ b/asm/item_use.s @@ -1731,7 +1731,7 @@ _080A1D54: .4byte sub_80A1D68 sub_80A1D58: @ 80A1D58 push {lr} ldr r0, _080A1D64 @ =sub_8107EB8 - bl sub_812C3AC + bl UseFameChecker pop {r0} bx r0 .align 2, 0 @@ -1752,7 +1752,7 @@ sub_80A1D68: @ 80A1D68 bl sub_80563F0 bl sub_80A1184 ldr r0, _080A1D98 @ =c2_exit_to_overworld_2_switch - bl sub_812C3AC + bl UseFameChecker adds r0, r4, 0 bl DestroyTask _080A1D8E: diff --git a/asm/new_game.s b/asm/new_game.s index 80affe1cb..cec2b2c9a 100644 --- a/asm/new_game.s +++ b/asm/new_game.s @@ -241,7 +241,7 @@ sub_8054A60: @ 8054A60 bl PlayTimeCounter_Reset bl sub_80549AC bl sub_806E0D0 - bl sub_812D304 + bl ResetFameChecker ldr r0, [r6] movs r1, 0xA4 lsls r1, 2 diff --git a/include/fame_checker.h b/include/fame_checker.h new file mode 100644 index 000000000..7e95a7224 --- /dev/null +++ b/include/fame_checker.h @@ -0,0 +1,9 @@ +#ifndef GUARD_FAME_CHECKER_H +#define GUARD_FAME_CHECKER_H + +#include "main.h" + +void ResetFameChecker(void); +void UseFameChecker(MainCallback savedCallback); + +#endif //GUARD_FAME_CHECKER_H diff --git a/src/fame_checker.c b/src/fame_checker.c index dfece6720..b2fe20c9b 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -36,18 +36,18 @@ struct FameCheckerData { - MainCallback unk_00; + MainCallback savedCallback; u16 unk_04; u8 unk_06; u8 unk_07_0:1; u8 unk_07_1:1; u8 unk_07_2:6; - u8 unk_08; + u8 scrollIndicatorArrowObjectTaskId; u8 unk_09; u8 unk_0A; u8 unk_0B; - u8 unk_0C[17]; - u8 unk_1D[6]; + u8 unlockedPersons[17]; + u8 spriteIds[6]; u8 unk_23_0:1; u8 unk_23_1:1; u8 unk_23_2:1; @@ -63,62 +63,62 @@ EWRAM_DATA s32 gUnknown_203B104 = 0; struct ListMenuTemplate gUnknown_3005EB0; u8 gUnknown_3005EC8; -void sub_812C3F8(void); -void sub_812C648(void); -void sub_812C664(u8 taskId); -void sub_812C694(u8 taskId); -bool8 sub_812C8F8(u8 taskId); -void sub_812C990(void); -void sub_812C9BC(u8 taskId); -void sub_812CA1C(u8 taskId); -void sub_812CAD8(u8 taskId); -void sub_812CC68(u8 taskId, s8 dx, s8 dy); -void sub_812CD3C(void); -void sub_812CE04(u8 taskId); -void sub_812CE9C(void); -void sub_812CEC0(void); -void sub_812CEE0(u8 windowId); -bool8 sub_812CEFC(u8 taskId, u8 objMode); -void sub_812CF3C(u8 taskId); -void sub_812CF7C(u8 taskId); -void sub_812D094(u8 windowId); -void sub_812D0F4(u8 a0); -bool8 sub_812D1A8(u8 a0); -void sub_812D420(void); -void sub_812D558(void); -void sub_812D584(void); -void sub_812D594(void); -void sub_812D650(void); -bool8 sub_812D6B4(void); -void sub_812D70C(void); -u8 sub_812D724(s16 a0); -void sub_812D764(struct Sprite *sprite); -void sub_812D770(void); -u8 sub_812D780(u8, u8); -void sub_812D7C8(void); -u8 sub_812D7E4(void); -void sub_812D800(struct Sprite *sprite); -void sub_812D814(void); -u8 sub_812D888(u8 a0); -void sub_812D9A8(u8 a0, u16 a1); -void sub_812DA14(u8 a0); -void sub_812DB10(void); -void sub_812DB28(void); -void sub_812D840(struct Sprite * sprite); -void sub_812DB64(void); -void sub_812DBC0(s32, bool8, struct ListMenu *); -void sub_812DD50(u8 taskId); -void sub_812DDAC(void); -void sub_812DDF0(s32 itemIndex, bool8 onInit); -u8 sub_812DEF0(void); -void sub_812DFE4(u8); -void sub_812E000(void); -void sub_812E048(void); -u16 sub_812E064(void); -void sub_812E094(u8); -void sub_812E110(u8 taskId); -void sub_812E178(u8 a0, s16 a1); -void sub_812E4A4(u8 a0); +static void sub_812C3F8(void); +static void sub_812C648(void); +static void sub_812C664(u8 taskId); +static void sub_812C694(u8 taskId); +static bool8 sub_812C8F8(u8 taskId); +static void sub_812C990(void); +static void sub_812C9BC(u8 taskId); +static void sub_812CA1C(u8 taskId); +static void sub_812CAD8(u8 taskId); +static void sub_812CC68(u8 taskId, s8 dx, s8 dy); +static void sub_812CD3C(void); +static void sub_812CE04(u8 taskId); +static void sub_812CE9C(void); +static void sub_812CEC0(void); +static void sub_812CEE0(u8 windowId); +static bool8 sub_812CEFC(u8 taskId, u8 objMode); +static void sub_812CF3C(u8 taskId); +static void sub_812CF7C(u8 taskId); +static void sub_812D094(u8 windowId); +static void sub_812D0F4(u8 a0); +static bool8 sub_812D1A8(u8 a0); +static void sub_812D420(void); +static void sub_812D558(void); +static void sub_812D584(void); +static void sub_812D594(void); +static void sub_812D650(void); +static bool8 sub_812D6B4(void); +static void sub_812D70C(void); +static u8 sub_812D724(s16 a0); +static void sub_812D764(struct Sprite *sprite); +static void sub_812D770(void); +static u8 sub_812D780(u8, u8); +static void sub_812D7C8(void); +static u8 sub_812D7E4(void); +static void sub_812D800(struct Sprite *sprite); +static void sub_812D814(void); +static u8 sub_812D888(u8 a0); +static void sub_812D9A8(u8 a0, u16 a1); +static void sub_812DA14(u8 a0); +static void sub_812DB10(void); +static void sub_812DB28(void); +static void sub_812D840(struct Sprite * sprite); +static void sub_812DB64(void); +static void sub_812DBC0(s32, bool8, struct ListMenu *); +static void sub_812DD50(u8 taskId); +static void sub_812DDAC(void); +static void sub_812DDF0(s32 itemIndex, bool8 onInit); +static u8 sub_812DEF0(void); +static void sub_812DFE4(u8); +static void sub_812E000(void); +static void sub_812E048(void); +static u16 sub_812E064(void); +static void sub_812E094(u8); +static void sub_812E110(u8 taskId); +static void sub_812E178(u8 a0, s16 a1); +static void sub_812E4A4(u8 a0); extern const u8 gUnknown_84161C1[]; extern const u8 gUnknown_841623B[]; @@ -132,28 +132,28 @@ extern const u8 gUnknown_841E5ED[]; extern const u8 gUnknown_841E5F3[]; extern const u8 gUnknown_841E5F8[]; -const u16 gUnknown_845C600[] = INCBIN_U16("data/fame_checker/tilemap_845c600.bin"); -const u8 gUnknown_845CE00[] = INCBIN_U8("data/fame_checker/img_845ce00.4bpp"); -const u8 gUnknown_845CF00[] = INCBIN_U8("data/fame_checker/img_845cf00.4bpp"); -const u16 gUnknown_845D0E0[] = INCBIN_U16("data/fame_checker/pal_845d0e0.gbapal"); -const u8 gUnknown_845D100[] = INCBIN_U8("data/fame_checker/img_845d100.4bpp"); -const u16 gUnknown_845D500[] = INCBIN_U16("data/fame_checker/pal_845d500.gbapal"); -const u8 gUnknown_845D520[] = INCBIN_U8("data/fame_checker/img_845d520.4bpp"); -const u16 gUnknown_845DD20[] = INCBIN_U16("data/fame_checker/pal_845dd20.gbapal"); -const u8 gUnknown_845DD40[] = INCBIN_U8("data/fame_checker/img_845dd40.4bpp"); -const u16 gUnknown_845E540[] = INCBIN_U16("data/fame_checker/pal_845e540.gbapal"); -const u8 gUnknown_845E560[] = INCBIN_U8("data/fame_checker/img_845e560.4bpp"); -const u16 gUnknown_845ED60[] = INCBIN_U16("data/fame_checker/pal_845ed60.gbapal"); -const u8 gUnknown_845ED80[] = INCBIN_U8("data/fame_checker/img_845ed80.4bpp"); -const u16 gUnknown_845F580[] = INCBIN_U16("data/fame_checker/pal_845f580.gbapal"); -const u16 gUnknown_845F5A0[] = INCBIN_U16("data/fame_checker/pal_845f5a0.gbapal"); -const u16 gUnknown_845F5C0[] = INCBIN_U16("data/fame_checker/pal_845f5c0.gbapal"); +static const u16 gUnknown_845C600[] = INCBIN_U16("data/fame_checker/tilemap_845c600.bin"); +static const u8 gUnknown_845CE00[] = INCBIN_U8("data/fame_checker/img_845ce00.4bpp"); +static const u8 gUnknown_845CF00[] = INCBIN_U8("data/fame_checker/img_845cf00.4bpp"); +static const u16 gUnknown_845D0E0[] = INCBIN_U16("data/fame_checker/pal_845d0e0.gbapal"); +static const u8 gUnknown_845D100[] = INCBIN_U8("data/fame_checker/img_845d100.4bpp"); +static const u16 gUnknown_845D500[] = INCBIN_U16("data/fame_checker/pal_845d500.gbapal"); +static const u8 gUnknown_845D520[] = INCBIN_U8("data/fame_checker/img_845d520.4bpp"); +static const u16 gUnknown_845DD20[] = INCBIN_U16("data/fame_checker/pal_845dd20.gbapal"); +static const u8 gUnknown_845DD40[] = INCBIN_U8("data/fame_checker/img_845dd40.4bpp"); +static const u16 gUnknown_845E540[] = INCBIN_U16("data/fame_checker/pal_845e540.gbapal"); +static const u8 gUnknown_845E560[] = INCBIN_U8("data/fame_checker/img_845e560.4bpp"); +static const u16 gUnknown_845ED60[] = INCBIN_U16("data/fame_checker/pal_845ed60.gbapal"); +static const u8 gUnknown_845ED80[] = INCBIN_U8("data/fame_checker/img_845ed80.4bpp"); +static const u16 gUnknown_845F580[] = INCBIN_U16("data/fame_checker/pal_845f580.gbapal"); +static const u16 gUnknown_845F5A0[] = INCBIN_U16("data/fame_checker/pal_845f5a0.gbapal"); +static const u16 gUnknown_845F5C0[] = INCBIN_U16("data/fame_checker/pal_845f5c0.gbapal"); -const struct TextColor gUnknown_845F5E0 = {0x00, 0x01, 0x02}; -const struct TextColor gUnknown_845F5E3 = {0x00, 0x02, 0x03}; -const struct TextColor gUnknown_845F5E6 = {0x00, 0x06, 0x07}; +static const struct TextColor gUnknown_845F5E0 = {0x00, 0x01, 0x02}; +static const struct TextColor gUnknown_845F5E3 = {0x00, 0x02, 0x03}; +static const struct TextColor gUnknown_845F5E6 = {0x00, 0x06, 0x07}; -const u16 gUnknown_845F5EA[] = { +static const u16 gUnknown_845F5EA[] = { 0xfe00, 0xfe01, 0x019e, @@ -172,14 +172,14 @@ const u16 gUnknown_845F5EA[] = { 0x015c }; -const u8 *const gUnknown_845F60C[] = { +static const u8 *const gUnknown_845F60C[] = { gUnknown_841E5E9, gUnknown_841E5ED, gUnknown_841E5F3, gUnknown_841E5F8 }; -const u8 gUnknown_845F61C[] = { +static const u8 gUnknown_845F61C[] = { 0x56, 0x54, 0x74, @@ -214,7 +214,7 @@ const u8 gUnknown_845F61C[] = { 0x00 }; -const u8 *const gUnknown_845F63C[] = { +static const u8 *const gUnknown_845F63C[] = { gUnknown_81B0188, gUnknown_81B0251, gUnknown_81B030F, @@ -249,7 +249,7 @@ const u8 *const gUnknown_845F63C[] = { gUnknown_81B0BB5 }; -const u8 *const gUnknown_845F6BC[] = { +static const u8 *const gUnknown_845F6BC[] = { gUnknown_81AD106, gUnknown_81AD145, gUnknown_81AD1BB, gUnknown_81AD258, gUnknown_81AD2B9, gUnknown_81AD377, gUnknown_81AD40C, gUnknown_81AD4AE, gUnknown_81AD516, gUnknown_81AD5A7, gUnknown_81AD608, gUnknown_81AD69F, gUnknown_81AD705, gUnknown_81AD771, gUnknown_81AD840, gUnknown_81AD908, gUnknown_81AD99A, gUnknown_81ADA27, @@ -268,7 +268,7 @@ const u8 *const gUnknown_845F6BC[] = { gUnknown_81AFE68, gUnknown_81AFF23, gUnknown_81AFFA8, gUnknown_81B0022, gUnknown_81B00A6, gUnknown_81B0106 }; -const u8 gUnknown_845F83C[] = { +static const u8 gUnknown_845F83C[] = { 0x67, 0x47, 0x30, 0x69, 0x4b, 0x37, 0x37, 0x30, 0x3d, 0x69, 0x23, 0x69, 0x66, 0x50, 0x1b, 0x13, 0x1e, 0x69, @@ -287,7 +287,7 @@ const u8 gUnknown_845F83C[] = { 0x57, 0x37, 0x37, 0x57, 0x5b, 0x37 }; -const u8 *const gUnknown_845F89C[] = { +static const u8 *const gUnknown_845F89C[] = { gUnknown_81B0C45, gUnknown_81B0C51, gUnknown_81B0C5E, gUnknown_81B0C6B, gUnknown_81B0C79, gUnknown_81B0C88, gUnknown_81B0C95, gUnknown_81B0CA2, gUnknown_81B0CB1, gUnknown_81B0CC1, gUnknown_81B0CCF, gUnknown_81B0CDF, gUnknown_81B0CEB, gUnknown_81B0CF7, gUnknown_81B0D02, gUnknown_81B0D0E, gUnknown_81B0D16, gUnknown_81B0D1F, @@ -306,7 +306,7 @@ const u8 *const gUnknown_845F89C[] = { gUnknown_81B10F8, gUnknown_81B1107, gUnknown_81B1111, gUnknown_81B111B, gUnknown_81B1128, gUnknown_81B1135 }; -const u8 *const gUnknown_845FA1C[] = { +static const u8 *const gUnknown_845FA1C[] = { gUnknown_81B1146, gUnknown_81B114B, gUnknown_81B1155, gUnknown_81B115A, gUnknown_81B116A, gUnknown_81B1171, gUnknown_81B1176, gUnknown_81B117B, gUnknown_81B1181, gUnknown_81B1185, gUnknown_81B1195, gUnknown_81B119E, gUnknown_81B11AE, gUnknown_81B11B3, gUnknown_81B11B9, gUnknown_81B11C3, gUnknown_81B11C7, gUnknown_81B11CB, @@ -325,7 +325,7 @@ const u8 *const gUnknown_845FA1C[] = { gUnknown_81B1439, gUnknown_81B1442, gUnknown_81B144C, gUnknown_81B1456, gUnknown_81B145F, gUnknown_81B1463 }; -const struct SpriteSheet gUnknown_845FB9C[] = { +static const struct SpriteSheet gUnknown_845FB9C[] = { {gUnknown_845D100, 0x400, SPRITETAG_1000}, {gUnknown_845CE00, 0x100, SPRITETAG_1001}, {gUnknown_845CF00, 0x1e0, SPRITETAG_1002}, @@ -336,13 +336,13 @@ const struct SpriteSheet gUnknown_845FB9C[] = { {} }; -const struct SpritePalette gUnknown_845FBDC[] = { +static const struct SpritePalette gUnknown_845FBDC[] = { {gUnknown_845D500, SPRITETAG_1000}, {gUnknown_845D0E0, SPRITETAG_1002}, {} }; -const struct BgTemplate gUnknown_845FBF4[4] = { +static const struct BgTemplate gUnknown_845FBF4[4] = { { .bg = 3, .charBaseIndex = 0x03, @@ -377,7 +377,7 @@ const struct BgTemplate gUnknown_845FBF4[4] = { .baseTile = 0x000}, }; -const struct WindowTemplate gUnknown_845FC04[] = { +static const struct WindowTemplate gUnknown_845FC04[] = { {0x00, 0x01, 0x03, 0x08, 0x0a, 0x0f, 0x0014}, {0x00, 0x06, 0x00, 0x18, 0x02, 0x0f, 0x0064}, {0x00, 0x02, 0x0f, 0x1a, 0x04, 0x0f, 0x0094}, @@ -385,110 +385,110 @@ const struct WindowTemplate gUnknown_845FC04[] = { DUMMY_WIN_TEMPLATE }; -const union AnimCmd gUnknown_845FC2C[] = { +static const union AnimCmd gUnknown_845FC2C[] = { ANIMCMD_FRAME( 0, 15), ANIMCMD_FRAME(16, 15), ANIMCMD_JUMP(0) }; -const union AnimCmd *const gUnknown_845FC38[] = { +static const union AnimCmd *const gUnknown_845FC38[] = { gUnknown_845FC2C }; -const struct OamData gOamData_845FC3C = { +static const struct OamData gOamData_845FC3C = { .size = 2, .priority = 2 }; -const struct SpriteTemplate gUnknown_845FC44 = { +static const struct SpriteTemplate gUnknown_845FC44 = { SPRITETAG_1000, SPRITETAG_1000, &gOamData_845FC3C, gUnknown_845FC38, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const u8 filler_845FC5C[8] = {}; +static const u8 filler_845FC5C[8] = {}; -const struct OamData gOamData_845FC64 = { +static const struct OamData gOamData_845FC64 = { .shape = ST_OAM_V_RECTANGLE, .size = 2, .priority = 2 }; -const union AnimCmd gUnknown_845FC6C[] = { +static const union AnimCmd gUnknown_845FC6C[] = { ANIMCMD_FRAME( 0, 10), ANIMCMD_END }; -const union AnimCmd *const gUnknown_845FC74[] = { +static const union AnimCmd *const gUnknown_845FC74[] = { gUnknown_845FC6C }; -const struct SpriteTemplate gUnknown_845FC78 = { +static const struct SpriteTemplate gUnknown_845FC78 = { SPRITETAG_1001, 0xffff, &gOamData_845FC64, gUnknown_845FC74, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const union AnimCmd gUnknown_845FC90[] = { +static const union AnimCmd gUnknown_845FC90[] = { ANIMCMD_FRAME( 0, 10), ANIMCMD_END }; -const union AnimCmd *const gUnknown_845FC98[] = { +static const union AnimCmd *const gUnknown_845FC98[] = { gUnknown_845FC90 }; -const struct OamData gOamData_845FC9C = { +static const struct OamData gOamData_845FC9C = { .affineMode = ST_OAM_AFFINE_NORMAL, .size = 2 }; -const union AffineAnimCmd gUnknown_845FCA4[] = { +static const union AffineAnimCmd gUnknown_845FCA4[] = { AFFINEANIMCMD_FRAME(0, 0, 4, 20), AFFINEANIMCMD_JUMP(0) }; -const union AffineAnimCmd *const gUnknown_845FCB4[] = { +static const union AffineAnimCmd *const gUnknown_845FCB4[] = { gUnknown_845FCA4 }; -const struct SpriteTemplate gUnknown_845FCB8 = { +static const struct SpriteTemplate gUnknown_845FCB8 = { SPRITETAG_1002, SPRITETAG_1002, &gOamData_845FC9C, gUnknown_845FC98, NULL, gUnknown_845FCB4, sub_812D840 }; -const union AnimCmd gUnknown_845FCD0[] = { +static const union AnimCmd gUnknown_845FCD0[] = { ANIMCMD_FRAME( 0, 15), ANIMCMD_END }; -const union AnimCmd *const gUnknown_845FCD8[] = { +static const union AnimCmd *const gUnknown_845FCD8[] = { gUnknown_845FCD0 }; -const struct OamData gOamData_845FCDC = { +static const struct OamData gOamData_845FCDC = { .size = 3 }; -const struct SpriteTemplate gUnknown_845FCE4 = { +static const struct SpriteTemplate gUnknown_845FCE4 = { SPRITETAG_1006, 0xffff, &gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate gUnknown_845FCFC = { +static const struct SpriteTemplate gUnknown_845FCFC = { SPRITETAG_1007, 0xffff, &gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate gUnknown_845FD14 = { +static const struct SpriteTemplate gUnknown_845FD14 = { SPRITETAG_1008, 0xffff, &gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate gUnknown_845FD2C = { +static const struct SpriteTemplate gUnknown_845FD2C = { SPRITETAG_1009, 0xffff, &gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -void sub_812C380(void) +static void sub_812C380(void) { LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); } -void sub_812C394(void) +static void sub_812C394(void) { RunTasks(); AnimateSprites(); @@ -496,11 +496,11 @@ void sub_812C394(void) UpdatePaletteFade(); } -void sub_812C3AC(void (*a0)(void)) +void UseFameChecker(MainCallback savedCallback) { SetVBlankCallback(NULL); gUnknown_203B0FC = AllocZeroed(sizeof(struct FameCheckerData)); - gUnknown_203B0FC->unk_00 = a0; + gUnknown_203B0FC->savedCallback = savedCallback; gUnknown_203B0FC->unk_09 = 0; gUnknown_203B0FC->unk_0A = 0; gUnknown_203B0FC->unk_0B = 0; @@ -509,7 +509,7 @@ void sub_812C3AC(void (*a0)(void)) SetMainCallback2(sub_812C3F8); } -void sub_812C3F8(void) +static void sub_812C3F8(void) { switch (gMain.state) { @@ -588,19 +588,19 @@ void sub_812C3F8(void) } } -void sub_812C648(void) +static void sub_812C648(void) { LoadSpriteSheets(gUnknown_845FB9C); LoadSpritePalettes(gUnknown_845FBDC); } -void sub_812C664(u8 taskId) +static void sub_812C664(u8 taskId) { if (!gPaletteFade.active) gTasks[taskId].func = sub_812C694; } -void sub_812C694(u8 taskId) +static void sub_812C694(u8 taskId) { u16 r4; u8 r4_2; @@ -609,7 +609,7 @@ void sub_812C694(u8 taskId) if (FindTaskIdByFunc(sub_812E110) == 0xFF) { RunTextPrinters(); - if ((PRESSED(SELECT_BUTTON)) && !gUnknown_203B0FC->unk_07_1 && gUnknown_203B0FC->unk_00 != sub_8107EB8) + if ((PRESSED(SELECT_BUTTON)) && !gUnknown_203B0FC->unk_07_1 && gUnknown_203B0FC->savedCallback != sub_8107EB8) task->func = sub_812CF3C; else if (PRESSED(START_BUTTON)) { @@ -626,7 +626,7 @@ void sub_812C694(u8 taskId) sub_812E178(2, 4); sub_812E178(1, 5); sub_812D0F4(1); - task->data[2] = sub_812D888(gUnknown_203B0FC->unk_0C[r4]); + task->data[2] = sub_812D888(gUnknown_203B0FC->unlockedPersons[r4]); gSprites[task->data[2]].pos2.x = 0xF0; gSprites[task->data[2]].data[0] = 1; task->data[3] = sub_812D7E4(); @@ -652,12 +652,12 @@ void sub_812C694(u8 taskId) for (r4_2 = 0; r4_2 < 6; r4_2++) { if (r4_2 != task->data[1]) - sub_812CEFC(gUnknown_203B0FC->unk_1D[r4_2], ST_OAM_OBJ_BLEND); + sub_812CEFC(gUnknown_203B0FC->spriteIds[r4_2], ST_OAM_OBJ_BLEND); } gUnknown_3005EC8 = 0xFF; sub_812E4A4(0); sub_812D0F4(2); - if (gSprites[gUnknown_203B0FC->unk_1D[task->data[1]]].data[1] != 0xFF) + if (gSprites[gUnknown_203B0FC->spriteIds[task->data[1]]].data[1] != 0xFF) { sub_812CE04(taskId); sub_812DA14(data[1]); @@ -676,7 +676,7 @@ void sub_812C694(u8 taskId) } } -bool8 sub_812C8F8(u8 taskId) +static bool8 sub_812C8F8(u8 taskId) { struct Task *task = &gTasks[taskId]; if (gUnknown_203B0FC->unk_07_1) @@ -694,12 +694,12 @@ bool8 sub_812C8F8(u8 taskId) return FALSE; } -void sub_812C990(void) +static void sub_812C990(void) { AddTextPrinterParametrized(2, 2, gUnknown_84181E4, 0, NULL, 2, 1, 3); } -void sub_812C9BC(u8 taskId) +static void sub_812C9BC(u8 taskId) { struct Task *task = &gTasks[taskId]; if (gSprites[task->data[2]].data[0] == 0) @@ -712,7 +712,7 @@ void sub_812C9BC(u8 taskId) ChangeBgX(1, 0xA00, 1); } -void sub_812CA1C(u8 taskId) +static void sub_812CA1C(u8 taskId) { struct Task *task = &gTasks[taskId]; if (GetBgX(1) != 0) @@ -732,7 +732,7 @@ void sub_812CA1C(u8 taskId) } } -void sub_812CAD8(u8 taskId) +static void sub_812CAD8(u8 taskId) { struct Task *task = &gTasks[taskId]; s16 *data = gTasks[taskId].data; @@ -740,7 +740,7 @@ void sub_812CAD8(u8 taskId) RunTextPrinters(); if (PRESSED(A_BUTTON) && !IsTextPrinterActive(2)) { - u8 spriteId = gUnknown_203B0FC->unk_1D[data[1]]; + u8 spriteId = gUnknown_203B0FC->spriteIds[data[1]]; if (gSprites[spriteId].data[1] != 0xFF) sub_812CE04(taskId); } @@ -749,7 +749,7 @@ void sub_812CAD8(u8 taskId) u8 r4; PlaySE(SE_SELECT); for (r4 = 0; r4 < 6; r4++) - sub_812CEFC(gUnknown_203B0FC->unk_1D[r4], ST_OAM_OBJ_NORMAL); + sub_812CEFC(gUnknown_203B0FC->spriteIds[r4], ST_OAM_OBJ_NORMAL); sub_812CE9C(); gSprites[task->data[0]].callback = sub_812D764; if (gUnknown_3005EC8 != 0xFF) @@ -801,7 +801,7 @@ void sub_812CAD8(u8 taskId) } } -void sub_812CC68(u8 taskId, s8 dx, s8 dy) +static void sub_812CC68(u8 taskId, s8 dx, s8 dy) { u8 i; s16 *data = gTasks[taskId].data; @@ -809,10 +809,10 @@ void sub_812CC68(u8 taskId, s8 dx, s8 dy) gSprites[data[0]].pos1.x += dx; gSprites[data[0]].pos1.y += dy; for (i = 0; i < 6; i++) - sub_812CEFC(gUnknown_203B0FC->unk_1D[i], ST_OAM_OBJ_BLEND); + sub_812CEFC(gUnknown_203B0FC->spriteIds[i], ST_OAM_OBJ_BLEND); FillWindowPixelRect(2, 0x11, 0, 0, 0xd0, 0x20); sub_812C990(); - if (sub_812CEFC(gUnknown_203B0FC->unk_1D[data[1]], ST_OAM_OBJ_NORMAL) == TRUE) + if (sub_812CEFC(gUnknown_203B0FC->spriteIds[data[1]], ST_OAM_OBJ_NORMAL) == TRUE) { sub_812CE04(taskId); sub_812DA14(data[1]); @@ -821,11 +821,11 @@ void sub_812CC68(u8 taskId, s8 dx, s8 dy) sub_812DB10(); } -void sub_812CD3C(void) +static void sub_812CD3C(void) { u8 r8 = 0; u16 r6 = sub_812E064(); - if (gSaveBlock1Ptr->fameChecker[gUnknown_203B0FC->unk_0C[r6]].unk_0_0 != 2) + if (gSaveBlock1Ptr->fameChecker[gUnknown_203B0FC->unlockedPersons[r6]].unk_0_0 != 2) { sub_812CE9C(); sub_812C990(); @@ -835,29 +835,29 @@ void sub_812CD3C(void) FillWindowPixelRect(2, 0x11, 0, 0, 0xd0, 0x20); if (sub_812D6B4() == TRUE) r8 = 16; - StringExpandPlaceholders(gStringVar4, gUnknown_845F63C[gUnknown_203B0FC->unk_0C[r6] + r8]); + StringExpandPlaceholders(gStringVar4, gUnknown_845F63C[gUnknown_203B0FC->unlockedPersons[r6] + r8]); AddTextPrinterParametrized(2, 2, gStringVar4, sub_80F78A8(), NULL, 2, 1, 3); sub_812CEE0(2); } } -void sub_812CE04(u8 taskId) +static void sub_812CE04(u8 taskId) { s16 *data = gTasks[taskId].data; u16 r5 = sub_812E064(); FillWindowPixelRect(2, 0x11, 0, 0, 0xd0, 0x20); - StringExpandPlaceholders(gStringVar4, gUnknown_845F6BC[gUnknown_203B0FC->unk_0C[r5] * 6 + data[1]]); + StringExpandPlaceholders(gStringVar4, gUnknown_845F6BC[gUnknown_203B0FC->unlockedPersons[r5] * 6 + data[1]]); AddTextPrinterParametrized(2, 2, gStringVar4, sub_80F78A8(), NULL, 2, 1, 3); sub_812CEE0(2); } -void sub_812CE9C(void) +static void sub_812CE9C(void) { FillWindowPixelRect(2, 0x11, 0, 0, 0xd0, 0x20); sub_812CEE0(2); } -void sub_812CEC0(void) +static void sub_812CEC0(void) { sub_80F6E9C(); sub_80F6EE4(2, 1); @@ -865,13 +865,13 @@ void sub_812CEC0(void) sub_812CEE0(0); } -void sub_812CEE0(u8 windowId) +static void sub_812CEE0(u8 windowId) { PutWindowTilemap(windowId); CopyWindowToVram(windowId, 3); } -bool8 sub_812CEFC(u8 spriteId, u8 objMode) +static bool8 sub_812CEFC(u8 spriteId, u8 objMode) { if (gSprites[spriteId].data[1] != 0xFF) { @@ -881,14 +881,14 @@ bool8 sub_812CEFC(u8 spriteId, u8 objMode) return FALSE; } -void sub_812CF3C(u8 taskId) +static void sub_812CF3C(u8 taskId) { PlaySE(SE_W202); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); gTasks[taskId].func = sub_812CF7C; } -void sub_812CF7C(u8 taskId) +static void sub_812CF7C(u8 taskId) { u8 r4; @@ -902,15 +902,15 @@ void sub_812CF7C(u8 taskId) } for (r4 = 0; r4 < 6; r4++) { - DestroySprite(&gSprites[gUnknown_203B0FC->unk_1D[r4]]); + DestroySprite(&gSprites[gUnknown_203B0FC->spriteIds[r4]]); } sub_812D814(); sub_812D7C8(); sub_812D70C(); sub_812D770(); sub_812E048(); - SetMainCallback2(gUnknown_203B0FC->unk_00); - sub_810713C(gUnknown_203B0FC->unk_08, 0, 0); + SetMainCallback2(gUnknown_203B0FC->savedCallback); + sub_810713C(gUnknown_203B0FC->scrollIndicatorArrowObjectTaskId, 0, 0); Free(gUnknown_203B0F0); Free(gUnknown_203B0F4); Free(gUnknown_203B0F8); @@ -925,7 +925,7 @@ void sub_812CF7C(u8 taskId) } } -void sub_812D094(u8 windowId) +static void sub_812D094(u8 windowId) { FillWindowPixelBuffer(windowId, 0); ClearWindowTilemap(windowId); @@ -933,7 +933,7 @@ void sub_812D094(u8 windowId) RemoveWindow(windowId); } -u8 sub_812D0C0(u8 a0) +static u8 sub_812D0C0(u8 a0) { if (HasTrainerAlreadyBeenFought(0x15e) == TRUE) { @@ -945,7 +945,7 @@ u8 sub_812D0C0(u8 a0) return a0; } -void sub_812D0F4(u8 a0) +static void sub_812D0F4(u8 a0) { const u8 * r5 = gUnknown_841E5A4; s32 width; @@ -961,26 +961,26 @@ void sub_812D0F4(u8 a0) sub_812CEE0(1); } -void sub_812D174(void) +static void sub_812D174(void) { u8 r4; for (r4 = 0; r4 < 6; r4++) { - DestroySprite(&gSprites[gUnknown_203B0FC->unk_1D[r4]]); + DestroySprite(&gSprites[gUnknown_203B0FC->spriteIds[r4]]); } } -bool8 sub_812D1A8(u8 a0) +static bool8 sub_812D1A8(u8 a0) { // r8 <- a0 bool8 r5 = FALSE; u8 r6; for (r6 = 0; r6 < 6; r6++) { - if ((gSaveBlock1Ptr->fameChecker[gUnknown_203B0FC->unk_0C[a0]].unk_0_2 >> r6) & 1) + if ((gSaveBlock1Ptr->fameChecker[gUnknown_203B0FC->unlockedPersons[a0]].unk_0_2 >> r6) & 1) { - gUnknown_203B0FC->unk_1D[r6] = sub_805EB44( - gUnknown_845F83C[gUnknown_203B0FC->unk_0C[a0] * 6 + r6], + gUnknown_203B0FC->spriteIds[r6] = sub_805EB44( + gUnknown_845F83C[gUnknown_203B0FC->unlockedPersons[a0] * 6 + r6], r6, 47 * (r6 % 3) + 0x72, 27 * (r6 / 3) + 0x2F @@ -989,11 +989,11 @@ bool8 sub_812D1A8(u8 a0) } else { - gUnknown_203B0FC->unk_1D[r6] = sub_812D780( + gUnknown_203B0FC->spriteIds[r6] = sub_812D780( 47 * (r6 % 3) + 0x72, 27 * (r6 / 3) + 0x1F ); - gSprites[gUnknown_203B0FC->unk_1D[r6]].data[1] = 0xFF; + gSprites[gUnknown_203B0FC->spriteIds[r6]].data[1] = 0xFF; } } if (r5 == TRUE) @@ -1012,7 +1012,7 @@ bool8 sub_812D1A8(u8 a0) return r5; } -void sub_812D304(void) +void ResetFameChecker(void) { u8 r4; for (r4 = 0; r4 < 16; r4++) @@ -1024,7 +1024,7 @@ void sub_812D304(void) gSaveBlock1Ptr->fameChecker[0].unk_0_0 = 2; } -void sub_812D388(void) +static void sub_812D388(void) { u8 r5, r4; for (r5 = 0; r5 < 16; r5++) @@ -1037,7 +1037,7 @@ void sub_812D388(void) } } -void sub_812D420(void) +static void sub_812D420(void) { void * vram = (void *)VRAM; DmaClearLarge16(3, vram, VRAM_SIZE, 0x1000); @@ -1065,7 +1065,7 @@ void sub_812D420(void) SetGpuReg(REG_OFFSET_BLDY, 0); } -void sub_812D558(void) +static void sub_812D558(void) { remove_some_task(); ResetTasks(); @@ -1077,12 +1077,12 @@ void sub_812D558(void) } -void sub_812D584(void) +static void sub_812D584(void) { SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON); } -void sub_812D594(void) +static void sub_812D594(void) { ChangeBgX(0, 0, 0); ChangeBgY(0, 0, 0); @@ -1094,7 +1094,7 @@ void sub_812D594(void) ChangeBgY(3, 0, 0); } -void sub_812D5EC(void) +static void sub_812D5EC(void) { if (gUnknown_20370C0 < 16 && gSpecialVar_0x8005 < 6) { @@ -1104,7 +1104,7 @@ void sub_812D5EC(void) } } -void sub_812D650(void) +static void sub_812D650(void) { if (gUnknown_20370C0 < 16 && gSpecialVar_0x8005 < 3) { @@ -1116,10 +1116,10 @@ void sub_812D650(void) } } -bool8 sub_812D6B4(void) +static bool8 sub_812D6B4(void) { u8 r2; - u8 r1 = gUnknown_203B0FC->unk_0C[sub_812E064()]; + u8 r1 = gUnknown_203B0FC->unlockedPersons[sub_812E064()]; for (r2 = 0; r2 < 6; r2++) { if (!((gSaveBlock1Ptr->fameChecker[r1].unk_0_2 >> r2) & 1)) @@ -1128,30 +1128,30 @@ bool8 sub_812D6B4(void) return TRUE; } -void sub_812D70C(void) +static void sub_812D70C(void) { FreeSpriteTilesByTag(SPRITETAG_1000); FreeSpritePaletteByTag(SPRITETAG_1000); } -u8 sub_812D724(s16 a0) +static u8 sub_812D724(s16 a0) { s16 r4 = a0 >= 3 ? 61 : 34; s16 r1 = 47 * (a0 % 3) + 0x72; return CreateSprite(&gUnknown_845FC44, r1, r4, 0); } -void sub_812D764(struct Sprite * sprite) +static void sub_812D764(struct Sprite * sprite) { DestroySprite(sprite); } -void sub_812D770(void) +static void sub_812D770(void) { FreeSpriteTilesByTag(SPRITETAG_1001); } -u8 sub_812D780(u8 x, u8 y) +static u8 sub_812D780(u8 x, u8 y) { u8 spriteId = CreateSprite(&gUnknown_845FC78, x, y, 8); gSprites[spriteId].oam.priority = 2; @@ -1159,24 +1159,24 @@ u8 sub_812D780(u8 x, u8 y) return spriteId; } -void sub_812D7C8(void) +static void sub_812D7C8(void) { FreeSpriteTilesByTag(SPRITETAG_1002); FreeSpritePaletteByTag(SPRITETAG_1002); } -u8 sub_812D7E4(void) +static u8 sub_812D7E4(void) { return CreateSprite(&gUnknown_845FCB8, 0xe2, 0x42, 0); } -void sub_812D800(struct Sprite * sprite) +static void sub_812D800(struct Sprite * sprite) { FreeSpriteOamMatrix(sprite); DestroySprite(sprite); } -void sub_812D814(void) +static void sub_812D814(void) { FreeSpriteTilesByTag(SPRITETAG_1006); FreeSpriteTilesByTag(SPRITETAG_1007); @@ -1184,7 +1184,7 @@ void sub_812D814(void) FreeSpriteTilesByTag(SPRITETAG_1009); } -void sub_812D840(struct Sprite * sprite) +static void sub_812D840(struct Sprite * sprite) { if (sprite->data[0] == 1) { @@ -1208,7 +1208,7 @@ void sub_812D840(struct Sprite * sprite) } } -u8 sub_812D888(u8 a0) +static u8 sub_812D888(u8 a0) { u8 r4; if (a0 == 1) @@ -1245,26 +1245,26 @@ u8 sub_812D888(u8 a0) return r4; } -void sub_812D9A8(u8 taskId, u16 a1) +static void sub_812D9A8(u8 taskId, u16 a1) { s16 * data = gTasks[taskId].data; u16 r1 = a1; if (a1 == gUnknown_203B0FC->unk_07_2 - 1) r1 = a1 - 1; - if ( gUnknown_203B0FC->unk_0C[r1] == 1 - || gUnknown_203B0FC->unk_0C[r1] == 14 - || gUnknown_203B0FC->unk_0C[r1] == 0 - || gUnknown_203B0FC->unk_0C[r1] == 13 + if ( gUnknown_203B0FC->unlockedPersons[r1] == 1 + || gUnknown_203B0FC->unlockedPersons[r1] == 14 + || gUnknown_203B0FC->unlockedPersons[r1] == 0 + || gUnknown_203B0FC->unlockedPersons[r1] == 13 ) DestroySprite(&gSprites[data[2]]); else sub_810C2E8(data[2]); } -void sub_812DA14(u8 a0) +static void sub_812DA14(u8 a0) { s32 width; - u32 r5 = 6 * gUnknown_203B0FC->unk_0C[sub_812E064()] + a0; + u32 r5 = 6 * gUnknown_203B0FC->unlockedPersons[sub_812E064()] + a0; sub_812E094(1); gUnknown_3005EC8 = 1; FillWindowPixelRect(3, 0x00, 0, 0, 0x58, 0x20); @@ -1276,21 +1276,21 @@ void sub_812DA14(u8 a0) sub_812CEE0(3); } -void sub_812DB10(void) +static void sub_812DB10(void) { sub_812E094(0); gUnknown_3005EC8 = 0xFF; } -void sub_812DB28(void) +static void sub_812DB28(void) { sub_812DB64(); gUnknown_203B0FC->unk_07_2 = sub_812DEF0(); - gUnknown_203B0FC->unk_08 = ListMenuInit(&gUnknown_3005EB0, 0, 0); + gUnknown_203B0FC->scrollIndicatorArrowObjectTaskId = ListMenuInit(&gUnknown_3005EB0, 0, 0); sub_812DFE4(0); } -void sub_812DB64(void) +static void sub_812DB64(void) { gUnknown_3005EB0.items = gUnknown_203B100; gUnknown_3005EB0.moveCursorFunc = sub_812DBC0; @@ -1312,7 +1312,7 @@ void sub_812DB64(void) gUnknown_3005EB0.cursorKind = 0; } -void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) +static void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) { u16 sp8; u8 taskId; @@ -1326,7 +1326,7 @@ void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) struct Task *task = &gTasks[taskId]; PlaySE(SE_SELECT); task->data[1] = 0; - get_coro_args_x18_x1A(gUnknown_203B0FC->unk_08, &sp8, NULL); + get_coro_args_x18_x1A(gUnknown_203B0FC->scrollIndicatorArrowObjectTaskId, &sp8, NULL); gUnknown_203B0FC->unk_04 = sp8; if (itemIndex != gUnknown_203B0FC->unk_07_2 - 1) { @@ -1367,35 +1367,35 @@ void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) u8 r2; for (r2 = 0; r2 < 6; r2++) { - gSprites[gUnknown_203B0FC->unk_1D[r2]].invisible = TRUE; + gSprites[gUnknown_203B0FC->spriteIds[r2]].invisible = TRUE; } } } } } -void sub_812DD50(u8 taskId) +static void sub_812DD50(u8 taskId) { struct Task * task = &gTasks[taskId]; - task->data[2] = sub_812D888(gUnknown_203B0FC->unk_0C[gUnknown_203B104]); + task->data[2] = sub_812D888(gUnknown_203B0FC->unlockedPersons[gUnknown_203B104]); gSprites[task->data[2]].data[0] = 0; sub_812CD3C(); task->func = sub_812C694; } -void sub_812DDAC(void) +static void sub_812DDAC(void) { FillWindowPixelRect(2, 0x11, 0, 0, 0xd0, 0x20); AddTextPrinterParametrized(2, 2, gUnknown_84181C3, 0, NULL, 2, 1, 3); sub_812CEE0(2); } -void sub_812DDF0(s32 itemIndex, bool8 onInit) +static void sub_812DDF0(s32 itemIndex, bool8 onInit) { u16 sp14; u16 sp16; u16 r6; - get_coro_args_x18_x1A(gUnknown_203B0FC->unk_08, &sp14, &sp16); + get_coro_args_x18_x1A(gUnknown_203B0FC->scrollIndicatorArrowObjectTaskId, &sp14, &sp16); r6 = sp14 + sp16; AddTextPrinterParametrized2(0, 2, 8, 14 * sp16 + 4, 0, 0, &gUnknown_845F5E6, 0, gUnknown_203B100[itemIndex].unk_00); if (!onInit) @@ -1412,7 +1412,7 @@ void sub_812DDF0(s32 itemIndex, bool8 onInit) gUnknown_203B0FC->unk_0A = sp14; } -u8 sub_812DEF0(void) +static u8 sub_812DEF0(void) { u8 r4 = 0; u8 r6; @@ -1432,13 +1432,13 @@ u8 sub_812DEF0(void) gUnknown_203B100[r4].unk_00 = gUnknown_845F60C[gUnknown_845F5EA[r5] - 0xFE00]; gUnknown_203B100[r4].unk_04 = r4; } - gUnknown_203B0FC->unk_0C[r4] = r5; + gUnknown_203B0FC->unlockedPersons[r4] = r5; r4++; } } gUnknown_203B100[r4].unk_00 = gUnknown_84161C1; gUnknown_203B100[r4].unk_04 = r4; - gUnknown_203B0FC->unk_0C[r4] = 0xFF; + gUnknown_203B0FC->unlockedPersons[r4] = 0xFF; r4++; gUnknown_3005EB0.totalItems = r4; if (r4 < 5) @@ -1448,13 +1448,13 @@ u8 sub_812DEF0(void) return r4; } -void sub_812DFE4(u8 windowId) +static void sub_812DFE4(u8 windowId) { PutWindowTilemap(windowId); CopyWindowToVram(windowId, 3); } -void sub_812E000(void) +static void sub_812E000(void) { struct ScrollIndicatorArrowPairTemplate sp0 = { 2, @@ -1479,20 +1479,20 @@ void sub_812E000(void) } } -void sub_812E048(void) +static void sub_812E048(void) { if (gUnknown_203B0FC->unk_07_2 > 5) RemoveScrollIndicatorArrowPair(gUnknown_203B0FC->unk_06); } -u16 sub_812E064(void) +static u16 sub_812E064(void) { u16 sp0, sp2; - get_coro_args_x18_x1A(gUnknown_203B0FC->unk_08, &sp0, &sp2); + get_coro_args_x18_x1A(gUnknown_203B0FC->scrollIndicatorArrowObjectTaskId, &sp0, &sp2); return sp0 + sp2; } -void sub_812E094(u8 a0) +static void sub_812E094(u8 a0) { if (gUnknown_203B0FC->unk_23_0 != a0) { @@ -1514,7 +1514,7 @@ void sub_812E094(u8 a0) } } -void sub_812E110(u8 taskId) +static void sub_812E110(u8 taskId) { struct Task * task = &gTasks[taskId]; switch (task->data[0]) @@ -1537,7 +1537,7 @@ void sub_812E110(u8 taskId) } } -void sub_812E178(u8 bg, s16 a1) +static void sub_812E178(u8 bg, s16 a1) { if (a1 == 0 || a1 == 3) { @@ -1599,9 +1599,9 @@ void sub_812E178(u8 bg, s16 a1) CopyBgTilemapBufferToVram(bg); } -void sub_812E4A4(u8 a0) +static void sub_812E4A4(u8 a0) { - u16 cursorY = ListMenuGetYCoordForPrintingArrowCursor(gUnknown_203B0FC->unk_08); + u16 cursorY = ListMenuGetYCoordForPrintingArrowCursor(gUnknown_203B0FC->scrollIndicatorArrowObjectTaskId); if (a0 == 1) AddTextPrinterParametrized2(0, 2, 0, cursorY, 0, 0, &gUnknown_845F5E3, 0, gUnknown_841623B); else From 3c409e3cd2a9da797a8b5ecb06e40cb003ce21e3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 26 Nov 2018 18:20:29 -0500 Subject: [PATCH 145/222] Make ewram symbols static too --- common_syms/fame_checker.txt | 2 +- src/fame_checker.c | 260 +++++++++++++++++------------------ 2 files changed, 131 insertions(+), 131 deletions(-) diff --git a/common_syms/fame_checker.txt b/common_syms/fame_checker.txt index 22330180e..a590c1cbb 100644 --- a/common_syms/fame_checker.txt +++ b/common_syms/fame_checker.txt @@ -1,2 +1,2 @@ -gUnknown_3005EB0 +gFameChecker_ListMenuTemplate gUnknown_3005EC8 diff --git a/src/fame_checker.c b/src/fame_checker.c index b2fe20c9b..e15768e4b 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -53,14 +53,14 @@ struct FameCheckerData u8 unk_23_2:1; }; -EWRAM_DATA u16 * gUnknown_203B0F0 = NULL; -EWRAM_DATA u16 * gUnknown_203B0F4 = NULL; -EWRAM_DATA u16 * gUnknown_203B0F8 = NULL; -EWRAM_DATA struct FameCheckerData * gUnknown_203B0FC = NULL; -EWRAM_DATA struct ListMenuItem * gUnknown_203B100 = NULL; -EWRAM_DATA s32 gUnknown_203B104 = 0; +static EWRAM_DATA u16 * sBg3TilemapBuffer = NULL; +static EWRAM_DATA u16 * sBg1TilemapBuffer = NULL; +static EWRAM_DATA u16 * sBg2TilemapBuffer = NULL; +static EWRAM_DATA struct FameCheckerData * sFameCheckerData = NULL; +static EWRAM_DATA struct ListMenuItem * sListMenuItems = NULL; +static EWRAM_DATA s32 sLastMenuIdx = 0; -struct ListMenuTemplate gUnknown_3005EB0; +struct ListMenuTemplate gFameChecker_ListMenuTemplate; u8 gUnknown_3005EC8; static void sub_812C3F8(void); @@ -499,12 +499,12 @@ static void sub_812C394(void) void UseFameChecker(MainCallback savedCallback) { SetVBlankCallback(NULL); - gUnknown_203B0FC = AllocZeroed(sizeof(struct FameCheckerData)); - gUnknown_203B0FC->savedCallback = savedCallback; - gUnknown_203B0FC->unk_09 = 0; - gUnknown_203B0FC->unk_0A = 0; - gUnknown_203B0FC->unk_0B = 0; - gUnknown_203B0FC->unk_23_0 = FALSE; + sFameCheckerData = AllocZeroed(sizeof(struct FameCheckerData)); + sFameCheckerData->savedCallback = savedCallback; + sFameCheckerData->unk_09 = 0; + sFameCheckerData->unk_0A = 0; + sFameCheckerData->unk_0B = 0; + sFameCheckerData->unk_23_0 = FALSE; PlaySE(SE_W202); SetMainCallback2(sub_812C3F8); } @@ -523,14 +523,14 @@ static void sub_812C3F8(void) gMain.state++; break; case 2: - gUnknown_203B0F0 = AllocZeroed(0x800); - gUnknown_203B0F4 = AllocZeroed(0x1000); - gUnknown_203B0F8 = AllocZeroed(0x800); + sBg3TilemapBuffer = AllocZeroed(0x800); + sBg1TilemapBuffer = AllocZeroed(0x1000); + sBg2TilemapBuffer = AllocZeroed(0x800); ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, gUnknown_845FBF4, ARRAY_COUNT(gUnknown_845FBF4)); - SetBgTilemapBuffer(3, gUnknown_203B0F0); - SetBgTilemapBuffer(2, gUnknown_203B0F8); - SetBgTilemapBuffer(1, gUnknown_203B0F4); + SetBgTilemapBuffer(3, sBg3TilemapBuffer); + SetBgTilemapBuffer(2, sBg2TilemapBuffer); + SetBgTilemapBuffer(1, sBg1TilemapBuffer); sub_812D594(); gMain.state++; break; @@ -561,7 +561,7 @@ static void sub_812C3F8(void) InitWindows(gUnknown_845FC04); DeactivateAllTextPrinters(); sub_812CEC0(); - gUnknown_203B100 = AllocZeroed(17 * sizeof(struct ListMenuItem)); + sListMenuItems = AllocZeroed(17 * sizeof(struct ListMenuItem)); sub_812DB28(); gMain.state++; break; @@ -578,7 +578,7 @@ static void sub_812C3F8(void) SetGpuReg(REG_OFFSET_BLDALPHA, 0x07); SetGpuReg(REG_OFFSET_BLDY, 0x08); SetVBlankCallback(sub_812C380); - gUnknown_203B0FC->unk_04 = 0; + sFameCheckerData->unk_04 = 0; sub_812E000(); sub_812E178(1, 4); CreateTask(sub_812C664, 0x08); @@ -609,7 +609,7 @@ static void sub_812C694(u8 taskId) if (FindTaskIdByFunc(sub_812E110) == 0xFF) { RunTextPrinters(); - if ((PRESSED(SELECT_BUTTON)) && !gUnknown_203B0FC->unk_07_1 && gUnknown_203B0FC->savedCallback != sub_8107EB8) + if ((PRESSED(SELECT_BUTTON)) && !sFameCheckerData->unk_07_1 && sFameCheckerData->savedCallback != sub_8107EB8) task->func = sub_812CF3C; else if (PRESSED(START_BUTTON)) { @@ -618,7 +618,7 @@ static void sub_812C694(u8 taskId) { PlaySE(SE_W100); } - else if (r4 != gUnknown_203B0FC->unk_07_2 - 1) + else if (r4 != sFameCheckerData->unk_07_2 - 1) { PlaySE(SE_W100); FillWindowPixelRect(3, 0x00, 0, 0, 88, 32); @@ -626,7 +626,7 @@ static void sub_812C694(u8 taskId) sub_812E178(2, 4); sub_812E178(1, 5); sub_812D0F4(1); - task->data[2] = sub_812D888(gUnknown_203B0FC->unlockedPersons[r4]); + task->data[2] = sub_812D888(sFameCheckerData->unlockedPersons[r4]); gSprites[task->data[2]].pos2.x = 0xF0; gSprites[task->data[2]].data[0] = 1; task->data[3] = sub_812D7E4(); @@ -638,26 +638,26 @@ static void sub_812C694(u8 taskId) else if (PRESSED(A_BUTTON)) { r4 = ListMenuHandleInput(0); - if (r4 == gUnknown_203B0FC->unk_07_2 - 1) + if (r4 == sFameCheckerData->unk_07_2 - 1) task->func = sub_812CF3C; - else if (gUnknown_203B0FC->unk_07_1) + else if (sFameCheckerData->unk_07_1) { if (!IsTextPrinterActive(2) && sub_812D6B4() == TRUE) sub_812CD3C(); } - else if (gUnknown_203B0FC->unk_07_0) + else if (sFameCheckerData->unk_07_0) { PlaySE(SE_SELECT); task->data[0] = sub_812D724(task->data[1]); for (r4_2 = 0; r4_2 < 6; r4_2++) { if (r4_2 != task->data[1]) - sub_812CEFC(gUnknown_203B0FC->spriteIds[r4_2], ST_OAM_OBJ_BLEND); + sub_812CEFC(sFameCheckerData->spriteIds[r4_2], ST_OAM_OBJ_BLEND); } gUnknown_3005EC8 = 0xFF; sub_812E4A4(0); sub_812D0F4(2); - if (gSprites[gUnknown_203B0FC->spriteIds[task->data[1]]].data[1] != 0xFF) + if (gSprites[sFameCheckerData->spriteIds[task->data[1]]].data[1] != 0xFF) { sub_812CE04(taskId); sub_812DA14(data[1]); @@ -679,7 +679,7 @@ static void sub_812C694(u8 taskId) static bool8 sub_812C8F8(u8 taskId) { struct Task *task = &gTasks[taskId]; - if (gUnknown_203B0FC->unk_07_1) + if (sFameCheckerData->unk_07_1) { gSprites[task->data[2]].data[0] = 2; gSprites[task->data[2]].pos2.x += 10; @@ -688,7 +688,7 @@ static bool8 sub_812C8F8(u8 taskId) sub_812CE9C(); task->func = sub_812CA1C; sub_812C990(); - gUnknown_203B0FC->unk_23_2 = FALSE; + sFameCheckerData->unk_23_2 = FALSE; return TRUE; } return FALSE; @@ -705,7 +705,7 @@ static void sub_812C9BC(u8 taskId) if (gSprites[task->data[2]].data[0] == 0) { sub_812CD3C(); - gUnknown_203B0FC->unk_07_1 = TRUE; + sFameCheckerData->unk_07_1 = TRUE; task->func = sub_812C694; } else @@ -721,11 +721,11 @@ static void sub_812CA1C(u8 taskId) ChangeBgX(1, 0x000, 0); if (gSprites[task->data[2]].data[0] == 0) { - if (gUnknown_203B0FC->unk_07_0) + if (sFameCheckerData->unk_07_0) sub_812D0F4(0); sub_812E178(1, 4); sub_812E178(2, 2); - gUnknown_203B0FC->unk_07_1 = FALSE; + sFameCheckerData->unk_07_1 = FALSE; sub_812D9A8(taskId, sub_812E064()); task->func = sub_812C694; gSprites[task->data[3]].callback = sub_812D800; @@ -740,7 +740,7 @@ static void sub_812CAD8(u8 taskId) RunTextPrinters(); if (PRESSED(A_BUTTON) && !IsTextPrinterActive(2)) { - u8 spriteId = gUnknown_203B0FC->spriteIds[data[1]]; + u8 spriteId = sFameCheckerData->spriteIds[data[1]]; if (gSprites[spriteId].data[1] != 0xFF) sub_812CE04(taskId); } @@ -749,7 +749,7 @@ static void sub_812CAD8(u8 taskId) u8 r4; PlaySE(SE_SELECT); for (r4 = 0; r4 < 6; r4++) - sub_812CEFC(gUnknown_203B0FC->spriteIds[r4], ST_OAM_OBJ_NORMAL); + sub_812CEFC(sFameCheckerData->spriteIds[r4], ST_OAM_OBJ_NORMAL); sub_812CE9C(); gSprites[task->data[0]].callback = sub_812D764; if (gUnknown_3005EC8 != 0xFF) @@ -809,10 +809,10 @@ static void sub_812CC68(u8 taskId, s8 dx, s8 dy) gSprites[data[0]].pos1.x += dx; gSprites[data[0]].pos1.y += dy; for (i = 0; i < 6; i++) - sub_812CEFC(gUnknown_203B0FC->spriteIds[i], ST_OAM_OBJ_BLEND); + sub_812CEFC(sFameCheckerData->spriteIds[i], ST_OAM_OBJ_BLEND); FillWindowPixelRect(2, 0x11, 0, 0, 0xd0, 0x20); sub_812C990(); - if (sub_812CEFC(gUnknown_203B0FC->spriteIds[data[1]], ST_OAM_OBJ_NORMAL) == TRUE) + if (sub_812CEFC(sFameCheckerData->spriteIds[data[1]], ST_OAM_OBJ_NORMAL) == TRUE) { sub_812CE04(taskId); sub_812DA14(data[1]); @@ -825,7 +825,7 @@ static void sub_812CD3C(void) { u8 r8 = 0; u16 r6 = sub_812E064(); - if (gSaveBlock1Ptr->fameChecker[gUnknown_203B0FC->unlockedPersons[r6]].unk_0_0 != 2) + if (gSaveBlock1Ptr->fameChecker[sFameCheckerData->unlockedPersons[r6]].unk_0_0 != 2) { sub_812CE9C(); sub_812C990(); @@ -835,7 +835,7 @@ static void sub_812CD3C(void) FillWindowPixelRect(2, 0x11, 0, 0, 0xd0, 0x20); if (sub_812D6B4() == TRUE) r8 = 16; - StringExpandPlaceholders(gStringVar4, gUnknown_845F63C[gUnknown_203B0FC->unlockedPersons[r6] + r8]); + StringExpandPlaceholders(gStringVar4, gUnknown_845F63C[sFameCheckerData->unlockedPersons[r6] + r8]); AddTextPrinterParametrized(2, 2, gStringVar4, sub_80F78A8(), NULL, 2, 1, 3); sub_812CEE0(2); } @@ -846,7 +846,7 @@ static void sub_812CE04(u8 taskId) s16 *data = gTasks[taskId].data; u16 r5 = sub_812E064(); FillWindowPixelRect(2, 0x11, 0, 0, 0xd0, 0x20); - StringExpandPlaceholders(gStringVar4, gUnknown_845F6BC[gUnknown_203B0FC->unlockedPersons[r5] * 6 + data[1]]); + StringExpandPlaceholders(gStringVar4, gUnknown_845F6BC[sFameCheckerData->unlockedPersons[r5] * 6 + data[1]]); AddTextPrinterParametrized(2, 2, gStringVar4, sub_80F78A8(), NULL, 2, 1, 3); sub_812CEE0(2); } @@ -894,7 +894,7 @@ static void sub_812CF7C(u8 taskId) if (!gPaletteFade.active) { - if (gUnknown_203B0FC->unk_07_1) + if (sFameCheckerData->unk_07_1) { sub_812D9A8(taskId, sub_812E064()); FreeSpriteOamMatrix(&gSprites[gTasks[taskId].data[3]]); @@ -902,20 +902,20 @@ static void sub_812CF7C(u8 taskId) } for (r4 = 0; r4 < 6; r4++) { - DestroySprite(&gSprites[gUnknown_203B0FC->spriteIds[r4]]); + DestroySprite(&gSprites[sFameCheckerData->spriteIds[r4]]); } sub_812D814(); sub_812D7C8(); sub_812D70C(); sub_812D770(); sub_812E048(); - SetMainCallback2(gUnknown_203B0FC->savedCallback); - sub_810713C(gUnknown_203B0FC->scrollIndicatorArrowObjectTaskId, 0, 0); - Free(gUnknown_203B0F0); - Free(gUnknown_203B0F4); - Free(gUnknown_203B0F8); - Free(gUnknown_203B0FC); - Free(gUnknown_203B100); + SetMainCallback2(sFameCheckerData->savedCallback); + sub_810713C(sFameCheckerData->scrollIndicatorArrowObjectTaskId, 0, 0); + Free(sBg3TilemapBuffer); + Free(sBg1TilemapBuffer); + Free(sBg2TilemapBuffer); + Free(sFameCheckerData); + Free(sListMenuItems); sub_812D094(0); sub_812D094(1); sub_812D094(2); @@ -966,7 +966,7 @@ static void sub_812D174(void) u8 r4; for (r4 = 0; r4 < 6; r4++) { - DestroySprite(&gSprites[gUnknown_203B0FC->spriteIds[r4]]); + DestroySprite(&gSprites[sFameCheckerData->spriteIds[r4]]); } } @@ -977,10 +977,10 @@ static bool8 sub_812D1A8(u8 a0) u8 r6; for (r6 = 0; r6 < 6; r6++) { - if ((gSaveBlock1Ptr->fameChecker[gUnknown_203B0FC->unlockedPersons[a0]].unk_0_2 >> r6) & 1) + if ((gSaveBlock1Ptr->fameChecker[sFameCheckerData->unlockedPersons[a0]].unk_0_2 >> r6) & 1) { - gUnknown_203B0FC->spriteIds[r6] = sub_805EB44( - gUnknown_845F83C[gUnknown_203B0FC->unlockedPersons[a0] * 6 + r6], + sFameCheckerData->spriteIds[r6] = sub_805EB44( + gUnknown_845F83C[sFameCheckerData->unlockedPersons[a0] * 6 + r6], r6, 47 * (r6 % 3) + 0x72, 27 * (r6 / 3) + 0x2F @@ -989,24 +989,24 @@ static bool8 sub_812D1A8(u8 a0) } else { - gUnknown_203B0FC->spriteIds[r6] = sub_812D780( + sFameCheckerData->spriteIds[r6] = sub_812D780( 47 * (r6 % 3) + 0x72, 27 * (r6 / 3) + 0x1F ); - gSprites[gUnknown_203B0FC->spriteIds[r6]].data[1] = 0xFF; + gSprites[sFameCheckerData->spriteIds[r6]].data[1] = 0xFF; } } if (r5 == TRUE) { - gUnknown_203B0FC->unk_07_0 = TRUE; - if (gUnknown_203B0FC->unk_07_1) + sFameCheckerData->unk_07_0 = TRUE; + if (sFameCheckerData->unk_07_1) sub_812D0F4(TRUE); else sub_812D0F4(FALSE); } else { - gUnknown_203B0FC->unk_07_0 = FALSE; + sFameCheckerData->unk_07_0 = FALSE; sub_812D0F4(TRUE); } return r5; @@ -1119,7 +1119,7 @@ static void sub_812D650(void) static bool8 sub_812D6B4(void) { u8 r2; - u8 r1 = gUnknown_203B0FC->unlockedPersons[sub_812E064()]; + u8 r1 = sFameCheckerData->unlockedPersons[sub_812E064()]; for (r2 = 0; r2 < 6; r2++) { if (!((gSaveBlock1Ptr->fameChecker[r1].unk_0_2 >> r2) & 1)) @@ -1249,12 +1249,12 @@ static void sub_812D9A8(u8 taskId, u16 a1) { s16 * data = gTasks[taskId].data; u16 r1 = a1; - if (a1 == gUnknown_203B0FC->unk_07_2 - 1) + if (a1 == sFameCheckerData->unk_07_2 - 1) r1 = a1 - 1; - if ( gUnknown_203B0FC->unlockedPersons[r1] == 1 - || gUnknown_203B0FC->unlockedPersons[r1] == 14 - || gUnknown_203B0FC->unlockedPersons[r1] == 0 - || gUnknown_203B0FC->unlockedPersons[r1] == 13 + if ( sFameCheckerData->unlockedPersons[r1] == 1 + || sFameCheckerData->unlockedPersons[r1] == 14 + || sFameCheckerData->unlockedPersons[r1] == 0 + || sFameCheckerData->unlockedPersons[r1] == 13 ) DestroySprite(&gSprites[data[2]]); else @@ -1264,7 +1264,7 @@ static void sub_812D9A8(u8 taskId, u16 a1) static void sub_812DA14(u8 a0) { s32 width; - u32 r5 = 6 * gUnknown_203B0FC->unlockedPersons[sub_812E064()] + a0; + u32 r5 = 6 * sFameCheckerData->unlockedPersons[sub_812E064()] + a0; sub_812E094(1); gUnknown_3005EC8 = 1; FillWindowPixelRect(3, 0x00, 0, 0, 0x58, 0x20); @@ -1285,31 +1285,31 @@ static void sub_812DB10(void) static void sub_812DB28(void) { sub_812DB64(); - gUnknown_203B0FC->unk_07_2 = sub_812DEF0(); - gUnknown_203B0FC->scrollIndicatorArrowObjectTaskId = ListMenuInit(&gUnknown_3005EB0, 0, 0); + sFameCheckerData->unk_07_2 = sub_812DEF0(); + sFameCheckerData->scrollIndicatorArrowObjectTaskId = ListMenuInit(&gFameChecker_ListMenuTemplate, 0, 0); sub_812DFE4(0); } static void sub_812DB64(void) { - gUnknown_3005EB0.items = gUnknown_203B100; - gUnknown_3005EB0.moveCursorFunc = sub_812DBC0; - gUnknown_3005EB0.itemPrintFunc = NULL; - gUnknown_3005EB0.totalItems = 1; - gUnknown_3005EB0.maxShowed = 1; - gUnknown_3005EB0.windowId = 0; - gUnknown_3005EB0.header_X = 0; - gUnknown_3005EB0.item_X = 8; - gUnknown_3005EB0.cursor_X = 0; - gUnknown_3005EB0.upText_Y = 4; - gUnknown_3005EB0.cursorPal = 2; - gUnknown_3005EB0.fillValue = 0; - gUnknown_3005EB0.cursorShadowPal = 3; - gUnknown_3005EB0.lettersSpacing = 0; - gUnknown_3005EB0.itemVerticalPadding = 0; - gUnknown_3005EB0.scrollMultiple = 0; - gUnknown_3005EB0.fontId = 2; - gUnknown_3005EB0.cursorKind = 0; + gFameChecker_ListMenuTemplate.items = sListMenuItems; + gFameChecker_ListMenuTemplate.moveCursorFunc = sub_812DBC0; + gFameChecker_ListMenuTemplate.itemPrintFunc = NULL; + gFameChecker_ListMenuTemplate.totalItems = 1; + gFameChecker_ListMenuTemplate.maxShowed = 1; + gFameChecker_ListMenuTemplate.windowId = 0; + gFameChecker_ListMenuTemplate.header_X = 0; + gFameChecker_ListMenuTemplate.item_X = 8; + gFameChecker_ListMenuTemplate.cursor_X = 0; + gFameChecker_ListMenuTemplate.upText_Y = 4; + gFameChecker_ListMenuTemplate.cursorPal = 2; + gFameChecker_ListMenuTemplate.fillValue = 0; + gFameChecker_ListMenuTemplate.cursorShadowPal = 3; + gFameChecker_ListMenuTemplate.lettersSpacing = 0; + gFameChecker_ListMenuTemplate.itemVerticalPadding = 0; + gFameChecker_ListMenuTemplate.scrollMultiple = 0; + gFameChecker_ListMenuTemplate.fontId = 2; + gFameChecker_ListMenuTemplate.cursorKind = 0; } static void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) @@ -1317,8 +1317,8 @@ static void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) u16 sp8; u8 taskId; u16 r9; - gUnknown_203B104 = 0; - r9 = gUnknown_203B0FC->unk_0A + gUnknown_203B0FC->unk_0B; + sLastMenuIdx = 0; + r9 = sFameCheckerData->unk_0A + sFameCheckerData->unk_0B; sub_812DDF0(itemIndex, onInit); taskId = FindTaskIdByFunc(sub_812C694); if (taskId != 0xFF) @@ -1326,24 +1326,24 @@ static void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) struct Task *task = &gTasks[taskId]; PlaySE(SE_SELECT); task->data[1] = 0; - get_coro_args_x18_x1A(gUnknown_203B0FC->scrollIndicatorArrowObjectTaskId, &sp8, NULL); - gUnknown_203B0FC->unk_04 = sp8; - if (itemIndex != gUnknown_203B0FC->unk_07_2 - 1) + get_coro_args_x18_x1A(sFameCheckerData->scrollIndicatorArrowObjectTaskId, &sp8, NULL); + sFameCheckerData->unk_04 = sp8; + if (itemIndex != sFameCheckerData->unk_07_2 - 1) { sub_812D174(); sub_812D1A8(itemIndex); - if (gUnknown_203B0FC->unk_07_1) + if (sFameCheckerData->unk_07_1) { - if (!gUnknown_203B0FC->unk_23_2) + if (!sFameCheckerData->unk_23_2) { sub_812D9A8(taskId, r9); - gUnknown_203B104 = itemIndex; + sLastMenuIdx = itemIndex; task->func = sub_812DD50; } else { gSprites[task->data[2]].invisible = FALSE; - gUnknown_203B0FC->unk_23_2 = FALSE; + sFameCheckerData->unk_23_2 = FALSE; gSprites[task->data[2]].data[0] = 0; sub_812CD3C(); } @@ -1357,17 +1357,17 @@ static void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) else { sub_812DDAC(); - if (gUnknown_203B0FC->unk_07_1) + if (sFameCheckerData->unk_07_1) { gSprites[task->data[2]].invisible = TRUE; - gUnknown_203B0FC->unk_23_2 = TRUE; + sFameCheckerData->unk_23_2 = TRUE; } else { u8 r2; for (r2 = 0; r2 < 6; r2++) { - gSprites[gUnknown_203B0FC->spriteIds[r2]].invisible = TRUE; + gSprites[sFameCheckerData->spriteIds[r2]].invisible = TRUE; } } } @@ -1377,7 +1377,7 @@ static void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) static void sub_812DD50(u8 taskId) { struct Task * task = &gTasks[taskId]; - task->data[2] = sub_812D888(gUnknown_203B0FC->unlockedPersons[gUnknown_203B104]); + task->data[2] = sub_812D888(sFameCheckerData->unlockedPersons[sLastMenuIdx]); gSprites[task->data[2]].data[0] = 0; sub_812CD3C(); task->func = sub_812C694; @@ -1395,21 +1395,21 @@ static void sub_812DDF0(s32 itemIndex, bool8 onInit) u16 sp14; u16 sp16; u16 r6; - get_coro_args_x18_x1A(gUnknown_203B0FC->scrollIndicatorArrowObjectTaskId, &sp14, &sp16); + get_coro_args_x18_x1A(sFameCheckerData->scrollIndicatorArrowObjectTaskId, &sp14, &sp16); r6 = sp14 + sp16; - AddTextPrinterParametrized2(0, 2, 8, 14 * sp16 + 4, 0, 0, &gUnknown_845F5E6, 0, gUnknown_203B100[itemIndex].unk_00); + AddTextPrinterParametrized2(0, 2, 8, 14 * sp16 + 4, 0, 0, &gUnknown_845F5E6, 0, sListMenuItems[itemIndex].unk_00); if (!onInit) { - if (sp14 < gUnknown_203B0FC->unk_0A) - gUnknown_203B0FC->unk_0B++; - else if (sp14 > gUnknown_203B0FC->unk_0A && r6 != gUnknown_203B0FC->unk_07_2 - 1) - gUnknown_203B0FC->unk_0B--; - AddTextPrinterParametrized2(0, 2, 8, 14 * gUnknown_203B0FC->unk_0B + 4, 0, 0, &gUnknown_845F5E3, 0, gUnknown_203B100[gUnknown_203B0FC->unk_09].unk_00); + if (sp14 < sFameCheckerData->unk_0A) + sFameCheckerData->unk_0B++; + else if (sp14 > sFameCheckerData->unk_0A && r6 != sFameCheckerData->unk_07_2 - 1) + sFameCheckerData->unk_0B--; + AddTextPrinterParametrized2(0, 2, 8, 14 * sFameCheckerData->unk_0B + 4, 0, 0, &gUnknown_845F5E3, 0, sListMenuItems[sFameCheckerData->unk_09].unk_00); } - gUnknown_203B0FC->unk_09 = itemIndex; - gUnknown_203B0FC->unk_0B = sp16; - gUnknown_203B0FC->unk_0A = sp14; + sFameCheckerData->unk_09 = itemIndex; + sFameCheckerData->unk_0B = sp16; + sFameCheckerData->unk_0A = sp14; } static u8 sub_812DEF0(void) @@ -1424,27 +1424,27 @@ static u8 sub_812DEF0(void) { if (gUnknown_845F5EA[r5] < 0xFE00) { - gUnknown_203B100[r4].unk_00 = gTrainers[gUnknown_845F5EA[r5]].trainerName; - gUnknown_203B100[r4].unk_04 = r4; + sListMenuItems[r4].unk_00 = gTrainers[gUnknown_845F5EA[r5]].trainerName; + sListMenuItems[r4].unk_04 = r4; } else { - gUnknown_203B100[r4].unk_00 = gUnknown_845F60C[gUnknown_845F5EA[r5] - 0xFE00]; - gUnknown_203B100[r4].unk_04 = r4; + sListMenuItems[r4].unk_00 = gUnknown_845F60C[gUnknown_845F5EA[r5] - 0xFE00]; + sListMenuItems[r4].unk_04 = r4; } - gUnknown_203B0FC->unlockedPersons[r4] = r5; + sFameCheckerData->unlockedPersons[r4] = r5; r4++; } } - gUnknown_203B100[r4].unk_00 = gUnknown_84161C1; - gUnknown_203B100[r4].unk_04 = r4; - gUnknown_203B0FC->unlockedPersons[r4] = 0xFF; + sListMenuItems[r4].unk_00 = gUnknown_84161C1; + sListMenuItems[r4].unk_04 = r4; + sFameCheckerData->unlockedPersons[r4] = 0xFF; r4++; - gUnknown_3005EB0.totalItems = r4; + gFameChecker_ListMenuTemplate.totalItems = r4; if (r4 < 5) - gUnknown_3005EB0.maxShowed = r4; + gFameChecker_ListMenuTemplate.maxShowed = r4; else - gUnknown_3005EB0.maxShowed = 5; + gFameChecker_ListMenuTemplate.maxShowed = 5; return r4; } @@ -1471,30 +1471,30 @@ static void sub_812E000(void) 0 }; - if (gUnknown_203B0FC->unk_07_2 > 5) + if (sFameCheckerData->unk_07_2 > 5) { sp0.unk_06 = 0; - sp0.unk_08 = gUnknown_203B0FC->unk_07_2 - 5; - gUnknown_203B0FC->unk_06 = AddScrollIndicatorArrowPair(&sp0, &gUnknown_203B0FC->unk_04); + sp0.unk_08 = sFameCheckerData->unk_07_2 - 5; + sFameCheckerData->unk_06 = AddScrollIndicatorArrowPair(&sp0, &sFameCheckerData->unk_04); } } static void sub_812E048(void) { - if (gUnknown_203B0FC->unk_07_2 > 5) - RemoveScrollIndicatorArrowPair(gUnknown_203B0FC->unk_06); + if (sFameCheckerData->unk_07_2 > 5) + RemoveScrollIndicatorArrowPair(sFameCheckerData->unk_06); } static u16 sub_812E064(void) { u16 sp0, sp2; - get_coro_args_x18_x1A(gUnknown_203B0FC->scrollIndicatorArrowObjectTaskId, &sp0, &sp2); + get_coro_args_x18_x1A(sFameCheckerData->scrollIndicatorArrowObjectTaskId, &sp0, &sp2); return sp0 + sp2; } static void sub_812E094(u8 a0) { - if (gUnknown_203B0FC->unk_23_0 != a0) + if (sFameCheckerData->unk_23_0 != a0) { u8 taskId = FindTaskIdByFunc(sub_812E110); if (taskId == 0xFF) @@ -1504,12 +1504,12 @@ static void sub_812E094(u8 a0) if (a0 == TRUE) { gTasks[taskId].data[2] = 1; - gUnknown_203B0FC->unk_23_0 = TRUE; + sFameCheckerData->unk_23_0 = TRUE; } else { gTasks[taskId].data[2] = 4; - gUnknown_203B0FC->unk_23_0 = FALSE; + sFameCheckerData->unk_23_0 = FALSE; } } } @@ -1601,7 +1601,7 @@ static void sub_812E178(u8 bg, s16 a1) static void sub_812E4A4(u8 a0) { - u16 cursorY = ListMenuGetYCoordForPrintingArrowCursor(gUnknown_203B0FC->scrollIndicatorArrowObjectTaskId); + u16 cursorY = ListMenuGetYCoordForPrintingArrowCursor(sFameCheckerData->scrollIndicatorArrowObjectTaskId); if (a0 == 1) AddTextPrinterParametrized2(0, 2, 0, cursorY, 0, 0, &gUnknown_845F5E3, 0, gUnknown_841623B); else From de72615a5428c5996b5c92d368cfb350816ed51e Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 26 Nov 2018 18:22:57 -0500 Subject: [PATCH 146/222] This is a sprite tag right here --- src/fame_checker.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/fame_checker.c b/src/fame_checker.c index e15768e4b..3b5576923 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -29,6 +29,7 @@ #define SPRITETAG_1000 1000 #define SPRITETAG_1001 1001 #define SPRITETAG_1002 1002 +#define SPRITETAG_1004 1004 #define SPRITETAG_1006 1006 #define SPRITETAG_1007 1007 #define SPRITETAG_1008 1008 @@ -1457,18 +1458,18 @@ static void sub_812DFE4(u8 windowId) static void sub_812E000(void) { struct ScrollIndicatorArrowPairTemplate sp0 = { - 2, - 40, - 26, - 3, - 40, - 100, - 0, - 0, - 1004, - 0xFFFF, - 1, - 0 + 2, + 40, + 26, + 3, + 40, + 100, + 0, + 0, + SPRITETAG_1004, + 0xFFFF, + 1, + 0 }; if (sFameCheckerData->unk_07_2 > 5) From b21c50675b8b143608b39b26b53788e4807bbc9e Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 26 Nov 2018 18:24:17 -0500 Subject: [PATCH 147/222] PRESSED-->JOY_NEW, PUSHED-->JOY_HELD --- include/global.h | 4 ++-- src/fame_checker.c | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/include/global.h b/include/global.h index 2b9b00d5c..84597dba0 100644 --- a/include/global.h +++ b/include/global.h @@ -68,8 +68,8 @@ // GameFreak never ceases to amaze. // TODO: Propagate use of this macro #define TEST_BUTTON(field, button) ({(field) & (button);}) -#define PRESSED(button) TEST_BUTTON(gMain.newKeys, button) -#define PUSHED(button) TEST_BUTTON(gMain.heldKeys, button) +#define JOY_NEW(button) TEST_BUTTON(gMain.newKeys, button) +#define JOY_HELD(button) TEST_BUTTON(gMain.heldKeys, button) extern u8 gStringVar1[]; extern u8 gStringVar2[]; diff --git a/src/fame_checker.c b/src/fame_checker.c index 3b5576923..8150c58ef 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -610,9 +610,9 @@ static void sub_812C694(u8 taskId) if (FindTaskIdByFunc(sub_812E110) == 0xFF) { RunTextPrinters(); - if ((PRESSED(SELECT_BUTTON)) && !sFameCheckerData->unk_07_1 && sFameCheckerData->savedCallback != sub_8107EB8) + if ((JOY_NEW(SELECT_BUTTON)) && !sFameCheckerData->unk_07_1 && sFameCheckerData->savedCallback != sub_8107EB8) task->func = sub_812CF3C; - else if (PRESSED(START_BUTTON)) + else if (JOY_NEW(START_BUTTON)) { r4 = sub_812E064(); if (sub_812C8F8(taskId) == TRUE) @@ -636,7 +636,7 @@ static void sub_812C694(u8 taskId) task->func = sub_812C9BC; } } - else if (PRESSED(A_BUTTON)) + else if (JOY_NEW(A_BUTTON)) { r4 = ListMenuHandleInput(0); if (r4 == sFameCheckerData->unk_07_2 - 1) @@ -667,7 +667,7 @@ static void sub_812C694(u8 taskId) task->func = sub_812CAD8; } } - else if (PRESSED(B_BUTTON)) + else if (JOY_NEW(B_BUTTON)) { if (sub_812C8F8(taskId) != TRUE) task->func = sub_812CF3C; @@ -739,13 +739,13 @@ static void sub_812CAD8(u8 taskId) s16 *data = gTasks[taskId].data; RunTextPrinters(); - if (PRESSED(A_BUTTON) && !IsTextPrinterActive(2)) + if (JOY_NEW(A_BUTTON) && !IsTextPrinterActive(2)) { u8 spriteId = sFameCheckerData->spriteIds[data[1]]; if (gSprites[spriteId].data[1] != 0xFF) sub_812CE04(taskId); } - if (PRESSED(B_BUTTON)) + if (JOY_NEW(B_BUTTON)) { u8 r4; PlaySE(SE_SELECT); @@ -761,7 +761,7 @@ static void sub_812CAD8(u8 taskId) sub_812C990(); task->func = sub_812C694; } - else if (PRESSED(DPAD_UP) || PRESSED(DPAD_DOWN)) + else if (JOY_NEW(DPAD_UP) || JOY_NEW(DPAD_DOWN)) { if (task->data[1] >= 3) { @@ -774,7 +774,7 @@ static void sub_812CAD8(u8 taskId) sub_812CC68(taskId, 0, +0x1b); } } - else if (PRESSED(DPAD_LEFT)) + else if (JOY_NEW(DPAD_LEFT)) { if (task->data[1] == 0 || task->data[1] % 3 == 0) { @@ -787,7 +787,7 @@ static void sub_812CAD8(u8 taskId) sub_812CC68(taskId, -0x2f, 0); } } - else if (PRESSED(DPAD_RIGHT)) + else if (JOY_NEW(DPAD_RIGHT)) { if ((task->data[1] + 1) % 3 == 0) { From 7e684b32f108bc484f3f8ba66b209d3f633e8acd Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 26 Nov 2018 22:27:19 -0500 Subject: [PATCH 148/222] More documentation of fame checker --- asm/item_menu.s | 6 +- asm/item_use.s | 24 ++-- asm/start_menu.s | 4 +- asm/teachy_tv.s | 4 +- charmap.txt | 6 + data/data_83FECCC.s | 6 +- data/fame_checker/img_845cf00.png | Bin 240 -> 297 bytes include/fame_checker.h | 19 +++ include/item_menu.h | 2 +- src/fame_checker.c | 209 +++++++++++++----------------- 10 files changed, 138 insertions(+), 142 deletions(-) diff --git a/asm/item_menu.s b/asm/item_menu.s index 5ad6b8b5c..16d1cfce2 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -138,8 +138,8 @@ _08107EB0: .4byte gUnknown_203AD10 _08107EB4: .4byte gUnknown_203ACFC thumb_func_end sub_8107DB4 - thumb_func_start sub_8107EB8 -sub_8107EB8: @ 8107EB8 + thumb_func_start UseFameCheckerFromMenu +UseFameCheckerFromMenu: @ 8107EB8 push {lr} ldr r2, _08107EC8 @ =sub_80568A8 movs r0, 0 @@ -149,7 +149,7 @@ sub_8107EB8: @ 8107EB8 bx r0 .align 2, 0 _08107EC8: .4byte sub_80568A8 - thumb_func_end sub_8107EB8 + thumb_func_end UseFameCheckerFromMenu thumb_func_start sub_8107ECC sub_8107ECC: @ 8107ECC diff --git a/asm/item_use.s b/asm/item_use.s index 49d517eb5..f653247d9 100644 --- a/asm/item_use.s +++ b/asm/item_use.s @@ -320,7 +320,7 @@ sub_80A1208: @ 80A1208 ldr r0, _080A1224 @ =gUnknown_203AD30 ldrh r0, [r0] strh r0, [r1, 0x20] - ldr r1, _080A1228 @ =sub_8107EB8 + ldr r1, _080A1228 @ =UseFameCheckerFromMenu mov r0, sp movs r2, 0 bl sub_80BEBEC @@ -329,7 +329,7 @@ sub_80A1208: @ 80A1208 bx r0 .align 2, 0 _080A1224: .4byte gUnknown_203AD30 -_080A1228: .4byte sub_8107EB8 +_080A1228: .4byte UseFameCheckerFromMenu thumb_func_end sub_80A1208 thumb_func_start sub_80A122C @@ -1045,14 +1045,14 @@ _080A17D0: .4byte sub_80A17E8 thumb_func_start sub_80A17D4 sub_80A17D4: @ 80A17D4 push {lr} - ldr r1, _080A17E4 @ =sub_8107EB8 + ldr r1, _080A17E4 @ =UseFameCheckerFromMenu movs r0, 0 movs r2, 0 bl sub_81317F8 pop {r0} bx r0 .align 2, 0 -_080A17E4: .4byte sub_8107EB8 +_080A17E4: .4byte UseFameCheckerFromMenu thumb_func_end sub_80A17D4 thumb_func_start sub_80A17E8 @@ -1123,14 +1123,14 @@ _080A1868: .4byte sub_80A1880 thumb_func_start sub_80A186C sub_80A186C: @ 80A186C push {lr} - ldr r1, _080A187C @ =sub_8107EB8 + ldr r1, _080A187C @ =UseFameCheckerFromMenu movs r0, 0 movs r2, 0 bl sub_813CD50 pop {r0} bx r0 .align 2, 0 -_080A187C: .4byte sub_8107EB8 +_080A187C: .4byte UseFameCheckerFromMenu thumb_func_end sub_80A186C thumb_func_start sub_80A1880 @@ -1239,13 +1239,13 @@ _080A1948: .4byte sub_80A1960 thumb_func_start sub_80A194C sub_80A194C: @ 80A194C push {lr} - ldr r1, _080A195C @ =sub_8107EB8 + ldr r1, _080A195C @ =UseFameCheckerFromMenu movs r0, 0 bl sub_815ABC4 pop {r0} bx r0 .align 2, 0 -_080A195C: .4byte sub_8107EB8 +_080A195C: .4byte UseFameCheckerFromMenu thumb_func_end sub_80A194C thumb_func_start sub_80A1960 @@ -1646,13 +1646,13 @@ _080A1CA8: .4byte sub_80A1CC0 thumb_func_start sub_80A1CAC sub_80A1CAC: @ 80A1CAC push {lr} - ldr r1, _080A1CBC @ =sub_8107EB8 + ldr r1, _080A1CBC @ =UseFameCheckerFromMenu movs r0, 0 bl sub_80BFF50 pop {r0} bx r0 .align 2, 0 -_080A1CBC: .4byte sub_8107EB8 +_080A1CBC: .4byte UseFameCheckerFromMenu thumb_func_end sub_80A1CAC thumb_func_start sub_80A1CC0 @@ -1730,12 +1730,12 @@ _080A1D54: .4byte sub_80A1D68 thumb_func_start sub_80A1D58 sub_80A1D58: @ 80A1D58 push {lr} - ldr r0, _080A1D64 @ =sub_8107EB8 + ldr r0, _080A1D64 @ =UseFameCheckerFromMenu bl UseFameChecker pop {r0} bx r0 .align 2, 0 -_080A1D64: .4byte sub_8107EB8 +_080A1D64: .4byte UseFameCheckerFromMenu thumb_func_end sub_80A1D58 thumb_func_start sub_80A1D68 diff --git a/asm/start_menu.s b/asm/start_menu.s index 55dbb7357..43155b5da 100644 --- a/asm/start_menu.s +++ b/asm/start_menu.s @@ -911,14 +911,14 @@ _0806F498: bl play_some_sound bl sub_806EF18 bl sub_80563F0 - ldr r0, _0806F4B0 @ =sub_8107EB8 + ldr r0, _0806F4B0 @ =UseFameCheckerFromMenu bl SetMainCallback2 movs r0, 0x1 _0806F4AC: pop {r1} bx r1 .align 2, 0 -_0806F4B0: .4byte sub_8107EB8 +_0806F4B0: .4byte UseFameCheckerFromMenu thumb_func_end sub_806F480 thumb_func_start sub_806F4B4 diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index 55f403f8a..48f98a2b4 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -915,7 +915,7 @@ sub_815B2C0: @ 815B2C0 beq _0815B30A subs r0, r4, 0x6 ldr r1, [r0] - ldr r0, _0815B32C @ =sub_8107EB8 + ldr r0, _0815B32C @ =UseFameCheckerFromMenu cmp r1, r0 bne _0815B330 _0815B30A: @@ -932,7 +932,7 @@ _0815B31C: .4byte gTasks+0x8 _0815B320: .4byte gPaletteFade _0815B324: .4byte gUnknown_203F44A _0815B328: .4byte gMain -_0815B32C: .4byte sub_8107EB8 +_0815B32C: .4byte UseFameCheckerFromMenu _0815B330: movs r0, 0x5 bl PlaySE diff --git a/charmap.txt b/charmap.txt index 9441532b4..ad4062731 100644 --- a/charmap.txt +++ b/charmap.txt @@ -326,6 +326,12 @@ UNKNOWN_F7 = F7 UNKNOWN_F8 = F8 UNKNOWN_F9 = F9 +KEYGFX_A_BUTTON = F8 00 +KEYGFX_B_BUTTON = F8 01 +KEYGFX_START_BUTTON = F8 04 +KEYGFX_DPAD_UP_DOWN = F8 0A +KEYGFX_DPAD_ANY = F8 0C + STRING = FD @ string placeholders diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 7c2d85f03..402cd6704 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -2091,13 +2091,13 @@ gUnknown_841E58D:: @ 841E58D .incbin "baserom.gba", 0x41E58D, 0x17 gUnknown_841E5A4:: @ 841E5A4 - .incbin "baserom.gba", 0x41E5A4, 0x15 + .string "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_A_BUTTON}OK$" gUnknown_841E5B9:: @ 841E5B9 - .incbin "baserom.gba", 0x41E5B9, 0x19 + .string "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_B_BUTTON}CANCEL$" gUnknown_841E5D2:: @ 841E5D2 - .string "{UNKNOWN_F8 0x0C}PICK {UNKNOWN_F8 0x00}READ {UNKNOWN_F8 0x01}CANCEL$" + .string "{KEYGFX_DPAD_ANY}PICK {KEYGFX_A_BUTTON}READ {UNKNOWN_F8 0x01}CANCEL$" gUnknown_841E5E9:: @ 841E5E9 .string "OAK$" diff --git a/data/fame_checker/img_845cf00.png b/data/fame_checker/img_845cf00.png index 2d25bb1b30cad602837f6a41ab729f106e59de52..0d692439a4edc754c3211c5c2f5bbc3b11047edb 100644 GIT binary patch delta 281 zcmeysxRPmtWIZzj14Cm-`f(s-5a1Kynw6CWWTJuY?(V&N_ntj__T9U8&z?QIckkYo zEnEKo{|{9B@_hC&plZgFAirP+hi5m^fSl!?E{-7@6W31I$k*f`;Ie)5!TPO>C-Pr7 za<3&LSL21I&x%vZu9Dy&y4hqcbB_wnRBTmE&N=z@K4Q?EH;ZB zI#Rey9{B`1Tfb(IV|)_IVDmZloBHfi513?{hK!0=abeVl5*X)y-z z=imNK(7p2GMB#Jh{U2Y|&B~B)T(scYck@SE69u^iw!V3PIXDkZ88J2$;^<0G3 U-~4^^XD!ITp00i_>zopr08p}h{r~^~ delta 223 zcmV<503iRV0`LKl8Gir(005KW$SD8-0Jlj*K~yM_ozbxlf-n#U;J(5S!QEoi&A{Z= z#DSfGIBQ7UP4oeDVdGt8VXJNL%Aq5-H23B2l^n|cm0Av6_XDGL)eD54CBTbdAAtiD zQ4*kt2R#+RD9{J^2pk03O2E(D*4dS&GHig;1aBbmum+A1R#^VZCBgt?_qN*AfT33a zoV9+qgI=+Pi`unk_07_1 && sFameCheckerData->savedCallback != sub_8107EB8) + if ((JOY_NEW(SELECT_BUTTON)) && !sFameCheckerData->inPickMode && sFameCheckerData->savedCallback != UseFameCheckerFromMenu) task->func = sub_812CF3C; else if (JOY_NEW(START_BUTTON)) { - r4 = sub_812E064(); + r4 = FameCheckerGetCursorY(); if (sub_812C8F8(taskId) == TRUE) { PlaySE(SE_W100); } - else if (r4 != sFameCheckerData->unk_07_2 - 1) + else if (r4 != sFameCheckerData->numUnlockedPersons - 1) { PlaySE(SE_W100); FillWindowPixelRect(3, 0x00, 0, 0, 88, 32); @@ -639,9 +610,9 @@ static void sub_812C694(u8 taskId) else if (JOY_NEW(A_BUTTON)) { r4 = ListMenuHandleInput(0); - if (r4 == sFameCheckerData->unk_07_2 - 1) + if (r4 == sFameCheckerData->numUnlockedPersons - 1) task->func = sub_812CF3C; - else if (sFameCheckerData->unk_07_1) + else if (sFameCheckerData->inPickMode) { if (!IsTextPrinterActive(2) && sub_812D6B4() == TRUE) sub_812CD3C(); @@ -680,7 +651,7 @@ static void sub_812C694(u8 taskId) static bool8 sub_812C8F8(u8 taskId) { struct Task *task = &gTasks[taskId]; - if (sFameCheckerData->unk_07_1) + if (sFameCheckerData->inPickMode) { gSprites[task->data[2]].data[0] = 2; gSprites[task->data[2]].pos2.x += 10; @@ -706,7 +677,7 @@ static void sub_812C9BC(u8 taskId) if (gSprites[task->data[2]].data[0] == 0) { sub_812CD3C(); - sFameCheckerData->unk_07_1 = TRUE; + sFameCheckerData->inPickMode = TRUE; task->func = sub_812C694; } else @@ -726,8 +697,8 @@ static void sub_812CA1C(u8 taskId) sub_812D0F4(0); sub_812E178(1, 4); sub_812E178(2, 2); - sFameCheckerData->unk_07_1 = FALSE; - sub_812D9A8(taskId, sub_812E064()); + sFameCheckerData->inPickMode = FALSE; + sub_812D9A8(taskId, FameCheckerGetCursorY()); task->func = sub_812C694; gSprites[task->data[3]].callback = sub_812D800; } @@ -825,7 +796,7 @@ static void sub_812CC68(u8 taskId, s8 dx, s8 dy) static void sub_812CD3C(void) { u8 r8 = 0; - u16 r6 = sub_812E064(); + u16 r6 = FameCheckerGetCursorY(); if (gSaveBlock1Ptr->fameChecker[sFameCheckerData->unlockedPersons[r6]].unk_0_0 != 2) { sub_812CE9C(); @@ -845,7 +816,7 @@ static void sub_812CD3C(void) static void sub_812CE04(u8 taskId) { s16 *data = gTasks[taskId].data; - u16 r5 = sub_812E064(); + u16 r5 = FameCheckerGetCursorY(); FillWindowPixelRect(2, 0x11, 0, 0, 0xd0, 0x20); StringExpandPlaceholders(gStringVar4, gUnknown_845F6BC[sFameCheckerData->unlockedPersons[r5] * 6 + data[1]]); AddTextPrinterParametrized(2, 2, gStringVar4, sub_80F78A8(), NULL, 2, 1, 3); @@ -895,9 +866,9 @@ static void sub_812CF7C(u8 taskId) if (!gPaletteFade.active) { - if (sFameCheckerData->unk_07_1) + if (sFameCheckerData->inPickMode) { - sub_812D9A8(taskId, sub_812E064()); + sub_812D9A8(taskId, FameCheckerGetCursorY()); FreeSpriteOamMatrix(&gSprites[gTasks[taskId].data[3]]); DestroySprite(&gSprites[gTasks[taskId].data[3]]); } @@ -981,7 +952,7 @@ static bool8 sub_812D1A8(u8 a0) if ((gSaveBlock1Ptr->fameChecker[sFameCheckerData->unlockedPersons[a0]].unk_0_2 >> r6) & 1) { sFameCheckerData->spriteIds[r6] = sub_805EB44( - gUnknown_845F83C[sFameCheckerData->unlockedPersons[a0] * 6 + r6], + sFameCheckerArrayNpcGraphicsIds[sFameCheckerData->unlockedPersons[a0] * 6 + r6], r6, 47 * (r6 % 3) + 0x72, 27 * (r6 / 3) + 0x2F @@ -990,7 +961,7 @@ static bool8 sub_812D1A8(u8 a0) } else { - sFameCheckerData->spriteIds[r6] = sub_812D780( + sFameCheckerData->spriteIds[r6] = PlaceQuestionMarkTile( 47 * (r6 % 3) + 0x72, 27 * (r6 / 3) + 0x1F ); @@ -1000,7 +971,7 @@ static bool8 sub_812D1A8(u8 a0) if (r5 == TRUE) { sFameCheckerData->unk_07_0 = TRUE; - if (sFameCheckerData->unk_07_1) + if (sFameCheckerData->inPickMode) sub_812D0F4(TRUE); else sub_812D0F4(FALSE); @@ -1120,7 +1091,7 @@ static void sub_812D650(void) static bool8 sub_812D6B4(void) { u8 r2; - u8 r1 = sFameCheckerData->unlockedPersons[sub_812E064()]; + u8 r1 = sFameCheckerData->unlockedPersons[FameCheckerGetCursorY()]; for (r2 = 0; r2 < 6; r2++) { if (!((gSaveBlock1Ptr->fameChecker[r1].unk_0_2 >> r2) & 1)) @@ -1152,7 +1123,7 @@ static void sub_812D770(void) FreeSpriteTilesByTag(SPRITETAG_1001); } -static u8 sub_812D780(u8 x, u8 y) +static u8 PlaceQuestionMarkTile(u8 x, u8 y) { u8 spriteId = CreateSprite(&gUnknown_845FC78, x, y, 8); gSprites[spriteId].oam.priority = 2; @@ -1168,7 +1139,7 @@ static void sub_812D7C8(void) static u8 sub_812D7E4(void) { - return CreateSprite(&gUnknown_845FCB8, 0xe2, 0x42, 0); + return CreateSprite(&sSpinningPokeballSpriteTemplate, 0xe2, 0x42, 0); } static void sub_812D800(struct Sprite * sprite) @@ -1212,28 +1183,28 @@ static void sub_812D840(struct Sprite * sprite) static u8 sub_812D888(u8 a0) { u8 r4; - if (a0 == 1) + if (a0 == FAMECHECKER_DAISY) { - r4 = CreateSprite(&gUnknown_845FCE4, 0x94, 0x42, 0); - LoadPalette(gUnknown_845ED60, 0x160, 0x20); + r4 = CreateSprite(&sDaisySpriteTemplate, 0x94, 0x42, 0); + LoadPalette(sDaisySpritePalette, 0x160, 0x20); gSprites[r4].oam.paletteNum = 6; } - else if (a0 == 14) + else if (a0 == FAMECHECKER_MRFUJI) { - r4 = CreateSprite(&gUnknown_845FCFC, 0x94, 0x42, 0); - LoadPalette(gUnknown_845DD20, 0x160, 0x20); + r4 = CreateSprite(&sFujiSpriteTemplate, 0x94, 0x42, 0); + LoadPalette(sFujiSpritePalette, 0x160, 0x20); gSprites[r4].oam.paletteNum = 6; } - else if (a0 == 0) + else if (a0 == FAMECHECKER_OAK) { - r4 = CreateSprite(&gUnknown_845FD14, 0x94, 0x42, 0); - LoadPalette(gUnknown_845F580, 0x160, 0x20); + r4 = CreateSprite(&sOakSpriteTemplate, 0x94, 0x42, 0); + LoadPalette(sOakSpritePalette, 0x160, 0x20); gSprites[r4].oam.paletteNum = 6; } - else if (a0 == 13) + else if (a0 == FAMECHECKER_BILL) { - r4 = CreateSprite(&gUnknown_845FD2C, 0x94, 0x42, 0); - LoadPalette(gUnknown_845E540, 0x160, 0x20); + r4 = CreateSprite(&sBillSpriteTemplate, 0x94, 0x42, 0); + LoadPalette(sBillSpritePalette, 0x160, 0x20); gSprites[r4].oam.paletteNum = 6; } else @@ -1250,12 +1221,12 @@ static void sub_812D9A8(u8 taskId, u16 a1) { s16 * data = gTasks[taskId].data; u16 r1 = a1; - if (a1 == sFameCheckerData->unk_07_2 - 1) + if (a1 == sFameCheckerData->numUnlockedPersons - 1) r1 = a1 - 1; - if ( sFameCheckerData->unlockedPersons[r1] == 1 - || sFameCheckerData->unlockedPersons[r1] == 14 - || sFameCheckerData->unlockedPersons[r1] == 0 - || sFameCheckerData->unlockedPersons[r1] == 13 + if ( sFameCheckerData->unlockedPersons[r1] == FAMECHECKER_DAISY + || sFameCheckerData->unlockedPersons[r1] == FAMECHECKER_MRFUJI + || sFameCheckerData->unlockedPersons[r1] == FAMECHECKER_OAK + || sFameCheckerData->unlockedPersons[r1] == FAMECHECKER_BILL ) DestroySprite(&gSprites[data[2]]); else @@ -1265,7 +1236,7 @@ static void sub_812D9A8(u8 taskId, u16 a1) static void sub_812DA14(u8 a0) { s32 width; - u32 r5 = 6 * sFameCheckerData->unlockedPersons[sub_812E064()] + a0; + u32 r5 = 6 * sFameCheckerData->unlockedPersons[FameCheckerGetCursorY()] + a0; sub_812E094(1); gUnknown_3005EC8 = 1; FillWindowPixelRect(3, 0x00, 0, 0, 0x58, 0x20); @@ -1286,7 +1257,7 @@ static void sub_812DB10(void) static void sub_812DB28(void) { sub_812DB64(); - sFameCheckerData->unk_07_2 = sub_812DEF0(); + sFameCheckerData->numUnlockedPersons = sub_812DEF0(); sFameCheckerData->scrollIndicatorArrowObjectTaskId = ListMenuInit(&gFameChecker_ListMenuTemplate, 0, 0); sub_812DFE4(0); } @@ -1329,11 +1300,11 @@ static void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) task->data[1] = 0; get_coro_args_x18_x1A(sFameCheckerData->scrollIndicatorArrowObjectTaskId, &sp8, NULL); sFameCheckerData->unk_04 = sp8; - if (itemIndex != sFameCheckerData->unk_07_2 - 1) + if (itemIndex != sFameCheckerData->numUnlockedPersons - 1) { sub_812D174(); sub_812D1A8(itemIndex); - if (sFameCheckerData->unk_07_1) + if (sFameCheckerData->inPickMode) { if (!sFameCheckerData->unk_23_2) { @@ -1358,7 +1329,7 @@ static void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) else { sub_812DDAC(); - if (sFameCheckerData->unk_07_1) + if (sFameCheckerData->inPickMode) { gSprites[task->data[2]].invisible = TRUE; sFameCheckerData->unk_23_2 = TRUE; @@ -1403,7 +1374,7 @@ static void sub_812DDF0(s32 itemIndex, bool8 onInit) { if (sp14 < sFameCheckerData->unk_0A) sFameCheckerData->unk_0B++; - else if (sp14 > sFameCheckerData->unk_0A && r6 != sFameCheckerData->unk_07_2 - 1) + else if (sp14 > sFameCheckerData->unk_0A && r6 != sFameCheckerData->numUnlockedPersons - 1) sFameCheckerData->unk_0B--; AddTextPrinterParametrized2(0, 2, 8, 14 * sFameCheckerData->unk_0B + 4, 0, 0, &gUnknown_845F5E3, 0, sListMenuItems[sFameCheckerData->unk_09].unk_00); @@ -1472,21 +1443,21 @@ static void sub_812E000(void) 0 }; - if (sFameCheckerData->unk_07_2 > 5) + if (sFameCheckerData->numUnlockedPersons > 5) { sp0.unk_06 = 0; - sp0.unk_08 = sFameCheckerData->unk_07_2 - 5; + sp0.unk_08 = sFameCheckerData->numUnlockedPersons - 5; sFameCheckerData->unk_06 = AddScrollIndicatorArrowPair(&sp0, &sFameCheckerData->unk_04); } } static void sub_812E048(void) { - if (sFameCheckerData->unk_07_2 > 5) + if (sFameCheckerData->numUnlockedPersons > 5) RemoveScrollIndicatorArrowPair(sFameCheckerData->unk_06); } -static u16 sub_812E064(void) +static u16 FameCheckerGetCursorY(void) { u16 sp0, sp2; get_coro_args_x18_x1A(sFameCheckerData->scrollIndicatorArrowObjectTaskId, &sp0, &sp2); From a738e3dca5563355df0b31323a95e017ce9205d6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 27 Nov 2018 08:44:24 -0500 Subject: [PATCH 149/222] More documentation and enums --- include/fame_checker.h | 6 ++++ include/global.berry.h | 2 -- include/global.fieldmap.h | 2 -- include/global.h | 4 +-- src/fame_checker.c | 74 +++++++++++++++++++-------------------- 5 files changed, 45 insertions(+), 43 deletions(-) diff --git a/include/fame_checker.h b/include/fame_checker.h index bc653740e..fad629108 100644 --- a/include/fame_checker.h +++ b/include/fame_checker.h @@ -22,6 +22,12 @@ enum { FAMECHECKER_GIOVANNI }; +enum { + FCPICKSTATE_NO_DRAW, + FCPICKSTATE_SILHOUETTE, + FCPICKSTATE_COLORED +}; + void ResetFameChecker(void); void UseFameChecker(MainCallback savedCallback); diff --git a/include/global.berry.h b/include/global.berry.h index f9e27b186..5c8a43a02 100644 --- a/include/global.berry.h +++ b/include/global.berry.h @@ -1,8 +1,6 @@ #ifndef GUARD_GLOBAL_BERRY_H #define GUARD_GLOBAL_BERRY_H -#include "global.h" - #define BERRY_NAME_COUNT 7 #define BERRY_ITEM_EFFECT_COUNT 18 diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 98077d8d4..ed5054b7d 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -1,8 +1,6 @@ #ifndef GUARD_GLOBAL_FIELDMAP_H #define GUARD_GLOBAL_FIELDMAP_H -#include "global.h" - #define NUM_FIELD_OBJECTS 16 enum diff --git a/include/global.h b/include/global.h index 84597dba0..d99f912ae 100644 --- a/include/global.h +++ b/include/global.h @@ -574,8 +574,8 @@ struct QuestLog struct FameCheckerSaveData { - /*3a54*/ u16 unk_0_0:2; - u16 unk_0_2:12; + /*3a54*/ u16 pickState:2; + u16 flavorTextFlags:12; u16 unk_0_E:2; }; diff --git a/src/fame_checker.c b/src/fame_checker.c index 2bff79146..723fffefe 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -39,15 +39,15 @@ struct FameCheckerData { MainCallback savedCallback; - u16 unk_04; + u16 listMenuTopIdx; u8 unk_06; - u8 unk_07_0:1; + u8 personHasUnlockedPanels:1; u8 inPickMode:1; u8 numUnlockedPersons:6; u8 scrollIndicatorArrowObjectTaskId; - u8 unk_09; - u8 unk_0A; - u8 unk_0B; + u8 listMenuCurIdx; + u8 listMenuTopIdx2; + u8 listMenuDrawnSelIdx; u8 unlockedPersons[17]; u8 spriteIds[6]; u8 unk_23_0:1; @@ -473,9 +473,9 @@ void UseFameChecker(MainCallback savedCallback) SetVBlankCallback(NULL); sFameCheckerData = AllocZeroed(sizeof(struct FameCheckerData)); sFameCheckerData->savedCallback = savedCallback; - sFameCheckerData->unk_09 = 0; - sFameCheckerData->unk_0A = 0; - sFameCheckerData->unk_0B = 0; + sFameCheckerData->listMenuCurIdx = 0; + sFameCheckerData->listMenuTopIdx2 = 0; + sFameCheckerData->listMenuDrawnSelIdx = 0; sFameCheckerData->unk_23_0 = FALSE; PlaySE(SE_W202); SetMainCallback2(sub_812C3F8); @@ -550,7 +550,7 @@ static void sub_812C3F8(void) SetGpuReg(REG_OFFSET_BLDALPHA, 0x07); SetGpuReg(REG_OFFSET_BLDY, 0x08); SetVBlankCallback(sub_812C380); - sFameCheckerData->unk_04 = 0; + sFameCheckerData->listMenuTopIdx = 0; sub_812E000(); sub_812E178(1, 4); CreateTask(sub_812C664, 0x08); @@ -617,7 +617,7 @@ static void sub_812C694(u8 taskId) if (!IsTextPrinterActive(2) && sub_812D6B4() == TRUE) sub_812CD3C(); } - else if (sFameCheckerData->unk_07_0) + else if (sFameCheckerData->personHasUnlockedPanels) { PlaySE(SE_SELECT); task->data[0] = sub_812D724(task->data[1]); @@ -693,7 +693,7 @@ static void sub_812CA1C(u8 taskId) ChangeBgX(1, 0x000, 0); if (gSprites[task->data[2]].data[0] == 0) { - if (sFameCheckerData->unk_07_0) + if (sFameCheckerData->personHasUnlockedPanels) sub_812D0F4(0); sub_812E178(1, 4); sub_812E178(2, 2); @@ -797,7 +797,7 @@ static void sub_812CD3C(void) { u8 r8 = 0; u16 r6 = FameCheckerGetCursorY(); - if (gSaveBlock1Ptr->fameChecker[sFameCheckerData->unlockedPersons[r6]].unk_0_0 != 2) + if (gSaveBlock1Ptr->fameChecker[sFameCheckerData->unlockedPersons[r6]].pickState != FCPICKSTATE_COLORED) { sub_812CE9C(); sub_812C990(); @@ -949,7 +949,7 @@ static bool8 sub_812D1A8(u8 a0) u8 r6; for (r6 = 0; r6 < 6; r6++) { - if ((gSaveBlock1Ptr->fameChecker[sFameCheckerData->unlockedPersons[a0]].unk_0_2 >> r6) & 1) + if ((gSaveBlock1Ptr->fameChecker[sFameCheckerData->unlockedPersons[a0]].flavorTextFlags >> r6) & 1) { sFameCheckerData->spriteIds[r6] = sub_805EB44( sFameCheckerArrayNpcGraphicsIds[sFameCheckerData->unlockedPersons[a0] * 6 + r6], @@ -970,7 +970,7 @@ static bool8 sub_812D1A8(u8 a0) } if (r5 == TRUE) { - sFameCheckerData->unk_07_0 = TRUE; + sFameCheckerData->personHasUnlockedPanels = TRUE; if (sFameCheckerData->inPickMode) sub_812D0F4(TRUE); else @@ -978,7 +978,7 @@ static bool8 sub_812D1A8(u8 a0) } else { - sFameCheckerData->unk_07_0 = FALSE; + sFameCheckerData->personHasUnlockedPanels = FALSE; sub_812D0F4(TRUE); } return r5; @@ -989,11 +989,11 @@ void ResetFameChecker(void) u8 r4; for (r4 = 0; r4 < 16; r4++) { - gSaveBlock1Ptr->fameChecker[r4].unk_0_0 = 0; - gSaveBlock1Ptr->fameChecker[r4].unk_0_2 = 0; + gSaveBlock1Ptr->fameChecker[r4].pickState = FCPICKSTATE_NO_DRAW; + gSaveBlock1Ptr->fameChecker[r4].flavorTextFlags = 0; gSaveBlock1Ptr->fameChecker[r4].unk_0_E = 0; } - gSaveBlock1Ptr->fameChecker[0].unk_0_0 = 2; + gSaveBlock1Ptr->fameChecker[0].pickState = FCPICKSTATE_COLORED; } static void sub_812D388(void) @@ -1001,10 +1001,10 @@ static void sub_812D388(void) u8 r5, r4; for (r5 = 0; r5 < 16; r5++) { - gSaveBlock1Ptr->fameChecker[r5].unk_0_0 = 2; + gSaveBlock1Ptr->fameChecker[r5].pickState = FCPICKSTATE_COLORED; for (r4 = 0; r4 < 6; r4++) { - gSaveBlock1Ptr->fameChecker[r5].unk_0_2 |= (1 << r4); + gSaveBlock1Ptr->fameChecker[r5].flavorTextFlags |= (1 << r4); } } } @@ -1070,7 +1070,7 @@ static void sub_812D5EC(void) { if (gUnknown_20370C0 < 16 && gSpecialVar_0x8005 < 6) { - gSaveBlock1Ptr->fameChecker[gUnknown_20370C0].unk_0_2 |= (1 << gSpecialVar_0x8005); + gSaveBlock1Ptr->fameChecker[gUnknown_20370C0].flavorTextFlags |= (1 << gSpecialVar_0x8005); gSpecialVar_0x8005 = 1; sub_812D650(); } @@ -1082,9 +1082,9 @@ static void sub_812D650(void) { if (gSpecialVar_0x8005 == 0) return; - if (gSpecialVar_0x8005 == 1 && gSaveBlock1Ptr->fameChecker[gUnknown_20370C0].unk_0_0 == 2) + if (gSpecialVar_0x8005 == 1 && gSaveBlock1Ptr->fameChecker[gUnknown_20370C0].pickState == FCPICKSTATE_COLORED) return; - gSaveBlock1Ptr->fameChecker[gUnknown_20370C0].unk_0_0 = gSpecialVar_0x8005; + gSaveBlock1Ptr->fameChecker[gUnknown_20370C0].pickState = gSpecialVar_0x8005; } } @@ -1094,7 +1094,7 @@ static bool8 sub_812D6B4(void) u8 r1 = sFameCheckerData->unlockedPersons[FameCheckerGetCursorY()]; for (r2 = 0; r2 < 6; r2++) { - if (!((gSaveBlock1Ptr->fameChecker[r1].unk_0_2 >> r2) & 1)) + if (!((gSaveBlock1Ptr->fameChecker[r1].flavorTextFlags >> r2) & 1)) return FALSE; } return TRUE; @@ -1212,7 +1212,7 @@ static u8 sub_812D888(u8 a0) r4 = sub_810C2A4(gUnknown_845F61C[a0], 1, 0x94, 0x42, 6, 0xFFFF); } gSprites[r4].callback = sub_812D840; - if (gSaveBlock1Ptr->fameChecker[a0].unk_0_0 == 1) + if (gSaveBlock1Ptr->fameChecker[a0].pickState == FCPICKSTATE_SILHOUETTE) LoadPalette(gUnknown_845F5C0, 0x160, 0x20); return r4; } @@ -1290,7 +1290,7 @@ static void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) u8 taskId; u16 r9; sLastMenuIdx = 0; - r9 = sFameCheckerData->unk_0A + sFameCheckerData->unk_0B; + r9 = sFameCheckerData->listMenuTopIdx2 + sFameCheckerData->listMenuDrawnSelIdx; sub_812DDF0(itemIndex, onInit); taskId = FindTaskIdByFunc(sub_812C694); if (taskId != 0xFF) @@ -1299,7 +1299,7 @@ static void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) PlaySE(SE_SELECT); task->data[1] = 0; get_coro_args_x18_x1A(sFameCheckerData->scrollIndicatorArrowObjectTaskId, &sp8, NULL); - sFameCheckerData->unk_04 = sp8; + sFameCheckerData->listMenuTopIdx = sp8; if (itemIndex != sFameCheckerData->numUnlockedPersons - 1) { sub_812D174(); @@ -1372,16 +1372,16 @@ static void sub_812DDF0(s32 itemIndex, bool8 onInit) AddTextPrinterParametrized2(0, 2, 8, 14 * sp16 + 4, 0, 0, &gUnknown_845F5E6, 0, sListMenuItems[itemIndex].unk_00); if (!onInit) { - if (sp14 < sFameCheckerData->unk_0A) - sFameCheckerData->unk_0B++; - else if (sp14 > sFameCheckerData->unk_0A && r6 != sFameCheckerData->numUnlockedPersons - 1) - sFameCheckerData->unk_0B--; - AddTextPrinterParametrized2(0, 2, 8, 14 * sFameCheckerData->unk_0B + 4, 0, 0, &gUnknown_845F5E3, 0, sListMenuItems[sFameCheckerData->unk_09].unk_00); + if (sp14 < sFameCheckerData->listMenuTopIdx2) + sFameCheckerData->listMenuDrawnSelIdx++; + else if (sp14 > sFameCheckerData->listMenuTopIdx2 && r6 != sFameCheckerData->numUnlockedPersons - 1) + sFameCheckerData->listMenuDrawnSelIdx--; + AddTextPrinterParametrized2(0, 2, 8, 14 * sFameCheckerData->listMenuDrawnSelIdx + 4, 0, 0, &gUnknown_845F5E3, 0, sListMenuItems[sFameCheckerData->listMenuCurIdx].unk_00); } - sFameCheckerData->unk_09 = itemIndex; - sFameCheckerData->unk_0B = sp16; - sFameCheckerData->unk_0A = sp14; + sFameCheckerData->listMenuCurIdx = itemIndex; + sFameCheckerData->listMenuDrawnSelIdx = sp16; + sFameCheckerData->listMenuTopIdx2 = sp14; } static u8 sub_812DEF0(void) @@ -1392,7 +1392,7 @@ static u8 sub_812DEF0(void) for (r6 = 0; r6 < 16; r6++) { u8 r5 = sub_812D0C0(r6); - if (gSaveBlock1Ptr->fameChecker[r5].unk_0_0 != 0) + if (gSaveBlock1Ptr->fameChecker[r5].pickState != FCPICKSTATE_NO_DRAW) { if (gUnknown_845F5EA[r5] < 0xFE00) { @@ -1447,7 +1447,7 @@ static void sub_812E000(void) { sp0.unk_06 = 0; sp0.unk_08 = sFameCheckerData->numUnlockedPersons - 5; - sFameCheckerData->unk_06 = AddScrollIndicatorArrowPair(&sp0, &sFameCheckerData->unk_04); + sFameCheckerData->unk_06 = AddScrollIndicatorArrowPair(&sp0, &sFameCheckerData->listMenuTopIdx); } } From d2bd51c49f0654a7cb37a6aeb0f50b8b2d2470b1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 27 Nov 2018 16:50:10 -0500 Subject: [PATCH 150/222] Rename most assets and functions in fame_checker --- asm/berry_pouch.s | 4 +- asm/help_system.s | 4 +- asm/item_menu.s | 8 +- asm/item_pc.s | 8 +- asm/learn_move.s | 6 +- asm/list_menu.s | 4 +- asm/mailbox_pc.s | 4 +- asm/menu.s | 8 +- asm/party_menu.s | 4 +- asm/pokemon_summary_screen.s | 4 +- asm/shop.s | 8 +- asm/tm_case.s | 4 +- asm/unk_81507FC.s | 8 +- data/data_83FECCC.s | 33 +- data/text/fame_checker.inc | 640 ++++++++++---------- include/event_scripts.h | 640 ++++++++++---------- include/fame_checker.h | 13 +- include/global.h | 4 +- include/new_menu_helpers.h | 2 +- src/fame_checker.c | 1089 +++++++++++++++++----------------- 20 files changed, 1242 insertions(+), 1253 deletions(-) diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s index 323921f8b..304efdd74 100644 --- a/asm/berry_pouch.s +++ b/asm/berry_pouch.s @@ -948,7 +948,7 @@ sub_813D4D0: @ 813D4D0 bl CopyWindowToVram b _0813D52A _0813D514: - ldr r2, _0813D534 @ =gUnknown_841623B + ldr r2, _0813D534 @ =gFameCheckerText_ListMenuCursor str r5, [sp] movs r0, 0 str r0, [sp, 0x4] @@ -964,7 +964,7 @@ _0813D52A: pop {r0} bx r0 .align 2, 0 -_0813D534: .4byte gUnknown_841623B +_0813D534: .4byte gFameCheckerText_ListMenuCursor thumb_func_end sub_813D4D0 thumb_func_start sub_813D538 diff --git a/asm/help_system.s b/asm/help_system.s index b0d5c5f34..7026c65d5 100644 --- a/asm/help_system.s +++ b/asm/help_system.s @@ -2040,14 +2040,14 @@ sub_813C828: @ 813C828 adds r2, r3 lsls r2, 24 lsrs r2, 24 - ldr r0, _0813C85C @ =gUnknown_841623B + ldr r0, _0813C85C @ =gFameCheckerText_ListMenuCursor bl sub_813C4CC pop {r4} pop {r0} bx r0 .align 2, 0 _0813C858: .4byte gUnknown_203F190 -_0813C85C: .4byte gUnknown_841623B +_0813C85C: .4byte gFameCheckerText_ListMenuCursor thumb_func_end sub_813C828 thumb_func_start sub_813C860 diff --git a/asm/item_menu.s b/asm/item_menu.s index 16d1cfce2..8650e912d 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -871,7 +871,7 @@ _0810848C: bl StringCopy ldr r0, [r5] adds r0, r4 - ldr r1, _08108550 @ =gUnknown_84161C1 + ldr r1, _08108550 @ =gFameCheckerText_Cancel bl StringAppend ldr r0, _08108548 @ =gUnknown_203AD18 ldr r2, [r0] @@ -951,7 +951,7 @@ _08108540: .4byte gUnknown_203AD10 _08108544: .4byte gUnknown_203AD1C _08108548: .4byte gUnknown_203AD18 _0810854C: .4byte gUnknown_8452F60 -_08108550: .4byte gUnknown_84161C1 +_08108550: .4byte gFameCheckerText_Cancel _08108554: .4byte gUnknown_3005E70 _08108558: .4byte sub_81085A4 _0810855C: .4byte sub_8108654 @@ -1257,7 +1257,7 @@ bag_menu_print_cursor: @ 810878C bl FillWindowPixelRect b _081087DE _081087C8: - ldr r2, _081087E8 @ =gUnknown_841623B + ldr r2, _081087E8 @ =gFameCheckerText_ListMenuCursor str r5, [sp] movs r0, 0 str r0, [sp, 0x4] @@ -1273,7 +1273,7 @@ _081087DE: pop {r0} bx r0 .align 2, 0 -_081087E8: .4byte gUnknown_841623B +_081087E8: .4byte gFameCheckerText_ListMenuCursor thumb_func_end bag_menu_print_cursor thumb_func_start sub_81087EC diff --git a/asm/item_pc.s b/asm/item_pc.s index 8e71d9dc3..b222b9ca2 100644 --- a/asm/item_pc.s +++ b/asm/item_pc.s @@ -589,7 +589,7 @@ _0810D8A4: ldr r3, [r0] lsls r0, r4, 3 adds r0, r3 - ldr r1, _0810D944 @ =gUnknown_84161C1 + ldr r1, _0810D944 @ =gFameCheckerText_Cancel str r1, [r0] movs r1, 0x2 negs r1, r1 @@ -657,7 +657,7 @@ _0810D8A4: _0810D938: .4byte gSaveBlock1Ptr _0810D93C: .4byte gUnknown_203ADC4 _0810D940: .4byte gUnknown_203ADBC -_0810D944: .4byte gUnknown_84161C1 +_0810D944: .4byte gFameCheckerText_Cancel _0810D948: .4byte gUnknown_3005E70 _0810D94C: .4byte sub_810D954 _0810D950: .4byte sub_810DA20 @@ -879,7 +879,7 @@ sub_810DAD4: @ 810DAD4 bl FillWindowPixelRect b _0810DB26 _0810DB10: - ldr r2, _0810DB30 @ =gUnknown_841623B + ldr r2, _0810DB30 @ =gFameCheckerText_ListMenuCursor str r5, [sp] movs r0, 0 str r0, [sp, 0x4] @@ -895,7 +895,7 @@ _0810DB26: pop {r0} bx r0 .align 2, 0 -_0810DB30: .4byte gUnknown_841623B +_0810DB30: .4byte gFameCheckerText_ListMenuCursor thumb_func_end sub_810DAD4 thumb_func_start sub_810DB34 diff --git a/asm/learn_move.s b/asm/learn_move.s index f3f472847..fec6928d3 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -1331,7 +1331,7 @@ _080E513C: lsls r7, 1 adds r1, r7 adds r0, r1 - ldr r1, _080E51F8 @ =gUnknown_84161C1 + ldr r1, _080E51F8 @ =gFameCheckerText_Cancel bl StringCopy ldr r1, [r4] ldrb r0, [r1, 0x1A] @@ -1367,7 +1367,7 @@ _080E51AA: adds r0, r2, 0 adds r0, 0x20 adds r0, r3 - ldr r1, _080E51F8 @ =gUnknown_84161C1 + ldr r1, _080E51F8 @ =gFameCheckerText_Cancel str r1, [r0] adds r2, 0x24 adds r2, r3 @@ -1396,7 +1396,7 @@ _080E51E8: .4byte gUnknown_203AAB4 _080E51EC: .4byte gPlayerParty _080E51F0: .4byte gMoveNames _080E51F4: .4byte gStringVar1 -_080E51F8: .4byte gUnknown_84161C1 +_080E51F8: .4byte gFameCheckerText_Cancel _080E51FC: .4byte gUnknown_3005E70 _080E5200: .4byte gUnknown_83FFA94 thumb_func_end sub_80E50CC diff --git a/asm/list_menu.s b/asm/list_menu.s index 760c55311..3475b0914 100644 --- a/asm/list_menu.s +++ b/asm/list_menu.s @@ -969,14 +969,14 @@ _081075DA: beq _08107640 b _08107680 _081075E4: - ldr r1, _081075F4 @ =gUnknown_841623B + ldr r1, _081075F4 @ =gFameCheckerText_ListMenuCursor adds r0, r6, 0 mov r2, r8 adds r3, r7, 0 bl ListMenuPrint b _08107680 .align 2, 0 -_081075F4: .4byte gUnknown_841623B +_081075F4: .4byte gFameCheckerText_ListMenuCursor _081075F8: ldrb r0, [r6, 0x1E] cmp r0, 0xFF diff --git a/asm/mailbox_pc.s b/asm/mailbox_pc.s index d2933aa8b..d2cc06070 100644 --- a/asm/mailbox_pc.s +++ b/asm/mailbox_pc.s @@ -174,7 +174,7 @@ sub_810EC98: @ 810EC98 adds r6, r0, 0 movs r3, 0 ldr r7, _0810ED50 @ =gUnknown_203ADE0 - ldr r0, _0810ED54 @ =gUnknown_84161C1 + ldr r0, _0810ED54 @ =gFameCheckerText_Cancel mov r12, r0 ldr r5, _0810ED58 @ =gUnknown_3005E70 ldr r1, _0810ED5C @ =gUnknown_203ADDC @@ -262,7 +262,7 @@ _0810ECCE: bx r1 .align 2, 0 _0810ED50: .4byte gUnknown_203ADE0 -_0810ED54: .4byte gUnknown_84161C1 +_0810ED54: .4byte gFameCheckerText_Cancel _0810ED58: .4byte gUnknown_3005E70 _0810ED5C: .4byte gUnknown_203ADDC _0810ED60: .4byte gUnknown_8454003 diff --git a/asm/menu.s b/asm/menu.s index 8bea8e86f..e593eef1c 100644 --- a/asm/menu.s +++ b/asm/menu.s @@ -1391,7 +1391,7 @@ RedrawMenuCursor: @ 810F874 bl FillWindowPixelRect ldrb r0, [r5, 0x5] ldrb r1, [r5, 0x6] - ldr r2, _0810F900 @ =gUnknown_841623B + ldr r2, _0810F900 @ =gFameCheckerText_ListMenuCursor ldrb r3, [r5] ldrb r4, [r5, 0x8] mov r6, r8 @@ -1415,7 +1415,7 @@ RedrawMenuCursor: @ 810F874 bx r0 .align 2, 0 _0810F8FC: .4byte gUnknown_203ADE4 -_0810F900: .4byte gUnknown_841623B +_0810F900: .4byte gFameCheckerText_ListMenuCursor thumb_func_end RedrawMenuCursor thumb_func_start MoveMenuCursor @@ -2893,7 +2893,7 @@ sub_811037C: @ 811037C lsrs r3, 24 ldrb r0, [r5, 0x5] ldrb r1, [r5, 0x6] - ldr r2, _0811044C @ =gUnknown_841623B + ldr r2, _0811044C @ =gFameCheckerText_ListMenuCursor str r3, [sp] movs r3, 0 str r3, [sp, 0x4] @@ -2910,7 +2910,7 @@ sub_811037C: @ 811037C bx r0 .align 2, 0 _08110448: .4byte gUnknown_203ADE4 -_0811044C: .4byte gUnknown_841623B +_0811044C: .4byte gFameCheckerText_ListMenuCursor thumb_func_end sub_811037C thumb_func_start sub_8110450 diff --git a/asm/party_menu.s b/asm/party_menu.s index e58f3f0d2..55dd4059c 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -5118,7 +5118,7 @@ _08121194: ands r0, r1 cmp r0, 0xA beq _081211F0 - ldr r4, _081211E8 @ =gUnknown_84161C1 + ldr r4, _081211E8 @ =gFameCheckerText_Cancel movs r0, 0 adds r1, r4, 0 movs r2, 0 @@ -5146,7 +5146,7 @@ _08121194: .align 2, 0 _081211E0: .4byte gUnknown_845A108 _081211E4: .4byte gUnknown_203B0A0 -_081211E8: .4byte gUnknown_84161C1 +_081211E8: .4byte gFameCheckerText_Cancel _081211EC: .4byte gUnknown_8459FFC _081211F0: ldr r4, _08121240 @ =gUnknown_84161C8 diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index 073727d7f..05256c776 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -5401,7 +5401,7 @@ _081372B0: movs r1, 0x1 negs r1, r1 str r1, [sp, 0x4] - ldr r1, _081372E0 @ =gUnknown_84161C1 + ldr r1, _081372E0 @ =gFameCheckerText_Cancel str r1, [sp, 0x8] movs r1, 0x2 movs r2, 0x3 @@ -5415,7 +5415,7 @@ _081372CE: .align 2, 0 _081372D8: .4byte 0x00003003 _081372DC: .4byte gUnknown_8463EF0 -_081372E0: .4byte gUnknown_84161C1 +_081372E0: .4byte gFameCheckerText_Cancel thumb_func_end sub_8137270 thumb_func_start sub_81372E4 diff --git a/asm/shop.s b/asm/shop.s index a732c8656..263e5b3c5 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -892,7 +892,7 @@ _0809B1F2: muls r4, r0 ldr r0, [r5] adds r0, r4 - ldr r1, _0809B2CC @ =gUnknown_84161C1 + ldr r1, _0809B2CC @ =gFameCheckerText_Cancel bl StringCopy ldr r0, _0809B2D0 @ =gUnknown_2039964 ldr r2, [r0] @@ -990,7 +990,7 @@ _0809B2BC: b _0809B2E6 .align 2, 0 _0809B2C8: .4byte gUnknown_2039968 -_0809B2CC: .4byte gUnknown_84161C1 +_0809B2CC: .4byte gFameCheckerText_Cancel _0809B2D0: .4byte gUnknown_2039964 _0809B2D4: .4byte gUnknown_3005E70 _0809B2D8: .4byte gUnknown_2039934 @@ -1378,7 +1378,7 @@ sub_809B59C: @ 809B59C bl CopyWindowToVram b _0809B5F8 _0809B5E0: - ldr r2, _0809B600 @ =gUnknown_841623B + ldr r2, _0809B600 @ =gFameCheckerText_ListMenuCursor str r5, [sp] movs r0, 0 str r0, [sp, 0x4] @@ -1395,7 +1395,7 @@ _0809B5F8: pop {r0} bx r0 .align 2, 0 -_0809B600: .4byte gUnknown_841623B +_0809B600: .4byte gFameCheckerText_ListMenuCursor thumb_func_end sub_809B59C thumb_func_start sub_809B604 diff --git a/asm/tm_case.s b/asm/tm_case.s index d3bf0cbf2..7ab09953f 100644 --- a/asm/tm_case.s +++ b/asm/tm_case.s @@ -963,7 +963,7 @@ sub_8131FB0: @ 8131FB0 bl CopyWindowToVram b _0813200A _08131FF4: - ldr r2, _08132014 @ =gUnknown_841623B + ldr r2, _08132014 @ =gFameCheckerText_ListMenuCursor str r5, [sp] movs r0, 0 str r0, [sp, 0x4] @@ -979,7 +979,7 @@ _0813200A: pop {r0} bx r0 .align 2, 0 -_08132014: .4byte gUnknown_841623B +_08132014: .4byte gFameCheckerText_ListMenuCursor thumb_func_end sub_8131FB0 thumb_func_start sub_8132018 diff --git a/asm/unk_81507FC.s b/asm/unk_81507FC.s index 205bb7a85..40d5a13b0 100644 --- a/asm/unk_81507FC.s +++ b/asm/unk_81507FC.s @@ -10348,7 +10348,7 @@ _0815579C: ldr r0, [r3] adds r0, r7 ldrb r0, [r0] - ldr r2, _08155860 @ =gUnknown_841623B + ldr r2, _08155860 @ =gFameCheckerText_ListMenuCursor mov r1, r9 str r1, [sp] str r5, [sp, 0x4] @@ -10379,7 +10379,7 @@ _08155850: .4byte 0x00003009 _08155854: .4byte gUnknown_841CDD7 _08155858: .4byte gUnknown_8417938 _0815585C: .4byte gUnknown_841793C -_08155860: .4byte gUnknown_841623B +_08155860: .4byte gFameCheckerText_ListMenuCursor _08155864: .4byte 0x00003014 _08155868: bl IsDma3ManagerBusyWithBgCopy @@ -10453,7 +10453,7 @@ _081558B0: ldr r0, [r1] adds r0, r4 ldrb r1, [r0] - ldr r2, _0815591C @ =gUnknown_841623B + ldr r2, _0815591C @ =gFameCheckerText_ListMenuCursor cmp r7, 0x1 bne _08155920 mov r3, r8 @@ -10464,7 +10464,7 @@ _0815590C: .4byte 0x00003020 _08155910: .4byte 0x00003009 _08155914: .4byte gUnknown_8417938 _08155918: .4byte gUnknown_841793C -_0815591C: .4byte gUnknown_841623B +_0815591C: .4byte gFameCheckerText_ListMenuCursor _08155920: str r6, [sp] _08155922: diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 402cd6704..2e5c0e6c7 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -721,8 +721,8 @@ gUnknown_8416188:: @ 8416188 gUnknown_8416190:: @ 8416190 .incbin "baserom.gba", 0x416190, 0x31 -gUnknown_84161C1:: @ 84161C1 - .incbin "baserom.gba", 0x4161C1, 0x7 +gFameCheckerText_Cancel:: @ 84161C1 + .string "CANCEL$" gUnknown_84161C8:: @ 84161C8 .incbin "baserom.gba", 0x4161C8, 0x5 @@ -766,8 +766,8 @@ gUnknown_8416226:: @ 8416226 gUnknown_8416238:: @ 8416238 .incbin "baserom.gba", 0x416238, 0x3 -gUnknown_841623B:: @ 841623B - .incbin "baserom.gba", 0x41623B, 0x2 +gFameCheckerText_ListMenuCursor:: @ 841623B + .string "â–¶$" gUnknown_841623D:: @ 841623D .incbin "baserom.gba", 0x41623D, 0x25 @@ -1237,11 +1237,14 @@ gUnknown_84181B6:: @ 84181B6 gUnknown_84181BE:: @ 84181BE .incbin "baserom.gba", 0x4181BE, 0x5 -gUnknown_84181C3:: @ 84181C3 - .incbin "baserom.gba", 0x4181C3, 0x21 +gFameCheckerText_FameCheckerWillBeClosed:: @ 84181C3 + .string "The FAME CHECKER will be closed.$" -gUnknown_84181E4:: @ 84181E4 - .incbin "baserom.gba", 0x4181E4, 0x4AC +gFameCheckerText_ClearTextbox:: @ 84181E4 + .string "\n $" + +gUnknown_8418204:: @ 8418204 + .incbin "baserom.gba", 0x00418204, 0x48c gUnknown_8418690:: @ 8418690 .incbin "baserom.gba", 0x418690, 0x20 @@ -2090,25 +2093,25 @@ gUnknown_841E572:: @ 841E572 gUnknown_841E58D:: @ 841E58D .incbin "baserom.gba", 0x41E58D, 0x17 -gUnknown_841E5A4:: @ 841E5A4 +gFameCheckerText_MainScreenUI:: @ 841E5A4 .string "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_A_BUTTON}OK$" -gUnknown_841E5B9:: @ 841E5B9 +gFameCheckerText_PickScreenUI:: @ 841E5B9 .string "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_B_BUTTON}CANCEL$" -gUnknown_841E5D2:: @ 841E5D2 +gFameCheckerText_FlavorTextUI:: @ 841E5D2 .string "{KEYGFX_DPAD_ANY}PICK {KEYGFX_A_BUTTON}READ {UNKNOWN_F8 0x01}CANCEL$" -gUnknown_841E5E9:: @ 841E5E9 +gFameCheckerOakName:: @ 841E5E9 .string "OAK$" -gUnknown_841E5ED:: @ 841E5ED +gFameCheckerDaisyName:: @ 841E5ED .string "DAISY$" -gUnknown_841E5F3:: @ 841E5F3 +gFameCheckerBillName:: @ 841E5F3 .string "BILL$" -gUnknown_841E5F8:: @ 841E5F8 +gFameCheckerMrFujiName:: @ 841E5F8 .string "FUJI$" gUnknown_841E5FD:: @ 841E5FD diff --git a/data/text/fame_checker.inc b/data/text/fame_checker.inc index 975960e4e..d73c05dbd 100644 --- a/data/text/fame_checker.inc +++ b/data/text/fame_checker.inc @@ -1,26 +1,26 @@ -gUnknown_81AD106:: @ 0x81AD106 +gFameCheckerFlavorText_ProfOak0:: @ 0x81AD106 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" .string "{COLOR RED}{SHADOW GREEN}OAK POKéMON RESEARCH LAB$" -gUnknown_81AD145:: @ 0x81AD145 +gFameCheckerFlavorText_ProfOak1:: @ 0x81AD145 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}To make a complete guide on all\n" .string "the POKéMON in the world…\p" .string "That was my dream!$" -gUnknown_81AD1BB:: @ 0x81AD1BB +gFameCheckerFlavorText_ProfOak2:: @ 0x81AD1BB .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}PROF. OAK may not look like much,\n" .string "but he’s the authority on POKéMON.\p" .string "Many POKéMON TRAINERS hold him in\n" .string "high regard.$" -gUnknown_81AD258:: @ 0x81AD258 +gFameCheckerFlavorText_ProfOak3:: @ 0x81AD258 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" .string "{COLOR RED}{SHADOW GREEN}PROF. OAK reportedly lives with his\n" .string "grandchildren, DAISY and {RIVAL}.$" -gUnknown_81AD2B9:: @ 0x81AD2B9 +gFameCheckerFlavorText_ProfOak4:: @ 0x81AD2B9 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}I hear OAK’s taken a lot of\n" .string "interest in you, child.\p" @@ -29,57 +29,57 @@ gUnknown_81AD2B9:: @ 0x81AD2B9 .string "But that was decades ago.\n" .string "He’s a shadow of his former self.$" -gUnknown_81AD377:: @ 0x81AD377 +gFameCheckerFlavorText_ProfOak5:: @ 0x81AD377 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}PROF. OAK is going to have his own\n" .string "radio show soon.\p" .string "The program will be called PROF.\n" .string "OAK’S POKéMON SEMINAR.$" -gUnknown_81AD40C:: @ 0x81AD40C +gFameCheckerFlavorText_Daisy0:: @ 0x81AD40C .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}If you show DAISY your POKéMON,\n" .string "she can tell how much it likes you.\p" .string "Occasionally, she will even groom\n" .string "a POKéMON for you.$" -gUnknown_81AD4AE:: @ 0x81AD4AE +gFameCheckerFlavorText_Daisy1:: @ 0x81AD4AE .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}But the person who is most liked by\n" .string "POKéMON is DAISY, I think.$" -gUnknown_81AD516:: @ 0x81AD516 +gFameCheckerFlavorText_Daisy2:: @ 0x81AD516 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}She was gently grooming POKéMON…\n" .string "She was a little angel.\p" .string "That little girl’s name…\n" .string "I think it was DAISY.$" -gUnknown_81AD5A7:: @ 0x81AD5A7 +gFameCheckerFlavorText_Daisy3:: @ 0x81AD5A7 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" .string "{COLOR RED}{SHADOW GREEN}PROF. OAK reportedly lives with his\n" .string "grandchildren, DAISY and {RIVAL}.$" -gUnknown_81AD608:: @ 0x81AD608 +gFameCheckerFlavorText_Daisy4:: @ 0x81AD608 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}A girl from PALLET TOWN, DAISY,\n" .string "she enjoys TEA every day.\p" .string "She visits the CELADON DEPT. STORE\n" .string "to buy some TEA.$" -gUnknown_81AD69F:: @ 0x81AD69F +gFameCheckerFlavorText_Daisy5:: @ 0x81AD69F .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" .string "{COLOR RED}{SHADOW GREEN}The Spring POKéMON CONTEST’s\n" .string "Grand Champion is DAISY OAK of\l" .string "PALLET TOWN!$" -gUnknown_81AD705:: @ 0x81AD705 +gFameCheckerFlavorText_Brock0:: @ 0x81AD705 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" .string "{COLOR RED}{SHADOW GREEN}PEWTER CITY POKéMON GYM\n" .string "LEADER: BROCK\l" .string "The Rock-Solid POKéMON TRAINER!$" -gUnknown_81AD771:: @ 0x81AD771 +gFameCheckerFlavorText_Brock1:: @ 0x81AD771 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}My rock-hard willpower is evident\n" .string "in even my POKéMON.\p" @@ -88,7 +88,7 @@ gUnknown_81AD771:: @ 0x81AD771 .string "That’s right - my POKéMON are all\n" .string "the ROCK type!$" -gUnknown_81AD840:: @ 0x81AD840 +gFameCheckerFlavorText_Brock2:: @ 0x81AD840 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}There aren’t many serious POKéMON\n" .string "TRAINERS here.\p" @@ -97,163 +97,163 @@ gUnknown_81AD840:: @ 0x81AD840 .string "But PEWTER GYM’s BROCK isn’t like\n" .string "that, not one bit.$" -gUnknown_81AD908:: @ 0x81AD908 +gFameCheckerFlavorText_Brock3:: @ 0x81AD908 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}BROCK is cool. He’s not just tough.\n" .string "People like and respect him.\p" .string "I want to become a GYM LEADER\n" .string "like him.$" -gUnknown_81AD99A:: @ 0x81AD99A +gFameCheckerFlavorText_Brock4:: @ 0x81AD99A .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Hi, I’m excavating for fossils here\n" .string "under MT. MOON.\p" .string "Sometimes, BROCK of PEWTER GYM\n" .string "lends me a hand.$" -gUnknown_81ADA27:: @ 0x81ADA27 +gFameCheckerFlavorText_Brock5:: @ 0x81ADA27 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{COLOR RED}{SHADOW GREEN}BROCK rarely laughs, but is said to\n" .string "be unable to stop if he starts.$" -gUnknown_81ADA91:: @ 0x81ADA91 +gFameCheckerFlavorText_Misty0:: @ 0x81ADA91 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" .string "{COLOR RED}{SHADOW GREEN}CERULEAN CITY POKéMON GYM\n" .string "LEADER: MISTY\l" .string "The Tomboyish Mermaid!$" -gUnknown_81ADAF6:: @ 0x81ADAF6 +gFameCheckerFlavorText_Misty1:: @ 0x81ADAF6 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}My policy is an all-out offensive\n" .string "with WATER-type POKéMON!$" -gUnknown_81ADB5A:: @ 0x81ADB5A +gFameCheckerFlavorText_Misty2:: @ 0x81ADB5A .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}MISTY is a TRAINER who’s going to\n" .string "keep improving.\p" .string "She won’t lose to someone like you!$" -gUnknown_81ADBD9:: @ 0x81ADBD9 +gFameCheckerFlavorText_Misty3:: @ 0x81ADBD9 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Strong TRAINERS and WATER POKéMON\n" .string "are common sights in these parts.\p" .string "They say that MISTY of the\n" .string "CERULEAN GYM trains here.$" -gUnknown_81ADC72:: @ 0x81ADC72 +gFameCheckerFlavorText_Misty4:: @ 0x81ADC72 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}This cape is a famous date spot.\p" .string "MISTY, the GYM LEADER, has high\n" .string "hopes about this place.$" -gUnknown_81ADCEB:: @ 0x81ADCEB +gFameCheckerFlavorText_Misty5:: @ 0x81ADCEB .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" .string "{COLOR RED}{SHADOW GREEN}MISTY is said to worship LORELEI\n" .string "of the ELITE FOUR.$" -gUnknown_81ADD3C:: @ 0x81ADD3C +gFameCheckerFlavorText_LtSurge0:: @ 0x81ADD3C .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" .string "{COLOR RED}{SHADOW GREEN}VERMILION CITY POKéMON GYM\n" .string "LEADER: LT. SURGE\l" .string "The Lightning American!$" -gUnknown_81ADDA7:: @ 0x81ADDA7 +gFameCheckerFlavorText_LtSurge1:: @ 0x81ADDA7 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}I tell you, kid, electric POKéMON\n" .string "saved me during the war!$" -gUnknown_81ADE0B:: @ 0x81ADE0B +gFameCheckerFlavorText_LtSurge2:: @ 0x81ADE0B .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}When I was in the Army, LT. SURGE\n" .string "was my strict CO.\p" .string "He was a hard taskmaster.$" -gUnknown_81ADE82:: @ 0x81ADE82 +gFameCheckerFlavorText_LtSurge3:: @ 0x81ADE82 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}LT. SURGE was always famous for\n" .string "his cautious nature in the Army.$" -gUnknown_81ADEEC:: @ 0x81ADEEC +gFameCheckerFlavorText_LtSurge4:: @ 0x81ADEEC .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}LT. SURGE installed the traps in\n" .string "the GYM himself.\p" .string "He set up double locks everywhere.$" -gUnknown_81ADF6A:: @ 0x81ADF6A +gFameCheckerFlavorText_LtSurge5:: @ 0x81ADF6A .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" .string "{COLOR RED}{SHADOW GREEN}LT. SURGE is rumored to have been\n" .string "a pilot while home in America.\p" .string "He used the electricity generated\n" .string "by POKéMON to power his plane.$" -gUnknown_81AE009:: @ 0x81AE009 +gFameCheckerFlavorText_Erika0:: @ 0x81AE009 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" .string "{COLOR RED}{SHADOW GREEN}CELADON CITY POKéMON GYM\n" .string "LEADER: ERIKA\l" .string "The Nature-Loving Princess!$" -gUnknown_81AE072:: @ 0x81AE072 +gFameCheckerFlavorText_Erika1:: @ 0x81AE072 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}I am a student of the art of\n" .string "flower arranging.\p" .string "My POKéMON are solely of the\n" .string "GRASS type.$" -gUnknown_81AE0F3:: @ 0x81AE0F3 +gFameCheckerFlavorText_Erika2:: @ 0x81AE0F3 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}Our LEADER ERIKA might be quiet,\n" .string "but she’s famous around here.$" -gUnknown_81AE15B:: @ 0x81AE15B +gFameCheckerFlavorText_Erika3:: @ 0x81AE15B .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}We only use GRASS-type POKéMON at\n" .string "our GYM.\p" .string "Why? We also use them for making\n" .string "flower arrangements!$" -gUnknown_81AE1E5:: @ 0x81AE1E5 +gFameCheckerFlavorText_Erika4:: @ 0x81AE1E5 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}I would never collect POKéMON if\n" .string "they were unattractive.$" -gUnknown_81AE247:: @ 0x81AE247 +gFameCheckerFlavorText_Erika5:: @ 0x81AE247 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" .string "{COLOR RED}{SHADOW GREEN}Rumor has it that if you peek into\n" .string "CELADON GYM, you can often\l" .string "see ERIKA snoozing.$" -gUnknown_81AE2B6:: @ 0x81AE2B6 +gFameCheckerFlavorText_Koga0:: @ 0x81AE2B6 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" .string "{COLOR RED}{SHADOW GREEN}FUCHSIA CITY POKéMON GYM\n" .string "LEADER: KOGA\l" .string "The Poisonous Ninja Master$" -gUnknown_81AE31D:: @ 0x81AE31D +gFameCheckerFlavorText_Koga1:: @ 0x81AE31D .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Despair to the creeping horror of\n" .string "POISON-type POKéMON!$" -gUnknown_81AE37D:: @ 0x81AE37D +gFameCheckerFlavorText_Koga2:: @ 0x81AE37D .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Even though I’ve lost, I will keep\n" .string "training according to the teachings\l" .string "of KOGA, my ninja master.$" -gUnknown_81AE407:: @ 0x81AE407 +gFameCheckerFlavorText_Koga3:: @ 0x81AE407 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}My father is the GYM LEADER of\n" .string "this town.\p" .string "I’m training to use POISON POKéMON\n" .string "as well as my father.$" -gUnknown_81AE48D:: @ 0x81AE48D +gFameCheckerFlavorText_Koga4:: @ 0x81AE48D .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" .string "{COLOR RED}{SHADOW GREEN}KOGA is said to have a thorough\n" .string "knowledge of medicine.\p" .string "He even concocts medicine to nurse\n" .string "his POKéMON to health.$" -gUnknown_81AE51B:: @ 0x81AE51B +gFameCheckerFlavorText_Koga5:: @ 0x81AE51B .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}The SAFARI ZONE’s huge, wouldn’t\n" .string "you say?\p" @@ -262,55 +262,55 @@ gUnknown_81AE51B:: @ 0x81AE51B .string "Thanks to him, we can play here\n" .string "knowing that we’re safe.$" -gUnknown_81AE5E8:: @ 0x81AE5E8 +gFameCheckerFlavorText_Sabrina0:: @ 0x81AE5E8 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" .string "{COLOR RED}{SHADOW GREEN}SAFFRON CITY POKéMON GYM\n" .string "LEADER: SABRINA\l" .string "The Master of PSYCHIC POKéMON!$" -gUnknown_81AE656:: @ 0x81AE656 +gFameCheckerFlavorText_Sabrina1:: @ 0x81AE656 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}You know about a girl GYM LEADER\n" .string "in SAFFRON CITY?\p" .string "She uses PSYCHIC-type POKéMON,\n" .string "right?$" -gUnknown_81AE6D7:: @ 0x81AE6D7 +gFameCheckerFlavorText_Sabrina2:: @ 0x81AE6D7 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}I have had psychic powers since\n" .string "I was a child.\p" .string "It started when a spoon I\n" .string "carelessly tossed, bent.$" -gUnknown_81AE762:: @ 0x81AE762 +gFameCheckerFlavorText_Sabrina3:: @ 0x81AE762 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}I dislike battling, but if you wish,\n" .string "I will show you my powers!$" -gUnknown_81AE7CB:: @ 0x81AE7CB +gFameCheckerFlavorText_Sabrina4:: @ 0x81AE7CB .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" .string "{COLOR RED}{SHADOW GREEN}People say that SABRINA can\n" .string "communicate with her POKéMON\l" .string "during battle without speaking.$" -gUnknown_81AE841:: @ 0x81AE841 +gFameCheckerFlavorText_Sabrina5:: @ 0x81AE841 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}SABRINA just wiped out the KARATE\n" .string "MASTER next door.$" -gUnknown_81AE89E:: @ 0x81AE89E +gFameCheckerFlavorText_Blaine0:: @ 0x81AE89E .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" .string "{COLOR RED}{SHADOW GREEN}CINNABAR ISLAND POKéMON GYM\n" .string "LEADER: BLAINE\l" .string "The Hotheaded Quiz Master!$" -gUnknown_81AE90A:: @ 0x81AE90A +gFameCheckerFlavorText_Blaine1:: @ 0x81AE90A .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}My fiery POKéMON are all rough\n" .string "and ready with intense heat!\p" .string "They incinerate all challengers!$" -gUnknown_81AE990:: @ 0x81AE990 +gFameCheckerFlavorText_Blaine2:: @ 0x81AE990 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Our LEADER, BLAINE, became lost\n" .string "in the mountains but good.\p" @@ -319,56 +319,56 @@ gUnknown_81AE990:: @ 0x81AE990 .string "Its light allowed BLAINE to find\n" .string "his way down safely.$" -gUnknown_81AEA59:: @ 0x81AEA59 +gFameCheckerFlavorText_Blaine3:: @ 0x81AEA59 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}CINNABAR GYM’s BLAINE is quite the\n" .string "odd fellow.\p" .string "He’s lived on the island since way\n" .string "before the LAB was built.$" -gUnknown_81AEAEE:: @ 0x81AEAEE +gFameCheckerFlavorText_Blaine4:: @ 0x81AEAEE .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" .string "{COLOR RED}{SHADOW GREEN}It’s a photo of BLAINE and\n" .string "MR. FUJI.\p" .string "They’re standing shoulder to\n" .string "shoulder with big grins.$" -gUnknown_81AEB69:: @ 0x81AEB69 +gFameCheckerFlavorText_Blaine5:: @ 0x81AEB69 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" .string "{COLOR RED}{SHADOW GREEN}BLAINE is said to remove his dark\n" .string "shades only when he is thinking up\l" .string "new quiz questions.$" -gUnknown_81AEBDF:: @ 0x81AEBDF +gFameCheckerFlavorText_Lorelei0:: @ 0x81AEBDF .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}I am LORELEI of the ELITE FOUR.$" -gUnknown_81AEC28:: @ 0x81AEC28 +gFameCheckerFlavorText_Lorelei1:: @ 0x81AEC28 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}No one can best me when it comes\n" .string "to icy POKéMON.$" -gUnknown_81AEC82:: @ 0x81AEC82 +gFameCheckerFlavorText_Lorelei2:: @ 0x81AEC82 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Where was this person born?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}We’ve had a great and powerful\n" .string "TRAINER grow up on this island.\p" .string "I bet even you’d know her.\n" .string "It’s LORELEI of the ELITE FOUR!$" -gUnknown_81AED27:: @ 0x81AED27 +gFameCheckerFlavorText_Lorelei3:: @ 0x81AED27 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{COLOR RED}{SHADOW GREEN}Known for her logical, calculated,\n" .string "and cool battling style, LORELEI\l" .string "has a surprising secret!$" -gUnknown_81AEDAA:: @ 0x81AEDAA +gFameCheckerFlavorText_Lorelei4:: @ 0x81AEDAA .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}Did you know that LORELEI has lots\n" .string "and lots of stuffed dolls?\p" .string "Every time she comes back to\n" .string "FOUR ISLAND, her collection grows!$" -gUnknown_81AEE51:: @ 0x81AEE51 +gFameCheckerFlavorText_Lorelei5:: @ 0x81AEE51 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}The LAPRAS she has, I imagine it\n" .string "to be the one she met as a child.\p" @@ -377,29 +377,29 @@ gUnknown_81AEE51:: @ 0x81AEE51 .string "Perhaps that POKéMON has been with\n" .string "her ever since.$" -gUnknown_81AEF25:: @ 0x81AEF25 +gFameCheckerFlavorText_Bruno0:: @ 0x81AEF25 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}I am BRUNO of the ELITE FOUR!$" -gUnknown_81AEF6C:: @ 0x81AEF6C +gFameCheckerFlavorText_Bruno1:: @ 0x81AEF6C .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}I’ve lived and trained with my\n" .string "fighting POKéMON!$" -gUnknown_81AEFC6:: @ 0x81AEFC6 +gFameCheckerFlavorText_Bruno2:: @ 0x81AEFC6 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{COLOR RED}{SHADOW GREEN}BRUNO apparently joined the ELITE\n" .string "FOUR out of his burning ambition to\l" .string "battle the best TRAINERS.$" -gUnknown_81AF04C:: @ 0x81AF04C +gFameCheckerFlavorText_Bruno3:: @ 0x81AF04C .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}BRUNO, who’s a senior ahead of me,\n" .string "visits the SPA on occasion.\p" .string "He comes to rehab injuries, both\n" .string "his own and his POKéMON’s.$" -gUnknown_81AF0F0:: @ 0x81AF0F0 +gFameCheckerFlavorText_Bruno4:: @ 0x81AF0F0 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}He’s one of the ELITE FOUR.\n" .string "His name is BRUNO.\p" @@ -407,35 +407,35 @@ gUnknown_81AF0F0:: @ 0x81AF0F0 .string "found out that they were all sold\l" .string "out of Rage Candybars.$" -gUnknown_81AF19A:: @ 0x81AF19A +gFameCheckerFlavorText_Bruno5:: @ 0x81AF19A .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Even BRUNO…\n" .string "He trained with a fellow by the\l" .string "name of BRAWLY before.$" -gUnknown_81AF200:: @ 0x81AF200 +gFameCheckerFlavorText_Agatha0:: @ 0x81AF200 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}I am AGATHA of the ELITE FOUR.$" -gUnknown_81AF248:: @ 0x81AF248 +gFameCheckerFlavorText_Agatha1:: @ 0x81AF248 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}AGATHA’s GHOST-type POKéMON are\n" .string "horrifically terrifying in toughness.$" -gUnknown_81AF2B7:: @ 0x81AF2B7 +gFameCheckerFlavorText_Agatha2:: @ 0x81AF2B7 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}That old lady’s also got a really\n" .string "short fuse, too.\p" .string "It doesn’t take anything to get\n" .string "that scary lady hollering.$" -gUnknown_81AF34E:: @ 0x81AF34E +gFameCheckerFlavorText_Agatha3:: @ 0x81AF34E .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" .string "{COLOR RED}{SHADOW GREEN}In her youth, AGATHA and PROF.\n" .string "OAK were rivals who vied for\l" .string "supremacy as TRAINERS.$" -gUnknown_81AF3BE:: @ 0x81AF3BE +gFameCheckerFlavorText_Agatha4:: @ 0x81AF3BE .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}I hear OAK’s taken a lot of\n" .string "interest in you, child.\p" @@ -444,19 +444,19 @@ gUnknown_81AF3BE:: @ 0x81AF3BE .string "But that was decades ago.\n" .string "He’s a shadow of his former self.$" -gUnknown_81AF47C:: @ 0x81AF47C +gFameCheckerFlavorText_Agatha5:: @ 0x81AF47C .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}Take AGATHA, for example.\p" .string "She set a record for being the\n" .string "oldest-ever ELITE FOUR member.$" -gUnknown_81AF4FD:: @ 0x81AF4FD +gFameCheckerFlavorText_Lance0:: @ 0x81AF4FD .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}I lead the ELITE FOUR.\p" .string "You can call me LANCE the dragon\n" .string "TRAINER.$" -gUnknown_81AF567:: @ 0x81AF567 +gFameCheckerFlavorText_Lance1:: @ 0x81AF567 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}You know that dragons are\n" .string "mythical POKéMON.\p" @@ -465,13 +465,13 @@ gUnknown_81AF567:: @ 0x81AF567 .string "They’re virtually indestructible.\n" .string "There’s no being clever with them.$" -gUnknown_81AF641:: @ 0x81AF641 +gFameCheckerFlavorText_Lance2:: @ 0x81AF641 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}He stands for justice!\n" .string "He’s cool, and yet passionate!\l" .string "He’s the greatest, LANCE!$" -gUnknown_81AF6BA:: @ 0x81AF6BA +gFameCheckerFlavorText_Lance3:: @ 0x81AF6BA .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}We have a customer, LANCE, who\n" .string "occasionally comes.\p" @@ -479,62 +479,62 @@ gUnknown_81AF6BA:: @ 0x81AF6BA .string "I wonder… Does he have many\n" .string "identical capes at home?$" -gUnknown_81AF758:: @ 0x81AF758 +gFameCheckerFlavorText_Lance4:: @ 0x81AF758 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" .string "{COLOR RED}{SHADOW GREEN}LANCE’s grandfather is thought to\n" .string "be the elder of a famous clan of\l" .string "dragon masters.$" -gUnknown_81AF7CB:: @ 0x81AF7CB +gFameCheckerFlavorText_Lance5:: @ 0x81AF7CB .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}From what I’ve heard, LANCE has\n" .string "a cousin who’s a GYM LEADER\l" .string "somewhere far away.$" -gUnknown_81AF83E:: @ 0x81AF83E +gFameCheckerFlavorText_Bill0:: @ 0x81AF83E .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}After all, BILL’s world-famous as a\n" .string "POKéMANIAC.\p" .string "He invented the POKéMON Storage\n" .string "System on PC, too.$" -gUnknown_81AF8CA:: @ 0x81AF8CA +gFameCheckerFlavorText_Bill1:: @ 0x81AF8CA .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}BILL has lots of POKéMON!\n" .string "He collects rare ones, too!$" -gUnknown_81AF929:: @ 0x81AF929 +gFameCheckerFlavorText_Bill2:: @ 0x81AF929 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}He’s my grandson!\p" .string "He always liked collecting things,\n" .string "even as a child!$" -gUnknown_81AF998:: @ 0x81AF998 +gFameCheckerFlavorText_Bill3:: @ 0x81AF998 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}BILL is a POKéMANIAC, so he loves\n" .string "every kind.\p" .string "Apparently, the first one he caught\n" .string "was an ABRA.$" -gUnknown_81AFA20:: @ 0x81AFA20 +gFameCheckerFlavorText_Bill4:: @ 0x81AFA20 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}BILL’s hometown is GOLDENROD CITY,\n" .string "where his folks still live.\p" .string "I’ve heard that it’s quite the\n" .string "festive, bustling city.$" -gUnknown_81AFAB9:: @ 0x81AFAB9 +gFameCheckerFlavorText_Bill5:: @ 0x81AFAB9 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Apparently, BILL simply can’t\n" .string "stomach milk at all.$" -gUnknown_81AFB0C:: @ 0x81AFB0C +gFameCheckerFlavorText_MrFuji0:: @ 0x81AFB0C .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}He’s really kind.\p" .string "He looks after abandoned and\n" .string "orphaned POKéMON.$" -gUnknown_81AFB76:: @ 0x81AFB76 +gFameCheckerFlavorText_MrFuji1:: @ 0x81AFB76 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}This old guy marched right up to\n" .string "our HIDEOUT.\p" @@ -543,7 +543,7 @@ gUnknown_81AFB76:: @ 0x81AFB76 .string "So, we’re just talking it over as\n" .string "adults.$" -gUnknown_81AFC38:: @ 0x81AFC38 +gFameCheckerFlavorText_MrFuji2:: @ 0x81AFC38 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{COLOR RED}{SHADOW GREEN}POKéMON FAN MAGAZINE\n" .string "Monthly Grand Prize Drawing!\p" @@ -551,26 +551,26 @@ gUnknown_81AFC38:: @ 0x81AFC38 .string "Gone! It’s been clipped out.\n" .string "Someone must have applied already.$" -gUnknown_81AFCE9:: @ 0x81AFCE9 +gFameCheckerFlavorText_MrFuji3:: @ 0x81AFCE9 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}There’s a rumor…\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}I hear that MR. FUJI’s not from\n" .string "these parts originally, either.$" -gUnknown_81AFD49:: @ 0x81AFD49 +gFameCheckerFlavorText_MrFuji4:: @ 0x81AFD49 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" .string "{COLOR RED}{SHADOW GREEN}It’s a photo of BLAINE and\n" .string "MR. FUJI.\p" .string "They’re standing shoulder to\n" .string "shoulder with big grins.$" -gUnknown_81AFDC4:: @ 0x81AFDC4 +gFameCheckerFlavorText_MrFuji5:: @ 0x81AFDC4 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{COLOR RED}{SHADOW GREEN}Editor: The shy MR. FUJI turned\n" .string "down our interview requests.\p" .string "He is a kindly man who is adored\n" .string "and respected in LAVENDER TOWN.$" -gUnknown_81AFE68:: @ 0x81AFE68 +gFameCheckerFlavorText_Giovanni0:: @ 0x81AFE68 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}TEAM ROCKET captures POKéMON from\n" .string "around the world.\p" @@ -578,32 +578,32 @@ gUnknown_81AFE68:: @ 0x81AFE68 .string "our criminal enterprise going.\p" .string "I am the leader, GIOVANNI!$" -gUnknown_81AFF23:: @ 0x81AFF23 +gFameCheckerFlavorText_Giovanni1:: @ 0x81AFF23 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Favorite kind of POKéMON?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Those thugs that took over our\n" .string "building…\p" .string "Their BOSS said he was looking for\n" .string "strong POKéMON.$" -gUnknown_81AFFA8:: @ 0x81AFFA8 +gFameCheckerFlavorText_Giovanni2:: @ 0x81AFFA8 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What is this person like?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}TEAM ROCKET’s BOSS is terribly\n" .string "cruel!\p" .string "To him, POKéMON are just tools to\n" .string "be used.$" -gUnknown_81B0022:: @ 0x81B0022 +gFameCheckerFlavorText_Giovanni3:: @ 0x81B0022 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Welcome to my hideout!\p" .string "It shall be so until I can restore\n" .string "TEAM ROCKET to its former glory.$" -gUnknown_81B00A6:: @ 0x81B00A6 +gFameCheckerFlavorText_Giovanni4:: @ 0x81B00A6 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}What does this person do?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Blow me away! GIOVANNI was the\n" .string "GYM LEADER of VIRIDIAN?$" -gUnknown_81B0106:: @ 0x81B0106 +gFameCheckerFlavorText_Giovanni5:: @ 0x81B0106 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}Family and friends?\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}You… You’re not GIOVANNI’s kid,\n" .string "are you?\p" @@ -611,10 +611,10 @@ gUnknown_81B0106:: @ 0x81B0106 .string "GIOVANNI’s kid has red hair.$" -gUnknown_81B0188:: @ 0x81B0188 +gFameCheckerPersonName_ProfOak:: @ 0x81B0188 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}PROF. OAK$" -gUnknown_81B0198:: @ 0x81B0198 +gFameCheckerPersonQuote_ProfOak:: @ 0x81B0198 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: PROF. OAK\n" .string "To: {PLAYER}\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Why do POKéMON compete and battle\n" @@ -624,10 +624,10 @@ gUnknown_81B0198:: @ 0x81B0198 .string "towards POKéMON.\p" .string "Never forget that.$" -gUnknown_81B0251:: @ 0x81B0251 +gFameCheckerPersonName_Daisy:: @ 0x81B0251 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}DAISY$" -gUnknown_81B025D:: @ 0x81B025D +gFameCheckerPersonQuote_Daisy:: @ 0x81B025D .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: DAISY\n" .string "To: {PLAYER}\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}While I was comfortably enjoying\n" @@ -636,10 +636,10 @@ gUnknown_81B025D:: @ 0x81B025D .string "I hope you’ll remain a good rival\n" .string "to my little brother.$" -gUnknown_81B030F:: @ 0x81B030F +gFameCheckerPersonName_Brock:: @ 0x81B030F .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}BROCK$" -gUnknown_81B031B:: @ 0x81B031B +gFameCheckerPersonQuote_Brock:: @ 0x81B031B .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: BROCK\n" .string "To: {PLAYER}\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}In this big world of ours, there\n" @@ -647,10 +647,10 @@ gUnknown_81B031B:: @ 0x81B031B .string "Let’s both keep training and\n" .string "making ourselves stronger!$" -gUnknown_81B03B3:: @ 0x81B03B3 +gFameCheckerPersonName_Misty:: @ 0x81B03B3 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}MISTY$" -gUnknown_81B03BF:: @ 0x81B03BF +gFameCheckerPersonQuote_Misty:: @ 0x81B03BF .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: MISTY\n" .string "To: {PLAYER}\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}I’m going to keep training here at\n" @@ -658,10 +658,10 @@ gUnknown_81B03BF:: @ 0x81B03BF .string "When I get better, I’d love to hit\n" .string "the road and travel.$" -gUnknown_81B0446:: @ 0x81B0446 +gFameCheckerPersonName_LtSurge:: @ 0x81B0446 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}LT. SURGE$" -gUnknown_81B0456:: @ 0x81B0456 +gFameCheckerPersonQuote_LtSurge:: @ 0x81B0456 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: LT. SURGE\n" .string "To: {PLAYER}\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Hey, kid!\n" @@ -671,10 +671,10 @@ gUnknown_81B0456:: @ 0x81B0456 .string "It made me change my mind about\n" .string "you!$" -gUnknown_81B0504:: @ 0x81B0504 +gFameCheckerPersonName_Erika:: @ 0x81B0504 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}ERIKA$" -gUnknown_81B0510:: @ 0x81B0510 +gFameCheckerPersonQuote_Erika:: @ 0x81B0510 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: ERIKA\n" .string "To: {PLAYER}\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}I am so glad that there are strong\n" @@ -684,10 +684,10 @@ gUnknown_81B0510:: @ 0x81B0510 .string "Please visit me again.\n" .string "Zzz…$" -gUnknown_81B05C2:: @ 0x81B05C2 +gFameCheckerPersonName_Koga:: @ 0x81B05C2 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}KOGA$" -gUnknown_81B05CD:: @ 0x81B05CD +gFameCheckerPersonQuote_Koga:: @ 0x81B05CD .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: KOGA\n" .string "To: {PLAYER}\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}You and I, we must both set our\n" @@ -695,10 +695,10 @@ gUnknown_81B05CD:: @ 0x81B05CD .string "meeting our challenges.\p" .string "Now, I must go train my daughter.$" -gUnknown_81B0667:: @ 0x81B0667 +gFameCheckerPersonName_Sabrina:: @ 0x81B0667 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}SABRINA$" -gUnknown_81B0675:: @ 0x81B0675 +gFameCheckerPersonQuote_Sabrina:: @ 0x81B0675 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: SABRINA\n" .string "To: {PLAYER}\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}The love you have towards your\n" @@ -706,10 +706,10 @@ gUnknown_81B0675:: @ 0x81B0675 .string "It was a power that was never\n" .string "bested by my psychic power.$" -gUnknown_81B06FB:: @ 0x81B06FB +gFameCheckerPersonName_Blaine:: @ 0x81B06FB .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}BLAINE$" -gUnknown_81B0708:: @ 0x81B0708 +gFameCheckerPersonQuote_Blaine:: @ 0x81B0708 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: BLAINE\n" .string "To: {PLAYER}\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}My fire POKéMON!\n" @@ -717,10 +717,10 @@ gUnknown_81B0708:: @ 0x81B0708 .string "And now, a quiz. How many kinds of\n" .string "FIRE-type POKéMON are there?$" -gUnknown_81B079F:: @ 0x81B079F +gFameCheckerPersonName_Lorelei:: @ 0x81B079F .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}LORELEI$" -gUnknown_81B07AD:: @ 0x81B07AD +gFameCheckerPersonQuote_Lorelei:: @ 0x81B07AD .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: LORELEI\n" .string "To: {PLAYER}\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}I needed to thank you for your\n" @@ -729,10 +729,10 @@ gUnknown_81B07AD:: @ 0x81B07AD .string "battles.\p" .string "You’d better watch out next time!$" -gUnknown_81B0845:: @ 0x81B0845 +gFameCheckerPersonName_Bruno:: @ 0x81B0845 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}BRUNO$" -gUnknown_81B0851:: @ 0x81B0851 +gFameCheckerPersonQuote_Bruno:: @ 0x81B0851 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: BRUNO\n" .string "To: {PLAYER}\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}The super power of your POKéMON\n" @@ -740,20 +740,20 @@ gUnknown_81B0851:: @ 0x81B0851 .string "Next time, maybe I should show you\n" .string "how to train yourself.$" -gUnknown_81B08EE:: @ 0x81B08EE +gFameCheckerPersonName_Agatha:: @ 0x81B08EE .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}AGATHA$" -gUnknown_81B08FB:: @ 0x81B08FB +gFameCheckerPersonQuote_Agatha:: @ 0x81B08FB .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: AGATHA\n" .string "To: {PLAYER}\p" .string "{SIZE 05}{COLOR RED}{SHADOW GREEN}When you grow older, don’t you\n" .string "dare go soft like that coot OAK!\p" .string "Be like me and keep battling on!$" -gUnknown_81B097F:: @ 0x81B097F +gFameCheckerPersonName_Lance:: @ 0x81B097F .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}LANCE$" -gUnknown_81B098B:: @ 0x81B098B +gFameCheckerPersonQuote_Lance:: @ 0x81B098B .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: LANCE\n" .string "To: {PLAYER}\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}I’m considering going back to my\n" @@ -763,10 +763,10 @@ gUnknown_81B098B:: @ 0x81B098B .string "I’d like to invite you to my\n" .string "hometown one day.$" -gUnknown_81B0A45:: @ 0x81B0A45 +gFameCheckerPersonName_Bill:: @ 0x81B0A45 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}BILL$" -gUnknown_81B0A50:: @ 0x81B0A50 +gFameCheckerPersonQuote_Bill:: @ 0x81B0A50 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: BILL\n" .string "To: {PLAYER}\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Hey, there! CELIO had nothing but\n" @@ -775,10 +775,10 @@ gUnknown_81B0A50:: @ 0x81B0A50 .string "When you catch some rare POKéMON,\n" .string "come show me, okay? Promise!$" -gUnknown_81B0AFF:: @ 0x81B0AFF +gFameCheckerPersonName_MrFuji:: @ 0x81B0AFF .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}MR. FUJI$" -gUnknown_81B0B0E:: @ 0x81B0B0E +gFameCheckerPersonQuote_MrFuji:: @ 0x81B0B0E .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: MR. FUJI\n" .string "To: {PLAYER}\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}Instead of hoping for the happiness\n" @@ -786,10 +786,10 @@ gUnknown_81B0B0E:: @ 0x81B0B0E .string "…Can I get you to wish for the\n" .string "happiness of all POKéMON?$" -gUnknown_81B0BA6:: @ 0x81B0BA6 +gFameCheckerPersonName_Giovanni:: @ 0x81B0BA6 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}GIOVANNI$" -gUnknown_81B0BB5:: @ 0x81B0BB5 +gFameCheckerPersonQuote_Giovanni:: @ 0x81B0BB5 .string "{COLOR LIGHT_GRAY}{SHADOW BLACK}From: GIOVANNI\n" .string "To: {PLAYER}\p" .string "{SIZE 04}{COLOR RED}{SHADOW GREEN}There is nothing that I wish to say\n" @@ -797,580 +797,580 @@ gUnknown_81B0BB5:: @ 0x81B0BB5 .string "I will concentrate solely on\n" .string "bettering myself, and none other.$" -gUnknown_81B0C45:: @ 0x81B0C45 +gFameCheckerFlavorTextOriginLocation_ProfOak0:: @ 0x81B0C45 .string "PALLET TOWN$" -gUnknown_81B0C51:: @ 81B0C51 +gFameCheckerFlavorTextOriginLocation_ProfOak1:: @ 81B0C51 .string "RESEARCH LAB$" -gUnknown_81B0C5E:: @ 81B0C5E +gFameCheckerFlavorTextOriginLocation_ProfOak2:: @ 81B0C5E .string "RESEARCH LAB$" -gUnknown_81B0C6B:: @ 81B0C6B +gFameCheckerFlavorTextOriginLocation_ProfOak3:: @ 81B0C6B .string "VIRIDIAN CITY$" -gUnknown_81B0C79:: @ 81B0C79 +gFameCheckerFlavorTextOriginLocation_ProfOak4:: @ 81B0C79 .string "POKéMON LEAGUE$" -gUnknown_81B0C88:: @ 81B0C88 +gFameCheckerFlavorTextOriginLocation_ProfOak5:: @ 81B0C88 .string "RESEARCH LAB$" -gUnknown_81B0C95:: @ 81B0C95 +gFameCheckerFlavorTextOriginLocation_Daisy0:: @ 81B0C95 .string "RESEARCH LAB$" -gUnknown_81B0CA2:: @ 81B0CA2 +gFameCheckerFlavorTextOriginLocation_Daisy1:: @ 81B0CA2 .string "VERMILION CITY$" -gUnknown_81B0CB1:: @ 81B0CB1 +gFameCheckerFlavorTextOriginLocation_Daisy2:: @ 81B0CB1 .string "WATER LABYRINTH$" -gUnknown_81B0CC1:: @ 81B0CC1 +gFameCheckerFlavorTextOriginLocation_Daisy3:: @ 81B0CC1 .string "VIRIDIAN CITY$" -gUnknown_81B0CCF:: @ 81B0CCF +gFameCheckerFlavorTextOriginLocation_Daisy4:: @ 81B0CCF .string "CELADON MANSION$" -gUnknown_81B0CDF:: @ 81B0CDF +gFameCheckerFlavorTextOriginLocation_Daisy5:: @ 81B0CDF .string "FOUR ISLAND$" -gUnknown_81B0CEB:: @ 81B0CEB +gFameCheckerFlavorTextOriginLocation_Brock0:: @ 81B0CEB .string "PEWTER CITY$" -gUnknown_81B0CF7:: @ 81B0CF7 +gFameCheckerFlavorTextOriginLocation_Brock1:: @ 81B0CF7 .string "PEWTER GYM$" -gUnknown_81B0D02:: @ 81B0D02 +gFameCheckerFlavorTextOriginLocation_Brock2:: @ 81B0D02 .string "PEWTER CITY$" -gUnknown_81B0D0E:: @ 81B0D0E +gFameCheckerFlavorTextOriginLocation_Brock3:: @ 81B0D0E .string "ROUTE 4$" -gUnknown_81B0D16:: @ 81B0D16 +gFameCheckerFlavorTextOriginLocation_Brock4:: @ 81B0D16 .string "MT. MOON$" -gUnknown_81B0D1F:: @ 81B0D1F +gFameCheckerFlavorTextOriginLocation_Brock5:: @ 81B0D1F .string "PEWTER MUSEUM$" -gUnknown_81B0D2D:: @ 81B0D2D +gFameCheckerFlavorTextOriginLocation_Misty0:: @ 81B0D2D .string "CERULEAN CITY$" -gUnknown_81B0D3B:: @ 81B0D3B +gFameCheckerFlavorTextOriginLocation_Misty1:: @ 81B0D3B .string "CERULEAN GYM$" -gUnknown_81B0D48:: @ 81B0D48 +gFameCheckerFlavorTextOriginLocation_Misty2:: @ 81B0D48 .string "CERULEAN GYM$" -gUnknown_81B0D55:: @ 81B0D55 +gFameCheckerFlavorTextOriginLocation_Misty3:: @ 81B0D55 .string "SEAFOAM ISLANDS$" -gUnknown_81B0D65:: @ 81B0D65 +gFameCheckerFlavorTextOriginLocation_Misty4:: @ 81B0D65 .string "CERULEAN CAPE$" -gUnknown_81B0D73:: @ 81B0D73 +gFameCheckerFlavorTextOriginLocation_Misty5:: @ 81B0D73 .string "CERULEAN CITY$" -gUnknown_81B0D81:: @ 81B0D81 +gFameCheckerFlavorTextOriginLocation_LtSurge0:: @ 81B0D81 .string "VERMILION CITY$" -gUnknown_81B0D90:: @ 81B0D90 +gFameCheckerFlavorTextOriginLocation_LtSurge1:: @ 81B0D90 .string "VERMILION GYM$" -gUnknown_81B0D9E:: @ 81B0D9E +gFameCheckerFlavorTextOriginLocation_LtSurge2:: @ 81B0D9E .string "VERMILION GYM$" -gUnknown_81B0DAC:: @ 81B0DAC +gFameCheckerFlavorTextOriginLocation_LtSurge3:: @ 81B0DAC .string "VERMILION GYM$" -gUnknown_81B0DBA:: @ 81B0DBA +gFameCheckerFlavorTextOriginLocation_LtSurge4:: @ 81B0DBA .string "VERMILION GYM$" -gUnknown_81B0DC8:: @ 81B0DC8 +gFameCheckerFlavorTextOriginLocation_LtSurge5:: @ 81B0DC8 .string "VERMILION CITY$" -gUnknown_81B0DD7:: @ 81B0DD7 +gFameCheckerFlavorTextOriginLocation_Erika0:: @ 81B0DD7 .string "CELADON CITY$" -gUnknown_81B0DE4:: @ 81B0DE4 +gFameCheckerFlavorTextOriginLocation_Erika1:: @ 81B0DE4 .string "CELADON GYM$" -gUnknown_81B0DF0:: @ 81B0DF0 +gFameCheckerFlavorTextOriginLocation_Erika2:: @ 81B0DF0 .string "CELADON GYM$" -gUnknown_81B0DFC:: @ 81B0DFC +gFameCheckerFlavorTextOriginLocation_Erika3:: @ 81B0DFC .string "CELADON GYM$" -gUnknown_81B0E08:: @ 81B0E08 +gFameCheckerFlavorTextOriginLocation_Erika4:: @ 81B0E08 .string "CELADON GYM$" -gUnknown_81B0E14:: @ 81B0E14 +gFameCheckerFlavorTextOriginLocation_Erika5:: @ 81B0E14 .string "CELADON MANSION$" -gUnknown_81B0E24:: @ 81B0E24 +gFameCheckerFlavorTextOriginLocation_Koga0:: @ 81B0E24 .string "FUCHSIA CITY$" -gUnknown_81B0E31:: @ 81B0E31 +gFameCheckerFlavorTextOriginLocation_Koga1:: @ 81B0E31 .string "FUCHSIA GYM$" -gUnknown_81B0E3D:: @ 81B0E3D +gFameCheckerFlavorTextOriginLocation_Koga2:: @ 81B0E3D .string "FUCHSIA GYM$" -gUnknown_81B0E49:: @ 81B0E49 +gFameCheckerFlavorTextOriginLocation_Koga3:: @ 81B0E49 .string "FUCHSIA CITY$" -gUnknown_81B0E56:: @ 81B0E56 +gFameCheckerFlavorTextOriginLocation_Koga4:: @ 81B0E56 .string "FUCHSIA CITY$" -gUnknown_81B0E63:: @ 81B0E63 +gFameCheckerFlavorTextOriginLocation_Koga5:: @ 81B0E63 .string "SAFARI ZONE$" -gUnknown_81B0E6F:: @ 81B0E6F +gFameCheckerFlavorTextOriginLocation_Sabrina0:: @ 81B0E6F .string "SAFFRON CITY$" -gUnknown_81B0E7C:: @ 81B0E7C +gFameCheckerFlavorTextOriginLocation_Sabrina1:: @ 81B0E7C .string "THREE ISLAND$" -gUnknown_81B0E89:: @ 81B0E89 +gFameCheckerFlavorTextOriginLocation_Sabrina2:: @ 81B0E89 .string "SAFFRON GYM$" -gUnknown_81B0E95:: @ 81B0E95 +gFameCheckerFlavorTextOriginLocation_Sabrina3:: @ 81B0E95 .string "SAFFRON GYM$" -gUnknown_81B0EA1:: @ 81B0EA1 +gFameCheckerFlavorTextOriginLocation_Sabrina4:: @ 81B0EA1 .string "SAFFRON CITY$" -gUnknown_81B0EAE:: @ 81B0EAE +gFameCheckerFlavorTextOriginLocation_Sabrina5:: @ 81B0EAE .string "SAFFRON GYM$" -gUnknown_81B0EBA:: @ 81B0EBA +gFameCheckerFlavorTextOriginLocation_Blaine0:: @ 81B0EBA .string "CINNABAR ISLAND$" -gUnknown_81B0ECA:: @ 81B0ECA +gFameCheckerFlavorTextOriginLocation_Blaine1:: @ 81B0ECA .string "CINNABAR GYM$" -gUnknown_81B0ED7:: @ 81B0ED7 +gFameCheckerFlavorTextOriginLocation_Blaine2:: @ 81B0ED7 .string "CINNABAR GYM$" -gUnknown_81B0EE4:: @ 81B0EE4 +gFameCheckerFlavorTextOriginLocation_Blaine3:: @ 81B0EE4 .string "CINNABAR ISLAND$" -gUnknown_81B0EF4:: @ 81B0EF4 +gFameCheckerFlavorTextOriginLocation_Blaine4:: @ 81B0EF4 .string "CINNABAR GYM$" -gUnknown_81B0F01:: @ 81B0F01 +gFameCheckerFlavorTextOriginLocation_Blaine5:: @ 81B0F01 .string "RESORT GORGEOUS$" -gUnknown_81B0F11:: @ 81B0F11 +gFameCheckerFlavorTextOriginLocation_Lorelei0:: @ 81B0F11 .string "POKéMON LEAGUE$" -gUnknown_81B0F20:: @ 81B0F20 +gFameCheckerFlavorTextOriginLocation_Lorelei1:: @ 81B0F20 .string "POKéMON LEAGUE$" -gUnknown_81B0F2F:: @ 81B0F2F +gFameCheckerFlavorTextOriginLocation_Lorelei2:: @ 81B0F2F .string "FOUR ISLAND$" -gUnknown_81B0F3B:: @ 81B0F3B +gFameCheckerFlavorTextOriginLocation_Lorelei3:: @ 81B0F3B .string "FIVE ISLAND$" -gUnknown_81B0F47:: @ 81B0F47 +gFameCheckerFlavorTextOriginLocation_Lorelei4:: @ 81B0F47 .string "FOUR ISLAND$" -gUnknown_81B0F53:: @ 81B0F53 +gFameCheckerFlavorTextOriginLocation_Lorelei5:: @ 81B0F53 .string "FOUR ISLAND$" -gUnknown_81B0F5F:: @ 81B0F5F +gFameCheckerFlavorTextOriginLocation_Bruno0:: @ 81B0F5F .string "POKéMON LEAGUE$" -gUnknown_81B0F6E:: @ 81B0F6E +gFameCheckerFlavorTextOriginLocation_Bruno1:: @ 81B0F6E .string "POKéMON LEAGUE$" -gUnknown_81B0F7D:: @ 81B0F7D +gFameCheckerFlavorTextOriginLocation_Bruno2:: @ 81B0F7D .string "SAFFRON CITY$" -gUnknown_81B0F8A:: @ 81B0F8A +gFameCheckerFlavorTextOriginLocation_Bruno3:: @ 81B0F8A .string "EMBER SPA$" -gUnknown_81B0F94:: @ 81B0F94 +gFameCheckerFlavorTextOriginLocation_Bruno4:: @ 81B0F94 .string "TWO ISLAND$" -gUnknown_81B0F9F:: @ 81B0F9F +gFameCheckerFlavorTextOriginLocation_Bruno5:: @ 81B0F9F .string "SEVAULT CANYON$" -gUnknown_81B0FAE:: @ 81B0FAE +gFameCheckerFlavorTextOriginLocation_Agatha0:: @ 81B0FAE .string "POKéMON LEAGUE$" -gUnknown_81B0FBD:: @ 81B0FBD +gFameCheckerFlavorTextOriginLocation_Agatha1:: @ 81B0FBD .string "INDIGO PLATEAU$" -gUnknown_81B0FCC:: @ 81B0FCC +gFameCheckerFlavorTextOriginLocation_Agatha2:: @ 81B0FCC .string "INDIGO PLATEAU$" -gUnknown_81B0FDB:: @ 81B0FDB +gFameCheckerFlavorTextOriginLocation_Agatha3:: @ 81B0FDB .string "SEVEN ISLAND$" -gUnknown_81B0FE8:: @ 81B0FE8 +gFameCheckerFlavorTextOriginLocation_Agatha4:: @ 81B0FE8 .string "POKéMON LEAGUE$" -gUnknown_81B0FF7:: @ 81B0FF7 +gFameCheckerFlavorTextOriginLocation_Agatha5:: @ 81B0FF7 .string "SIX ISLAND$" -gUnknown_81B1002:: @ 81B1002 +gFameCheckerFlavorTextOriginLocation_Lance0:: @ 81B1002 .string "POKéMON LEAGUE$" -gUnknown_81B1011:: @ 81B1011 +gFameCheckerFlavorTextOriginLocation_Lance1:: @ 81B1011 .string "POKéMON LEAGUE$" -gUnknown_81B1020:: @ 81B1020 +gFameCheckerFlavorTextOriginLocation_Lance2:: @ 81B1020 .string "SAFFRON CITY$" -gUnknown_81B102D:: @ 81B102D +gFameCheckerFlavorTextOriginLocation_Lance3:: @ 81B102D .string "CELADON DEPT.$" -gUnknown_81B103B:: @ 81B103B +gFameCheckerFlavorTextOriginLocation_Lance4:: @ 81B103B .string "INDIGO PLATEAU$" -gUnknown_81B104A:: @ 81B104A +gFameCheckerFlavorTextOriginLocation_Lance5:: @ 81B104A .string "INDIGO PLATEAU$" -gUnknown_81B1059:: @ 81B1059 +gFameCheckerFlavorTextOriginLocation_Bill0:: @ 81B1059 .string "CERULEAN CITY$" -gUnknown_81B1067:: @ 81B1067 +gFameCheckerFlavorTextOriginLocation_Bill1:: @ 81B1067 .string "CERULEAN CITY$" -gUnknown_81B1075:: @ 81B1075 +gFameCheckerFlavorTextOriginLocation_Bill2:: @ 81B1075 .string "FUCHSIA CITY$" -gUnknown_81B1082:: @ 81B1082 +gFameCheckerFlavorTextOriginLocation_Bill3:: @ 81B1082 .string "ONE ISLAND$" -gUnknown_81B108D:: @ 81B108D +gFameCheckerFlavorTextOriginLocation_Bill4:: @ 81B108D .string "ONE ISLAND$" -gUnknown_81B1098:: @ 81B1098 +gFameCheckerFlavorTextOriginLocation_Bill5:: @ 81B1098 .string "ONE ISLAND$" -gUnknown_81B10A3:: @ 81B10A3 +gFameCheckerFlavorTextOriginLocation_MrFuji0:: @ 81B10A3 .string "LAVENDER TOWN$" -gUnknown_81B10B1:: @ 81B10B1 +gFameCheckerFlavorTextOriginLocation_MrFuji1:: @ 81B10B1 .string "POKéMON TOWER$" -gUnknown_81B10BF:: @ 81B10BF +gFameCheckerFlavorTextOriginLocation_MrFuji2:: @ 81B10BF .string "LAVENDER TOWN$" -gUnknown_81B10CD:: @ 81B10CD +gFameCheckerFlavorTextOriginLocation_MrFuji3:: @ 81B10CD .string "LAVENDER TOWN$" -gUnknown_81B10DB:: @ 81B10DB +gFameCheckerFlavorTextOriginLocation_MrFuji4:: @ 81B10DB .string "CINNABAR GYM$" -gUnknown_81B10E8:: @ 81B10E8 +gFameCheckerFlavorTextOriginLocation_MrFuji5:: @ 81B10E8 .string "CINNABAR ISLAND$" -gUnknown_81B10F8:: @ 81B10F8 +gFameCheckerFlavorTextOriginLocation_Giovanni0:: @ 81B10F8 .string "ROCKET HIDEOUT$" -gUnknown_81B1107:: @ 81B1107 +gFameCheckerFlavorTextOriginLocation_Giovanni1:: @ 81B1107 .string "SILPH CO.$" -gUnknown_81B1111:: @ 81B1111 +gFameCheckerFlavorTextOriginLocation_Giovanni2:: @ 81B1111 .string "SILPH CO.$" -gUnknown_81B111B:: @ 81B111B +gFameCheckerFlavorTextOriginLocation_Giovanni3:: @ 81B111B .string "VIRIDIAN GYM$" -gUnknown_81B1128:: @ 81B1128 +gFameCheckerFlavorTextOriginLocation_Giovanni4:: @ 81B1128 .string "VIRIDIAN GYM$" -gUnknown_81B1135:: @ 81B1135 +gFameCheckerFlavorTextOriginLocation_Giovanni5:: @ 81B1135 .string "ROCKET WAREHOUSE$" -gUnknown_81B1146:: @ 81B1146 +gFameCheckerFlavorTextOriginObjectName_ProfOak0:: @ 81B1146 .string "SIGN$" -gUnknown_81B114B:: @ 81B114B +gFameCheckerFlavorTextOriginObjectName_ProfOak1:: @ 81B114B .string "PROF. OAK$" -gUnknown_81B1155:: @ 81B1155 +gFameCheckerFlavorTextOriginObjectName_ProfOak2:: @ 81B1155 .string "AIDE$" -gUnknown_81B115A:: @ 81B115A +gFameCheckerFlavorTextOriginObjectName_ProfOak3:: @ 81B115A .string "POKéMON JOURNAL$" -gUnknown_81B116A:: @ 81B116A +gFameCheckerFlavorTextOriginObjectName_ProfOak4:: @ 81B116A .string "AGATHA$" -gUnknown_81B1171:: @ 81B1171 +gFameCheckerFlavorTextOriginObjectName_ProfOak5:: @ 81B1171 .string "AIDE$" -gUnknown_81B1176:: @ 81B1176 +gFameCheckerFlavorTextOriginObjectName_Daisy0:: @ 81B1176 .string "AIDE$" -gUnknown_81B117B:: @ 81B117B +gFameCheckerFlavorTextOriginObjectName_Daisy1:: @ 81B117B .string "WOMAN$" -gUnknown_81B1181:: @ 81B1181 +gFameCheckerFlavorTextOriginObjectName_Daisy2:: @ 81B1181 .string "MAN$" -gUnknown_81B1185:: @ 81B1185 +gFameCheckerFlavorTextOriginObjectName_Daisy3:: @ 81B1185 .string "POKéMON JOURNAL$" -gUnknown_81B1195:: @ 81B1195 +gFameCheckerFlavorTextOriginObjectName_Daisy4:: @ 81B1195 .string "OLD LADY$" -gUnknown_81B119E:: @ 81B119E +gFameCheckerFlavorTextOriginObjectName_Daisy5:: @ 81B119E .string "POKéMON JOURNAL$" -gUnknown_81B11AE:: @ 81B11AE +gFameCheckerFlavorTextOriginObjectName_Brock0:: @ 81B11AE .string "SIGN$" -gUnknown_81B11B3:: @ 81B11B3 +gFameCheckerFlavorTextOriginObjectName_Brock1:: @ 81B11B3 .string "BROCK$" -gUnknown_81B11B9:: @ 81B11B9 +gFameCheckerFlavorTextOriginObjectName_Brock2:: @ 81B11B9 .string "YOUNG MAN$" -gUnknown_81B11C3:: @ 81B11C3 +gFameCheckerFlavorTextOriginObjectName_Brock3:: @ 81B11C3 .string "BOY$" -gUnknown_81B11C7:: @ 81B11C7 +gFameCheckerFlavorTextOriginObjectName_Brock4:: @ 81B11C7 .string "MAN$" -gUnknown_81B11CB:: @ 81B11CB +gFameCheckerFlavorTextOriginObjectName_Brock5:: @ 81B11CB .string "POKéMON JOURNAL$" -gUnknown_81B11DB:: @ 81B11DB +gFameCheckerFlavorTextOriginObjectName_Misty0:: @ 81B11DB .string "SIGN$" -gUnknown_81B11E0:: @ 81B11E0 +gFameCheckerFlavorTextOriginObjectName_Misty1:: @ 81B11E0 .string "MISTY$" -gUnknown_81B11E6:: @ 81B11E6 +gFameCheckerFlavorTextOriginObjectName_Misty2:: @ 81B11E6 .string "LUIS$" -gUnknown_81B11EB:: @ 81B11EB +gFameCheckerFlavorTextOriginObjectName_Misty3:: @ 81B11EB .string "YOUNG MAN$" -gUnknown_81B11F5:: @ 81B11F5 +gFameCheckerFlavorTextOriginObjectName_Misty4:: @ 81B11F5 .string "DAME$" -gUnknown_81B11FA:: @ 81B11FA +gFameCheckerFlavorTextOriginObjectName_Misty5:: @ 81B11FA .string "POKéMON JOURNAL$" -gUnknown_81B120A:: @ 81B120A +gFameCheckerFlavorTextOriginObjectName_LtSurge0:: @ 81B120A .string "SIGN$" -gUnknown_81B120F:: @ 81B120F +gFameCheckerFlavorTextOriginObjectName_LtSurge1:: @ 81B120F .string "LT. SURGE$" -gUnknown_81B1219:: @ 81B1219 +gFameCheckerFlavorTextOriginObjectName_LtSurge2:: @ 81B1219 .string "TUCKER$" -gUnknown_81B1220:: @ 81B1220 +gFameCheckerFlavorTextOriginObjectName_LtSurge3:: @ 81B1220 .string "TUCKER$" -gUnknown_81B1227:: @ 81B1227 +gFameCheckerFlavorTextOriginObjectName_LtSurge4:: @ 81B1227 .string "DWAYNE$" -gUnknown_81B122E:: @ 81B122E +gFameCheckerFlavorTextOriginObjectName_LtSurge5:: @ 81B122E .string "POKéMON JOURNAL$" -gUnknown_81B123E:: @ 81B123E +gFameCheckerFlavorTextOriginObjectName_Erika0:: @ 81B123E .string "SIGN$" -gUnknown_81B1243:: @ 81B1243 +gFameCheckerFlavorTextOriginObjectName_Erika1:: @ 81B1243 .string "ERIKA$" -gUnknown_81B1249:: @ 81B1249 +gFameCheckerFlavorTextOriginObjectName_Erika2:: @ 81B1249 .string "LOLA$" -gUnknown_81B124E:: @ 81B124E +gFameCheckerFlavorTextOriginObjectName_Erika3:: @ 81B124E .string "TAMIA$" -gUnknown_81B1254:: @ 81B1254 +gFameCheckerFlavorTextOriginObjectName_Erika4:: @ 81B1254 .string "ERIKA$" -gUnknown_81B125A:: @ 81B125A +gFameCheckerFlavorTextOriginObjectName_Erika5:: @ 81B125A .string "POKéMON JOURNAL$" -gUnknown_81B126A:: @ 81B126A +gFameCheckerFlavorTextOriginObjectName_Koga0:: @ 81B126A .string "SIGN$" -gUnknown_81B126F:: @ 81B126F +gFameCheckerFlavorTextOriginObjectName_Koga1:: @ 81B126F .string "KOGA$" -gUnknown_81B1274:: @ 81B1274 +gFameCheckerFlavorTextOriginObjectName_Koga2:: @ 81B1274 .string "KIRK$" -gUnknown_81B1279:: @ 81B1279 +gFameCheckerFlavorTextOriginObjectName_Koga3:: @ 81B1279 .string "CHARINE$" -gUnknown_81B1281:: @ 81B1281 +gFameCheckerFlavorTextOriginObjectName_Koga4:: @ 81B1281 .string "POKéMON JOURNAL$" -gUnknown_81B1291:: @ 81B1291 +gFameCheckerFlavorTextOriginObjectName_Koga5:: @ 81B1291 .string "MAN$" -gUnknown_81B1295:: @ 81B1295 +gFameCheckerFlavorTextOriginObjectName_Sabrina0:: @ 81B1295 .string "SIGN$" -gUnknown_81B129A:: @ 81B129A +gFameCheckerFlavorTextOriginObjectName_Sabrina1:: @ 81B129A .string "YOUNG MAN$" -gUnknown_81B12A4:: @ 81B12A4 +gFameCheckerFlavorTextOriginObjectName_Sabrina2:: @ 81B12A4 .string "SABRINA$" -gUnknown_81B12AC:: @ 81B12AC +gFameCheckerFlavorTextOriginObjectName_Sabrina3:: @ 81B12AC .string "SABRINA$" -gUnknown_81B12B4:: @ 81B12B4 +gFameCheckerFlavorTextOriginObjectName_Sabrina4:: @ 81B12B4 .string "POKéMON JOURNAL$" -gUnknown_81B12C4:: @ 81B12C4 +gFameCheckerFlavorTextOriginObjectName_Sabrina5:: @ 81B12C4 .string "TYRON$" -gUnknown_81B12CA:: @ 81B12CA +gFameCheckerFlavorTextOriginObjectName_Blaine0:: @ 81B12CA .string "SIGN$" -gUnknown_81B12CF:: @ 81B12CF +gFameCheckerFlavorTextOriginObjectName_Blaine1:: @ 81B12CF .string "BLAINE$" -gUnknown_81B12D6:: @ 81B12D6 +gFameCheckerFlavorTextOriginObjectName_Blaine2:: @ 81B12D6 .string "DEREK$" -gUnknown_81B12DC:: @ 81B12DC +gFameCheckerFlavorTextOriginObjectName_Blaine3:: @ 81B12DC .string "WOMAN$" -gUnknown_81B12E2:: @ 81B12E2 +gFameCheckerFlavorTextOriginObjectName_Blaine4:: @ 81B12E2 .string "PHOTO$" -gUnknown_81B12E8:: @ 81B12E8 +gFameCheckerFlavorTextOriginObjectName_Blaine5:: @ 81B12E8 .string "POKéMON JOURNAL$" -gUnknown_81B12F8:: @ 81B12F8 +gFameCheckerFlavorTextOriginObjectName_Lorelei0:: @ 81B12F8 .string "LORELEI$" -gUnknown_81B1300:: @ 81B1300 +gFameCheckerFlavorTextOriginObjectName_Lorelei1:: @ 81B1300 .string "LORELEI$" -gUnknown_81B1308:: @ 81B1308 +gFameCheckerFlavorTextOriginObjectName_Lorelei2:: @ 81B1308 .string "OLD MAN$" -gUnknown_81B1310:: @ 81B1310 +gFameCheckerFlavorTextOriginObjectName_Lorelei3:: @ 81B1310 .string "POKéMON JOURNAL$" -gUnknown_81B1320:: @ 81B1320 +gFameCheckerFlavorTextOriginObjectName_Lorelei4:: @ 81B1320 .string "LITTLE GIRL$" -gUnknown_81B132C:: @ 81B132C +gFameCheckerFlavorTextOriginObjectName_Lorelei5:: @ 81B132C .string "OLD LADY$" -gUnknown_81B1335:: @ 81B1335 +gFameCheckerFlavorTextOriginObjectName_Bruno0:: @ 81B1335 .string "BRUNO$" -gUnknown_81B133B:: @ 81B133B +gFameCheckerFlavorTextOriginObjectName_Bruno1:: @ 81B133B .string "BRUNO$" -gUnknown_81B1341:: @ 81B1341 +gFameCheckerFlavorTextOriginObjectName_Bruno2:: @ 81B1341 .string "POKéMON JOURNAL$" -gUnknown_81B1351:: @ 81B1351 +gFameCheckerFlavorTextOriginObjectName_Bruno3:: @ 81B1351 .string "CRUSHER$" -gUnknown_81B1359:: @ 81B1359 +gFameCheckerFlavorTextOriginObjectName_Bruno4:: @ 81B1359 .string "WOMAN$" -gUnknown_81B135F:: @ 81B135F +gFameCheckerFlavorTextOriginObjectName_Bruno5:: @ 81B135F .string "CRUSHER$" -gUnknown_81B1367:: @ 81B1367 +gFameCheckerFlavorTextOriginObjectName_Agatha0:: @ 81B1367 .string "AGATHA$" -gUnknown_81B136E:: @ 81B136E +gFameCheckerFlavorTextOriginObjectName_Agatha1:: @ 81B136E .string "CRUSHER$" -gUnknown_81B1376:: @ 81B1376 +gFameCheckerFlavorTextOriginObjectName_Agatha2:: @ 81B1376 .string "CRUSHER$" -gUnknown_81B137E:: @ 81B137E +gFameCheckerFlavorTextOriginObjectName_Agatha3:: @ 81B137E .string "POKéMON JOURNAL$" -gUnknown_81B138E:: @ 81B138E +gFameCheckerFlavorTextOriginObjectName_Agatha4:: @ 81B138E .string "AGATHA$" -gUnknown_81B1395:: @ 81B1395 +gFameCheckerFlavorTextOriginObjectName_Agatha5:: @ 81B1395 .string "OLD LADY$" -gUnknown_81B139E:: @ 81B139E +gFameCheckerFlavorTextOriginObjectName_Lance0:: @ 81B139E .string "LANCE$" -gUnknown_81B13A4:: @ 81B13A4 +gFameCheckerFlavorTextOriginObjectName_Lance1:: @ 81B13A4 .string "LANCE$" -gUnknown_81B13AA:: @ 81B13AA +gFameCheckerFlavorTextOriginObjectName_Lance2:: @ 81B13AA .string "WOMAN$" -gUnknown_81B13B0:: @ 81B13B0 +gFameCheckerFlavorTextOriginObjectName_Lance3:: @ 81B13B0 .string "LITTLE GIRL$" -gUnknown_81B13BC:: @ 81B13BC +gFameCheckerFlavorTextOriginObjectName_Lance4:: @ 81B13BC .string "POKéMON JOURNAL$" -gUnknown_81B13CC:: @ 81B13CC +gFameCheckerFlavorTextOriginObjectName_Lance5:: @ 81B13CC .string "YOUNG MAN$" -gUnknown_81B13D6:: @ 81B13D6 +gFameCheckerFlavorTextOriginObjectName_Bill0:: @ 81B13D6 .string "{RIVAL}$" -gUnknown_81B13D9:: @ 81B13D9 +gFameCheckerFlavorTextOriginObjectName_Bill1:: @ 81B13D9 .string "LITTLE BOY$" -gUnknown_81B13E4:: @ 81B13E4 +gFameCheckerFlavorTextOriginObjectName_Bill2:: @ 81B13E4 .string "OLD MAN$" -gUnknown_81B13EC:: @ 81B13EC +gFameCheckerFlavorTextOriginObjectName_Bill3:: @ 81B13EC .string "CELIO$" -gUnknown_81B13F2:: @ 81B13F2 +gFameCheckerFlavorTextOriginObjectName_Bill4:: @ 81B13F2 .string "CELIO$" -gUnknown_81B13F8:: @ 81B13F8 +gFameCheckerFlavorTextOriginObjectName_Bill5:: @ 81B13F8 .string "CELIO$" -gUnknown_81B13FE:: @ 81B13FE +gFameCheckerFlavorTextOriginObjectName_MrFuji0:: @ 81B13FE .string "LITTLE GIRL$" -gUnknown_81B140A:: @ 81B140A +gFameCheckerFlavorTextOriginObjectName_MrFuji1:: @ 81B140A .string "TEAM ROCKET$" -gUnknown_81B1416:: @ 81B1416 +gFameCheckerFlavorTextOriginObjectName_MrFuji2:: @ 81B1416 .string "MAGAZINE$" -gUnknown_81B141F:: @ 81B141F +gFameCheckerFlavorTextOriginObjectName_MrFuji3:: @ 81B141F .string "MAN$" -gUnknown_81B1423:: @ 81B1423 +gFameCheckerFlavorTextOriginObjectName_MrFuji4:: @ 81B1423 .string "PHOTO$" -gUnknown_81B1429:: @ 81B1429 +gFameCheckerFlavorTextOriginObjectName_MrFuji5:: @ 81B1429 .string "POKéMON JOURNAL$" -gUnknown_81B1439:: @ 81B1439 +gFameCheckerFlavorTextOriginObjectName_Giovanni0:: @ 81B1439 .string "GIOVANNI$" -gUnknown_81B1442:: @ 81B1442 +gFameCheckerFlavorTextOriginObjectName_Giovanni1:: @ 81B1442 .string "SCIENTIST$" -gUnknown_81B144C:: @ 81B144C +gFameCheckerFlavorTextOriginObjectName_Giovanni2:: @ 81B144C .string "SCIENTIST$" -gUnknown_81B1456:: @ 81B1456 +gFameCheckerFlavorTextOriginObjectName_Giovanni3:: @ 81B1456 .string "GIOVANNI$" -gUnknown_81B145F:: @ 81B145F +gFameCheckerFlavorTextOriginObjectName_Giovanni4:: @ 81B145F .string "MAN$" -gUnknown_81B1463:: @ 81B1463 +gFameCheckerFlavorTextOriginObjectName_Giovanni5:: @ 81B1463 .string "GIDEON$" gUnknown_81B146A:: @ 81B146A diff --git a/include/event_scripts.h b/include/event_scripts.h index 4405b831d..b909566d0 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -384,325 +384,325 @@ extern const u8 gUnknown_81C1429[]; // fame_checker -extern const u8 gUnknown_81AD106[]; -extern const u8 gUnknown_81AD145[]; -extern const u8 gUnknown_81AD1BB[]; -extern const u8 gUnknown_81AD258[]; -extern const u8 gUnknown_81AD2B9[]; -extern const u8 gUnknown_81AD377[]; -extern const u8 gUnknown_81AD40C[]; -extern const u8 gUnknown_81AD4AE[]; -extern const u8 gUnknown_81AD516[]; -extern const u8 gUnknown_81AD5A7[]; -extern const u8 gUnknown_81AD608[]; -extern const u8 gUnknown_81AD69F[]; -extern const u8 gUnknown_81AD705[]; -extern const u8 gUnknown_81AD771[]; -extern const u8 gUnknown_81AD840[]; -extern const u8 gUnknown_81AD908[]; -extern const u8 gUnknown_81AD99A[]; -extern const u8 gUnknown_81ADA27[]; -extern const u8 gUnknown_81ADA91[]; -extern const u8 gUnknown_81ADAF6[]; -extern const u8 gUnknown_81ADB5A[]; -extern const u8 gUnknown_81ADBD9[]; -extern const u8 gUnknown_81ADC72[]; -extern const u8 gUnknown_81ADCEB[]; -extern const u8 gUnknown_81ADD3C[]; -extern const u8 gUnknown_81ADDA7[]; -extern const u8 gUnknown_81ADE0B[]; -extern const u8 gUnknown_81ADE82[]; -extern const u8 gUnknown_81ADEEC[]; -extern const u8 gUnknown_81ADF6A[]; -extern const u8 gUnknown_81AE009[]; -extern const u8 gUnknown_81AE072[]; -extern const u8 gUnknown_81AE0F3[]; -extern const u8 gUnknown_81AE15B[]; -extern const u8 gUnknown_81AE1E5[]; -extern const u8 gUnknown_81AE247[]; -extern const u8 gUnknown_81AE2B6[]; -extern const u8 gUnknown_81AE31D[]; -extern const u8 gUnknown_81AE37D[]; -extern const u8 gUnknown_81AE407[]; -extern const u8 gUnknown_81AE48D[]; -extern const u8 gUnknown_81AE51B[]; -extern const u8 gUnknown_81AE5E8[]; -extern const u8 gUnknown_81AE656[]; -extern const u8 gUnknown_81AE6D7[]; -extern const u8 gUnknown_81AE762[]; -extern const u8 gUnknown_81AE7CB[]; -extern const u8 gUnknown_81AE841[]; -extern const u8 gUnknown_81AE89E[]; -extern const u8 gUnknown_81AE90A[]; -extern const u8 gUnknown_81AE990[]; -extern const u8 gUnknown_81AEA59[]; -extern const u8 gUnknown_81AEAEE[]; -extern const u8 gUnknown_81AEB69[]; -extern const u8 gUnknown_81AEBDF[]; -extern const u8 gUnknown_81AEC28[]; -extern const u8 gUnknown_81AEC82[]; -extern const u8 gUnknown_81AED27[]; -extern const u8 gUnknown_81AEDAA[]; -extern const u8 gUnknown_81AEE51[]; -extern const u8 gUnknown_81AEF25[]; -extern const u8 gUnknown_81AEF6C[]; -extern const u8 gUnknown_81AEFC6[]; -extern const u8 gUnknown_81AF04C[]; -extern const u8 gUnknown_81AF0F0[]; -extern const u8 gUnknown_81AF19A[]; -extern const u8 gUnknown_81AF200[]; -extern const u8 gUnknown_81AF248[]; -extern const u8 gUnknown_81AF2B7[]; -extern const u8 gUnknown_81AF34E[]; -extern const u8 gUnknown_81AF3BE[]; -extern const u8 gUnknown_81AF47C[]; -extern const u8 gUnknown_81AF4FD[]; -extern const u8 gUnknown_81AF567[]; -extern const u8 gUnknown_81AF641[]; -extern const u8 gUnknown_81AF6BA[]; -extern const u8 gUnknown_81AF758[]; -extern const u8 gUnknown_81AF7CB[]; -extern const u8 gUnknown_81AF83E[]; -extern const u8 gUnknown_81AF8CA[]; -extern const u8 gUnknown_81AF929[]; -extern const u8 gUnknown_81AF998[]; -extern const u8 gUnknown_81AFA20[]; -extern const u8 gUnknown_81AFAB9[]; -extern const u8 gUnknown_81AFB0C[]; -extern const u8 gUnknown_81AFB76[]; -extern const u8 gUnknown_81AFC38[]; -extern const u8 gUnknown_81AFCE9[]; -extern const u8 gUnknown_81AFD49[]; -extern const u8 gUnknown_81AFDC4[]; -extern const u8 gUnknown_81AFE68[]; -extern const u8 gUnknown_81AFF23[]; -extern const u8 gUnknown_81AFFA8[]; -extern const u8 gUnknown_81B0022[]; -extern const u8 gUnknown_81B00A6[]; -extern const u8 gUnknown_81B0106[]; -extern const u8 gUnknown_81B0188[]; -extern const u8 gUnknown_81B0198[]; -extern const u8 gUnknown_81B0251[]; -extern const u8 gUnknown_81B025D[]; -extern const u8 gUnknown_81B030F[]; -extern const u8 gUnknown_81B031B[]; -extern const u8 gUnknown_81B03B3[]; -extern const u8 gUnknown_81B03BF[]; -extern const u8 gUnknown_81B0446[]; -extern const u8 gUnknown_81B0456[]; -extern const u8 gUnknown_81B0504[]; -extern const u8 gUnknown_81B0510[]; -extern const u8 gUnknown_81B05C2[]; -extern const u8 gUnknown_81B05CD[]; -extern const u8 gUnknown_81B0667[]; -extern const u8 gUnknown_81B0675[]; -extern const u8 gUnknown_81B06FB[]; -extern const u8 gUnknown_81B0708[]; -extern const u8 gUnknown_81B079F[]; -extern const u8 gUnknown_81B07AD[]; -extern const u8 gUnknown_81B0845[]; -extern const u8 gUnknown_81B0851[]; -extern const u8 gUnknown_81B08EE[]; -extern const u8 gUnknown_81B08FB[]; -extern const u8 gUnknown_81B097F[]; -extern const u8 gUnknown_81B098B[]; -extern const u8 gUnknown_81B0A45[]; -extern const u8 gUnknown_81B0A50[]; -extern const u8 gUnknown_81B0AFF[]; -extern const u8 gUnknown_81B0B0E[]; -extern const u8 gUnknown_81B0BA6[]; -extern const u8 gUnknown_81B0BB5[]; -extern const u8 gUnknown_81B0C45[]; -extern const u8 gUnknown_81B0C51[]; -extern const u8 gUnknown_81B0C5E[]; -extern const u8 gUnknown_81B0C6B[]; -extern const u8 gUnknown_81B0C79[]; -extern const u8 gUnknown_81B0C88[]; -extern const u8 gUnknown_81B0C95[]; -extern const u8 gUnknown_81B0CA2[]; -extern const u8 gUnknown_81B0CB1[]; -extern const u8 gUnknown_81B0CC1[]; -extern const u8 gUnknown_81B0CCF[]; -extern const u8 gUnknown_81B0CDF[]; -extern const u8 gUnknown_81B0CEB[]; -extern const u8 gUnknown_81B0CF7[]; -extern const u8 gUnknown_81B0D02[]; -extern const u8 gUnknown_81B0D0E[]; -extern const u8 gUnknown_81B0D16[]; -extern const u8 gUnknown_81B0D1F[]; -extern const u8 gUnknown_81B0D2D[]; -extern const u8 gUnknown_81B0D3B[]; -extern const u8 gUnknown_81B0D48[]; -extern const u8 gUnknown_81B0D55[]; -extern const u8 gUnknown_81B0D65[]; -extern const u8 gUnknown_81B0D73[]; -extern const u8 gUnknown_81B0D81[]; -extern const u8 gUnknown_81B0D90[]; -extern const u8 gUnknown_81B0D9E[]; -extern const u8 gUnknown_81B0DAC[]; -extern const u8 gUnknown_81B0DBA[]; -extern const u8 gUnknown_81B0DC8[]; -extern const u8 gUnknown_81B0DD7[]; -extern const u8 gUnknown_81B0DE4[]; -extern const u8 gUnknown_81B0DF0[]; -extern const u8 gUnknown_81B0DFC[]; -extern const u8 gUnknown_81B0E08[]; -extern const u8 gUnknown_81B0E14[]; -extern const u8 gUnknown_81B0E24[]; -extern const u8 gUnknown_81B0E31[]; -extern const u8 gUnknown_81B0E3D[]; -extern const u8 gUnknown_81B0E49[]; -extern const u8 gUnknown_81B0E56[]; -extern const u8 gUnknown_81B0E63[]; -extern const u8 gUnknown_81B0E6F[]; -extern const u8 gUnknown_81B0E7C[]; -extern const u8 gUnknown_81B0E89[]; -extern const u8 gUnknown_81B0E95[]; -extern const u8 gUnknown_81B0EA1[]; -extern const u8 gUnknown_81B0EAE[]; -extern const u8 gUnknown_81B0EBA[]; -extern const u8 gUnknown_81B0ECA[]; -extern const u8 gUnknown_81B0ED7[]; -extern const u8 gUnknown_81B0EE4[]; -extern const u8 gUnknown_81B0EF4[]; -extern const u8 gUnknown_81B0F01[]; -extern const u8 gUnknown_81B0F11[]; -extern const u8 gUnknown_81B0F20[]; -extern const u8 gUnknown_81B0F2F[]; -extern const u8 gUnknown_81B0F3B[]; -extern const u8 gUnknown_81B0F47[]; -extern const u8 gUnknown_81B0F53[]; -extern const u8 gUnknown_81B0F5F[]; -extern const u8 gUnknown_81B0F6E[]; -extern const u8 gUnknown_81B0F7D[]; -extern const u8 gUnknown_81B0F8A[]; -extern const u8 gUnknown_81B0F94[]; -extern const u8 gUnknown_81B0F9F[]; -extern const u8 gUnknown_81B0FAE[]; -extern const u8 gUnknown_81B0FBD[]; -extern const u8 gUnknown_81B0FCC[]; -extern const u8 gUnknown_81B0FDB[]; -extern const u8 gUnknown_81B0FE8[]; -extern const u8 gUnknown_81B0FF7[]; -extern const u8 gUnknown_81B1002[]; -extern const u8 gUnknown_81B1011[]; -extern const u8 gUnknown_81B1020[]; -extern const u8 gUnknown_81B102D[]; -extern const u8 gUnknown_81B103B[]; -extern const u8 gUnknown_81B104A[]; -extern const u8 gUnknown_81B1059[]; -extern const u8 gUnknown_81B1067[]; -extern const u8 gUnknown_81B1075[]; -extern const u8 gUnknown_81B1082[]; -extern const u8 gUnknown_81B108D[]; -extern const u8 gUnknown_81B1098[]; -extern const u8 gUnknown_81B10A3[]; -extern const u8 gUnknown_81B10B1[]; -extern const u8 gUnknown_81B10BF[]; -extern const u8 gUnknown_81B10CD[]; -extern const u8 gUnknown_81B10DB[]; -extern const u8 gUnknown_81B10E8[]; -extern const u8 gUnknown_81B10F8[]; -extern const u8 gUnknown_81B1107[]; -extern const u8 gUnknown_81B1111[]; -extern const u8 gUnknown_81B111B[]; -extern const u8 gUnknown_81B1128[]; -extern const u8 gUnknown_81B1135[]; -extern const u8 gUnknown_81B1146[]; -extern const u8 gUnknown_81B114B[]; -extern const u8 gUnknown_81B1155[]; -extern const u8 gUnknown_81B115A[]; -extern const u8 gUnknown_81B116A[]; -extern const u8 gUnknown_81B1171[]; -extern const u8 gUnknown_81B1176[]; -extern const u8 gUnknown_81B117B[]; -extern const u8 gUnknown_81B1181[]; -extern const u8 gUnknown_81B1185[]; -extern const u8 gUnknown_81B1195[]; -extern const u8 gUnknown_81B119E[]; -extern const u8 gUnknown_81B11AE[]; -extern const u8 gUnknown_81B11B3[]; -extern const u8 gUnknown_81B11B9[]; -extern const u8 gUnknown_81B11C3[]; -extern const u8 gUnknown_81B11C7[]; -extern const u8 gUnknown_81B11CB[]; -extern const u8 gUnknown_81B11DB[]; -extern const u8 gUnknown_81B11E0[]; -extern const u8 gUnknown_81B11E6[]; -extern const u8 gUnknown_81B11EB[]; -extern const u8 gUnknown_81B11F5[]; -extern const u8 gUnknown_81B11FA[]; -extern const u8 gUnknown_81B120A[]; -extern const u8 gUnknown_81B120F[]; -extern const u8 gUnknown_81B1219[]; -extern const u8 gUnknown_81B1220[]; -extern const u8 gUnknown_81B1227[]; -extern const u8 gUnknown_81B122E[]; -extern const u8 gUnknown_81B123E[]; -extern const u8 gUnknown_81B1243[]; -extern const u8 gUnknown_81B1249[]; -extern const u8 gUnknown_81B124E[]; -extern const u8 gUnknown_81B1254[]; -extern const u8 gUnknown_81B125A[]; -extern const u8 gUnknown_81B126A[]; -extern const u8 gUnknown_81B126F[]; -extern const u8 gUnknown_81B1274[]; -extern const u8 gUnknown_81B1279[]; -extern const u8 gUnknown_81B1281[]; -extern const u8 gUnknown_81B1291[]; -extern const u8 gUnknown_81B1295[]; -extern const u8 gUnknown_81B129A[]; -extern const u8 gUnknown_81B12A4[]; -extern const u8 gUnknown_81B12AC[]; -extern const u8 gUnknown_81B12B4[]; -extern const u8 gUnknown_81B12C4[]; -extern const u8 gUnknown_81B12CA[]; -extern const u8 gUnknown_81B12CF[]; -extern const u8 gUnknown_81B12D6[]; -extern const u8 gUnknown_81B12DC[]; -extern const u8 gUnknown_81B12E2[]; -extern const u8 gUnknown_81B12E8[]; -extern const u8 gUnknown_81B12F8[]; -extern const u8 gUnknown_81B1300[]; -extern const u8 gUnknown_81B1308[]; -extern const u8 gUnknown_81B1310[]; -extern const u8 gUnknown_81B1320[]; -extern const u8 gUnknown_81B132C[]; -extern const u8 gUnknown_81B1335[]; -extern const u8 gUnknown_81B133B[]; -extern const u8 gUnknown_81B1341[]; -extern const u8 gUnknown_81B1351[]; -extern const u8 gUnknown_81B1359[]; -extern const u8 gUnknown_81B135F[]; -extern const u8 gUnknown_81B1367[]; -extern const u8 gUnknown_81B136E[]; -extern const u8 gUnknown_81B1376[]; -extern const u8 gUnknown_81B137E[]; -extern const u8 gUnknown_81B138E[]; -extern const u8 gUnknown_81B1395[]; -extern const u8 gUnknown_81B139E[]; -extern const u8 gUnknown_81B13A4[]; -extern const u8 gUnknown_81B13AA[]; -extern const u8 gUnknown_81B13B0[]; -extern const u8 gUnknown_81B13BC[]; -extern const u8 gUnknown_81B13CC[]; -extern const u8 gUnknown_81B13D6[]; -extern const u8 gUnknown_81B13D9[]; -extern const u8 gUnknown_81B13E4[]; -extern const u8 gUnknown_81B13EC[]; -extern const u8 gUnknown_81B13F2[]; -extern const u8 gUnknown_81B13F8[]; -extern const u8 gUnknown_81B13FE[]; -extern const u8 gUnknown_81B140A[]; -extern const u8 gUnknown_81B1416[]; -extern const u8 gUnknown_81B141F[]; -extern const u8 gUnknown_81B1423[]; -extern const u8 gUnknown_81B1429[]; -extern const u8 gUnknown_81B1439[]; -extern const u8 gUnknown_81B1442[]; -extern const u8 gUnknown_81B144C[]; -extern const u8 gUnknown_81B1456[]; -extern const u8 gUnknown_81B145F[]; -extern const u8 gUnknown_81B1463[]; +extern const u8 gFameCheckerFlavorText_ProfOak0[]; +extern const u8 gFameCheckerFlavorText_ProfOak1[]; +extern const u8 gFameCheckerFlavorText_ProfOak2[]; +extern const u8 gFameCheckerFlavorText_ProfOak3[]; +extern const u8 gFameCheckerFlavorText_ProfOak4[]; +extern const u8 gFameCheckerFlavorText_ProfOak5[]; +extern const u8 gFameCheckerFlavorText_Daisy0[]; +extern const u8 gFameCheckerFlavorText_Daisy1[]; +extern const u8 gFameCheckerFlavorText_Daisy2[]; +extern const u8 gFameCheckerFlavorText_Daisy3[]; +extern const u8 gFameCheckerFlavorText_Daisy4[]; +extern const u8 gFameCheckerFlavorText_Daisy5[]; +extern const u8 gFameCheckerFlavorText_Brock0[]; +extern const u8 gFameCheckerFlavorText_Brock1[]; +extern const u8 gFameCheckerFlavorText_Brock2[]; +extern const u8 gFameCheckerFlavorText_Brock3[]; +extern const u8 gFameCheckerFlavorText_Brock4[]; +extern const u8 gFameCheckerFlavorText_Brock5[]; +extern const u8 gFameCheckerFlavorText_Misty0[]; +extern const u8 gFameCheckerFlavorText_Misty1[]; +extern const u8 gFameCheckerFlavorText_Misty2[]; +extern const u8 gFameCheckerFlavorText_Misty3[]; +extern const u8 gFameCheckerFlavorText_Misty4[]; +extern const u8 gFameCheckerFlavorText_Misty5[]; +extern const u8 gFameCheckerFlavorText_LtSurge0[]; +extern const u8 gFameCheckerFlavorText_LtSurge1[]; +extern const u8 gFameCheckerFlavorText_LtSurge2[]; +extern const u8 gFameCheckerFlavorText_LtSurge3[]; +extern const u8 gFameCheckerFlavorText_LtSurge4[]; +extern const u8 gFameCheckerFlavorText_LtSurge5[]; +extern const u8 gFameCheckerFlavorText_Erika0[]; +extern const u8 gFameCheckerFlavorText_Erika1[]; +extern const u8 gFameCheckerFlavorText_Erika2[]; +extern const u8 gFameCheckerFlavorText_Erika3[]; +extern const u8 gFameCheckerFlavorText_Erika4[]; +extern const u8 gFameCheckerFlavorText_Erika5[]; +extern const u8 gFameCheckerFlavorText_Koga0[]; +extern const u8 gFameCheckerFlavorText_Koga1[]; +extern const u8 gFameCheckerFlavorText_Koga2[]; +extern const u8 gFameCheckerFlavorText_Koga3[]; +extern const u8 gFameCheckerFlavorText_Koga4[]; +extern const u8 gFameCheckerFlavorText_Koga5[]; +extern const u8 gFameCheckerFlavorText_Sabrina0[]; +extern const u8 gFameCheckerFlavorText_Sabrina1[]; +extern const u8 gFameCheckerFlavorText_Sabrina2[]; +extern const u8 gFameCheckerFlavorText_Sabrina3[]; +extern const u8 gFameCheckerFlavorText_Sabrina4[]; +extern const u8 gFameCheckerFlavorText_Sabrina5[]; +extern const u8 gFameCheckerFlavorText_Blaine0[]; +extern const u8 gFameCheckerFlavorText_Blaine1[]; +extern const u8 gFameCheckerFlavorText_Blaine2[]; +extern const u8 gFameCheckerFlavorText_Blaine3[]; +extern const u8 gFameCheckerFlavorText_Blaine4[]; +extern const u8 gFameCheckerFlavorText_Blaine5[]; +extern const u8 gFameCheckerFlavorText_Lorelei0[]; +extern const u8 gFameCheckerFlavorText_Lorelei1[]; +extern const u8 gFameCheckerFlavorText_Lorelei2[]; +extern const u8 gFameCheckerFlavorText_Lorelei3[]; +extern const u8 gFameCheckerFlavorText_Lorelei4[]; +extern const u8 gFameCheckerFlavorText_Lorelei5[]; +extern const u8 gFameCheckerFlavorText_Bruno0[]; +extern const u8 gFameCheckerFlavorText_Bruno1[]; +extern const u8 gFameCheckerFlavorText_Bruno2[]; +extern const u8 gFameCheckerFlavorText_Bruno3[]; +extern const u8 gFameCheckerFlavorText_Bruno4[]; +extern const u8 gFameCheckerFlavorText_Bruno5[]; +extern const u8 gFameCheckerFlavorText_Agatha0[]; +extern const u8 gFameCheckerFlavorText_Agatha1[]; +extern const u8 gFameCheckerFlavorText_Agatha2[]; +extern const u8 gFameCheckerFlavorText_Agatha3[]; +extern const u8 gFameCheckerFlavorText_Agatha4[]; +extern const u8 gFameCheckerFlavorText_Agatha5[]; +extern const u8 gFameCheckerFlavorText_Lance0[]; +extern const u8 gFameCheckerFlavorText_Lance1[]; +extern const u8 gFameCheckerFlavorText_Lance2[]; +extern const u8 gFameCheckerFlavorText_Lance3[]; +extern const u8 gFameCheckerFlavorText_Lance4[]; +extern const u8 gFameCheckerFlavorText_Lance5[]; +extern const u8 gFameCheckerFlavorText_Bill0[]; +extern const u8 gFameCheckerFlavorText_Bill1[]; +extern const u8 gFameCheckerFlavorText_Bill2[]; +extern const u8 gFameCheckerFlavorText_Bill3[]; +extern const u8 gFameCheckerFlavorText_Bill4[]; +extern const u8 gFameCheckerFlavorText_Bill5[]; +extern const u8 gFameCheckerFlavorText_MrFuji0[]; +extern const u8 gFameCheckerFlavorText_MrFuji1[]; +extern const u8 gFameCheckerFlavorText_MrFuji2[]; +extern const u8 gFameCheckerFlavorText_MrFuji3[]; +extern const u8 gFameCheckerFlavorText_MrFuji4[]; +extern const u8 gFameCheckerFlavorText_MrFuji5[]; +extern const u8 gFameCheckerFlavorText_Giovanni0[]; +extern const u8 gFameCheckerFlavorText_Giovanni1[]; +extern const u8 gFameCheckerFlavorText_Giovanni2[]; +extern const u8 gFameCheckerFlavorText_Giovanni3[]; +extern const u8 gFameCheckerFlavorText_Giovanni4[]; +extern const u8 gFameCheckerFlavorText_Giovanni5[]; +extern const u8 gFameCheckerPersonName_ProfOak[]; +extern const u8 gFameCheckerPersonQuote_ProfOak[]; +extern const u8 gFameCheckerPersonName_Daisy[]; +extern const u8 gFameCheckerPersonQuote_Daisy[]; +extern const u8 gFameCheckerPersonName_Brock[]; +extern const u8 gFameCheckerPersonQuote_Brock[]; +extern const u8 gFameCheckerPersonName_Misty[]; +extern const u8 gFameCheckerPersonQuote_Misty[]; +extern const u8 gFameCheckerPersonName_LtSurge[]; +extern const u8 gFameCheckerPersonQuote_LtSurge[]; +extern const u8 gFameCheckerPersonName_Erika[]; +extern const u8 gFameCheckerPersonQuote_Erika[]; +extern const u8 gFameCheckerPersonName_Koga[]; +extern const u8 gFameCheckerPersonQuote_Koga[]; +extern const u8 gFameCheckerPersonName_Sabrina[]; +extern const u8 gFameCheckerPersonQuote_Sabrina[]; +extern const u8 gFameCheckerPersonName_Blaine[]; +extern const u8 gFameCheckerPersonQuote_Blaine[]; +extern const u8 gFameCheckerPersonName_Lorelei[]; +extern const u8 gFameCheckerPersonQuote_Lorelei[]; +extern const u8 gFameCheckerPersonName_Bruno[]; +extern const u8 gFameCheckerPersonQuote_Bruno[]; +extern const u8 gFameCheckerPersonName_Agatha[]; +extern const u8 gFameCheckerPersonQuote_Agatha[]; +extern const u8 gFameCheckerPersonName_Lance[]; +extern const u8 gFameCheckerPersonQuote_Lance[]; +extern const u8 gFameCheckerPersonName_Bill[]; +extern const u8 gFameCheckerPersonQuote_Bill[]; +extern const u8 gFameCheckerPersonName_MrFuji[]; +extern const u8 gFameCheckerPersonQuote_MrFuji[]; +extern const u8 gFameCheckerPersonName_Giovanni[]; +extern const u8 gFameCheckerPersonQuote_Giovanni[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_ProfOak0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_ProfOak1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_ProfOak2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_ProfOak3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_ProfOak4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_ProfOak5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Daisy0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Daisy1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Daisy2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Daisy3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Daisy4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Daisy5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Brock0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Brock1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Brock2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Brock3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Brock4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Brock5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Misty0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Misty1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Misty2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Misty3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Misty4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Misty5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_LtSurge0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_LtSurge1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_LtSurge2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_LtSurge3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_LtSurge4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_LtSurge5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Erika0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Erika1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Erika2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Erika3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Erika4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Erika5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Koga0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Koga1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Koga2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Koga3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Koga4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Koga5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Sabrina0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Sabrina1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Sabrina2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Sabrina3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Sabrina4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Sabrina5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Blaine0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Blaine1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Blaine2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Blaine3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Blaine4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Blaine5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lorelei0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lorelei1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lorelei2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lorelei3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lorelei4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lorelei5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bruno0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bruno1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bruno2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bruno3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bruno4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bruno5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Agatha0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Agatha1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Agatha2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Agatha3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Agatha4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Agatha5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lance0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lance1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lance2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lance3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lance4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lance5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bill0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bill1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bill2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bill3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bill4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bill5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_MrFuji0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_MrFuji1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_MrFuji2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_MrFuji3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_MrFuji4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_MrFuji5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Giovanni0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Giovanni1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Giovanni2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Giovanni3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Giovanni4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Giovanni5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_ProfOak0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_ProfOak1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_ProfOak2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_ProfOak3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_ProfOak4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_ProfOak5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Daisy0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Daisy1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Daisy2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Daisy3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Daisy4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Daisy5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Brock0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Brock1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Brock2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Brock3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Brock4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Brock5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Misty0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Misty1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Misty2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Misty3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Misty4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Misty5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_LtSurge0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_LtSurge1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_LtSurge2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_LtSurge3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_LtSurge4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_LtSurge5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Erika0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Erika1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Erika2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Erika3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Erika4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Erika5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Koga0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Koga1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Koga2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Koga3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Koga4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Koga5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Sabrina0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Sabrina1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Sabrina2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Sabrina3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Sabrina4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Sabrina5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Blaine0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Blaine1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Blaine2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Blaine3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Blaine4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Blaine5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lorelei0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lorelei1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lorelei2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lorelei3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lorelei4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lorelei5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bruno0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bruno1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bruno2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bruno3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bruno4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bruno5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Agatha0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Agatha1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Agatha2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Agatha3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Agatha4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Agatha5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lance0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lance1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lance2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lance3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lance4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lance5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bill0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bill1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bill2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bill3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bill4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bill5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_MrFuji0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_MrFuji1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_MrFuji2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_MrFuji3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_MrFuji4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_MrFuji5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni5[]; #endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/fame_checker.h b/include/fame_checker.h index fad629108..2849eef09 100644 --- a/include/fame_checker.h +++ b/include/fame_checker.h @@ -19,7 +19,8 @@ enum { FAMECHECKER_LANCE, FAMECHECKER_BILL, FAMECHECKER_MRFUJI, - FAMECHECKER_GIOVANNI + FAMECHECKER_GIOVANNI, + NUM_FAMECHECKER_PERSONS }; enum { @@ -28,7 +29,17 @@ enum { FCPICKSTATE_COLORED }; +enum { + FCWINDOWID_LIST, + FCWINDOWID_UIHELP, + FCWINDOWID_MSGBOX, + FCWINDOWID_ICONDESC +}; + void ResetFameChecker(void); +void FullyUnlockFameChecker(void); void UseFameChecker(MainCallback savedCallback); +void SetFlavorTextFlagFromSpecialVars(void); +void UpdatePickStateFromSpecialVar8005(void); #endif //GUARD_FAME_CHECKER_H diff --git a/include/global.h b/include/global.h index d99f912ae..b81b29381 100644 --- a/include/global.h +++ b/include/global.h @@ -572,6 +572,8 @@ struct QuestLog /*0x0668*/ u16 end[0]; }; +#include "fame_checker.h" + struct FameCheckerSaveData { /*3a54*/ u16 pickState:2; @@ -643,7 +645,7 @@ struct SaveBlock1 /*0x3A14*/ u8 seen2[DEX_FLAGS_NO]; /*0x3A48*/ u8 filler_3a48[4]; /*0x3A4C*/ u8 rivalName[PLAYER_NAME_LENGTH]; - /*0x3A54*/ struct FameCheckerSaveData fameChecker[16]; + /*0x3A54*/ struct FameCheckerSaveData fameChecker[NUM_FAMECHECKER_PERSONS]; /*0x3A94*/ u8 filler3A94[0x2A4]; u32 unkArray[4][3]; }; diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h index 2ff20eb39..2a68a35e6 100644 --- a/include/new_menu_helpers.h +++ b/include/new_menu_helpers.h @@ -18,6 +18,6 @@ u8 GetPlayerTextSpeed(void); void sub_80F6F54(u8, u8); u8 sub_80F78A8(void); void sub_80F6E9C(void); -void sub_80F6EE4(u8, u8); +void sub_80F6EE4(u8 windowId, bool8 transfer); #endif // GUARD_NEW_MENU_HELPERS_H diff --git a/src/fame_checker.c b/src/fame_checker.c index 723fffefe..46c13c387 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -27,14 +27,16 @@ #include "text_window.h" #include "fame_checker.h" -#define SPRITETAG_1000 1000 -#define SPRITETAG_1001 1001 -#define SPRITETAG_1002 1002 -#define SPRITETAG_1004 1004 -#define SPRITETAG_1006 1006 -#define SPRITETAG_1007 1007 -#define SPRITETAG_1008 1008 -#define SPRITETAG_1009 1009 +#define SPRITETAG_SELECTOR_CURSOR 1000 +#define SPRITETAG_QUESTION_MARK 1001 +#define SPRITETAG_SPINNING_POKEBALL 1002 +#define SPRITETAG_SCROLL_INDICATORS 1004 +#define SPRITETAG_DAISY 1006 +#define SPRITETAG_FUJI 1007 +#define SPRITETAG_OAK 1008 +#define SPRITETAG_BILL 1009 + +#define FC_NONTRAINER_START 0xFE00 struct FameCheckerData { @@ -44,11 +46,11 @@ struct FameCheckerData u8 personHasUnlockedPanels:1; u8 inPickMode:1; u8 numUnlockedPersons:6; - u8 scrollIndicatorArrowObjectTaskId; + u8 listMenuTaskId; u8 listMenuCurIdx; u8 listMenuTopIdx2; u8 listMenuDrawnSelIdx; - u8 unlockedPersons[17]; + u8 unlockedPersons[NUM_FAMECHECKER_PERSONS + 1]; u8 spriteIds[6]; u8 unk_23_0:1; u8 unk_23_1:1; @@ -65,74 +67,73 @@ static EWRAM_DATA s32 sLastMenuIdx = 0; struct ListMenuTemplate gFameChecker_ListMenuTemplate; u8 gUnknown_3005EC8; -static void sub_812C3F8(void); -static void sub_812C648(void); -static void sub_812C664(u8 taskId); -static void sub_812C694(u8 taskId); -static bool8 sub_812C8F8(u8 taskId); -static void sub_812C990(void); -static void sub_812C9BC(u8 taskId); -static void sub_812CA1C(u8 taskId); -static void sub_812CAD8(u8 taskId); -static void sub_812CC68(u8 taskId, s8 dx, s8 dy); -static void sub_812CD3C(void); -static void sub_812CE04(u8 taskId); -static void sub_812CE9C(void); -static void sub_812CEC0(void); -static void sub_812CEE0(u8 windowId); -static bool8 sub_812CEFC(u8 taskId, u8 objMode); -static void sub_812CF3C(u8 taskId); -static void sub_812CF7C(u8 taskId); -static void sub_812D094(u8 windowId); -static void sub_812D0F4(u8 a0); -static bool8 sub_812D1A8(u8 a0); -static void sub_812D420(void); -static void sub_812D558(void); -static void sub_812D584(void); -static void sub_812D594(void); -static void sub_812D650(void); -static bool8 sub_812D6B4(void); -static void sub_812D70C(void); -static u8 sub_812D724(s16 a0); -static void sub_812D764(struct Sprite *sprite); -static void sub_812D770(void); +static void MainCB2_LoadFameChecker(void); +static void LoadUISpriteSheetsAndPalettes(void); +static void Task_WaitFadeOnInit(u8 taskId); +static void Task_TopMenuHandleInput(u8 taskId); +static bool8 TryExitPickMode(u8 taskId); +static void MessageBoxPrintEmptyText(void); +static void Task_EnterPickMode(u8 taskId); +static void Task_ExitPickMode(u8 taskId); +static void Task_FlavorTextDisplayHandleInput(u8 taskId); +static void FC_MoveSelectorCursor(u8 taskId, s8 dx, s8 dy); +static void GetPickModeText(void); +static void PrintSelectedNameInBrightGreen(u8 taskId); +static void WipeMsgBoxAndTransfer(void); +static void Setup_DrawMsgAndListBoxes(void); +static void FC_PutWindowTilemapAndCopyWindowToVramMode3(u8 windowId); +static bool8 SetMessageSelectorIconObjMode(u8 taskId, u8 objMode); +static void Task_StartToCloseFameChecker(u8 taskId); +static void Task_DestroyAssetsAndCloseFameChecker(u8 taskId); +static void FC_DestroyWindow(u8 windowId); +static void PrintUIHelp(u8 a0); +static bool8 CreateAllFlavorTextIcons(u8 a0); +static void FCSetup_ClearVideoRegisters(void); +static void FCSetup_ResetTasksAndSpriteResources(void); +static void FCSetup_TurnOnDisplay(void); +static void FCSetup_ResetBGCoords(void); +static bool8 HasUnlockedAllFlavorTextsForCurrentPerson(void); +static void FreeSelectionCursorSpriteResources(void); +static u8 CreateFlavorTextIconSelectorCursorSprite(s16 a0); +static void SpriteCB_DestroyFlavorTextIconSelectorCursor(struct Sprite *sprite); +static void FreeQuestionMarkSpriteResources(void); static u8 PlaceQuestionMarkTile(u8, u8); -static void sub_812D7C8(void); -static u8 sub_812D7E4(void); -static void sub_812D800(struct Sprite *sprite); -static void sub_812D814(void); -static u8 sub_812D888(u8 a0); -static void sub_812D9A8(u8 a0, u16 a1); -static void sub_812DA14(u8 a0); +static void FreeSpinningPokeballSpriteResources(void); +static u8 CreateSpinningPokeballSprite(void); +static void SpriteCB_DestroySpinningPokeball(struct Sprite *sprite); +static void FreeNonTrainerPicTiles(void); +static u8 CreatePersonPicSprite(u8 a0); +static void DestroyPersonPicSprite(u8 a0, u16 a1); +static void UpdateIconDescriptionBox(u8 a0); static void sub_812DB10(void); -static void sub_812DB28(void); -static void sub_812D840(struct Sprite * sprite); -static void sub_812DB64(void); -static void sub_812DBC0(s32, bool8, struct ListMenu *); +static void FC_CreateListMenu(void); +static void SpriteCB_FCSpinningPokeball(struct Sprite * sprite); +static void InitListMenuTemplate(void); +static void FC_MoveCursorFunc(s32, bool8, struct ListMenu *); static void sub_812DD50(u8 taskId); -static void sub_812DDAC(void); -static void sub_812DDF0(s32 itemIndex, bool8 onInit); -static u8 sub_812DEF0(void); -static void sub_812DFE4(u8); -static void sub_812E000(void); -static void sub_812E048(void); +static void PrintCancelDescription(void); +static void FC_DoMoveCursor(s32 itemIndex, bool8 onInit); +static u8 FC_PopulateListMenu(void); +static void FC_PutWindowTilemapAndCopyWindowToVramMode3_2(u8 windowId); +static void FC_CreateScrollIndicatorArrowPair(void); +static void FreeListMenuSelectorArrowPairResources(void); static u16 FameCheckerGetCursorY(void); -static void sub_812E094(u8); +static void FlipBitUnk23_0(bool8); static void sub_812E110(u8 taskId); static void sub_812E178(u8 a0, s16 a1); -static void sub_812E4A4(u8 a0); +static void PlaceListMenuCursor(bool8 a0); -extern const u8 gUnknown_84161C1[]; -extern const u8 gUnknown_841623B[]; -extern const u8 gUnknown_84181C3[]; -extern const u8 gUnknown_84181E4[]; -extern const u8 gUnknown_841E5A4[]; // "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_A_BUTTON}OK$" -extern const u8 gUnknown_841E5B9[]; // "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_B_BUTTON}CANCEL$" -extern const u8 gUnknown_841E5D2[]; // "{KEYGFX_DPAD_ANY}PICK {KEYGFX_A_BUTTON}READ {UNKNOWN_F8 0x01}CANCEL$" -extern const u8 gUnknown_841E5E9[]; // "OAK$" -extern const u8 gUnknown_841E5ED[]; // "DAISY$" -extern const u8 gUnknown_841E5F3[]; // "BILL$" -extern const u8 gUnknown_841E5F8[]; // "FUJI$" +extern const u8 gFameCheckerText_Cancel[]; +extern const u8 gFameCheckerText_ListMenuCursor[]; +extern const u8 gFameCheckerText_FameCheckerWillBeClosed[]; +extern const u8 gFameCheckerText_ClearTextbox[]; +extern const u8 gFameCheckerText_MainScreenUI[]; // "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_A_BUTTON}OK$" +extern const u8 gFameCheckerText_PickScreenUI[]; // "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_B_BUTTON}CANCEL$" +extern const u8 gFameCheckerText_FlavorTextUI[]; // "{KEYGFX_DPAD_ANY}PICK {KEYGFX_A_BUTTON}READ {UNKNOWN_F8 0x01}CANCEL$" +extern const u8 gFameCheckerOakName[]; // "OAK$" +extern const u8 gFameCheckerDaisyName[]; // "DAISY$" +extern const u8 gFameCheckerBillName[]; // "BILL$" +extern const u8 gFameCheckerMrFujiName[]; // "FUJI$" static const u16 sFameCheckerTilemap[] = INCBIN_U16("data/fame_checker/tilemap_845c600.bin"); static const u8 sQuestionMarkSpriteGfx[] = INCBIN_U8("data/fame_checker/img_845ce00.4bpp"); @@ -149,95 +150,65 @@ static const u16 sDaisySpritePalette[] = INCBIN_U16("data/fame_checker/pal_845ed static const u8 sOakSpriteGfx[] = INCBIN_U8("data/fame_checker/img_845ed80.4bpp"); static const u16 sOakSpritePalette[] = INCBIN_U16("data/fame_checker/pal_845f580.gbapal"); static const u16 gUnknown_845F5A0[] = INCBIN_U16("data/fame_checker/pal_845f5a0.gbapal"); -static const u16 gUnknown_845F5C0[] = INCBIN_U16("data/fame_checker/pal_845f5c0.gbapal"); +static const u16 sSilhouettePalette[] = INCBIN_U16("data/fame_checker/pal_845f5c0.gbapal"); -static const struct TextColor gUnknown_845F5E0 = {0x00, 0x01, 0x02}; -static const struct TextColor gUnknown_845F5E3 = {0x00, 0x02, 0x03}; -static const struct TextColor gUnknown_845F5E6 = {0x00, 0x06, 0x07}; +static const struct TextColor gUnknown_845F5E0 = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY}; +static const struct TextColor gUnknown_845F5E3 = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, 0x03}; +static const struct TextColor gUnknown_845F5E6 = {TEXT_COLOR_TRANSPARENT, 0x06, 0x07}; -static const u16 gUnknown_845F5EA[] = { - 0xfe00, - 0xfe01, - 0x019e, - 0x019f, - 0x01a0, - 0x01a1, - 0x01a2, - 0x01a4, - 0x01a3, - 0x019a, - 0x019b, - 0x019c, - 0x019d, - 0xfe02, - 0xfe03, - 0x015c +static const u16 sTrainerIdxs[] = { + FC_NONTRAINER_START + 0, // OAK + FC_NONTRAINER_START + 1, // DAISY + 0x019e, // BROCK + 0x019f, // MISTY + 0x01a0, // LTSURGE + 0x01a1, // ERIKA + 0x01a2, // KOGA + 0x01a4, // SABRINA + 0x01a3, // BLAINE + 0x019a, // LORELEI + 0x019b, // BRUNO + 0x019c, // AGATHA + 0x019d, // LANCE + FC_NONTRAINER_START + 2, // BILL + FC_NONTRAINER_START + 3, // MRFUJI + 0x015c // GIOVANNI }; -static const u8 *const gUnknown_845F60C[] = { - gUnknown_841E5E9, - gUnknown_841E5ED, - gUnknown_841E5F3, - gUnknown_841E5F8 +static const u8 *const sNonTrainerNamePointers[] = { + gFameCheckerOakName, + gFameCheckerDaisyName, + gFameCheckerBillName, + gFameCheckerMrFujiName }; -static const u8 gUnknown_845F61C[] = { +static const u8 sFameCheckerTrainerPicIdxs[] = { 0x56, 0x54, 0x74, 0x75, 0x76, 0x77, 0x78, 0x7a, 0x79, 0x70, 0x71, 0x72, 0x73, 0x64, 0x7b, 0x6c, - 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 // these values are unused }; -static const u8 *const gUnknown_845F63C[] = { - gUnknown_81B0188, - gUnknown_81B0251, - gUnknown_81B030F, - gUnknown_81B03B3, - gUnknown_81B0446, - gUnknown_81B0504, - gUnknown_81B05C2, - gUnknown_81B0667, - gUnknown_81B06FB, - gUnknown_81B079F, - gUnknown_81B0845, - gUnknown_81B08EE, - gUnknown_81B097F, - gUnknown_81B0A45, - gUnknown_81B0AFF, - gUnknown_81B0BA6, - gUnknown_81B0198, - gUnknown_81B025D, - gUnknown_81B031B, - gUnknown_81B03BF, - gUnknown_81B0456, - gUnknown_81B0510, - gUnknown_81B05CD, - gUnknown_81B0675, - gUnknown_81B0708, - gUnknown_81B07AD, - gUnknown_81B0851, - gUnknown_81B08FB, - gUnknown_81B098B, - gUnknown_81B0A50, - gUnknown_81B0B0E, - gUnknown_81B0BB5 +static const u8 *const sFameCheckerNameAndQuotesPointers[] = { + gFameCheckerPersonName_ProfOak, gFameCheckerPersonName_Daisy, gFameCheckerPersonName_Brock, gFameCheckerPersonName_Misty, gFameCheckerPersonName_LtSurge, gFameCheckerPersonName_Erika, gFameCheckerPersonName_Koga, gFameCheckerPersonName_Sabrina, gFameCheckerPersonName_Blaine, gFameCheckerPersonName_Lorelei, gFameCheckerPersonName_Bruno, gFameCheckerPersonName_Agatha, gFameCheckerPersonName_Lance, gFameCheckerPersonName_Bill, gFameCheckerPersonName_MrFuji, gFameCheckerPersonName_Giovanni, + gFameCheckerPersonQuote_ProfOak, gFameCheckerPersonQuote_Daisy, gFameCheckerPersonQuote_Brock, gFameCheckerPersonQuote_Misty, gFameCheckerPersonQuote_LtSurge, gFameCheckerPersonQuote_Erika, gFameCheckerPersonQuote_Koga, gFameCheckerPersonQuote_Sabrina, gFameCheckerPersonQuote_Blaine, gFameCheckerPersonQuote_Lorelei, gFameCheckerPersonQuote_Bruno, gFameCheckerPersonQuote_Agatha, gFameCheckerPersonQuote_Lance, gFameCheckerPersonQuote_Bill, gFameCheckerPersonQuote_MrFuji, gFameCheckerPersonQuote_Giovanni }; -static const u8 *const gUnknown_845F6BC[] = { - gUnknown_81AD106, gUnknown_81AD145, gUnknown_81AD1BB, gUnknown_81AD258, gUnknown_81AD2B9, gUnknown_81AD377, - gUnknown_81AD40C, gUnknown_81AD4AE, gUnknown_81AD516, gUnknown_81AD5A7, gUnknown_81AD608, gUnknown_81AD69F, - gUnknown_81AD705, gUnknown_81AD771, gUnknown_81AD840, gUnknown_81AD908, gUnknown_81AD99A, gUnknown_81ADA27, - gUnknown_81ADA91, gUnknown_81ADAF6, gUnknown_81ADB5A, gUnknown_81ADBD9, gUnknown_81ADC72, gUnknown_81ADCEB, - gUnknown_81ADD3C, gUnknown_81ADDA7, gUnknown_81ADE0B, gUnknown_81ADE82, gUnknown_81ADEEC, gUnknown_81ADF6A, - gUnknown_81AE009, gUnknown_81AE072, gUnknown_81AE0F3, gUnknown_81AE15B, gUnknown_81AE1E5, gUnknown_81AE247, - gUnknown_81AE2B6, gUnknown_81AE31D, gUnknown_81AE37D, gUnknown_81AE407, gUnknown_81AE48D, gUnknown_81AE51B, - gUnknown_81AE5E8, gUnknown_81AE656, gUnknown_81AE6D7, gUnknown_81AE762, gUnknown_81AE7CB, gUnknown_81AE841, - gUnknown_81AE89E, gUnknown_81AE90A, gUnknown_81AE990, gUnknown_81AEA59, gUnknown_81AEAEE, gUnknown_81AEB69, - gUnknown_81AEBDF, gUnknown_81AEC28, gUnknown_81AEC82, gUnknown_81AED27, gUnknown_81AEDAA, gUnknown_81AEE51, - gUnknown_81AEF25, gUnknown_81AEF6C, gUnknown_81AEFC6, gUnknown_81AF04C, gUnknown_81AF0F0, gUnknown_81AF19A, - gUnknown_81AF200, gUnknown_81AF248, gUnknown_81AF2B7, gUnknown_81AF34E, gUnknown_81AF3BE, gUnknown_81AF47C, - gUnknown_81AF4FD, gUnknown_81AF567, gUnknown_81AF641, gUnknown_81AF6BA, gUnknown_81AF758, gUnknown_81AF7CB, - gUnknown_81AF83E, gUnknown_81AF8CA, gUnknown_81AF929, gUnknown_81AF998, gUnknown_81AFA20, gUnknown_81AFAB9, - gUnknown_81AFB0C, gUnknown_81AFB76, gUnknown_81AFC38, gUnknown_81AFCE9, gUnknown_81AFD49, gUnknown_81AFDC4, - gUnknown_81AFE68, gUnknown_81AFF23, gUnknown_81AFFA8, gUnknown_81B0022, gUnknown_81B00A6, gUnknown_81B0106 +static const u8 *const sFameCheckerFlavorTextPointers[] = { + gFameCheckerFlavorText_ProfOak0, gFameCheckerFlavorText_ProfOak1, gFameCheckerFlavorText_ProfOak2, gFameCheckerFlavorText_ProfOak3, gFameCheckerFlavorText_ProfOak4, gFameCheckerFlavorText_ProfOak5, + gFameCheckerFlavorText_Daisy0, gFameCheckerFlavorText_Daisy1, gFameCheckerFlavorText_Daisy2, gFameCheckerFlavorText_Daisy3, gFameCheckerFlavorText_Daisy4, gFameCheckerFlavorText_Daisy5, + gFameCheckerFlavorText_Brock0, gFameCheckerFlavorText_Brock1, gFameCheckerFlavorText_Brock2, gFameCheckerFlavorText_Brock3, gFameCheckerFlavorText_Brock4, gFameCheckerFlavorText_Brock5, + gFameCheckerFlavorText_Misty0, gFameCheckerFlavorText_Misty1, gFameCheckerFlavorText_Misty2, gFameCheckerFlavorText_Misty3, gFameCheckerFlavorText_Misty4, gFameCheckerFlavorText_Misty5, + gFameCheckerFlavorText_LtSurge0, gFameCheckerFlavorText_LtSurge1, gFameCheckerFlavorText_LtSurge2, gFameCheckerFlavorText_LtSurge3, gFameCheckerFlavorText_LtSurge4, gFameCheckerFlavorText_LtSurge5, + gFameCheckerFlavorText_Erika0, gFameCheckerFlavorText_Erika1, gFameCheckerFlavorText_Erika2, gFameCheckerFlavorText_Erika3, gFameCheckerFlavorText_Erika4, gFameCheckerFlavorText_Erika5, + gFameCheckerFlavorText_Koga0, gFameCheckerFlavorText_Koga1, gFameCheckerFlavorText_Koga2, gFameCheckerFlavorText_Koga3, gFameCheckerFlavorText_Koga4, gFameCheckerFlavorText_Koga5, + gFameCheckerFlavorText_Sabrina0, gFameCheckerFlavorText_Sabrina1, gFameCheckerFlavorText_Sabrina2, gFameCheckerFlavorText_Sabrina3, gFameCheckerFlavorText_Sabrina4, gFameCheckerFlavorText_Sabrina5, + gFameCheckerFlavorText_Blaine0, gFameCheckerFlavorText_Blaine1, gFameCheckerFlavorText_Blaine2, gFameCheckerFlavorText_Blaine3, gFameCheckerFlavorText_Blaine4, gFameCheckerFlavorText_Blaine5, + gFameCheckerFlavorText_Lorelei0, gFameCheckerFlavorText_Lorelei1, gFameCheckerFlavorText_Lorelei2, gFameCheckerFlavorText_Lorelei3, gFameCheckerFlavorText_Lorelei4, gFameCheckerFlavorText_Lorelei5, + gFameCheckerFlavorText_Bruno0, gFameCheckerFlavorText_Bruno1, gFameCheckerFlavorText_Bruno2, gFameCheckerFlavorText_Bruno3, gFameCheckerFlavorText_Bruno4, gFameCheckerFlavorText_Bruno5, + gFameCheckerFlavorText_Agatha0, gFameCheckerFlavorText_Agatha1, gFameCheckerFlavorText_Agatha2, gFameCheckerFlavorText_Agatha3, gFameCheckerFlavorText_Agatha4, gFameCheckerFlavorText_Agatha5, + gFameCheckerFlavorText_Lance0, gFameCheckerFlavorText_Lance1, gFameCheckerFlavorText_Lance2, gFameCheckerFlavorText_Lance3, gFameCheckerFlavorText_Lance4, gFameCheckerFlavorText_Lance5, + gFameCheckerFlavorText_Bill0, gFameCheckerFlavorText_Bill1, gFameCheckerFlavorText_Bill2, gFameCheckerFlavorText_Bill3, gFameCheckerFlavorText_Bill4, gFameCheckerFlavorText_Bill5, + gFameCheckerFlavorText_MrFuji0, gFameCheckerFlavorText_MrFuji1, gFameCheckerFlavorText_MrFuji2, gFameCheckerFlavorText_MrFuji3, gFameCheckerFlavorText_MrFuji4, gFameCheckerFlavorText_MrFuji5, + gFameCheckerFlavorText_Giovanni0, gFameCheckerFlavorText_Giovanni1, gFameCheckerFlavorText_Giovanni2, gFameCheckerFlavorText_Giovanni3, gFameCheckerFlavorText_Giovanni4, gFameCheckerFlavorText_Giovanni5 }; static const u8 sFameCheckerArrayNpcGraphicsIds[] = { @@ -259,62 +230,62 @@ static const u8 sFameCheckerArrayNpcGraphicsIds[] = { 0x57, 0x37, 0x37, 0x57, 0x5b, 0x37 }; -static const u8 *const gUnknown_845F89C[] = { - gUnknown_81B0C45, gUnknown_81B0C51, gUnknown_81B0C5E, gUnknown_81B0C6B, gUnknown_81B0C79, gUnknown_81B0C88, - gUnknown_81B0C95, gUnknown_81B0CA2, gUnknown_81B0CB1, gUnknown_81B0CC1, gUnknown_81B0CCF, gUnknown_81B0CDF, - gUnknown_81B0CEB, gUnknown_81B0CF7, gUnknown_81B0D02, gUnknown_81B0D0E, gUnknown_81B0D16, gUnknown_81B0D1F, - gUnknown_81B0D2D, gUnknown_81B0D3B, gUnknown_81B0D48, gUnknown_81B0D55, gUnknown_81B0D65, gUnknown_81B0D73, - gUnknown_81B0D81, gUnknown_81B0D90, gUnknown_81B0D9E, gUnknown_81B0DAC, gUnknown_81B0DBA, gUnknown_81B0DC8, - gUnknown_81B0DD7, gUnknown_81B0DE4, gUnknown_81B0DF0, gUnknown_81B0DFC, gUnknown_81B0E08, gUnknown_81B0E14, - gUnknown_81B0E24, gUnknown_81B0E31, gUnknown_81B0E3D, gUnknown_81B0E49, gUnknown_81B0E56, gUnknown_81B0E63, - gUnknown_81B0E6F, gUnknown_81B0E7C, gUnknown_81B0E89, gUnknown_81B0E95, gUnknown_81B0EA1, gUnknown_81B0EAE, - gUnknown_81B0EBA, gUnknown_81B0ECA, gUnknown_81B0ED7, gUnknown_81B0EE4, gUnknown_81B0EF4, gUnknown_81B0F01, - gUnknown_81B0F11, gUnknown_81B0F20, gUnknown_81B0F2F, gUnknown_81B0F3B, gUnknown_81B0F47, gUnknown_81B0F53, - gUnknown_81B0F5F, gUnknown_81B0F6E, gUnknown_81B0F7D, gUnknown_81B0F8A, gUnknown_81B0F94, gUnknown_81B0F9F, - gUnknown_81B0FAE, gUnknown_81B0FBD, gUnknown_81B0FCC, gUnknown_81B0FDB, gUnknown_81B0FE8, gUnknown_81B0FF7, - gUnknown_81B1002, gUnknown_81B1011, gUnknown_81B1020, gUnknown_81B102D, gUnknown_81B103B, gUnknown_81B104A, - gUnknown_81B1059, gUnknown_81B1067, gUnknown_81B1075, gUnknown_81B1082, gUnknown_81B108D, gUnknown_81B1098, - gUnknown_81B10A3, gUnknown_81B10B1, gUnknown_81B10BF, gUnknown_81B10CD, gUnknown_81B10DB, gUnknown_81B10E8, - gUnknown_81B10F8, gUnknown_81B1107, gUnknown_81B1111, gUnknown_81B111B, gUnknown_81B1128, gUnknown_81B1135 +static const u8 *const sFlavorTextOriginLocationTexts[] = { + gFameCheckerFlavorTextOriginLocation_ProfOak0, gFameCheckerFlavorTextOriginLocation_ProfOak1, gFameCheckerFlavorTextOriginLocation_ProfOak2, gFameCheckerFlavorTextOriginLocation_ProfOak3, gFameCheckerFlavorTextOriginLocation_ProfOak4, gFameCheckerFlavorTextOriginLocation_ProfOak5, + gFameCheckerFlavorTextOriginLocation_Daisy0, gFameCheckerFlavorTextOriginLocation_Daisy1, gFameCheckerFlavorTextOriginLocation_Daisy2, gFameCheckerFlavorTextOriginLocation_Daisy3, gFameCheckerFlavorTextOriginLocation_Daisy4, gFameCheckerFlavorTextOriginLocation_Daisy5, + gFameCheckerFlavorTextOriginLocation_Brock0, gFameCheckerFlavorTextOriginLocation_Brock1, gFameCheckerFlavorTextOriginLocation_Brock2, gFameCheckerFlavorTextOriginLocation_Brock3, gFameCheckerFlavorTextOriginLocation_Brock4, gFameCheckerFlavorTextOriginLocation_Brock5, + gFameCheckerFlavorTextOriginLocation_Misty0, gFameCheckerFlavorTextOriginLocation_Misty1, gFameCheckerFlavorTextOriginLocation_Misty2, gFameCheckerFlavorTextOriginLocation_Misty3, gFameCheckerFlavorTextOriginLocation_Misty4, gFameCheckerFlavorTextOriginLocation_Misty5, + gFameCheckerFlavorTextOriginLocation_LtSurge0, gFameCheckerFlavorTextOriginLocation_LtSurge1, gFameCheckerFlavorTextOriginLocation_LtSurge2, gFameCheckerFlavorTextOriginLocation_LtSurge3, gFameCheckerFlavorTextOriginLocation_LtSurge4, gFameCheckerFlavorTextOriginLocation_LtSurge5, + gFameCheckerFlavorTextOriginLocation_Erika0, gFameCheckerFlavorTextOriginLocation_Erika1, gFameCheckerFlavorTextOriginLocation_Erika2, gFameCheckerFlavorTextOriginLocation_Erika3, gFameCheckerFlavorTextOriginLocation_Erika4, gFameCheckerFlavorTextOriginLocation_Erika5, + gFameCheckerFlavorTextOriginLocation_Koga0, gFameCheckerFlavorTextOriginLocation_Koga1, gFameCheckerFlavorTextOriginLocation_Koga2, gFameCheckerFlavorTextOriginLocation_Koga3, gFameCheckerFlavorTextOriginLocation_Koga4, gFameCheckerFlavorTextOriginLocation_Koga5, + gFameCheckerFlavorTextOriginLocation_Sabrina0, gFameCheckerFlavorTextOriginLocation_Sabrina1, gFameCheckerFlavorTextOriginLocation_Sabrina2, gFameCheckerFlavorTextOriginLocation_Sabrina3, gFameCheckerFlavorTextOriginLocation_Sabrina4, gFameCheckerFlavorTextOriginLocation_Sabrina5, + gFameCheckerFlavorTextOriginLocation_Blaine0, gFameCheckerFlavorTextOriginLocation_Blaine1, gFameCheckerFlavorTextOriginLocation_Blaine2, gFameCheckerFlavorTextOriginLocation_Blaine3, gFameCheckerFlavorTextOriginLocation_Blaine4, gFameCheckerFlavorTextOriginLocation_Blaine5, + gFameCheckerFlavorTextOriginLocation_Lorelei0, gFameCheckerFlavorTextOriginLocation_Lorelei1, gFameCheckerFlavorTextOriginLocation_Lorelei2, gFameCheckerFlavorTextOriginLocation_Lorelei3, gFameCheckerFlavorTextOriginLocation_Lorelei4, gFameCheckerFlavorTextOriginLocation_Lorelei5, + gFameCheckerFlavorTextOriginLocation_Bruno0, gFameCheckerFlavorTextOriginLocation_Bruno1, gFameCheckerFlavorTextOriginLocation_Bruno2, gFameCheckerFlavorTextOriginLocation_Bruno3, gFameCheckerFlavorTextOriginLocation_Bruno4, gFameCheckerFlavorTextOriginLocation_Bruno5, + gFameCheckerFlavorTextOriginLocation_Agatha0, gFameCheckerFlavorTextOriginLocation_Agatha1, gFameCheckerFlavorTextOriginLocation_Agatha2, gFameCheckerFlavorTextOriginLocation_Agatha3, gFameCheckerFlavorTextOriginLocation_Agatha4, gFameCheckerFlavorTextOriginLocation_Agatha5, + gFameCheckerFlavorTextOriginLocation_Lance0, gFameCheckerFlavorTextOriginLocation_Lance1, gFameCheckerFlavorTextOriginLocation_Lance2, gFameCheckerFlavorTextOriginLocation_Lance3, gFameCheckerFlavorTextOriginLocation_Lance4, gFameCheckerFlavorTextOriginLocation_Lance5, + gFameCheckerFlavorTextOriginLocation_Bill0, gFameCheckerFlavorTextOriginLocation_Bill1, gFameCheckerFlavorTextOriginLocation_Bill2, gFameCheckerFlavorTextOriginLocation_Bill3, gFameCheckerFlavorTextOriginLocation_Bill4, gFameCheckerFlavorTextOriginLocation_Bill5, + gFameCheckerFlavorTextOriginLocation_MrFuji0, gFameCheckerFlavorTextOriginLocation_MrFuji1, gFameCheckerFlavorTextOriginLocation_MrFuji2, gFameCheckerFlavorTextOriginLocation_MrFuji3, gFameCheckerFlavorTextOriginLocation_MrFuji4, gFameCheckerFlavorTextOriginLocation_MrFuji5, + gFameCheckerFlavorTextOriginLocation_Giovanni0, gFameCheckerFlavorTextOriginLocation_Giovanni1, gFameCheckerFlavorTextOriginLocation_Giovanni2, gFameCheckerFlavorTextOriginLocation_Giovanni3, gFameCheckerFlavorTextOriginLocation_Giovanni4, gFameCheckerFlavorTextOriginLocation_Giovanni5 }; -static const u8 *const gUnknown_845FA1C[] = { - gUnknown_81B1146, gUnknown_81B114B, gUnknown_81B1155, gUnknown_81B115A, gUnknown_81B116A, gUnknown_81B1171, - gUnknown_81B1176, gUnknown_81B117B, gUnknown_81B1181, gUnknown_81B1185, gUnknown_81B1195, gUnknown_81B119E, - gUnknown_81B11AE, gUnknown_81B11B3, gUnknown_81B11B9, gUnknown_81B11C3, gUnknown_81B11C7, gUnknown_81B11CB, - gUnknown_81B11DB, gUnknown_81B11E0, gUnknown_81B11E6, gUnknown_81B11EB, gUnknown_81B11F5, gUnknown_81B11FA, - gUnknown_81B120A, gUnknown_81B120F, gUnknown_81B1219, gUnknown_81B1220, gUnknown_81B1227, gUnknown_81B122E, - gUnknown_81B123E, gUnknown_81B1243, gUnknown_81B1249, gUnknown_81B124E, gUnknown_81B1254, gUnknown_81B125A, - gUnknown_81B126A, gUnknown_81B126F, gUnknown_81B1274, gUnknown_81B1279, gUnknown_81B1281, gUnknown_81B1291, - gUnknown_81B1295, gUnknown_81B129A, gUnknown_81B12A4, gUnknown_81B12AC, gUnknown_81B12B4, gUnknown_81B12C4, - gUnknown_81B12CA, gUnknown_81B12CF, gUnknown_81B12D6, gUnknown_81B12DC, gUnknown_81B12E2, gUnknown_81B12E8, - gUnknown_81B12F8, gUnknown_81B1300, gUnknown_81B1308, gUnknown_81B1310, gUnknown_81B1320, gUnknown_81B132C, - gUnknown_81B1335, gUnknown_81B133B, gUnknown_81B1341, gUnknown_81B1351, gUnknown_81B1359, gUnknown_81B135F, - gUnknown_81B1367, gUnknown_81B136E, gUnknown_81B1376, gUnknown_81B137E, gUnknown_81B138E, gUnknown_81B1395, - gUnknown_81B139E, gUnknown_81B13A4, gUnknown_81B13AA, gUnknown_81B13B0, gUnknown_81B13BC, gUnknown_81B13CC, - gUnknown_81B13D6, gUnknown_81B13D9, gUnknown_81B13E4, gUnknown_81B13EC, gUnknown_81B13F2, gUnknown_81B13F8, - gUnknown_81B13FE, gUnknown_81B140A, gUnknown_81B1416, gUnknown_81B141F, gUnknown_81B1423, gUnknown_81B1429, - gUnknown_81B1439, gUnknown_81B1442, gUnknown_81B144C, gUnknown_81B1456, gUnknown_81B145F, gUnknown_81B1463 +static const u8 *const sFlavorTextOriginObjectNameTexts[] = { + gFameCheckerFlavorTextOriginObjectName_ProfOak0, gFameCheckerFlavorTextOriginObjectName_ProfOak1, gFameCheckerFlavorTextOriginObjectName_ProfOak2, gFameCheckerFlavorTextOriginObjectName_ProfOak3, gFameCheckerFlavorTextOriginObjectName_ProfOak4, gFameCheckerFlavorTextOriginObjectName_ProfOak5, + gFameCheckerFlavorTextOriginObjectName_Daisy0, gFameCheckerFlavorTextOriginObjectName_Daisy1, gFameCheckerFlavorTextOriginObjectName_Daisy2, gFameCheckerFlavorTextOriginObjectName_Daisy3, gFameCheckerFlavorTextOriginObjectName_Daisy4, gFameCheckerFlavorTextOriginObjectName_Daisy5, + gFameCheckerFlavorTextOriginObjectName_Brock0, gFameCheckerFlavorTextOriginObjectName_Brock1, gFameCheckerFlavorTextOriginObjectName_Brock2, gFameCheckerFlavorTextOriginObjectName_Brock3, gFameCheckerFlavorTextOriginObjectName_Brock4, gFameCheckerFlavorTextOriginObjectName_Brock5, + gFameCheckerFlavorTextOriginObjectName_Misty0, gFameCheckerFlavorTextOriginObjectName_Misty1, gFameCheckerFlavorTextOriginObjectName_Misty2, gFameCheckerFlavorTextOriginObjectName_Misty3, gFameCheckerFlavorTextOriginObjectName_Misty4, gFameCheckerFlavorTextOriginObjectName_Misty5, + gFameCheckerFlavorTextOriginObjectName_LtSurge0, gFameCheckerFlavorTextOriginObjectName_LtSurge1, gFameCheckerFlavorTextOriginObjectName_LtSurge2, gFameCheckerFlavorTextOriginObjectName_LtSurge3, gFameCheckerFlavorTextOriginObjectName_LtSurge4, gFameCheckerFlavorTextOriginObjectName_LtSurge5, + gFameCheckerFlavorTextOriginObjectName_Erika0, gFameCheckerFlavorTextOriginObjectName_Erika1, gFameCheckerFlavorTextOriginObjectName_Erika2, gFameCheckerFlavorTextOriginObjectName_Erika3, gFameCheckerFlavorTextOriginObjectName_Erika4, gFameCheckerFlavorTextOriginObjectName_Erika5, + gFameCheckerFlavorTextOriginObjectName_Koga0, gFameCheckerFlavorTextOriginObjectName_Koga1, gFameCheckerFlavorTextOriginObjectName_Koga2, gFameCheckerFlavorTextOriginObjectName_Koga3, gFameCheckerFlavorTextOriginObjectName_Koga4, gFameCheckerFlavorTextOriginObjectName_Koga5, + gFameCheckerFlavorTextOriginObjectName_Sabrina0, gFameCheckerFlavorTextOriginObjectName_Sabrina1, gFameCheckerFlavorTextOriginObjectName_Sabrina2, gFameCheckerFlavorTextOriginObjectName_Sabrina3, gFameCheckerFlavorTextOriginObjectName_Sabrina4, gFameCheckerFlavorTextOriginObjectName_Sabrina5, + gFameCheckerFlavorTextOriginObjectName_Blaine0, gFameCheckerFlavorTextOriginObjectName_Blaine1, gFameCheckerFlavorTextOriginObjectName_Blaine2, gFameCheckerFlavorTextOriginObjectName_Blaine3, gFameCheckerFlavorTextOriginObjectName_Blaine4, gFameCheckerFlavorTextOriginObjectName_Blaine5, + gFameCheckerFlavorTextOriginObjectName_Lorelei0, gFameCheckerFlavorTextOriginObjectName_Lorelei1, gFameCheckerFlavorTextOriginObjectName_Lorelei2, gFameCheckerFlavorTextOriginObjectName_Lorelei3, gFameCheckerFlavorTextOriginObjectName_Lorelei4, gFameCheckerFlavorTextOriginObjectName_Lorelei5, + gFameCheckerFlavorTextOriginObjectName_Bruno0, gFameCheckerFlavorTextOriginObjectName_Bruno1, gFameCheckerFlavorTextOriginObjectName_Bruno2, gFameCheckerFlavorTextOriginObjectName_Bruno3, gFameCheckerFlavorTextOriginObjectName_Bruno4, gFameCheckerFlavorTextOriginObjectName_Bruno5, + gFameCheckerFlavorTextOriginObjectName_Agatha0, gFameCheckerFlavorTextOriginObjectName_Agatha1, gFameCheckerFlavorTextOriginObjectName_Agatha2, gFameCheckerFlavorTextOriginObjectName_Agatha3, gFameCheckerFlavorTextOriginObjectName_Agatha4, gFameCheckerFlavorTextOriginObjectName_Agatha5, + gFameCheckerFlavorTextOriginObjectName_Lance0, gFameCheckerFlavorTextOriginObjectName_Lance1, gFameCheckerFlavorTextOriginObjectName_Lance2, gFameCheckerFlavorTextOriginObjectName_Lance3, gFameCheckerFlavorTextOriginObjectName_Lance4, gFameCheckerFlavorTextOriginObjectName_Lance5, + gFameCheckerFlavorTextOriginObjectName_Bill0, gFameCheckerFlavorTextOriginObjectName_Bill1, gFameCheckerFlavorTextOriginObjectName_Bill2, gFameCheckerFlavorTextOriginObjectName_Bill3, gFameCheckerFlavorTextOriginObjectName_Bill4, gFameCheckerFlavorTextOriginObjectName_Bill5, + gFameCheckerFlavorTextOriginObjectName_MrFuji0, gFameCheckerFlavorTextOriginObjectName_MrFuji1, gFameCheckerFlavorTextOriginObjectName_MrFuji2, gFameCheckerFlavorTextOriginObjectName_MrFuji3, gFameCheckerFlavorTextOriginObjectName_MrFuji4, gFameCheckerFlavorTextOriginObjectName_MrFuji5, + gFameCheckerFlavorTextOriginObjectName_Giovanni0, gFameCheckerFlavorTextOriginObjectName_Giovanni1, gFameCheckerFlavorTextOriginObjectName_Giovanni2, gFameCheckerFlavorTextOriginObjectName_Giovanni3, gFameCheckerFlavorTextOriginObjectName_Giovanni4, gFameCheckerFlavorTextOriginObjectName_Giovanni5 }; -static const struct SpriteSheet gUnknown_845FB9C[] = { - {sSelectorCursorSpriteGfx, 0x400, SPRITETAG_1000}, - {sQuestionMarkSpriteGfx, 0x100, SPRITETAG_1001}, - {sSpinningPokeballSpriteGfx, 0x1e0, SPRITETAG_1002}, - {sDaisySpriteGfx, 0x800, SPRITETAG_1006}, - {sFujiSpriteGfx, 0x800, SPRITETAG_1007}, - {sOakSpriteGfx, 0x800, SPRITETAG_1008}, - {sBillSpriteGfx, 0x800, SPRITETAG_1009}, +static const struct SpriteSheet sUISpriteSheets[] = { + {sSelectorCursorSpriteGfx, 0x400, SPRITETAG_SELECTOR_CURSOR}, + {sQuestionMarkSpriteGfx, 0x100, SPRITETAG_QUESTION_MARK}, + {sSpinningPokeballSpriteGfx, 0x1e0, SPRITETAG_SPINNING_POKEBALL}, + {sDaisySpriteGfx, 0x800, SPRITETAG_DAISY}, + {sFujiSpriteGfx, 0x800, SPRITETAG_FUJI}, + {sOakSpriteGfx, 0x800, SPRITETAG_OAK}, + {sBillSpriteGfx, 0x800, SPRITETAG_BILL}, {} }; -static const struct SpritePalette gUnknown_845FBDC[] = { - {sSelectorCursorSpritePalette, SPRITETAG_1000}, - {sSpinningPokeballSpritePalette, SPRITETAG_1002}, +static const struct SpritePalette sUISpritePalettes[] = { + {sSelectorCursorSpritePalette, SPRITETAG_SELECTOR_CURSOR}, + {sSpinningPokeballSpritePalette, SPRITETAG_SPINNING_POKEBALL}, {} }; -static const struct BgTemplate gUnknown_845FBF4[4] = { +static const struct BgTemplate sUIBgTemplates[4] = { { .bg = 3, .charBaseIndex = 0x03, @@ -349,118 +320,118 @@ static const struct BgTemplate gUnknown_845FBF4[4] = { .baseTile = 0x000}, }; -static const struct WindowTemplate gUnknown_845FC04[] = { - {0x00, 0x01, 0x03, 0x08, 0x0a, 0x0f, 0x0014}, - {0x00, 0x06, 0x00, 0x18, 0x02, 0x0f, 0x0064}, - {0x00, 0x02, 0x0f, 0x1a, 0x04, 0x0f, 0x0094}, - {0x00, 0x0f, 0x0a, 0x0b, 0x04, 0x0f, 0x00fc}, +static const struct WindowTemplate sUIWindowTemplates[] = { + {0, 1, 3, 8, 10, 15, 0x014}, // List Menu + {0, 6, 0, 24, 2, 15, 0x064}, // UI across the top + {0, 2, 15, 26, 4, 15, 0x094}, // Textbox on the bottom + {0, 15, 10, 11, 4, 15, 0x0FC}, // Icon description DUMMY_WIN_TEMPLATE }; -static const union AnimCmd gUnknown_845FC2C[] = { +static const union AnimCmd sSelectorCursorAnim0[] = { ANIMCMD_FRAME( 0, 15), ANIMCMD_FRAME(16, 15), ANIMCMD_JUMP(0) }; -static const union AnimCmd *const gUnknown_845FC38[] = { - gUnknown_845FC2C +static const union AnimCmd *const sSelectorCursorAnims[] = { + sSelectorCursorAnim0 }; -static const struct OamData gOamData_845FC3C = { +static const struct OamData sSelectorCursorOamData = { .size = 2, .priority = 2 }; -static const struct SpriteTemplate gUnknown_845FC44 = { - SPRITETAG_1000, SPRITETAG_1000, &gOamData_845FC3C, gUnknown_845FC38, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy +static const struct SpriteTemplate sSpriteTemplate_SelectorCursor = { + SPRITETAG_SELECTOR_CURSOR, SPRITETAG_SELECTOR_CURSOR, &sSelectorCursorOamData, sSelectorCursorAnims, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -static const u8 filler_845FC5C[8] = {}; +static const u8 filler_845FC5C[8] = {}; // ??? -static const struct OamData gOamData_845FC64 = { +static const struct OamData sQuestionMarkTileOamData = { .shape = ST_OAM_V_RECTANGLE, .size = 2, .priority = 2 }; -static const union AnimCmd gUnknown_845FC6C[] = { +static const union AnimCmd sQuestionMarkTileAnim0[] = { ANIMCMD_FRAME( 0, 10), ANIMCMD_END }; -static const union AnimCmd *const gUnknown_845FC74[] = { - gUnknown_845FC6C +static const union AnimCmd *const sQuestionMarkTileAnims[] = { + sQuestionMarkTileAnim0 }; -static const struct SpriteTemplate gUnknown_845FC78 = { - SPRITETAG_1001, 0xffff, &gOamData_845FC64, gUnknown_845FC74, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy +static const struct SpriteTemplate sQuestionMarkTileSpriteTemplate = { + SPRITETAG_QUESTION_MARK, 0xffff, &sQuestionMarkTileOamData, sQuestionMarkTileAnims, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -static const union AnimCmd gUnknown_845FC90[] = { +static const union AnimCmd sSpinningPokeballAnim0[] = { ANIMCMD_FRAME( 0, 10), ANIMCMD_END }; -static const union AnimCmd *const gUnknown_845FC98[] = { - gUnknown_845FC90 +static const union AnimCmd *const sSpinningPokeballAnims[] = { + sSpinningPokeballAnim0 }; -static const struct OamData gOamData_845FC9C = { +static const struct OamData sSpinningPokeballOamData = { .affineMode = ST_OAM_AFFINE_NORMAL, .size = 2 }; -static const union AffineAnimCmd gUnknown_845FCA4[] = { +static const union AffineAnimCmd sSpinningPokeballAffineAnim0[] = { AFFINEANIMCMD_FRAME(0, 0, 4, 20), AFFINEANIMCMD_JUMP(0) }; -static const union AffineAnimCmd *const gUnknown_845FCB4[] = { - gUnknown_845FCA4 +static const union AffineAnimCmd *const sSpinningPokeballAffineAnims[] = { + sSpinningPokeballAffineAnim0 }; static const struct SpriteTemplate sSpinningPokeballSpriteTemplate = { - SPRITETAG_1002, SPRITETAG_1002, &gOamData_845FC9C, gUnknown_845FC98, NULL, gUnknown_845FCB4, sub_812D840 + SPRITETAG_SPINNING_POKEBALL, SPRITETAG_SPINNING_POKEBALL, &sSpinningPokeballOamData, sSpinningPokeballAnims, NULL, sSpinningPokeballAffineAnims, SpriteCB_FCSpinningPokeball }; -static const union AnimCmd gUnknown_845FCD0[] = { +static const union AnimCmd sDaisyFujiOakBillAnim0[] = { ANIMCMD_FRAME( 0, 15), ANIMCMD_END }; -static const union AnimCmd *const gUnknown_845FCD8[] = { - gUnknown_845FCD0 +static const union AnimCmd *const sDaisyFujiOakBillAnims[] = { + sDaisyFujiOakBillAnim0 }; -static const struct OamData gOamData_845FCDC = { +static const struct OamData sDaisyFujiOakBillOamData = { .size = 3 }; static const struct SpriteTemplate sDaisySpriteTemplate = { - SPRITETAG_1006, 0xffff, &gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + SPRITETAG_DAISY, 0xffff, &sDaisyFujiOakBillOamData, sDaisyFujiOakBillAnims, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; static const struct SpriteTemplate sFujiSpriteTemplate = { - SPRITETAG_1007, 0xffff, &gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + SPRITETAG_FUJI, 0xffff, &sDaisyFujiOakBillOamData, sDaisyFujiOakBillAnims, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; static const struct SpriteTemplate sOakSpriteTemplate = { - SPRITETAG_1008, 0xffff, &gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + SPRITETAG_OAK, 0xffff, &sDaisyFujiOakBillOamData, sDaisyFujiOakBillAnims, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; static const struct SpriteTemplate sBillSpriteTemplate = { - SPRITETAG_1009, 0xffff, &gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + SPRITETAG_BILL, 0xffff, &sDaisyFujiOakBillOamData, sDaisyFujiOakBillAnims, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -static void sub_812C380(void) +static void FC_VBlankCallback(void) { LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); } -static void sub_812C394(void) +static void MainCB2_FameCheckerMain(void) { RunTasks(); AnimateSprites(); @@ -478,20 +449,20 @@ void UseFameChecker(MainCallback savedCallback) sFameCheckerData->listMenuDrawnSelIdx = 0; sFameCheckerData->unk_23_0 = FALSE; PlaySE(SE_W202); - SetMainCallback2(sub_812C3F8); + SetMainCallback2(MainCB2_LoadFameChecker); } -static void sub_812C3F8(void) +static void MainCB2_LoadFameChecker(void) { switch (gMain.state) { case 0: SetVBlankCallback(NULL); - sub_812D420(); + FCSetup_ClearVideoRegisters(); gMain.state++; break; case 1: - sub_812D558(); + FCSetup_ResetTasksAndSpriteResources(); gMain.state++; break; case 2: @@ -499,11 +470,11 @@ static void sub_812C3F8(void) sBg1TilemapBuffer = AllocZeroed(0x1000); sBg2TilemapBuffer = AllocZeroed(0x800); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_845FBF4, ARRAY_COUNT(gUnknown_845FBF4)); + InitBgsFromTemplates(0, sUIBgTemplates, ARRAY_COUNT(sUIBgTemplates)); SetBgTilemapBuffer(3, sBg3TilemapBuffer); SetBgTilemapBuffer(2, sBg2TilemapBuffer); SetBgTilemapBuffer(1, sBg1TilemapBuffer); - sub_812D594(); + FCSetup_ResetBGCoords(); gMain.state++; break; case 3: @@ -530,125 +501,125 @@ static void sub_812C3F8(void) } break; case 5: - InitWindows(gUnknown_845FC04); + InitWindows(sUIWindowTemplates); DeactivateAllTextPrinters(); - sub_812CEC0(); + Setup_DrawMsgAndListBoxes(); sListMenuItems = AllocZeroed(17 * sizeof(struct ListMenuItem)); - sub_812DB28(); + FC_CreateListMenu(); gMain.state++; break; case 6: - sub_812C648(); - sub_812D1A8(0); - sub_812CE9C(); + LoadUISpriteSheetsAndPalettes(); + CreateAllFlavorTextIcons(0); + WipeMsgBoxAndTransfer(); BeginNormalPaletteFade(0xFFFFFFFF,0, 16, 0, 0); gMain.state++; break; case 7: - sub_812D584(); + FCSetup_TurnOnDisplay(); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD); SetGpuReg(REG_OFFSET_BLDALPHA, 0x07); SetGpuReg(REG_OFFSET_BLDY, 0x08); - SetVBlankCallback(sub_812C380); + SetVBlankCallback(FC_VBlankCallback); sFameCheckerData->listMenuTopIdx = 0; - sub_812E000(); + FC_CreateScrollIndicatorArrowPair(); sub_812E178(1, 4); - CreateTask(sub_812C664, 0x08); - SetMainCallback2(sub_812C394); + CreateTask(Task_WaitFadeOnInit, 0x08); + SetMainCallback2(MainCB2_FameCheckerMain); gMain.state = 0; break; } } -static void sub_812C648(void) +static void LoadUISpriteSheetsAndPalettes(void) { - LoadSpriteSheets(gUnknown_845FB9C); - LoadSpritePalettes(gUnknown_845FBDC); + LoadSpriteSheets(sUISpriteSheets); + LoadSpritePalettes(sUISpritePalettes); } -static void sub_812C664(u8 taskId) +static void Task_WaitFadeOnInit(u8 taskId) { if (!gPaletteFade.active) - gTasks[taskId].func = sub_812C694; + gTasks[taskId].func = Task_TopMenuHandleInput; } -static void sub_812C694(u8 taskId) +static void Task_TopMenuHandleInput(u8 taskId) { - u16 r4; - u8 r4_2; + u16 cursorPos; + u8 i; struct Task *task = &gTasks[taskId]; s16 * data = gTasks[taskId].data; if (FindTaskIdByFunc(sub_812E110) == 0xFF) { RunTextPrinters(); if ((JOY_NEW(SELECT_BUTTON)) && !sFameCheckerData->inPickMode && sFameCheckerData->savedCallback != UseFameCheckerFromMenu) - task->func = sub_812CF3C; + task->func = Task_StartToCloseFameChecker; else if (JOY_NEW(START_BUTTON)) { - r4 = FameCheckerGetCursorY(); - if (sub_812C8F8(taskId) == TRUE) + cursorPos = FameCheckerGetCursorY(); + if (TryExitPickMode(taskId) == TRUE) { PlaySE(SE_W100); } - else if (r4 != sFameCheckerData->numUnlockedPersons - 1) + else if (cursorPos != sFameCheckerData->numUnlockedPersons - 1) // anything but CANCEL { PlaySE(SE_W100); - FillWindowPixelRect(3, 0x00, 0, 0, 88, 32); - sub_812CEE0(3); + FillWindowPixelRect(FCWINDOWID_ICONDESC, 0x00, 0, 0, 88, 32); + FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_ICONDESC); sub_812E178(2, 4); sub_812E178(1, 5); - sub_812D0F4(1); - task->data[2] = sub_812D888(sFameCheckerData->unlockedPersons[r4]); + PrintUIHelp(1); + task->data[2] = CreatePersonPicSprite(sFameCheckerData->unlockedPersons[cursorPos]); gSprites[task->data[2]].pos2.x = 0xF0; gSprites[task->data[2]].data[0] = 1; - task->data[3] = sub_812D7E4(); + task->data[3] = CreateSpinningPokeballSprite(); gSprites[task->data[3]].pos2.x = 0xF0; gSprites[task->data[3]].data[0] = 1; - task->func = sub_812C9BC; + task->func = Task_EnterPickMode; } } else if (JOY_NEW(A_BUTTON)) { - r4 = ListMenuHandleInput(0); - if (r4 == sFameCheckerData->numUnlockedPersons - 1) - task->func = sub_812CF3C; + cursorPos = ListMenuHandleInput(0); + if (cursorPos == sFameCheckerData->numUnlockedPersons - 1) // CANCEL + task->func = Task_StartToCloseFameChecker; else if (sFameCheckerData->inPickMode) { - if (!IsTextPrinterActive(2) && sub_812D6B4() == TRUE) - sub_812CD3C(); + if (!IsTextPrinterActive(2) && HasUnlockedAllFlavorTextsForCurrentPerson() == TRUE) + GetPickModeText(); } else if (sFameCheckerData->personHasUnlockedPanels) { PlaySE(SE_SELECT); - task->data[0] = sub_812D724(task->data[1]); - for (r4_2 = 0; r4_2 < 6; r4_2++) + task->data[0] = CreateFlavorTextIconSelectorCursorSprite(task->data[1]); + for (i = 0; i < 6; i++) { - if (r4_2 != task->data[1]) - sub_812CEFC(sFameCheckerData->spriteIds[r4_2], ST_OAM_OBJ_BLEND); + if (i != task->data[1]) + SetMessageSelectorIconObjMode(sFameCheckerData->spriteIds[i], ST_OAM_OBJ_BLEND); } gUnknown_3005EC8 = 0xFF; - sub_812E4A4(0); - sub_812D0F4(2); - if (gSprites[sFameCheckerData->spriteIds[task->data[1]]].data[1] != 0xFF) + PlaceListMenuCursor(FALSE); + PrintUIHelp(2); + if (gSprites[sFameCheckerData->spriteIds[task->data[1]]].data[1] != 0xFF) // not a ? tile { - sub_812CE04(taskId); - sub_812DA14(data[1]); + PrintSelectedNameInBrightGreen(taskId); + UpdateIconDescriptionBox(data[1]); } - sub_812E048(); - task->func = sub_812CAD8; + FreeListMenuSelectorArrowPairResources(); + task->func = Task_FlavorTextDisplayHandleInput; } } else if (JOY_NEW(B_BUTTON)) { - if (sub_812C8F8(taskId) != TRUE) - task->func = sub_812CF3C; + if (TryExitPickMode(taskId) != TRUE) + task->func = Task_StartToCloseFameChecker; } else ListMenuHandleInput(0); } } -static bool8 sub_812C8F8(u8 taskId) +static bool8 TryExitPickMode(u8 taskId) { struct Task *task = &gTasks[taskId]; if (sFameCheckerData->inPickMode) @@ -657,34 +628,34 @@ static bool8 sub_812C8F8(u8 taskId) gSprites[task->data[2]].pos2.x += 10; gSprites[task->data[3]].data[0] = 2; gSprites[task->data[3]].pos2.x += 10; - sub_812CE9C(); - task->func = sub_812CA1C; - sub_812C990(); + WipeMsgBoxAndTransfer(); + task->func = Task_ExitPickMode; + MessageBoxPrintEmptyText(); sFameCheckerData->unk_23_2 = FALSE; return TRUE; } return FALSE; } -static void sub_812C990(void) +static void MessageBoxPrintEmptyText(void) { - AddTextPrinterParametrized(2, 2, gUnknown_84181E4, 0, NULL, 2, 1, 3); + AddTextPrinterParametrized(2, 2, gFameCheckerText_ClearTextbox, 0, NULL, 2, 1, 3); } -static void sub_812C9BC(u8 taskId) +static void Task_EnterPickMode(u8 taskId) { struct Task *task = &gTasks[taskId]; if (gSprites[task->data[2]].data[0] == 0) { - sub_812CD3C(); + GetPickModeText(); sFameCheckerData->inPickMode = TRUE; - task->func = sub_812C694; + task->func = Task_TopMenuHandleInput; } else ChangeBgX(1, 0xA00, 1); } -static void sub_812CA1C(u8 taskId) +static void Task_ExitPickMode(u8 taskId) { struct Task *task = &gTasks[taskId]; if (GetBgX(1) != 0) @@ -694,17 +665,17 @@ static void sub_812CA1C(u8 taskId) if (gSprites[task->data[2]].data[0] == 0) { if (sFameCheckerData->personHasUnlockedPanels) - sub_812D0F4(0); + PrintUIHelp(0); sub_812E178(1, 4); sub_812E178(2, 2); sFameCheckerData->inPickMode = FALSE; - sub_812D9A8(taskId, FameCheckerGetCursorY()); - task->func = sub_812C694; - gSprites[task->data[3]].callback = sub_812D800; + DestroyPersonPicSprite(taskId, FameCheckerGetCursorY()); + task->func = Task_TopMenuHandleInput; + gSprites[task->data[3]].callback = SpriteCB_DestroySpinningPokeball; } } -static void sub_812CAD8(u8 taskId) +static void Task_FlavorTextDisplayHandleInput(u8 taskId) { struct Task *task = &gTasks[taskId]; s16 *data = gTasks[taskId].data; @@ -714,35 +685,35 @@ static void sub_812CAD8(u8 taskId) { u8 spriteId = sFameCheckerData->spriteIds[data[1]]; if (gSprites[spriteId].data[1] != 0xFF) - sub_812CE04(taskId); + PrintSelectedNameInBrightGreen(taskId); } if (JOY_NEW(B_BUTTON)) { - u8 r4; + u8 i; PlaySE(SE_SELECT); - for (r4 = 0; r4 < 6; r4++) - sub_812CEFC(sFameCheckerData->spriteIds[r4], ST_OAM_OBJ_NORMAL); - sub_812CE9C(); - gSprites[task->data[0]].callback = sub_812D764; + for (i = 0; i < 6; i++) + SetMessageSelectorIconObjMode(sFameCheckerData->spriteIds[i], ST_OAM_OBJ_NORMAL); + WipeMsgBoxAndTransfer(); + gSprites[task->data[0]].callback = SpriteCB_DestroyFlavorTextIconSelectorCursor; if (gUnknown_3005EC8 != 0xFF) sub_812DB10(); - sub_812E4A4(1); - sub_812D0F4(0); - sub_812E000(); - sub_812C990(); - task->func = sub_812C694; + PlaceListMenuCursor(TRUE); + PrintUIHelp(0); + FC_CreateScrollIndicatorArrowPair(); + MessageBoxPrintEmptyText(); + task->func = Task_TopMenuHandleInput; } else if (JOY_NEW(DPAD_UP) || JOY_NEW(DPAD_DOWN)) { if (task->data[1] >= 3) { task->data[1] -= 3; - sub_812CC68(taskId, 0, -0x1b); + FC_MoveSelectorCursor(taskId, 0, -0x1b); } else { task->data[1] += 3; - sub_812CC68(taskId, 0, +0x1b); + FC_MoveSelectorCursor(taskId, 0, +0x1b); } } else if (JOY_NEW(DPAD_LEFT)) @@ -750,12 +721,12 @@ static void sub_812CAD8(u8 taskId) if (task->data[1] == 0 || task->data[1] % 3 == 0) { task->data[1] += 2; - sub_812CC68(taskId, +0x5e, 0); + FC_MoveSelectorCursor(taskId, +0x5e, 0); } else { task->data[1]--; - sub_812CC68(taskId, -0x2f, 0); + FC_MoveSelectorCursor(taskId, -0x2f, 0); } } else if (JOY_NEW(DPAD_RIGHT)) @@ -763,17 +734,17 @@ static void sub_812CAD8(u8 taskId) if ((task->data[1] + 1) % 3 == 0) { task->data[1] -= 2; - sub_812CC68(taskId, -0x5e, 0); + FC_MoveSelectorCursor(taskId, -0x5e, 0); } else { task->data[1]++; - sub_812CC68(taskId, +0x2f, 0); + FC_MoveSelectorCursor(taskId, +0x2f, 0); } } } -static void sub_812CC68(u8 taskId, s8 dx, s8 dy) +static void FC_MoveSelectorCursor(u8 taskId, s8 dx, s8 dy) { u8 i; s16 *data = gTasks[taskId].data; @@ -781,69 +752,69 @@ static void sub_812CC68(u8 taskId, s8 dx, s8 dy) gSprites[data[0]].pos1.x += dx; gSprites[data[0]].pos1.y += dy; for (i = 0; i < 6; i++) - sub_812CEFC(sFameCheckerData->spriteIds[i], ST_OAM_OBJ_BLEND); - FillWindowPixelRect(2, 0x11, 0, 0, 0xd0, 0x20); - sub_812C990(); - if (sub_812CEFC(sFameCheckerData->spriteIds[data[1]], ST_OAM_OBJ_NORMAL) == TRUE) + SetMessageSelectorIconObjMode(sFameCheckerData->spriteIds[i], ST_OAM_OBJ_BLEND); + FillWindowPixelRect(FCWINDOWID_MSGBOX, 0x11, 0, 0, 0xd0, 0x20); + MessageBoxPrintEmptyText(); + if (SetMessageSelectorIconObjMode(sFameCheckerData->spriteIds[data[1]], ST_OAM_OBJ_NORMAL) == TRUE) { - sub_812CE04(taskId); - sub_812DA14(data[1]); + PrintSelectedNameInBrightGreen(taskId); + UpdateIconDescriptionBox(data[1]); } else if (gUnknown_3005EC8 != 0xFF) sub_812DB10(); } -static void sub_812CD3C(void) +static void GetPickModeText(void) { u8 r8 = 0; u16 r6 = FameCheckerGetCursorY(); if (gSaveBlock1Ptr->fameChecker[sFameCheckerData->unlockedPersons[r6]].pickState != FCPICKSTATE_COLORED) { - sub_812CE9C(); - sub_812C990(); + WipeMsgBoxAndTransfer(); + MessageBoxPrintEmptyText(); } else { - FillWindowPixelRect(2, 0x11, 0, 0, 0xd0, 0x20); - if (sub_812D6B4() == TRUE) - r8 = 16; - StringExpandPlaceholders(gStringVar4, gUnknown_845F63C[sFameCheckerData->unlockedPersons[r6] + r8]); - AddTextPrinterParametrized(2, 2, gStringVar4, sub_80F78A8(), NULL, 2, 1, 3); - sub_812CEE0(2); + FillWindowPixelRect(FCWINDOWID_MSGBOX, 0x11, 0, 0, 0xd0, 0x20); + if (HasUnlockedAllFlavorTextsForCurrentPerson() == TRUE) + r8 = NUM_FAMECHECKER_PERSONS; + StringExpandPlaceholders(gStringVar4, sFameCheckerNameAndQuotesPointers[sFameCheckerData->unlockedPersons[r6] + r8]); + AddTextPrinterParametrized(FCWINDOWID_MSGBOX, 2, gStringVar4, sub_80F78A8(), NULL, 2, 1, 3); + FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_MSGBOX); } } -static void sub_812CE04(u8 taskId) +static void PrintSelectedNameInBrightGreen(u8 taskId) { s16 *data = gTasks[taskId].data; - u16 r5 = FameCheckerGetCursorY(); - FillWindowPixelRect(2, 0x11, 0, 0, 0xd0, 0x20); - StringExpandPlaceholders(gStringVar4, gUnknown_845F6BC[sFameCheckerData->unlockedPersons[r5] * 6 + data[1]]); - AddTextPrinterParametrized(2, 2, gStringVar4, sub_80F78A8(), NULL, 2, 1, 3); - sub_812CEE0(2); + u16 cursorPos = FameCheckerGetCursorY(); + FillWindowPixelRect(FCWINDOWID_MSGBOX, 0x11, 0, 0, 0xd0, 0x20); + StringExpandPlaceholders(gStringVar4, sFameCheckerFlavorTextPointers[sFameCheckerData->unlockedPersons[cursorPos] * 6 + data[1]]); + AddTextPrinterParametrized(FCWINDOWID_MSGBOX, 2, gStringVar4, sub_80F78A8(), NULL, 2, 1, 3); + FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_MSGBOX); } -static void sub_812CE9C(void) +static void WipeMsgBoxAndTransfer(void) { - FillWindowPixelRect(2, 0x11, 0, 0, 0xd0, 0x20); - sub_812CEE0(2); + FillWindowPixelRect(FCWINDOWID_MSGBOX, 0x11, 0, 0, 0xd0, 0x20); + FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_MSGBOX); } -static void sub_812CEC0(void) +static void Setup_DrawMsgAndListBoxes(void) { sub_80F6E9C(); - sub_80F6EE4(2, 1); - sub_812CEE0(2); - sub_812CEE0(0); + sub_80F6EE4(FCWINDOWID_MSGBOX, TRUE); + FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_MSGBOX); + FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_LIST); } -static void sub_812CEE0(u8 windowId) +static void FC_PutWindowTilemapAndCopyWindowToVramMode3(u8 windowId) { PutWindowTilemap(windowId); CopyWindowToVram(windowId, 3); } -static bool8 sub_812CEFC(u8 spriteId, u8 objMode) +static bool8 SetMessageSelectorIconObjMode(u8 spriteId, u8 objMode) { if (gSprites[spriteId].data[1] != 0xFF) { @@ -853,14 +824,14 @@ static bool8 sub_812CEFC(u8 spriteId, u8 objMode) return FALSE; } -static void sub_812CF3C(u8 taskId) +static void Task_StartToCloseFameChecker(u8 taskId) { PlaySE(SE_W202); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - gTasks[taskId].func = sub_812CF7C; + gTasks[taskId].func = Task_DestroyAssetsAndCloseFameChecker; } -static void sub_812CF7C(u8 taskId) +static void Task_DestroyAssetsAndCloseFameChecker(u8 taskId) { u8 r4; @@ -868,7 +839,7 @@ static void sub_812CF7C(u8 taskId) { if (sFameCheckerData->inPickMode) { - sub_812D9A8(taskId, FameCheckerGetCursorY()); + DestroyPersonPicSprite(taskId, FameCheckerGetCursorY()); FreeSpriteOamMatrix(&gSprites[gTasks[taskId].data[3]]); DestroySprite(&gSprites[gTasks[taskId].data[3]]); } @@ -876,28 +847,28 @@ static void sub_812CF7C(u8 taskId) { DestroySprite(&gSprites[sFameCheckerData->spriteIds[r4]]); } - sub_812D814(); - sub_812D7C8(); - sub_812D70C(); - sub_812D770(); - sub_812E048(); + FreeNonTrainerPicTiles(); + FreeSpinningPokeballSpriteResources(); + FreeSelectionCursorSpriteResources(); + FreeQuestionMarkSpriteResources(); + FreeListMenuSelectorArrowPairResources(); SetMainCallback2(sFameCheckerData->savedCallback); - sub_810713C(sFameCheckerData->scrollIndicatorArrowObjectTaskId, 0, 0); + sub_810713C(sFameCheckerData->listMenuTaskId, 0, 0); Free(sBg3TilemapBuffer); Free(sBg1TilemapBuffer); Free(sBg2TilemapBuffer); Free(sFameCheckerData); Free(sListMenuItems); - sub_812D094(0); - sub_812D094(1); - sub_812D094(2); - sub_812D094(3); + FC_DestroyWindow(0); + FC_DestroyWindow(1); + FC_DestroyWindow(2); + FC_DestroyWindow(3); FreeAllWindowBuffers(); DestroyTask(taskId); } } -static void sub_812D094(u8 windowId) +static void FC_DestroyWindow(u8 windowId) { FillWindowPixelBuffer(windowId, 0); ClearWindowTilemap(windowId); @@ -905,111 +876,111 @@ static void sub_812D094(u8 windowId) RemoveWindow(windowId); } -static u8 sub_812D0C0(u8 a0) +static u8 AdjustGiovanniIndexIfBeatenInGym(u8 a0) { if (HasTrainerAlreadyBeenFought(0x15e) == TRUE) { if (a0 == 9) - return 15; + return FAMECHECKER_GIOVANNI; if (a0 > 9) return a0 - 1; } return a0; } -static void sub_812D0F4(u8 a0) +static void PrintUIHelp(u8 state) { - const u8 * r5 = gUnknown_841E5A4; s32 width; - if (a0 != 0) + const u8 * src = gFameCheckerText_MainScreenUI; + if (state != 0) { - r5 = gUnknown_841E5D2; - if (a0 == 1) - r5 = gUnknown_841E5B9; + src = gFameCheckerText_FlavorTextUI; + if (state == 1) + src = gFameCheckerText_PickScreenUI; } - width = GetStringWidth(0, r5, 0); - FillWindowPixelRect(1, 0x00, 0, 0, 0xc0, 0x10); - AddTextPrinterParametrized2(1, 0, 188 - width, 0, 0, 2, &gUnknown_845F5E0, -1, r5); - sub_812CEE0(1); + width = GetStringWidth(0, src, 0); + FillWindowPixelRect(FCWINDOWID_UIHELP, 0x00, 0, 0, 0xc0, 0x10); + AddTextPrinterParametrized2(FCWINDOWID_UIHELP, 0, 188 - width, 0, 0, 2, &gUnknown_845F5E0, -1, src); + FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_UIHELP); } -static void sub_812D174(void) +static void DestroyAllFlavorTextIcons(void) { - u8 r4; - for (r4 = 0; r4 < 6; r4++) + u8 i; + for (i = 0; i < 6; i++) { - DestroySprite(&gSprites[sFameCheckerData->spriteIds[r4]]); + DestroySprite(&gSprites[sFameCheckerData->spriteIds[i]]); } } -static bool8 sub_812D1A8(u8 a0) +static bool8 CreateAllFlavorTextIcons(u8 a0) { // r8 <- a0 - bool8 r5 = FALSE; - u8 r6; - for (r6 = 0; r6 < 6; r6++) + bool8 result = FALSE; + u8 i; + for (i = 0; i < 6; i++) { - if ((gSaveBlock1Ptr->fameChecker[sFameCheckerData->unlockedPersons[a0]].flavorTextFlags >> r6) & 1) + if ((gSaveBlock1Ptr->fameChecker[sFameCheckerData->unlockedPersons[a0]].flavorTextFlags >> i) & 1) { - sFameCheckerData->spriteIds[r6] = sub_805EB44( - sFameCheckerArrayNpcGraphicsIds[sFameCheckerData->unlockedPersons[a0] * 6 + r6], - r6, - 47 * (r6 % 3) + 0x72, - 27 * (r6 / 3) + 0x2F + sFameCheckerData->spriteIds[i] = sub_805EB44( + sFameCheckerArrayNpcGraphicsIds[sFameCheckerData->unlockedPersons[a0] * 6 + i], + i, + 47 * (i % 3) + 0x72, + 27 * (i / 3) + 0x2F ); - r5 = TRUE; + result = TRUE; } else { - sFameCheckerData->spriteIds[r6] = PlaceQuestionMarkTile( - 47 * (r6 % 3) + 0x72, - 27 * (r6 / 3) + 0x1F + sFameCheckerData->spriteIds[i] = PlaceQuestionMarkTile( + 47 * (i % 3) + 0x72, + 27 * (i / 3) + 0x1F ); - gSprites[sFameCheckerData->spriteIds[r6]].data[1] = 0xFF; + gSprites[sFameCheckerData->spriteIds[i]].data[1] = 0xFF; } } - if (r5 == TRUE) + if (result == TRUE) { sFameCheckerData->personHasUnlockedPanels = TRUE; if (sFameCheckerData->inPickMode) - sub_812D0F4(TRUE); + PrintUIHelp(1); else - sub_812D0F4(FALSE); + PrintUIHelp(0); } else { sFameCheckerData->personHasUnlockedPanels = FALSE; - sub_812D0F4(TRUE); + PrintUIHelp(1); } - return r5; + return result; } void ResetFameChecker(void) { - u8 r4; - for (r4 = 0; r4 < 16; r4++) + u8 i; + for (i = 0; i < NUM_FAMECHECKER_PERSONS; i++) { - gSaveBlock1Ptr->fameChecker[r4].pickState = FCPICKSTATE_NO_DRAW; - gSaveBlock1Ptr->fameChecker[r4].flavorTextFlags = 0; - gSaveBlock1Ptr->fameChecker[r4].unk_0_E = 0; + gSaveBlock1Ptr->fameChecker[i].pickState = FCPICKSTATE_NO_DRAW; + gSaveBlock1Ptr->fameChecker[i].flavorTextFlags = 0; + gSaveBlock1Ptr->fameChecker[i].unk_0_E = 0; } - gSaveBlock1Ptr->fameChecker[0].pickState = FCPICKSTATE_COLORED; + gSaveBlock1Ptr->fameChecker[FAMECHECKER_OAK].pickState = FCPICKSTATE_COLORED; } -static void sub_812D388(void) +void FullyUnlockFameChecker(void) { - u8 r5, r4; - for (r5 = 0; r5 < 16; r5++) + u8 i, j; + for (i = 0; i < NUM_FAMECHECKER_PERSONS; i++) { - gSaveBlock1Ptr->fameChecker[r5].pickState = FCPICKSTATE_COLORED; - for (r4 = 0; r4 < 6; r4++) + gSaveBlock1Ptr->fameChecker[i].pickState = FCPICKSTATE_COLORED; + for (j = 0; j < 6; j++) { - gSaveBlock1Ptr->fameChecker[r5].flavorTextFlags |= (1 << r4); + gSaveBlock1Ptr->fameChecker[i].flavorTextFlags |= (1 << j); } } } -static void sub_812D420(void) +static void FCSetup_ClearVideoRegisters(void) { void * vram = (void *)VRAM; DmaClearLarge16(3, vram, VRAM_SIZE, 0x1000); @@ -1037,7 +1008,7 @@ static void sub_812D420(void) SetGpuReg(REG_OFFSET_BLDY, 0); } -static void sub_812D558(void) +static void FCSetup_ResetTasksAndSpriteResources(void) { remove_some_task(); ResetTasks(); @@ -1049,12 +1020,12 @@ static void sub_812D558(void) } -static void sub_812D584(void) +static void FCSetup_TurnOnDisplay(void) { SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON); } -static void sub_812D594(void) +static void FCSetup_ResetBGCoords(void) { ChangeBgX(0, 0, 0); ChangeBgY(0, 0, 0); @@ -1066,97 +1037,99 @@ static void sub_812D594(void) ChangeBgY(3, 0, 0); } -static void sub_812D5EC(void) +void SetFlavorTextFlagFromSpecialVars(void) { - if (gUnknown_20370C0 < 16 && gSpecialVar_0x8005 < 6) + if (gUnknown_20370C0 < NUM_FAMECHECKER_PERSONS && gSpecialVar_0x8005 < 6) { gSaveBlock1Ptr->fameChecker[gUnknown_20370C0].flavorTextFlags |= (1 << gSpecialVar_0x8005); - gSpecialVar_0x8005 = 1; - sub_812D650(); + gSpecialVar_0x8005 = FCPICKSTATE_SILHOUETTE; + UpdatePickStateFromSpecialVar8005(); } } -static void sub_812D650(void) +void UpdatePickStateFromSpecialVar8005(void) { - if (gUnknown_20370C0 < 16 && gSpecialVar_0x8005 < 3) + if (gUnknown_20370C0 < NUM_FAMECHECKER_PERSONS && gSpecialVar_0x8005 < 3) { - if (gSpecialVar_0x8005 == 0) + if (gSpecialVar_0x8005 == FCPICKSTATE_NO_DRAW) return; - if (gSpecialVar_0x8005 == 1 && gSaveBlock1Ptr->fameChecker[gUnknown_20370C0].pickState == FCPICKSTATE_COLORED) + if ( gSpecialVar_0x8005 == FCPICKSTATE_SILHOUETTE + && gSaveBlock1Ptr->fameChecker[gUnknown_20370C0].pickState == FCPICKSTATE_COLORED + ) return; gSaveBlock1Ptr->fameChecker[gUnknown_20370C0].pickState = gSpecialVar_0x8005; } } -static bool8 sub_812D6B4(void) +static bool8 HasUnlockedAllFlavorTextsForCurrentPerson(void) { - u8 r2; - u8 r1 = sFameCheckerData->unlockedPersons[FameCheckerGetCursorY()]; - for (r2 = 0; r2 < 6; r2++) + u8 i; + u8 who = sFameCheckerData->unlockedPersons[FameCheckerGetCursorY()]; + for (i = 0; i < 6; i++) { - if (!((gSaveBlock1Ptr->fameChecker[r1].flavorTextFlags >> r2) & 1)) + if (!((gSaveBlock1Ptr->fameChecker[who].flavorTextFlags >> i) & 1)) return FALSE; } return TRUE; } -static void sub_812D70C(void) +static void FreeSelectionCursorSpriteResources(void) { - FreeSpriteTilesByTag(SPRITETAG_1000); - FreeSpritePaletteByTag(SPRITETAG_1000); + FreeSpriteTilesByTag(SPRITETAG_SELECTOR_CURSOR); + FreeSpritePaletteByTag(SPRITETAG_SELECTOR_CURSOR); } -static u8 sub_812D724(s16 a0) +static u8 CreateFlavorTextIconSelectorCursorSprite(s16 where) { - s16 r4 = a0 >= 3 ? 61 : 34; - s16 r1 = 47 * (a0 % 3) + 0x72; - return CreateSprite(&gUnknown_845FC44, r1, r4, 0); + s16 y = 34 + 27 * (where >= 3); + s16 x = 114 + 47 * (where % 3); + return CreateSprite(&sSpriteTemplate_SelectorCursor, x, y, 0); } -static void sub_812D764(struct Sprite * sprite) +static void SpriteCB_DestroyFlavorTextIconSelectorCursor(struct Sprite * sprite) { DestroySprite(sprite); } -static void sub_812D770(void) +static void FreeQuestionMarkSpriteResources(void) { - FreeSpriteTilesByTag(SPRITETAG_1001); + FreeSpriteTilesByTag(SPRITETAG_QUESTION_MARK); } static u8 PlaceQuestionMarkTile(u8 x, u8 y) { - u8 spriteId = CreateSprite(&gUnknown_845FC78, x, y, 8); + u8 spriteId = CreateSprite(&sQuestionMarkTileSpriteTemplate, x, y, 8); gSprites[spriteId].oam.priority = 2; gSprites[spriteId].oam.paletteNum = 2; return spriteId; } -static void sub_812D7C8(void) +static void FreeSpinningPokeballSpriteResources(void) { - FreeSpriteTilesByTag(SPRITETAG_1002); - FreeSpritePaletteByTag(SPRITETAG_1002); + FreeSpriteTilesByTag(SPRITETAG_SPINNING_POKEBALL); + FreeSpritePaletteByTag(SPRITETAG_SPINNING_POKEBALL); } -static u8 sub_812D7E4(void) +static u8 CreateSpinningPokeballSprite(void) { return CreateSprite(&sSpinningPokeballSpriteTemplate, 0xe2, 0x42, 0); } -static void sub_812D800(struct Sprite * sprite) +static void SpriteCB_DestroySpinningPokeball(struct Sprite * sprite) { FreeSpriteOamMatrix(sprite); DestroySprite(sprite); } -static void sub_812D814(void) +static void FreeNonTrainerPicTiles(void) { - FreeSpriteTilesByTag(SPRITETAG_1006); - FreeSpriteTilesByTag(SPRITETAG_1007); - FreeSpriteTilesByTag(SPRITETAG_1008); - FreeSpriteTilesByTag(SPRITETAG_1009); + FreeSpriteTilesByTag(SPRITETAG_DAISY); + FreeSpriteTilesByTag(SPRITETAG_FUJI); + FreeSpriteTilesByTag(SPRITETAG_OAK); + FreeSpriteTilesByTag(SPRITETAG_BILL); } -static void sub_812D840(struct Sprite * sprite) +static void SpriteCB_FCSpinningPokeball(struct Sprite * sprite) { if (sprite->data[0] == 1) { @@ -1180,92 +1153,92 @@ static void sub_812D840(struct Sprite * sprite) } } -static u8 sub_812D888(u8 a0) +static u8 CreatePersonPicSprite(u8 fcPersonIdx) { - u8 r4; - if (a0 == FAMECHECKER_DAISY) + u8 spriteId; + if (fcPersonIdx == FAMECHECKER_DAISY) { - r4 = CreateSprite(&sDaisySpriteTemplate, 0x94, 0x42, 0); + spriteId = CreateSprite(&sDaisySpriteTemplate, 0x94, 0x42, 0); LoadPalette(sDaisySpritePalette, 0x160, 0x20); - gSprites[r4].oam.paletteNum = 6; + gSprites[spriteId].oam.paletteNum = 6; } - else if (a0 == FAMECHECKER_MRFUJI) + else if (fcPersonIdx == FAMECHECKER_MRFUJI) { - r4 = CreateSprite(&sFujiSpriteTemplate, 0x94, 0x42, 0); + spriteId = CreateSprite(&sFujiSpriteTemplate, 0x94, 0x42, 0); LoadPalette(sFujiSpritePalette, 0x160, 0x20); - gSprites[r4].oam.paletteNum = 6; + gSprites[spriteId].oam.paletteNum = 6; } - else if (a0 == FAMECHECKER_OAK) + else if (fcPersonIdx == FAMECHECKER_OAK) { - r4 = CreateSprite(&sOakSpriteTemplate, 0x94, 0x42, 0); + spriteId = CreateSprite(&sOakSpriteTemplate, 0x94, 0x42, 0); LoadPalette(sOakSpritePalette, 0x160, 0x20); - gSprites[r4].oam.paletteNum = 6; + gSprites[spriteId].oam.paletteNum = 6; } - else if (a0 == FAMECHECKER_BILL) + else if (fcPersonIdx == FAMECHECKER_BILL) { - r4 = CreateSprite(&sBillSpriteTemplate, 0x94, 0x42, 0); + spriteId = CreateSprite(&sBillSpriteTemplate, 0x94, 0x42, 0); LoadPalette(sBillSpritePalette, 0x160, 0x20); - gSprites[r4].oam.paletteNum = 6; + gSprites[spriteId].oam.paletteNum = 6; } else { - r4 = sub_810C2A4(gUnknown_845F61C[a0], 1, 0x94, 0x42, 6, 0xFFFF); + spriteId = sub_810C2A4(sFameCheckerTrainerPicIdxs[fcPersonIdx], 1, 0x94, 0x42, 6, 0xFFFF); } - gSprites[r4].callback = sub_812D840; - if (gSaveBlock1Ptr->fameChecker[a0].pickState == FCPICKSTATE_SILHOUETTE) - LoadPalette(gUnknown_845F5C0, 0x160, 0x20); - return r4; + gSprites[spriteId].callback = SpriteCB_FCSpinningPokeball; + if (gSaveBlock1Ptr->fameChecker[fcPersonIdx].pickState == FCPICKSTATE_SILHOUETTE) + LoadPalette(sSilhouettePalette, 0x160, 0x20); + return spriteId; } -static void sub_812D9A8(u8 taskId, u16 a1) +static void DestroyPersonPicSprite(u8 taskId, u16 who) { s16 * data = gTasks[taskId].data; - u16 r1 = a1; - if (a1 == sFameCheckerData->numUnlockedPersons - 1) - r1 = a1 - 1; - if ( sFameCheckerData->unlockedPersons[r1] == FAMECHECKER_DAISY - || sFameCheckerData->unlockedPersons[r1] == FAMECHECKER_MRFUJI - || sFameCheckerData->unlockedPersons[r1] == FAMECHECKER_OAK - || sFameCheckerData->unlockedPersons[r1] == FAMECHECKER_BILL + u16 who_copy = who; + if (who == sFameCheckerData->numUnlockedPersons - 1) + who_copy = who - 1; + if ( sFameCheckerData->unlockedPersons[who_copy] == FAMECHECKER_DAISY + || sFameCheckerData->unlockedPersons[who_copy] == FAMECHECKER_MRFUJI + || sFameCheckerData->unlockedPersons[who_copy] == FAMECHECKER_OAK + || sFameCheckerData->unlockedPersons[who_copy] == FAMECHECKER_BILL ) DestroySprite(&gSprites[data[2]]); else sub_810C2E8(data[2]); } -static void sub_812DA14(u8 a0) +static void UpdateIconDescriptionBox(u8 a0) { s32 width; - u32 r5 = 6 * sFameCheckerData->unlockedPersons[FameCheckerGetCursorY()] + a0; - sub_812E094(1); + u32 idx = 6 * sFameCheckerData->unlockedPersons[FameCheckerGetCursorY()] + a0; + FlipBitUnk23_0(TRUE); gUnknown_3005EC8 = 1; - FillWindowPixelRect(3, 0x00, 0, 0, 0x58, 0x20); - width = (0x54 - GetStringWidth(0, gUnknown_845F89C[r5], 0)) / 2; - AddTextPrinterParametrized2(3, 0, width, 0, 0, 2, &gUnknown_845F5E3, -1, gUnknown_845F89C[r5]); - StringExpandPlaceholders(gStringVar1, gUnknown_845FA1C[r5]); + FillWindowPixelRect(FCWINDOWID_ICONDESC, 0x00, 0, 0, 0x58, 0x20); + width = (0x54 - GetStringWidth(0, sFlavorTextOriginLocationTexts[idx], 0)) / 2; + AddTextPrinterParametrized2(FCWINDOWID_ICONDESC, 0, width, 0, 0, 2, &gUnknown_845F5E3, -1, sFlavorTextOriginLocationTexts[idx]); + StringExpandPlaceholders(gStringVar1, sFlavorTextOriginObjectNameTexts[idx]); width = (0x54 - GetStringWidth(0, gStringVar1, 0)) / 2; - AddTextPrinterParametrized2(3, 0, width, 10, 0, 2, &gUnknown_845F5E3, -1, gStringVar1); - sub_812CEE0(3); + AddTextPrinterParametrized2(FCWINDOWID_ICONDESC, 0, width, 10, 0, 2, &gUnknown_845F5E3, -1, gStringVar1); + FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_ICONDESC); } static void sub_812DB10(void) { - sub_812E094(0); + FlipBitUnk23_0(FALSE); gUnknown_3005EC8 = 0xFF; } -static void sub_812DB28(void) +static void FC_CreateListMenu(void) { - sub_812DB64(); - sFameCheckerData->numUnlockedPersons = sub_812DEF0(); - sFameCheckerData->scrollIndicatorArrowObjectTaskId = ListMenuInit(&gFameChecker_ListMenuTemplate, 0, 0); - sub_812DFE4(0); + InitListMenuTemplate(); + sFameCheckerData->numUnlockedPersons = FC_PopulateListMenu(); + sFameCheckerData->listMenuTaskId = ListMenuInit(&gFameChecker_ListMenuTemplate, 0, 0); + FC_PutWindowTilemapAndCopyWindowToVramMode3_2(FCWINDOWID_LIST); } -static void sub_812DB64(void) +static void InitListMenuTemplate(void) { gFameChecker_ListMenuTemplate.items = sListMenuItems; - gFameChecker_ListMenuTemplate.moveCursorFunc = sub_812DBC0; + gFameChecker_ListMenuTemplate.moveCursorFunc = FC_MoveCursorFunc; gFameChecker_ListMenuTemplate.itemPrintFunc = NULL; gFameChecker_ListMenuTemplate.totalItems = 1; gFameChecker_ListMenuTemplate.maxShowed = 1; @@ -1284,31 +1257,31 @@ static void sub_812DB64(void) gFameChecker_ListMenuTemplate.cursorKind = 0; } -static void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) +static void FC_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list) { u16 sp8; u8 taskId; u16 r9; sLastMenuIdx = 0; r9 = sFameCheckerData->listMenuTopIdx2 + sFameCheckerData->listMenuDrawnSelIdx; - sub_812DDF0(itemIndex, onInit); - taskId = FindTaskIdByFunc(sub_812C694); + FC_DoMoveCursor(itemIndex, onInit); + taskId = FindTaskIdByFunc(Task_TopMenuHandleInput); if (taskId != 0xFF) { struct Task *task = &gTasks[taskId]; PlaySE(SE_SELECT); task->data[1] = 0; - get_coro_args_x18_x1A(sFameCheckerData->scrollIndicatorArrowObjectTaskId, &sp8, NULL); + get_coro_args_x18_x1A(sFameCheckerData->listMenuTaskId, &sp8, NULL); sFameCheckerData->listMenuTopIdx = sp8; if (itemIndex != sFameCheckerData->numUnlockedPersons - 1) { - sub_812D174(); - sub_812D1A8(itemIndex); + DestroyAllFlavorTextIcons(); + CreateAllFlavorTextIcons(itemIndex); if (sFameCheckerData->inPickMode) { if (!sFameCheckerData->unk_23_2) { - sub_812D9A8(taskId, r9); + DestroyPersonPicSprite(taskId, r9); sLastMenuIdx = itemIndex; task->func = sub_812DD50; } @@ -1317,18 +1290,18 @@ static void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) gSprites[task->data[2]].invisible = FALSE; sFameCheckerData->unk_23_2 = FALSE; gSprites[task->data[2]].data[0] = 0; - sub_812CD3C(); + GetPickModeText(); } } else { - FillWindowPixelRect(2, 0x11, 0, 0, 0xd0, 0x20); - sub_812CEE0(2); + FillWindowPixelRect(FCWINDOWID_MSGBOX, 0x11, 0, 0, 0xd0, 0x20); + FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_MSGBOX); } } else { - sub_812DDAC(); + PrintCancelDescription(); if (sFameCheckerData->inPickMode) { gSprites[task->data[2]].invisible = TRUE; @@ -1349,34 +1322,34 @@ static void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) static void sub_812DD50(u8 taskId) { struct Task * task = &gTasks[taskId]; - task->data[2] = sub_812D888(sFameCheckerData->unlockedPersons[sLastMenuIdx]); + task->data[2] = CreatePersonPicSprite(sFameCheckerData->unlockedPersons[sLastMenuIdx]); gSprites[task->data[2]].data[0] = 0; - sub_812CD3C(); - task->func = sub_812C694; + GetPickModeText(); + task->func = Task_TopMenuHandleInput; } -static void sub_812DDAC(void) +static void PrintCancelDescription(void) { - FillWindowPixelRect(2, 0x11, 0, 0, 0xd0, 0x20); - AddTextPrinterParametrized(2, 2, gUnknown_84181C3, 0, NULL, 2, 1, 3); - sub_812CEE0(2); + FillWindowPixelRect(FCWINDOWID_MSGBOX, 0x11, 0, 0, 0xd0, 0x20); + AddTextPrinterParametrized(FCWINDOWID_MSGBOX, 2, gFameCheckerText_FameCheckerWillBeClosed, 0, NULL, 2, 1, 3); + FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_MSGBOX); } -static void sub_812DDF0(s32 itemIndex, bool8 onInit) +static void FC_DoMoveCursor(s32 itemIndex, bool8 onInit) { u16 sp14; u16 sp16; u16 r6; - get_coro_args_x18_x1A(sFameCheckerData->scrollIndicatorArrowObjectTaskId, &sp14, &sp16); + get_coro_args_x18_x1A(sFameCheckerData->listMenuTaskId, &sp14, &sp16); r6 = sp14 + sp16; - AddTextPrinterParametrized2(0, 2, 8, 14 * sp16 + 4, 0, 0, &gUnknown_845F5E6, 0, sListMenuItems[itemIndex].unk_00); + AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 8, 14 * sp16 + 4, 0, 0, &gUnknown_845F5E6, 0, sListMenuItems[itemIndex].unk_00); if (!onInit) { if (sp14 < sFameCheckerData->listMenuTopIdx2) sFameCheckerData->listMenuDrawnSelIdx++; else if (sp14 > sFameCheckerData->listMenuTopIdx2 && r6 != sFameCheckerData->numUnlockedPersons - 1) sFameCheckerData->listMenuDrawnSelIdx--; - AddTextPrinterParametrized2(0, 2, 8, 14 * sFameCheckerData->listMenuDrawnSelIdx + 4, 0, 0, &gUnknown_845F5E3, 0, sListMenuItems[sFameCheckerData->listMenuCurIdx].unk_00); + AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 8, 14 * sFameCheckerData->listMenuDrawnSelIdx + 4, 0, 0, &gUnknown_845F5E3, 0, sListMenuItems[sFameCheckerData->listMenuCurIdx].unk_00); } sFameCheckerData->listMenuCurIdx = itemIndex; @@ -1384,63 +1357,63 @@ static void sub_812DDF0(s32 itemIndex, bool8 onInit) sFameCheckerData->listMenuTopIdx2 = sp14; } -static u8 sub_812DEF0(void) +static u8 FC_PopulateListMenu(void) { - u8 r4 = 0; - u8 r6; + u8 nitems = 0; + u8 i; - for (r6 = 0; r6 < 16; r6++) + for (i = 0; i < NUM_FAMECHECKER_PERSONS; i++) { - u8 r5 = sub_812D0C0(r6); - if (gSaveBlock1Ptr->fameChecker[r5].pickState != FCPICKSTATE_NO_DRAW) + u8 fameCheckerIdx = AdjustGiovanniIndexIfBeatenInGym(i); + if (gSaveBlock1Ptr->fameChecker[fameCheckerIdx].pickState != FCPICKSTATE_NO_DRAW) { - if (gUnknown_845F5EA[r5] < 0xFE00) + if (sTrainerIdxs[fameCheckerIdx] < FC_NONTRAINER_START) { - sListMenuItems[r4].unk_00 = gTrainers[gUnknown_845F5EA[r5]].trainerName; - sListMenuItems[r4].unk_04 = r4; + sListMenuItems[nitems].unk_00 = gTrainers[sTrainerIdxs[fameCheckerIdx]].trainerName; + sListMenuItems[nitems].unk_04 = nitems; } else { - sListMenuItems[r4].unk_00 = gUnknown_845F60C[gUnknown_845F5EA[r5] - 0xFE00]; - sListMenuItems[r4].unk_04 = r4; + sListMenuItems[nitems].unk_00 = sNonTrainerNamePointers[sTrainerIdxs[fameCheckerIdx] - FC_NONTRAINER_START]; + sListMenuItems[nitems].unk_04 = nitems; } - sFameCheckerData->unlockedPersons[r4] = r5; - r4++; + sFameCheckerData->unlockedPersons[nitems] = fameCheckerIdx; + nitems++; } } - sListMenuItems[r4].unk_00 = gUnknown_84161C1; - sListMenuItems[r4].unk_04 = r4; - sFameCheckerData->unlockedPersons[r4] = 0xFF; - r4++; - gFameChecker_ListMenuTemplate.totalItems = r4; - if (r4 < 5) - gFameChecker_ListMenuTemplate.maxShowed = r4; + sListMenuItems[nitems].unk_00 = gFameCheckerText_Cancel; + sListMenuItems[nitems].unk_04 = nitems; + sFameCheckerData->unlockedPersons[nitems] = 0xFF; + nitems++; + gFameChecker_ListMenuTemplate.totalItems = nitems; + if (nitems < 5) + gFameChecker_ListMenuTemplate.maxShowed = nitems; else gFameChecker_ListMenuTemplate.maxShowed = 5; - return r4; + return nitems; } -static void sub_812DFE4(u8 windowId) +static void FC_PutWindowTilemapAndCopyWindowToVramMode3_2(u8 windowId) { PutWindowTilemap(windowId); CopyWindowToVram(windowId, 3); } -static void sub_812E000(void) +static void FC_CreateScrollIndicatorArrowPair(void) { struct ScrollIndicatorArrowPairTemplate sp0 = { - 2, - 40, - 26, - 3, - 40, - 100, - 0, - 0, - SPRITETAG_1004, - 0xFFFF, - 1, - 0 + 2, + 40, + 26, + 3, + 40, + 100, + 0, + 0, + SPRITETAG_SCROLL_INDICATORS, + 0xFFFF, + 1, + 0 }; if (sFameCheckerData->numUnlockedPersons > 5) @@ -1451,7 +1424,7 @@ static void sub_812E000(void) } } -static void sub_812E048(void) +static void FreeListMenuSelectorArrowPairResources(void) { if (sFameCheckerData->numUnlockedPersons > 5) RemoveScrollIndicatorArrowPair(sFameCheckerData->unk_06); @@ -1460,11 +1433,11 @@ static void sub_812E048(void) static u16 FameCheckerGetCursorY(void) { u16 sp0, sp2; - get_coro_args_x18_x1A(sFameCheckerData->scrollIndicatorArrowObjectTaskId, &sp0, &sp2); + get_coro_args_x18_x1A(sFameCheckerData->listMenuTaskId, &sp0, &sp2); return sp0 + sp2; } -static void sub_812E094(u8 a0) +static void FlipBitUnk23_0(bool8 a0) { if (sFameCheckerData->unk_23_0 != a0) { @@ -1571,11 +1544,11 @@ static void sub_812E178(u8 bg, s16 a1) CopyBgTilemapBufferToVram(bg); } -static void sub_812E4A4(u8 a0) +static void PlaceListMenuCursor(bool8 isActive) { - u16 cursorY = ListMenuGetYCoordForPrintingArrowCursor(sFameCheckerData->scrollIndicatorArrowObjectTaskId); - if (a0 == 1) - AddTextPrinterParametrized2(0, 2, 0, cursorY, 0, 0, &gUnknown_845F5E3, 0, gUnknown_841623B); + u16 cursorY = ListMenuGetYCoordForPrintingArrowCursor(sFameCheckerData->listMenuTaskId); + if (isActive == TRUE) + AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, &gUnknown_845F5E3, 0, gFameCheckerText_ListMenuCursor); else - AddTextPrinterParametrized2(0, 2, 0, cursorY, 0, 0, &gUnknown_845F5E0, 0, gUnknown_841623B); + AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, &gUnknown_845F5E0, 0, gFameCheckerText_ListMenuCursor); } From 5f9edfe8e63127d2557f9f419ecdd9174d0a7ae8 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 27 Nov 2018 18:29:18 -0500 Subject: [PATCH 151/222] One more field renaming in fame_checker --- src/fame_checker.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/fame_checker.c b/src/fame_checker.c index 46c13c387..ec78b5f0e 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -42,7 +42,7 @@ struct FameCheckerData { MainCallback savedCallback; u16 listMenuTopIdx; - u8 unk_06; + u8 scrollIndicatorPairTaskId; u8 personHasUnlockedPanels:1; u8 inPickMode:1; u8 numUnlockedPersons:6; @@ -53,7 +53,7 @@ struct FameCheckerData u8 unlockedPersons[NUM_FAMECHECKER_PERSONS + 1]; u8 spriteIds[6]; u8 unk_23_0:1; - u8 unk_23_1:1; + u8 unk_23_1:1; // unused u8 unk_23_2:1; }; @@ -1420,14 +1420,14 @@ static void FC_CreateScrollIndicatorArrowPair(void) { sp0.unk_06 = 0; sp0.unk_08 = sFameCheckerData->numUnlockedPersons - 5; - sFameCheckerData->unk_06 = AddScrollIndicatorArrowPair(&sp0, &sFameCheckerData->listMenuTopIdx); + sFameCheckerData->scrollIndicatorPairTaskId = AddScrollIndicatorArrowPair(&sp0, &sFameCheckerData->listMenuTopIdx); } } static void FreeListMenuSelectorArrowPairResources(void) { if (sFameCheckerData->numUnlockedPersons > 5) - RemoveScrollIndicatorArrowPair(sFameCheckerData->unk_06); + RemoveScrollIndicatorArrowPair(sFameCheckerData->scrollIndicatorPairTaskId); } static u16 FameCheckerGetCursorY(void) From 66c7fc0d701ef5211114fdbdaa9588007beed3f2 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 28 Nov 2018 08:42:21 -0500 Subject: [PATCH 152/222] All functions and assets in fame_checker are named --- common_syms/fame_checker.txt | 2 +- include/fame_checker.h | 3 + src/fame_checker.c | 135 +++++++++++++++++------------------ 3 files changed, 71 insertions(+), 69 deletions(-) diff --git a/common_syms/fame_checker.txt b/common_syms/fame_checker.txt index a590c1cbb..c23bd9a2a 100644 --- a/common_syms/fame_checker.txt +++ b/common_syms/fame_checker.txt @@ -1,2 +1,2 @@ gFameChecker_ListMenuTemplate -gUnknown_3005EC8 +gIconDescriptionBoxIsOpen diff --git a/include/fame_checker.h b/include/fame_checker.h index 2849eef09..257431d8b 100644 --- a/include/fame_checker.h +++ b/include/fame_checker.h @@ -36,6 +36,9 @@ enum { FCWINDOWID_ICONDESC }; +extern struct ListMenuTemplate gFameChecker_ListMenuTemplate; +extern u8 gIconDescriptionBoxIsOpen; + void ResetFameChecker(void); void FullyUnlockFameChecker(void); void UseFameChecker(MainCallback savedCallback); diff --git a/src/fame_checker.c b/src/fame_checker.c index ec78b5f0e..85cea3015 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -52,9 +52,9 @@ struct FameCheckerData u8 listMenuDrawnSelIdx; u8 unlockedPersons[NUM_FAMECHECKER_PERSONS + 1]; u8 spriteIds[6]; - u8 unk_23_0:1; + u8 viewingFlavorText:1; u8 unk_23_1:1; // unused - u8 unk_23_2:1; + u8 pickModeOverCancel:1; }; static EWRAM_DATA u16 * sBg3TilemapBuffer = NULL; @@ -65,7 +65,7 @@ static EWRAM_DATA struct ListMenuItem * sListMenuItems = NULL; static EWRAM_DATA s32 sLastMenuIdx = 0; struct ListMenuTemplate gFameChecker_ListMenuTemplate; -u8 gUnknown_3005EC8; +u8 gIconDescriptionBoxIsOpen; static void MainCB2_LoadFameChecker(void); static void LoadUISpriteSheetsAndPalettes(void); @@ -86,31 +86,31 @@ static bool8 SetMessageSelectorIconObjMode(u8 taskId, u8 objMode); static void Task_StartToCloseFameChecker(u8 taskId); static void Task_DestroyAssetsAndCloseFameChecker(u8 taskId); static void FC_DestroyWindow(u8 windowId); -static void PrintUIHelp(u8 a0); -static bool8 CreateAllFlavorTextIcons(u8 a0); +static void PrintUIHelp(u8 state); +static bool8 CreateAllFlavorTextIcons(u8 who); static void FCSetup_ClearVideoRegisters(void); static void FCSetup_ResetTasksAndSpriteResources(void); static void FCSetup_TurnOnDisplay(void); static void FCSetup_ResetBGCoords(void); static bool8 HasUnlockedAllFlavorTextsForCurrentPerson(void); static void FreeSelectionCursorSpriteResources(void); -static u8 CreateFlavorTextIconSelectorCursorSprite(s16 a0); +static u8 CreateFlavorTextIconSelectorCursorSprite(s16 where); static void SpriteCB_DestroyFlavorTextIconSelectorCursor(struct Sprite *sprite); static void FreeQuestionMarkSpriteResources(void); -static u8 PlaceQuestionMarkTile(u8, u8); +static u8 PlaceQuestionMarkTile(u8 x, u8 y); static void FreeSpinningPokeballSpriteResources(void); static u8 CreateSpinningPokeballSprite(void); static void SpriteCB_DestroySpinningPokeball(struct Sprite *sprite); static void FreeNonTrainerPicTiles(void); -static u8 CreatePersonPicSprite(u8 a0); -static void DestroyPersonPicSprite(u8 a0, u16 a1); -static void UpdateIconDescriptionBox(u8 a0); -static void sub_812DB10(void); +static u8 CreatePersonPicSprite(u8 fcPersonIdx); +static void DestroyPersonPicSprite(u8 taskId, u16 who); +static void UpdateIconDescriptionBox(u8 whichText); +static void UpdateIconDescriptionBoxOff(void); static void FC_CreateListMenu(void); static void SpriteCB_FCSpinningPokeball(struct Sprite * sprite); static void InitListMenuTemplate(void); -static void FC_MoveCursorFunc(s32, bool8, struct ListMenu *); -static void sub_812DD50(u8 taskId); +static void FC_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu * list); +static void Task_SwitchToPickMode(u8 taskId); static void PrintCancelDescription(void); static void FC_DoMoveCursor(s32 itemIndex, bool8 onInit); static u8 FC_PopulateListMenu(void); @@ -118,10 +118,10 @@ static void FC_PutWindowTilemapAndCopyWindowToVramMode3_2(u8 windowId); static void FC_CreateScrollIndicatorArrowPair(void); static void FreeListMenuSelectorArrowPairResources(void); static u16 FameCheckerGetCursorY(void); -static void FlipBitUnk23_0(bool8); -static void sub_812E110(u8 taskId); -static void sub_812E178(u8 a0, s16 a1); -static void PlaceListMenuCursor(bool8 a0); +static void HandleFlavorTextModeSwitch(bool8 state); +static void Task_FCOpenOrCloseInfoBox(u8 taskId); +static void UpdateInfoBoxTilemap(u8 bg, s16 state); +static void PlaceListMenuCursor(bool8 isActive); extern const u8 gFameCheckerText_Cancel[]; extern const u8 gFameCheckerText_ListMenuCursor[]; @@ -447,7 +447,7 @@ void UseFameChecker(MainCallback savedCallback) sFameCheckerData->listMenuCurIdx = 0; sFameCheckerData->listMenuTopIdx2 = 0; sFameCheckerData->listMenuDrawnSelIdx = 0; - sFameCheckerData->unk_23_0 = FALSE; + sFameCheckerData->viewingFlavorText = FALSE; PlaySE(SE_W202); SetMainCallback2(MainCB2_LoadFameChecker); } @@ -510,7 +510,7 @@ static void MainCB2_LoadFameChecker(void) break; case 6: LoadUISpriteSheetsAndPalettes(); - CreateAllFlavorTextIcons(0); + CreateAllFlavorTextIcons(FAMECHECKER_OAK); WipeMsgBoxAndTransfer(); BeginNormalPaletteFade(0xFFFFFFFF,0, 16, 0, 0); gMain.state++; @@ -523,7 +523,7 @@ static void MainCB2_LoadFameChecker(void) SetVBlankCallback(FC_VBlankCallback); sFameCheckerData->listMenuTopIdx = 0; FC_CreateScrollIndicatorArrowPair(); - sub_812E178(1, 4); + UpdateInfoBoxTilemap(1, 4); CreateTask(Task_WaitFadeOnInit, 0x08); SetMainCallback2(MainCB2_FameCheckerMain); gMain.state = 0; @@ -549,7 +549,7 @@ static void Task_TopMenuHandleInput(u8 taskId) u8 i; struct Task *task = &gTasks[taskId]; s16 * data = gTasks[taskId].data; - if (FindTaskIdByFunc(sub_812E110) == 0xFF) + if (FindTaskIdByFunc(Task_FCOpenOrCloseInfoBox) == 0xFF) { RunTextPrinters(); if ((JOY_NEW(SELECT_BUTTON)) && !sFameCheckerData->inPickMode && sFameCheckerData->savedCallback != UseFameCheckerFromMenu) @@ -566,8 +566,8 @@ static void Task_TopMenuHandleInput(u8 taskId) PlaySE(SE_W100); FillWindowPixelRect(FCWINDOWID_ICONDESC, 0x00, 0, 0, 88, 32); FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_ICONDESC); - sub_812E178(2, 4); - sub_812E178(1, 5); + UpdateInfoBoxTilemap(2, 4); + UpdateInfoBoxTilemap(1, 5); PrintUIHelp(1); task->data[2] = CreatePersonPicSprite(sFameCheckerData->unlockedPersons[cursorPos]); gSprites[task->data[2]].pos2.x = 0xF0; @@ -597,7 +597,7 @@ static void Task_TopMenuHandleInput(u8 taskId) if (i != task->data[1]) SetMessageSelectorIconObjMode(sFameCheckerData->spriteIds[i], ST_OAM_OBJ_BLEND); } - gUnknown_3005EC8 = 0xFF; + gIconDescriptionBoxIsOpen = 0xFF; PlaceListMenuCursor(FALSE); PrintUIHelp(2); if (gSprites[sFameCheckerData->spriteIds[task->data[1]]].data[1] != 0xFF) // not a ? tile @@ -631,7 +631,7 @@ static bool8 TryExitPickMode(u8 taskId) WipeMsgBoxAndTransfer(); task->func = Task_ExitPickMode; MessageBoxPrintEmptyText(); - sFameCheckerData->unk_23_2 = FALSE; + sFameCheckerData->pickModeOverCancel = FALSE; return TRUE; } return FALSE; @@ -666,8 +666,8 @@ static void Task_ExitPickMode(u8 taskId) { if (sFameCheckerData->personHasUnlockedPanels) PrintUIHelp(0); - sub_812E178(1, 4); - sub_812E178(2, 2); + UpdateInfoBoxTilemap(1, 4); + UpdateInfoBoxTilemap(2, 2); sFameCheckerData->inPickMode = FALSE; DestroyPersonPicSprite(taskId, FameCheckerGetCursorY()); task->func = Task_TopMenuHandleInput; @@ -695,8 +695,8 @@ static void Task_FlavorTextDisplayHandleInput(u8 taskId) SetMessageSelectorIconObjMode(sFameCheckerData->spriteIds[i], ST_OAM_OBJ_NORMAL); WipeMsgBoxAndTransfer(); gSprites[task->data[0]].callback = SpriteCB_DestroyFlavorTextIconSelectorCursor; - if (gUnknown_3005EC8 != 0xFF) - sub_812DB10(); + if (gIconDescriptionBoxIsOpen != 0xFF) + UpdateIconDescriptionBoxOff(); PlaceListMenuCursor(TRUE); PrintUIHelp(0); FC_CreateScrollIndicatorArrowPair(); @@ -760,8 +760,8 @@ static void FC_MoveSelectorCursor(u8 taskId, s8 dx, s8 dy) PrintSelectedNameInBrightGreen(taskId); UpdateIconDescriptionBox(data[1]); } - else if (gUnknown_3005EC8 != 0xFF) - sub_812DB10(); + else if (gIconDescriptionBoxIsOpen != 0xFF) + UpdateIconDescriptionBoxOff(); } static void GetPickModeText(void) @@ -913,14 +913,13 @@ static void DestroyAllFlavorTextIcons(void) } } -static bool8 CreateAllFlavorTextIcons(u8 a0) +static bool8 CreateAllFlavorTextIcons(u8 who) { - // r8 <- a0 bool8 result = FALSE; u8 i; for (i = 0; i < 6; i++) { - if ((gSaveBlock1Ptr->fameChecker[sFameCheckerData->unlockedPersons[a0]].flavorTextFlags >> i) & 1) + if ((gSaveBlock1Ptr->fameChecker[sFameCheckerData->unlockedPersons[who]].flavorTextFlags >> i) & 1) { sFameCheckerData->spriteIds[i] = sub_805EB44( sFameCheckerArrayNpcGraphicsIds[sFameCheckerData->unlockedPersons[a0] * 6 + i], @@ -1206,12 +1205,12 @@ static void DestroyPersonPicSprite(u8 taskId, u16 who) sub_810C2E8(data[2]); } -static void UpdateIconDescriptionBox(u8 a0) +static void UpdateIconDescriptionBox(u8 whichText) { s32 width; - u32 idx = 6 * sFameCheckerData->unlockedPersons[FameCheckerGetCursorY()] + a0; - FlipBitUnk23_0(TRUE); - gUnknown_3005EC8 = 1; + u32 idx = 6 * sFameCheckerData->unlockedPersons[FameCheckerGetCursorY()] + whichText; + HandleFlavorTextModeSwitch(TRUE); + gIconDescriptionBoxIsOpen = 1; FillWindowPixelRect(FCWINDOWID_ICONDESC, 0x00, 0, 0, 0x58, 0x20); width = (0x54 - GetStringWidth(0, sFlavorTextOriginLocationTexts[idx], 0)) / 2; AddTextPrinterParametrized2(FCWINDOWID_ICONDESC, 0, width, 0, 0, 2, &gUnknown_845F5E3, -1, sFlavorTextOriginLocationTexts[idx]); @@ -1221,10 +1220,10 @@ static void UpdateIconDescriptionBox(u8 a0) FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_ICONDESC); } -static void sub_812DB10(void) +static void UpdateIconDescriptionBoxOff(void) { - FlipBitUnk23_0(FALSE); - gUnknown_3005EC8 = 0xFF; + HandleFlavorTextModeSwitch(FALSE); + gIconDescriptionBoxIsOpen = 0xFF; } static void FC_CreateListMenu(void) @@ -1259,11 +1258,11 @@ static void InitListMenuTemplate(void) static void FC_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list) { - u16 sp8; + u16 listMenuTopIdx; u8 taskId; - u16 r9; + u16 personIdx; sLastMenuIdx = 0; - r9 = sFameCheckerData->listMenuTopIdx2 + sFameCheckerData->listMenuDrawnSelIdx; + personIdx = sFameCheckerData->listMenuTopIdx2 + sFameCheckerData->listMenuDrawnSelIdx; FC_DoMoveCursor(itemIndex, onInit); taskId = FindTaskIdByFunc(Task_TopMenuHandleInput); if (taskId != 0xFF) @@ -1271,24 +1270,24 @@ static void FC_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list struct Task *task = &gTasks[taskId]; PlaySE(SE_SELECT); task->data[1] = 0; - get_coro_args_x18_x1A(sFameCheckerData->listMenuTaskId, &sp8, NULL); - sFameCheckerData->listMenuTopIdx = sp8; + get_coro_args_x18_x1A(sFameCheckerData->listMenuTaskId, &listMenuTopIdx, NULL); + sFameCheckerData->listMenuTopIdx = listMenuTopIdx; if (itemIndex != sFameCheckerData->numUnlockedPersons - 1) { DestroyAllFlavorTextIcons(); CreateAllFlavorTextIcons(itemIndex); if (sFameCheckerData->inPickMode) { - if (!sFameCheckerData->unk_23_2) + if (!sFameCheckerData->pickModeOverCancel) { - DestroyPersonPicSprite(taskId, r9); + DestroyPersonPicSprite(taskId, personIdx); sLastMenuIdx = itemIndex; - task->func = sub_812DD50; + task->func = Task_SwitchToPickMode; } else { gSprites[task->data[2]].invisible = FALSE; - sFameCheckerData->unk_23_2 = FALSE; + sFameCheckerData->pickModeOverCancel = FALSE; gSprites[task->data[2]].data[0] = 0; GetPickModeText(); } @@ -1305,7 +1304,7 @@ static void FC_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list if (sFameCheckerData->inPickMode) { gSprites[task->data[2]].invisible = TRUE; - sFameCheckerData->unk_23_2 = TRUE; + sFameCheckerData->pickModeOverCancel = TRUE; } else { @@ -1319,7 +1318,7 @@ static void FC_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list } } -static void sub_812DD50(u8 taskId) +static void Task_SwitchToPickMode(u8 taskId) { struct Task * task = &gTasks[taskId]; task->data[2] = CreatePersonPicSprite(sFameCheckerData->unlockedPersons[sLastMenuIdx]); @@ -1437,29 +1436,29 @@ static u16 FameCheckerGetCursorY(void) return sp0 + sp2; } -static void FlipBitUnk23_0(bool8 a0) +static void HandleFlavorTextModeSwitch(bool8 state) { - if (sFameCheckerData->unk_23_0 != a0) + if (sFameCheckerData->viewingFlavorText != state) { - u8 taskId = FindTaskIdByFunc(sub_812E110); + u8 taskId = FindTaskIdByFunc(Task_FCOpenOrCloseInfoBox); if (taskId == 0xFF) - taskId = CreateTask(sub_812E110, 8); + taskId = CreateTask(Task_FCOpenOrCloseInfoBox, 8); gTasks[taskId].data[0] = 0; gTasks[taskId].data[1] = 4; - if (a0 == TRUE) + if (state == TRUE) { gTasks[taskId].data[2] = 1; - sFameCheckerData->unk_23_0 = TRUE; + sFameCheckerData->viewingFlavorText = TRUE; } else { gTasks[taskId].data[2] = 4; - sFameCheckerData->unk_23_0 = FALSE; + sFameCheckerData->viewingFlavorText = FALSE; } } } -static void sub_812E110(u8 taskId) +static void Task_FCOpenOrCloseInfoBox(u8 taskId) { struct Task * task = &gTasks[taskId]; switch (task->data[0]) @@ -1467,7 +1466,7 @@ static void sub_812E110(u8 taskId) case 0: if (--task->data[1] == 0) { - sub_812E178(1, 0); + UpdateInfoBoxTilemap(1, 0); task->data[1] = 4; task->data[0]++; } @@ -1475,16 +1474,16 @@ static void sub_812E110(u8 taskId) case 1: if (--task->data[1] == 0) { - sub_812E178(1, task->data[2]); + UpdateInfoBoxTilemap(1, task->data[2]); DestroyTask(taskId); } break; } } -static void sub_812E178(u8 bg, s16 a1) +static void UpdateInfoBoxTilemap(u8 bg, s16 state) { - if (a1 == 0 || a1 == 3) + if (state == 0 || state == 3) { FillBgTilemapBufferRect(bg, 0x8C, 14, 10, 1, 1, 1); FillBgTilemapBufferRect(bg, 0xA1, 15, 10, 10, 1, 1); @@ -1498,7 +1497,7 @@ static void sub_812E178(u8 bg, s16 a1) FillBgTilemapBufferRect(bg, 0x92, 25, 12, 1, 1, 1); FillBgTilemapBufferRect(bg, 0x93, 26, 12, 1, 1, 1); } - else if (a1 == 1) + else if (state == 1) { FillBgTilemapBufferRect(bg, 0x9B, 14, 10, 1, 1, 1); FillBgTilemapBufferRect(bg, 0x9C, 15, 10, 11, 1, 1); @@ -1510,7 +1509,7 @@ static void sub_812E178(u8 bg, s16 a1) FillBgTilemapBufferRect(bg, 0x9F, 15, 12, 11, 1, 1); FillBgTilemapBufferRect(bg, 0x99, 26, 12, 1, 1, 1); } - else if (a1 == 2) + else if (state == 2) { FillBgTilemapBufferRect(bg, 0x94, 14, 10, 1, 1, 1); FillBgTilemapBufferRect(bg, 0x95, 15, 10, 11, 1, 1); @@ -1522,7 +1521,7 @@ static void sub_812E178(u8 bg, s16 a1) FillBgTilemapBufferRect(bg, 0x98, 15, 12, 11, 1, 1); FillBgTilemapBufferRect(bg, 0x99, 26, 12, 1, 1, 1); } - else if (a1 == 4) + else if (state == 4) { FillBgTilemapBufferRect(bg, 0x83, 14, 10, 1, 1, 1); FillBgTilemapBufferRect(bg, 0xA0, 15, 10, 10, 1, 1); @@ -1537,7 +1536,7 @@ static void sub_812E178(u8 bg, s16 a1) FillBgTilemapBufferRect(bg, 0x84, 25, 12, 1, 1, 1); FillBgTilemapBufferRect(bg, 0x85, 26, 12, 1, 1, 1); } - else if (a1 == 5) + else if (state == 5) { FillBgTilemapBufferRect(bg, 0x00, 14, 10, 13, 3, 1); } From d7237d2cb74ea02b71742b09a1db2cf2721fb999 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 28 Nov 2018 08:47:47 -0500 Subject: [PATCH 153/222] Also name the text color assets --- src/fame_checker.c | 62 +++++++++++++++++++++++----------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/src/fame_checker.c b/src/fame_checker.c index 85cea3015..67344edbc 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -149,12 +149,12 @@ static const u8 sDaisySpriteGfx[] = INCBIN_U8("data/fame_checker/img_845e560.4bp static const u16 sDaisySpritePalette[] = INCBIN_U16("data/fame_checker/pal_845ed60.gbapal"); static const u8 sOakSpriteGfx[] = INCBIN_U8("data/fame_checker/img_845ed80.4bpp"); static const u16 sOakSpritePalette[] = INCBIN_U16("data/fame_checker/pal_845f580.gbapal"); -static const u16 gUnknown_845F5A0[] = INCBIN_U16("data/fame_checker/pal_845f5a0.gbapal"); +static const u16 gUnknown_845F5A0[] = INCBIN_U16("data/fame_checker/pal_845f5a0.gbapal"); // unused? static const u16 sSilhouettePalette[] = INCBIN_U16("data/fame_checker/pal_845f5c0.gbapal"); -static const struct TextColor gUnknown_845F5E0 = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY}; -static const struct TextColor gUnknown_845F5E3 = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, 0x03}; -static const struct TextColor gUnknown_845F5E6 = {TEXT_COLOR_TRANSPARENT, 0x06, 0x07}; +static const struct TextColor sTextColor_White = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY}; +static const struct TextColor sTextColor_DkGrey = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, 0x03}; +static const struct TextColor sTextColor_Green = {TEXT_COLOR_TRANSPARENT, 0x06, 0x07}; static const u16 sTrainerIdxs[] = { FC_NONTRAINER_START + 0, // OAK @@ -766,9 +766,9 @@ static void FC_MoveSelectorCursor(u8 taskId, s8 dx, s8 dy) static void GetPickModeText(void) { - u8 r8 = 0; - u16 r6 = FameCheckerGetCursorY(); - if (gSaveBlock1Ptr->fameChecker[sFameCheckerData->unlockedPersons[r6]].pickState != FCPICKSTATE_COLORED) + u8 offset = 0; + u16 who = FameCheckerGetCursorY(); + if (gSaveBlock1Ptr->fameChecker[sFameCheckerData->unlockedPersons[who]].pickState != FCPICKSTATE_COLORED) { WipeMsgBoxAndTransfer(); MessageBoxPrintEmptyText(); @@ -777,8 +777,8 @@ static void GetPickModeText(void) { FillWindowPixelRect(FCWINDOWID_MSGBOX, 0x11, 0, 0, 0xd0, 0x20); if (HasUnlockedAllFlavorTextsForCurrentPerson() == TRUE) - r8 = NUM_FAMECHECKER_PERSONS; - StringExpandPlaceholders(gStringVar4, sFameCheckerNameAndQuotesPointers[sFameCheckerData->unlockedPersons[r6] + r8]); + offset = NUM_FAMECHECKER_PERSONS; + StringExpandPlaceholders(gStringVar4, sFameCheckerNameAndQuotesPointers[sFameCheckerData->unlockedPersons[who] + offset]); AddTextPrinterParametrized(FCWINDOWID_MSGBOX, 2, gStringVar4, sub_80F78A8(), NULL, 2, 1, 3); FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_MSGBOX); } @@ -833,7 +833,7 @@ static void Task_StartToCloseFameChecker(u8 taskId) static void Task_DestroyAssetsAndCloseFameChecker(u8 taskId) { - u8 r4; + u8 i; if (!gPaletteFade.active) { @@ -843,9 +843,9 @@ static void Task_DestroyAssetsAndCloseFameChecker(u8 taskId) FreeSpriteOamMatrix(&gSprites[gTasks[taskId].data[3]]); DestroySprite(&gSprites[gTasks[taskId].data[3]]); } - for (r4 = 0; r4 < 6; r4++) + for (i = 0; i < 6; i++) { - DestroySprite(&gSprites[sFameCheckerData->spriteIds[r4]]); + DestroySprite(&gSprites[sFameCheckerData->spriteIds[i]]); } FreeNonTrainerPicTiles(); FreeSpinningPokeballSpriteResources(); @@ -900,7 +900,7 @@ static void PrintUIHelp(u8 state) } width = GetStringWidth(0, src, 0); FillWindowPixelRect(FCWINDOWID_UIHELP, 0x00, 0, 0, 0xc0, 0x10); - AddTextPrinterParametrized2(FCWINDOWID_UIHELP, 0, 188 - width, 0, 0, 2, &gUnknown_845F5E0, -1, src); + AddTextPrinterParametrized2(FCWINDOWID_UIHELP, 0, 188 - width, 0, 0, 2, &sTextColor_White, -1, src); FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_UIHELP); } @@ -1213,10 +1213,10 @@ static void UpdateIconDescriptionBox(u8 whichText) gIconDescriptionBoxIsOpen = 1; FillWindowPixelRect(FCWINDOWID_ICONDESC, 0x00, 0, 0, 0x58, 0x20); width = (0x54 - GetStringWidth(0, sFlavorTextOriginLocationTexts[idx], 0)) / 2; - AddTextPrinterParametrized2(FCWINDOWID_ICONDESC, 0, width, 0, 0, 2, &gUnknown_845F5E3, -1, sFlavorTextOriginLocationTexts[idx]); + AddTextPrinterParametrized2(FCWINDOWID_ICONDESC, 0, width, 0, 0, 2, &sTextColor_DkGrey, -1, sFlavorTextOriginLocationTexts[idx]); StringExpandPlaceholders(gStringVar1, sFlavorTextOriginObjectNameTexts[idx]); width = (0x54 - GetStringWidth(0, gStringVar1, 0)) / 2; - AddTextPrinterParametrized2(FCWINDOWID_ICONDESC, 0, width, 10, 0, 2, &gUnknown_845F5E3, -1, gStringVar1); + AddTextPrinterParametrized2(FCWINDOWID_ICONDESC, 0, width, 10, 0, 2, &sTextColor_DkGrey, -1, gStringVar1); FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_ICONDESC); } @@ -1308,10 +1308,10 @@ static void FC_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list } else { - u8 r2; - for (r2 = 0; r2 < 6; r2++) + u8 iwho; + for (iwho = 0; iwho < 6; iwho++) { - gSprites[sFameCheckerData->spriteIds[r2]].invisible = TRUE; + gSprites[sFameCheckerData->spriteIds[i]].invisible = TRUE; } } } @@ -1336,24 +1336,24 @@ static void PrintCancelDescription(void) static void FC_DoMoveCursor(s32 itemIndex, bool8 onInit) { - u16 sp14; - u16 sp16; - u16 r6; - get_coro_args_x18_x1A(sFameCheckerData->listMenuTaskId, &sp14, &sp16); - r6 = sp14 + sp16; - AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 8, 14 * sp16 + 4, 0, 0, &gUnknown_845F5E6, 0, sListMenuItems[itemIndex].unk_00); + u16 topIdx; + u16 drawnSelIdx; + u16 who; + get_coro_args_x18_x1A(sFameCheckerData->listMenuTaskId, &topIdx, &drawnSelIdx); + who = topIdx + drawnSelIdx; + AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 8, 14 * drawnSelIdx + 4, 0, 0, &sTextColor_Green, 0, sListMenuItems[itemIndex].unk_00); if (!onInit) { - if (sp14 < sFameCheckerData->listMenuTopIdx2) + if (topIdx < sFameCheckerData->listMenuTopIdx2) sFameCheckerData->listMenuDrawnSelIdx++; - else if (sp14 > sFameCheckerData->listMenuTopIdx2 && r6 != sFameCheckerData->numUnlockedPersons - 1) + else if (topIdx > sFameCheckerData->listMenuTopIdx2 && who != sFameCheckerData->numUnlockedPersons - 1) sFameCheckerData->listMenuDrawnSelIdx--; - AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 8, 14 * sFameCheckerData->listMenuDrawnSelIdx + 4, 0, 0, &gUnknown_845F5E3, 0, sListMenuItems[sFameCheckerData->listMenuCurIdx].unk_00); + AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 8, 14 * sFameCheckerData->listMenuDrawnSelIdx + 4, 0, 0, &sTextColor_DkGrey, 0, sListMenuItems[sFameCheckerData->listMenuCurIdx].unk_00); } sFameCheckerData->listMenuCurIdx = itemIndex; - sFameCheckerData->listMenuDrawnSelIdx = sp16; - sFameCheckerData->listMenuTopIdx2 = sp14; + sFameCheckerData->listMenuDrawnSelIdx = drawnSelIdx; + sFameCheckerData->listMenuTopIdx2 = topIdx; } static u8 FC_PopulateListMenu(void) @@ -1547,7 +1547,7 @@ static void PlaceListMenuCursor(bool8 isActive) { u16 cursorY = ListMenuGetYCoordForPrintingArrowCursor(sFameCheckerData->listMenuTaskId); if (isActive == TRUE) - AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, &gUnknown_845F5E3, 0, gFameCheckerText_ListMenuCursor); + AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, &sTextColor_DkGrey, 0, gFameCheckerText_ListMenuCursor); else - AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, &gUnknown_845F5E0, 0, gFameCheckerText_ListMenuCursor); + AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, &sTextColor_White, 0, gFameCheckerText_ListMenuCursor); } From cb9f24a9a9f71d711150c6c61e2b6e2b8f99a3d4 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 28 Nov 2018 10:15:08 -0500 Subject: [PATCH 154/222] Fix errors introduced in precious commit --- src/fame_checker.c | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/fame_checker.c b/src/fame_checker.c index 67344edbc..64a73c7a4 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -922,7 +922,7 @@ static bool8 CreateAllFlavorTextIcons(u8 who) if ((gSaveBlock1Ptr->fameChecker[sFameCheckerData->unlockedPersons[who]].flavorTextFlags >> i) & 1) { sFameCheckerData->spriteIds[i] = sub_805EB44( - sFameCheckerArrayNpcGraphicsIds[sFameCheckerData->unlockedPersons[a0] * 6 + i], + sFameCheckerArrayNpcGraphicsIds[sFameCheckerData->unlockedPersons[who] * 6 + i], i, 47 * (i % 3) + 0x72, 27 * (i / 3) + 0x2F @@ -1308,8 +1308,8 @@ static void FC_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list } else { - u8 iwho; - for (iwho = 0; iwho < 6; iwho++) + u8 i; + for (i = 0; i < 6; i++) { gSprites[sFameCheckerData->spriteIds[i]].invisible = TRUE; } @@ -1336,24 +1336,24 @@ static void PrintCancelDescription(void) static void FC_DoMoveCursor(s32 itemIndex, bool8 onInit) { - u16 topIdx; - u16 drawnSelIdx; + u16 listY; + u16 cursorY; u16 who; - get_coro_args_x18_x1A(sFameCheckerData->listMenuTaskId, &topIdx, &drawnSelIdx); - who = topIdx + drawnSelIdx; - AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 8, 14 * drawnSelIdx + 4, 0, 0, &sTextColor_Green, 0, sListMenuItems[itemIndex].unk_00); + get_coro_args_x18_x1A(sFameCheckerData->listMenuTaskId, &listY, &cursorY); + who = listY + cursorY; + AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 8, 14 * cursorY + 4, 0, 0, &sTextColor_Green, 0, sListMenuItems[itemIndex].unk_00); if (!onInit) { - if (topIdx < sFameCheckerData->listMenuTopIdx2) + if (listY < sFameCheckerData->listMenuTopIdx2) sFameCheckerData->listMenuDrawnSelIdx++; - else if (topIdx > sFameCheckerData->listMenuTopIdx2 && who != sFameCheckerData->numUnlockedPersons - 1) + else if (listY > sFameCheckerData->listMenuTopIdx2 && who != sFameCheckerData->numUnlockedPersons - 1) sFameCheckerData->listMenuDrawnSelIdx--; AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 8, 14 * sFameCheckerData->listMenuDrawnSelIdx + 4, 0, 0, &sTextColor_DkGrey, 0, sListMenuItems[sFameCheckerData->listMenuCurIdx].unk_00); } sFameCheckerData->listMenuCurIdx = itemIndex; - sFameCheckerData->listMenuDrawnSelIdx = drawnSelIdx; - sFameCheckerData->listMenuTopIdx2 = topIdx; + sFameCheckerData->listMenuDrawnSelIdx = cursorY; + sFameCheckerData->listMenuTopIdx2 = listY; } static u8 FC_PopulateListMenu(void) @@ -1400,7 +1400,7 @@ static void FC_PutWindowTilemapAndCopyWindowToVramMode3_2(u8 windowId) static void FC_CreateScrollIndicatorArrowPair(void) { - struct ScrollIndicatorArrowPairTemplate sp0 = { + struct ScrollIndicatorArrowPairTemplate template = { 2, 40, 26, @@ -1417,9 +1417,9 @@ static void FC_CreateScrollIndicatorArrowPair(void) if (sFameCheckerData->numUnlockedPersons > 5) { - sp0.unk_06 = 0; - sp0.unk_08 = sFameCheckerData->numUnlockedPersons - 5; - sFameCheckerData->scrollIndicatorPairTaskId = AddScrollIndicatorArrowPair(&sp0, &sFameCheckerData->listMenuTopIdx); + template.unk_06 = 0; + template.unk_08 = sFameCheckerData->numUnlockedPersons - 5; + sFameCheckerData->scrollIndicatorPairTaskId = AddScrollIndicatorArrowPair(&template, &sFameCheckerData->listMenuTopIdx); } } @@ -1431,9 +1431,9 @@ static void FreeListMenuSelectorArrowPairResources(void) static u16 FameCheckerGetCursorY(void) { - u16 sp0, sp2; - get_coro_args_x18_x1A(sFameCheckerData->listMenuTaskId, &sp0, &sp2); - return sp0 + sp2; + u16 listY, cursorY; + get_coro_args_x18_x1A(sFameCheckerData->listMenuTaskId, &listY, &cursorY); + return listY + cursorY; } static void HandleFlavorTextModeSwitch(bool8 state) From a538f77b552169d1a757281c8418281a7e8dc65a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 28 Nov 2018 10:42:07 -0500 Subject: [PATCH 155/222] Dump fame checker bg graphics --- data/graphics.s | 6 ++--- data/graphics/fame_checker_bg.pal | 35 +++++++++++++++++++++++++ data/graphics/fame_checker_bg.png | Bin 0 -> 906 bytes data/graphics/fame_checker_tilemap.bin | Bin 0 -> 2048 bytes graphics_file_rules.mk | 6 ++++- 5 files changed, 43 insertions(+), 4 deletions(-) create mode 100644 data/graphics/fame_checker_bg.pal create mode 100644 data/graphics/fame_checker_bg.png create mode 100644 data/graphics/fame_checker_tilemap.bin diff --git a/data/graphics.s b/data/graphics.s index a81ff20c2..b35d5fa7d 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -394,13 +394,13 @@ gUnknown_8E9F1FC:: @ 8E9F1FC .incbin "baserom.gba", 0xE9F1FC, 0x24 gUnknown_8E9F220:: @ 8E9F220 - .incbin "baserom.gba", 0xE9F220, 0x40 + .incbin "data/graphics/fame_checker_bg.gbapal" gUnknown_8E9F260:: @ 8E9F260 - .incbin "baserom.gba", 0xE9F260, 0x14A0 + .incbin "data/graphics/fame_checker_bg.4bpp" gUnknown_8EA0700:: @ 8EA0700 - .incbin "baserom.gba", 0xEA0700, 0x800 + .incbin "data/graphics/fame_checker_tilemap.bin" gUnknown_8EA0F00:: @ 8EA0F00 .incbin "baserom.gba", 0xEA0F00, 0x800 diff --git a/data/graphics/fame_checker_bg.pal b/data/graphics/fame_checker_bg.pal new file mode 100644 index 000000000..9fc41db87 --- /dev/null +++ b/data/graphics/fame_checker_bg.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +246 222 82 +255 255 156 +246 222 82 +255 238 98 +255 255 213 +255 172 106 +222 148 74 +255 246 222 +156 148 164 +238 230 180 +255 255 213 +123 123 123 +213 213 213 +255 255 255 +106 106 106 +24 98 197 +246 222 82 +172 164 90 +148 156 230 +98 106 180 +123 131 205 +255 255 255 +213 213 213 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +115 0 0 +0 255 0 +205 213 213 +238 238 246 +106 106 106 diff --git a/data/graphics/fame_checker_bg.png b/data/graphics/fame_checker_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..ed1a9a0f89d6b90fe76de1d8110161cb23c9d03d GIT binary patch literal 906 zcmV;519kj~P)1#o5XV4x0d7cEX7On89g) zX%ir3#3jOOk>~0#J$r(gja6|r0V7GIh2xP+t^vHosGy&|9Rv*DyZ!&AATS|aARM~E92T-vYfU28X zKsW_i?jAsf(JhH?y;n?~0es8%0o<83J9Lf%uw$<~pkx4c@J0cV%zFTP^hW`awXgI8 zrLqL}DCh>bckZYje-5CC=!dY<1!q6gy&QwDt=r!puyOkXKw$8-cKd_zTi?(Z;N(aF zR%`p&zrij5Y<)wqTQ@j_06sn-h7PeQ+lZZ_I9zORL96x1YY$gBDzFde*VsP*;6_A^ z{4wVN)OG44jjF2lCXE0dK@;Ghza01psspgdjspzj@1SoQAREl+-2sJmyz0Kg0Q=N| z5<0neZ~&?=1bB(jP9Z=~<9`C!goXgw*9>5*699DIEfW$ctUlrZeZU+IKs_Hox1T2h g4mt{e%Xci`57)q*pZ*^k8UO$Q07*qoM6N<$f(HDJZF^X=v%_8Ss?wWMpDyVP#|I y;N();p40IKLLwE;4+LTo73N!iU+gC(Q}MPx=_l!CzPw+lE9vI?vseRvZr}z{Aq-&v literal 0 HcmV?d00001 diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index d511ce7d9..957c7a52d 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -1,4 +1,5 @@ -FONTGFXDIR := data/graphics/fonts +GLOBALGFXDIR := data/graphics +FONTGFXDIR := $(GLOBALGFXDIR)/fonts FAMECHECKERGFXDIR := data/fame_checker $(FONTGFXDIR)/font0_latin.latfont: $(FONTGFXDIR)/font0_latin.png @@ -36,3 +37,6 @@ $(FONTGFXDIR)/font9_jap.fwjpnfont: $(FONTGFXDIR)/font9_jap.png $(FAMECHECKERGFXDIR)/img_845cf00.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 15 + +$(GLOBALGFXDIR)/fame_checker_bg.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 165 From 144027e4fad045d41afea0dfc8bd2bed27a64e6d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 28 Nov 2018 10:50:41 -0500 Subject: [PATCH 156/222] Dump another fame checker tilemap --- data/graphics.s | 12 ++++++------ data/graphics/fame_checker_tilemap2.bin | Bin 0 -> 2048 bytes ...ker_tilemap.bin => fame_checker_tilemap3.bin} | Bin include/graphics.h | 8 ++++---- src/fame_checker.c | 10 +++++----- 5 files changed, 15 insertions(+), 15 deletions(-) create mode 100644 data/graphics/fame_checker_tilemap2.bin rename data/graphics/{fame_checker_tilemap.bin => fame_checker_tilemap3.bin} (100%) diff --git a/data/graphics.s b/data/graphics.s index b35d5fa7d..f33d86355 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -393,17 +393,17 @@ gUnknown_8E9E9FC:: @ 8E9E9FC gUnknown_8E9F1FC:: @ 8E9F1FC .incbin "baserom.gba", 0xE9F1FC, 0x24 -gUnknown_8E9F220:: @ 8E9F220 +gFameCheckerBgPals:: @ 8E9F220 .incbin "data/graphics/fame_checker_bg.gbapal" -gUnknown_8E9F260:: @ 8E9F260 +gFameCheckerBgTiles:: @ 8E9F260 .incbin "data/graphics/fame_checker_bg.4bpp" -gUnknown_8EA0700:: @ 8EA0700 - .incbin "data/graphics/fame_checker_tilemap.bin" +gFameCheckerBg3Tilemap:: @ 8EA0700 + .incbin "data/graphics/fame_checker_tilemap3.bin" -gUnknown_8EA0F00:: @ 8EA0F00 - .incbin "baserom.gba", 0xEA0F00, 0x800 +gFameCheckerBg2Tilemap:: @ 8EA0F00 + .incbin "data/graphics/fame_checker_tilemap2.bin" gUnknown_8EA1700:: @ 8EA1700 .incbin "baserom.gba", 0xEA1700, 0x20 diff --git a/data/graphics/fame_checker_tilemap2.bin b/data/graphics/fame_checker_tilemap2.bin new file mode 100644 index 0000000000000000000000000000000000000000..6e2eed695d72d74d3ece9fcf4f0354ce8a1b63fd GIT binary patch literal 2048 zcmZQz7+Ao?z>NlZNOF)AgEShH8P!ih2+%V88Uz}#!X_m5;j@2=z*MYo8j~7K1h#)Pc)(3UpzG-EbA7jL{Gn4S~@R7`PAs0G{+T{r~^~ literal 0 HcmV?d00001 diff --git a/data/graphics/fame_checker_tilemap.bin b/data/graphics/fame_checker_tilemap3.bin similarity index 100% rename from data/graphics/fame_checker_tilemap.bin rename to data/graphics/fame_checker_tilemap3.bin diff --git a/include/graphics.h b/include/graphics.h index c5544428e..d249ece10 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -145,9 +145,9 @@ extern const u16 gUnknown_08DDAFE0[]; // fame_checker -extern const u16 gUnknown_8E9F220[0x30]; -extern const u16 gUnknown_8E9F260[0xa50]; -extern const u16 gUnknown_8EA0700[0x400]; -extern const u16 gUnknown_8EA0F00[0x400]; +extern const u16 gFameCheckerBgPals[0x30]; +extern const u16 gFameCheckerBgTiles[0xa50]; +extern const u16 gFameCheckerBg3Tilemap[0x400]; +extern const u16 gFameCheckerBg2Tilemap[0x400]; #endif //GUARD_GRAPHICS_H diff --git a/src/fame_checker.c b/src/fame_checker.c index 64a73c7a4..617ba1522 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -478,11 +478,11 @@ static void MainCB2_LoadFameChecker(void) gMain.state++; break; case 3: - LoadBgTiles(3, gUnknown_8E9F260, sizeof(gUnknown_8E9F260), 0); - CopyToBgTilemapBufferRect(3, gUnknown_8EA0700, 0, 0, 32, 32); - LoadPalette(gUnknown_8E9F220 + 0x00, 0x00, 0x40); - LoadPalette(gUnknown_8E9F220 + 0x10, 0x10, 0x20); - CopyToBgTilemapBufferRect(2, gUnknown_8EA0F00, 0, 0, 32, 32); + LoadBgTiles(3, gFameCheckerBgTiles, sizeof(gFameCheckerBgTiles), 0); + CopyToBgTilemapBufferRect(3, gFameCheckerBg3Tilemap, 0, 0, 32, 32); + LoadPalette(gFameCheckerBgPals + 0x00, 0x00, 0x40); + LoadPalette(gFameCheckerBgPals + 0x10, 0x10, 0x20); + CopyToBgTilemapBufferRect(2, gFameCheckerBg2Tilemap, 0, 0, 32, 32); CopyToBgTilemapBufferRect_ChangePalette(1, sFameCheckerTilemap, 30, 0, 32, 32, 0x11); LoadPalette(stdpal_get(2), 0xF0, 0x20); gMain.state++; From 013fcf86fbeccf8d527e43a4f5aaf44402daba48 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 28 Nov 2018 13:49:46 -0500 Subject: [PATCH 157/222] Fix spacing in globah.h --- include/global.h | 22 +++++++++++----------- src/fame_checker.c | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/include/global.h b/include/global.h index b81b29381..30be4fd9f 100644 --- a/include/global.h +++ b/include/global.h @@ -616,8 +616,8 @@ struct SaveBlock1 /*0x0638*/ u8 trainerRematchStepCounter; u8 filler_639; /*0x063A*/ u8 trainerRematches[100]; - /*0x06A0*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT]; - /*0x08E0*/ struct MapObjectTemplate mapObjectTemplates[64]; + /*0x06A0*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT]; + /*0x08E0*/ struct MapObjectTemplate mapObjectTemplates[64]; /*0x0EE0*/ u8 flags[FLAGS_COUNT]; /*0x1000*/ u16 vars[VARS_COUNT]; /*0x1200*/ u8 filler1200[0x100]; @@ -626,15 +626,15 @@ struct SaveBlock1 /*0x2CD0*/ struct MailStruct mail[MAIL_COUNT]; /*0x2F10*/ u8 filler2F10[0x184]; struct { - /*0x3094*/ u8 unknown1[8]; - /*0x309C*/ u8 giftRibbons[11]; - /*0x30A7*/ u8 unknown2[8]; - /*0x30AF*/ u32 currentPokeCoupons; - /*0x30B3*/ u32 totalEarnedPokeCoupons; - /*0x30B7*/ u8 unknown3[6]; - /*0x30BD*/ u8 receivedWishmakerJirachi; - /*0x30BE*/ u8 unknown4[18]; - } __attribute__((packed)) externalReservedData; + /*0x3094*/ u8 unknown1[8]; + /*0x309C*/ u8 giftRibbons[11]; + /*0x30A7*/ u8 unknown2[8]; + /*0x30AF*/ u32 currentPokeCoupons; + /*0x30B3*/ u32 totalEarnedPokeCoupons; + /*0x30B7*/ u8 unknown3[6]; + /*0x30BD*/ u8 receivedWishmakerJirachi; + /*0x30BE*/ u8 unknown4[18]; + } __attribute__((packed)) externalReservedData; /*0x30D0*/ struct Roamer roamer; /*0x30EC*/ struct EnigmaBerry enigmaBerry; /*0x3120*/ u8 filler3120[0x340]; diff --git a/src/fame_checker.c b/src/fame_checker.c index 617ba1522..ed38406cb 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -129,7 +129,7 @@ extern const u8 gFameCheckerText_FameCheckerWillBeClosed[]; extern const u8 gFameCheckerText_ClearTextbox[]; extern const u8 gFameCheckerText_MainScreenUI[]; // "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_A_BUTTON}OK$" extern const u8 gFameCheckerText_PickScreenUI[]; // "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_B_BUTTON}CANCEL$" -extern const u8 gFameCheckerText_FlavorTextUI[]; // "{KEYGFX_DPAD_ANY}PICK {KEYGFX_A_BUTTON}READ {UNKNOWN_F8 0x01}CANCEL$" +extern const u8 gFameCheckerText_FlavorTextUI[]; // "{KEYGFX_DPAD_ANY}PICK {KEYGFX_A_BUTTON}READ {KEYGFX_B_BUTTON}CANCEL$" extern const u8 gFameCheckerOakName[]; // "OAK$" extern const u8 gFameCheckerDaisyName[]; // "DAISY$" extern const u8 gFameCheckerBillName[]; // "BILL$" From ff55777ac8d0ee55fbe629381a781f0519cb2d29 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 28 Nov 2018 14:15:29 -0500 Subject: [PATCH 158/222] Define the PC items allocation in SaveBlock1 --- include/global.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/global.h b/include/global.h index 30be4fd9f..97b179410 100644 --- a/include/global.h +++ b/include/global.h @@ -97,6 +97,7 @@ enum LanguageId { #define GAME_LANGUAGE (LANGUAGE_ENGLISH) +#define PC_ITEMS_COUNT 30 #define BAG_ITEMS_COUNT 42 #define BAG_KEYITEMS_COUNT 30 #define BAG_POKEBALLS_COUNT 13 @@ -605,7 +606,7 @@ struct SaveBlock1 /*0x0290*/ u32 money; /*0x0294*/ u16 coins; /*0x0296*/ u16 registeredItem; // registered for use with SELECT button - /*0x0298*/ u8 filler298[0x78]; + /*0x0298*/ struct ItemSlot pcItems[PC_ITEMS_COUNT]; /*0x0310*/ struct ItemSlot bagPocket_Items[BAG_ITEMS_COUNT]; /*0x03b8*/ struct ItemSlot bagPocket_KeyItems[BAG_KEYITEMS_COUNT]; /*0x0430*/ struct ItemSlot bagPocket_PokeBalls[BAG_POKEBALLS_COUNT]; From 592a0f03e8196e2851e00b4d891daef752e6edf0 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 28 Nov 2018 18:10:28 -0500 Subject: [PATCH 159/222] Name the game stats array --- include/global.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/global.h b/include/global.h index 97b179410..3ff57357e 100644 --- a/include/global.h +++ b/include/global.h @@ -621,7 +621,7 @@ struct SaveBlock1 /*0x08E0*/ struct MapObjectTemplate mapObjectTemplates[64]; /*0x0EE0*/ u8 flags[FLAGS_COUNT]; /*0x1000*/ u16 vars[VARS_COUNT]; - /*0x1200*/ u8 filler1200[0x100]; + /*0x1200*/ u32 gameStats[NUM_GAME_STATS]; /*0x1300*/ struct QuestLog questLog[4]; /*0x2CA0*/ u8 filler2CA0[0x30]; /*0x2CD0*/ struct MailStruct mail[MAIL_COUNT]; From c79a939d3d03d861769a5f54ec52c7b976c14a3b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 28 Nov 2018 18:18:10 -0500 Subject: [PATCH 160/222] Identify easy chat arrays in save block 1 --- include/global.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/include/global.h b/include/global.h index 3ff57357e..5ad4e4f9d 100644 --- a/include/global.h +++ b/include/global.h @@ -623,7 +623,10 @@ struct SaveBlock1 /*0x1000*/ u16 vars[VARS_COUNT]; /*0x1200*/ u32 gameStats[NUM_GAME_STATS]; /*0x1300*/ struct QuestLog questLog[4]; - /*0x2CA0*/ u8 filler2CA0[0x30]; + /*0x2CA0*/ u16 unk2CA0[6]; + /*0x2CAC*/ u16 unk2CAC[6]; + /*0x2CB8*/ u16 unk2CB8[6]; + /*0x2CC4*/ u16 unk2CC4[6]; /*0x2CD0*/ struct MailStruct mail[MAIL_COUNT]; /*0x2F10*/ u8 filler2F10[0x184]; struct { From c6778caf1e36c2847314c5751e8181089c8c66ab Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 28 Nov 2018 18:55:55 -0500 Subject: [PATCH 161/222] Identify most of SaveBlock1 --- include/global.h | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/include/global.h b/include/global.h index 5ad4e4f9d..d5bfc5241 100644 --- a/include/global.h +++ b/include/global.h @@ -489,8 +489,8 @@ struct DaycareMon struct DayCare { struct DaycareMon mons[DAYCARE_MON_COUNT]; - u32 offspringPersonality; - u8 stepCounter; + u16 unk_118; + u8 unk_11A; }; struct DayCareMail @@ -588,6 +588,9 @@ struct FameCheckerSaveData #define VARS_COUNT 256 #define MAIL_COUNT 16 +#define NUM_EASY_CHAT_EXTRA_PHRASES 33 +#define EASY_CHAT_EXTRA_PHRASES_SIZE ((NUM_EASY_CHAT_EXTRA_PHRASES >> 3) + (NUM_EASY_CHAT_EXTRA_PHRASES % 8 ? 1 : 0)) + struct SaveBlock1 { /*0x0000*/ struct Coords16 pos; @@ -613,10 +616,10 @@ struct SaveBlock1 /*0x0464*/ struct ItemSlot bagPocket_TMHM[BAG_TMHM_COUNT]; /*0x054c*/ struct ItemSlot bagPocket_Berries[BAG_BERRIES_COUNT]; /*0x05F8*/ u8 seen1[DEX_FLAGS_NO]; - /*0x062C*/ u8 filler_062c[12]; + /*0x062C*/ u16 berryBlenderRecords[3]; // unused + /*0x0632*/ u8 field_632[6]; // unused? /*0x0638*/ u8 trainerRematchStepCounter; - u8 filler_639; - /*0x063A*/ u8 trainerRematches[100]; + /*0x063A*/ u8 ALIGNED(2) trainerRematches[100]; /*0x06A0*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT]; /*0x08E0*/ struct MapObjectTemplate mapObjectTemplates[64]; /*0x0EE0*/ u8 flags[FLAGS_COUNT]; @@ -628,17 +631,11 @@ struct SaveBlock1 /*0x2CB8*/ u16 unk2CB8[6]; /*0x2CC4*/ u16 unk2CC4[6]; /*0x2CD0*/ struct MailStruct mail[MAIL_COUNT]; - /*0x2F10*/ u8 filler2F10[0x184]; - struct { - /*0x3094*/ u8 unknown1[8]; - /*0x309C*/ u8 giftRibbons[11]; - /*0x30A7*/ u8 unknown2[8]; - /*0x30AF*/ u32 currentPokeCoupons; - /*0x30B3*/ u32 totalEarnedPokeCoupons; - /*0x30B7*/ u8 unknown3[6]; - /*0x30BD*/ u8 receivedWishmakerJirachi; - /*0x30BE*/ u8 unknown4[18]; - } __attribute__((packed)) externalReservedData; + /*0x2F10*/ u8 additionalPhrases[EASY_CHAT_EXTRA_PHRASES_SIZE]; + /*0x2F18*/ OldMan oldMan; // unused + /*0x2F54*/ struct EasyChatPair easyChatPairs[5]; // unused + /*0x2F80*/ struct DayCare daycare; + /*0x309C*/ u8 giftRibbons[52]; /*0x30D0*/ struct Roamer roamer; /*0x30EC*/ struct EnigmaBerry enigmaBerry; /*0x3120*/ u8 filler3120[0x340]; From 18303c4596f96eaa68bbf8ccbc4ba19f9a8fed88 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 28 Nov 2018 19:05:09 -0500 Subject: [PATCH 162/222] Further annotate that weird table in crt0.s --- asm/crt0.s | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/asm/crt0.s b/asm/crt0.s index a2e9cd75f..f2e28c9e1 100644 --- a/asm/crt0.s +++ b/asm/crt0.s @@ -88,22 +88,22 @@ GPIOPortReadEnable: @ 80000C8 .4byte 0x30BB .4byte 0x30A7 .4byte 0 - .4byte 0x8254784 - .4byte 0x824FC40 - .4byte 0x824FB08 - .4byte 0x83DB028 - .4byte 0x8250C04 - .4byte 0x826056C - .4byte 0x82605CC + .4byte 0x8254784 @ gBaseStats + .4byte 0x824FC40 @ gAbilityNames + .4byte 0x824FB08 @ gAbilityDescriptionPointers + .4byte 0x83DB028 @ gItems + .4byte 0x8250C04 @ gBattleMoves + .4byte 0x826056C @ gBallSpriteSheets + .4byte 0x82605CC @ gBallSpritePalettes .4byte 0xA8 .4byte 0x82C .4byte 0x83B .4byte 0x3A0D1E2A .4byte 0x1E2B - .4byte 0x298 - .4byte 0x309C - .4byte 0x30EC - .4byte 0x34 + .4byte 0x298 @ offsetof(struct SaveBlock1, pcItems) // maybe all items were in a struct together? + .4byte 0x309C @ offsetof(struct SaveBlock1, giftRibbons) + .4byte 0x30EC @ offsetof(struct SaveBlock1, enigmaBerry) + .4byte 0x34 @ size of SaveBlock1 map header reconstruction data? .4byte 0 .4byte 0xFFFFFFFF From 21a301b77d01851a9d019b594ff11c547cc6514f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 28 Nov 2018 22:15:11 -0500 Subject: [PATCH 163/222] through sub_81436EC --- asm/mevent.s | 187 ------------------------------------------ include/link.h | 5 ++ include/main.h | 3 + include/unk_815c27c.h | 11 +++ ld_script.txt | 1 + src/mevent.c | 75 +++++++++++++++++ 6 files changed, 95 insertions(+), 187 deletions(-) create mode 100644 include/unk_815c27c.h create mode 100644 src/mevent.c diff --git a/asm/mevent.s b/asm/mevent.s index 697266a39..2d1f06d88 100644 --- a/asm/mevent.s +++ b/asm/mevent.s @@ -5,193 +5,6 @@ .text - thumb_func_start sub_81435DC -sub_81435DC: @ 81435DC - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - mov r1, sp - ldr r4, _08143630 @ =0x04000208 - ldrh r0, [r4] - strh r0, [r1] - movs r0, 0 - strh r0, [r4] - ldr r1, _08143634 @ =gIntrTable - ldr r0, _08143638 @ =sub_815C6D4 - str r0, [r1, 0x4] - ldr r0, _0814363C @ =sub_815C6C4 - str r0, [r1, 0x8] - bl sub_815C8C8 - bl sub_815C960 - ldr r2, _08143640 @ =0x04000200 - ldrh r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strh r0, [r2] - mov r0, sp - ldrh r0, [r0] - strh r0, [r4] - movs r0, 0 - strh r0, [r5] - str r6, [r5, 0x4] - mov r0, r8 - str r0, [r5, 0x8] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08143630: .4byte 0x04000208 -_08143634: .4byte gIntrTable -_08143638: .4byte sub_815C6D4 -_0814363C: .4byte sub_815C6C4 -_08143640: .4byte 0x04000200 - thumb_func_end sub_81435DC - - thumb_func_start sub_8143644 -sub_8143644: @ 8143644 - push {r4,lr} - sub sp, 0x4 - mov r1, sp - ldr r4, _08143670 @ =0x04000208 - ldrh r0, [r4] - strh r0, [r1] - movs r0, 0 - strh r0, [r4] - bl sub_815C960 - bl sub_815C91C - bl RestoreSerialTimer3IntrHandlers - mov r0, sp - ldrh r0, [r0] - strh r0, [r4] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08143670: .4byte 0x04000208 - thumb_func_end sub_8143644 - - thumb_func_start sub_8143674 -sub_8143674: @ 8143674 - push {r4,r5,lr} - adds r4, r0, 0 - movs r5, 0 - ldr r1, [r4, 0x4] - ldr r2, [r4, 0x8] - movs r0, 0x1 - movs r3, 0 - bl sub_815C498 - adds r1, r0, 0 - strh r1, [r4] - movs r0, 0x13 - ands r0, r1 - cmp r0, 0x10 - bne _08143694 - movs r5, 0x1 -_08143694: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0814369E - movs r5, 0x2 -_0814369E: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _081436A8 - movs r5, 0x3 -_081436A8: - ldr r1, _081436B8 @ =gUnknown_3003F84 - movs r0, 0 - strb r0, [r1] - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_081436B8: .4byte gUnknown_3003F84 - thumb_func_end sub_8143674 - - thumb_func_start sub_81436BC -sub_81436BC: @ 81436BC - push {lr} - ldr r0, _081436E0 @ =gDecompressionBuffer - movs r2, 0x80 - lsls r2, 6 - movs r1, 0 - bl memset - ldr r1, _081436E4 @ =gUnknown_202271A - ldr r2, _081436E8 @ =0x00005502 - adds r0, r2, 0 - strh r0, [r1] - bl sub_8009804 - movs r0, 0x1 - bl SetSuppressLinkErrorMessage - pop {r0} - bx r0 - .align 2, 0 -_081436E0: .4byte gDecompressionBuffer -_081436E4: .4byte gUnknown_202271A -_081436E8: .4byte 0x00005502 - thumb_func_end sub_81436BC - - thumb_func_start sub_81436EC -sub_81436EC: @ 81436EC - push {lr} - sub sp, 0xC - mov r1, sp - ldr r2, _08143730 @ =0x04000208 - ldrh r0, [r2] - strh r0, [r1] - movs r0, 0 - strh r0, [r2] - ldr r0, _08143734 @ =gUnknown_3003FB4 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x4] - str r1, [sp, 0x8] - mov r0, sp - ldrh r0, [r0] - strh r0, [r2] - add r2, sp, 0x4 - ldrh r1, [r2] - ldr r0, _08143738 @ =0x0000b9a0 - cmp r1, r0 - bne _08143744 - ldrh r1, [r2, 0x2] - ldr r0, _0814373C @ =0x0000ccd0 - cmp r1, r0 - bne _08143744 - ldrh r1, [r2, 0x4] - ldr r0, _08143740 @ =0x0000ffff - cmp r1, r0 - bne _08143744 - ldrh r0, [r2, 0x6] - cmp r0, r1 - bne _08143744 - movs r0, 0x1 - b _08143746 - .align 2, 0 -_08143730: .4byte 0x04000208 -_08143734: .4byte gUnknown_3003FB4 -_08143738: .4byte 0x0000b9a0 -_0814373C: .4byte 0x0000ccd0 -_08143740: .4byte 0x0000ffff -_08143744: - movs r0, 0 -_08143746: - add sp, 0xC - pop {r1} - bx r1 - thumb_func_end sub_81436EC - thumb_func_start sub_814374C sub_814374C: @ 814374C push {lr} diff --git a/include/link.h b/include/link.h index 239a59b71..d015708b1 100644 --- a/include/link.h +++ b/include/link.h @@ -146,6 +146,10 @@ extern u16 word_3002910[]; extern bool8 gReceivedRemoteLinkPlayers; extern bool8 gLinkVSyncDisabled; +extern u8 gUnknown_3003F84; +extern u64 gUnknown_3003FB4; +extern u16 gUnknown_202271A; + void Task_DestroySelf(u8); void OpenLink(void); void CloseLink(void); @@ -196,5 +200,6 @@ void sub_8011BD0(void); u8 sub_800ABAC(void); u8 sub_800ABBC(void); void sub_800AC34(void); +void sub_8009804(void); #endif // GUARD_LINK_H diff --git a/include/main.h b/include/main.h index 84d356692..0fe138d1f 100644 --- a/include/main.h +++ b/include/main.h @@ -9,6 +9,8 @@ typedef void (*MainCallback)(void); typedef void (*IntrCallback)(void); typedef void (*IntrFunc)(void); +extern IntrFunc gIntrTable[]; + struct Main { /*0x000*/ MainCallback callback1; @@ -62,5 +64,6 @@ void SetSerialCallback(IntrCallback callback); void InitFlashTimer(void); void DoSoftReset(void); void ClearPokemonCrySongs(void); +void RestoreSerialTimer3IntrHandlers(void); #endif // GUARD_MAIN_H diff --git a/include/unk_815c27c.h b/include/unk_815c27c.h new file mode 100644 index 000000000..d5ddc7bdc --- /dev/null +++ b/include/unk_815c27c.h @@ -0,0 +1,11 @@ +#ifndef GUARD_UNK_815C27C_H +#define GUARD_UNK_815C27C_H + +void sub_815C6D4(void); +void sub_815C6C4(void); +void sub_815C8C8(void); +void sub_815C960(void); +void sub_815C91C(void); +u16 sub_815C498(u8, u32, u32, u8); + +#endif //GUARD_UNK_815C27C_H diff --git a/ld_script.txt b/ld_script.txt index 2a42825c9..bef37772a 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -243,6 +243,7 @@ SECTIONS { asm/roamer.o(.text); asm/mystery_gift_menu.o(.text); asm/link_rfu_4.o(.text); + src/mevent.o(.text); asm/mevent.o(.text); asm/mevent_server.o(.text); asm/mevent_8145654.o(.text); diff --git a/src/mevent.c b/src/mevent.c new file mode 100644 index 000000000..8b710e3f3 --- /dev/null +++ b/src/mevent.c @@ -0,0 +1,75 @@ +#include "global.h" +#include "main.h" +#include "decompress.h" +#include "link.h" +#include "unk_815c27c.h" + +struct MEvent_Str_1 +{ + u16 unk_000; + u32 unk_004; + u32 unk_008; +}; + +void sub_81435DC(struct MEvent_Str_1 *a0, u32 a1, u32 a2) +{ + vu16 imeBak = REG_IME; + REG_IME = 0; + gIntrTable[1] = sub_815C6D4; + gIntrTable[2] = sub_815C6C4; + sub_815C8C8(); + sub_815C960(); + REG_IE |= INTR_FLAG_VCOUNT; + REG_IME = imeBak; + a0->unk_000 = 0; + a0->unk_004 = a1; + a0->unk_008 = a2; +} + +void sub_8143644(void) +{ + vu16 imeBak = REG_IME; + REG_IME = 0; + sub_815C960(); + sub_815C91C(); + RestoreSerialTimer3IntrHandlers(); + REG_IME = imeBak; +} + +u8 sub_8143674(struct MEvent_Str_1 *a0) +{ + u8 resp = 0; + a0->unk_000 = sub_815C498(1, a0->unk_004, a0->unk_008, 0); + if ((a0->unk_000 & 0x13) == 0x10) + resp = 1; + if (a0->unk_000 & 8) + resp = 2; + if (a0->unk_000 & 4) + resp = 3; + gUnknown_3003F84 = 0; + return resp; +} + +void sub_81436BC(void) +{ + memset(gDecompressionBuffer, 0, 0x2000); + gUnknown_202271A = 0x5502; + sub_8009804(); + SetSuppressLinkErrorMessage(TRUE); +} + +bool8 sub_81436EC(void) +{ + vu16 imeBak = REG_IME; + u16 data[4]; + REG_IME = 0; + *(u64 *)data = gUnknown_3003FB4; + REG_IME = imeBak; + if ( data[0] == 0xB9A0 + && data[1] == 0xCCD0 + && data[2] == 0xFFFF + && data[3] == 0xFFFF + ) + return TRUE; + return FALSE; +} From 2943997dcbab30619e0410b294dc109fd3e08e83 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 29 Nov 2018 09:54:26 -0500 Subject: [PATCH 164/222] through sub_81438F0 --- Makefile | 2 +- asm/mevent.s | 241 ------------------------------------------------- include/link.h | 4 + src/mevent.c | 146 ++++++++++++++++++++++++++++++ 4 files changed, 151 insertions(+), 242 deletions(-) diff --git a/Makefile b/Makefile index 4e81222f4..9f8b13141 100644 --- a/Makefile +++ b/Makefile @@ -164,7 +164,7 @@ $(OBJ_DIR)/ld_script.ld: ld_script.txt $(OBJ_DIR)/sym_bss.ld $(OBJ_DIR)/sym_comm cd $(OBJ_DIR) && sed -f ../../ld_script.sed ../../$< | sed "s#tools/#../../tools/#g" > ld_script.ld $(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS) - cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(OBJS_REL) $(LIB) + cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(LIB) $(ROM): $(ELF) $(OBJCOPY) -O binary $< $@ diff --git a/asm/mevent.s b/asm/mevent.s index 2d1f06d88..234eb529e 100644 --- a/asm/mevent.s +++ b/asm/mevent.s @@ -5,247 +5,6 @@ .text - thumb_func_start sub_814374C -sub_814374C: @ 814374C - push {lr} - bl sub_800AA48 - lsls r0, 24 - cmp r0, 0 - beq _08143768 - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08143768 - movs r0, 0x1 - b _0814376A -_08143768: - movs r0, 0 -_0814376A: - pop {r1} - bx r1 - thumb_func_end sub_814374C - - thumb_func_start sub_8143770 -sub_8143770: @ 8143770 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4] - subs r0, 0x3 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bhi _08143794 - bl HasLinkErrorOccurred - lsls r0, 24 - cmp r0, 0 - beq _08143794 - movs r0, 0 - strb r0, [r4] - movs r0, 0x3 - b _0814389A -_08143794: - ldrb r0, [r4] - cmp r0, 0x5 - bls _0814379C - b _08143898 -_0814379C: - lsls r0, 2 - ldr r1, _081437A8 @ =_081437AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081437A8: .4byte _081437AC - .align 2, 0 -_081437AC: - .4byte _081437C4 - .4byte _081437E0 - .4byte _081437F8 - .4byte _0814382C - .4byte _08143878 - .4byte _08143884 -_081437C4: - bl sub_800AA48 - lsls r0, 24 - cmp r0, 0 - beq _08143814 - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _08143814 - movs r0, 0x1 - strb r0, [r4] - b _08143898 -_081437E0: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x5 - bls _08143898 - movs r0, 0 - strh r0, [r5] - movs r0, 0x2 - strb r0, [r4] - b _08143898 -_081437F8: - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08143814 - movs r0, 0x42 - bl PlaySE - bl sub_800A5BC - movs r0, 0 - strh r0, [r5] - b _08143872 -_08143814: - ldr r0, _08143828 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08143898 - movs r0, 0 - strb r0, [r4] - movs r0, 0x1 - b _0814389A - .align 2, 0 -_08143828: .4byte gMain -_0814382C: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1E - bls _08143842 - movs r0, 0 - strb r0, [r4] - movs r0, 0x5 - b _0814389A -_08143842: - bl IsLinkConnectionEstablished - lsls r0, 24 - cmp r0, 0 - beq _08143898 - ldr r0, _08143868 @ =gUnknown_3003F64 - ldrb r0, [r0] - cmp r0, 0 - beq _08143872 - bl IsLinkPlayerDataExchangeComplete - lsls r0, 24 - cmp r0, 0 - beq _0814386C - movs r0, 0 - strb r0, [r4] - movs r0, 0x2 - b _0814389A - .align 2, 0 -_08143868: .4byte gUnknown_3003F64 -_0814386C: - movs r0, 0x4 - strb r0, [r4] - b _08143898 -_08143872: - movs r0, 0x3 - strb r0, [r4] - b _08143898 -_08143878: - movs r0, 0 - bl sub_800AA80 - movs r0, 0x5 - strb r0, [r4] - b _08143898 -_08143884: - ldr r0, _08143894 @ =gUnknown_3003F64 - ldrb r0, [r0] - cmp r0, 0 - bne _08143898 - strb r0, [r4] - movs r0, 0x4 - b _0814389A - .align 2, 0 -_08143894: .4byte gUnknown_3003F64 -_08143898: - movs r0, 0 -_0814389A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8143770 - - thumb_func_start sub_81438A0 -sub_81438A0: @ 81438A0 - push {r4,lr} - ldr r0, _081438E0 @ =sub_8143910 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _081438E4 @ =gTasks+0x8 - adds r4, r0 - movs r0, 0 - strb r0, [r4, 0x8] - strb r0, [r4, 0x9] - strb r0, [r4, 0xA] - strb r0, [r4, 0xB] - strb r0, [r4, 0xC] - strb r0, [r4, 0xD] - movs r1, 0 - strh r0, [r4] - strh r0, [r4, 0x2] - strh r0, [r4, 0x4] - strh r0, [r4, 0x6] - strb r1, [r4, 0xE] - movs r0, 0x40 - bl AllocZeroed - str r0, [r4, 0x10] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081438E0: .4byte sub_8143910 -_081438E4: .4byte gTasks+0x8 - thumb_func_end sub_81438A0 - - thumb_func_start sub_81438E8 -sub_81438E8: @ 81438E8 - movs r1, 0 - strh r1, [r0] - bx lr - thumb_func_end sub_81438E8 - - thumb_func_start sub_81438F0 -sub_81438F0: @ 81438F0 - push {lr} - adds r2, r0, 0 - lsls r1, 16 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - lsls r0, 16 - cmp r0, r1 - bhi _08143906 - movs r0, 0 - b _0814390C -_08143906: - movs r0, 0 - strh r0, [r2] - movs r0, 0x1 -_0814390C: - pop {r1} - bx r1 - thumb_func_end sub_81438F0 - thumb_func_start sub_8143910 sub_8143910: @ 8143910 push {r4,r5,lr} diff --git a/include/link.h b/include/link.h index d015708b1..92abf6e28 100644 --- a/include/link.h +++ b/include/link.h @@ -146,6 +146,7 @@ extern u16 word_3002910[]; extern bool8 gReceivedRemoteLinkPlayers; extern bool8 gLinkVSyncDisabled; +extern u8 gUnknown_3003F64; extern u8 gUnknown_3003F84; extern u64 gUnknown_3003FB4; extern u16 gUnknown_202271A; @@ -201,5 +202,8 @@ u8 sub_800ABAC(void); u8 sub_800ABBC(void); void sub_800AC34(void); void sub_8009804(void); +bool8 sub_800AA48(void); +void sub_800A5BC(void); +void sub_800AA80(u8); #endif // GUARD_LINK_H diff --git a/src/mevent.c b/src/mevent.c index 8b710e3f3..27abf65c3 100644 --- a/src/mevent.c +++ b/src/mevent.c @@ -1,5 +1,9 @@ #include "global.h" +#include "constants/songs.h" +#include "malloc.h" +#include "sound.h" #include "main.h" +#include "task.h" #include "decompress.h" #include "link.h" #include "unk_815c27c.h" @@ -11,6 +15,29 @@ struct MEvent_Str_1 u32 unk_008; }; +struct MEvent_Str_2 +{ + u8 fill_00[0x40]; +}; + +struct MEventTaskData1 +{ + u16 t00; + u16 t02; + u16 t04; + u16 t06; + u8 t08; + u8 t09; + u8 t0A; + u8 t0B; + u8 t0C; + u8 t0D; + u8 t0E; + struct MEvent_Str_2 *t10; +}; + +void sub_8143910(u8 taskId); + void sub_81435DC(struct MEvent_Str_1 *a0, u32 a1, u32 a2) { vu16 imeBak = REG_IME; @@ -73,3 +100,122 @@ bool8 sub_81436EC(void) return TRUE; return FALSE; } + +bool8 sub_814374C(void) +{ + if (sub_800AA48() && GetLinkPlayerCount_2() == 2) + return TRUE; + return FALSE; +} + +u8 sub_8143770(u8 * r4, u16 * r5) +{ + if ((*r4 == 3 || *r4 == 4 || *r4 == 5) && HasLinkErrorOccurred()) + { + *r4 = 0; + return 3; + } + switch (*r4) + { + case 0: + if (sub_800AA48() && GetLinkPlayerCount_2() > 1) + { + *r4 = 1; + ; + } + else if (gMain.newKeys & B_BUTTON) + { + *r4 = 0; + return 1; + } + break; + case 1: + if (++(*r5) > 5) + { + *r5 = 0; + *r4 = 2; + } + break; + case 2: + if (GetLinkPlayerCount_2() == 2) + { + PlaySE(SE_TOY_G); + sub_800A5BC(); + *r5 = 0; + *r4 = 3; + } + else if (gMain.newKeys & B_BUTTON) + { + *r4 = 0; + return 1; + } + break; + case 3: + if (++(*r5) > 30) + { + *r4 = 0; + return 5; + } + else if (IsLinkConnectionEstablished()) + { + if (gUnknown_3003F64) + { + if (IsLinkPlayerDataExchangeComplete()) + { + *r4 = 0; + return 2; + } + else + *r4 = 4; + } + else + *r4 = 3; + } + break; + case 4: + sub_800AA80(0); + *r4 = 5; + break; + case 5: + if (!gUnknown_3003F64) + { + *r4 = 0; + return 4; + } + break; + } + return 0; +} + +void sub_81438A0(void) +{ + u8 taskId = CreateTask(sub_8143910, 0); + struct MEventTaskData1 *data = (struct MEventTaskData1 *)gTasks[taskId].data; + data->t08 = 0; + data->t09 = 0; + data->t0A = 0; + data->t0B = 0; + data->t0C = 0; + data->t0D = 0; + data->t00 = 0; + data->t02 = 0; + data->t04 = 0; + data->t06 = 0; + data->t0E = 0; + data->t10 = AllocZeroed(sizeof(struct MEvent_Str_2)); +} + +void sub_81438E8(u16 *a0) +{ + *a0 = 0; +} + +bool8 sub_81438F0(u16 * a0, u16 a1) +{ + if (++(*a0) > a1) + { + *a0 = 0; + return TRUE; + } + return FALSE; +} From 746006911096730ea6d5f14bfff5957ef9b5bc2c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 29 Nov 2018 11:35:31 -0500 Subject: [PATCH 165/222] sub_8143910 --- asm/mevent.s | 473 ------------------------------------------ data/data_83FECCC.s | 63 ++++-- include/global.h | 12 ++ include/link.h | 2 + include/link_rfu_4.h | 6 + include/unk_815c27c.h | 2 +- src/mevent.c | 254 ++++++++++++++++++++++- 7 files changed, 307 insertions(+), 505 deletions(-) create mode 100644 include/link_rfu_4.h diff --git a/asm/mevent.s b/asm/mevent.s index 234eb529e..dbee188ee 100644 --- a/asm/mevent.s +++ b/asm/mevent.s @@ -5,479 +5,6 @@ .text - thumb_func_start sub_8143910 -sub_8143910: @ 8143910 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08143934 @ =gTasks+0x8 - adds r4, r0, r1 - ldrb r0, [r4, 0x8] - cmp r0, 0x1A - bls _08143928 - b _08143D1A -_08143928: - lsls r0, 2 - ldr r1, _08143938 @ =_0814393C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08143934: .4byte gTasks+0x8 -_08143938: .4byte _0814393C - .align 2, 0 -_0814393C: - .4byte _081439A8 - .4byte _081439C4 - .4byte _081439D4 - .4byte _081439E8 - .4byte _081439F8 - .4byte _08143A24 - .4byte _08143A5C - .4byte _08143AD8 - .4byte _08143AF4 - .4byte _08143B1C - .4byte _08143B38 - .4byte _08143B68 - .4byte _08143B7E - .4byte _08143B94 - .4byte _08143BF6 - .4byte _08143C1C - .4byte _08143C34 - .4byte _08143C52 - .4byte _08143C7E - .4byte _08143CA4 - .4byte _08143CD4 - .4byte _08143CE0 - .4byte _08143CEC - .4byte _08143CBC - .4byte _08143D1A - .4byte _08143D1A - .4byte _08143D04 -_081439A8: - adds r0, r4, 0 - adds r0, 0x9 - ldr r1, _081439C0 @ =gUnknown_841DE52 - bl mevent_0814257C - cmp r0, 0 - bne _081439B8 - b _08143D1A -_081439B8: - movs r0, 0x1 - strb r0, [r4, 0x8] - b _08143D1A - .align 2, 0 -_081439C0: .4byte gUnknown_841DE52 -_081439C4: - bl sub_81436BC - adds r0, r4, 0 - bl sub_81438E8 - movs r0, 0x2 - strb r0, [r4, 0x8] - b _08143D1A -_081439D4: - adds r0, r4, 0 - movs r1, 0xA - bl sub_81438F0 - cmp r0, 0 - bne _081439E2 - b _08143D1A -_081439E2: - movs r0, 0x3 - strb r0, [r4, 0x8] - b _08143D1A -_081439E8: - bl sub_814374C - cmp r0, 0 - beq _081439F2 - b _08143B88 -_081439F2: - bl sub_80098B8 - b _08143AE8 -_081439F8: - adds r0, r4, 0 - adds r0, 0x9 - ldr r1, _08143A1C @ =gUnknown_841DE53 - bl mevent_0814257C - cmp r0, 0 - bne _08143A08 - b _08143D1A -_08143A08: - ldr r0, _08143A20 @ =gUnknown_841DE54 - bl sub_8142504 - adds r0, r4, 0 - bl sub_81438E8 - movs r0, 0x5 - strb r0, [r4, 0x8] - b _08143D1A - .align 2, 0 -_08143A1C: .4byte gUnknown_841DE53 -_08143A20: .4byte gUnknown_841DE54 -_08143A24: - adds r0, r4, 0 - movs r1, 0x5A - bl sub_81438F0 - cmp r0, 0 - beq _08143A3A - bl sub_81436BC - movs r0, 0x6 - strb r0, [r4, 0x8] - b _08143D1A -_08143A3A: - ldr r0, _08143A58 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08143A48 - b _08143D1A -_08143A48: - adds r0, r4, 0 - bl sub_81438E8 - movs r0, 0x5 - bl PlaySE - b _08143BE6 - .align 2, 0 -_08143A58: .4byte gMain -_08143A5C: - ldr r0, _08143A7C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08143A80 - movs r0, 0x5 - bl PlaySE - bl sub_80098B8 - adds r0, r4, 0 - bl sub_81438E8 - b _08143BE6 - .align 2, 0 -_08143A7C: .4byte gMain -_08143A80: - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _08143A9C - adds r0, r4, 0 - bl sub_81438E8 - bl sub_80098B8 - movs r0, 0x7 - strb r0, [r4, 0x8] - b _08143D1A -_08143A9C: - bl sub_81436EC - cmp r0, 0 - beq _08143ABA - movs r0, 0x5 - bl PlaySE - bl sub_80098B8 - adds r0, r4, 0 - bl sub_81438E8 - movs r0, 0x8 - strb r0, [r4, 0x8] - b _08143D1A -_08143ABA: - adds r0, r4, 0 - movs r1, 0xA - bl sub_81438F0 - cmp r0, 0 - bne _08143AC8 - b _08143D1A -_08143AC8: - bl sub_80098B8 - bl sub_81436BC - adds r0, r4, 0 - bl sub_81438E8 - b _08143D1A -_08143AD8: - adds r0, r4, 0 - adds r0, 0x9 - ldr r1, _08143AF0 @ =gUnknown_841DE7C - bl mevent_0814257C - cmp r0, 0 - bne _08143AE8 - b _08143D1A -_08143AE8: - movs r0, 0x4 - strb r0, [r4, 0x8] - b _08143D1A - .align 2, 0 -_08143AF0: .4byte gUnknown_841DE7C -_08143AF4: - ldr r0, _08143B0C @ =gUnknown_841DE95 - bl sub_8142504 - ldr r0, _08143B10 @ =gUnknown_3005ED0 - ldr r1, _08143B14 @ =gUnknownSerialData_End - ldr r2, _08143B18 @ =gUnknownSerialData_Start - subs r1, r2 - bl sub_81435DC - movs r0, 0x9 - strb r0, [r4, 0x8] - b _08143D1A - .align 2, 0 -_08143B0C: .4byte gUnknown_841DE95 -_08143B10: .4byte gUnknown_3005ED0 -_08143B14: .4byte gUnknownSerialData_End -_08143B18: .4byte gUnknownSerialData_Start -_08143B1C: - ldr r0, _08143B34 @ =gUnknown_3005ED0 - bl sub_8143674 - strb r0, [r4, 0xE] - lsls r0, 24 - cmp r0, 0 - bne _08143B2C - b _08143D1A -_08143B2C: - movs r0, 0xA - strb r0, [r4, 0x8] - b _08143D1A - .align 2, 0 -_08143B34: .4byte gUnknown_3005ED0 -_08143B38: - ldr r0, _08143B60 @ =gUnknown_3005ED0 - bl sub_8143644 - ldrb r0, [r4, 0xE] - cmp r0, 0x3 - bne _08143B46 - b _08143C4C -_08143B46: - cmp r0, 0x1 - beq _08143B4C - b _08143CFA -_08143B4C: - adds r0, r4, 0 - bl sub_81438E8 - ldr r0, _08143B64 @ =gUnknown_841DE9B - bl sub_8142504 - movs r0, 0xB - strb r0, [r4, 0x8] - b _08143D1A - .align 2, 0 -_08143B60: .4byte gUnknown_3005ED0 -_08143B64: .4byte gUnknown_841DE9B -_08143B68: - movs r1, 0xD2 - lsls r1, 2 - adds r0, r4, 0 - bl sub_81438F0 - cmp r0, 0 - bne _08143B78 - b _08143D1A -_08143B78: - movs r0, 0xC - strb r0, [r4, 0x8] - b _08143D1A -_08143B7E: - bl sub_81436BC - ldr r0, _08143B90 @ =gUnknown_841DE98 - bl sub_8142504 -_08143B88: - movs r0, 0xD - strb r0, [r4, 0x8] - b _08143D1A - .align 2, 0 -_08143B90: .4byte gUnknown_841DE98 -_08143B94: - adds r0, r4, 0 - adds r0, 0x9 - adds r1, r4, 0 - bl sub_8143770 - cmp r0, 0x5 - bls _08143BA4 - b _08143D1A -_08143BA4: - lsls r0, 2 - ldr r1, _08143BB0 @ =_08143BB4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08143BB0: .4byte _08143BB4 - .align 2, 0 -_08143BB4: - .4byte _08143D1A - .4byte _08143BDC - .4byte _08143BCC - .4byte _08143C00 - .4byte _08143C00 - .4byte _08143BEC -_08143BCC: - ldr r0, _08143BD8 @ =gUnknown_841DE95 - bl sub_8142504 - movs r0, 0xE - strb r0, [r4, 0x8] - b _08143D1A - .align 2, 0 -_08143BD8: .4byte gUnknown_841DE95 -_08143BDC: - movs r0, 0x5 - bl PlaySE - bl sub_80098B8 -_08143BE6: - movs r0, 0x17 - strb r0, [r4, 0x8] - b _08143D1A -_08143BEC: - bl sub_80098B8 - movs r0, 0x15 - strb r0, [r4, 0x8] - b _08143D1A -_08143BF6: - bl HasLinkErrorOccurred - lsls r0, 24 - cmp r0, 0 - beq _08143C06 -_08143C00: - bl sub_80098B8 - b _08143C4C -_08143C06: - bl GetBlockReceivedStatus - lsls r0, 24 - cmp r0, 0 - bne _08143C12 - b _08143D1A -_08143C12: - bl ResetBlockReceivedFlags - movs r0, 0xF - strb r0, [r4, 0x8] - b _08143D1A -_08143C1C: - ldr r0, _08143C30 @ =gDecompressionBuffer - bl sub_815D6B4 - strb r0, [r4, 0xE] - ldrb r0, [r4, 0xE] - bl sub_800AA80 - movs r0, 0x10 - strb r0, [r4, 0x8] - b _08143D1A - .align 2, 0 -_08143C30: .4byte gDecompressionBuffer -_08143C34: - ldr r0, _08143C48 @ =gUnknown_3003F64 - ldrb r0, [r0] - cmp r0, 0 - bne _08143D1A - ldrb r0, [r4, 0xE] - cmp r0, 0x1 - bne _08143C4C - movs r0, 0x11 - strb r0, [r4, 0x8] - b _08143D1A - .align 2, 0 -_08143C48: .4byte gUnknown_3003F64 -_08143C4C: - movs r0, 0x14 - strb r0, [r4, 0x8] - b _08143D1A -_08143C52: - ldr r0, _08143C70 @ =gDecompressionBuffer - bl sub_815D794 - cmp r0, 0 - beq _08143C78 - ldr r0, _08143C74 @ =gUnknown_841DE99 - bl sub_8142504 - adds r0, r4, 0 - bl sub_81438E8 - movs r0, 0x12 - strb r0, [r4, 0x8] - b _08143D1A - .align 2, 0 -_08143C70: .4byte gDecompressionBuffer -_08143C74: .4byte gUnknown_841DE99 -_08143C78: - movs r0, 0x16 - strb r0, [r4, 0x8] - b _08143D1A -_08143C7E: - adds r0, r4, 0 - movs r1, 0x78 - bl sub_81438F0 - cmp r0, 0 - beq _08143D1A - ldr r0, _08143CA0 @ =gUnknown_841DE9A - bl sub_8142504 - movs r0, 0x81 - lsls r0, 1 - bl PlayFanfare - movs r0, 0x13 - strb r0, [r4, 0x8] - b _08143D1A - .align 2, 0 -_08143CA0: .4byte gUnknown_841DE9A -_08143CA4: - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _08143D1A - ldr r0, _08143CB8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - b _08143CC6 - .align 2, 0 -_08143CB8: .4byte gMain -_08143CBC: - adds r0, r4, 0 - adds r0, 0x9 - ldr r1, _08143CD0 @ =gUnknown_841DE7D - bl mevent_0814257C -_08143CC6: - cmp r0, 0 - beq _08143D1A - movs r0, 0x1A - strb r0, [r4, 0x8] - b _08143D1A - .align 2, 0 -_08143CD0: .4byte gUnknown_841DE7D -_08143CD4: - adds r0, r4, 0 - adds r0, 0x9 - ldr r1, _08143CDC @ =gUnknown_841DE96 - b _08143CF2 - .align 2, 0 -_08143CDC: .4byte gUnknown_841DE96 -_08143CE0: - adds r0, r4, 0 - adds r0, 0x9 - ldr r1, _08143CE8 @ =gUnknown_841DE97 - b _08143CF2 - .align 2, 0 -_08143CE8: .4byte gUnknown_841DE97 -_08143CEC: - adds r0, r4, 0 - adds r0, 0x9 - ldr r1, _08143D00 @ =gUnknown_841DE9C -_08143CF2: - bl mevent_0814257C - cmp r0, 0 - beq _08143D1A -_08143CFA: - movs r0, 0 - strb r0, [r4, 0x8] - b _08143D1A - .align 2, 0 -_08143D00: .4byte gUnknown_841DE9C -_08143D04: - bl sub_812B484 - ldr r0, [r4, 0x10] - bl Free - adds r0, r5, 0 - bl DestroyTask - ldr r0, _08143D20 @ =sub_81422FC - bl SetMainCallback2 -_08143D1A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08143D20: .4byte sub_81422FC - thumb_func_end sub_8143910 - thumb_func_start sub_8143D24 sub_8143D24: @ 8143D24 push {lr} diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 2e5c0e6c7..15416aed2 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -1956,67 +1956,88 @@ gUnknown_841D198:: @ 841D198 .incbin "baserom.gba", 0x41D198, 0xCB8 gUnknown_841DE50:: @ 841DE50 - .incbin "baserom.gba", 0x41DE50, 0x1 + .string "$" gUnknown_841DE51:: @ 841DE51 - .incbin "baserom.gba", 0x41DE51, 0x1 + .string "$" gUnknown_841DE52:: @ 841DE52 - .incbin "baserom.gba", 0x41DE52, 0x1 + .string "$" gUnknown_841DE53:: @ 841DE53 - .incbin "baserom.gba", 0x41DE53, 0x1 + .string "$" gUnknown_841DE54:: @ 841DE54 - .incbin "baserom.gba", 0x41DE54, 0x28 + .string "$" + +gUnknown_841DE55:: @ 841DE55 + .incbin "baserom.gba", 0x41DE55, 0x27 @ japanese gUnknown_841DE7C:: @ 841DE7C - .incbin "baserom.gba", 0x41DE7C, 0x1 + .string "$" gUnknown_841DE7D:: @ 841DE7D - .incbin "baserom.gba", 0x41DE7D, 0x18 + .string "$" + +gUnknown_841DE7E:: @ 841DE7E + .incbin "baserom.gba", 0x0041de7e, 0x17 @ japanese gUnknown_841DE95:: @ 841DE95 - .incbin "baserom.gba", 0x41DE95, 0x1 + .string "$" gUnknown_841DE96:: @ 841DE96 - .incbin "baserom.gba", 0x41DE96, 0x1 + .string "$" gUnknown_841DE97:: @ 841DE97 - .incbin "baserom.gba", 0x41DE97, 0x1 + .string "$" gUnknown_841DE98:: @ 841DE98 - .incbin "baserom.gba", 0x41DE98, 0x1 + .string "$" gUnknown_841DE99:: @ 841DE99 - .incbin "baserom.gba", 0x41DE99, 0x1 + .string "$" gUnknown_841DE9A:: @ 841DE9A - .incbin "baserom.gba", 0x41DE9A, 0x1 + .string "$" gUnknown_841DE9B:: @ 841DE9B - .incbin "baserom.gba", 0x41DE9B, 0x1 + .string "$" gUnknown_841DE9C:: @ 841DE9C - .incbin "baserom.gba", 0x41DE9C, 0x1 + .string "$" gUnknown_841DE9D:: @ 841DE9D - .incbin "baserom.gba", 0x41DE9D, 0x53 + .string "Communication error…\n" + .string "Please check all connections,\n" + .string "then turn the power OFF and ON.$" gUnknown_841DEF0:: @ 841DEF0 - .incbin "baserom.gba", 0x41DEF0, 0x15 + .string "Communication error…$" gUnknown_841DF05:: @ 841DF05 - .incbin "baserom.gba", 0x41DF05, 0x47 + .string "Move closer to your link partner(s).\n" + .string "Avoid obstacles between partners.$" gUnknown_841DF4C:: @ 841DF4C - .incbin "baserom.gba", 0x41DF4C, 0x1F + .string "A Button: Registration Counter$" gUnknown_841DF6B:: @ 841DF6B - .incbin "baserom.gba", 0x41DF6B, 0x17 + .string "A Button: Title Screen$" gUnknown_841DF82:: @ 841DF82 - .incbin "baserom.gba", 0x41DF82, 0x23 + .string "{STR_VAR_1}P LINK$" + +gUnknown_841DF8B:: @ 841DF8B + .string "BRONZE$" + +gUnknown_841DF92:: @ 841DF92 + .string "COPPER$" + +gUnknown_841DF99:: @ 841DF99 + .string "SILVER$" + +gUnknown_841DFA0:: @ 841DFA0 + .string "GOLD$" gUnknown_841DFA5:: @ 841DFA5 .incbin "baserom.gba", 0x41DFA5, 0x7 diff --git a/include/global.h b/include/global.h index d5bfc5241..899508993 100644 --- a/include/global.h +++ b/include/global.h @@ -591,6 +591,18 @@ struct FameCheckerSaveData #define NUM_EASY_CHAT_EXTRA_PHRASES 33 #define EASY_CHAT_EXTRA_PHRASES_SIZE ((NUM_EASY_CHAT_EXTRA_PHRASES >> 3) + (NUM_EASY_CHAT_EXTRA_PHRASES % 8 ? 1 : 0)) +struct MEventBuffer1 +{ + u32 crc; + u8 data[0x1bc]; +}; + +struct MEventBuffer2 +{ + u32 crc; + u8 data[0x14c]; +}; + struct SaveBlock1 { /*0x0000*/ struct Coords16 pos; diff --git a/include/link.h b/include/link.h index 92abf6e28..321a28d11 100644 --- a/include/link.h +++ b/include/link.h @@ -205,5 +205,7 @@ void sub_8009804(void); bool8 sub_800AA48(void); void sub_800A5BC(void); void sub_800AA80(u8); +void sub_80098D8(void); +void sub_80098B8(void); #endif // GUARD_LINK_H diff --git a/include/link_rfu_4.h b/include/link_rfu_4.h new file mode 100644 index 000000000..08bb3d7c5 --- /dev/null +++ b/include/link_rfu_4.h @@ -0,0 +1,6 @@ +#ifndef GUARD_LINK_RFU_4_H +#define GUARD_LINK_RFU_4_H + +bool32 mevent_0814257C(u8 * cmdPtr, const u8 * src); + +#endif //GUARD_LINK_RFU_4_H diff --git a/include/unk_815c27c.h b/include/unk_815c27c.h index d5ddc7bdc..cc1cbb7ce 100644 --- a/include/unk_815c27c.h +++ b/include/unk_815c27c.h @@ -6,6 +6,6 @@ void sub_815C6C4(void); void sub_815C8C8(void); void sub_815C960(void); void sub_815C91C(void); -u16 sub_815C498(u8, u32, u32, u8); +u16 sub_815C498(u8, size_t, const void *, u8); #endif //GUARD_UNK_815C27C_H diff --git a/src/mevent.c b/src/mevent.c index 27abf65c3..b2d8ba3f4 100644 --- a/src/mevent.c +++ b/src/mevent.c @@ -6,13 +6,14 @@ #include "task.h" #include "decompress.h" #include "link.h" +#include "link_rfu_4.h" #include "unk_815c27c.h" struct MEvent_Str_1 { u16 unk_000; - u32 unk_004; - u32 unk_008; + size_t unk_004; + const void * unk_008; }; struct MEvent_Str_2 @@ -37,8 +38,31 @@ struct MEventTaskData1 }; void sub_8143910(u8 taskId); +void sub_8142504(const u8 *str); +u8 sub_815D6B4(u8 *); +bool32 sub_815D794(u8 *); +void sub_812B484(void); +void sub_81422FC(void); -void sub_81435DC(struct MEvent_Str_1 *a0, u32 a1, u32 a2) +extern const u8 gUnknown_841DE52[]; +extern const u8 gUnknown_841DE53[]; +extern const u8 gUnknown_841DE54[]; +extern const u8 gUnknown_841DE7C[]; +extern const u8 gUnknown_841DE7D[]; +extern const u8 gUnknown_841DE95[]; +extern const u8 gUnknown_841DE96[]; +extern const u8 gUnknown_841DE97[]; +extern const u8 gUnknown_841DE98[]; +extern const u8 gUnknown_841DE99[]; +extern const u8 gUnknown_841DE9A[]; +extern const u8 gUnknown_841DE9B[]; +extern const u8 gUnknown_841DE9C[]; +extern const u8 gUnknownSerialData_Start[]; +extern const u8 gUnknownSerialData_End[]; + +struct MEvent_Str_1 gUnknown_3005ED0; + +void sub_81435DC(struct MEvent_Str_1 *a0, size_t a1, const void * a2) { vu16 imeBak = REG_IME; REG_IME = 0; @@ -53,7 +77,7 @@ void sub_81435DC(struct MEvent_Str_1 *a0, u32 a1, u32 a2) a0->unk_008 = a2; } -void sub_8143644(void) +void sub_8143644(struct MEvent_Str_1 *unused) { vu16 imeBak = REG_IME; REG_IME = 0; @@ -85,7 +109,7 @@ void sub_81436BC(void) SetSuppressLinkErrorMessage(TRUE); } -bool8 sub_81436EC(void) +bool32 sub_81436EC(void) { vu16 imeBak = REG_IME; u16 data[4]; @@ -101,14 +125,14 @@ bool8 sub_81436EC(void) return FALSE; } -bool8 sub_814374C(void) +bool32 sub_814374C(void) { if (sub_800AA48() && GetLinkPlayerCount_2() == 2) return TRUE; return FALSE; } -u8 sub_8143770(u8 * r4, u16 * r5) +u32 sub_8143770(u8 * r4, u16 * r5) { if ((*r4 == 3 || *r4 == 4 || *r4 == 5) && HasLinkErrorOccurred()) { @@ -123,7 +147,7 @@ u8 sub_8143770(u8 * r4, u16 * r5) *r4 = 1; ; } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { *r4 = 0; return 1; @@ -144,7 +168,7 @@ u8 sub_8143770(u8 * r4, u16 * r5) *r5 = 0; *r4 = 3; } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { *r4 = 0; return 1; @@ -210,7 +234,7 @@ void sub_81438E8(u16 *a0) *a0 = 0; } -bool8 sub_81438F0(u16 * a0, u16 a1) +bool32 sub_81438F0(u16 * a0, u16 a1) { if (++(*a0) > a1) { @@ -219,3 +243,213 @@ bool8 sub_81438F0(u16 * a0, u16 a1) } return FALSE; } + +void sub_8143910(u8 taskId) +{ + struct MEventTaskData1 *data = (struct MEventTaskData1 *)gTasks[taskId].data; + switch (data->t08) + { + case 0: + if (mevent_0814257C(&data->t09, gUnknown_841DE52)) + data->t08 = 1; + break; + case 1: + sub_81436BC(); + sub_81438E8(&data->t00); + data->t08 = 2; + break; + case 2: + if (sub_81438F0(&data->t00, 10)) + data->t08 = 3; + break; + case 3: + if (!sub_814374C()) + { + sub_80098B8(); + data->t08 = 4; + } + else + data->t08 = 13; + break; + case 4: + if (mevent_0814257C(&data->t09, gUnknown_841DE53)) + { + sub_8142504(gUnknown_841DE54); + sub_81438E8(&data->t00); + data->t08 = 5; + } + break; + case 5: + if (sub_81438F0(&data->t00, 90)) + { + sub_81436BC(); + data->t08 = 6; + } + else if (JOY_NEW(B_BUTTON)) + { + sub_81438E8(&data->t00); + PlaySE(SE_SELECT); + data->t08 = 23; + } + break; + case 6: + if (JOY_NEW(B_BUTTON)) + { + PlaySE(SE_SELECT); + sub_80098B8(); + sub_81438E8(&data->t00); + data->t08 = 23; + } + else if (GetLinkPlayerCount_2() > 1) + { + sub_81438E8(&data->t00); + sub_80098B8(); + data->t08 = 7; + } + else if (sub_81436EC()) + { + PlaySE(SE_SELECT); + sub_80098B8(); + sub_81438E8(&data->t00); + data->t08 = 8; + } + else if (sub_81438F0(&data->t00, 10)) + { + sub_80098B8(); + sub_81436BC(); + sub_81438E8(&data->t00); + } + break; + case 7: + if (mevent_0814257C(&data->t09, gUnknown_841DE7C)) + data->t08 = 4; + break; + case 8: + sub_8142504(gUnknown_841DE95); + sub_81435DC(&gUnknown_3005ED0, gUnknownSerialData_End - gUnknownSerialData_Start, gUnknownSerialData_Start); + data->t08 = 9; + break; + case 9: + data->t0E = sub_8143674(&gUnknown_3005ED0); + if (data->t0E != 0) + data->t08 = 10; + break; + case 10: + sub_8143644(&gUnknown_3005ED0); + if (data->t0E == 3) + data->t08 = 20; + else if (data->t0E == 1) + { + sub_81438E8(&data->t00); + sub_8142504(gUnknown_841DE9B); + data->t08 = 11; + } + else + data->t08 = 0; + break; + case 11: + if (sub_81438F0(&data->t00, 840)) + data->t08 = 12; + break; + case 12: + sub_81436BC(); + sub_8142504(gUnknown_841DE98); + data->t08 = 13; + break; + case 13: + switch (sub_8143770(&data->t09, &data->t00)) + { + case 0: + break; + case 2: + sub_8142504(gUnknown_841DE95); + data->t08 = 14; + break; + case 1: + PlaySE(SE_SELECT); + sub_80098B8(); + data->t08 = 23; + break; + case 5: + sub_80098B8(); + data->t08 = 21; + break; + case 3: + case 4: + sub_80098B8(); + data->t08 = 20; + break; + } + break; + case 14: + if (HasLinkErrorOccurred()) + { + sub_80098B8(); + data->t08 = 20; + } + else if (GetBlockReceivedStatus()) + { + ResetBlockReceivedFlags(); + data->t08 = 15; + } + break; + case 15: + data->t0E = sub_815D6B4(gDecompressionBuffer); + sub_800AA80(data->t0E); + data->t08 = 16; + break; + case 16: + if (!gUnknown_3003F64) + { + if (data->t0E == 1) + data->t08 = 17; + else + data->t08 = 20; + } + break; + case 17: + if (sub_815D794(gDecompressionBuffer)) + { + sub_8142504(gUnknown_841DE99); + sub_81438E8(&data->t00); + data->t08 = 18; + } + else + data->t08 = 22; + break; + case 18: + if (sub_81438F0(&data->t00, 120)) + { + sub_8142504(gUnknown_841DE9A); + PlayFanfare(258); + data->t08 = 19; + } + break; + case 19: + if (IsFanfareTaskInactive() &&JOY_NEW(A_BUTTON | B_BUTTON)) + data->t08 = 26; + break; + case 23: + if (mevent_0814257C(&data->t09, gUnknown_841DE7D)) + data->t08 = 26; + break; + case 20: + if (mevent_0814257C(&data->t09, gUnknown_841DE96)) + data->t08 = 0; + break; + case 21: + if (mevent_0814257C(&data->t09, gUnknown_841DE97)) + data->t08 = 0; + break; + case 22: + if (mevent_0814257C(&data->t09, gUnknown_841DE9C)) + data->t08 = 0; + break; + case 26: + sub_812B484(); + Free(data->t10); + DestroyTask(taskId); + SetMainCallback2(sub_81422FC); + break; + } +} From cec95ebfb41f8381feeb87ff889ebc1d89827ec6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 29 Nov 2018 14:02:49 -0500 Subject: [PATCH 166/222] through sub_8143DBC --- asm/mevent.s | 92 -------------------------------------------- include/easy_chat.h | 1 + include/global.h | 29 ++++++++++---- include/link_rfu_4.h | 1 + src/mevent.c | 43 ++++++++++++++++++++- 5 files changed, 65 insertions(+), 101 deletions(-) diff --git a/asm/mevent.s b/asm/mevent.s index dbee188ee..d2f093a4b 100644 --- a/asm/mevent.s +++ b/asm/mevent.s @@ -5,98 +5,6 @@ .text - thumb_func_start sub_8143D24 -sub_8143D24: @ 8143D24 - push {lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r0, _08143D4C @ =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, _08143D50 @ =0x00003120 - adds r1, r0 - ldr r2, _08143D54 @ =0x050000db - mov r0, sp - bl CpuSet - bl sub_8143ED0 - bl sub_80BDE28 - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08143D4C: .4byte gSaveBlock1Ptr -_08143D50: .4byte 0x00003120 -_08143D54: .4byte 0x050000db - thumb_func_end sub_8143D24 - - thumb_func_start sub_8143D58 -sub_8143D58: @ 8143D58 - ldr r0, _08143D64 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08143D68 @ =0x00003124 - adds r0, r1 - bx lr - .align 2, 0 -_08143D64: .4byte gSaveBlock1Ptr -_08143D68: .4byte 0x00003124 - thumb_func_end sub_8143D58 - - thumb_func_start sav1_get_mevent_buffer_1 -sav1_get_mevent_buffer_1: @ 8143D6C - ldr r0, _08143D78 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08143D7C @ =0x000032e4 - adds r0, r1 - bx lr - .align 2, 0 -_08143D78: .4byte gSaveBlock1Ptr -_08143D7C: .4byte 0x000032e4 - thumb_func_end sav1_get_mevent_buffer_1 - - thumb_func_start sav1_get_mevent_buffer_2 -sav1_get_mevent_buffer_2: @ 8143D80 - ldr r0, _08143D8C @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08143D90 @ =0x00003434 - adds r0, r1 - bx lr - .align 2, 0 -_08143D8C: .4byte gSaveBlock1Ptr -_08143D90: .4byte 0x00003434 - thumb_func_end sav1_get_mevent_buffer_2 - - thumb_func_start sub_8143D94 -sub_8143D94: @ 8143D94 - ldr r0, _08143DA0 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08143DA4 @ =0x00003460 - adds r0, r1 - bx lr - .align 2, 0 -_08143DA0: .4byte gSaveBlock1Ptr -_08143DA4: .4byte 0x00003460 - thumb_func_end sub_8143D94 - - thumb_func_start sub_8143DA8 -sub_8143DA8: @ 8143DA8 - ldr r0, _08143DB4 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08143DB8 @ =0x00003458 - adds r0, r1 - bx lr - .align 2, 0 -_08143DB4: .4byte gSaveBlock1Ptr -_08143DB8: .4byte 0x00003458 - thumb_func_end sub_8143DA8 - - thumb_func_start sub_8143DBC -sub_8143DBC: @ 8143DBC - push {lr} - bl sub_8143E9C - pop {r0} - bx r0 - thumb_func_end sub_8143DBC - thumb_func_start sub_8143DC8 sub_8143DC8: @ 8143DC8 push {r4-r7,lr} diff --git a/include/easy_chat.h b/include/easy_chat.h index 2b5664420..78e371cbb 100644 --- a/include/easy_chat.h +++ b/include/easy_chat.h @@ -37,5 +37,6 @@ bool32 sub_811F8D8(u16 word); void InitializeEasyChatWordArray(u16 *words, u16 length); void ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 length1, u16 length2); bool8 ECWord_CheckIfOutsideOfValidRange(u16 word); +void sub_80BDE28(void); #endif // GUARD_EASYCHAT_H diff --git a/include/global.h b/include/global.h index 899508993..456f2c083 100644 --- a/include/global.h +++ b/include/global.h @@ -591,18 +591,34 @@ struct FameCheckerSaveData #define NUM_EASY_CHAT_EXTRA_PHRASES 33 #define EASY_CHAT_EXTRA_PHRASES_SIZE ((NUM_EASY_CHAT_EXTRA_PHRASES >> 3) + (NUM_EASY_CHAT_EXTRA_PHRASES % 8 ? 1 : 0)) -struct MEventBuffer1 +struct MEventBuffer_3120 { u32 crc; - u8 data[0x1bc]; + u16 data[222]; }; -struct MEventBuffer2 +struct MEventBuffer_32E0 { u32 crc; - u8 data[0x14c]; + u16 data[166]; }; +struct MEventBuffer_3430 +{ + u32 crc; + u16 data[18]; +}; + +struct MEventBuffers +{ + /*0x000 0x3120*/ struct MEventBuffer_3120 buffer_000; + /*0x1c0 0x32e0*/ struct MEventBuffer_32E0 buffer_1c0; + /*0x310 0x3430*/ struct MEventBuffer_3430 buffer_310; + /*0x338 0x3458*/ u16 unk_338[4]; + /*0x340 0x3460*/ struct MysteryEventStruct unk_340; + /*0x344 0x3464*/ u8 filler_344[0x28]; +}; // 0x36C 0x348C + struct SaveBlock1 { /*0x0000*/ struct Coords16 pos; @@ -650,9 +666,8 @@ struct SaveBlock1 /*0x309C*/ u8 giftRibbons[52]; /*0x30D0*/ struct Roamer roamer; /*0x30EC*/ struct EnigmaBerry enigmaBerry; - /*0x3120*/ u8 filler3120[0x340]; - /*0x3460*/ struct MysteryEventStruct unk_3460; - /*0x3464*/ u8 filler_3464[0x1b8]; + /*0x3120*/ struct MEventBuffers unk_3120; + /*0x348C*/ u8 filler_3464[0x190]; /*0x361C*/ struct RamScript ramScript; /*0x3A08*/ u8 filler3A08[12]; /*0x3A14*/ u8 seen2[DEX_FLAGS_NO]; diff --git a/include/link_rfu_4.h b/include/link_rfu_4.h index 08bb3d7c5..91ae86e4c 100644 --- a/include/link_rfu_4.h +++ b/include/link_rfu_4.h @@ -1,6 +1,7 @@ #ifndef GUARD_LINK_RFU_4_H #define GUARD_LINK_RFU_4_H +void sub_8142504(const u8 *str); bool32 mevent_0814257C(u8 * cmdPtr, const u8 * src); #endif //GUARD_LINK_RFU_4_H diff --git a/src/mevent.c b/src/mevent.c index b2d8ba3f4..c2a05f3c6 100644 --- a/src/mevent.c +++ b/src/mevent.c @@ -2,6 +2,7 @@ #include "constants/songs.h" #include "malloc.h" #include "sound.h" +#include "easy_chat.h" #include "main.h" #include "task.h" #include "decompress.h" @@ -38,11 +39,12 @@ struct MEventTaskData1 }; void sub_8143910(u8 taskId); -void sub_8142504(const u8 *str); u8 sub_815D6B4(u8 *); bool32 sub_815D794(u8 *); -void sub_812B484(void); void sub_81422FC(void); +void sub_812B484(void); +void sub_8143E9C(void); +void sub_8143ED0(void); extern const u8 gUnknown_841DE52[]; extern const u8 gUnknown_841DE53[]; @@ -453,3 +455,40 @@ void sub_8143910(u8 taskId) break; } } + +void sub_8143D24(void) +{ + CpuFill32(0, &gSaveBlock1Ptr->unk_3120, sizeof(gSaveBlock1Ptr->unk_3120)); + sub_8143ED0(); + sub_80BDE28(); +} + +u16 * sub_8143D58(void) +{ + return gSaveBlock1Ptr->unk_3120.buffer_000.data; +} + +u16 * sav1_get_mevent_buffer_1(void) +{ + return gSaveBlock1Ptr->unk_3120.buffer_1c0.data; +} + +u16 * sav1_get_mevent_buffer_2(void) +{ + return gSaveBlock1Ptr->unk_3120.buffer_310.data; +} + +struct MysteryEventStruct * sub_8143D94(void) +{ + return &gSaveBlock1Ptr->unk_3120.unk_340; +} + +u16 * sub_8143DA8(void) +{ + return gSaveBlock1Ptr->unk_3120.unk_338; +} + +void sub_8143DBC(void) +{ + sub_8143E9C(); +} From dfb6bcb6acdebfb3b7fe024148889361e9309dc4 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 29 Nov 2018 14:35:39 -0500 Subject: [PATCH 167/222] through sub_8143EF4 --- asm/mevent.s | 199 --------------------------------------------------- src/mevent.c | 63 ++++++++++++++++ 2 files changed, 63 insertions(+), 199 deletions(-) diff --git a/asm/mevent.s b/asm/mevent.s index d2f093a4b..3b5012fa7 100644 --- a/asm/mevent.s +++ b/asm/mevent.s @@ -5,205 +5,6 @@ .text - thumb_func_start sub_8143DC8 -sub_8143DC8: @ 8143DC8 - push {r4-r7,lr} - adds r7, r0, 0 - bl sub_8143E64 - cmp r0, 0 - beq _08143E14 - bl sub_8143E9C - ldr r4, _08143E08 @ =gSaveBlock1Ptr - ldr r0, [r4] - ldr r5, _08143E0C @ =0x00003124 - adds r0, r5 - movs r6, 0xDE - lsls r6, 1 - adds r1, r7, 0 - adds r2, r6, 0 - bl memcpy - ldr r0, [r4] - adds r0, r5 - adds r1, r6, 0 - bl CalcCRC16WithTable - ldr r1, [r4] - ldr r2, _08143E10 @ =0x00003120 - adds r1, r2 - lsls r0, 16 - lsrs r0, 16 - str r0, [r1] - movs r0, 0x1 - b _08143E16 - .align 2, 0 -_08143E08: .4byte gSaveBlock1Ptr -_08143E0C: .4byte 0x00003124 -_08143E10: .4byte 0x00003120 -_08143E14: - movs r0, 0 -_08143E16: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8143DC8 - - thumb_func_start sub_8143E1C -sub_8143E1C: @ 8143E1C - push {r4,lr} - ldr r4, _08143E50 @ =gSaveBlock1Ptr - ldr r0, [r4] - ldr r1, _08143E54 @ =0x00003124 - adds r0, r1 - movs r1, 0xDE - lsls r1, 1 - bl CalcCRC16WithTable - lsls r0, 16 - lsrs r0, 16 - ldr r4, [r4] - ldr r2, _08143E58 @ =0x00003120 - adds r1, r4, r2 - ldr r1, [r1] - cmp r0, r1 - bne _08143E5C - ldr r1, _08143E54 @ =0x00003124 - adds r0, r4, r1 - bl sub_8143E64 - cmp r0, 0 - beq _08143E5C - movs r0, 0x1 - b _08143E5E - .align 2, 0 -_08143E50: .4byte gSaveBlock1Ptr -_08143E54: .4byte 0x00003124 -_08143E58: .4byte 0x00003120 -_08143E5C: - movs r0, 0 -_08143E5E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8143E1C - - thumb_func_start sub_8143E64 -sub_8143E64: @ 8143E64 - push {lr} - ldrh r0, [r0] - cmp r0, 0 - beq _08143E70 - movs r0, 0x1 - b _08143E72 -_08143E70: - movs r0, 0 -_08143E72: - pop {r1} - bx r1 - thumb_func_end sub_8143E64 - - thumb_func_start sub_8143E78 -sub_8143E78: @ 8143E78 - push {lr} - ldr r0, _08143E8C @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08143E90 @ =0x00003124 - adds r0, r1 - ldrb r0, [r0, 0x2] - cmp r0, 0 - beq _08143E94 - movs r0, 0x1 - b _08143E96 - .align 2, 0 -_08143E8C: .4byte gSaveBlock1Ptr -_08143E90: .4byte 0x00003124 -_08143E94: - movs r0, 0 -_08143E96: - pop {r1} - bx r1 - thumb_func_end sub_8143E78 - - thumb_func_start sub_8143E9C -sub_8143E9C: @ 8143E9C - push {r4,lr} - sub sp, 0x4 - movs r4, 0 - str r4, [sp] - bl sub_8143D58 - adds r1, r0, 0 - ldr r2, _08143EC4 @ =0x0500006f - mov r0, sp - bl CpuSet - ldr r0, _08143EC8 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08143ECC @ =0x00003120 - adds r0, r1 - str r4, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08143EC4: .4byte 0x0500006f -_08143EC8: .4byte gSaveBlock1Ptr -_08143ECC: .4byte 0x00003120 - thumb_func_end sub_8143E9C - - thumb_func_start sub_8143ED0 -sub_8143ED0: @ 8143ED0 - push {lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_8143D94 - adds r1, r0, 0 - ldr r2, _08143EF0 @ =0x05000001 - mov r0, sp - bl CpuSet - bl sub_8146C88 - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08143EF0: .4byte 0x05000001 - thumb_func_end sub_8143ED0 - - thumb_func_start sub_8143EF4 -sub_8143EF4: @ 8143EF4 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _08143F0C @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08143F10 @ =0x00003124 - adds r4, r0, r1 - bl sub_8143E1C - cmp r0, 0 - bne _08143F14 -_08143F08: - movs r0, 0 - b _08143F2C - .align 2, 0 -_08143F0C: .4byte gSaveBlock1Ptr -_08143F10: .4byte 0x00003124 -_08143F14: - movs r2, 0 - ldr r3, _08143F34 @ =0x000001bb -_08143F18: - adds r0, r4, r2 - adds r1, r5, r2 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bne _08143F08 - adds r2, 0x1 - cmp r2, r3 - bls _08143F18 - movs r0, 0x1 -_08143F2C: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08143F34: .4byte 0x000001bb - thumb_func_end sub_8143EF4 - thumb_func_start sub_8143F38 sub_8143F38: @ 8143F38 push {lr} diff --git a/src/mevent.c b/src/mevent.c index c2a05f3c6..dd2891de0 100644 --- a/src/mevent.c +++ b/src/mevent.c @@ -9,6 +9,8 @@ #include "link.h" #include "link_rfu_4.h" #include "unk_815c27c.h" +#include "util.h" +#include "menews_jisan.h" struct MEvent_Str_1 { @@ -39,6 +41,7 @@ struct MEventTaskData1 }; void sub_8143910(u8 taskId); +bool32 sub_8143E64(const u16 * src); u8 sub_815D6B4(u8 *); bool32 sub_815D794(u8 *); void sub_81422FC(void); @@ -492,3 +495,63 @@ void sub_8143DBC(void) { sub_8143E9C(); } + +bool32 sub_8143DC8(const u16 * src) +{ + if (!sub_8143E64(src)) + return FALSE; + sub_8143E9C(); + memcpy(gSaveBlock1Ptr->unk_3120.buffer_000.data, src, sizeof(gSaveBlock1Ptr->unk_3120.buffer_000.data)); + gSaveBlock1Ptr->unk_3120.buffer_000.crc = CalcCRC16WithTable((void *)gSaveBlock1Ptr->unk_3120.buffer_000.data, sizeof(gSaveBlock1Ptr->unk_3120.buffer_000.data)); + return TRUE; +} + +bool32 sub_8143E1C(void) +{ + if (CalcCRC16WithTable((void *)gSaveBlock1Ptr->unk_3120.buffer_000.data, sizeof(gSaveBlock1Ptr->unk_3120.buffer_000.data)) != gSaveBlock1Ptr->unk_3120.buffer_000.crc) + return FALSE; + if (!sub_8143E64(gSaveBlock1Ptr->unk_3120.buffer_000.data)) + return FALSE; + return TRUE; +} + +bool32 sub_8143E64(const u16 * data) +{ + if (data[0] == 0) + return FALSE; + return TRUE; +} + +bool32 sub_8143E78(void) +{ + u16 * data = gSaveBlock1Ptr->unk_3120.buffer_000.data; + if (*(u8 *)&data[1] == 0) + return FALSE; + return TRUE; +} + +void sub_8143E9C(void) +{ + CpuFill32(0, sub_8143D58(), sizeof(gSaveBlock1Ptr->unk_3120.buffer_000.data)); + gSaveBlock1Ptr->unk_3120.buffer_000.crc = 0; +} + +void sub_8143ED0(void) +{ + CpuFill32(0, sub_8143D94(), sizeof(struct MysteryEventStruct)); + sub_8146C88(); +} + +bool32 sub_8143EF4(const u8 * src) +{ + const u8 * r5 = (const u8 *)gSaveBlock1Ptr->unk_3120.buffer_000.data; + u32 i; + if (!sub_8143E1C()) + return FALSE; + for (i = 0; i < sizeof(gSaveBlock1Ptr->unk_3120.buffer_000.data); i++) + { + if (r5[i] != src[i]) + return FALSE; + } + return TRUE; +} From 159f242e32532f14496abaa8d2f96e9c3d30d720 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 29 Nov 2018 15:33:58 -0500 Subject: [PATCH 168/222] through sub_8144018 --- asm/mevent.s | 145 ----------------------------------------- include/battle_tower.h | 1 + include/event_data.h | 2 + include/global.h | 36 ++++++++-- include/script.h | 1 + src/mevent.c | 101 ++++++++++++++++++++++------ 6 files changed, 116 insertions(+), 170 deletions(-) diff --git a/asm/mevent.s b/asm/mevent.s index 3b5012fa7..42d4f322b 100644 --- a/asm/mevent.s +++ b/asm/mevent.s @@ -5,151 +5,6 @@ .text - thumb_func_start sub_8143F38 -sub_8143F38: @ 8143F38 - push {lr} - bl sub_814407C - bl sub_81440B4 - bl sub_8144790 - bl ClearRamScript - bl sub_806E2D0 - bl sub_806E370 - ldr r0, _08143F64 @ =gSaveBlock2Ptr - ldr r0, [r0] - movs r1, 0x94 - lsls r1, 3 - adds r0, r1 - bl sub_80E7524 - pop {r0} - bx r0 - .align 2, 0 -_08143F64: .4byte gSaveBlock2Ptr - thumb_func_end sub_8143F38 - - thumb_func_start sub_8143F68 -sub_8143F68: @ 8143F68 - push {r4-r7,lr} - adds r7, r0, 0 - bl sub_8144018 - cmp r0, 0 - beq _08143FC0 - bl sub_8143F38 - ldr r4, _08143FB0 @ =gSaveBlock1Ptr - ldr r0, [r4] - ldr r5, _08143FB4 @ =0x000032e4 - adds r0, r5 - movs r6, 0xA6 - lsls r6, 1 - adds r1, r7, 0 - adds r2, r6, 0 - bl memcpy - ldr r0, [r4] - adds r0, r5 - adds r1, r6, 0 - bl CalcCRC16WithTable - ldr r1, [r4] - ldr r3, _08143FB8 @ =0x000032e0 - adds r2, r1, r3 - lsls r0, 16 - lsrs r0, 16 - str r0, [r2] - ldr r0, _08143FBC @ =0x00003434 - adds r2, r1, r0 - adds r1, r5 - ldrh r0, [r1, 0x2] - strh r0, [r2, 0x6] - movs r0, 0x1 - b _08143FC2 - .align 2, 0 -_08143FB0: .4byte gSaveBlock1Ptr -_08143FB4: .4byte 0x000032e4 -_08143FB8: .4byte 0x000032e0 -_08143FBC: .4byte 0x00003434 -_08143FC0: - movs r0, 0 -_08143FC2: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8143F68 - - thumb_func_start sub_8143FC8 -sub_8143FC8: @ 8143FC8 - push {r4,r5,lr} - ldr r5, _08144004 @ =gSaveBlock1Ptr - ldr r0, [r5] - ldr r1, _08144008 @ =0x000032e0 - adds r4, r0, r1 - adds r1, 0x4 - adds r0, r1 - movs r1, 0xA6 - lsls r1, 1 - bl CalcCRC16WithTable - lsls r0, 16 - lsrs r0, 16 - ldr r1, [r4] - cmp r1, r0 - bne _08144010 - ldr r0, [r5] - ldr r1, _0814400C @ =0x000032e4 - adds r0, r1 - bl sub_8144018 - cmp r0, 0 - beq _08144010 - bl sub_8069DFC - cmp r0, 0 - beq _08144010 - movs r0, 0x1 - b _08144012 - .align 2, 0 -_08144004: .4byte gSaveBlock1Ptr -_08144008: .4byte 0x000032e0 -_0814400C: .4byte 0x000032e4 -_08144010: - movs r0, 0 -_08144012: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8143FC8 - - thumb_func_start sub_8144018 -sub_8144018: @ 8144018 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2] - cmp r0, 0 - beq _0814404E - ldrb r1, [r2, 0x8] - lsls r0, r1, 30 - lsrs r0, 30 - cmp r0, 0x2 - bhi _0814404E - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0 - beq _0814403C - cmp r0, 0x40 - beq _0814403C - cmp r0, 0x80 - bne _0814404E -_0814403C: - lsls r0, r1, 26 - lsrs r0, 28 - cmp r0, 0x7 - bhi _0814404E - ldrb r0, [r2, 0x9] - cmp r0, 0x7 - bhi _0814404E - movs r0, 0x1 - b _08144050 -_0814404E: - movs r0, 0 -_08144050: - pop {r1} - bx r1 - thumb_func_end sub_8144018 - thumb_func_start sub_8144054 sub_8144054: @ 8144054 push {lr} diff --git a/include/battle_tower.h b/include/battle_tower.h index 120ab9a99..36d5eb1f7 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -4,5 +4,6 @@ #include "global.h" u16 sub_8164FCC(u8, u8); +void sub_80E7524(u32 *); #endif //GUARD_BATTLE_TOWER_H diff --git a/include/event_data.h b/include/event_data.h index 2e340f073..bced2a88f 100644 --- a/include/event_data.h +++ b/include/event_data.h @@ -34,6 +34,8 @@ bool8 FlagGet(u16 id); u16 * GetVarPointer(u16 id); bool32 sub_806E2BC(void); void sub_806E6FC(void); +void sub_806E2D0(void); +void sub_806E370(void); extern u16 gSpecialVar_0x8000; extern u16 gSpecialVar_0x8001; diff --git a/include/global.h b/include/global.h index 456f2c083..df2926d0b 100644 --- a/include/global.h +++ b/include/global.h @@ -264,7 +264,9 @@ struct SaveBlock2 /*0x098*/ struct Time localTimeOffset; /*0x0A0*/ struct Time lastBerryTreeUpdate; /*0x0A8*/ u32 field_A8; - /*0x0AC*/ u8 filler_AC[0x9ec]; + /*0x0AC*/ u8 filler_AC[0x3F4]; + /*0x4A0*/ u32 unk_4A0[0x2F]; + /*0x55c*/ u8 filler_55C[0x53C]; /*0xA98*/ u8 unk_A98[2][16]; /*0xAB8*/ u8 filler_AB8[0x468]; /*0xF20*/ u32 encryptionKey; @@ -591,22 +593,48 @@ struct FameCheckerSaveData #define NUM_EASY_CHAT_EXTRA_PHRASES 33 #define EASY_CHAT_EXTRA_PHRASES_SIZE ((NUM_EASY_CHAT_EXTRA_PHRASES >> 3) + (NUM_EASY_CHAT_EXTRA_PHRASES % 8 ? 1 : 0)) +struct MEventBuffer_3120_Sub +{ + u16 unk_00; + u8 unk_02; + u16 filler_04[220]; +}; + struct MEventBuffer_3120 { u32 crc; - u16 data[222]; + struct MEventBuffer_3120_Sub data; +}; + +struct MEventBuffer_32E0_Sub +{ + u16 unk_00; + u16 unk_02; + u8 filler_04[4]; + u8 unk_08_0:2; + u8 unk_08_2:4; + u8 unk_08_6:2; + u8 unk_09; + u8 filler_0A[322]; }; struct MEventBuffer_32E0 { u32 crc; - u16 data[166]; + struct MEventBuffer_32E0_Sub data; +}; + +struct MEventBuffer_3430_Sub +{ + u8 filler_00[6]; + u16 unk_06; + u8 filler_08[28]; }; struct MEventBuffer_3430 { u32 crc; - u16 data[18]; + struct MEventBuffer_3430_Sub data; }; struct MEventBuffers diff --git a/include/script.h b/include/script.h index 9e26b8a28..6ed2e8f49 100644 --- a/include/script.h +++ b/include/script.h @@ -62,5 +62,6 @@ u8 *GetRamScript(u8 objectId, u8 *script); bool32 sub_80991F8(void); u8 *sub_8099244(void); void sub_80992A0(u8 *script, u16 scriptSize); +bool32 sub_8069DFC(void); #endif // GUARD_SCRIPT_H diff --git a/src/mevent.c b/src/mevent.c index dd2891de0..74a3d1b5f 100644 --- a/src/mevent.c +++ b/src/mevent.c @@ -10,6 +10,9 @@ #include "link_rfu_4.h" #include "unk_815c27c.h" #include "util.h" +#include "script.h" +#include "event_data.h" +#include "battle_tower.h" #include "menews_jisan.h" struct MEvent_Str_1 @@ -41,13 +44,17 @@ struct MEventTaskData1 }; void sub_8143910(u8 taskId); -bool32 sub_8143E64(const u16 * src); -u8 sub_815D6B4(u8 *); +bool32 sub_8143E64(const struct MEventBuffer_3120_Sub * src); +void sub_8143E9C(void); +void sub_8143ED0(void); +bool32 sub_8144018(const struct MEventBuffer_32E0_Sub * src); bool32 sub_815D794(u8 *); void sub_81422FC(void); void sub_812B484(void); -void sub_8143E9C(void); -void sub_8143ED0(void); +void sub_814407C(void); +void sub_81440B4(void); +void sub_8144790(void); +u8 sub_815D6B4(u8 *); extern const u8 gUnknown_841DE52[]; extern const u8 gUnknown_841DE53[]; @@ -466,19 +473,19 @@ void sub_8143D24(void) sub_80BDE28(); } -u16 * sub_8143D58(void) +struct MEventBuffer_3120_Sub * sub_8143D58(void) { - return gSaveBlock1Ptr->unk_3120.buffer_000.data; + return &gSaveBlock1Ptr->unk_3120.buffer_000.data; } -u16 * sav1_get_mevent_buffer_1(void) +struct MEventBuffer_32E0_Sub * sav1_get_mevent_buffer_1(void) { - return gSaveBlock1Ptr->unk_3120.buffer_1c0.data; + return &gSaveBlock1Ptr->unk_3120.buffer_1c0.data; } -u16 * sav1_get_mevent_buffer_2(void) +struct MEventBuffer_3430_Sub * sav1_get_mevent_buffer_2(void) { - return gSaveBlock1Ptr->unk_3120.buffer_310.data; + return &gSaveBlock1Ptr->unk_3120.buffer_310.data; } struct MysteryEventStruct * sub_8143D94(void) @@ -496,36 +503,36 @@ void sub_8143DBC(void) sub_8143E9C(); } -bool32 sub_8143DC8(const u16 * src) +bool32 sub_8143DC8(const struct MEventBuffer_3120_Sub * src) { if (!sub_8143E64(src)) return FALSE; sub_8143E9C(); - memcpy(gSaveBlock1Ptr->unk_3120.buffer_000.data, src, sizeof(gSaveBlock1Ptr->unk_3120.buffer_000.data)); - gSaveBlock1Ptr->unk_3120.buffer_000.crc = CalcCRC16WithTable((void *)gSaveBlock1Ptr->unk_3120.buffer_000.data, sizeof(gSaveBlock1Ptr->unk_3120.buffer_000.data)); + gSaveBlock1Ptr->unk_3120.buffer_000.data = *src; + gSaveBlock1Ptr->unk_3120.buffer_000.crc = CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_3120.buffer_000.data, sizeof(struct MEventBuffer_3120_Sub)); return TRUE; } bool32 sub_8143E1C(void) { - if (CalcCRC16WithTable((void *)gSaveBlock1Ptr->unk_3120.buffer_000.data, sizeof(gSaveBlock1Ptr->unk_3120.buffer_000.data)) != gSaveBlock1Ptr->unk_3120.buffer_000.crc) + if (CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_3120.buffer_000.data, sizeof(struct MEventBuffer_3120_Sub)) != gSaveBlock1Ptr->unk_3120.buffer_000.crc) return FALSE; - if (!sub_8143E64(gSaveBlock1Ptr->unk_3120.buffer_000.data)) + if (!sub_8143E64(&gSaveBlock1Ptr->unk_3120.buffer_000.data)) return FALSE; return TRUE; } -bool32 sub_8143E64(const u16 * data) +bool32 sub_8143E64(const struct MEventBuffer_3120_Sub * data) { - if (data[0] == 0) + if (data->unk_00 == 0) return FALSE; return TRUE; } bool32 sub_8143E78(void) { - u16 * data = gSaveBlock1Ptr->unk_3120.buffer_000.data; - if (*(u8 *)&data[1] == 0) + const struct MEventBuffer_3120_Sub * data = &gSaveBlock1Ptr->unk_3120.buffer_000.data; + if (data->unk_02 == 0) return FALSE; return TRUE; } @@ -544,14 +551,66 @@ void sub_8143ED0(void) bool32 sub_8143EF4(const u8 * src) { - const u8 * r5 = (const u8 *)gSaveBlock1Ptr->unk_3120.buffer_000.data; + const u8 * r5 = (const u8 *)&gSaveBlock1Ptr->unk_3120.buffer_000.data; u32 i; if (!sub_8143E1C()) return FALSE; - for (i = 0; i < sizeof(gSaveBlock1Ptr->unk_3120.buffer_000.data); i++) + for (i = 0; i < sizeof(struct MEventBuffer_3120_Sub); i++) { if (r5[i] != src[i]) return FALSE; } return TRUE; } + +void sub_8143F38(void) +{ + sub_814407C(); + sub_81440B4(); + sub_8144790(); + ClearRamScript(); + sub_806E2D0(); + sub_806E370(); + sub_80E7524(gSaveBlock2Ptr->unk_4A0); +} + +bool32 sub_8143F68(const struct MEventBuffer_32E0_Sub * data) +{ + struct MEventBuffer_3430_Sub * r2; + struct MEventBuffer_32E0_Sub * r1; + if (!sub_8144018(data)) + return FALSE; + sub_8143F38(); + memcpy(&gSaveBlock1Ptr->unk_3120.buffer_1c0.data, data, sizeof(struct MEventBuffer_32E0_Sub)); + gSaveBlock1Ptr->unk_3120.buffer_1c0.crc = CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_3120.buffer_1c0.data, sizeof(struct MEventBuffer_32E0_Sub)); + r2 = &gSaveBlock1Ptr->unk_3120.buffer_310.data; + r1 = &gSaveBlock1Ptr->unk_3120.buffer_1c0.data; + r2->unk_06 = r1->unk_02; + return TRUE; +} + +bool32 sub_8143FC8(void) +{ + if (gSaveBlock1Ptr->unk_3120.buffer_1c0.crc != CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_3120.buffer_1c0.data, sizeof(struct MEventBuffer_32E0_Sub))) + return FALSE; + if (!sub_8144018(&gSaveBlock1Ptr->unk_3120.buffer_1c0.data)) + return FALSE; + if (!sub_8069DFC()) + return FALSE; + return TRUE; +} + +bool32 sub_8144018(const struct MEventBuffer_32E0_Sub * data) +{ + if (data->unk_00 == 0) + return FALSE; + if (data->unk_08_0 > 2) + return FALSE; + if (!(data->unk_08_6 == 0 || data->unk_08_6 == 1 || data->unk_08_6 == 2)) + return FALSE; + if (data->unk_08_2 > 7) + return FALSE; + if (data->unk_09 > 7) + return FALSE; + return TRUE; +} From 9460cbfe6cfbbd679ea6febf112ba6e46679ac02 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 29 Nov 2018 15:37:39 -0500 Subject: [PATCH 169/222] through sub_814407C --- asm/mevent.s | 52 ---------------------------------------------------- src/mevent.c | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 52 deletions(-) diff --git a/asm/mevent.s b/asm/mevent.s index 42d4f322b..53b7226de 100644 --- a/asm/mevent.s +++ b/asm/mevent.s @@ -5,58 +5,6 @@ .text - thumb_func_start sub_8144054 -sub_8144054: @ 8144054 - push {lr} - ldr r0, _0814406C @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08144070 @ =0x000032e4 - adds r0, r1 - ldrb r1, [r0, 0x8] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0 - beq _08144074 - movs r0, 0x1 - b _08144076 - .align 2, 0 -_0814406C: .4byte gSaveBlock1Ptr -_08144070: .4byte 0x000032e4 -_08144074: - movs r0, 0 -_08144076: - pop {r1} - bx r1 - thumb_func_end sub_8144054 - - thumb_func_start sub_814407C -sub_814407C: @ 814407C - push {r4,r5,lr} - sub sp, 0x4 - movs r5, 0 - str r5, [sp] - ldr r4, _081440A4 @ =gSaveBlock1Ptr - ldr r1, [r4] - ldr r0, _081440A8 @ =0x000032e4 - adds r1, r0 - ldr r2, _081440AC @ =0x05000053 - mov r0, sp - bl CpuSet - ldr r0, [r4] - ldr r1, _081440B0 @ =0x000032e0 - adds r0, r1 - str r5, [r0] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081440A4: .4byte gSaveBlock1Ptr -_081440A8: .4byte 0x000032e4 -_081440AC: .4byte 0x05000053 -_081440B0: .4byte 0x000032e0 - thumb_func_end sub_814407C - thumb_func_start sub_81440B4 sub_81440B4: @ 81440B4 push {r4,lr} diff --git a/src/mevent.c b/src/mevent.c index 74a3d1b5f..f61f7b7a2 100644 --- a/src/mevent.c +++ b/src/mevent.c @@ -614,3 +614,17 @@ bool32 sub_8144018(const struct MEventBuffer_32E0_Sub * data) return FALSE; return TRUE; } + +bool32 sub_8144054(void) +{ + const struct MEventBuffer_32E0_Sub * data = &gSaveBlock1Ptr->unk_3120.buffer_1c0.data; + if (data->unk_08_6 == 0) + return FALSE; + return TRUE; +} + +void sub_814407C(void) +{ + CpuFill32(0, &gSaveBlock1Ptr->unk_3120.buffer_1c0.data, sizeof(struct MEventBuffer_32E0_Sub)); + gSaveBlock1Ptr->unk_3120.buffer_1c0.crc = 0; +} From 51622adaec9fd47a8f1be2b61b1f4521cc9d47da Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 29 Nov 2018 18:15:22 -0500 Subject: [PATCH 170/222] through sub_8144218 --- asm/mevent.s | 245 +---------------------------------------------- include/global.h | 2 +- src/mevent.c | 86 +++++++++++++++++ 3 files changed, 88 insertions(+), 245 deletions(-) diff --git a/asm/mevent.s b/asm/mevent.s index 53b7226de..19c6248ae 100644 --- a/asm/mevent.s +++ b/asm/mevent.s @@ -5,251 +5,8 @@ .text - thumb_func_start sub_81440B4 -sub_81440B4: @ 81440B4 - push {r4,lr} - sub sp, 0x4 - movs r4, 0 - str r4, [sp] - bl sav1_get_mevent_buffer_2 - adds r1, r0, 0 - ldr r2, _081440DC @ =0x05000009 - mov r0, sp - bl CpuSet - ldr r0, _081440E0 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _081440E4 @ =0x00003430 - adds r0, r1 - str r4, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081440DC: .4byte 0x05000009 -_081440E0: .4byte gSaveBlock1Ptr -_081440E4: .4byte 0x00003430 - thumb_func_end sub_81440B4 - - thumb_func_start sub_81440E8 -sub_81440E8: @ 81440E8 - push {lr} - bl sub_8143FC8 - cmp r0, 0 - bne _081440F6 - movs r0, 0 - b _08144100 -_081440F6: - ldr r0, _08144104 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08144108 @ =0x000032e4 - adds r0, r1 - ldrh r0, [r0] -_08144100: - pop {r1} - bx r1 - .align 2, 0 -_08144104: .4byte gSaveBlock1Ptr -_08144108: .4byte 0x000032e4 - thumb_func_end sub_81440E8 - - thumb_func_start sub_814410C -sub_814410C: @ 814410C - push {lr} - adds r2, r0, 0 - ldrb r1, [r2, 0x8] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0x40 - bne _08144120 - movs r0, 0x3F - ands r0, r1 - strb r0, [r2, 0x8] -_08144120: - pop {r0} - bx r0 - thumb_func_end sub_814410C - - thumb_func_start sub_8144124 -sub_8144124: @ 8144124 - push {lr} - lsls r0, 16 - ldr r1, _08144138 @ =0xfc180000 - adds r0, r1 - lsrs r0, 16 - cmp r0, 0x13 - bls _0814413C - movs r0, 0 - b _0814413E - .align 2, 0 -_08144138: .4byte 0xfc180000 -_0814413C: - movs r0, 0x1 -_0814413E: - pop {r1} - bx r1 - thumb_func_end sub_8144124 - - thumb_func_start sub_8144144 -sub_8144144: @ 8144144 - push {r4,lr} - bl sub_81440E8 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl sub_8144124 - cmp r0, 0 - beq _0814417C - ldr r1, _08144174 @ =gUnknown_8466F00 - ldr r2, _08144178 @ =0xfffffc18 - adds r0, r4, r2 - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0814417C - movs r0, 0x1 - b _0814417E - .align 2, 0 -_08144174: .4byte gUnknown_8466F00 -_08144178: .4byte 0xfffffc18 -_0814417C: - movs r0, 0 -_0814417E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8144144 - - thumb_func_start sub_8144184 -sub_8144184: @ 8144184 - push {lr} - movs r3, 0 - cmp r3, r1 - bge _081441A6 - adds r2, r0, 0 - adds r2, 0x8 -_08144190: - ldrh r0, [r2, 0xE] - cmp r0, 0 - beq _0814419E - ldrh r0, [r2] - cmp r0, 0 - beq _0814419E - adds r3, 0x1 -_0814419E: - adds r2, 0x2 - subs r1, 0x1 - cmp r1, 0 - bne _08144190 -_081441A6: - adds r0, r3, 0 - pop {r1} - bx r1 - thumb_func_end sub_8144184 - - thumb_func_start sub_81441AC -sub_81441AC: @ 81441AC - push {r4-r7,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r1, 0 - cmp r1, r2 - bge _081441E6 - ldrh r6, [r4, 0x2] - movs r0, 0x16 - adds r0, r5 - mov r12, r0 -_081441C0: - lsls r3, r1, 1 - mov r7, r12 - ldrh r0, [r7] - cmp r0, r6 - beq _081441D8 - adds r0, r5, 0 - adds r0, 0x8 - adds r0, r3 - ldrh r0, [r0] - ldrh r3, [r4] - cmp r0, r3 - bne _081441DC -_081441D8: - movs r0, 0x1 - b _081441E8 -_081441DC: - movs r7, 0x2 - add r12, r7 - adds r1, 0x1 - cmp r1, r2 - blt _081441C0 -_081441E6: - movs r0, 0 -_081441E8: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81441AC - - thumb_func_start sub_81441F0 -sub_81441F0: @ 81441F0 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x2] - cmp r0, 0 - beq _08144210 - ldrh r1, [r1] - cmp r1, 0 - beq _08144210 - ldr r0, _0814420C @ =0x0000019b - cmp r1, r0 - bhi _08144210 - movs r0, 0x1 - b _08144212 - .align 2, 0 -_0814420C: .4byte 0x0000019b -_08144210: - movs r0, 0 -_08144212: - pop {r1} - bx r1 - thumb_func_end sub_81441F0 - - thumb_func_start sub_8144218 -sub_8144218: @ 8144218 - push {lr} - bl sub_8143FC8 - cmp r0, 0 - beq _0814424C - ldr r0, _08144240 @ =gSaveBlock1Ptr - ldr r3, [r0] - ldr r0, _08144244 @ =0x000032e4 - adds r2, r3, r0 - ldrb r1, [r2, 0x8] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x1 - bne _0814424C - ldr r1, _08144248 @ =0x00003434 - adds r0, r3, r1 - ldrb r1, [r2, 0x9] - bl sub_8144184 - b _0814424E - .align 2, 0 -_08144240: .4byte gSaveBlock1Ptr -_08144244: .4byte 0x000032e4 -_08144248: .4byte 0x00003434 -_0814424C: - movs r0, 0 -_0814424E: - pop {r1} - bx r1 - thumb_func_end sub_8144218 - thumb_func_start sub_8144254 -sub_8144254: @ 8144254 +sub_8144254: @ 8144254sub_81441F0 push {r4-r6,lr} adds r5, r0, 0 ldr r6, _08144280 @ =gSaveBlock1Ptr diff --git a/include/global.h b/include/global.h index df2926d0b..04f89802c 100644 --- a/include/global.h +++ b/include/global.h @@ -628,7 +628,7 @@ struct MEventBuffer_3430_Sub { u8 filler_00[6]; u16 unk_06; - u8 filler_08[28]; + u16 unk_08[2][7]; }; struct MEventBuffer_3430 diff --git a/src/mevent.c b/src/mevent.c index f61f7b7a2..5d45a0243 100644 --- a/src/mevent.c +++ b/src/mevent.c @@ -1,5 +1,6 @@ #include "global.h" #include "constants/songs.h" +#include "constants/species.h" #include "malloc.h" #include "sound.h" #include "easy_chat.h" @@ -72,6 +73,8 @@ extern const u8 gUnknown_841DE9C[]; extern const u8 gUnknownSerialData_Start[]; extern const u8 gUnknownSerialData_End[]; +extern const u16 gUnknown_8466F00[]; + struct MEvent_Str_1 gUnknown_3005ED0; void sub_81435DC(struct MEvent_Str_1 *a0, size_t a1, const void * a2) @@ -628,3 +631,86 @@ void sub_814407C(void) CpuFill32(0, &gSaveBlock1Ptr->unk_3120.buffer_1c0.data, sizeof(struct MEventBuffer_32E0_Sub)); gSaveBlock1Ptr->unk_3120.buffer_1c0.crc = 0; } + +void sub_81440B4(void) +{ + CpuFill32(0, sav1_get_mevent_buffer_2(), 18 * sizeof(u16)); + gSaveBlock1Ptr->unk_3120.buffer_310.crc = 0; +} + +u16 sub_81440E8(void) +{ + if (sub_8143FC8()) + return gSaveBlock1Ptr->unk_3120.buffer_1c0.data.unk_00; + return 0; +} + +void sub_814410C(struct MEventBuffer_32E0_Sub * buffer) +{ + if (buffer->unk_08_6 == 1) + buffer->unk_08_6 = 0; +} + +bool32 sub_8144124(u16 a0) +{ + if (a0 >= 1000 && a0 < 1020) + return TRUE; + return FALSE; +} + +bool32 sub_8144144(void) +{ + u16 value = sub_81440E8(); + if (!sub_8144124(value)) + return FALSE; + if (FlagGet(gUnknown_8466F00[value - 1000]) == TRUE) + return FALSE; + return TRUE; +} + +s32 sub_8144184(const struct MEventBuffer_3430_Sub * data, s32 size) +{ + s32 r3 = 0; + s32 i; + for (i = 0; i < size; i++) + { + if (data->unk_08[1][i] && data->unk_08[0][i]) + r3++; + } + return r3; +} + +bool32 sub_81441AC(const struct MEventBuffer_3430_Sub * data1, const u16 * data2, s32 size) +{ + s32 i; + for (i = 0; i < size; i++) + { + if (data1->unk_08[1][i] == data2[1]) + return TRUE; + if (data1->unk_08[0][i] == data2[0]) + return TRUE; + } + return FALSE; +} + +bool32 sub_81441F0(const u16 * data) +{ + if (data[1] == 0) + return FALSE; + if (data[0] == 0) + return FALSE; + if (data[0] >= NUM_SPECIES) + return FALSE; + return TRUE; +} + +bool32 sub_8144218(void) +{ + struct MEventBuffer_32E0_Sub * data; + if (!sub_8143FC8()) + return FALSE; + data = &gSaveBlock1Ptr->unk_3120.buffer_1c0.data; + if (data->unk_08_0 != 1) + return FALSE; + return sub_8144184(&gSaveBlock1Ptr->unk_3120.buffer_310.data, data->unk_09); +} From d68f434a527d185e2968d8da418fa74110090c79 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 29 Nov 2018 18:48:06 -0500 Subject: [PATCH 171/222] through sub_814449C --- asm/mevent.s | 328 ----------------------------------------------- include/main.h | 3 + include/mevent.h | 18 +++ src/mevent.c | 109 +++++++++++++++- 4 files changed, 127 insertions(+), 331 deletions(-) diff --git a/asm/mevent.s b/asm/mevent.s index 19c6248ae..0e02d5b2b 100644 --- a/asm/mevent.s +++ b/asm/mevent.s @@ -5,334 +5,6 @@ .text - thumb_func_start sub_8144254 -sub_8144254: @ 8144254sub_81441F0 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _08144280 @ =gSaveBlock1Ptr - ldr r0, [r6] - ldr r1, _08144284 @ =0x000032e4 - adds r0, r1 - ldrb r4, [r0, 0x9] - adds r0, r5, 0 - bl sub_81441F0 - cmp r0, 0 - beq _081442BE - ldr r0, [r6] - ldr r1, _08144288 @ =0x00003434 - adds r0, r1 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_81441AC - cmp r0, 0 - beq _08144298 - b _081442BE - .align 2, 0 -_08144280: .4byte gSaveBlock1Ptr -_08144284: .4byte 0x000032e4 -_08144288: .4byte 0x00003434 -_0814428C: - ldrh r0, [r5, 0x2] - strh r0, [r1] - ldrh r0, [r5] - strh r0, [r2] - movs r0, 0x1 - b _081442C0 -_08144298: - movs r3, 0 - cmp r3, r4 - bge _081442BE - ldr r0, [r6] - ldr r6, _081442C8 @ =0x0000343c - adds r2, r0, r6 - adds r6, 0xE - adds r1, r0, r6 -_081442A8: - ldrh r0, [r2, 0xE] - cmp r0, 0 - bne _081442B4 - ldrh r0, [r2] - cmp r0, 0 - beq _0814428C -_081442B4: - adds r2, 0x2 - adds r1, 0x2 - adds r3, 0x1 - cmp r3, r4 - blt _081442A8 -_081442BE: - movs r0, 0 -_081442C0: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_081442C8: .4byte 0x0000343c - thumb_func_end sub_8144254 - - thumb_func_start sub_81442CC -sub_81442CC: @ 81442CC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r4, r0, 0 - movs r0, 0 - str r0, [sp] - ldr r2, _08144328 @ =0x05000019 - mov r0, sp - adds r1, r4, 0 - bl CpuSet - ldr r0, _0814432C @ =0x00000101 - str r0, [r4] - movs r0, 0x1 - strh r0, [r4, 0x4] - str r0, [r4, 0x8] - strh r0, [r4, 0xC] - str r0, [r4, 0x10] - bl sub_8143FC8 - cmp r0, 0 - beq _08144330 - bl sav1_get_mevent_buffer_1 - ldrh r0, [r0] - strh r0, [r4, 0x14] - bl sav1_get_mevent_buffer_2 - adds r1, r4, 0 - adds r1, 0x20 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl sav1_get_mevent_buffer_1 - ldrb r1, [r0, 0x9] - adds r0, r4, 0 - adds r0, 0x44 - strb r1, [r0] - b _08144332 - .align 2, 0 -_08144328: .4byte 0x05000019 -_0814432C: .4byte 0x00000101 -_08144330: - strh r0, [r4, 0x14] -_08144332: - adds r5, r4, 0 - adds r5, 0x4C - ldr r0, _081443BC @ =gSaveBlock2Ptr - mov r8, r0 - adds r6, r4, 0 - adds r6, 0x45 - adds r7, r4, 0 - adds r7, 0x50 - movs r1, 0x5C - adds r1, r4 - mov r9, r1 - movs r2, 0x60 - adds r2, r4 - mov r10, r2 - ldr r0, _081443C0 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r3, _081443C4 @ =0x00003458 - adds r2, r0, r3 - adds r1, r4, 0 - adds r1, 0x16 - movs r3, 0x3 -_0814435C: - ldrh r0, [r2] - strh r0, [r1] - adds r2, 0x2 - adds r1, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _0814435C - mov r0, r8 - ldr r1, [r0] - adds r1, 0xA - adds r0, r5, 0 - bl CopyUnalignedWord - mov r2, r8 - ldr r1, [r2] - adds r0, r6, 0 - bl StringCopy - ldr r0, _081443C0 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r3, _081443C8 @ =0x00002ca0 - adds r2, r0, r3 - adds r1, r7, 0 - movs r3, 0x5 -_0814438C: - ldrh r0, [r2] - strh r0, [r1] - adds r2, 0x2 - adds r1, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _0814438C - ldr r1, _081443CC @ =RomHeaderGameCode - mov r0, r9 - movs r2, 0x4 - bl memcpy - ldr r0, _081443D0 @ =RomHeaderSoftwareVersion - ldrb r0, [r0] - mov r5, r10 - strb r0, [r5] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081443BC: .4byte gSaveBlock2Ptr -_081443C0: .4byte gSaveBlock1Ptr -_081443C4: .4byte 0x00003458 -_081443C8: .4byte 0x00002ca0 -_081443CC: .4byte RomHeaderGameCode -_081443D0: .4byte RomHeaderSoftwareVersion - thumb_func_end sub_81442CC - - thumb_func_start sub_81443D4 -sub_81443D4: @ 81443D4 - push {lr} - adds r2, r0, 0 - ldr r1, [r2] - ldr r0, _0814440C @ =0x00000101 - cmp r1, r0 - bne _08144410 - ldrh r1, [r2, 0x4] - movs r3, 0x1 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _08144410 - ldr r0, [r2, 0x8] - ands r0, r3 - cmp r0, 0 - beq _08144410 - ldrh r1, [r2, 0xC] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _08144410 - ldr r0, [r2, 0x10] - movs r1, 0xF - ands r0, r1 - cmp r0, 0 - beq _08144410 - movs r0, 0x1 - b _08144412 - .align 2, 0 -_0814440C: .4byte 0x00000101 -_08144410: - movs r0, 0 -_08144412: - pop {r1} - bx r1 - thumb_func_end sub_81443D4 - - thumb_func_start sub_8144418 -sub_8144418: @ 8144418 - push {lr} - ldrh r1, [r1, 0x14] - cmp r1, 0 - bne _08144424 - movs r0, 0 - b _08144430 -_08144424: - ldrh r0, [r0] - cmp r0, r1 - beq _0814442E - movs r0, 0x2 - b _08144430 -_0814442E: - movs r0, 0x1 -_08144430: - pop {r1} - bx r1 - thumb_func_end sub_8144418 - - thumb_func_start sub_8144434 -sub_8144434: @ 8144434 - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - adds r5, r4, 0 - adds r5, 0x20 - adds r4, 0x44 - ldrb r1, [r4] - adds r0, r5, 0 - bl sub_8144184 - ldrb r2, [r4] - subs r4, r2, r0 - cmp r4, 0 - bne _08144454 - movs r0, 0x1 - b _0814446E -_08144454: - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_81441AC - cmp r0, 0 - beq _08144464 - movs r0, 0x3 - b _0814446E -_08144464: - cmp r4, 0x1 - beq _0814446C - movs r0, 0x2 - b _0814446E -_0814446C: - movs r0, 0x4 -_0814446E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8144434 - - thumb_func_start sub_8144474 -sub_8144474: @ 8144474 - push {r4,lr} - movs r3, 0 - adds r2, r0, 0 - adds r2, 0x16 -_0814447C: - ldrh r0, [r2] - ldrh r4, [r1] - cmp r0, r4 - beq _08144488 - movs r0, 0 - b _08144494 -_08144488: - adds r1, 0x2 - adds r2, 0x2 - adds r3, 0x1 - cmp r3, 0x3 - ble _0814447C - movs r0, 0x1 -_08144494: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8144474 - - thumb_func_start sub_814449C -sub_814449C: @ 814449C - push {lr} - adds r2, r0, 0 - adds r2, 0x20 - adds r0, 0x44 - ldrb r1, [r0] - adds r0, r2, 0 - bl sub_8144184 - pop {r1} - bx r1 - thumb_func_end sub_814449C - thumb_func_start sub_81444B0 sub_81444B0: @ 81444B0 push {lr} diff --git a/include/main.h b/include/main.h index 0fe138d1f..adbf1fb5d 100644 --- a/include/main.h +++ b/include/main.h @@ -66,4 +66,7 @@ void DoSoftReset(void); void ClearPokemonCrySongs(void); void RestoreSerialTimer3IntrHandlers(void); +extern const char RomHeaderGameCode[4]; +extern const char RomHeaderSoftwareVersion; + #endif // GUARD_MAIN_H diff --git a/include/mevent.h b/include/mevent.h index 7df669da3..ae301263f 100644 --- a/include/mevent.h +++ b/include/mevent.h @@ -3,6 +3,24 @@ #include "global.h" +struct MEventStruct_Unk1442CC +{ + u32 unk_00; + u16 unk_04; + u32 unk_08; + u16 unk_0C; + u32 unk_10; + u16 unk_14; + u16 unk_16[4]; + struct MEventBuffer_3430_Sub unk_20; + u8 unk_44; + u8 unk_45[7]; + u8 unk_4C[4]; + u16 unk_50[6]; + u8 unk_5C[4]; + u8 unk_60; +}; + struct MysteryEventStruct * sub_8143D94(void); bool32 sub_8143E1C(void); diff --git a/src/mevent.c b/src/mevent.c index 5d45a0243..d24219f49 100644 --- a/src/mevent.c +++ b/src/mevent.c @@ -14,7 +14,10 @@ #include "script.h" #include "event_data.h" #include "battle_tower.h" +#include "new_game.h" +#include "string_util.h" #include "menews_jisan.h" +#include "mevent.h" struct MEvent_Str_1 { @@ -704,13 +707,113 @@ bool32 sub_81441F0(const u16 * data) return TRUE; } -bool32 sub_8144218(void) +s32 sub_8144218(void) { struct MEventBuffer_32E0_Sub * data; if (!sub_8143FC8()) - return FALSE; + return 0; data = &gSaveBlock1Ptr->unk_3120.buffer_1c0.data; if (data->unk_08_0 != 1) - return FALSE; + return 0; return sub_8144184(&gSaveBlock1Ptr->unk_3120.buffer_310.data, data->unk_09); } + +bool32 sub_8144254(const u16 * data) +{ + struct MEventBuffer_32E0_Sub * buffer = &gSaveBlock1Ptr->unk_3120.buffer_1c0.data; + s32 size = buffer->unk_09; + s32 i; + if (!sub_81441F0(data)) + return FALSE; + if (sub_81441AC(&gSaveBlock1Ptr->unk_3120.buffer_310.data, data, size)) + return FALSE; + for (i = 0; i < size; i++) + { + if (gSaveBlock1Ptr->unk_3120.buffer_310.data.unk_08[1][i] == 0 && gSaveBlock1Ptr->unk_3120.buffer_310.data.unk_08[0][i] == 0) + { + gSaveBlock1Ptr->unk_3120.buffer_310.data.unk_08[1][i] = data[1]; + gSaveBlock1Ptr->unk_3120.buffer_310.data.unk_08[0][i] = data[0]; + return TRUE; + } + } + return FALSE; +} + +void sub_81442CC(struct MEventStruct_Unk1442CC * data) +{ + s32 i; + CpuFill32(0, data, sizeof(struct MEventStruct_Unk1442CC)); + data->unk_00 = 0x101; + data->unk_04 = 1; + data->unk_08 = 1; + data->unk_0C = 1; + data->unk_10 = 1; + if (sub_8143FC8()) + { + data->unk_14 = sav1_get_mevent_buffer_1()->unk_00; + data->unk_20 = *sav1_get_mevent_buffer_2(); + data->unk_44 = sav1_get_mevent_buffer_1()->unk_09; + } + else + data->unk_14 = 0; + for (i = 0; i < 4; i++) + data->unk_16[i] = gSaveBlock1Ptr->unk_3120.unk_338[i]; + CopyUnalignedWord(data->unk_4C, gSaveBlock2Ptr->playerTrainerId); + StringCopy(data->unk_45, gSaveBlock2Ptr->playerName); + for (i = 0; i < 6; i++) + data->unk_50[i] = gSaveBlock1Ptr->unk2CA0[i]; + memcpy(data->unk_5C, RomHeaderGameCode, 4); + data->unk_60 = RomHeaderSoftwareVersion; +} + +bool32 sub_81443D4(const struct MEventStruct_Unk1442CC * data) +{ + if (data->unk_00 != 0x101) + return FALSE; + if (!(data->unk_04 & 1)) + return FALSE; + if (!(data->unk_08 & 1)) + return FALSE; + if (!(data->unk_0C & 1)) + return FALSE; + if (!(data->unk_10 & 0x0F)) + return FALSE; + return TRUE; +} + +u32 sub_8144418(const u16 * a0, const struct MEventStruct_Unk1442CC * a1) +{ + if (a1->unk_14 == 0) + return 0; + if (*a0 == a1->unk_14) + return 1; + return 2; +} + +u32 sub_8144434(const u16 * a0, const struct MEventStruct_Unk1442CC * a1) +{ + s32 r4 = a1->unk_44 - sub_8144184(&a1->unk_20, a1->unk_44); + if (r4 == 0) + return 1; + if (sub_81441AC(&a1->unk_20, a0, a1->unk_44)) + return 3; + if (r4 == 1) + return 4; + return 2; +} + +bool32 sub_8144474(const struct MEventStruct_Unk1442CC * a0, const u16 * a1) +{ + s32 i; + for (i = 0; i < 4; i++) + { + if (a0->unk_16[i] != a1[i]) + return FALSE; + } + return TRUE; +} + +s32 sub_814449C(const struct MEventStruct_Unk1442CC * a0) +{ + return sub_8144184(&a0->unk_20, a0->unk_44); +} From 939ae833c3364d7ea7543c4db56df5c90b4e9d8d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 29 Nov 2018 19:17:38 -0500 Subject: [PATCH 172/222] through sub_81445C0 --- asm/mevent.s | 259 -------------------------------------------- data/data_845FD54.s | 86 --------------- data/data_8466FB8.s | 76 +++++++++++++ include/global.h | 4 +- ld_script.txt | 2 + src/mevent.c | 135 ++++++++++++++++++++++- 6 files changed, 215 insertions(+), 347 deletions(-) create mode 100644 data/data_8466FB8.s diff --git a/asm/mevent.s b/asm/mevent.s index 0e02d5b2b..819179c2b 100644 --- a/asm/mevent.s +++ b/asm/mevent.s @@ -5,265 +5,6 @@ .text - thumb_func_start sub_81444B0 -sub_81444B0: @ 81444B0 - push {lr} - adds r2, r0, 0 - cmp r1, 0x4 - bhi _081444FC - lsls r0, r1, 2 - ldr r1, _081444C4 @ =_081444C8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081444C4: .4byte _081444C8 - .align 2, 0 -_081444C8: - .4byte _081444DC - .4byte _081444E0 - .4byte _081444E4 - .4byte _081444E8 - .4byte _081444F4 -_081444DC: - ldrh r0, [r2, 0x20] - b _0814450A -_081444E0: - ldrh r0, [r2, 0x22] - b _0814450A -_081444E4: - ldrh r0, [r2, 0x24] - b _0814450A -_081444E8: - adds r0, r2, 0 - bl sub_814449C - lsls r0, 16 - lsrs r0, 16 - b _0814450A -_081444F4: - adds r0, r2, 0 - adds r0, 0x44 - ldrb r0, [r0] - b _0814450A -_081444FC: - ldr r0, _08144510 @ =gUnknown_8466F28 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c" - ldr r1, _08144514 @ =0x00000339 - ldr r2, _08144518 @ =gUnknown_8466F5C "0" - movs r3, 0x1 - bl AGBAssert - movs r0, 0 -_0814450A: - pop {r1} - bx r1 - .align 2, 0 -_08144510: .4byte gUnknown_8466F28 -_08144514: .4byte 0x00000339 -_08144518: .4byte gUnknown_8466F5C - thumb_func_end sub_81444B0 - - thumb_func_start sub_814451C -sub_814451C: @ 814451C - push {r4,lr} - adds r4, r0, 0 - ldr r2, _08144544 @ =gSaveBlock1Ptr - ldr r0, [r2] - ldr r1, _08144548 @ =0x000032e4 - adds r0, r1 - ldrb r1, [r0, 0x8] - movs r0, 0x3 - ands r0, r1 - adds r3, r2, 0 - cmp r0, 0x2 - bne _081445B6 - movs r2, 0 - cmp r4, 0x4 - bhi _08144582 - lsls r0, r4, 2 - ldr r1, _0814454C @ =_08144550 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08144544: .4byte gSaveBlock1Ptr -_08144548: .4byte 0x000032e4 -_0814454C: .4byte _08144550 - .align 2, 0 -_08144550: - .4byte _08144564 - .4byte _08144570 - .4byte _0814457C - .4byte _08144582 - .4byte _08144582 -_08144564: - ldr r0, [r3] - ldr r1, _0814456C @ =0x00003434 - b _08144580 - .align 2, 0 -_0814456C: .4byte 0x00003434 -_08144570: - ldr r0, [r3] - ldr r1, _08144578 @ =0x00003436 - b _08144580 - .align 2, 0 -_08144578: .4byte 0x00003436 -_0814457C: - ldr r0, [r3] - ldr r1, _08144598 @ =0x00003438 -_08144580: - adds r2, r0, r1 -_08144582: - cmp r2, 0 - bne _081445A4 - ldr r0, _0814459C @ =gUnknown_8466F28 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c" - movs r1, 0xD9 - lsls r1, 2 - ldr r2, _081445A0 @ =gUnknown_8466F5C "0" - movs r3, 0x1 - bl AGBAssert - b _081445B6 - .align 2, 0 -_08144598: .4byte 0x00003438 -_0814459C: .4byte gUnknown_8466F28 -_081445A0: .4byte gUnknown_8466F5C -_081445A4: - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - lsls r0, 16 - lsrs r0, 16 - ldr r1, _081445BC @ =0x000003e7 - cmp r0, r1 - bls _081445B6 - strh r1, [r2] -_081445B6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081445BC: .4byte 0x000003e7 - thumb_func_end sub_814451C - - thumb_func_start sub_81445C0 -sub_81445C0: @ 81445C0 - push {lr} - cmp r0, 0x4 - bhi _081446A4 - lsls r0, 2 - ldr r1, _081445D0 @ =_081445D4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081445D0: .4byte _081445D4 - .align 2, 0 -_081445D4: - .4byte _081445E8 - .4byte _08144610 - .4byte _08144638 - .4byte _08144660 - .4byte _08144684 -_081445E8: - ldr r0, _08144604 @ =gSaveBlock1Ptr - ldr r2, [r0] - ldr r1, _08144608 @ =0x000032e4 - adds r0, r2, r1 - ldrb r1, [r0, 0x8] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x2 - bne _081446A4 - ldr r1, _0814460C @ =0x00003434 - adds r0, r2, r1 - ldrh r0, [r0] - b _081446B2 - .align 2, 0 -_08144604: .4byte gSaveBlock1Ptr -_08144608: .4byte 0x000032e4 -_0814460C: .4byte 0x00003434 -_08144610: - ldr r0, _0814462C @ =gSaveBlock1Ptr - ldr r2, [r0] - ldr r1, _08144630 @ =0x000032e4 - adds r0, r2, r1 - ldrb r1, [r0, 0x8] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x2 - bne _081446A4 - ldr r1, _08144634 @ =0x00003434 - adds r0, r2, r1 - ldrh r0, [r0, 0x2] - b _081446B2 - .align 2, 0 -_0814462C: .4byte gSaveBlock1Ptr -_08144630: .4byte 0x000032e4 -_08144634: .4byte 0x00003434 -_08144638: - ldr r0, _08144654 @ =gSaveBlock1Ptr - ldr r2, [r0] - ldr r1, _08144658 @ =0x000032e4 - adds r0, r2, r1 - ldrb r1, [r0, 0x8] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x2 - bne _081446A4 - ldr r1, _0814465C @ =0x00003434 - adds r0, r2, r1 - ldrh r0, [r0, 0x4] - b _081446B2 - .align 2, 0 -_08144654: .4byte gSaveBlock1Ptr -_08144658: .4byte 0x000032e4 -_0814465C: .4byte 0x00003434 -_08144660: - ldr r0, _0814467C @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08144680 @ =0x000032e4 - adds r0, r1 - ldrb r1, [r0, 0x8] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x1 - bne _081446A4 - bl sub_8144218 - lsls r0, 16 - lsrs r0, 16 - b _081446B2 - .align 2, 0 -_0814467C: .4byte gSaveBlock1Ptr -_08144680: .4byte 0x000032e4 -_08144684: - ldr r0, _0814469C @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _081446A0 @ =0x000032e4 - adds r2, r0, r1 - ldrb r1, [r2, 0x8] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x1 - bne _081446A4 - ldrb r0, [r2, 0x9] - b _081446B2 - .align 2, 0 -_0814469C: .4byte gSaveBlock1Ptr -_081446A0: .4byte 0x000032e4 -_081446A4: - ldr r0, _081446B8 @ =gUnknown_8466F28 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c" - ldr r1, _081446BC @ =0x00000391 - ldr r2, _081446C0 @ =gUnknown_8466F5C "0" - movs r3, 0x1 - bl AGBAssert - movs r0, 0 -_081446B2: - pop {r1} - bx r1 - .align 2, 0 -_081446B8: .4byte gUnknown_8466F28 -_081446BC: .4byte 0x00000391 -_081446C0: .4byte gUnknown_8466F5C - thumb_func_end sub_81445C0 - thumb_func_start sub_81446C4 sub_81446C4: @ 81446C4 ldr r1, _081446CC @ =gUnknown_203F3BC diff --git a/data/data_845FD54.s b/data/data_845FD54.s index d2b52192d..d05e14570 100644 --- a/data/data_845FD54.s +++ b/data/data_845FD54.s @@ -598,89 +598,3 @@ gUnknown_8466EE8:: @ 8466EE8 gUnknown_8466EF0:: @ 8466EF0 .incbin "baserom.gba", 0x466EF0, 0x10 - -gUnknown_8466F00:: @ 8466F00 - .incbin "baserom.gba", 0x466F00, 0x28 - - .align 2 -gUnknown_8466F28:: @ 8466F28 - .asciz "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c" - - .align 2 -gUnknown_8466F5C:: @ 8466F5C - .asciz "0" - - .align 2 -gUnknown_8466F60:: @ 8466F60 - .incbin "baserom.gba", 0x466F60, 0x20 - - .align 2 -gUnknown_8466F80:: @ 8466F80 - .asciz "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - - .align 2 -gUnknown_8466FB8:: @ 8466FB8 - .asciz "size <= ME_SEND_BUF_SIZE" - - .align 2 -gUnknown_8466FD4:: @ 8466FD4 - .asciz "cmd->parameter == NULL" - - .align 2 -gUnknown_8466FEC:: @ 8466FEC - .asciz "cmd->flag == FALSE" - - .align 2 -gUnknown_8467000:: @ 8467000 - .asciz "cmd->flag == FALSE && cmd->parameter == NULL" - - .align 2 -gUnknown_8467030:: @ 8467030 - .incbin "baserom.gba", 0x467030, 0x14 - - .align 2 -gUnknown_8467044:: @ 8467044 - .asciz "svr->mainseqno < NELEMS(func_tbl)" - - .align 2 -gUnknown_8467068:: @ 8467068 - .incbin "baserom.gba", 0x467068, 0x8 - -gUnknown_8467070:: @ 8467070 - .incbin "baserom.gba", 0x467070, 0x4 - -gUnknown_8467074:: @ 8467074 - .incbin "baserom.gba", 0x467074, 0xEE4 - -gUnknown_8467F58:: @ 8467F58 - .incbin "baserom.gba", 0x467F58, 0x8 - -gUnknown_8467F60:: @ 8467F60 - .incbin "baserom.gba", 0x467F60, 0x40 - -gUnknown_8467FA0:: @ 8467FA0 - .incbin "baserom.gba", 0x467FA0, 0x18 - -gUnknown_8467FB8:: @ 8467FB8 - .incbin "baserom.gba", 0x467FB8, 0x80 - -gUnknown_8468038:: @ 8468038 - .incbin "baserom.gba", 0x468038, 0x8 - -gUnknown_8468040:: @ 8468040 - .incbin "baserom.gba", 0x468040, 0x10 - -gUnknown_8468050:: @ 8468050 - .incbin "baserom.gba", 0x468050, 0x6D0 - -gUnknown_8468720:: @ 8468720 - .incbin "baserom.gba", 0x468720, 0xC0 - -gUnknown_84687E0:: @ 84687E0 - .incbin "baserom.gba", 0x4687E0, 0x38C - -gUnknown_8468B6C:: @ 8468B6C - .incbin "baserom.gba", 0x468B6C, 0x60 - -gUnknown_8468BCC:: @ 8468BCC - .incbin "baserom.gba", 0x468BCC, 0x90 diff --git a/data/data_8466FB8.s b/data/data_8466FB8.s new file mode 100644 index 000000000..3f4fd49cd --- /dev/null +++ b/data/data_8466FB8.s @@ -0,0 +1,76 @@ + .section .rodata + + .align 2 +gUnknown_8466F60:: @ 8466F60 + .incbin "baserom.gba", 0x466F60, 0x20 + + .align 2 +gUnknown_8466F80:: @ 8466F80 + .asciz "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" + + .align 2 +gUnknown_8466FB8:: @ 8466FB8 + .asciz "size <= ME_SEND_BUF_SIZE" + + .align 2 +gUnknown_8466FD4:: @ 8466FD4 + .asciz "cmd->parameter == NULL" + + .align 2 +gUnknown_8466FEC:: @ 8466FEC + .asciz "cmd->flag == FALSE" + + .align 2 +gUnknown_8467000:: @ 8467000 + .asciz "cmd->flag == FALSE && cmd->parameter == NULL" + + .align 2 +gUnknown_8467030:: @ 8467030 + .incbin "baserom.gba", 0x467030, 0x14 + + .align 2 +gUnknown_8467044:: @ 8467044 + .asciz "svr->mainseqno < NELEMS(func_tbl)" + + .align 2 +gUnknown_8467068:: @ 8467068 + .incbin "baserom.gba", 0x467068, 0x8 + +gUnknown_8467070:: @ 8467070 + .incbin "baserom.gba", 0x467070, 0x4 + +gUnknown_8467074:: @ 8467074 + .incbin "baserom.gba", 0x467074, 0xEE4 + +gUnknown_8467F58:: @ 8467F58 + .incbin "baserom.gba", 0x467F58, 0x8 + +gUnknown_8467F60:: @ 8467F60 + .incbin "baserom.gba", 0x467F60, 0x40 + +gUnknown_8467FA0:: @ 8467FA0 + .incbin "baserom.gba", 0x467FA0, 0x18 + +gUnknown_8467FB8:: @ 8467FB8 + .incbin "baserom.gba", 0x467FB8, 0x80 + +gUnknown_8468038:: @ 8468038 + .incbin "baserom.gba", 0x468038, 0x8 + +gUnknown_8468040:: @ 8468040 + .incbin "baserom.gba", 0x468040, 0x10 + +gUnknown_8468050:: @ 8468050 + .incbin "baserom.gba", 0x468050, 0x6D0 + +gUnknown_8468720:: @ 8468720 + .incbin "baserom.gba", 0x468720, 0xC0 + +gUnknown_84687E0:: @ 84687E0 + .incbin "baserom.gba", 0x4687E0, 0x38C + +gUnknown_8468B6C:: @ 8468B6C + .incbin "baserom.gba", 0x468B6C, 0x60 + +gUnknown_8468BCC:: @ 8468BCC + .incbin "baserom.gba", 0x468BCC, 0x90 diff --git a/include/global.h b/include/global.h index 04f89802c..92e6b7da1 100644 --- a/include/global.h +++ b/include/global.h @@ -626,7 +626,9 @@ struct MEventBuffer_32E0 struct MEventBuffer_3430_Sub { - u8 filler_00[6]; + u16 unk_00; + u16 unk_02; + u16 unk_04; u16 unk_06; u16 unk_08[2][7]; }; diff --git a/ld_script.txt b/ld_script.txt index bef37772a..91bd070af 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -379,6 +379,8 @@ SECTIONS { data/data_83FECCC.o(.rodata.8456C74); src/fame_checker.o(.rodata); data/data_845FD54.o(.rodata); + src/mevent.o(.rodata); + data/data_8466FB8.o(.rodata); src/menews_jisan.o(.rodata); src/menews_jisan.o(.rodata.str1.4); data/data_8468C98.o(.rodata); diff --git a/src/mevent.c b/src/mevent.c index d24219f49..bf2d2c1a5 100644 --- a/src/mevent.c +++ b/src/mevent.c @@ -76,7 +76,28 @@ extern const u8 gUnknown_841DE9C[]; extern const u8 gUnknownSerialData_Start[]; extern const u8 gUnknownSerialData_End[]; -extern const u16 gUnknown_8466F00[]; +const u16 gUnknown_8466F00[] = { + 0x02a7, + 0x02a8, + 0x02a9, + 0x02aa, + 0x02ab, + 0x02ac, + 0x02ad, + 0x02ae, + 0x02af, + 0x02b0, + 0x02b1, + 0x02b2, + 0x02b3, + 0x02b4, + 0x02b5, + 0x02b6, + 0x02b7, + 0x02b8, + 0x02b9, + 0x02ba +}; struct MEvent_Str_1 gUnknown_3005ED0; @@ -817,3 +838,115 @@ s32 sub_814449C(const struct MEventStruct_Unk1442CC * a0) { return sub_8144184(&a0->unk_20, a0->unk_44); } + +//TODO: Remove these later +const char ALIGNED(4) gUnknown_8466F28[] = "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c"; +const char ALIGNED(4) gUnknown_8466F5C[] = "0"; + +u16 sub_81444B0(const struct MEventStruct_Unk1442CC * a0, u32 command) +{ + switch (command) + { + case 0: + return a0->unk_20.unk_00; + case 1: + return a0->unk_20.unk_02; + case 2: + return a0->unk_20.unk_04; + case 3: + return sub_814449C(a0); + case 4: + return a0->unk_44; + default: + AGBAssert(gUnknown_8466F28, 825, gUnknown_8466F5C, 1); + // AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c", 825); + return 0; + } +} + +void sub_814451C(u32 command) +{ + struct MEventBuffer_32E0_Sub * data = &gSaveBlock1Ptr->unk_3120.buffer_1c0.data; + if (data->unk_08_0 == 2) + { + u16 * dest = NULL; + switch (command) + { + case 0: + dest = &gSaveBlock1Ptr->unk_3120.buffer_310.data.unk_00; + break; + case 1: + dest = &gSaveBlock1Ptr->unk_3120.buffer_310.data.unk_02; + break; + case 2: + dest = &gSaveBlock1Ptr->unk_3120.buffer_310.data.unk_04; + break; + case 3: + break; + case 4: + break; + } + if (dest == NULL) + { + AGBAssert(gUnknown_8466F28, 868, gUnknown_8466F5C, 1); + // AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c", 868); + } + else if (++(*dest) > 999) + { + *dest = 999; + } + } +} + +u16 sub_81445C0(u32 command) +{ + switch (command) + { + case 0: + { + struct MEventBuffer_32E0_Sub * data = &gSaveBlock1Ptr->unk_3120.buffer_1c0.data; + if (data->unk_08_0 == 2) + { + struct MEventBuffer_3430_Sub * buffer = &gSaveBlock1Ptr->unk_3120.buffer_310.data; + return buffer->unk_00; + } + break; + } + case 1: + { + struct MEventBuffer_32E0_Sub * data = &gSaveBlock1Ptr->unk_3120.buffer_1c0.data; + if (data->unk_08_0 == 2) + { + struct MEventBuffer_3430_Sub * buffer = &gSaveBlock1Ptr->unk_3120.buffer_310.data; + return buffer->unk_02; + } + break; + } + case 2: + { + struct MEventBuffer_32E0_Sub * data = &gSaveBlock1Ptr->unk_3120.buffer_1c0.data; + if (data->unk_08_0 == 2) + { + struct MEventBuffer_3430_Sub * buffer = &gSaveBlock1Ptr->unk_3120.buffer_310.data; + return buffer->unk_04; + } + break; + } + case 3: + { + struct MEventBuffer_32E0_Sub * data = &gSaveBlock1Ptr->unk_3120.buffer_1c0.data; + if (data->unk_08_0 == 1) + return sub_8144218(); + break; + } + case 4: + { + struct MEventBuffer_32E0_Sub * data = &gSaveBlock1Ptr->unk_3120.buffer_1c0.data; + if (data->unk_08_0 == 1) + return data->unk_09; + break; + } + } + AGBAssert(gUnknown_8466F28, 913, gUnknown_8466F5C, 1); + return 0; +} From 9200df7516151a84d0fcdda84259179eafafcabb Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 29 Nov 2018 20:56:53 -0500 Subject: [PATCH 173/222] Finish decomp of mevent.s --- asm/mevent.s | 219 ----------------------------------------------- include/global.h | 2 +- ld_script.txt | 1 - src/mevent.c | 95 ++++++++++++++++++-- 4 files changed, 87 insertions(+), 230 deletions(-) delete mode 100644 asm/mevent.s diff --git a/asm/mevent.s b/asm/mevent.s deleted file mode 100644 index 819179c2b..000000000 --- a/asm/mevent.s +++ /dev/null @@ -1,219 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81446C4 -sub_81446C4: @ 81446C4 - ldr r1, _081446CC @ =gUnknown_203F3BC - movs r0, 0 - str r0, [r1] - bx lr - .align 2, 0 -_081446CC: .4byte gUnknown_203F3BC - thumb_func_end sub_81446C4 - - thumb_func_start sub_81446D0 -sub_81446D0: @ 81446D0 - push {r4,r5,lr} - lsls r0, 16 - lsrs r0, 16 - adds r4, r0, 0 - ldr r5, _08144700 @ =gUnknown_203F3BC - movs r0, 0 - str r0, [r5] - cmp r4, 0 - beq _0814470E - bl sub_8143FC8 - cmp r0, 0 - beq _0814470C - ldr r0, _08144704 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08144708 @ =0x000032e4 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r4 - bne _0814470C - movs r0, 0x1 - str r0, [r5] - b _0814470E - .align 2, 0 -_08144700: .4byte gUnknown_203F3BC -_08144704: .4byte gSaveBlock1Ptr -_08144708: .4byte 0x000032e4 -_0814470C: - movs r0, 0 -_0814470E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81446D0 - - thumb_func_start sub_8144714 -sub_8144714: @ 8144714 - push {lr} - adds r2, r0, 0 - ldr r0, _08144738 @ =gUnknown_203F3BC - ldr r0, [r0] - cmp r0, 0 - beq _08144782 - cmp r2, 0x1 - beq _08144758 - cmp r2, 0x1 - bcc _08144744 - cmp r2, 0x2 - bne _08144774 - ldr r0, _0814473C @ =gSaveBlock1Ptr - ldr r2, [r0] - ldr r0, _08144740 @ =0x00003478 - adds r2, r0 - movs r0, 0x2 - b _08144762 - .align 2, 0 -_08144738: .4byte gUnknown_203F3BC -_0814473C: .4byte gSaveBlock1Ptr -_08144740: .4byte 0x00003478 -_08144744: - ldr r0, _08144750 @ =gSaveBlock1Ptr - ldr r2, [r0] - ldr r0, _08144754 @ =0x00003464 - adds r2, r0 - movs r0, 0 - b _08144762 - .align 2, 0 -_08144750: .4byte gSaveBlock1Ptr -_08144754: .4byte 0x00003464 -_08144758: - ldr r0, _0814476C @ =gSaveBlock1Ptr - ldr r2, [r0] - ldr r0, _08144770 @ =0x00003464 - adds r2, r0 - movs r0, 0x1 -_08144762: - movs r3, 0x5 - bl sub_8144824 - b _08144782 - .align 2, 0 -_0814476C: .4byte gSaveBlock1Ptr -_08144770: .4byte 0x00003464 -_08144774: - ldr r0, _08144788 @ =gUnknown_8466F28 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c" - movs r1, 0xF7 - lsls r1, 2 - ldr r2, _0814478C @ =gUnknown_8466F5C "0" - movs r3, 0x1 - bl AGBAssert -_08144782: - pop {r0} - bx r0 - .align 2, 0 -_08144788: .4byte gUnknown_8466F28 -_0814478C: .4byte gUnknown_8466F5C - thumb_func_end sub_8144714 - - thumb_func_start sub_8144790 -sub_8144790: @ 8144790 - push {lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r0, _081447B0 @ =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, _081447B4 @ =0x00003464 - adds r1, r0 - ldr r2, _081447B8 @ =0x0500000a - mov r0, sp - bl CpuSet - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_081447B0: .4byte gSaveBlock1Ptr -_081447B4: .4byte 0x00003464 -_081447B8: .4byte 0x0500000a - thumb_func_end sub_8144790 - - thumb_func_start sub_81447BC -sub_81447BC: @ 81447BC - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r1, 0 - cmp r1, r2 - bge _081447DE - ldr r0, [r4] - cmp r0, r5 - beq _081447DE - adds r3, r4, 0 -_081447D0: - adds r3, 0x4 - adds r1, 0x1 - cmp r1, r2 - bge _081447DE - ldr r0, [r3] - cmp r0, r5 - bne _081447D0 -_081447DE: - cmp r1, r2 - bne _08144800 - subs r3, r1, 0x1 - cmp r3, 0 - ble _081447FA - lsls r0, r3, 2 - subs r0, 0x4 - adds r2, r0, r4 -_081447EE: - ldr r0, [r2] - str r0, [r2, 0x4] - subs r2, 0x4 - subs r3, 0x1 - cmp r3, 0 - bgt _081447EE -_081447FA: - str r5, [r4] - movs r0, 0x1 - b _0814481C -_08144800: - adds r3, r1, 0 - cmp r3, 0 - ble _08144818 - lsls r0, r3, 2 - subs r0, 0x4 - adds r2, r0, r4 -_0814480C: - ldr r0, [r2] - str r0, [r2, 0x4] - subs r2, 0x4 - subs r3, 0x1 - cmp r3, 0 - bgt _0814480C -_08144818: - str r5, [r4] - movs r0, 0 -_0814481C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81447BC - - thumb_func_start sub_8144824 -sub_8144824: @ 8144824 - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - adds r1, r2, 0 - adds r2, r3, 0 - bl sub_81447BC - cmp r0, 0 - beq _0814483C - adds r0, r4, 0 - bl sub_814451C -_0814483C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8144824 - - .align 2, 0 @ Don't pad with nop. diff --git a/include/global.h b/include/global.h index 92e6b7da1..b1c6adcf3 100644 --- a/include/global.h +++ b/include/global.h @@ -646,7 +646,7 @@ struct MEventBuffers /*0x310 0x3430*/ struct MEventBuffer_3430 buffer_310; /*0x338 0x3458*/ u16 unk_338[4]; /*0x340 0x3460*/ struct MysteryEventStruct unk_340; - /*0x344 0x3464*/ u8 filler_344[0x28]; + /*0x344 0x3464*/ u32 unk_344[2][5]; }; // 0x36C 0x348C struct SaveBlock1 diff --git a/ld_script.txt b/ld_script.txt index 91bd070af..237166975 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -244,7 +244,6 @@ SECTIONS { asm/mystery_gift_menu.o(.text); asm/link_rfu_4.o(.text); src/mevent.o(.text); - asm/mevent.o(.text); asm/mevent_server.o(.text); asm/mevent_8145654.o(.text); src/menews_jisan.o(.text); diff --git a/src/mevent.c b/src/mevent.c index bf2d2c1a5..a65433999 100644 --- a/src/mevent.c +++ b/src/mevent.c @@ -57,6 +57,7 @@ void sub_81422FC(void); void sub_812B484(void); void sub_814407C(void); void sub_81440B4(void); +void sub_8144824(u32, u32, u32 *, s32); void sub_8144790(void); u8 sub_815D6B4(u8 *); @@ -101,6 +102,8 @@ const u16 gUnknown_8466F00[] = { struct MEvent_Str_1 gUnknown_3005ED0; +bool32 gUnknown_203F3BC = FALSE; + void sub_81435DC(struct MEvent_Str_1 *a0, size_t a1, const void * a2) { vu16 imeBak = REG_IME; @@ -839,10 +842,6 @@ s32 sub_814449C(const struct MEventStruct_Unk1442CC * a0) return sub_8144184(&a0->unk_20, a0->unk_44); } -//TODO: Remove these later -const char ALIGNED(4) gUnknown_8466F28[] = "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c"; -const char ALIGNED(4) gUnknown_8466F5C[] = "0"; - u16 sub_81444B0(const struct MEventStruct_Unk1442CC * a0, u32 command) { switch (command) @@ -858,8 +857,7 @@ u16 sub_81444B0(const struct MEventStruct_Unk1442CC * a0, u32 command) case 4: return a0->unk_44; default: - AGBAssert(gUnknown_8466F28, 825, gUnknown_8466F5C, 1); - // AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c", 825); + AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c", 825); return 0; } } @@ -888,8 +886,7 @@ void sub_814451C(u32 command) } if (dest == NULL) { - AGBAssert(gUnknown_8466F28, 868, gUnknown_8466F5C, 1); - // AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c", 868); + AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c", 868); } else if (++(*dest) > 999) { @@ -947,6 +944,86 @@ u16 sub_81445C0(u32 command) break; } } - AGBAssert(gUnknown_8466F28, 913, gUnknown_8466F5C, 1); + AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c", 913); return 0; } + +void sub_81446C4(void) +{ + gUnknown_203F3BC = FALSE; +} + +bool32 sub_81446D0(u16 a0) +{ + gUnknown_203F3BC = FALSE; + if (a0 == 0) + return FALSE; + if (!sub_8143FC8()) + return FALSE; + if (gSaveBlock1Ptr->unk_3120.buffer_1c0.data.unk_00 != a0) + return FALSE; + gUnknown_203F3BC = TRUE; + return TRUE; +} + +void sub_8144714(u32 a0, u32 a1) +{ + if (gUnknown_203F3BC) + { + switch (a0) + { + case 2: + sub_8144824(2, a1, gSaveBlock1Ptr->unk_3120.unk_344[1], 5); + break; + case 0: + sub_8144824(0, a1, gSaveBlock1Ptr->unk_3120.unk_344[0], 5); + break; + case 1: + sub_8144824(1, a1, gSaveBlock1Ptr->unk_3120.unk_344[0], 5); + break; + default: + AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c", 988); + } + } +} + +void sub_8144790(void) +{ + CpuFill32(0, gSaveBlock1Ptr->unk_3120.unk_344, sizeof(gSaveBlock1Ptr->unk_3120.unk_344)); +} + +bool32 sub_81447BC(u32 a0, u32 * a1, s32 size) +{ + s32 i; + s32 j; + + for (i = 0; i < size; i++) + { + if (a1[i] == a0) + break; + } + if (i == size) + { + for (j = size - 1; j > 0; j--) + { + a1[j] = a1[j - 1]; + } + a1[0] = a0; + return TRUE; + } + else + { + for (j = i; j > 0; j--) + { + a1[j] = a1[j - 1]; + } + a1[0] = a0; + return FALSE; + } +} + +void sub_8144824(u32 a0, u32 a1, u32 * a2, s32 a3) +{ + if (sub_81447BC(a1, a2, a3)) + sub_814451C(a0); +} From 5e98e6b8df930bb386acc5ce21940a122fd497ce Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 29 Nov 2018 21:02:08 -0500 Subject: [PATCH 174/222] Fix this field's name to be consistent with offset --- include/global.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/global.h b/include/global.h index b1c6adcf3..1dae2f75f 100644 --- a/include/global.h +++ b/include/global.h @@ -697,7 +697,7 @@ struct SaveBlock1 /*0x30D0*/ struct Roamer roamer; /*0x30EC*/ struct EnigmaBerry enigmaBerry; /*0x3120*/ struct MEventBuffers unk_3120; - /*0x348C*/ u8 filler_3464[0x190]; + /*0x348C*/ u8 filler_348C[0x190]; /*0x361C*/ struct RamScript ramScript; /*0x3A08*/ u8 filler3A08[12]; /*0x3A14*/ u8 seen2[DEX_FLAGS_NO]; From 294b150d70385a117e1324fd1e13bab25bfaabc9 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 30 Nov 2018 08:47:58 -0500 Subject: [PATCH 175/222] Set up to decomp mevent_server --- data/data_8466FB8.s | 15 +++++++++++++-- include/global.h | 2 ++ include/mevent.h | 12 ++++++++++++ ld_script.txt | 2 ++ src/mevent.c | 12 ------------ src/mevent_server.c | 2 ++ 6 files changed, 31 insertions(+), 14 deletions(-) create mode 100644 src/mevent_server.c diff --git a/data/data_8466FB8.s b/data/data_8466FB8.s index 3f4fd49cd..21ee2e1df 100644 --- a/data/data_8466FB8.s +++ b/data/data_8466FB8.s @@ -2,7 +2,14 @@ .align 2 gUnknown_8466F60:: @ 8466F60 - .incbin "baserom.gba", 0x466F60, 0x20 + .4byte sub_8144C34 + .4byte sub_8144C5C + .4byte sub_8144C60 + .4byte sub_8144C80 + .4byte sub_8144CA0 + .4byte sub_8144E6C + .4byte sub_8144E84 + .4byte sub_8144EBC .align 2 gUnknown_8466F80:: @ 8466F80 @@ -26,7 +33,11 @@ gUnknown_8467000:: @ 8467000 .align 2 gUnknown_8467030:: @ 8467030 - .incbin "baserom.gba", 0x467030, 0x14 + .4byte sub_8145080 + .4byte sub_8145088 + .4byte sub_814508C + .4byte sub_81450A8 + .4byte sub_81450C4 .align 2 gUnknown_8467044:: @ 8467044 diff --git a/include/global.h b/include/global.h index 1dae2f75f..5b07796cc 100644 --- a/include/global.h +++ b/include/global.h @@ -28,6 +28,8 @@ #endif // __APPLE__ #define ARRAY_COUNT(array) (sizeof(array) / sizeof((array)[0])) +// GF's lingo +#define NELEMS ARRAY_COUNT // useful math macros diff --git a/include/mevent.h b/include/mevent.h index ae301263f..31e1041fe 100644 --- a/include/mevent.h +++ b/include/mevent.h @@ -21,6 +21,18 @@ struct MEventStruct_Unk1442CC u8 unk_60; }; +struct MEvent_Str_1 +{ + u16 unk_000; + size_t unk_004; + const void * unk_008; +}; + +struct MEvent_Str_2 +{ + u8 fill_00[0x40]; +}; + struct MysteryEventStruct * sub_8143D94(void); bool32 sub_8143E1C(void); diff --git a/ld_script.txt b/ld_script.txt index 237166975..88ad583b6 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -244,6 +244,7 @@ SECTIONS { asm/mystery_gift_menu.o(.text); asm/link_rfu_4.o(.text); src/mevent.o(.text); + src/mevent_server.o(.text); asm/mevent_server.o(.text); asm/mevent_8145654.o(.text); src/menews_jisan.o(.text); @@ -379,6 +380,7 @@ SECTIONS { src/fame_checker.o(.rodata); data/data_845FD54.o(.rodata); src/mevent.o(.rodata); + src/mevent_server.o(.rodata); data/data_8466FB8.o(.rodata); src/menews_jisan.o(.rodata); src/menews_jisan.o(.rodata.str1.4); diff --git a/src/mevent.c b/src/mevent.c index a65433999..c81712de6 100644 --- a/src/mevent.c +++ b/src/mevent.c @@ -19,18 +19,6 @@ #include "menews_jisan.h" #include "mevent.h" -struct MEvent_Str_1 -{ - u16 unk_000; - size_t unk_004; - const void * unk_008; -}; - -struct MEvent_Str_2 -{ - u8 fill_00[0x40]; -}; - struct MEventTaskData1 { u16 t00; diff --git a/src/mevent_server.c b/src/mevent_server.c new file mode 100644 index 000000000..529b4ba77 --- /dev/null +++ b/src/mevent_server.c @@ -0,0 +1,2 @@ +#include "global.h" +#include "mevent.h" From 80dbdacaced2e4522f29e6974474103926461161 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 30 Nov 2018 10:27:25 -0500 Subject: [PATCH 176/222] through sub_814490C --- asm/battle_2.s | 48 ++++---- asm/battle_controllers.s | 8 +- asm/cable_club.s | 92 +++++++-------- asm/link.s | 114 +++++++++---------- asm/link_rfu_2.s | 42 +++---- asm/link_rfu_3.s | 62 +++++----- asm/mevent_server.s | 237 --------------------------------------- asm/trade.s | 66 +++++------ asm/union_room_chat.s | 8 +- asm/unk_814BB4C.s | 16 +-- asm/unk_81507FC.s | 16 +-- include/link.h | 2 +- include/link_rfu.h | 8 ++ include/link_rfu_4.h | 7 -- include/mevent_server.h | 4 + src/mevent.c | 4 +- src/mevent_server.c | 178 +++++++++++++++++++++++++++++ sym_ewram.txt | 41 ++++--- 18 files changed, 453 insertions(+), 500 deletions(-) create mode 100644 include/link_rfu.h delete mode 100644 include/link_rfu_4.h create mode 100644 include/mevent_server.h diff --git a/asm/battle_2.s b/asm/battle_2.s index eba29102c..011bb6d56 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -638,7 +638,7 @@ _080102C0: mov r8, r4 _080102D8: lsls r0, r5, 8 - ldr r1, _08010348 @ =gUnknown_202211C + ldr r1, _08010348 @ =gBlockRecvBuffer + 4 adds r7, r0, r1 lsls r0, r5, 3 subs r0, r5 @@ -694,14 +694,14 @@ _0801031C: .align 2, 0 _08010340: .4byte gEnigmaBerries _08010344: .4byte gLinkPlayers -_08010348: .4byte gUnknown_202211C +_08010348: .4byte gBlockRecvBuffer + 4 _0801034C: movs r5, 0 ldr r4, _0801040C @ =gEnigmaBerries mov r9, r4 _08010352: lsls r0, r5, 8 - ldr r1, _08010410 @ =gUnknown_202211C + ldr r1, _08010410 @ =gBlockRecvBuffer + 4 adds r7, r0, r1 movs r4, 0 adds r2, r5, 0x1 @@ -797,7 +797,7 @@ _080103FC: bx r0 .align 2, 0 _0801040C: .4byte gEnigmaBerries -_08010410: .4byte gUnknown_202211C +_08010410: .4byte gBlockRecvBuffer + 4 thumb_func_end sub_801017C thumb_func_start sub_8010414 @@ -810,7 +810,7 @@ sub_8010414: @ 8010414 lsls r1, 24 lsrs r3, r1, 24 movs r6, 0 - ldr r0, _08010440 @ =gUnknown_2022118 + ldr r0, _08010440 @ =gBlockRecvBuffer ldrh r2, [r0] movs r1, 0x80 lsls r1, 1 @@ -824,7 +824,7 @@ sub_8010414: @ 8010414 movs r2, 0xC b _0801044E .align 2, 0 -_08010440: .4byte gUnknown_2022118 +_08010440: .4byte gBlockRecvBuffer _08010444: .4byte gBattleTypeFlags _08010448: ldr r0, _0801048C @ =gBattleTypeFlags @@ -842,7 +842,7 @@ _08010458: movs r2, 0 cmp r2, r4 bge _0801047C - ldr r1, _08010490 @ =gUnknown_2022118 + ldr r1, _08010490 @ =gBlockRecvBuffer mov r8, r1 movs r5, 0x80 lsls r5, 1 @@ -867,7 +867,7 @@ _0801047C: b _0801049A .align 2, 0 _0801048C: .4byte gBattleTypeFlags -_08010490: .4byte gUnknown_2022118 +_08010490: .4byte gBlockRecvBuffer _08010494: ldr r0, _080104EC @ =gBattleTypeFlags ldr r1, [r0] @@ -1126,7 +1126,7 @@ _0801067E: lsls r0, 8 orrs r1, r0 strh r1, [r2, 0xE] - ldr r0, _080106EC @ =gUnknown_2022118 + ldr r0, _080106EC @ =gBlockRecvBuffer lsls r1, r5, 8 adds r0, 0x2 adds r1, r0 @@ -1139,7 +1139,7 @@ _0801067E: _080106E0: .4byte sub_800F6FC _080106E4: .4byte gTasks _080106E8: .4byte gBattleStruct -_080106EC: .4byte gUnknown_2022118 +_080106EC: .4byte gBlockRecvBuffer _080106F0: .4byte gUnknown_2023E82 _080106F4: bl sub_800A4BC @@ -1170,7 +1170,7 @@ _0801072A: bl ResetBlockReceivedFlags ldr r0, _08010740 @ =gEnemyParty lsls r1, r5, 8 - ldr r2, _08010744 @ =gUnknown_2022118 + ldr r2, _08010744 @ =gBlockRecvBuffer adds r1, r2 movs r2, 0xC8 bl memcpy @@ -1178,7 +1178,7 @@ _0801072A: b _080108B2 .align 2, 0 _08010740: .4byte gEnemyParty -_08010744: .4byte gUnknown_2022118 +_08010744: .4byte gBlockRecvBuffer _08010748: .4byte gUnknown_2023E82 _0801074C: bl sub_800A4BC @@ -1209,7 +1209,7 @@ _08010782: bl ResetBlockReceivedFlags ldr r0, _08010798 @ =gUnknown_20240F4 lsls r1, r5, 8 - ldr r2, _0801079C @ =gUnknown_2022118 + ldr r2, _0801079C @ =gBlockRecvBuffer adds r1, r2 movs r2, 0xC8 bl memcpy @@ -1217,7 +1217,7 @@ _08010782: b _080108B2 .align 2, 0 _08010798: .4byte gUnknown_20240F4 -_0801079C: .4byte gUnknown_2022118 +_0801079C: .4byte gBlockRecvBuffer _080107A0: .4byte gUnknown_2023E82 _080107A4: bl sub_800A4BC @@ -1246,7 +1246,7 @@ _080107CC: bl ResetBlockReceivedFlags ldr r4, _08010820 @ =gUnknown_20241BC lsls r1, r5, 8 - ldr r0, _08010824 @ =gUnknown_2022118 + ldr r0, _08010824 @ =gBlockRecvBuffer adds r1, r0 adds r0, r4, 0 movs r2, 0xC8 @@ -1272,7 +1272,7 @@ _080107CC: b _080108B2 .align 2, 0 _08010820: .4byte gUnknown_20241BC -_08010824: .4byte gUnknown_2022118 +_08010824: .4byte gBlockRecvBuffer _08010828: .4byte 0xfffffe70 _0801082C: .4byte 0xfffffed4 _08010830: .4byte gUnknown_2023E82 @@ -1586,7 +1586,7 @@ _08010AA0: beq _08010ABA _08010AAC: lsls r1, r4, 8 - ldr r0, _08010AE4 @ =gUnknown_2022118 + ldr r0, _08010AE4 @ =gBlockRecvBuffer adds r1, r0 ldr r0, _08010AE8 @ =gUnknown_2022B58 movs r2, 0x60 @@ -1613,7 +1613,7 @@ _08010ABA: bl sub_8128198 b _08010B82 .align 2, 0 -_08010AE4: .4byte gUnknown_2022118 +_08010AE4: .4byte gBlockRecvBuffer _08010AE8: .4byte gUnknown_2022B58 _08010AEC: .4byte gUnknown_2023E82 _08010AF0: .4byte gMain @@ -1860,7 +1860,7 @@ _08010CE2: strh r2, [r1, 0xE] strh r2, [r1, 0x10] adds r2, r1, 0 - ldr r0, _08010D5C @ =gUnknown_2022118 + ldr r0, _08010D5C @ =gBlockRecvBuffer adds r3, r0, 0x2 ldr r5, _08010D60 @ =gLinkPlayers movs r4, 0x3F @@ -1881,7 +1881,7 @@ _08010D4C: .4byte gDecompressionBuffer _08010D50: .4byte gPlayerParty _08010D54: .4byte sub_800F6FC _08010D58: .4byte gTasks -_08010D5C: .4byte gUnknown_2022118 +_08010D5C: .4byte gBlockRecvBuffer _08010D60: .4byte gLinkPlayers _08010D64: cmp r0, 0x2 @@ -1962,7 +1962,7 @@ _08010DEE: subs r0, r7 lsls r0, 2 mov r8, r0 - ldr r4, _08010E18 @ =gUnknown_2022118 + ldr r4, _08010E18 @ =gBlockRecvBuffer movs r5, 0 _08010E00: cmp r6, r7 @@ -1978,7 +1978,7 @@ _08010E00: beq _08010E24 b _08010EBE .align 2, 0 -_08010E18: .4byte gUnknown_2022118 +_08010E18: .4byte gBlockRecvBuffer _08010E1C: .4byte gLinkPlayers _08010E20: cmp r0, 0x3 @@ -2115,7 +2115,7 @@ _08010F0E: subs r0, r7 lsls r0, 2 mov r8, r0 - ldr r4, _08010F38 @ =gUnknown_2022118 + ldr r4, _08010F38 @ =gBlockRecvBuffer movs r5, 0 _08010F20: cmp r6, r7 @@ -2131,7 +2131,7 @@ _08010F20: beq _08010F44 b _08010FDE .align 2, 0 -_08010F38: .4byte gUnknown_2022118 +_08010F38: .4byte gBlockRecvBuffer _08010F3C: .4byte gLinkPlayers _08010F40: cmp r0, 0x3 diff --git a/asm/battle_controllers.s b/asm/battle_controllers.s index 71c39120f..8ef9408a0 100644 --- a/asm/battle_controllers.s +++ b/asm/battle_controllers.s @@ -1420,7 +1420,7 @@ sub_800DD28: @ 800DD28 bne _0800DE28 bl sub_80FBB4C movs r4, 0 - ldr r0, _0800DD6C @ =gUnknown_2022118 + ldr r0, _0800DD6C @ =gBlockRecvBuffer mov r10, r0 b _0800DE1C .align 2, 0 @@ -1428,7 +1428,7 @@ _0800DD5C: .4byte gUnknown_3003F64 _0800DD60: .4byte gBattleTypeFlags _0800DD64: .4byte gLinkPlayers _0800DD68: .4byte 0x00002211 -_0800DD6C: .4byte gUnknown_2022118 +_0800DD6C: .4byte gBlockRecvBuffer _0800DD70: bl GetBlockReceivedStatus lsls r0, 24 @@ -1447,7 +1447,7 @@ _0800DD70: lsls r0, r4, 8 mov r4, r10 adds r3, r0, r4 - ldr r1, _0800DE3C @ =gUnknown_202211C + ldr r1, _0800DE3C @ =gBlockRecvBuffer + 4 adds r0, r1 ldrh r6, [r0] ldr r7, _0800DE40 @ =gTasks @@ -1534,7 +1534,7 @@ _0800DE28: bx r0 .align 2, 0 _0800DE38: .4byte gBitTable -_0800DE3C: .4byte gUnknown_202211C +_0800DE3C: .4byte gBlockRecvBuffer + 4 _0800DE40: .4byte gTasks _0800DE44: .4byte gUnknown_202286D _0800DE48: .4byte gUnknown_2023FF0 diff --git a/asm/cable_club.s b/asm/cable_club.s index 1d49bfcaa..830cff288 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -243,7 +243,7 @@ sub_80808F0: @ 80808F0 lsrs r1, r0, 24 cmp r1, 0 bne _08080934 - ldr r0, _08080928 @ =gUnknown_202271A + ldr r0, _08080928 @ =gLinkType strh r1, [r0] ldr r1, _0808092C @ =gTasks lsls r0, r4, 2 @@ -256,7 +256,7 @@ sub_80808F0: @ 80808F0 b _08080936 .align 2, 0 _08080924: .4byte gMain -_08080928: .4byte gUnknown_202271A +_08080928: .4byte gLinkType _0808092C: .4byte gTasks _08080930: .4byte sub_8080FB4 _08080934: @@ -290,7 +290,7 @@ _08080952: .align 2, 0 _08080964: .4byte gMain _08080968: - ldr r1, _08080984 @ =gUnknown_202271A + ldr r1, _08080984 @ =gLinkType movs r0, 0 strh r0, [r1] ldr r1, _08080988 @ =gTasks @@ -306,7 +306,7 @@ _0808097E: pop {r1} bx r1 .align 2, 0 -_08080984: .4byte gUnknown_202271A +_08080984: .4byte gLinkType _08080988: .4byte gTasks _0808098C: .4byte sub_8080FB4 thumb_func_end sub_808093C @@ -780,7 +780,7 @@ _08080D54: strb r0, [r1] ldrb r0, [r4] bl sub_800A900 - ldr r0, _08080D84 @ =gUnknown_2022618 + ldr r0, _08080D84 @ =gBlockSendBuffer bl sub_80898E8 ldr r0, _08080D88 @ =sub_8080E6C _08080D72: @@ -792,7 +792,7 @@ _08080D74: .align 2, 0 _08080D7C: .4byte gUnknown_3005030 _08080D80: .4byte gUnknown_300502C -_08080D84: .4byte gUnknown_2022618 +_08080D84: .4byte gBlockSendBuffer _08080D88: .4byte sub_8080E6C thumb_func_end sub_8080CDC @@ -883,7 +883,7 @@ _08080E20: strb r0, [r1] ldrb r0, [r4] bl sub_800A900 - ldr r0, _08080E60 @ =gUnknown_2022618 + ldr r0, _08080E60 @ =gBlockSendBuffer bl sub_80898E8 ldr r1, _08080E64 @ =gTasks lsls r0, r5, 2 @@ -901,7 +901,7 @@ _08080E50: .align 2, 0 _08080E58: .4byte gUnknown_3005030 _08080E5C: .4byte gUnknown_300502C -_08080E60: .4byte gUnknown_2022618 +_08080E60: .4byte gBlockSendBuffer _08080E64: .4byte gTasks _08080E68: .4byte sub_8080E6C thumb_func_end sub_8080DC0 @@ -941,7 +941,7 @@ _08080E9A: cmp r0, 0x1 bls _08080EDC lsls r1, r5, 8 - ldr r0, _08080ED4 @ =gUnknown_2022118 + ldr r0, _08080ED4 @ =gBlockRecvBuffer adds r1, r0 ldr r0, _08080ED8 @ =gUnknown_2039624 lsls r4, r5, 1 @@ -957,11 +957,11 @@ _08080E9A: b _08080EF2 .align 2, 0 _08080ED0: .4byte gLinkPlayers -_08080ED4: .4byte gUnknown_2022118 +_08080ED4: .4byte gBlockRecvBuffer _08080ED8: .4byte gUnknown_2039624 _08080EDC: lsls r1, r5, 8 - ldr r0, _08080F3C @ =gUnknown_2022118 + ldr r0, _08080F3C @ =gBlockRecvBuffer adds r1, r0 ldr r2, _08080F40 @ =gUnknown_2039624 lsls r0, r5, 1 @@ -988,7 +988,7 @@ _08080EF8: ldrh r0, [r0] cmp r0, 0x1 bne _08080F54 - ldr r0, _08080F48 @ =gUnknown_202271A + ldr r0, _08080F48 @ =gLinkType ldrh r1, [r0] ldr r0, _08080F4C @ =0x00004411 ldr r0, _08080F50 @ =gTasks @@ -1003,10 +1003,10 @@ _08080EF8: bl DestroyTask b _08080F66 .align 2, 0 -_08080F3C: .4byte gUnknown_2022118 +_08080F3C: .4byte gBlockRecvBuffer _08080F40: .4byte gUnknown_2039624 _08080F44: .4byte gUnknown_20370D0 -_08080F48: .4byte gUnknown_202271A +_08080F48: .4byte gLinkType _08080F4C: .4byte 0x00004411 _08080F50: .4byte gTasks _08080F54: @@ -1170,24 +1170,24 @@ _08081080: b _080810B4 _08081086: movs r3, 0x2 - ldr r1, _08081090 @ =gUnknown_202271A + ldr r1, _08081090 @ =gLinkType ldr r4, _08081094 @ =0x00002233 b _080810B0 .align 2, 0 -_08081090: .4byte gUnknown_202271A +_08081090: .4byte gLinkType _08081094: .4byte 0x00002233 _08081098: movs r3, 0x2 - ldr r1, _080810A0 @ =gUnknown_202271A + ldr r1, _080810A0 @ =gLinkType ldr r4, _080810A4 @ =0x00002244 b _080810B0 .align 2, 0 -_080810A0: .4byte gUnknown_202271A +_080810A0: .4byte gLinkType _080810A4: .4byte 0x00002244 _080810A8: movs r3, 0x4 movs r2, 0x4 - ldr r1, _080810C4 @ =gUnknown_202271A + ldr r1, _080810C4 @ =gLinkType ldr r4, _080810C8 @ =0x00002255 _080810B0: adds r0, r4, 0 @@ -1200,14 +1200,14 @@ _080810B4: pop {r0} bx r0 .align 2, 0 -_080810C4: .4byte gUnknown_202271A +_080810C4: .4byte gLinkType _080810C8: .4byte 0x00002255 thumb_func_end sub_8081064 thumb_func_start sub_80810CC sub_80810CC: @ 80810CC push {lr} - ldr r1, _080810E8 @ =gUnknown_202271A + ldr r1, _080810E8 @ =gLinkType ldr r2, _080810EC @ =0x00001133 adds r0, r2, 0 strh r0, [r1] @@ -1220,7 +1220,7 @@ sub_80810CC: @ 80810CC pop {r0} bx r0 .align 2, 0 -_080810E8: .4byte gUnknown_202271A +_080810E8: .4byte gLinkType _080810EC: .4byte 0x00001133 _080810F0: .4byte gBattleTypeFlags thumb_func_end sub_80810CC @@ -1231,7 +1231,7 @@ sub_80810F4: @ 80810F4 ldr r1, _08081118 @ =gUnknown_20370D0 movs r0, 0 strh r0, [r1] - ldr r1, _0808111C @ =gUnknown_202271A + ldr r1, _0808111C @ =gLinkType ldr r2, _08081120 @ =0x00003311 adds r0, r2, 0 strh r0, [r1] @@ -1245,7 +1245,7 @@ sub_80810F4: @ 80810F4 bx r0 .align 2, 0 _08081118: .4byte gUnknown_20370D0 -_0808111C: .4byte gUnknown_202271A +_0808111C: .4byte gLinkType _08081120: .4byte 0x00003311 _08081124: .4byte gBattleTypeFlags thumb_func_end sub_80810F4 @@ -1253,7 +1253,7 @@ _08081124: .4byte gBattleTypeFlags thumb_func_start sub_8081128 sub_8081128: @ 8081128 push {lr} - ldr r1, _08081144 @ =gUnknown_202271A + ldr r1, _08081144 @ =gLinkType ldr r2, _08081148 @ =0x00006601 adds r0, r2, 0 strh r0, [r1] @@ -1266,7 +1266,7 @@ sub_8081128: @ 8081128 pop {r0} bx r0 .align 2, 0 -_08081144: .4byte gUnknown_202271A +_08081144: .4byte gLinkType _08081148: .4byte 0x00006601 _0808114C: .4byte gBattleTypeFlags thumb_func_end sub_8081128 @@ -1305,35 +1305,35 @@ _08081184: .4byte _080811D8 .4byte _080811B8 _08081198: - ldr r1, _080811A0 @ =gUnknown_202271A + ldr r1, _080811A0 @ =gLinkType ldr r2, _080811A4 @ =0x00002233 b _080811DC .align 2, 0 -_080811A0: .4byte gUnknown_202271A +_080811A0: .4byte gLinkType _080811A4: .4byte 0x00002233 _080811A8: - ldr r1, _080811B0 @ =gUnknown_202271A + ldr r1, _080811B0 @ =gLinkType ldr r2, _080811B4 @ =0x00002244 b _080811DC .align 2, 0 -_080811B0: .4byte gUnknown_202271A +_080811B0: .4byte gLinkType _080811B4: .4byte 0x00002244 _080811B8: - ldr r1, _080811C0 @ =gUnknown_202271A + ldr r1, _080811C0 @ =gLinkType ldr r2, _080811C4 @ =0x00002255 b _080811DC .align 2, 0 -_080811C0: .4byte gUnknown_202271A +_080811C0: .4byte gLinkType _080811C4: .4byte 0x00002255 _080811C8: - ldr r1, _080811D0 @ =gUnknown_202271A + ldr r1, _080811D0 @ =gLinkType ldr r2, _080811D4 @ =0x00001111 b _080811DC .align 2, 0 -_080811D0: .4byte gUnknown_202271A +_080811D0: .4byte gLinkType _080811D4: .4byte 0x00001111 _080811D8: - ldr r1, _080811F0 @ =gUnknown_202271A + ldr r1, _080811F0 @ =gLinkType ldr r2, _080811F4 @ =0x00003322 _080811DC: adds r0, r2, 0 @@ -1348,7 +1348,7 @@ _080811EC: pop {r1} bx r1 .align 2, 0 -_080811F0: .4byte gUnknown_202271A +_080811F0: .4byte gLinkType _080811F4: .4byte 0x00003322 _080811F8: .4byte sub_80811FC thumb_func_end sub_8081150 @@ -1537,14 +1537,14 @@ _0808135C: movs r0, 0x1 movs r1, 0 bl fade_screen - ldr r1, _08081374 @ =gUnknown_202271A + ldr r1, _08081374 @ =gLinkType ldr r2, _08081378 @ =0x00002211 adds r0, r2, 0 strh r0, [r1] bl sub_800A068 b _080813AA .align 2, 0 -_08081374: .4byte gUnknown_202271A +_08081374: .4byte gLinkType _08081378: .4byte 0x00002211 _0808137C: ldr r0, _08081388 @ =gPaletteFade @@ -1694,7 +1694,7 @@ _080814A0: movs r0, 0x1 movs r1, 0 bl fade_screen - ldr r0, _080814BC @ =gUnknown_202271A + ldr r0, _080814BC @ =gLinkType ldr r2, _080814C0 @ =0x00002211 adds r1, r2, 0 strh r1, [r0] @@ -1703,7 +1703,7 @@ _080814A0: strh r0, [r6] b _0808160A .align 2, 0 -_080814BC: .4byte gUnknown_202271A +_080814BC: .4byte gLinkType _080814C0: .4byte 0x00002211 _080814C4: ldr r0, _080814D8 @ =gPaletteFade @@ -1720,7 +1720,7 @@ _080814D2: .align 2, 0 _080814D8: .4byte gPaletteFade _080814DC: - ldr r1, _080814EC @ =gUnknown_2022720 + ldr r1, _080814EC @ =gLocalLinkPlayer movs r0, 0 movs r2, 0x1C bl SendBlock @@ -1728,7 +1728,7 @@ _080814DC: strh r0, [r6] b _0808160A .align 2, 0 -_080814EC: .4byte gUnknown_2022720 +_080814EC: .4byte gLocalLinkPlayer _080814F0: bl GetBlockReceivedStatus adds r4, r0, 0 @@ -1746,7 +1746,7 @@ _08081504: _0808150C: .4byte gLinkPlayers _08081510: lsls r1, r4, 8 - ldr r2, _08081548 @ =gUnknown_2022118 + ldr r2, _08081548 @ =gBlockRecvBuffer adds r0, r5, 0 adds r1, r2 ldm r1!, {r2,r3,r7} @@ -1772,7 +1772,7 @@ _08081536: strh r0, [r6] b _0808160A .align 2, 0 -_08081548: .4byte gUnknown_2022118 +_08081548: .4byte gBlockRecvBuffer _0808154C: ldrh r0, [r6, 0x2] adds r0, 0x1 @@ -2343,7 +2343,7 @@ sub_80819B8: @ 80819B8 thumb_func_start sub_80819C8 sub_80819C8: @ 80819C8 push {lr} - ldr r1, _080819E4 @ =gUnknown_202271A + ldr r1, _080819E4 @ =gLinkType ldr r2, _080819E8 @ =0x00002211 adds r0, r2, 0 strh r0, [r1] @@ -2355,7 +2355,7 @@ sub_80819C8: @ 80819C8 bl sub_8081828 b _080819FA .align 2, 0 -_080819E4: .4byte gUnknown_202271A +_080819E4: .4byte gLinkType _080819E8: .4byte 0x00002211 _080819EC: .4byte gUnknown_3003F3C _080819F0: .4byte sub_8081454 diff --git a/asm/link.s b/asm/link.s index 586ee46a8..63178e0dc 100644 --- a/asm/link.s +++ b/asm/link.s @@ -232,7 +232,7 @@ sub_8009640: @ 8009640 ldr r0, _080096D4 @ =sub_800978C bl SetVBlankCallback bl ResetBlockSend - ldr r1, _080096D8 @ =gUnknown_202271A + ldr r1, _080096D8 @ =gLinkType ldr r2, _080096DC @ =0x00001111 adds r0, r2, 0 strh r0, [r1] @@ -283,7 +283,7 @@ _08009670: bx r0 .align 2, 0 _080096D4: .4byte sub_800978C -_080096D8: .4byte gUnknown_202271A +_080096D8: .4byte gLinkType _080096DC: .4byte 0x00001111 _080096E0: .4byte gMain _080096E4: .4byte gSaveBlock2Ptr @@ -297,17 +297,17 @@ _080096F4: .4byte c2_08009A8C sub_80096F8: @ 80096F8 lsls r0, 24 lsrs r0, 24 - ldr r1, _08009704 @ =gUnknown_2022720 + ldr r1, _08009704 @ =gLocalLinkPlayer strh r0, [r1, 0x18] bx lr .align 2, 0 -_08009704: .4byte gUnknown_2022720 +_08009704: .4byte gLocalLinkPlayer thumb_func_end sub_80096F8 thumb_func_start sub_8009708 sub_8009708: @ 8009708 push {r4,r5,lr} - ldr r5, _08009774 @ =gUnknown_2022720 + ldr r5, _08009774 @ =gLocalLinkPlayer ldr r4, _08009778 @ =gSaveBlock2Ptr ldr r1, [r4] ldrb r2, [r1, 0xA] @@ -327,7 +327,7 @@ sub_8009708: @ 8009708 ldr r0, [r4] ldrb r0, [r0, 0x8] strb r0, [r5, 0x13] - ldr r0, _0800977C @ =gUnknown_202271A + ldr r0, _0800977C @ =gLinkType ldrh r0, [r0] str r0, [r5, 0x14] ldr r0, _08009780 @ =gGameLanguage @@ -359,9 +359,9 @@ _0800976E: pop {r0} bx r0 .align 2, 0 -_08009774: .4byte gUnknown_2022720 +_08009774: .4byte gLocalLinkPlayer _08009778: .4byte gSaveBlock2Ptr -_0800977C: .4byte gUnknown_202271A +_0800977C: .4byte gLinkType _08009780: .4byte gGameLanguage _08009784: .4byte gGameVersion _08009788: .4byte 0x00000844 @@ -380,7 +380,7 @@ sub_800978C: @ 800978C thumb_func_start sub_80097A0 sub_80097A0: @ 80097A0 push {lr} - ldr r3, _080097C0 @ =gUnknown_2022718 + ldr r3, _080097C0 @ =gLinkOpen ldr r1, _080097C4 @ =gUnknown_3003F50 ldr r2, _080097C8 @ =0x0000efff adds r0, r1, 0 @@ -396,7 +396,7 @@ _080097AC: pop {r0} bx r0 .align 2, 0 -_080097C0: .4byte gUnknown_2022718 +_080097C0: .4byte gLinkOpen _080097C4: .4byte gUnknown_3003F50 _080097C8: .4byte 0x0000efff thumb_func_end sub_80097A0 @@ -519,7 +519,7 @@ sub_80098B8: @ 80098B8 beq _080098CC bl sub_80F8DC0 _080098CC: - ldr r0, _080098E4 @ =gUnknown_2022718 + ldr r0, _080098E4 @ =gLinkOpen strb r4, [r0] bl sub_800B29C pop {r4} @@ -528,7 +528,7 @@ _080098CC: .align 2, 0 _080098DC: .4byte gUnknown_3003F64 _080098E0: .4byte gUnknown_3003F3C -_080098E4: .4byte gUnknown_2022718 +_080098E4: .4byte gLinkOpen thumb_func_end sub_80098B8 thumb_func_start TestBlockTransfer @@ -597,7 +597,7 @@ _08009958: cmp r0, 0 beq _08009994 lsls r0, r5, 8 - ldr r1, _080099C0 @ =gUnknown_2022118 + ldr r1, _080099C0 @ =gBlockRecvBuffer adds r0, r1 lsls r4, r5, 1 adds r1, r4, r5 @@ -614,7 +614,7 @@ _08009958: ldrh r0, [r4] cmp r0, r8 beq _08009994 - ldr r0, _080099C8 @ =gUnknown_2022110 + ldr r0, _080099C8 @ =gLinkTestDebugValuesEnabled strb r6, [r0] ldr r0, _080099CC @ =gUnknown_2022111 strb r6, [r0] @@ -637,9 +637,9 @@ _080099B0: .4byte gUnknown_3000E08 _080099B4: .4byte gUnknown_3000E18 _080099B8: .4byte gUnknown_3000E60 _080099BC: .4byte 0x00000342 -_080099C0: .4byte gUnknown_2022118 +_080099C0: .4byte gBlockRecvBuffer _080099C4: .4byte gUnknown_3003F88 -_080099C8: .4byte gUnknown_2022110 +_080099C8: .4byte gLinkTestDebugValuesEnabled _080099CC: .4byte gUnknown_2022111 thumb_func_end TestBlockTransfer @@ -705,7 +705,7 @@ _08009A38: beq _08009A46 bl sub_800AAC0 _08009A46: - ldr r0, _08009A80 @ =gUnknown_2022110 + ldr r0, _08009A80 @ =gLinkTestDebugValuesEnabled ldrb r0, [r0] cmp r0, 0 beq _08009A66 @@ -731,7 +731,7 @@ _08009A70: .4byte gMain _08009A74: .4byte gUnknown_3003F84 _08009A78: .4byte gHeap + 0x4000 _08009A7C: .4byte 0x00002004 -_08009A80: .4byte gUnknown_2022110 +_08009A80: .4byte gLinkTestDebugValuesEnabled _08009A84: .4byte gLinkVSyncDisabled _08009A88: .4byte gUnknown_3003F80 thumb_func_end LinkTestProcessKeyInput @@ -756,14 +756,14 @@ c2_08009A8C: @ 8009A8C LinkMain2: @ 8009AB0 push {r4,r5,lr} adds r4, r0, 0 - ldr r0, _08009AC0 @ =gUnknown_2022718 + ldr r0, _08009AC0 @ =gLinkOpen ldrb r0, [r0] cmp r0, 0 bne _08009AC4 movs r0, 0 b _08009B0C .align 2, 0 -_08009AC0: .4byte gUnknown_2022718 +_08009AC0: .4byte gLinkOpen _08009AC4: movs r1, 0 ldr r5, _08009B14 @ =gUnknown_3003EC4 @@ -960,7 +960,7 @@ _08009C38: ldr r0, _08009C7C @ =gUnknown_3003E70 adds r2, r0, 0 adds r2, 0x10 - ldr r1, _08009C80 @ =gUnknown_2022720 + ldr r1, _08009C80 @ =gLocalLinkPlayer ldm r1!, {r3-r5} stm r2!, {r3-r5} ldm r1!, {r3,r6,r7} @@ -989,7 +989,7 @@ _08009C38: b _08009E3E .align 2, 0 _08009C7C: .4byte gUnknown_3003E70 -_08009C80: .4byte gUnknown_2022720 +_08009C80: .4byte gLocalLinkPlayer _08009C84: .4byte gUnknown_82345C0 _08009C88: ldr r1, _08009C90 @ =gUnknown_3003F28 @@ -1062,7 +1062,7 @@ _08009D08: .4byte gDecompressionBuffer _08009D0C: .4byte gUnknown_3003ED0 _08009D10: movs r2, 0 - ldr r1, _08009DC4 @ =gUnknown_2022118 + ldr r1, _08009DC4 @ =gBlockRecvBuffer mov r9, r1 adds r7, r3, 0 ldr r3, _08009DC8 @ =gUnknown_3003ED0 @@ -1106,7 +1106,7 @@ _08009D40: cmp r0, 0x1 bne _08009DE6 lsls r1, r6, 8 - ldr r0, _08009DC4 @ =gUnknown_2022118 + ldr r0, _08009DC4 @ =gBlockRecvBuffer adds r1, r0 mov r8, r1 lsls r0, r6, 3 @@ -1152,7 +1152,7 @@ _08009DBC: bl SetMainCallback2 b _08009E3E .align 2, 0 -_08009DC4: .4byte gUnknown_2022118 +_08009DC4: .4byte gBlockRecvBuffer _08009DC8: .4byte gUnknown_3003ED0 _08009DCC: .4byte gUnknown_3003EB8 _08009DD0: .4byte gLinkPlayers @@ -1318,12 +1318,12 @@ _08009F04: .4byte 0x0000cccc _08009F08: ldr r0, _08009F14 @ =gUnknown_3003F50 strh r2, [r0] - ldr r1, _08009F18 @ =gUnknown_202271A + ldr r1, _08009F18 @ =gLinkType ldrh r1, [r1] b _08009FD4 .align 2, 0 _08009F14: .4byte gUnknown_3003F50 -_08009F18: .4byte gUnknown_202271A +_08009F18: .4byte gLinkType _08009F1C: ldr r0, _08009F28 @ =gUnknown_3003F50 strh r2, [r0] @@ -1554,14 +1554,14 @@ sub_800A0B4: @ 800A0B4 ldr r0, _0800A0C8 @ =gUnknown_3000E54 movs r1, 0 str r1, [r0] - ldr r0, _0800A0CC @ =gUnknown_202271C + ldr r0, _0800A0CC @ =gLinkTimeOutCounter strh r1, [r0] bl sub_8009804 pop {r0} bx r0 .align 2, 0 _0800A0C8: .4byte gUnknown_3000E54 -_0800A0CC: .4byte gUnknown_202271C +_0800A0CC: .4byte gLinkTimeOutCounter thumb_func_end sub_800A0B4 thumb_func_start sub_800A0D0 @@ -1687,7 +1687,7 @@ _0800A1BC: .align 2, 0 _0800A1C4: .4byte gUnknown_3000E54 _0800A1C8: - ldr r0, _0800A1E8 @ =gUnknown_202271C + ldr r0, _0800A1E8 @ =gLinkTimeOutCounter ldrh r1, [r0] adds r1, 0x1 strh r1, [r0] @@ -1706,7 +1706,7 @@ _0800A1E2: pop {r1} bx r1 .align 2, 0 -_0800A1E8: .4byte gUnknown_202271C +_0800A1E8: .4byte gLinkTimeOutCounter _0800A1EC: .4byte gUnknown_3000E54 thumb_func_end sub_800A0D0 @@ -1844,7 +1844,7 @@ _0800A2C0: str r7, [r4, 0x4] b _0800A2EA _0800A2D8: - ldr r5, _0800A304 @ =gUnknown_2022618 + ldr r5, _0800A304 @ =gBlockSendBuffer cmp r7, r5 beq _0800A2E8 adds r0, r5, 0 @@ -1868,7 +1868,7 @@ _0800A2FE: pop {r1} bx r1 .align 2, 0 -_0800A304: .4byte gUnknown_2022618 +_0800A304: .4byte gBlockSendBuffer _0800A308: .4byte 0x0000bbbb _0800A30C: .4byte gUnknown_3003F80 _0800A310: .4byte LinkCB_BlockSendBegin @@ -2707,7 +2707,7 @@ sub_800A900: @ 800A900 ldr r1, _0800A938 @ =gUnknown_3003F60 strb r0, [r1] ldr r4, _0800A93C @ =gLinkPlayers - ldr r3, _0800A940 @ =gUnknown_20227C8 + ldr r3, _0800A940 @ =gSavedLinkPlayers movs r2, 0x4 _0800A914: adds r0, r3, 0 @@ -2730,7 +2730,7 @@ _0800A914: _0800A934: .4byte gUnknown_3003F40 _0800A938: .4byte gUnknown_3003F60 _0800A93C: .4byte gLinkPlayers -_0800A940: .4byte gUnknown_20227C8 +_0800A940: .4byte gSavedLinkPlayers thumb_func_end sub_800A900 thumb_func_start sub_800A944 @@ -2761,7 +2761,7 @@ sub_800A95C: @ 800A95C cmp r5, r2 bge _0800A986 ldr r1, _0800A994 @ =gLinkPlayers - ldr r0, _0800A998 @ =gUnknown_20227C8 + ldr r0, _0800A998 @ =gSavedLinkPlayers adds r4, r0, 0x4 adds r3, r1, 0x4 _0800A972: @@ -2785,7 +2785,7 @@ _0800A986: .align 2, 0 _0800A990: .4byte gUnknown_3003F40 _0800A994: .4byte gLinkPlayers -_0800A998: .4byte gUnknown_20227C8 +_0800A998: .4byte gSavedLinkPlayers _0800A99C: movs r0, 0x1 _0800A99E: @@ -2804,7 +2804,7 @@ sub_800A9A4: @ 800A9A4 ldrb r0, [r0] cmp r4, r0 bcs _0800AA04 - ldr r6, _0800AA14 @ =gUnknown_20227C8 + ldr r6, _0800AA14 @ =gSavedLinkPlayers ldr r5, _0800AA18 @ =gLinkPlayers movs r0, 0x8 adds r0, r6 @@ -2852,7 +2852,7 @@ _0800AA04: bx r0 .align 2, 0 _0800AA10: .4byte gUnknown_3003F40 -_0800AA14: .4byte gUnknown_20227C8 +_0800AA14: .4byte gSavedLinkPlayers _0800AA18: .4byte gLinkPlayers _0800AA1C: .4byte gUnknown_3003EAC _0800AA20: .4byte c2_800ACD4 @@ -3169,7 +3169,7 @@ _0800AC54: .4byte gUnknown_3003F80 thumb_func_start sub_800AC58 sub_800AC58: @ 800AC58 push {lr} - ldr r0, _0800AC9C @ =gUnknown_2022718 + ldr r0, _0800AC9C @ =gLinkOpen ldrb r0, [r0] cmp r0, 0 beq _0800AC98 @@ -3184,7 +3184,7 @@ sub_800AC58: @ 800AC58 ldrb r0, [r0] cmp r0, 0 bne _0800AC8E - ldr r1, _0800ACA8 @ =gUnknown_2022854 + ldr r1, _0800ACA8 @ =sLinkErrorBuffer str r2, [r1] ldr r0, _0800ACAC @ =gUnknown_3004F70 ldrb r0, [r0] @@ -3203,10 +3203,10 @@ _0800AC98: pop {r0} bx r0 .align 2, 0 -_0800AC9C: .4byte gUnknown_2022718 +_0800AC9C: .4byte gLinkOpen _0800ACA0: .4byte gUnknown_3003F20 _0800ACA4: .4byte gUnknown_3003F38 -_0800ACA8: .4byte gUnknown_2022854 +_0800ACA8: .4byte sLinkErrorBuffer _0800ACAC: .4byte gUnknown_3004F70 _0800ACB0: .4byte gUnknown_3003FA0 _0800ACB4: .4byte c2_800ACD4 @@ -3216,7 +3216,7 @@ _0800ACB8: .4byte gUnknown_3003EAC thumb_func_start sub_800ACBC sub_800ACBC: @ 800ACBC push {r4,lr} - ldr r4, _0800ACD0 @ =gUnknown_2022854 + ldr r4, _0800ACD0 @ =sLinkErrorBuffer str r0, [r4] strb r1, [r4, 0x5] strb r2, [r4, 0x4] @@ -3225,7 +3225,7 @@ sub_800ACBC: @ 800ACBC pop {r0} bx r0 .align 2, 0 -_0800ACD0: .4byte gUnknown_2022854 +_0800ACD0: .4byte sLinkErrorBuffer thumb_func_end sub_800ACBC thumb_func_start c2_800ACD4 @@ -3257,7 +3257,7 @@ c2_800ACD4: @ 800ACD4 ldrb r0, [r1] cmp r0, 0 beq _0800AD30 - ldr r0, _0800ADF4 @ =gUnknown_2022854 + ldr r0, _0800ADF4 @ =sLinkErrorBuffer ldrb r0, [r0, 0x6] cmp r0, 0 bne _0800AD2C @@ -3338,7 +3338,7 @@ _0800ADE4: .4byte gMPlayInfo_SE2 _0800ADE8: .4byte gMPlayInfo_SE3 _0800ADEC: .4byte gHeap _0800ADF0: .4byte gUnknown_3003F3C -_0800ADF4: .4byte gUnknown_2022854 +_0800ADF4: .4byte sLinkErrorBuffer _0800ADF8: .4byte sub_800978C _0800ADFC: .4byte gUnknown_82345E8 _0800AE00: .4byte gUnknown_2022860 @@ -3492,14 +3492,14 @@ _0800AF50: beq _0800AF7A b _0800AFC4 _0800AF5A: - ldr r0, _0800AF68 @ =gUnknown_2022854 + ldr r0, _0800AF68 @ =sLinkErrorBuffer ldrb r0, [r0, 0x6] cmp r0, 0 beq _0800AF6C bl sub_800AE1C b _0800AFC4 .align 2, 0 -_0800AF68: .4byte gUnknown_2022854 +_0800AF68: .4byte sLinkErrorBuffer _0800AF6C: bl sub_800AED0 b _0800AFC4 @@ -3563,7 +3563,7 @@ _0800AFC4: bl PlaySE movs r0, 0 strb r0, [r4] - ldr r1, _0800B00C @ =gUnknown_2022854 + ldr r1, _0800B00C @ =sLinkErrorBuffer movs r0, 0 strb r0, [r1, 0x6] bl sub_8079B7C @@ -3573,7 +3573,7 @@ _0800AFFC: .4byte gUnknown_8234610 _0800B000: .4byte gUnknown_841DF4C _0800B004: .4byte gMain _0800B008: .4byte gUnknown_3003F3C -_0800B00C: .4byte gUnknown_2022854 +_0800B00C: .4byte sLinkErrorBuffer _0800B010: cmp r2, 0x2 bne _0800B02E @@ -3683,7 +3683,7 @@ sub_800B0B4: @ 800B0B4 ldr r1, _0800B100 @ =gUnknown_3003E70 adds r2, r1, 0 adds r2, 0x10 - ldr r0, _0800B104 @ =gUnknown_2022720 + ldr r0, _0800B104 @ =gLocalLinkPlayer ldm r0!, {r3-r5} stm r2!, {r3-r5} ldm r0!, {r3,r4,r6} @@ -3707,7 +3707,7 @@ sub_800B0B4: @ 800B0B4 strh r2, [r0] ldrb r2, [r3, 0x2] strb r2, [r0, 0x2] - ldr r0, _0800B10C @ =gUnknown_2022618 + ldr r0, _0800B10C @ =gBlockSendBuffer movs r2, 0x3C bl memcpy pop {r4-r6} @@ -3715,9 +3715,9 @@ sub_800B0B4: @ 800B0B4 bx r0 .align 2, 0 _0800B100: .4byte gUnknown_3003E70 -_0800B104: .4byte gUnknown_2022720 +_0800B104: .4byte gLocalLinkPlayer _0800B108: .4byte gUnknown_82345C0 -_0800B10C: .4byte gUnknown_2022618 +_0800B10C: .4byte gBlockSendBuffer thumb_func_end sub_800B0B4 thumb_func_start sub_800B110 @@ -3726,7 +3726,7 @@ sub_800B110: @ 800B110 lsls r0, 24 lsrs r0, 24 lsls r2, r0, 8 - ldr r1, _0800B168 @ =gUnknown_2022118 + ldr r1, _0800B168 @ =gBlockRecvBuffer adds r4, r2, r1 lsls r2, r0, 3 subs r2, r0 @@ -3764,7 +3764,7 @@ _0800B160: pop {r0} bx r0 .align 2, 0 -_0800B168: .4byte gUnknown_2022118 +_0800B168: .4byte gBlockRecvBuffer _0800B16C: .4byte gLinkPlayers _0800B170: .4byte gUnknown_82345C0 _0800B174: .4byte c2_800ACD4 diff --git a/asm/link_rfu_2.s b/asm/link_rfu_2.s index f59f1ea87..0bfd71538 100644 --- a/asm/link_rfu_2.s +++ b/asm/link_rfu_2.s @@ -142,7 +142,7 @@ sub_80F86F4: @ 80F86F4 lsrs r1, r0, 16 cmp r1, 0 bne _080F8722 - ldr r0, _080F8734 @ =gUnknown_202271A + ldr r0, _080F8734 @ =gLinkType strh r1, [r0] movs r0, 0 bl sub_80FB128 @@ -158,7 +158,7 @@ _080F8722: _080F8728: .4byte gUnknown_3001190 _080F872C: .4byte 0x00000e64 _080F8730: .4byte gIntrTable + 0x4 -_080F8734: .4byte gUnknown_202271A +_080F8734: .4byte gLinkType thumb_func_end sub_80F86F4 thumb_func_start sub_80F8738 @@ -2543,7 +2543,7 @@ _080F99DA: orrs r0, r3 str r0, [r1] movs r4, 0 - ldr r0, _080F9A8C @ =gUnknown_2022118 + ldr r0, _080F9A8C @ =gBlockRecvBuffer mov r9, r0 mov r12, r2 mov r1, r8 @@ -2617,12 +2617,12 @@ _080F9A78: beq _080F9A80 b _080F9BF8 _080F9A80: - ldr r0, _080F9A8C @ =gUnknown_2022118 + ldr r0, _080F9A8C @ =gBlockRecvBuffer bl sub_80FAA58 b _080F9BF8 .align 2, 0 _080F9A88: .4byte gUnknown_3005450 -_080F9A8C: .4byte gUnknown_2022118 +_080F9A8C: .4byte gBlockRecvBuffer _080F9A90: .4byte gUnknown_3003ED0 _080F9A94: .4byte gUnknown_843EBD4 _080F9A98: .4byte gUnknown_3003F64 @@ -3204,7 +3204,7 @@ _080F9EC0: str r7, [r5, 0x70] b _080F9F14 _080F9F02: - ldr r4, _080F9F38 @ =gUnknown_2022618 + ldr r4, _080F9F38 @ =gBlockSendBuffer cmp r7, r4 beq _080F9F12 adds r0, r4, 0 @@ -3232,7 +3232,7 @@ _080F9F2A: pop {r1} bx r1 .align 2, 0 -_080F9F38: .4byte gUnknown_2022618 +_080F9F38: .4byte gBlockSendBuffer _080F9F3C: .4byte gUnknown_3005450 _080F9F40: .4byte rfufunc_80F9F44 thumb_func_end sub_80F9E60 @@ -4872,7 +4872,7 @@ _080FAB70: adds r0, r4, 0 bl ResetBlockReceivedFlag lsls r2, r4, 8 - ldr r0, _080FAB9C @ =gUnknown_2022118 + ldr r0, _080FAB9C @ =gBlockRecvBuffer adds r2, r0 ldr r1, _080FABA0 @ =gLinkPlayers lsls r0, r4, 3 @@ -4890,10 +4890,10 @@ _080FAB70: bl sub_800B284 b _080FAC2E .align 2, 0 -_080FAB9C: .4byte gUnknown_2022118 +_080FAB9C: .4byte gBlockRecvBuffer _080FABA0: .4byte gLinkPlayers _080FABA4: - ldr r5, _080FAC40 @ =gUnknown_2022618 + ldr r5, _080FAC40 @ =gBlockSendBuffer adds r1, r5, 0 ldr r0, _080FAC44 @ =gUnknown_843EDE4 "PokemonSioInfo" ldm r0!, {r2-r4} @@ -4931,7 +4931,7 @@ _080FABC6: adds r0, 0x1 strh r0, [r1, 0x8] _080FABEE: - ldr r5, _080FAC40 @ =gUnknown_2022618 + ldr r5, _080FAC40 @ =gBlockSendBuffer ldr r1, _080FAC48 @ =gUnknown_3005450 ldrb r0, [r1, 0xD] strb r0, [r5, 0xF] @@ -4955,7 +4955,7 @@ _080FAC04: mov r1, r12 movs r2, 0x8C bl memcpy - ldr r1, _080FAC40 @ =gUnknown_2022618 + ldr r1, _080FAC40 @ =gBlockSendBuffer movs r0, 0 movs r2, 0xA0 bl SendBlock @@ -4973,7 +4973,7 @@ _080FAC36: strh r0, [r1, 0x8] b _080FACD6 .align 2, 0 -_080FAC40: .4byte gUnknown_2022618 +_080FAC40: .4byte gBlockSendBuffer _080FAC44: .4byte gUnknown_843EDE4 _080FAC48: .4byte gUnknown_3005450 _080FAC4C: .4byte 0x00000996 @@ -5008,7 +5008,7 @@ _080FAC78: mov r0, sp movs r4, 0 strh r4, [r0] - ldr r1, _080FACE0 @ =gUnknown_2022118 + ldr r1, _080FACE0 @ =gBlockRecvBuffer ldr r2, _080FACE4 @ =0x0100007e bl CpuSet movs r0, 0 @@ -5046,7 +5046,7 @@ _080FACD6: pop {r0} bx r0 .align 2, 0 -_080FACE0: .4byte gUnknown_2022118 +_080FACE0: .4byte gBlockRecvBuffer _080FACE4: .4byte 0x0100007e _080FACE8: .4byte gUnknown_3005450 _080FACEC: .4byte 0x0000099e @@ -5095,13 +5095,13 @@ _080FAD3A: cmp r0, 0 beq _080FAD8A bl sub_800B0B4 - ldr r1, _080FAD50 @ =gUnknown_2022618 + ldr r1, _080FAD50 @ =gBlockSendBuffer movs r0, 0 movs r2, 0x3C bl SendBlock b _080FAD5E .align 2, 0 -_080FAD50: .4byte gUnknown_2022618 +_080FAD50: .4byte gBlockSendBuffer _080FAD54: bl sub_800A4BC lsls r0, 24 @@ -5119,7 +5119,7 @@ _080FAD66: ands r1, r0 cmp r1, 0 beq _080FAD8A - ldr r0, _080FAD90 @ =gUnknown_2022118 + ldr r0, _080FAD90 @ =gBlockRecvBuffer bl sub_80FA9FC movs r0, 0 bl ResetBlockReceivedFlag @@ -5132,7 +5132,7 @@ _080FAD8A: pop {r0} bx r0 .align 2, 0 -_080FAD90: .4byte gUnknown_2022118 +_080FAD90: .4byte gBlockRecvBuffer _080FAD94: .4byte gUnknown_3003F64 thumb_func_end sub_80FACF0 @@ -6870,7 +6870,7 @@ sub_80FBA78: @ 80FBA78 lsls r0, 24 cmp r0, 0 beq _080FBAEC - ldr r1, _080FBAF8 @ =gUnknown_202271A + ldr r1, _080FBAF8 @ =gLinkType ldr r2, _080FBAFC @ =0x00001111 adds r0, r2, 0 strh r0, [r1] @@ -6907,7 +6907,7 @@ _080FBAEC: bx r0 .align 2, 0 _080FBAF4: .4byte sub_80FBA64 -_080FBAF8: .4byte gUnknown_202271A +_080FBAF8: .4byte gLinkType _080FBAFC: .4byte 0x00001111 _080FBB00: .4byte gMain _080FBB04: .4byte gSaveBlock2Ptr diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index d67176ed4..56bbd2c51 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -3028,7 +3028,7 @@ _0811719C: eors r1, r2 lsls r1, 24 lsrs r1, 16 - ldr r2, _081171D4 @ =gUnknown_2022118 + ldr r2, _081171D4 @ =gBlockRecvBuffer adds r1, r2 movs r2, 0x64 bl memcpy @@ -3038,9 +3038,9 @@ _0811719C: b _081171FA .align 2, 0 _081171D0: .4byte gEnemyParty -_081171D4: .4byte gUnknown_2022118 +_081171D4: .4byte gBlockRecvBuffer _081171D8: - ldr r4, _08117204 @ =gUnknown_2022618 + ldr r4, _08117204 @ =gBlockSendBuffer ldr r0, _08117208 @ =gSaveBlock1Ptr ldr r1, [r0] ldr r0, _0811720C @ =0x00002cd0 @@ -3061,7 +3061,7 @@ _081171FA: strh r0, [r5, 0x8] b _0811725C .align 2, 0 -_08117204: .4byte gUnknown_2022618 +_08117204: .4byte gBlockSendBuffer _08117208: .4byte gSaveBlock1Ptr _0811720C: .4byte 0x00002cd0 _08117210: @@ -3077,7 +3077,7 @@ _08117210: eors r1, r0 lsls r1, 24 lsrs r1, 16 - ldr r0, _0811726C @ =gUnknown_2022118 + ldr r0, _0811726C @ =gBlockRecvBuffer adds r1, r0 adds r0, r4, 0 movs r2, 0xD8 @@ -3104,7 +3104,7 @@ _0811725C: bx r0 .align 2, 0 _08117268: .4byte gUnknown_2031CCC -_0811726C: .4byte gUnknown_2022118 +_0811726C: .4byte gBlockRecvBuffer _08117270: .4byte gUnknown_2031DA4 _08117274: .4byte gMain _08117278: .4byte c2_exit_to_overworld_2_switch @@ -3165,7 +3165,7 @@ _081172E0: .4byte gUnknown_2039624 _081172E4: .4byte gLinkPlayers _081172E8: lsls r0, r4, 8 - ldr r1, _08117338 @ =gUnknown_2022118 + ldr r1, _08117338 @ =gBlockRecvBuffer adds r1, r0, r1 adds r0, r5, 0 movs r2, 0x60 @@ -3192,7 +3192,7 @@ _08117302: eors r0, r1 lsls r0, 24 lsrs r0, 16 - ldr r1, _08117338 @ =gUnknown_2022118 + ldr r1, _08117338 @ =gBlockRecvBuffer adds r1, r0, r1 adds r0, r1, 0 adds r0, 0x60 @@ -3200,7 +3200,7 @@ _08117302: bl sub_81446D0 b _08117340 .align 2, 0 -_08117338: .4byte gUnknown_2022118 +_08117338: .4byte gBlockRecvBuffer _0811733C: bl sub_81446C4 _08117340: @@ -3657,7 +3657,7 @@ _08117798: .4byte gMain _0811779C: .4byte sub_811C1C8 _081177A0: bl sub_80563F0 - ldr r0, _081177C4 @ =gUnknown_2022618 + ldr r0, _081177C4 @ =gBlockSendBuffer movs r1, 0x1 bl sub_8117594 bl sp000_heal_pokemon @@ -3670,13 +3670,13 @@ _081177A0: movs r2, 0x6 b _0811782E .align 2, 0 -_081177C4: .4byte gUnknown_2022618 +_081177C4: .4byte gBlockSendBuffer _081177C8: bl sub_80563F0 bl sp000_heal_pokemon bl SavePlayerParty bl LoadPlayerBag - ldr r0, _081177EC @ =gUnknown_2022618 + ldr r0, _081177EC @ =gBlockSendBuffer movs r1, 0x1 bl sub_8117594 movs r0, 0x2 @@ -3686,13 +3686,13 @@ _081177C8: movs r2, 0x6 b _0811782E .align 2, 0 -_081177EC: .4byte gUnknown_2022618 +_081177EC: .4byte gBlockSendBuffer _081177F0: bl sub_80563F0 bl sp000_heal_pokemon bl SavePlayerParty bl LoadPlayerBag - ldr r0, _08117814 @ =gUnknown_2022618 + ldr r0, _08117814 @ =gBlockSendBuffer movs r1, 0x1 bl sub_8117594 movs r0, 0x5 @@ -3701,9 +3701,9 @@ _081177F0: movs r1, 0x3 b _0811782C .align 2, 0 -_08117814: .4byte gUnknown_2022618 +_08117814: .4byte gBlockSendBuffer _08117818: - ldr r0, _0811783C @ =gUnknown_2022618 + ldr r0, _0811783C @ =gBlockSendBuffer movs r1, 0x1 bl sub_8117594 bl sub_80563F0 @@ -3720,7 +3720,7 @@ _0811782E: bl SetMainCallback2 b _081178E0 .align 2, 0 -_0811783C: .4byte gUnknown_2022618 +_0811783C: .4byte gBlockSendBuffer _08117840: .4byte sub_8117534 _08117844: ldr r0, _08117850 @ =sub_8117130 @@ -3746,14 +3746,14 @@ _08117872: bl sub_8128420 b _081178E0 _08117878: - ldr r0, _08117888 @ =gUnknown_2022618 + ldr r0, _08117888 @ =gBlockSendBuffer movs r1, 0 bl sub_8117594 ldr r0, _0811788C @ =sub_8117354 bl SetMainCallback2 b _081178E0 .align 2, 0 -_08117888: .4byte gUnknown_2022618 +_08117888: .4byte gBlockSendBuffer _0811788C: .4byte sub_8117354 _08117890: movs r0, 0x8 @@ -5947,7 +5947,7 @@ _08118BC2: bne _08118BCE bl _081198DC _08118BCE: - ldr r0, _08118BF0 @ =gUnknown_2022618 + ldr r0, _08118BF0 @ =gBlockSendBuffer movs r1, 0x1 bl sub_8117594 ldr r0, _08118BF4 @ =sub_8117280 @@ -5959,7 +5959,7 @@ _08118BCE: _08118BE4: .4byte gUnknown_8457F90 _08118BE8: .4byte gUnknown_203B058 _08118BEC: .4byte gUnknown_3003F64 -_08118BF0: .4byte gUnknown_2022618 +_08118BF0: .4byte gBlockSendBuffer _08118BF4: .4byte sub_8117280 _08118BF8: ldr r0, _08118C1C @ =sub_8117280 @@ -6518,7 +6518,7 @@ _081190DE: bne _081190EA bl _081198DC _081190EA: - ldr r0, _08119104 @ =gUnknown_2022618 + ldr r0, _08119104 @ =gBlockSendBuffer movs r1, 0x1 bl sub_8117594 ldr r0, _08119108 @ =sub_8117280 @@ -6528,7 +6528,7 @@ _081190EA: bl _081198DA .align 2, 0 _08119100: .4byte gUnknown_3003F64 -_08119104: .4byte gUnknown_2022618 +_08119104: .4byte gBlockSendBuffer _08119108: .4byte sub_8117280 _0811910C: adds r0, r6, 0 @@ -13024,7 +13024,7 @@ _0811C3B0: beq _0811C3BC b _0811C516 _0811C3BC: - ldr r4, _0811C3D8 @ =gUnknown_2022618 + ldr r4, _0811C3D8 @ =gBlockSendBuffer adds r0, r4, 0 movs r1, 0 movs r2, 0x20 @@ -13037,13 +13037,13 @@ _0811C3BC: movs r0, 0x52 b _0811C3E2 .align 2, 0 -_0811C3D8: .4byte gUnknown_2022618 +_0811C3D8: .4byte gBlockSendBuffer _0811C3DC: .4byte gUnknown_203B0D4 _0811C3E0: movs r0, 0x51 _0811C3E2: strb r0, [r4] - ldr r1, _0811C3F8 @ =gUnknown_2022618 + ldr r1, _0811C3F8 @ =gBlockSendBuffer movs r0, 0 movs r2, 0x20 bl SendBlock @@ -13053,7 +13053,7 @@ _0811C3E2: adds r1, r2 b _0811C4F2 .align 2, 0 -_0811C3F8: .4byte gUnknown_2022618 +_0811C3F8: .4byte gBlockSendBuffer _0811C3FC: .4byte gMain _0811C400: bl GetBlockReceivedStatus @@ -13063,7 +13063,7 @@ _0811C400: beq _0811C40E b _0811C516 _0811C40E: - ldr r1, _0811C440 @ =gUnknown_2022118 + ldr r1, _0811C440 @ =gBlockRecvBuffer ldrh r0, [r1] cmp r0, 0x51 bne _0811C448 @@ -13087,11 +13087,11 @@ _0811C40E: movs r1, 0x32 b _0811C47E .align 2, 0 -_0811C440: .4byte gUnknown_2022118 +_0811C440: .4byte gBlockRecvBuffer _0811C444: .4byte gMain _0811C448: bl sub_800AAC0 - ldr r4, _0811C46C @ =gUnknown_2022118 + ldr r4, _0811C46C @ =gBlockRecvBuffer bl GetMultiplayerId lsls r0, 24 lsrs r0, 16 @@ -13106,7 +13106,7 @@ _0811C448: movs r1, 0x6 b _0811C47E .align 2, 0 -_0811C46C: .4byte gUnknown_2022118 +_0811C46C: .4byte gBlockRecvBuffer _0811C470: .4byte gMain _0811C474: ldr r0, _0811C488 @ =gMain diff --git a/asm/mevent_server.s b/asm/mevent_server.s index 5772b19f4..833212ea4 100644 --- a/asm/mevent_server.s +++ b/asm/mevent_server.s @@ -5,243 +5,6 @@ .text - thumb_func_start sub_8144844 -sub_8144844: @ 8144844 - push {lr} - ldr r1, [r0, 0x20] - bl _call_via_r1 - pop {r1} - bx r1 - thumb_func_end sub_8144844 - - thumb_func_start sub_8144850 -sub_8144850: @ 8144850 - push {lr} - ldr r1, [r0, 0x24] - bl _call_via_r1 - pop {r1} - bx r1 - thumb_func_end sub_8144850 - - thumb_func_start sub_814485C -sub_814485C: @ 814485C - movs r3, 0 - strb r1, [r0, 0x4] - strb r2, [r0, 0x5] - str r3, [r0] - strh r3, [r0, 0x12] - strh r3, [r0, 0x14] - strh r3, [r0, 0x10] - strh r3, [r0, 0xA] - strh r3, [r0, 0xC] - strh r3, [r0, 0x8] - str r3, [r0, 0x1C] - str r3, [r0, 0x18] - ldr r1, _08144880 @ =sub_81449E0 - str r1, [r0, 0x24] - ldr r1, _08144884 @ =sub_814490C - str r1, [r0, 0x20] - bx lr - .align 2, 0 -_08144880: .4byte sub_81449E0 -_08144884: .4byte sub_814490C - thumb_func_end sub_814485C - - thumb_func_start sub_8144888 -sub_8144888: @ 8144888 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0 - str r0, [r4] - strh r1, [r4, 0xE] - strh r0, [r4, 0x10] - strh r0, [r4, 0x12] - cmp r3, 0 - beq _0814489E - strh r3, [r4, 0x14] - b _081448A4 -_0814489E: - movs r0, 0x80 - lsls r0, 3 - strh r0, [r4, 0x14] -_081448A4: - str r2, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8144888 - - thumb_func_start sub_81448AC -sub_81448AC: @ 81448AC - movs r3, 0 - str r3, [r0] - strh r1, [r0, 0x6] - strh r3, [r0, 0x8] - strh r3, [r0, 0xA] - strh r3, [r0, 0xC] - str r2, [r0, 0x18] - bx lr - thumb_func_end sub_81448AC - - thumb_func_start sub_81448BC -sub_81448BC: @ 81448BC - push {lr} - adds r3, r0, 0 - adds r0, r1, 0 - lsls r3, 8 - ldr r1, _081448D4 @ =gUnknown_2022118 - adds r3, r1 - adds r1, r3, 0 - bl memcpy - pop {r0} - bx r0 - .align 2, 0 -_081448D4: .4byte gUnknown_2022118 - thumb_func_end sub_81448BC - - thumb_func_start sub_81448D8 -sub_81448D8: @ 81448D8 - push {r4,lr} - adds r4, r0, 0 - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - asrs r0, r4 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081448F2 - movs r0, 0 - b _081448F4 -_081448F2: - movs r0, 0x1 -_081448F4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81448D8 - - thumb_func_start sub_81448FC -sub_81448FC: @ 81448FC - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl ResetBlockReceivedFlag - pop {r0} - bx r0 - thumb_func_end sub_81448FC - - thumb_func_start sub_814490C -sub_814490C: @ 814490C - push {r4-r6,lr} - sub sp, 0x8 - adds r5, r0, 0 - ldr r6, [r5] - cmp r6, 0x1 - beq _08144970 - cmp r6, 0x1 - bgt _08144922 - cmp r6, 0 - beq _08144928 - b _081449D6 -_08144922: - cmp r6, 0x2 - beq _081449BC - b _081449D6 -_08144928: - ldrb r0, [r5, 0x5] - bl sub_81448D8 - cmp r0, 0 - beq _081449D6 - ldrb r0, [r5, 0x5] - mov r4, sp - mov r1, sp - movs r2, 0x8 - bl sub_81448BC - ldrh r1, [r4, 0x4] - strh r1, [r5, 0xC] - ldrh r0, [r4, 0x2] - strh r0, [r5, 0xA] - lsls r1, 16 - movs r0, 0x80 - lsls r0, 19 - cmp r1, r0 - bls _08144956 -_08144950: - bl sub_80FA190 - b _081449D6 -_08144956: - mov r1, sp - ldrh r0, [r5, 0x6] - ldrh r1, [r1] - cmp r0, r1 - bne _08144950 - strh r6, [r5, 0x8] - ldrb r0, [r5, 0x5] - bl sub_81448FC - ldr r0, [r5] - adds r0, 0x1 - str r0, [r5] - b _081449D6 -_08144970: - ldrb r0, [r5, 0x5] - bl sub_81448D8 - cmp r0, 0 - beq _081449D6 - ldrh r0, [r5, 0x8] - lsls r1, r0, 6 - subs r1, r0 - lsls r3, r1, 2 - ldrh r0, [r5, 0xC] - subs r2, r0, r3 - cmp r2, 0xFC - bhi _081449A2 - ldrb r0, [r5, 0x5] - ldr r1, [r5, 0x18] - adds r1, r3 - bl sub_81448BC - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - ldr r0, [r5] - adds r0, 0x1 - str r0, [r5] - b _081449B4 -_081449A2: - ldrb r0, [r5, 0x5] - ldr r1, [r5, 0x18] - adds r1, r3 - movs r2, 0xFC - bl sub_81448BC - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_081449B4: - ldrb r0, [r5, 0x5] - bl sub_81448FC - b _081449D6 -_081449BC: - ldr r0, [r5, 0x18] - ldrh r1, [r5, 0xC] - bl CalcCRC16WithTable - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r5, 0xA] - cmp r0, r1 - bne _08144950 - movs r0, 0 - str r0, [r5] - movs r0, 0x1 - b _081449D8 -_081449D6: - movs r0, 0 -_081449D8: - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_814490C - thumb_func_start sub_81449E0 sub_81449E0: @ 81449E0 push {r4,r5,lr} diff --git a/asm/trade.s b/asm/trade.s index b5d1dcac6..5df1c0534 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -250,7 +250,7 @@ _0804C80A: ldrb r2, [r0] cmp r2, 0 bne _0804C8B4 - ldr r1, _0804C870 @ =gUnknown_202271A + ldr r1, _0804C870 @ =gLinkType ldr r5, _0804C874 @ =0x00001122 adds r0, r5, 0 strh r0, [r1] @@ -270,7 +270,7 @@ _0804C80A: _0804C864: .4byte gPaletteFade _0804C868: .4byte gEnemyParty _0804C86C: .4byte gUnknown_3003F64 -_0804C870: .4byte gUnknown_202271A +_0804C870: .4byte gLinkType _0804C874: .4byte 0x00001122 _0804C878: .4byte gUnknown_2031DA8 _0804C87C: .4byte gUnknown_3003F3C @@ -2181,7 +2181,7 @@ _0804D860: .4byte _0804DAE0 .4byte _0804DB14 _0804D8B8: - ldr r0, _0804D8D8 @ =gUnknown_2022618 + ldr r0, _0804D8D8 @ =gBlockSendBuffer ldr r1, _0804D8DC @ =gPlayerParty movs r2, 0xC8 bl sub_804D814 @@ -2197,7 +2197,7 @@ _0804D8B8: strb r2, [r0] b _0804DB9E .align 2, 0 -_0804D8D8: .4byte gUnknown_2022618 +_0804D8D8: .4byte gBlockSendBuffer _0804D8DC: .4byte gPlayerParty _0804D8E0: .4byte gUnknown_2031DA8 _0804D8E4: @@ -2247,7 +2247,7 @@ _0804D936: adds r1, r5, 0 eors r1, r2 lsls r1, 8 - ldr r2, _0804D958 @ =gUnknown_2022118 + ldr r2, _0804D958 @ =gBlockRecvBuffer adds r1, r2 movs r2, 0xC8 bl sub_804D814 @@ -2257,10 +2257,10 @@ _0804D936: b _0804DB96 .align 2, 0 _0804D954: .4byte gEnemyParty -_0804D958: .4byte gUnknown_2022118 +_0804D958: .4byte gBlockRecvBuffer _0804D95C: .4byte gUnknown_2031DA8 _0804D960: - ldr r0, _0804D970 @ =gUnknown_2022618 + ldr r0, _0804D970 @ =gBlockSendBuffer ldr r1, _0804D974 @ =gUnknown_202434C movs r2, 0xC8 bl sub_804D814 @@ -2268,7 +2268,7 @@ _0804D960: ldr r1, [r0] b _0804DB96 .align 2, 0 -_0804D970: .4byte gUnknown_2022618 +_0804D970: .4byte gBlockSendBuffer _0804D974: .4byte gUnknown_202434C _0804D978: .4byte gUnknown_2031DA8 _0804D97C: @@ -2295,7 +2295,7 @@ _0804D99E: adds r1, r5, 0 eors r1, r2 lsls r1, 8 - ldr r2, _0804D9C0 @ =gUnknown_2022118 + ldr r2, _0804D9C0 @ =gBlockRecvBuffer adds r1, r2 movs r2, 0xC8 bl sub_804D814 @@ -2305,10 +2305,10 @@ _0804D99E: b _0804DB96 .align 2, 0 _0804D9BC: .4byte gUnknown_20240F4 -_0804D9C0: .4byte gUnknown_2022118 +_0804D9C0: .4byte gBlockRecvBuffer _0804D9C4: .4byte gUnknown_2031DA8 _0804D9C8: - ldr r0, _0804D9D8 @ =gUnknown_2022618 + ldr r0, _0804D9D8 @ =gBlockSendBuffer ldr r1, _0804D9DC @ =gUnknown_2024414 movs r2, 0xC8 bl sub_804D814 @@ -2316,7 +2316,7 @@ _0804D9C8: ldr r1, [r0] b _0804DB96 .align 2, 0 -_0804D9D8: .4byte gUnknown_2022618 +_0804D9D8: .4byte gBlockSendBuffer _0804D9DC: .4byte gUnknown_2024414 _0804D9E0: .4byte gUnknown_2031DA8 _0804D9E4: @@ -2343,7 +2343,7 @@ _0804DA06: adds r1, r5, 0 eors r1, r2 lsls r1, 8 - ldr r2, _0804DA28 @ =gUnknown_2022118 + ldr r2, _0804DA28 @ =gBlockRecvBuffer adds r1, r2 movs r2, 0xC8 bl sub_804D814 @@ -2353,10 +2353,10 @@ _0804DA06: b _0804DB96 .align 2, 0 _0804DA24: .4byte gUnknown_20241BC -_0804DA28: .4byte gUnknown_2022118 +_0804DA28: .4byte gBlockRecvBuffer _0804DA2C: .4byte gUnknown_2031DA8 _0804DA30: - ldr r0, _0804DA48 @ =gUnknown_2022618 + ldr r0, _0804DA48 @ =gBlockSendBuffer ldr r1, _0804DA4C @ =gSaveBlock1Ptr ldr r1, [r1] ldr r2, _0804DA50 @ =0x00002cd0 @@ -2367,7 +2367,7 @@ _0804DA30: ldr r1, [r0] b _0804DB96 .align 2, 0 -_0804DA48: .4byte gUnknown_2022618 +_0804DA48: .4byte gBlockSendBuffer _0804DA4C: .4byte gSaveBlock1Ptr _0804DA50: .4byte 0x00002cd0 _0804DA54: .4byte gUnknown_2031DA8 @@ -2395,7 +2395,7 @@ _0804DA7A: adds r1, r5, 0 eors r1, r2 lsls r1, 8 - ldr r2, _0804DA9C @ =gUnknown_2022118 + ldr r2, _0804DA9C @ =gBlockRecvBuffer adds r1, r2 movs r2, 0xD8 bl sub_804D814 @@ -2405,10 +2405,10 @@ _0804DA7A: b _0804DB96 .align 2, 0 _0804DA98: .4byte gUnknown_2031CCC -_0804DA9C: .4byte gUnknown_2022118 +_0804DA9C: .4byte gBlockRecvBuffer _0804DAA0: .4byte gUnknown_2031DA8 _0804DAA4: - ldr r0, _0804DABC @ =gUnknown_2022618 + ldr r0, _0804DABC @ =gBlockSendBuffer ldr r1, _0804DAC0 @ =gSaveBlock1Ptr ldr r1, [r1] ldr r2, _0804DAC4 @ =0x0000309c @@ -2419,7 +2419,7 @@ _0804DAA4: ldr r1, [r0] b _0804DB96 .align 2, 0 -_0804DABC: .4byte gUnknown_2022618 +_0804DABC: .4byte gBlockSendBuffer _0804DAC0: .4byte gSaveBlock1Ptr _0804DAC4: .4byte 0x0000309c _0804DAC8: .4byte gUnknown_2031DA8 @@ -2447,7 +2447,7 @@ _0804DAE0: adds r1, r5, 0 eors r1, r2 lsls r1, 8 - ldr r2, _0804DB10 @ =gUnknown_2022118 + ldr r2, _0804DB10 @ =gBlockRecvBuffer adds r1, r2 movs r2, 0xB bl sub_804D814 @@ -2456,7 +2456,7 @@ _0804DAE0: b _0804DB96 .align 2, 0 _0804DB0C: .4byte gUnknown_2031DA8 -_0804DB10: .4byte gUnknown_2022118 +_0804DB10: .4byte gBlockRecvBuffer _0804DB14: ldr r4, _0804DB68 @ =gEnemyParty ldr r6, _0804DB6C @ =0x0000012f @@ -2564,7 +2564,7 @@ sub_804DBD4: @ 804DBD4 ands r0, r2 cmp r0, 0 beq _0804DC58 - ldr r0, _0804DBFC @ =gUnknown_2022118 + ldr r0, _0804DBFC @ =gBlockRecvBuffer ldrh r1, [r0] ldr r0, _0804DC00 @ =0x0000bbbb cmp r1, r0 @@ -2576,7 +2576,7 @@ sub_804DBD4: @ 804DBD4 beq _0804DC28 b _0804DC52 .align 2, 0 -_0804DBFC: .4byte gUnknown_2022118 +_0804DBFC: .4byte gBlockRecvBuffer _0804DC00: .4byte 0x0000bbbb _0804DC04: .4byte 0x0000aabb _0804DC08: @@ -2626,7 +2626,7 @@ _0804DC58: ands r0, r2 cmp r0, 0 beq _0804DCEA - ldr r3, _0804DC84 @ =gUnknown_2022118 + ldr r3, _0804DC84 @ =gBlockRecvBuffer movs r1, 0x80 lsls r1, 1 adds r0, r3, r1 @@ -2642,7 +2642,7 @@ _0804DC58: b _0804DCE4 .align 2, 0 _0804DC80: .4byte gUnknown_2031DA8 -_0804DC84: .4byte gUnknown_2022118 +_0804DC84: .4byte gBlockRecvBuffer _0804DC88: .4byte 0x0000bbbb _0804DC8C: .4byte 0x0000aabb _0804DC90: @@ -2712,7 +2712,7 @@ sub_804DCF4: @ 804DCF4 ands r0, r5 cmp r0, 0 beq _0804DDD6 - ldr r2, _0804DD20 @ =gUnknown_2022118 + ldr r2, _0804DD20 @ =gBlockRecvBuffer ldrh r1, [r2] ldr r0, _0804DD24 @ =0x0000ddee cmp r1, r0 @@ -2727,7 +2727,7 @@ sub_804DCF4: @ 804DCF4 beq _0804DD6C b _0804DDD0 .align 2, 0 -_0804DD20: .4byte gUnknown_2022118 +_0804DD20: .4byte gBlockRecvBuffer _0804DD24: .4byte 0x0000ddee _0804DD28: .4byte 0x0000ccdd _0804DD2C: .4byte 0x0000dddd @@ -7428,7 +7428,7 @@ _08050194: ldrb r0, [r0] cmp r0, 0 bne _080501A8 - ldr r1, _0805022C @ =gUnknown_202271A + ldr r1, _0805022C @ =gLinkType ldr r2, _08050230 @ =0x00001144 adds r0, r2, 0 strh r0, [r1] @@ -7491,7 +7491,7 @@ _080501A8: b _08050472 .align 2, 0 _08050228: .4byte gUnknown_3003F64 -_0805022C: .4byte gUnknown_202271A +_0805022C: .4byte gLinkType _08050230: .4byte 0x00001144 _08050234: .4byte gUnknown_2031DAC _08050238: .4byte sub_804FF0C @@ -13477,7 +13477,7 @@ sub_805383C: @ 805383C ands r0, r6 cmp r0, 0 beq _0805387A - ldr r4, _080538A8 @ =gUnknown_2022118 + ldr r4, _080538A8 @ =gBlockRecvBuffer ldrh r1, [r4] ldr r0, _080538AC @ =0x0000dcba cmp r1, r0 @@ -13501,7 +13501,7 @@ _0805387A: ands r0, r5 cmp r0, 0 beq _080538A2 - ldr r0, _080538A8 @ =gUnknown_2022118 + ldr r0, _080538A8 @ =gBlockRecvBuffer movs r1, 0x80 lsls r1, 1 adds r0, r1 @@ -13522,7 +13522,7 @@ _080538A2: pop {r0} bx r0 .align 2, 0 -_080538A8: .4byte gUnknown_2022118 +_080538A8: .4byte gBlockRecvBuffer _080538AC: .4byte 0x0000dcba _080538B0: .4byte sub_8053788 _080538B4: .4byte 0x0000abcd diff --git a/asm/union_room_chat.s b/asm/union_room_chat.s index e7454d31f..4c7d6769f 100644 --- a/asm/union_room_chat.s +++ b/asm/union_room_chat.s @@ -2831,7 +2831,7 @@ _081299E6: movs r1, 0x2 ldrsh r0, [r4, r1] lsls r0, 8 - ldr r1, _08129A0C @ =gUnknown_2022118 + ldr r1, _08129A0C @ =gBlockRecvBuffer adds r0, r1 ldrb r0, [r0] subs r0, 0x1 @@ -2843,7 +2843,7 @@ _081299E6: ldr r0, [r0] mov pc, r0 .align 2, 0 -_08129A0C: .4byte gUnknown_2022118 +_08129A0C: .4byte gBlockRecvBuffer _08129A10: .4byte _08129A14 .align 2, 0 _08129A14: @@ -2874,7 +2874,7 @@ _08129A3A: movs r2, 0x2 ldrsh r1, [r4, r2] lsls r1, 8 - ldr r2, _08129A6C @ =gUnknown_2022118 + ldr r2, _08129A6C @ =gBlockRecvBuffer adds r1, r2 bl sub_812963C cmp r0, 0 @@ -2889,7 +2889,7 @@ _08129A3A: b _08129A72 .align 2, 0 _08129A68: .4byte gUnknown_203B0E0 -_08129A6C: .4byte gUnknown_2022118 +_08129A6C: .4byte gBlockRecvBuffer _08129A70: ldrh r0, [r4, 0xA] _08129A72: diff --git a/asm/unk_814BB4C.s b/asm/unk_814BB4C.s index 1895133dc..c3f054fc7 100644 --- a/asm/unk_814BB4C.s +++ b/asm/unk_814BB4C.s @@ -540,7 +540,7 @@ _0814BF1A: movs r3, 0 cmp r3, r4 bcs _0814BF7E - ldr r7, _0814BF9C @ =gUnknown_2022118 + ldr r7, _0814BF9C @ =gBlockRecvBuffer movs r6, 0 ldr r4, _0814BFA0 @ =gUnknown_83DFC9C _0814BF3C: @@ -592,7 +592,7 @@ _0814BF7E: b _0814BFC0 .align 2, 0 _0814BF98: .4byte gUnknown_846E3C8 -_0814BF9C: .4byte gUnknown_2022118 +_0814BF9C: .4byte gBlockRecvBuffer _0814BFA0: .4byte gUnknown_83DFC9C _0814BFA4: movs r0, 0 @@ -2299,7 +2299,7 @@ _0814CCB0: adds r4, 0x42 cmp r8, r3 bcs _0814CCDE - ldr r2, _0814CCF8 @ =gUnknown_2022118 + ldr r2, _0814CCF8 @ =gBlockRecvBuffer _0814CCBE: mov r3, r8 lsls r1, r3, 5 @@ -2329,7 +2329,7 @@ _0814CCDE: b _0814CF92 .align 2, 0 _0814CCF4: .4byte gUnknown_846E3C8 -_0814CCF8: .4byte gUnknown_2022118 +_0814CCF8: .4byte gBlockRecvBuffer _0814CCFC: movs r0, 0x6 b _0814CF92 @@ -2635,7 +2635,7 @@ _0814CF3C: movs r1, 0 movs r2, 0x30 bl memset - ldr r1, _0814CF6C @ =gUnknown_2022118 + ldr r1, _0814CF6C @ =gBlockRecvBuffer adds r0, r4, 0 movs r2, 0x30 bl memcpy @@ -2645,7 +2645,7 @@ _0814CF64: strh r0, [r7, 0x10] b _0814CF8E .align 2, 0 -_0814CF6C: .4byte gUnknown_2022118 +_0814CF6C: .4byte gBlockRecvBuffer _0814CF70: bl sub_814B930 movs r0, 0x12 @@ -3071,7 +3071,7 @@ _0814D296: cmp r5, r3 bcs _0814D2D4 adds r1, r6, 0 - ldr r2, _0814D2EC @ =gUnknown_2022118 + ldr r2, _0814D2EC @ =gBlockRecvBuffer _0814D2BC: lsls r0, r5, 8 adds r0, r2 @@ -3096,7 +3096,7 @@ _0814D2D4: b _0814D2FA .align 2, 0 _0814D2E8: .4byte gUnknown_846E3C8 -_0814D2EC: .4byte gUnknown_2022118 +_0814D2EC: .4byte gBlockRecvBuffer _0814D2F0: movs r0, 0x16 movs r1, 0x1 diff --git a/asm/unk_81507FC.s b/asm/unk_81507FC.s index 40d5a13b0..97711bd33 100644 --- a/asm/unk_81507FC.s +++ b/asm/unk_81507FC.s @@ -1150,7 +1150,7 @@ _081510F4: beq _08151116 ldr r0, [r6] adds r0, 0x4A - ldr r1, _08151148 @ =gUnknown_2022118 + ldr r1, _08151148 @ =gBlockRecvBuffer movs r2, 0x3C bl memcpy adds r0, r4, 0 @@ -1188,7 +1188,7 @@ _08151140: strb r0, [r1, 0x10] b _0815118A .align 2, 0 -_08151148: .4byte gUnknown_2022118 +_08151148: .4byte gBlockRecvBuffer _0815114C: .4byte gUnknown_203F3E0 _08151150: movs r0, 0x1 @@ -1305,7 +1305,7 @@ _08151228: lsls r0, 1 adds r2, r0 lsls r0, r4, 8 - ldr r1, _08151294 @ =gUnknown_2022118 + ldr r1, _08151294 @ =gBlockRecvBuffer adds r0, r1 ldrb r0, [r0] strb r0, [r2] @@ -1350,7 +1350,7 @@ _0815128A: strb r0, [r1, 0x10] b _081512AA .align 2, 0 -_08151294: .4byte gUnknown_2022118 +_08151294: .4byte gBlockRecvBuffer _08151298: .4byte gUnknown_203F3E0 _0815129C: bl sub_8155E68 @@ -1501,7 +1501,7 @@ _081513C4: lsls r0, 1 adds r2, r0 lsls r0, r4, 8 - ldr r1, _08151438 @ =gUnknown_2022118 + ldr r1, _08151438 @ =gBlockRecvBuffer adds r0, r1 ldrb r0, [r0] strb r0, [r2] @@ -1548,7 +1548,7 @@ _0815142A: b _08151480 .align 2, 0 _08151434: .4byte gUnknown_203F3E0 -_08151438: .4byte gUnknown_2022118 +_08151438: .4byte gBlockRecvBuffer _0815143C: bl sub_81532B8 b _08151480 @@ -2016,7 +2016,7 @@ _081517D2: ldr r0, _08151844 @ =0x0000318c adds r2, r0 lsls r0, r4, 8 - ldr r1, _08151848 @ =gUnknown_2022118 + ldr r1, _08151848 @ =gBlockRecvBuffer adds r0, r1 ldrb r0, [r0] strb r0, [r2] @@ -2063,7 +2063,7 @@ _08151836: .align 2, 0 _08151840: .4byte gUnknown_203F3E0 _08151844: .4byte 0x0000318c -_08151848: .4byte gUnknown_2022118 +_08151848: .4byte gBlockRecvBuffer thumb_func_end sub_8151750 thumb_func_start sub_815184C diff --git a/include/link.h b/include/link.h index 321a28d11..1c13de37e 100644 --- a/include/link.h +++ b/include/link.h @@ -149,7 +149,7 @@ extern bool8 gLinkVSyncDisabled; extern u8 gUnknown_3003F64; extern u8 gUnknown_3003F84; extern u64 gUnknown_3003FB4; -extern u16 gUnknown_202271A; +extern u16 gLinkType; void Task_DestroySelf(u8); void OpenLink(void); diff --git a/include/link_rfu.h b/include/link_rfu.h new file mode 100644 index 000000000..065d23f9f --- /dev/null +++ b/include/link_rfu.h @@ -0,0 +1,8 @@ +#ifndef GUARD_LINK_RFU_H +#define GUARD_LINK_RFU_H + +void sub_8142504(const u8 *str); +bool32 mevent_0814257C(u8 * cmdPtr, const u8 * src); +void sub_80FA190(void); + +#endif //GUARD_LINK_RFU_H diff --git a/include/link_rfu_4.h b/include/link_rfu_4.h deleted file mode 100644 index 91ae86e4c..000000000 --- a/include/link_rfu_4.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef GUARD_LINK_RFU_4_H -#define GUARD_LINK_RFU_4_H - -void sub_8142504(const u8 *str); -bool32 mevent_0814257C(u8 * cmdPtr, const u8 * src); - -#endif //GUARD_LINK_RFU_4_H diff --git a/include/mevent_server.h b/include/mevent_server.h new file mode 100644 index 000000000..0d46d8fc5 --- /dev/null +++ b/include/mevent_server.h @@ -0,0 +1,4 @@ +#ifndef GUARD_MEVENT_SERVER_H +#define GUARD_MEVENT_SERVER_H + +#endif //GUARD_MEVENT_SERVER_H diff --git a/src/mevent.c b/src/mevent.c index c81712de6..b04ac5462 100644 --- a/src/mevent.c +++ b/src/mevent.c @@ -8,7 +8,7 @@ #include "task.h" #include "decompress.h" #include "link.h" -#include "link_rfu_4.h" +#include "link_rfu.h" #include "unk_815c27c.h" #include "util.h" #include "script.h" @@ -134,7 +134,7 @@ u8 sub_8143674(struct MEvent_Str_1 *a0) void sub_81436BC(void) { memset(gDecompressionBuffer, 0, 0x2000); - gUnknown_202271A = 0x5502; + gLinkType = 0x5502; sub_8009804(); SetSuppressLinkErrorMessage(TRUE); } diff --git a/src/mevent_server.c b/src/mevent_server.c index 529b4ba77..0c94980ff 100644 --- a/src/mevent_server.c +++ b/src/mevent_server.c @@ -1,2 +1,180 @@ #include "global.h" +#include "malloc.h" +#include "util.h" +#include "link.h" +#include "link_rfu.h" #include "mevent.h" + +extern u16 gBlockRecvBuffer[][128]; + +struct mevent_srv_sub +{ + s32 unk_00; + u8 unk_04; + u8 unk_05; + u16 unk_06; + u16 unk_08; + u16 unk_0A; + u16 unk_0C; + u16 unk_0E; + u16 unk_10; + u16 unk_12; + u16 unk_14; + void * unk_18; + u32 unk_1C; + u32 (*unk_20)(struct mevent_srv_sub *); + u32 (*unk_24)(struct mevent_srv_sub *); +}; + +struct mevent_srv_ish +{ + u32 unk_00; + u32 unk_04; + u32 unk_08; + u32 unk_0C; + u32 unk_10; + void * unk_14; + void * unk_18; + void * unk_1C; + void * unk_20; + struct mevent_srv_sub unk_24; +}; + +EWRAM_DATA struct mevent_srv_ish * gUnknown_203F3C0 = NULL; + +u32 sub_814490C(struct mevent_srv_sub *); +u32 sub_81449E0(struct mevent_srv_sub *); + +u32 sub_8144844(struct mevent_srv_sub * srv) +{ + return srv->unk_20(srv); +} + +u32 sub_8144850(struct mevent_srv_sub * srv) +{ + return srv->unk_24(srv); +} + +void sub_814485C(struct mevent_srv_sub * srv, u8 a1, u8 a2) +{ + srv->unk_04 = a1; + srv->unk_05 = a2; + srv->unk_00 = 0; + srv->unk_12 = 0; + srv->unk_14 = 0; + srv->unk_10 = 0; + srv->unk_0A = 0; + srv->unk_0C = 0; + srv->unk_08 = 0; + srv->unk_1C = 0; + srv->unk_18 = NULL; + srv->unk_24 = sub_81449E0; + srv->unk_20 = sub_814490C; +} + +void sub_8144888(struct mevent_srv_sub * srv, u16 a1, u32 a2, u32 a3) +{ + srv->unk_00 = 0; + srv->unk_0E = a1; + srv->unk_10 = 0; + srv->unk_12 = 0; + if (a3 != 0) + srv->unk_14 = a3; + else + srv->unk_14 = 0x400; + srv->unk_1C = a2; +} + +void sub_81448AC(struct mevent_srv_sub * srv, u16 a1, void * a2) +{ + srv->unk_00 = 0; + srv->unk_06 = a1; + srv->unk_08 = 0; + srv->unk_0A = 0; + srv->unk_0C = 0; + srv->unk_18 = a2; +} + +void sub_81448BC(u32 recv_idx, u16 * dest, size_t size) +{ + memcpy(dest, gBlockRecvBuffer[recv_idx], size); +} + +bool32 sub_81448D8(u32 recv_idx) +{ + if ((GetBlockReceivedStatus() >> recv_idx) & 1) + return TRUE; + else + return FALSE; +} + +void sub_81448FC(u32 recv_idx) +{ + ResetBlockReceivedFlag(recv_idx); +} + +bool32 sub_814490C(struct mevent_srv_sub * srv) +{ + u16 buff[4]; + switch (srv->unk_00) + { + case 0: + if (sub_81448D8(srv->unk_05)) + { + u16 * r4; + sub_81448BC(srv->unk_05, (r4 = buff), sizeof(buff)); + srv->unk_0C = r4[2]; + srv->unk_0A = r4[1]; + if (srv->unk_0C > 0x400) + { + sub_80FA190(); + return FALSE; + } + else if (srv->unk_06 != buff[0]) + { + sub_80FA190(); + return FALSE; + } + else + { + srv->unk_08 = 0; + sub_81448FC(srv->unk_05); + ++srv->unk_00; + } + } + break; + case 1: + if (sub_81448D8(srv->unk_05)) + { + size_t r3 = srv->unk_08 * 252; + if (srv->unk_0C - r3 <= 252) + { + sub_81448BC(srv->unk_05, srv->unk_18 + r3, srv->unk_0C - r3); + ++srv->unk_08; + ++srv->unk_00; + } + else + { + sub_81448BC(srv->unk_05, srv->unk_18 + r3, 252); + ++srv->unk_08; + } + sub_81448FC(srv->unk_05); + } + break; + case 2: + if (CalcCRC16WithTable(srv->unk_18, srv->unk_0C) != srv->unk_0A) + { + sub_80FA190(); + return FALSE; + } + else + { + srv->unk_00 = 0; + return TRUE; + } + break; + + } + + return FALSE; +} diff --git a/sym_ewram.txt b/sym_ewram.txt index 83fdcf763..cb35591a1 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -49,51 +49,58 @@ gStringVar4: @ 2021D18 .include "src/string_util.o" -gUnknown_2022110: @ 2022110 + @ .include "src/link.o" +gLinkTestDebugValuesEnabled: @ 2022110 .space 0x1 gUnknown_2022111: @ 2022111 - .space 0x3 + .space 0x1 + .align 2 gUnknown_2022114: @ 2022114 .space 0x4 -gUnknown_2022118: @ 2022118 - .space 0x4 +gBlockRecvBuffer: @ 2022118 + .space 0x500 -gUnknown_202211C: @ 202211C - .space 0x4FC - -gUnknown_2022618: @ 2022618 +gBlockSendBuffer: @ 2022618 .space 0x100 -gUnknown_2022718: @ 2022718 +gLinkOpen: @ 2022718 + .space 0x1 + + .align 1 +gLinkType: @ 202271A .space 0x2 -gUnknown_202271A: @ 202271A +gLinkTimeOutCounter: @ 202271C .space 0x2 -gUnknown_202271C: @ 202271C - .space 0x4 - -gUnknown_2022720: @ 2022720 + .align 2 +gLocalLinkPlayer: @ 2022720 .space 0x1C + .align 2 gLinkPlayers: @ 202273C .space 0x8C -gUnknown_20227C8: @ 20227C8 + .align 2 +gSavedLinkPlayers: @ 20227C8 .space 0x8C -gUnknown_2022854: @ 2022854 + .align 2 +sLinkErrorBuffer: @ 2022854 .space 0x8 + .align 1 gUnknown_202285C: @ 202285C - .space 0x4 + .space 0x2 + .align 2 gUnknown_2022860: @ 2022860 .space 0xC + @ .include "src/link_rfu.o" gUnknown_202286C: @ 202286C .space 0x1 From 5a80a339cd04864f36bae99eb4b35de2f8bbab16 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 30 Nov 2018 10:52:54 -0500 Subject: [PATCH 177/222] sub_81449E0 --- asm/mevent_server.s | 133 -------------------------------------------- include/link.h | 1 + src/mevent_server.c | 89 +++++++++++++++++++++++++---- 3 files changed, 80 insertions(+), 143 deletions(-) diff --git a/asm/mevent_server.s b/asm/mevent_server.s index 833212ea4..d41ad7af4 100644 --- a/asm/mevent_server.s +++ b/asm/mevent_server.s @@ -5,139 +5,6 @@ .text - thumb_func_start sub_81449E0 -sub_81449E0: @ 81449E0 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r5, [r4] - cmp r5, 0x1 - beq _08144A4C - cmp r5, 0x1 - bgt _081449F6 - cmp r5, 0 - beq _08144A00 - b _08144AE2 -_081449F6: - cmp r5, 0x2 - beq _08144AA0 - cmp r5, 0x3 - beq _08144ACA - b _08144AE2 -_08144A00: - bl sub_800A4BC - lsls r0, 24 - cmp r0, 0 - beq _08144AE2 - ldrh r1, [r4, 0xE] - ldr r2, _08144A44 @ =0xffff0000 - ldr r0, [sp] - ands r0, r2 - orrs r0, r1 - str r0, [sp] - ldrh r1, [r4, 0x14] - ldr r0, [sp, 0x4] - ands r0, r2 - orrs r0, r1 - str r0, [sp, 0x4] - ldr r0, [r4, 0x1C] - bl CalcCRC16WithTable - lsls r0, 16 - ldr r2, _08144A48 @ =0x0000ffff - ldr r1, [sp] - ands r1, r2 - orrs r1, r0 - str r1, [sp] - lsrs r1, 16 - strh r1, [r4, 0x12] - strh r5, [r4, 0x10] - movs r0, 0 - mov r1, sp - movs r2, 0x8 - bl SendBlock - b _08144AC2 - .align 2, 0 -_08144A44: .4byte 0xffff0000 -_08144A48: .4byte 0x0000ffff -_08144A4C: - bl sub_800A4BC - lsls r0, 24 - cmp r0, 0 - beq _08144AE2 - ldrb r0, [r4, 0x4] - bl sub_81448D8 - cmp r0, 0 - beq _08144AE2 - ldrb r0, [r4, 0x4] - bl sub_81448FC - ldrh r1, [r4, 0x10] - lsls r0, r1, 6 - subs r0, r1 - lsls r3, r0, 2 - ldrh r0, [r4, 0x14] - subs r0, r3 - cmp r0, 0xFC - bhi _08144A8C - ldr r1, [r4, 0x1C] - adds r1, r3 - lsls r2, r0, 16 - lsrs r2, 16 - movs r0, 0 - bl SendBlock - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - b _08144AC2 -_08144A8C: - ldr r1, [r4, 0x1C] - adds r1, r3 - movs r0, 0 - movs r2, 0xFC - bl SendBlock - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - b _08144AE2 -_08144AA0: - bl sub_800A4BC - lsls r0, 24 - cmp r0, 0 - beq _08144AE2 - ldr r0, [r4, 0x1C] - ldrh r1, [r4, 0x14] - bl CalcCRC16WithTable - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r4, 0x12] - cmp r0, r1 - beq _08144AC2 - bl sub_80FA190 - b _08144AE2 -_08144AC2: - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - b _08144AE2 -_08144ACA: - ldrb r0, [r4, 0x4] - bl sub_81448D8 - cmp r0, 0 - beq _08144AE2 - ldrb r0, [r4, 0x4] - bl sub_81448FC - movs r0, 0 - str r0, [r4] - movs r0, 0x1 - b _08144AE4 -_08144AE2: - movs r0, 0 -_08144AE4: - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81449E0 - thumb_func_start sub_8144AEC sub_8144AEC: @ 8144AEC push {r4,lr} diff --git a/include/link.h b/include/link.h index 1c13de37e..39873ec11 100644 --- a/include/link.h +++ b/include/link.h @@ -207,5 +207,6 @@ void sub_800A5BC(void); void sub_800AA80(u8); void sub_80098D8(void); void sub_80098B8(void); +bool8 sub_800A4BC(void); #endif // GUARD_LINK_H diff --git a/src/mevent_server.c b/src/mevent_server.c index 0c94980ff..8c68a9350 100644 --- a/src/mevent_server.c +++ b/src/mevent_server.c @@ -21,7 +21,7 @@ struct mevent_srv_sub u16 unk_12; u16 unk_14; void * unk_18; - u32 unk_1C; + void * unk_1C; u32 (*unk_20)(struct mevent_srv_sub *); u32 (*unk_24)(struct mevent_srv_sub *); }; @@ -40,6 +40,13 @@ struct mevent_srv_ish struct mevent_srv_sub unk_24; }; +struct send_recv_buff +{ + u16 unk0; + u16 unk2; + u16 unk4; +}; + EWRAM_DATA struct mevent_srv_ish * gUnknown_203F3C0 = NULL; u32 sub_814490C(struct mevent_srv_sub *); @@ -66,13 +73,13 @@ void sub_814485C(struct mevent_srv_sub * srv, u8 a1, u8 a2) srv->unk_0A = 0; srv->unk_0C = 0; srv->unk_08 = 0; - srv->unk_1C = 0; + srv->unk_1C = NULL; srv->unk_18 = NULL; srv->unk_24 = sub_81449E0; srv->unk_20 = sub_814490C; } -void sub_8144888(struct mevent_srv_sub * srv, u16 a1, u32 a2, u32 a3) +void sub_8144888(struct mevent_srv_sub * srv, u16 a1, void * a2, u32 a3) { srv->unk_00 = 0; srv->unk_0E = a1; @@ -95,7 +102,7 @@ void sub_81448AC(struct mevent_srv_sub * srv, u16 a1, void * a2) srv->unk_18 = a2; } -void sub_81448BC(u32 recv_idx, u16 * dest, size_t size) +void sub_81448BC(u32 recv_idx, void * dest, size_t size) { memcpy(dest, gBlockRecvBuffer[recv_idx], size); } @@ -115,22 +122,22 @@ void sub_81448FC(u32 recv_idx) bool32 sub_814490C(struct mevent_srv_sub * srv) { - u16 buff[4]; + struct send_recv_buff buff; + switch (srv->unk_00) { case 0: if (sub_81448D8(srv->unk_05)) { - u16 * r4; - sub_81448BC(srv->unk_05, (r4 = buff), sizeof(buff)); - srv->unk_0C = r4[2]; - srv->unk_0A = r4[1]; + sub_81448BC(srv->unk_05, &buff, sizeof(buff)); + srv->unk_0C = buff.unk4; + srv->unk_0A = buff.unk2; if (srv->unk_0C > 0x400) { sub_80FA190(); return FALSE; } - else if (srv->unk_06 != buff[0]) + else if (srv->unk_06 != buff.unk0) { sub_80FA190(); return FALSE; @@ -178,3 +185,65 @@ bool32 sub_814490C(struct mevent_srv_sub * srv) return FALSE; } + +bool32 sub_81449E0(struct mevent_srv_sub * srv) +{ + struct send_recv_buff buff; + + switch (srv->unk_00) + { + case 0: + if (sub_800A4BC()) + { + buff.unk0 = srv->unk_0E; + buff.unk4 = srv->unk_14; + buff.unk2 = CalcCRC16WithTable(srv->unk_1C, srv->unk_14); + srv->unk_12 = buff.unk2; + srv->unk_10 = 0; + SendBlock(0, &buff, sizeof(buff)); + ++srv->unk_00; + } + break; + case 1: + if (sub_800A4BC()) + { + if (sub_81448D8(srv->unk_04)) + { + size_t r3; + sub_81448FC(srv->unk_04); + r3 = 252 * srv->unk_10; + if (srv->unk_14 - r3 <= 252) + { + SendBlock(0, srv->unk_1C + r3, srv->unk_14 - r3); + ++srv->unk_10; + ++srv->unk_00; + } + else + { + SendBlock(0, srv->unk_1C + r3, 252); + ++srv->unk_10; + } + } + } + break; + case 2: + if (sub_800A4BC()) + { + if (CalcCRC16WithTable(srv->unk_1C, srv->unk_14) != srv->unk_12) + sub_80FA190(); + else + ++srv->unk_00; + } + break; + case 3: + if (sub_81448D8(srv->unk_04)) + { + sub_81448FC(srv->unk_04); + srv->unk_00 = 0; + return TRUE; + } + break; + } + + return FALSE; +} From de6cf9f0de562bfc3085ffc2e07825b4487b4b9e Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 30 Nov 2018 11:48:13 -0500 Subject: [PATCH 178/222] through sub_8144C80 --- asm/mevent_server.s | 247 -------------------------------------------- src/mevent_server.c | 115 ++++++++++++++++++++- 2 files changed, 113 insertions(+), 249 deletions(-) diff --git a/asm/mevent_server.s b/asm/mevent_server.s index d41ad7af4..7c5042b15 100644 --- a/asm/mevent_server.s +++ b/asm/mevent_server.s @@ -5,253 +5,6 @@ .text - thumb_func_start sub_8144AEC -sub_8144AEC: @ 8144AEC - push {r4,lr} - ldr r4, _08144B08 @ =gUnknown_203F3C0 - movs r0, 0x4C - bl AllocZeroed - str r0, [r4] - movs r1, 0x1 - movs r2, 0 - bl mevent_srv_ish_init - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08144B08: .4byte gUnknown_203F3C0 - thumb_func_end sub_8144AEC - - thumb_func_start sub_8144B0C -sub_8144B0C: @ 8144B0C - push {r4-r6,lr} - adds r6, r0, 0 - ldr r4, _08144B1C @ =gUnknown_203F3C0 - ldr r0, [r4] - cmp r0, 0 - bne _08144B20 - movs r0, 0x6 - b _08144B40 - .align 2, 0 -_08144B1C: .4byte gUnknown_203F3C0 -_08144B20: - bl mevent_srv_ish_exec - adds r5, r0, 0 - cmp r5, 0x6 - bne _08144B3E - ldr r0, [r4] - ldr r1, [r0, 0x4] - strh r1, [r6] - bl sub_8144BC0 - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] -_08144B3E: - adds r0, r5, 0 -_08144B40: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8144B0C - - thumb_func_start sub_8144B48 -sub_8144B48: @ 8144B48 - ldr r0, _08144B54 @ =gUnknown_203F3C0 - ldr r1, [r0] - ldr r0, [r1, 0xC] - adds r0, 0x1 - str r0, [r1, 0xC] - bx lr - .align 2, 0 -_08144B54: .4byte gUnknown_203F3C0 - thumb_func_end sub_8144B48 - - thumb_func_start sub_8144B58 -sub_8144B58: @ 8144B58 - ldr r0, _08144B60 @ =gUnknown_203F3C0 - ldr r0, [r0] - ldr r0, [r0, 0x20] - bx lr - .align 2, 0 -_08144B60: .4byte gUnknown_203F3C0 - thumb_func_end sub_8144B58 - - thumb_func_start sub_8144B64 -sub_8144B64: @ 8144B64 - ldr r1, _08144B6C @ =gUnknown_203F3C0 - ldr r1, [r1] - str r0, [r1, 0x4] - bx lr - .align 2, 0 -_08144B6C: .4byte gUnknown_203F3C0 - thumb_func_end sub_8144B64 - - thumb_func_start mevent_srv_ish_init -mevent_srv_ish_init: @ 8144B70 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - adds r6, r1, 0 - mov r8, r2 - movs r0, 0 - str r0, [r4] - str r0, [r4, 0x8] - str r0, [r4, 0xC] - movs r5, 0x80 - lsls r5, 3 - adds r0, r5, 0 - bl AllocZeroed - str r0, [r4, 0x14] - adds r0, r5, 0 - bl AllocZeroed - str r0, [r4, 0x18] - adds r0, r5, 0 - bl AllocZeroed - str r0, [r4, 0x1C] - movs r0, 0x40 - bl AllocZeroed - str r0, [r4, 0x20] - adds r4, 0x24 - adds r0, r4, 0 - adds r1, r6, 0 - mov r2, r8 - bl sub_814485C - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end mevent_srv_ish_init - - thumb_func_start sub_8144BC0 -sub_8144BC0: @ 8144BC0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x14] - bl Free - ldr r0, [r4, 0x18] - bl Free - ldr r0, [r4, 0x1C] - bl Free - ldr r0, [r4, 0x20] - bl Free - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8144BC0 - - thumb_func_start sub_8144BE4 -sub_8144BE4: @ 8144BE4 - push {r4,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x1C] - ldr r1, [r4, 0x18] - movs r2, 0x80 - lsls r2, 3 - bl memcpy - movs r0, 0 - str r0, [r4, 0x10] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8144BE4 - - thumb_func_start sub_8144C00 -sub_8144C00: @ 8144C00 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r6, r1, 0 - adds r5, r2, 0 - movs r0, 0 - str r0, [sp] - ldr r1, [r4, 0x14] - ldr r2, _08144C30 @ =0x05000100 - mov r0, sp - bl CpuSet - ldr r2, [r4, 0x14] - str r5, [r2] - adds r4, 0x24 - adds r0, r4, 0 - adds r1, r6, 0 - movs r3, 0x4 - bl sub_8144888 - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08144C30: .4byte 0x05000100 - thumb_func_end sub_8144C00 - - thumb_func_start sub_8144C34 -sub_8144C34: @ 8144C34 - push {r4,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x1C] - ldr r1, _08144C58 @ =gUnknown_84687E0 - movs r2, 0x80 - lsls r2, 3 - bl memcpy - movs r1, 0 - str r1, [r4, 0x10] - movs r0, 0x4 - str r0, [r4, 0x8] - str r1, [r4, 0xC] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08144C58: .4byte gUnknown_84687E0 - thumb_func_end sub_8144C34 - - thumb_func_start sub_8144C5C -sub_8144C5C: @ 8144C5C - movs r0, 0x6 - bx lr - thumb_func_end sub_8144C5C - - thumb_func_start sub_8144C60 -sub_8144C60: @ 8144C60 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x24 - bl sub_8144844 - cmp r0, 0 - beq _08144C76 - movs r0, 0x4 - str r0, [r4, 0x8] - movs r0, 0 - str r0, [r4, 0xC] -_08144C76: - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8144C60 - - thumb_func_start sub_8144C80 -sub_8144C80: @ 8144C80 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x24 - bl sub_8144850 - cmp r0, 0 - beq _08144C96 - movs r0, 0x4 - str r0, [r4, 0x8] - movs r0, 0 - str r0, [r4, 0xC] -_08144C96: - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8144C80 - thumb_func_start sub_8144CA0 sub_8144CA0: @ 8144CA0 push {r4,lr} diff --git a/src/mevent_server.c b/src/mevent_server.c index 8c68a9350..a94d8a0a1 100644 --- a/src/mevent_server.c +++ b/src/mevent_server.c @@ -51,6 +51,11 @@ EWRAM_DATA struct mevent_srv_ish * gUnknown_203F3C0 = NULL; u32 sub_814490C(struct mevent_srv_sub *); u32 sub_81449E0(struct mevent_srv_sub *); +void mevent_srv_ish_init(struct mevent_srv_ish *, u32, u32); +u32 mevent_srv_ish_exec(struct mevent_srv_ish *); +void sub_8144BC0(struct mevent_srv_ish *); + +extern u8 gUnknown_84687E0[0x400]; u32 sub_8144844(struct mevent_srv_sub * srv) { @@ -62,7 +67,7 @@ u32 sub_8144850(struct mevent_srv_sub * srv) return srv->unk_24(srv); } -void sub_814485C(struct mevent_srv_sub * srv, u8 a1, u8 a2) +void sub_814485C(struct mevent_srv_sub * srv, u32 a1, u32 a2) { srv->unk_04 = a1; srv->unk_05 = a2; @@ -79,7 +84,7 @@ void sub_814485C(struct mevent_srv_sub * srv, u8 a1, u8 a2) srv->unk_20 = sub_814490C; } -void sub_8144888(struct mevent_srv_sub * srv, u16 a1, void * a2, u32 a3) +void sub_8144888(struct mevent_srv_sub * srv, u32 a1, void * a2, u32 a3) { srv->unk_00 = 0; srv->unk_0E = a1; @@ -247,3 +252,109 @@ bool32 sub_81449E0(struct mevent_srv_sub * srv) return FALSE; } + +void sub_8144AEC(void) +{ + gUnknown_203F3C0 = AllocZeroed(sizeof(struct mevent_srv_ish)); + mevent_srv_ish_init(gUnknown_203F3C0, 1, 0); +} + +u32 sub_8144B0C(u16 * a0) +{ + u32 result; + if (gUnknown_203F3C0 == NULL) + return 6; + result = mevent_srv_ish_exec(gUnknown_203F3C0); + if (result == 6) + { + *a0 = gUnknown_203F3C0->unk_04; + sub_8144BC0(gUnknown_203F3C0); + Free(gUnknown_203F3C0); + gUnknown_203F3C0 = NULL; + } + return result; +} + +void sub_8144B48(void) +{ + gUnknown_203F3C0->unk_0C++; +} + +void * sub_8144B58(void) +{ + return gUnknown_203F3C0->unk_20; +} + +void sub_8144B64(u32 a0) +{ + gUnknown_203F3C0->unk_04 = a0; +} + +void mevent_srv_ish_init(struct mevent_srv_ish * srv, u32 a1, u32 a2) +{ + srv->unk_00 = 0; + srv->unk_08 = 0; + srv->unk_0C = 0; + srv->unk_14 = AllocZeroed(0x400); + srv->unk_18 = AllocZeroed(0x400); + srv->unk_1C = AllocZeroed(0x400); + srv->unk_20 = AllocZeroed(0x40); + sub_814485C(&srv->unk_24, a1, a2); +} + +void sub_8144BC0(struct mevent_srv_ish * srv) +{ + Free(srv->unk_14); + Free(srv->unk_18); + Free(srv->unk_1C); + Free(srv->unk_20); +} + +void sub_8144BE4(struct mevent_srv_ish * srv) +{ + memcpy(srv->unk_1C, srv->unk_18, 0x400); + srv->unk_10 = 0; +} + +void sub_8144C00(struct mevent_srv_ish * srv, u32 a1, u32 a2) +{ + CpuFill32(0, srv->unk_14, 0x400); + *(u32 *)srv->unk_14 = a2; + sub_8144888(&srv->unk_24, a1, srv->unk_14, 4); +} + +// funcs in array gUnknown_8466F60 + +u32 sub_8144C34(struct mevent_srv_ish * srv) +{ + memcpy(srv->unk_1C, gUnknown_84687E0, sizeof(gUnknown_84687E0)); + srv->unk_10 = 0; + srv->unk_08 = 4; + srv->unk_0C = 0; + return 0; +} + +u32 sub_8144C5C(struct mevent_srv_ish * srv) +{ + return 6; +} + +u32 sub_8144C60(struct mevent_srv_ish * srv) +{ + if (sub_8144844(&srv->unk_24)) + { + srv->unk_08 = 4; + srv->unk_0C = 0; + } + return 1; +} + +u32 sub_8144C80(struct mevent_srv_ish * srv) +{ + if (sub_8144850(&srv->unk_24)) + { + srv->unk_08 = 4; + srv->unk_0C = 0; + } + return 1; +} From 7c2517611b83ac9d490a99ec32cf1a4412c05ce0 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 30 Nov 2018 12:16:42 -0500 Subject: [PATCH 179/222] sub_8144CA0 --- asm/mevent_server.s | 218 ----------------------------------------- include/battle_tower.h | 1 + include/mevent.h | 5 + include/script.h | 1 + src/mevent_server.c | 111 ++++++++++++++++++++- 5 files changed, 117 insertions(+), 219 deletions(-) diff --git a/asm/mevent_server.s b/asm/mevent_server.s index 7c5042b15..5f9ce9862 100644 --- a/asm/mevent_server.s +++ b/asm/mevent_server.s @@ -5,224 +5,6 @@ .text - thumb_func_start sub_8144CA0 -sub_8144CA0: @ 8144CA0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x10] - lsls r2, r0, 3 - ldr r1, [r4, 0x1C] - adds r2, r1, r2 - adds r0, 0x1 - str r0, [r4, 0x10] - ldr r0, [r2] - cmp r0, 0x15 - bls _08144CB8 - b _08144E60 -_08144CB8: - lsls r0, 2 - ldr r1, _08144CC4 @ =_08144CC8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08144CC4: .4byte _08144CC8 - .align 2, 0 -_08144CC8: - .4byte _08144E60 - .4byte _08144D20 - .4byte _08144D28 - .4byte _08144D38 - .4byte _08144D70 - .4byte _08144D78 - .4byte _08144D62 - .4byte _08144D6A - .4byte _08144DC6 - .4byte _08144DF0 - .4byte _08144DE8 - .4byte _08144D8E - .4byte _08144DA4 - .4byte _08144DBA - .4byte _08144DDC - .4byte _08144E18 - .4byte _08144E1C - .4byte _08144E24 - .4byte _08144E30 - .4byte _08144D4E - .4byte _08144D3C - .4byte _08144E4C -_08144D20: - ldr r0, [r2, 0x4] - str r0, [r4, 0x4] - movs r0, 0x1 - b _08144E5A -_08144D28: - adds r0, r4, 0 - adds r0, 0x24 - ldr r1, [r2, 0x4] - ldr r2, [r4, 0x18] - bl sub_81448AC - movs r0, 0x2 - b _08144E5A -_08144D38: - movs r0, 0x3 - b _08144E5A -_08144D3C: - adds r0, r4, 0 - adds r0, 0x24 - ldr r2, [r4, 0x14] - movs r1, 0x14 - movs r3, 0 - bl sub_8144888 - movs r0, 0x3 - b _08144E5A -_08144D4E: - ldrb r0, [r2, 0x4] - bl GetGameStat - adds r2, r0, 0 - adds r0, r4, 0 - movs r1, 0x12 - bl sub_8144C00 - movs r0, 0x3 - b _08144E5A -_08144D62: - ldr r0, [r4, 0x4] - cmp r0, 0 - bne _08144E60 - b _08144D70 -_08144D6A: - ldr r0, [r4, 0x4] - cmp r0, 0x1 - bne _08144E60 -_08144D70: - adds r0, r4, 0 - bl sub_8144BE4 - b _08144E60 -_08144D78: - ldr r0, [r4, 0x20] - ldr r1, [r4, 0x18] - movs r2, 0x40 - bl memcpy - movs r0, 0x5 - str r0, [r4, 0x8] - movs r0, 0 - str r0, [r4, 0xC] - movs r0, 0x2 - b _08144E62 -_08144D8E: - ldr r0, [r4, 0x20] - ldr r1, [r4, 0x18] - movs r2, 0x40 - bl memcpy - movs r0, 0x5 - str r0, [r4, 0x8] - movs r0, 0 - str r0, [r4, 0xC] - movs r0, 0x3 - b _08144E62 -_08144DA4: - ldr r0, [r4, 0x20] - ldr r1, [r4, 0x18] - movs r2, 0x40 - bl memcpy - movs r0, 0x5 - str r0, [r4, 0x8] - movs r0, 0 - str r0, [r4, 0xC] - movs r0, 0x5 - b _08144E62 -_08144DBA: - movs r0, 0x5 - str r0, [r4, 0x8] - movs r0, 0 - str r0, [r4, 0xC] - movs r0, 0x4 - b _08144E62 -_08144DC6: - ldr r0, [r4, 0x14] - bl sub_81442CC - adds r0, r4, 0 - adds r0, 0x24 - ldr r2, [r4, 0x14] - movs r1, 0x11 - movs r3, 0x64 - bl sub_8144888 - b _08144E60 -_08144DDC: - ldr r2, [r4, 0x4] - adds r0, r4, 0 - movs r1, 0x13 - bl sub_8144C00 - b _08144E60 -_08144DE8: - ldr r0, [r4, 0x18] - bl sub_8143F68 - b _08144E60 -_08144DF0: - ldr r0, [r4, 0x18] - bl sub_8143EF4 - cmp r0, 0 - bne _08144E0C - ldr r0, [r4, 0x18] - bl sub_8143DC8 - adds r0, r4, 0 - movs r1, 0x13 - movs r2, 0 - bl sub_8144C00 - b _08144E60 -_08144E0C: - adds r0, r4, 0 - movs r1, 0x13 - movs r2, 0x1 - bl sub_8144C00 - b _08144E60 -_08144E18: - movs r0, 0x6 - b _08144E5A -_08144E1C: - ldr r0, [r4, 0x18] - bl sub_8144254 - b _08144E60 -_08144E24: - ldr r0, [r4, 0x18] - movs r1, 0xFA - lsls r1, 2 - bl sub_8069EA4 - b _08144E60 -_08144E30: - ldr r0, _08144E48 @ =gSaveBlock2Ptr - ldr r0, [r0] - movs r1, 0x94 - lsls r1, 3 - adds r0, r1 - ldr r1, [r4, 0x18] - movs r2, 0xBC - bl memcpy - bl sub_80E7490 - b _08144E60 - .align 2, 0 -_08144E48: .4byte gSaveBlock2Ptr -_08144E4C: - ldr r0, _08144E68 @ =gDecompressionBuffer - ldr r1, [r4, 0x18] - movs r2, 0x80 - lsls r2, 3 - bl memcpy - movs r0, 0x7 -_08144E5A: - str r0, [r4, 0x8] - movs r0, 0 - str r0, [r4, 0xC] -_08144E60: - movs r0, 0x1 -_08144E62: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08144E68: .4byte gDecompressionBuffer - thumb_func_end sub_8144CA0 - thumb_func_start sub_8144E6C sub_8144E6C: @ 8144E6C push {lr} diff --git a/include/battle_tower.h b/include/battle_tower.h index 36d5eb1f7..0782725b6 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -5,5 +5,6 @@ u16 sub_8164FCC(u8, u8); void sub_80E7524(u32 *); +void sub_80E7490(void); #endif //GUARD_BATTLE_TOWER_H diff --git a/include/mevent.h b/include/mevent.h index 31e1041fe..1744bb524 100644 --- a/include/mevent.h +++ b/include/mevent.h @@ -34,6 +34,11 @@ struct MEvent_Str_2 }; struct MysteryEventStruct * sub_8143D94(void); +bool32 sub_8143DC8(const struct MEventBuffer_3120_Sub * src); bool32 sub_8143E1C(void); +bool32 sub_8143EF4(const u8 * src); +bool32 sub_8143F68(const struct MEventBuffer_32E0_Sub * data); +bool32 sub_8144254(const u16 * data); +void sub_81442CC(struct MEventStruct_Unk1442CC * data); #endif //GUARD_MEVENT_H diff --git a/include/script.h b/include/script.h index 6ed2e8f49..b718af4c1 100644 --- a/include/script.h +++ b/include/script.h @@ -63,5 +63,6 @@ bool32 sub_80991F8(void); u8 *sub_8099244(void); void sub_80992A0(u8 *script, u16 scriptSize); bool32 sub_8069DFC(void); +void sub_8069EA4(u8 * script, u16 scriptSize); #endif // GUARD_SCRIPT_H diff --git a/src/mevent_server.c b/src/mevent_server.c index a94d8a0a1..3297e2658 100644 --- a/src/mevent_server.c +++ b/src/mevent_server.c @@ -1,8 +1,12 @@ #include "global.h" #include "malloc.h" +#include "decompress.h" #include "util.h" #include "link.h" #include "link_rfu.h" +#include "overworld.h" +#include "script.h" +#include "battle_tower.h" #include "mevent.h" extern u16 gBlockRecvBuffer[][128]; @@ -97,7 +101,7 @@ void sub_8144888(struct mevent_srv_sub * srv, u32 a1, void * a2, u32 a3) srv->unk_1C = a2; } -void sub_81448AC(struct mevent_srv_sub * srv, u16 a1, void * a2) +void sub_81448AC(struct mevent_srv_sub * srv, u32 a1, void * a2) { srv->unk_00 = 0; srv->unk_06 = a1; @@ -358,3 +362,108 @@ u32 sub_8144C80(struct mevent_srv_ish * srv) } return 1; } + +u32 sub_8144CA0(struct mevent_srv_ish * srv) +{ + u32 * r2 = (u32 *)srv->unk_1C + 2 * srv->unk_10; + ++srv->unk_10; + switch (r2[0]) + { + case 0: + break; + case 1: + srv->unk_04 = r2[1]; + srv->unk_08 = 1; + srv->unk_0C = 0; + break; + case 2: + sub_81448AC(&srv->unk_24, r2[1], srv->unk_18); + srv->unk_08 = 2; + srv->unk_0C = 0; + break; + case 3: + srv->unk_08 = 3; + srv->unk_0C = 0; + break; + case 20: + sub_8144888(&srv->unk_24, 0x14, srv->unk_14, 0); + srv->unk_08 = 3; + srv->unk_0C = 0; + break; + case 19: + sub_8144C00(srv, 0x12, GetGameStat(r2[1])); + srv->unk_08 = 3; + srv->unk_0C = 0; + break; + case 6: + if (srv->unk_04 == 0) + sub_8144BE4(srv); + break; + case 7: + if (srv->unk_04 == 1) + sub_8144BE4(srv); + break; + case 4: + sub_8144BE4(srv); + break; + case 5: + memcpy(srv->unk_20, srv->unk_18, 0x40); + srv->unk_08 = 5; + srv->unk_0C = 0; + return 2; + case 11: + memcpy(srv->unk_20, srv->unk_18, 0x40); + srv->unk_08 = 5; + srv->unk_0C = 0; + return 3; + case 12: + memcpy(srv->unk_20, srv->unk_18, 0x40); + srv->unk_08 = 5; + srv->unk_0C = 0; + return 5; + case 13: + srv->unk_08 = 5; + srv->unk_0C = 0; + return 4; + case 8: + sub_81442CC(srv->unk_14); + sub_8144888(&srv->unk_24, 0x11, srv->unk_14, 0x64); + break; + case 14: + sub_8144C00(srv, 0x13, srv->unk_04); + break; + case 10: + sub_8143F68(srv->unk_18); + break; + case 9: + if (!sub_8143EF4(srv->unk_18)) + { + sub_8143DC8(srv->unk_18); + sub_8144C00(srv, 0x13, 0); + } + else + sub_8144C00(srv, 0x13, 1); + break; + case 15: + srv->unk_08 = 6; + srv->unk_0C = 0; + break; + case 16: + sub_8144254(srv->unk_18); + break; + case 17: + sub_8069EA4(srv->unk_18, 1000); + break; + case 18: + memcpy(gSaveBlock2Ptr->unk_4A0, srv->unk_18, 0xbc); + sub_80E7490(); + break; + case 21: + memcpy(gDecompressionBuffer, srv->unk_18, 0x400); + srv->unk_08 = 7; + srv->unk_0C = 0; + break; + } + + return 1; +} From f178d06946a4debf6a0551094d3ef2f70b7b364c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 30 Nov 2018 12:26:24 -0500 Subject: [PATCH 180/222] through mevent_srv_ish_exec --- asm/mevent_server.s | 103 --------------------------------- data/data_8466FB8.s | 11 ---- include/mystery_event_script.h | 3 + src/mevent_server.c | 56 ++++++++++++++++++ 4 files changed, 59 insertions(+), 114 deletions(-) diff --git a/asm/mevent_server.s b/asm/mevent_server.s index 5f9ce9862..41c3ad7da 100644 --- a/asm/mevent_server.s +++ b/asm/mevent_server.s @@ -5,109 +5,6 @@ .text - thumb_func_start sub_8144E6C -sub_8144E6C: @ 8144E6C - push {lr} - adds r1, r0, 0 - ldr r0, [r1, 0xC] - cmp r0, 0 - beq _08144E7E - movs r0, 0x4 - str r0, [r1, 0x8] - movs r0, 0 - str r0, [r1, 0xC] -_08144E7E: - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_8144E6C - - thumb_func_start sub_8144E84 -sub_8144E84: @ 8144E84 - push {r4,lr} - adds r4, r0, 0 - ldr r0, [r4, 0xC] - cmp r0, 0 - beq _08144E94 - cmp r0, 0x1 - beq _08144EA2 - b _08144EB4 -_08144E94: - ldr r0, [r4, 0x18] - bl sub_80DA89C - ldr r0, [r4, 0xC] - adds r0, 0x1 - str r0, [r4, 0xC] - b _08144EB4 -_08144EA2: - adds r0, r4, 0x4 - bl sub_80DA8B0 - adds r1, r0, 0 - cmp r1, 0 - bne _08144EB4 - movs r0, 0x4 - str r0, [r4, 0x8] - str r1, [r4, 0xC] -_08144EB4: - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8144E84 - - thumb_func_start sub_8144EBC -sub_8144EBC: @ 8144EBC - push {r4,lr} - adds r4, r0, 0 - ldr r3, _08144EE4 @ =gDecompressionBuffer - adds r0, r4, 0x4 - ldr r1, _08144EE8 @ =gSaveBlock2Ptr - ldr r1, [r1] - ldr r2, _08144EEC @ =gSaveBlock1Ptr - ldr r2, [r2] - bl _call_via_r3 - cmp r0, 0x1 - bne _08144EDC - movs r0, 0x4 - str r0, [r4, 0x8] - movs r0, 0 - str r0, [r4, 0xC] -_08144EDC: - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08144EE4: .4byte gDecompressionBuffer -_08144EE8: .4byte gSaveBlock2Ptr -_08144EEC: .4byte gSaveBlock1Ptr - thumb_func_end sub_8144EBC - - thumb_func_start mevent_srv_ish_exec -mevent_srv_ish_exec: @ 8144EF0 - push {r4,r5,lr} - sub sp, 0x20 - mov r2, sp - ldr r1, _08144F18 @ =gUnknown_8466F60 - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3,r4} - stm r2!, {r3,r4} - ldr r1, [r0, 0x8] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - bl _call_via_r1 - add sp, 0x20 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08144F18: .4byte gUnknown_8466F60 - thumb_func_end mevent_srv_ish_exec - thumb_func_start sub_8144F1C sub_8144F1C: @ 8144F1C push {r4,lr} diff --git a/data/data_8466FB8.s b/data/data_8466FB8.s index 21ee2e1df..bdfdaaa6b 100644 --- a/data/data_8466FB8.s +++ b/data/data_8466FB8.s @@ -1,16 +1,5 @@ .section .rodata - .align 2 -gUnknown_8466F60:: @ 8466F60 - .4byte sub_8144C34 - .4byte sub_8144C5C - .4byte sub_8144C60 - .4byte sub_8144C80 - .4byte sub_8144CA0 - .4byte sub_8144E6C - .4byte sub_8144E84 - .4byte sub_8144EBC - .align 2 gUnknown_8466F80:: @ 8466F80 .asciz "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" diff --git a/include/mystery_event_script.h b/include/mystery_event_script.h index 1ba1464fa..8f90ccf53 100644 --- a/include/mystery_event_script.h +++ b/include/mystery_event_script.h @@ -7,4 +7,7 @@ u32 RunMysteryEventScript(u8 *); void SetMysteryEventScriptStatus(u32 val); u16 GetRecordMixingGift(void); +void sub_80DA89C(void *); +bool32 sub_80DA8B0(u32 *); + #endif // GUARD_MYSTERY_EVENT_SCRIPT_H diff --git a/src/mevent_server.c b/src/mevent_server.c index 3297e2658..251764441 100644 --- a/src/mevent_server.c +++ b/src/mevent_server.c @@ -7,6 +7,7 @@ #include "overworld.h" #include "script.h" #include "battle_tower.h" +#include "mystery_event_script.h" #include "mevent.h" extern u16 gBlockRecvBuffer[][128]; @@ -467,3 +468,58 @@ u32 sub_8144CA0(struct mevent_srv_ish * srv) return 1; } + +u32 sub_8144E6C(struct mevent_srv_ish * srv) +{ + if (srv->unk_0C) + { + srv->unk_08 = 4; + srv->unk_0C = 0; + } + return 1; +} + +u32 sub_8144E84(struct mevent_srv_ish * srv) +{ + switch (srv->unk_0C) + { + case 0: + sub_80DA89C(srv->unk_18); + ++srv->unk_0C; + break; + case 1: + if (!sub_80DA8B0(&srv->unk_04)) + { + srv->unk_08 = 4; + srv->unk_0C = 0; + } + break; + } + return 1; +} + +u32 sub_8144EBC(struct mevent_srv_ish * srv) +{ + u32 (*func)(u32 *, struct SaveBlock2 *, struct SaveBlock1 *) = (void *)gDecompressionBuffer; + if (func(&srv->unk_04, gSaveBlock2Ptr, gSaveBlock1Ptr) == 1) + { + srv->unk_08 = 4; + srv->unk_0C = 0; + } + return 1; +} + +u32 mevent_srv_ish_exec(struct mevent_srv_ish * srv) +{ + u32 (*funcs[])(struct mevent_srv_ish *) = { + sub_8144C34, + sub_8144C5C, + sub_8144C60, + sub_8144C80, + sub_8144CA0, + sub_8144E6C, + sub_8144E84, + sub_8144EBC + }; + return funcs[srv->unk_08](srv); +} From 8a8e86fa4fe0a7932f475c7aa8424ea840327e4b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 30 Nov 2018 15:26:16 -0500 Subject: [PATCH 181/222] split mevent_server --- asm/mevent_server.s | 167 +---------- common_syms/mevent.txt | 1 + data/data_8466FB8.s | 22 +- include/cereader_tool.h | 9 + include/help_system.h | 2 + include/mevent_server.h | 36 +++ include/mystery_gift_menu.h | 6 + ld_script.txt | 4 + src/mevent.c | 9 +- src/mevent_server.c | 535 ++++-------------------------------- src/mevent_server_ish.c | 308 +++++++++++++++++++++ src/mevent_server_sub.c | 211 ++++++++++++++ sym_common.txt | 4 +- sym_ewram.txt | 12 +- 14 files changed, 645 insertions(+), 681 deletions(-) create mode 100644 common_syms/mevent.txt create mode 100644 include/cereader_tool.h create mode 100644 include/mystery_gift_menu.h create mode 100644 src/mevent_server_ish.c create mode 100644 src/mevent_server_sub.c diff --git a/asm/mevent_server.s b/asm/mevent_server.s index 41c3ad7da..1bcc5deed 100644 --- a/asm/mevent_server.s +++ b/asm/mevent_server.s @@ -5,169 +5,6 @@ .text - thumb_func_start sub_8144F1C -sub_8144F1C: @ 8144F1C - push {r4,lr} - ldr r4, _08144F38 @ =gUnknown_203F3C4 - movs r0, 0x60 - bl AllocZeroed - str r0, [r4] - ldr r1, _08144F3C @ =gUnknown_8468B6C - movs r2, 0 - movs r3, 0x1 - bl mevent_srv_init_common - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08144F38: .4byte gUnknown_203F3C4 -_08144F3C: .4byte gUnknown_8468B6C - thumb_func_end sub_8144F1C - - thumb_func_start sub_8144F40 -sub_8144F40: @ 8144F40 - push {r4,lr} - ldr r4, _08144F5C @ =gUnknown_203F3C4 - movs r0, 0x60 - bl AllocZeroed - str r0, [r4] - ldr r1, _08144F60 @ =gUnknown_8468BCC - movs r2, 0 - movs r3, 0x1 - bl mevent_srv_init_common - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08144F5C: .4byte gUnknown_203F3C4 -_08144F60: .4byte gUnknown_8468BCC - thumb_func_end sub_8144F40 - - thumb_func_start sub_8144F64 -sub_8144F64: @ 8144F64 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r4, _08144F74 @ =gUnknown_203F3C4 - ldr r0, [r4] - cmp r0, 0 - bne _08144F78 - movs r0, 0x3 - b _08144F98 - .align 2, 0 -_08144F74: .4byte gUnknown_203F3C4 -_08144F78: - bl sub_8145600 - adds r5, r0, 0 - cmp r5, 0x3 - bne _08144F96 - ldr r0, [r4] - ldr r1, [r0, 0x4] - strh r1, [r6] - bl mevent_srv_free_resources - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] -_08144F96: - adds r0, r5, 0 -_08144F98: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8144F64 - - thumb_func_start mevent_srv_init_common -mevent_srv_init_common: @ 8144FA0 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - adds r4, r0, 0 - adds r6, r1, 0 - mov r8, r2 - mov r9, r3 - movs r5, 0 - str r5, [r4] - str r5, [r4, 0x8] - movs r0, 0xA6 - lsls r0, 1 - bl AllocZeroed - str r0, [r4, 0x18] - movs r0, 0xDE - lsls r0, 1 - bl AllocZeroed - str r0, [r4, 0x1C] - movs r0, 0x80 - lsls r0, 3 - bl AllocZeroed - str r0, [r4, 0x14] - movs r0, 0x64 - bl AllocZeroed - str r0, [r4, 0x20] - str r6, [r4, 0x10] - str r5, [r4, 0xC] - adds r4, 0x38 - adds r0, r4, 0 - mov r1, r8 - mov r2, r9 - bl sub_814485C - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end mevent_srv_init_common - - thumb_func_start mevent_srv_free_resources -mevent_srv_free_resources: @ 8144FF8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x18] - bl Free - ldr r0, [r4, 0x1C] - bl Free - ldr r0, [r4, 0x14] - bl Free - ldr r0, [r4, 0x20] - bl Free - pop {r4} - pop {r0} - bx r0 - thumb_func_end mevent_srv_free_resources - - thumb_func_start sub_814501C -sub_814501C: @ 814501C - push {r4-r7,lr} - adds r5, r0, 0 - adds r6, r1, 0 - adds r7, r2, 0 - adds r4, r3, 0 - movs r0, 0x80 - lsls r0, 3 - cmp r4, r0 - bls _0814503A - ldr r0, _08145050 @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - ldr r1, _08145054 @ =0x00000101 - ldr r2, _08145058 @ =gUnknown_8466FB8 "size <= ME_SEND_BUF_SIZE" - movs r3, 0x1 - bl AGBAssert -_0814503A: - adds r0, r5, 0 - adds r0, 0x38 - adds r1, r6, 0 - adds r2, r7, 0 - adds r3, r4, 0 - bl sub_8144888 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08145050: .4byte gUnknown_8466F80 -_08145054: .4byte 0x00000101 -_08145058: .4byte gUnknown_8466FB8 - thumb_func_end sub_814501C - thumb_func_start sub_814505C sub_814505C: @ 814505C push {lr} @@ -871,7 +708,7 @@ sub_8145600: @ 8145600 movs r3, 0x1 bl AGBAssert _08145616: - ldr r1, _08145650 @ =gUnknown_8467030 + ldr r1, _08145650 @ =func_tbl ldr r0, [r4, 0x8] lsls r0, 2 adds r0, r1 @@ -897,7 +734,7 @@ _0814563C: _08145644: .4byte gUnknown_8466F80 _08145648: .4byte 0x00000222 _0814564C: .4byte gUnknown_8467044 -_08145650: .4byte gUnknown_8467030 +_08145650: .4byte func_tbl thumb_func_end sub_8145600 .align 2, 0 @ Don't pad with nop. diff --git a/common_syms/mevent.txt b/common_syms/mevent.txt new file mode 100644 index 000000000..cfaf59d33 --- /dev/null +++ b/common_syms/mevent.txt @@ -0,0 +1 @@ +gUnknown_3005ED0 diff --git a/data/data_8466FB8.s b/data/data_8466FB8.s index bdfdaaa6b..c34887d86 100644 --- a/data/data_8466FB8.s +++ b/data/data_8466FB8.s @@ -1,27 +1,7 @@ .section .rodata .align 2 -gUnknown_8466F80:: @ 8466F80 - .asciz "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - - .align 2 -gUnknown_8466FB8:: @ 8466FB8 - .asciz "size <= ME_SEND_BUF_SIZE" - - .align 2 -gUnknown_8466FD4:: @ 8466FD4 - .asciz "cmd->parameter == NULL" - - .align 2 -gUnknown_8466FEC:: @ 8466FEC - .asciz "cmd->flag == FALSE" - - .align 2 -gUnknown_8467000:: @ 8467000 - .asciz "cmd->flag == FALSE && cmd->parameter == NULL" - - .align 2 -gUnknown_8467030:: @ 8467030 +func_tbl:: @ 8467030 .4byte sub_8145080 .4byte sub_8145088 .4byte sub_814508C diff --git a/include/cereader_tool.h b/include/cereader_tool.h new file mode 100644 index 000000000..28ef526eb --- /dev/null +++ b/include/cereader_tool.h @@ -0,0 +1,9 @@ +#ifndef GUARD_CEREADER_TOOL_H +#define GUARD_CEREADER_TOOL_H + +#include "global.h" + +bool32 sub_815D794(u8 *); +u8 sub_815D6B4(u8 *); + +#endif //GUARD_CEREADER_TOOL_H diff --git a/include/help_system.h b/include/help_system.h index 3f6a741c6..632788148 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -5,4 +5,6 @@ extern bool8 gUnknown_3005ECC; +void sub_812B484(void); + #endif //GUARD_HELP_SYSTEM_H diff --git a/include/mevent_server.h b/include/mevent_server.h index 0d46d8fc5..d2d7b0687 100644 --- a/include/mevent_server.h +++ b/include/mevent_server.h @@ -1,4 +1,40 @@ #ifndef GUARD_MEVENT_SERVER_H #define GUARD_MEVENT_SERVER_H +#include "global.h" + +#define ME_SEND_BUF_SIZE 0x400 + +struct mevent_srv_sub +{ + s32 unk_00; + u8 unk_04; + u8 unk_05; + u16 unk_06; + u16 unk_08; + u16 unk_0A; + u16 unk_0C; + u16 unk_0E; + u16 unk_10; + u16 unk_12; + u16 unk_14; + void * unk_18; + void * unk_1C; + u32 (*unk_20)(struct mevent_srv_sub *); + u32 (*unk_24)(struct mevent_srv_sub *); +}; + +struct send_recv_buff +{ + u16 unk0; + u16 unk2; + u16 unk4; +}; + +u32 sub_8144844(struct mevent_srv_sub * svr); +u32 sub_8144850(struct mevent_srv_sub * svr); +void sub_814485C(struct mevent_srv_sub * svr, u32 a1, u32 a2); +void sub_8144888(struct mevent_srv_sub * svr, u32 a1, void * a2, u32 size); +void sub_81448AC(struct mevent_srv_sub * svr, u32 a1, void * a2); + #endif //GUARD_MEVENT_SERVER_H diff --git a/include/mystery_gift_menu.h b/include/mystery_gift_menu.h new file mode 100644 index 000000000..17af9ce57 --- /dev/null +++ b/include/mystery_gift_menu.h @@ -0,0 +1,6 @@ +#ifndef GUARD_MYSTERY_GIFT_MENU_H +#define GUARD_MYSTERY_GIFT_MENU_H + +void sub_81422FC(void); + +#endif //GUARD_MYSTERY_GIFT_MENU_H diff --git a/ld_script.txt b/ld_script.txt index 88ad583b6..19d8a5862 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -244,6 +244,8 @@ SECTIONS { asm/mystery_gift_menu.o(.text); asm/link_rfu_4.o(.text); src/mevent.o(.text); + src/mevent_server_sub.o(.text); + src/mevent_server_ish.o(.text); src/mevent_server.o(.text); asm/mevent_server.o(.text); asm/mevent_8145654.o(.text); @@ -380,6 +382,8 @@ SECTIONS { src/fame_checker.o(.rodata); data/data_845FD54.o(.rodata); src/mevent.o(.rodata); + src/mevent_server_sub.o(.rodata); + src/mevent_server_ish.o(.rodata); src/mevent_server.o(.rodata); data/data_8466FB8.o(.rodata); src/menews_jisan.o(.rodata); diff --git a/src/mevent.c b/src/mevent.c index b04ac5462..9638e0327 100644 --- a/src/mevent.c +++ b/src/mevent.c @@ -17,6 +17,9 @@ #include "new_game.h" #include "string_util.h" #include "menews_jisan.h" +#include "cereader_tool.h" +#include "mystery_gift_menu.h" +#include "help_system.h" #include "mevent.h" struct MEventTaskData1 @@ -40,14 +43,10 @@ bool32 sub_8143E64(const struct MEventBuffer_3120_Sub * src); void sub_8143E9C(void); void sub_8143ED0(void); bool32 sub_8144018(const struct MEventBuffer_32E0_Sub * src); -bool32 sub_815D794(u8 *); -void sub_81422FC(void); -void sub_812B484(void); void sub_814407C(void); void sub_81440B4(void); void sub_8144824(u32, u32, u32 *, s32); void sub_8144790(void); -u8 sub_815D6B4(u8 *); extern const u8 gUnknown_841DE52[]; extern const u8 gUnknown_841DE53[]; @@ -90,7 +89,7 @@ const u16 gUnknown_8466F00[] = { struct MEvent_Str_1 gUnknown_3005ED0; -bool32 gUnknown_203F3BC = FALSE; +static EWRAM_DATA bool32 gUnknown_203F3BC = FALSE; void sub_81435DC(struct MEvent_Str_1 *a0, size_t a1, const void * a2) { diff --git a/src/mevent_server.c b/src/mevent_server.c index 251764441..027a7e994 100644 --- a/src/mevent_server.c +++ b/src/mevent_server.c @@ -9,517 +9,92 @@ #include "battle_tower.h" #include "mystery_event_script.h" #include "mevent.h" +#include "mevent_server.h" extern u16 gBlockRecvBuffer[][128]; -struct mevent_srv_sub -{ - s32 unk_00; - u8 unk_04; - u8 unk_05; - u16 unk_06; - u16 unk_08; - u16 unk_0A; - u16 unk_0C; - u16 unk_0E; - u16 unk_10; - u16 unk_12; - u16 unk_14; - void * unk_18; - void * unk_1C; - u32 (*unk_20)(struct mevent_srv_sub *); - u32 (*unk_24)(struct mevent_srv_sub *); -}; - -struct mevent_srv_ish +struct mevent_srv_common { u32 unk_00; u32 unk_04; - u32 unk_08; + u32 mainseqno; u32 unk_0C; - u32 unk_10; + const void * unk_10; void * unk_14; void * unk_18; void * unk_1C; void * unk_20; - struct mevent_srv_sub unk_24; + u8 filler_24[0x14]; + struct mevent_srv_sub unk_38; }; -struct send_recv_buff +EWRAM_DATA struct mevent_srv_common * gUnknown_203F3C4 = NULL; + +void mevent_srv_init_common(struct mevent_srv_common *, const void *, u32, u32); +void mevent_srv_free_resources(struct mevent_srv_common *); +u32 sub_8145600(struct mevent_srv_common *); + +extern const u8 gUnknown_8468B6C[]; +extern const u8 gUnknown_8468BCC[]; + +void sub_8144F1C(void) { - u16 unk0; - u16 unk2; - u16 unk4; -}; - -EWRAM_DATA struct mevent_srv_ish * gUnknown_203F3C0 = NULL; - -u32 sub_814490C(struct mevent_srv_sub *); -u32 sub_81449E0(struct mevent_srv_sub *); -void mevent_srv_ish_init(struct mevent_srv_ish *, u32, u32); -u32 mevent_srv_ish_exec(struct mevent_srv_ish *); -void sub_8144BC0(struct mevent_srv_ish *); - -extern u8 gUnknown_84687E0[0x400]; - -u32 sub_8144844(struct mevent_srv_sub * srv) -{ - return srv->unk_20(srv); + gUnknown_203F3C4 = AllocZeroed(sizeof(struct mevent_srv_common)); + mevent_srv_init_common(gUnknown_203F3C4, gUnknown_8468B6C, 0, 1); } -u32 sub_8144850(struct mevent_srv_sub * srv) +void sub_8144F40(void) { - return srv->unk_24(srv); + gUnknown_203F3C4 = AllocZeroed(sizeof(struct mevent_srv_common)); + mevent_srv_init_common(gUnknown_203F3C4, gUnknown_8468BCC, 0, 1); } -void sub_814485C(struct mevent_srv_sub * srv, u32 a1, u32 a2) -{ - srv->unk_04 = a1; - srv->unk_05 = a2; - srv->unk_00 = 0; - srv->unk_12 = 0; - srv->unk_14 = 0; - srv->unk_10 = 0; - srv->unk_0A = 0; - srv->unk_0C = 0; - srv->unk_08 = 0; - srv->unk_1C = NULL; - srv->unk_18 = NULL; - srv->unk_24 = sub_81449E0; - srv->unk_20 = sub_814490C; -} - -void sub_8144888(struct mevent_srv_sub * srv, u32 a1, void * a2, u32 a3) -{ - srv->unk_00 = 0; - srv->unk_0E = a1; - srv->unk_10 = 0; - srv->unk_12 = 0; - if (a3 != 0) - srv->unk_14 = a3; - else - srv->unk_14 = 0x400; - srv->unk_1C = a2; -} - -void sub_81448AC(struct mevent_srv_sub * srv, u32 a1, void * a2) -{ - srv->unk_00 = 0; - srv->unk_06 = a1; - srv->unk_08 = 0; - srv->unk_0A = 0; - srv->unk_0C = 0; - srv->unk_18 = a2; -} - -void sub_81448BC(u32 recv_idx, void * dest, size_t size) -{ - memcpy(dest, gBlockRecvBuffer[recv_idx], size); -} - -bool32 sub_81448D8(u32 recv_idx) -{ - if ((GetBlockReceivedStatus() >> recv_idx) & 1) - return TRUE; - else - return FALSE; -} - -void sub_81448FC(u32 recv_idx) -{ - ResetBlockReceivedFlag(recv_idx); -} - -bool32 sub_814490C(struct mevent_srv_sub * srv) -{ - struct send_recv_buff buff; - - switch (srv->unk_00) - { - case 0: - if (sub_81448D8(srv->unk_05)) - { - sub_81448BC(srv->unk_05, &buff, sizeof(buff)); - srv->unk_0C = buff.unk4; - srv->unk_0A = buff.unk2; - if (srv->unk_0C > 0x400) - { - sub_80FA190(); - return FALSE; - } - else if (srv->unk_06 != buff.unk0) - { - sub_80FA190(); - return FALSE; - } - else - { - srv->unk_08 = 0; - sub_81448FC(srv->unk_05); - ++srv->unk_00; - } - } - break; - case 1: - if (sub_81448D8(srv->unk_05)) - { - size_t r3 = srv->unk_08 * 252; - if (srv->unk_0C - r3 <= 252) - { - sub_81448BC(srv->unk_05, srv->unk_18 + r3, srv->unk_0C - r3); - ++srv->unk_08; - ++srv->unk_00; - } - else - { - sub_81448BC(srv->unk_05, srv->unk_18 + r3, 252); - ++srv->unk_08; - } - sub_81448FC(srv->unk_05); - } - break; - case 2: - if (CalcCRC16WithTable(srv->unk_18, srv->unk_0C) != srv->unk_0A) - { - sub_80FA190(); - return FALSE; - } - else - { - srv->unk_00 = 0; - return TRUE; - } - break; - - } - - return FALSE; -} - -bool32 sub_81449E0(struct mevent_srv_sub * srv) -{ - struct send_recv_buff buff; - - switch (srv->unk_00) - { - case 0: - if (sub_800A4BC()) - { - buff.unk0 = srv->unk_0E; - buff.unk4 = srv->unk_14; - buff.unk2 = CalcCRC16WithTable(srv->unk_1C, srv->unk_14); - srv->unk_12 = buff.unk2; - srv->unk_10 = 0; - SendBlock(0, &buff, sizeof(buff)); - ++srv->unk_00; - } - break; - case 1: - if (sub_800A4BC()) - { - if (sub_81448D8(srv->unk_04)) - { - size_t r3; - sub_81448FC(srv->unk_04); - r3 = 252 * srv->unk_10; - if (srv->unk_14 - r3 <= 252) - { - SendBlock(0, srv->unk_1C + r3, srv->unk_14 - r3); - ++srv->unk_10; - ++srv->unk_00; - } - else - { - SendBlock(0, srv->unk_1C + r3, 252); - ++srv->unk_10; - } - } - } - break; - case 2: - if (sub_800A4BC()) - { - if (CalcCRC16WithTable(srv->unk_1C, srv->unk_14) != srv->unk_12) - sub_80FA190(); - else - ++srv->unk_00; - } - break; - case 3: - if (sub_81448D8(srv->unk_04)) - { - sub_81448FC(srv->unk_04); - srv->unk_00 = 0; - return TRUE; - } - break; - } - - return FALSE; -} - -void sub_8144AEC(void) -{ - gUnknown_203F3C0 = AllocZeroed(sizeof(struct mevent_srv_ish)); - mevent_srv_ish_init(gUnknown_203F3C0, 1, 0); -} - -u32 sub_8144B0C(u16 * a0) +u32 sub_8144F64(u16 * a0) { u32 result; - if (gUnknown_203F3C0 == NULL) - return 6; - result = mevent_srv_ish_exec(gUnknown_203F3C0); - if (result == 6) + if (gUnknown_203F3C4 == NULL) + return 3; + result = sub_8145600(gUnknown_203F3C4); + if (result == 3) { - *a0 = gUnknown_203F3C0->unk_04; - sub_8144BC0(gUnknown_203F3C0); - Free(gUnknown_203F3C0); - gUnknown_203F3C0 = NULL; + *a0 = gUnknown_203F3C4->unk_04; + mevent_srv_free_resources(gUnknown_203F3C4); + Free(gUnknown_203F3C4); + gUnknown_203F3C4 = NULL; } return result; } -void sub_8144B48(void) +void mevent_srv_init_common(struct mevent_srv_common * svr, const void * a1, u32 a2, u32 a3) { - gUnknown_203F3C0->unk_0C++; + svr->unk_00 = 0; + svr->mainseqno = 0; + svr->unk_18 = AllocZeroed(332); + svr->unk_1C = AllocZeroed(444); + svr->unk_14 = AllocZeroed(ME_SEND_BUF_SIZE); + svr->unk_20 = AllocZeroed(100); + svr->unk_10 = a1; + svr->unk_0C = 0; + sub_814485C(&svr->unk_38, a2, a3); } -void * sub_8144B58(void) +void mevent_srv_free_resources(struct mevent_srv_common * svr) { - return gUnknown_203F3C0->unk_20; + Free(svr->unk_18); + Free(svr->unk_1C); + Free(svr->unk_14); + Free(svr->unk_20); } -void sub_8144B64(u32 a0) +const char gUnknown_8466F80[] = "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c"; +const char gUnknown_8466FB8[] = "size <= ME_SEND_BUF_SIZE"; +const char gUnknown_8466FD4[] = "cmd->parameter == NULL"; +const char gUnknown_8466FEC[] = "cmd->flag == FALSE"; +const char gUnknown_8467000[] = "cmd->flag == FALSE && cmd->parameter == NULL"; + +void sub_814501C(struct mevent_srv_common * svr, u32 a1, void * a2, u32 size) { - gUnknown_203F3C0->unk_04 = a0; -} - -void mevent_srv_ish_init(struct mevent_srv_ish * srv, u32 a1, u32 a2) -{ - srv->unk_00 = 0; - srv->unk_08 = 0; - srv->unk_0C = 0; - srv->unk_14 = AllocZeroed(0x400); - srv->unk_18 = AllocZeroed(0x400); - srv->unk_1C = AllocZeroed(0x400); - srv->unk_20 = AllocZeroed(0x40); - sub_814485C(&srv->unk_24, a1, a2); -} - -void sub_8144BC0(struct mevent_srv_ish * srv) -{ - Free(srv->unk_14); - Free(srv->unk_18); - Free(srv->unk_1C); - Free(srv->unk_20); -} - -void sub_8144BE4(struct mevent_srv_ish * srv) -{ - memcpy(srv->unk_1C, srv->unk_18, 0x400); - srv->unk_10 = 0; -} - -void sub_8144C00(struct mevent_srv_ish * srv, u32 a1, u32 a2) -{ - CpuFill32(0, srv->unk_14, 0x400); - *(u32 *)srv->unk_14 = a2; - sub_8144888(&srv->unk_24, a1, srv->unk_14, 4); -} - -// funcs in array gUnknown_8466F60 - -u32 sub_8144C34(struct mevent_srv_ish * srv) -{ - memcpy(srv->unk_1C, gUnknown_84687E0, sizeof(gUnknown_84687E0)); - srv->unk_10 = 0; - srv->unk_08 = 4; - srv->unk_0C = 0; - return 0; -} - -u32 sub_8144C5C(struct mevent_srv_ish * srv) -{ - return 6; -} - -u32 sub_8144C60(struct mevent_srv_ish * srv) -{ - if (sub_8144844(&srv->unk_24)) - { - srv->unk_08 = 4; - srv->unk_0C = 0; - } - return 1; -} - -u32 sub_8144C80(struct mevent_srv_ish * srv) -{ - if (sub_8144850(&srv->unk_24)) - { - srv->unk_08 = 4; - srv->unk_0C = 0; - } - return 1; -} - -u32 sub_8144CA0(struct mevent_srv_ish * srv) -{ - u32 * r2 = (u32 *)srv->unk_1C + 2 * srv->unk_10; - ++srv->unk_10; - switch (r2[0]) - { - case 0: - break; - case 1: - srv->unk_04 = r2[1]; - srv->unk_08 = 1; - srv->unk_0C = 0; - break; - case 2: - sub_81448AC(&srv->unk_24, r2[1], srv->unk_18); - srv->unk_08 = 2; - srv->unk_0C = 0; - break; - case 3: - srv->unk_08 = 3; - srv->unk_0C = 0; - break; - case 20: - sub_8144888(&srv->unk_24, 0x14, srv->unk_14, 0); - srv->unk_08 = 3; - srv->unk_0C = 0; - break; - case 19: - sub_8144C00(srv, 0x12, GetGameStat(r2[1])); - srv->unk_08 = 3; - srv->unk_0C = 0; - break; - case 6: - if (srv->unk_04 == 0) - sub_8144BE4(srv); - break; - case 7: - if (srv->unk_04 == 1) - sub_8144BE4(srv); - break; - case 4: - sub_8144BE4(srv); - break; - case 5: - memcpy(srv->unk_20, srv->unk_18, 0x40); - srv->unk_08 = 5; - srv->unk_0C = 0; - return 2; - case 11: - memcpy(srv->unk_20, srv->unk_18, 0x40); - srv->unk_08 = 5; - srv->unk_0C = 0; - return 3; - case 12: - memcpy(srv->unk_20, srv->unk_18, 0x40); - srv->unk_08 = 5; - srv->unk_0C = 0; - return 5; - case 13: - srv->unk_08 = 5; - srv->unk_0C = 0; - return 4; - case 8: - sub_81442CC(srv->unk_14); - sub_8144888(&srv->unk_24, 0x11, srv->unk_14, 0x64); - break; - case 14: - sub_8144C00(srv, 0x13, srv->unk_04); - break; - case 10: - sub_8143F68(srv->unk_18); - break; - case 9: - if (!sub_8143EF4(srv->unk_18)) - { - sub_8143DC8(srv->unk_18); - sub_8144C00(srv, 0x13, 0); - } - else - sub_8144C00(srv, 0x13, 1); - break; - case 15: - srv->unk_08 = 6; - srv->unk_0C = 0; - break; - case 16: - sub_8144254(srv->unk_18); - break; - case 17: - sub_8069EA4(srv->unk_18, 1000); - break; - case 18: - memcpy(gSaveBlock2Ptr->unk_4A0, srv->unk_18, 0xbc); - sub_80E7490(); - break; - case 21: - memcpy(gDecompressionBuffer, srv->unk_18, 0x400); - srv->unk_08 = 7; - srv->unk_0C = 0; - break; - } - - return 1; -} - -u32 sub_8144E6C(struct mevent_srv_ish * srv) -{ - if (srv->unk_0C) - { - srv->unk_08 = 4; - srv->unk_0C = 0; - } - return 1; -} - -u32 sub_8144E84(struct mevent_srv_ish * srv) -{ - switch (srv->unk_0C) - { - case 0: - sub_80DA89C(srv->unk_18); - ++srv->unk_0C; - break; - case 1: - if (!sub_80DA8B0(&srv->unk_04)) - { - srv->unk_08 = 4; - srv->unk_0C = 0; - } - break; - } - return 1; -} - -u32 sub_8144EBC(struct mevent_srv_ish * srv) -{ - u32 (*func)(u32 *, struct SaveBlock2 *, struct SaveBlock1 *) = (void *)gDecompressionBuffer; - if (func(&srv->unk_04, gSaveBlock2Ptr, gSaveBlock1Ptr) == 1) - { - srv->unk_08 = 4; - srv->unk_0C = 0; - } - return 1; -} - -u32 mevent_srv_ish_exec(struct mevent_srv_ish * srv) -{ - u32 (*funcs[])(struct mevent_srv_ish *) = { - sub_8144C34, - sub_8144C5C, - sub_8144C60, - sub_8144C80, - sub_8144CA0, - sub_8144E6C, - sub_8144E84, - sub_8144EBC - }; - return funcs[srv->unk_08](srv); + // AGB_ASSERT_EX(size <= ME_SEND_BUF_SIZE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 257); + size <= ME_SEND_BUF_SIZE ? NULL : AGBAssert(gUnknown_8466F80, 257, gUnknown_8466FB8, 1); + sub_8144888(&svr->unk_38, a1, a2, size); } diff --git a/src/mevent_server_ish.c b/src/mevent_server_ish.c new file mode 100644 index 000000000..7e9639303 --- /dev/null +++ b/src/mevent_server_ish.c @@ -0,0 +1,308 @@ +#include "global.h" +#include "malloc.h" +#include "decompress.h" +#include "util.h" +#include "link.h" +#include "link_rfu.h" +#include "overworld.h" +#include "script.h" +#include "battle_tower.h" +#include "mystery_event_script.h" +#include "mevent.h" +#include "mevent_server.h" + +extern u16 gBlockRecvBuffer[][128]; + +struct mevent_srv_ish +{ + u32 unk_00; + u32 unk_04; + u32 mainseqno; + u32 unk_0C; + u32 unk_10; + void * unk_14; + void * unk_18; + void * unk_1C; + void * unk_20; + struct mevent_srv_sub unk_24; +}; + +struct mevent_cmd +{ + u32 instr; + bool32 flag; + u32 parameter; +}; + +EWRAM_DATA struct mevent_srv_ish * gUnknown_203F3C0 = NULL; + +void mevent_srv_ish_init(struct mevent_srv_ish *, u32, u32); +u32 mevent_srv_ish_exec(struct mevent_srv_ish *); +void sub_8144BC0(struct mevent_srv_ish *); +extern const u8 gUnknown_84687E0[]; + +void sub_8144AEC(void) +{ + gUnknown_203F3C0 = AllocZeroed(sizeof(struct mevent_srv_ish)); + mevent_srv_ish_init(gUnknown_203F3C0, 1, 0); +} + +u32 sub_8144B0C(u16 * a0) +{ + u32 result; + if (gUnknown_203F3C0 == NULL) + return 6; + result = mevent_srv_ish_exec(gUnknown_203F3C0); + if (result == 6) + { + *a0 = gUnknown_203F3C0->unk_04; + sub_8144BC0(gUnknown_203F3C0); + Free(gUnknown_203F3C0); + gUnknown_203F3C0 = NULL; + } + return result; +} + +void sub_8144B48(void) +{ + gUnknown_203F3C0->unk_0C++; +} + +void * sub_8144B58(void) +{ + return gUnknown_203F3C0->unk_20; +} + +void sub_8144B64(u32 a0) +{ + gUnknown_203F3C0->unk_04 = a0; +} + +void mevent_srv_ish_init(struct mevent_srv_ish * svr, u32 a1, u32 a2) +{ + svr->unk_00 = 0; + svr->mainseqno = 0; + svr->unk_0C = 0; + svr->unk_14 = AllocZeroed(ME_SEND_BUF_SIZE); + svr->unk_18 = AllocZeroed(ME_SEND_BUF_SIZE); + svr->unk_1C = AllocZeroed(ME_SEND_BUF_SIZE); + svr->unk_20 = AllocZeroed(0x40); + sub_814485C(&svr->unk_24, a1, a2); +} + +void sub_8144BC0(struct mevent_srv_ish * svr) +{ + Free(svr->unk_14); + Free(svr->unk_18); + Free(svr->unk_1C); + Free(svr->unk_20); +} + +void sub_8144BE4(struct mevent_srv_ish * svr) +{ + memcpy(svr->unk_1C, svr->unk_18, ME_SEND_BUF_SIZE); + svr->unk_10 = 0; +} + +void sub_8144C00(struct mevent_srv_ish * svr, u32 a1, u32 a2) +{ + CpuFill32(0, svr->unk_14, ME_SEND_BUF_SIZE); + *(u32 *)svr->unk_14 = a2; + sub_8144888(&svr->unk_24, a1, svr->unk_14, 4); +} + +// funcs in array gUnknown_8466F60 + +u32 sub_8144C34(struct mevent_srv_ish * svr) +{ + memcpy(svr->unk_1C, gUnknown_84687E0, ME_SEND_BUF_SIZE); + svr->unk_10 = 0; + svr->mainseqno = 4; + svr->unk_0C = 0; + return 0; +} + +u32 sub_8144C5C(struct mevent_srv_ish * svr) +{ + return 6; +} + +u32 sub_8144C60(struct mevent_srv_ish * svr) +{ + if (sub_8144844(&svr->unk_24)) + { + svr->mainseqno = 4; + svr->unk_0C = 0; + } + return 1; +} + +u32 sub_8144C80(struct mevent_srv_ish * svr) +{ + if (sub_8144850(&svr->unk_24)) + { + svr->mainseqno = 4; + svr->unk_0C = 0; + } + return 1; +} + +u32 sub_8144CA0(struct mevent_srv_ish * svr) +{ + u32 * r2 = (u32 *)svr->unk_1C + 2 * svr->unk_10; + ++svr->unk_10; + switch (r2[0]) + { + case 0: + break; + case 1: + svr->unk_04 = r2[1]; + svr->mainseqno = 1; + svr->unk_0C = 0; + break; + case 2: + sub_81448AC(&svr->unk_24, r2[1], svr->unk_18); + svr->mainseqno = 2; + svr->unk_0C = 0; + break; + case 3: + svr->mainseqno = 3; + svr->unk_0C = 0; + break; + case 20: + sub_8144888(&svr->unk_24, 0x14, svr->unk_14, 0); + svr->mainseqno = 3; + svr->unk_0C = 0; + break; + case 19: + sub_8144C00(svr, 0x12, GetGameStat(r2[1])); + svr->mainseqno = 3; + svr->unk_0C = 0; + break; + case 6: + if (svr->unk_04 == 0) + sub_8144BE4(svr); + break; + case 7: + if (svr->unk_04 == 1) + sub_8144BE4(svr); + break; + case 4: + sub_8144BE4(svr); + break; + case 5: + memcpy(svr->unk_20, svr->unk_18, 0x40); + svr->mainseqno = 5; + svr->unk_0C = 0; + return 2; + case 11: + memcpy(svr->unk_20, svr->unk_18, 0x40); + svr->mainseqno = 5; + svr->unk_0C = 0; + return 3; + case 12: + memcpy(svr->unk_20, svr->unk_18, 0x40); + svr->mainseqno = 5; + svr->unk_0C = 0; + return 5; + case 13: + svr->mainseqno = 5; + svr->unk_0C = 0; + return 4; + case 8: + sub_81442CC(svr->unk_14); + sub_8144888(&svr->unk_24, 0x11, svr->unk_14, 0x64); + break; + case 14: + sub_8144C00(svr, 0x13, svr->unk_04); + break; + case 10: + sub_8143F68(svr->unk_18); + break; + case 9: + if (!sub_8143EF4(svr->unk_18)) + { + sub_8143DC8(svr->unk_18); + sub_8144C00(svr, 0x13, 0); + } + else + sub_8144C00(svr, 0x13, 1); + break; + case 15: + svr->mainseqno = 6; + svr->unk_0C = 0; + break; + case 16: + sub_8144254(svr->unk_18); + break; + case 17: + sub_8069EA4(svr->unk_18, 1000); + break; + case 18: + memcpy(gSaveBlock2Ptr->unk_4A0, svr->unk_18, 0xbc); + sub_80E7490(); + break; + case 21: + memcpy(gDecompressionBuffer, svr->unk_18, ME_SEND_BUF_SIZE); + svr->mainseqno = 7; + svr->unk_0C = 0; + break; + } + + return 1; +} + +u32 sub_8144E6C(struct mevent_srv_ish * svr) +{ + if (svr->unk_0C) + { + svr->mainseqno = 4; + svr->unk_0C = 0; + } + return 1; +} + +u32 sub_8144E84(struct mevent_srv_ish * svr) +{ + switch (svr->unk_0C) + { + case 0: + sub_80DA89C(svr->unk_18); + ++svr->unk_0C; + break; + case 1: + if (!sub_80DA8B0(&svr->unk_04)) + { + svr->mainseqno = 4; + svr->unk_0C = 0; + } + break; + } + return 1; +} + +u32 sub_8144EBC(struct mevent_srv_ish * svr) +{ + u32 (*func)(u32 *, struct SaveBlock2 *, struct SaveBlock1 *) = (void *)gDecompressionBuffer; + if (func(&svr->unk_04, gSaveBlock2Ptr, gSaveBlock1Ptr) == 1) + { + svr->mainseqno = 4; + svr->unk_0C = 0; + } + return 1; +} + +u32 mevent_srv_ish_exec(struct mevent_srv_ish * svr) +{ + u32 (*funcs[])(struct mevent_srv_ish *) = { + sub_8144C34, + sub_8144C5C, + sub_8144C60, + sub_8144C80, + sub_8144CA0, + sub_8144E6C, + sub_8144E84, + sub_8144EBC + }; + return funcs[svr->mainseqno](svr); +} diff --git a/src/mevent_server_sub.c b/src/mevent_server_sub.c new file mode 100644 index 000000000..83b8f62ca --- /dev/null +++ b/src/mevent_server_sub.c @@ -0,0 +1,211 @@ +#include "global.h" +#include "malloc.h" +#include "decompress.h" +#include "util.h" +#include "link.h" +#include "link_rfu.h" +#include "overworld.h" +#include "script.h" +#include "battle_tower.h" +#include "mystery_event_script.h" +#include "mevent.h" +#include "mevent_server.h" + +u32 sub_814490C(struct mevent_srv_sub *); +u32 sub_81449E0(struct mevent_srv_sub *); + +u32 sub_8144844(struct mevent_srv_sub * svr) +{ + return svr->unk_20(svr); +} + +u32 sub_8144850(struct mevent_srv_sub * svr) +{ + return svr->unk_24(svr); +} + +void sub_814485C(struct mevent_srv_sub * svr, u32 a1, u32 a2) +{ + svr->unk_04 = a1; + svr->unk_05 = a2; + svr->unk_00 = 0; + svr->unk_12 = 0; + svr->unk_14 = 0; + svr->unk_10 = 0; + svr->unk_0A = 0; + svr->unk_0C = 0; + svr->unk_08 = 0; + svr->unk_1C = NULL; + svr->unk_18 = NULL; + svr->unk_24 = sub_81449E0; + svr->unk_20 = sub_814490C; +} + +void sub_8144888(struct mevent_srv_sub * svr, u32 a1, void * a2, u32 a3) +{ + svr->unk_00 = 0; + svr->unk_0E = a1; + svr->unk_10 = 0; + svr->unk_12 = 0; + if (a3 != 0) + svr->unk_14 = a3; + else + svr->unk_14 = ME_SEND_BUF_SIZE; + svr->unk_1C = a2; +} + +void sub_81448AC(struct mevent_srv_sub * svr, u32 a1, void * a2) +{ + svr->unk_00 = 0; + svr->unk_06 = a1; + svr->unk_08 = 0; + svr->unk_0A = 0; + svr->unk_0C = 0; + svr->unk_18 = a2; +} + +void sub_81448BC(u32 recv_idx, void * dest, size_t size) +{ + memcpy(dest, gBlockRecvBuffer[recv_idx], size); +} + +bool32 sub_81448D8(u32 recv_idx) +{ + if ((GetBlockReceivedStatus() >> recv_idx) & 1) + return TRUE; + else + return FALSE; +} + +void sub_81448FC(u32 recv_idx) +{ + ResetBlockReceivedFlag(recv_idx); +} + +bool32 sub_814490C(struct mevent_srv_sub * svr) +{ + struct send_recv_buff buff; + + switch (svr->unk_00) + { + case 0: + if (sub_81448D8(svr->unk_05)) + { + sub_81448BC(svr->unk_05, &buff, sizeof(buff)); + svr->unk_0C = buff.unk4; + svr->unk_0A = buff.unk2; + if (svr->unk_0C > ME_SEND_BUF_SIZE) + { + sub_80FA190(); + return FALSE; + } + else if (svr->unk_06 != buff.unk0) + { + sub_80FA190(); + return FALSE; + } + else + { + svr->unk_08 = 0; + sub_81448FC(svr->unk_05); + ++svr->unk_00; + } + } + break; + case 1: + if (sub_81448D8(svr->unk_05)) + { + size_t r3 = svr->unk_08 * 252; + if (svr->unk_0C - r3 <= 252) + { + sub_81448BC(svr->unk_05, svr->unk_18 + r3, svr->unk_0C - r3); + ++svr->unk_08; + ++svr->unk_00; + } + else + { + sub_81448BC(svr->unk_05, svr->unk_18 + r3, 252); + ++svr->unk_08; + } + sub_81448FC(svr->unk_05); + } + break; + case 2: + if (CalcCRC16WithTable(svr->unk_18, svr->unk_0C) != svr->unk_0A) + { + sub_80FA190(); + return FALSE; + } + else + { + svr->unk_00 = 0; + return TRUE; + } + break; + + } + + return FALSE; +} + +bool32 sub_81449E0(struct mevent_srv_sub * svr) +{ + struct send_recv_buff buff; + + switch (svr->unk_00) + { + case 0: + if (sub_800A4BC()) + { + buff.unk0 = svr->unk_0E; + buff.unk4 = svr->unk_14; + buff.unk2 = CalcCRC16WithTable(svr->unk_1C, svr->unk_14); + svr->unk_12 = buff.unk2; + svr->unk_10 = 0; + SendBlock(0, &buff, sizeof(buff)); + ++svr->unk_00; + } + break; + case 1: + if (sub_800A4BC()) + { + if (sub_81448D8(svr->unk_04)) + { + size_t r3; + sub_81448FC(svr->unk_04); + r3 = 252 * svr->unk_10; + if (svr->unk_14 - r3 <= 252) + { + SendBlock(0, svr->unk_1C + r3, svr->unk_14 - r3); + ++svr->unk_10; + ++svr->unk_00; + } + else + { + SendBlock(0, svr->unk_1C + r3, 252); + ++svr->unk_10; + } + } + } + break; + case 2: + if (sub_800A4BC()) + { + if (CalcCRC16WithTable(svr->unk_1C, svr->unk_14) != svr->unk_12) + sub_80FA190(); + else + ++svr->unk_00; + } + break; + case 3: + if (sub_81448D8(svr->unk_04)) + { + sub_81448FC(svr->unk_04); + svr->unk_00 = 0; + return TRUE; + } + break; + } + + return FALSE; +} diff --git a/sym_common.txt b/sym_common.txt index af6d7ba4f..d71702d05 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -329,9 +329,9 @@ gUnknown_3005EA0: @ 3005EA0 gUnknown_3005ECC: @ 3005ECC .space 0x4 -gUnknown_3005ED0: @ 3005ED0 - .space 0x10 + .include "mevent.o" + .align 4 gUnknown_3005EE0: @ 3005EE0 .space 0x10 diff --git a/sym_ewram.txt b/sym_ewram.txt index cb35591a1..4c8d1dc78 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1706,14 +1706,10 @@ gUnknown_203F3B0: @ 203F3B0 gUnknown_203F3B8: @ 203F3B8 .space 0x4 -gUnknown_203F3BC: @ 203F3BC - .space 0x4 - -gUnknown_203F3C0: @ 203F3C0 - .space 0x4 - -gUnknown_203F3C4: @ 203F3C4 - .space 0x4 + .include "src/mevent.o" + .include "src/mevent_server_sub.o" + .include "src/mevent_server_ish.o" + .include "src/mevent_server.o" gUnknown_203F3C8: @ 203F3C8 .space 0x4 From 308e60da31388973ac8885127b12db300e21100a Mon Sep 17 00:00:00 2001 From: Paul Sander Date: Fri, 30 Nov 2018 22:01:50 +0100 Subject: [PATCH 182/222] change some names and remove some blank lines --- data/graphics.s | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/data/graphics.s b/data/graphics.s index ab8075c41..50e557dc3 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -18,11 +18,11 @@ gUnknown_8D0098C:: @ 8D0098C .incbin "baserom.gba", 0xD0098C, 0x244 .align 2 -gUnknown_8D00BD0:: @ 8D00BD0 +gFile_graphics_pokemon_palettes_circled_question_mark_palette:: @ 8D00BD0 .incbin "graphics/pokemon/palettes/circled_question_mark_palette.gbapal.lz" .align 2 -gUnknown_8D00BE8:: @ 8D00BE8 +gFile_graphics_pokemon_palettes_circled_question_mark_shiny_palette:: @ 8D00BE8 .incbin "graphics/pokemon/palettes/circled_question_mark_shiny_palette.gbapal.lz" .align 2 @@ -1836,7 +1836,6 @@ gFile_graphics_battle_anims_sprites_193_sheet:: @ 8D206B8 gFile_graphics_battle_anims_sprites_193_palette:: @ 8D20814 .incbin "graphics/battle_anims/sprites/193.gbapal.lz" - .align 2 gFile_graphics_battle_anims_masks_curse_sheet:: @ 8D2083C .incbin "graphics/battle_anims/masks/curse.4bpp.lz" @@ -13695,7 +13694,6 @@ gFile_graphics_battle_interface_enemy_mon_shadow_sheet:: @ 8E7BAD4 gFile_graphics_battle_interface_ball_status_bar_sheet:: @ 8E7BB04 .incbin "graphics/battle_interface/ball_status_bar.4bpp.lz" - .align 2 gUnknown_8E7BBB8:: @ 8E7BB88 .incbin "baserom.gba", 0xE7BB88, 0x400 @UNKNOWN @@ -13756,7 +13754,6 @@ gFile_graphics_battle_anims_sprites_277_palette:: @ 8E7EDD8 gFile_graphics_battle_anims_sprites_277_sheet:: @ 8E7EE00 .incbin "graphics/battle_anims/sprites/277.4bpp.lz" - .align 2 gFile_graphics_battle_anims_backgrounds_fog_tilemap:: @ 8E7F1F4 .incbin "graphics/battle_anims/backgrounds/fog.bin.lz" From b9a6cba30a3ee44ccb14548d198accd7f6bbfa8d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 30 Nov 2018 16:51:22 -0500 Subject: [PATCH 183/222] Finish decomp of mevent_server --- asm/mevent_server.s | 740 ---------------------------------------- data/data_8466FB8.s | 12 - include/mevent.h | 9 + include/script.h | 1 + ld_script.txt | 1 - src/mevent.c | 4 +- src/mevent_server.c | 241 ++++++++++++- src/mevent_server_ish.c | 43 ++- 8 files changed, 257 insertions(+), 794 deletions(-) delete mode 100644 asm/mevent_server.s diff --git a/asm/mevent_server.s b/asm/mevent_server.s deleted file mode 100644 index 1bcc5deed..000000000 --- a/asm/mevent_server.s +++ /dev/null @@ -1,740 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_814505C -sub_814505C: @ 814505C - push {lr} - cmp r0, 0 - bne _08145064 - adds r0, r1, 0 -_08145064: - pop {r1} - bx r1 - thumb_func_end sub_814505C - - thumb_func_start sub_8145068 -sub_8145068: @ 8145068 - push {lr} - cmp r1, r0 - bcs _08145072 - movs r0, 0 - b _0814507C -_08145072: - cmp r1, r0 - beq _0814507A - movs r0, 0x2 - b _0814507C -_0814507A: - movs r0, 0x1 -_0814507C: - pop {r1} - bx r1 - thumb_func_end sub_8145068 - - thumb_func_start sub_8145080 -sub_8145080: @ 8145080 - movs r1, 0x4 - str r1, [r0, 0x8] - movs r0, 0 - bx lr - thumb_func_end sub_8145080 - - thumb_func_start sub_8145088 -sub_8145088: @ 8145088 - movs r0, 0x3 - bx lr - thumb_func_end sub_8145088 - - thumb_func_start sub_814508C -sub_814508C: @ 814508C - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x38 - bl sub_8144844 - cmp r0, 0 - beq _0814509E - movs r0, 0x4 - str r0, [r4, 0x8] -_0814509E: - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814508C - - thumb_func_start sub_81450A8 -sub_81450A8: @ 81450A8 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x38 - bl sub_8144850 - cmp r0, 0 - beq _081450BA - movs r0, 0x4 - str r0, [r4, 0x8] -_081450BA: - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81450A8 - - thumb_func_start sub_81450C4 -sub_81450C4: @ 81450C4 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, [r5, 0xC] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - ldr r2, [r5, 0x10] - adds r4, r2, r1 - adds r0, 0x1 - str r0, [r5, 0xC] - ldr r0, [r4] - cmp r0, 0x1D - bls _081450E0 - b _081455F8 -_081450E0: - lsls r0, 2 - ldr r1, _081450EC @ =_081450F0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081450EC: .4byte _081450F0 - .align 2, 0 -_081450F0: - .4byte _08145168 - .4byte _08145190 - .4byte _08145196 - .4byte _081451C4 - .4byte _08145268 - .4byte _081451E4 - .4byte _08145228 - .4byte _0814527C - .4byte _081452AC - .4byte _081452EC - .4byte _08145320 - .4byte _08145350 - .4byte _08145378 - .4byte _081453D8 - .4byte _081453A4 - .4byte _08145440 - .4byte _0814540C - .4byte _081454AA - .4byte _08145458 - .4byte _08145470 - .4byte _0814549C - .4byte _08145510 - .4byte _081454B8 - .4byte _081454E4 - .4byte _08145538 - .4byte _08145542 - .4byte _0814554C - .4byte _08145588 - .4byte _081455C0 - .4byte _081455EC -_08145168: - ldr r0, [r4, 0x8] - cmp r0, 0 - beq _0814517C - ldr r0, _08145188 @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - movs r1, 0xB1 - lsls r1, 1 - ldr r2, _0814518C @ =gUnknown_8466FD4 "cmd->parameter == NULL" - movs r3, 0x1 - bl AGBAssert -_0814517C: - movs r0, 0x1 - str r0, [r5, 0x8] - ldr r0, [r4, 0x4] - str r0, [r5, 0x4] - b _081455F8 - .align 2, 0 -_08145188: .4byte gUnknown_8466F80 -_0814518C: .4byte gUnknown_8466FD4 -_08145190: - movs r0, 0x3 - str r0, [r5, 0x8] - b _081455F8 -_08145196: - ldr r0, [r4, 0x8] - cmp r0, 0 - beq _081451AA - ldr r0, _081451BC @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - movs r1, 0xB6 - lsls r1, 1 - ldr r2, _081451C0 @ =gUnknown_8466FD4 "cmd->parameter == NULL" - movs r3, 0x1 - bl AGBAssert -_081451AA: - adds r0, r5, 0 - adds r0, 0x38 - ldr r1, [r4, 0x4] - ldr r2, [r5, 0x14] - bl sub_81448AC - movs r0, 0x2 - str r0, [r5, 0x8] - b _081455F8 - .align 2, 0 -_081451BC: .4byte gUnknown_8466F80 -_081451C0: .4byte gUnknown_8466FD4 -_081451C4: - ldr r0, [r4, 0x4] - cmp r0, 0 - beq _08145272 - ldr r0, _081451DC @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - movs r1, 0xB9 - lsls r1, 1 - ldr r2, _081451E0 @ =gUnknown_8466FEC "cmd->flag == FALSE" - movs r3, 0x1 - bl AGBAssert - b _08145272 - .align 2, 0 -_081451DC: .4byte gUnknown_8466F80 -_081451E0: .4byte gUnknown_8466FEC -_081451E4: - ldr r0, [r4, 0x4] - cmp r0, 0 - beq _081451F8 - ldr r0, _08145218 @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - movs r1, 0xBC - lsls r1, 1 - ldr r2, _0814521C @ =gUnknown_8466FEC "cmd->flag == FALSE" - movs r3, 0x1 - bl AGBAssert -_081451F8: - ldr r0, [r4, 0x8] - cmp r0, 0 - beq _0814520A - ldr r0, _08145218 @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - ldr r1, _08145220 @ =0x00000179 - ldr r2, _08145224 @ =gUnknown_8466FD4 "cmd->parameter == NULL" - movs r3, 0x1 - bl AGBAssert -_0814520A: - ldr r0, [r5, 0x20] - ldr r1, [r5, 0x14] - movs r2, 0x64 - bl memcpy - b _081455F8 - .align 2, 0 -_08145218: .4byte gUnknown_8466F80 -_0814521C: .4byte gUnknown_8466FEC -_08145220: .4byte 0x00000179 -_08145224: .4byte gUnknown_8466FD4 -_08145228: - ldr r0, [r4, 0x4] - cmp r0, 0 - beq _0814523C - ldr r0, _08145258 @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - movs r1, 0xBF - lsls r1, 1 - ldr r2, _0814525C @ =gUnknown_8466FEC "cmd->flag == FALSE" - movs r3, 0x1 - bl AGBAssert -_0814523C: - ldr r0, [r4, 0x8] - cmp r0, 0 - beq _0814524E - ldr r0, _08145258 @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - ldr r1, _08145260 @ =0x0000017f - ldr r2, _08145264 @ =gUnknown_8466FD4 "cmd->parameter == NULL" - movs r3, 0x1 - bl AGBAssert -_0814524E: - ldr r0, [r5, 0x20] - bl sub_81443D4 - str r0, [r5, 0x4] - b _081455F8 - .align 2, 0 -_08145258: .4byte gUnknown_8466F80 -_0814525C: .4byte gUnknown_8466FEC -_08145260: .4byte 0x0000017f -_08145264: .4byte gUnknown_8466FD4 -_08145268: - ldr r1, [r5, 0x4] - ldr r0, [r4, 0x4] - cmp r1, r0 - beq _08145272 - b _081455F8 -_08145272: - movs r0, 0 - str r0, [r5, 0xC] - ldr r0, [r4, 0x8] - str r0, [r5, 0x10] - b _081455F8 -_0814527C: - ldr r0, [r4, 0x4] - cmp r0, 0 - beq _08145290 - ldr r0, _081452A4 @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - movs r1, 0xC6 - lsls r1, 1 - ldr r2, _081452A8 @ =gUnknown_8466FEC "cmd->flag == FALSE" - movs r3, 0x1 - bl AGBAssert -_08145290: - ldr r0, [r4, 0x8] - ldr r1, [r5, 0x18] - bl sub_814505C - adds r2, r0, 0 - ldr r1, [r5, 0x20] - bl sub_8144418 - str r0, [r5, 0x4] - b _081455F8 - .align 2, 0 -_081452A4: .4byte gUnknown_8466F80 -_081452A8: .4byte gUnknown_8466FEC -_081452AC: - ldr r0, [r4, 0x4] - cmp r0, 0 - beq _081452C0 - ldr r0, _081452DC @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - movs r1, 0xC9 - lsls r1, 1 - ldr r2, _081452E0 @ =gUnknown_8466FEC "cmd->flag == FALSE" - movs r3, 0x1 - bl AGBAssert -_081452C0: - ldr r0, [r4, 0x8] - cmp r0, 0 - beq _081452D2 - ldr r0, _081452DC @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - ldr r1, _081452E4 @ =0x00000193 - ldr r2, _081452E8 @ =gUnknown_8466FD4 "cmd->parameter == NULL" - movs r3, 0x1 - bl AGBAssert -_081452D2: - ldr r0, [r5, 0x14] - ldr r0, [r0] - str r0, [r5, 0x4] - b _081455F8 - .align 2, 0 -_081452DC: .4byte gUnknown_8466F80 -_081452E0: .4byte gUnknown_8466FEC -_081452E4: .4byte 0x00000193 -_081452E8: .4byte gUnknown_8466FD4 -_081452EC: - ldr r0, [r4, 0x4] - cmp r0, 0 - beq _08145300 - ldr r0, _08145318 @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - movs r1, 0xCC - lsls r1, 1 - ldr r2, _0814531C @ =gUnknown_8466FEC "cmd->flag == FALSE" - movs r3, 0x1 - bl AGBAssert -_08145300: - ldr r0, [r4, 0x8] - adds r1, r5, 0 - adds r1, 0x34 - bl sub_814505C - adds r2, r0, 0 - ldr r1, [r5, 0x20] - bl sub_8144434 - str r0, [r5, 0x4] - b _081455F8 - .align 2, 0 -_08145318: .4byte gUnknown_8466F80 -_0814531C: .4byte gUnknown_8466FEC -_08145320: - ldr r0, [r4, 0x8] - cmp r0, 0 - beq _08145332 - ldr r0, _08145344 @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - ldr r1, _08145348 @ =0x0000019f - ldr r2, _0814534C @ =gUnknown_8466FD4 "cmd->parameter == NULL" - movs r3, 0x1 - bl AGBAssert -_08145332: - ldr r0, [r5, 0x20] - ldr r1, [r4, 0x4] - bl sub_81444B0 - lsls r0, 16 - lsrs r0, 16 - str r0, [r5, 0x4] - b _081455F8 - .align 2, 0 -_08145344: .4byte gUnknown_8466F80 -_08145348: .4byte 0x0000019f -_0814534C: .4byte gUnknown_8466FD4 -_08145350: - ldr r0, [r4, 0x4] - cmp r0, 0 - beq _08145364 - ldr r0, _08145370 @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - movs r1, 0xD2 - lsls r1, 1 - ldr r2, _08145374 @ =gUnknown_8466FEC "cmd->flag == FALSE" - movs r3, 0x1 - bl AGBAssert -_08145364: - ldr r0, [r5, 0x20] - ldr r1, [r4, 0x8] - bl sub_8144474 - str r0, [r5, 0x4] - b _081455F8 - .align 2, 0 -_08145370: .4byte gUnknown_8466F80 -_08145374: .4byte gUnknown_8466FEC -_08145378: - ldr r0, [r4, 0x4] - cmp r0, 0 - beq _0814538C - ldr r0, _0814539C @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - movs r1, 0xD5 - lsls r1, 1 - ldr r2, _081453A0 @ =gUnknown_8466FEC "cmd->flag == FALSE" - movs r3, 0x1 - bl AGBAssert -_0814538C: - ldr r0, [r4, 0x8] - ldr r1, [r5, 0x14] - ldr r1, [r1] - bl sub_8145068 - str r0, [r5, 0x4] - b _081455F8 - .align 2, 0 -_0814539C: .4byte gUnknown_8466F80 -_081453A0: .4byte gUnknown_8466FEC -_081453A4: - ldr r0, [r4, 0x4] - cmp r0, 0 - beq _081453B8 - ldr r0, _081453D0 @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - movs r1, 0xD8 - lsls r1, 1 - ldr r2, _081453D4 @ =gUnknown_8466FEC "cmd->flag == FALSE" - movs r3, 0x1 - bl AGBAssert -_081453B8: - ldr r0, [r4, 0x8] - ldr r1, [r5, 0x1C] - bl sub_814505C - adds r2, r0, 0 - movs r3, 0xDE - lsls r3, 1 - adds r0, r5, 0 - movs r1, 0x17 - bl sub_814501C - b _081455F8 - .align 2, 0 -_081453D0: .4byte gUnknown_8466F80 -_081453D4: .4byte gUnknown_8466FEC -_081453D8: - ldr r0, [r4, 0x4] - cmp r0, 0 - beq _081453EC - ldr r0, _08145404 @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - movs r1, 0xDB - lsls r1, 1 - ldr r2, _08145408 @ =gUnknown_8466FEC "cmd->flag == FALSE" - movs r3, 0x1 - bl AGBAssert -_081453EC: - ldr r0, [r4, 0x8] - ldr r1, [r5, 0x18] - bl sub_814505C - adds r2, r0, 0 - movs r3, 0xA6 - lsls r3, 1 - adds r0, r5, 0 - movs r1, 0x16 - bl sub_814501C - b _081455F8 - .align 2, 0 -_08145404: .4byte gUnknown_8466F80 -_08145408: .4byte gUnknown_8466FEC -_0814540C: - ldr r0, [r4, 0x4] - cmp r0, 0 - beq _08145420 - ldr r0, _08145438 @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - movs r1, 0xDE - lsls r1, 1 - ldr r2, _0814543C @ =gUnknown_8466FEC "cmd->flag == FALSE" - movs r3, 0x1 - bl AGBAssert -_08145420: - ldr r0, [r4, 0x8] - adds r1, r5, 0 - adds r1, 0x34 - bl sub_814505C - adds r2, r0, 0 - adds r0, r5, 0 - movs r1, 0x18 - movs r3, 0x4 - bl sub_814501C - b _081455F8 - .align 2, 0 -_08145438: .4byte gUnknown_8466F80 -_0814543C: .4byte gUnknown_8466FEC -_08145440: - ldr r2, [r4, 0x8] - cmp r2, 0 - bne _0814544C - ldr r2, [r5, 0x24] - ldr r3, [r5, 0x28] - b _0814544E -_0814544C: - ldr r3, [r4, 0x4] -_0814544E: - adds r0, r5, 0 - movs r1, 0x19 - bl sub_814501C - b _081455F8 -_08145458: - ldr r2, [r4, 0x8] - cmp r2, 0 - bne _08145464 - ldr r2, [r5, 0x2C] - ldr r3, [r5, 0x30] - b _08145466 -_08145464: - ldr r3, [r4, 0x4] -_08145466: - adds r0, r5, 0 - movs r1, 0x10 - bl sub_814501C - b _081455F8 -_08145470: - ldr r0, [r4, 0x4] - cmp r0, 0 - beq _08145484 - ldr r0, _08145494 @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - movs r1, 0xE9 - lsls r1, 1 - ldr r2, _08145498 @ =gUnknown_8466FEC "cmd->flag == FALSE" - movs r3, 0x1 - bl AGBAssert -_08145484: - ldr r2, [r4, 0x8] - adds r0, r5, 0 - movs r1, 0x1A - movs r3, 0xBC - bl sub_814501C - b _081455F8 - .align 2, 0 -_08145494: .4byte gUnknown_8466F80 -_08145498: .4byte gUnknown_8466FEC -_0814549C: - ldr r2, [r4, 0x8] - ldr r3, [r4, 0x4] - adds r0, r5, 0 - movs r1, 0x15 - bl sub_814501C - b _081455F8 -_081454AA: - ldr r2, [r4, 0x8] - ldr r3, [r4, 0x4] - adds r0, r5, 0 - movs r1, 0x1C - bl sub_814501C - b _081455F8 -_081454B8: - ldr r0, [r4, 0x4] - cmp r0, 0 - beq _081454CA - ldr r0, _081454D8 @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - ldr r1, _081454DC @ =0x000001e1 - ldr r2, _081454E0 @ =gUnknown_8466FEC "cmd->flag == FALSE" - movs r3, 0x1 - bl AGBAssert -_081454CA: - ldr r0, [r5, 0x18] - ldr r1, [r4, 0x8] - movs r2, 0xA6 - lsls r2, 1 - bl memcpy - b _081455F8 - .align 2, 0 -_081454D8: .4byte gUnknown_8466F80 -_081454DC: .4byte 0x000001e1 -_081454E0: .4byte gUnknown_8466FEC -_081454E4: - ldr r0, [r4, 0x4] - cmp r0, 0 - beq _081454F8 - ldr r0, _08145508 @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - movs r1, 0xF3 - lsls r1, 1 - ldr r2, _0814550C @ =gUnknown_8466FEC "cmd->flag == FALSE" - movs r3, 0x1 - bl AGBAssert -_081454F8: - ldr r0, [r5, 0x1C] - ldr r1, [r4, 0x8] - movs r2, 0xDE - lsls r2, 1 - bl memcpy - b _081455F8 - .align 2, 0 -_08145508: .4byte gUnknown_8466F80 -_0814550C: .4byte gUnknown_8466FEC -_08145510: - ldr r0, [r4, 0x4] - cmp r0, 0 - beq _08145522 - ldr r0, _0814552C @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - ldr r1, _08145530 @ =0x000001eb - ldr r2, _08145534 @ =gUnknown_8466FEC "cmd->flag == FALSE" - movs r3, 0x1 - bl AGBAssert -_08145522: - ldr r0, [r4, 0x8] - ldr r0, [r0] - str r0, [r5, 0x34] - b _081455F8 - .align 2, 0 -_0814552C: .4byte gUnknown_8466F80 -_08145530: .4byte 0x000001eb -_08145534: .4byte gUnknown_8466FEC -_08145538: - ldr r0, [r4, 0x8] - str r0, [r5, 0x24] - ldr r0, [r4, 0x4] - str r0, [r5, 0x28] - b _081455F8 -_08145542: - ldr r0, [r4, 0x8] - str r0, [r5, 0x2C] - ldr r0, [r4, 0x4] - str r0, [r5, 0x30] - b _081455F8 -_0814554C: - ldr r0, [r4, 0x4] - cmp r0, 0 - bne _08145558 - ldr r0, [r4, 0x8] - cmp r0, 0 - beq _08145566 -_08145558: - ldr r0, _08145580 @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - movs r1, 0xFD - lsls r1, 1 - ldr r2, _08145584 @ =gUnknown_8467000 "cmd->flag == FALSE && cmd->parameter == NULL" - movs r3, 0x1 - bl AGBAssert -_08145566: - ldr r4, [r5, 0x18] - bl sav1_get_mevent_buffer_1 - adds r1, r0, 0 - movs r2, 0xA6 - lsls r2, 1 - adds r0, r4, 0 - bl memcpy - ldr r0, [r5, 0x18] - bl sub_814410C - b _081455F8 - .align 2, 0 -_08145580: .4byte gUnknown_8466F80 -_08145584: .4byte gUnknown_8467000 -_08145588: - ldr r0, [r4, 0x4] - cmp r0, 0 - bne _08145594 - ldr r0, [r4, 0x8] - cmp r0, 0 - beq _081455A2 -_08145594: - ldr r0, _081455B8 @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - movs r1, 0x80 - lsls r1, 2 - ldr r2, _081455BC @ =gUnknown_8467000 "cmd->flag == FALSE && cmd->parameter == NULL" - movs r3, 0x1 - bl AGBAssert -_081455A2: - ldr r4, [r5, 0x1C] - bl sub_8143D58 - adds r1, r0, 0 - movs r2, 0xDE - lsls r2, 1 - adds r0, r4, 0 - bl memcpy - b _081455F8 - .align 2, 0 -_081455B8: .4byte gUnknown_8466F80 -_081455BC: .4byte gUnknown_8467000 -_081455C0: - ldr r0, [r4, 0x4] - cmp r0, 0 - bne _081455CC - ldr r0, [r4, 0x8] - cmp r0, 0 - beq _081455D8 -_081455CC: - ldr r0, _081455E0 @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - ldr r1, _081455E4 @ =0x00000205 - ldr r2, _081455E8 @ =gUnknown_8467000 "cmd->flag == FALSE && cmd->parameter == NULL" - movs r3, 0x1 - bl AGBAssert -_081455D8: - bl sub_8069E48 - str r0, [r5, 0x24] - b _081455F8 - .align 2, 0 -_081455E0: .4byte gUnknown_8466F80 -_081455E4: .4byte 0x00000205 -_081455E8: .4byte gUnknown_8467000 -_081455EC: - ldr r2, [r4, 0x8] - ldr r3, [r4, 0x4] - adds r0, r5, 0 - movs r1, 0x1B - bl sub_814501C -_081455F8: - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81450C4 - - thumb_func_start sub_8145600 -sub_8145600: @ 8145600 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x8] - cmp r0, 0x4 - bls _08145616 - ldr r0, _08145644 @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - ldr r1, _08145648 @ =0x00000222 - ldr r2, _0814564C @ =gUnknown_8467044 "svr->mainseqno < NELEMS(func_tbl)" - movs r3, 0x1 - bl AGBAssert -_08145616: - ldr r1, _08145650 @ =func_tbl - ldr r0, [r4, 0x8] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - adds r5, r0, 0 - ldr r0, [r4, 0x8] - cmp r0, 0x4 - bls _0814563C - ldr r0, _08145644 @ =gUnknown_8466F80 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c" - movs r1, 0x89 - lsls r1, 2 - ldr r2, _0814564C @ =gUnknown_8467044 "svr->mainseqno < NELEMS(func_tbl)" - movs r3, 0x1 - bl AGBAssert -_0814563C: - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08145644: .4byte gUnknown_8466F80 -_08145648: .4byte 0x00000222 -_0814564C: .4byte gUnknown_8467044 -_08145650: .4byte func_tbl - thumb_func_end sub_8145600 - - .align 2, 0 @ Don't pad with nop. diff --git a/data/data_8466FB8.s b/data/data_8466FB8.s index c34887d86..0ca0bcbf3 100644 --- a/data/data_8466FB8.s +++ b/data/data_8466FB8.s @@ -1,17 +1,5 @@ .section .rodata - .align 2 -func_tbl:: @ 8467030 - .4byte sub_8145080 - .4byte sub_8145088 - .4byte sub_814508C - .4byte sub_81450A8 - .4byte sub_81450C4 - - .align 2 -gUnknown_8467044:: @ 8467044 - .asciz "svr->mainseqno < NELEMS(func_tbl)" - .align 2 gUnknown_8467068:: @ 8467068 .incbin "baserom.gba", 0x467068, 0x8 diff --git a/include/mevent.h b/include/mevent.h index 1744bb524..d940b212c 100644 --- a/include/mevent.h +++ b/include/mevent.h @@ -33,12 +33,21 @@ struct MEvent_Str_2 u8 fill_00[0x40]; }; +struct MEventBuffer_3120_Sub * sub_8143D58(void); +struct MEventBuffer_32E0_Sub * sav1_get_mevent_buffer_1(void); +struct MEventBuffer_3430_Sub * sav1_get_mevent_buffer_2(void); struct MysteryEventStruct * sub_8143D94(void); bool32 sub_8143DC8(const struct MEventBuffer_3120_Sub * src); bool32 sub_8143E1C(void); bool32 sub_8143EF4(const u8 * src); bool32 sub_8143F68(const struct MEventBuffer_32E0_Sub * data); +void sub_814410C(struct MEventBuffer_32E0_Sub * buffer); bool32 sub_8144254(const u16 * data); void sub_81442CC(struct MEventStruct_Unk1442CC * data); +bool32 sub_81443D4(const struct MEventStruct_Unk1442CC * data); +u32 sub_8144418(const u16 * a0, const struct MEventStruct_Unk1442CC * a1, void * unused); +u32 sub_8144434(const u16 * a0, const struct MEventStruct_Unk1442CC * a1, void * unused); +bool32 sub_8144474(const struct MEventStruct_Unk1442CC * a0, const u16 * a1); +u16 sub_81444B0(const struct MEventStruct_Unk1442CC * a0, u32 command); #endif //GUARD_MEVENT_H diff --git a/include/script.h b/include/script.h index b718af4c1..ebb4caa86 100644 --- a/include/script.h +++ b/include/script.h @@ -64,5 +64,6 @@ u8 *sub_8099244(void); void sub_80992A0(u8 *script, u16 scriptSize); bool32 sub_8069DFC(void); void sub_8069EA4(u8 * script, u16 scriptSize); +u8 * sub_8069E48(void); #endif // GUARD_SCRIPT_H diff --git a/ld_script.txt b/ld_script.txt index 19d8a5862..04be16a01 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -247,7 +247,6 @@ SECTIONS { src/mevent_server_sub.o(.text); src/mevent_server_ish.o(.text); src/mevent_server.o(.text); - asm/mevent_server.o(.text); asm/mevent_8145654.o(.text); src/menews_jisan.o(.text); asm/seagallop.o(.text); diff --git a/src/mevent.c b/src/mevent.c index 9638e0327..7a7fcc399 100644 --- a/src/mevent.c +++ b/src/mevent.c @@ -792,7 +792,7 @@ bool32 sub_81443D4(const struct MEventStruct_Unk1442CC * data) return TRUE; } -u32 sub_8144418(const u16 * a0, const struct MEventStruct_Unk1442CC * a1) +u32 sub_8144418(const u16 * a0, const struct MEventStruct_Unk1442CC * a1, void * unused) { if (a1->unk_14 == 0) return 0; @@ -801,7 +801,7 @@ u32 sub_8144418(const u16 * a0, const struct MEventStruct_Unk1442CC * a1) return 2; } -u32 sub_8144434(const u16 * a0, const struct MEventStruct_Unk1442CC * a1) +u32 sub_8144434(const u16 * a0, const struct MEventStruct_Unk1442CC * a1, void * unused) { s32 r4 = a1->unk_44 - sub_8144184(&a1->unk_20, a1->unk_44); if (r4 == 0) diff --git a/src/mevent_server.c b/src/mevent_server.c index 027a7e994..2242dabce 100644 --- a/src/mevent_server.c +++ b/src/mevent_server.c @@ -13,18 +13,29 @@ extern u16 gBlockRecvBuffer[][128]; +struct mevent_cmd +{ + u32 instr; + bool32 flag; + void * parameter; +}; + struct mevent_srv_common { u32 unk_00; u32 unk_04; u32 mainseqno; - u32 unk_0C; - const void * unk_10; + u32 cmdidx; + const struct mevent_cmd * cmdBuffer; void * unk_14; - void * unk_18; - void * unk_1C; - void * unk_20; - u8 filler_24[0x14]; + struct MEventBuffer_32E0_Sub * unk_18; + struct MEventBuffer_3120_Sub * unk_1C; + struct MEventStruct_Unk1442CC * unk_20; + void * unk_24; + u32 unk_28; + void * unk_2C; + u32 unk_30; + void * unk_34; struct mevent_srv_sub unk_38; }; @@ -73,8 +84,8 @@ void mevent_srv_init_common(struct mevent_srv_common * svr, const void * a1, u32 svr->unk_1C = AllocZeroed(444); svr->unk_14 = AllocZeroed(ME_SEND_BUF_SIZE); svr->unk_20 = AllocZeroed(100); - svr->unk_10 = a1; - svr->unk_0C = 0; + svr->cmdBuffer = a1; + svr->cmdidx = 0; sub_814485C(&svr->unk_38, a2, a3); } @@ -86,15 +97,213 @@ void mevent_srv_free_resources(struct mevent_srv_common * svr) Free(svr->unk_20); } -const char gUnknown_8466F80[] = "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c"; -const char gUnknown_8466FB8[] = "size <= ME_SEND_BUF_SIZE"; -const char gUnknown_8466FD4[] = "cmd->parameter == NULL"; -const char gUnknown_8466FEC[] = "cmd->flag == FALSE"; -const char gUnknown_8467000[] = "cmd->flag == FALSE && cmd->parameter == NULL"; - void sub_814501C(struct mevent_srv_common * svr, u32 a1, void * a2, u32 size) { - // AGB_ASSERT_EX(size <= ME_SEND_BUF_SIZE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 257); - size <= ME_SEND_BUF_SIZE ? NULL : AGBAssert(gUnknown_8466F80, 257, gUnknown_8466FB8, 1); + AGB_ASSERT_EX(size <= ME_SEND_BUF_SIZE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 257); sub_8144888(&svr->unk_38, a1, a2, size); } + +void * sub_814505C(void * a0, void * a1) +{ + if (a0 != NULL) + return a0; + else + return a1; +} + +u32 sub_8145068(void * a0, void * a1) +{ + if (a1 < a0) + return 0; + else if (a1 == a0) + return 1; + else + return 2; +} + +u32 sub_8145080(struct mevent_srv_common * svr) +{ + svr->mainseqno = 4; + return 0; +} + +u32 sub_8145088(struct mevent_srv_common * svr) +{ + return 3; +} + +u32 sub_814508C(struct mevent_srv_common * svr) +{ + if (sub_8144844(&svr->unk_38)) + svr->mainseqno = 4; + return 1; +} + +u32 sub_81450A8(struct mevent_srv_common * svr) +{ + if (sub_8144850(&svr->unk_38)) + svr->mainseqno = 4; + return 1; +} + +u32 sub_81450C4(struct mevent_srv_common * svr) +{ + const struct mevent_cmd * cmd = &svr->cmdBuffer[svr->cmdidx]; + void * ptr; + svr->cmdidx++; + + switch (cmd->instr) + { + case 0: + AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 354); + svr->mainseqno = 1; + svr->unk_04 = cmd->flag; + break; + case 1: + svr->mainseqno = 3; + break; + case 2: + AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 364); + sub_81448AC(&svr->unk_38, cmd->flag, svr->unk_14); + svr->mainseqno = 2; + break; + case 3: + AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 370); + svr->cmdidx = 0; + svr->cmdBuffer = cmd->parameter; + break; + case 5: + AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 376); + AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 377); + memcpy(svr->unk_20, svr->unk_14, 100); + break; + case 6: + AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 382); + AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 383); + svr->unk_04 = sub_81443D4(svr->unk_20); + break; + case 4: + if (svr->unk_04 == cmd->flag) + { + svr->cmdidx = 0; + svr->cmdBuffer = cmd->parameter; + } + break; + case 7: + AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 396); + ptr = sub_814505C(cmd->parameter, svr->unk_18); + svr->unk_04 = sub_8144418(ptr, svr->unk_20, ptr); + break; + case 8: + AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 402); + AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 403); + svr->unk_04 = *(u32 *)svr->unk_14; + break; + case 9: + AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 408); + ptr = sub_814505C(cmd->parameter, &svr->unk_34); + svr->unk_04 = sub_8144434(ptr, svr->unk_20, ptr); + break; + case 10: + AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 415); + svr->unk_04 = sub_81444B0(svr->unk_20, cmd->flag); + break; + case 11: + AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 420); + svr->unk_04 = sub_8144474(svr->unk_20, cmd->parameter); + break; + case 12: + AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 426); + svr->unk_04 = sub_8145068(cmd->parameter, *(void **)svr->unk_14); + break; + case 14: + AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 432); + sub_814501C(svr, 0x17, sub_814505C(cmd->parameter, svr->unk_1C), 444); + break; + case 13: + AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 438); + sub_814501C(svr, 0x16, sub_814505C(cmd->parameter, svr->unk_18), 332); + break; + case 16: + AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 444); + sub_814501C(svr, 0x18, sub_814505C(cmd->parameter, &svr->unk_34), 4); + break; + case 15: + if (cmd->parameter == NULL) + sub_814501C(svr, 0x19, svr->unk_24, svr->unk_28); + else + sub_814501C(svr, 0x19, cmd->parameter, cmd->flag); + break; + case 18: + if (cmd->parameter == NULL) + sub_814501C(svr, 0x10, svr->unk_2C, svr->unk_30); + else + sub_814501C(svr, 0x10, cmd->parameter, cmd->flag); + break; + case 19: + AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 466); + sub_814501C(svr, 0x1a, cmd->parameter, 188); + break; + case 20: + sub_814501C(svr, 0x15, cmd->parameter, cmd->flag); + break; + case 17: + sub_814501C(svr, 0x1c, cmd->parameter, cmd->flag); + break; + case 22: + AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 481); + memcpy(svr->unk_18, cmd->parameter, 332); + break; + case 23: + AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 486); + memcpy(svr->unk_1C, cmd->parameter, 444); + break; + case 21: + AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 491); + svr->unk_34 = *(void **)cmd->parameter; + break; + case 24: + svr->unk_24 = cmd->parameter; + svr->unk_28 = cmd->flag; + break; + case 25: + svr->unk_2C = cmd->parameter; + svr->unk_30 = cmd->flag; + break; + case 26: + AGB_ASSERT_EX(cmd->flag == FALSE && cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 506); + memcpy(svr->unk_18, sav1_get_mevent_buffer_1(), 332); + sub_814410C(svr->unk_18); + break; + case 27: + AGB_ASSERT_EX(cmd->flag == FALSE && cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 512); + memcpy(svr->unk_1C, sub_8143D58(), 444); + break; + case 28: + AGB_ASSERT_EX(cmd->flag == FALSE && cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 517); + svr->unk_24 = sub_8069E48(); + break; + case 29: + sub_814501C(svr, 0x1b, cmd->parameter, cmd->flag); + break; + } + + return 1; +} + +static u32 (*const func_tbl[])(struct mevent_srv_common *) = { + sub_8145080, + sub_8145088, + sub_814508C, + sub_81450A8, + sub_81450C4 +}; + +u32 sub_8145600(struct mevent_srv_common * svr) +{ + u32 response; + AGB_ASSERT_EX(svr->mainseqno < NELEMS(func_tbl), "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 546); + response = func_tbl[svr->mainseqno](svr); + AGB_ASSERT_EX(svr->mainseqno < NELEMS(func_tbl), "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 548); + return response; +} diff --git a/src/mevent_server_ish.c b/src/mevent_server_ish.c index 7e9639303..e544c0f42 100644 --- a/src/mevent_server_ish.c +++ b/src/mevent_server_ish.c @@ -13,27 +13,26 @@ extern u16 gBlockRecvBuffer[][128]; +struct mevent_cmd +{ + u32 instr; + u32 parameter; +}; + struct mevent_srv_ish { u32 unk_00; u32 unk_04; u32 mainseqno; u32 unk_0C; - u32 unk_10; + u32 cmdidx; void * unk_14; void * unk_18; - void * unk_1C; + struct mevent_cmd * cmdBuffer; void * unk_20; struct mevent_srv_sub unk_24; }; -struct mevent_cmd -{ - u32 instr; - bool32 flag; - u32 parameter; -}; - EWRAM_DATA struct mevent_srv_ish * gUnknown_203F3C0 = NULL; void mevent_srv_ish_init(struct mevent_srv_ish *, u32, u32); @@ -85,7 +84,7 @@ void mevent_srv_ish_init(struct mevent_srv_ish * svr, u32 a1, u32 a2) svr->unk_0C = 0; svr->unk_14 = AllocZeroed(ME_SEND_BUF_SIZE); svr->unk_18 = AllocZeroed(ME_SEND_BUF_SIZE); - svr->unk_1C = AllocZeroed(ME_SEND_BUF_SIZE); + svr->cmdBuffer = AllocZeroed(ME_SEND_BUF_SIZE); svr->unk_20 = AllocZeroed(0x40); sub_814485C(&svr->unk_24, a1, a2); } @@ -94,14 +93,14 @@ void sub_8144BC0(struct mevent_srv_ish * svr) { Free(svr->unk_14); Free(svr->unk_18); - Free(svr->unk_1C); + Free(svr->cmdBuffer); Free(svr->unk_20); } void sub_8144BE4(struct mevent_srv_ish * svr) { - memcpy(svr->unk_1C, svr->unk_18, ME_SEND_BUF_SIZE); - svr->unk_10 = 0; + memcpy(svr->cmdBuffer, svr->unk_18, ME_SEND_BUF_SIZE); + svr->cmdidx = 0; } void sub_8144C00(struct mevent_srv_ish * svr, u32 a1, u32 a2) @@ -111,12 +110,10 @@ void sub_8144C00(struct mevent_srv_ish * svr, u32 a1, u32 a2) sub_8144888(&svr->unk_24, a1, svr->unk_14, 4); } -// funcs in array gUnknown_8466F60 - u32 sub_8144C34(struct mevent_srv_ish * svr) { - memcpy(svr->unk_1C, gUnknown_84687E0, ME_SEND_BUF_SIZE); - svr->unk_10 = 0; + memcpy(svr->cmdBuffer, gUnknown_84687E0, ME_SEND_BUF_SIZE); + svr->cmdidx = 0; svr->mainseqno = 4; svr->unk_0C = 0; return 0; @@ -149,19 +146,19 @@ u32 sub_8144C80(struct mevent_srv_ish * svr) u32 sub_8144CA0(struct mevent_srv_ish * svr) { - u32 * r2 = (u32 *)svr->unk_1C + 2 * svr->unk_10; - ++svr->unk_10; - switch (r2[0]) + struct mevent_cmd * cmd = &svr->cmdBuffer[svr->cmdidx]; + ++svr->cmdidx; + switch (cmd->instr) { case 0: break; case 1: - svr->unk_04 = r2[1]; + svr->unk_04 = cmd->parameter; svr->mainseqno = 1; svr->unk_0C = 0; break; case 2: - sub_81448AC(&svr->unk_24, r2[1], svr->unk_18); + sub_81448AC(&svr->unk_24, cmd->parameter, svr->unk_18); svr->mainseqno = 2; svr->unk_0C = 0; break; @@ -175,7 +172,7 @@ u32 sub_8144CA0(struct mevent_srv_ish * svr) svr->unk_0C = 0; break; case 19: - sub_8144C00(svr, 0x12, GetGameStat(r2[1])); + sub_8144C00(svr, 0x12, GetGameStat(cmd->parameter)); svr->mainseqno = 3; svr->unk_0C = 0; break; From 01aada9e93b5e132635feb214baa5d302c4f2154 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 1 Dec 2018 11:24:05 -0500 Subject: [PATCH 184/222] merge mevent server and document mevent_server_helpers --- include/link.h | 2 +- include/mevent_server.h | 107 +++++++++--- include/util.h | 4 +- ld_script.txt | 6 +- src/mevent_server.c | 338 ++++++++++++++++++++++++++++++------ src/mevent_server_helpers.c | 211 ++++++++++++++++++++++ src/mevent_server_ish.c | 305 -------------------------------- src/mevent_server_sub.c | 211 ---------------------- sym_ewram.txt | 3 +- 9 files changed, 589 insertions(+), 598 deletions(-) create mode 100644 src/mevent_server_helpers.c delete mode 100644 src/mevent_server_ish.c delete mode 100644 src/mevent_server_sub.c diff --git a/include/link.h b/include/link.h index 39873ec11..ef8776c64 100644 --- a/include/link.h +++ b/include/link.h @@ -169,7 +169,7 @@ void sub_8007E24(void); void sub_8007E4C(void); u8 GetMultiplayerId(void); u8 bitmask_all_link_players_but_self(void); -bool8 SendBlock(u8, void *, u16); +bool8 SendBlock(u8, const void *, u16); u8 GetBlockReceivedStatus(void); void ResetBlockReceivedFlags(void); void ResetBlockReceivedFlag(u8); diff --git a/include/mevent_server.h b/include/mevent_server.h index d2d7b0687..90cb5f35d 100644 --- a/include/mevent_server.h +++ b/include/mevent_server.h @@ -7,34 +7,93 @@ struct mevent_srv_sub { - s32 unk_00; - u8 unk_04; - u8 unk_05; - u16 unk_06; - u16 unk_08; - u16 unk_0A; - u16 unk_0C; - u16 unk_0E; - u16 unk_10; - u16 unk_12; - u16 unk_14; - void * unk_18; - void * unk_1C; - u32 (*unk_20)(struct mevent_srv_sub *); - u32 (*unk_24)(struct mevent_srv_sub *); + s32 seqno; + u8 sendPlayerNo; + u8 recvPlayerNo; + u16 recvIdent; + u16 recvCounter; + u16 recvCRC; + u16 recvSize; + u16 sendIdent; + u16 sendCounter; + u16 sendCRC; + u16 sendSize; + void * recvBfr; + const void * sendBfr; + u32 (*recvFunc)(struct mevent_srv_sub *); + u32 (*sendFunc)(struct mevent_srv_sub *); }; -struct send_recv_buff +struct send_recv_header { - u16 unk0; - u16 unk2; - u16 unk4; + u16 ident; + u16 crc; + u16 size; }; -u32 sub_8144844(struct mevent_srv_sub * svr); -u32 sub_8144850(struct mevent_srv_sub * svr); -void sub_814485C(struct mevent_srv_sub * svr, u32 a1, u32 a2); -void sub_8144888(struct mevent_srv_sub * svr, u32 a1, void * a2, u32 size); -void sub_81448AC(struct mevent_srv_sub * svr, u32 a1, void * a2); +struct mevent_cmd_ish +{ + u32 instr; + u32 parameter; +}; + +struct mevent_srv_ish +{ + u32 unk_00; + u32 unk_04; + u32 mainseqno; + u32 unk_0C; + u32 cmdidx; + void * unk_14; + void * unk_18; + struct mevent_cmd_ish * cmdBuffer; + void * unk_20; + struct mevent_srv_sub unk_24; +}; + +struct mevent_cmd +{ + u32 instr; + bool32 flag; + void * parameter; +}; + +struct mevent_srv_common +{ + u32 unk_00; + u32 unk_04; + u32 mainseqno; + u32 cmdidx; + const struct mevent_cmd * cmdBuffer; + void * unk_14; + struct MEventBuffer_32E0_Sub * unk_18; + struct MEventBuffer_3120_Sub * unk_1C; + struct MEventStruct_Unk1442CC * unk_20; + void * unk_24; + u32 unk_28; + void * unk_2C; + u32 unk_30; + void * unk_34; + struct mevent_srv_sub unk_38; +}; + +u32 mevent_srv_sub_recv(struct mevent_srv_sub * svr); +u32 mevent_srv_sub_send(struct mevent_srv_sub * svr); +void mevent_srv_sub_init(struct mevent_srv_sub * svr, u32 sendPlayerNo, u32 recvPlayerNo); +void mevent_srv_sub_init_send(struct mevent_srv_sub * svr, u32 ident, const void * src, u32 size); +void mevent_srv_sub_init_recv(struct mevent_srv_sub * svr, u32 ident, void * dest); + +void sub_8144AEC(void); +u32 sub_8144B0C(u16 * a0); +void sub_8144B48(void); +void * sub_8144B58(void); +void sub_8144B64(u32 a0); +void sub_8144F1C(void); +void sub_8144F40(void); +u32 sub_8144F64(u16 * a0); + +extern const u8 gUnknown_84687E0[]; +extern const u8 gUnknown_8468B6C[]; +extern const u8 gUnknown_8468BCC[]; #endif //GUARD_MEVENT_SERVER_H diff --git a/include/util.h b/include/util.h index a22cc77fa..e0034d816 100644 --- a/include/util.h +++ b/include/util.h @@ -12,8 +12,8 @@ u8 CreateInvisibleSpriteWithCallback(void (*)(struct Sprite *)); void StoreWordInTwoHalfwords(u16 *, u32); void LoadWordFromTwoHalfwords(u16 *, u32 *); int CountTrailingZeroBits(u32 value); -u16 CalcCRC16(u8 *data, s32 length); -u16 CalcCRC16WithTable(u8 *data, u32 length); +u16 CalcCRC16(const u8 *data, s32 length); +u16 CalcCRC16WithTable(const u8 *data, u32 length); u32 CalcByteArraySum(const u8* data, u32 length); #endif // GUARD_UTIL_H diff --git a/ld_script.txt b/ld_script.txt index 04be16a01..87d5fd323 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -244,8 +244,7 @@ SECTIONS { asm/mystery_gift_menu.o(.text); asm/link_rfu_4.o(.text); src/mevent.o(.text); - src/mevent_server_sub.o(.text); - src/mevent_server_ish.o(.text); + src/mevent_server_helpers.o(.text); src/mevent_server.o(.text); asm/mevent_8145654.o(.text); src/menews_jisan.o(.text); @@ -381,8 +380,7 @@ SECTIONS { src/fame_checker.o(.rodata); data/data_845FD54.o(.rodata); src/mevent.o(.rodata); - src/mevent_server_sub.o(.rodata); - src/mevent_server_ish.o(.rodata); + src/mevent_server_helpers.o(.rodata); src/mevent_server.o(.rodata); data/data_8466FB8.o(.rodata); src/menews_jisan.o(.rodata); diff --git a/src/mevent_server.c b/src/mevent_server.c index 2242dabce..2c0dcafad 100644 --- a/src/mevent_server.c +++ b/src/mevent_server.c @@ -11,42 +11,282 @@ #include "mevent.h" #include "mevent_server.h" -extern u16 gBlockRecvBuffer[][128]; - -struct mevent_cmd -{ - u32 instr; - bool32 flag; - void * parameter; -}; - -struct mevent_srv_common -{ - u32 unk_00; - u32 unk_04; - u32 mainseqno; - u32 cmdidx; - const struct mevent_cmd * cmdBuffer; - void * unk_14; - struct MEventBuffer_32E0_Sub * unk_18; - struct MEventBuffer_3120_Sub * unk_1C; - struct MEventStruct_Unk1442CC * unk_20; - void * unk_24; - u32 unk_28; - void * unk_2C; - u32 unk_30; - void * unk_34; - struct mevent_srv_sub unk_38; -}; - +EWRAM_DATA struct mevent_srv_ish * gUnknown_203F3C0 = NULL; EWRAM_DATA struct mevent_srv_common * gUnknown_203F3C4 = NULL; -void mevent_srv_init_common(struct mevent_srv_common *, const void *, u32, u32); -void mevent_srv_free_resources(struct mevent_srv_common *); -u32 sub_8145600(struct mevent_srv_common *); +static void mevent_srv_ish_init(struct mevent_srv_ish *, u32, u32); +static u32 mevent_srv_ish_exec(struct mevent_srv_ish *); +static void sub_8144BC0(struct mevent_srv_ish *); +static void mevent_srv_init_common(struct mevent_srv_common *, const void *, u32, u32); +static void mevent_srv_free_resources(struct mevent_srv_common *); +static u32 sub_8145600(struct mevent_srv_common *); -extern const u8 gUnknown_8468B6C[]; -extern const u8 gUnknown_8468BCC[]; +void sub_8144AEC(void) +{ + gUnknown_203F3C0 = AllocZeroed(sizeof(struct mevent_srv_ish)); + mevent_srv_ish_init(gUnknown_203F3C0, 1, 0); +} + +u32 sub_8144B0C(u16 * a0) +{ + u32 result; + if (gUnknown_203F3C0 == NULL) + return 6; + result = mevent_srv_ish_exec(gUnknown_203F3C0); + if (result == 6) + { + *a0 = gUnknown_203F3C0->unk_04; + sub_8144BC0(gUnknown_203F3C0); + Free(gUnknown_203F3C0); + gUnknown_203F3C0 = NULL; + } + return result; +} + +void sub_8144B48(void) +{ + gUnknown_203F3C0->unk_0C++; +} + +void * sub_8144B58(void) +{ + return gUnknown_203F3C0->unk_20; +} + +void sub_8144B64(u32 a0) +{ + gUnknown_203F3C0->unk_04 = a0; +} + +static void mevent_srv_ish_init(struct mevent_srv_ish * svr, u32 a1, u32 a2) +{ + svr->unk_00 = 0; + svr->mainseqno = 0; + svr->unk_0C = 0; + svr->unk_14 = AllocZeroed(ME_SEND_BUF_SIZE); + svr->unk_18 = AllocZeroed(ME_SEND_BUF_SIZE); + svr->cmdBuffer = AllocZeroed(ME_SEND_BUF_SIZE); + svr->unk_20 = AllocZeroed(0x40); + mevent_srv_sub_init(&svr->unk_24, a1, a2); +} + +static void sub_8144BC0(struct mevent_srv_ish * svr) +{ + Free(svr->unk_14); + Free(svr->unk_18); + Free(svr->cmdBuffer); + Free(svr->unk_20); +} + +static void sub_8144BE4(struct mevent_srv_ish * svr) +{ + memcpy(svr->cmdBuffer, svr->unk_18, ME_SEND_BUF_SIZE); + svr->cmdidx = 0; +} + +static void sub_8144C00(struct mevent_srv_ish * svr, u32 a1, u32 a2) +{ + CpuFill32(0, svr->unk_14, ME_SEND_BUF_SIZE); + *(u32 *)svr->unk_14 = a2; + mevent_srv_sub_init_send(&svr->unk_24, a1, svr->unk_14, 4); +} + +static u32 ish_mainseq_0(struct mevent_srv_ish * svr) +{ + // init + memcpy(svr->cmdBuffer, gUnknown_84687E0, ME_SEND_BUF_SIZE); + svr->cmdidx = 0; + svr->mainseqno = 4; + svr->unk_0C = 0; + return 0; +} + +static u32 ish_mainseq_1(struct mevent_srv_ish * svr) +{ + // done + return 6; +} + +static u32 ish_mainseq_2(struct mevent_srv_ish * svr) +{ + + if (mevent_srv_sub_recv(&svr->unk_24)) + { + svr->mainseqno = 4; + svr->unk_0C = 0; + } + return 1; +} + +static u32 ish_mainseq_3(struct mevent_srv_ish * svr) +{ + if (mevent_srv_sub_send(&svr->unk_24)) + { + svr->mainseqno = 4; + svr->unk_0C = 0; + } + return 1; +} + +static u32 ish_mainseq_4(struct mevent_srv_ish * svr) +{ + struct mevent_cmd_ish * cmd = &svr->cmdBuffer[svr->cmdidx]; + ++svr->cmdidx; + switch (cmd->instr) + { + case 0: + break; + case 1: + svr->unk_04 = cmd->parameter; + svr->mainseqno = 1; + svr->unk_0C = 0; + break; + case 2: + mevent_srv_sub_init_recv(&svr->unk_24, cmd->parameter, svr->unk_18); + svr->mainseqno = 2; + svr->unk_0C = 0; + break; + case 3: + svr->mainseqno = 3; + svr->unk_0C = 0; + break; + case 20: + mevent_srv_sub_init_send(&svr->unk_24, 0x14, svr->unk_14, 0); + svr->mainseqno = 3; + svr->unk_0C = 0; + break; + case 19: + sub_8144C00(svr, 0x12, GetGameStat(cmd->parameter)); + svr->mainseqno = 3; + svr->unk_0C = 0; + break; + case 6: + if (svr->unk_04 == 0) + sub_8144BE4(svr); + break; + case 7: + if (svr->unk_04 == 1) + sub_8144BE4(svr); + break; + case 4: + sub_8144BE4(svr); + break; + case 5: + memcpy(svr->unk_20, svr->unk_18, 0x40); + svr->mainseqno = 5; + svr->unk_0C = 0; + return 2; + case 11: + memcpy(svr->unk_20, svr->unk_18, 0x40); + svr->mainseqno = 5; + svr->unk_0C = 0; + return 3; + case 12: + memcpy(svr->unk_20, svr->unk_18, 0x40); + svr->mainseqno = 5; + svr->unk_0C = 0; + return 5; + case 13: + svr->mainseqno = 5; + svr->unk_0C = 0; + return 4; + case 8: + sub_81442CC(svr->unk_14); + mevent_srv_sub_init_send(&svr->unk_24, 0x11, svr->unk_14, 0x64); + break; + case 14: + sub_8144C00(svr, 0x13, svr->unk_04); + break; + case 10: + sub_8143F68(svr->unk_18); + break; + case 9: + if (!sub_8143EF4(svr->unk_18)) + { + sub_8143DC8(svr->unk_18); + sub_8144C00(svr, 0x13, 0); + } + else + sub_8144C00(svr, 0x13, 1); + break; + case 15: + svr->mainseqno = 6; + svr->unk_0C = 0; + break; + case 16: + sub_8144254(svr->unk_18); + break; + case 17: + sub_8069EA4(svr->unk_18, 1000); + break; + case 18: + memcpy(gSaveBlock2Ptr->unk_4A0, svr->unk_18, 0xbc); + sub_80E7490(); + break; + case 21: + memcpy(gDecompressionBuffer, svr->unk_18, ME_SEND_BUF_SIZE); + svr->mainseqno = 7; + svr->unk_0C = 0; + break; + } + + return 1; +} + +static u32 ish_mainseq_5(struct mevent_srv_ish * svr) +{ + if (svr->unk_0C) + { + svr->mainseqno = 4; + svr->unk_0C = 0; + } + return 1; +} + +static u32 ish_mainseq_6(struct mevent_srv_ish * svr) +{ + switch (svr->unk_0C) + { + case 0: + sub_80DA89C(svr->unk_18); + ++svr->unk_0C; + break; + case 1: + if (!sub_80DA8B0(&svr->unk_04)) + { + svr->mainseqno = 4; + svr->unk_0C = 0; + } + break; + } + return 1; +} + +static u32 ish_mainseq_7(struct mevent_srv_ish * svr) +{ + u32 (*func)(u32 *, struct SaveBlock2 *, struct SaveBlock1 *) = (void *)gDecompressionBuffer; + if (func(&svr->unk_04, gSaveBlock2Ptr, gSaveBlock1Ptr) == 1) + { + svr->mainseqno = 4; + svr->unk_0C = 0; + } + return 1; +} + +static u32 mevent_srv_ish_exec(struct mevent_srv_ish * svr) +{ + u32 (*funcs[])(struct mevent_srv_ish *) = { + ish_mainseq_0, + ish_mainseq_1, + ish_mainseq_2, + ish_mainseq_3, + ish_mainseq_4, + ish_mainseq_5, + ish_mainseq_6, + ish_mainseq_7 + }; + return funcs[svr->mainseqno](svr); +} void sub_8144F1C(void) { @@ -76,7 +316,7 @@ u32 sub_8144F64(u16 * a0) return result; } -void mevent_srv_init_common(struct mevent_srv_common * svr, const void * a1, u32 a2, u32 a3) +static void mevent_srv_init_common(struct mevent_srv_common * svr, const void * a1, u32 a2, u32 a3) { svr->unk_00 = 0; svr->mainseqno = 0; @@ -86,10 +326,10 @@ void mevent_srv_init_common(struct mevent_srv_common * svr, const void * a1, u32 svr->unk_20 = AllocZeroed(100); svr->cmdBuffer = a1; svr->cmdidx = 0; - sub_814485C(&svr->unk_38, a2, a3); + mevent_srv_sub_init(&svr->unk_38, a2, a3); } -void mevent_srv_free_resources(struct mevent_srv_common * svr) +static void mevent_srv_free_resources(struct mevent_srv_common * svr) { Free(svr->unk_18); Free(svr->unk_1C); @@ -97,13 +337,13 @@ void mevent_srv_free_resources(struct mevent_srv_common * svr) Free(svr->unk_20); } -void sub_814501C(struct mevent_srv_common * svr, u32 a1, void * a2, u32 size) +static void sub_814501C(struct mevent_srv_common * svr, u32 a1, void * a2, u32 size) { AGB_ASSERT_EX(size <= ME_SEND_BUF_SIZE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 257); - sub_8144888(&svr->unk_38, a1, a2, size); + mevent_srv_sub_init_send(&svr->unk_38, a1, a2, size); } -void * sub_814505C(void * a0, void * a1) +static void * sub_814505C(void * a0, void * a1) { if (a0 != NULL) return a0; @@ -111,7 +351,7 @@ void * sub_814505C(void * a0, void * a1) return a1; } -u32 sub_8145068(void * a0, void * a1) +static u32 sub_8145068(void * a0, void * a1) { if (a1 < a0) return 0; @@ -121,32 +361,32 @@ u32 sub_8145068(void * a0, void * a1) return 2; } -u32 sub_8145080(struct mevent_srv_common * svr) +static u32 sub_8145080(struct mevent_srv_common * svr) { svr->mainseqno = 4; return 0; } -u32 sub_8145088(struct mevent_srv_common * svr) +static u32 sub_8145088(struct mevent_srv_common * svr) { return 3; } -u32 sub_814508C(struct mevent_srv_common * svr) +static u32 sub_814508C(struct mevent_srv_common * svr) { - if (sub_8144844(&svr->unk_38)) + if (mevent_srv_sub_recv(&svr->unk_38)) svr->mainseqno = 4; return 1; } -u32 sub_81450A8(struct mevent_srv_common * svr) +static u32 sub_81450A8(struct mevent_srv_common * svr) { - if (sub_8144850(&svr->unk_38)) + if (mevent_srv_sub_send(&svr->unk_38)) svr->mainseqno = 4; return 1; } -u32 sub_81450C4(struct mevent_srv_common * svr) +static u32 sub_81450C4(struct mevent_srv_common * svr) { const struct mevent_cmd * cmd = &svr->cmdBuffer[svr->cmdidx]; void * ptr; @@ -164,7 +404,7 @@ u32 sub_81450C4(struct mevent_srv_common * svr) break; case 2: AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 364); - sub_81448AC(&svr->unk_38, cmd->flag, svr->unk_14); + mevent_srv_sub_init_recv(&svr->unk_38, cmd->flag, svr->unk_14); svr->mainseqno = 2; break; case 3: @@ -299,7 +539,7 @@ static u32 (*const func_tbl[])(struct mevent_srv_common *) = { sub_81450C4 }; -u32 sub_8145600(struct mevent_srv_common * svr) +static u32 sub_8145600(struct mevent_srv_common * svr) { u32 response; AGB_ASSERT_EX(svr->mainseqno < NELEMS(func_tbl), "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 546); diff --git a/src/mevent_server_helpers.c b/src/mevent_server_helpers.c new file mode 100644 index 000000000..a5ce595b0 --- /dev/null +++ b/src/mevent_server_helpers.c @@ -0,0 +1,211 @@ +#include "global.h" +#include "malloc.h" +#include "decompress.h" +#include "util.h" +#include "link.h" +#include "link_rfu.h" +#include "overworld.h" +#include "script.h" +#include "battle_tower.h" +#include "mystery_event_script.h" +#include "mevent.h" +#include "mevent_server.h" + +static u32 mevent_receive_func(struct mevent_srv_sub *); +static u32 mevent_send_func(struct mevent_srv_sub *); + +u32 mevent_srv_sub_recv(struct mevent_srv_sub * svr) +{ + return svr->recvFunc(svr); +} + +u32 mevent_srv_sub_send(struct mevent_srv_sub * svr) +{ + return svr->sendFunc(svr); +} + +void mevent_srv_sub_init(struct mevent_srv_sub * svr, u32 sendPlayerNo, u32 recvPlayerNo) +{ + svr->sendPlayerNo = sendPlayerNo; + svr->recvPlayerNo = recvPlayerNo; + svr->seqno = 0; + svr->sendCRC = 0; + svr->sendSize = 0; + svr->sendCounter = 0; + svr->recvCRC = 0; + svr->recvSize = 0; + svr->recvCounter = 0; + svr->sendBfr = NULL; + svr->recvBfr = NULL; + svr->sendFunc = mevent_send_func; + svr->recvFunc = mevent_receive_func; +} + +void mevent_srv_sub_init_send(struct mevent_srv_sub * svr, u32 a1, const void * src, u32 size) +{ + svr->seqno = 0; + svr->sendIdent = a1; + svr->sendCounter = 0; + svr->sendCRC = 0; + if (size != 0) + svr->sendSize = size; + else + svr->sendSize = ME_SEND_BUF_SIZE; + svr->sendBfr = src; +} + +void mevent_srv_sub_init_recv(struct mevent_srv_sub * svr, u32 ident, void * dest) +{ + svr->seqno = 0; + svr->recvIdent = ident; + svr->recvCounter = 0; + svr->recvCRC = 0; + svr->recvSize = 0; + svr->recvBfr = dest; +} + +static void mevent_recv_block(u32 recv_idx, void * dest, size_t size) +{ + memcpy(dest, gBlockRecvBuffer[recv_idx], size); +} + +static bool32 mevent_has_received(u32 recv_idx) +{ + if ((GetBlockReceivedStatus() >> recv_idx) & 1) + return TRUE; + else + return FALSE; +} + +static void mevent_reset_recv(u32 recv_idx) +{ + ResetBlockReceivedFlag(recv_idx); +} + +static bool32 mevent_receive_func(struct mevent_srv_sub * svr) +{ + struct send_recv_header header; + + switch (svr->seqno) + { + case 0: + if (mevent_has_received(svr->recvPlayerNo)) + { + mevent_recv_block(svr->recvPlayerNo, &header, sizeof(header)); + svr->recvSize = header.size; + svr->recvCRC = header.crc; + if (svr->recvSize > ME_SEND_BUF_SIZE) + { + sub_80FA190(); + return FALSE; + } + else if (svr->recvIdent != header.ident) + { + sub_80FA190(); + return FALSE; + } + else + { + svr->recvCounter = 0; + mevent_reset_recv(svr->recvPlayerNo); + ++svr->seqno; + } + } + break; + case 1: + if (mevent_has_received(svr->recvPlayerNo)) + { + size_t r3 = svr->recvCounter * 252; + if (svr->recvSize - r3 <= 252) + { + mevent_recv_block(svr->recvPlayerNo, svr->recvBfr + r3, svr->recvSize - r3); + ++svr->recvCounter; + ++svr->seqno; + } + else + { + mevent_recv_block(svr->recvPlayerNo, svr->recvBfr + r3, 252); + ++svr->recvCounter; + } + mevent_reset_recv(svr->recvPlayerNo); + } + break; + case 2: + if (CalcCRC16WithTable(svr->recvBfr, svr->recvSize) != svr->recvCRC) + { + sub_80FA190(); + return FALSE; + } + else + { + svr->seqno = 0; + return TRUE; + } + break; + + } + + return FALSE; +} + +static bool32 mevent_send_func(struct mevent_srv_sub * svr) +{ + struct send_recv_header header; + + switch (svr->seqno) + { + case 0: + if (sub_800A4BC()) + { + header.ident = svr->sendIdent; + header.size = svr->sendSize; + header.crc = CalcCRC16WithTable(svr->sendBfr, svr->sendSize); + svr->sendCRC = header.crc; + svr->sendCounter = 0; + SendBlock(0, &header, sizeof(header)); + ++svr->seqno; + } + break; + case 1: + if (sub_800A4BC()) + { + if (mevent_has_received(svr->sendPlayerNo)) + { + size_t r3; + mevent_reset_recv(svr->sendPlayerNo); + r3 = 252 * svr->sendCounter; + if (svr->sendSize - r3 <= 252) + { + SendBlock(0, svr->sendBfr + r3, svr->sendSize - r3); + ++svr->sendCounter; + ++svr->seqno; + } + else + { + SendBlock(0, svr->sendBfr + r3, 252); + ++svr->sendCounter; + } + } + } + break; + case 2: + if (sub_800A4BC()) + { + if (CalcCRC16WithTable(svr->sendBfr, svr->sendSize) != svr->sendCRC) + sub_80FA190(); + else + ++svr->seqno; + } + break; + case 3: + if (mevent_has_received(svr->sendPlayerNo)) + { + mevent_reset_recv(svr->sendPlayerNo); + svr->seqno = 0; + return TRUE; + } + break; + } + + return FALSE; +} diff --git a/src/mevent_server_ish.c b/src/mevent_server_ish.c deleted file mode 100644 index e544c0f42..000000000 --- a/src/mevent_server_ish.c +++ /dev/null @@ -1,305 +0,0 @@ -#include "global.h" -#include "malloc.h" -#include "decompress.h" -#include "util.h" -#include "link.h" -#include "link_rfu.h" -#include "overworld.h" -#include "script.h" -#include "battle_tower.h" -#include "mystery_event_script.h" -#include "mevent.h" -#include "mevent_server.h" - -extern u16 gBlockRecvBuffer[][128]; - -struct mevent_cmd -{ - u32 instr; - u32 parameter; -}; - -struct mevent_srv_ish -{ - u32 unk_00; - u32 unk_04; - u32 mainseqno; - u32 unk_0C; - u32 cmdidx; - void * unk_14; - void * unk_18; - struct mevent_cmd * cmdBuffer; - void * unk_20; - struct mevent_srv_sub unk_24; -}; - -EWRAM_DATA struct mevent_srv_ish * gUnknown_203F3C0 = NULL; - -void mevent_srv_ish_init(struct mevent_srv_ish *, u32, u32); -u32 mevent_srv_ish_exec(struct mevent_srv_ish *); -void sub_8144BC0(struct mevent_srv_ish *); -extern const u8 gUnknown_84687E0[]; - -void sub_8144AEC(void) -{ - gUnknown_203F3C0 = AllocZeroed(sizeof(struct mevent_srv_ish)); - mevent_srv_ish_init(gUnknown_203F3C0, 1, 0); -} - -u32 sub_8144B0C(u16 * a0) -{ - u32 result; - if (gUnknown_203F3C0 == NULL) - return 6; - result = mevent_srv_ish_exec(gUnknown_203F3C0); - if (result == 6) - { - *a0 = gUnknown_203F3C0->unk_04; - sub_8144BC0(gUnknown_203F3C0); - Free(gUnknown_203F3C0); - gUnknown_203F3C0 = NULL; - } - return result; -} - -void sub_8144B48(void) -{ - gUnknown_203F3C0->unk_0C++; -} - -void * sub_8144B58(void) -{ - return gUnknown_203F3C0->unk_20; -} - -void sub_8144B64(u32 a0) -{ - gUnknown_203F3C0->unk_04 = a0; -} - -void mevent_srv_ish_init(struct mevent_srv_ish * svr, u32 a1, u32 a2) -{ - svr->unk_00 = 0; - svr->mainseqno = 0; - svr->unk_0C = 0; - svr->unk_14 = AllocZeroed(ME_SEND_BUF_SIZE); - svr->unk_18 = AllocZeroed(ME_SEND_BUF_SIZE); - svr->cmdBuffer = AllocZeroed(ME_SEND_BUF_SIZE); - svr->unk_20 = AllocZeroed(0x40); - sub_814485C(&svr->unk_24, a1, a2); -} - -void sub_8144BC0(struct mevent_srv_ish * svr) -{ - Free(svr->unk_14); - Free(svr->unk_18); - Free(svr->cmdBuffer); - Free(svr->unk_20); -} - -void sub_8144BE4(struct mevent_srv_ish * svr) -{ - memcpy(svr->cmdBuffer, svr->unk_18, ME_SEND_BUF_SIZE); - svr->cmdidx = 0; -} - -void sub_8144C00(struct mevent_srv_ish * svr, u32 a1, u32 a2) -{ - CpuFill32(0, svr->unk_14, ME_SEND_BUF_SIZE); - *(u32 *)svr->unk_14 = a2; - sub_8144888(&svr->unk_24, a1, svr->unk_14, 4); -} - -u32 sub_8144C34(struct mevent_srv_ish * svr) -{ - memcpy(svr->cmdBuffer, gUnknown_84687E0, ME_SEND_BUF_SIZE); - svr->cmdidx = 0; - svr->mainseqno = 4; - svr->unk_0C = 0; - return 0; -} - -u32 sub_8144C5C(struct mevent_srv_ish * svr) -{ - return 6; -} - -u32 sub_8144C60(struct mevent_srv_ish * svr) -{ - if (sub_8144844(&svr->unk_24)) - { - svr->mainseqno = 4; - svr->unk_0C = 0; - } - return 1; -} - -u32 sub_8144C80(struct mevent_srv_ish * svr) -{ - if (sub_8144850(&svr->unk_24)) - { - svr->mainseqno = 4; - svr->unk_0C = 0; - } - return 1; -} - -u32 sub_8144CA0(struct mevent_srv_ish * svr) -{ - struct mevent_cmd * cmd = &svr->cmdBuffer[svr->cmdidx]; - ++svr->cmdidx; - switch (cmd->instr) - { - case 0: - break; - case 1: - svr->unk_04 = cmd->parameter; - svr->mainseqno = 1; - svr->unk_0C = 0; - break; - case 2: - sub_81448AC(&svr->unk_24, cmd->parameter, svr->unk_18); - svr->mainseqno = 2; - svr->unk_0C = 0; - break; - case 3: - svr->mainseqno = 3; - svr->unk_0C = 0; - break; - case 20: - sub_8144888(&svr->unk_24, 0x14, svr->unk_14, 0); - svr->mainseqno = 3; - svr->unk_0C = 0; - break; - case 19: - sub_8144C00(svr, 0x12, GetGameStat(cmd->parameter)); - svr->mainseqno = 3; - svr->unk_0C = 0; - break; - case 6: - if (svr->unk_04 == 0) - sub_8144BE4(svr); - break; - case 7: - if (svr->unk_04 == 1) - sub_8144BE4(svr); - break; - case 4: - sub_8144BE4(svr); - break; - case 5: - memcpy(svr->unk_20, svr->unk_18, 0x40); - svr->mainseqno = 5; - svr->unk_0C = 0; - return 2; - case 11: - memcpy(svr->unk_20, svr->unk_18, 0x40); - svr->mainseqno = 5; - svr->unk_0C = 0; - return 3; - case 12: - memcpy(svr->unk_20, svr->unk_18, 0x40); - svr->mainseqno = 5; - svr->unk_0C = 0; - return 5; - case 13: - svr->mainseqno = 5; - svr->unk_0C = 0; - return 4; - case 8: - sub_81442CC(svr->unk_14); - sub_8144888(&svr->unk_24, 0x11, svr->unk_14, 0x64); - break; - case 14: - sub_8144C00(svr, 0x13, svr->unk_04); - break; - case 10: - sub_8143F68(svr->unk_18); - break; - case 9: - if (!sub_8143EF4(svr->unk_18)) - { - sub_8143DC8(svr->unk_18); - sub_8144C00(svr, 0x13, 0); - } - else - sub_8144C00(svr, 0x13, 1); - break; - case 15: - svr->mainseqno = 6; - svr->unk_0C = 0; - break; - case 16: - sub_8144254(svr->unk_18); - break; - case 17: - sub_8069EA4(svr->unk_18, 1000); - break; - case 18: - memcpy(gSaveBlock2Ptr->unk_4A0, svr->unk_18, 0xbc); - sub_80E7490(); - break; - case 21: - memcpy(gDecompressionBuffer, svr->unk_18, ME_SEND_BUF_SIZE); - svr->mainseqno = 7; - svr->unk_0C = 0; - break; - } - - return 1; -} - -u32 sub_8144E6C(struct mevent_srv_ish * svr) -{ - if (svr->unk_0C) - { - svr->mainseqno = 4; - svr->unk_0C = 0; - } - return 1; -} - -u32 sub_8144E84(struct mevent_srv_ish * svr) -{ - switch (svr->unk_0C) - { - case 0: - sub_80DA89C(svr->unk_18); - ++svr->unk_0C; - break; - case 1: - if (!sub_80DA8B0(&svr->unk_04)) - { - svr->mainseqno = 4; - svr->unk_0C = 0; - } - break; - } - return 1; -} - -u32 sub_8144EBC(struct mevent_srv_ish * svr) -{ - u32 (*func)(u32 *, struct SaveBlock2 *, struct SaveBlock1 *) = (void *)gDecompressionBuffer; - if (func(&svr->unk_04, gSaveBlock2Ptr, gSaveBlock1Ptr) == 1) - { - svr->mainseqno = 4; - svr->unk_0C = 0; - } - return 1; -} - -u32 mevent_srv_ish_exec(struct mevent_srv_ish * svr) -{ - u32 (*funcs[])(struct mevent_srv_ish *) = { - sub_8144C34, - sub_8144C5C, - sub_8144C60, - sub_8144C80, - sub_8144CA0, - sub_8144E6C, - sub_8144E84, - sub_8144EBC - }; - return funcs[svr->mainseqno](svr); -} diff --git a/src/mevent_server_sub.c b/src/mevent_server_sub.c deleted file mode 100644 index 83b8f62ca..000000000 --- a/src/mevent_server_sub.c +++ /dev/null @@ -1,211 +0,0 @@ -#include "global.h" -#include "malloc.h" -#include "decompress.h" -#include "util.h" -#include "link.h" -#include "link_rfu.h" -#include "overworld.h" -#include "script.h" -#include "battle_tower.h" -#include "mystery_event_script.h" -#include "mevent.h" -#include "mevent_server.h" - -u32 sub_814490C(struct mevent_srv_sub *); -u32 sub_81449E0(struct mevent_srv_sub *); - -u32 sub_8144844(struct mevent_srv_sub * svr) -{ - return svr->unk_20(svr); -} - -u32 sub_8144850(struct mevent_srv_sub * svr) -{ - return svr->unk_24(svr); -} - -void sub_814485C(struct mevent_srv_sub * svr, u32 a1, u32 a2) -{ - svr->unk_04 = a1; - svr->unk_05 = a2; - svr->unk_00 = 0; - svr->unk_12 = 0; - svr->unk_14 = 0; - svr->unk_10 = 0; - svr->unk_0A = 0; - svr->unk_0C = 0; - svr->unk_08 = 0; - svr->unk_1C = NULL; - svr->unk_18 = NULL; - svr->unk_24 = sub_81449E0; - svr->unk_20 = sub_814490C; -} - -void sub_8144888(struct mevent_srv_sub * svr, u32 a1, void * a2, u32 a3) -{ - svr->unk_00 = 0; - svr->unk_0E = a1; - svr->unk_10 = 0; - svr->unk_12 = 0; - if (a3 != 0) - svr->unk_14 = a3; - else - svr->unk_14 = ME_SEND_BUF_SIZE; - svr->unk_1C = a2; -} - -void sub_81448AC(struct mevent_srv_sub * svr, u32 a1, void * a2) -{ - svr->unk_00 = 0; - svr->unk_06 = a1; - svr->unk_08 = 0; - svr->unk_0A = 0; - svr->unk_0C = 0; - svr->unk_18 = a2; -} - -void sub_81448BC(u32 recv_idx, void * dest, size_t size) -{ - memcpy(dest, gBlockRecvBuffer[recv_idx], size); -} - -bool32 sub_81448D8(u32 recv_idx) -{ - if ((GetBlockReceivedStatus() >> recv_idx) & 1) - return TRUE; - else - return FALSE; -} - -void sub_81448FC(u32 recv_idx) -{ - ResetBlockReceivedFlag(recv_idx); -} - -bool32 sub_814490C(struct mevent_srv_sub * svr) -{ - struct send_recv_buff buff; - - switch (svr->unk_00) - { - case 0: - if (sub_81448D8(svr->unk_05)) - { - sub_81448BC(svr->unk_05, &buff, sizeof(buff)); - svr->unk_0C = buff.unk4; - svr->unk_0A = buff.unk2; - if (svr->unk_0C > ME_SEND_BUF_SIZE) - { - sub_80FA190(); - return FALSE; - } - else if (svr->unk_06 != buff.unk0) - { - sub_80FA190(); - return FALSE; - } - else - { - svr->unk_08 = 0; - sub_81448FC(svr->unk_05); - ++svr->unk_00; - } - } - break; - case 1: - if (sub_81448D8(svr->unk_05)) - { - size_t r3 = svr->unk_08 * 252; - if (svr->unk_0C - r3 <= 252) - { - sub_81448BC(svr->unk_05, svr->unk_18 + r3, svr->unk_0C - r3); - ++svr->unk_08; - ++svr->unk_00; - } - else - { - sub_81448BC(svr->unk_05, svr->unk_18 + r3, 252); - ++svr->unk_08; - } - sub_81448FC(svr->unk_05); - } - break; - case 2: - if (CalcCRC16WithTable(svr->unk_18, svr->unk_0C) != svr->unk_0A) - { - sub_80FA190(); - return FALSE; - } - else - { - svr->unk_00 = 0; - return TRUE; - } - break; - - } - - return FALSE; -} - -bool32 sub_81449E0(struct mevent_srv_sub * svr) -{ - struct send_recv_buff buff; - - switch (svr->unk_00) - { - case 0: - if (sub_800A4BC()) - { - buff.unk0 = svr->unk_0E; - buff.unk4 = svr->unk_14; - buff.unk2 = CalcCRC16WithTable(svr->unk_1C, svr->unk_14); - svr->unk_12 = buff.unk2; - svr->unk_10 = 0; - SendBlock(0, &buff, sizeof(buff)); - ++svr->unk_00; - } - break; - case 1: - if (sub_800A4BC()) - { - if (sub_81448D8(svr->unk_04)) - { - size_t r3; - sub_81448FC(svr->unk_04); - r3 = 252 * svr->unk_10; - if (svr->unk_14 - r3 <= 252) - { - SendBlock(0, svr->unk_1C + r3, svr->unk_14 - r3); - ++svr->unk_10; - ++svr->unk_00; - } - else - { - SendBlock(0, svr->unk_1C + r3, 252); - ++svr->unk_10; - } - } - } - break; - case 2: - if (sub_800A4BC()) - { - if (CalcCRC16WithTable(svr->unk_1C, svr->unk_14) != svr->unk_12) - sub_80FA190(); - else - ++svr->unk_00; - } - break; - case 3: - if (sub_81448D8(svr->unk_04)) - { - sub_81448FC(svr->unk_04); - svr->unk_00 = 0; - return TRUE; - } - break; - } - - return FALSE; -} diff --git a/sym_ewram.txt b/sym_ewram.txt index 4c8d1dc78..b12c9d4a6 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1707,8 +1707,7 @@ gUnknown_203F3B8: @ 203F3B8 .space 0x4 .include "src/mevent.o" - .include "src/mevent_server_sub.o" - .include "src/mevent_server_ish.o" + .include "src/mevent_server_helpers.o" .include "src/mevent_server.o" gUnknown_203F3C8: @ 203F3C8 From d4d209428107f0530b4018b6373c6f0bf697793e Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 1 Dec 2018 11:24:48 -0500 Subject: [PATCH 185/222] also rename r3 in the mevent helper send and recv functions --- src/mevent_server_helpers.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/mevent_server_helpers.c b/src/mevent_server_helpers.c index a5ce595b0..7e2119088 100644 --- a/src/mevent_server_helpers.c +++ b/src/mevent_server_helpers.c @@ -115,16 +115,16 @@ static bool32 mevent_receive_func(struct mevent_srv_sub * svr) case 1: if (mevent_has_received(svr->recvPlayerNo)) { - size_t r3 = svr->recvCounter * 252; - if (svr->recvSize - r3 <= 252) + size_t blocksiz = svr->recvCounter * 252; + if (svr->recvSize - blocksiz <= 252) { - mevent_recv_block(svr->recvPlayerNo, svr->recvBfr + r3, svr->recvSize - r3); + mevent_recv_block(svr->recvPlayerNo, svr->recvBfr + blocksiz, svr->recvSize - blocksiz); ++svr->recvCounter; ++svr->seqno; } else { - mevent_recv_block(svr->recvPlayerNo, svr->recvBfr + r3, 252); + mevent_recv_block(svr->recvPlayerNo, svr->recvBfr + blocksiz, 252); ++svr->recvCounter; } mevent_reset_recv(svr->recvPlayerNo); @@ -171,18 +171,18 @@ static bool32 mevent_send_func(struct mevent_srv_sub * svr) { if (mevent_has_received(svr->sendPlayerNo)) { - size_t r3; + size_t blocksiz; mevent_reset_recv(svr->sendPlayerNo); - r3 = 252 * svr->sendCounter; - if (svr->sendSize - r3 <= 252) + blocksiz = 252 * svr->sendCounter; + if (svr->sendSize - blocksiz <= 252) { - SendBlock(0, svr->sendBfr + r3, svr->sendSize - r3); + SendBlock(0, svr->sendBfr + blocksiz, svr->sendSize - blocksiz); ++svr->sendCounter; ++svr->seqno; } else { - SendBlock(0, svr->sendBfr + r3, 252); + SendBlock(0, svr->sendBfr + blocksiz, 252); ++svr->sendCounter; } } From 8473bf1bcd8ef38bcb7db0125b4840ee23b6e8c6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 1 Dec 2018 11:31:54 -0500 Subject: [PATCH 186/222] More symbol names in mevent server --- src/mevent_server.c | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/src/mevent_server.c b/src/mevent_server.c index 2c0dcafad..fff22acdb 100644 --- a/src/mevent_server.c +++ b/src/mevent_server.c @@ -109,7 +109,7 @@ static u32 ish_mainseq_1(struct mevent_srv_ish * svr) static u32 ish_mainseq_2(struct mevent_srv_ish * svr) { - + // do recv if (mevent_srv_sub_recv(&svr->unk_24)) { svr->mainseqno = 4; @@ -120,6 +120,7 @@ static u32 ish_mainseq_2(struct mevent_srv_ish * svr) static u32 ish_mainseq_3(struct mevent_srv_ish * svr) { + // do send if (mevent_srv_sub_send(&svr->unk_24)) { svr->mainseqno = 4; @@ -130,6 +131,7 @@ static u32 ish_mainseq_3(struct mevent_srv_ish * svr) static u32 ish_mainseq_4(struct mevent_srv_ish * svr) { + // process command struct mevent_cmd_ish * cmd = &svr->cmdBuffer[svr->cmdidx]; ++svr->cmdidx; switch (cmd->instr) @@ -235,6 +237,7 @@ static u32 ish_mainseq_4(struct mevent_srv_ish * svr) static u32 ish_mainseq_5(struct mevent_srv_ish * svr) { + // wait unk_0C if (svr->unk_0C) { svr->mainseqno = 4; @@ -245,6 +248,7 @@ static u32 ish_mainseq_5(struct mevent_srv_ish * svr) static u32 ish_mainseq_6(struct mevent_srv_ish * svr) { + // ??? switch (svr->unk_0C) { case 0: @@ -264,6 +268,7 @@ static u32 ish_mainseq_6(struct mevent_srv_ish * svr) static u32 ish_mainseq_7(struct mevent_srv_ish * svr) { + // exec arbitrary code u32 (*func)(u32 *, struct SaveBlock2 *, struct SaveBlock1 *) = (void *)gDecompressionBuffer; if (func(&svr->unk_04, gSaveBlock2Ptr, gSaveBlock1Ptr) == 1) { @@ -361,33 +366,38 @@ static u32 sub_8145068(void * a0, void * a1) return 2; } -static u32 sub_8145080(struct mevent_srv_common * svr) +static u32 common_mainseq_0(struct mevent_srv_common * svr) { + // start svr->mainseqno = 4; return 0; } -static u32 sub_8145088(struct mevent_srv_common * svr) +static u32 common_mainseq_1(struct mevent_srv_common * svr) { + // done return 3; } -static u32 sub_814508C(struct mevent_srv_common * svr) +static u32 common_mainseq_2(struct mevent_srv_common * svr) { + // do recv if (mevent_srv_sub_recv(&svr->unk_38)) svr->mainseqno = 4; return 1; } -static u32 sub_81450A8(struct mevent_srv_common * svr) +static u32 common_mainseq_3(struct mevent_srv_common * svr) { + // do send if (mevent_srv_sub_send(&svr->unk_38)) svr->mainseqno = 4; return 1; } -static u32 sub_81450C4(struct mevent_srv_common * svr) +static u32 common_mainseq_4(struct mevent_srv_common * svr) { + // process command const struct mevent_cmd * cmd = &svr->cmdBuffer[svr->cmdidx]; void * ptr; svr->cmdidx++; @@ -532,11 +542,11 @@ static u32 sub_81450C4(struct mevent_srv_common * svr) } static u32 (*const func_tbl[])(struct mevent_srv_common *) = { - sub_8145080, - sub_8145088, - sub_814508C, - sub_81450A8, - sub_81450C4 + common_mainseq_0, + common_mainseq_1, + common_mainseq_2, + common_mainseq_3, + common_mainseq_4 }; static u32 sub_8145600(struct mevent_srv_common * svr) From 2fbe528d5e2db723db338cb2d1635f0fa76ac905 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 1 Dec 2018 20:27:35 -0500 Subject: [PATCH 187/222] Attempt to give meaningful names to mevent srv fields --- asm/link_rfu_4.s | 22 +-- data/data_83FECCC.s | 5 +- data/data_8466FB8.s | 13 +- data/mevent/script_common.inc | 84 ++++++++++ data/mevent/script_ish.inc | 65 +++++++ include/mevent_server.h | 54 +++--- src/mevent_server.c | 308 +++++++++++++++++----------------- src/mevent_server_helpers.c | 4 +- 8 files changed, 352 insertions(+), 203 deletions(-) create mode 100644 data/mevent/script_common.inc create mode 100644 data/mevent/script_ish.inc diff --git a/asm/link_rfu_4.s b/asm/link_rfu_4.s index f8917e197..20381dca1 100644 --- a/asm/link_rfu_4.s +++ b/asm/link_rfu_4.s @@ -1657,7 +1657,7 @@ _081430B8: bl sub_81424B8 movs r0, 0x7 strb r0, [r5, 0x8] - bl sub_8144AEC + bl mevent_srv_ish_do_init b _081435C6 .align 2, 0 _081430D0: .4byte gUnknown_3003F64 @@ -1683,7 +1683,7 @@ _081430EC: _081430F8: .4byte gUnknown_841E794 _081430FC: adds r0, r5, 0 - bl sub_8144B0C + bl mevent_srv_ish_do_exec subs r0, 0x2 cmp r0, 0x4 bls _0814310A @@ -1712,12 +1712,12 @@ _0814312C: b _081435C6 _0814313A: ldr r4, [r5, 0x10] - bl sub_8144B58 + bl mevent_srv_ish_get_buffer adds r1, r0, 0 adds r0, r4, 0 movs r2, 0x40 bl memcpy - bl sub_8144B48 + bl mevent_srv_ish_inc_flag b _081435C6 _08143150: movs r0, 0xA @@ -1740,7 +1740,7 @@ _08143170: .4byte gLinkPlayers + 8 _08143174: adds r4, r5, 0 adds r4, 0x9 - bl sub_8144B58 + bl mevent_srv_ish_get_buffer adds r3, r0, 0 adds r0, r4, 0 adds r1, r5, 0 @@ -1757,7 +1757,7 @@ _08143174: _08143198: adds r4, r5, 0 adds r4, 0x9 - bl sub_8144B58 + bl mevent_srv_ish_get_buffer adds r1, r0, 0 adds r0, r4, 0 bl mevent_0814257C @@ -1817,9 +1817,9 @@ _08143208: _0814320C: movs r0, 0x1 _0814320E: - bl sub_8144B64 + bl mevent_srv_ish_set_param _08143212: - bl sub_8144B48 + bl mevent_srv_ish_inc_flag movs r0, 0x7 strb r0, [r5, 0x8] b _081435C6 @@ -2199,7 +2199,7 @@ _081434D0: bne _08143500 ldr r0, _081434FC @ =gUnknown_841EAE7 bl sub_8142504 - bl sub_8144F40 + bl mevent_srv_common_do_init_2 b _0814350A .align 2, 0 _081434F0: .4byte gStringVar1 @@ -2209,7 +2209,7 @@ _081434FC: .4byte gUnknown_841EAE7 _08143500: ldr r0, _08143510 @ =gUnknown_841EB01 bl sub_8142504 - bl sub_8144F1C + bl mevent_srv_common_do_init_1 _0814350A: movs r0, 0x20 strb r0, [r5, 0x8] @@ -2218,7 +2218,7 @@ _0814350A: _08143510: .4byte gUnknown_841EB01 _08143514: adds r0, r5, 0 - bl sub_8144F64 + bl mevent_srv_init_do_exec cmp r0, 0x3 bne _081435C6 ldrh r0, [r5] diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 15416aed2..c89f5f308 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -3176,7 +3176,10 @@ gUnknown_8459580:: @ 8459580 .incbin "baserom.gba", 0x459580, 0x8 gUnknown_8459588:: @ 8459588 - .incbin "baserom.gba", 0x459588, 0xAC + .incbin "baserom.gba", 0x459588, 0x64 + +gUnknown_84595EC:: + .incbin "baserom.gba", 0x4595EC, 0x48 gUnknown_8459634:: @ 8459634 .incbin "baserom.gba", 0x459634, 0x8 diff --git a/data/data_8466FB8.s b/data/data_8466FB8.s index 0ca0bcbf3..ee830ca04 100644 --- a/data/data_8466FB8.s +++ b/data/data_8466FB8.s @@ -1,3 +1,6 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + .section .rodata .align 2 @@ -34,11 +37,5 @@ gUnknown_8468050:: @ 8468050 gUnknown_8468720:: @ 8468720 .incbin "baserom.gba", 0x468720, 0xC0 -gUnknown_84687E0:: @ 84687E0 - .incbin "baserom.gba", 0x4687E0, 0x38C - -gUnknown_8468B6C:: @ 8468B6C - .incbin "baserom.gba", 0x468B6C, 0x60 - -gUnknown_8468BCC:: @ 8468BCC - .incbin "baserom.gba", 0x468BCC, 0x90 + .include "data/mevent/script_ish.inc" + .include "data/mevent/script_common.inc" diff --git a/data/mevent/script_common.inc b/data/mevent/script_common.inc new file mode 100644 index 000000000..abf03ab95 --- /dev/null +++ b/data/mevent/script_common.inc @@ -0,0 +1,84 @@ +gUnknown_8468920:: + .4byte 0x12, 0x10, gUnknown_8468810 + .4byte 0x01, 0x00, NULL + .4byte 0x02, 0x14, NULL + .4byte 0x00, 0x0a, NULL + .4byte 0x12, 0x10, gUnknown_8468820 + .4byte 0x01, 0x00, NULL + .4byte 0x02, 0x14, NULL + .4byte 0x00, 0x0b, NULL + .4byte 0x12, 0x10, gUnknown_84688E0 + .4byte 0x01, 0x00, NULL + .4byte 0x02, 0x14, NULL + .4byte 0x00, 0x09, NULL + +gUnknown_84689B0:: + .4byte 0x12, 0x10, gUnknown_8468898 + .4byte 0x01, 0x00, NULL + .4byte 0x02, 0x14, NULL + .4byte 0x00, 0x07, NULL + +gUnknown_84689E0:: + .4byte 0x12, 0x28, gUnknown_8468870 + .4byte 0x01, 0x00, NULL + .4byte 0x0e, 0x00, NULL + .4byte 0x01, 0x00, NULL + .4byte 0x02, 0x13, NULL + .4byte 0x08, 0x00, NULL + .4byte 0x04, 0x01, gUnknown_84689B0 + .4byte 0x12, 0x10, gUnknown_84688A8 + .4byte 0x01, 0x00, NULL + .4byte 0x02, 0x14, NULL + .4byte 0x00, 0x03, NULL + +gUnknown_8468A64:: + .4byte 0x12, 0x30, gUnknown_8468840 + .4byte 0x01, 0x00, NULL + .4byte 0x0d, 0x00, NULL + .4byte 0x01, 0x00, NULL + .4byte 0x0f, 0x00, NULL + .4byte 0x01, 0x00, NULL + .4byte 0x02, 0x14, NULL + .4byte 0x00, 0x02, NULL + +gUnknown_8468AC4:: + .4byte 0x12, 0x28, gUnknown_84688B8 + .4byte 0x01, 0x00, NULL + .4byte 0x02, 0x13, NULL + .4byte 0x08, 0x00, NULL + .4byte 0x04, 0x00, gUnknown_8468A64 + .4byte 0x03, 0x00, gUnknown_84595EC + +gUnknown_8468B0C:: + .4byte 0x12, 0x10, gUnknown_84688F0 + .4byte 0x01, 0x00, NULL + .4byte 0x02, 0x14, NULL + .4byte 0x00, 0x05, NULL + .4byte 0x12, 0x10, gUnknown_8468830 + .4byte 0x01, 0x00, NULL + .4byte 0x02, 0x14, NULL + .4byte 0x00, 0x00, NULL + +gUnknown_8468B6C:: @ 8468B6C + .4byte 0x1b, 0x00, NULL + .4byte 0x12, 0x20, gUnknown_84687F0 + .4byte 0x01, 0x00, NULL + .4byte 0x02, 0x11, NULL + .4byte 0x05, 0x00, NULL + .4byte 0x06, 0x00, NULL + .4byte 0x04, 0x00, gUnknown_8468920 + .4byte 0x03, 0x00, gUnknown_84689E0 + +gUnknown_8468BCC:: @ 8468BCC + .4byte 0x1a, 0x00, NULL + .4byte 0x1c, 0x00, NULL + .4byte 0x12, 0x20, gUnknown_84687F0 + .4byte 0x01, 0x00, NULL + .4byte 0x02, 0x11, NULL + .4byte 0x05, 0x00, NULL + .4byte 0x06, 0x00, NULL + .4byte 0x04, 0x00, gUnknown_8468920 + .4byte 0x07, 0x00, NULL + .4byte 0x04, 0x02, gUnknown_8468AC4 + .4byte 0x04, 0x00, gUnknown_8468A64 + .4byte 0x03, 0x00, gUnknown_8468B0C diff --git a/data/mevent/script_ish.inc b/data/mevent/script_ish.inc new file mode 100644 index 000000000..3d79cf1ee --- /dev/null +++ b/data/mevent/script_ish.inc @@ -0,0 +1,65 @@ +gUnknown_84687E0:: @ 84687E0 + .4byte 0x02, 0x10 @ RECEIVE ID(0x10) + .4byte 0x04, 0x00 @ JUMP TO RECEIVE BUFFER + +gUnknown_84687F0:: + .4byte 0x08, 0x00 @ SEND HEADER MAYBE + .4byte 0x03, 0x00 @ WAIT SEND + .4byte 0x02, 0x10 @ RECEIVE ID(0x10) + .4byte 0x04, 0x00 @ JUMP TO RECEIVE BUFFER + +gUnknown_8468810:: + .4byte 0x14, 0x00 @ SEND ALL + .4byte 0x01, 0x0a @ RETURN 0x0a + +gUnknown_8468820:: + .4byte 0x14, 0x00 @ SEND ALL + .4byte 0x01, 0x0b @ RETURN 0x0b + +gUnknown_8468830:: + .4byte 0x14, 0x00 @ SEND ALL + .4byte 0x01, 0x00 @ RETURN 0x00 + +gUnknown_8468840:: + .4byte 0x02, 0x16 @ RECEIVE ID(0x16) + .4byte 0x0a, 0x00 @ RECEIVE_TO_SAVE_FILE + .4byte 0x02, 0x19 @ RECEIVE ID(0x19) + .4byte 0x11, 0x00 @ RECEIVE_TO_RAM_SCRIPT + .4byte 0x14, 0x00 @ SEND ALL + .4byte 0x01, 0x02 @ RETURN 0x02 + +gUnknown_8468870:: + .4byte 0x02, 0x17 @ RECEIVE ID(0x17) + .4byte 0x09, 0x00 @ VALIDATE BUFF3120 + .4byte 0x03, 0x00 @ WAIT SEND + .4byte 0x02, 0x10 @ RECEIVE ID(0x10) + .4byte 0x04, 0x00 @ JUMP TO RECEIVE BUFFER + +gUnknown_8468898:: + .4byte 0x14, 0x00 @ SEND ALL + .4byte 0x01, 0x07 @ RETURN 0x07 + +gUnknown_84688A8:: + .4byte 0x14, 0x00 @ SEND ALL + .4byte 0x01, 0x03 @ RETURN 0x03 + +gUnknown_84688B8:: + .4byte 0x0d, 0x00 @ REQUEST PARAMETER + .4byte 0x0e, 0x00 @ SEND PARAMETER + .4byte 0x03, 0x00 @ WAIT SEND + .4byte 0x02, 0x10 @ RECEIVE ID(0x10) + .4byte 0x04, 0x00 @ JUMP TO RECEIVE BUFFER + +gUnknown_84688E0:: + .4byte 0x14, 0x00 @ SEND ALL + .4byte 0x01, 0x09 @ RETURN 0x09 + +gUnknown_84688F0:: + .4byte 0x14, 0x00 @ SEND ALL + .4byte 0x01, 0x05 @ RETURN 0x05 + +gUnknown_8468900:: + .4byte 0x02, 0x15 @ RECEIVE ID(0x15) + .4byte 0x0c, 0x00 @ READ PACKET AND COMPUTE SOMETHING + .4byte 0x14, 0x00 @ SEND ALL + .4byte 0x01, 0x0d @ RETURN 0x0d diff --git a/include/mevent_server.h b/include/mevent_server.h index 90cb5f35d..e593b5dbd 100644 --- a/include/mevent_server.h +++ b/include/mevent_server.h @@ -40,15 +40,15 @@ struct mevent_cmd_ish struct mevent_srv_ish { u32 unk_00; - u32 unk_04; + u32 param; u32 mainseqno; - u32 unk_0C; + u32 flag; u32 cmdidx; - void * unk_14; - void * unk_18; + void * sendBuffer; + void * recvBuffer; struct mevent_cmd_ish * cmdBuffer; - void * unk_20; - struct mevent_srv_sub unk_24; + void * buffer; + struct mevent_srv_sub manager; }; struct mevent_cmd @@ -61,20 +61,20 @@ struct mevent_cmd struct mevent_srv_common { u32 unk_00; - u32 unk_04; + u32 param; u32 mainseqno; u32 cmdidx; const struct mevent_cmd * cmdBuffer; - void * unk_14; - struct MEventBuffer_32E0_Sub * unk_18; - struct MEventBuffer_3120_Sub * unk_1C; - struct MEventStruct_Unk1442CC * unk_20; - void * unk_24; - u32 unk_28; - void * unk_2C; - u32 unk_30; - void * unk_34; - struct mevent_srv_sub unk_38; + void * recvBuffer; + struct MEventBuffer_32E0_Sub * mevent_32e0; + struct MEventBuffer_3120_Sub * mevent_3120; + struct MEventStruct_Unk1442CC * mevent_unk1442cc; + void * sendBuffer1; + u32 sendBuffer1Size; + void * sendBuffer2; + u32 sendBuffer2Size; + u32 sendWord; + struct mevent_srv_sub manager; }; u32 mevent_srv_sub_recv(struct mevent_srv_sub * svr); @@ -83,17 +83,13 @@ void mevent_srv_sub_init(struct mevent_srv_sub * svr, u32 sendPlayerNo, u32 recv void mevent_srv_sub_init_send(struct mevent_srv_sub * svr, u32 ident, const void * src, u32 size); void mevent_srv_sub_init_recv(struct mevent_srv_sub * svr, u32 ident, void * dest); -void sub_8144AEC(void); -u32 sub_8144B0C(u16 * a0); -void sub_8144B48(void); -void * sub_8144B58(void); -void sub_8144B64(u32 a0); -void sub_8144F1C(void); -void sub_8144F40(void); -u32 sub_8144F64(u16 * a0); - -extern const u8 gUnknown_84687E0[]; -extern const u8 gUnknown_8468B6C[]; -extern const u8 gUnknown_8468BCC[]; +void mevent_srv_ish_do_init(void); +u32 mevent_srv_ish_do_exec(u16 * a0); +void mevent_srv_ish_inc_flag(void); +void * mevent_srv_ish_get_buffer(void); +void mevent_srv_ish_set_param(u32 a0); +void mevent_srv_common_do_init_1(void); +void mevent_srv_common_do_init_2(void); +u32 mevent_srv_init_do_exec(u16 * a0); #endif //GUARD_MEVENT_SERVER_H diff --git a/src/mevent_server.c b/src/mevent_server.c index fff22acdb..d5a9a0c0e 100644 --- a/src/mevent_server.c +++ b/src/mevent_server.c @@ -11,84 +11,88 @@ #include "mevent.h" #include "mevent_server.h" -EWRAM_DATA struct mevent_srv_ish * gUnknown_203F3C0 = NULL; -EWRAM_DATA struct mevent_srv_common * gUnknown_203F3C4 = NULL; +EWRAM_DATA struct mevent_srv_ish * s_mevent_srv_ish_ptr = NULL; +EWRAM_DATA struct mevent_srv_common * s_mevent_srv_common_ptr = NULL; static void mevent_srv_ish_init(struct mevent_srv_ish *, u32, u32); static u32 mevent_srv_ish_exec(struct mevent_srv_ish *); -static void sub_8144BC0(struct mevent_srv_ish *); +static void mevent_srv_ish_free_resources(struct mevent_srv_ish *); static void mevent_srv_init_common(struct mevent_srv_common *, const void *, u32, u32); static void mevent_srv_free_resources(struct mevent_srv_common *); -static u32 sub_8145600(struct mevent_srv_common *); +static u32 mevent_srv_exec_common(struct mevent_srv_common *); -void sub_8144AEC(void) +extern const u8 gUnknown_84687E0[]; +extern const struct mevent_cmd gUnknown_8468B6C[]; +extern const struct mevent_cmd gUnknown_8468BCC[]; + +void mevent_srv_ish_do_init(void) { - gUnknown_203F3C0 = AllocZeroed(sizeof(struct mevent_srv_ish)); - mevent_srv_ish_init(gUnknown_203F3C0, 1, 0); + s_mevent_srv_ish_ptr = AllocZeroed(sizeof(struct mevent_srv_ish)); + mevent_srv_ish_init(s_mevent_srv_ish_ptr, 1, 0); } -u32 sub_8144B0C(u16 * a0) +u32 mevent_srv_ish_do_exec(u16 * a0) { u32 result; - if (gUnknown_203F3C0 == NULL) + if (s_mevent_srv_ish_ptr == NULL) return 6; - result = mevent_srv_ish_exec(gUnknown_203F3C0); + result = mevent_srv_ish_exec(s_mevent_srv_ish_ptr); if (result == 6) { - *a0 = gUnknown_203F3C0->unk_04; - sub_8144BC0(gUnknown_203F3C0); - Free(gUnknown_203F3C0); - gUnknown_203F3C0 = NULL; + *a0 = s_mevent_srv_ish_ptr->param; + mevent_srv_ish_free_resources(s_mevent_srv_ish_ptr); + Free(s_mevent_srv_ish_ptr); + s_mevent_srv_ish_ptr = NULL; } return result; } -void sub_8144B48(void) +void mevent_srv_ish_inc_flag(void) { - gUnknown_203F3C0->unk_0C++; + s_mevent_srv_ish_ptr->flag++; } -void * sub_8144B58(void) +void * mevent_srv_ish_get_buffer(void) { - return gUnknown_203F3C0->unk_20; + return s_mevent_srv_ish_ptr->buffer; } -void sub_8144B64(u32 a0) +void mevent_srv_ish_set_param(u32 a0) { - gUnknown_203F3C0->unk_04 = a0; + s_mevent_srv_ish_ptr->param = a0; } -static void mevent_srv_ish_init(struct mevent_srv_ish * svr, u32 a1, u32 a2) +static void mevent_srv_ish_init(struct mevent_srv_ish * svr, u32 sendPlayerNo, u32 recvPlayerNo) { svr->unk_00 = 0; svr->mainseqno = 0; - svr->unk_0C = 0; - svr->unk_14 = AllocZeroed(ME_SEND_BUF_SIZE); - svr->unk_18 = AllocZeroed(ME_SEND_BUF_SIZE); + svr->flag = 0; + svr->sendBuffer = AllocZeroed(ME_SEND_BUF_SIZE); + svr->recvBuffer = AllocZeroed(ME_SEND_BUF_SIZE); svr->cmdBuffer = AllocZeroed(ME_SEND_BUF_SIZE); - svr->unk_20 = AllocZeroed(0x40); - mevent_srv_sub_init(&svr->unk_24, a1, a2); + svr->buffer = AllocZeroed(0x40); + mevent_srv_sub_init(&svr->manager, sendPlayerNo, recvPlayerNo); } -static void sub_8144BC0(struct mevent_srv_ish * svr) +static void mevent_srv_ish_free_resources(struct mevent_srv_ish * svr) { - Free(svr->unk_14); - Free(svr->unk_18); + Free(svr->sendBuffer); + Free(svr->recvBuffer); Free(svr->cmdBuffer); - Free(svr->unk_20); + Free(svr->buffer); } -static void sub_8144BE4(struct mevent_srv_ish * svr) +static void mevent_srv_ish_jmp_buffer(struct mevent_srv_ish * svr) { - memcpy(svr->cmdBuffer, svr->unk_18, ME_SEND_BUF_SIZE); + memcpy(svr->cmdBuffer, svr->recvBuffer, ME_SEND_BUF_SIZE); svr->cmdidx = 0; } -static void sub_8144C00(struct mevent_srv_ish * svr, u32 a1, u32 a2) +static void mevent_srv_ish_send_word(struct mevent_srv_ish * svr, u32 ident, u32 word) { - CpuFill32(0, svr->unk_14, ME_SEND_BUF_SIZE); - *(u32 *)svr->unk_14 = a2; - mevent_srv_sub_init_send(&svr->unk_24, a1, svr->unk_14, 4); + CpuFill32(0, svr->sendBuffer, ME_SEND_BUF_SIZE); + *(u32 *)svr->sendBuffer = word; + mevent_srv_sub_init_send(&svr->manager, ident, svr->sendBuffer, sizeof(u32)); } static u32 ish_mainseq_0(struct mevent_srv_ish * svr) @@ -97,7 +101,7 @@ static u32 ish_mainseq_0(struct mevent_srv_ish * svr) memcpy(svr->cmdBuffer, gUnknown_84687E0, ME_SEND_BUF_SIZE); svr->cmdidx = 0; svr->mainseqno = 4; - svr->unk_0C = 0; + svr->flag = 0; return 0; } @@ -110,10 +114,10 @@ static u32 ish_mainseq_1(struct mevent_srv_ish * svr) static u32 ish_mainseq_2(struct mevent_srv_ish * svr) { // do recv - if (mevent_srv_sub_recv(&svr->unk_24)) + if (mevent_srv_sub_recv(&svr->manager)) { svr->mainseqno = 4; - svr->unk_0C = 0; + svr->flag = 0; } return 1; } @@ -121,10 +125,10 @@ static u32 ish_mainseq_2(struct mevent_srv_ish * svr) static u32 ish_mainseq_3(struct mevent_srv_ish * svr) { // do send - if (mevent_srv_sub_send(&svr->unk_24)) + if (mevent_srv_sub_send(&svr->manager)) { svr->mainseqno = 4; - svr->unk_0C = 0; + svr->flag = 0; } return 1; } @@ -139,96 +143,96 @@ static u32 ish_mainseq_4(struct mevent_srv_ish * svr) case 0: break; case 1: - svr->unk_04 = cmd->parameter; + svr->param = cmd->parameter; svr->mainseqno = 1; - svr->unk_0C = 0; + svr->flag = 0; break; case 2: - mevent_srv_sub_init_recv(&svr->unk_24, cmd->parameter, svr->unk_18); + mevent_srv_sub_init_recv(&svr->manager, cmd->parameter, svr->recvBuffer); svr->mainseqno = 2; - svr->unk_0C = 0; + svr->flag = 0; break; case 3: svr->mainseqno = 3; - svr->unk_0C = 0; + svr->flag = 0; break; case 20: - mevent_srv_sub_init_send(&svr->unk_24, 0x14, svr->unk_14, 0); + mevent_srv_sub_init_send(&svr->manager, 0x14, svr->sendBuffer, 0); svr->mainseqno = 3; - svr->unk_0C = 0; + svr->flag = 0; break; case 19: - sub_8144C00(svr, 0x12, GetGameStat(cmd->parameter)); + mevent_srv_ish_send_word(svr, 0x12, GetGameStat(cmd->parameter)); svr->mainseqno = 3; - svr->unk_0C = 0; + svr->flag = 0; break; case 6: - if (svr->unk_04 == 0) - sub_8144BE4(svr); + if (svr->param == 0) + mevent_srv_ish_jmp_buffer(svr); break; case 7: - if (svr->unk_04 == 1) - sub_8144BE4(svr); + if (svr->param == 1) + mevent_srv_ish_jmp_buffer(svr); break; case 4: - sub_8144BE4(svr); + mevent_srv_ish_jmp_buffer(svr); break; case 5: - memcpy(svr->unk_20, svr->unk_18, 0x40); + memcpy(svr->buffer, svr->recvBuffer, 0x40); svr->mainseqno = 5; - svr->unk_0C = 0; + svr->flag = 0; return 2; case 11: - memcpy(svr->unk_20, svr->unk_18, 0x40); + memcpy(svr->buffer, svr->recvBuffer, 0x40); svr->mainseqno = 5; - svr->unk_0C = 0; + svr->flag = 0; return 3; case 12: - memcpy(svr->unk_20, svr->unk_18, 0x40); + memcpy(svr->buffer, svr->recvBuffer, 0x40); svr->mainseqno = 5; - svr->unk_0C = 0; + svr->flag = 0; return 5; case 13: svr->mainseqno = 5; - svr->unk_0C = 0; + svr->flag = 0; return 4; case 8: - sub_81442CC(svr->unk_14); - mevent_srv_sub_init_send(&svr->unk_24, 0x11, svr->unk_14, 0x64); + sub_81442CC(svr->sendBuffer); + mevent_srv_sub_init_send(&svr->manager, 0x11, svr->sendBuffer, sizeof(struct MEventStruct_Unk1442CC)); break; case 14: - sub_8144C00(svr, 0x13, svr->unk_04); + mevent_srv_ish_send_word(svr, 0x13, svr->param); break; case 10: - sub_8143F68(svr->unk_18); + sub_8143F68(svr->recvBuffer); break; case 9: - if (!sub_8143EF4(svr->unk_18)) + if (!sub_8143EF4(svr->recvBuffer)) { - sub_8143DC8(svr->unk_18); - sub_8144C00(svr, 0x13, 0); + sub_8143DC8(svr->recvBuffer); + mevent_srv_ish_send_word(svr, 0x13, 0); } else - sub_8144C00(svr, 0x13, 1); + mevent_srv_ish_send_word(svr, 0x13, 1); break; case 15: svr->mainseqno = 6; - svr->unk_0C = 0; + svr->flag = 0; break; case 16: - sub_8144254(svr->unk_18); + sub_8144254(svr->recvBuffer); break; case 17: - sub_8069EA4(svr->unk_18, 1000); + sub_8069EA4(svr->recvBuffer, 1000); break; case 18: - memcpy(gSaveBlock2Ptr->unk_4A0, svr->unk_18, 0xbc); + memcpy(gSaveBlock2Ptr->unk_4A0, svr->recvBuffer, 0xbc); sub_80E7490(); break; case 21: - memcpy(gDecompressionBuffer, svr->unk_18, ME_SEND_BUF_SIZE); + memcpy(gDecompressionBuffer, svr->recvBuffer, ME_SEND_BUF_SIZE); svr->mainseqno = 7; - svr->unk_0C = 0; + svr->flag = 0; break; } @@ -237,11 +241,11 @@ static u32 ish_mainseq_4(struct mevent_srv_ish * svr) static u32 ish_mainseq_5(struct mevent_srv_ish * svr) { - // wait unk_0C - if (svr->unk_0C) + // wait flag + if (svr->flag) { svr->mainseqno = 4; - svr->unk_0C = 0; + svr->flag = 0; } return 1; } @@ -249,17 +253,17 @@ static u32 ish_mainseq_5(struct mevent_srv_ish * svr) static u32 ish_mainseq_6(struct mevent_srv_ish * svr) { // ??? - switch (svr->unk_0C) + switch (svr->flag) { case 0: - sub_80DA89C(svr->unk_18); - ++svr->unk_0C; + sub_80DA89C(svr->recvBuffer); + ++svr->flag; break; case 1: - if (!sub_80DA8B0(&svr->unk_04)) + if (!sub_80DA8B0(&svr->param)) { svr->mainseqno = 4; - svr->unk_0C = 0; + svr->flag = 0; } break; } @@ -270,10 +274,10 @@ static u32 ish_mainseq_7(struct mevent_srv_ish * svr) { // exec arbitrary code u32 (*func)(u32 *, struct SaveBlock2 *, struct SaveBlock1 *) = (void *)gDecompressionBuffer; - if (func(&svr->unk_04, gSaveBlock2Ptr, gSaveBlock1Ptr) == 1) + if (func(&svr->param, gSaveBlock2Ptr, gSaveBlock1Ptr) == 1) { svr->mainseqno = 4; - svr->unk_0C = 0; + svr->flag = 0; } return 1; } @@ -293,62 +297,62 @@ static u32 mevent_srv_ish_exec(struct mevent_srv_ish * svr) return funcs[svr->mainseqno](svr); } -void sub_8144F1C(void) +void mevent_srv_common_do_init_1(void) { - gUnknown_203F3C4 = AllocZeroed(sizeof(struct mevent_srv_common)); - mevent_srv_init_common(gUnknown_203F3C4, gUnknown_8468B6C, 0, 1); + s_mevent_srv_common_ptr = AllocZeroed(sizeof(struct mevent_srv_common)); + mevent_srv_init_common(s_mevent_srv_common_ptr, gUnknown_8468B6C, 0, 1); } -void sub_8144F40(void) +void mevent_srv_common_do_init_2(void) { - gUnknown_203F3C4 = AllocZeroed(sizeof(struct mevent_srv_common)); - mevent_srv_init_common(gUnknown_203F3C4, gUnknown_8468BCC, 0, 1); + s_mevent_srv_common_ptr = AllocZeroed(sizeof(struct mevent_srv_common)); + mevent_srv_init_common(s_mevent_srv_common_ptr, gUnknown_8468BCC, 0, 1); } -u32 sub_8144F64(u16 * a0) +u32 mevent_srv_init_do_exec(u16 * a0) { u32 result; - if (gUnknown_203F3C4 == NULL) + if (s_mevent_srv_common_ptr == NULL) return 3; - result = sub_8145600(gUnknown_203F3C4); + result = mevent_srv_exec_common(s_mevent_srv_common_ptr); if (result == 3) { - *a0 = gUnknown_203F3C4->unk_04; - mevent_srv_free_resources(gUnknown_203F3C4); - Free(gUnknown_203F3C4); - gUnknown_203F3C4 = NULL; + *a0 = s_mevent_srv_common_ptr->param; + mevent_srv_free_resources(s_mevent_srv_common_ptr); + Free(s_mevent_srv_common_ptr); + s_mevent_srv_common_ptr = NULL; } return result; } -static void mevent_srv_init_common(struct mevent_srv_common * svr, const void * a1, u32 a2, u32 a3) +static void mevent_srv_init_common(struct mevent_srv_common * svr, const void * cmdBuffer, u32 sendPlayerNo, u32 recvPlayerNo) { svr->unk_00 = 0; svr->mainseqno = 0; - svr->unk_18 = AllocZeroed(332); - svr->unk_1C = AllocZeroed(444); - svr->unk_14 = AllocZeroed(ME_SEND_BUF_SIZE); - svr->unk_20 = AllocZeroed(100); - svr->cmdBuffer = a1; + svr->mevent_32e0 = AllocZeroed(sizeof(struct MEventBuffer_32E0_Sub)); + svr->mevent_3120 = AllocZeroed(sizeof(struct MEventBuffer_3120_Sub)); + svr->recvBuffer = AllocZeroed(ME_SEND_BUF_SIZE); + svr->mevent_unk1442cc = AllocZeroed(sizeof(struct MEventStruct_Unk1442CC)); + svr->cmdBuffer = cmdBuffer; svr->cmdidx = 0; - mevent_srv_sub_init(&svr->unk_38, a2, a3); + mevent_srv_sub_init(&svr->manager, sendPlayerNo, recvPlayerNo); } static void mevent_srv_free_resources(struct mevent_srv_common * svr) { - Free(svr->unk_18); - Free(svr->unk_1C); - Free(svr->unk_14); - Free(svr->unk_20); + Free(svr->mevent_32e0); + Free(svr->mevent_3120); + Free(svr->recvBuffer); + Free(svr->mevent_unk1442cc); } -static void sub_814501C(struct mevent_srv_common * svr, u32 a1, void * a2, u32 size) +static void mevent_srv_common_init_send(struct mevent_srv_common * svr, u32 ident, const void * src, u32 size) { AGB_ASSERT_EX(size <= ME_SEND_BUF_SIZE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 257); - mevent_srv_sub_init_send(&svr->unk_38, a1, a2, size); + mevent_srv_sub_init_send(&svr->manager, ident, src, size); } -static void * sub_814505C(void * a0, void * a1) +static void * mevent_first_if_not_null_else_second(void * a0, void * a1) { if (a0 != NULL) return a0; @@ -356,7 +360,7 @@ static void * sub_814505C(void * a0, void * a1) return a1; } -static u32 sub_8145068(void * a0, void * a1) +static u32 mevent_compare_pointers(void * a0, void * a1) { if (a1 < a0) return 0; @@ -382,7 +386,7 @@ static u32 common_mainseq_1(struct mevent_srv_common * svr) static u32 common_mainseq_2(struct mevent_srv_common * svr) { // do recv - if (mevent_srv_sub_recv(&svr->unk_38)) + if (mevent_srv_sub_recv(&svr->manager)) svr->mainseqno = 4; return 1; } @@ -390,7 +394,7 @@ static u32 common_mainseq_2(struct mevent_srv_common * svr) static u32 common_mainseq_3(struct mevent_srv_common * svr) { // do send - if (mevent_srv_sub_send(&svr->unk_38)) + if (mevent_srv_sub_send(&svr->manager)) svr->mainseqno = 4; return 1; } @@ -407,14 +411,14 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr) case 0: AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 354); svr->mainseqno = 1; - svr->unk_04 = cmd->flag; + svr->param = cmd->flag; break; case 1: svr->mainseqno = 3; break; case 2: AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 364); - mevent_srv_sub_init_recv(&svr->unk_38, cmd->flag, svr->unk_14); + mevent_srv_sub_init_recv(&svr->manager, cmd->flag, svr->recvBuffer); svr->mainseqno = 2; break; case 3: @@ -425,15 +429,15 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr) case 5: AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 376); AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 377); - memcpy(svr->unk_20, svr->unk_14, 100); + memcpy(svr->mevent_unk1442cc, svr->recvBuffer, sizeof(struct MEventStruct_Unk1442CC)); break; case 6: AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 382); AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 383); - svr->unk_04 = sub_81443D4(svr->unk_20); + svr->param = sub_81443D4(svr->mevent_unk1442cc); break; case 4: - if (svr->unk_04 == cmd->flag) + if (svr->param == cmd->flag) { svr->cmdidx = 0; svr->cmdBuffer = cmd->parameter; @@ -441,100 +445,100 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr) break; case 7: AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 396); - ptr = sub_814505C(cmd->parameter, svr->unk_18); - svr->unk_04 = sub_8144418(ptr, svr->unk_20, ptr); + ptr = mevent_first_if_not_null_else_second(cmd->parameter, svr->mevent_32e0); + svr->param = sub_8144418(ptr, svr->mevent_unk1442cc, ptr); break; case 8: AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 402); AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 403); - svr->unk_04 = *(u32 *)svr->unk_14; + svr->param = *(u32 *)svr->recvBuffer; break; case 9: AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 408); - ptr = sub_814505C(cmd->parameter, &svr->unk_34); - svr->unk_04 = sub_8144434(ptr, svr->unk_20, ptr); + ptr = mevent_first_if_not_null_else_second(cmd->parameter, &svr->sendWord); + svr->param = sub_8144434(ptr, svr->mevent_unk1442cc, ptr); break; case 10: AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 415); - svr->unk_04 = sub_81444B0(svr->unk_20, cmd->flag); + svr->param = sub_81444B0(svr->mevent_unk1442cc, cmd->flag); break; case 11: AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 420); - svr->unk_04 = sub_8144474(svr->unk_20, cmd->parameter); + svr->param = sub_8144474(svr->mevent_unk1442cc, cmd->parameter); break; case 12: AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 426); - svr->unk_04 = sub_8145068(cmd->parameter, *(void **)svr->unk_14); + svr->param = mevent_compare_pointers(cmd->parameter, *(void **)svr->recvBuffer); break; case 14: AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 432); - sub_814501C(svr, 0x17, sub_814505C(cmd->parameter, svr->unk_1C), 444); + mevent_srv_common_init_send(svr, 0x17, mevent_first_if_not_null_else_second(cmd->parameter, svr->mevent_3120), sizeof(struct MEventBuffer_3120_Sub)); break; case 13: AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 438); - sub_814501C(svr, 0x16, sub_814505C(cmd->parameter, svr->unk_18), 332); + mevent_srv_common_init_send(svr, 0x16, mevent_first_if_not_null_else_second(cmd->parameter, svr->mevent_32e0), sizeof(struct MEventBuffer_32E0_Sub)); break; case 16: AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 444); - sub_814501C(svr, 0x18, sub_814505C(cmd->parameter, &svr->unk_34), 4); + mevent_srv_common_init_send(svr, 0x18, mevent_first_if_not_null_else_second(cmd->parameter, &svr->sendWord), 4); break; case 15: if (cmd->parameter == NULL) - sub_814501C(svr, 0x19, svr->unk_24, svr->unk_28); + mevent_srv_common_init_send(svr, 0x19, svr->sendBuffer1, svr->sendBuffer1Size); else - sub_814501C(svr, 0x19, cmd->parameter, cmd->flag); + mevent_srv_common_init_send(svr, 0x19, cmd->parameter, cmd->flag); break; case 18: if (cmd->parameter == NULL) - sub_814501C(svr, 0x10, svr->unk_2C, svr->unk_30); + mevent_srv_common_init_send(svr, 0x10, svr->sendBuffer2, svr->sendBuffer2Size); else - sub_814501C(svr, 0x10, cmd->parameter, cmd->flag); + mevent_srv_common_init_send(svr, 0x10, cmd->parameter, cmd->flag); break; case 19: AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 466); - sub_814501C(svr, 0x1a, cmd->parameter, 188); + mevent_srv_common_init_send(svr, 0x1a, cmd->parameter, 188); break; case 20: - sub_814501C(svr, 0x15, cmd->parameter, cmd->flag); + mevent_srv_common_init_send(svr, 0x15, cmd->parameter, cmd->flag); break; case 17: - sub_814501C(svr, 0x1c, cmd->parameter, cmd->flag); + mevent_srv_common_init_send(svr, 0x1c, cmd->parameter, cmd->flag); break; case 22: AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 481); - memcpy(svr->unk_18, cmd->parameter, 332); + memcpy(svr->mevent_32e0, cmd->parameter, 332); break; case 23: AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 486); - memcpy(svr->unk_1C, cmd->parameter, 444); + memcpy(svr->mevent_3120, cmd->parameter, 444); break; case 21: AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 491); - svr->unk_34 = *(void **)cmd->parameter; + svr->sendWord = *(u32 *)cmd->parameter; break; case 24: - svr->unk_24 = cmd->parameter; - svr->unk_28 = cmd->flag; + svr->sendBuffer1 = cmd->parameter; + svr->sendBuffer1Size = cmd->flag; break; case 25: - svr->unk_2C = cmd->parameter; - svr->unk_30 = cmd->flag; + svr->sendBuffer2 = cmd->parameter; + svr->sendBuffer2Size = cmd->flag; break; case 26: AGB_ASSERT_EX(cmd->flag == FALSE && cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 506); - memcpy(svr->unk_18, sav1_get_mevent_buffer_1(), 332); - sub_814410C(svr->unk_18); + memcpy(svr->mevent_32e0, sav1_get_mevent_buffer_1(), 332); + sub_814410C(svr->mevent_32e0); break; case 27: AGB_ASSERT_EX(cmd->flag == FALSE && cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 512); - memcpy(svr->unk_1C, sub_8143D58(), 444); + memcpy(svr->mevent_3120, sub_8143D58(), 444); break; case 28: AGB_ASSERT_EX(cmd->flag == FALSE && cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 517); - svr->unk_24 = sub_8069E48(); + svr->sendBuffer1 = sub_8069E48(); break; case 29: - sub_814501C(svr, 0x1b, cmd->parameter, cmd->flag); + mevent_srv_common_init_send(svr, 0x1b, cmd->parameter, cmd->flag); break; } @@ -549,7 +553,7 @@ static u32 (*const func_tbl[])(struct mevent_srv_common *) = { common_mainseq_4 }; -static u32 sub_8145600(struct mevent_srv_common * svr) +static u32 mevent_srv_exec_common(struct mevent_srv_common * svr) { u32 response; AGB_ASSERT_EX(svr->mainseqno < NELEMS(func_tbl), "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 546); diff --git a/src/mevent_server_helpers.c b/src/mevent_server_helpers.c index 7e2119088..35efa68c8 100644 --- a/src/mevent_server_helpers.c +++ b/src/mevent_server_helpers.c @@ -41,10 +41,10 @@ void mevent_srv_sub_init(struct mevent_srv_sub * svr, u32 sendPlayerNo, u32 recv svr->recvFunc = mevent_receive_func; } -void mevent_srv_sub_init_send(struct mevent_srv_sub * svr, u32 a1, const void * src, u32 size) +void mevent_srv_sub_init_send(struct mevent_srv_sub * svr, u32 ident, const void * src, u32 size) { svr->seqno = 0; - svr->sendIdent = a1; + svr->sendIdent = ident; svr->sendCounter = 0; svr->sendCRC = 0; if (size != 0) From 884f1934e8bf34813701f745140f1d8429e8beaf Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 2 Dec 2018 10:02:39 -0500 Subject: [PATCH 188/222] start decompiling mevent_8145654 --- asm/mevent_8145654.s | 108 ----------------------------------- data/data_8466FB8.s | 133 +++++++++++++++++++++++++++++++++++++++++-- include/global.h | 2 +- ld_script.txt | 2 + src/mevent_8145654.c | 52 +++++++++++++++++ 5 files changed, 182 insertions(+), 115 deletions(-) create mode 100644 src/mevent_8145654.c diff --git a/asm/mevent_8145654.s b/asm/mevent_8145654.s index ccb86ba64..51e90677a 100644 --- a/asm/mevent_8145654.s +++ b/asm/mevent_8145654.s @@ -5,114 +5,6 @@ .text - thumb_func_start sub_8145654 -sub_8145654: @ 8145654 - push {r4-r7,lr} - adds r5, r0, 0 - adds r6, r1, 0 - cmp r5, 0 - beq _08145670 - cmp r6, 0 - beq _08145670 - ldr r7, _08145674 @ =gUnknown_203F3C8 - ldr r0, _08145678 @ =0x0000145c - bl AllocZeroed - str r0, [r7] - cmp r0, 0 - bne _0814567C -_08145670: - movs r0, 0 - b _081456E6 - .align 2, 0 -_08145674: .4byte gUnknown_203F3C8 -_08145678: .4byte 0x0000145c -_0814567C: - movs r4, 0xA6 - lsls r4, 1 - adds r1, r5, 0 - adds r2, r4, 0 - bl memcpy - ldr r1, [r7] - adds r1, r4 - adds r0, r6, 0 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldr r2, [r7] - ldrb r1, [r2, 0x8] - lsls r0, r1, 26 - lsrs r0, 28 - cmp r0, 0x7 - bls _081456AE - movs r0, 0x3D - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x8] -_081456AE: - ldr r2, [r7] - ldrb r1, [r2, 0x8] - lsls r0, r1, 30 - lsrs r0, 30 - cmp r0, 0x2 - bls _081456C2 - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x8] -_081456C2: - ldr r1, [r7] - ldrb r0, [r1, 0x9] - cmp r0, 0x7 - bls _081456CE - movs r0, 0 - strb r0, [r1, 0x9] -_081456CE: - ldr r0, [r7] - movs r1, 0xB8 - lsls r1, 1 - adds r2, r0, r1 - ldrb r0, [r0, 0x8] - lsls r0, 26 - lsrs r0, 28 - lsls r0, 4 - ldr r1, _081456EC @ =gUnknown_8467FB8 - adds r0, r1 - str r0, [r2] - movs r0, 0x1 -_081456E6: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081456EC: .4byte gUnknown_8467FB8 - thumb_func_end sub_8145654 - - thumb_func_start sub_81456F0 -sub_81456F0: @ 81456F0 - push {r4,lr} - ldr r4, _08145714 @ =gUnknown_203F3C8 - ldr r0, [r4] - cmp r0, 0 - beq _0814570C - ldr r2, _08145718 @ =0x0000145c - movs r1, 0 - bl memset - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] -_0814570C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08145714: .4byte gUnknown_203F3C8 -_08145718: .4byte 0x0000145c - thumb_func_end sub_81456F0 - thumb_func_start sub_814571C sub_814571C: @ 814571C push {r4-r6,lr} diff --git a/data/data_8466FB8.s b/data/data_8466FB8.s index ee830ca04..6883ab138 100644 --- a/data/data_8466FB8.s +++ b/data/data_8466FB8.s @@ -5,13 +5,78 @@ .align 2 gUnknown_8467068:: @ 8467068 - .incbin "baserom.gba", 0x467068, 0x8 + .byte 0x00, 0x02, 0x03 + .byte 0x00, 0x01, 0x02 + .align 2 gUnknown_8467070:: @ 8467070 - .incbin "baserom.gba", 0x467070, 0x4 + .byte 0x07, 0x04, 0x07 + .align 2 gUnknown_8467074:: @ 8467074 - .incbin "baserom.gba", 0x467074, 0xEE4 + @ {0x01, 0x01, 0x01, 0x19, 0x04, 0x0f, 0x029c}, + @ {0x01, 0x01, 0x06, 0x1c, 0x08, 0x0f, 0x01bc}, + @ {0x01, 0x01, 0x0e, 0x1c, 0x05, 0x0f, 0x0130} + .byte 0x01, 0x01, 0x01, 0x19, 0x04, 0x0f + .2byte 0x029c + .byte 0x01, 0x01, 0x06, 0x1c, 0x08, 0x0f + .2byte 0x01bc + .byte 0x01, 0x01, 0x0e, 0x1c, 0x05, 0x0f + .2byte 0x0130 + +gUnknown_846708C:: + .incbin "baserom.gba", 0x46708c, 0x20 + +gUnknown_84670AC:: + .incbin "baserom.gba", 0x4670ac, 0x20 + +gUnknown_84670CC:: + .incbin "baserom.gba", 0x4670cc, 0x20 + +gUnknown_84670EC:: + .incbin "baserom.gba", 0x4670ec, 0x20 + +gUnknown_846710C:: + .incbin "baserom.gba", 0x46710c, 0x20 + +gUnknown_846712C:: + .incbin "baserom.gba", 0x46712c, 0x20 + +gUnknown_846714C:: + .incbin "baserom.gba", 0x46714c, 0x20 + +gUnknown_846716C:: + .incbin "baserom.gba", 0x46716c, 0x20 + +gUnknown_846718C:: + .incbin "baserom.gba", 0x46718c, 0xFC + +gUnknown_8467288:: + .incbin "baserom.gba", 0x467288, 0xF4 + +gUnknown_846737C:: + .incbin "baserom.gba", 0x46737c, 0xF4 + +gUnknown_8467470:: + .incbin "baserom.gba", 0x467470, 0xE8 + +gUnknown_8467558:: + .incbin "baserom.gba", 0x467558, 0xD4 + +gUnknown_846762C:: + .incbin "baserom.gba", 0x46762c, 0xD4 + +gUnknown_8467700:: + .incbin "baserom.gba", 0x467700, 0x234 + +gUnknown_8467934:: + .incbin "baserom.gba", 0x467934, 0x148 + +gUnknown_8467A7C:: + .incbin "baserom.gba", 0x467a7c, 0x230 + +gUnknown_8467CAC:: + .incbin "baserom.gba", 0x467cac, 0x2AC gUnknown_8467F58:: @ 8467F58 .incbin "baserom.gba", 0x467F58, 0x8 @@ -23,7 +88,14 @@ gUnknown_8467FA0:: @ 8467FA0 .incbin "baserom.gba", 0x467FA0, 0x18 gUnknown_8467FB8:: @ 8467FB8 - .incbin "baserom.gba", 0x467FB8, 0x80 + .4byte 0x0001, gUnknown_846718C, gUnknown_8467288, gUnknown_846708C + .4byte 0x1001, gUnknown_846737C, gUnknown_8467470, gUnknown_84670AC + .4byte 0x2001, gUnknown_8467558, gUnknown_846762C, gUnknown_84670CC + .4byte 0x3001, gUnknown_8467558, gUnknown_846762C, gUnknown_84670EC + .4byte 0x4001, gUnknown_8467558, gUnknown_846762C, gUnknown_846710C + .4byte 0x5001, gUnknown_8467558, gUnknown_846762C, gUnknown_846712C + .4byte 0x6001, gUnknown_8467700, gUnknown_8467934, gUnknown_846714C + .4byte 0x7001, gUnknown_8467A7C, gUnknown_8467CAC, gUnknown_846716C gUnknown_8468038:: @ 8468038 .incbin "baserom.gba", 0x468038, 0x8 @@ -32,10 +104,59 @@ gUnknown_8468040:: @ 8468040 .incbin "baserom.gba", 0x468040, 0x10 gUnknown_8468050:: @ 8468050 - .incbin "baserom.gba", 0x468050, 0x6D0 + .incbin "baserom.gba", 0x468050, 0x10 + +gUnknown_8468060:: + .incbin "baserom.gba", 0x468060, 0x20 + +gUnknown_8468080:: + .incbin "baserom.gba", 0x468080, 0x20 + +gUnknown_84680A0:: + .incbin "baserom.gba", 0x4680A0, 0x20 + +gUnknown_84680C0:: + .incbin "baserom.gba", 0x4680C0, 0x80 + +gUnknown_8468140:: + .incbin "baserom.gba", 0x468140, 0xdc + +gUnknown_846821C:: + .incbin "baserom.gba", 0x46821C, 0x30 + +gUnknown_846824C:: + .incbin "baserom.gba", 0x46824C, 0xc0 + +gUnknown_846830C:: + .incbin "baserom.gba", 0x46830C, 0x70 + +gUnknown_846837C:: + .incbin "baserom.gba", 0x46837C, 0xcc + +gUnknown_8468448:: + .incbin "baserom.gba", 0x468448, 0x90 + +gUnknown_84684D8:: + .incbin "baserom.gba", 0x4684D8, 0xdc + +gUnknown_84685B4:: + .incbin "baserom.gba", 0x4685B4, 0x90 + +gUnknown_8468644:: + .incbin "baserom.gba", 0x468644, 0xdc gUnknown_8468720:: @ 8468720 - .incbin "baserom.gba", 0x468720, 0xC0 + .4byte 1, gUnknown_84680C0, gUnknown_8468140, gUnknown_8468060 + .4byte 1, gUnknown_846821C, gUnknown_846824C, gUnknown_84670AC + .4byte 1, gUnknown_846830C, gUnknown_846837C, gUnknown_84670CC + .4byte 1, gUnknown_846830C, gUnknown_846837C, gUnknown_84670EC + .4byte 1, gUnknown_846830C, gUnknown_846837C, gUnknown_846710C + .4byte 1, gUnknown_846830C, gUnknown_846837C, gUnknown_846712C + .4byte 1, gUnknown_8468448, gUnknown_84684D8, gUnknown_8468080 + .4byte 1, gUnknown_84685B4, gUnknown_8468644, gUnknown_84680A0 + +gUnknown_84687A0:: + .incbin "baserom.gba", 0x4687a0, 0x40 .include "data/mevent/script_ish.inc" .include "data/mevent/script_common.inc" diff --git a/include/global.h b/include/global.h index 5b07796cc..7c663a813 100644 --- a/include/global.h +++ b/include/global.h @@ -599,7 +599,7 @@ struct MEventBuffer_3120_Sub { u16 unk_00; u8 unk_02; - u16 filler_04[220]; + u8 filler_04[440]; }; struct MEventBuffer_3120 diff --git a/ld_script.txt b/ld_script.txt index 87d5fd323..8d88929cf 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -246,6 +246,7 @@ SECTIONS { src/mevent.o(.text); src/mevent_server_helpers.o(.text); src/mevent_server.o(.text); + src/mevent_8145654.o(.text); asm/mevent_8145654.o(.text); src/menews_jisan.o(.text); asm/seagallop.o(.text); @@ -382,6 +383,7 @@ SECTIONS { src/mevent.o(.rodata); src/mevent_server_helpers.o(.rodata); src/mevent_server.o(.rodata); + src/mevent_8145654.o(.rodata); data/data_8466FB8.o(.rodata); src/menews_jisan.o(.rodata); src/menews_jisan.o(.rodata.str1.4); diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c new file mode 100644 index 000000000..9c26a21a1 --- /dev/null +++ b/src/mevent_8145654.c @@ -0,0 +1,52 @@ +#include "global.h" +#include "malloc.h" +#include "mevent.h" + +struct UnkStruct_8467FB8 +{ + u16 ident; + const void * unk_04; + const void * unk_08; + const void * unk_0C; +}; + +struct UnkStruct_203F3C8 +{ + /*0000*/ struct MEventBuffer_32E0_Sub unk_0000; + /*014c*/ struct MEventBuffer_3430_Sub unk_014c; + /*0170*/ const struct UnkStruct_8467FB8 * unk_0170; + /*0174*/ u8 filler_0174[0x12E8]; +}; + +EWRAM_DATA struct UnkStruct_203F3C8 * gUnknown_203F3C8 = NULL; + +extern const struct UnkStruct_8467FB8 gUnknown_8467FB8[8]; + +bool32 sub_8145654(struct MEventBuffer_32E0_Sub * r5, struct MEventBuffer_3430_Sub * r6) +{ + if (r5 == NULL || r6 == NULL) + return FALSE; + gUnknown_203F3C8 = AllocZeroed(sizeof(struct UnkStruct_203F3C8)); + if (gUnknown_203F3C8 == NULL) + return FALSE; + gUnknown_203F3C8->unk_0000 = *r5; + gUnknown_203F3C8->unk_014c = *r6; + if (gUnknown_203F3C8->unk_0000.unk_08_2 > 7) + gUnknown_203F3C8->unk_0000.unk_08_2 = 0; + if (gUnknown_203F3C8->unk_0000.unk_08_0 > 2) + gUnknown_203F3C8->unk_0000.unk_08_0 = 0; + if (gUnknown_203F3C8->unk_0000.unk_09 > 7) + gUnknown_203F3C8->unk_0000.unk_09 = 0; + gUnknown_203F3C8->unk_0170 = &gUnknown_8467FB8[gUnknown_203F3C8->unk_0000.unk_08_2]; + return TRUE; +} + +void sub_81456F0(void) +{ + if (gUnknown_203F3C8 != NULL) + { + *gUnknown_203F3C8 = (struct UnkStruct_203F3C8){}; + Free(gUnknown_203F3C8); + gUnknown_203F3C8 = NULL; + } +} From 993df493cd566fb086960ffd763965e130e0a8b9 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 2 Dec 2018 10:09:01 -0500 Subject: [PATCH 189/222] use the .pool directive for mevent_8145654.s --- asm/mevent_8145654.s | 400 +++++++++++++++++-------------------------- 1 file changed, 154 insertions(+), 246 deletions(-) diff --git a/asm/mevent_8145654.s b/asm/mevent_8145654.s index 51e90677a..00676462f 100644 --- a/asm/mevent_8145654.s +++ b/asm/mevent_8145654.s @@ -9,15 +9,14 @@ sub_814571C: @ 814571C push {r4-r6,lr} sub sp, 0x24 - ldr r5, _08145730 @ =gUnknown_203F3C8 + ldr r5, =gUnknown_203F3C8 ldr r0, [r5] cmp r0, 0 bne _08145734 movs r0, 0x1 negs r0, r0 b _08145930 - .align 2, 0 -_08145730: .4byte gUnknown_203F3C8 + .pool _08145734: movs r4, 0xBA lsls r4, 1 @@ -28,12 +27,11 @@ _08145734: b _08145908 _08145742: lsls r0, 2 - ldr r1, _0814574C @ =_08145750 + ldr r1, =_08145750 adds r0, r1 ldr r0, [r0] mov pc, r0 - .align 2, 0 -_0814574C: .4byte _08145750 + .pool .align 2, 0 _08145750: .4byte _08145770 @@ -91,7 +89,7 @@ _08145790: bl CopyBgTilemapBufferToVram movs r0, 0x2 bl CopyBgTilemapBufferToVram - ldr r5, _0814582C @ =gUnknown_203F3C8 + ldr r5, =gUnknown_203F3C8 ldr r0, [r5] movs r1, 0xB8 lsls r1, 1 @@ -104,7 +102,7 @@ _08145790: movs r2, 0 movs r3, 0x8 bl decompress_and_copy_tile_data_to_vram - ldr r4, _08145830 @ =gUnknown_8467074 + ldr r4, =gUnknown_8467074 adds r0, r4, 0 bl AddWindow ldr r1, [r5] @@ -129,21 +127,19 @@ _08145790: adds r1, r2 strh r0, [r1] b _0814591E - .align 2, 0 -_0814582C: .4byte gUnknown_203F3C8 -_08145830: .4byte gUnknown_8467074 + .pool _08145834: bl free_temp_tile_data_buffers_if_possible lsls r0, 24 lsrs r6, r0, 24 cmp r6, 0 bne _0814592E - ldr r2, _081458A0 @ =gPaletteFade + ldr r2, =gPaletteFade ldrb r0, [r2, 0x8] movs r1, 0x80 orrs r0, r1 strb r0, [r2, 0x8] - ldr r5, _081458A4 @ =gUnknown_203F3C8 + ldr r5, =gUnknown_203F3C8 ldr r0, [r5] movs r4, 0xB8 lsls r4, 1 @@ -157,7 +153,7 @@ _08145834: adds r4, r1, r4 ldr r0, [r4] ldr r0, [r0, 0x8] - ldr r4, _081458A8 @ =0x0000045c + ldr r4, =0x0000045c adds r1, r4 bl LZ77UnCompWram ldr r1, [r5] @@ -182,10 +178,7 @@ _08145834: movs r0, 0x2 bl CopyBgTilemapBufferToVram b _0814591E - .align 2, 0 -_081458A0: .4byte gPaletteFade -_081458A4: .4byte gUnknown_203F3C8 -_081458A8: .4byte 0x0000045c + .pool _081458AC: bl sub_8145A98 b _0814591E @@ -207,7 +200,7 @@ _081458D2: bl ShowBg movs r0, 0x2 bl ShowBg - ldr r2, _08145904 @ =gPaletteFade + ldr r2, =gPaletteFade ldrb r1, [r2, 0x8] movs r0, 0x7F ands r0, r1 @@ -222,8 +215,7 @@ _081458D2: bl BeginNormalPaletteFade bl UpdatePaletteFade b _0814591E - .align 2, 0 -_08145904: .4byte gPaletteFade + .pool _08145908: bl UpdatePaletteFade lsls r0, 24 @@ -236,7 +228,7 @@ _08145908: movs r0, 0x1 b _08145930 _0814591E: - ldr r0, _08145938 @ =gUnknown_203F3C8 + ldr r0, =gUnknown_203F3C8 ldr r1, [r0] movs r0, 0xBA lsls r0, 1 @@ -251,8 +243,7 @@ _08145930: pop {r4-r6} pop {r1} bx r1 - .align 2, 0 -_08145938: .4byte gUnknown_203F3C8 + .pool thumb_func_end sub_814571C thumb_func_start sub_814593C @@ -260,15 +251,14 @@ sub_814593C: @ 814593C push {r4,r5,lr} sub sp, 0x8 adds r2, r0, 0 - ldr r5, _08145950 @ =gUnknown_203F3C8 + ldr r5, =gUnknown_203F3C8 ldr r0, [r5] cmp r0, 0 bne _08145954 movs r0, 0x1 negs r0, r0 b _08145A8C - .align 2, 0 -_08145950: .4byte gUnknown_203F3C8 + .pool _08145954: movs r4, 0xBA lsls r4, 1 @@ -279,12 +269,11 @@ _08145954: b _08145A64 _08145962: lsls r0, 2 - ldr r1, _0814596C @ =_08145970 + ldr r1, =_08145970 adds r0, r1 ldr r0, [r0] mov pc, r0 - .align 2, 0 -_0814596C: .4byte _08145970 + .pool .align 2, 0 _08145970: .4byte _0814598C @@ -345,7 +334,7 @@ _081459F2: bl HideBg movs r0, 0x2 bl HideBg - ldr r4, _08145A2C @ =gUnknown_203F3C8 + ldr r4, =gUnknown_203F3C8 ldr r0, [r4] movs r1, 0xBD lsls r1, 1 @@ -365,20 +354,18 @@ _081459F2: ldrb r0, [r0] bl RemoveWindow b _08145A7A - .align 2, 0 -_08145A2C: .4byte gUnknown_203F3C8 + .pool _08145A30: bl sub_81461D8 bl FreeMonIconPalettes b _08145A7A _08145A3A: - ldr r0, _08145A48 @ =gUnknown_203F3B8 + ldr r0, =gUnknown_203F3B8 ldrb r0, [r0] adds r1, r2, 0 bl sub_8142344 b _08145A7A - .align 2, 0 -_08145A48: .4byte gUnknown_203F3B8 + .pool _08145A4C: movs r0, 0 bl CopyBgTilemapBufferToVram @@ -402,7 +389,7 @@ _08145A64: movs r0, 0x1 b _08145A8C _08145A7A: - ldr r0, _08145A94 @ =gUnknown_203F3C8 + ldr r0, =gUnknown_203F3C8 ldr r1, [r0] movs r0, 0xBA lsls r0, 1 @@ -417,8 +404,7 @@ _08145A8C: pop {r4,r5} pop {r1} bx r1 - .align 2, 0 -_08145A94: .4byte gUnknown_203F3C8 + .pool thumb_func_end sub_814593C thumb_func_start sub_8145A98 @@ -434,15 +420,15 @@ sub_8145A98: @ 8145A98 movs r1, 0 movs r2, 0x6 bl memset - ldr r4, _08145B7C @ =gUnknown_203F3C8 + ldr r4, =gUnknown_203F3C8 ldr r1, [r4] - ldr r2, _08145B80 @ =0x0000018b + ldr r2, =0x0000018b adds r0, r1, r2 adds r1, 0xA movs r2, 0x28 bl memcpy ldr r0, [r4] - ldr r3, _08145B84 @ =0x000001b3 + ldr r3, =0x000001b3 adds r1, r0, r3 movs r0, 0xFF strb r0, [r1] @@ -462,13 +448,13 @@ sub_8145A98: @ 8145A98 strb r1, [r0] ldr r1, [r4] ldr r0, [r1, 0x4] - ldr r2, _08145B88 @ =0x000f423f + ldr r2, =0x000f423f cmp r0, r2 bls _08145AF4 str r2, [r1, 0x4] _08145AF4: ldr r1, [r4] - ldr r2, _08145B8C @ =0x000001dd + ldr r2, =0x000001dd adds r0, r1, r2 ldr r1, [r1, 0x4] movs r2, 0 @@ -504,7 +490,7 @@ _08145B06: lsrs r5, r0, 16 cmp r5, 0x3 bls _08145B06 - ldr r6, _08145B7C @ =gUnknown_203F3C8 + ldr r6, =gUnknown_203F3C8 ldr r1, [r6] movs r3, 0xA2 lsls r3, 2 @@ -532,18 +518,13 @@ _08145B06: cmp r0, 0 beq _08145B96 b _08145D08 - .align 2, 0 -_08145B7C: .4byte gUnknown_203F3C8 -_08145B80: .4byte 0x0000018b -_08145B84: .4byte 0x000001b3 -_08145B88: .4byte 0x000f423f -_08145B8C: .4byte 0x000001dd + .pool _08145B90: cmp r0, 0x2 beq _08145BC8 b _08145D08 _08145B96: - ldr r2, _08145BB0 @ =0x000002b1 + ldr r2, =0x000002b1 adds r0, r1, r2 movs r3, 0x91 lsls r3, 1 @@ -551,24 +532,21 @@ _08145B96: movs r2, 0x28 bl memcpy ldr r1, [r6] - ldr r0, _08145BB4 @ =0x000002d9 + ldr r0, =0x000002d9 adds r1, r0 b _08145BBC - .align 2, 0 -_08145BB0: .4byte 0x000002b1 -_08145BB4: .4byte 0x000002d9 + .pool _08145BB8: - ldr r2, _08145BC4 @ =0x000002b1 + ldr r2, =0x000002b1 adds r1, r2 _08145BBC: ldrb r0, [r1] orrs r0, r4 strb r0, [r1] b _08145D08 - .align 2, 0 -_08145BC4: .4byte 0x000002b1 + .pool _08145BC8: - ldr r3, _08145C84 @ =0x000002b1 + ldr r3, =0x000002b1 adds r0, r1, r3 ldrb r1, [r0] orrs r1, r7 @@ -579,7 +557,7 @@ _08145BC8: lsls r4, 1 adds r0, r1, r4 ldrh r0, [r0] - ldr r2, _08145C88 @ =0x000003e7 + ldr r2, =0x000003e7 cmp r0, r2 bls _08145BE6 adds r0, r2, 0 @@ -632,12 +610,12 @@ _08145C0E: bls _08145C0E movs r5, 0 movs r6, 0 - ldr r1, _08145C8C @ =gUnknown_203F3C8 + ldr r1, =gUnknown_203F3C8 mov r8, r1 movs r2, 0x91 lsls r2, 1 mov r10, r2 - ldr r7, _08145C90 @ =0x00000175 + ldr r7, =0x00000175 movs r3, 0xB7 lsls r3, 2 mov r9, r3 @@ -650,14 +628,14 @@ _08145C56: ldrb r3, [r0] cmp r3, 0xF7 beq _08145C98 - ldr r1, _08145C90 @ =0x00000175 + ldr r1, =0x00000175 adds r0, r2, r1 ldrb r1, [r0] lsls r0, r1, 1 adds r0, r1 lsls r0, 4 adds r0, r6, r0 - ldr r4, _08145C94 @ =0x000002dd + ldr r4, =0x000002dd adds r1, r2, r4 adds r1, r0 strb r3, [r1] @@ -665,12 +643,7 @@ _08145C56: lsls r0, 16 lsrs r6, r0, 16 b _08145CFE - .align 2, 0 -_08145C84: .4byte 0x000002b1 -_08145C88: .4byte 0x000003e7 -_08145C8C: .4byte gUnknown_203F3C8 -_08145C90: .4byte 0x00000175 -_08145C94: .4byte 0x000002dd + .pool _08145C98: adds r0, r5, 0x1 adds r0, r1, r0 @@ -754,7 +727,7 @@ sub_8145D18: @ 8145D18 mov r8, r4 movs r0, 0 str r0, [sp, 0xC] - ldr r7, _08145D60 @ =gUnknown_203F3C8 + ldr r7, =gUnknown_203F3C8 ldr r0, [r7] lsls r1, r4, 1 movs r2, 0xBB @@ -777,8 +750,7 @@ sub_8145D18: @ 8145D18 beq _08145D70 mov r9, r6 b _08146038 - .align 2, 0 -_08145D60: .4byte gUnknown_203F3C8 + .pool _08145D64: mov r0, r8 cmp r0, 0x2 @@ -799,13 +771,13 @@ _08145D70: lsrs r0, 28 lsls r1, r0, 1 adds r1, r0 - ldr r0, _08145E34 @ =gUnknown_8467068 + ldr r0, =gUnknown_8467068 mov r8, r0 add r1, r8 str r1, [sp] ldr r1, [sp, 0xC] str r1, [sp, 0x4] - ldr r0, _08145E38 @ =0x0000018b + ldr r0, =0x0000018b adds r2, r0 str r2, [sp, 0x8] adds r0, r5, 0 @@ -873,7 +845,7 @@ _08145E06: str r0, [sp] ldr r0, [sp, 0xC] str r0, [sp, 0x4] - ldr r1, _08145E3C @ =0x000001dd + ldr r1, =0x000001dd adds r0, r2, r1 str r0, [sp, 0x8] adds r0, r5, 0 @@ -882,10 +854,7 @@ _08145E06: movs r3, 0x11 bl box_print b _08146038 - .align 2, 0 -_08145E34: .4byte gUnknown_8467068 -_08145E38: .4byte 0x0000018b -_08145E3C: .4byte 0x000001dd + .pool _08145E40: mov r9, r6 _08145E42: @@ -896,7 +865,7 @@ _08145E42: adds r3, 0x2 lsls r3, 24 lsrs r3, 24 - ldr r0, _08145E9C @ =gUnknown_203F3C8 + ldr r0, =gUnknown_203F3C8 ldr r2, [r0] movs r1, 0xB8 lsls r1, 1 @@ -906,7 +875,7 @@ _08145E42: lsrs r0, 4 lsls r1, r0, 1 adds r1, r0 - ldr r0, _08145EA0 @ =gUnknown_8467068 + ldr r0, =gUnknown_8467068 adds r1, r0 str r1, [sp] movs r0, 0 @@ -933,11 +902,9 @@ _08145E42: cmp r4, 0x3 ble _08145E42 b _08146038 - .align 2, 0 -_08145E9C: .4byte gUnknown_203F3C8 -_08145EA0: .4byte gUnknown_8467068 + .pool _08145EA4: - ldr r4, _08145F2C @ =gUnknown_8467070 + ldr r4, =gUnknown_8467070 ldr r2, [r7] ldrb r0, [r2, 0x8] lsls r0, 30 @@ -953,7 +920,7 @@ _08145EA4: lsrs r0, 28 lsls r1, r0, 1 adds r1, r0 - ldr r0, _08145F30 @ =gUnknown_8467068 + ldr r0, =gUnknown_8467068 mov r10, r0 add r1, r10 str r1, [sp] @@ -993,7 +960,7 @@ _08145EA4: str r0, [sp] ldr r0, [sp, 0xC] str r0, [sp, 0x4] - ldr r1, _08145F34 @ =0x000002b1 + ldr r1, =0x000002b1 adds r0, r2, r1 str r0, [sp, 0x8] adds r0, r5, 0 @@ -1002,10 +969,7 @@ _08145EA4: bl box_print mov r9, r6 b _08146038 - .align 2, 0 -_08145F2C: .4byte gUnknown_8467070 -_08145F30: .4byte gUnknown_8467068 -_08145F34: .4byte 0x000002b1 + .pool _08145F38: movs r2, 0 mov r8, r2 @@ -1021,7 +985,7 @@ _08145F38: lsls r0, 24 lsrs r2, r0, 24 ldr r0, [r7] - ldr r1, _08146054 @ =0x00000175 + ldr r1, =0x00000175 adds r0, r1 mov r9, r6 ldr r1, [sp, 0xC] @@ -1047,7 +1011,7 @@ _08145F6E: lsrs r1, 28 lsls r0, r1, 1 adds r0, r1 - ldr r1, _08146058 @ =gUnknown_8467068 + ldr r1, =gUnknown_8467068 adds r0, r1 str r0, [sp] movs r0, 0 @@ -1070,7 +1034,7 @@ _08145F6E: bl box_print ldr r1, [r7] adds r0, r1, r5 - ldr r2, _0814605C @ =0x00000306 + ldr r2, =0x00000306 adds r0, r2 ldrb r0, [r0] cmp r0, 0xFF @@ -1094,7 +1058,7 @@ _08145F6E: lsrs r1, 28 lsls r0, r1, 1 adds r0, r1 - ldr r1, _08146058 @ =gUnknown_8467068 + ldr r1, =gUnknown_8467068 adds r0, r1 str r0, [sp] movs r0, 0 @@ -1127,7 +1091,7 @@ _08146022: str r0, [sp, 0xC] asrs r1, 24 ldr r0, [r7] - ldr r2, _08146054 @ =0x00000175 + ldr r2, =0x00000175 adds r0, r2 ldrb r0, [r0] cmp r1, r0 @@ -1145,10 +1109,7 @@ _08146038: pop {r4-r7} pop {r0} bx r0 - .align 2, 0 -_08146054: .4byte 0x00000175 -_08146058: .4byte gUnknown_8467068 -_0814605C: .4byte 0x00000306 + .pool thumb_func_end sub_8145D18 thumb_func_start sub_8146060 @@ -1160,7 +1121,7 @@ sub_8146060: @ 8146060 push {r5-r7} sub sp, 0x8 movs r7, 0 - ldr r4, _081461BC @ =gUnknown_203F3C8 + ldr r4, =gUnknown_203F3C8 ldr r0, [r4] movs r1, 0xBE lsls r1, 1 @@ -1177,7 +1138,7 @@ sub_8146060: @ 8146060 bl sub_8096FD4 lsls r0, 16 lsrs r0, 16 - ldr r1, _081461C0 @ =SpriteCallbackDummy + ldr r1, =SpriteCallbackDummy str r7, [sp] str r7, [sp, 0x4] movs r2, 0xDC @@ -1188,7 +1149,7 @@ sub_8146060: @ 8146060 lsls r3, 1 adds r1, r3 strb r0, [r1] - ldr r2, _081461C4 @ =gSprites + ldr r2, =gSprites ldr r0, [r4] adds r0, r3 ldrb r1, [r0] @@ -1213,7 +1174,7 @@ _081460C8: ands r0, r1 cmp r0, 0x1 bne _081461AC - ldr r0, _081461C8 @ =gUnknown_8467F58 + ldr r0, =gUnknown_8467F58 bl sub_800F034 ldr r0, [r4] movs r1, 0xB8 @@ -1223,7 +1184,7 @@ _081460C8: ldrb r0, [r0, 0x1] lsrs r0, 4 lsls r0, 3 - ldr r1, _081461CC @ =gUnknown_8467F60 + ldr r1, =gUnknown_8467F60 adds r0, r1 bl LoadSpritePalette ldr r0, [r4] @@ -1231,7 +1192,7 @@ _081460C8: cmp r7, r0 bcs _081461AC adds r6, r4, 0 - ldr r2, _081461D0 @ =0x0000017d + ldr r2, =0x0000017d mov r10, r2 movs r3, 0 mov r9, r3 @@ -1257,7 +1218,7 @@ _0814610E: lsls r1, r7, 5 movs r0, 0xD8 subs r5, r0, r1 - ldr r0, _081461D4 @ =gUnknown_8467FA0 + ldr r0, =gUnknown_8467FA0 adds r1, r5, 0 movs r2, 0x90 movs r3, 0x8 @@ -1280,7 +1241,7 @@ _0814610E: mov r2, r9 str r2, [sp] str r2, [sp, 0x4] - ldr r1, _081461C0 @ =SpriteCallbackDummy + ldr r1, =SpriteCallbackDummy adds r2, r5, 0 movs r3, 0x88 bl sub_8096ECC @@ -1297,7 +1258,7 @@ _0814610E: lsls r0, r1, 4 adds r0, r1 lsls r0, 2 - ldr r1, _081461C4 @ =gSprites + ldr r1, =gSprites adds r0, r1 ldrb r2, [r0, 0x5] movs r3, 0xD @@ -1324,21 +1285,14 @@ _081461AC: pop {r4-r7} pop {r0} bx r0 - .align 2, 0 -_081461BC: .4byte gUnknown_203F3C8 -_081461C0: .4byte SpriteCallbackDummy -_081461C4: .4byte gSprites -_081461C8: .4byte gUnknown_8467F58 -_081461CC: .4byte gUnknown_8467F60 -_081461D0: .4byte 0x0000017d -_081461D4: .4byte gUnknown_8467FA0 + .pool thumb_func_end sub_8146060 thumb_func_start sub_81461D8 sub_81461D8: @ 81461D8 push {r4-r7,lr} movs r6, 0 - ldr r4, _0814627C @ =gUnknown_203F3C8 + ldr r4, =gUnknown_203F3C8 ldr r0, [r4] movs r2, 0xBE lsls r2, 1 @@ -1350,7 +1304,7 @@ sub_81461D8: @ 81461D8 lsls r0, r1, 4 adds r0, r1 lsls r0, 2 - ldr r1, _08146280 @ =gSprites + ldr r1, =gSprites adds r0, r1 bl sub_8097070 _081461FC: @@ -1369,7 +1323,7 @@ _081461FC: _08146214: ldr r0, [r7] lsls r4, r6, 1 - ldr r1, _08146284 @ =0x0000017d + ldr r1, =0x0000017d adds r0, r1 adds r1, r0, r4 ldrb r0, [r1] @@ -1379,11 +1333,11 @@ _08146214: lsls r0, r1, 4 adds r0, r1 lsls r0, 2 - ldr r5, _08146280 @ =gSprites + ldr r5, =gSprites adds r0, r5 bl DestroySprite ldr r1, [r7] - ldr r2, _08146284 @ =0x0000017d + ldr r2, =0x0000017d adds r0, r1, r2 adds r0, r4 ldrb r0, [r0] @@ -1417,10 +1371,7 @@ _08146274: pop {r4-r7} pop {r0} bx r0 - .align 2, 0 -_0814627C: .4byte gUnknown_203F3C8 -_08146280: .4byte gSprites -_08146284: .4byte 0x0000017d + .pool thumb_func_end sub_81461D8 thumb_func_start sub_8146288 @@ -1429,8 +1380,8 @@ sub_8146288: @ 8146288 adds r4, r0, 0 cmp r4, 0 beq _0814629E - ldr r5, _081462A4 @ =gUnknown_203F3CC - ldr r0, _081462A8 @ =0x000013a4 + ldr r5, =gUnknown_203F3CC + ldr r0, =0x000013a4 bl AllocZeroed str r0, [r5] cmp r0, 0 @@ -1438,9 +1389,7 @@ sub_8146288: @ 8146288 _0814629E: movs r0, 0 b _081462DC - .align 2, 0 -_081462A4: .4byte gUnknown_203F3CC -_081462A8: .4byte 0x000013a4 + .pool _081462AC: movs r6, 0xDE lsls r6, 1 @@ -1458,10 +1407,10 @@ _081462C4: adds r3, r2, r6 ldrb r0, [r2, 0x3] lsls r0, 4 - ldr r1, _081462E4 @ =gUnknown_8468720 + ldr r1, =gUnknown_8468720 adds r0, r1 str r0, [r3] - ldr r0, _081462E8 @ =0x000001c1 + ldr r0, =0x000001c1 adds r1, r2, r0 movs r0, 0xFF strb r0, [r1] @@ -1470,19 +1419,17 @@ _081462DC: pop {r4-r6} pop {r1} bx r1 - .align 2, 0 -_081462E4: .4byte gUnknown_8468720 -_081462E8: .4byte 0x000001c1 + .pool thumb_func_end sub_8146288 thumb_func_start sub_81462EC sub_81462EC: @ 81462EC push {r4,lr} - ldr r4, _08146310 @ =gUnknown_203F3CC + ldr r4, =gUnknown_203F3CC ldr r0, [r4] cmp r0, 0 beq _08146308 - ldr r2, _08146314 @ =0x000013a4 + ldr r2, =0x000013a4 movs r1, 0 bl memset ldr r0, [r4] @@ -1493,9 +1440,7 @@ _08146308: pop {r4} pop {r0} bx r0 - .align 2, 0 -_08146310: .4byte gUnknown_203F3CC -_08146314: .4byte 0x000013a4 + .pool thumb_func_end sub_81462EC thumb_func_start sub_8146318 @@ -1506,15 +1451,14 @@ sub_8146318: @ 8146318 mov r5, r8 push {r5-r7} sub sp, 0x24 - ldr r5, _08146334 @ =gUnknown_203F3CC + ldr r5, =gUnknown_203F3CC ldr r0, [r5] cmp r0, 0 bne _08146338 movs r0, 0x1 negs r0, r0 b _081465EE - .align 2, 0 -_08146334: .4byte gUnknown_203F3CC + .pool _08146338: movs r4, 0xE0 lsls r4, 1 @@ -1526,12 +1470,11 @@ _08146338: b _081465B8 _08146348: lsls r0, 2 - ldr r1, _08146354 @ =_08146358 + ldr r1, =_08146358 adds r0, r1 ldr r0, [r0] mov pc, r0 - .align 2, 0 -_08146354: .4byte _08146358 + .pool .align 2, 0 _08146358: .4byte _08146374 @@ -1576,7 +1519,7 @@ _08146392: movs r0, 0x40 movs r1, 0xF0 bl SetGpuReg - ldr r1, _081463E8 @ =0x00001a98 + ldr r1, =0x00001a98 movs r0, 0x44 bl SetGpuReg movs r0, 0x48 @@ -1590,8 +1533,7 @@ _08146392: movs r0, 0 bl SetGpuRegBits b _081465D2 - .align 2, 0 -_081463E8: .4byte 0x00001a98 + .pool _081463EC: movs r5, 0x1E str r5, [sp] @@ -1631,7 +1573,7 @@ _081463EC: bl CopyBgTilemapBufferToVram movs r0, 0x3 bl CopyBgTilemapBufferToVram - ldr r5, _0814648C @ =gUnknown_203F3CC + ldr r5, =gUnknown_203F3CC ldr r0, [r5] movs r1, 0xDE lsls r1, 1 @@ -1644,7 +1586,7 @@ _081463EC: movs r2, 0 movs r3, 0x8 bl decompress_and_copy_tile_data_to_vram - ldr r4, _08146490 @ =gUnknown_8468040 + ldr r4, =gUnknown_8468040 adds r0, r4, 0 bl AddWindow ldr r1, [r5] @@ -1661,9 +1603,7 @@ _081463EC: adds r1, r3 strh r0, [r1] b _081465D2 - .align 2, 0 -_0814648C: .4byte gUnknown_203F3CC -_08146490: .4byte gUnknown_8468040 + .pool _08146494: bl free_temp_tile_data_buffers_if_possible lsls r0, 24 @@ -1672,12 +1612,12 @@ _08146494: beq _081464A2 b _081465EC _081464A2: - ldr r2, _0814653C @ =gPaletteFade + ldr r2, =gPaletteFade ldrb r0, [r2, 0x8] movs r1, 0x80 orrs r0, r1 strb r0, [r2, 0x8] - ldr r0, _08146540 @ =gUnknown_203F3CC + ldr r0, =gUnknown_203F3CC mov r8, r0 ldr r0, [r0] movs r4, 0xDE @@ -1742,9 +1682,7 @@ _081464A2: movs r0, 0x3 bl CopyBgTilemapBufferToVram b _081465D2 - .align 2, 0 -_0814653C: .4byte gPaletteFade -_08146540: .4byte gUnknown_203F3CC + .pool _08146544: bl sub_8146980 b _081465D2 @@ -1762,12 +1700,12 @@ _0814655C: bl ShowBg movs r0, 0x3 bl ShowBg - ldr r2, _081465AC @ =gPaletteFade + ldr r2, =gPaletteFade ldrb r1, [r2, 0x8] movs r0, 0x7F ands r0, r1 strb r0, [r2, 0x8] - ldr r4, _081465B0 @ =gUnknown_203F3CC + ldr r4, =gUnknown_203F3CC ldr r1, [r4] movs r3, 0xE5 lsls r3, 2 @@ -1777,7 +1715,7 @@ _0814655C: adds r1, r2 bl AddScrollIndicatorArrowPair ldr r1, [r4] - ldr r3, _081465B4 @ =0x000001c1 + ldr r3, =0x000001c1 adds r2, r1, r3 movs r1, 0 strb r0, [r2] @@ -1789,10 +1727,7 @@ _0814655C: bl BeginNormalPaletteFade bl UpdatePaletteFade b _081465D2 - .align 2, 0 -_081465AC: .4byte gPaletteFade -_081465B0: .4byte gUnknown_203F3CC -_081465B4: .4byte 0x000001c1 + .pool _081465B8: bl UpdatePaletteFade lsls r0, 24 @@ -1807,7 +1742,7 @@ _081465B8: movs r0, 0x1 b _081465EE _081465D2: - ldr r0, _08146600 @ =gUnknown_203F3CC + ldr r0, =gUnknown_203F3CC ldr r2, [r0] movs r0, 0xE0 lsls r0, 1 @@ -1831,8 +1766,7 @@ _081465EE: pop {r4-r7} pop {r1} bx r1 - .align 2, 0 -_08146600: .4byte gUnknown_203F3CC + .pool thumb_func_end sub_8146318 thumb_func_start sub_8146604 @@ -1840,15 +1774,14 @@ sub_8146604: @ 8146604 push {r4,r5,lr} sub sp, 0x8 adds r2, r0, 0 - ldr r5, _08146618 @ =gUnknown_203F3CC + ldr r5, =gUnknown_203F3CC ldr r0, [r5] cmp r0, 0 bne _0814661C movs r0, 0x1 negs r0, r0 b _081467E0 - .align 2, 0 -_08146618: .4byte gUnknown_203F3CC + .pool _0814661C: movs r4, 0xE0 lsls r4, 1 @@ -1860,12 +1793,11 @@ _0814661C: b _081467AA _0814662C: lsls r0, 2 - ldr r1, _08146638 @ =_0814663C + ldr r1, =_0814663C adds r0, r1 ldr r0, [r0] mov pc, r0 - .align 2, 0 -_08146638: .4byte _0814663C + .pool .align 2, 0 _0814663C: .4byte _08146658 @@ -1958,7 +1890,7 @@ _0814670C: bl HideBg movs r0, 0x2 bl HideBg - ldr r4, _08146738 @ =gUnknown_203F3CC + ldr r4, =gUnknown_203F3CC ldr r0, [r4] movs r1, 0xE5 lsls r1, 1 @@ -1972,8 +1904,7 @@ _0814670C: ldrb r0, [r0] bl RemoveWindow b _081467C4 - .align 2, 0 -_08146738: .4byte gUnknown_203F3CC + .pool _0814673C: movs r0, 0x2 movs r1, 0 @@ -1983,31 +1914,28 @@ _0814673C: movs r1, 0 movs r2, 0 bl ChangeBgY - ldr r4, _08146770 @ =gUnknown_203F3CC + ldr r4, =gUnknown_203F3CC ldr r0, [r4] - ldr r2, _08146774 @ =0x000001c1 + ldr r2, =0x000001c1 adds r1, r0, r2 ldrb r0, [r1] cmp r0, 0xFF beq _081467C4 bl RemoveScrollIndicatorArrowPair ldr r0, [r4] - ldr r2, _08146774 @ =0x000001c1 + ldr r2, =0x000001c1 adds r1, r0, r2 movs r0, 0xFF strb r0, [r1] b _081467C4 - .align 2, 0 -_08146770: .4byte gUnknown_203F3CC -_08146774: .4byte 0x000001c1 + .pool _08146778: - ldr r0, _08146784 @ =gUnknown_203F3B8 + ldr r0, =gUnknown_203F3B8 ldrb r0, [r0] adds r1, r2, 0 bl sub_8142344 b _081467C4 - .align 2, 0 -_08146784: .4byte gUnknown_203F3B8 + .pool _08146788: bl sub_8142420 movs r0, 0 @@ -2036,7 +1964,7 @@ _081467AA: movs r0, 0x1 b _081467E0 _081467C4: - ldr r0, _081467E8 @ =gUnknown_203F3CC + ldr r0, =gUnknown_203F3CC ldr r2, [r0] movs r0, 0xE0 lsls r0, 1 @@ -2056,14 +1984,13 @@ _081467E0: pop {r4,r5} pop {r1} bx r1 - .align 2, 0 -_081467E8: .4byte gUnknown_203F3CC + .pool thumb_func_end sub_8146604 thumb_func_start sub_81467EC sub_81467EC: @ 81467EC push {r4,r5,lr} - ldr r4, _0814682C @ =gUnknown_203F3CC + ldr r4, =gUnknown_203F3CC ldr r2, [r4] movs r5, 0xE0 lsls r5, 1 @@ -2073,14 +2000,14 @@ sub_81467EC: @ 81467EC ands r0, r1 cmp r0, 0 bne _08146826 - ldr r0, _08146830 @ =0x000001c1 + ldr r0, =0x000001c1 adds r1, r2, r0 ldrb r0, [r1] cmp r0, 0xFF beq _08146826 bl RemoveScrollIndicatorArrowPair ldr r0, [r4] - ldr r2, _08146830 @ =0x000001c1 + ldr r2, =0x000001c1 adds r1, r0, r2 movs r0, 0xFF strb r0, [r1] @@ -2094,15 +2021,13 @@ _08146826: pop {r4,r5} pop {r0} bx r0 - .align 2, 0 -_0814682C: .4byte gUnknown_203F3CC -_08146830: .4byte 0x000001c1 + .pool thumb_func_end sub_81467EC thumb_func_start sub_8146834 sub_8146834: @ 8146834 push {r4,lr} - ldr r4, _0814687C @ =gUnknown_203F3CC + ldr r4, =gUnknown_203F3CC ldr r2, [r4] movs r1, 0xE0 lsls r1, 1 @@ -2120,7 +2045,7 @@ sub_8146834: @ 8146834 adds r1, r2, r3 bl AddScrollIndicatorArrowPair ldr r1, [r4] - ldr r2, _08146880 @ =0x000001c1 + ldr r2, =0x000001c1 adds r1, r2 strb r0, [r1] ldr r1, [r4] @@ -2136,9 +2061,7 @@ _08146874: pop {r4} pop {r0} bx r0 - .align 2, 0 -_0814687C: .4byte gUnknown_203F3CC -_08146880: .4byte 0x000001c1 + .pool thumb_func_end sub_8146834 thumb_func_start sub_8146884 @@ -2147,7 +2070,7 @@ sub_8146884: @ 8146884 lsls r0, 16 lsrs r4, r0, 16 adds r3, r4, 0 - ldr r2, _081468B0 @ =gUnknown_203F3CC + ldr r2, =gUnknown_203F3CC ldr r0, [r2] mov r12, r0 movs r0, 0xE1 @@ -2164,8 +2087,7 @@ sub_8146884: @ 8146884 _081468AA: movs r0, 0xFF b _0814697A - .align 2, 0 -_081468B0: .4byte gUnknown_203F3CC + .pool _081468B4: cmp r4, 0x2 beq _081468D0 @@ -2201,15 +2123,14 @@ _081468D4: ands r0, r1 cmp r0, 0 bne _081468AA - ldr r2, _08146900 @ =0x000001c3 + ldr r2, =0x000001c3 add r2, r12 ldrb r1, [r2] movs r0, 0x2 negs r0, r0 ands r0, r1 b _08146932 - .align 2, 0 -_08146900: .4byte 0x000001c3 + .pool _08146904: movs r0, 0xE3 lsls r0, 1 @@ -2229,7 +2150,7 @@ _08146904: ands r0, r1 cmp r0, 0 bne _081468AA - ldr r2, _08146974 @ =0x000001c3 + ldr r2, =0x000001c3 add r2, r12 ldrb r0, [r2] movs r1, 0x1 @@ -2268,8 +2189,7 @@ _08146932: beq _08146978 movs r0, 0x3 b _0814697A - .align 2, 0 -_08146974: .4byte 0x000001c3 + .pool _08146978: movs r0, 0x2 _0814697A: @@ -2282,7 +2202,7 @@ _0814697A: sub_8146980: @ 8146980 push {r4-r6,lr} movs r5, 0 - ldr r4, _08146A20 @ =gUnknown_203F3CC + ldr r4, =gUnknown_203F3CC ldr r1, [r4] movs r2, 0xE7 lsls r2, 1 @@ -2304,14 +2224,14 @@ _081469A4: lsls r1, 3 adds r4, r1, r5 adds r0, r4, r2 - ldr r3, _08146A24 @ =0x000001f7 + ldr r3, =0x000001f7 adds r0, r3 adds r1, r2 adds r1, 0x2C movs r2, 0x28 bl memcpy ldr r0, [r6] - ldr r1, _08146A28 @ =0x0000021f + ldr r1, =0x0000021f adds r0, r1 adds r0, r4 movs r1, 0xFF @@ -2319,7 +2239,7 @@ _081469A4: cmp r5, 0x7 bls _081469E8 ldr r1, [r6] - ldr r2, _08146A24 @ =0x000001f7 + ldr r2, =0x000001f7 adds r0, r1, r2 adds r0, r4 ldrb r0, [r0] @@ -2337,12 +2257,12 @@ _081469E8: lsrs r5, r0, 24 cmp r5, 0x9 bls _081469A4 - ldr r2, _08146A20 @ =gUnknown_203F3CC + ldr r2, =gUnknown_203F3CC ldr r1, [r2] movs r4, 0xE5 lsls r4, 2 adds r1, r4 - ldr r0, _08146A2C @ =gUnknown_8468050 + ldr r0, =gUnknown_8468050 ldm r0!, {r3-r5} stm r1!, {r3-r5} ldr r0, [r0] @@ -2359,11 +2279,7 @@ _081469E8: pop {r4-r6} pop {r0} bx r0 - .align 2, 0 -_08146A20: .4byte gUnknown_203F3CC -_08146A24: .4byte 0x000001f7 -_08146A28: .4byte 0x0000021f -_08146A2C: .4byte gUnknown_8468050 + .pool thumb_func_end sub_8146980 thumb_func_start sub_8146A30 @@ -2373,7 +2289,7 @@ sub_8146A30: @ 8146A30 push {r7} sub sp, 0xC movs r5, 0 - ldr r6, _08146B4C @ =gUnknown_203F3CC + ldr r6, =gUnknown_203F3CC ldr r0, [r6] movs r7, 0xE4 lsls r7, 1 @@ -2433,7 +2349,7 @@ _08146AA0: lsrs r1, 28 lsls r3, r1, 1 adds r3, r1 - ldr r1, _08146B50 @ =gUnknown_8468038 + ldr r1, =gUnknown_8468038 adds r3, r1 str r3, [sp] str r5, [sp, 0x4] @@ -2443,7 +2359,7 @@ _08146AA0: movs r3, 0x6 bl box_print _08146AD0: - ldr r6, _08146B4C @ =gUnknown_203F3CC + ldr r6, =gUnknown_203F3CC ldr r4, [r6] movs r1, 0xE5 lsls r1, 1 @@ -2461,7 +2377,7 @@ _08146AD0: lsrs r1, 4 lsls r2, r1, 1 adds r2, r1 - ldr r1, _08146B50 @ =gUnknown_8468038 + ldr r1, =gUnknown_8468038 adds r2, r1 str r2, [sp] movs r1, 0 @@ -2470,7 +2386,7 @@ _08146AD0: adds r1, r5 lsls r1, 3 adds r1, r5 - ldr r2, _08146B54 @ =0x000001f7 + ldr r2, =0x000001f7 adds r1, r2 adds r4, r1 str r4, [sp, 0x8] @@ -2502,16 +2418,13 @@ _08146AD0: pop {r4-r7} pop {r0} bx r0 - .align 2, 0 -_08146B4C: .4byte gUnknown_203F3CC -_08146B50: .4byte gUnknown_8468038 -_08146B54: .4byte 0x000001f7 + .pool thumb_func_end sub_8146A30 thumb_func_start sub_8146B58 sub_8146B58: @ 8146B58 push {r4-r6,lr} - ldr r0, _08146B90 @ =gUnknown_203F3CC + ldr r0, =gUnknown_203F3CC ldr r1, [r0] movs r2, 0xE1 lsls r2, 1 @@ -2519,7 +2432,7 @@ sub_8146B58: @ 8146B58 ldrb r0, [r0] lsrs r4, r0, 1 lsls r4, 8 - ldr r6, _08146B94 @ =0x000001c3 + ldr r6, =0x000001c3 adds r0, r1, r6 ldrb r1, [r0] movs r0, 0x1 @@ -2535,9 +2448,7 @@ sub_8146B58: @ 8146B58 movs r2, 0x1 bl ChangeBgY b _08146BAC - .align 2, 0 -_08146B90: .4byte gUnknown_203F3CC -_08146B94: .4byte 0x000001c3 + .pool _08146B98: movs r0, 0x2 adds r1, r4, 0 @@ -2548,9 +2459,9 @@ _08146B98: movs r2, 0x2 bl ChangeBgY _08146BAC: - ldr r3, _08146BF0 @ =gUnknown_203F3CC + ldr r3, =gUnknown_203F3CC ldr r0, [r3] - ldr r2, _08146BF4 @ =0x000001c3 + ldr r2, =0x000001c3 adds r5, r0, r2 ldrb r4, [r5] lsrs r1, r4, 1 @@ -2582,9 +2493,7 @@ _08146BAC: ldrh r0, [r1] adds r0, 0x1 b _08146C02 - .align 2, 0 -_08146BF0: .4byte gUnknown_203F3CC -_08146BF4: .4byte 0x000001c3 + .pool _08146BF8: movs r2, 0xE3 lsls r2, 1 @@ -2603,7 +2512,7 @@ _08146C02: ands r0, r1 strb r0, [r2] ldr r0, [r3] - ldr r1, _08146C2C @ =0x000001c3 + ldr r1, =0x000001c3 adds r2, r0, r1 ldrb r1, [r2] movs r0, 0x1 @@ -2613,8 +2522,7 @@ _08146C24: pop {r4-r6} pop {r0} bx r0 - .align 2, 0 -_08146C2C: .4byte 0x000001c3 + .pool thumb_func_end sub_8146B58 .align 2, 0 @ Don't pad with nop. From 8f0f725039e9b0ae9de440df28e1eb4bd7d00dc3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 2 Dec 2018 11:42:45 -0500 Subject: [PATCH 190/222] sub_814571C and associated graphics dump --- asm/mevent_8145654.s | 241 ------------------------ data/data_8466FB8.s | 49 +++-- data/graphics/mevent/gfx_46718C.png | Bin 0 -> 330 bytes data/graphics/mevent/gfx_46737C.png | Bin 0 -> 314 bytes data/graphics/mevent/gfx_467558.png | Bin 0 -> 288 bytes data/graphics/mevent/gfx_467700.png | Bin 0 -> 558 bytes data/graphics/mevent/gfx_467A7C.png | Bin 0 -> 551 bytes data/graphics/mevent/pal_46708C.pal | 19 ++ data/graphics/mevent/pal_4670AC.pal | 19 ++ data/graphics/mevent/pal_4670CC.pal | 19 ++ data/graphics/mevent/pal_4670EC.pal | 19 ++ data/graphics/mevent/pal_46710C.pal | 19 ++ data/graphics/mevent/pal_46712C.pal | 19 ++ data/graphics/mevent/pal_46714C.pal | 19 ++ data/graphics/mevent/pal_46716C.pal | 19 ++ data/graphics/mevent/tilemap_467288.bin | Bin 0 -> 1200 bytes data/graphics/mevent/tilemap_467470.bin | Bin 0 -> 1200 bytes data/graphics/mevent/tilemap_46762C.bin | Bin 0 -> 1200 bytes data/graphics/mevent/tilemap_467934.bin | Bin 0 -> 1200 bytes data/graphics/mevent/tilemap_467CAC.bin | Bin 0 -> 1200 bytes include/pokemon_icon.h | 1 + src/mevent_8145654.c | 88 ++++++++- 22 files changed, 268 insertions(+), 263 deletions(-) create mode 100644 data/graphics/mevent/gfx_46718C.png create mode 100644 data/graphics/mevent/gfx_46737C.png create mode 100644 data/graphics/mevent/gfx_467558.png create mode 100644 data/graphics/mevent/gfx_467700.png create mode 100644 data/graphics/mevent/gfx_467A7C.png create mode 100644 data/graphics/mevent/pal_46708C.pal create mode 100644 data/graphics/mevent/pal_4670AC.pal create mode 100644 data/graphics/mevent/pal_4670CC.pal create mode 100644 data/graphics/mevent/pal_4670EC.pal create mode 100644 data/graphics/mevent/pal_46710C.pal create mode 100644 data/graphics/mevent/pal_46712C.pal create mode 100644 data/graphics/mevent/pal_46714C.pal create mode 100644 data/graphics/mevent/pal_46716C.pal create mode 100644 data/graphics/mevent/tilemap_467288.bin create mode 100644 data/graphics/mevent/tilemap_467470.bin create mode 100644 data/graphics/mevent/tilemap_46762C.bin create mode 100644 data/graphics/mevent/tilemap_467934.bin create mode 100644 data/graphics/mevent/tilemap_467CAC.bin diff --git a/asm/mevent_8145654.s b/asm/mevent_8145654.s index 00676462f..80f9f6d3d 100644 --- a/asm/mevent_8145654.s +++ b/asm/mevent_8145654.s @@ -5,247 +5,6 @@ .text - thumb_func_start sub_814571C -sub_814571C: @ 814571C - push {r4-r6,lr} - sub sp, 0x24 - ldr r5, =gUnknown_203F3C8 - ldr r0, [r5] - cmp r0, 0 - bne _08145734 - movs r0, 0x1 - negs r0, r0 - b _08145930 - .pool -_08145734: - movs r4, 0xBA - lsls r4, 1 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0x7 - bls _08145742 - b _08145908 -_08145742: - lsls r0, 2 - ldr r1, =_08145750 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08145750: - .4byte _08145770 - .4byte _08145782 - .4byte _08145790 - .4byte _08145834 - .4byte _081458AC - .4byte _081458B2 - .4byte _081458CC - .4byte _081458D2 -_08145770: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _0814591E -_08145782: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _0814578E - b _0814591E -_0814578E: - b _0814592E -_08145790: - movs r5, 0x1E - str r5, [sp] - movs r4, 0x14 - str r4, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r5, [sp] - str r4, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r5, [sp] - str r4, [sp, 0x4] - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - ldr r5, =gUnknown_203F3C8 - ldr r0, [r5] - movs r1, 0xB8 - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - ldr r1, [r0, 0x4] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0x8 - bl decompress_and_copy_tile_data_to_vram - ldr r4, =gUnknown_8467074 - adds r0, r4, 0 - bl AddWindow - ldr r1, [r5] - movs r2, 0xBB - lsls r2, 1 - adds r1, r2 - strh r0, [r1] - adds r0, r4, 0 - adds r0, 0x8 - bl AddWindow - ldr r1, [r5] - movs r2, 0xBC - lsls r2, 1 - adds r1, r2 - strh r0, [r1] - adds r4, 0x10 - adds r0, r4, 0 - bl AddWindow - ldr r1, [r5] - movs r2, 0xBD - lsls r2, 1 - adds r1, r2 - strh r0, [r1] - b _0814591E - .pool -_08145834: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - bne _0814592E - ldr r2, =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r5, =gUnknown_203F3C8 - ldr r0, [r5] - movs r4, 0xB8 - lsls r4, 1 - adds r0, r4 - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - ldr r1, [r5] - adds r4, r1, r4 - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldr r4, =0x0000045c - adds r1, r4 - bl LZ77UnCompWram - ldr r1, [r5] - adds r1, r4 - movs r2, 0x1E - str r2, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - str r6, [sp, 0x8] - str r6, [sp, 0xC] - str r2, [sp, 0x10] - str r0, [sp, 0x14] - movs r0, 0x1 - str r0, [sp, 0x18] - movs r0, 0x8 - str r0, [sp, 0x1C] - str r6, [sp, 0x20] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyRectToBgTilemapBufferRect - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - b _0814591E - .pool -_081458AC: - bl sub_8145A98 - b _0814591E -_081458B2: - movs r0, 0 - bl sub_8145D18 - movs r0, 0x1 - bl sub_8145D18 - movs r0, 0x2 - bl sub_8145D18 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - b _0814591E -_081458CC: - bl sub_809707C - b _0814591E -_081458D2: - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - bl sub_8146060 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - bl UpdatePaletteFade - b _0814591E - .pool -_08145908: - bl UpdatePaletteFade - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _0814592E - ldr r0, [r5] - adds r0, r4 - strb r1, [r0] - movs r0, 0x1 - b _08145930 -_0814591E: - ldr r0, =gUnknown_203F3C8 - ldr r1, [r0] - movs r0, 0xBA - lsls r0, 1 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0814592E: - movs r0, 0 -_08145930: - add sp, 0x24 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814571C - thumb_func_start sub_814593C sub_814593C: @ 814593C push {r4,r5,lr} diff --git a/data/data_8466FB8.s b/data/data_8466FB8.s index 6883ab138..f6d8ebaff 100644 --- a/data/data_8466FB8.s +++ b/data/data_8466FB8.s @@ -25,58 +25,71 @@ gUnknown_8467074:: @ 8467074 .2byte 0x0130 gUnknown_846708C:: - .incbin "baserom.gba", 0x46708c, 0x20 + .incbin "data/graphics/mevent/pal_46708C.gbapal" gUnknown_84670AC:: - .incbin "baserom.gba", 0x4670ac, 0x20 + .incbin "data/graphics/mevent/pal_4670AC.gbapal" gUnknown_84670CC:: - .incbin "baserom.gba", 0x4670cc, 0x20 + .incbin "data/graphics/mevent/pal_4670CC.gbapal" gUnknown_84670EC:: - .incbin "baserom.gba", 0x4670ec, 0x20 + .incbin "data/graphics/mevent/pal_4670EC.gbapal" gUnknown_846710C:: - .incbin "baserom.gba", 0x46710c, 0x20 + .incbin "data/graphics/mevent/pal_46710C.gbapal" gUnknown_846712C:: - .incbin "baserom.gba", 0x46712c, 0x20 + .incbin "data/graphics/mevent/pal_46712C.gbapal" gUnknown_846714C:: - .incbin "baserom.gba", 0x46714c, 0x20 + .incbin "data/graphics/mevent/pal_46714C.gbapal" gUnknown_846716C:: - .incbin "baserom.gba", 0x46716c, 0x20 + .incbin "data/graphics/mevent/pal_46716C.gbapal" + .align 2 gUnknown_846718C:: - .incbin "baserom.gba", 0x46718c, 0xFC + .incbin "data/graphics/mevent/gfx_46718C.4bpp.lz" + .align 2 gUnknown_8467288:: - .incbin "baserom.gba", 0x467288, 0xF4 + .incbin "data/graphics/mevent/tilemap_467288.bin.lz" + .align 2 gUnknown_846737C:: - .incbin "baserom.gba", 0x46737c, 0xF4 + .incbin "data/graphics/mevent/gfx_46737C.4bpp.lz" + .align 2 gUnknown_8467470:: - .incbin "baserom.gba", 0x467470, 0xE8 + .incbin "data/graphics/mevent/tilemap_467470.bin.lz" + .align 2 gUnknown_8467558:: - .incbin "baserom.gba", 0x467558, 0xD4 + .incbin "data/graphics/mevent/gfx_467558.4bpp.lz" + .align 2 gUnknown_846762C:: - .incbin "baserom.gba", 0x46762c, 0xD4 + .incbin "data/graphics/mevent/tilemap_46762C.bin.lz" + .align 2 gUnknown_8467700:: - .incbin "baserom.gba", 0x467700, 0x234 + .incbin "data/graphics/mevent/gfx_467700.4bpp.lz" + .align 2 gUnknown_8467934:: - .incbin "baserom.gba", 0x467934, 0x148 + .incbin "data/graphics/mevent/tilemap_467934.bin.lz" + .align 2 gUnknown_8467A7C:: - .incbin "baserom.gba", 0x467a7c, 0x230 + .incbin "data/graphics/mevent/gfx_467A7C.4bpp.lz" + .align 2 gUnknown_8467CAC:: - .incbin "baserom.gba", 0x467cac, 0x2AC + .incbin "data/graphics/mevent/tilemap_467CAC.bin.lz" + +gUnknown_8467DF4:: + .incbin "baserom.gba", 0x467DF4, 0x164 gUnknown_8467F58:: @ 8467F58 .incbin "baserom.gba", 0x467F58, 0x8 diff --git a/data/graphics/mevent/gfx_46718C.png b/data/graphics/mevent/gfx_46718C.png new file mode 100644 index 0000000000000000000000000000000000000000..bf52445e63c00d8981e96586f119e629efe610ff GIT binary patch literal 330 zcmeAS@N?(olHy`uVBq!ia0vp^96QU(D&A+AwJr(C^y)yvB(DJ$#h zUaxmogT8&c`v3p`XV0#_dw2Ce!+$iiT>jb#px&#VE{-7minaV!jGB&eZY6whgWTTcfIeo7_;TyY&^~>s(-RyZ2A5ByZNpwOyidDp5B%7 z!2R;}O{sr>opIz^D*4RX^zdwH%MFIE;ZAcN=^T9aV%1@f64fKs%Z@((%Px6uO0J>K U{r&NWfF5M67ethj0^wK_`|6}QtZ`qfoyx1=@ z!^1FPL!#ctt*;Nf%rmSLy}du)tHr8?=TTtI6V>Tza;~9$Y@P0j?ngFVdE0Sfnw6W% z`JC9?%4a_=8YxFByy||(73@6e+M#N0ap$DlGj^_4%E@-VYP!?!Ca| literal 0 HcmV?d00001 diff --git a/data/graphics/mevent/gfx_467558.png b/data/graphics/mevent/gfx_467558.png new file mode 100644 index 0000000000000000000000000000000000000000..c28edd8919a36a835cb99082a94bac3163c1e0d5 GIT binary patch literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^96-E*g&9a5*kQB)NErn9gt$f>oe~t3)!f{@WX_tS zd#`?b_y0cw0=;{8^x3oSd-sa3UX9wj*Yf}W|0{M{B?0xW_H=O!(U`b&;zhwG2OgKj zvMqc^{ErLe+z?tKJo5&F@s$Vn+|-K-*n56|RCCBXoa*}R`B*Tke3-eUHx3vIVCg!0ORk3S^xk5 literal 0 HcmV?d00001 diff --git a/data/graphics/mevent/gfx_467700.png b/data/graphics/mevent/gfx_467700.png new file mode 100644 index 0000000000000000000000000000000000000000..f31385746f99871768c7f044393b52d65390ce3f GIT binary patch literal 558 zcmV+}0@3}6P)5bTGh>3-ql*w)oSkcV&>jr)y-nXv|{e&V)pK8rx32b0005G zNkld(hGQx*7#mW+_4d%^momtt6uysAy&yq!iP}j!!5R3~14+LQ1SJ&TI zpa7u)9HDaacr{rJFu`nJY>5C9tah{@p#d&q@++~La2*w~h#w%{ z^9^72bz#od7RDXyyK!GOSC}H+pudZ%DH}Rugs8uik*t>oKS8I-Pu6MfC*9CIEe}l6 zk7zW~OG8UW8d@^a(2~J^QC!EE?_Mo4p*Z7!Vj)3NpAZ+zj0MNiljqvM^v6T++1;O` zQTl0d$|n*YaDK|^Q9t+3J3sWu_ZJ;JamB}4eUfEwE&H`&2Niy8djqJK?X15fnhwgj wKTNKBd%F*-g!qdEZE^aS>E*tSvUy7T1L-+ub}9f2?*IS*07*qoM6N<$f+>FjRR910 literal 0 HcmV?d00001 diff --git a/data/graphics/mevent/gfx_467A7C.png b/data/graphics/mevent/gfx_467A7C.png new file mode 100644 index 0000000000000000000000000000000000000000..f94b6c50f9459613f0c7d62411050bd395d2ba51 GIT binary patch literal 551 zcmV+?0@(eDP)v$<5grazyz~>u_XdbuszU%gc@kZ$R$7rqGM&}tI14DhM*q6ZXUqC<9(B#B3{?W zo1Hmf@at55WGjAJ4EIp&+vnx9TSg7sfz^5p*i)Vf`0~JlpPc8UE4gm|gTiDCCny2P z46owg@~062arGzx*I;1=PND*x9-RshjRKMmj>cVz!nguh@++{Ka32-1h+iPS^Bq6- z-NxLk-57TQzHP2BMZ7_OjjAYLbjS!%f9XcDUf%o!ohCn7r@5c>Li1~RU~>J4S|h#G zv}B~FB_lO08SEFub&2;qs%0i5XKYX`BuMHEak0!;a4bE!ul-AZ+yp&H6}dffL96})oB$6TGsvRTW1?N~vDU)w$as%1N?FNvmua-MIU>)Ae@ p!zv;E#ez0D{bX9*w^kNUX)l}OX71l}(B%LC002ovPDHLkV1mrb1lRxo literal 0 HcmV?d00001 diff --git a/data/graphics/mevent/pal_46708C.pal b/data/graphics/mevent/pal_46708C.pal new file mode 100644 index 000000000..9c5ef9b26 --- /dev/null +++ b/data/graphics/mevent/pal_46708C.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +90 197 148 +213 213 213 +74 74 74 +98 106 106 +213 189 74 +238 213 82 +246 246 213 +255 255 255 +230 230 213 +238 238 213 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 diff --git a/data/graphics/mevent/pal_4670AC.pal b/data/graphics/mevent/pal_4670AC.pal new file mode 100644 index 000000000..18c2be3fd --- /dev/null +++ b/data/graphics/mevent/pal_4670AC.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +90 197 148 +82 82 106 +131 131 139 +197 189 213 +205 230 255 +115 139 197 +49 74 82 +0 0 0 +0 0 0 +222 255 246 +197 255 222 +222 238 255 +156 180 222 +156 106 115 +172 139 164 +255 255 255 diff --git a/data/graphics/mevent/pal_4670CC.pal b/data/graphics/mevent/pal_4670CC.pal new file mode 100644 index 000000000..db02d5d4b --- /dev/null +++ b/data/graphics/mevent/pal_4670CC.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +90 197 148 +82 82 106 +131 131 139 +164 156 172 +197 189 213 +246 238 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 230 230 +255 197 197 +255 164 164 +246 139 139 +238 90 90 +255 255 255 diff --git a/data/graphics/mevent/pal_4670EC.pal b/data/graphics/mevent/pal_4670EC.pal new file mode 100644 index 000000000..bfbf036a5 --- /dev/null +++ b/data/graphics/mevent/pal_4670EC.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +90 197 148 +82 82 106 +131 131 139 +164 156 172 +197 189 213 +246 238 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +238 255 230 +213 255 189 +189 230 156 +164 213 131 +148 197 106 +255 255 255 diff --git a/data/graphics/mevent/pal_46710C.pal b/data/graphics/mevent/pal_46710C.pal new file mode 100644 index 000000000..fa41ee3b0 --- /dev/null +++ b/data/graphics/mevent/pal_46710C.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +90 197 148 +82 82 106 +131 131 139 +164 156 172 +197 189 213 +246 238 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +238 246 255 +205 238 246 +180 222 246 +156 197 238 +115 156 197 +255 255 255 diff --git a/data/graphics/mevent/pal_46712C.pal b/data/graphics/mevent/pal_46712C.pal new file mode 100644 index 000000000..8a71f5846 --- /dev/null +++ b/data/graphics/mevent/pal_46712C.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +90 197 148 +82 82 106 +131 131 139 +164 156 172 +197 189 213 +246 238 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +238 238 197 +230 230 139 +222 222 115 +213 213 90 +189 189 57 +255 255 255 diff --git a/data/graphics/mevent/pal_46714C.pal b/data/graphics/mevent/pal_46714C.pal new file mode 100644 index 000000000..01832b5e2 --- /dev/null +++ b/data/graphics/mevent/pal_46714C.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +189 123 148 +213 213 213 +74 74 74 +115 123 123 +164 156 90 +164 148 90 +197 197 90 +213 205 90 +222 213 90 +213 213 106 +238 246 98 +230 222 98 +213 205 98 +197 180 98 +238 230 98 +246 238 106 diff --git a/data/graphics/mevent/pal_46716C.pal b/data/graphics/mevent/pal_46716C.pal new file mode 100644 index 000000000..28a498b57 --- /dev/null +++ b/data/graphics/mevent/pal_46716C.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +189 123 148 +213 213 213 +74 74 74 +115 123 123 +156 156 156 +139 139 148 +180 180 197 +197 189 205 +205 205 222 +189 189 189 +197 230 222 +189 213 213 +180 197 197 +156 164 172 +222 222 230 +230 230 238 diff --git a/data/graphics/mevent/tilemap_467288.bin b/data/graphics/mevent/tilemap_467288.bin new file mode 100644 index 0000000000000000000000000000000000000000..8e4a4717bb8ed62814c72f8a34c4cb84171a6e02 GIT binary patch literal 1200 zcmeIu%MyYx3`XID{7PvnirnS>-&5$Gk;bj_txu9k!NsUhiLyoRM3q~6%_LTytf{?` zM>ITWQk#Es%ZqkvE1XfK8c#6rs`u6f10Pds*c$lnJ^%6j&mBF3L9b3D6SKjj@muST Q=ALK|FZ#7zc-v^v2Th+M#Q*>R literal 0 HcmV?d00001 diff --git a/data/graphics/mevent/tilemap_467470.bin b/data/graphics/mevent/tilemap_467470.bin new file mode 100644 index 0000000000000000000000000000000000000000..b59dbabb53cb0d03b4160f0cc500b8e6ff6e5cf2 GIT binary patch literal 1200 zcmeIv%ME}q3h#dvH}e!B=pXfB|D&T3XEViWd}uMR8~vukq}MLRx=JT r2u0g!6Gu!C%b1-q-((9Gr}Fncek}9N&MP*j9S2UQ>yz1_jZ?52?XV=% literal 0 HcmV?d00001 diff --git a/data/graphics/mevent/tilemap_46762C.bin b/data/graphics/mevent/tilemap_46762C.bin new file mode 100644 index 0000000000000000000000000000000000000000..aba2b9e924adaec8d4d304d7d784c4ae0b821b3f GIT binary patch literal 1200 zcmeIvK@NZ*3`EgEMiE5;k^5g&xPgu<6Z6(TZCZmtWN5+1B6mbssm)BtVq18ih;8MG l+FFNM>I$hZHlqQ3L@+JH?IcmaU&5c>cC literal 0 HcmV?d00001 diff --git a/data/graphics/mevent/tilemap_467934.bin b/data/graphics/mevent/tilemap_467934.bin new file mode 100644 index 0000000000000000000000000000000000000000..1800bff4dc9dd0984941d2882701c722db51043b GIT binary patch literal 1200 zcmd_k*%HA}5QO0$V~g0AAc%bzYZAQwgPFX+aa^jey5_2@CqtH;MpSxpiA~;INl3&dfp%kwt&(=_Ruckl*saDg O=FWqNNWRTOPJ96CA5#AS literal 0 HcmV?d00001 diff --git a/data/graphics/mevent/tilemap_467CAC.bin b/data/graphics/mevent/tilemap_467CAC.bin new file mode 100644 index 0000000000000000000000000000000000000000..1800bff4dc9dd0984941d2882701c722db51043b GIT binary patch literal 1200 zcmd_k*%HA}5QO0$V~g0AAc%bzYZAQwgPFX+aa^jey5_2@CqtH;MpSxpiA~;INl3&dfp%kwt&(=_Ruckl*saDg O=FWqNNWRTOPJ96CA5#AS literal 0 HcmV?d00001 diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index da58a2d83..cc6c578fe 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -10,5 +10,6 @@ void sub_80D2F68(u16 iconId); u8 sub_80D2D78(u16 iconId, void callback(struct Sprite *), u16 x, u16 y, u16 a4, u8 a5); void sub_80D2FF0(u16 iconId); void sub_80D2EF8(struct Sprite *sprite); +void sub_809707C(void); #endif // GUARD_POKEMON_ICON_H diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c index 9c26a21a1..3477543a8 100644 --- a/src/mevent_8145654.c +++ b/src/mevent_8145654.c @@ -1,13 +1,18 @@ #include "global.h" +#include "bg.h" +#include "palette.h" +#include "decompress.h" #include "malloc.h" +#include "menu.h" +#include "pokemon_icon.h" #include "mevent.h" struct UnkStruct_8467FB8 { u16 ident; - const void * unk_04; - const void * unk_08; - const void * unk_0C; + const u8 * tiles; + const u8 * map; + const u16 * pal; }; struct UnkStruct_203F3C8 @@ -15,11 +20,22 @@ struct UnkStruct_203F3C8 /*0000*/ struct MEventBuffer_32E0_Sub unk_0000; /*014c*/ struct MEventBuffer_3430_Sub unk_014c; /*0170*/ const struct UnkStruct_8467FB8 * unk_0170; - /*0174*/ u8 filler_0174[0x12E8]; + /*0174*/ u8 unk_0174; + /*0176*/ u16 unk_0176; + /*0178*/ u16 unk_0178; + /*017A*/ u16 unk_017A; + /*017C*/ u8 filler_0178[0x2E0]; + /*045C*/ u8 buffer_045C[0x1000]; }; EWRAM_DATA struct UnkStruct_203F3C8 * gUnknown_203F3C8 = NULL; +void sub_8145A98(void); +void sub_8145D18(u8 bgId); +void sub_8146060(void); + +extern const struct WindowTemplate gUnknown_8467074[3]; + extern const struct UnkStruct_8467FB8 gUnknown_8467FB8[8]; bool32 sub_8145654(struct MEventBuffer_32E0_Sub * r5, struct MEventBuffer_3430_Sub * r6) @@ -50,3 +66,67 @@ void sub_81456F0(void) gUnknown_203F3C8 = NULL; } } + +s32 sub_814571C(void) +{ + if (gUnknown_203F3C8 == NULL) + return -1; + switch(gUnknown_203F3C8->unk_0174) + { + case 0: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + break; + case 1: + if (UpdatePaletteFade()) + return 0; + break; + case 2: + FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(0); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + decompress_and_copy_tile_data_to_vram(2, gUnknown_203F3C8->unk_0170->tiles, 0, 0x008, 0); + gUnknown_203F3C8->unk_0176 = AddWindow(&gUnknown_8467074[0]); + gUnknown_203F3C8->unk_0178 = AddWindow(&gUnknown_8467074[1]); + gUnknown_203F3C8->unk_017A = AddWindow(&gUnknown_8467074[2]); + break; + case 3: + if (free_temp_tile_data_buffers_if_possible()) + return 0; + gPaletteFade.bufferTransferDisabled = TRUE; + LoadPalette(gUnknown_203F3C8->unk_0170->pal, 0x10, 0x20); + LZ77UnCompWram(gUnknown_203F3C8->unk_0170->map, gUnknown_203F3C8->buffer_045C); + CopyRectToBgTilemapBufferRect(2, gUnknown_203F3C8->buffer_045C, 0, 0, 30, 20, 0, 0, 30, 20, 1, 0x008, 0); + CopyBgTilemapBufferToVram(2); + break; + case 4: + sub_8145A98(); + break; + case 5: + sub_8145D18(0); + sub_8145D18(1); + sub_8145D18(2); + CopyBgTilemapBufferToVram(1); + break; + case 6: + sub_809707C(); + break; + case 7: + ShowBg(1); + ShowBg(2); + gPaletteFade.bufferTransferDisabled = FALSE; + sub_8146060(); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + UpdatePaletteFade(); + break; + default: + if (UpdatePaletteFade()) + return 0; + gUnknown_203F3C8->unk_0174 = 0; + return 1; + } + ++gUnknown_203F3C8->unk_0174; + return 0; +} From 2fb1404613d12e5384c7650ef9d46d2678865544 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 2 Dec 2018 12:09:16 -0500 Subject: [PATCH 191/222] sub_814593C and associated ewram --- asm/mevent_8145654.s | 161 ------------------------------------ include/mystery_gift_menu.h | 3 + include/pokemon_icon.h | 1 + src/mevent_8145654.c | 57 +++++++++++++ sym_ewram.txt | 7 +- 5 files changed, 62 insertions(+), 167 deletions(-) diff --git a/asm/mevent_8145654.s b/asm/mevent_8145654.s index 80f9f6d3d..b831c9e87 100644 --- a/asm/mevent_8145654.s +++ b/asm/mevent_8145654.s @@ -5,167 +5,6 @@ .text - thumb_func_start sub_814593C -sub_814593C: @ 814593C - push {r4,r5,lr} - sub sp, 0x8 - adds r2, r0, 0 - ldr r5, =gUnknown_203F3C8 - ldr r0, [r5] - cmp r0, 0 - bne _08145954 - movs r0, 0x1 - negs r0, r0 - b _08145A8C - .pool -_08145954: - movs r4, 0xBA - lsls r4, 1 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0x6 - bls _08145962 - b _08145A64 -_08145962: - lsls r0, 2 - ldr r1, =_08145970 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08145970: - .4byte _0814598C - .4byte _0814599E - .4byte _081459AA - .4byte _081459F2 - .4byte _08145A30 - .4byte _08145A3A - .4byte _08145A4C -_0814598C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _08145A7A -_0814599E: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - beq _08145A7A - b _08145A8A -_081459AA: - movs r5, 0x1E - str r5, [sp] - movs r4, 0x14 - str r4, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r5, [sp] - str r4, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r5, [sp] - str r4, [sp, 0x4] - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - b _08145A7A -_081459F2: - movs r0, 0x1 - bl HideBg - movs r0, 0x2 - bl HideBg - ldr r4, =gUnknown_203F3C8 - ldr r0, [r4] - movs r1, 0xBD - lsls r1, 1 - adds r0, r1 - ldrb r0, [r0] - bl RemoveWindow - ldr r0, [r4] - movs r1, 0xBC - lsls r1, 1 - adds r0, r1 - ldrb r0, [r0] - bl RemoveWindow - ldr r0, [r4] - movs r1, 0xBB - lsls r1, 1 - adds r0, r1 - ldrb r0, [r0] - bl RemoveWindow - b _08145A7A - .pool -_08145A30: - bl sub_81461D8 - bl FreeMonIconPalettes - b _08145A7A -_08145A3A: - ldr r0, =gUnknown_203F3B8 - ldrb r0, [r0] - adds r1, r2, 0 - bl sub_8142344 - b _08145A7A - .pool -_08145A4C: - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _08145A7A -_08145A64: - bl UpdatePaletteFade - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _08145A8A - ldr r0, [r5] - adds r0, r4 - strb r1, [r0] - movs r0, 0x1 - b _08145A8C -_08145A7A: - ldr r0, =gUnknown_203F3C8 - ldr r1, [r0] - movs r0, 0xBA - lsls r0, 1 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08145A8A: - movs r0, 0 -_08145A8C: - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814593C - thumb_func_start sub_8145A98 sub_8145A98: @ 8145A98 push {r4-r7,lr} diff --git a/include/mystery_gift_menu.h b/include/mystery_gift_menu.h index 17af9ce57..24bf85a13 100644 --- a/include/mystery_gift_menu.h +++ b/include/mystery_gift_menu.h @@ -1,6 +1,9 @@ #ifndef GUARD_MYSTERY_GIFT_MENU_H #define GUARD_MYSTERY_GIFT_MENU_H +extern bool8 gUnknown_203F3B8; + void sub_81422FC(void); +void sub_8142344(bool8, bool32); #endif //GUARD_MYSTERY_GIFT_MENU_H diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index cc6c578fe..2c2edcc7c 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -11,5 +11,6 @@ u8 sub_80D2D78(u16 iconId, void callback(struct Sprite *), u16 x, u16 y, u16 a4, void sub_80D2FF0(u16 iconId); void sub_80D2EF8(struct Sprite *sprite); void sub_809707C(void); +void FreeMonIconPalettes(void); #endif // GUARD_POKEMON_ICON_H diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c index 3477543a8..6c51f9091 100644 --- a/src/mevent_8145654.c +++ b/src/mevent_8145654.c @@ -5,6 +5,7 @@ #include "malloc.h" #include "menu.h" #include "pokemon_icon.h" +#include "mystery_gift_menu.h" #include "mevent.h" struct UnkStruct_8467FB8 @@ -28,11 +29,18 @@ struct UnkStruct_203F3C8 /*045C*/ u8 buffer_045C[0x1000]; }; +struct UnkStruct_203F3CC +{ + /*0000*/ u8 filler_0000[0x13a4]; +}; + EWRAM_DATA struct UnkStruct_203F3C8 * gUnknown_203F3C8 = NULL; +EWRAM_DATA struct UnkStruct_203F3CC * gUnknown_203F3CC = NULL; void sub_8145A98(void); void sub_8145D18(u8 bgId); void sub_8146060(void); +void sub_81461D8(void); extern const struct WindowTemplate gUnknown_8467074[3]; @@ -130,3 +138,52 @@ s32 sub_814571C(void) ++gUnknown_203F3C8->unk_0174; return 0; } + +s32 sub_814593C(bool32 flag) +{ + if (gUnknown_203F3C8 == NULL) + return -1; + switch (gUnknown_203F3C8->unk_0174) + { + case 0: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + break; + case 1: + if (UpdatePaletteFade()) + return 0; + break; + case 2: + FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(0); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + break; + case 3: + HideBg(1); + HideBg(2); + RemoveWindow(gUnknown_203F3C8->unk_017A); + RemoveWindow(gUnknown_203F3C8->unk_0178); + RemoveWindow(gUnknown_203F3C8->unk_0176); + break; + case 4: + sub_81461D8(); + FreeMonIconPalettes(); + break; + case 5: + sub_8142344(gUnknown_203F3B8, flag); + break; + case 6: + CopyBgTilemapBufferToVram(0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + break; + default: + if (UpdatePaletteFade()) + return 0; + gUnknown_203F3C8->unk_0174 = 0; + return 1; + } + ++gUnknown_203F3C8->unk_0174; + return 0; +} diff --git a/sym_ewram.txt b/sym_ewram.txt index b12c9d4a6..9e638c025 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1709,12 +1709,7 @@ gUnknown_203F3B8: @ 203F3B8 .include "src/mevent.o" .include "src/mevent_server_helpers.o" .include "src/mevent_server.o" - -gUnknown_203F3C8: @ 203F3C8 - .space 0x4 - -gUnknown_203F3CC: @ 203F3CC - .space 0x4 + .include "src/mevent_8145654.o" gUnknown_203F3D0: @ 203F3D0 .space 0x4 From cd42b22d6b450b1fc1d79b046fe7cd1a0fdcf543 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 2 Dec 2018 13:33:03 -0500 Subject: [PATCH 192/222] sub_8145A98 --- asm/mevent_8145654.s | 309 +------------------------------------------ include/global.h | 8 +- src/mevent_8145654.c | 86 +++++++++++- 3 files changed, 93 insertions(+), 310 deletions(-) diff --git a/asm/mevent_8145654.s b/asm/mevent_8145654.s index b831c9e87..45465afb9 100644 --- a/asm/mevent_8145654.s +++ b/asm/mevent_8145654.s @@ -5,313 +5,6 @@ .text - thumb_func_start sub_8145A98 -sub_8145A98: @ 8145A98 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r5, 0 - mov r0, sp - movs r1, 0 - movs r2, 0x6 - bl memset - ldr r4, =gUnknown_203F3C8 - ldr r1, [r4] - ldr r2, =0x0000018b - adds r0, r1, r2 - adds r1, 0xA - movs r2, 0x28 - bl memcpy - ldr r0, [r4] - ldr r3, =0x000001b3 - adds r1, r0, r3 - movs r0, 0xFF - strb r0, [r1] - ldr r1, [r4] - movs r2, 0xDA - lsls r2, 1 - adds r0, r1, r2 - adds r1, 0x32 - movs r2, 0x28 - bl memcpy - ldr r0, [r4] - movs r3, 0xEE - lsls r3, 1 - adds r0, r3 - movs r1, 0x1 - negs r1, r1 - strb r1, [r0] - ldr r1, [r4] - ldr r0, [r1, 0x4] - ldr r2, =0x000f423f - cmp r0, r2 - bls _08145AF4 - str r2, [r1, 0x4] -_08145AF4: - ldr r1, [r4] - ldr r2, =0x000001dd - adds r0, r1, r2 - ldr r1, [r1, 0x4] - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - adds r6, r4, 0 -_08145B06: - ldr r2, [r6] - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r4, r1, r5 - adds r0, r4, r2 - movs r3, 0xF2 - lsls r3, 1 - adds r0, r3 - adds r1, r2 - adds r1, 0x5A - movs r2, 0x28 - bl memcpy - ldr r1, [r6] - movs r0, 0x83 - lsls r0, 2 - adds r1, r0 - adds r1, r4 - movs r2, 0x1 - negs r2, r2 - adds r7, r2, 0 - movs r0, 0xFF - strb r0, [r1] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _08145B06 - ldr r6, =gUnknown_203F3C8 - ldr r1, [r6] - movs r3, 0xA2 - lsls r3, 2 - adds r0, r1, r3 - adds r1, 0xFA - movs r2, 0x28 - bl memcpy - ldr r0, [r6] - movs r4, 0xAC - lsls r4, 2 - adds r0, r4 - movs r1, 0x1 - negs r1, r1 - adds r4, r1, 0 - movs r1, 0xFF - strb r1, [r0] - ldr r1, [r6] - ldrb r0, [r1, 0x8] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x1 - beq _08145BB8 - cmp r0, 0x1 - bgt _08145B90 - cmp r0, 0 - beq _08145B96 - b _08145D08 - .pool -_08145B90: - cmp r0, 0x2 - beq _08145BC8 - b _08145D08 -_08145B96: - ldr r2, =0x000002b1 - adds r0, r1, r2 - movs r3, 0x91 - lsls r3, 1 - adds r1, r3 - movs r2, 0x28 - bl memcpy - ldr r1, [r6] - ldr r0, =0x000002d9 - adds r1, r0 - b _08145BBC - .pool -_08145BB8: - ldr r2, =0x000002b1 - adds r1, r2 -_08145BBC: - ldrb r0, [r1] - orrs r0, r4 - strb r0, [r1] - b _08145D08 - .pool -_08145BC8: - ldr r3, =0x000002b1 - adds r0, r1, r3 - ldrb r1, [r0] - orrs r1, r7 - strb r1, [r0] - mov r3, sp - ldr r1, [r6] - movs r4, 0xA6 - lsls r4, 1 - adds r0, r1, r4 - ldrh r0, [r0] - ldr r2, =0x000003e7 - cmp r0, r2 - bls _08145BE6 - adds r0, r2, 0 -_08145BE6: - strh r0, [r3] - mov r3, sp - movs r4, 0xA7 - lsls r4, 1 - adds r0, r1, r4 - ldrh r0, [r0] - cmp r0, r2 - bls _08145BF8 - adds r0, r2, 0 -_08145BF8: - strh r0, [r3, 0x2] - mov r3, sp - movs r4, 0xA8 - lsls r4, 1 - adds r0, r1, r4 - ldrh r0, [r0] - cmp r0, r2 - bls _08145C0A - adds r0, r2, 0 -_08145C0A: - strh r0, [r3, 0x4] - movs r5, 0 -_08145C0E: - lsls r4, r5, 1 - adds r4, r5 - lsls r4, 4 - movs r0, 0xB7 - lsls r0, 2 - adds r4, r0 - ldr r0, [r6] - adds r0, r4 - adds r0, 0x2A - movs r1, 0xFF - movs r2, 0x4 - bl memset - ldr r0, [r6] - adds r0, r4 - adds r0, 0x1 - movs r1, 0xFF - movs r2, 0x29 - bl memset - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x7 - bls _08145C0E - movs r5, 0 - movs r6, 0 - ldr r1, =gUnknown_203F3C8 - mov r8, r1 - movs r2, 0x91 - lsls r2, 1 - mov r10, r2 - ldr r7, =0x00000175 - movs r3, 0xB7 - lsls r3, 2 - mov r9, r3 -_08145C56: - mov r4, r8 - ldr r2, [r4] - mov r0, r10 - adds r1, r2, r0 - adds r0, r1, r5 - ldrb r3, [r0] - cmp r3, 0xF7 - beq _08145C98 - ldr r1, =0x00000175 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 4 - adds r0, r6, r0 - ldr r4, =0x000002dd - adds r1, r2, r4 - adds r1, r0 - strb r3, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - b _08145CFE - .pool -_08145C98: - adds r0, r5, 0x1 - adds r0, r1, r0 - ldrb r3, [r0] - cmp r3, 0x2 - bls _08145CA8 - adds r0, r5, 0x2 - lsls r0, 16 - b _08145CFC -_08145CA8: - adds r0, r2, r7 - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 4 - add r0, r9 - adds r0, r2, r0 - adds r0, 0x2A - lsls r1, r3, 1 - add r1, sp - ldrh r1, [r1] - movs r2, 0x2 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - mov r0, r8 - ldr r1, [r0] - adds r0, r1, r7 - ldrb r2, [r0] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 4 - adds r0, r1, r0 - adds r4, r5, 0x2 - add r1, r10 - adds r1, r4 - ldrb r1, [r1] - add r0, r9 - strb r1, [r0] - mov r2, r8 - ldr r1, [r2] - adds r1, r7 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - adds r0, r7 - ldrb r0, [r0] - cmp r0, 0x7 - bhi _08145D08 - movs r6, 0 - lsls r0, r4, 16 -_08145CFC: - lsrs r5, r0, 16 -_08145CFE: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x27 - bls _08145C56 -_08145D08: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8145A98 - thumb_func_start sub_8145D18 sub_8145D18: @ 8145D18 push {r4-r7,lr} @@ -972,6 +665,8 @@ _08146274: .pool thumb_func_end sub_81461D8 + @ file boundary maybe + thumb_func_start sub_8146288 sub_8146288: @ 8146288 push {r4-r6,lr} diff --git a/include/global.h b/include/global.h index 7c663a813..783a2c375 100644 --- a/include/global.h +++ b/include/global.h @@ -612,12 +612,16 @@ struct MEventBuffer_32E0_Sub { u16 unk_00; u16 unk_02; - u8 filler_04[4]; + u32 unk_04; u8 unk_08_0:2; u8 unk_08_2:4; u8 unk_08_6:2; u8 unk_09; - u8 filler_0A[322]; + u8 unk_0A[40]; + u8 unk_32[40]; + u8 unk_5A[4][40]; + u8 unk_FA[40]; + u8 unk_122[40]; }; struct MEventBuffer_32E0 diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c index 6c51f9091..d3ec2e0ce 100644 --- a/src/mevent_8145654.c +++ b/src/mevent_8145654.c @@ -6,6 +6,7 @@ #include "menu.h" #include "pokemon_icon.h" #include "mystery_gift_menu.h" +#include "string_util.h" #include "mevent.h" struct UnkStruct_8467FB8 @@ -16,16 +17,31 @@ struct UnkStruct_8467FB8 const u16 * pal; }; +struct UnkStruct_203F3C8_02DC +{ + u8 unk_00; + u8 unk_01[41]; + u8 unk_42[4]; +}; + struct UnkStruct_203F3C8 { /*0000*/ struct MEventBuffer_32E0_Sub unk_0000; /*014c*/ struct MEventBuffer_3430_Sub unk_014c; /*0170*/ const struct UnkStruct_8467FB8 * unk_0170; /*0174*/ u8 unk_0174; + /*0175*/ u8 unk_0175; /*0176*/ u16 unk_0176; /*0178*/ u16 unk_0178; /*017A*/ u16 unk_017A; - /*017C*/ u8 filler_0178[0x2E0]; + /*017C*/ u8 filler_017C[15]; + /*018B*/ u8 unk_018B[41]; + /*01B4*/ u8 unk_01B4[41]; + /*01DD*/ u8 unk_01DD[7]; + /*01E4*/ u8 unk_01E4[4][41]; + /*0288*/ u8 unk_0288[41]; + /*02B1*/ u8 unk_02B1[41]; + /*02DC*/ struct UnkStruct_203F3C8_02DC unk_02DC[8]; /*045C*/ u8 buffer_045C[0x1000]; }; @@ -187,3 +203,71 @@ s32 sub_814593C(bool32 flag) ++gUnknown_203F3C8->unk_0174; return 0; } + +void sub_8145A98(void) +{ + u16 i = 0; + u16 r6; + u16 sp0[3] = {0, 0, 0}; + + memcpy(gUnknown_203F3C8->unk_018B, gUnknown_203F3C8->unk_0000.unk_0A, 40); + gUnknown_203F3C8->unk_018B[40] = EOS; + memcpy(gUnknown_203F3C8->unk_01B4, gUnknown_203F3C8->unk_0000.unk_32, 40); + gUnknown_203F3C8->unk_01B4[40] = EOS; + if (gUnknown_203F3C8->unk_0000.unk_04 > 999999) + gUnknown_203F3C8->unk_0000.unk_04 = 999999; + ConvertIntToDecimalStringN(gUnknown_203F3C8->unk_01DD, gUnknown_203F3C8->unk_0000.unk_04, STR_CONV_MODE_LEFT_ALIGN, 6); + for (i = 0; i < 4; i++) + { + memcpy(gUnknown_203F3C8->unk_01E4[i], gUnknown_203F3C8->unk_0000.unk_5A[i], 40); + gUnknown_203F3C8->unk_01E4[i][40] = EOS; + } + memcpy(gUnknown_203F3C8->unk_0288, gUnknown_203F3C8->unk_0000.unk_FA, 40); + gUnknown_203F3C8->unk_0288[40] = EOS; + switch (gUnknown_203F3C8->unk_0000.unk_08_0) + { + case 0: + memcpy(gUnknown_203F3C8->unk_02B1, gUnknown_203F3C8->unk_0000.unk_122, 40); + gUnknown_203F3C8->unk_02B1[40] = EOS; + break; + case 1: + gUnknown_203F3C8->unk_02B1[00] = EOS; + break; + case 2: + gUnknown_203F3C8->unk_02B1[00] = EOS; + sp0[0] = gUnknown_203F3C8->unk_014c.unk_00 < 999 ? gUnknown_203F3C8->unk_014c.unk_00 : 999; + sp0[1] = gUnknown_203F3C8->unk_014c.unk_02 < 999 ? gUnknown_203F3C8->unk_014c.unk_02 : 999; + sp0[2] = gUnknown_203F3C8->unk_014c.unk_04 < 999 ? gUnknown_203F3C8->unk_014c.unk_04 : 999; + for (i = 0; i < 8; i++) + { + memset(gUnknown_203F3C8->unk_02DC[i].unk_42, EOS, 4); + memset(gUnknown_203F3C8->unk_02DC[i].unk_01, EOS, 41); + } + for (i = 0, r6 = 0; i < 40; i++) + { + if (gUnknown_203F3C8->unk_0000.unk_122[i] != 0xF7) + { + gUnknown_203F3C8->unk_02DC[gUnknown_203F3C8->unk_0175].unk_01[r6] = gUnknown_203F3C8->unk_0000.unk_122[i]; + r6++; + } + else + { + u8 r3 = gUnknown_203F3C8->unk_0000.unk_122[i + 1]; + if (r3 > 2) + { + i += 2; + } + else + { + ConvertIntToDecimalStringN(gUnknown_203F3C8->unk_02DC[gUnknown_203F3C8->unk_0175].unk_42, sp0[r3], STR_CONV_MODE_LEADING_ZEROS, 3); + gUnknown_203F3C8->unk_02DC[gUnknown_203F3C8->unk_0175].unk_00 = gUnknown_203F3C8->unk_0000.unk_122[i + 2]; + gUnknown_203F3C8->unk_0175++; + if (gUnknown_203F3C8->unk_0175 > 7) + break; + r6 = 0; + i += 2; + } + } + } + } +} From 30d4803a44a8f11ee88c4d4e37cef9f2373b3542 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 2 Dec 2018 16:06:01 -0500 Subject: [PATCH 193/222] sub_8145D18 --- asm/mevent_8145654.s | 398 ----------------------------------------- data/data_8466FB8.s | 5 +- include/pokemon_icon.h | 2 + src/mevent_8145654.c | 111 ++++++++++-- 4 files changed, 100 insertions(+), 416 deletions(-) diff --git a/asm/mevent_8145654.s b/asm/mevent_8145654.s index 45465afb9..d561f2766 100644 --- a/asm/mevent_8145654.s +++ b/asm/mevent_8145654.s @@ -5,404 +5,6 @@ .text - thumb_func_start sub_8145D18 -sub_8145D18: @ 8145D18 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - lsls r0, 24 - lsrs r4, r0, 24 - mov r8, r4 - movs r0, 0 - str r0, [sp, 0xC] - ldr r7, =gUnknown_203F3C8 - ldr r0, [r7] - lsls r1, r4, 1 - movs r2, 0xBB - lsls r2, 1 - adds r0, r2 - adds r0, r1 - ldrh r0, [r0] - lsls r6, r0, 24 - lsrs r5, r6, 24 - adds r0, r5, 0 - bl PutWindowTilemap - adds r0, r5, 0 - movs r1, 0 - bl FillWindowPixelBuffer - cmp r4, 0x1 - beq _08145E40 - cmp r4, 0x1 - bgt _08145D64 - cmp r4, 0 - beq _08145D70 - mov r9, r6 - b _08146038 - .pool -_08145D64: - mov r0, r8 - cmp r0, 0x2 - bne _08145D6C - b _08145EA4 -_08145D6C: - mov r9, r6 - b _08146038 -_08145D70: - ldr r2, [r7] - movs r1, 0xB8 - lsls r1, 1 - mov r10, r1 - adds r0, r2, r1 - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 28 - lsrs r0, 28 - lsls r1, r0, 1 - adds r1, r0 - ldr r0, =gUnknown_8467068 - mov r8, r0 - add r1, r8 - str r1, [sp] - ldr r1, [sp, 0xC] - str r1, [sp, 0x4] - ldr r0, =0x0000018b - adds r2, r0 - str r2, [sp, 0x8] - adds r0, r5, 0 - movs r1, 0x3 - movs r2, 0 - movs r3, 0x1 - bl box_print - ldr r4, [r7] - movs r1, 0xDA - lsls r1, 1 - mov r9, r1 - add r4, r9 - movs r0, 0x3 - movs r1, 0x2 - bl GetFontAttribute - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0x3 - adds r1, r4, 0 - bl GetStringWidth - movs r1, 0xA0 - subs r1, r0 - cmp r1, 0 - bge _08145DCE - movs r1, 0 -_08145DCE: - lsls r2, r1, 24 - lsrs r2, 24 - ldr r3, [r7] - mov r1, r10 - adds r0, r3, r1 - ldr r0, [r0] - ldrb r1, [r0] - lsls r1, 28 - lsrs r1, 28 - lsls r0, r1, 1 - adds r0, r1 - add r0, r8 - str r0, [sp] - ldr r0, [sp, 0xC] - str r0, [sp, 0x4] - add r3, r9 - str r3, [sp, 0x8] - adds r0, r5, 0 - movs r1, 0x3 - movs r3, 0x11 - bl box_print - ldr r2, [r7] - ldr r0, [r2, 0x4] - mov r9, r6 - cmp r0, 0 - bne _08145E06 - b _08146038 -_08145E06: - mov r1, r10 - adds r0, r2, r1 - ldr r0, [r0] - ldrb r1, [r0] - lsls r1, 28 - lsrs r1, 28 - lsls r0, r1, 1 - adds r0, r1 - add r0, r8 - str r0, [sp] - ldr r0, [sp, 0xC] - str r0, [sp, 0x4] - ldr r1, =0x000001dd - adds r0, r2, r1 - str r0, [sp, 0x8] - adds r0, r5, 0 - movs r1, 0x2 - movs r2, 0xA6 - movs r3, 0x11 - bl box_print - b _08146038 - .pool -_08145E40: - mov r9, r6 -_08145E42: - ldr r2, [sp, 0xC] - lsls r4, r2, 24 - asrs r4, 24 - lsls r3, r4, 4 - adds r3, 0x2 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =gUnknown_203F3C8 - ldr r2, [r0] - movs r1, 0xB8 - lsls r1, 1 - adds r0, r2, r1 - ldr r0, [r0] - ldrb r0, [r0] - lsrs r0, 4 - lsls r1, r0, 1 - adds r1, r0 - ldr r0, =gUnknown_8467068 - adds r1, r0 - str r1, [sp] - movs r0, 0 - str r0, [sp, 0x4] - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r4 - movs r1, 0xF2 - lsls r1, 1 - adds r0, r1 - adds r2, r0 - str r2, [sp, 0x8] - mov r2, r9 - lsrs r0, r2, 24 - movs r1, 0x3 - movs r2, 0 - bl box_print - adds r4, 0x1 - lsls r4, 24 - lsrs r0, r4, 24 - str r0, [sp, 0xC] - asrs r4, 24 - cmp r4, 0x3 - ble _08145E42 - b _08146038 - .pool -_08145EA4: - ldr r4, =gUnknown_8467070 - ldr r2, [r7] - ldrb r0, [r2, 0x8] - lsls r0, 30 - lsrs r0, 30 - adds r0, r4 - ldrb r3, [r0] - movs r1, 0xB8 - lsls r1, 1 - adds r0, r2, r1 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - lsls r0, 28 - lsrs r0, 28 - lsls r1, r0, 1 - adds r1, r0 - ldr r0, =gUnknown_8467068 - mov r10, r0 - add r1, r10 - str r1, [sp] - ldr r1, [sp, 0xC] - str r1, [sp, 0x4] - movs r1, 0xA2 - lsls r1, 2 - adds r0, r2, r1 - str r0, [sp, 0x8] - adds r0, r5, 0 - movs r1, 0x3 - movs r2, 0 - bl box_print - ldr r2, [r7] - ldrb r1, [r2, 0x8] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x2 - beq _08145F38 - lsls r0, r1, 30 - lsrs r0, 30 - adds r0, r4 - ldrb r3, [r0] - adds r3, 0x10 - lsls r3, 24 - lsrs r3, 24 - movs r1, 0xB8 - lsls r1, 1 - adds r0, r2, r1 - ldr r0, [r0] - ldrb r1, [r0, 0x1] - lsls r1, 28 - lsrs r1, 28 - lsls r0, r1, 1 - adds r0, r1 - add r0, r10 - str r0, [sp] - ldr r0, [sp, 0xC] - str r0, [sp, 0x4] - ldr r1, =0x000002b1 - adds r0, r2, r1 - str r0, [sp, 0x8] - adds r0, r5, 0 - movs r1, 0x3 - movs r2, 0 - bl box_print - mov r9, r6 - b _08146038 - .pool -_08145F38: - movs r2, 0 - mov r8, r2 - lsls r0, r1, 30 - lsrs r0, 30 - adds r0, r4 - ldrb r0, [r0] - adds r4, r0, 0 - adds r4, 0x10 - movs r0, 0x3 - movs r1, 0x2 - bl GetFontAttribute - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, [r7] - ldr r1, =0x00000175 - adds r0, r1 - mov r9, r6 - ldr r1, [sp, 0xC] - ldrb r0, [r0] - cmp r1, r0 - bge _08146038 - str r5, [sp, 0x10] - lsls r0, r4, 24 - lsrs r0, 24 - str r0, [sp, 0x14] - mov r10, r2 -_08145F6E: - mov r0, r8 - lsls r2, r0, 24 - lsrs r2, 24 - ldr r3, [r7] - movs r1, 0xB8 - lsls r1, 1 - adds r0, r3, r1 - ldr r0, [r0] - ldrb r1, [r0, 0x1] - lsls r1, 28 - lsrs r1, 28 - lsls r0, r1, 1 - adds r0, r1 - ldr r1, =gUnknown_8467068 - adds r0, r1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - ldr r1, [sp, 0xC] - lsls r0, r1, 24 - asrs r6, r0, 24 - lsls r0, r6, 1 - adds r0, r6 - lsls r5, r0, 4 - movs r0, 0xB7 - lsls r0, 2 - adds r4, r5, r0 - adds r3, r4 - adds r3, 0x1 - str r3, [sp, 0x8] - ldr r0, [sp, 0x10] - movs r1, 0x3 - ldr r3, [sp, 0x14] - bl box_print - ldr r1, [r7] - adds r0, r1, r5 - ldr r2, =0x00000306 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0xFF - beq _08146022 - adds r1, r4 - adds r1, 0x1 - movs r0, 0x3 - mov r2, r10 - bl GetStringWidth - add r8, r0 - mov r0, r8 - lsls r2, r0, 24 - lsrs r2, 24 - ldr r3, [r7] - movs r1, 0xB8 - lsls r1, 1 - adds r0, r3, r1 - ldr r0, [r0] - ldrb r1, [r0, 0x1] - lsls r1, 28 - lsrs r1, 28 - lsls r0, r1, 1 - adds r0, r1 - ldr r1, =gUnknown_8467068 - adds r0, r1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - adds r3, r4 - adds r3, 0x2A - str r3, [sp, 0x8] - ldr r0, [sp, 0x10] - movs r1, 0x2 - ldr r3, [sp, 0x14] - bl box_print - ldr r1, [r7] - adds r1, r4 - adds r1, 0x2A - movs r0, 0x3 - mov r2, r10 - bl GetStringWidth - ldr r1, [r7] - adds r1, r5 - movs r2, 0xB7 - lsls r2, 2 - adds r1, r2 - ldrb r1, [r1] - adds r0, r1 - add r8, r0 -_08146022: - adds r1, r6, 0x1 - lsls r1, 24 - lsrs r0, r1, 24 - str r0, [sp, 0xC] - asrs r1, 24 - ldr r0, [r7] - ldr r2, =0x00000175 - adds r0, r2 - ldrb r0, [r0] - cmp r1, r0 - blt _08145F6E -_08146038: - mov r1, r9 - lsrs r0, r1, 24 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8145D18 - thumb_func_start sub_8146060 sub_8146060: @ 8146060 push {r4-r7,lr} diff --git a/data/data_8466FB8.s b/data/data_8466FB8.s index f6d8ebaff..e7b8c4fbb 100644 --- a/data/data_8466FB8.s +++ b/data/data_8466FB8.s @@ -89,7 +89,10 @@ gUnknown_8467CAC:: .incbin "data/graphics/mevent/tilemap_467CAC.bin.lz" gUnknown_8467DF4:: - .incbin "baserom.gba", 0x467DF4, 0x164 + .incbin "baserom.gba", 0x467DF4, 0x100 + +gUnknown_8467EF4:: + .incbin "baserom.gba", 0x467EF4, 0x64 gUnknown_8467F58:: @ 8467F58 .incbin "baserom.gba", 0x467F58, 0x8 diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index 2c2edcc7c..cef408046 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -12,5 +12,7 @@ void sub_80D2FF0(u16 iconId); void sub_80D2EF8(struct Sprite *sprite); void sub_809707C(void); void FreeMonIconPalettes(void); +u16 sub_8096FD4(u16); +u8 sub_8096ECC(u16, void (*)(struct Sprite *), s16, s16, u8, bool32); #endif // GUARD_POKEMON_ICON_H diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c index d3ec2e0ce..ec1664643 100644 --- a/src/mevent_8145654.c +++ b/src/mevent_8145654.c @@ -1,4 +1,5 @@ #include "global.h" +#include "constants/species.h" #include "bg.h" #include "palette.h" #include "decompress.h" @@ -11,7 +12,10 @@ struct UnkStruct_8467FB8 { - u16 ident; + u8 textPal1:4; + u8 textPal2:4; + u8 textPal3:4; + u8 textPal4:4; const u8 * tiles; const u8 * map; const u16 * pal; @@ -27,14 +31,13 @@ struct UnkStruct_203F3C8_02DC struct UnkStruct_203F3C8 { /*0000*/ struct MEventBuffer_32E0_Sub unk_0000; - /*014c*/ struct MEventBuffer_3430_Sub unk_014c; + /*014c*/ struct MEventBuffer_3430_Sub unk_014C; /*0170*/ const struct UnkStruct_8467FB8 * unk_0170; /*0174*/ u8 unk_0174; /*0175*/ u8 unk_0175; - /*0176*/ u16 unk_0176; - /*0178*/ u16 unk_0178; - /*017A*/ u16 unk_017A; - /*017C*/ u8 filler_017C[15]; + /*0176*/ u16 unk_0176[3]; + /*017C*/ u8 unk_017C; + /*017D*/ u8 filler_017D[14]; /*018B*/ u8 unk_018B[41]; /*01B4*/ u8 unk_01B4[41]; /*01DD*/ u8 unk_01DD[7]; @@ -54,12 +57,15 @@ EWRAM_DATA struct UnkStruct_203F3C8 * gUnknown_203F3C8 = NULL; EWRAM_DATA struct UnkStruct_203F3CC * gUnknown_203F3CC = NULL; void sub_8145A98(void); -void sub_8145D18(u8 bgId); +void sub_8145D18(u8 whichWindow); void sub_8146060(void); void sub_81461D8(void); +extern const struct TextColor gUnknown_8467068[2]; +extern const u8 gUnknown_8467070[3]; extern const struct WindowTemplate gUnknown_8467074[3]; +extern const struct CompressedSpriteSheet gUnknown_8467F58; extern const struct UnkStruct_8467FB8 gUnknown_8467FB8[8]; bool32 sub_8145654(struct MEventBuffer_32E0_Sub * r5, struct MEventBuffer_3430_Sub * r6) @@ -70,7 +76,7 @@ bool32 sub_8145654(struct MEventBuffer_32E0_Sub * r5, struct MEventBuffer_3430_S if (gUnknown_203F3C8 == NULL) return FALSE; gUnknown_203F3C8->unk_0000 = *r5; - gUnknown_203F3C8->unk_014c = *r6; + gUnknown_203F3C8->unk_014C = *r6; if (gUnknown_203F3C8->unk_0000.unk_08_2 > 7) gUnknown_203F3C8->unk_0000.unk_08_2 = 0; if (gUnknown_203F3C8->unk_0000.unk_08_0 > 2) @@ -112,9 +118,9 @@ s32 sub_814571C(void) CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(2); decompress_and_copy_tile_data_to_vram(2, gUnknown_203F3C8->unk_0170->tiles, 0, 0x008, 0); - gUnknown_203F3C8->unk_0176 = AddWindow(&gUnknown_8467074[0]); - gUnknown_203F3C8->unk_0178 = AddWindow(&gUnknown_8467074[1]); - gUnknown_203F3C8->unk_017A = AddWindow(&gUnknown_8467074[2]); + gUnknown_203F3C8->unk_0176[0] = AddWindow(&gUnknown_8467074[0]); + gUnknown_203F3C8->unk_0176[1] = AddWindow(&gUnknown_8467074[1]); + gUnknown_203F3C8->unk_0176[2] = AddWindow(&gUnknown_8467074[2]); break; case 3: if (free_temp_tile_data_buffers_if_possible()) @@ -179,9 +185,9 @@ s32 sub_814593C(bool32 flag) case 3: HideBg(1); HideBg(2); - RemoveWindow(gUnknown_203F3C8->unk_017A); - RemoveWindow(gUnknown_203F3C8->unk_0178); - RemoveWindow(gUnknown_203F3C8->unk_0176); + RemoveWindow(gUnknown_203F3C8->unk_0176[2]); + RemoveWindow(gUnknown_203F3C8->unk_0176[1]); + RemoveWindow(gUnknown_203F3C8->unk_0176[0]); break; case 4: sub_81461D8(); @@ -235,9 +241,9 @@ void sub_8145A98(void) break; case 2: gUnknown_203F3C8->unk_02B1[00] = EOS; - sp0[0] = gUnknown_203F3C8->unk_014c.unk_00 < 999 ? gUnknown_203F3C8->unk_014c.unk_00 : 999; - sp0[1] = gUnknown_203F3C8->unk_014c.unk_02 < 999 ? gUnknown_203F3C8->unk_014c.unk_02 : 999; - sp0[2] = gUnknown_203F3C8->unk_014c.unk_04 < 999 ? gUnknown_203F3C8->unk_014c.unk_04 : 999; + sp0[0] = gUnknown_203F3C8->unk_014C.unk_00 < 999 ? gUnknown_203F3C8->unk_014C.unk_00 : 999; + sp0[1] = gUnknown_203F3C8->unk_014C.unk_02 < 999 ? gUnknown_203F3C8->unk_014C.unk_02 : 999; + sp0[2] = gUnknown_203F3C8->unk_014C.unk_04 < 999 ? gUnknown_203F3C8->unk_014C.unk_04 : 999; for (i = 0; i < 8; i++) { memset(gUnknown_203F3C8->unk_02DC[i].unk_42, EOS, 4); @@ -271,3 +277,74 @@ void sub_8145A98(void) } } } + +void sub_8145D18(u8 whichWindow) +{ + s8 sp0C = 0; + s32 windowId = gUnknown_203F3C8->unk_0176[whichWindow]; + PutWindowTilemap(windowId); + FillWindowPixelBuffer(windowId, 0); + switch (whichWindow) + { + case 0: + { + s32 x; + box_print(windowId, 3, 0, 1, &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal1], 0, gUnknown_203F3C8->unk_018B); + x = 160 - GetStringWidth(3, gUnknown_203F3C8->unk_01B4, GetFontAttribute(3, 2)); + if (x < 0) + x = 0; + box_print(windowId, 3, x, 17, &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal1], 0, gUnknown_203F3C8->unk_01B4); + if (gUnknown_203F3C8->unk_0000.unk_04 != 0) + { + box_print(windowId, 2, 166, 17, &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal1], 0, gUnknown_203F3C8->unk_01DD); + } + break; + } + case 1: + for (; sp0C < 4; sp0C++) + { + box_print(windowId, 3, 0, 16 * sp0C + 2, &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal2], 0, gUnknown_203F3C8->unk_01E4[sp0C]); + } + break; + case 2: + box_print(windowId, 3, 0, gUnknown_8467070[gUnknown_203F3C8->unk_0000.unk_08_0], &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal3], 0, gUnknown_203F3C8->unk_0288); + if (gUnknown_203F3C8->unk_0000.unk_08_0 != 2) + { + box_print(windowId, 3, 0, 16 + gUnknown_8467070[gUnknown_203F3C8->unk_0000.unk_08_0], &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal3], 0, gUnknown_203F3C8->unk_02B1); + } + else + { + s32 x = 0; + s32 y = gUnknown_8467070[gUnknown_203F3C8->unk_0000.unk_08_0] + 16; + s32 spacing = GetFontAttribute(3, 2); + for (; sp0C < gUnknown_203F3C8->unk_0175; sp0C++) + { + box_print(windowId, 3, x, y, &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal3], 0, gUnknown_203F3C8->unk_02DC[sp0C].unk_01); + if (gUnknown_203F3C8->unk_02DC[sp0C].unk_42[0] != EOS) + { + x += GetStringWidth(3, gUnknown_203F3C8->unk_02DC[sp0C].unk_01, spacing); + box_print(windowId, 2, x, y, &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal3], 0, gUnknown_203F3C8->unk_02DC[sp0C].unk_42); + x += GetStringWidth(3, gUnknown_203F3C8->unk_02DC[sp0C].unk_42, spacing) + gUnknown_203F3C8->unk_02DC[sp0C].unk_00; + } + } + } + break; + } + CopyWindowToVram(windowId, 3); +} + +/* +void sub_8146060(void) +{ + gUnknown_203F3C8->unk_017C = 0xFF; + if (gUnknown_203F3C8->unk_014C.unk_06 != SPECIES_NONE) + { + gUnknown_203F3C8->unk_017C = sub_8096ECC(sub_8096FD4(gUnknown_203F3C8->unk_014C.unk_06), SpriteCallbackDummy, 0xDC, 0x14, 0, FALSE); + gSprites[gUnknown_203F3C8->unk_017C].oam.priority = 2; + } + if (gUnknown_203F3C8->unk_0000.unk_09 != 0 && gUnknown_203F3C8->unk_0000.unk_08_0 == 1) + { + sub_800F034(gUnknown_8467F58); + } +} + */ From 9e34e6b53d8c21c79e67c7b46ac658506abb4ed3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 2 Dec 2018 16:38:07 -0500 Subject: [PATCH 194/222] sub_8146060 --- asm/mevent_8145654.s | 176 ------------------------------------------- data/data_8466FB8.s | 37 ++++++++- include/decompress.h | 2 + src/mevent_8145654.c | 21 +++++- 4 files changed, 52 insertions(+), 184 deletions(-) diff --git a/asm/mevent_8145654.s b/asm/mevent_8145654.s index d561f2766..e8af5eeae 100644 --- a/asm/mevent_8145654.s +++ b/asm/mevent_8145654.s @@ -5,182 +5,6 @@ .text - thumb_func_start sub_8146060 -sub_8146060: @ 8146060 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r7, 0 - ldr r4, =gUnknown_203F3C8 - ldr r0, [r4] - movs r1, 0xBE - lsls r1, 1 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - ldr r0, [r4] - movs r2, 0xA9 - lsls r2, 1 - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, 0 - beq _081460C8 - bl sub_8096FD4 - lsls r0, 16 - lsrs r0, 16 - ldr r1, =SpriteCallbackDummy - str r7, [sp] - str r7, [sp, 0x4] - movs r2, 0xDC - movs r3, 0x14 - bl sub_8096ECC - ldr r1, [r4] - movs r3, 0xBE - lsls r3, 1 - adds r1, r3 - strb r0, [r1] - ldr r2, =gSprites - ldr r0, [r4] - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x5] -_081460C8: - ldr r1, [r4] - ldrb r0, [r1, 0x9] - cmp r0, 0 - beq _081461AC - ldrb r1, [r1, 0x8] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x1 - bne _081461AC - ldr r0, =gUnknown_8467F58 - bl sub_800F034 - ldr r0, [r4] - movs r1, 0xB8 - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - lsrs r0, 4 - lsls r0, 3 - ldr r1, =gUnknown_8467F60 - adds r0, r1 - bl LoadSpritePalette - ldr r0, [r4] - ldrb r0, [r0, 0x9] - cmp r7, r0 - bcs _081461AC - adds r6, r4, 0 - ldr r2, =0x0000017d - mov r10, r2 - movs r3, 0 - mov r9, r3 - movs r0, 0xFF - mov r8, r0 -_0814610E: - ldr r1, [r6] - lsls r4, r7, 1 - add r1, r10 - adds r1, r4 - ldrb r0, [r1] - mov r2, r8 - orrs r0, r2 - strb r0, [r1] - ldr r1, [r6] - movs r3, 0xBF - lsls r3, 1 - adds r1, r3 - adds r1, r4 - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - lsls r1, r7, 5 - movs r0, 0xD8 - subs r5, r0, r1 - ldr r0, =gUnknown_8467FA0 - adds r1, r5, 0 - movs r2, 0x90 - movs r3, 0x8 - bl CreateSprite - ldr r1, [r6] - add r1, r10 - adds r1, r4 - strb r0, [r1] - ldr r0, [r6] - movs r1, 0xAA - lsls r1, 1 - adds r0, r1 - adds r1, r0, r4 - ldrh r0, [r1] - cmp r0, 0 - beq _0814619E - bl sub_8096FD4 - lsls r0, 16 - lsrs r0, 16 - mov r2, r9 - str r2, [sp] - str r2, [sp, 0x4] - ldr r1, =SpriteCallbackDummy - adds r2, r5, 0 - movs r3, 0x88 - bl sub_8096ECC - ldr r1, [r6] - movs r3, 0xBF - lsls r3, 1 - adds r1, r3 - adds r1, r4 - strb r0, [r1] - ldr r0, [r6] - adds r0, r3 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r2, r1 - movs r1, 0x8 - orrs r2, r1 - strb r2, [r0, 0x5] -_0814619E: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, [r6] - ldrb r0, [r0, 0x9] - cmp r7, r0 - bcc _0814610E -_081461AC: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146060 - thumb_func_start sub_81461D8 sub_81461D8: @ 81461D8 push {r4-r7,lr} diff --git a/data/data_8466FB8.s b/data/data_8466FB8.s index e7b8c4fbb..38cd46b8c 100644 --- a/data/data_8466FB8.s +++ b/data/data_8466FB8.s @@ -89,16 +89,45 @@ gUnknown_8467CAC:: .incbin "data/graphics/mevent/tilemap_467CAC.bin.lz" gUnknown_8467DF4:: - .incbin "baserom.gba", 0x467DF4, 0x100 + .incbin "data/graphics/mevent/pal_467DF4.gbapal" + +gUnknown_8467E14:: + .incbin "data/graphics/mevent/pal_467E14.gbapal" + +gUnknown_8467E34:: + .incbin "data/graphics/mevent/pal_467E34.gbapal" + +gUnknown_8467E54:: + .incbin "data/graphics/mevent/pal_467E54.gbapal" + +gUnknown_8467E74:: + .incbin "data/graphics/mevent/pal_467E74.gbapal" + +gUnknown_8467E94:: + .incbin "data/graphics/mevent/pal_467E94.gbapal" + +gUnknown_8467EB4:: + .incbin "data/graphics/mevent/pal_467EB4.gbapal" + +gUnknown_8467ED4:: + .incbin "data/graphics/mevent/pal_467ED4.gbapal" gUnknown_8467EF4:: - .incbin "baserom.gba", 0x467EF4, 0x64 + .incbin "data/graphics/mevent/gfx_467F58.4bpp.lz" gUnknown_8467F58:: @ 8467F58 - .incbin "baserom.gba", 0x467F58, 0x8 + .4byte gUnknown_8467EF4 + .2byte 0x0100, 0x8000 gUnknown_8467F60:: @ 8467F60 - .incbin "baserom.gba", 0x467F60, 0x40 + obj_pal gUnknown_8467DF4, 0x8000 + obj_pal gUnknown_8467E14, 0x8000 + obj_pal gUnknown_8467E34, 0x8000 + obj_pal gUnknown_8467E54, 0x8000 + obj_pal gUnknown_8467E74, 0x8000 + obj_pal gUnknown_8467E94, 0x8000 + obj_pal gUnknown_8467EB4, 0x8000 + obj_pal gUnknown_8467ED4, 0x8000 gUnknown_8467FA0:: @ 8467FA0 .incbin "baserom.gba", 0x467FA0, 0x18 diff --git a/include/decompress.h b/include/decompress.h index 5f3863dc7..36672dcfd 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -32,4 +32,6 @@ void LoadSpecialPokePic_DontHandleDeoxys(const struct CompressedSpriteSheet *src u32 sub_8034974(const u8 *ptr); +void sub_800F034(const struct CompressedSpriteSheet *src); + #endif // GUARD_DECOMPRESS_H diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c index ec1664643..db714ce80 100644 --- a/src/mevent_8145654.c +++ b/src/mevent_8145654.c @@ -37,7 +37,7 @@ struct UnkStruct_203F3C8 /*0175*/ u8 unk_0175; /*0176*/ u16 unk_0176[3]; /*017C*/ u8 unk_017C; - /*017D*/ u8 filler_017D[14]; + /*017D*/ u8 unk_017D[7][2]; /*018B*/ u8 unk_018B[41]; /*01B4*/ u8 unk_01B4[41]; /*01DD*/ u8 unk_01DD[7]; @@ -66,7 +66,9 @@ extern const u8 gUnknown_8467070[3]; extern const struct WindowTemplate gUnknown_8467074[3]; extern const struct CompressedSpriteSheet gUnknown_8467F58; +extern const struct SpritePalette gUnknown_8467F60[]; extern const struct UnkStruct_8467FB8 gUnknown_8467FB8[8]; +extern const struct SpriteTemplate gUnknown_8467FA0; bool32 sub_8145654(struct MEventBuffer_32E0_Sub * r5, struct MEventBuffer_3430_Sub * r6) { @@ -333,9 +335,9 @@ void sub_8145D18(u8 whichWindow) CopyWindowToVram(windowId, 3); } -/* void sub_8146060(void) { + u8 r7 = 0; gUnknown_203F3C8->unk_017C = 0xFF; if (gUnknown_203F3C8->unk_014C.unk_06 != SPECIES_NONE) { @@ -344,7 +346,18 @@ void sub_8146060(void) } if (gUnknown_203F3C8->unk_0000.unk_09 != 0 && gUnknown_203F3C8->unk_0000.unk_08_0 == 1) { - sub_800F034(gUnknown_8467F58); + sub_800F034(&gUnknown_8467F58); + LoadSpritePalette(&gUnknown_8467F60[gUnknown_203F3C8->unk_0170->textPal4]); + for (; r7 < gUnknown_203F3C8->unk_0000.unk_09; r7++) + { + gUnknown_203F3C8->unk_017D[r7][0] = 0xFF; + gUnknown_203F3C8->unk_017D[r7][1] = 0xFF; + gUnknown_203F3C8->unk_017D[r7][0] = CreateSprite(&gUnknown_8467FA0, 0xd8 - 32 * r7, 0x90, 8); + if (gUnknown_203F3C8->unk_014C.unk_08[0][r7] != 0) + { + gUnknown_203F3C8->unk_017D[r7][1] = sub_8096ECC(sub_8096FD4(gUnknown_203F3C8->unk_014C.unk_08[0][r7]), SpriteCallbackDummy, 0xd8 - 32 * r7, 0x88, 0, 0); + gSprites[gUnknown_203F3C8->unk_017D[r7][1]].oam.priority = 2; + } + } } } - */ From 60b8858b19f50751d1222abd0c662d1ee938b3ce Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 2 Dec 2018 16:48:04 -0500 Subject: [PATCH 195/222] sub_81461D8 --- asm/mevent_8145654.s | 86 ------------------------------------------ include/pokemon_icon.h | 1 + src/mevent_8145654.c | 25 ++++++++++++ 3 files changed, 26 insertions(+), 86 deletions(-) diff --git a/asm/mevent_8145654.s b/asm/mevent_8145654.s index e8af5eeae..152a8759a 100644 --- a/asm/mevent_8145654.s +++ b/asm/mevent_8145654.s @@ -5,92 +5,6 @@ .text - thumb_func_start sub_81461D8 -sub_81461D8: @ 81461D8 - push {r4-r7,lr} - movs r6, 0 - ldr r4, =gUnknown_203F3C8 - ldr r0, [r4] - movs r2, 0xBE - lsls r2, 1 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0xFF - beq _081461FC - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl sub_8097070 -_081461FC: - ldr r0, [r4] - ldrb r2, [r0, 0x9] - cmp r2, 0 - beq _08146274 - ldrb r1, [r0, 0x8] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x1 - bne _08146274 - cmp r6, r2 - bcs _08146264 - adds r7, r4, 0 -_08146214: - ldr r0, [r7] - lsls r4, r6, 1 - ldr r1, =0x0000017d - adds r0, r1 - adds r1, r0, r4 - ldrb r0, [r1] - cmp r0, 0xFF - beq _08146256 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, =gSprites - adds r0, r5 - bl DestroySprite - ldr r1, [r7] - ldr r2, =0x0000017d - adds r0, r1, r2 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0xFF - beq _08146256 - adds r2, 0x1 - adds r0, r1, r2 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl sub_8097070 -_08146256: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, [r7] - ldrb r0, [r0, 0x9] - cmp r6, r0 - bcc _08146214 -_08146264: - movs r4, 0x80 - lsls r4, 8 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag -_08146274: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81461D8 - @ file boundary maybe thumb_func_start sub_8146288 diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index cef408046..593715b7d 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -14,5 +14,6 @@ void sub_809707C(void); void FreeMonIconPalettes(void); u16 sub_8096FD4(u16); u8 sub_8096ECC(u16, void (*)(struct Sprite *), s16, s16, u8, bool32); +void sub_8097070(struct Sprite *); #endif // GUARD_POKEMON_ICON_H diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c index db714ce80..116db2e0e 100644 --- a/src/mevent_8145654.c +++ b/src/mevent_8145654.c @@ -361,3 +361,28 @@ void sub_8146060(void) } } } + +void sub_81461D8(void) +{ + u8 r6 = 0; + if (gUnknown_203F3C8->unk_017C != 0xFF) + sub_8097070(&gSprites[gUnknown_203F3C8->unk_017C]); + if (gUnknown_203F3C8->unk_0000.unk_09 != 0 && gUnknown_203F3C8->unk_0000.unk_08_0 == 1) + { + for (; r6 < gUnknown_203F3C8->unk_0000.unk_09; r6++) + { + if (gUnknown_203F3C8->unk_017D[r6][0] != 0xFF) + { + DestroySprite(&gSprites[gUnknown_203F3C8->unk_017D[r6][0]]); + // This might be a typo. Uncomment the next line, and comment the one that follows, to get the presumed intended behavior. + // if (gUnknown_203F3C8->unk_017D[r6][1] != 0xFF) + if (gUnknown_203F3C8->unk_017D[r6][0] != 0xFF) + { + sub_8097070(&gSprites[gUnknown_203F3C8->unk_017D[r6][1]]); + } + } + } + FreeSpriteTilesByTag(0x8000); + FreeSpritePaletteByTag(0x8000); + } +} From 39a9e186e05fd87d7b4787822b7207e8ab9fd9fd Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 2 Dec 2018 17:01:48 -0500 Subject: [PATCH 196/222] Decompile mevent_8145654 data so far --- data/data_835B488.s | 8 ++- data/data_8466FB8.s | 139 ------------------------------------------- src/mevent_8145654.c | 73 ++++++++++++++++++++--- 3 files changed, 73 insertions(+), 147 deletions(-) diff --git a/data/data_835B488.s b/data/data_835B488.s index de6460b81..44e4fe725 100644 --- a/data/data_835B488.s +++ b/data/data_835B488.s @@ -751,7 +751,13 @@ sFanfares:: @ 83AC990 .incbin "baserom.gba", 0x3AC990, 0x40 gUnknown_83AC9D0:: @ 83AC9D0 - .incbin "baserom.gba", 0x3AC9D0, 0x238 + .incbin "baserom.gba", 0x3AC9D0, 0x28 + +gUnknown_83AC9F8:: + .incbin "baserom.gba", 0x3AC9F8, 0x8 + +gUnknown_83ACA00:: + .incbin "baserom.gba", 0x3ACA00, 0x208 gUnknown_83ACC08:: @ 83ACC08 .incbin "baserom.gba", 0x3ACC08, 0x440 diff --git a/data/data_8466FB8.s b/data/data_8466FB8.s index 38cd46b8c..7acd28401 100644 --- a/data/data_8466FB8.s +++ b/data/data_8466FB8.s @@ -3,145 +3,6 @@ .section .rodata - .align 2 -gUnknown_8467068:: @ 8467068 - .byte 0x00, 0x02, 0x03 - .byte 0x00, 0x01, 0x02 - - .align 2 -gUnknown_8467070:: @ 8467070 - .byte 0x07, 0x04, 0x07 - - .align 2 -gUnknown_8467074:: @ 8467074 - @ {0x01, 0x01, 0x01, 0x19, 0x04, 0x0f, 0x029c}, - @ {0x01, 0x01, 0x06, 0x1c, 0x08, 0x0f, 0x01bc}, - @ {0x01, 0x01, 0x0e, 0x1c, 0x05, 0x0f, 0x0130} - .byte 0x01, 0x01, 0x01, 0x19, 0x04, 0x0f - .2byte 0x029c - .byte 0x01, 0x01, 0x06, 0x1c, 0x08, 0x0f - .2byte 0x01bc - .byte 0x01, 0x01, 0x0e, 0x1c, 0x05, 0x0f - .2byte 0x0130 - -gUnknown_846708C:: - .incbin "data/graphics/mevent/pal_46708C.gbapal" - -gUnknown_84670AC:: - .incbin "data/graphics/mevent/pal_4670AC.gbapal" - -gUnknown_84670CC:: - .incbin "data/graphics/mevent/pal_4670CC.gbapal" - -gUnknown_84670EC:: - .incbin "data/graphics/mevent/pal_4670EC.gbapal" - -gUnknown_846710C:: - .incbin "data/graphics/mevent/pal_46710C.gbapal" - -gUnknown_846712C:: - .incbin "data/graphics/mevent/pal_46712C.gbapal" - -gUnknown_846714C:: - .incbin "data/graphics/mevent/pal_46714C.gbapal" - -gUnknown_846716C:: - .incbin "data/graphics/mevent/pal_46716C.gbapal" - - .align 2 -gUnknown_846718C:: - .incbin "data/graphics/mevent/gfx_46718C.4bpp.lz" - - .align 2 -gUnknown_8467288:: - .incbin "data/graphics/mevent/tilemap_467288.bin.lz" - - .align 2 -gUnknown_846737C:: - .incbin "data/graphics/mevent/gfx_46737C.4bpp.lz" - - .align 2 -gUnknown_8467470:: - .incbin "data/graphics/mevent/tilemap_467470.bin.lz" - - .align 2 -gUnknown_8467558:: - .incbin "data/graphics/mevent/gfx_467558.4bpp.lz" - - .align 2 -gUnknown_846762C:: - .incbin "data/graphics/mevent/tilemap_46762C.bin.lz" - - .align 2 -gUnknown_8467700:: - .incbin "data/graphics/mevent/gfx_467700.4bpp.lz" - - .align 2 -gUnknown_8467934:: - .incbin "data/graphics/mevent/tilemap_467934.bin.lz" - - .align 2 -gUnknown_8467A7C:: - .incbin "data/graphics/mevent/gfx_467A7C.4bpp.lz" - - .align 2 -gUnknown_8467CAC:: - .incbin "data/graphics/mevent/tilemap_467CAC.bin.lz" - -gUnknown_8467DF4:: - .incbin "data/graphics/mevent/pal_467DF4.gbapal" - -gUnknown_8467E14:: - .incbin "data/graphics/mevent/pal_467E14.gbapal" - -gUnknown_8467E34:: - .incbin "data/graphics/mevent/pal_467E34.gbapal" - -gUnknown_8467E54:: - .incbin "data/graphics/mevent/pal_467E54.gbapal" - -gUnknown_8467E74:: - .incbin "data/graphics/mevent/pal_467E74.gbapal" - -gUnknown_8467E94:: - .incbin "data/graphics/mevent/pal_467E94.gbapal" - -gUnknown_8467EB4:: - .incbin "data/graphics/mevent/pal_467EB4.gbapal" - -gUnknown_8467ED4:: - .incbin "data/graphics/mevent/pal_467ED4.gbapal" - -gUnknown_8467EF4:: - .incbin "data/graphics/mevent/gfx_467F58.4bpp.lz" - -gUnknown_8467F58:: @ 8467F58 - .4byte gUnknown_8467EF4 - .2byte 0x0100, 0x8000 - -gUnknown_8467F60:: @ 8467F60 - obj_pal gUnknown_8467DF4, 0x8000 - obj_pal gUnknown_8467E14, 0x8000 - obj_pal gUnknown_8467E34, 0x8000 - obj_pal gUnknown_8467E54, 0x8000 - obj_pal gUnknown_8467E74, 0x8000 - obj_pal gUnknown_8467E94, 0x8000 - obj_pal gUnknown_8467EB4, 0x8000 - obj_pal gUnknown_8467ED4, 0x8000 - -gUnknown_8467FA0:: @ 8467FA0 - .incbin "baserom.gba", 0x467FA0, 0x18 - -gUnknown_8467FB8:: @ 8467FB8 - .4byte 0x0001, gUnknown_846718C, gUnknown_8467288, gUnknown_846708C - .4byte 0x1001, gUnknown_846737C, gUnknown_8467470, gUnknown_84670AC - .4byte 0x2001, gUnknown_8467558, gUnknown_846762C, gUnknown_84670CC - .4byte 0x3001, gUnknown_8467558, gUnknown_846762C, gUnknown_84670EC - .4byte 0x4001, gUnknown_8467558, gUnknown_846762C, gUnknown_846710C - .4byte 0x5001, gUnknown_8467558, gUnknown_846762C, gUnknown_846712C - .4byte 0x6001, gUnknown_8467700, gUnknown_8467934, gUnknown_846714C - .4byte 0x7001, gUnknown_8467A7C, gUnknown_8467CAC, gUnknown_846716C - gUnknown_8468038:: @ 8468038 .incbin "baserom.gba", 0x468038, 0x8 diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c index 116db2e0e..578b90b54 100644 --- a/src/mevent_8145654.c +++ b/src/mevent_8145654.c @@ -61,14 +61,73 @@ void sub_8145D18(u8 whichWindow); void sub_8146060(void); void sub_81461D8(void); -extern const struct TextColor gUnknown_8467068[2]; -extern const u8 gUnknown_8467070[3]; -extern const struct WindowTemplate gUnknown_8467074[3]; +extern const struct OamData gUnknown_83AC9F8; -extern const struct CompressedSpriteSheet gUnknown_8467F58; -extern const struct SpritePalette gUnknown_8467F60[]; -extern const struct UnkStruct_8467FB8 gUnknown_8467FB8[8]; -extern const struct SpriteTemplate gUnknown_8467FA0; +const struct TextColor gUnknown_8467068[] = { + {0, 2, 3}, + {0, 1, 2} +}; +const u8 ALIGNED(4) gUnknown_8467070[3] = {7, 4, 7}; +const struct WindowTemplate gUnknown_8467074[] = { + {0x01, 0x01, 0x01, 0x19, 0x04, 0x0f, 0x029c}, + {0x01, 0x01, 0x06, 0x1c, 0x08, 0x0f, 0x01bc}, + {0x01, 0x01, 0x0e, 0x1c, 0x05, 0x0f, 0x0130} +}; + +const u16 gUnknown_846708C[] = INCBIN_U16("data/graphics/mevent/pal_46708C.gbapal"); +const u16 gUnknown_84670AC[] = INCBIN_U16("data/graphics/mevent/pal_4670AC.gbapal"); +const u16 gUnknown_84670CC[] = INCBIN_U16("data/graphics/mevent/pal_4670CC.gbapal"); +const u16 gUnknown_84670EC[] = INCBIN_U16("data/graphics/mevent/pal_4670EC.gbapal"); +const u16 gUnknown_846710C[] = INCBIN_U16("data/graphics/mevent/pal_46710C.gbapal"); +const u16 gUnknown_846712C[] = INCBIN_U16("data/graphics/mevent/pal_46712C.gbapal"); +const u16 gUnknown_846714C[] = INCBIN_U16("data/graphics/mevent/pal_46714C.gbapal"); +const u16 gUnknown_846716C[] = INCBIN_U16("data/graphics/mevent/pal_46716C.gbapal"); +const u8 gUnknown_846718C[] = INCBIN_U8("data/graphics/mevent/gfx_46718C.4bpp.lz"); +const u8 gUnknown_8467288[] = INCBIN_U8("data/graphics/mevent/tilemap_467288.bin.lz"); +const u8 gUnknown_846737C[] = INCBIN_U8("data/graphics/mevent/gfx_46737C.4bpp.lz"); +const u8 gUnknown_8467470[] = INCBIN_U8("data/graphics/mevent/tilemap_467470.bin.lz"); +const u8 gUnknown_8467558[] = INCBIN_U8("data/graphics/mevent/gfx_467558.4bpp.lz"); +const u8 gUnknown_846762C[] = INCBIN_U8("data/graphics/mevent/tilemap_46762C.bin.lz"); +const u8 gUnknown_8467700[] = INCBIN_U8("data/graphics/mevent/gfx_467700.4bpp.lz"); +const u8 gUnknown_8467934[] = INCBIN_U8("data/graphics/mevent/tilemap_467934.bin.lz"); +const u8 gUnknown_8467A7C[] = INCBIN_U8("data/graphics/mevent/gfx_467A7C.4bpp.lz"); +const u8 gUnknown_8467CAC[] = INCBIN_U8("data/graphics/mevent/tilemap_467CAC.bin.lz"); +const u16 gUnknown_8467DF4[] = INCBIN_U16("data/graphics/mevent/pal_467DF4.gbapal"); +const u16 gUnknown_8467E14[] = INCBIN_U16("data/graphics/mevent/pal_467E14.gbapal"); +const u16 gUnknown_8467E34[] = INCBIN_U16("data/graphics/mevent/pal_467E34.gbapal"); +const u16 gUnknown_8467E54[] = INCBIN_U16("data/graphics/mevent/pal_467E54.gbapal"); +const u16 gUnknown_8467E74[] = INCBIN_U16("data/graphics/mevent/pal_467E74.gbapal"); +const u16 gUnknown_8467E94[] = INCBIN_U16("data/graphics/mevent/pal_467E94.gbapal"); +const u16 gUnknown_8467EB4[] = INCBIN_U16("data/graphics/mevent/pal_467EB4.gbapal"); +const u16 gUnknown_8467ED4[] = INCBIN_U16("data/graphics/mevent/pal_467ED4.gbapal"); +const u8 gUnknown_8467EF4[] = INCBIN_U8("data/graphics/mevent/gfx_467F58.4bpp.lz"); + +const struct CompressedSpriteSheet gUnknown_8467F58 = { + gUnknown_8467EF4, 0x100, 0x8000 +}; +const struct SpritePalette gUnknown_8467F60[] = { + {gUnknown_8467DF4, 0x8000}, + {gUnknown_8467E14, 0x8000}, + {gUnknown_8467E34, 0x8000}, + {gUnknown_8467E54, 0x8000}, + {gUnknown_8467E74, 0x8000}, + {gUnknown_8467E94, 0x8000}, + {gUnknown_8467EB4, 0x8000}, + {gUnknown_8467ED4, 0x8000} +}; +const struct SpriteTemplate gUnknown_8467FA0 = { + 0x8000, 0x8000, &gUnknown_83AC9F8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; +const struct UnkStruct_8467FB8 gUnknown_8467FB8[8] = { + {1, 0, 0, 0, gUnknown_846718C, gUnknown_8467288, gUnknown_846708C}, + {1, 0, 0, 1, gUnknown_846737C, gUnknown_8467470, gUnknown_84670AC}, + {1, 0, 0, 2, gUnknown_8467558, gUnknown_846762C, gUnknown_84670CC}, + {1, 0, 0, 3, gUnknown_8467558, gUnknown_846762C, gUnknown_84670EC}, + {1, 0, 0, 4, gUnknown_8467558, gUnknown_846762C, gUnknown_846710C}, + {1, 0, 0, 5, gUnknown_8467558, gUnknown_846762C, gUnknown_846712C}, + {1, 0, 0, 6, gUnknown_8467700, gUnknown_8467934, gUnknown_846714C}, + {1, 0, 0, 7, gUnknown_8467A7C, gUnknown_8467CAC, gUnknown_846716C} +}; bool32 sub_8145654(struct MEventBuffer_32E0_Sub * r5, struct MEventBuffer_3430_Sub * r6) { From 5151db6054d0704584fdf53e55840e262cde32a4 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 2 Dec 2018 17:25:59 -0500 Subject: [PATCH 197/222] sub_8146288 --- asm/mevent_8145654.s | 50 -------------------------------------------- data/data_8466FB8.s | 16 +++++++++++--- include/global.h | 1 + src/mevent_8145654.c | 50 ++++++++++++++++++++++++++++++++++++-------- 4 files changed, 55 insertions(+), 62 deletions(-) diff --git a/asm/mevent_8145654.s b/asm/mevent_8145654.s index 152a8759a..22b042b50 100644 --- a/asm/mevent_8145654.s +++ b/asm/mevent_8145654.s @@ -5,56 +5,6 @@ .text - @ file boundary maybe - - thumb_func_start sub_8146288 -sub_8146288: @ 8146288 - push {r4-r6,lr} - adds r4, r0, 0 - cmp r4, 0 - beq _0814629E - ldr r5, =gUnknown_203F3CC - ldr r0, =0x000013a4 - bl AllocZeroed - str r0, [r5] - cmp r0, 0 - bne _081462AC -_0814629E: - movs r0, 0 - b _081462DC - .pool -_081462AC: - movs r6, 0xDE - lsls r6, 1 - adds r1, r4, 0 - adds r2, r6, 0 - bl memcpy - ldr r1, [r5] - ldrb r0, [r1, 0x3] - cmp r0, 0x7 - bls _081462C4 - movs r0, 0 - strb r0, [r1, 0x3] -_081462C4: - ldr r2, [r5] - adds r3, r2, r6 - ldrb r0, [r2, 0x3] - lsls r0, 4 - ldr r1, =gUnknown_8468720 - adds r0, r1 - str r0, [r3] - ldr r0, =0x000001c1 - adds r1, r2, r0 - movs r0, 0xFF - strb r0, [r1] - movs r0, 0x1 -_081462DC: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146288 - thumb_func_start sub_81462EC sub_81462EC: @ 81462EC push {r4,lr} diff --git a/data/data_8466FB8.s b/data/data_8466FB8.s index 7acd28401..389b0d584 100644 --- a/data/data_8466FB8.s +++ b/data/data_8466FB8.s @@ -3,14 +3,24 @@ .section .rodata + .macro window_template bg, left, top, width, height, pal, baseTile + .byte \bg, \left, \top, \width, \height, \pal + .2byte \baseTile + .endm + gUnknown_8468038:: @ 8468038 - .incbin "baserom.gba", 0x468038, 0x8 + .byte 0x00, 0x02, 0x03 + .byte 0x00, 0x01, 0x02 + .align 2 gUnknown_8468040:: @ 8468040 - .incbin "baserom.gba", 0x468040, 0x10 + window_template 0x00, 0x01, 0x00, 0x1c, 0x03, 0x0f, 0x0000 + window_template 0x02, 0x01, 0x03, 0x1c, 0x14, 0x0f, 0x0000 + .align 2 gUnknown_8468050:: @ 8468050 - .incbin "baserom.gba", 0x468050, 0x10 + .byte 0x02, 0xe8, 0x18, 0x03, 0xe8, 0x98 + .2byte 0x0000, 0x0002, 0x1000, 0x1000, 0x0000 gUnknown_8468060:: .incbin "baserom.gba", 0x468060, 0x20 diff --git a/include/global.h b/include/global.h index 783a2c375..840c90725 100644 --- a/include/global.h +++ b/include/global.h @@ -599,6 +599,7 @@ struct MEventBuffer_3120_Sub { u16 unk_00; u8 unk_02; + u8 unk_03; u8 filler_04[440]; }; diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c index 578b90b54..4c81cb620 100644 --- a/src/mevent_8145654.c +++ b/src/mevent_8145654.c @@ -48,13 +48,7 @@ struct UnkStruct_203F3C8 /*045C*/ u8 buffer_045C[0x1000]; }; -struct UnkStruct_203F3CC -{ - /*0000*/ u8 filler_0000[0x13a4]; -}; - EWRAM_DATA struct UnkStruct_203F3C8 * gUnknown_203F3C8 = NULL; -EWRAM_DATA struct UnkStruct_203F3CC * gUnknown_203F3CC = NULL; void sub_8145A98(void); void sub_8145D18(u8 whichWindow); @@ -138,11 +132,11 @@ bool32 sub_8145654(struct MEventBuffer_32E0_Sub * r5, struct MEventBuffer_3430_S return FALSE; gUnknown_203F3C8->unk_0000 = *r5; gUnknown_203F3C8->unk_014C = *r6; - if (gUnknown_203F3C8->unk_0000.unk_08_2 > 7) + if (gUnknown_203F3C8->unk_0000.unk_08_2 >= NELEMS(gUnknown_8467FB8)) gUnknown_203F3C8->unk_0000.unk_08_2 = 0; - if (gUnknown_203F3C8->unk_0000.unk_08_0 > 2) + if (gUnknown_203F3C8->unk_0000.unk_08_0 >= NELEMS(gUnknown_8467070)) gUnknown_203F3C8->unk_0000.unk_08_0 = 0; - if (gUnknown_203F3C8->unk_0000.unk_09 > 7) + if (gUnknown_203F3C8->unk_0000.unk_09 > NELEMS(gUnknown_203F3C8->unk_017D)) gUnknown_203F3C8->unk_0000.unk_09 = 0; gUnknown_203F3C8->unk_0170 = &gUnknown_8467FB8[gUnknown_203F3C8->unk_0000.unk_08_2]; return TRUE; @@ -445,3 +439,41 @@ void sub_81461D8(void) FreeSpritePaletteByTag(0x8000); } } + +struct UnkStruct_8468720 +{ + u8 unk0; + const void * unk4; + const void * unk8; + const void * unkC; +}; + +struct UnkStruct_203F3CC +{ + /*0000*/ struct MEventBuffer_3120_Sub unk_0000; + /*01bc*/ const struct UnkStruct_8468720 * unk_01BC; + /*01c0*/ u8 unk_01C0; + /*01c1*/ u8 unk_01C1; + /*01c2*/ u8 filler_01C2[0x11e2]; +}; + +EWRAM_DATA struct UnkStruct_203F3CC * gUnknown_203F3CC = NULL; + +extern const struct TextColor gUnknown_8468038[2]; +extern const struct UnkStruct_8468720 gUnknown_8468720[8]; +extern const struct ScrollIndicatorArrowPairTemplate gUnknown_8468050; + +bool32 sub_8146288(const struct MEventBuffer_3120_Sub * a0) +{ + if (a0 == NULL) + return FALSE; + gUnknown_203F3CC = AllocZeroed(sizeof(struct UnkStruct_203F3CC)); + if (gUnknown_203F3CC == NULL) + return FALSE; + gUnknown_203F3CC->unk_0000 = *a0; + if (gUnknown_203F3CC->unk_0000.unk_03 >= NELEMS(gUnknown_8468720)) + gUnknown_203F3CC->unk_0000.unk_03 = 0; + gUnknown_203F3CC->unk_01BC = &gUnknown_8468720[gUnknown_203F3CC->unk_0000.unk_03]; + gUnknown_203F3CC->unk_01C1 = 0xFF; + return TRUE; +} From c7f9c8f1a52ca6284892442a76b462d67d23145e Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 2 Dec 2018 17:31:54 -0500 Subject: [PATCH 198/222] sub_81462EC --- asm/mevent_8145654.s | 21 --------------------- src/mevent_8145654.c | 10 ++++++++++ 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/asm/mevent_8145654.s b/asm/mevent_8145654.s index 22b042b50..9641e4e87 100644 --- a/asm/mevent_8145654.s +++ b/asm/mevent_8145654.s @@ -5,27 +5,6 @@ .text - thumb_func_start sub_81462EC -sub_81462EC: @ 81462EC - push {r4,lr} - ldr r4, =gUnknown_203F3CC - ldr r0, [r4] - cmp r0, 0 - beq _08146308 - ldr r2, =0x000013a4 - movs r1, 0 - bl memset - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] -_08146308: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81462EC - thumb_func_start sub_8146318 sub_8146318: @ 8146318 push {r4-r7,lr} diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c index 4c81cb620..300a1bf3e 100644 --- a/src/mevent_8145654.c +++ b/src/mevent_8145654.c @@ -477,3 +477,13 @@ bool32 sub_8146288(const struct MEventBuffer_3120_Sub * a0) gUnknown_203F3CC->unk_01C1 = 0xFF; return TRUE; } + +void sub_81462EC(void) +{ + if (gUnknown_203F3CC != NULL) + { + *gUnknown_203F3CC = (struct UnkStruct_203F3CC){}; + Free(gUnknown_203F3CC); + gUnknown_203F3CC = NULL; + } +} From ecc4af703a163336219a87d7b4755da1406c5f2e Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 2 Dec 2018 19:01:51 -0500 Subject: [PATCH 199/222] Add missing graphics files --- data/graphics/mevent/gfx_467EF4.png | Bin 0 -> 147 bytes data/graphics/mevent/pal_467DF4.pal | 19 +++++++++++++++++++ data/graphics/mevent/pal_467E14.pal | 19 +++++++++++++++++++ data/graphics/mevent/pal_467E34.pal | 19 +++++++++++++++++++ data/graphics/mevent/pal_467E54.pal | 19 +++++++++++++++++++ data/graphics/mevent/pal_467E74.pal | 19 +++++++++++++++++++ data/graphics/mevent/pal_467E94.pal | 19 +++++++++++++++++++ data/graphics/mevent/pal_467EB4.pal | 19 +++++++++++++++++++ data/graphics/mevent/pal_467ED4.pal | 19 +++++++++++++++++++ src/mevent_8145654.c | 2 +- 10 files changed, 153 insertions(+), 1 deletion(-) create mode 100644 data/graphics/mevent/gfx_467EF4.png create mode 100644 data/graphics/mevent/pal_467DF4.pal create mode 100644 data/graphics/mevent/pal_467E14.pal create mode 100644 data/graphics/mevent/pal_467E34.pal create mode 100644 data/graphics/mevent/pal_467E54.pal create mode 100644 data/graphics/mevent/pal_467E74.pal create mode 100644 data/graphics/mevent/pal_467E94.pal create mode 100644 data/graphics/mevent/pal_467EB4.pal create mode 100644 data/graphics/mevent/pal_467ED4.pal diff --git a/data/graphics/mevent/gfx_467EF4.png b/data/graphics/mevent/gfx_467EF4.png new file mode 100644 index 0000000000000000000000000000000000000000..aa0475ec0176945b2ca7add49a010693a485566b GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^96;>A0wfrY&u<9_Qc<2Rjv*3LYx@rJ9#G(6-uypj zUL&u8^pq&SP!%t!&fiB4iU$kJ$MD!T$}(+mU*TDj(Jh|pcRK93kxh+Z+JeA_2~V$W um~fSE`|EV>wfBtD7tWWF=jD!kd!d?n8|V8_eHT6fkZqo>elF{r5}E)-T`*bz literal 0 HcmV?d00001 diff --git a/data/graphics/mevent/pal_467DF4.pal b/data/graphics/mevent/pal_467DF4.pal new file mode 100644 index 000000000..7314ddbc8 --- /dev/null +++ b/data/graphics/mevent/pal_467DF4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +90 197 148 +189 189 164 +205 205 172 +213 213 189 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 diff --git a/data/graphics/mevent/pal_467E14.pal b/data/graphics/mevent/pal_467E14.pal new file mode 100644 index 000000000..333dd9280 --- /dev/null +++ b/data/graphics/mevent/pal_467E14.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +90 197 148 +82 82 106 +164 156 180 +246 238 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 diff --git a/data/graphics/mevent/pal_467E34.pal b/data/graphics/mevent/pal_467E34.pal new file mode 100644 index 000000000..3fca3cdf3 --- /dev/null +++ b/data/graphics/mevent/pal_467E34.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +90 197 148 +246 139 139 +246 180 180 +255 230 230 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 diff --git a/data/graphics/mevent/pal_467E54.pal b/data/graphics/mevent/pal_467E54.pal new file mode 100644 index 000000000..f5125b4c9 --- /dev/null +++ b/data/graphics/mevent/pal_467E54.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +90 197 148 +164 213 131 +197 230 180 +238 255 230 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 diff --git a/data/graphics/mevent/pal_467E74.pal b/data/graphics/mevent/pal_467E74.pal new file mode 100644 index 000000000..e8ec07ab5 --- /dev/null +++ b/data/graphics/mevent/pal_467E74.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +90 197 148 +156 197 238 +197 222 246 +238 246 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 diff --git a/data/graphics/mevent/pal_467E94.pal b/data/graphics/mevent/pal_467E94.pal new file mode 100644 index 000000000..783979089 --- /dev/null +++ b/data/graphics/mevent/pal_467E94.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +90 197 148 +213 213 90 +222 222 139 +238 238 197 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 diff --git a/data/graphics/mevent/pal_467EB4.pal b/data/graphics/mevent/pal_467EB4.pal new file mode 100644 index 000000000..1c74daace --- /dev/null +++ b/data/graphics/mevent/pal_467EB4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +90 197 148 +205 189 98 +222 205 115 +230 222 98 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 diff --git a/data/graphics/mevent/pal_467ED4.pal b/data/graphics/mevent/pal_467ED4.pal new file mode 100644 index 000000000..d1d92ba57 --- /dev/null +++ b/data/graphics/mevent/pal_467ED4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +90 197 148 +197 197 197 +205 205 205 +213 213 213 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c index 300a1bf3e..dc0969630 100644 --- a/src/mevent_8145654.c +++ b/src/mevent_8145654.c @@ -94,7 +94,7 @@ const u16 gUnknown_8467E74[] = INCBIN_U16("data/graphics/mevent/pal_467E74.gbapa const u16 gUnknown_8467E94[] = INCBIN_U16("data/graphics/mevent/pal_467E94.gbapal"); const u16 gUnknown_8467EB4[] = INCBIN_U16("data/graphics/mevent/pal_467EB4.gbapal"); const u16 gUnknown_8467ED4[] = INCBIN_U16("data/graphics/mevent/pal_467ED4.gbapal"); -const u8 gUnknown_8467EF4[] = INCBIN_U8("data/graphics/mevent/gfx_467F58.4bpp.lz"); +const u8 gUnknown_8467EF4[] = INCBIN_U8("data/graphics/mevent/gfx_467EF4.4bpp.lz"); const struct CompressedSpriteSheet gUnknown_8467F58 = { gUnknown_8467EF4, 0x100, 0x8000 From f92002b6da5ca426143864df5b679888cef8a9d8 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 2 Dec 2018 19:02:49 -0500 Subject: [PATCH 200/222] Correct dims for shadow gfx --- data/graphics/mevent/gfx_467EF4.png | Bin 147 -> 116 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/data/graphics/mevent/gfx_467EF4.png b/data/graphics/mevent/gfx_467EF4.png index aa0475ec0176945b2ca7add49a010693a485566b..51a1aeb0c246cfd35423131ef327d13e4f077f1c 100644 GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et0wfrw&pzJ*q^vz%9780gCjaPXljsnxU}p_z ztbhODfvpF_iTY|bo_CEd68{eG5Kx?OKvJb4mLZnAZK1@qB&(i~^NbAo)8B`#x6Ww; O8RzNh=d#Wzp$Py25F?-f literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^96;>A0wfrY&u<9_Qc<2Rjv*3LYx@rJ9#G(6-uypj zUL&u8^pq&SP!%t!&fiB4iU$kJ$MD!T$}(+mU*TDj(Jh|pcRK93kxh+Z+JeA_2~V$W um~fSE`|EV>wfBtD7tWWF=jD!kd!d?n8|V8_eHT6fkZqo>elF{r5}E)-T`*bz From 9ff5f62747589e403bc8bf215f8ebe3f5ba82353 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 3 Dec 2018 08:28:05 -0500 Subject: [PATCH 201/222] sub_8146318 --- asm/mevent_8145654.s | 326 ------------------------------------------- src/mevent_8145654.c | 91 +++++++++++- 2 files changed, 89 insertions(+), 328 deletions(-) diff --git a/asm/mevent_8145654.s b/asm/mevent_8145654.s index 9641e4e87..31a8de0c3 100644 --- a/asm/mevent_8145654.s +++ b/asm/mevent_8145654.s @@ -5,332 +5,6 @@ .text - thumb_func_start sub_8146318 -sub_8146318: @ 8146318 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - ldr r5, =gUnknown_203F3CC - ldr r0, [r5] - cmp r0, 0 - bne _08146338 - movs r0, 0x1 - negs r0, r0 - b _081465EE - .pool -_08146338: - movs r4, 0xE0 - lsls r4, 1 - adds r0, r4 - ldrb r0, [r0] - lsrs r0, 1 - cmp r0, 0x6 - bls _08146348 - b _081465B8 -_08146348: - lsls r0, 2 - ldr r1, =_08146358 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08146358: - .4byte _08146374 - .4byte _08146386 - .4byte _081463EC - .4byte _08146494 - .4byte _08146544 - .4byte _0814654A - .4byte _0814655C -_08146374: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _081465D2 -_08146386: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - beq _08146392 - b _081465EC -_08146392: - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x40 - movs r1, 0xF0 - bl SetGpuReg - ldr r1, =0x00001a98 - movs r0, 0x44 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x1F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x1B - bl SetGpuReg - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - b _081465D2 - .pool -_081463EC: - movs r5, 0x1E - str r5, [sp] - movs r4, 0x14 - str r4, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r5, [sp] - str r4, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r5, [sp] - str r4, [sp, 0x4] - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r5, [sp] - str r4, [sp, 0x4] - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - ldr r5, =gUnknown_203F3CC - ldr r0, [r5] - movs r1, 0xDE - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - ldr r1, [r0, 0x4] - movs r0, 0 - str r0, [sp] - movs r0, 0x3 - movs r2, 0 - movs r3, 0x8 - bl decompress_and_copy_tile_data_to_vram - ldr r4, =gUnknown_8468040 - adds r0, r4, 0 - bl AddWindow - ldr r1, [r5] - movs r2, 0xE4 - lsls r2, 1 - adds r1, r2 - strh r0, [r1] - adds r4, 0x8 - adds r0, r4, 0 - bl AddWindow - ldr r1, [r5] - movs r3, 0xE5 - lsls r3, 1 - adds r1, r3 - strh r0, [r1] - b _081465D2 - .pool -_08146494: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0 - beq _081464A2 - b _081465EC -_081464A2: - ldr r2, =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r0, =gUnknown_203F3CC - mov r8, r0 - ldr r0, [r0] - movs r4, 0xDE - lsls r4, 1 - adds r0, r4 - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - mov r2, r8 - ldr r1, [r2] - adds r4, r1, r4 - ldr r0, [r4] - ldr r0, [r0, 0x8] - movs r6, 0xE9 - lsls r6, 2 - adds r1, r6 - bl LZ77UnCompWram - mov r3, r8 - ldr r1, [r3] - adds r1, r6 - movs r4, 0x1E - str r4, [sp] - movs r5, 0x3 - str r5, [sp, 0x4] - str r7, [sp, 0x8] - str r7, [sp, 0xC] - str r4, [sp, 0x10] - str r5, [sp, 0x14] - movs r0, 0x1 - mov r10, r0 - str r0, [sp, 0x18] - movs r2, 0x8 - mov r9, r2 - str r2, [sp, 0x1C] - str r7, [sp, 0x20] - movs r2, 0 - movs r3, 0 - bl CopyRectToBgTilemapBufferRect - mov r3, r8 - ldr r1, [r3] - adds r1, r6 - str r4, [sp] - movs r0, 0x17 - str r0, [sp, 0x4] - str r7, [sp, 0x8] - str r5, [sp, 0xC] - str r4, [sp, 0x10] - str r0, [sp, 0x14] - mov r0, r10 - str r0, [sp, 0x18] - mov r2, r9 - str r2, [sp, 0x1C] - str r7, [sp, 0x20] - movs r0, 0x3 - movs r2, 0 - movs r3, 0x3 - bl CopyRectToBgTilemapBufferRect - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _081465D2 - .pool -_08146544: - bl sub_8146980 - b _081465D2 -_0814654A: - bl sub_8146A30 - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - b _081465D2 -_0814655C: - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldr r4, =gUnknown_203F3CC - ldr r1, [r4] - movs r3, 0xE5 - lsls r3, 2 - adds r0, r1, r3 - movs r2, 0xE3 - lsls r2, 1 - adds r1, r2 - bl AddScrollIndicatorArrowPair - ldr r1, [r4] - ldr r3, =0x000001c1 - adds r2, r1, r3 - movs r1, 0 - strb r0, [r2] - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - bl UpdatePaletteFade - b _081465D2 - .pool -_081465B8: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _081465EC - ldr r0, [r5] - adds r0, r4 - ldrb r2, [r0] - movs r1, 0x1 - ands r1, r2 - strb r1, [r0] - movs r0, 0x1 - b _081465EE -_081465D2: - ldr r0, =gUnknown_203F3CC - ldr r2, [r0] - movs r0, 0xE0 - lsls r0, 1 - adds r2, r0 - ldrb r3, [r2] - lsrs r1, r3, 1 - adds r1, 0x1 - lsls r1, 1 - movs r0, 0x1 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] -_081465EC: - movs r0, 0 -_081465EE: - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146318 - thumb_func_start sub_8146604 sub_8146604: @ 8146604 push {r4,r5,lr} diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c index dc0969630..3d7f6d3ca 100644 --- a/src/mevent_8145654.c +++ b/src/mevent_8145654.c @@ -1,12 +1,14 @@ #include "global.h" #include "constants/species.h" #include "bg.h" +#include "gpu_regs.h" #include "palette.h" #include "decompress.h" #include "malloc.h" #include "menu.h" #include "pokemon_icon.h" #include "mystery_gift_menu.h" +#include "menu_indicators.h" #include "string_util.h" #include "mevent.h" @@ -452,14 +454,24 @@ struct UnkStruct_203F3CC { /*0000*/ struct MEventBuffer_3120_Sub unk_0000; /*01bc*/ const struct UnkStruct_8468720 * unk_01BC; - /*01c0*/ u8 unk_01C0; + /*01c0*/ u8 unk_01C0_0:1; + /*01c0*/ u8 unk_01C0_1:7; /*01c1*/ u8 unk_01C1; - /*01c2*/ u8 filler_01C2[0x11e2]; + /*01c2*/ u8 filler_01C2[4]; + /*01c6*/ u16 unk_01C6; + /*01c8*/ u16 unk_01C8[2]; + /*01cc*/ u8 filler_01CC[0x1C8]; + /*0394*/ struct ScrollIndicatorArrowPairTemplate unk_0394; + /*03a4*/ u8 buffer_03A4[0x1000]; }; EWRAM_DATA struct UnkStruct_203F3CC * gUnknown_203F3CC = NULL; +void sub_8146980(void); +void sub_8146A30(void); + extern const struct TextColor gUnknown_8468038[2]; +extern const struct WindowTemplate gUnknown_8468040[2]; extern const struct UnkStruct_8468720 gUnknown_8468720[8]; extern const struct ScrollIndicatorArrowPairTemplate gUnknown_8468050; @@ -487,3 +499,78 @@ void sub_81462EC(void) gUnknown_203F3CC = NULL; } } + +s32 sub_8146318(void) +{ + if (gUnknown_203F3CC == NULL) + return -1; + + switch (gUnknown_203F3CC->unk_01C0_1) + { + case 0: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + break; + case 1: + if (UpdatePaletteFade()) + return 0; + ChangeBgY(0, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgY(2, 0, 0); + ChangeBgY(3, 0, 0); + SetGpuReg(REG_OFFSET_WIN0H, 0xF0); + SetGpuReg(REG_OFFSET_WIN0V, 0x1A98); + SetGpuReg(REG_OFFSET_WININ, 0x1F); + SetGpuReg(REG_OFFSET_WINOUT, 0x1B); + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + break; + case 2: + FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(3, 0x000, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(0); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + CopyBgTilemapBufferToVram(3); + decompress_and_copy_tile_data_to_vram(3, gUnknown_203F3CC->unk_01BC->unk4, 0, 8, 0); + gUnknown_203F3CC->unk_01C8[0] = AddWindow(&gUnknown_8468040[0]); + gUnknown_203F3CC->unk_01C8[1] = AddWindow(&gUnknown_8468040[1]); + break; + case 3: + if (free_temp_tile_data_buffers_if_possible()) + return 0; + gPaletteFade.bufferTransferDisabled = TRUE; + LoadPalette(gUnknown_203F3CC->unk_01BC->unkC, 0x10, 0x20); + LZ77UnCompWram(gUnknown_203F3CC->unk_01BC->unk8, gUnknown_203F3CC->buffer_03A4); + CopyRectToBgTilemapBufferRect(1, gUnknown_203F3CC->buffer_03A4, 0, 0, 30, 3, 0, 0, 30, 3, 1, 8, 0); + CopyRectToBgTilemapBufferRect(3, gUnknown_203F3CC->buffer_03A4, 0, 3, 30, 23, 0, 3, 30, 23, 1, 8, 0); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(3); + break; + case 4: + sub_8146980(); + break; + case 5: + sub_8146A30(); + CopyBgTilemapBufferToVram(0); + CopyBgTilemapBufferToVram(2); + break; + case 6: + ShowBg(1); + ShowBg(2); + ShowBg(3); + gPaletteFade.bufferTransferDisabled = FALSE; + gUnknown_203F3CC->unk_01C1 = AddScrollIndicatorArrowPair(&gUnknown_203F3CC->unk_0394, &gUnknown_203F3CC->unk_01C6); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + UpdatePaletteFade(); + break; + default: + if (UpdatePaletteFade()) + return 0; + gUnknown_203F3CC->unk_01C0_1 = 0; + return 1; + } + + ++gUnknown_203F3CC->unk_01C0_1; + return 0; +} From 208c6054475030ce48482c34647bd5728172b074 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 3 Dec 2018 08:41:06 -0500 Subject: [PATCH 202/222] sub_8146604 --- asm/mevent_8145654.s | 218 ------------------------------------------- include/link_rfu.h | 1 + src/mevent_8145654.c | 64 +++++++++++++ 3 files changed, 65 insertions(+), 218 deletions(-) diff --git a/asm/mevent_8145654.s b/asm/mevent_8145654.s index 31a8de0c3..b5e5dc019 100644 --- a/asm/mevent_8145654.s +++ b/asm/mevent_8145654.s @@ -5,224 +5,6 @@ .text - thumb_func_start sub_8146604 -sub_8146604: @ 8146604 - push {r4,r5,lr} - sub sp, 0x8 - adds r2, r0, 0 - ldr r5, =gUnknown_203F3CC - ldr r0, [r5] - cmp r0, 0 - bne _0814661C - movs r0, 0x1 - negs r0, r0 - b _081467E0 - .pool -_0814661C: - movs r4, 0xE0 - lsls r4, 1 - adds r0, r4 - ldrb r0, [r0] - lsrs r0, 1 - cmp r0, 0x6 - bls _0814662C - b _081467AA -_0814662C: - lsls r0, 2 - ldr r1, =_0814663C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0814663C: - .4byte _08146658 - .4byte _0814666A - .4byte _081466AC - .4byte _0814670C - .4byte _0814673C - .4byte _08146778 - .4byte _08146788 -_08146658: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _081467C4 -_0814666A: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - beq _08146676 - b _081467DE -_08146676: - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl ClearGpuRegBits - b _081467C4 -_081466AC: - movs r4, 0x1E - str r4, [sp] - movs r5, 0x14 - str r5, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r5, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - movs r5, 0x18 - str r5, [sp, 0x4] - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r5, [sp, 0x4] - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _081467C4 -_0814670C: - movs r0, 0x1 - bl HideBg - movs r0, 0x2 - bl HideBg - ldr r4, =gUnknown_203F3CC - ldr r0, [r4] - movs r1, 0xE5 - lsls r1, 1 - adds r0, r1 - ldrb r0, [r0] - bl RemoveWindow - ldr r0, [r4] - movs r2, 0xE4 - lsls r2, 1 - adds r0, r2 - ldrb r0, [r0] - bl RemoveWindow - b _081467C4 - .pool -_0814673C: - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldr r4, =gUnknown_203F3CC - ldr r0, [r4] - ldr r2, =0x000001c1 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0xFF - beq _081467C4 - bl RemoveScrollIndicatorArrowPair - ldr r0, [r4] - ldr r2, =0x000001c1 - adds r1, r0, r2 - movs r0, 0xFF - strb r0, [r1] - b _081467C4 - .pool -_08146778: - ldr r0, =gUnknown_203F3B8 - ldrb r0, [r0] - adds r1, r2, 0 - bl sub_8142344 - b _081467C4 - .pool -_08146788: - bl sub_8142420 - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _081467C4 -_081467AA: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _081467DE - ldr r0, [r5] - adds r0, r4 - ldrb r2, [r0] - movs r1, 0x1 - ands r1, r2 - strb r1, [r0] - movs r0, 0x1 - b _081467E0 -_081467C4: - ldr r0, =gUnknown_203F3CC - ldr r2, [r0] - movs r0, 0xE0 - lsls r0, 1 - adds r2, r0 - ldrb r3, [r2] - lsrs r1, r3, 1 - adds r1, 0x1 - lsls r1, 1 - movs r0, 0x1 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] -_081467DE: - movs r0, 0 -_081467E0: - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146604 - thumb_func_start sub_81467EC sub_81467EC: @ 81467EC push {r4,r5,lr} diff --git a/include/link_rfu.h b/include/link_rfu.h index 065d23f9f..6e54fcc6c 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -4,5 +4,6 @@ void sub_8142504(const u8 *str); bool32 mevent_0814257C(u8 * cmdPtr, const u8 * src); void sub_80FA190(void); +void sub_8142420(void); #endif //GUARD_LINK_RFU_H diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c index 3d7f6d3ca..5161d5380 100644 --- a/src/mevent_8145654.c +++ b/src/mevent_8145654.c @@ -10,6 +10,7 @@ #include "mystery_gift_menu.h" #include "menu_indicators.h" #include "string_util.h" +#include "link_rfu.h" #include "mevent.h" struct UnkStruct_8467FB8 @@ -574,3 +575,66 @@ s32 sub_8146318(void) ++gUnknown_203F3CC->unk_01C0_1; return 0; } + +s32 sub_8146604(bool32 flag) +{ + if (gUnknown_203F3CC == NULL) + return -1; + switch (gUnknown_203F3CC->unk_01C0_1) + { + case 0: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + break; + case 1: + if (UpdatePaletteFade()) + return 0; + ChangeBgY(2, 0, 0); + SetGpuReg(REG_OFFSET_WIN0H, 0); + SetGpuReg(REG_OFFSET_WIN0V, 0); + SetGpuReg(REG_OFFSET_WININ, 0); + SetGpuReg(REG_OFFSET_WINOUT, 0); + ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + break; + case 2: + FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 24); + FillBgTilemapBufferRect_Palette0(3, 0x000, 0, 0, 30, 24); + CopyBgTilemapBufferToVram(0); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + CopyBgTilemapBufferToVram(3); + break; + case 3: + HideBg(1); + HideBg(2); + RemoveWindow(gUnknown_203F3CC->unk_01C8[1]); + RemoveWindow(gUnknown_203F3CC->unk_01C8[0]); + break; + case 4: + ChangeBgY(2, 0, 0); + ChangeBgY(3, 0, 0); + if (gUnknown_203F3CC->unk_01C1 != 0xFF) + { + RemoveScrollIndicatorArrowPair(gUnknown_203F3CC->unk_01C1); + gUnknown_203F3CC->unk_01C1 = 0xFF; + } + break; + case 5: + sub_8142344(gUnknown_203F3B8, flag); + break; + case 6: + sub_8142420(); + CopyBgTilemapBufferToVram(0); + CopyBgTilemapBufferToVram(3); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + break; + default: + if (UpdatePaletteFade()) + return 0; + gUnknown_203F3CC->unk_01C0_1 = 0; + return 1; + } + ++gUnknown_203F3CC->unk_01C0_1; + return 0; +} From 3700b24a316d4c053e719c97642e32e3b1b297ca Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 3 Dec 2018 08:44:24 -0500 Subject: [PATCH 203/222] through sub_8146834 --- asm/mevent_8145654.s | 77 -------------------------------------------- src/mevent_8145654.c | 20 ++++++++++++ 2 files changed, 20 insertions(+), 77 deletions(-) diff --git a/asm/mevent_8145654.s b/asm/mevent_8145654.s index b5e5dc019..8e3357763 100644 --- a/asm/mevent_8145654.s +++ b/asm/mevent_8145654.s @@ -5,83 +5,6 @@ .text - thumb_func_start sub_81467EC -sub_81467EC: @ 81467EC - push {r4,r5,lr} - ldr r4, =gUnknown_203F3CC - ldr r2, [r4] - movs r5, 0xE0 - lsls r5, 1 - adds r0, r2, r5 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08146826 - ldr r0, =0x000001c1 - adds r1, r2, r0 - ldrb r0, [r1] - cmp r0, 0xFF - beq _08146826 - bl RemoveScrollIndicatorArrowPair - ldr r0, [r4] - ldr r2, =0x000001c1 - adds r1, r0, r2 - movs r0, 0xFF - strb r0, [r1] - ldr r1, [r4] - adds r1, r5 - ldrb r0, [r1] - movs r2, 0x1 - orrs r0, r2 - strb r0, [r1] -_08146826: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81467EC - - thumb_func_start sub_8146834 -sub_8146834: @ 8146834 - push {r4,lr} - ldr r4, =gUnknown_203F3CC - ldr r2, [r4] - movs r1, 0xE0 - lsls r1, 1 - adds r0, r2, r1 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08146874 - movs r3, 0xE5 - lsls r3, 2 - adds r0, r2, r3 - movs r3, 0xE3 - lsls r3, 1 - adds r1, r2, r3 - bl AddScrollIndicatorArrowPair - ldr r1, [r4] - ldr r2, =0x000001c1 - adds r1, r2 - strb r0, [r1] - ldr r1, [r4] - movs r3, 0xE0 - lsls r3, 1 - adds r1, r3 - ldrb r2, [r1] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - strb r0, [r1] -_08146874: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146834 - thumb_func_start sub_8146884 sub_8146884: @ 8146884 push {r4-r6,lr} diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c index 5161d5380..04fac680e 100644 --- a/src/mevent_8145654.c +++ b/src/mevent_8145654.c @@ -638,3 +638,23 @@ s32 sub_8146604(bool32 flag) ++gUnknown_203F3CC->unk_01C0_1; return 0; } + +void sub_81467EC(void) +{ + if (!gUnknown_203F3CC->unk_01C0_0 && gUnknown_203F3CC->unk_01C1 != 0xFF) + { + RemoveScrollIndicatorArrowPair(gUnknown_203F3CC->unk_01C1); + gUnknown_203F3CC->unk_01C1 = 0xFF; + gUnknown_203F3CC->unk_01C0_0 = TRUE; + } +} + + +void sub_8146834(void) +{ + if (gUnknown_203F3CC->unk_01C0_0) + { + gUnknown_203F3CC->unk_01C1 = AddScrollIndicatorArrowPair(&gUnknown_203F3CC->unk_0394, &gUnknown_203F3CC->unk_01C6); + gUnknown_203F3CC->unk_01C0_0 = FALSE; + } +} \ No newline at end of file From 0f486fec545ed2583b478033410b648329fc98f1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 3 Dec 2018 09:43:03 -0500 Subject: [PATCH 204/222] sub_8146884 --- asm/mevent_8145654.s | 134 ------------------------------------------- src/mevent_8145654.c | 50 +++++++++++++++- 2 files changed, 47 insertions(+), 137 deletions(-) diff --git a/asm/mevent_8145654.s b/asm/mevent_8145654.s index 8e3357763..c76fd8260 100644 --- a/asm/mevent_8145654.s +++ b/asm/mevent_8145654.s @@ -5,140 +5,6 @@ .text - thumb_func_start sub_8146884 -sub_8146884: @ 8146884 - push {r4-r6,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r3, r4, 0 - ldr r2, =gUnknown_203F3CC - ldr r0, [r2] - mov r12, r0 - movs r0, 0xE1 - lsls r0, 1 - add r0, r12 - ldrb r1, [r0] - movs r5, 0x1 - adds r0, r5, 0 - ands r0, r1 - adds r6, r2, 0 - cmp r0, 0 - beq _081468B4 - bl sub_8146B58 -_081468AA: - movs r0, 0xFF - b _0814697A - .pool -_081468B4: - cmp r4, 0x2 - beq _081468D0 - cmp r4, 0x2 - bgt _081468C2 - cmp r4, 0x1 - beq _081468CC - b _081468AA -_081468C2: - cmp r3, 0x40 - beq _081468D4 - cmp r3, 0x80 - beq _08146904 - b _081468AA -_081468CC: - movs r0, 0 - b _0814697A -_081468D0: - movs r0, 0x1 - b _0814697A -_081468D4: - movs r0, 0xE3 - lsls r0, 1 - add r0, r12 - ldrh r0, [r0] - cmp r0, 0 - beq _081468AA - movs r0, 0xE0 - lsls r0, 1 - add r0, r12 - ldrb r1, [r0] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _081468AA - ldr r2, =0x000001c3 - add r2, r12 - ldrb r1, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - b _08146932 - .pool -_08146904: - movs r0, 0xE3 - lsls r0, 1 - add r0, r12 - movs r1, 0xE2 - lsls r1, 1 - add r1, r12 - ldrh r0, [r0] - ldrh r1, [r1] - cmp r0, r1 - beq _081468AA - movs r0, 0xE0 - lsls r0, 1 - add r0, r12 - ldrb r1, [r0] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _081468AA - ldr r2, =0x000001c3 - add r2, r12 - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 -_08146932: - strb r0, [r2] - ldr r2, [r6] - movs r4, 0xE1 - lsls r4, 1 - adds r2, r4 - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r3, [r6] - adds r3, r4 - ldrb r1, [r3] - movs r2, 0x1 - adds r0, r2, 0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] - ldr r1, [r6] - adds r4, 0x1 - adds r1, r4 - ldrb r3, [r1] - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r0, [r6] - adds r0, r4 - ldrb r0, [r0] - ands r2, r0 - cmp r2, 0 - beq _08146978 - movs r0, 0x3 - b _0814697A - .pool -_08146978: - movs r0, 0x2 -_0814697A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8146884 - thumb_func_start sub_8146980 sub_8146980: @ 8146980 push {r4-r6,lr} diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c index 04fac680e..443aa0b76 100644 --- a/src/mevent_8145654.c +++ b/src/mevent_8145654.c @@ -456,9 +456,13 @@ struct UnkStruct_203F3CC /*0000*/ struct MEventBuffer_3120_Sub unk_0000; /*01bc*/ const struct UnkStruct_8468720 * unk_01BC; /*01c0*/ u8 unk_01C0_0:1; - /*01c0*/ u8 unk_01C0_1:7; + u8 unk_01C0_1:7; /*01c1*/ u8 unk_01C1; - /*01c2*/ u8 filler_01C2[4]; + /*01c2*/ u8 unk_01C2_0:1; + u8 unk_01C2_1:7; + /*01c3*/ u8 unk_01C3_0:1; + u8 unk_01C3_1:7; + /*01c4*/ u16 unk_01C4; /*01c6*/ u16 unk_01C6; /*01c8*/ u16 unk_01C8[2]; /*01cc*/ u8 filler_01CC[0x1C8]; @@ -470,6 +474,7 @@ EWRAM_DATA struct UnkStruct_203F3CC * gUnknown_203F3CC = NULL; void sub_8146980(void); void sub_8146A30(void); +void sub_8146B58(void); extern const struct TextColor gUnknown_8468038[2]; extern const struct WindowTemplate gUnknown_8468040[2]; @@ -657,4 +662,43 @@ void sub_8146834(void) gUnknown_203F3CC->unk_01C1 = AddScrollIndicatorArrowPair(&gUnknown_203F3CC->unk_0394, &gUnknown_203F3CC->unk_01C6); gUnknown_203F3CC->unk_01C0_0 = FALSE; } -} \ No newline at end of file +} + +u8 sub_8146884(u16 input) +{ + if (gUnknown_203F3CC->unk_01C2_0) + { + sub_8146B58(); + return 0xFF; + } + switch (input) + { + case A_BUTTON: + return 0; + case B_BUTTON: + return 1; + case DPAD_UP: + if (gUnknown_203F3CC->unk_01C6 == 0) + return 0xFF; + if (gUnknown_203F3CC->unk_01C0_0) + return 0xFF; + gUnknown_203F3CC->unk_01C3_0 = FALSE; + break; + case DPAD_DOWN: + if (gUnknown_203F3CC->unk_01C6 == gUnknown_203F3CC->unk_01C4) + return 0xFF; + if (gUnknown_203F3CC->unk_01C0_0) + return 0xFF; + gUnknown_203F3CC->unk_01C3_0 = TRUE; + break; + default: + return 0xFF; + } + gUnknown_203F3CC->unk_01C2_0 = TRUE; + gUnknown_203F3CC->unk_01C2_1 = 2; + gUnknown_203F3CC->unk_01C3_1 = 0; + if (gUnknown_203F3CC->unk_01C3_0 == FALSE) + return 2; + else + return 3; +} From 59b87e9d2af887401736d8fd06d3a9266e3983e5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 3 Dec 2018 10:09:28 -0500 Subject: [PATCH 205/222] sub_8146980 --- asm/mevent_8145654.s | 84 -------------------------------------------- data/data_8466FB8.s | 18 ---------- include/global.h | 3 +- src/mevent_8145654.c | 35 +++++++++++++++--- 4 files changed, 33 insertions(+), 107 deletions(-) diff --git a/asm/mevent_8145654.s b/asm/mevent_8145654.s index c76fd8260..0d232dcc2 100644 --- a/asm/mevent_8145654.s +++ b/asm/mevent_8145654.s @@ -5,90 +5,6 @@ .text - thumb_func_start sub_8146980 -sub_8146980: @ 8146980 - push {r4-r6,lr} - movs r5, 0 - ldr r4, =gUnknown_203F3CC - ldr r1, [r4] - movs r2, 0xE7 - lsls r2, 1 - adds r0, r1, r2 - adds r1, 0x4 - movs r2, 0x28 - bl memcpy - ldr r0, [r4] - movs r3, 0xFB - lsls r3, 1 - adds r1, r0, r3 - movs r0, 0xFF - strb r0, [r1] - adds r6, r4, 0 -_081469A4: - ldr r2, [r6] - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r4, r1, r5 - adds r0, r4, r2 - ldr r3, =0x000001f7 - adds r0, r3 - adds r1, r2 - adds r1, 0x2C - movs r2, 0x28 - bl memcpy - ldr r0, [r6] - ldr r1, =0x0000021f - adds r0, r1 - adds r0, r4 - movs r1, 0xFF - strb r1, [r0] - cmp r5, 0x7 - bls _081469E8 - ldr r1, [r6] - ldr r2, =0x000001f7 - adds r0, r1, r2 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0xFF - beq _081469E8 - movs r3, 0xE2 - lsls r3, 1 - adds r1, r3 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_081469E8: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x9 - bls _081469A4 - ldr r2, =gUnknown_203F3CC - ldr r1, [r2] - movs r4, 0xE5 - lsls r4, 2 - adds r1, r4 - ldr r0, =gUnknown_8468050 - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldr r0, [r0] - str r0, [r1] - ldr r2, [r2] - movs r5, 0xE2 - lsls r5, 1 - adds r0, r2, r5 - ldrh r1, [r0] - movs r3, 0xE7 - lsls r3, 2 - adds r0, r2, r3 - strh r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146980 - thumb_func_start sub_8146A30 sub_8146A30: @ 8146A30 push {r4-r7,lr} diff --git a/data/data_8466FB8.s b/data/data_8466FB8.s index 389b0d584..276658b7a 100644 --- a/data/data_8466FB8.s +++ b/data/data_8466FB8.s @@ -3,25 +3,7 @@ .section .rodata - .macro window_template bg, left, top, width, height, pal, baseTile - .byte \bg, \left, \top, \width, \height, \pal - .2byte \baseTile - .endm - -gUnknown_8468038:: @ 8468038 - .byte 0x00, 0x02, 0x03 - .byte 0x00, 0x01, 0x02 - .align 2 -gUnknown_8468040:: @ 8468040 - window_template 0x00, 0x01, 0x00, 0x1c, 0x03, 0x0f, 0x0000 - window_template 0x02, 0x01, 0x03, 0x1c, 0x14, 0x0f, 0x0000 - - .align 2 -gUnknown_8468050:: @ 8468050 - .byte 0x02, 0xe8, 0x18, 0x03, 0xe8, 0x98 - .2byte 0x0000, 0x0002, 0x1000, 0x1000, 0x0000 - gUnknown_8468060:: .incbin "baserom.gba", 0x468060, 0x20 diff --git a/include/global.h b/include/global.h index 840c90725..775b3115e 100644 --- a/include/global.h +++ b/include/global.h @@ -600,7 +600,8 @@ struct MEventBuffer_3120_Sub u16 unk_00; u8 unk_02; u8 unk_03; - u8 filler_04[440]; + u8 unk_04[40]; + u8 unk_2C[10][40]; }; struct MEventBuffer_3120 diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c index 443aa0b76..0be18ad8f 100644 --- a/src/mevent_8145654.c +++ b/src/mevent_8145654.c @@ -465,7 +465,9 @@ struct UnkStruct_203F3CC /*01c4*/ u16 unk_01C4; /*01c6*/ u16 unk_01C6; /*01c8*/ u16 unk_01C8[2]; - /*01cc*/ u8 filler_01CC[0x1C8]; + /*01cc*/ u8 filler_01CC[2]; + /*01ce*/ u8 unk_01CE[41]; + /*01f7*/ u8 unk_01F7[10][41]; /*0394*/ struct ScrollIndicatorArrowPairTemplate unk_0394; /*03a4*/ u8 buffer_03A4[0x1000]; }; @@ -476,10 +478,19 @@ void sub_8146980(void); void sub_8146A30(void); void sub_8146B58(void); -extern const struct TextColor gUnknown_8468038[2]; -extern const struct WindowTemplate gUnknown_8468040[2]; +const struct TextColor gUnknown_8468038[] = { + {0, 2, 3}, + {0, 1, 2} +}; +const struct WindowTemplate gUnknown_8468040[] = { + {0, 1, 0, 28, 3, 15, 0x000}, + {2, 1, 3, 28, 20, 15, 0x000} +}; +const struct ScrollIndicatorArrowPairTemplate gUnknown_8468050 = { + 0x02, 0xe8, 0x18, 0x03, 0xe8, 0x98, + 0x0000, 0x0002, 0x1000, 0x1000, 0x0, 0x000 +}; extern const struct UnkStruct_8468720 gUnknown_8468720[8]; -extern const struct ScrollIndicatorArrowPairTemplate gUnknown_8468050; bool32 sub_8146288(const struct MEventBuffer_3120_Sub * a0) { @@ -702,3 +713,19 @@ u8 sub_8146884(u16 input) else return 3; } + +void sub_8146980(void) +{ + u8 i = 0; + memcpy(gUnknown_203F3CC->unk_01CE, gUnknown_203F3CC->unk_0000.unk_04, 40); + gUnknown_203F3CC->unk_01CE[40] = EOS; + for (i = 0; i < 10; ++i) + { + memcpy(gUnknown_203F3CC->unk_01F7[i], gUnknown_203F3CC->unk_0000.unk_2C[i], 40); + gUnknown_203F3CC->unk_01F7[i][40] = EOS; + if (i > 7 && gUnknown_203F3CC->unk_01F7[i][0] != EOS) + ++gUnknown_203F3CC->unk_01C4; + } + gUnknown_203F3CC->unk_0394 = gUnknown_8468050; + gUnknown_203F3CC->unk_0394.unk_08 = gUnknown_203F3CC->unk_01C4; +} From c500754d6bfbfc1ae0d67b89e725bcb0014de892 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 3 Dec 2018 10:40:38 -0500 Subject: [PATCH 206/222] Finish decomp and dism of mevent_8145654 --- asm/mevent_8145654.s | 251 ------------------------ data/data_8466FB8.s | 52 +---- data/graphics/mevent/gfx_4680C0.png | Bin 0 -> 169 bytes data/graphics/mevent/gfx_46821C.png | Bin 0 -> 103 bytes data/graphics/mevent/gfx_46830C.png | Bin 0 -> 146 bytes data/graphics/mevent/gfx_468448.png | Bin 0 -> 173 bytes data/graphics/mevent/gfx_4685B4.png | Bin 0 -> 173 bytes data/graphics/mevent/pal_468060.pal | 19 ++ data/graphics/mevent/pal_468080.pal | 19 ++ data/graphics/mevent/pal_4680A0.pal | 19 ++ data/graphics/mevent/tilemap_468140.bin | Bin 0 -> 1440 bytes data/graphics/mevent/tilemap_46824C.bin | Bin 0 -> 1440 bytes data/graphics/mevent/tilemap_46837C.bin | Bin 0 -> 1440 bytes data/graphics/mevent/tilemap_4684D8.bin | Bin 0 -> 1440 bytes data/graphics/mevent/tilemap_468644.bin | Bin 0 -> 1440 bytes ld_script.txt | 1 - src/mevent_8145654.c | 90 +++++++-- 17 files changed, 135 insertions(+), 316 deletions(-) delete mode 100644 asm/mevent_8145654.s create mode 100644 data/graphics/mevent/gfx_4680C0.png create mode 100644 data/graphics/mevent/gfx_46821C.png create mode 100644 data/graphics/mevent/gfx_46830C.png create mode 100644 data/graphics/mevent/gfx_468448.png create mode 100644 data/graphics/mevent/gfx_4685B4.png create mode 100644 data/graphics/mevent/pal_468060.pal create mode 100644 data/graphics/mevent/pal_468080.pal create mode 100644 data/graphics/mevent/pal_4680A0.pal create mode 100644 data/graphics/mevent/tilemap_468140.bin create mode 100644 data/graphics/mevent/tilemap_46824C.bin create mode 100644 data/graphics/mevent/tilemap_46837C.bin create mode 100644 data/graphics/mevent/tilemap_4684D8.bin create mode 100644 data/graphics/mevent/tilemap_468644.bin diff --git a/asm/mevent_8145654.s b/asm/mevent_8145654.s deleted file mode 100644 index 0d232dcc2..000000000 --- a/asm/mevent_8145654.s +++ /dev/null @@ -1,251 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8146A30 -sub_8146A30: @ 8146A30 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - movs r5, 0 - ldr r6, =gUnknown_203F3CC - ldr r0, [r6] - movs r7, 0xE4 - lsls r7, 1 - adds r0, r7 - ldrb r0, [r0] - bl PutWindowTilemap - ldr r0, [r6] - movs r4, 0xE5 - lsls r4, 1 - adds r0, r4 - ldrb r0, [r0] - bl PutWindowTilemap - ldr r0, [r6] - adds r0, r7 - ldrb r0, [r0] - movs r1, 0 - bl FillWindowPixelBuffer - ldr r0, [r6] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0 - bl FillWindowPixelBuffer - ldr r4, [r6] - movs r0, 0xE7 - lsls r0, 1 - mov r8, r0 - add r4, r8 - movs r0, 0x3 - movs r1, 0x2 - bl GetFontAttribute - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0x3 - adds r1, r4, 0 - bl GetStringWidth - movs r1, 0xE0 - subs r1, r0 - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - cmp r1, 0 - bge _08146AA0 - movs r1, 0 -_08146AA0: - ldr r4, [r6] - adds r0, r4, r7 - ldrb r0, [r0] - lsls r2, r1, 24 - lsrs r2, 24 - movs r3, 0xDE - lsls r3, 1 - adds r1, r4, r3 - ldr r1, [r1] - ldrb r1, [r1] - lsls r1, 28 - lsrs r1, 28 - lsls r3, r1, 1 - adds r3, r1 - ldr r1, =gUnknown_8468038 - adds r3, r1 - str r3, [sp] - str r5, [sp, 0x4] - add r4, r8 - str r4, [sp, 0x8] - movs r1, 0x3 - movs r3, 0x6 - bl box_print -_08146AD0: - ldr r6, =gUnknown_203F3CC - ldr r4, [r6] - movs r1, 0xE5 - lsls r1, 1 - adds r0, r4, r1 - ldrb r0, [r0] - lsls r3, r5, 4 - adds r3, 0x2 - lsls r3, 24 - lsrs r3, 24 - movs r2, 0xDE - lsls r2, 1 - adds r1, r4, r2 - ldr r1, [r1] - ldrb r1, [r1] - lsrs r1, 4 - lsls r2, r1, 1 - adds r2, r1 - ldr r1, =gUnknown_8468038 - adds r2, r1 - str r2, [sp] - movs r1, 0 - str r1, [sp, 0x4] - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r5 - ldr r2, =0x000001f7 - adds r1, r2 - adds r4, r1 - str r4, [sp, 0x8] - movs r1, 0x3 - movs r2, 0 - bl box_print - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x9 - bls _08146AD0 - ldr r0, [r6] - movs r3, 0xE4 - lsls r3, 1 - adds r0, r3 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, [r6] - movs r1, 0xE5 - lsls r1, 1 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146A30 - - thumb_func_start sub_8146B58 -sub_8146B58: @ 8146B58 - push {r4-r6,lr} - ldr r0, =gUnknown_203F3CC - ldr r1, [r0] - movs r2, 0xE1 - lsls r2, 1 - adds r0, r1, r2 - ldrb r0, [r0] - lsrs r4, r0, 1 - lsls r4, 8 - ldr r6, =0x000001c3 - adds r0, r1, r6 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08146B98 - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0x1 - bl ChangeBgY - movs r0, 0x3 - adds r1, r4, 0 - movs r2, 0x1 - bl ChangeBgY - b _08146BAC - .pool -_08146B98: - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0x2 - bl ChangeBgY - movs r0, 0x3 - adds r1, r4, 0 - movs r2, 0x2 - bl ChangeBgY -_08146BAC: - ldr r3, =gUnknown_203F3CC - ldr r0, [r3] - ldr r2, =0x000001c3 - adds r5, r0, r2 - ldrb r4, [r5] - lsrs r1, r4, 1 - movs r6, 0xE1 - lsls r6, 1 - adds r0, r6 - ldrb r0, [r0] - lsrs r0, 1 - adds r1, r0 - lsls r1, 1 - movs r6, 0x1 - adds r0, r6, 0 - ands r0, r4 - orrs r0, r1 - strb r0, [r5] - ldr r1, [r3] - adds r2, r1, r2 - ldrb r2, [r2] - lsrs r0, r2, 1 - cmp r0, 0xF - bls _08146C24 - adds r0, r6, 0 - ands r0, r2 - cmp r0, 0 - beq _08146BF8 - movs r0, 0xE3 - lsls r0, 1 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - b _08146C02 - .pool -_08146BF8: - movs r2, 0xE3 - lsls r2, 1 - adds r1, r2 - ldrh r0, [r1] - subs r0, 0x1 -_08146C02: - strh r0, [r1] - ldr r0, [r3] - movs r6, 0xE1 - lsls r6, 1 - adds r2, r0, r6 - ldrb r1, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldr r0, [r3] - ldr r1, =0x000001c3 - adds r2, r0, r1 - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - strb r0, [r2] -_08146C24: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146B58 - - .align 2, 0 @ Don't pad with nop. diff --git a/data/data_8466FB8.s b/data/data_8466FB8.s index 276658b7a..9436bc4fd 100644 --- a/data/data_8466FB8.s +++ b/data/data_8466FB8.s @@ -4,57 +4,9 @@ .section .rodata .align 2 -gUnknown_8468060:: - .incbin "baserom.gba", 0x468060, 0x20 - -gUnknown_8468080:: - .incbin "baserom.gba", 0x468080, 0x20 - -gUnknown_84680A0:: - .incbin "baserom.gba", 0x4680A0, 0x20 - -gUnknown_84680C0:: - .incbin "baserom.gba", 0x4680C0, 0x80 - -gUnknown_8468140:: - .incbin "baserom.gba", 0x468140, 0xdc - -gUnknown_846821C:: - .incbin "baserom.gba", 0x46821C, 0x30 - -gUnknown_846824C:: - .incbin "baserom.gba", 0x46824C, 0xc0 - -gUnknown_846830C:: - .incbin "baserom.gba", 0x46830C, 0x70 - -gUnknown_846837C:: - .incbin "baserom.gba", 0x46837C, 0xcc - -gUnknown_8468448:: - .incbin "baserom.gba", 0x468448, 0x90 - -gUnknown_84684D8:: - .incbin "baserom.gba", 0x4684D8, 0xdc - -gUnknown_84685B4:: - .incbin "baserom.gba", 0x4685B4, 0x90 - -gUnknown_8468644:: - .incbin "baserom.gba", 0x468644, 0xdc - -gUnknown_8468720:: @ 8468720 - .4byte 1, gUnknown_84680C0, gUnknown_8468140, gUnknown_8468060 - .4byte 1, gUnknown_846821C, gUnknown_846824C, gUnknown_84670AC - .4byte 1, gUnknown_846830C, gUnknown_846837C, gUnknown_84670CC - .4byte 1, gUnknown_846830C, gUnknown_846837C, gUnknown_84670EC - .4byte 1, gUnknown_846830C, gUnknown_846837C, gUnknown_846710C - .4byte 1, gUnknown_846830C, gUnknown_846837C, gUnknown_846712C - .4byte 1, gUnknown_8468448, gUnknown_84684D8, gUnknown_8468080 - .4byte 1, gUnknown_84685B4, gUnknown_8468644, gUnknown_84680A0 - gUnknown_84687A0:: - .incbin "baserom.gba", 0x4687a0, 0x40 + .string "You have collected all STAMPs!\n" + .string "Want to input a CARD as a prize?$" .include "data/mevent/script_ish.inc" .include "data/mevent/script_common.inc" diff --git a/data/graphics/mevent/gfx_4680C0.png b/data/graphics/mevent/gfx_4680C0.png new file mode 100644 index 0000000000000000000000000000000000000000..1a27f321311d1b05ce15cabadb03105bc4a562f4 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^96(&b0wfspw=qr!QU#tajv*Qor}kasJ)pqBI&<4H z?i-Oa4)Uh3x^39JWx+Bvww_w~=?;1}4<;U9%ky+jOw({lNvc>Q_i~-$@;e*9OwxM! z`OYHFu=d@vt^R#|wfk}P_GaGmujcOYW->f-A;3Mmd`^e8!=2`O*Gn7snA^z4cd`3M TtoNwf2y%m`tDnm{r-UW|%sxRt literal 0 HcmV?d00001 diff --git a/data/graphics/mevent/gfx_46821C.png b/data/graphics/mevent/gfx_46821C.png new file mode 100644 index 0000000000000000000000000000000000000000..aab27d16cc9859a77903a0ac9d2b591cb49b0ccf GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^96+qW0wfreEjSZ^l%A)HV+hC0mdKI;Vst07su1 ANB{r; literal 0 HcmV?d00001 diff --git a/data/graphics/mevent/gfx_46830C.png b/data/graphics/mevent/gfx_46830C.png new file mode 100644 index 0000000000000000000000000000000000000000..3c2b8e6d14767499a4b39235619946b47071e3fd GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^96%hw0wfqTq*xXLsYp*3#}J9B$v^m6cw7V)Iyh(v zs+?dr;@~9U!P3~_Ah3`_N#GTWW6UHDRfUEPJ&g>9iWr$XDt|<(DTuvnF`mQ0_(?Km sj<3TrOKE4HWBv`Yo-I}ejwuoh3{6{8PM(iD%?h&2)78&qol`;+0L$ShU;qFB literal 0 HcmV?d00001 diff --git a/data/graphics/mevent/gfx_468448.png b/data/graphics/mevent/gfx_468448.png new file mode 100644 index 0000000000000000000000000000000000000000..137dbe9f3c41ee24757da3a6b5f4efd774fcd350 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^96(&b0wfspw=qr!QYD@)jv*Qo*Pg$~+n~V1a$(&8 zt~CtO5B&O)b_Kg1i2TweC6N2!@b3zhCzqIVIcgJJ`8IU~q&*AI^51g2s(ho#jJ=YX z2I8e9k9~K2RQqODn^*g{`1nu$o!@tTOgrEH;vmZ+Bhg7h4na%>912oFeTj9lPw()( Wm3}<^gc^f0$Q_=pelF{r5}E+q%t40$ literal 0 HcmV?d00001 diff --git a/data/graphics/mevent/gfx_4685B4.png b/data/graphics/mevent/gfx_4685B4.png new file mode 100644 index 0000000000000000000000000000000000000000..137dbe9f3c41ee24757da3a6b5f4efd774fcd350 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^96(&b0wfspw=qr!QYD@)jv*Qo*Pg$~+n~V1a$(&8 zt~CtO5B&O)b_Kg1i2TweC6N2!@b3zhCzqIVIcgJJ`8IU~q&*AI^51g2s(ho#jJ=YX z2I8e9k9~K2RQqODn^*g{`1nu$o!@tTOgrEH;vmZ+Bhg7h4na%>912oFeTj9lPw()( Wm3}<^gc^f0$Q_=pelF{r5}E+q%t40$ literal 0 HcmV?d00001 diff --git a/data/graphics/mevent/pal_468060.pal b/data/graphics/mevent/pal_468060.pal new file mode 100644 index 000000000..970736bbb --- /dev/null +++ b/data/graphics/mevent/pal_468060.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +90 197 148 +213 213 213 +74 74 74 +98 106 106 +213 189 74 +238 213 82 +246 246 213 +255 255 255 +230 230 213 +238 238 213 +246 246 238 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 diff --git a/data/graphics/mevent/pal_468080.pal b/data/graphics/mevent/pal_468080.pal new file mode 100644 index 000000000..01832b5e2 --- /dev/null +++ b/data/graphics/mevent/pal_468080.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +189 123 148 +213 213 213 +74 74 74 +115 123 123 +164 156 90 +164 148 90 +197 197 90 +213 205 90 +222 213 90 +213 213 106 +238 246 98 +230 222 98 +213 205 98 +197 180 98 +238 230 98 +246 238 106 diff --git a/data/graphics/mevent/pal_4680A0.pal b/data/graphics/mevent/pal_4680A0.pal new file mode 100644 index 000000000..28a498b57 --- /dev/null +++ b/data/graphics/mevent/pal_4680A0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +189 123 148 +213 213 213 +74 74 74 +115 123 123 +156 156 156 +139 139 148 +180 180 197 +197 189 205 +205 205 222 +189 189 189 +197 230 222 +189 213 213 +180 197 197 +156 164 172 +222 222 230 +230 230 238 diff --git a/data/graphics/mevent/tilemap_468140.bin b/data/graphics/mevent/tilemap_468140.bin new file mode 100644 index 0000000000000000000000000000000000000000..f8185b28ee04fbb5286e6eaad0d7dcf4d74fd8b0 GIT binary patch literal 1440 zcmeH_OAf#w5JFM0{(Jx9w$Ter*gAPz2nl%s5lJ92kjQuhGRcC9CQw<}F)#%N``=x7 X1=jBRuH|?C*>0G7WijexZuIH{qGKWj literal 0 HcmV?d00001 diff --git a/data/graphics/mevent/tilemap_46824C.bin b/data/graphics/mevent/tilemap_46824C.bin new file mode 100644 index 0000000000000000000000000000000000000000..72c7ea2789543ee5ef884e9b00fa2606998e5f4e GIT binary patch literal 1440 xcmZQ%U?dwdF^~@#Imn013@l_qW|mRC#D?8ySP>giEDWPzH5yj9LV&Wg0RY=C3u^!X literal 0 HcmV?d00001 diff --git a/data/graphics/mevent/tilemap_46837C.bin b/data/graphics/mevent/tilemap_46837C.bin new file mode 100644 index 0000000000000000000000000000000000000000..c7b2e3e21bd7507ca80d9e899a1e807f49760f42 GIT binary patch literal 1440 zcmZQ%U}9h<12VBNvM@4mkqJS1S;&Jxds!LS7&ys*Y%Hv!dWj6T(Xb*ug^h;QXjtJ2 I0ZP*b0Gz!Sod5s; literal 0 HcmV?d00001 diff --git a/data/graphics/mevent/tilemap_4684D8.bin b/data/graphics/mevent/tilemap_4684D8.bin new file mode 100644 index 0000000000000000000000000000000000000000..f8185b28ee04fbb5286e6eaad0d7dcf4d74fd8b0 GIT binary patch literal 1440 zcmeH_OAf#w5JFM0{(Jx9w$Ter*gAPz2nl%s5lJ92kjQuhGRcC9CQw<}F)#%N``=x7 X1=jBRuH|?C*>0G7WijexZuIH{qGKWj literal 0 HcmV?d00001 diff --git a/data/graphics/mevent/tilemap_468644.bin b/data/graphics/mevent/tilemap_468644.bin new file mode 100644 index 0000000000000000000000000000000000000000..f8185b28ee04fbb5286e6eaad0d7dcf4d74fd8b0 GIT binary patch literal 1440 zcmeH_OAf#w5JFM0{(Jx9w$Ter*gAPz2nl%s5lJ92kjQuhGRcC9CQw<}F)#%N``=x7 X1=jBRuH|?C*>0G7WijexZuIH{qGKWj literal 0 HcmV?d00001 diff --git a/ld_script.txt b/ld_script.txt index 8d88929cf..9238e0e71 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -247,7 +247,6 @@ SECTIONS { src/mevent_server_helpers.o(.text); src/mevent_server.o(.text); src/mevent_8145654.o(.text); - asm/mevent_8145654.o(.text); src/menews_jisan.o(.text); asm/seagallop.o(.text); asm/unk_8147500.o(.text); diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c index 0be18ad8f..c39d76f25 100644 --- a/src/mevent_8145654.c +++ b/src/mevent_8145654.c @@ -443,18 +443,10 @@ void sub_81461D8(void) } } -struct UnkStruct_8468720 -{ - u8 unk0; - const void * unk4; - const void * unk8; - const void * unkC; -}; - struct UnkStruct_203F3CC { /*0000*/ struct MEventBuffer_3120_Sub unk_0000; - /*01bc*/ const struct UnkStruct_8468720 * unk_01BC; + /*01bc*/ const struct UnkStruct_8467FB8 * unk_01BC; /*01c0*/ u8 unk_01C0_0:1; u8 unk_01C0_1:7; /*01c1*/ u8 unk_01C1; @@ -490,7 +482,31 @@ const struct ScrollIndicatorArrowPairTemplate gUnknown_8468050 = { 0x02, 0xe8, 0x18, 0x03, 0xe8, 0x98, 0x0000, 0x0002, 0x1000, 0x1000, 0x0, 0x000 }; -extern const struct UnkStruct_8468720 gUnknown_8468720[8]; + +const u16 gUnknown_8468060[] = INCBIN_U16("data/graphics/mevent/pal_468060.gbapal"); +const u16 gUnknown_8468080[] = INCBIN_U16("data/graphics/mevent/pal_468080.gbapal"); +const u16 gUnknown_84680A0[] = INCBIN_U16("data/graphics/mevent/pal_4680A0.gbapal"); +const u8 gUnknown_84680C0[] = INCBIN_U8("data/graphics/mevent/gfx_4680C0.4bpp.lz"); +const u8 gUnknown_8468140[] = INCBIN_U8("data/graphics/mevent/tilemap_468140.bin.lz"); +const u8 gUnknown_846821C[] = INCBIN_U8("data/graphics/mevent/gfx_46821C.4bpp.lz"); +const u8 gUnknown_846824C[] = INCBIN_U8("data/graphics/mevent/tilemap_46824C.bin.lz"); +const u8 gUnknown_846830C[] = INCBIN_U8("data/graphics/mevent/gfx_46830C.4bpp.lz"); +const u8 gUnknown_846837C[] = INCBIN_U8("data/graphics/mevent/tilemap_46837C.bin.lz"); +const u8 gUnknown_8468448[] = INCBIN_U8("data/graphics/mevent/gfx_468448.4bpp.lz"); +const u8 gUnknown_84684D8[] = INCBIN_U8("data/graphics/mevent/tilemap_4684D8.bin.lz"); +const u8 gUnknown_84685B4[] = INCBIN_U8("data/graphics/mevent/gfx_4685B4.4bpp.lz"); +const u8 gUnknown_8468644[] = INCBIN_U8("data/graphics/mevent/tilemap_468644.bin.lz"); + +const struct UnkStruct_8467FB8 gUnknown_8468720[] = { + {1, 0, 0, 0, gUnknown_84680C0, gUnknown_8468140, gUnknown_8468060}, + {1, 0, 0, 0, gUnknown_846821C, gUnknown_846824C, gUnknown_84670AC}, + {1, 0, 0, 0, gUnknown_846830C, gUnknown_846837C, gUnknown_84670CC}, + {1, 0, 0, 0, gUnknown_846830C, gUnknown_846837C, gUnknown_84670EC}, + {1, 0, 0, 0, gUnknown_846830C, gUnknown_846837C, gUnknown_846710C}, + {1, 0, 0, 0, gUnknown_846830C, gUnknown_846837C, gUnknown_846712C}, + {1, 0, 0, 0, gUnknown_8468448, gUnknown_84684D8, gUnknown_8468080}, + {1, 0, 0, 0, gUnknown_84685B4, gUnknown_8468644, gUnknown_84680A0} +}; bool32 sub_8146288(const struct MEventBuffer_3120_Sub * a0) { @@ -549,7 +565,7 @@ s32 sub_8146318(void) CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(2); CopyBgTilemapBufferToVram(3); - decompress_and_copy_tile_data_to_vram(3, gUnknown_203F3CC->unk_01BC->unk4, 0, 8, 0); + decompress_and_copy_tile_data_to_vram(3, gUnknown_203F3CC->unk_01BC->tiles, 0, 8, 0); gUnknown_203F3CC->unk_01C8[0] = AddWindow(&gUnknown_8468040[0]); gUnknown_203F3CC->unk_01C8[1] = AddWindow(&gUnknown_8468040[1]); break; @@ -557,8 +573,8 @@ s32 sub_8146318(void) if (free_temp_tile_data_buffers_if_possible()) return 0; gPaletteFade.bufferTransferDisabled = TRUE; - LoadPalette(gUnknown_203F3CC->unk_01BC->unkC, 0x10, 0x20); - LZ77UnCompWram(gUnknown_203F3CC->unk_01BC->unk8, gUnknown_203F3CC->buffer_03A4); + LoadPalette(gUnknown_203F3CC->unk_01BC->pal, 0x10, 0x20); + LZ77UnCompWram(gUnknown_203F3CC->unk_01BC->map, gUnknown_203F3CC->buffer_03A4); CopyRectToBgTilemapBufferRect(1, gUnknown_203F3CC->buffer_03A4, 0, 0, 30, 3, 0, 0, 30, 3, 1, 8, 0); CopyRectToBgTilemapBufferRect(3, gUnknown_203F3CC->buffer_03A4, 0, 3, 30, 23, 0, 3, 30, 23, 1, 8, 0); CopyBgTilemapBufferToVram(1); @@ -719,7 +735,7 @@ void sub_8146980(void) u8 i = 0; memcpy(gUnknown_203F3CC->unk_01CE, gUnknown_203F3CC->unk_0000.unk_04, 40); gUnknown_203F3CC->unk_01CE[40] = EOS; - for (i = 0; i < 10; ++i) + for (; i < 10; ++i) { memcpy(gUnknown_203F3CC->unk_01F7[i], gUnknown_203F3CC->unk_0000.unk_2C[i], 40); gUnknown_203F3CC->unk_01F7[i][40] = EOS; @@ -729,3 +745,49 @@ void sub_8146980(void) gUnknown_203F3CC->unk_0394 = gUnknown_8468050; gUnknown_203F3CC->unk_0394.unk_08 = gUnknown_203F3CC->unk_01C4; } + +void sub_8146A30(void) +{ + u8 i = 0; + s32 x; + PutWindowTilemap(gUnknown_203F3CC->unk_01C8[0]); + PutWindowTilemap(gUnknown_203F3CC->unk_01C8[1]); + FillWindowPixelBuffer(gUnknown_203F3CC->unk_01C8[0], 0); + FillWindowPixelBuffer(gUnknown_203F3CC->unk_01C8[1], 0); + x = (0xe0 - GetStringWidth(3, gUnknown_203F3CC->unk_01CE, GetFontAttribute(3, 2))) / 2; + if (x < 0) + x = 0; + box_print(gUnknown_203F3CC->unk_01C8[0], 3, x, 6, &gUnknown_8468038[gUnknown_203F3CC->unk_01BC->textPal1], 0, gUnknown_203F3CC->unk_01CE); + for (; i < 10; ++i) + { + box_print(gUnknown_203F3CC->unk_01C8[1], 3, 0, 16 * i + 2, &gUnknown_8468038[gUnknown_203F3CC->unk_01BC->textPal2], 0, gUnknown_203F3CC->unk_01F7[i]); + } + CopyWindowToVram(gUnknown_203F3CC->unk_01C8[0], 3); + CopyWindowToVram(gUnknown_203F3CC->unk_01C8[1], 3); +} + +void sub_8146B58(void) +{ + u16 r4 = gUnknown_203F3CC->unk_01C2_1; + r4 <<= 8; + if (gUnknown_203F3CC->unk_01C3_0) + { + ChangeBgY(2, r4, 1); + ChangeBgY(3, r4, 1); + } + else + { + ChangeBgY(2, r4, 2); + ChangeBgY(3, r4, 2); + } + gUnknown_203F3CC->unk_01C3_1 += gUnknown_203F3CC->unk_01C2_1; + if (gUnknown_203F3CC->unk_01C3_1 > 15) + { + if (gUnknown_203F3CC->unk_01C3_0) + ++gUnknown_203F3CC->unk_01C6; + else + --gUnknown_203F3CC->unk_01C6; + gUnknown_203F3CC->unk_01C2_0 = FALSE; + gUnknown_203F3CC->unk_01C3_1 = 0; + } +} From 931f19d2ead516a5fb5a2a15784391ea02bdbbc3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 3 Dec 2018 20:21:35 -0500 Subject: [PATCH 207/222] Port mystery_event_script --- asm/battle_interface.s | 2 +- asm/battle_script_commands.s | 4 +- asm/battle_tower.s | 10 +- asm/berry.s | 6 +- asm/easy_chat.s | 14 +- asm/egg_hatch.s | 4 +- asm/event_data.s | 6 +- asm/evolution_scene.s | 12 +- asm/field_specials.s | 6 +- asm/mystery_event_script.s | 722 -------------------------- asm/pokedex.s | 20 +- asm/pokemon_3.s | 4 +- asm/prof_pc.s | 2 +- asm/scrcmd.s | 2 +- asm/script_pokemon_util_80A0058.s | 4 +- asm/trade.s | 2 +- data/data_83FECCC.s | 2 +- data/data_8471F00.s | 46 +- data/mystery_event_script_cmd_table.s | 3 +- include/battle_tower.h | 2 +- include/constants/vars.h | 10 +- include/easy_chat.h | 1 + include/global.berry.h | 1 + include/mail_data.h | 1 + include/mystery_event_msg.h | 18 + include/mystery_event_script.h | 2 +- include/strings.h | 2 + ld_script.txt | 2 +- src/mevent_server.c | 2 +- src/mystery_event_script.c | 322 ++++++++++++ sym_ewram.txt | 5 +- 31 files changed, 433 insertions(+), 806 deletions(-) delete mode 100644 asm/mystery_event_script.s create mode 100644 include/mystery_event_msg.h create mode 100644 src/mystery_event_script.c diff --git a/asm/battle_interface.s b/asm/battle_interface.s index 3a27c29ea..8e109b6d6 100644 --- a/asm/battle_interface.s +++ b/asm/battle_interface.s @@ -3770,7 +3770,7 @@ sub_804981C: @ 804981C lsls r0, 16 lsrs r0, 16 movs r1, 0x1 - bl sub_8088E74 + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _0804991C diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 1e99186bc..ed0e6cb50 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -31945,7 +31945,7 @@ _0802D5D8: lsls r0, 16 lsrs r0, 16 movs r1, 0x1 - bl sub_8088E74 + bl GetSetPokedexFlag lsls r0, 24 movs r4, 0xA cmp r0, 0 @@ -32356,7 +32356,7 @@ sub_802D95C: @ 802D95C lsls r0, 16 lsrs r0, 16 movs r1, 0x1 - bl sub_8088E74 + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _0802D9B4 diff --git a/asm/battle_tower.s b/asm/battle_tower.s index 10b07d2e0..f1cf4d3fa 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -143,7 +143,7 @@ sub_80E5A70: @ 80E5A70 add r4, sp, 0x28 movs r0, 0 strb r0, [r4] - bl sub_80E7490 + bl ValidateEReaderTrainer ldr r0, _080E5AA4 @ =gUnknown_20370D0 ldrh r0, [r0] adds r7, r4, 0 @@ -1506,7 +1506,7 @@ sub_80E64C0: @ 80E64C0 lsls r0, 16 lsrs r0, 16 movs r1, 0x1 - bl sub_8088E74 + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _080E6554 @@ -3497,8 +3497,8 @@ _080E7488: .4byte gSaveBlock2Ptr _080E748C: .4byte 0x000004a4 thumb_func_end sub_80E7460 - thumb_func_start sub_80E7490 -sub_80E7490: @ 80E7490 + thumb_func_start ValidateEReaderTrainer +ValidateEReaderTrainer: @ 80E7490 push {r4-r6,lr} ldr r2, _080E74C0 @ =gUnknown_20370D0 movs r0, 0 @@ -3556,7 +3556,7 @@ _080E74F6: bx r0 .align 2, 0 _080E74FC: .4byte gUnknown_20370D0 - thumb_func_end sub_80E7490 + thumb_func_end ValidateEReaderTrainer thumb_func_start sub_80E7500 sub_80E7500: @ 80E7500 diff --git a/asm/berry.s b/asm/berry.s index 8b9593a2a..5537e3590 100644 --- a/asm/berry.s +++ b/asm/berry.s @@ -89,8 +89,8 @@ _0809C7BC: .4byte 0x000030ec _0809C7C0: .4byte 0x0100001a thumb_func_end sub_809C794 - thumb_func_start sub_809C7C4 -sub_809C7C4: @ 809C7C4 + thumb_func_start SetEnigmaBerry +SetEnigmaBerry: @ 809C7C4 push {r4-r7,lr} adds r4, r0, 0 bl sub_809C794 @@ -144,7 +144,7 @@ _0809C828: .4byte 0x000030ec _0809C82C: .4byte 0x00003108 _0809C830: .4byte 0x00000516 _0809C834: .4byte 0x00000529 - thumb_func_end sub_809C7C4 + thumb_func_end SetEnigmaBerry thumb_func_start GetEnigmaBerryChecksum GetEnigmaBerryChecksum: @ 809C838 diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 1b4879bf3..b8e9f7162 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -622,8 +622,8 @@ _080BDB68: .4byte gSaveBlock1Ptr _080BDB6C: .4byte 0x00002f10 thumb_func_end sub_80BDB48 - thumb_func_start sub_80BDB70 -sub_80BDB70: @ 80BDB70 + thumb_func_start EnableRareWord +EnableRareWord: @ 80BDB70 push {lr} lsls r0, 24 lsrs r1, r0, 24 @@ -648,7 +648,7 @@ _080BDB94: .align 2, 0 _080BDB98: .4byte gSaveBlock1Ptr _080BDB9C: .4byte 0x00002f10 - thumb_func_end sub_80BDB70 + thumb_func_end EnableRareWord thumb_func_start sub_80BDBA0 sub_80BDBA0: @ 80BDBA0 @@ -687,7 +687,7 @@ sub_80BDBCC: @ 80BDBCC b _080BDC32 _080BDBDC: adds r0, r5, 0 - bl sub_80BDB70 + bl EnableRareWord ldr r0, _080BDBF4 @ =0x000001ff ands r4, r0 movs r1, 0xA0 @@ -841,7 +841,7 @@ _080BDCF6: lsls r0, 16 lsrs r0, 16 movs r1, 0 - bl sub_8088E74 + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _080BDD16 @@ -1769,7 +1769,7 @@ _080BE3BC: lsls r0, 16 lsrs r0, 16 movs r1, 0 - bl sub_8088E74 + bl GetSetPokedexFlag lsls r0, 24 lsrs r0, 24 b _080BE40C @@ -1783,7 +1783,7 @@ _080BE3D6: lsls r0, 16 lsrs r0, 16 movs r1, 0 - bl sub_8088E74 + bl GetSetPokedexFlag lsls r0, 24 lsrs r0, 24 b _080BE40C diff --git a/asm/egg_hatch.s b/asm/egg_hatch.s index 078dadb29..278cc855e 100644 --- a/asm/egg_hatch.s +++ b/asm/egg_hatch.s @@ -214,10 +214,10 @@ AddHatchedMonToParty: @ 8046D60 lsrs r4, 16 adds r0, r4, 0 movs r1, 0x2 - bl sub_8088E74 + bl GetSetPokedexFlag adds r0, r4, 0 movs r1, 0x3 - bl sub_8088E74 + bl GetSetPokedexFlag ldr r1, _08046E1C @ =gStringVar1 adds r0, r5, 0 bl GetMonNick diff --git a/asm/event_data.s b/asm/event_data.s index d620e3142..416c777eb 100644 --- a/asm/event_data.s +++ b/asm/event_data.s @@ -170,8 +170,8 @@ _0806E224: .4byte 0x0000404e _0806E228: .4byte gSaveBlock2Ptr thumb_func_end sub_806E204 - thumb_func_start sub_806E22C -sub_806E22C: @ 806E22C + thumb_func_start EnableNationalPokedex +EnableNationalPokedex: @ 806E22C push {lr} ldr r0, _0806E250 @ =0x0000404e bl GetVarPointer @@ -191,7 +191,7 @@ sub_806E22C: @ 806E22C _0806E250: .4byte 0x0000404e _0806E254: .4byte gSaveBlock2Ptr _0806E258: .4byte 0x00006258 - thumb_func_end sub_806E22C + thumb_func_end EnableNationalPokedex thumb_func_start sub_806E25C sub_806E25C: @ 806E25C diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s index 4aa868a77..f6f5a83e2 100644 --- a/asm/evolution_scene.s +++ b/asm/evolution_scene.s @@ -1252,13 +1252,13 @@ _080CE80C: lsls r0, 16 lsrs r0, 16 movs r1, 0x2 - bl sub_8088E74 + bl GetSetPokedexFlag ldrh r0, [r4, 0xC] bl SpeciesToNationalPokedexNum lsls r0, 16 lsrs r0, 16 movs r1, 0x3 - bl sub_8088E74 + bl GetSetPokedexFlag mov r0, r9 movs r1, 0xB bl GetMonData @@ -1829,13 +1829,13 @@ _080CED3A: lsls r0, 16 lsrs r0, 16 movs r1, 0x2 - bl sub_8088E74 + bl GetSetPokedexFlag ldrh r0, [r4, 0xC] bl SpeciesToNationalPokedexNum lsls r0, 16 lsrs r0, 16 movs r1, 0x3 - bl sub_8088E74 + bl GetSetPokedexFlag movs r0, 0xE bl IncrementGameStat b _080CF528 @@ -3136,13 +3136,13 @@ _080CF8A8: lsls r0, 16 lsrs r0, 16 movs r1, 0x2 - bl sub_8088E74 + bl GetSetPokedexFlag ldrh r0, [r4, 0xC] bl SpeciesToNationalPokedexNum lsls r0, 16 lsrs r0, 16 movs r1, 0x3 - bl sub_8088E74 + bl GetSetPokedexFlag movs r0, 0xE bl IncrementGameStat b _080D003A diff --git a/asm/field_specials.s b/asm/field_specials.s index c6df3442d..18b0401a4 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -1491,7 +1491,7 @@ _080CB128: lsls r0, 16 lsrs r0, 16 movs r1, 0 - bl sub_8088E74 + bl GetSetPokedexFlag lsls r0, 24 asrs r0, 24 cmp r0, 0x1 @@ -1521,7 +1521,7 @@ _080CB176: lsls r0, 16 lsrs r0, 16 movs r1, 0 - bl sub_8088E74 + bl GetSetPokedexFlag lsls r0, 24 asrs r0, 24 cmp r0, 0x1 @@ -3129,7 +3129,7 @@ sub_80CBDCC: @ 80CBDCC lsls r0, 16 lsrs r0, 16 movs r1, 0x2 - bl sub_8088E74 + bl GetSetPokedexFlag pop {r0} bx r0 .align 2, 0 diff --git a/asm/mystery_event_script.s b/asm/mystery_event_script.s deleted file mode 100644 index b150bb586..000000000 --- a/asm/mystery_event_script.s +++ /dev/null @@ -1,722 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80DA800 -sub_80DA800: @ 80DA800 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - lsls r2, 16 - lsrs r2, 16 - movs r4, 0x1 - ands r0, r4 - cmp r0, 0 - beq _080DA828 - ands r1, r4 - cmp r1, 0 - beq _080DA828 - ands r2, r4 - cmp r2, 0 - beq _080DA828 - ands r3, r4 - cmp r3, 0 - beq _080DA828 - movs r0, 0x1 - b _080DA82A -_080DA828: - movs r0, 0 -_080DA82A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80DA800 - - thumb_func_start SetIncompatible -SetIncompatible: @ 80DA830 - push {lr} - ldr r0, _080DA844 @ =gStringVar4 - ldr r1, _080DA848 @ =gUnknown_8488DFD - bl StringExpandPlaceholders - movs r0, 0x3 - bl sub_80DA8E8 - pop {r0} - bx r0 - .align 2, 0 -_080DA844: .4byte gStringVar4 -_080DA848: .4byte gUnknown_8488DFD - thumb_func_end SetIncompatible - - thumb_func_start InitMysteryEventScript -InitMysteryEventScript: @ 80DA84C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _080DA874 @ =gUnknown_81DBCF0 - ldr r2, _080DA878 @ =0x081dbd34 - bl InitScriptContext - adds r0, r4, 0 - adds r1, r5, 0 - bl SetupBytecodeScript - str r5, [r4, 0x64] - movs r0, 0 - str r0, [r4, 0x68] - str r0, [r4, 0x6C] - str r0, [r4, 0x70] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DA874: .4byte gUnknown_81DBCF0 -_080DA878: .4byte 0x081dbd34 - thumb_func_end InitMysteryEventScript - - thumb_func_start RunMysteryEventScriptCommand -RunMysteryEventScriptCommand: @ 80DA87C - push {r4,lr} - adds r4, r0, 0 - bl RunScriptCommand - lsls r0, 24 - cmp r0, 0 - beq _080DA894 - ldr r0, [r4, 0x70] - cmp r0, 0 - beq _080DA894 - movs r0, 0x1 - b _080DA896 -_080DA894: - movs r0, 0 -_080DA896: - pop {r4} - pop {r1} - bx r1 - thumb_func_end RunMysteryEventScriptCommand - - thumb_func_start sub_80DA89C -sub_80DA89C: @ 80DA89C - push {lr} - adds r1, r0, 0 - ldr r0, _080DA8AC @ =gUnknown_203AA3C - bl InitMysteryEventScript - pop {r0} - bx r0 - .align 2, 0 -_080DA8AC: .4byte gUnknown_203AA3C - thumb_func_end sub_80DA89C - - thumb_func_start sub_80DA8B0 -sub_80DA8B0: @ 80DA8B0 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080DA8C8 @ =gUnknown_203AA3C - adds r0, r4, 0 - bl RunMysteryEventScriptCommand - ldr r1, [r4, 0x6C] - str r1, [r5] - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080DA8C8: .4byte gUnknown_203AA3C - thumb_func_end sub_80DA8B0 - - thumb_func_start sub_80DA8CC -sub_80DA8CC: @ 80DA8CC - push {lr} - sub sp, 0x4 - bl sub_80DA89C -_080DA8D4: - mov r0, sp - bl sub_80DA8B0 - cmp r0, 0 - bne _080DA8D4 - ldr r0, [sp] - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_80DA8CC - - thumb_func_start sub_80DA8E8 -sub_80DA8E8: @ 80DA8E8 - ldr r1, _080DA8F0 @ =gUnknown_203AA3C - str r0, [r1, 0x6C] - bx lr - .align 2, 0 -_080DA8F0: .4byte gUnknown_203AA3C - thumb_func_end sub_80DA8E8 - - thumb_func_start script_status_stop_and_ret_1 -script_status_stop_and_ret_1: @ 80DA8F4 - push {lr} - bl StopScript - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end script_status_stop_and_ret_1 - - thumb_func_start MEScrCmd_checkcompat -MEScrCmd_checkcompat: @ 80DA900 - push {r4-r7,lr} - adds r7, r0, 0 - bl ScriptReadWord - str r0, [r7, 0x68] - adds r0, r7, 0 - bl ScriptReadHalfword - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r7, 0 - bl ScriptReadWord - adds r6, r0, 0 - adds r0, r7, 0 - bl ScriptReadHalfword - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r7, 0 - bl ScriptReadWord - adds r3, r0, 0 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80DA800 - cmp r0, 0x1 - bne _080DA944 - str r0, [r7, 0x70] - b _080DA948 -_080DA944: - bl SetIncompatible -_080DA948: - movs r0, 0x1 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end MEScrCmd_checkcompat - - thumb_func_start sub_80DA950 -sub_80DA950: @ 80DA950 - movs r0, 0 - bx lr - thumb_func_end sub_80DA950 - - thumb_func_start MEScrCmd_setstatus -MEScrCmd_setstatus: @ 80DA954 - ldr r1, [r0, 0x8] - ldrb r2, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - str r2, [r0, 0x6C] - movs r0, 0 - bx lr - thumb_func_end MEScrCmd_setstatus - - thumb_func_start MEScrCmd_setmsg -MEScrCmd_setmsg: @ 80DA964 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x8] - ldrb r5, [r0] - adds r0, 0x1 - str r0, [r4, 0x8] - adds r0, r4, 0 - bl ScriptReadWord - ldr r1, [r4, 0x68] - subs r0, r1 - ldr r1, [r4, 0x64] - adds r1, r0, r1 - cmp r5, 0xFF - beq _080DA988 - ldr r0, [r4, 0x6C] - cmp r5, r0 - bne _080DA98E -_080DA988: - ldr r0, _080DA998 @ =gStringVar4 - bl StringExpandPlaceholders -_080DA98E: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080DA998: .4byte gStringVar4 - thumb_func_end MEScrCmd_setmsg - - thumb_func_start MEScrCmd_runscript -MEScrCmd_runscript: @ 80DA99C - push {r4,lr} - adds r4, r0, 0 - bl ScriptReadWord - ldr r1, [r4, 0x68] - subs r0, r1 - ldr r1, [r4, 0x64] - adds r0, r1 - bl ScriptContext2_RunNewScript - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end MEScrCmd_runscript - - thumb_func_start MEScrCmd_setenigmaberry -MEScrCmd_setenigmaberry: @ 80DA9B8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r0, 0 - bl IsEnigmaBerryValid - mov r8, r0 - adds r0, r7, 0 - bl ScriptReadWord - adds r4, r0, 0 - ldr r0, [r7, 0x68] - subs r4, r0 - ldr r0, [r7, 0x64] - adds r4, r0 - ldr r0, _080DAA0C @ =gStringVar1 - mov r9, r0 - ldr r6, _080DAA10 @ =gSaveBlock1Ptr - ldr r1, [r6] - ldr r5, _080DAA14 @ =0x000030ec - adds r1, r5 - movs r2, 0x7 - bl StringCopyN - adds r0, r4, 0 - bl sub_809C7C4 - ldr r4, _080DAA18 @ =gStringVar2 - ldr r1, [r6] - adds r1, r5 - adds r0, r4, 0 - movs r2, 0x7 - bl StringCopyN - mov r0, r8 - cmp r0, 0 - bne _080DAA24 - ldr r0, _080DAA1C @ =gStringVar4 - ldr r1, _080DAA20 @ =gUnknown_8488C70 - b _080DAA44 - .align 2, 0 -_080DAA0C: .4byte gStringVar1 -_080DAA10: .4byte gSaveBlock1Ptr -_080DAA14: .4byte 0x000030ec -_080DAA18: .4byte gStringVar2 -_080DAA1C: .4byte gStringVar4 -_080DAA20: .4byte gUnknown_8488C70 -_080DAA24: - mov r0, r9 - adds r1, r4, 0 - bl StringCompare - cmp r0, 0 - beq _080DAA40 - ldr r0, _080DAA38 @ =gStringVar4 - ldr r1, _080DAA3C @ =gUnknown_8488CA2 - b _080DAA44 - .align 2, 0 -_080DAA38: .4byte gStringVar4 -_080DAA3C: .4byte gUnknown_8488CA2 -_080DAA40: - ldr r0, _080DAA60 @ =gStringVar4 - ldr r1, _080DAA64 @ =gUnknown_8488CCE -_080DAA44: - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [r7, 0x6C] - bl IsEnigmaBerryValid - cmp r0, 0x1 - bne _080DAA6C - ldr r0, _080DAA68 @ =0x00004033 - movs r1, 0x1 - bl VarSet - b _080DAA70 - .align 2, 0 -_080DAA60: .4byte gStringVar4 -_080DAA64: .4byte gUnknown_8488CCE -_080DAA68: .4byte 0x00004033 -_080DAA6C: - movs r0, 0x1 - str r0, [r7, 0x6C] -_080DAA70: - movs r0, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end MEScrCmd_setenigmaberry - - thumb_func_start MEScrCmd_giveribbon -MEScrCmd_giveribbon: @ 80DAA80 - push {r4,lr} - adds r4, r0, 0 - ldr r2, [r4, 0x8] - ldrb r0, [r2] - adds r2, 0x1 - str r2, [r4, 0x8] - ldrb r1, [r2] - adds r2, 0x1 - str r2, [r4, 0x8] - bl GiveGiftRibbonToParty - ldr r0, _080DAAAC @ =gStringVar4 - ldr r1, _080DAAB0 @ =gUnknown_8488CF6 - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [r4, 0x6C] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DAAAC: .4byte gStringVar4 -_080DAAB0: .4byte gUnknown_8488CF6 - thumb_func_end MEScrCmd_giveribbon - - thumb_func_start MEScrCmd_initramscript -MEScrCmd_initramscript: @ 80DAAB4 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - adds r4, r0, 0 - ldr r0, [r4, 0x8] - ldrb r1, [r0] - mov r9, r1 - adds r0, 0x1 - str r0, [r4, 0x8] - ldrb r1, [r0] - mov r8, r1 - adds r1, r0, 0x1 - str r1, [r4, 0x8] - ldrb r6, [r0, 0x1] - adds r1, 0x1 - str r1, [r4, 0x8] - adds r0, r4, 0 - bl ScriptReadWord - adds r5, r0, 0 - ldr r0, [r4, 0x68] - subs r5, r0 - ldr r0, [r4, 0x64] - adds r5, r0 - adds r0, r4, 0 - bl ScriptReadWord - adds r1, r0, 0 - ldr r0, [r4, 0x68] - subs r1, r0 - ldr r0, [r4, 0x64] - adds r1, r0 - subs r1, r5 - lsls r1, 16 - lsrs r1, 16 - str r6, [sp] - adds r0, r5, 0 - mov r2, r9 - mov r3, r8 - bl InitRamScript - movs r0, 0 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end MEScrCmd_initramscript - - thumb_func_start sub_80DAB1C -sub_80DAB1C: @ 80DAB1C - push {r4,lr} - adds r4, r0, 0 - bl sub_806E22C - ldr r0, _080DAB38 @ =gStringVar4 - ldr r1, _080DAB3C @ =gUnknown_8488D2A - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [r4, 0x6C] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DAB38: .4byte gStringVar4 -_080DAB3C: .4byte gUnknown_8488D2A - thumb_func_end sub_80DAB1C - - thumb_func_start MEScrCmd_addrareword -MEScrCmd_addrareword: @ 80DAB40 - push {r4,lr} - adds r4, r0, 0 - ldr r1, [r4, 0x8] - ldrb r0, [r1] - adds r1, 0x1 - str r1, [r4, 0x8] - bl sub_80BDB70 - ldr r0, _080DAB64 @ =gStringVar4 - ldr r1, _080DAB68 @ =gUnknown_8488D60 - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [r4, 0x6C] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DAB64: .4byte gStringVar4 -_080DAB68: .4byte gUnknown_8488D60 - thumb_func_end MEScrCmd_addrareword - - thumb_func_start sub_80DAB6C -sub_80DAB6C: @ 80DAB6C - push {r4,lr} - adds r4, r0, 0 - bl SetIncompatible - movs r0, 0 - str r0, [r4, 0x70] - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80DAB6C - - thumb_func_start sub_80DAB80 -sub_80DAB80: @ 80DAB80 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x88 - adds r6, r0, 0 - bl ScriptReadWord - ldr r1, [r6, 0x68] - subs r0, r1 - ldr r1, [r6, 0x64] - adds r5, r0, r1 - movs r0, 0x64 - adds r0, r5 - mov r8, r0 - add r4, sp, 0x24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x64 - bl memcpy - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - bne _080DABD0 - ldr r0, _080DABC8 @ =gStringVar1 - ldr r1, _080DABCC @ =gText_EggNickname - movs r2, 0xB - bl StringCopyN - b _080DABDA - .align 2, 0 -_080DABC8: .4byte gStringVar1 -_080DABCC: .4byte gText_EggNickname -_080DABD0: - ldr r0, _080DABF0 @ =gStringVar1 - ldr r1, _080DABF4 @ =gUnknown_8415A66 - movs r2, 0xB - bl StringCopyN -_080DABDA: - ldr r0, _080DABF8 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r0, 0x6 - bne _080DAC04 - ldr r0, _080DABFC @ =gStringVar4 - ldr r1, _080DAC00 @ =gUnknown_8488D8E - bl StringExpandPlaceholders - movs r0, 0x3 - b _080DAC6E - .align 2, 0 -_080DABF0: .4byte gStringVar1 -_080DABF4: .4byte gUnknown_8415A66 -_080DABF8: .4byte gPlayerPartyCount -_080DABFC: .4byte gStringVar4 -_080DAC00: .4byte gUnknown_8488D8E -_080DAC04: - ldr r7, _080DAC80 @ =gUnknown_2024478 - adds r0, r7, 0 - adds r1, r5, 0 - movs r2, 0x64 - bl memcpy - mov r0, sp - mov r1, r8 - movs r2, 0x24 - bl memcpy - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - beq _080DAC3E - adds r0, r4, 0 - bl SpeciesToNationalPokedexNum - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - movs r1, 0x2 - bl sub_8088E74 - adds r0, r4, 0 - movs r1, 0x3 - bl sub_8088E74 -_080DAC3E: - adds r0, r7, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl itemid_is_mail - lsls r0, 24 - cmp r0, 0 - beq _080DAC5C - adds r0, r7, 0 - mov r1, sp - bl GiveMailToMon2 -_080DAC5C: - bl CompactPartySlots - bl CalculatePlayerPartyCount - ldr r0, _080DAC84 @ =gStringVar4 - ldr r1, _080DAC88 @ =gUnknown_8488D7C - bl StringExpandPlaceholders - movs r0, 0x2 -_080DAC6E: - str r0, [r6, 0x6C] - movs r0, 0 - add sp, 0x88 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080DAC80: .4byte gUnknown_2024478 -_080DAC84: .4byte gStringVar4 -_080DAC88: .4byte gUnknown_8488D7C - thumb_func_end sub_80DAB80 - - thumb_func_start sub_80DAC8C -sub_80DAC8C: @ 80DAC8C - push {r4,lr} - adds r4, r0, 0 - bl ScriptReadWord - adds r1, r0, 0 - ldr r0, [r4, 0x68] - subs r1, r0 - ldr r0, [r4, 0x64] - adds r1, r0 - ldr r0, _080DACC8 @ =gSaveBlock2Ptr - ldr r0, [r0] - movs r2, 0x94 - lsls r2, 3 - adds r0, r2 - movs r2, 0xBC - bl memcpy - bl sub_80E7490 - ldr r0, _080DACCC @ =gStringVar4 - ldr r1, _080DACD0 @ =gUnknown_8488DBD - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [r4, 0x6C] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DACC8: .4byte gSaveBlock2Ptr -_080DACCC: .4byte gStringVar4 -_080DACD0: .4byte gUnknown_8488DBD - thumb_func_end sub_80DAC8C - - thumb_func_start sub_80DACD4 -sub_80DACD4: @ 80DACD4 - push {r4,lr} - adds r4, r0, 0 - bl SetIncompatible - movs r0, 0 - str r0, [r4, 0x70] - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80DACD4 - - thumb_func_start MEScrCmd_checksum -MEScrCmd_checksum: @ 80DACE8 - push {r4-r6,lr} - adds r6, r0, 0 - bl ScriptReadWord - adds r5, r0, 0 - adds r0, r6, 0 - bl ScriptReadWord - adds r4, r0, 0 - ldr r0, [r6, 0x68] - subs r4, r0 - ldr r0, [r6, 0x64] - adds r4, r0 - adds r0, r6, 0 - bl ScriptReadWord - adds r1, r0, 0 - ldr r0, [r6, 0x68] - subs r1, r0 - ldr r0, [r6, 0x64] - adds r1, r0 - subs r1, r4 - adds r0, r4, 0 - bl CalcByteArraySum - cmp r5, r0 - beq _080DAD26 - movs r0, 0 - str r0, [r6, 0x70] - movs r0, 0x1 - str r0, [r6, 0x6C] -_080DAD26: - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end MEScrCmd_checksum - - thumb_func_start MEScrCmd_crc -MEScrCmd_crc: @ 80DAD30 - push {r4-r6,lr} - adds r6, r0, 0 - bl ScriptReadWord - adds r5, r0, 0 - adds r0, r6, 0 - bl ScriptReadWord - adds r4, r0, 0 - ldr r0, [r6, 0x68] - subs r4, r0 - ldr r0, [r6, 0x64] - adds r4, r0 - adds r0, r6, 0 - bl ScriptReadWord - adds r1, r0, 0 - ldr r0, [r6, 0x68] - subs r1, r0 - ldr r0, [r6, 0x64] - adds r1, r0 - subs r1, r4 - adds r0, r4, 0 - bl CalcCRC16 - lsls r0, 16 - lsrs r0, 16 - cmp r5, r0 - beq _080DAD72 - movs r0, 0 - str r0, [r6, 0x70] - movs r0, 0x1 - str r0, [r6, 0x6C] -_080DAD72: - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end MEScrCmd_crc - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokedex.s b/asm/pokedex.s index 6ec2ca7be..279270fbb 100644 --- a/asm/pokedex.s +++ b/asm/pokedex.s @@ -57,8 +57,8 @@ _08088E6C: _08088E70: .4byte gUnknown_844E850 thumb_func_end sub_8088E38 - thumb_func_start sub_8088E74 -sub_8088E74: @ 8088E74 + thumb_func_start GetSetPokedexFlag +GetSetPokedexFlag: @ 8088E74 push {lr} lsls r0, 16 lsrs r0, 16 @@ -70,7 +70,7 @@ sub_8088E74: @ 8088E74 asrs r0, 24 pop {r1} bx r1 - thumb_func_end sub_8088E74 + thumb_func_end GetSetPokedexFlag thumb_func_start pokedex_count pokedex_count: @ 8088E8C @@ -101,7 +101,7 @@ _08088EB2: lsrs r0, 16 movs r1, 0x1 _08088EBA: - bl sub_8088E74 + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _08088ECA @@ -145,7 +145,7 @@ _08088EFC: lsrs r0, 16 movs r1, 0x1 _08088F04: - bl sub_8088E74 + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _08088F14 @@ -176,7 +176,7 @@ _08088F28: lsls r0, 16 lsrs r0, 16 movs r1, 0x1 - bl sub_8088E74 + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 bne _08088F48 @@ -203,7 +203,7 @@ _08088F5C: lsrs r4, r0, 16 adds r0, r4, 0 movs r1, 0x1 - bl sub_8088E74 + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 bne _08088F74 @@ -230,7 +230,7 @@ _08088F88: lsrs r4, r0, 16 adds r0, r4, 0 movs r1, 0x1 - bl sub_8088E74 + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _08088FD6 @@ -244,7 +244,7 @@ _08088FA4: lsrs r4, r0, 16 adds r0, r4, 0 movs r1, 0x1 - bl sub_8088E74 + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _08088FD6 @@ -259,7 +259,7 @@ _08088FC2: lsrs r4, r0, 16 adds r0, r4, 0 movs r1, 0x1 - bl sub_8088E74 + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 bne _08088FE0 diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s index fab76b56f..c717ac119 100644 --- a/asm/pokemon_3.s +++ b/asm/pokemon_3.s @@ -482,13 +482,13 @@ sub_8044898: @ 8044898 orrs r1, r0 lsrs r1, 31 adds r0, r4, 0 - bl sub_8088E74 + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 bne _080448EE adds r0, r4, 0 adds r1, r5, 0 - bl sub_8088E74 + bl GetSetPokedexFlag adds r0, r4, 0 bl NationalPokedexNumToSpecies lsls r0, 16 diff --git a/asm/prof_pc.s b/asm/prof_pc.s index ae8c68ded..2a449ff76 100644 --- a/asm/prof_pc.s +++ b/asm/prof_pc.s @@ -155,7 +155,7 @@ _080CA4D8: lsls r0, 16 lsrs r0, 16 movs r1, 0x1 - bl sub_8088E74 + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _080CA500 diff --git a/asm/scrcmd.s b/asm/scrcmd.s index b4f3678de..9bb17887a 100644 --- a/asm/scrcmd.s +++ b/asm/scrcmd.s @@ -525,7 +525,7 @@ ScrCmd_setmysteryeventstatus: @ 806A274 adds r1, 0x1 str r1, [r0, 0x8] adds r0, r2, 0 - bl sub_80DA8E8 + bl SetMysteryEventScriptStatus movs r0, 0 pop {r1} bx r1 diff --git a/asm/script_pokemon_util_80A0058.s b/asm/script_pokemon_util_80A0058.s index 18c2d7ecb..4dd5da652 100644 --- a/asm/script_pokemon_util_80A0058.s +++ b/asm/script_pokemon_util_80A0058.s @@ -154,10 +154,10 @@ ScriptGiveMon: @ 80A011C blt _080A0196 adds r0, r5, 0 movs r1, 0x2 - bl sub_8088E74 + bl GetSetPokedexFlag adds r0, r5, 0 movs r1, 0x3 - bl sub_8088E74 + bl GetSetPokedexFlag _080A0196: adds r0, r7, 0 bl Free diff --git a/asm/trade.s b/asm/trade.s index 5df1c0534..8ae34f179 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -8131,7 +8131,7 @@ sub_80507A0: @ 80507A0 lsrs r4, 16 adds r0, r4, 0 movs r1, 0x2 - bl sub_8088E74 + bl GetSetPokedexFlag adds r0, r4, 0 movs r1, 0x3 adds r2, r5, 0 diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index c89f5f308..9c39a96d2 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -556,7 +556,7 @@ gExpandedPlaceholder_Green:: @ 8415A5C gText_EggNickname:: @ 8415A62 .incbin "baserom.gba", 0x415A62, 0x4 -gUnknown_8415A66:: @ 8415A66 +gText_Pokemon:: @ 8415A66 .incbin "baserom.gba", 0x415A66, 0x8 gUnknown_8415A6E:: @ 8415A6E diff --git a/data/data_8471F00.s b/data/data_8471F00.s index b9767d933..93d5ea372 100644 --- a/data/data_8471F00.s +++ b/data/data_8471F00.s @@ -337,32 +337,38 @@ gUnknown_84827B4:: @ 84827B4 gUnknown_84886E8:: @ 84886E8 .incbin "baserom.gba", 0x4886E8, 0x588 -gUnknown_8488C70:: @ 8488C70 - .incbin "baserom.gba", 0x488C70, 0x32 +gText_MysteryGiftBerry:: @ 8488C70 + .string "Obtained a {STR_VAR_2} BERRY!\nDad has it at PETALBURG GYM.$" -gUnknown_8488CA2:: @ 8488CA2 - .incbin "baserom.gba", 0x488CA2, 0x2C +gText_MysteryGiftBerryTransform:: @ 8488CA2 + .string "The {STR_VAR_1} BERRY transformed into\none {STR_VAR_2} BERRY.$" -gUnknown_8488CCE:: @ 8488CCE - .incbin "baserom.gba", 0x488CCE, 0x28 +gText_MysteryGiftBerryObtained:: @ 8488CCE + .string "The {STR_VAR_1} BERRY has already been\nobtained.$" -gUnknown_8488CF6:: @ 8488CF6 - .incbin "baserom.gba", 0x488CF6, 0x34 +gText_MysteryGiftSpecialRibbon:: @ 8488CF6 + .string "A special RIBBON was awarded to\nyour party POKéMON.$" -gUnknown_8488D2A:: @ 8488D2A - .incbin "baserom.gba", 0x488D2A, 0x36 +gText_MysteryGiftNationalDex:: @ 8488D2A + .string "The POKéDEX has been upgraded\nwith the NATIONAL MODE.$" -gUnknown_8488D60:: @ 8488D60 - .incbin "baserom.gba", 0x488D60, 0x1C +gText_MysteryGiftRareWord:: @ 8488D60 + .string "A rare word has been added.$" -gUnknown_8488D7C:: @ 8488D7C - .incbin "baserom.gba", 0x488D7C, 0x12 +gText_MysteryGiftSentOver:: @ 8488D7C + .string "{STR_VAR_1} was sent over!$" -gUnknown_8488D8E:: @ 8488D8E - .incbin "baserom.gba", 0x488D8E, 0x2F +gText_MysteryGiftFullParty:: @ 8488D8E + .string "Your party is full.\n{STR_VAR_1} could not be sent over.$" -gUnknown_8488DBD:: @ 8488DBD - .incbin "baserom.gba", 0x488DBD, 0x40 +gText_MysteryGiftNewTrainer:: @ 8488DBD + .string "A new TRAINER has arrived in\nHOENN.$" -gUnknown_8488DFD:: @ 8488DFD - .incbin "baserom.gba", 0x488DFD, 0xB6B +gUnknown_8488DE1:: + .incbin "baserom.gba", 0x488DE1, 0x1C + +gText_MysteryGiftCantBeUsed:: @ 8488DFD + .string "This data can’t be used in\nthis version.$" + +gUnknown_8488E26:: + .incbin "baserom.gba", 0x488E26, 0xB42 diff --git a/data/mystery_event_script_cmd_table.s b/data/mystery_event_script_cmd_table.s index 76b7ab5a5..4b85804a1 100644 --- a/data/mystery_event_script_cmd_table.s +++ b/data/mystery_event_script_cmd_table.s @@ -1,4 +1,5 @@ .section script_data, "aw", %progbits -gUnknown_81DBCF0:: @ 81DBCF0 +gMysteryEventScriptCmdTable:: @ 81DBCF0 .incbin "baserom.gba", 0x1DBCF0, 0x44 +gMysteryEventScriptCmdTableEnd:: @ 81DBD34 diff --git a/include/battle_tower.h b/include/battle_tower.h index 0782725b6..ec00d1f96 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -5,6 +5,6 @@ u16 sub_8164FCC(u8, u8); void sub_80E7524(u32 *); -void sub_80E7490(void); +void ValidateEReaderTrainer(void); #endif //GUARD_BATTLE_TOWER_H diff --git a/include/constants/vars.h b/include/constants/vars.h index 6dc8d0ccd..c9340a3b4 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -51,12 +51,12 @@ #define VAR_0x402D 0x402D #define VAR_0x402E 0x402E -#define VAR_FRONTIER_MANIAC_FACILITY 0x402F +#define VAR_0x402F 0x402F -#define VAR_FRONTIER_GAMBLER_FACILITY 0x4030 -#define VAR_FRONTIER_GAMBLER_SET_FACILITY_F 0x4031 -#define VAR_FRONTIER_GAMBLER_AMOUNT_BET 0x4032 -#define VAR_FRONTIER_GAMBLER_PLACED_BET_F 0x4033 +#define VAR_0x4030 0x4030 +#define VAR_0x4031 0x4031 +#define VAR_0x4032 0x4032 +#define VAR_ENIGMA_BERRY_AVAILABLE 0x4033 #define VAR_0x4034 0x4034 #define VAR_0x4035 0x4035 diff --git a/include/easy_chat.h b/include/easy_chat.h index 78e371cbb..bd5c9a026 100644 --- a/include/easy_chat.h +++ b/include/easy_chat.h @@ -38,5 +38,6 @@ void InitializeEasyChatWordArray(u16 *words, u16 length); void ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 length1, u16 length2); bool8 ECWord_CheckIfOutsideOfValidRange(u16 word); void sub_80BDE28(void); +void EnableRareWord(u8); #endif // GUARD_EASYCHAT_H diff --git a/include/global.berry.h b/include/global.berry.h index 5c8a43a02..148bbc957 100644 --- a/include/global.berry.h +++ b/include/global.berry.h @@ -1,6 +1,7 @@ #ifndef GUARD_GLOBAL_BERRY_H #define GUARD_GLOBAL_BERRY_H +#define BERRY_NAME_LENGTH 6 #define BERRY_NAME_COUNT 7 #define BERRY_ITEM_EFFECT_COUNT 18 diff --git a/include/mail_data.h b/include/mail_data.h index bbe695203..0275d8dc6 100644 --- a/include/mail_data.h +++ b/include/mail_data.h @@ -10,5 +10,6 @@ // Exported ROM declarations u16 sub_80D45E8(u16, u16 *); +bool8 itemid_is_mail(u16 itemId); #endif //GUARD_MAIL_DATA_H diff --git a/include/mystery_event_msg.h b/include/mystery_event_msg.h new file mode 100644 index 000000000..e96c3069b --- /dev/null +++ b/include/mystery_event_msg.h @@ -0,0 +1,18 @@ +#ifndef GUARD_MYSTERY_EVENT_MSG_H +#define GUARD_MYSTERY_EVENT_MSG_H + +#include + +extern const u8 gText_MysteryGiftBerry[]; +extern const u8 gText_MysteryGiftBerryTransform[]; +extern const u8 gText_MysteryGiftBerryObtained[]; +extern const u8 gText_MysteryGiftSpecialRibbon[]; +extern const u8 gText_MysteryGiftNationalDex[]; +extern const u8 gText_MysteryGiftRareWord[]; +extern const u8 gText_MysteryGiftSentOver[]; +extern const u8 gText_MysteryGiftFullParty[]; +extern const u8 gText_MysteryGiftNewTrainer[]; +extern const u8 gText_MysteryGiftNewAdversaryInBattleTower[]; +extern const u8 gText_MysteryGiftCantBeUsed[]; + +#endif // GUARD_MYSTERY_EVENT_MSG_H diff --git a/include/mystery_event_script.h b/include/mystery_event_script.h index 8f90ccf53..be64663ed 100644 --- a/include/mystery_event_script.h +++ b/include/mystery_event_script.h @@ -7,7 +7,7 @@ u32 RunMysteryEventScript(u8 *); void SetMysteryEventScriptStatus(u32 val); u16 GetRecordMixingGift(void); -void sub_80DA89C(void *); +void sub_80DA89C(u8 *); bool32 sub_80DA8B0(u32 *); #endif // GUARD_MYSTERY_EVENT_SCRIPT_H diff --git a/include/strings.h b/include/strings.h index 90c84c9b9..40021a01d 100644 --- a/include/strings.h +++ b/include/strings.h @@ -89,5 +89,7 @@ extern const u8 gText_Cancel4[]; extern const u8 gText_IsThisTheCorrectTime[]; extern const u8 gText_PkmnFainted3[]; extern const u8 gText_Coins[]; +extern const u8 gText_EggNickname[]; +extern const u8 gText_Pokemon[]; #endif //GUARD_STRINGS_H diff --git a/ld_script.txt b/ld_script.txt index 9238e0e71..a34e55e05 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -182,7 +182,7 @@ SECTIONS { asm/roulette_util.o(.text); asm/cable_car_util.o(.text); src/save.o(.text); - asm/mystery_event_script.o(.text); + src/mystery_event_script.o(.text); asm/field_effect_helpers.o(.text); asm/battle_anim_sound_tasks.o(.text); asm/battle_controller_safari.o(.text); diff --git a/src/mevent_server.c b/src/mevent_server.c index d5a9a0c0e..5e384ae0b 100644 --- a/src/mevent_server.c +++ b/src/mevent_server.c @@ -227,7 +227,7 @@ static u32 ish_mainseq_4(struct mevent_srv_ish * svr) break; case 18: memcpy(gSaveBlock2Ptr->unk_4A0, svr->recvBuffer, 0xbc); - sub_80E7490(); + ValidateEReaderTrainer(); break; case 21: memcpy(gDecompressionBuffer, svr->recvBuffer, ME_SEND_BUF_SIZE); diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c new file mode 100644 index 000000000..c9dc6ae81 --- /dev/null +++ b/src/mystery_event_script.c @@ -0,0 +1,322 @@ +#include "global.h" +#include "berry.h" +#include "battle_tower.h" +#include "easy_chat.h" +#include "event_data.h" +#include "mail.h" +#include "mail_data.h" +#include "mystery_event_script.h" +#include "pokedex.h" +#include "pokemon.h" +#include "pokemon_size_record.h" +#include "script.h" +#include "constants/species.h" +#include "strings.h" +#include "string_util.h" +#include "text.h" +#include "util.h" +#include "mystery_event_msg.h" +#include "pokemon_storage_system.h" + +extern ScrCmdFunc gMysteryEventScriptCmdTable[]; +extern ScrCmdFunc gMysteryEventScriptCmdTableEnd[]; + +#define LANGUAGE_MASK 0x1 +#define VERSION_MASK 0x1 + +EWRAM_DATA static struct ScriptContext sMysteryEventScriptContext = {0}; + +static bool32 CheckCompatibility(u16 a1, u32 a2, u16 a3, u32 a4) +{ + if (!(a1 & LANGUAGE_MASK)) + return FALSE; + + if (!(a2 & LANGUAGE_MASK)) + return FALSE; + + if (!(a3 & 0x1)) + return FALSE; + + if (!(a4 & VERSION_MASK)) + return FALSE; + + return TRUE; +} + +static void SetIncompatible(void) +{ + StringExpandPlaceholders(gStringVar4, gText_MysteryGiftCantBeUsed); + SetMysteryEventScriptStatus(3); +} + +static void InitMysteryEventScript(struct ScriptContext *ctx, u8 *script) +{ + InitScriptContext(ctx, gMysteryEventScriptCmdTable, gMysteryEventScriptCmdTableEnd); + SetupBytecodeScript(ctx, script); + ctx->data[0] = (u32)script; + ctx->data[1] = 0; + ctx->data[2] = 0; + ctx->data[3] = 0; +} + +static bool32 RunMysteryEventScriptCommand(struct ScriptContext *ctx) +{ + if (RunScriptCommand(ctx) && ctx->data[3]) + return TRUE; + else + return FALSE; +} + +void sub_80DA89C(u8 *script) +{ + InitMysteryEventScript(&sMysteryEventScriptContext, script); +} + +bool32 sub_80DA8B0(u32 *a0) +{ + bool32 ret = RunMysteryEventScriptCommand(&sMysteryEventScriptContext); + *a0 = sMysteryEventScriptContext.data[2]; + + return ret; +} + +u32 RunMysteryEventScript(u8 *script) +{ + u32 ret; + sub_80DA89C(script); + while (sub_80DA8B0(&ret)); + + return ret; +} + +void SetMysteryEventScriptStatus(u32 val) +{ + sMysteryEventScriptContext.data[2] = val; +} + +bool8 MEScrCmd_end(struct ScriptContext *ctx) +{ + StopScript(ctx); + return TRUE; +} + +bool8 MEScrCmd_checkcompat(struct ScriptContext *ctx) +{ + u16 v1; + u32 v2; + u16 v3; + u32 v4; + + ctx->data[1] = ScriptReadWord(ctx); + v1 = ScriptReadHalfword(ctx); + v2 = ScriptReadWord(ctx); + v3 = ScriptReadHalfword(ctx); + v4 = ScriptReadWord(ctx); + + if (CheckCompatibility(v1, v2, v3, v4) == TRUE) + ctx->data[3] = 1; + else + SetIncompatible(); + + return TRUE; +} + +bool8 MEScrCmd_nop(struct ScriptContext *ctx) +{ + return FALSE; +} + +bool8 MEScrCmd_setstatus(struct ScriptContext *ctx) +{ + u8 value = ScriptReadByte(ctx); + ctx->data[2] = value; + return FALSE; +} + +bool8 MEScrCmd_setmsg(struct ScriptContext *ctx) +{ + u8 value = ScriptReadByte(ctx); + u8 *str = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]); + if (value == 0xFF || value == ctx->data[2]) + StringExpandPlaceholders(gStringVar4, str); + return FALSE; +} + +bool8 MEScrCmd_runscript(struct ScriptContext *ctx) +{ + u8 *script = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]); + ScriptContext2_RunNewScript(script); + return FALSE; +} + +bool8 MEScrCmd_setenigmaberry(struct ScriptContext *ctx) +{ + u8 *str; + const u8 *message; + bool32 haveBerry = IsEnigmaBerryValid(); + u8 *berry = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]); + StringCopyN(gStringVar1, gSaveBlock1Ptr->enigmaBerry.berry.name, BERRY_NAME_LENGTH + 1); + SetEnigmaBerry(berry); + StringCopyN(gStringVar2, gSaveBlock1Ptr->enigmaBerry.berry.name, BERRY_NAME_LENGTH + 1); + + if (!haveBerry) + { + str = gStringVar4; + message = gText_MysteryGiftBerry; + } + else if (StringCompare(gStringVar1, gStringVar2)) + { + str = gStringVar4; + message = gText_MysteryGiftBerryTransform; + } + else + { + str = gStringVar4; + message = gText_MysteryGiftBerryObtained; + } + + StringExpandPlaceholders(str, message); + + ctx->data[2] = 2; + + if (IsEnigmaBerryValid() == TRUE) + VarSet(VAR_ENIGMA_BERRY_AVAILABLE, 1); + else + ctx->data[2] = 1; + + return FALSE; +} + +bool8 MEScrCmd_giveribbon(struct ScriptContext *ctx) +{ + u8 index = ScriptReadByte(ctx); + u8 ribbonId = ScriptReadByte(ctx); + GiveGiftRibbonToParty(index, ribbonId); + StringExpandPlaceholders(gStringVar4, gText_MysteryGiftSpecialRibbon); + ctx->data[2] = 2; + return FALSE; +} + +bool8 MEScrCmd_initramscript(struct ScriptContext *ctx) +{ + u8 mapGroup = ScriptReadByte(ctx); + u8 mapNum = ScriptReadByte(ctx); + u8 objectId = ScriptReadByte(ctx); + u8 *script = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]); + u8 *scriptEnd = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]); + InitRamScript(script, scriptEnd - script, mapGroup, mapNum, objectId); + return FALSE; +} + +bool8 MEScrCmd_givenationaldex(struct ScriptContext *ctx) +{ + EnableNationalPokedex(); + StringExpandPlaceholders(gStringVar4, gText_MysteryGiftNationalDex); + ctx->data[2] = 2; + return FALSE; +} + +bool8 MEScrCmd_addrareword(struct ScriptContext *ctx) +{ + EnableRareWord(ScriptReadByte(ctx)); + StringExpandPlaceholders(gStringVar4, gText_MysteryGiftRareWord); + ctx->data[2] = 2; + return FALSE; +} + +bool8 MEScrCmd_setrecordmixinggift(struct ScriptContext *ctx) +{ + SetIncompatible(); + ctx->data[3] = 0; + return TRUE; +} + +bool8 MEScrCmd_givepokemon(struct ScriptContext *ctx) +{ + struct MailStruct mail; + struct Pokemon pokemon; + u16 species; + u16 heldItem; + u32 data = ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]; + void *pokemonPtr = (void *)data; + void *mailPtr = (void *)(data + sizeof(struct Pokemon)); + + pokemon = *(struct Pokemon *)pokemonPtr; + species = GetMonData(&pokemon, MON_DATA_SPECIES2); + + if (species == SPECIES_EGG) + StringCopyN(gStringVar1, gText_EggNickname, POKEMON_NAME_LENGTH + 1); + else + StringCopyN(gStringVar1, gText_Pokemon, POKEMON_NAME_LENGTH + 1); + + if (gPlayerPartyCount == PARTY_SIZE) + { + StringExpandPlaceholders(gStringVar4, gText_MysteryGiftFullParty); + ctx->data[2] = 3; + } + else + { + memcpy(&gPlayerParty[5], pokemonPtr, sizeof(struct Pokemon)); + memcpy(&mail, mailPtr, sizeof(struct MailStruct)); + + if (species != SPECIES_EGG) + { + u16 pokedexNum = SpeciesToNationalPokedexNum(species); + GetSetPokedexFlag(pokedexNum, FLAG_SET_SEEN); + GetSetPokedexFlag(pokedexNum, FLAG_SET_CAUGHT); + } + + heldItem = GetMonData(&gPlayerParty[5], MON_DATA_HELD_ITEM); + if (itemid_is_mail(heldItem)) + GiveMailToMon2(&gPlayerParty[5], &mail); + CompactPartySlots(); + CalculatePlayerPartyCount(); + StringExpandPlaceholders(gStringVar4, gText_MysteryGiftSentOver); + ctx->data[2] = 2; + } + + return FALSE; +} + +bool8 MEScrCmd_addtrainer(struct ScriptContext *ctx) +{ + u32 data = ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]; + memcpy(gSaveBlock2Ptr->unk_4A0, (void *)data, 0xBC); + ValidateEReaderTrainer(); + StringExpandPlaceholders(gStringVar4, gText_MysteryGiftNewTrainer); + ctx->data[2] = 2; + return FALSE; +} + +bool8 MEScrCmd_enableresetrtc(struct ScriptContext *ctx) +{ + SetIncompatible(); + ctx->data[3] = 0; + return TRUE; +} + +bool8 MEScrCmd_checksum(struct ScriptContext *ctx) +{ + int checksum = ScriptReadWord(ctx); + u8 *data = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]); + u8 *dataEnd = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]); + if (checksum != CalcByteArraySum(data, dataEnd - data)) + { + ctx->data[3] = 0; + ctx->data[2] = 1; + } + return TRUE; +} + +bool8 MEScrCmd_crc(struct ScriptContext *ctx) +{ + int crc = ScriptReadWord(ctx); + u8 *data = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]); + u8 *dataEnd = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]); + if (crc != CalcCRC16(data, dataEnd - data)) + { + ctx->data[3] = 0; + ctx->data[2] = 1; + } + return TRUE; +} diff --git a/sym_ewram.txt b/sym_ewram.txt index 9e638c025..9c5d6022b 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1197,10 +1197,7 @@ gUnknown_2039A34: @ 2039A34 .space 0x4 .include "src/save.o" - - .align 2 -gUnknown_203AA3C: @ 203AA3C - .space 0x74 + .include "src/mystery_event_script.o" gUnknown_203AAB0: @ 203AAB0 .space 0x4 From 089703dc086d03081f80aa90c2978a0f091d7d77 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 3 Dec 2018 21:15:42 -0500 Subject: [PATCH 208/222] Decompile (partially) mystery_event_msg --- data/data_8471F00.s | 36 --- data/mystery_event_msg.s | 343 ++++++++++++++++++++++++++ data/mystery_event_script_cmd_table.s | 18 +- ld_script.txt | 2 + src/mystery_event_msg.c | 13 + 5 files changed, 375 insertions(+), 37 deletions(-) create mode 100644 data/mystery_event_msg.s create mode 100644 src/mystery_event_msg.c diff --git a/data/data_8471F00.s b/data/data_8471F00.s index 93d5ea372..28454ac2d 100644 --- a/data/data_8471F00.s +++ b/data/data_8471F00.s @@ -336,39 +336,3 @@ gUnknown_84827B4:: @ 84827B4 gUnknown_84886E8:: @ 84886E8 .incbin "baserom.gba", 0x4886E8, 0x588 - -gText_MysteryGiftBerry:: @ 8488C70 - .string "Obtained a {STR_VAR_2} BERRY!\nDad has it at PETALBURG GYM.$" - -gText_MysteryGiftBerryTransform:: @ 8488CA2 - .string "The {STR_VAR_1} BERRY transformed into\none {STR_VAR_2} BERRY.$" - -gText_MysteryGiftBerryObtained:: @ 8488CCE - .string "The {STR_VAR_1} BERRY has already been\nobtained.$" - -gText_MysteryGiftSpecialRibbon:: @ 8488CF6 - .string "A special RIBBON was awarded to\nyour party POKéMON.$" - -gText_MysteryGiftNationalDex:: @ 8488D2A - .string "The POKéDEX has been upgraded\nwith the NATIONAL MODE.$" - -gText_MysteryGiftRareWord:: @ 8488D60 - .string "A rare word has been added.$" - -gText_MysteryGiftSentOver:: @ 8488D7C - .string "{STR_VAR_1} was sent over!$" - -gText_MysteryGiftFullParty:: @ 8488D8E - .string "Your party is full.\n{STR_VAR_1} could not be sent over.$" - -gText_MysteryGiftNewTrainer:: @ 8488DBD - .string "A new TRAINER has arrived in\nHOENN.$" - -gUnknown_8488DE1:: - .incbin "baserom.gba", 0x488DE1, 0x1C - -gText_MysteryGiftCantBeUsed:: @ 8488DFD - .string "This data can’t be used in\nthis version.$" - -gUnknown_8488E26:: - .incbin "baserom.gba", 0x488E26, 0xB42 diff --git a/data/mystery_event_msg.s b/data/mystery_event_msg.s new file mode 100644 index 000000000..c8e10ea4c --- /dev/null +++ b/data/mystery_event_msg.s @@ -0,0 +1,343 @@ +#include "constants/flags.h" +#include "constants/moves.h" +#include "constants/songs.h" +#include "constants/species.h" +#include "constants/vars.h" + .include "asm/macros.inc" + .include "asm/macros/event.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 1 + +MysteryEventScript_StampCard:: @ 8488E26 + .incbin "baserom.gba", 0x488E26, 0xB42 + +@ setvaddress MysteryEventScript_StampCard +@ setorcopyvar VAR_RESULT, 1 +@ specialvar VAR_0x8008, sub_813986C +@ setorcopyvar VAR_RESULT, 0 +@ specialvar VAR_0x8009, sub_813986C +@ subvar VAR_0x8008, 32777 +@ getnumberstring 0, VAR_0x8008 +@ lock +@ faceplayer +@ vmessage sText_MysteryGiftStampCard +@ waitmessage +@ waitbutton +@ release +@ end +@ +@ sText_MysteryGiftStampCard: +@ .string "Thank you for using the STAMP CARD\nSystem.\pYou have {STR_VAR_1} more to collect to\nfill your STAMP CARD.$" +@ +@ MysteryEventScript_SurfPichu:: @ 8674D3D +@ setvaddress MysteryEventScript_SurfPichu +@ checkflag FLAG_MYSTERY_EVENT_DONE +@ vgoto_if 0, SurfPichu_GiveIfPossible +@ gotoram +@ +@ SurfPichu_GiveIfPossible: @ 8674D4C +@ specialvar VAR_EVENT_PICHU_SLOT, CalculatePlayerPartyCount +@ compare_var_to_value VAR_EVENT_PICHU_SLOT, 6 +@ vgoto_if 1, SurfPichu_FullParty +@ setflag FLAG_MYSTERY_EVENT_DONE +@ vcall SurfPichu_GiveEgg +@ lock +@ faceplayer +@ vmessage sText_MysteryGiftEgg +@ waitmessage +@ waitbutton +@ playfanfare MUS_FANFA4 +@ waitfanfare +@ release +@ end +@ +@ SurfPichu_FullParty: @ 8674D73 +@ lock +@ faceplayer +@ vmessage sText_FullParty +@ waitmessage +@ waitbutton +@ release +@ end +@ +@ SurfPichu_GiveEgg: @ 8674D7E +@ giveegg SPECIES_PICHU +@ setobedience VAR_EVENT_PICHU_SLOT +@ setcatchlocale VAR_EVENT_PICHU_SLOT, 255 +@ compare_var_to_value VAR_EVENT_PICHU_SLOT, 1 +@ vgoto_if 1, SurfPichu_Slot1 +@ compare_var_to_value VAR_EVENT_PICHU_SLOT, 2 +@ vgoto_if 1, SurfPichu_Slot2 +@ compare_var_to_value VAR_EVENT_PICHU_SLOT, 3 +@ vgoto_if 1, SurfPichu_Slot3 +@ compare_var_to_value VAR_EVENT_PICHU_SLOT, 4 +@ vgoto_if 1, SurfPichu_Slot4 +@ compare_var_to_value VAR_EVENT_PICHU_SLOT, 5 +@ vgoto_if 1, SurfPichu_Slot5 +@ return +@ +@ SurfPichu_Slot1: @ 8674DC0 +@ setpokemove 1, 2, MOVE_SURF +@ return +@ +@ SurfPichu_Slot2:: @ 8674DC6 +@ setpokemove 2, 2, MOVE_SURF +@ return +@ +@ SurfPichu_Slot3: @ 8674DCC +@ setpokemove 3, 2, MOVE_SURF +@ return +@ +@ SurfPichu_Slot4: @ 8674DD2 +@ setpokemove 4, 2, MOVE_SURF +@ return +@ +@ SurfPichu_Slot5: @ 8674DD8 +@ setpokemove 5, 2, MOVE_SURF +@ return +@ +@ sText_MysteryGiftEgg: +@ .string "Thank you for using the MYSTERY\nGIFT System.\pFrom the POKéMON CENTER we\nhave a gift--a POKéMON EGG!\pPlease raise it with love and\nkindness.$" +@ +@ sText_FullParty: +@ .string "Oh, your party appears to be full.\pPlease come see me after storing\na POKéMON on a PC.$" +@ +@ MysteryEventScript_VisitingTrainer:: @ 8674EC1 +@ setvaddress MysteryEventScript_VisitingTrainer +@ special ValidateEReaderTrainer +@ compare_var_to_value VAR_RESULT, 0 +@ vgoto_if 1, MysteryEventScript_VisitingTrainerArrived +@ lock +@ faceplayer +@ vmessage sText_MysteryGiftVisitingTrainer +@ waitmessage +@ waitbutton +@ release +@ end +@ +@ MysteryEventScript_VisitingTrainerArrived: @ 8674EDF +@ lock +@ faceplayer +@ vmessage sText_MysteryGiftVisitingTrainer_2 +@ waitmessage +@ waitbutton +@ release +@ end +@ +@ sText_MysteryGiftVisitingTrainer: +@ .string "Thank you for using the MYSTERY\nGIFT System.\pBy holding this WONDER CARD, you\nmay take part in a survey at a\lPOKéMON MART.\pUse these surveys to invite\nTRAINERS to SOOTOPOLIS CITY.\p…Let me give you a secret\npassword for a survey:\p“GIVE ME\nAWESOME TRAINERâ€\pWrite that in on a survey and send\nit to the WIRELESS\lCOMMUNICATION SYSTEM.$" +@ +@ sText_MysteryGiftVisitingTrainer_2: +@ .string "Thank you for using the MYSTERY\nGIFT System.\pA TRAINER has arrived in\nSOOTOPOLIS CITY looking for you.\pWe hope you will enjoy\nbattling the visiting TRAINER.\pYou may invite other TRAINERS by\nentering other passwords.\pTry looking for other passwords\nthat may work.$" +@ +@ MysteryEventScript_BattleCard:: @ 867513C +@ setvaddress MysteryEventScript_BattleCard +@ checkflag FLAG_MYSTERY_EVENT_DONE +@ vgoto_if 1, MysteryEventScript_BattleCardInfo +@ setorcopyvar VAR_RESULT, 2 +@ specialvar VAR_0x8008, sub_813986C +@ compare_var_to_value VAR_0x8008, 3 +@ vgoto_if 0, MysteryEventScript_BattleCardInfo +@ lock +@ faceplayer +@ vmessage sText_MysteryGiftBattleCountCard_2 +@ waitmessage +@ waitbutton +@ giveitem ITEM_POTION +@ release +@ setflag FLAG_MYSTERY_EVENT_DONE +@ end +@ +@ MysteryEventScript_BattleCardInfo: @ 8675179 +@ lock +@ faceplayer +@ vmessage sText_MysteryGiftBattleCountCard +@ waitmessage +@ waitbutton +@ release +@ end +@ +@ sText_MysteryGiftBattleCountCard: +@ .string "Thank you for using the MYSTERY\nGIFT System.\pYour BATTLE COUNT CARD keeps\ntrack of your battle record against\lTRAINERS with the same CARD.\pLook for and battle TRAINERS who\nhave the same CARD as you.\pYou may check the overall rankings\nby reading the NEWS.\pPlease do give it a try!$" +@ +@ sText_MysteryGiftBattleCountCard_2: +@ .string "Thank you for using the MYSTERY\nGIFT System.\pCongratulations!\pYou have won a prize for winning\nthree battles!\pWe hope you will be inspired to\nbattle some more.$" +@ +@ MysteryEventScript_AuroraTicket:: @ 867533C +@ setvaddress MysteryEventScript_AuroraTicket +@ lock +@ faceplayer +@ checkflag FLAG_0x13A +@ vgoto_if 1, AuroraTicket_Obtained +@ checkflag FLAG_0x1AD +@ vgoto_if 1, AuroraTicket_Obtained +@ checkitem ITEM_AURORA_TICKET, 1 +@ compare_var_to_value VAR_RESULT, 1 +@ vgoto_if 1, AuroraTicket_Obtained +@ vmessage sText_AuroraTicket1 +@ waitmessage +@ waitbutton +@ checkitemspace ITEM_AURORA_TICKET, 1 +@ compare_var_to_value VAR_RESULT, 0 +@ vgoto_if 1, AuroraTicket_NoBagSpace +@ giveitem ITEM_AURORA_TICKET +@ setflag FLAG_0x8D5 +@ setflag FLAG_0x13A +@ vmessage sText_AuroraTicket2 +@ waitmessage +@ waitbutton +@ release +@ end +@ +@ AuroraTicket_NoBagSpace: @ 8675397 +@ vmessage sText_AuroraTicketNoPlace +@ waitmessage +@ waitbutton +@ release +@ end +@ +@ AuroraTicket_Obtained: @ 86753A0 +@ vmessage sText_AuroraTicketGot +@ waitmessage +@ waitbutton +@ release +@ end +@ +@ sText_AuroraTicket1: +@ .string "Thank you for using the MYSTERY\nGIFT System.\pYou must be {PLAYER}.\nThere is a ticket here for you.$" +@ +@ sText_AuroraTicket2: +@ .string "It appears to be for use at the\nLILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$" +@ +@ sText_AuroraTicketGot: +@ .string "Thank you for using the MYSTERY\nGIFT System.$" +@ +@ sText_AuroraTicketNoPlace: +@ .string "Oh, I’m sorry, {PLAYER}.\nYour BAG’s KEY ITEMS POCKET is full.\pPlease store something on your PC,\nthen come back for this.$" +@ +@ MysteryEventScript_MysticTicket:: @ 867550B +@ setvaddress MysteryEventScript_MysticTicket +@ lock +@ faceplayer +@ checkflag FLAG_0x13B +@ vgoto_if 1, MysticTicket_Obtained +@ checkflag FLAG_0x091 +@ vgoto_if 1, MysticTicket_Obtained +@ checkflag FLAG_0x092 +@ vgoto_if 1, MysticTicket_Obtained +@ checkitem ITEM_MYSTIC_TICKET, 1 +@ compare_var_to_value VAR_RESULT, 1 +@ vgoto_if 1, MysticTicket_Obtained +@ vmessage sText_MysticTicket2 +@ waitmessage +@ waitbutton +@ checkitemspace ITEM_MYSTIC_TICKET, 1 +@ compare_var_to_value VAR_RESULT, 0 +@ vgoto_if 1, MysticTicket_NoBagSpace +@ giveitem ITEM_MYSTIC_TICKET +@ setflag FLAG_0x8E0 +@ setflag FLAG_0x13B +@ vmessage sText_MysticTicket1 +@ waitmessage +@ waitbutton +@ release +@ end +@ +@ MysticTicket_NoBagSpace: @ 867556F +@ vmessage sText_MysticTicketNoPlace +@ waitmessage +@ waitbutton +@ release +@ end +@ +@ MysticTicket_Obtained: @ 8675578 +@ vmessage sText_MysticTicketGot +@ waitmessage +@ waitbutton +@ release +@ end +@ +@ sText_MysticTicket2: +@ .string "Thank you for using the MYSTERY\nGIFT System.\pYou must be {PLAYER}.\nThere is a ticket here for you.$" +@ +@ sText_MysticTicket1: +@ .string "It appears to be for use at the\nLILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$" +@ +@ sText_MysticTicketGot: +@ .string "Thank you for using the MYSTERY\nGIFT System.$" +@ +@ sText_MysticTicketNoPlace: +@ .string "Oh, I’m sorry, {PLAYER}.\nYour BAG’s KEY ITEMS POCKET is full.\pPlease store something on your PC,\nthen come back for this.$" +@ +@ MysteryEventScript_AlteringCave:: @ 86756E3 +@ setvaddress MysteryEventScript_AlteringCave +@ addvar VAR_ALTERING_CAVE_WILD_SET, 1 +@ compare_var_to_value VAR_ALTERING_CAVE_WILD_SET, 10 +@ vgoto_if 0, MysteryEventScript_AlteringCave_ +@ setvar VAR_ALTERING_CAVE_WILD_SET, 0 +@ MysteryEventScript_AlteringCave_: @ 86756FD +@ lock +@ faceplayer +@ vmessage sText_MysteryGiftAlteringCave +@ waitmessage +@ waitbutton +@ release +@ end +@ +@ sText_MysteryGiftAlteringCave:: +@ .string "Thank you for using the MYSTERY\nGIFT System.\pThere appears to be a rumor about\nrare POKéMON sightings.\pThe sightings reportedly came from\nthe ALTERING CAVE on ROUTE 103.\pPerhaps it would be worthwhile for\nyou to investigate this rumor.$" +@ +@ MysteryEventScript_OldSeaMap:: @ 86757F4 +@ setvaddress MysteryEventScript_OldSeaMap +@ lock +@ faceplayer +@ checkflag FLAG_0x13C +@ vgoto_if 1, OldSeaMap_Obtained +@ checkflag FLAG_0x1CA +@ vgoto_if 1, OldSeaMap_Obtained +@ checkitem ITEM_OLD_SEA_MAP, 1 +@ compare_var_to_value VAR_RESULT, 1 +@ vgoto_if 1, OldSeaMap_Obtained +@ vmessage sText_MysteryGiftOldSeaMap +@ waitmessage +@ waitbutton +@ checkitemspace ITEM_OLD_SEA_MAP, 1 +@ compare_var_to_value VAR_RESULT, 0 +@ vgoto_if 1, OldSeaMap_NoBagSpace +@ giveitem ITEM_OLD_SEA_MAP +@ setflag FLAG_0x8D6 +@ setflag FLAG_0x13C +@ vmessage sText_MysteryGiftOldSeaMap_1 +@ waitmessage +@ waitbutton +@ release +@ end +@ +@ OldSeaMap_NoBagSpace: @ 867584F +@ vmessage sText_MysteryGiftOldSeaMap_3 +@ waitmessage +@ waitbutton +@ release +@ end +@ +@ OldSeaMap_Obtained: @ 8675858 +@ vmessage sText_MysteryGiftOldSeaMap_2 +@ waitmessage +@ waitbutton +@ release +@ end +@ +@ sText_MysteryGiftOldSeaMap: +@ .string "Thank you for using the MYSTERY\nGIFT System.\pLet me confirm--you are {PLAYER}?\pWe received this OLD SEA MAP\naddressed to you.$" +@ +@ sText_MysteryGiftOldSeaMap_1: +@ .string "It appears to be for use at the\nLILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$" +@ +@ sText_MysteryGiftOldSeaMap_2: +@ .string "Thank you for using the MYSTERY\nGIFT System.$" +@ +@ sText_MysteryGiftOldSeaMap_3: +@ .string "Oh, I’m sorry, {PLAYER}.\nYour BAG’s KEY ITEMS POCKET is full.\pPlease store something on your PC,\nthen come back for this.$" diff --git a/data/mystery_event_script_cmd_table.s b/data/mystery_event_script_cmd_table.s index 4b85804a1..5dbcf50ee 100644 --- a/data/mystery_event_script_cmd_table.s +++ b/data/mystery_event_script_cmd_table.s @@ -1,5 +1,21 @@ .section script_data, "aw", %progbits gMysteryEventScriptCmdTable:: @ 81DBCF0 - .incbin "baserom.gba", 0x1DBCF0, 0x44 + .4byte MEScrCmd_nop + .4byte MEScrCmd_checkcompat + .4byte MEScrCmd_end + .4byte MEScrCmd_setmsg + .4byte MEScrCmd_setstatus + .4byte MEScrCmd_runscript + .4byte MEScrCmd_initramscript + .4byte MEScrCmd_setenigmaberry + .4byte MEScrCmd_giveribbon + .4byte MEScrCmd_givenationaldex + .4byte MEScrCmd_addrareword + .4byte MEScrCmd_setrecordmixinggift + .4byte MEScrCmd_givepokemon + .4byte MEScrCmd_addtrainer + .4byte MEScrCmd_enableresetrtc + .4byte MEScrCmd_checksum + .4byte MEScrCmd_crc gMysteryEventScriptCmdTableEnd:: @ 81DBD34 diff --git a/ld_script.txt b/ld_script.txt index a34e55e05..d37858b3f 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -389,6 +389,8 @@ SECTIONS { data/data_8468C98.o(.rodata); src/quest_log_8150454.o(.rodata); data/data_8471F00.o(.rodata); + src/mystery_event_msg.o(.rodata); + data/mystery_event_msg.o(.rodata); src/m4a_tables.o(.rodata); data/sound_data.o(.rodata); } =0 diff --git a/src/mystery_event_msg.c b/src/mystery_event_msg.c new file mode 100644 index 000000000..a21750b7a --- /dev/null +++ b/src/mystery_event_msg.c @@ -0,0 +1,13 @@ +#include "global.h" + +const u8 gText_MysteryGiftBerry[] = _("Obtained a {STR_VAR_2} BERRY!\nDad has it at PETALBURG GYM."); +const u8 gText_MysteryGiftBerryTransform[] = _("The {STR_VAR_1} BERRY transformed into\none {STR_VAR_2} BERRY."); +const u8 gText_MysteryGiftBerryObtained[] = _("The {STR_VAR_1} BERRY has already been\nobtained."); +const u8 gText_MysteryGiftSpecialRibbon[] = _("A special RIBBON was awarded to\nyour party POKéMON."); +const u8 gText_MysteryGiftNationalDex[] = _("The POKéDEX has been upgraded\nwith the NATIONAL MODE."); +const u8 gText_MysteryGiftRareWord[] = _("A rare word has been added."); +const u8 gText_MysteryGiftSentOver[] = _("{STR_VAR_1} was sent over!"); +const u8 gText_MysteryGiftFullParty[] = _("Your party is full.\n{STR_VAR_1} could not be sent over."); +const u8 gText_MysteryGiftNewTrainer[] = _("A new TRAINER has arrived in\nHOENN."); +const u8 gText_MysteryGiftNewAdversaryInBattleTower[] = _("ãƒãƒˆãƒ«ã‚¿ãƒ¯ãƒ¼ã«ã€€ã‚らãŸãª\nãŸã„ã›ã‚“ã—ゃãŒã€€ã‚らã‚れãŸï¼"); +const u8 gText_MysteryGiftCantBeUsed[] = _("This data can’t be used in\nthis version."); From 2ce8cad8d2666ecaa9996dc99c7ff3d68d87f4e8 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 4 Dec 2018 08:09:54 -0500 Subject: [PATCH 209/222] Fix alignment --- data/mystery_event_msg.s | 93 ++++++++++++++++++++-------------------- 1 file changed, 46 insertions(+), 47 deletions(-) diff --git a/data/mystery_event_msg.s b/data/mystery_event_msg.s index c8e10ea4c..48be143d7 100644 --- a/data/mystery_event_msg.s +++ b/data/mystery_event_msg.s @@ -9,10 +9,9 @@ .section .rodata - .align 1 - -MysteryEventScript_StampCard:: @ 8488E26 - .incbin "baserom.gba", 0x488E26, 0xB42 + .align 2 +MysteryEventScript_StampCard:: @ 8488E2 + .incbin "baserom.gba", 0x488E28, 0xB40 @ setvaddress MysteryEventScript_StampCard @ setorcopyvar VAR_RESULT, 1 @@ -28,16 +27,16 @@ MysteryEventScript_StampCard:: @ 8488E26 @ waitbutton @ release @ end -@ +@ @ sText_MysteryGiftStampCard: @ .string "Thank you for using the STAMP CARD\nSystem.\pYou have {STR_VAR_1} more to collect to\nfill your STAMP CARD.$" -@ +@ @ MysteryEventScript_SurfPichu:: @ 8674D3D @ setvaddress MysteryEventScript_SurfPichu @ checkflag FLAG_MYSTERY_EVENT_DONE @ vgoto_if 0, SurfPichu_GiveIfPossible @ gotoram -@ +@ @ SurfPichu_GiveIfPossible: @ 8674D4C @ specialvar VAR_EVENT_PICHU_SLOT, CalculatePlayerPartyCount @ compare_var_to_value VAR_EVENT_PICHU_SLOT, 6 @@ -53,7 +52,7 @@ MysteryEventScript_StampCard:: @ 8488E26 @ waitfanfare @ release @ end -@ +@ @ SurfPichu_FullParty: @ 8674D73 @ lock @ faceplayer @@ -62,7 +61,7 @@ MysteryEventScript_StampCard:: @ 8488E26 @ waitbutton @ release @ end -@ +@ @ SurfPichu_GiveEgg: @ 8674D7E @ giveegg SPECIES_PICHU @ setobedience VAR_EVENT_PICHU_SLOT @@ -78,33 +77,33 @@ MysteryEventScript_StampCard:: @ 8488E26 @ compare_var_to_value VAR_EVENT_PICHU_SLOT, 5 @ vgoto_if 1, SurfPichu_Slot5 @ return -@ +@ @ SurfPichu_Slot1: @ 8674DC0 @ setpokemove 1, 2, MOVE_SURF @ return -@ +@ @ SurfPichu_Slot2:: @ 8674DC6 @ setpokemove 2, 2, MOVE_SURF @ return -@ +@ @ SurfPichu_Slot3: @ 8674DCC @ setpokemove 3, 2, MOVE_SURF @ return -@ +@ @ SurfPichu_Slot4: @ 8674DD2 @ setpokemove 4, 2, MOVE_SURF @ return -@ +@ @ SurfPichu_Slot5: @ 8674DD8 @ setpokemove 5, 2, MOVE_SURF @ return -@ +@ @ sText_MysteryGiftEgg: @ .string "Thank you for using the MYSTERY\nGIFT System.\pFrom the POKéMON CENTER we\nhave a gift--a POKéMON EGG!\pPlease raise it with love and\nkindness.$" -@ +@ @ sText_FullParty: @ .string "Oh, your party appears to be full.\pPlease come see me after storing\na POKéMON on a PC.$" -@ +@ @ MysteryEventScript_VisitingTrainer:: @ 8674EC1 @ setvaddress MysteryEventScript_VisitingTrainer @ special ValidateEReaderTrainer @@ -117,7 +116,7 @@ MysteryEventScript_StampCard:: @ 8488E26 @ waitbutton @ release @ end -@ +@ @ MysteryEventScript_VisitingTrainerArrived: @ 8674EDF @ lock @ faceplayer @@ -126,13 +125,13 @@ MysteryEventScript_StampCard:: @ 8488E26 @ waitbutton @ release @ end -@ +@ @ sText_MysteryGiftVisitingTrainer: @ .string "Thank you for using the MYSTERY\nGIFT System.\pBy holding this WONDER CARD, you\nmay take part in a survey at a\lPOKéMON MART.\pUse these surveys to invite\nTRAINERS to SOOTOPOLIS CITY.\p…Let me give you a secret\npassword for a survey:\p“GIVE ME\nAWESOME TRAINERâ€\pWrite that in on a survey and send\nit to the WIRELESS\lCOMMUNICATION SYSTEM.$" -@ +@ @ sText_MysteryGiftVisitingTrainer_2: @ .string "Thank you for using the MYSTERY\nGIFT System.\pA TRAINER has arrived in\nSOOTOPOLIS CITY looking for you.\pWe hope you will enjoy\nbattling the visiting TRAINER.\pYou may invite other TRAINERS by\nentering other passwords.\pTry looking for other passwords\nthat may work.$" -@ +@ @ MysteryEventScript_BattleCard:: @ 867513C @ setvaddress MysteryEventScript_BattleCard @ checkflag FLAG_MYSTERY_EVENT_DONE @@ -150,7 +149,7 @@ MysteryEventScript_StampCard:: @ 8488E26 @ release @ setflag FLAG_MYSTERY_EVENT_DONE @ end -@ +@ @ MysteryEventScript_BattleCardInfo: @ 8675179 @ lock @ faceplayer @@ -159,13 +158,13 @@ MysteryEventScript_StampCard:: @ 8488E26 @ waitbutton @ release @ end -@ +@ @ sText_MysteryGiftBattleCountCard: @ .string "Thank you for using the MYSTERY\nGIFT System.\pYour BATTLE COUNT CARD keeps\ntrack of your battle record against\lTRAINERS with the same CARD.\pLook for and battle TRAINERS who\nhave the same CARD as you.\pYou may check the overall rankings\nby reading the NEWS.\pPlease do give it a try!$" -@ +@ @ sText_MysteryGiftBattleCountCard_2: @ .string "Thank you for using the MYSTERY\nGIFT System.\pCongratulations!\pYou have won a prize for winning\nthree battles!\pWe hope you will be inspired to\nbattle some more.$" -@ +@ @ MysteryEventScript_AuroraTicket:: @ 867533C @ setvaddress MysteryEventScript_AuroraTicket @ lock @@ -191,33 +190,33 @@ MysteryEventScript_StampCard:: @ 8488E26 @ waitbutton @ release @ end -@ +@ @ AuroraTicket_NoBagSpace: @ 8675397 @ vmessage sText_AuroraTicketNoPlace @ waitmessage @ waitbutton @ release @ end -@ +@ @ AuroraTicket_Obtained: @ 86753A0 @ vmessage sText_AuroraTicketGot @ waitmessage @ waitbutton @ release @ end -@ +@ @ sText_AuroraTicket1: @ .string "Thank you for using the MYSTERY\nGIFT System.\pYou must be {PLAYER}.\nThere is a ticket here for you.$" -@ +@ @ sText_AuroraTicket2: @ .string "It appears to be for use at the\nLILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$" -@ +@ @ sText_AuroraTicketGot: @ .string "Thank you for using the MYSTERY\nGIFT System.$" -@ +@ @ sText_AuroraTicketNoPlace: @ .string "Oh, I’m sorry, {PLAYER}.\nYour BAG’s KEY ITEMS POCKET is full.\pPlease store something on your PC,\nthen come back for this.$" -@ +@ @ MysteryEventScript_MysticTicket:: @ 867550B @ setvaddress MysteryEventScript_MysticTicket @ lock @@ -245,33 +244,33 @@ MysteryEventScript_StampCard:: @ 8488E26 @ waitbutton @ release @ end -@ +@ @ MysticTicket_NoBagSpace: @ 867556F @ vmessage sText_MysticTicketNoPlace @ waitmessage @ waitbutton @ release @ end -@ +@ @ MysticTicket_Obtained: @ 8675578 @ vmessage sText_MysticTicketGot @ waitmessage @ waitbutton @ release @ end -@ +@ @ sText_MysticTicket2: @ .string "Thank you for using the MYSTERY\nGIFT System.\pYou must be {PLAYER}.\nThere is a ticket here for you.$" -@ +@ @ sText_MysticTicket1: @ .string "It appears to be for use at the\nLILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$" -@ +@ @ sText_MysticTicketGot: @ .string "Thank you for using the MYSTERY\nGIFT System.$" -@ +@ @ sText_MysticTicketNoPlace: @ .string "Oh, I’m sorry, {PLAYER}.\nYour BAG’s KEY ITEMS POCKET is full.\pPlease store something on your PC,\nthen come back for this.$" -@ +@ @ MysteryEventScript_AlteringCave:: @ 86756E3 @ setvaddress MysteryEventScript_AlteringCave @ addvar VAR_ALTERING_CAVE_WILD_SET, 1 @@ -286,10 +285,10 @@ MysteryEventScript_StampCard:: @ 8488E26 @ waitbutton @ release @ end -@ +@ @ sText_MysteryGiftAlteringCave:: @ .string "Thank you for using the MYSTERY\nGIFT System.\pThere appears to be a rumor about\nrare POKéMON sightings.\pThe sightings reportedly came from\nthe ALTERING CAVE on ROUTE 103.\pPerhaps it would be worthwhile for\nyou to investigate this rumor.$" -@ +@ @ MysteryEventScript_OldSeaMap:: @ 86757F4 @ setvaddress MysteryEventScript_OldSeaMap @ lock @@ -315,29 +314,29 @@ MysteryEventScript_StampCard:: @ 8488E26 @ waitbutton @ release @ end -@ +@ @ OldSeaMap_NoBagSpace: @ 867584F @ vmessage sText_MysteryGiftOldSeaMap_3 @ waitmessage @ waitbutton @ release @ end -@ +@ @ OldSeaMap_Obtained: @ 8675858 @ vmessage sText_MysteryGiftOldSeaMap_2 @ waitmessage @ waitbutton @ release @ end -@ +@ @ sText_MysteryGiftOldSeaMap: @ .string "Thank you for using the MYSTERY\nGIFT System.\pLet me confirm--you are {PLAYER}?\pWe received this OLD SEA MAP\naddressed to you.$" -@ +@ @ sText_MysteryGiftOldSeaMap_1: @ .string "It appears to be for use at the\nLILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$" -@ +@ @ sText_MysteryGiftOldSeaMap_2: @ .string "Thank you for using the MYSTERY\nGIFT System.$" -@ +@ @ sText_MysteryGiftOldSeaMap_3: @ .string "Oh, I’m sorry, {PLAYER}.\nYour BAG’s KEY ITEMS POCKET is full.\pPlease store something on your PC,\nthen come back for this.$" From ff24ec3ece411cf189f7f4d54110a77e79cea73e Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 4 Dec 2018 08:30:20 -0500 Subject: [PATCH 210/222] Dump special pointers --- asm/scrcmd.s | 8 +- data/event_scripts.s | 3 +- data/specials.inc | 456 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 461 insertions(+), 6 deletions(-) create mode 100644 data/specials.inc diff --git a/asm/scrcmd.s b/asm/scrcmd.s index 9bb17887a..24793be37 100644 --- a/asm/scrcmd.s +++ b/asm/scrcmd.s @@ -46,7 +46,7 @@ sub_8069EFC: @ 8069EFC bl ScriptReadHalfword lsls r0, 16 lsrs r0, 14 - ldr r1, _08069F18 @ =gUnknown_815FD60 + ldr r1, _08069F18 @ =gSpecials adds r1, r0, r1 ldr r0, _08069F1C @ =gUnknown_8160450 cmp r1, r0 @@ -55,7 +55,7 @@ sub_8069EFC: @ 8069EFC bl _call_via_r0 b _08069F2C .align 2, 0 -_08069F18: .4byte gUnknown_815FD60 +_08069F18: .4byte gSpecials _08069F1C: .4byte gUnknown_8160450 _08069F20: ldr r0, _08069F34 @ =gUnknown_83A725C "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scrcmd.c" @@ -85,7 +85,7 @@ sub_8069F3C: @ 8069F3C bl ScriptReadHalfword lsls r0, 16 lsrs r0, 14 - ldr r1, _08069F6C @ =gUnknown_815FD60 + ldr r1, _08069F6C @ =gSpecials adds r1, r0, r1 ldr r0, _08069F70 @ =gUnknown_8160450 cmp r1, r0 @@ -95,7 +95,7 @@ sub_8069F3C: @ 8069F3C strh r0, [r5] b _08069F80 .align 2, 0 -_08069F6C: .4byte gUnknown_815FD60 +_08069F6C: .4byte gSpecials _08069F70: .4byte gUnknown_8160450 _08069F74: ldr r0, _08069F88 @ =gUnknown_83A725C "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scrcmd.c" diff --git a/data/event_scripts.s b/data/event_scripts.s index c27df1946..5aef19caa 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -9,8 +9,7 @@ gScriptCmdTableEnd:: @ 815FD08 gUnknown_815FD0C:: @ 815FD0C .incbin "baserom.gba", 0x15FD0C, 0x54 -gUnknown_815FD60:: @ 815FD60 - .incbin "baserom.gba", 0x15FD60, 0x6F0 + .include "data/specials.inc" gUnknown_8160450:: @ 8160450 .incbin "baserom.gba", 0x160450, 0x28 diff --git a/data/specials.inc b/data/specials.inc new file mode 100644 index 000000000..171a6fd8e --- /dev/null +++ b/data/specials.inc @@ -0,0 +1,456 @@ +.macro def_special ptr +.global SPECIAL_\ptr +.set SPECIAL_\ptr, __special__ +.set __special__, __special__ + 1 + .4byte \ptr + .endm + +.set __special__, 0 + .align 2 + +gSpecials:: @ 815FD60 + def_special sp000_heal_pokemon + def_special SetCableClubWarp + def_special sub_807E654 + def_special sub_807E704 + def_special sub_8081744 + def_special sub_8081770 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_8081064 + def_special sub_80810CC + def_special sub_80810F4 + def_special sub_80098B8 + def_special sub_80819C8 + def_special sub_8081978 + def_special sub_80819B8 + def_special sub_808130C + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special SavePlayerParty + def_special LoadPlayerParty + def_special sub_80A0334 + def_special sp02A_crash_sound + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special IsEnigmaBerryValid + def_special sub_80803CC + def_special sub_80805D8 + def_special sub_8080618 + def_special ScrSpecial_HasTrainerBeenFought + def_special ScrSpecial_EndTrainerApproach + def_special sub_8080628 + def_special sub_810CD4C + def_special sub_810CEB4 + def_special sub_80805B0 + def_special sub_808C6A8 + def_special CheckForAlivePartyMons + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80CBEBC + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_8081128 + def_special sub_806F67C + def_special nullsub_56 + def_special sub_80FEE44 + def_special sub_80BDA7C + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80A0918 + def_special sub_80A0930 + def_special sub_80A096C + def_special sub_80A0984 + def_special sub_80CBFA0 + def_special TV_CopyNicknameToStringVar1AndEnsureTerminated + def_special TV_CheckMonOTIDEqualsPlayerID + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80BDB1C + def_special nullsub_75 + def_special sub_809A540 + def_special CalculatePlayerPartyCount + def_special CountPartyNonEggMons + def_special CountPartyAliveNonEggMons_IgnoreVar0x8004Slot + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80CA68C + def_special DrawWholeMapView + def_special sub_80CA69C + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80CA6BC + def_special sub_80CA6DC + def_special sub_80CA714 + def_special sub_80CA758 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_8055DC4 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_807F888 + def_special ChangePokemonNickname + def_special sub_80BF8FC + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_8113364 + def_special sub_8113288 + def_special sub_81133A4 + def_special sub_8113064 + def_special sub_81132CC + def_special sub_8113510 + def_special sub_81130A8 + def_special sub_8113530 + def_special sub_8082E54 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80CA74C + def_special GetDaycareMonNicknames + def_special sub_80464B4 + def_special RejectEggFromDayCare + def_special GiveEggFromDaycare + def_special SetDaycareCompatibilityString + def_special GetSelectedMonNickAndSpecies + def_special StoreSelectedPokemonInDaycare + def_special ChooseSendDaycareMon + def_special ShowDaycareLevelMenu + def_special GetNumLevelsGainedFromDaycare + def_special GetDaycareCost + def_special TakePokemonFromDaycare + def_special ScriptHatchMon + def_special sub_8046FD4 + def_special sub_8046EAC + def_special sub_80CD228 + def_special IsEnoughForCostInVar0x8005 + def_special SubtractMoneyFromVar0x8005 + def_special ExecuteWhiteOut + def_special sub_80CA3C4 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80A0EC4 + def_special sub_80A0EEC + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80CA3D8 + def_special sub_80CA524 + def_special sub_80CA86C + def_special sub_80CA9A8 + def_special sub_80CB204 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80BF93C + def_special sub_80BF9BC + def_special sub_80BFBA8 + def_special ScrSpecial_GetPokemonNicknameAndMoveName + def_special ScrSpecial_CountPokemonMoves + def_special sub_80E4634 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80CA664 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80CA76C + def_special sub_80E5970 + def_special sub_80E5C28 + def_special sub_80E6648 + def_special sub_80E67FC + def_special sub_80E7538 + def_special sub_80E6900 + def_special sub_80E6A0C + def_special sub_80E6C8C + def_special sub_80E6E14 + def_special sub_80E6FB8 + def_special sub_80E7058 + def_special sub_80E71D0 + def_special sub_80E724C + def_special sub_80E72B8 + def_special sub_80A0380 + def_special ValidateEReaderTrainer + def_special nullsub_75 + def_special sub_80A03D8 + def_special sub_80EB6AC + def_special sub_80EB6FC + def_special sub_80CA7EC + def_special sub_8053A9C + def_special sub_8053D68 + def_special sub_8054440 + def_special sub_8053D2C + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sp109_CreatePCMenu + def_special sub_80CA574 + def_special sub_80CA618 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_61 + def_special DoSoftReset + def_special sub_80CA2E4 + def_special sub_80CB498 + def_special nullsub_75 + def_special SpawnScriptFieldObject + def_special RemoveScriptFieldObject + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80CAAAC + def_special sub_80CAABC + def_special player_get_direction_lower_nybble + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special LeadMonHasEffortRibbon + def_special GivLeadMonEffortRibbon + def_special ScrSpecial_AreLeadMonEVsMaxedOut + def_special sub_8069740 + def_special sub_8069768 + def_special sub_8141D9C + def_special nullsub_75 + def_special sub_80CA804 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80CAB78 + def_special nullsub_75 + def_special sub_80CABD0 + def_special nullsub_75 + def_special sub_80CB580 + def_special nullsub_75 + def_special sub_80CAC08 + def_special sub_806E99C + def_special sub_80CAC28 + def_special sub_807FA68 + def_special sub_807F9D8 + def_special sub_807FABC + def_special sub_8080398 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_807B6C0 + def_special sp13E_warp_to_last_warp + def_special sp13F_fall_to_last_warp + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80E5E70 + def_special sub_807F998 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80CAD54 + def_special sub_80BFC14 + def_special nullsub_75 + def_special nullsub_75 + def_special LoadPlayerBag + def_special sub_807F0B0 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_8088F58 + def_special sub_80CAD7C + def_special nullsub_75 + def_special sub_80E759C + def_special GetNameOfEnigmaBerryInPlayerParty + def_special nullsub_75 + def_special sub_810B82C + def_special sub_807F904 + def_special sub_80CA630 + def_special sub_80CB7C4 + def_special sub_80CBC5C + def_special sub_80CADC4 + def_special sub_80CADEC + def_special sub_805D1A8 + def_special sub_80CB0A8 + def_special sub_80CB1D8 + def_special GetDaycarePokemonCount + def_special sub_80CB63C + def_special sub_80CBD80 + def_special sub_80CBDB0 + def_special sub_80CBDCC + def_special sub_810C444 + def_special sub_80CC7B4 + def_special ChangeBoxPokemonNickname + def_special sub_80CC2BC + def_special sub_80CC3CC + def_special sub_80CC524 + def_special sub_8009480 + def_special sub_8115A24 + def_special BerryBlenderLinkJoinGroup + def_special UnionRoomSpecial + def_special sub_814F1D4 + def_special EnableNationalPokedex + def_special sub_80699E0 + def_special sub_80699BC + def_special sub_810C3A4 + def_special SetFlavorTextFlagFromSpecialVars + def_special UpdatePickStateFromSpecialVar8005 + def_special sub_8054C48 + def_special sub_8046B40 + def_special sub_8046B70 + def_special sub_8046B94 + def_special sub_8046BBC + def_special sub_8046BDC + def_special sub_8146E78 + def_special sub_80CC48C + def_special sub_812B220 + def_special sub_812B234 + def_special sub_812B248 + def_special sub_8143FC8 + def_special sub_810B810 + def_special sub_811999C + def_special sp182_move_string + def_special sub_811390C + def_special sub_80CC4D4 + def_special sub_80CC730 + def_special sub_8110AB4 + def_special sub_8112364 + def_special sub_8146CE8 + def_special get_unknown_box_id + def_special sub_809D504 + def_special sub_809D620 + def_special sub_812781C + def_special sub_8127888 + def_special sub_80803FC + def_special sub_812B35C + def_special sub_815D334 + def_special sub_8149A18 + def_special sub_806E25C + def_special sub_815D9E8 + def_special sub_814B504 + def_special sub_80CC8CC + def_special sub_80CC948 + def_special sub_812B478 + def_special sub_812B484 + def_special sub_810B82C + def_special sub_8099FAC + def_special sub_815F094 + def_special sub_815F114 + def_special sub_815EEB0 + def_special sub_815EF5C + def_special sub_815F070 + def_special sub_80CC974 + def_special sub_814EA7C + def_special sub_80CCB94 + def_special sub_80CCCF8 + def_special sub_80F39B4 + def_special sub_8153810 + def_special sub_809D764 + def_special sub_809D8C0 + def_special sub_8147500 + def_special player_get_direction_lower_nybble + def_special sub_80CCDFC + def_special sub_80CD008 + def_special sub_8147594 + def_special sub_80CD034 + def_special sub_815D834 + def_special sub_8088F84 + def_special sub_80CD074 + def_special sub_80CD098 + def_special sub_811B15C + def_special sub_80CD0F4 + def_special sub_809C4A8 + def_special sub_81537C0 + def_special sub_809C5FC + def_special sub_80CB328 + def_special sub_80CD154 + def_special sub_80CD1B4 + def_special sub_8044838 +gSpecialsEnd:: From d08f95be8afc1b400d791f93b05fe9e8daf0ee7a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 4 Dec 2018 08:52:53 -0500 Subject: [PATCH 211/222] dump script command, special var, and std script pointers --- asm/event_data.s | 4 +- asm/scrcmd.s | 24 ++--- data/event_scripts.s | 84 ++++++++++++--- data/script_cmd_table.inc | 219 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 304 insertions(+), 27 deletions(-) create mode 100644 data/script_cmd_table.inc diff --git a/asm/event_data.s b/asm/event_data.s index 416c777eb..b49620ace 100644 --- a/asm/event_data.s +++ b/asm/event_data.s @@ -509,7 +509,7 @@ _0806E500: .4byte gUnknown_300507C _0806E504: .4byte gSaveBlock1Ptr _0806E508: .4byte 0xffff9000 _0806E50C: - ldr r0, _0806E520 @ =gUnknown_815FD0C + ldr r0, _0806E520 @ =gSpecialVars ldr r3, _0806E524 @ =0xffff8000 adds r1, r6, r3 lsls r1, 2 @@ -520,7 +520,7 @@ _0806E518: pop {r1} bx r1 .align 2, 0 -_0806E520: .4byte gUnknown_815FD0C +_0806E520: .4byte gSpecialVars _0806E524: .4byte 0xffff8000 thumb_func_end GetVarPointer diff --git a/asm/scrcmd.s b/asm/scrcmd.s index 24793be37..8053a5abc 100644 --- a/asm/scrcmd.s +++ b/asm/scrcmd.s @@ -48,7 +48,7 @@ sub_8069EFC: @ 8069EFC lsrs r0, 14 ldr r1, _08069F18 @ =gSpecials adds r1, r0, r1 - ldr r0, _08069F1C @ =gUnknown_8160450 + ldr r0, _08069F1C @ =gStdScripts cmp r1, r0 bcs _08069F20 ldr r0, [r1] @@ -56,7 +56,7 @@ sub_8069EFC: @ 8069EFC b _08069F2C .align 2, 0 _08069F18: .4byte gSpecials -_08069F1C: .4byte gUnknown_8160450 +_08069F1C: .4byte gStdScripts _08069F20: ldr r0, _08069F34 @ =gUnknown_83A725C "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scrcmd.c" ldr r2, _08069F38 @ =gUnknown_83A7290 "0" @@ -87,7 +87,7 @@ sub_8069F3C: @ 8069F3C lsrs r0, 14 ldr r1, _08069F6C @ =gSpecials adds r1, r0, r1 - ldr r0, _08069F70 @ =gUnknown_8160450 + ldr r0, _08069F70 @ =gStdScripts cmp r1, r0 bcs _08069F74 ldr r0, [r1] @@ -96,7 +96,7 @@ sub_8069F3C: @ 8069F3C b _08069F80 .align 2, 0 _08069F6C: .4byte gSpecials -_08069F70: .4byte gUnknown_8160450 +_08069F70: .4byte gStdScripts _08069F74: ldr r0, _08069F88 @ =gUnknown_83A725C "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scrcmd.c" ldr r1, _08069F8C @ =0x00000107 @@ -368,7 +368,7 @@ ScrCmd_gotostd: @ 806A150 adds r0, 0x1 str r0, [r2, 0x8] lsls r1, 2 - ldr r0, _0806A178 @ =gUnknown_8160450 + ldr r0, _0806A178 @ =gStdScripts adds r1, r0 ldr r0, _0806A17C @ =gUnknown_8160478 cmp r1, r0 @@ -381,7 +381,7 @@ _0806A170: pop {r1} bx r1 .align 2, 0 -_0806A178: .4byte gUnknown_8160450 +_0806A178: .4byte gStdScripts _0806A17C: .4byte gUnknown_8160478 thumb_func_end ScrCmd_gotostd @@ -394,7 +394,7 @@ ScrCmd_callstd: @ 806A180 adds r0, 0x1 str r0, [r2, 0x8] lsls r1, 2 - ldr r0, _0806A1A8 @ =gUnknown_8160450 + ldr r0, _0806A1A8 @ =gStdScripts adds r1, r0 ldr r0, _0806A1AC @ =gUnknown_8160478 cmp r1, r0 @@ -407,7 +407,7 @@ _0806A1A0: pop {r1} bx r1 .align 2, 0 -_0806A1A8: .4byte gUnknown_8160450 +_0806A1A8: .4byte gStdScripts _0806A1AC: .4byte gUnknown_8160478 thumb_func_end ScrCmd_callstd @@ -432,7 +432,7 @@ ScrCmd_gotostd_if: @ 806A1B0 cmp r0, 0x1 bne _0806A1E8 lsls r0, r4, 2 - ldr r1, _0806A1F4 @ =gUnknown_8160450 + ldr r1, _0806A1F4 @ =gStdScripts adds r1, r0, r1 ldr r0, _0806A1F8 @ =gUnknown_8160478 cmp r1, r0 @@ -447,7 +447,7 @@ _0806A1E8: bx r1 .align 2, 0 _0806A1F0: .4byte gUnknown_83A7248 -_0806A1F4: .4byte gUnknown_8160450 +_0806A1F4: .4byte gStdScripts _0806A1F8: .4byte gUnknown_8160478 thumb_func_end ScrCmd_gotostd_if @@ -472,7 +472,7 @@ ScrCmd_callstd_if: @ 806A1FC cmp r0, 0x1 bne _0806A234 lsls r0, r4, 2 - ldr r1, _0806A240 @ =gUnknown_8160450 + ldr r1, _0806A240 @ =gStdScripts adds r1, r0, r1 ldr r0, _0806A244 @ =gUnknown_8160478 cmp r1, r0 @@ -487,7 +487,7 @@ _0806A234: bx r1 .align 2, 0 _0806A23C: .4byte gUnknown_83A7248 -_0806A240: .4byte gUnknown_8160450 +_0806A240: .4byte gStdScripts _0806A244: .4byte gUnknown_8160478 thumb_func_end ScrCmd_callstd_if diff --git a/data/event_scripts.s b/data/event_scripts.s index 5aef19caa..bc5e09b79 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -1,18 +1,46 @@ .section script_data, "aw", %progbits -gScriptCmdTable:: @ 815F9B4 - .incbin "baserom.gba", 0x15F9B4, 0x354 + .include "data/script_cmd_table.inc" -gScriptCmdTableEnd:: @ 815FD08 - .incbin "baserom.gba", 0x15FD08, 0x4 - -gUnknown_815FD0C:: @ 815FD0C - .incbin "baserom.gba", 0x15FD0C, 0x54 + .align 2 +gSpecialVars:: @ 815FD0C + .4byte gUnknown_20370B8 + .4byte gUnknown_20370BA + .4byte gUnknown_20370BC + .4byte gUnknown_20370BE + .4byte gUnknown_20370C0 + .4byte gSpecialVar_0x8005 + .4byte gUnknown_20370C4 + .4byte gUnknown_20370C6 + .4byte gUnknown_20370C8 + .4byte gUnknown_20370CA + .4byte gUnknown_20370CC + .4byte gUnknown_20370CE + .4byte gUnknown_20370D4 + .4byte gUnknown_20370D0 + .4byte gUnknown_203AD30 + .4byte gUnknown_20370D2 + .4byte gSpecialVar_MonBoxId + .4byte gSpecialVar_MonBoxPos + .4byte gUnknown_20370DA + .4byte gUnknown_20370DC + .4byte gUnknown_20370DE .include "data/specials.inc" -gUnknown_8160450:: @ 8160450 - .incbin "baserom.gba", 0x160450, 0x28 + .align 2 +gStdScripts:: @ 8160450 + .4byte gStdScript_81A667B + .4byte gStdScript_81A67B3 + .4byte gStdScript_81A4E3F + .4byte gStdScript_81A4E4A + .4byte gStdScript_81A4E54 + .4byte gStdScript_81A4E5C + .4byte gStdScript_81A501F + .4byte gStdScript_81A676C + .4byte gStdScript_81A8E58 + .4byte gStdScript_81A4E66 +gStdScripts_End:: gUnknown_8160478:: @ 8160478 .incbin "baserom.gba", 0x160478, 0x886C @@ -21,7 +49,22 @@ gUnknown_8168CE4:: @ 8168CE4 .incbin "baserom.gba", 0x168CE4, 0x33 gUnknown_8168D17:: @ 8168D17 - .incbin "baserom.gba", 0x168D17, 0x3C19D + .incbin "baserom.gba", 0x168D17, 0x3C128 + +gStdScript_81A4E3F:: + .incbin "baserom.gba", 0x1A4E3F, 0xB + +gStdScript_81A4E4A:: + .incbin "baserom.gba", 0x1A4E4A, 0xA + +gStdScript_81A4E54:: + .incbin "baserom.gba", 0x1A4E54, 0x8 + +gStdScript_81A4E5C:: + .incbin "baserom.gba", 0x1A4E5C, 0xA + +gStdScript_81A4E66:: + .incbin "baserom.gba", 0x1A4E66, 0x4E gUnknown_81A4EB4:: @ 81A4EB4 .incbin "baserom.gba", 0x1A4EB4, 0xD @@ -39,7 +82,10 @@ gUnknown_81A4F3E:: @ 81A4F3E .incbin "baserom.gba", 0x1A4F3E, 0x35 gUnknown_81A4F73:: @ 81A4F73 - .incbin "baserom.gba", 0x1A4F73, 0x117 + .incbin "baserom.gba", 0x1A4F73, 0xAC + +gStdScript_81A501F:: + .incbin "baserom.gba", 0x1A501F, 0x6B gUnknown_81A508A:: @ 81A508A .incbin "baserom.gba", 0x1A508A, 0x3EC @@ -51,7 +97,16 @@ gUnknown_81A6481:: @ 81A6481 .incbin "baserom.gba", 0x1A6481, 0xCA gUnknown_81A654B:: @ 81A654B - .incbin "baserom.gba", 0x1A654B, 0x2F8 + .incbin "baserom.gba", 0x1A654B, 0x130 + +gStdScript_81A667B:: + .incbin "baserom.gba", 0x1A667B, 0xF1 + +gStdScript_81A676C:: + .incbin "baserom.gba", 0x1A676C, 0x47 + +gStdScript_81A67B3:: + .incbin "baserom.gba", 0x1A67B3, 0x90 gUnknown_81A6843:: @ 81A6843 .incbin "baserom.gba", 0x1A6843, 0x112 @@ -225,7 +280,10 @@ gUnknown_81A8DD8:: @ 81A8DD8 .incbin "baserom.gba", 0x1A8DD8, 0x25 gUnknown_81A8DFD:: @ 81A8DFD - .incbin "baserom.gba", 0x1A8DFD, 0x4309 + .incbin "baserom.gba", 0x1A8DFD, 0x5B + +gStdScript_81A8E58:: + .incbin "baserom.gba", 0x1A8E58, 0x42AE .include "data/text/fame_checker.inc" diff --git a/data/script_cmd_table.inc b/data/script_cmd_table.inc new file mode 100644 index 000000000..29850d685 --- /dev/null +++ b/data/script_cmd_table.inc @@ -0,0 +1,219 @@ + .align 2 + +gScriptCmdTable:: @ 815F9B4 + .4byte sub_8069ED0 + .4byte sub_8069ED4 + .4byte ScrCmd_end + .4byte ScrCmd_return + .4byte ScrCmd_call + .4byte ScrCmd_goto + .4byte ScrCmd_goto_if + .4byte ScrCmd_call_if + .4byte ScrCmd_gotostd + .4byte ScrCmd_callstd + .4byte ScrCmd_gotostd_if + .4byte ScrCmd_callstd_if + .4byte ScrCmd_gotoram + .4byte ScrCmd_killscript + .4byte ScrCmd_setmysteryeventstatus + .4byte ScrCmd_loadword + .4byte ScrCmd_loadbyte + .4byte ScrCmd_writebytetoaddr + .4byte ScrCmd_loadbytefromaddr + .4byte ScrCmd_setptrbyte + .4byte ScrCmd_copylocal + .4byte ScrCmd_copybyte + .4byte ScrCmd_setvar + .4byte ScrCmd_addvar + .4byte ScrCmd_subvar + .4byte ScrCmd_copyvar + .4byte ScrCmd_setorcopyvar + .4byte ScrCmd_compare_local_to_local + .4byte ScrCmd_compare_local_to_value + .4byte ScrCmd_compare_local_to_addr + .4byte ScrCmd_compare_addr_to_local + .4byte ScrCmd_compare_addr_to_value + .4byte ScrCmd_compare_addr_to_addr + .4byte ScrCmd_compare_var_to_value + .4byte ScrCmd_compare_var_to_var + .4byte ScrCmd_callnative + .4byte ScrCmd_gotonative + .4byte sub_8069EFC + .4byte sub_8069F3C + .4byte sub_8069FA4 + .4byte ScrCmd_delay + .4byte ScrCmd_setflag + .4byte ScrCmd_clearflag + .4byte ScrCmd_checkflag + .4byte sub_806A9D4 + .4byte sub_806A9D8 + .4byte sub_806A9DC + .4byte ScrCmd_playse + .4byte sub_806B094 + .4byte ScrCmd_playfanfare + .4byte sub_806B0CC + .4byte sub_806B0E0 + .4byte sub_806B120 + .4byte sub_806B134 + .4byte sub_806B154 + .4byte sub_806B17C + .4byte sub_806B1C8 + .4byte ScrCmd_warp + .4byte ScrCmd_warpsilent + .4byte ScrCmd_warpdoor + .4byte ScrCmd_warphole + .4byte sub_806AC70 + .4byte ScrCmd_setwarp + .4byte ScrCmd_setdynamicwarp + .4byte sub_806AE90 + .4byte sub_806AF10 + .4byte ScrCmd_getplayerxy + .4byte ScrCmd_getpartysize + .4byte sub_806A610 + .4byte ScrCmd_takeitem + .4byte sub_806A6A0 + .4byte sub_806A6E4 + .4byte ScrCmd_checkitemtype + .4byte ScrCmd_givepcitem + .4byte ScrCmd_checkpcitem + .4byte sub_806A7DC + .4byte sub_806A7F0 + .4byte sub_806A818 + .4byte sub_806A804 + .4byte ScrCmd_applymovement + .4byte ScrCmd_applymovement_at + .4byte ScrCmd_waitmovement + .4byte ScrCmd_waitmovement_at + .4byte ScrCmd_removeobject + .4byte ScrCmd_removeobject_at + .4byte ScrCmd_addobject + .4byte ScrCmd_addobject_at + .4byte ScrCmd_setobjectxy + .4byte ScrCmd_showobject_at + .4byte ScrCmd_hideobject_at + .4byte ScrCmd_faceplayer + .4byte ScrCmd_turnobject + .4byte ScrCmd_trainerbattle + .4byte sub_806C2D8 + .4byte ScrCmd_ontrainerbattleend + .4byte ScrCmd_ontrainerbattleendgoto + .4byte ScrCmd_checktrainerflag + .4byte ScrCmd_settrainerflag + .4byte ScrCmd_cleartrainerflag + .4byte ScrCmd_setobjectxyperm + .4byte ScrCmd_moveobjectoffscreen + .4byte ScrCmd_setobjectmovementtype + .4byte sub_806B878 + .4byte sub_806B80C + .4byte sub_806B88C + .4byte ScrCmd_lockall + .4byte ScrCmd_lock + .4byte ScrCmd_releaseall + .4byte ScrCmd_release + .4byte sub_806BA3C + .4byte ScrCmd_yesnobox + .4byte ScrCmd_multichoice + .4byte ScrCmd_multichoicedefault + .4byte ScrCmd_multichoicegrid + .4byte sub_806BB38 + .4byte sub_806BB8C + .4byte sub_806BB98 + .4byte sub_806BB9C + .4byte sub_806BBD8 + .4byte sub_806BBF8 + .4byte sub_806BC04 + .4byte ScrCmd_givemon + .4byte ScrCmd_giveegg + .4byte ScrCmd_setmonmove + .4byte ScrCmd_checkpartymove + .4byte ScrCmd_bufferspeciesname + .4byte ScrCmd_bufferleadmonspeciesname + .4byte ScrCmd_bufferpartymonnick + .4byte ScrCmd_bufferitemname + .4byte sub_806BE34 + .4byte ScrCmd_buffermovename + .4byte ScrCmd_buffernumberstring + .4byte ScrCmd_bufferstdstring + .4byte ScrCmd_bufferstring + .4byte sub_806C3AC + .4byte sub_806C3C0 + .4byte sub_806C3D4 + .4byte ScrCmd_playslotmachine + .4byte sub_806C410 + .4byte sub_806C418 + .4byte sub_806C424 + .4byte sub_806C428 + .4byte sub_806C42C + .4byte ScrCmd_random + .4byte ScrCmd_givemoney + .4byte ScrCmd_takemoney + .4byte ScrCmd_checkmoney + .4byte sub_806C1CC + .4byte sub_806C21C + .4byte sub_806C228 + .4byte sub_806C414 + .4byte ScrCmd_fadescreen + .4byte ScrCmd_fadescreenspeed + .4byte ScrCmd_setflashradius + .4byte ScrCmd_animateflash + .4byte sub_806B85C + .4byte ScrCmd_dofieldeffect + .4byte ScrCmd_setfieldeffectarg + .4byte ScrCmd_waitfieldeffect + .4byte ScrCmd_setrespawn + .4byte ScrCmd_checkplayergender + .4byte ScrCmd_playmoncry + .4byte ScrCmd_setmetatile + .4byte ScrCmd_resetweather + .4byte ScrCmd_setweather + .4byte ScrCmd_doweather + .4byte ScrCmd_setstepcallback + .4byte ScrCmd_setmaplayoutindex + .4byte ScrCmd_setobjectpriority + .4byte ScrCmd_resetobjectpriority + .4byte ScrCmd_createvobject + .4byte ScrCmd_turnvobject + .4byte ScrCmd_opendoor + .4byte ScrCmd_closedoor + .4byte sub_806C688 + .4byte ScrCmd_setdooropen + .4byte ScrCmd_setdoorclosed + .4byte sub_806C724 + .4byte sub_806C728 + .4byte ScrCmd_checkcoins + .4byte ScrCmd_givecoins + .4byte ScrCmd_takecoins + .4byte ScrCmd_setwildbattle + .4byte sub_806C39C + .4byte ScrCmd_setvaddress + .4byte ScrCmd_vgoto + .4byte ScrCmd_vcall + .4byte ScrCmd_vgoto_if + .4byte ScrCmd_vcall_if + .4byte ScrCmd_vmessage + .4byte ScrCmd_vloadword + .4byte ScrCmd_vbufferstring + .4byte sub_806C258 + .4byte ScrCmd_hidecoinsbox + .4byte ScrCmd_updatecoinsbox + .4byte ScrCmd_incrementgamestat + .4byte ScrCmd_setescapewarp + .4byte sub_806C540 + .4byte ScrCmd_bufferboxname + .4byte sub_806B7EC + .4byte sub_806B828 + .4byte sub_806B850 + .4byte sub_806C7BC + .4byte sub_806C7C8 + .4byte sub_806A888 + .4byte ScrCmd_setmonobedient + .4byte ScrCmd_checkmonobedience + .4byte sub_806A28C + .4byte sub_806A8C0 + .4byte sub_806ACF8 + .4byte sub_806C844 + .4byte sub_806BC40 + .4byte sub_806BD90 + +gScriptCmdTableEnd:: @ 815FD08 + .4byte sub_8069ED0 From 7a166940d0621fdeac0b16ddaa4de6f235837c9c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 4 Dec 2018 09:21:18 -0500 Subject: [PATCH 212/222] Dump multiboot programs and librfu_rodata --- asm/librfu.s | 24 +++++++++++------------ data/berry_fix.mb | Bin 0 -> 15348 bytes data/librfu_rodata.s | 30 +++++++++++++++++++++++------ data/multiboot_berry_glitch_fix.s | 2 +- data/multiboot_pokemon_colosseum.s | 2 +- data/pokemon_colosseum.mb | Bin 0 -> 163840 bytes 6 files changed, 38 insertions(+), 20 deletions(-) create mode 100644 data/berry_fix.mb create mode 100644 data/pokemon_colosseum.mb diff --git a/asm/librfu.s b/asm/librfu.s index 6995a9ac1..bdf816bd8 100644 --- a/asm/librfu.s +++ b/asm/librfu.s @@ -2769,11 +2769,11 @@ _081E0956: thumb_func_start sub_81E095C sub_81E095C: @ 81E095C push {lr} - ldr r2, _081E0964 @ =gUnknown_86FC068 + ldr r2, _081E0964 @ =_Str_RFU_MBOOT ldr r3, _081E0968 @ =0x30000F0 b _081E0976 .align 2, 0 -_081E0964: .4byte gUnknown_86FC068 +_081E0964: .4byte _Str_RFU_MBOOT _081E0968: .4byte 0x30000F0 _081E096C: ldrb r0, [r3] @@ -5794,7 +5794,7 @@ _081E1FF0: movs r2, 0 movs r0, 0x1 ands r0, r3 - ldr r4, _081E2020 @ =gUnknown_86FC03C + ldr r4, _081E2020 @ =_Str_RfuHeader cmp r0, 0 bne _081E2012 movs r1, 0x1 @@ -5818,7 +5818,7 @@ _081E2012: adds r1, 0xF b _081E202E .align 2, 0 -_081E2020: .4byte gUnknown_86FC03C +_081E2020: .4byte _Str_RfuHeader _081E2024: cmp r0, 0 bne _081E2030 @@ -6832,7 +6832,7 @@ rfu_STC_NI_constructLLSF: @ 81E2790 ldr r0, [r2] ldrb r0, [r0] lsls r0, 4 - ldr r1, _081E2810 @ =gUnknown_86FC03C + ldr r1, _081E2810 @ =_Str_RfuHeader adds r0, r1 mov r8, r0 ldrh r1, [r4] @@ -6883,7 +6883,7 @@ _081E27FA: b _081E285C .align 2, 0 _081E280C: .4byte gUnknown_3007460 -_081E2810: .4byte gUnknown_86FC03C +_081E2810: .4byte _Str_RfuHeader _081E2814: .4byte 0x00008022 _081E2818: ldr r0, _081E2844 @ =0x00008022 @@ -7083,7 +7083,7 @@ _081E297C: ldr r2, [r0] ldrb r0, [r2] lsls r0, 4 - ldr r1, _081E29F8 @ =gUnknown_86FC03C + ldr r1, _081E29F8 @ =_Str_RfuHeader adds r5, r0, r1 ldrh r0, [r4] movs r1, 0xF @@ -7142,7 +7142,7 @@ _081E29CE: b _081E2A0C .align 2, 0 _081E29F4: .4byte gUnknown_3007460 -_081E29F8: .4byte gUnknown_86FC03C +_081E29F8: .4byte _Str_RfuHeader _081E29FC: .4byte gUnknown_3007468 _081E2A00: movs r0, 0x10 @@ -7469,7 +7469,7 @@ rfu_STC_analyzeLLSF: @ 81E2C40 movs r1, 0x1 ands r0, r1 lsls r0, 4 - ldr r1, _081E2C78 @ =gUnknown_86FC03C + ldr r1, _081E2C78 @ =_Str_RfuHeader adds r6, r0, r1 ldrb r0, [r6] cmp r3, r0 @@ -7478,7 +7478,7 @@ rfu_STC_analyzeLLSF: @ 81E2C40 b _081E2E6E .align 2, 0 _081E2C74: .4byte gUnknown_3007460 -_081E2C78: .4byte gUnknown_86FC03C +_081E2C78: .4byte _Str_RfuHeader _081E2C7C: movs r5, 0 movs r4, 0 @@ -8877,12 +8877,12 @@ _081E3726: cmp r0, 0x3 bhi _081E373C lsls r0, 1 - ldr r1, _081E3738 @ =gUnknown_86FC074 + ldr r1, _081E3738 @ =_Str_Sio32ID adds r0, r1 ldrh r0, [r0] b _081E373E .align 2, 0 -_081E3738: .4byte gUnknown_86FC074 +_081E3738: .4byte _Str_Sio32ID _081E373C: ldr r0, _081E3794 @ =0x00008001 _081E373E: diff --git a/data/berry_fix.mb b/data/berry_fix.mb new file mode 100644 index 0000000000000000000000000000000000000000..0afff07f5d2314e2bd35d99de518cbc114009b5e GIT binary patch literal 15348 zcmd_ReRva9`ak?RGkKZ3v^{AWnzm^(Nm^-nO&CUKjcb1}yk*JW@O)=ugKOKI zy=j{ae-~+>qGE7#{=eoQ_^EL9>A!cZ`?dF(zgHT%o|*S}r}dugL$S59?%np;3ybD& z-ZpxOfBt??=7B}L=Fjswiq=Bfo;a+|8R3^d>+RcowR2tMD>>)QC3|@?yXe&AS0<@@ zrt_usXg<_rx&E1@oewQ}Ou1p#S2;gyC^G)(9@jqx_4pqz|BT`aZ~k-ttLD4^Rs8>3 zvatLAe>(Sl+I>=n<@AuM8vjQ*{aRUK^;zmfOB*Y*?~_j;cIJYro*P!xbcn5||0;H# z1gcM8X1}?-*3+P@j&`2>nYH=#S{(`oaIIzr?=(yWbRc{S+EI16a#v~GG{seFe2M!?Y|Nrb4{V)V1 zgH48#cT$_%9XsQcOm>(=2L;dM2hhed>~~U}&54BxkWJ`6wP*m}3VsN@rkn}!B6zZ& z^}*fn#3_i_bjEGx;t*vd87-$CA|*Clo3>6^P9Ysg*NCf6`3X$#W2R-4lvK+h$tsyN zFwxNH1heH-LdXM?F_fBMvYgU~Qeo1BQs2OGBAEotcpLl0lLGc|v@s3=8_!U5NEB?a z?O7tH)MGF+m{l%Bvc&Ro@J*4Xy3Ex`$gHS{WJ(DfBAJy$w95{ZqyD*EQ%?rU9YL;6 zs9TLRmbq-TX|!(x!k@r5V{|imH3F=fWboc+EMyfM zJ~&Q@&S3K9X}g{cuSs8FarhzWX6h@`n*=zTOGG(MrudM2h#6jjF&Y*5Yq3NYRUVFH zU2>wm9>^8ClX-hRB_)DP3b}l05eIt2!gj60>;OEQij7Bpvg4#3^@jSUVvuf#e4G?w zQ}M4yiRk^1avutGO}n<7M}2}%je)F1==zCV>(*@ zPBFqchWaO1yKj+0L9X6g_W9Z7C=U_VrnOM5V0XYA36E|j#QnKR$4?ZPDks+sQ0yJES`EV7U-bQ&!y%b zt?NsnM;*|{R9(Cc^L8`oS{~4e-mhtUV;eLMvCfo><9I7Bg9IfzQ1@7%h$mca9rzEy ze*(T6y#G7!It}5X;A`u_&jT-lp8#Hx*}RBQ4i3Q-6zYgqh-lu)#dm9Yj}U=AC`8nO zHr2)zX|VJ`EY(O$%K&yxGdcGL7Thu-@e5H&`4F9}p!*7P%eph-fb#QIlAGEs`7jqs z?GSW8;-#~70Vw?GDL{1#(C(=gdts=gWf;HJtpdJ93pK6Z=#>v3v=b20doa)K#t?Q;4>}A@M6}W*nu>Nn$0f$b@W+tku}X%qjN zboxYtE>TLfe$gC2&O=$iILnE&V4YpVwz*m4wCX_q-__&<(%)0(pf->jFz%P{qFFM3 z^#l!S9OPgmR~%1M2Ya{)2JU!~LmhahbFyCwc<1Iigb$w&%u&QOcWdvuYXaBb4xPhW zuMVtJiPkY*H$E{66B<;FBU_i9SjrU4N|noAp6jS^;pSIVvejJjEZ}W7&VraLLmddI zM0s}@MEPu3H&cwVni@5`K1n2^L~?cA1TI^0Tp%|&z$>t6kc(~(HtkGKbU-N{q}m`i z$Oi@4>kiWIEG8!W@HQ& zJW1QxdfcT^MF&y1vm@$&No`IYoHIgGT}V|&np2f0Fi{;iDUHqFu6Nikuaqq($y}-U zZ(OPK~trq#8&lRa~7}kO8!-14~AT zQmGwQ2bPT#E>Uy~l9L>xNY1GdE=NPN&2OOU_L2OR8Y#VKMIB6$5z<#Lr4L4PnHX;w z+0ATW)Z2vY^c&=WjD<{?-6jo`oy-l7$Q^`uBM7`ifC3!JbDsK#mLflG|-BrtVc7w!`YclbmPIi25iQO(f*a zJ#hb$-yxu%>1whtrRs9YL@|zNw`Deo@_p8nxv5WCxpNwI;PVlY3?CjwZj{clREQ3L z9<1}!q?uH2k;cIEvZXP~_|4yiT4BhBU*D~X@1}WKaN5r!PRj1J(e^}Fqsi5nh+v+E zwKgEn-9ru8nqm8s#vaZRU9=?1nJ_+4P0?3cmc2$3_6WT?)?#h;Xkn4c%%c8Qm5-LE z%&qRH6KT74W(m>ziIR1h3uA*#jObB$1KG*z>={sWq|Dp$;dSS2H&2CPC@Eg$P4Zl} zOg>hyJY=1g>yfPG(HZxQ!`x9DZ2jhLTs{FVcT_i5&IM)5W?NiUffv_W4`+)G4XiyX zA`a*@iJEcFOUHHCL^J57)XI6=PKp!7xs+|_L#o|2m2_(x$lTCVnsQnd|IKo*HMGpz zF6aCL4P1FLEhpu&u|%E@KC!$Lu7et)Ja@&+l_vy=@-&<6)v(Cfx52I5xSG3S2!7{I z)*ckR^0+`kS_L%orwD`_HxZlS(1py<3-+c73XqO zWTT6(Ag(PEeXuUAH~A@A2&;oyn?8WmC|UJRj7Ht476-Zs`6d4l%~0C?N!ZMpbwPbX z9`xm_ixax3W7*Wv4JqR%qGS?AJ6dGR{!ziyS-DLD!zlXMlj_V7!g+J$+@?g0e+Nc# zWin|}ge=WTuA+X|ptnB({gQdijY7AYqYuVSufZ?s>x4+IkQkY^HIf{H=y{^@koHwIZ)AL*U65`&tP|y(}-jCdNHjEqZyL& zjE8PpvFXU-fQ73&XrC8Q5+)0;NYl0@c1ag` zYw&n-xoD3h8_#7P5RRO*|0K&BHx*wxn(JViZR7A&V{nmO@W@4m7!)c#6?*J~>yW&P zK9;;plbE*RiRg%Cv+i)(*Lz2ZxLBk6nws7pQA_!#(4H7f;yZ=&J-*FMyoTt_&Aj3pY9ZK{y% zw)^t42I)5Ux7k7vw_au{Uytg!cUtaMRpqA7FZ3SiRfjJ0zTLZ~$%X7Ay-4Gtg{w-R zc)NG@<7w{Rs)IDGBA}TXLG}be*A{rO_@p82ru0BjT5^^5#uwcu)1KyRUtV#atXR*@ zO>9kcXDh zdWY!RT!^h2a~;*5Sg~0on>A*$P-zY(V4Y;=a_cj4uD&ETT6$b#bp~;j6{|)yPNWAe zSVq$g)I&FrVOx%Ow5&leH)42johNz9t8}wf*{qz!GL2bER5qK9<;Ebt8c*f8iBcnO zOl*v7{A`Hf(|Gq&FN8Mi8B#X1ZD3lT7lRspkEVQWvHn^9*2MU8Q@mWs9oJP;(UA|6 zb}-lRNodB6RZW3x?xsk)26{7cT(f^llT$v(uY=Nb*_&OLrSBn48Ot5z(8}JrgD4K* z3H#P2DC;iEDQZDoYA|Fcs7oy;lN*aii9Mr`fTrh*EzHSqw>Ig%J>r4GJTt9syLal>&g?XJE#hm#LkoO2FO-YL)B)7Z8;z?^$7&=|mV z(5a44m2>-4w2!}heVvphZb~a}EY9fBkQ{quH#T*`7%FXS%G#2P4>-;|wa!}kDN>t- zVndIG--$XI0dCqsd#=NvX=;*mB{v0+90$ga>Nb|EE@0!M#nv9;&cf5Q_`tJ=Y0P@B zTI$n0=)tDQW=CSz*u%7?ckuc;yVx?vF14g~wtO?_ZApGB(n7_SMx_NU-DpWk={BI{ zQL=)#B1y{Tw#_a)&m67EJtS|eZn;zpxs2-x29PId_}4JT+S6DjSrRXk{PFFBvM`y;N20MXyVF?8K@QVjNJ*|j673M zF^?I{{5%snujOWTmP>7SX^-sP67y1bpb^!LOYNZY%4A&%cne16WNTsqna(P-~W~xC0H`9Xa&5sxBju6Y|$@V(mQEKKc z58~k&hf+>UykiD28{G~bZ*s>4jf>xyI9C(5>q>`NSD8C!{W* z4s4-=t|pDsEiY{3ighO-YVpCoED6Zkz#mN<_-#gGaa&d;$+dRVDGxuMdZSBPsC9lz zt3H~n64R!X`#v9clH_ifqKVTPv?p}wOD zxtF;fb2(A=Yu?eo92XhCqkObFuS`>-5AHyTeoRFz$`lv`RBHC4(()EzS5vCIRf6cS zw9PL;yMAVn+JtVe%k~u4GlmapRz)3|6B5Ttoi?BAG)d(1tj9V{2hf3fncYQpr`>iZ zjTkKPacvmuWsJf@n%B}uXVUq3d*%gZ1xf>A^j-R1X0RB^u+M=|mu%0l2Q$hwJB2sl z2_j&U)5_(526anh`)qsgaUo!+7ldD$Bm#%GNhtBkDa;9urUWU*b10w;h_^E4h`HyX zrig4tBq=y2K9pMxZUCG$K?OO6mnyV~RwZ%wNd-!%g;k@UUgi|K^B%BENx5 zA|#(o+f+Q*6W$M{y|pdDG0Fj_gV#9BNfn??NkKv4U9Aag<@#^$+Ws8yd4Ld(<)!ri)$VS<)r0a7^Tod>a25*={{D#@F6 z$)4}HUNb`%RmC<%+(JvdJY&sFjv90&{UW0)tvyJZ+NEo*B;Ce z=dAIzcjAz8KsoR>JrKC|&0og;yof_N5IsO1d_r=q77whquWri4#|e{EX-O(AiHe&? zIchm=Nn+~;Ds6zc;XwiIraPtf=oXE*CFv1{Q$sDxvTPPN^FJH5>W&v+bJvK}Hh){( zyE&mn_cN~J;!&A@R+q?4pvR1p$~i-=?dR=@8#r?c#wh&HdFB;WD&ZU$^K%a^|G8}D z*z*aF)OeXiE-PM(GTzJjAEqc3?sV2h{t zTD_is!b1|@EH)XtMNvp_oRFq{FH6%7GrsWe!;&{(&)%}?>*hAwERxq`o1HJ&theHE zQj#a9Fintcj#?{g-RWXf)~+{4)1!1B^rPPF9!@MDwTMR@FRE@RZ_8vk%y~`u5EAx1{&B#ch0Ol#7n zl@lqA%bI}7y(*@?yEvC^e%z+&> zI%>d21RtfG8E(l+Fehv~+`L^*o+`C~wi{>eaJ!=+gUiNRa`ncjsISc2Ktw2CGmKWy z)zgx6!^f_d))wouM@hLP-fL+Qo4F61s`CMipVTu`^uPJx)s)BR(XOEy19|J(-=eql zL0za$kg4{){9TEo9On4OW%F(C=!d{9I5(bm`Vv#J8mu2LUy+=7k-&J#HDYKE|9NFy{t?YCQ4k}2T!-7mX*C=&&Tdz6#>RAeeqNb445Wt%N6CvO19NFqT*xT`RsdA7JoU)E49u zQ+xBFbgr#gIV2t`6Gvwq6A!VACq2dNOy*Rf?lZ=J?KV1kG`PO*=t}Q;t3&$&^Oq%R zD#6xQkV>S~TVNqKbGgw3mwqwP^H+*WGA%bl30?8NX1v@kzozpa?%poPw+F@TXP6zH z!n!w#+l}I~z)~#x;<8@)Ait0B^}0OW@szE4tc8+I+Zk1vb9 zsXsod%S2NR*Vi@K^L=fX+uoXX`mA?L{>9K14N8=j_U@L-zRJeRJJ2%vWaT`LRNA^K z|AI~VmBxvgv}@K6eX|zLQr=PC`Db5MU)74L+b!x~^IQ7skEixk_)r4O_D)=aH4KA2Q^uFlFmm~OB-lGf}`fnyt5?6+XO-Okl- zI^dl~>P=~RNyofpA*bQNkn8sr>1b%Foc)C|gJu@LBH4n{jsB=nJTB~TO%YsE>d2J* z#wlcao|c@+f67%zgTy7jRJ`u)!JadHg&Pa`lEW!&?Tw_62)re#S?Pe=2(7Um`Y|}} zi+|w2G)H>v^8nSYfsI`e&tEdeni(2YBSMNv+QWk-5Z!|g5HG;)lAtaA}-|@lgsT%~k z;u|t~&wE=x>oLxyYu+F2RL_znv9ZeoxohO2HJ`%cwRYhp*@_vR0f8}06uccgV}P#F zO$^^L#!32*X{!x^pAS9)zK&Hz8FB7G-a^Jwe;F*M?~->JMT9S1^QV_A2|N+8aBoVM z&m$IIvb-3`T!0J%={6XSpS?X1ck>@~FY!8)8a_`Dkha9@L&6hcLbn)3!b}$S`4Hn| zx|4o55V#gNQI-rs#77`N-u!Mh+AYo_>`0ID@&Elkd+kg5nDo$1%0cDevCu(p7bkYH zaD;z`SX_aF=puxBL*i0TKk6OF~tZWwTH0Sf^USSc(Zl!SPYUNKb! zMfFN>Qc0RY)1)P$Nt9KZEoRU(k%S7pGrU!jNsar&DN$!+zvPrE#TN0X8ks45-&xr0 z>$FOP^sL{xm`Hlp3cw-hv*Mk4#R@RaxmjR?X>Q^;Iq6m0{JdA+yj@Cqk4xbsbAoff zH>vx`GhTh@l$6vbB@zBLZxUrcMJZ{blms8ob?bq<;Z_^g()M{bK%-uNo9;+u083L= z)l7V8NivrG;GMO2=Pdds?$sMjE7;xAABmc$*u(^%r1hzCVymbhiYBs|BT15MYz5z} zRSYbq*3_ogvOOmHIO3egC*GAPut=g_^A7`za>72CnX8}3rZdUim<+IcNr4Tcz%w!0 ziG#(DC&-{aV+mS>7|?|EcpTUOJb@=c|A?nZJ~rZMU=#2Ro&}!6W`v%P z`j`vmOG7${ltG@!L{=mtF4NaSzAbnGEv(NM@e*EULd-PEi4qIX7`pX|l5d*9FMAIe zh}hR5{;Q$SdqF%yjq+7WTNA6D$D_nsq9`SlJkvq7TxXorbU4X_F4miyQFqzka==)J z(b`?iHew9MYR%)>u?d(6FY*CWfI>_HCa+y2mv(S5pcPwzSAcDJ6|VuW1KaTi-ef23 zz)t)LZ?V#!u?ub3%}#$C@38P5+7%zT-(ZS>B1~nZ{50SO+-Smd_~6aaNqk7#iZ;D2 za_7wTr;SjZbirj&$ea$wUy@m5HmM>Z4M;Va zqv>PkkXka2+(hQH(#_-+vVh>XAh(i*Bn%P(Swt2SEFrg1vXnfHhR?|t1b-(uOuAWM z6GuRfl7Emd3Gfy9nj9m?S?L?{E%}a|V4C22(o5n5CkZ)4PLm%%&QRar;)V;7kCJ;D zI?)9I`>0iJv_&3f&WGZI6%B{dXtnYjA2i%AI zS?K}h%(58TgCMJP+{1VT{g2804O|~^0sX+QjIYEc41i^S;4-e@D)d7J3}eLFJ9x7z zHhr+c|0F+hPaB-C{5o*=6JCAsiGjuEp2_ibmPi-HTjY-$ZYOtu)R8+uen+s3+(qsN z`MpS%8;4ea+(U3L`2)ERDbyp1%;fFM4CrGUe_T|T`#8) z5Ocp6@4t%g8n`ka}trb*!gbaA=xB{m9Aq!&Rl{#kTHx$9|tlXWCEE;L@!C%&EU->g2`U; zo5%vT`eLM&U@LhAWE**v;5CBR$#(JvVakQnzXhkQtwL$(*BgLINEkbNNg$=?V*CZB*DAfFO)kbLGNhsf7|cF9-f?7z_X z*(QC#rF*kG21L^2quR3_LPO$k12xEG$$l{v`4QiRo5k`1ePLh2d!diD15do}vxZbk zUvba^rR3S**=?8pqLloglnk7e5+lB}RIrq!0`T`V6N?3H#BFpJ6cnV>YeN8N{ z$y#V(c?Q-3oEMjN7NREK-TbO%={Ryo*w>6K#oxR^$=nL(g;-zssPYHk>3r{VR#%_s z>wBQBzoWl{g}IdB)eSrp8=me^tllpRLpGDzSNJMJd|BjEIMwbfCD!M}1?PpA`+faB z(w8@)BzMkWc1DedL#xCFD|h(UaP!|h*wbcI73&Y=h%F^01cq3DRWI(n)J*TW#I$MO zXhpu~k|jnplq$W{&#po`_HoVug={=TJYm!*y<2@smnyV6l`Kn|#ph;=Q&kGCp1QjgS7L@mB}xCFSkw(kv@d`)B(k|cpE}|{N7saSInlQ^!6&@=CO>?4J(~WM;l?` zz=6qK1>73$(P5k7yoj4s$S*6sPdk-f6n2ift-;>FX9m)Igedrg{Ul)8R zf)tu(3!l0ZFpfnNJ#I@O@>`t?^dt6V2hHQE9)O6cl1^-V7^Y_?yNq!)g}OF?Vp!kXvMC9%9rUx?Qzsd^bL2 z{u3U~x{BxMk65TucC5CCEISn9#b4G~Z|&{xn7IvwoQ)}#AG;V@@C~EWaRKxnA$_N8 z-X`ljy{=A}3U|XtrzB6A8#_hfK92{#2^m-6Z6|HOOC6%XyDu!{?{{KYHvFYiO+0_f z*@xa=doR3v+UF&t-#6H(GIT9Xq+hx{t6Wf#*-v?Kd!a@n^S@ng#UKCX22{7SIQ)kg z_HujO7}wPxC#HS_zMzBc3=j8Gr_;aLinEgbLRgiUk(9Vg&U%(+=*{bI*d2~@ERD`t z5GhD5fW@lri}aiOvts?R!jJjxkkCmBrIn@w{QmEaYgVGxeE#~}=P$2!r0d494qg%1UcHogv`? z`;Isn6aL+D_)BX`tH;*b(B|_eyyeG!7?LW>z*kqJ&0k{}OEdl~GGA+=1-*GQm>Q}6 ze$2yd9SoJqN#{a5pPKc~Bw~3D7Iuai2K_K`hNw4HjkKm%nz^5G zi^vl!ExSk#jU5U}rJ5+R%8=EMwlI~*_t3*uYg~@3j#ex#P0sNB`GQkUnTW4c$L(wY ziuCddM-`31d6Rehc`+737dO487@=1gR^?hmTMY$YR+CawU2mgrJFEF;7yD{zP`x*@ zunY@#qgQ&EUPp-y(`s$4vp4zxsfO%5`HFg2bG}c-V)D@=1i$ZzRez+Cf6CmCx%{Ki zJLp_AFKP7+VGEDd-tdL66y`9h#{UubBZKGPceO5JCzZi6<`1_0D&GoRZ(*6EewO=u zGVZi?B>uz>j;hU4)HYO|Gwe0YePauL<7mT;>|Pp~!_)!3^t)uah`sn!O9 zSjrE5F{+NBkr4&^ri+W>7ThFe&^%CDpaz1PAM4_Mi5(}%<&V@=0NaB_*dYyD=@ojCxiZbqz zHgx8zrKNrn7e(Jf$Ji=ut)7>JH>e_0k zttH7}JhB+!&PRIBp9<&W>#JVgd6=7y(<-^&#!xEss%{pEcSo2WroBgpau~!;A5nU@ z`7F2vKk~j$oCNpR>;hjZ>6t(lb;hixQ*d^=zeX$AMsQ}4LJq6n2sm+K#|g^s*@GR< z6B(9fen>OBm86Z<&Y6D|#y-XO{3iQZD2ok`8LjF#Ql&Uwn1+b1O4hCIE>@M~=n0rd zDZMYWFfU%QjhQwS;=lea&W)++bGC&Gs9QDao_ugmUlw|n#Ty_S=RggeR@|*SnfYoH zGY=~y%EgA1-n|R-s|n&ArqKoYDqD(5e>1OibZTbyh1$NB$--M< zZFPEx>$_MobDYh-sE;x6u2-`mqX3$UaO&9E`a4IoX z`Axw(%qi__Ff3-Fd&gNayDmf7yB}f2>gvCH69Zy%A5guIFx&X)DrSoBdx?!fP7tq3 zd_R2MVMT4ev&_~P-iLDy&U}`7BZ#rAr%+t|jYEhkj$ehv_n0oB!%KLNr_jPI*I@5^ zv8$Iz_*35{$uL=`MPTXWn40=t01X4a&fuWjhM3ZE^SxI@9`yEsdks#=up-myb9n~1 z*p6JK_cQ$Iee|jWz0Y?jBjX->2?r|mx8tG7j~k~ezAM7FQH)%Xoaz7m`9ipBXFNH) zF_XM>N)@JuG2~OOmwClmKE(fWwGVZDu?1YmT&IfxmHaI$degqqA7eI)ZAJnmb2xmo zm-!STKYTUpvTADBxE{T5v_SKbplar`)ZuSCeieN?h5O$LUsd7=$&u5FE7D7tSywXE z3;Hjg&wOdzUd$)alZRDJ(iM^H0hAJSnm?9!kGl}={KEd6xy;b%O0o_W6ix^L{AgD1 zV%R}UU9kkNw8V8ahU!!%hu30Pe*>hNA=4q-)5Mh zfSk`tXMMw8cyYy4QReMZtgs=0S* zJlnT@PA6Z;)FyW)SBpm;VNhkbbr*dJlE_sF(g;VX57zg*Grml!ex4~~_f_%^{VVdf zVs>}TQ;3=FL$~LTez;4D>D{8p7oN8=*Wb&+{-Nt&@kueVZ>5L8KKV$ErL}NcYHE!;D_8*U`M<6)9olDfziym&QEqhyE=tL@rX9bzIH~qG7n3xPmDZNj z+<$Q-L(0utRh00U$l|8w%O0+V)EWjxW#vv7R|~w>U~6Lx~ z&~mi3mf?>G-6;CI9EOI zp9U8fW{ilQ{H_#PZOjB%YLfn};tI!}r&!(-v-UIZB6fOsU%225s(-|b?ga&5ri)MP z+`Y&KA!d_e#$O*XpM(;dy}wZMm%&!byVR2n5FE{fB^huFvv9lR%kv?9SC;>2{r+S9 z9f_Z6ULt(!-0zo9aSA^|4AbQ}e?EdTO-AdI>fODlakA%yoJpmy*=qOua6iFHa+>$s z%4$(viW6)tWt%z6W*5D!+(X zKg~XIFI`kia9vbQe)mI`HsWXAFrWQ>7h+{)UthiRm!F%BU4M~Az2oxu;CAaz zq#6c%j7!z`UH5T^83P4)_*37s$5HM>I3r`Y9y4O&B)+v%k9!5lHCn5(E!)<+{$<8V z;N^o2$iiLQaZ9YgFkDbbkQ=$KsdpvYo-xz;F+N%Kz}n2;P?+D=fG%J6Ucb-kVnJcv z?IL3;5PPhb#eJS{VEXWrtg3IqQ}J}{e4F?}LkEo03-oHY`T|})=X+$Q^3i#5VToZ} zmWyO%V8N;|GhT)(vhhY^xxrbqID|m6I%NDE#-UBMbZ{-ERGOWJ zhHstfs_#W!bMWQwVv6Q)S4>D??-?gx3D>K3| z^+X19L3wRYet4?x{-{x*3RSOt{LlCQmWuebD}Z>JvO|(Wn#tVH6z{dV|Ib&0u>&TR zY82Oh5BmSTi{bxn%FVVX}*GIZnd) zw}4-lMYvYX71=o1LjWwc5fSM<#?J}%85kciQJEN-NI}=or@Hka)BW?67NtdAb^`{K jWrXp`R$y*0h&eSS;dx$fei5!G%N1T>ZW((Z5BR?TL@#y7 literal 0 HcmV?d00001 diff --git a/data/librfu_rodata.s b/data/librfu_rodata.s index 867a1a17c..c6ca84f4b 100644 --- a/data/librfu_rodata.s +++ b/data/librfu_rodata.s @@ -1,10 +1,28 @@ .section .rodata -gUnknown_86FC03C:: @ 86FC03C - .incbin "baserom.gba", 0x6FC03C, 0x2C + .set VERSION_MAJOR, 1 + .set VERSION_MINOR, 0 + .set VERSION_REVISION, 24 -gUnknown_86FC068:: @ 86FC068 - .incbin "baserom.gba", 0x6FC068, 0xC + .align 2 +_Str_RfuHeader:: + .byte 2, 14, 0, 10, 9, 5, 7, 2 + .byte 0, 15, 1, 3, 3, 0, 31, 0 + .byte 3, 22, 18, 14, 13, 9, 11, 3 + .byte 15, 15, 1, 3, 3, 0, 0x7f, 0 + + .ascii "RFU_V" + .byte VERSION_MAJOR + 0x30 + .byte VERSION_MINOR + 0x30 + .byte (VERSION_REVISION / 10) + 0x30 + .byte (VERSION_REVISION % 10) + 0x30 + .byte 0 + + .align 2 +_Str_RFU_MBOOT:: + .asciz "RFU-MBOOT" + + .align 2 +_Str_Sio32ID:: + .asciz "NINTENDOSio32ID_030820" -gUnknown_86FC074:: @ 86FC074 - .incbin "baserom.gba", 0x6FC074, 0x18 diff --git a/data/multiboot_berry_glitch_fix.s b/data/multiboot_berry_glitch_fix.s index 0e4bcf384..bc417a8ba 100644 --- a/data/multiboot_berry_glitch_fix.s +++ b/data/multiboot_berry_glitch_fix.s @@ -1,5 +1,5 @@ .section .rodata gMultiBootProgram_BerryGlitchFix_Start:: @ 86FFC6C - .incbin "baserom.gba", 0x6FFC6C, 0x3BF4 + .incbin "data/berry_fix.mb" gMultiBootProgram_BerryGlitchFix_End:: diff --git a/data/multiboot_pokemon_colosseum.s b/data/multiboot_pokemon_colosseum.s index 64df89692..bbc47a9e8 100644 --- a/data/multiboot_pokemon_colosseum.s +++ b/data/multiboot_pokemon_colosseum.s @@ -1,5 +1,5 @@ .section .rodata gMultiBootProgram_PokemonColosseum_Start:: @ 8703860 - .incbin "baserom.gba", 0x703860, 0x28000 + .incbin "data/pokemon_colosseum.mb" gMultiBootProgram_PokemonColosseum_End:: diff --git a/data/pokemon_colosseum.mb b/data/pokemon_colosseum.mb new file mode 100644 index 0000000000000000000000000000000000000000..2ff3f88bcc4a807954e3576f354e88612ef68bf9 GIT binary patch literal 163840 zcmd?Ri(?a2+CToBnMr1HYbH%glXgl^(w3&Qr73Nt<+7x=A!!Ruxri>hq=IkLvMxbH zg1C}WF0IH*xe3U+7J+RMl`68zs!I`lfo1nKS=>cLB(<{Db$1;F-z3fLd%CawzTf}h zM|zSc)9Fld&Uwyxp3mp=Fb&}EdC6B>JDz*dG-u0Z<(4lLujul2931Z2WIDR=_r|@7 z|Hi!7*cdJ-`^SA3zbxN8`rqfa-o3T&znc{2_uc#Su>R43*b7_cuRZ#Q=i2T&aI_#s zAACGF`(hi-yn64ssx4p}NQoyGCg|1st=}Gq4sUh+)t7%_#qVjfpz8C;ixtVYe?r%L zq3=qMZsxv+ho4-rU7CIBulZl>s8YWCsOh6H3;)l*#SM!VTg#sPzegm1ROlZCsc^*N zf8ln{54M5W0{_Bo47)xD=(?RoY;CZAM3*cb`7W9KyXz^S`!@j{Bdvx43YGVdQnR~1 z2fX+8Tm01#fR+)ht>i02uJ;yP7%>~DAPo19`at)20YD}*{LJTw*m*zL6tPV|*bK2J z|6p^(&icXTiEa47#>7tl!L|`Q^#>cNb)Rd0uqk4ze>|?zeXjWNII-nF9#`r?cuOdLo(3e4Tve?rhR8_`MN|N5LWf!U$NkBe$#k_U@NIp1bFVbG78y5WX<-*2HzBj*-daykI+`Jo5nfGumdY12E@{VUR3g zjU%Oz7dW4$F~!cihOv)vy3}@!!iS%LZjiFVi7_hznxlYWNPD9J z;3ELW;6~K@pynKvwQr17K~NW-LANVAewMVgH?J84eR?jy}bnwvBaY5#Y! z{QuM9E0h#HjW{`ggd~)lc>2E&9-*51?rk7W<>BE+Z~Fh-so$nDfa-re=|@-cf$9fW zf**Z}`d?=PdM9lC!I|JkZ-O7)iTk%dwGelLAN>h_bSUZvk5c8mWK&U~GTBrNs3wy) z9H_EvDjrk@@&&6zRb9?lF<$%#GT5)<~5@S`*I!RhX7 zq?+&r_|X}DoZ&gji7Ae9tB_s|KYGJv`1;@8fN~(6%zS6j9$S$X^vwUdz&xn~k4%OF ze-T9ioRLcf5t-u>cx`g9C;~Jz_85>CnK&OTaXBdJJ`On0HeCWeWkTSQOS%XW05CFB zQff?TcBr6)@+u(*zzYmtCoBI07R2Eq!dA*yIrfJDWyhnr9Cr0at`)(+sdxhadrPmahI@Tana zFT-6#y^%ptZ~1`!vX!DAfvLEOfiBK;+-J0znDA%OB!Afq6!CkI*3brlr; zD}V)yhXd(Wl9IN^EaaLdPCA{;20O~7eS(9VSP^{YKQlV$$+UCC?=!KTCNAyHbSTJE zW2#pz6+zT0XrxcZGr-PC`y-rm87C)!;@$*E_rN$KO&JHvG%6sIK1s?@mK>yK!eGe_ zr1aI?pXujWTMDYOP73m;05J>z#cWCf>21}=>S+}9N1*v@|GfSTWZQt&mBSrrH$*-h zONOQ<|7aQGVb{b@V=B0xnV#z2L;V?)TB$1rxC(rbuUY_kR&axHhH0jt0x2!AvI14g zpyd0T2!jc_(QDPwlVk7O+I2H*cY)>4>>dKVm`Ck&O*@U+^}(Zj4qww!66U{cscGSK zL;O3sQRz$zh@v?B1|w)dz#TrZt)myjmBB)9tS}$^u|n$8XrUhb3xe@NnLmLG8({_~ zEl4baAgZ)@YY^q5O0kd(-Ap!`g2RxMEuagiIUwx~R|#c39AyJb$UleLHROX+sB)TM z@uq==^`}{=Pqko~>^B9|Ee!Z42i;!0{#8oI47#4+sEZWXaT{fKwWa!CMzaS|>Zg#4 za_UoWJkx@xW@fa#h75K`Kc9HwJydFB*AhZ02r^Y z0nyZE7hP=zc;}#aM3mk^x_4k+>WA}0AC9LNbhset#8D%TLZndcuMH*&Z8jYGbG#5pfES>Q^Dpb*)!rce?Pdci+s5lc0bZCc)3HlITp%`x z!8f`<)Czr~AQ+&DlgyC~LIyP1#afY*1S(Q3aAj#WO*%yM^H<`{;v!01Q6~r%>fP$i zh*e2z;&QB+>BE}NI1>J|7T{)z&;vGu4`8AAXkA~en!72p>tIZ2gpI2Yg0Apq2hP&IphX)C{gzebXsYoK?&bIrWe|`J0675$t(A)){SBy;mHdz8W|dj{QcVN0 zL!Q@zv^FK|a&R_}Q)NAaFe|~7q^dCo^FChXNHXiP^U?($pPrR0_EEC|io>7E>|i2O zk+CC>wPx?)t4t9*&RFYG9O)1894rFuS|4D$OBBwZflV=<`kikhMuhTmiy!}VYe^{lhr<|3{?SG#sdbyMjX@d znt*(^=?F|4C!;w-*_%P6tk8F;HVZzHgf4NA^j!89F-NeAybl`E1Y1RuU_%YEPYMP1 zWU_?D0vxVu6Oj*$f>}6Q`_+wlCoU=^BemvkHtZGblLa4DK5SiME$I*yJ;;aA&};30 zf%d=|nV=RX2`j;*mEsYf5o3=9t0EDZpnL_`JD_)go>zTC#OHlm;Y^o| zhCUcJU1pd@w@3!{;|MEFOPbJ7oz?|1D_&89@zN`iBUTH{eVSKYj4*iVdCNjZQa&0j8KzJAGi|5LZM8B zm&VIZNoRV72UrAeowA2F@p^ z%KP}#aX&d{ExzP|X$%THj(gBWlhDPNGRZveSUx3<57wIEqLS{!(|<0~&Ke}VK^e_OBvS-D`FEC^X-2H|-@UO&=- zFv2!Ho477XlgVx5FLYmz>`Gv2b+`c#FJnuy#s7 zKE1~Pw3jK;1b$lkOj-K}VRb<}(<*l%14U&a0OuThI*iUWb{R+qsl4~uIFH=8>j>nU zAQxHt+ZJb>U%H+;U!ZH;gY|{r6MrFU9lZwV6^pUAuFC*w!CaB=trM9n@AI|RNf$ix zai;}$%^b&G;4SI^uc6Fz6O|0TotPAK?wC)~AnJ(KN?rDJDK2-2$%PO1?>rP$kre zth6n`Fv5Sd>E%)Ve3`{Pyy|u8EHcgGvchG(R@UO~;#Pgv(+J#1H_MF0c%cZj zb-ds+c8NaS+E2hH+PoJ?zm(g>R#f){B-8uAk`~AZfvc<)b>4;G&3(d6lGj(j>jtKo ztiPr{dXg$W?eih%2CyM{TH{L0w2C!#JoSiD0x8xce(b3i4JPkH)ct(*%U%}-wW~T2 zvx~#vWi5I?=kRQ!e(7u|30T{$C9D@4O8HTKnQn}0lAgr{DS^Hv3i>MFl4*@=pp-AL ziO9RK)|M@^Wvk-+GKMQ#=tbmkhmt;!WaxZCTCM^EM3UDHHXQN`kHk zHK>w?NW{cYC%IEHHD~Z5A+rdk{G5a&MqF`Bd<0<9{$yc_Ujy@vUOU)~6!e@m@=DJ0 z5O`2IszCP`e6o4p1`_xokq6JD!`F>TY`1!*<+kuQhW-apz@6Yct3*XPGI&kq&U&5% zG}Ihw3O_^dPlx7XqD64mW4(2Yz%O^zOUwD?{8z>Vv(^p6Mn%$e-ediMZPfMF)A(X` z1Sxb);)C}y*=*)f^5O56TfxKVUY>EM{&ug1}NdOhO&a!b8w zt-S1^bT2)9or9J&PzvPC?21&GT-3P!3w45*tkRd&$g_ETF7e@|LolhB$&-I zj2haqYe7u)wi;|=tsf2>Wq`h!6GIgYUHtc(T1!{@A;5)G{Mm(heyA1Gyo!n?UY@R0 z`cA8)8({!Bq<}@~uTPMmIadLz9vI@tN>p4npv?sc>T&^_gsC8~QcBDc@ga_IF2VWksJ*ZwXaU~`wEka*J)0&?#Ib?JCQjS{kXch03 zS!JzWS=mB*=VAT)VHHZbRaWa|rh^%iu;EwZ#rR>zA{;n z=O_8O^&ny|ZFPv41X>=Km$5dI5O6y0af&jqD!i#)Di^4|d@kB6M^}Wr7^BeCKa?I~ zC3;iRE}E_UPVMT}CSFgW*Ah`Z%G#X1R)6A%l|#4eTV(5!p{jAKiIuo_lNpZe0!L(0 zf0s;6A*FPk%wLPvUn45KmjDdbT5+K_0FYj$X=J4^6>Sm^KBR{A`ysBh_vNi5NrJIe zM4pW64)`qnZQb1anDzXvyQ68NX~TC%nNc*;Cf0fNXx5FDWAgajvAbhg1LK8v$MVLW z)aTzFd%;!x^!UWliHEgi`ftda$Hoqf^ULVpFk_~>w?oBf#ogOVla#_;RY`N=Z`|HE zlYcSBZ5d;w&ZflTv323QV-M+@j*XfAlU!OU ztx4P+<5+2SB5f=Yy40LpJcj;#e{1-qv@yf`W9eUvQ7gwTcSb74(nfNb5!1>MD!-C@ zaiB9%(akd5&7{eLX}9if?~iP$xS^Cr6BRes#*Xg0K^-ISeqvjC_r`wDqQ@h5Z)lhs zRNjrw5`9hH4JC5})!&%5B>ct=<;oi<@5bzvHy&55ym9yX;_Ii>$;YmzI^&D4b6c+O zj-&>+d~_`l`eSnOwbpozfg$$IM8+4_%#XzHUelJPFxQ@Gh%CNV7*%b#rkHYQ^rM>} z-I%n=bEccQrV7;dX=_XdGXo#4GlhAW+vCwXQe_MmOKIMMmOpG@EH08s!^v-AU~wxQ ztn_>gD;;I)3jHumOZm~XY`=wCjxLc@Z^CoilS!~bZr17k=z^q$fJlx+Xk{V=N)?Nf zh_Y%QNMw!G-wP)#ZW^?U6O-s64?gz`$hDrDGTq_R2H3a5zLZnrjCmpA1?@%XTTNLTwo_hS!rfGeX4yD=bx=mkfqL#EV-ZVp*Hv%7qrU-Sv$cBq5n0Kh!6VGuYp|s3Zh~) zL!k13Jp4Ma3=i}JeqbrclpXs3*ybcfjZJX|)0Y~UY;_R!BSRkA$76~q1hpy6EYD>n zR1zk~_oZU}Jh16=!zx#$)#xnIO$zJKpX?r;>@>j7c?Y;T7th=6K=-(M+&ZnDhpWS} zovNfb1Od%_V9G(3*D#2#Wdy9+UNbXCtr(va)Ll(q`w&6BBIxwJEBrcTlrr%)&5xrtDYIhkWVerCJ}?R^XzaP86O zqu6bH8m>1*jpi!`dP%iQC|`2Vf%l>e>5UVKkTRh>BXvOxyZOcw&a3(A5rt*M-ri92_5W9LnBHv2bxLGCnm$qn)-6<%|%;mHxI`x?t5n7C~tA6(=9K@ z(i{yGd@GD^LwDY3D-#)1#!6&x`1Pl_adlHT_eMql^KNAmUzZ3?OFl8FrJKLQC;2z^j#OBkZ2SJ71nVW5;lahw{+t9V*iD4z#1?bgDOzuK{P2jVn9ybDYfk0Zxrw1YQ zbJ!`PUwAK^!Zn^SkQ5ZV2hAooJpW2qWxANap^s!5wz1Z1?GQAuN~f#MF$P>7g)ev4G7FFPhCZm`d^%*3LBz!!5cwKlPi1BVdG_1tTnz z-#jt|SNTQ!JSPite0YxDPx4K9(|H5ur7W2WKVmK$=r?>tN*^`KN)JSBnDN1Pyq~r+ zja~l*rIXH~DrU+ezJMBrYkc86l8ro_o3;!tQF@uSTj6Dt$US`!lJ|tG6eDHrd?{a4 z7F9d#e9`-LCb<+#4zDoLcPN}@Qk(5cY9JQZcj)8)@Zr^rg8ljL4zjU!`NLWT?oBNSJecc(vWy#BN@xKhoMcW zG5u+bS1l)aYY#lKH+~V3ip7 z?-1Kpj9Ke*I_6v5GHy5I0aFau7ku6iE_!7*Up_krC}$VY{TQf~CSac}_OS7Id&*BE6}|T|n<{#5KvP;D)7w6t)+?8;C0A{$ zxKrPI4zKzbajXqoXP7%!-I5lt}nCyKl$zZU4yYmP?E;kzz00LM*&0vABCr6fC+OO!srqKcDynU8awKtayg;aP_Z))nU&1WG|tc2Io*CQop&&8=f;1##rhFucHTOM-M4}Z z!7Qymow3X6cd&Uoj131iS8PuW+AyMKr;hLi_1#cV#d&1Df;v^+Rwhz6a(8>$c1A9J z7q5JO`#;0K`)K=H%<8+_AtRc${X@gJVT7NnyMVkb3GNCX46yb+KJ-n!K~4~~T*eFD z?%MJX&xHk)7q`8TSz2%{jCn7zYEXWahvN^{cV?B!C0DYh>g4i7Xe6pHT3#!ky29?Y z)XjW2tA>PZa;ZP5Dr$q`h|=yeIT!}H6plSqMvsB#n*M+`rh5BomEiXU^`&z3{l>ar zR_S5{jB}U%fX}c~*SK5E%Wb0SpA+S;78k51F=dZ|A&D&p?=0`Z+JftdtHPdzpqIHV zz4#QD#BfSUQd^+RR8u0<8+|Cve2za&@>*58=NOzSgBRY5So7tQbDm~IO&44Zqg*&x zZxdyfi#PK~UdkS7u35n=+X%~-BC8#hhaB|LoBJc7D zb6Ht)ao?4CQ{EL#Ggjtgjl0yvvnmFhbztOx!1d%)6#?x(ahpA;c;@Z2kzr@kW24rPl5fbL%4sCW4;F$KM=a8tYaK5>^uQ(yn0=+keI!V0^r2dI*;pTd^hx$*{w zUT^g0!NA~r?SK3OSpBN4M#C(=py0fvfcn}ix99`ba;ysIv>i!;XjIi!ns4w2tmSg) zL38rIWKp?vKl(PwgvLpR&KGpm+9+zoR+~M-EkKHS0{kN z+f_?Lt2}6JvLSdAf=_F-X!N9c zZT(owdw49f@lY}qm;5auZ)9b5y}^h}(4U}0p0s2IvhZ5|;$lWLd5xaQhj=4^S0PuV z5Y$D*Zvk~k4ThuMLqPaV zi$T5P0|m2#wea94**yVz+%~U}j{4+MedHIJsE*$>gg%^<;W5cx1QQK!PLFUUC8!6q z22-lqA(t!=(az_aEk*=hd10}i_8#1fH}reE2%fk>^#N?S_nJZ)f(=^VhM6p$e4+JC zX}!X>{(m5x7NqiEAJXkZ*tz~6;hkvoK6lY7n#$K*LqR7eG9F6)$R&?`lIQuq-P1&0 z(63c(=7tP*;{}yZOy82LdRoj7^r|n6HAiTbOzKSX%BvGNuV3xZHX3>ia_(B@Et7xG zpYNezd%FC_;&I)`_Y2~Sb9KS11^m}(xu~Cc@CL1wOP|HDOJFa+e3xJ4AR+97v{zo# z9N6Q7O-duzbjgsmMfS~>T8*DCxftKZSN}eFdTh>vq9tA#bs!^jGubw8FIggktH(a5G_iVHv=UlBcheDX-cYh=&`n<)dEzmlzqGmQ-O zl_B@UPi6E{RmaIi#2p6=N{^=TEfS5>y}l}MQ|_z3cWRfSDb!TAnQDXfpsVE=F^Q|qDNsE%& z`C4$e4U|_twaAxyqE%EIUi9wvjh^778wu8u^48H4nl>^!%E=#^Ym-;Wiy^6B{$>A) zfo54X3OYnJcqltEzvrnf_O#RuPKLYm=f5=B3wc|bml6jP6_ZcWt z2V@%3J)DEHLyE!b)e6X>(~#Y~;HL&&5%|m6+|+OGqu#bsJ1A-ggD~&e#qKz000PYx zlQgZE(fhXspTQ3^o_aZ~U_1u)o3;eRLp6zH=)o8j4=qnT7SykLW;33_cxKJ_qR=dG zJYc{ckRwQ`ZiGVG&pX_y&r{cV7JCf2Jh?bM7p6QS0#ixtcTcbYuZyKET?GCFPu;M= zY;6_E?N^#BgvE7C6=Cvbs=5>srHOWkoR8O5gQ-(gNRII(yomPm+8HM5IZh$fj3d=O zLn2HOs@y(fp+Er8J#j|JW2WY*d2Kqb`)~EF@&;z1tcNGX&b_Wpj3;o!kd#$ci2OjD6haOIUP9sV?CQ(|gSMpJ}dX+aIqIYq00iqu^ zgFxrTL!}A%RDq}071ph*GQE~c6Q+wg;exOD!>v~3Mo@0N8L>h-6AyJnF|d!D74guE zapnF&`TPq*s9mJr)O_=}CG78as*;*?RNYa}@nu#4T_c<_gNHo1%O=PWjZEO0R^rKD z8w#E`=Z??ZDfdqRYOY-24!?{bX+a$~fuvFMWYSM<@v`$k1T8e#gzVtnyz0}Q`hJzn zK>^Im>b2aDvNb;Rnp$ejOY*qn%T|?^tTA%yneHK(fS|+;_`mO4(3ggqoX3Vwk)jywZ#9Q{JbIlLw^2v6?N8nJoT^)ZOZz7#1j@eW+!JC z#Y1gzdunmAL)>^L9{N>H^noT*gmGBVto&ET7oG*k8l@oz(RNBOPv;9-TwF#Ab+ULm zDw91>IHSb_MUP!5c;2LTHX2I&)EKfVo6vJ&SFP!jzKr8OGGQRMB744oYejxZPpv#) za0w4+3rY#86+8saBwr2yV;XI;VeuJRSgesJW&mqcE^ZrC?OIzL}AdD60NiztTq9Wwgzrhr0 zMW1@nf~mkcqx4mv4}BvCp;v@GXm2UlH;dqY$I5cReJ$}Unc!E{@T+7k+fy{2$F5%pZY+NS#a+- zp%{4gcTWdkODC)}$fe&#Ss@j>t0DB4IA1fuDMNcZ%>e4SkTs5clxQ_|L}yU|RZuV(&nnlq=ntD_kHZ}ok}F&}wu8zI zSm4cS$+|awptWon33BBwA1Yd-?;YwA`+1Y2mUftB(q$(4lNN6$e@7;%k0!mH%Kf0& zlVqrT*srDc174&8T`IkzII7<*JDY1#<*v<(GKMvvV{|5sSq8eS=n}b2mj$^rInh?` zQgK;)oigg}%%vRhP$F#Z+KP}#A-xus3%sg^$b3!`{N0Pz$kc(%<|nwNW@amMGU|1` zXj2`JGHU zzvYH!(2C-?1}#dRF`DeJx>1joUbp+)B*x0lj(<#*ti%o=R7{W9Dsn^(Q_o2_A_F0? zz|+Z?K)xFa&;dq^uU@hwJZP?gEa=I{oSpn5Yw;uT(2nqN-e>{i|0Jx&M{P##sj&5_ zv;&?_?NpNua{dN&@1TrFonh-E)o2$d$&!EsdN3ZkHZIU7ey1L>W*Le&i3uf;z(CgJ z@ib3o39fq|>g4$f*?LcB;qC)6^yW*t0WW0Ga!0*uEj88TgwmHGqaW5*eF?|;N^7|i zm;WrWKCQE4igooYy!zY(H^vT{;O#!L|Kux*>6>&utSE+0sr)j5PcL(`8&Wc>2v{%h z_isx4T+HDr+On#kL=oO1n{RolU*tEqk;dkNoYe_;=Vk{L3q_M1o${|S&#iaEUf7NH z=;Q&KBvqGm2*8txqPLGT2%OOXrWHJhP$%w&tyvczTB4>LRm#EC2B9 z1W&jr=#GUhCYcrU-JNpXnuaBb+y5GW!`VI{wV!W#*41uGX7bH0(<{0r zZ7!N;iM!BsFBEK!D~|cv)wun|_+-VT0PpHlz)qCR4E{yGUcdHBdgIqXe+Tr#<3P(k zqLe@rXcne5a%6xxiH{^*)Vs0J?F1Ax_jiJY3D~A;|0$DNWBm^egO+~fU$H4ofEzOM z&NGobB4{J|7PA6pAW((F7-#I@Ro{jC>u=}aH~AuFO1!_*2+zNsc*(F_#VrSJIc?d% zY=IFj671kty%p1u7by63LJM0PIC%&^uDHE69nSUhqaOJV!tR0QrGG0-Qh?5atcyYT zdeX&pd;5l}8duhv$|@Co_b68U(JBYGvab@YvYxzbiE(g9iw_x0j4wBTMYy@5#E!`_ zN`O!L1OaAcX4M`BtGPbT^t3jq*@FP5^bsY*ZUr245T5qQq?{8PMP15kii0eYb|u+9 z#X+GQaZ(_L1S@0_t2n{+d6d`4Rh5TqhV5QRcW^?zRr?(92Dz_M>;ta2tid2VZjlE- za|o9$#o9)YNuPx+E|})bWM@TWYkoOi?7qKB{_WT3`}8$y#-VgOs$M&;37YQ6FY22!X;+3hcWRf&nYIg#OT2?A2gwas}q|R%0!v8Fg9KD89F=UEYU!T zPQ%1t8kG6zLH1BQ1V0J?4%dj62+=)A5ZW2xS`nNZ_%(eSoNFlmhQ2jzooQ=bg`Gdg zi!8Q9Z^U)?gZepn6C(waJ-kZw91$>nlFS|yi)eI?0ov8+9mLftsGdV<4#XvEULJRx zpOY&vlIy%}4zGGUsX9o3Rn@0HM3t#wH*elkuQ|wbR!v_DXj67;x#y_qS~SpAPu4KH z5I!v&n|iGFcA@$9XX6WRZ;WnPc$<-SCnugwJO2H$l{_mLX%l&QIm*|ZNWFcUV3KfZ zZv6GzwTzjZxIa1lc7q}s?9f6%QGELCSB$s#_ih({H~P@18M0h|eP}fM?JYwoLS|3x z$UK9g_Lfh~(9E}VGV)i_n&fQDmh=Nez_oAs7;Ca=$wnZ3lVGMXLcr2#EqK@&Wh|Y_ zW)rjHM(kr=pRrsdaI@~uv85k3Usy=Q#FcLk7cAZ^%2R$%$8Yp zxtD=yPXwx_e1M)E7EbC-Pmfo1fCW>2ecgNEs!ka%jg9MWNCaxEM|tN`%}P|WEdj{X zBi4vh?fiKUYslWG$*0u&33QAiy0(J}s1bART^@u*M%DuR7_`ZmBYz2U2xyUI%lV9i zZJp0Lv-t-%K(-#T!$Y}Oo`UVw+KuB?o%2(WjGYj$6+H^N2D0}iqBOHNiBvwm^-Qcr zB%G*f+^bCyInZ>!ZD&eq;SdC%a>8=i<|K5s27`W}b^aW1Od--;KtW-BEEmf4MX+2%;O3U_vZ=rF3wVj)FqGy|1KR@dHC}@%=;M}wN=v}{(T&m6#1F#l0rX8 zkFG>GAdEfA@Fy$`4$vol3pdpH^)gEfec}vgRQXfs6Z}7mVYe0UuC_<`O=y4GeBO-u z;Fp(T*5o_m=J~cSj`b?BI{-x_ncRdY?Nl7bH))b`#hf4Y`!K-##qM4xj z2Ua!2nEM4*>F4iX^)aUiHN$>lt1qVC`$% z;}(HShCUCcMn=c85ut)?7~3=l7(bLK{W*arB0QR7fep#f-b4>y^vAFdn~Z)LSCZk^ zDOH6+jiGL3nc-U5w}-<}Yq8FHAc88bv(`P0XT2Kc@hk<-oL8yj}zdp z_$K}IJSc-QWN9v9Kh5!S)O5x%Ht z-O{Z?K9MSDCgbpU`9-E5U9~a0?ui1X`Mx6}|83`Zj-3QQ-&$brgz#WG;V(k)ONj7m zeQ5+r=HJd>vXY^+%%~3+WI=(faFW5F3XvL>tS>V86^N*C%`MdGoEu{1$dd$9#dxkY z`XL|g8tIEtc@|+aGBR>COtW_XUKzHDG}Df>7kenNbA;$V^z=c(BBv7;c_P&$(%xT< z(T6yyaE+f^8qkfH_K$HbHYnMR=h}V^U3A}$F}ny0ta6VNV-t8A87UHVh^gF48Fl}& zaoMt;D;~3RZPbQ7B{lkxiW=1wrJ2*Ht-cdbXjkmDqw1a{3D!FccBe)hVh?>GjgfL8 zy{BL=7m>R~v~h*(mi61dr%?wdEul^`odMOW>{qGjP2+r1PTQnW^=nvfz{@9BGtxq= z+Rrb!8RnNPfF%@M?$Mpv6KO)HnjDHWFSEOBX9oV-5{3zey}?ct^r)<%Suew+1= z0+>n?@NpCugLW zlQc4>(g1;9jP3s$z+@=66? z-ouRakTpy(e@ZJV9mkaj&3>o$PQc2%x#A<`QvSrY+8jD=t*Jj|tHB8jbC|p%{M=gC zTq2;D!=Em`^9euK&d-JXS8LJl1F=v+gkf%!fwyw+zPC3IX;@l)cAOQm%3g2zS)?ju z0X3^=UfIT9#u;15qb+m@#QglM)26P&pVW)yAffB7h7=nK0Ui zfgDMbB@CeG1qCE>C)qRB@}|k^*EFYbSTFmEks4#Eyn}NYNz7CcZ{(ZL5R~r_r}-^{ zoc~pW?1Mo>4I_}nY(wlS0%kamA)?CPgeb#rxKV$`cJAvh)@bd7cI}bvr!0(YQJ%lj z5PTzph%U6&;Dl<|jRhKBdj-X4dsjzxke_izC>?@2Yc>PfzlQA0^BpO$tS?7~b7Vfq z`Og?pb9Z7&h=$fC`2IS1KhBjy?vrFKuh|BwXs9h=z1mkmM9|L+O|cg^Y(T19m^{Xl zREB0I^E4~oqUQN1mPk5onBgK>nVJI#M??P&N#;b3z4%gb-Fco?Us9i^W@LTSOMk@^ zjmNCjVa<^fTp&gDfgC-I!e|A3f{_kH85Gy8U^d4HZUG0ZG2diUk0%;>K8e7B0#PCo zR%3e&{*yYf64M}EOhm^>p-ly~5pBud`vuU&aJOs~e~$3L7ic&_3RYzPWT-yLLe}E9 zPd1{ro0lrq@Q(Yj~T%!`n%q%z4!wqqmim_K_;SXlMm= z`*d&8{-lL44Ju1&APK#jp?6L9Nq+DBu(uiLCrBiAt-b_z%LB!*zSsfL&`ARR#uKQh zsmSqD1CQnc=b!56$;%_7Xq-^r5U>k)59Cj=Pd02}=SvF{B$8nK3@3%cNR>gb7oizD z9x~{>!_-ds64uX8$mo{U8U<2NLsZYwe?*NAm*G8rjjAp`qwxq_L~4sRz`;`Xy7WL{ zOleA{>XK1iYZ3@hbkQFT>FK06>S$qa+JfK0?jdIKE}!jQ@yg9CW&rmKRmm&ge=^pV6B@3i}Dt!wP)c^siXztP}C* z*mp%c`CVN@QED`;eZ0P%CrIK1kT|t*(8?CtSPNz?_I@t^pG4*K%bU?Do9plYIGShA zN6SANw6T60`$rplDVk?-fb88KRY9&jw-0pZqE`0pXs!b|!Qvxuq7O{XW&$S?f$`O_ zDQ_n|?rN*afm@7}i1erD_TcE3Q#c2cx30WC7_={~KDdwQq~7~(LC{JY#kz15r5*M1q5x~v)g^}0wE(MldYCFP@GD@dAeYpMbO%F_L$a;r&kUoX-dZu>o(aF?c@pYW&kp~#x8^st z88%d6P*KNe-mH@H!nYQswfIuMsgEJ53qcPeU)6{7)-&5+h?U+LpTI>^pqPk)imec! z29u^5568`Sci5>{$hO9fL$MOl&zKP9ad!{^6Z9FnaYay9M-BcKr`uT5E9!Aov#Uc+ zors2xPP>wNC+!#!Ra4)-7;n89iFo8~SNXcC^`x9ZaHgqMWf~dpo@a2TYDddjMy&)Q z?^*u5tAi`v`gz0!9UWpc^owZKktY<$b6ujD`G@Hxmu|$+ntw27ehL*O(4GR#Jzs^%7 zRO9Y#!_dvIi-wlQJH+(g;Y)8_pr0k3A=6PS%oboO4>!{VkM}$fRYgtakoP@sQQpm&E8JGNe?G*~9CZbh ze8UCg&HZqd_S0Cp#(dcCqV3zMS~fs6W}A!lDdUJ*2}>zRC;4r9Ds%FE(D(cF+)JRp z`|lqm(P(f1B}s1X*y8>lvrcP(e+h zq2RVP-FZKs&IYZsXwW+mp5?8<+LQ;s8jg_Q0bS04LvPtfH4COv<`5&#UdwO%LO;rDv zkXB|h$WV{9v9E)arrv_xVBRgFJ(IABVjF1bV6tPg>TEAuHWq-X02+I}z0hkQGQuHx zYcv#zn!(Z2K|rxR4mDA28uTAR`BO;{Di+u0d98vi9dvSng&`r;A}plivm)%}!7ch( zFGr~p`X%(Bvk)}LfyhB^8xXgK6MP%&Ad?Mm=vkwJHRqrPQ75CJ_oMQi%P*w9khY!Z z@Teu*bt>DF)M?L|?L+c>!b`B#`%)IvO|h8J%IE~4Mnt`~6s(;Y)in2a`1A@@vcE&s zL`q6lMMJw%6v@!fm?TVrJZ?ZpgGx&eslzQK;v<6hN#kL3-#wKB2U808_4J@dPNc@e zan(-Q@!vv(szeoZ@fUEDv->(Y2Sbr6Bst;PS6|{hR)KX?0u+QNx5GUBsfvs>ghy9H zi)@f!5_o^5(gyyR1yOInnHD$kRzP%3~Xp54Un z6%?y&B~uUESey2U6{9;&_50kGLRUH84lNhdAla8@>4Jw(E+hlOVdh0$B zyxVFa?GvYHudfwtI+&XzwZ4BhV$Q29CqfBy&m}&e&!s-$v%U*F&KXyT2E5;1uS1Ro zgT?EUXWdD)c!!CE`4e87U1Q>Ae1c8rWpxWkXOjxMz20W4PY=wC15wZPO_U=jH=Z?~ z!P%+7DNQH&3sxfVGtQI+c}+?NXnvb{^d8}?F$t_J`QZit&Pq7ooOD8nWDX+F9*r)Z zW{N+!W;|7snmt`pKAw(VBSR(G?yyB5G0X{;k_KWH!G#qsT4F40 zV9iBROn!#_=p$ePqzJo7O`<%nM{_kF?e}cm8Udo#**|pR`G~sim(U#VchgdP6pj;^ z+vxX9R+88Y()L5{dJg#&gL3I7$w?RA=Qr`m0*8X$A&&uI#fkAyEZLmL-L4T0x0U%s zQ}mKt`c0g{bPr_xD><3HcEmah<%(sf^}ym% zjE^)&`W1&|gzY(yiYk?$lj-999h#cDjgW0qnNClNo$>HPn+)deio^OFg#{=lcN7&p zww>(Xr`C>j%MNF^K(?LKRk(<#^J>INs>jUHQNC9Quue3 zy8S+&y!V5NItKL0p8_TAeVX6HSPii(%E3QSW zNT@7VPn!z6zU z^l}dUEYmvEgDOY*N_B^>l3ZL!A(Gb(IQka6jZ&a6D=kp%G0)ij`gLpgAsPK)>e5?L zCU=?6Gg5tk;Heki@}epoNPSGaG$7Zu!@FMhWRRYS*T~U{NYDpV&53^g%_`Il%Ya&Z z2G|F5yMX>V&_Q&-PG~ApKE1^JU%?)pm6_ketla#2A7)we?}7xKgkUoCw>T-%qX?$i zC?d4>vNA|C+NK;@y$TrY6NiJX%f>?}FBuPYMi|rnKJI#eM!6IJvBAA8&b<$Em1Rfq ztX2}qn&TlCsmh=76Xvv>KTE0{5L3eWhs6D8<8{8&xhx3B3Ib_CI?y8Fa4n#6=~6@< zQI{20>#^!%S#-r^T@%np&SeVAf-9_X)on|m`F-m1`oI3lmFAeqB=eom=Y4(d!X@gl z{Fji;b}(u*4bxIv>&JJ{(sfq42j~`ysr4l?)70Ak8mLf)9|QU<&~LQP;c8lSHLYw- zDWT9OeG5=er>wYZ5i-<*zV$AnlR3Z1zP!PkMTdB77ysCae4gq;M`)}eEQR=>%|sKa(MBXHy6Wetn|31 z@o_+ZuqLs4XyucZE($cn@PhHG4X7PtuhDK2!H7`|@5)Pk%tCvk2NZi3HNYP4gWd-{ z86nt`QEt~HI);GSv(R71zq=ildZ~$mwUejv_b>fR8wdYkEQu``(4?)%p$o?!f*%j~-g##{@UuSc_n&wut zbFq{W%hx3Qn8A{xe7%I+JLM*5Kd`)`n7VCeR@!AQE8NF;z2aM23VzD*i8aa-ql0au zSSO7R_9sU=Etg-qdt`qn#e8S>k%nPY&-LS<3|Af3-?=>~zNeh4_P-6Qd9h6O-nfz5 zgQxFws!JD4p8nt|?nHWPVa|Wv+y^V0?`Hk*_M78XlhwbkeXK_{FlkHiP{x+%TNr_{ z{KPYhAkZQZch9pJr{TK$SaRt3$|QY^tGVY3*W}H|Xob%YDK3U~Tr(+RA@a$o+lu@a zLE-20&m}=vOnYw+ZXZ#JQ}}t*&!Q)5%86#(ZKdNL=EQ?e0L8)uKuJJ%13h;;(9Zz< zJkYp=*1e7SIzmp~jvr4vbHe_}?Z;1WBZ}@5>XZ7cN3>kuxb}`=3aq@3_j^!38&PQ6 zScFFaib~?CJ}Q{OMi_xL99PCOQPq%ZiXdF3Pq`fakN?FW4i=S~L_CX1a>Ns%I zs9a$!IBco0z!QTpoe#|?j*OTxF=teHoD!jMZk!coD>lN^*Y8lmSJKMFG2OPCNYXE= zpWzBY{q(}nSxodGYF-!h`2^u|piZ2kfhjNFafP_T&>q3264a62GBQQ7J$L86`ulCZ z`wI#|z0g+vlbByxTt9@Tvkp+iPHhm?I-(PyL>YHUlex$p8WfM-aZYEPzCxZ&U85_6 z8S0RlQtK8%p2phjDGQMnp}SL{GTv z>k-Jy^qZFPnTpS;436YxtK&`jVcTAPQcdY5F>~EYs6X*bf5f?EwpoB$wMJDjozekkp zQEGJXUn7)k+VW4$h{mr~8HU(s~ORwZikCQOSv z%(VHIE?h88(5l#qL?M+t5)?v2(B>8limL)Pn{VcKdWKq6|U1i~By6Qxunz(ub^HlY-=PMGg;)!NcAwLNoYs}^0 zcG2}$nK%f|%9@Yv+eWIx==!hr^|RUH0>xqak{Q%w5)_WajUaGhxQ?=_B*zHRKoN6^ zOR?hqY<6(jL=>>U+WaC{*JBgA;L)xtW5HdLWkF^=9opwcHYHp~D(GMW`f9xO-r3$? z5O2;~PaY#{)AW#n2|c|K49vdhs5wcDj=X zrhU;k=G^fP_$n3ea>8u%31(W=mq^ zpb71bbKq*_dI^=Mn}B1*-huyxXJH`5eKkNpV&(tkb_=RF_q8ZP_oGXcB^3SD^^7IuBu7c{+>J0ddC1=PdnghQ;5;kLk^$u26AFMo1B;1ztgulAMsiaT zKA(~I0g)leAHVvmg&SmXzo=dG_y!r5{AaKHCz-t0wHh{EV}hIh&PX*6**-N$d*lEt zKc4U;JVcm<(Rjs2xP~A58%{&R19&C-Cl4=NGfuqLArS zuqNC)5LiB5;;K03H&*$XYj|osbM1M;$Pj}w199$$0T#F#IdJMXL=Ez1`z3jwTF1)C zlYfCPw#)mau{X9|X5?Q}^6&N^8&JV(qwKZ6UR9IUzb2E+dD8Rn73v2#mkDp00<*av z{@MS--@D-l;__VKzOc&BeT^5ouQ^<#`x;0uTqB+wAbUtPxg<`6C;y?`!!*#CJa8=e zf#e<2sCxH%*$?=-BbGN`()&TZ3i8I)_q)hKZ_2I{j8+S=npUb6iV#F@Yymj~@rOcW zPg}rt9Gb&*u0FlBgjxb6x|of2vUWE`=M!{4)+J$ZAi1y=O8&ivx#bAo`;|iF&9i}~ z-hz33sv%(enQ}5|=%N^ebW4Q16)=DzPWv{x$rQZM0fg&5{$E0AmcneScA+J5 z>v}i!W}jwhjGetJ!tfrTW(!D~MyYWgb|KfaHG2=8EPlXkb75FGQ_zs_JSi`-^Y2QfB2k7ehUK?jGBct}coT1d${IoA zHJsW~%QHjyW_DS23S2!d;&~bOkLPEV_+-xI?15ugU=e2qcdCi+G-R{lm zn6OSgJ4O`M!sE(#`7TN~A2Z-~-Z4M>ZM+yG@C4p{Z_LpvSS0EYCEQpkf^g&UG$FK_ zfbdFobWO2b1WQd3sgRuh23^=PDKA?1A$~E>eAD(tAq!_jZ&xd8{erEYgwYl?9}T5~ ze5}xLj3+@uXXagRzL(4_YnTx;f}){3wu7{B@2ws+&3>S#W;Pu+P5Jjog-n7G z)p(^?teFD5+Ymdr&asa8JpHELa7a*rjEP2cEZEu2-t`36=pZ*U2DT1Xa6G8N`s*v^ zu?e~uYHjIOlXXdl3mS=SNN5grQi9WgEoo|yUHQzgP}6LBr9bY7B-Go8W321H7t3Vo z<%>#Rq~)zouq&)SN2rIo!pv@SVMKzy)EIZdWRAi3tQXWVct00-k%_4qvO;iS395OL zcjiC-spfn?Qj% zZDmlv()l$Xkz1UbjeReCf>n%S$I1v^Vh(y++o@gf8))kYb&5Qyz2IC@V0vbFMVD;{ z{Tv@7d*I{6_)*0V$P{_t7|G+y-oHmu>}K5+@qu*=?AhQhJp-|)L6(;saTlH51~T)T zQY+Yd^j`A(A$6*&bevG?Qp6Nxij04(yS@YrG8F0K@;W%?rcNuZ_!Fh9JS#7G7bQpM zR92AT4D@=%iDdHSi&U)_N}6Kk!b@-)Y_^u-B`wf`KF^pH72D0%ns2Oktcmt3^UaU0 z9a8LtLZXcIPx8ZJ>eHU`4`C0NHR*0B1VR(DM}C~zBM2+F%faxP&?0C)777M$Z0ike z`1i{4Cat+Cm;MdF1WRm&_gKWQ9b$iuHg8|Z&zn?&z`~7%G7EDo^ z8WKDxBBp6ZyTb~cC;?;?szDL@Tnthzs8#3l?F6N`@ z@1sh5f@;p!grV58gyNp2tjz3I+SdhV0%K7jtQZJ}9g`uMOmHhS3HUV#75C|mxHXKL;MTMaF_3c!jG_DF0 zqhcw36i`p~LV*(HIU&)@xT<+XWr{k?^D0LSKIm=IRqCn;);ANri?f)RSd;L)v*j_M z-qLj<4-JfnTymaNgi`TcNU#Dmbcs;?#o4c6P|-?dTQS`SC`YPi{g{r*cd^lj;WK*6 z7G8s=VTgmp_lf3Z5G4N>;cE+uj=CaAE7N9aPKm8+-^MWY<* zEa*D=JZt?0W-^$C*@=ck17KR|ZL{3K#9ej&a@=O<9Tdz>4weU#iP_;(rVxZS{Ea4D z-06BEI6F}ht3bsk?Rqp=;p$^+4igMwn$B1q>d%3U=qksAN$o?_0OxF6ZfdYB1S zQI#D0YBW*hsxr^yl7nYNq$m{~@bMCGW?hnyf{Ik5>H!=IQ%oH164bi9<)+t%3REZL zmH$v3hu~_PHLr{az=p~F0VFJizh5l3g;Cmr4v#Yb(*i5GpneU88oGQepc_<)!9^Ti z;!~>|+i zqJ<9VlZ!M~3ChP~*l~B+c+4>kUTexntwM9YZ>%70$sbc+2`gbo-Wa%7XvGLb1cQZ8 z*d#cpHK=YZLrNjbUSCO)I};6P7z=osq9Bb$H&0_(+S(HWMJXIB56L5~Fj`lFc@sngqhnkrAXAn_(%CZ29=n;ijHs33DW4(;yV7gY55fp59BDHOH<-2* z-w}KV%{NH1qvb}6d0NUrI6u6!MH2d{r}-&HpM#|Sq9t>=DXY@(3S$J-2SDR74kA!x z%DIUcOAYxiptfuR%2W`oE~TvF$Us5>gm^?s2jlIqBFi5bC*nKg718{rKMDOJaJya} zkyoVoxR57}rPKUuf;uoltW8bKw+wna_l^*k$l>{C@+l?LG{NlSN}nDP-2zCE_;ASR zXQ{{m$DNqorHU7^e&udy&+=-;qAbW(L(~E&-YHNlXHMjO>SsVH!TT=s4%&PQ2o;8G z7-D)a#C=vrFqvn?okDd$r@&C+(zZli9%g`|79u8Sjq4&`?xx8q|J zG?znSg7!umdn_-H;q>ZQKL`>nh}~M0o4JLBGNI!A=;*abu(8fqU6gZRshVPfKiGSQi zt0<`yCo)d@r%SZY6|6WAm{$wbJiU)%HtQSUBu^aNS=Or1xVWH(o=m7kgh;3w==qX7 z!kKs_Rmvu|-nNlrZ4F0vZr^QI)$-(9u1^boOQ=Sp+^>sid~Xv4=9ampa_!h&K^t$? zRC7U2-ms19;-)0}R8|96&B_#1ksx2gVcG|mm-?!$D-~|pY+cnPtBn~QZN6{C>(2Audt87kjrQv}8zZF&dkfH!FRP@y!gG8EJX&{lJ+ zPr5VC7k2y_+~dz5!`M1o6!y2@?k8JBuaMIG1}G-EG#`cpSV-;(Oq>+K$5H1U9Z$Ny zsky*a=+5J(CsxwGyj|n9p%b0Up?uceqcraewXA8c@F=Zqj#fP! zO@X7~mM{hz{v4SeW`h$ue$sZSF1aKfuDoTp$$bG*2_=IUDIetb2B#!o%I~*BQ5D1z z+evkzTQ4>!uOk*$ir3<&xN6rXR4MCC?8VBCAC>C7OHfka5?)c8{rT7ab8%LNsx+xk z{kz+hZ-PrwE)>vqn-Jm07b;>^PraMQ%8x7J9`g%aWkT|1aeb)66-<(FZDQ=qx*h9y zu=+e6b;^1IB}_a`;2xAH*F&BY>J(7pf|F`%e6WV6@=A~;R`U$)-T-cLo>(cllN7?G zP8)0GN*$n~KQK&wg?qe{6U5A8mcZkth{(_@wN_-EV>Je7h_Cf|bns}eHB|#fpwzrp z5>?GpS_ZDMPrtVJeook#ny*~L@pR3h^C z&JI8;>VNyW!^G(@#3*b_E)tBvvdFZuP#fc9&7;a6D6Y&Xr(FO)D?hjxR7CX@VhL&A z()$D(Q>O3~SG9wMqxy(78lmXdPC)@;pc~H;>Cf{nd^Uv!woOp6|_#6-aZ7b}(o3;9*1T z=lcO_LRyTP&<}&gVy8?`$cjM`5{*<3GZUD4dMD#zdK6T7p&W#-o9nLDP>@Z{r0X*Y z{b&;yL%8s#yDAmI%C9mzO}Q(8UWpD~$Vo|?nGQKxEX~R_ik(>0ztO`U61a_Cj=HrX zCgwKtS{nQ1l3j7`9F? zHdA}`;oeSPHPGNNqzb*OQ*7<&(9#3*XL)@uf}TTaFu0^Y7fFN`TRY2qZl3B;_HY$o zc(Zpk=Pf>L|?#_6WBvJ09$aA`+6cK@BF^GnR|?wFjwop9hjIFoP|);@4d2 zTQP}|JJ+!63Q`?V1M z;<{i$LYu2=#*_OM_*;w>lsy-&Yl7|BGE8x~w!NtA=y9i<;flGdO})XZUk9)Db_7?@ z>;xv(4A+S)u_=Kwys&iKMC?={nWV6+`7cF?s@j(Ts+0;Rj2Mu8hDG2YXRi zLg88GSCgxJ9jZTA=)~ajRN`VJ!vdk1nV^gbp(Unox!h6w9_{05Bih$RVM*r9egO`y zXGNRURz|5KEZ@7D8&>=s>&Z)4NXIf(**l@fb7ei}!Q=#bLS|g&YwDZ zs(q0@2bik!0tx5!uIKLW6gW%o>N(l4as#Yz7=JLL{dzAeHg}kqPrMk%DcO6WQD~h| zf)v-}2=g@5A&!9a3xwdB8D31)WG2AHyVqFzv1(QELGP<|rCdz2d`g*;eO3{Vcfm8; zSZmM&W*67}(B>-3OiY*OFkT*A;kq=2YiUh^(wz81Rw~$H?-*F3ZY(mTU6NFNZ|i8q z`&_lv0h`#EHiAZ7o_jj>SG0K{D?CE(4U{bdr1@@Lq(y*RB1X`74&Z4maAi!73<}az{D=E_~lB`o5Ff{uC0P= zyLmCpK-;lo;(}S3W=L&mwZQUmy_ZsjOMgjR;4aKqmAH_&Fg6{*4nlNwbd|`eCXu*K z06Ci$H1y1SCWl9q!iXL7YN~p?ZEzQH9f~&(TpGvHhSBCpUMsuocsXkI~ zh4O{Hi~SKT4*{!dA!h2jIM+fGYkE#T0$6XJ8`G!&%&j#{K}NL)J8I-sv06pf?Ylt# z32*!r=>G-!Z$SS8=!gFW^nZZXucORB&k^v81N41BXX3?O&WJ>LJ}fTeRGEA@DEHbI zOY~+wJYP^}meVe%UO|K?)zi4UO_b}?iN&)XKNo2RAr~{6;#f1Q|}Q} zg=flz`?Jt*(dD+siY0wkyf#nLr<~1}^!n4aX_8)f&M4{Cr$t(KzhEu1suC%`zN26) zKN>1rOM?ulnEoN6w1}*da?L`fem^qld}c_MXrGz;*ivS)v8vt-mgSr$PM z!O}Uxcmffc(nvTb#M2X@8TCd%9gEOPWK*|4(9FQYb1a&Rn!kk^R#-}@*W|gVFsocj zTn5*BM|zlDn2vvrM2&uRZ0)N;k+_a&xS3wkXa&FR0e zU^kV=NOuqvOME;sChF$EZ>pb_88ez09;Y~Hay*m=LTE@nJfib6y0ON^ST$(~r8Ga` z=P)v;Z*eDK@{tj8tW1wdjlkf16ly6ui=xo6ivwsT0#QFLY%W0u0@@EsOooqc-&Q4H z&j=(mqbff!3hF2;8kL76&Gf{Ek+DuT?^e8V!MhX4g+5l&EM|i$KRca;X+>78l{rBe zm)kVx!cc?>5fgf%nHTLmEFD zBC~^P+K(-yq{c`Un?jYCGD4sKi^spr6lWzO zVm@O`17&AsQP|m$FI-k%23_^RZE^|2qT&Ce!#!EJ(lakP!eWIO)r9m=g4hxgpt&KP76J^S>MOu?l4^&#(1k^WgF<+ zbfnd}c?@OX=HsCW_l>hM`xVav&^t+g{!xaRl_Bwdau5+WE~c=Gm1HvFE$k&?El2%! zl$CJQz`ZOr5sHlOSfTj7f5ly|kFiiL4;yU~5}s+3pZ6;E3pH%sON=>KlOAILrwcqf zZV@g6rTR;n8Opsl)PY!=y)LVfk5-GytHMku`p-*>Tg5Q*dc5*n(s9^2rxF1FK5(F_yB5m6ZO+z2(Z`2A#l2G`Fo%>H3QYAjVEw8|=0JwC4K6XkA`y2Z^em&R&mF0Uuz7lI)>XjBfPHxKU%-E4oTpD` zp2i9wV<)ExyCYu$yu_o(I>XOoor3w9uH5;&Z6^WQn)Qa2?l1=}yNhtL9lpcpQ#lLZL%BeOz8 zHE1^)xAKx#OBEHJ#dW=|?;*~Jv~?Q5HYlQ8Ku-j^8kg@ONgFV7IX$^LmCOl*kp+R0 zMRhK|4F?Yn&xK5FQ6V%%(tiQP+h6>``cO|w8Pqb%hbrWqNw_2SI zvCwtqQJ?~~INKup?l;LWQQ2vWiFWm6V{_<2;T~$&#FNx_5@h&md53MWx*}$XCk_ws zL^xPDeUhgz*%XE1Z{l3d%Ty#LL1kx={-Tt-ANl&|^N6)u@e3=Fa@N&}hvA|k`ht6K zMx5KC=2O#mwwgAF`;|X1r%?2qIxTg~JJ(h{^jJ8b!yy>(EW&LBs!4df)i=?|=DVym z=-f1#2NTKt;2b=!4b*dUO~PEswgu3v)0xjncn4b!&fDk7u|HPqV_tX!ro*4=9w|WW^z0koKivw6Uu4OGTH^Kq%-Y z8{8Yxs%Y5qFi$qrY}s1NyNqgj1AQ1kJPwLcdsie=%+Po?YNxKazTuc^73_G%JFxyF zdj%o^k4OeWYT#d7A7e$LW%+$xm9dMpv5<-S?hef60c)d2SX{?5c*2c;&OPxwg&KJ; zi`)%fTov*!Q2u~)25Iza`D#4bygec?3f&kg>$Jwe;AXw1kd)pMG7;F4$%mqzCa=)w z(X9z$Mz7f0pS>iQ-AwKYc2G~c|8ha-)HTGhR;9~=i(#LXxuu3bxSEm=I@gN^Kl%Li z@Z~Pyay8k>eKzh1*Qu5cfPG_4o(MK}v6|mbemdga15@Xpzp~z48)LbDM8Y+ym)8$T zM5X6d0wwMQILbG9*$4(s;7Ab0plcSqG1!EO>LLwHj*i+*gl?!sGrk8LDV*%P)#<;5cZ1XeTZ;8z0LOYq4oVFn?9bMmb)=^zDSDeyVyb= z!oH4&R`?`}`x3%aM0^_?2~|+jPDWpqGfX zYTnvm5om|X7P6Xil&w&HIr580b;d?;e~+_Ea@zMoB*J&Q2QFloBTcpHNnw7|VVC5~ z8H*Pi=cB10*ttB3Iw-R4<3{AXuwmB3Y#u>SQ~D=FB~CBntf0iGRgPe*kwp;?(;e2+ z#6yMk3~_i!SdZ-X2~uuI7M;9Q^@?eJRxVzV(333OG9)z0WGZ_ZjC=F2pJ3qr8o=ZS|_BK1E62>oQ2tgVKNU zJ@pipRI|KA9%X{uyh|p!z3)PW>)Q*bhf^C+rm$LYueJ=x(KCz?yUR&V8ua?seOh!^5Ci1n#WH}4`rsa@D2=$WT09h$i}<5J}$ z9FsLRB@1v&mJlHbmIxAK@n4G`ih!;CB%eC-UGHK2C+C@}$biBBOE+!WLxL2Y+rj^l zrmja?B162Ht^jMp)W2V_MQRddcZExV3#JiGz19aLszp~Xs>vEe-fD_QJ%FKx5*OWr z<_Qd>rX`hMsq#V8u02(fLy&q&(g4RmJNGT17n1jbnEj)jDv)YjA0kPb_-q<*IjO`e zKn_=U9n;7z z)bqqtvNB<{-(^6Neiv=OnO(&{Kp%oG%6Vue3Ev&`COK4K)ctBP(87W+%{`$wiluNM zUEwDOVq@}9vYEuVTsFex$XphetC`QJ>otB5#~2|bglaxhr*GkPA!0PCM+bjT5P=@ucb@2P-vE{}F@{^fi%sRG#6;^denI<&SZ-I6;L?>;dgTEM^ zZwyyR@HJ9vss^?`P1H(I)|@#{Rm!~qFS`<@LW{aVEid>TtV!WoekoTN2W`to`N2KI zT!v{j^o<$@-x;QCPX#P1PXHwRD5}TC2=YwzYz9Q8qE&F>Gw$I_MyOBb7K?kpAgQ~! zAiCnw`dO@Cw?X2o;c*`U0_=&{Fm03corSG2Qm93-WFZ%ObYPP9PK;WVlRK8Tk5X&y z_cF2$ih=0^kT)~$=Ri1SJK8pLRqdJ(?C?V3wc#2sF@)~PFyxLS_sKVD~T%`3Oy`m0bA?`IO)TK?^31XKWQ}O!aT`QlLikDuWozsSN5d z^qBK-Z6G98Lyak<&QMU|QSfKXp%?sR6C4_w)W^Mf7U-IOpwZF*ALHVY=ilPZtMBp7 zNrg!d3r%)tGUkc4-WGi@d*-~L0VL{F0`UPtbEZ}%E8?*_j2bXc_IhCQO6@L%Yi z$o30@(drMrDyXucDj`;7fcD2Dq80~CqI}%UYt{$!zqg3}a7wDhJ|7?-~}`^jg# zNoY1hZcp>nj8qJG&3L8-TMJ>~5M&(ZcP!j*&%FRD(_?=SR6B&n&bf@g8nS&xa2#yU zud0pQw#G%KHC?L;HXg(1YeNn5zPbQML1>p5W^e;g9s-+`J0BO~#ACzdIOBkc@g$@% zl)2(S(5S-t13W;qA7Fn!Z%VOtX)vxv%dA8~?dp)CAYUM?_#Kb#Y>#Y41S>BE_A zuw%1Z8z*+++{wbC|DgD$Sfr6M^gOtbT2Y)PzFA&#KP1hw ziLb#+2lI3BDjT25Wi>J{h*>zs#8>a7f`L>)O9=(ZLQQO%-j!9TRX1|QWFJWu(eb2^ z;X)KLRVMqPSeFuq!i<%~@Hvq(LC}cH%_o!@slhrWq*DU5^^*DXKrZ%tdYq1D+N499 zebXlQkPuRRPw^y*N*20I0n$m>kdYtS3Q@pPq`=x;?Nz&{m{xLiub;&FK65HwDS~W<&04N~cn{8lnW!%ryrfr5 z(M$9uJxZ4J2ygv=!$4_`BJo2~SUBIZ=zq8qBJu-9%Xbgvq-Ze!LqA>bGt9tnO~W(? zJUV%lnVqQUSKCm(^ z;gCODy-9l5K|BgUm(b88wAI@kC2MzhGg#Hf__5k~{~~X7sGsGj@Ix?@)@`%9|3iI9 zLKf{w_R2BSw_9`0&_Lj$tVxGwWrgTf5xXg=uH^WsxkSHd&-Yzs88vc z)X^F(_fdxDn(1<5mqkTRSr!Og3!u(>Ur1YjkOx+B8j^#!&Lgdu3nr<9Uz$#(E>Mc;QAj63|L+gvclPl!cz*^C4ao3iOtVFaPf~PFcPKhZ znT?Z#sHw_0BuE5j@wjl5kLLcl0y$6yYkY2%k)k&kzlbIC)qa+=-NWK?M2wD_qdV!m z4?PxiymMW@Syc93!NK=1lKih2LS+B`y_)xIu!DImZ-+OFyqA(S^AENUGi@K@z*;IC zgxQR4d(DS)Q*9rnke`3GeMsd^P`=@PzUCvfJ_8O^=N7x}f1Z3)49}ZBN;&vZt!Cu= z6TLs>O6(<5NHt>%WU$ga?<9=5uqqO}MhPms^Juk^o@x2k^yc8Pv95o%YgO%3-C4KV zv;dPsCPRg-7b@3TY>t1$lH*Ou2?~XlHI&yD9OR}G{BNdG<~+e+XmHgjOAKcR>=`=n z3w%EopG96;*zlmxa8qc|KdWeB4d%KH&852hkuOY#NUlL8W|g-bI90K$mn(4TMnK2= z)e3Cst`+smj@r$4<`jz^LMTTneu^$UJwqXCJw*> z|1gedK$Dzs03v^6JY)2!>+sumU*!(-!eLGC;Yn~f{YSDp@p9s2*ULih%Us`BDLqYy z>K(M{d~$H-UF9OfvVPShRT)lVbP1AASvXUi;+mPX=|rn#6;4ZzK_c&wVdXN%CF5Fx zKDTz0hqNV2XhjSJ#8c*vzaVl#D-Ivvd|c}797 zv?Jf!rjk@o5phSb$VVSjo+yOY;x4!9G!?WeR~oO5i(~pIaSxq=yxi$2`A`^ABy8Bs zh&fDtjt_HdgN7Vz0D#u|Gc9RQ-xI>#-qQm?MhJv08#C?xEM{|-FEwv-rmf!m(q={C z)ZICoA4(ZFB2izc)+(k2abB}47`AOxfG|2(F--DvlDMv2{lzZJq4O)Bc{*jAt&X*h zv40QMVSWt87lGqHF}+mUqMMc+tQ*pgk!3%zna``4GbP-YN|~rX+D$2iIG8b}y&j<` zNA6jJ753&cheemwK}^b+Paxa&CrxW1{yWj*I+Rm#>zu;JD1!W@QGWz9Ofv7*s~2DHZZ7RZH&*jkZ;!lL{*`L+U7&+X;r{y; z{OR8-(_58R_3+%nxwlr_u9_Y=P*~hY>9;Zc`g6(`ic~RDlwB5cPW_g9Up>tQlh(bc zUzJg&Z+)eVoBPMxdLfh|Kb*s@HOcM2I3~8!)EQ|lR3!RpjAS0AQ}~sz0hB0^M|R&@ zGYKl{ahj=fe3oSU77@=>f7d!3Sa7L~UXF}E`JpCRL%VlvE?gk$;{e zsRwS)y{38W+OHJkyH!_NYh|CM81V%?X5r`Q2pK;*ICPiX$7wknGz)d}Mn(tIhwn1B z`JlQmzw*6SYS*zb84r8R1((j z(F)D0Kp`&sD9N9UnfPankIMDyZr}9UE z@&f%h+LT^I2w(F9DN(+u{2FquP$jAuU4rVx%q#E$ausG>Wh$qxG^0i@rP6q%$H@kr z^c9Z0fOxvDa&#a-pkM?PeC5zUPmlBafq?Vo0QEvGZiKJA4hmi6)W73XD+hX==Yvk> zs{#52%pK3GtVI!luJZG-CkFo9>pT&3{?7pOLM`qdU-{nH6Q;gB_JB8goxjDWy*!|J z;qcE-dvWX;2gdH2^E^0pLFcnUXV1VKC1gJZifv=ho*Er{`lepz`k*tleLw}y)u6yP zYRao@8+-D9^*X063ObtySjb)girPoV-p3kI^)4FhV(Zp3g7JV3fi^cSV@ zm13`RQqVbZV2%c|%Ro^&wl7ml#&)By*J;NMWe;dkq>iu8(e}#Ju{+GYPVE(N5+vc2 z13Jh?=_GC)wTPp#?j=)F?s5Jo2b|x@%v`Uo^5)Om{{|G-$KJx4?t zud6%_c!j`iHh$jg{8P|*T%HPZr~c2_X5I(Id#LH;E8p&Qz8-YGDmP-t*~?=u_Yx?k z;)koNJkaah6LgYYa<(Vy2?Pb*SSG-s$=WqMk6$|kL@BJuGGBBm7r+r zbuI}yQy!D=hlb{{SDcE+i?93zC?3HboE>z|kU5y!01A_?5)T*N4~j-luk*g3vr4W+ zrg-Am4&veBE9XoAMMSdT<=CSUgTR-> zL*=kq{_;6$qsN#P%p8L8wh&+ziK6AM!fMn0fCk5uNAIezrU&i3yAH|AY0=!+c$cQE z3R_XM$MBvKbjZJM$QgaS*nZcnepWo6;nhjUiFPjL2~ zm)Vh~wxG2BMN}_CzD`p(<&wG#HW}`^Hh9Nf=U!p&ZuCAgZVkp>zJ|kkJl!=NJF<30PhD4u~ki2=tRcZ~b`$+EhpxjEhBC(*Rg9|Qu_vItYsNo1h1Kx2QyJ!LY)N;XD9s>FUt^BNd7cX=S{AQfEtb?VrCpmrg&eUyKV0P&QJMq+j9d%;F_u#@vnIcfxr6H00L@Ebn5{2yVIhZ2kO0Z zLeM?X;I(#a7=Y>Cr5)=Bm_4Ac7IESa6BQ$%4b-ZunFy>LxG&N+fV;GO;DgArfjbds z9k{Q3@xZ!vSTyiK`(p!l+M#9OzK*7Wbsex^;De4w2kvyh{DG3l!vjkrFmK>!B&4i0 z!0dr#(U5{Mnr05%0wZH=K*;T;+Be{AzoCSW4YdPDqem3vV}m%btUUxqxNiWR8uZ5o zrh4F3^ai9)97wsETg+{PMXI;d`{A!XobN4k8pV=j(u$-=KTS%!I9dtt3ni4U4@q(Ie!H&DrR6XU#7 zZ*|;&{6TzOP|f)PRM;VZhp)oIO?ifQViZbJAbuU53hC!5FPvhzcRdgiO8VUl2_w`qA{qh#u~0zd=+o9_j;mrnfrE z`QMSm1#o^WjH?WAcoxKu%Co?0i7HTRqGRjXXcyD+pm#MypLDBY^SmEvqMO~A-}4_Z zqQ{C0;VYFfP;QLA?*1megUBrep#P@%GUxZQ!h+56KikECuwbL?=%`V_G^3;xjd?s< zyydKdQ!Vab11e7C6H-4@FXR=kbevT6gBHaMvwebsMNNZJNEZ|#yup=z(_89SeFnyb z{4^QzW(ZyvY^aNU*B-$!Rh|n=I=)mFLWd8X-Hc}oDE(;E)_DqrEhk}9KVdvvKWs8p z%~H-X&Y~+*Jg!ajTn{%78Ju^xEfT1>ZTM9ZaZlq9xgGek&(zw_6grRVSs<;# zl(GBwZc*wy%sxs}q`w5YmETNtcnkBtS&Y|#KN6_W7XNrouqylilT;=b+8FCJ4{*~R zA%U;4NokLMcn94cx_1Le?xP0xtvgC9_Sbnl60L#}etUaxIw2J(0n#;0| zXtzSn2QHFvp(s`_iyy+*1QeWTr1E5&YpW1A}+OdNRer~ zStfSiWXf)k6?V|cO1nl@*@2Z=yHZx$fsr+KO4iz0kinjPDCQ#LLNVZ0a=W;f1G`mU zC3XwDC0KL}Xk1h0zWei%k4tMm-uVC5d!Qfv64(30?!<0+_m_#?q>o_G3;v!BIC4rW zQ-ut~SXpnQWCLph*(khubcD{6IYE77q^w1))Tj*_YyYGoZj$L$Y&Bq#MJVloNh$9N z>TRw`?04oaY%M^kGe7~!$M-Iw2P~cKq<$$WYZeL-kCb7T%90~S8xc`9L!oBP;lam{ zs%5Z{MbE&EI1)rwSMGw}in#=8Bz5l2c}NUV)(7#heMI6!B^1i0Wzm8fjLx>pqKJr| zRghJpmKM@vVS}he5h?C2%qIeFAf^z^ogR)hCNWQyYlQSnSt+cX7dw+Gp3!#qp21GU z5&Pnw@fmFJi^1Ej1F=&b1zm7VZ-t$}>;q&6qwclw2?Ud8RW`DNt3tO3BA?@b0BV26 zekk-APe)*=Y|Nm=iFP$_dULzC2}}vpL?GU-M%U9GbtabzcBclYXURRk_wL293gD~F zYUt&YxtJ6e2^yQ^2H_zxiwPSA6&Eu_5@aq1=<@`F;4lMv7etpqzPXX=j9e#F2Ufw3h!Jc= zuu%?zcV~0q`5b|XK`-a(c7FmFs+Gjx_8Ot+cbBLa9`vFdb^E3N$KIPiHc_tq!`D4C zNhWF9+(}xRwt?J9TS#fK6ADr&C6ja^EnriiSl6b25=0~{N`OkH1*PCZ5El@&!4>f+ z^(aSCvBe!XTJan~#0HlK+z!Fzv_NUzt31#1zTZFL{o$KtCYdlKlgZ3I*Y&wRpU=f_ zJW1XHWp{2X+EBu_^!AjL*6OwyGpbIyAc*;~W2k>oda@OxFAT_5R1>`o6_;1_;X8zZZ-h+zyq9p{ZZKdl^Edpw=Z4>#AM6^Ad?bE2 zs`&v*{={<|E2*Z-CqITymAIv|FGotNE`Nsqfy=Hm&0!HihcK;pGHeu(5cfmau9hvL z6fk_3$VC4cF2H{W4xL7OhoXDF%?l?kp2BLcShCX+v%q^}-}h(zb>iQ(udy(6t~zsy z*z>S#EOS`SNQ<{iDK!WQr2gJQb7hTe+zcu(a%PWgGJbvv99mfXuN*U7`~fUZk1dw6 z{-P%ioRStL?s)Z-Ligu|Sw-iDm&8-^!<3~YHtg9L$gHiV%7k~nh(~GUpK*Ww%<6y= zdXSCj`3tfFn@%xbSbN=y4LIyp`(Z`o6zoi$TtlJ0((e|P+fR9*u)!WCp=IchRT{b# zrHvuH0vKNp-3+RM&;pv7w>&^Im*0TXwGZIzYMQxXE>1P|IJ*ibOg5-9gvmxQRCQ{0 z#6CuW*ZvkZ=I;^FVZy-7hY81gx9IK>D}stkI29R4Cgn_66N7QT!Z;zG7e0k8DcH|p zntvvgHR_a&*;OmNMM$s|E1b*IWpfP~&-=2EL$jhIAKHwA$)tqk+&iIIzLgaRmk-8m z7%g0syZOaIu9g^OQn5JjyQOPvBq0}T;gO$N%^5-YF>V<0Pe-MV8$CRxAFEFi518|Q zUc<&Mmv!aB*IpqnH?iu&xGCox-y+J1RfqhCSwZ@NxQ3OB^ux96J#Lm{I1H1)ICkw8 zn(JKgoSd;4wiZ=vX1}#Q9(QA7g3R<9Fu=GJIbTawEvG-iton(!u<5}Sw``DKFdhCI z*d{#rSz+&!hp8=3HXgc0+<4{kTjFxgBgms`$>)=8yQ=Unpq ziR-)ZI@u0<>@u794LnIc2L9{INX3O=oZ}F1*_Shr`g(qUI=|t;u$|vezX%)o{g#_5 z<1p;QG#Ay4PIsKzP5f6`)_LF(l}YirVYXK`G=ia6v0V#>F?$u;^|$bnTc>`Pn1)Iku|K;e2-Qe0OL&tyC~_W?$BjOw z7K`$ZWmv~$sSuINPrqs*E3#TDD|wi6w(OBkcp~sBiBp4I=Z33KU-ui~zR|C{K2imq)mo=#_v$an49_5*xbFZb;{Kor3tWyP zFo2kg*TGWYWtzEk^owv}u4;n=G}#kJfu^AmpMd6C(2T%^>#+eGXl{gIqjp4pG&;~A zT?6Ci<_2&ZvA?`|X!2_@>sRT2`)a6PH3SryS>@La^$%TQob~$mp#_D!&@=3Bjuzm; zH$%>}ul?BT5R5Xkw0ni)qlOqi^P;X*J8o*fWZG}GrY+Lvk9%&T&Z|Doje9OfE)?%i zeaa~N9)D`wVO83aW#WBLQS(o!uW2T-t6fd94zJMq!v(Atx{>aJ;$}S{5tcK`+7u>M z3?H%bW|YrY@bHvaVYTb|MEp`#W={TLrWWF#+iR>Vt^HPpY?_W%FFD?}12RNwnS0G^ z8>>?t)>PO~aVw-fcLz-1tZm~*gvUTQk=5#DU#9>IV!OTQ|yQ=Hvv(DK%_CLEexD{~#3b>y;c z?#OL zVDun&QPCp6u#j968MHk#mp1RZ8kQuugtFfF_%tIeD9 zHKekes;erTR?dU;W=qIal59)aJ{ob(sVOHXLD-Hgt~Rem|MgDG9_M|M{akP9PK&Y7 zWp{UxpopD%hh2ke7Xo^Rc`9g7-c8mdD((Rmn*RIQtfBt<(*9U+_U^&o&mR8$?EJIG zVE)-5*7UuLv;My6_f34_vErr5_yvX;S;5bP2C^6&A0wqE<)khTYuNDo0C`IAmh!GI zIBO7n^pW1;+U7lf6zks~1T@XeTHfkEQ@KPi^5}A*&gyAj3$La8#UcGiK?`p+msU77 zHPCAx1G!?)J!>0hdNcb)tHTXr{G$}(4Py~aC5|2!D4g3gF*H4q%E!zL)UfR%i3`4j zEx_P7*o&BNLIs`gHa(Y-dml>v_7&KB3ms|lQXelb)tyKzP}g`AZX$XtUPKu9e$aey zF-zV`SDT*y=n9FKSMsnD^MEBruof|$)mvfAwO+%@AHOJ-j58lj!{lIsYN_K7)l&JE z5A}tY!4ixoh7p+-7%s$M+|iB;7|KL1yVmW%QBh#&y8W0NY%wh6Sen+XH`MD|ZTH1d zP!!h+WsN%0lww#sEP@5px~p|*=~fgc+)nh}dQfADXVi9Gh0rdm(hxtxvO0qMMD-1f z)%L{TdnNriS9AvgzBocft3JneTS#j4r@G)} ze~L6ifUra6LRh49#Z%x2Ep%FSn)frskjVO+bR49bIxhKhOpioYA|LE_f1%_}en)e2 zXFwl8>clhkY}98}hpClED-5KMVZ(!V({l?J3ft2)X;zm1#|Vud$O$iVwRzRYj9iUB zJ=u=ORv`lOXz^)Bb4~-6uTpyt7cn$3*(wEnfk&gGKjC|6mlSLd2t`(AMOxK`AtST$ zp!v^GsH&@tc3eg;i!Y)}NJU++8e?xzytR|9eBwbkPsTyd-ErCHQ@et%Yo1ZiN#A+p z2}m41Z!QFq$K+wZ1vVv|^Vj4MBpy;AQ%-ZrOqLm5EVI5m&tzpRsAA^zFs?ggMYjZ6 zCDV3M4gwi#a7YFZc_t<-9WPo+M;iIMzs`F(q}z(trx}VV!vlfGTq2ILkXL4iFUiZGhIlTPtFP09FFex48MgL8=AI{I-k;e9}3r_Erl5koY^Ujr#2U#3w?F_qCC zEf(D_j)kv#M;@k%=Cozlb?h*Z`fS45O)h}qT3G}QeEreLcPY@| zJCYdj9#n=hOzM6%hm8j zzEP0#7Cc976V#iHk8r+pxp;!6;FmLj!fZZJC<@2~^${_EO?!Jq?p?xRQ^LZK+F$0= z8YekJ)u{mcd)51)CQW@Ff-3QpX9w4dT`j^!d+{Dxa*Qm|WN%BnK7i_Ul7>LdCL;7G zj8sff0o?p4FSN+#81 ze}djaPW92u=bnZVLeA=HGW&Hwfh?`Je53A1ryMARuaAxFrYMZ=21_H73>0pL?CwDOqrj z6}WhIh?EeQqPpFhbPgafNN*W7zB|ij#!2<~?3XY0niFG`F{)r(J4Q7_gktPn4dImV z4)0$*CLyd1`?D<(g2OEvQNSJJd>(Nu()=Gw5M2`pcF#Pmpw&6$HSpAkvU}9EYBURI zzsE~^QUt5fn%=G@y<8E)-S#S!SPh&Dt9N>oBP4oXNEE7t0v!|%#tZoxMg9Xj8d!z8 z*U4Jq9Et6*G~0W!(AXqF>Nw}D9?Wo;_H2l&(Iu9tWtC5B!Cj~e8yJ-vEb7$_FeV_B z%p^x3W5$S?BWiB2fXiyf4kQS=rPtcNat0(l6Xj$cfehnSk3!anFpM^0q^o1{U1)l- zlUa1S!+KwiMGrHbh=4D25OG)xpxb8&tThCNn)Br*q)jdWby2boVOiiaY^k*{uvigO zXY^W>vKQ2WfyII}0L|wYhl8zNG>+0-70oIQ=m`r4fDJUm_e46d_VpFkIGytY1D<_i9~7)%*>babeDp`8XeL0Ty0Ww#ffSTh38cZFH@m{)DKDrlTh)aqI6}+gk4~ zYU)`P?}6q@BWvaZ_@t-V*t^&d&5Mqvi>CoNUT3atN2yj=2pOz-lfW=qu&NxxW{0vt zg_}bpbYo#5blIH(F!m3$HaOD^#R0JWmR%k76C?4j5`3y! z1@6P4iOjsq^~zd^pf!q3TchJYd{xpa{EulC)Z5jxYuBOzU)O&kp8dzbl${f<9`_~! zJY~Q30>_D80EZWe(mj{!EMH;`2RDOj#Au>6Ti$~XZ^I4?GSyb>2|QeEO9IWTJQK(~ z6WAhWY8_;@_sm*OR%y`jLgpk+##*oN^9sT&S1z$r&We?(6`X9~(%DaIsX>qp0?Yq- zE!3?*nV=}!2+eh2!+6SlsF;5vmz7vJtZIB&hEEjoPhbwB{lp>%0^iMR&Ux44J$jw# z2-owLf@`6w*vwr`MX|7;H@FVX3e3HGZrSKfT~q^ zo$D0M$d!v*f~$=2He+8S(lpQDHT?m@YmQUu8FnNd28EWztNiP@8&(>H7P`uGiWUZ2 zP=3&G1$JsXWpB8Gzv&9v;{en&oa#Hh8Z^h_!s;vdZ*E3s=Q#b>>2}ckBmTu{l9#r( zNY~42CX3JxLP|m4*SLQ!%y^xw+*xGkg(P-*aRyXADg>U;ZVv|j-AsZl0t>D>PRvN5 z8m1f~Wv1yp$fuf{F5-nD!TjBSwZKin91#*z49N8&~?paz>X1XvfpzF$!QvM z#~{ZvhcAf}tB;bym&@7T)_}$e&Qnhvi57u7Y5F*%91ho zzFdz1AY29S;{q~|tvjSGYui^WaIq3}feHSkKVS0P_JVt`1z?<1r2fG@p9{g22QuRc z=%SOhrB~=?%&mf;W#e>N5YU?_u*$wpVk_rhXaf6HGni$a=C|I)b;RkJ11gR+uBp>FxX^rK(4Gqz7Bj)ySS#LVheiy-QE1F+D<&Z1yZ? zJHptISEN{G>}XMR=X*0zRcYexQZG<4YPw~t{?|FhQgYNq41x5?@^q46@F@;X5xZSt zyLh{DY#n^F(z4FFvT+?;zj8;*W2+il;QCd^)_$|%3gzGRpP1Lt4HM)IDStskAl7sr zX-~6KjAQL4Y^?E-MdrAJB?T9b8)m_t7Q*(dLLTZ1$<$ift{^Q;Vd1&X^xkGvcN7?V zp9;?r3)6ZL;!5e=1M7y^o|P!Fj*|`kCERHt-Pbzo58k?xvz|glm-?x276O@MK{yL- zw(V&)fzGG5U?iZ&j$jqh`MGN>>bwPOsQoFNepn;03c5hesV?-Z>xWc6wfq^qj;R@9 z7ss$DvH-mM^?dkYC#TNkP=9b`e7scIYS#*nuYv~jyu zWgFQ54Uo2XEFh13|2EV_L*fq@SXxacs%!UdN!z5VX%KctK})UA^R?tNV)GZXs}yKQ z?iNZ4Q1RwGkFFG40z(N<3;H-iQ4yE84g=#fL8#Ew?1c(VZ9@Z8B|s|z=8-e*&Uu9Z zq$TR4I+krUc3%HV>ZTf+Auj5X>|`Q-=RY#s#yQ*_s9(&ROuDG4n zKv<>4>Ww%tAn3H#eXF1lllZ%#MKGR#)J+X_^GNlq>dNZStMoNA4fCREb2erIL6aq? zCdVhXR^x!a8k?Cxijw6+!buPoD8r=UE!9ezHs5J&mx&dmcCkWI(tQFSN=F2J9CEm5 zJ5yp-R11p%e|tdDBYIggyPAgYk|9+gY(}+3fl~C+L)VPzeX~#d;N2G3Wjw*20!@PM zqbKP1rv4Ocm5Xh8QdH-O!bywrR^1@Q^pI+&O z)K9E)Myb&57PFY!S$0mvgzTK{-hti;ldWYC!#djttIaC#*h9#`Z!*+aM48XMCw&tM zDq5y+t*P%?QjNFc)o$;Qfnfz+!?xX0t@f$khwTW8ZpRL!gSr_LU{~Wa@W|oBF4(oC zn#d&takRA?Wd_!`!=!rNA}gu;rdYW|+5ii5mK~(n{YGU?aa!lXAw4^k6?SrAGLe+D zYF})GQGA?CMP~hn+N{|dr2XCSN#euAhn@7p>fuN3rjt<0J%pj%hyD-A+IyL7XCH31 zw6#02V@BeIq`V-LR>&dt$OtPZr0W~fV)sxP(Xo3(*pEgD`$Ibgw$l)&GY0&-hHJ3w z5&kEw#d(EwJUr3_k2LO*9!Ui&2m<=MaV#D}qH7v=1%+ceABX)d3t~`QrT>7_!`Q^r z{7(hqiMphf|EYH@MTap7DiTnUxhGy_RH__M#p_{qp;R>mrms$_RE5HsUW+w>2EhA6 z8n`4>$Vj_wztl!2;W?G3Y2B{CIl>9!5h0MQMPf(h()Rl{c*$QVLZCHNdsDT@A40ef zG#XE^K>B$Xr{ z9lFbSc8_;tkCfYu^kq%O>(v?Ybhnf%W4uGso=3`Q24kY=J}H;A$Yq`*`r^+oq18*? z&Tf|{BPZIKF{_|m%(%)Wi`NBV3y_KeCB0^E9_T~n84Zr?kXKP{)`zk~sTwpYL38Dv zOKCo3L^B`cS<*ph!at;XMPJbFN|Esr2xWAB;daB<^HPjC30NsE*6Y6tg1q@|ulgwG zyJ;?YfsRQk{8sJwldx^jz|=A_%Ccr;wWG2~_GfW96gsk$^tFOyjmd)JnLNu~@M3;y zC_V5ZdZAGXhvFC4Tr&7LKFFbk9DU(J+>v8!wy8`#d@;2j3v+jA^q-zi?Azntr{bDb z^P4eaNeD~mDSt6Nl7?+*K(9BcGt(@yJWg)<-QG!Gh!xLx#=(aLK>5uGZJ!y&$OFvX@?`AG0fE%&r({$BYeW;UIy7Q^?_6_rXEXr#^Kg`kZ2#tjN32 z6K&>Rhr=1t+B0xnF0A81ni*U;2kJ;!;&wJ;{Gr}mhTKP7kCTmF)luS;*~%W{F6#?6 zey2(g7r$YRQYk_vROgrp6yciK^>U=`OuZ3Yw zX`mFL4ySN@bbMb-bMsr62>B)lbq;I2-axP>u#|(I^!Se738%)?iAbK*zs~E+Rs0D| zN&^CS1S@O^(D3kx$2vIxU!D#JiTxwA%I#IN@o_b(U268u76c7MvD`U@vPXZR(@0VFRO-; zVUUo@p++`Du+uUP3@&C!i@&@_HayG>>aq7==0LDZooG#-_E-4tYF=HczAvQ!j@v(p zt6kQ1AZgoy1h-cI@B?tF^dB)RzRV=_KMnlf5t#Zftko@)hY5ey%Qf+qAQD_}hy9XD z9Fr`C=E;lOM+wf{)MKr{8ye`^oZKnm}hJd&C@`I_v=Hh(d8 zILZCuqJ^tasCM#&$w4uc0Y2ozqtkpgSa*zv#G%1-hI!N>qc!G2O)n&tT*7FBbF|+` zthFiIj6gPL`$$SHw$7-Zmx3aL*(`e-zf@DhJGKb(6iYZ@I;%T@h=nfR&ZPuUaB=Jk z!!MwLvzSOcH0P_0bo*qh7&3204|EbY$QqU-84g@n6HF5; z5QR~3XQMM(abtqgSD&G+uy47Q&(NUTasS~YJsl*iOZ>$i^W^@%WH)Hp_Akh zC(k7Nzhp>y!5SVGQF4t|RaOO-LjqNufr`1Utl}Vy!}<*(m#-ouR&t*z*v zV82)N^52XT$}E47W1K;HVKuxUJqL+r5G_}WX{bv4fO|wL51!|Q<^F4$Rp&>dRE9p@ z+WiP?3(=RiCrM}Lq4@XGqKfl?p2;d1vA(U)HoJ9 zYxa`WOuvmB@lUt0$?C`LN8U50)^Au=t#vd#d7(GsMT-8)E3xDyr&etz$2&q!9my>(BkluIhPR)Fu|Ga-pTZn_(lWG0859K&k>TbgD><87I{5>pX zY*MoSI<#CZuM@|B;fEofX-XT1W@plzIfbHi^7xS=Y2ast6Lg8JaA(!VG@aIHB|57# z9v@(2&j^>4YhW0S8m(oLiyrjn@H<1?oxkrp1Pe%3kQ8WoR7a--xs0RGF~Xc@pFTAH zyn|#IzuKQPe#kaJ4UtL%BS|LB_*%6=$;c#GG@~PyVao84H8kTvmN7-nI7zNy8JlAn zZ__Dvg{orVVC;#Sc@gW+Wu#Wm_F`x;0l& zXQ#DVj0;HTlIZRQ{zbgf1YFjHIlhI$oUP~m8M@x2d|Jx<$X){^F)y1t$b*^W-}%6A zQOAC43&&fj_MDjut+g6M2k4@ahw|?Nk8jlLf!9^oL*N@*ymVy7)>JdXk6eawz&MMm zdeF4`r6ht>qHXfXn3P}7UBfA_2R-7b1A%XKzbqxNMf>UNfiRnMKzt3@2@|W=)V>+C z3f8C4jwRzYZM(F^!fmCKtp@_9n@^`V(Gm{b`=#E`Mm{1fRrN-f(3Cew&0V32(vhUy zSi^g2dRLv6rrRt_QNJ`{(uib#CNrqOkUlY)*Kc43E^S)FEy)y4FzQ`9JLi`fUQtLv zvj4;oBo-;^b9Z8=A~BTI_kTYma_1gMA&3b`zBMa&EY)xW!uem~dm!ggz z8+K^Wum$OEQeEG(h8h20xpHT&S3{Lt*QqP!4Vexm19n-l zyZ#vI8Ok}5bgFv>xF44w_dj!@#`}w+6puHfSfaGKbaB$@73F#qMT0+gKnQZq?B4B} zjv>YLyr!l$s8}Woi(9?o$;8C;xMKR=;JXm4AEldawQQKY7q6ZU&a$yb$6jof5^+(U@ z5|X^6Iej77zi{QHK&(@b?&A&@8wpx{9HLvBK&(DnN5>2U30i2 z`lk{p-Ev{($aW5$pLr~%vCMeV4FGs`akSnDP>^;)<(q8PIopl;MZ9Jl;8)f3s^UNB z-Jm2x$wwlSpUPgE?C(vE$7{_spuP9J9+kF24di}&W7I2Xz9CGbE_p{T1+Z=!j8JSl za{NijOAU7fsl9GR~UIfz;wU7y(Sf=?Gx(;#@&kd9%b9P=MUZNgV>BvKCy6-xmq}0cH z%#ij+@-!r>o>APB4Q32D>%(Jy@`R-3f1NKK+4{jawWSCB=j6#XS>)l#E29J!X-yzMdD?tKeG~nPzfbc#DG*?*p#kXG<_wl(D#h$m;oPu62{0`7Ubx!8GEoiM z=5bb;rc}UgR7A^}8P{UJ+Lftx&3vL6&tFjQ8@JnkL3&1YA@+>*g~W4nc1547VbAG5 zX3yb!>ezESw&bRJVaaFbHSz)1IT9As1?uDJyETwt*IzJhE(`Wr#2>iN#x!~F`|-5? znUPZp(9_!(k^8xjwC^<6%2en$9;bEm>XrNc*0ayeR;RFi_}1DN*yCEZZz1fvov#W# zZ_ykdaVUjmP6@WxSX}PT^PMk#e_Gmk()E{rCpP0t?CRMyAlq+WBV z{yR_oU*~@5+*STsbk{v>R~Fl)L$@|b{nuLe;VGzGUz@EpTc21Ur>8F8Ww{ocNe8&+ zTv8bcrxX}|O#6&h`EA;@e!EdV`j`Kvvi!t!I?^j=)X3!-o{)|m7wwbqULPcrT&z@NQ8o-5f_axh8KelmvqYcwzDK&1<7#$q23cl?00%nI4z zbyjOwlg}0AWP8lkxpgTtlvy+F>N${&9UpSDE5NLn66Sm*HDOjn#jKLe!dmMZ>srXT z*7^j!;jPp3xf|z{zmRweijS8oPdO4Dm;cOtiH>;3+j2*PdE6(Hj;Qy622+Ufaf`1( zAZtc2RR&X;naXcM`GNhHur;m5sB7mO+c0P~%y86-rZKNu4`kjW?xf4VCKKO$ZTH8g z$EV!f_ zn?*-SUY=$*c!e)ou{(;EkQ_2_`UmhEpa!mkfz$1n`5l$Bvnytb5JRVG$hlt3a8%qY zr#uEJpUNqLZy;sVk632x(Sr8-)6}}K8ss9nh`!Zd4f_=hs;L+z;qWA+qB&o|jXm@p zI^tFANwu{uu{FLGQXTjScyMl2(G6&ik@vkPyJEp@)$}3B$jL^!OEU7?WaDGip{I_Y zPJ^XUVSmp8$>t?JpQd7m(*=?nQtxG{U$7=for$Wpx1vX}-^R|A<@6{NH1_0@T-f;q zZb@(A{lUch|NAGuPkJxV?TN#Q!~Vn4p;C4TQCyX^2+cr|N1k=uVs%#V=)oof_6#l% ztmG4ND9Y0*U>N)7F@CIYT%oDL6n^Z5V|uWXDFk`TZGdtaVzq=B442|3U@t5VF+-1b(K%8Zo)xof+Pq8kfwpAXm|?@;E!gYR79_*Rh5;M0tlai z2o}m>HbJDDV>ae*?{qsWV>X3a6-8-p4>1cxOw<7QBg;@(d2gdrw1ki%i#tAn$~ZY9 zK#MGkVObU;gHj}FqnD?c8zQeoZ2%Ac&x}P}2;Y!EidgzNo&-q+~&Z)}kw@-%!)sXX+5 zY(O{Q0t773{*my}o;^EuIBY=iT&NWCD(5a_m2+`99*sux;!&6uRoLS+2tI5RF}JdE zroFM-8$$!RFxCuN7mdLw(~Y!?#qjIJlEX9nez-u&O&znJI8Sp-9o{GW5w1^BqLG$L zu2LDM3@81ON+A-Kl2RmOlOq9}!>-sqa@a$*ZW(R_SsrABUPbT6Q<6ZZ#QJDP$R^VJ zanG#x8~p40;5|kp=}!E-J2CT5COv(DWPP7M>BoiPDH(9f$+iy1ZY~x`GvPex>R7Q` zvi*P4!0>|Xp1)geLXVtf35iKI!QU~rtA2-f)UVOk!N$EEjNyK8e{QTYkYacURVW@g_g)zq=GlD+NJDoL-nJOqtJ_)cR8Y_b|X+?U(NjG=+sf zMGLkw`rQBJ?~d@(Ps>j?t4*oLHP_BAo&B)A2?!t9vSo|37a%rNtu-5Yg?b7Kgy%+4C1vZk8w127!^HpyWhr==7`+=2V zO@2@u60sW6h5lX!?mwhoCvnv!T@Gn%t;{4Uk^$DD)@Mxg6$90&k@>yx?QQmH8-23d z>se=<=I}mi?9l1L@+5iYRLQ1UODB<6z0*#iH>MJch}?e!B~nydTXN7rUjmY!Us;@c zUw!T<<`$Afu;%4iad-6L>3EULHaW6$IknVRSvdqlAS-gDu#l8F9HZwjeLZvJ`oeH2rC8V$2_i%q$Jb5RtlQ zBsZUbUV``S0scjPY4=A5vw_8oYKA7Z0mJ#e82tf#FI z`6ddVs<>E(ic?jb33PxB*ms>BT*fQTyk^?*EbHJ@Yq#PHs%6m*2*hxO^=735M&UD@ z8Un(n+xxgb)^ZE_ghm$ls^H0rrIOGT%6f9bf2rsF^NuE39Jm{KN8iTHCoOs%qG3?( z_ft8V2&?RSP))r*`i?)k+?J=%IAH znb=*-?X9i-1g_#ZrfBZLL*)9o=@=6-TP*gZ_vt;tlY4LB^vnhysh`K&VJb|xKTnv8 zw+U2moo%Cr%?%Cp^*|a}!{!MW_wIdZ&mMlyp1phT_^kROws zy`4&V=j0);*Zgg>Y)-@OG6(Is{I`^O+|1zhIvj`0>+AdM_Ijhsj2^sw@_MiL?`aD< z+Q40I_nb>z&>`f7MHN;PkkF`3TP2WwPHIS!w;yG zrdcFEeIvY}y3Gx52$RQn-Kx(Xk?s^lZ$yyp1bO<+f3MCSx_cy56C^;cCmhnc1f6Lf znn~VCNQq9BT4k0f9pY4F{~>kJ>T+@kKGmKT#nbtI8ZwU*rR>{SQ~GDut6?ZEcd2gV z_qDZk`@7UP*zNXa&%4jgJ2?ovqR7v|8Sd)!^xtjO?+i*!wN20zxga%-ZL%jGjASM^ zMlyfR8=~CY2OjWuiO8uF$BtcG^NHN$8-mX(oi}#@xx^Emt1e0(-NnU1$l}q}x?TeK zZq&V$19)e=Us%srC!A{Y1Q17};~m2v9}t9v>EuS2j=Iu}qvo4ZRMYb;3Av9k;28TT z|8vT|rAVQm_6nP)c*x<%yS9lg(~y%!^N8A}^v7I7GsOD1u*$wosE-r(nigspc~!kz z=;Am@I%|sD9dSf1-5nY8CUtwR=p6IrJI1!^C`jQ!CP{aV6b0^cv00q`Z?H+yU^r^C zh$4684GqS@!N7*i9h7q16D8kB2EAo)(Be5LH*x=Ur(V84@a=+#{O#gM+_5cJ5Iwg6 zO~6TW-=|mjC2wBo+-Z{6q`ui&Ij!_Nsb_w&^gHLRXXYoNevsJjwu#)RwcdBuB*}vG z`!_$y1#UC)i=Px*EKaBF3tR;PcXN6=o3OCH3FN^_-@8>!W!t$aql=o8v$>y@CI`2L zYtcO*L?df0+!T)4G;gy(v>D0EtE`;ff!BTRYm><|-Z47)IkoX_91#P4d?b_3rVD}6 zz81c(Ib!JxP0^LtN5Cep_qE5<`|MYNjgd(U-%F2&H%&)QTft>$4H#GbW%Iy}?q$TN52i*6Em);4zN zZk+D0(Y_xZiqO7iBDyX6BdV%M-9wT3j^$mhjt1QL15MLZhG!xe!-(c$1SqBtI!a6MOQ$_ID``RC4EnA}K-bL`l) zl}X9B$S0GM`^5?7S(HpTwImRH;>wq3@Ck8DhmFk?)fKWb;eH!?Pj3({*!78GSTKbo z-^Fvq_MRY4fZwMyEtCuf?aJstWryhWI(2rRPxy60$3Q2UoG`g%w}3%liTI~+yyOnG zgRS`OUH+z-vb#&N4LH_~`2OI;-2yFxj(HK<)h-Dgfv(DSD)^fqJG~=ni)<7+WZO00 z6gqw1mRU>thFDVjM`6&PG}>~4kNUckjge)4PDjszh6^`^Zn}^t`=X~TK%(6S-!Z0& zHXmaeKgsju>o+G8o4Pl(`%~^~S3=fG zr=L12KOLI>o2lHId+il|Bb(;1wY%FfxL#pXEeDJh9J_`jA!K91q%Lshjckj|95U7U zljBcxyD_43n{CSS1Qo`c%{GjjK^Q2(08#1+*#cdPvSZVe$(eHH-1*7CNxARx%)XNm zIby`Q6d9=bW@Xp(adX^obu`wU(H)D1khgcAPi`7y2XKX^rL!=ua34E%#hyLUj=VIU z#+bXEZ~tgG1g58CTNfR*ke*^TPuD9+Mp`33x4K<#EO!U;4o1^X2ak^L$~)*wJN@9T zAvc`d@qkSqGzR<;MG1XKMs16*!9%fa2McS9MuY(cp|m z>xwNUb9}xXgEW*^#(Q`<&}8=bgV)VvP2DRc>BiXnx|?h>6DHWRCzLe7+_{mz1#C*! zhFqy@LB($O{7BO8HhZHsv$rAQa+k$g-Jcf5DCz8885#XbY2ecZ5l=ECKI!H?l^gqI zTHn=}tnbRZwL|(gW;2%i7x_ard%3gmjvL9=yPMv|V1$>O-M;yY zeq?v9Y7*wh2U4caahFsK&p{4^!YwV~Q1aQ|3cr<&lR8#EGpS?xGw@*2esEqF`Eq#f zw_%Q8OV;;+?P(lOUX3u%_CDrGuIvjnd)vRt_<&p|Gyj#-w$t0C#HMq1PKr(sJf}B z(P+enK@deow6aFhYmwKWQS+eHXtgSVs0Be8sgWiorO8xJiL4IP#fV%NXjAcOUWIyj zp1yK1@fyNO#qyXyg+`vlRsq4Aj5r1;Q3RP}#<+lQ2PTd{<#ZW=ITPNyW3cz*d$;I- z`JrLr{Hpg;q6v85(T6dwLh6TjHEdA6~TMNVm;zY>D+vf)!m<{Qcxw9XDn&-J>6lm zpEwm$M9SnSXylKmh52@%&gTgR^nUs{^Gom#Ah6F52u4vUAP<4JQkJKpFaZwcj%MCz zZEdob+>MH4&+Y}lAzHECyW)P_f>I#mWI24stEcM2;t+@kj&bT$1o}}EGkf-Iu8rCX z3JTT`u(dE4B3rPl=X(5Cn!m&+C~ikm_b5wfG_=rHhXBwVh(K~s z5S-Nc9sqZN8&Q-#1^$Z;36=?8Pymr!RO`n5!YqO*PwECtI5{=k7)SSvO7OO|A&Gaa z1M)HZQSMDBpeXABJrBZaS#FIC!Q=D@p_d3xkI*4HSDsDWA~`#DT!DS@39wZ)P6mBPL@wMBS`O z2un>OuWtE{I5}Z}g7F;p7Ox&ev~SNIV+8Q}?fDZQsKamXx0W`SrT8a36S);AbD#$?HmPnl#0L}f$JZ|LUB zxd;vVeLMWET!bZ*xPm=633B2?;sBKm(?lv6pqyQvVm^=zew-9Jt`J8Y z5&VdSwucqD8YDLZpX8PdVhyg1F)ywx8MtmqiS~4oVo@vmoIax=8o$g_#ZJMN5Yz=| zQ(mnL`SR+^G z^vjK9vBu#_)5~>0+{U^tTIVy?ncnqZ?<%4Odl3O>>`X-crr$)L7~BJQAT&bd&KSJq z_s4wIelRjNz`qR=O%cAK5{QYseO$l%XWl+MDYk6+LCFZnRaH6v0V=-!<%6ZXL984L zw|r1!0cxRhLUfJD+ZNtSSD2@s%dN|8NRSu_M5*zXR_HQi)t3xwbc7HOoyU_kKuDt&%BS{e(Zi!7nx zfKCdB*gO@E14Bce7K;6`$%bn9OhgI!9@jq6zoX6G<@YD#1ZQvxPE1K&r=`)rA@U$- zd^>3HnDoR6x|Kc=1DkrQ!q&^8NCyymDHerK8=a11fGoG;NOx?FL^k2!ZODg4iEI4| z&U5?dh)$8~qSfh!`RyR4+t6UfVQ6m~--IZ8ERj3auk(w?BsDVYY+_1Sre_>(g)64T z*UJnssM|ET=_f7pS6E87O6Z%LpvBQpht%Y2M*-C5=|?!3TlSavE!;;2b5{bI6v;ic zQ8sm$9+Pd{K1<>sbgPoy2U|nXg-7~>c>E)B*(tgGz9d}+QyEUuvN1=XPB=M`-j(@& zu1$S2T^5bTSa*yS`7H;((7|NeGoEkt!Nsg zqgWT~$a{<-M%WoRm_O1-98%J5sE8<@t&v6{0B$KP@5{fQHPQ0J(mo(DSu!+sO19e) z>?}QZj26ks4CUA##&2nz@mrW3NZ8*db$6UGzHOclvpdbFXnfDIMslM)A{+lrBIf3- zu8Zk*b*uVg+NMHKzc}6T+eGXYm0^%Z*Ksy!MDfe!NC=M}LlAA{_C3d%qH>e(*u*RN zeUpPtfr(dkXBx7Wks0*jsK=@B(tk;}o;_Hn0BBlK2 z9=B1+u)8|&|92#ZXVjqSfvxr!o|W4!GK0%TX2CWKX0II=$qBedFO!T507V z7@{~D>Nbb=!Hp|SetoBHX2=#+Ua!oY!c7erTBJ?|uOv4=P&iTA+LA|2p}x5ptDRxl z0#6b=7>nCoVLt7)QDa4-y8pI6($H`13I7$MN+pq$w^s}P6de8pUP_nqMqN2wOj8I^ zU9mFlS(^JtsG?_@q6-;#bi<1kUYz#tV(KgNs0#iKfgL%f0Ial!_H<+VJ! zckka9DxMFyZ%y1a4GkHycHME+{EgO)ZIgrBO(otcbVi?15aLc*_0Xb!(E1QF=vU~| zxH}J7?;QWnFn9;Gv#I2}8_Pqqh5L`TNSv_vLxmagkVVn*Yq{*SqEwBRA^{^68pk$ zmQxuO1<7XVmsI;G7FHzN#nmHH8+zilnUM{&5M0t(6} zBNNZbvZHct{s3OBv790m4`DGy{O@WCM=p}f)f6nINY?+UrpQeW2Y0!e!u(C>6xugr zJ1aK{SW0n{v+6q?5|%y&^W+=V=Gbrr@9jK$1nQdmB-@}&v4*m|i*eJK%`tL$bC+%f zd>gVs^KBPQ*ZOT(G$GA$gsc3||JF=G%~&(>cQNKj8?j4{)!Y8`${QaW&GPc(B-0(t zoiBKgn@yu-|6^_2oL@$-LV*2-3c8H?US7u1e7=^w+}|H~c<j|~^7;HoLNr!Nem+~~5ftUm6QfBl?&CA3lzC%s zyuvfwLklN3{uj^WS|a%uU=)?x66<6vp0ZE-VB2nMB8kc_CAHhP<>n{-?+|GtK?eH%|+1Q|2^)$x?r+%o*GFStu2F)+A&+;@NDT z<&{?Bqm-1%Um1;l?a-L@TJKLanQrYOXWhonE)fY-2p+NoHAI7_C-qA@BT+m|%puNI zs#{x?oXzD(MIz`HjtHA0)l^zP>nN|N6U8K(V!oYUci8u$7HVUTMgt~&UO1`ahdBLE zQ-y4iHM6ZmA&QxPDoXHAG}b+ykZyu9F6q%t%?pEbxp`*7dST{nJ){1*flre+$hWa#>E z>7)#UUnX5V;-&s>uX(B8qa{C?#*b90wvTTbDw{6#PPcG)MM}j1nZ3!yjwQTcHdy+N z6q$c=JUHKM@gqzs+rNMROtYFesfa*n#`XzEQ+}3ZWtmczy7-A297AHFV@E%b8=W$@ z>0CStE7fm~ydd$~ZQjItZF$5$VwJ{6a+CZRY10GxWNQ4IhguC*Efq27Bcj}MIh$;# z)YVDU+K`dQ)UHv3#;N5? zCTEqJuw((f!vS>@EWQD1tD)_v1-9vyyvc(4sD=0=N$E@Jt=_g^w?lx;f4XIuTuv`B zykqJ6tQCttu&}R~BB|zyeX2PTMKK}8e-lOe?y`Rq#b>XP;(v(ZPj}QqPj7wXahiDI zOV)#RcJVown8Wp>yx-uj5=RK8m)sSt)<{R9wa5b{ zJ;JB`7VnA){N&s^On9c_beqBrrJRq|Ca^Ig?}}oZ!BA$Z+@u!lnBjS+X>2O>vVTPV z=?crl3e3nl71-2WcR^@wmIY^1NO84K4v?PA3O{=Yv8EHuz=VP_L_%>wEDcMZAAT+ zmqZlxQ9s{`7v=QNbDhrFQd{Tz8u+cO`zG)N_b9W@Z04DajFfF@IYB`@6C6BiYI2lb z(_^iytTH@ZGvuJrn4H*#7ejs0D$R9RCgd57^-*BK-JGu% z8FcYx3r~=*UG6{qA^WSd#EYM!E7al5*Pu^)s@JfoU&U+Cx6D{ZpfBlkmTl~5!y|rB zDa{^1uOXk5C|_iLlFcX2?&Z~VTU5ns!q*4*dWv(zzOf4}QNA%z7U@Y4-+P7ktbKg% z72X@x$M^ogduLzqz1Mi}fci_1M>KA{0(&lxPW=b$xjeG{-(b(0vt&TB+MIKY1{orH z-85=sm(gz$$=j}e!T&GBlZXEY;_1r1{~w5VK<)Hjh=)BjeWT-Rh{srH2>LI?d&hF_ zzYuTC%l{kViA(<%;)zYhKOo-QqbvRk@rdsI0r6PVe;}Si0YN;MulpFD-`637LY8IO zhI+^GOp!i#uDe!Cx7j0UcZ445U$|jZ9(WV<{GS9vV%ib-*%_@X$+C6c?!PFZBgDRov`^@=i~U)x7!{ZRI|C41Te1mVncgL+ub+P2^v z#anH>O~d`kYD>22h5n+ly=tSVY^Av^mL48Rn=ra&XuKEtmUgiP1$=>{SFxJ)^z@uJ z&-H~tt)s>ACQIE$*DW(sYI5od*%I5rekTb|Rrd@zv+zX7`|WydLP4&)%$RL97Z)aj z`+ZQ5EOl8fIow=aep>VxR=HeWw#@Iba`&R8;k%2vH*Kb*Rs~HHO9V4NG>ew0no2{k zC}ge-Zw%dQ8Opnrm)C{5m9NRT_HxS>X@143+|$}QsnYy}gtL3fb9c6HBX`h0?c({M zazCloMJ97e@EaT_%|2`Rc5s{rB{lgrLhojJxt0FW>793J>k=|~wWN*rm4x4>)PTk< zmi`ZNZ8l-JRj=$vERI%7no6VJ@2@}k>VukB>SH}OuFY*T7)DjlrZ0zN*jXH%d%{i>IHe@iq{N2#@lWo5({KPyW zN)n}^a$Lp-;>nDk#W=cmprOL%%=ntd zx@u3^a&3tTxi+nJQ;ybR&EfSUOWXBqe6ijGMWv@p+r%woQphfC!*gLWb>dupa?Ch2 z-xhJkcIaffO|(W-Jx?!YM$9)ox+3*}A|=H^hNKp(`I-24m{L72Kkh&MmwdC_D(-r_f&M%6q^qCQXE zte^ko-_2&pa?Ut=s#>xvHPvzK)&a?8b#(UBoIZsoROS*hJw4}dDY{#m-rRCojIO6{{sjmegGLaheiJ{ z2D1I{7k$rZu67pB$t5EVYsWc~ebg!G+6Cn-_EFHEnQ6S;&uo*TTV~gLs()5sn0!Z| zKNy?rrAJUo6+B4peL@q8tiwwva~`@5Ji|=s3yZFJ55EQ$`e!`rQEIB(Z}+TNRFQWY z)0P-=%fLJSBJ>4B7o0xT|Lq0FeEm}2Gc*DEo08aKcD@sB%!O>J-BKr}v=W149)73! zK@w5Feo0fDszqCeh%%(@@l>|0irvr}nA;mz@%HiX~3VVe3== zP0zU-B>WF53=U2U=5u082feAIP2ic_E5Tpu8jKryZa z<11%Z67fmHXPoLJn-yeq(|2cO{WR#htWUpJ{h8Ez?Z4&wFb`S4OiJ0^`&zpv;S?Ty z+P#a0qFND&DE%}6_*oW-cIlEjIp%Qgw(Hq7jCLy75f^G>pu4@>JsMJZzSSV?^ zOhyU_@AQ*Ghr+YkU;Bg)$PYW+}tg~pg z2YZE#wXp&@K@GyD4S04^qt8t@UWHSsk)=Y*EEhMG^T7*ck@&AOS;nf|sE`-(ba9v; zWxheqjzVZkv9^wP9$e@5g8`MX$wT4naDvS{J#0kmZg>-1*o_1dNX#%#r3HEEjRR;H z1wTJFY$C=s&lUbYSX&@8421r&r*iCdUOzO;GdLfjkSb5#U5hFir`iKG0+nranmFTr zuOE_4>#B%U+(Wo;Uh=vnLrJGjS-Y0m7^x75`duALh_K2aa{VVCRB}N~TMu?qR(E~E zn+cODczwJmUKA_&nZa;oI6Evcz8Eepr3dz>kbV6vIXf})*laEPYwn(Xd9h4e9n9&Q z6XR1R%;p=m9Oj#x$IeOp5KSZ*X&JTXz6ke~zCI~0Mj8#HIJF;pG|blrypC@r1Q~1P z9vP#iC!HDSk;IFqly1spo;ga6urIsO%{R# zW!q@&I4`ZyhjlAXsamCaCUc9-Pj&kA6|MNG!mr7^%$e& zUF3SM=f=Il6`n>eaTwdd9TONwx#O^CF*Cs_aF(-lsXWHg-0HgnQ+M5wDP#0pq zt=O|MwIO)l%Yc`!s6{`OEPSXgi??%NZ6R|JLz(+18WYW5MgHeGsV)^~A&v|3{4icS zPW;Jm>x5rDeuxRS=2Njf?$g|M?D$!yF>eYwaw%x$U4HU8kArr3$)QqT3?0RHcII<> z(O``xVJo}DW2lFRhopbIB3Ep%ptRF*iSe=9pkZH1y~HS!DTYcqxo6A*300q4Sq87z z+0K_gA`BJWI=VBU=&GJ1U)&tEd8#%z5TmVE7KMz z2+EaZKeLxQJ3BA^j4Qz)ok;THWqUild%M`CCq2G%ylSM#Lo9OIyLVrIBMXDkv=iA2ITi61Z;H2s;Mjrkbl%g=w3oBNn& zL`9){7)wRxQ{m+us1r0wCYVrF=Xd{l`S1z`F-ki|6CV5oPk*B!vJJEOF}U9e68G)6 zc;T_2zQ0JPrs;e+)K`AKe}!aUsW$xCl1uFgrOG1F;DCyyOi{hA$-~ej@*=@N%};q( z*VOscc^(u>=Xsr?&O0w(KIPkj$qt|#_N23OwsL+IoVF%Aqp6^vAR(5JiBg#uKp^L( zqu0=4)`|K4lyfdiMRFu%1^uhQ4r4qMNIh5NmKGE+ZT5+tN+ZXn#1`Zh^gqtR(_NVu z4~ZlqzJMRZ=qab;AgKMyaw)li+WxwiF0pjLMb?oW?R*-rN}Lqy=1nPAEZ=CoIMw#pcqs599fD-F#Gch#hp8M zI(ds-#;_-Pnm@8tx; zA;%*&w^a5m)IRL|8l0nv#s_XP(I~Y{CL%d!u2PRV8mFUhobB~F997;-C+f!k9Znk5 zskkZ)0pMShd(gy}@pXtB#vx@|8J82>vp}NY+NfGh(Cpb0USXFGONglWHFO#5LC{6q zZgwI};z7_Q%HXdc=Hgl`+|6|gdWBrLSIp(}A~|pAMezzRonu*}K)_{a)uI*D;$Hz5 z;T3V|11@7;5trA%Mf#V^uZfF@HoXvW;rftE3|mBnrvEOK_aT=pIh2pT)UV5bPwu0v zSHwlR$K3YFbzUx&6xe8IPS0j519mNu+V3`KMcYS@<9p+sv;!$Ph~oxAg9Fl`K|z16 zlH~Y4>^I2fb};&K^g+xwyg8`tF~h9=Mzh|r4r~F~H(quU-d`-9$_#r_aL&~#8l+t8 zGIeEHK^h|U%EgiTg2ZRM`d8I6IQgpkJ_?Lim6pYWul|1hzftM`D?qK}86M<4INHm6 z%rj=@i>I`7VM|+sL)3VkBhw46he?`_tT*C1W>psXT!u4)kIh57E$T%8M9Y1iBrY^dFwyFX75Er0mtrib=f<`(1yLX zp03+YP8g7iY1i-G)?(edb(C^!?OIr7&z=p-ijCMfd&T;X@%c%dI(6uaD>u12?Cq}G zx9^fu$AFs#Y1i5vyLRCtD=XRf?v@?cL4w7nr%s;0;g9#!CG3F~mrfo1uuceNaqjrX zUAHO4Ag+jxcXfB)1)@8zyPj#g08F}hBl{zrECF5-o?KMjN2@3cA^&0BE?x@j;az(w zoS(msOT5(+Dc&k_MPw7)t$mQ zTsn8^_~G}_-GiQT6PHm}IC zc6=0MS!~hzod*|aAv=IeopoE1rdTO^=G~8Xte8@C8Mu4<@Y30ND{zzPx?Pl)ItJ^R zE%oZe&-?-q_iBN;K;LvOetYzJl&+XvjL!edijbh`)9? z?`-$&Ya-mfd35DLB zE!tg!oZrXEox3n}plL4hPKlD<;pO(Q69!mV^9NpV8ZgE%o1L75kO5N;9Kg#6Ny~vw0%29&f=`)u-#gertuCIeLiM{r;X^ zy{0VoQ@pKX3eP`$SP3}P-zt}jwxjSCG>;xVV!)g)pU*(t3+7P#`9hsTIkdOx1!cYF z76j!Zo+&@?OUYY85@Yaj4{kG2NlEF{AuseWQR53H12Nl=FigSR1>}l}No5!}%9YD6 zNKHq`J9z({f(q4e@%wbnN&IlJia}IVV&|3XtO}|f!n8B&x3_WgTFmy9+=1J;eJ3@Q zjihC_Y(&hV9$uP+#L4BNsN1)rkQj4}u*AwSh)Mmp>*ifpF~w^@Oj~!C3=LK3_6WIq z0$Z@kDdtGe9qJfZH(}D*9$dOqi={;$Qztuc^DySn_3b$_>GnyS?w0j@HpNUi)Ault zulnHBM(lc*29%{sPpqKBY^hqg{lI}D&~-g@>CzW-CebqUOwWal$0lJWbEfBuybrr+ zyv`JD&su*Mb0iKmlQ3nc=z}Du#3^jrO}ZTuQm0&C?%u|M-7E7Zv1(AmJ^tRL-FI&S zUENns)?}SQ54vt%zI1#V)_0-j()R0}sGf8IpRJ#B6ITwH&jeh$$>NKf-6AcRZup&@ zqLUO&a=|ZWmkLGe;DwtFbBdN$!VT9tPc$&Dce`Nh65Z>*dAS>~yNxN6#(NSra*cJN3mkv%qcWJbakR;!K6t?&~uyK_~?5xG4pay7w%p= zg&On93q3;jaEMl2=((^|YQz*gzOZ8UDnN2sG-uMvqBii71IKZw=O)(A{k;3!Cec!y zz9Qb()zx(u`x#3&q;#vKc6q~j&oR5f9A4_Fon$-$UOH#Ol(XUq*lt%;wBRO<8po+< zw&AXL9gbTk&AHx1{julJlu1YK-j(CZcC(rJ;4VbtPbGe?6xl9a0{^4YX-(2k^k;TO z{iXY|{}15rUaDbc(J9A_a;rj?nxKeo=b-ab3eD#pmWm)^^p^l>*fv7a|g;mx;k?dX(*IiioKD;%G*l8FQjjGfDO zcXxH?($gU3)0@}t;?iNO%ehOPC-8373QFJ8bysw(Xeq}a;M#V+h`uB1{$fE9ZKPLU#4XqU?(RHgbzhRx8{Er~oHH@(-o1MU)bP@pmaF$$ zQ2ojDybyy_i{4?q%w{%($AHASF28EEiAbz)`PIvdo@^IIJIU<5Vv#5sBeHkqLy&kt zoMUhA91E-HSI*APj=pmYJq$ycp`2sqS~-{QE*vr^Cf-KZb=h|FgmlPmo>+jHlSd@p zW^SLt`l886v22|P2bLB@4d-$WV->$3B!ZoH0`IJfGI(*tr?7q9WT)Cgq6Qr0q};mO zrw(JeP;kU<*UfV{b+YD5*HxSqQFCtJj;*yDLb{H8cm;mm z$O2=f8@wvS%gd|h6kuINmFv7de-9{FPxx$0By_XSchlDiiA!5j))aIb`rZp~aL?SKeG zNQTFbaB>o`)H#rf3p?3EG-1K*JE-{>*UG1uKf8hg?7mVxA=P>qFt5MzUSeW;0g!0D zayThsI1-r=1(#1zB90ND9(hIUg@^$IVujCo1ejv0&&<4DCB}ura|{7;EXq<8mg@@ZP;KREOpH*px;!e$H{OYbN%V9d!@95pr1p?gf zG!#$Zslrq+)LnN^%;|vWj^EkSbLIp=)iCq@$UEC9Rp^{K1B2}-cR^jQbdH5&G2Td<<%`QU7gOk+ot73Rw-sC}~Jj@-Foc(1DujxM;PELZb&Q^=WBweq?@ay#;BS$rVHH z8Jl@&s3STW`N`2dr4X*>ouWNjN-DuSg%4@TphDfXxijn%1Y-uyv&m$~SUtW*;#zx90Adx^45!-f<+aTe^=4$xzBfON9Gg_jJRn^na zoDIV%g^~nzAs255x6bpBHMgF>_drxlN<`0Haqg;BNbnN(yK;EdyBKIU+i*wJ@D2|2 z+`ZfYYQ67_KUAF*O9M%I!HC${h!DzojENzhc6O8oSOQV~)sFMHdX-GiA)=j#jkUM8 zm)Ltk>*?&!D*jS}sgfUXSbp)Ma6ZyWJ3M6k_#_M;KHSgF&OQsnBSekXs6=NVf#KXF zS8H)&TSA~zcAkdp5eqnlhzX$sMer_mc3%m-QHu4J8@Fz0FoCm0rIITfXJStnq_e-E zSW{TT*0i<{$M8Ac0gRVZ2qybpm)sU2>|o#C8?%Y&xX4_*aij5v2Vu_BuvwPTEM94U zjEbEnq8ZC5F4DVCwL6q?DlsJfY_nP0TUzj5}zU8LPe}P*>!ox9^^qIY)=sBjWeOqed*p zvCFbc%O}qP>eAq(Ppw1o#ny~KL`tFAHf!7v7wV)JTM`#Fix6^h5O^e zhq$VfA>RJB{}7XJ4GIlzVLCVeTA4iRV4=)|qtKWQD6f@D!*nQ1d&|L4l(Zdb2Ddcb zJ82rE=>@msv_%uC3nMdae*7qm8kK3v6t?+cR1V+S<=GmcY+D(0N2lwmbH7L(rO{2?WDRbA;ANj*^h67-@-6 zi&~m3GD~gpDw}nWYGG~5%;eni?^mOOeG=#Acs>x&rOBcd zEu@v+HpMBOo3pWmm%2B*YinU>luDVDk`hGvh&&i^U;>z`@DwehbH|UPsu^W?GLJXP z#aNo0?2Bv@+4fCwl%Yr(pUjL?Ha4TB{VML?zts=@`nmYX%5OYCI5S+W5YULJ+g2y1 z#nI|cmgBv3YFcs}pxm9Jn@Y2g5w0!unr*AGdJV=Vv}R-@GE!d=tPiY4W8(v6K(>_u z``{KUjvO37;!^7kR-8kn<=M1_9jwD<;PY|H4ylI6;hc+dK`K?D+1q;`Q;yH!z83dA z`cYKv;gW)m@aSlShWaVNr)6UCn&gRbqEI8oW|t$-6bVv`y#wT>p`i*?-h#KZ$(W|*1>DFGT}cb) z+kqNp(e%uz?sWDo%(%Cb7a^#`+%D=&W)aiU($cKC=mIv@LvUP(mym|Xg}aUmRseH? zRs5(>+CV0Gv#e}B4IpW0#?gghvB4^P;oDm1;Lt+L@bW=}Y8&f;?=Z~YU8%SV2Nkn9 zJT5L2S0niqOq!_!CEVVLOu4KX%}kEybeyIU0;hL5Ee({@7-wZRH#Y~OzGg!u7CN>- zmFwESKciNlKBFQnj``A#mM-I_E6Z~lq5Po=Yg)r7GtQuJzD1+o3st6~wr~+Bj?3?; z*F?%y_yn@@R!x`+@+P?EoDZWOE8Z&&6)t8VkajdaXS+nmF)6EC+0VuqOz`Ol3lr<& z!1xWmm=Y+}z<+h8_#?l_IQR{7KETfOuQWvB==98f>2za4rziU_PGe3$knW4$taB>C zW+5SY_kJ2SUD67hB8w9IaV;&)XXw_6Q8?t{6rRwTPoqLXL1=KyxDH-g8Vo-8>cf~=aVev73|m|qbwsuVj^a{5 znm_#*28@x4Bhu7iO#@ZTGV`2WdA-?YYtzg6a{34<~hOySx^P&tE(lR6aT^LKhmFiPotKw$iEiR3(DU_3Wd7F!i%x_i+6<3f3 z)ac7uJWn?H)_X5f;zwCfy~8}$0Z6EJFqXL-tVDL$YWVom#=pS)VrN^uY7tTZlztD zjLS77C}=X%n%q11T@)&Lh)Y#T;Xzm*^-1Uu4W;One46iEg}7jht85Mo^k!I!XKHFS zfvgD1g^ktzpHwuXFf5a=XvucPZEjv`3L;C;9>&e@XrcJ0wOu1FD<8+gC!<~N@V1*D zOr7{ySm9rfFsu-dYcy)$78=*D*_%I$XlJ2WrF**>a(+c9KcrDg?QUF+G`}(cQ{0

3aDso(1s;keKH)j9N0I#l6Pi9&K`b6Kh+i$Ad|U7P-orwjmQ! z;=*OpeC%KCGPpTgFQ8_h-916b&xYRciO*GW2@OAMj7)7|pdKpKJ}l;|_3*~#{CoFO z0B`Z$Ooh*l^GFC3e-^C_x{n(1XQR^O1Fq7PHdds&;h;g_l73@r?_H%uTeGNtLgj`H zP;FJa2D&OE&>9!&cM@y-aFRC~;~+61ZSk6N&A$u_X=Tw;D~=@fcyG)3K(~P8A-Kq= zFtfxT3OHXv9uuaAM{A=vP`Z*flh(F7I56QuX^nGU!!>25=@6;u(7TPHB~E26AIPSu zN76j7P4ZzV4fw5ruD?X{%_%T$brvaW%5xw-Z_>EViaHO!!L5P*=lOnU(TLB7^BvU` zb;?y@SxpN9Rf$sSL>&loupc4b6GIn4^qh_+rS;vDmSl~eZ5BGh>~`=%iqRmpbAH44 zhU+2|_&3Tj17;gGU|U791JSt?-0eX#lDdN-#=d-Rw zK7lbU+G&0!^&|(Ap>~^!V(OqKrLV+fNI=B~Hd%DDa1^q6eduVXvl2As-#1AE;%Fwj zr~Q|rcIJIhq2Vj{20Wwjv7>Mz^CM1UVYFTyB(yvQbLqFyI;Mu!%VWPZOK-h-gM!*- za@(m=$iU?H4;xBpxjKM>bih0@y&Lya%3J(5B%cS{(ir_;fXL}r#(rxus1O%za7zu= zQ7r7M^N9{JxWP0_kS6=r*wfmWMdX{&zNjscb1N}#2paWb2kt(FtrI!1e=_gp0_K|$sZikHfr1}h9j$^N>cxWDj1k&E4}YTa%DyA5u-#vpkwJn!W< zdb1V%;9FC!V)Jnijfr|;Lt3K-a^ZXKl2PS~m=p&#!<6{T1?MDZdz?*M3c&L&`!_~_aY#8b+#&?Yc8SD=6chqvc zc6bdE?}Wyygk{|cIO`cjjujuPz!at>`Mt?uoS@tdBK&s+2c5a z$|Y%W9%wFPk+Cf<8bK}Dau2S_2+2D6(a5()vnXr{3ly`_Z=gKaA#J-GjV$VgDH-Li zyZtEtWp2FDu9Awx8cY-8lkGQC+-7WA^VYU-Kt)C2f`EAj5awg2qp3~WR99T5*gmiC`_F{jyeF#l)BB*Kg#CWbaBzrG5`)ymTKdH|~#&5N?2C>T=q}4Zz z_m0}kU}Ir>Y@WL?7B0W=#^^ZvqZswp{3Tej`fZez&hjpl6;g~T-|&TcWCy?vc_TF3 zkDeunUC#O?w908xSSt(2ZVZFiBUzV%>T+-ypJd7d83y_iCZkErN0QHg;mrDQwP6@y z7EVt#g$~A5K^4dx4DW}l)!tT|30GoPW6snx#G4S>f9M;@$)as29u*&twJGm`-L&~_ zdZ^Ikz)B?uR@&sMtClr1fm_hOu#u?%o1A9sUs5kSZN#XlgA2u5 z%1V(k&MsN1!x=~;GXw_*5iJn>7S@P6Tt-7~yfrErYboqbYz=HvyZ6Ie5{PA`aV*Xc z9>G__orb@x?qT`y_VUlD2JlFz1{wE zLK@>PO2hV%JcmVBQ@EyhV<^P@`9?M}z=D*(e~Mfys}pE7v1(+q5V(&dq)?&7yQvbY z9z~<3!hIH$8zKu6#1bI2R>EY)IfSF1J`iig-qnze`IG-+xoZK$k3EX`!Z24{X_heM z%)5Y4)55$Pz+8u7xFD!pQ{oVs>)^H4C)XF;R^b=-$lpzfb!7-^zwnsnThV zl83EGHWku6I_P0SinJj4ZyB)>rk zv0mzh;=cT|+D~ZZ{Gk%|SB{DfN0fNy9kUUk%8_!G=UyUaJgam!~Nywq;_zdGgQ zV}57F^*v+^fOOo|7w$Z>hy9T~nq=WATsl3yE9(*=RnM!9*Vj7WqnbXPW z2X61`_^?6ta=f>>G<=YF+H;Z|ze$jb{rltk#Kq!wGmBv;vlAD;y(}Lp%6d_euM)G5 zk+A#w{m>7~Mi|v;5^v7cQ!m>nURdI=t*^N3V@jrd8_O!BvobQg<-+4#YG2M7KV7_$(P0yfTQ%wVADf7pnc5{k(So3<6x zh>2>wnA5+v3K$hwu9uo0=c0b!*snb{F2k=K+{VauNOLBlLX?sm$c&?IvON=# zV(|v--MnTZO0vDF9m*^Bf|5$yDv8wV^&;A_bi;15G@AEqMF;O>QkIK81f(+8ara0} z@rd&qEZm|ePVu39$N38S$>!DWHMc000yAP<(4-WpH-suhiTwiwiMaYmg#;dYq%0Bl zzXPcP@7Q_k^?`#Ksz-JM!`KvmjCA!$xZlX0W%_+1+T`Z6kev<1o}gQ|g54D)f!*h& zCM7MRviYx_f;}$czQ14A-+P&#aQ9I!Q~B+DU$$PIC`g^a1!3!So%B6}yB_=E>vX#J z_8C#+H>8&-c_cvk75T+gc8ig0%#?mHik*n!#d|lGaZ6_5vP)4flV7N|iN2VnnTBN9`{>6MmqMh2yGkvtHTAzh8XDjs4fXgMc9%U?bCFhOrf|dFZN+u=nd5WA97w$#$ z=BsmZ!c*?UFmc2N##Cd(-XZte1t|#$RXW~(;eA0zx)CKv|K}3E6NXcf)g>;})HtE5 zB)5x+#5aA^Fzh!yZV4ZWnZ#@gysI;$<-PvB98+gzNcQ=aXDqg2c`tde|M<`L$CE!k z|Nrrg-~TvRFRx=BM;`#acRK@%fmROCP)Zj8E=HNgZ<<05ObwdGmj^kJa>l2M_Jj@q z>1h?AAGj1k!DGMQXwfVv-j5t5(}_+)_kqiY{9sxXD>^++N6t}1KvX14mp$=nfJ=t# z>!Dx8Mp|M2#nA79{^CJqn2%k)iGAWF!mzQjiyoUPwXcij4N(%8Iu42A39*m0LP{P#^nLHf*u%CW~?;H>$l z*Xs1@aLfra`#<;U_P_@d2m7y$izG{3x|^nBisd6DtqU&>{xEd|!re6=j{U`}6H`1j z-%dRkbrusZBsGQqCA9>>?7ezgB7EV`K>i zE|DzqS?rjB(M5Sn<=X@FSTOosNsaRkEw*KR?tFs%%m*hVN5^&dJ4yq9q{r=d$(>2~ zUGl>DdA5&z1<$Fa@lrh)4@}G9hRs+$s}>7vwC$RN05g-+m+z6e-|LD^4BM;f)$bv& z1D>i~LL}{jo>b_a3_P$$v7&c4di4V107q&&PNdK)3CVz_6BoGBezW=RBmsNUTm(sf zvUhk>7N2&;2T)VG8a7xT3w=)f=cQ48$OUXW?|n!HA&A z9#Nz#VhDx;!^ojS2n4Ypg)$y`z<>mJ7>SDZ(y5t{M8B2%iinb{hss=~VHEHNFdF0r zGZRHZ1}%b-g|VOjfgMjW*+eTMCxNn`ko{*0!8UTI=2FWi=N?rm&8Oo{Ck{IUGwE3& z-oh-*rfGi;=907 z@HVgtt5Icrtj8KE6L zXfQ~B{>k(8AY!EvTL*!}VnxIk9+(x^n|dXk{Jjh24#|15Xf+wSZ5F#=uoL-q)`{J9 zjk!b*Ac7tb9z4K*SimRt#Z_Ke z47H4+^>sABoiT8{J+Cs8A`+g$Y(FzQQg-m% z&o_Dp?=djH>Ldwy;F4HyruKG@=^`RyGWjuD6J^LS8I9l)wSc|Jk4UsVd7)0}7~X?^ zWHg$Lf_)W8GvgUMn1q^tnnzG6gGTUNZUaB! zP(wol8W5u0rwwUPHSDXyx`tdV7XJ+{y8c=!2JB+m2azJAi@$77%Gu{S6Upb-Amc83 z9pDqMS-nsns=cHQy>wbe&Q>D(x%RQl7ncN=;h~}8Uj&YKxXbC(*$zBR_jU1uXP6K3 zth0fSMUrzOv}f5==VC1_zuA1AV=JFg#HZsZ@d=9(EiLYxt-pX$+W3j0*dm6VX%s>F zJJLO*f<3>9qczhc*)woY`H{We&nPK~Ry*+NS5Kkiw8dW)+Y2M5!*z>g%Dl zGRqnuyQXehhNcE9gvHA&sDHl9W^C%!^UG{D46ywbTn>A|j%wau~z%9MxQLhtjD78~82DU}?bE#m^TmhIt0RfLGT;^nMdIOa@10 zd)iVdc-1eHqQ1eh*z#D-<9)tSv8alt zTH2ZK>oDlKjnXpVM+n?wweqMau8p}SYQILq$e}ThbC?;1 zUS?Z;gJ(lSajua&!&UpFG|<^BM=!S=v`4IAx#&0PUOM$b&Px`TWwBPOnYvlMvgmuY z5(b7=jHWE59meXXGfQ+*r?-?+9ifqS#z51zA%`|`ZKW0)IBix3%4JNbE=*l?6BXkiQVM0son@p*nZ(ePt+#R5tQa1%PKLYJ&(a+-!NAcvqu;bN=I`wf%m}ueEM-nkwR(QWdT05VqBR*b%~$f?PrQz%!K{9mra0+4$)Ms_I+-hAA1#GdEx`3^% zMCn3XtF*S&uF}2L)*HLrRS|+aDj-&IR}fIpY7#&TqsaU&?DxK(@9TLze?HG&&k%(y zFqwJh%$##R*XOzp3@UYrom%Q*RVSARf?xQc5xa2&x@ltltk@iQFgx;@6{Vwaq&#&{ zm>!@RFE6i1Y_p;WisfX&OUP=_^fIwBKa9&TH>^uJ2PnPL=5A zS>abU+@9KCPpwWBh19rGLQ;HUX6BOyqbi+(lA#V%g#|{-a$V+9s-tc|v51RD^Quw> zaimUE{U*-LT+ozeF3t7CUV?g4A1&4UQosCn?z01@Vkt3Iv%`sD3mwD{#v$MkK8l|| zls1!SIOv(_iDU1%d^3r~sQ~9WjE^gBCW_&>+D)*h;9yYmA$%xx40GnO>|z9UjO2Yr zaQsN>7|$p0yfBJ7j^-2j#bYX|@jFr__@b1+6xEl$pTG@pzzdK{ z2UZ-ku_<+UZrAFp*PGdEg38&mw$_e$LkdV5X1(g5P}jmeJFD}z*3a7D{_(7VLT&z< zCNp)uO3Uoz2FDS*I-s`pt^{26Om+TEV2?Hcd+i#Bp^b2OTw8nfo*k^9)0DBDFXClH zr)%NKz>?a5lB73rH?YxJGfV1ViXC^N^N%meRfR$!{nj4OtA<;!dz=z1b#|9hwzE^U zwEIG*BsBYcFki=Y+VdIGLl<^-qfSST>gKzx0z+sjyx49h+@j9z4UpF@m9xSd9y2mi zy;3NxX1RT+HriRrb}cA(Btp_+IK#8**UXL{P^Xh@wK|ZR{%U4B6U)`4AC_=^A+?Xq z@K`zxOYCebF|nNws!1Q2^cv)KcDHtujC=yK9yhU%ZFuE1v1NC40;^N>3dRTTIlqu` zozoRL;Ml-o;+Ren(z&%9;>v*S?tHVHlzbeuvw}~144zz5rvzmzE}pZ<<_3lH-PU#5 z4@+>S8#3n4V)Ec9dB$y>`;uwU<~XhG+*BZDGLMC6*RBn>!nvuf)H-c=2o%@ft-m{F z{!#2U*wb`iz2-4iGXH3+wO&2O+S#qD>9@^-MoC&w28(Q*USQU${1_RlWu2UVsS1|O~MU1InLMy za>51H&apX*4*(mCtBX%m*mr~&T>av};Wd{$F7B0KWVH{zyM21~j*=1|T9WeyotcyK z)&^{=2K?{NT|wd#@8z5|<g<(zJ8|9a-d>MHukln5J%ywvrl+SzFsM_Zx1`t5%k)Yyx8}X6 zXg&^JUipM-E4-niqM}qE0N&Ux?RvezaP=zh==gjB`8Th|YnR?7pa=ZPa&WxLtJPJU zK7jgh`b->w>$@ZxVkRurPB(V$89uREIcvBnE26**Kbu`j!ov%)gosjLa|}7T1vzCv zowJ(RtneJ1Z$LyrZb2>>vLd*w9MlF13bS$zOhGtg<>1qrl{y+>$a2}6o8!(xQGvjg zYE0U)nLoAh4uysA$N*U%Ky6kbQRAHd-#HO)@ft9M7buv5tY8T6&IvCRIGovYRKu|m zIZ#+FWfkgpoGxWb5Me05jMuD!LJRm6;?$N?nOHC?x>0WJe_cxm^sUUyg=+o`7;+0E za>nC!ZWl(ZBwxY~P!tO*p)SIZveGqcNlxZ5m)4a~NVq+d;|#c|$zNWMh`>LFbWxmHhwJ$0N7HPORH9{1ZRUGB7zy=1_4=F*BOr6 zjFU4=f=*VVI+S(I#1i)$peeMdTEY!WD+=7#Gt;xcy~r+^C0N8sn5B^~@fLHp2?`Uei4-$#p{2}ij!*UdhCuVOf1he~mW zzk2MmjO%_;x&Qr4Qj}|Eot}p~Fy9>utkbZv`0$(*@c%_04xJv~0Ud7HAmuPKAXu`$ zcvy-Jg6V!zCh@pKz#OJh^fR6qpB>&W!Nb?}{4Z-AA{CR!dTLgT%E}_oDwip<@aVI0 z!^v#|{W%2;czq7w_Cf>bk2Oc5x_E`HHUsa0rlz4IOyG@$w!-}{~YYJG$|Doeo-!j{ItB_b94O8N^x z5efR7m23gH|A0%M6m*_3k61vfSZ53Tf^OXrj>`{I7DKO%O_E#2w@nbPr`_}*n+3!5 z8!e9@*aMmzvhwdjII4aI-51i|`jJ>HJxD!?4)cI5Ox}iQiD-b)d*B+Z!yZGJ8h1H*Heb;*@d z4R({p>3XH(4bY#(;ur3#PQalZx`PFUY_ORr9=-*>H{`4Y676_k{8l;-`rvrj_l{q3 zaMrVdEE*80YHJOKL$%9uU}iXVIz|KM#D1alvwFNOXKR&tAgY}2_P zBJLsxO~HD4j7Q0KNVow~F|eF-h)l|Y^5wWR(ZBfHQFNM_nBYxP?8(Q${_Z>r?*ap}h&JA!>gKG7-EI`pG$ z0CkCzt|WGYS|e%M79cbLi|{#etmG~VqUxxKT?fa4NHv1lKEe#fW_HI86Ze zi6Z(3TvEa2unId1aJKf-1#A-dl@!-S(I;O+6Z$$T|w%b`)23 z3hdoZ*9N*NvpFC$CJz7{1Er!**TFnk)L*naHVG$1&v?ER{O_UXP{jYEVD&<`anHjb zGq0Z!>@yOYa(6>)$HKQ^#*}edNIDY>l_~Q^_i(WvfS_-jJ!(lmD(kyrC1yJYKp;pH zeRS-W46rLwCXPNjmalf*2Bd%8?${5!F=!Cd5dFevXAA?ZS+VE2d)Y8)v6cgVR!{>sr_J*Ee3tX6fioI)Vr{dA;>#FwcERr*9?y*<}w zHo|lT7$Yas0M0D<=lcjnrDG`uID$AB7K&GN63hgv*>*WwZ6{)_3*X?)N44fibv-??z# zb3b$%;h@p2Z0s^OtQNWwPi7Pjh$xFg29@v zjaiZ+l0#i1K7cbsnb2KjTx`**C-|9(QmwO;abIeI`-=NIxw6xeIURmx9KDwO-fa=i zVwYyLcfHt+`krOx?Qz0*5HKBLih$Dn4S*JCg*FA;1aixvwF5_6_RMNCnRy##3v+~L z1dQ?scQ9YzF1FBnI5o6^eLx0_lhb>C}VShpwYw) zEL(Z_fd7z(kN9o8YCHci@Sk9C#@J;^?sogS%d)sAf$_ub7BSv849T4qQzweKoEl4N zoB?B3URNI7)kp7d9S+-3pEZK+>{_0@#J>#uI$j5)M+c|7c6IHVv5SRoUXML!H#T8Y zz-770KMp=9bi&&v@~GO#nK`_}mVM0cf%eXQc9P?sFn1_%3+sH*j^d$jS?DlOZu^+N zRZ;>R>D_GWRrhi>o6^7EW^14rt_k{B2r98bujITLYuo_J{*nDs%4WM-zgd!$S^ejD z-~_!R_-&^O{bpMm1iCHh#Se(xY*Y4kz-DU)4S5@f!%k(W?$g9xwUB4CxGum_S3)kE zuZIBBCXADfwQg?KoAN-CHV?t6y&ismASbG)1PF&2rNiRloCPwZ+d&O8l5ng?^<@xb zFySRnvUOYQfv$ug?JCrUF`U`2?oYC{V&jndr5{Xs2G7M1s+VkWFgC8=v;bH$_MU7j zr%S~SoGo_+nn;(>gEY^jE6!?drKa3F^j+OMs5P&!!Lv!NNf?YQ*PEWsU%(OJSIF0x zB#N4#F1STqK*#}uV1rEthc1I;6S{PI-5aK$Xam@6r7X(YfOoq3tx|s%%!{V1E!c<` zK>~hmC7cl?{Jmcc{n0qCSM}QrxK~|V9%VhP26YP!32}G=-6C2thh4YXYengLaD#=x_-TBH1b` z2prT@*dFzRM(C%XrPXEzRY_oDu3D>nZI8GrROBDo=m-pQuKBCKsy|<^aK@$LPeFDZ z13o-!ld3RTz-E0^VXMIDvd3Q)RzCF)99!iV4l69gl?_d~k`)T8rYNmKa7BfV|BI}G zD$669XO;d^yks>c=ff^00IIBXyr=cADiDI!L6FKMK?%(ppO(hsvOm)#;Xb?NK1`ct zyWf8|)}o-3O+hx-udm;S{-S9#G*~JV^r~$M0vl{RQ$jxRTg?%a{I}3%ehdl9vti?t ztV&y&bs9=2Ay`yZo0-Gp-sdLj3BD4d4l zS5weZ2*OlPDO~_Ma~7RtBFyx)Hh~3BqP!^pd_AY zH}T4}4P3C0JhrxUTzH0E0}Jz4nB3?Xy9nTPql1545+v$}g39aW-Wh43j==Qoh|8hJkWb=<1tN97sv&TUFL>E8ck^ zHA-9_s$}RG@NErKSWwi?AdQne(G<(}E3aou%=AyYC*moZ77Rgg*6bVi@DzU_0a>*b zRiL~R9!EBCq)%b1t+n-&qPw+F+n+0C20EMr4~f*<`s!=J);FiAITIr-x$uj%zt&c( zcIc~@z#Ru@@Yz>XUti7ElG?kFcRH_+To*J@+syt%6I&_da_nbPt(D)v-aidNg5HWj zS`O=9HS6~Z@RS4#@&nNhV70n7nI!K#W|t3dCy~JuC_J?79MSZ!e>YgY9$I%d=y&7z ziu}Br*lh4{x6S&{q+ftp=YIQR$Nz*^vTCobG;ybGH$2?A8+P8=X@i{)cUn<+5i&#E zmnhytKLJ@-;{G@@)fAj@(&oi&?a@BpRm%3DVE2|IydAMM8oHwG`mR`g7Zmk-|Jp8L zN2aNK|%OuK|!FY zL@P-rpNHzq2Q)IolMHhs-g9MXur1eIS z5VR7eyKVhYS|F8x6d2XNpx>p&tmrbNe%>UxyiGnQ@7r)KF82k{JM_f&E?aQK!j|;j zlU(PzsJB!FHlUVIUEojj$*>)3OJM4?&n2(C=$T;c-5g-u-0>Kirb=pQbH^iab<*b>#)npF(3FSVsV<5LBY+Kv?X##eu*{MUebb(pvMja=AX}hmhKiwuxVf=6q z3zKFkaDB~BIT(LrN@yV4W>u$^>urqiG*VOs1vHKc@wY;jlw$1_9Y6x|?s_dM6n1we8jJ4OwDZ%ZCsIOolu!Q%%55!F8L>{%o|1R>97hV{TF7$8Z5j0bE-FO`3`hBbL6^;m*BY8a~tjB^zPDXb}nMvlv|xiP|3Sj=N#@loIBp zNDLTzXssG`2^uZ59|bMlZl=OCb2+f9cX9qZsZj3z(_jN(23!_9zk>D5OFJ_)8MQFN zpBeC2cz*>-=aj+pfP34T{d5evW*UI4V`>6ogi=Uq2pEqZ3s4TYEYM?tdPjSvX2BHd zp^l0IcP36z7)3aiM+^2<92AT*|IFl?7&k!(HV*k{iGi6210IV3iv`2>Ft6c$|D;DF z%@c>kU2wx|6Y`|NdL;InL)fI?nF93YWgV(~!#lOJVUFhR%8uK7xOF#dHIXJ<3nzuBYA zBlHeL^fFPzV2=mq*6gl+2|fZM13#GUQb*Mf9 z;_+bS70sB}M4p0mi3>ef4=TT+#iDOv&P@VwJmWGaB`$DIDVa6PNYVPOtTHoI=1 zgwM?_EKoNWtvSuUmzq{x*E8@nE>wgbxt zO4HNJ2~(D#iy&%d-7mm>AZ4=2jV_~vdfqoi=VWEI_yJQn<8t-w`z*u0;N>irWj%qb2&9giHT@;Gf4Fx?N%)BFb zUp@Az{<2r5~r zb{4%MufgX;AeaWsj|aNzOZXLS3xK`_NaKUq+MiIF$2}i#A%YJ^s7b1F_mJDB~ z4&IbZFwC<=DtebaET|pJ%PC>XStwUHl`G3pQ&usVIu(?wq1>_Dsa#XdaXLGF8l20` z6jMUWUCXuQ6e7!Y7{cbz`C9IdY0c$2@|$P5*Qj!DI+#$SPr03RMqf08vv0W{nqU1h z%UK3z$;JS6IRusmnMvSpdQP-Ed~7zNKBFM|a{E^Jllz`UW391aE13z74w7KB$Hd$+ z-u0&acK3W&GGuQR^QHHJU}G8j*dT%$xrp-MYDx^{G?Yg4QqI^FesiTUq%2fui483a zE2GBn_)%rvI_eq;OF1Vx-7Kh%+ex!=P?<28*BQ%(aK_GpB6JNX=}?O>lv7GpVKW!V z(O5y<`J;eEhfAG#5?mY$WO(TW0zcY`rYWq9Y+%ROW8W<&;q<4`91(t;?!>X3oNJt+ zjBr0&I6`+W0y~+$qI^g!t}bNXVJD`4m5&+1^W|XV^uJ>kJ{-)J8htL zliIL0`&o!&8nGiqYvyw>nhC?x&%KnL1@4P?0#1k6w}9P;9mx;C-gxp`2lK(7am+*0 zugVitrugTEnl+S77PL=eu@MY}FpqIv&OK$BG)s9XYGS0m175MDUpz}X%nPG?c?X}+N zUrtcN)t$q;6~9-!0X3Gv4`NQ8>VvckqwTu3Q5N{JGZS8ea`3=%_)J-*awTprlPP1W znbM5XJgKy}^wZK`OHY-ymOgsV{k7&c= z=)(ENbH|Szg(H9b`}g0z|L$A(X4^*}e(>fSufuDF1#4F4=48XtIkRWY96v4{(&9&s z7#EinMmk|Gr88`@z8d|4*I}|F3retO{i2iI$j$FpP;hF^uzl7}HLE;S9?K zRVER>;T$^65c){zb?Fd07Dhd`obeSxufx7OF=I5xk2u0u-nRcrL}~yu9_URN4b`>a zl`^<(->v9mpeHR%VqDigI2$MgUD#`n!>pm|V=iL{x5FPz5lQZ~2OdMhh~5JYzJh^V z-FufG<9HP7heccWT@Fk3I|~PT<41v|)(fj(wd`vjnxuu3hZJLn-#>63xMcl>itZ7K zz#gih!jSfT&@x!?sH;Lt{>a_~XZ!`j6>i@>I^n1$DdryRyAme&{CVIZB*Z_iJmoPq z6q@(miW=imQw@qS!@4Ri7*b1N!h?8Bm~+ES#rFNJLy|q}EDA^*(Nh5vxXZBDIxNxQ z$Po>Ujk>e~zBh^%-RKeDf~7QBV9roA1}W5D_NA>|m}z7H-0CkHfEJQxY1$)S^O z!r+^*uXTvvR%=0v#)Jds0#kx7?*serF%CzLxgE^u?Sz+WzFY2J9F+y1TzIwV!_2si z;F15sp>==1JryRt)&Fwk?o||COPKe5+be&52HD{oxM#~wy#jZ(%o_W;!)mO+vW9s* zdHNJ=b@K--hP{w<4jPk4g<)v*14wVJO{Dw16X3+1@tsFU=qo^z{O8ql$uby*So+hi z|A{(CMPS?!TYATFi1*&7O+0lY4IWsc3>8GcvZex45j@m#AJSS*j@It;h==3tX|}_| z0{4Ss(wQr%k1H{sqpC0U>X{@b+|KYLwsE&>Al?VZ|FtdY&{G{9c7RE_K+dNq4j5t% zVP?dsMBRR`gqn6pw;zcMs&EwG&nv0@Rf7gsDITR>Z5Rth!;iqdwA;r=c<*@Sol11u?>!1mbd2jfG8~Uco%HABl>W+y*94=}KL0o{b{vC| zKKon~Yn#*HZ%b5Y1y&e^a{^lt9CPTtI<58OXdG~#z+LD(JS?a}jk|C;RjP~}Vu43# z*Bizr4Le%CQ|H`04?4b-p$B;`V5vY?>G?)0`(qjAzPkWubv={cQae8gc z+|t|dO8t&p!^SW)X`FfW=6g?%DhB73yZ0CNzcG$XedqqVqd&X=M#$WD_0>z;7e|{p z<15{pOzAkjDcrwjwdVCP==tt=wSLF4(2Wqb?2A9wx4-{1B);yvy1b$g=$qr70^^Y% zR`|e1e)0CJuU zuc!7_4GvcykdiNgaeojGhdR@4)+D&^1Kp?-ZE0QAF~C(QgmV{D01kvlS$fl&>xD63 z9C_^SxO+!&4!Pessi7$i9#svAsFYGKGiL>Lg&tQ*KLMjW_PdQf*_IC7hxp(MWpbn9 zVk)VO;EZ)+Ic)_kO1pbB&X4TZjA^)@`jEplnyv`O&T+SDMuFFU_rz0e4!e?r>*% zJMOnvg7w)NbRc}6j}K=RdMCdB**>iE_*uDQIp`k9|wwuASUzxn|%I!3NQykqpSZ;Z{cdk zuz$rLznyNwEd*9LC7rnnX^*Q04XS#a23O7`IaGNIO;DSl+v_p%csotC9bxO#W6xZ6 zNa?E#kAz_Ny8Y(Vx&+_-bZlMgl5rt*tjqaimaX%csy#KD?u)DQaB+Wksf(F?cYna} zBi8iWiUgOMPAh$+7tPKq~fmh6{aqI~{&e#|Yt~GS%xx4Y*P#@`2qa1dn z1x83GgMv@>jbz#`@s2efnMMuA;}s|9B#dZ=>%$c%{3GiBR>a?Fj7C3Q<6SQP0Ti83 z#$9cJ!EnjP@ABhFxYH8maGrA4;r^iR>zwwy8bVv{MfP3t^MVUfc>AqL_B^-;T<#rY zYc_zU(b>>!AKVL9g4{1C!f)P&Na=#N-=)Wc4EI{WsMTM^ye6Gqi>s*JjeLa73L-jg zhBN2Uado+8ki9ur!=1;t=%Aj#q$FB$4 zJv40!pL<>4*MCc=y@?^bPMaTd)5Qa~6Y%#PFLj$k2^jtR+EGKWV)YKV=}K=s_TQLk z^zZ5LaKb(3y8Jn#FXB-{;Z? z_nj17MDzDUaFM#z>TYm>-X3StrBwedJXZG{fQpYQ=Rj3a_0&HXrWLDmi;8nOW#!yP z$W41=58#ZNIKgL^2ovBKzY&J4t(k$$#cC8;DqOG&?~U)9HEHU~W?kVtJa=>@h=)vxW>N|_i|q>g>6URAR>GsFvp z$RsG*lu42x;KxHaEerM?1M6K=O=LZww310I2Mt$|*GNi5SdyH}T&)JO=%9yw8{!sWLf7k#q4c~CYS@56r374T* z^p!c@LGWL0E)4cwdaBGn);nVczhYIXf3o+K6|r&b`hllDTL1LB+&e0JD9 zrm5Or=e;@DOH%l*1&83lln^Jn0zJ&z*K&Q#@>2g(WEl0&&gSE%4(vX@uy8&Xpqy0h zzYzjF;L{l|afeL@%T`c)uxZ^~F2msDCRpwtZ@cS9u42k*hNO=YqzhdbM&c6mr(7qVwL4OE>Rr5YD7D|5K`*Ei<6B}dYLaWH@P>X0F( z`%ktp4rb5T&TV2I4r~M~C2orCVSPv$Ze$#Uf4nx>heVb7(-$Hg$HC$mh6=?Ba|ZZC zqDJpz0;HdF2^2{+Uf7 zSrW6j)IVfN5QHwsG*l=*w);bNVJR06y3!Sq*pj~2ne!CD2A!h7azXonU2mRIW9R;J zGlPqZtE-EP7Qbm-Tmh5(I0XyNeD%P*a!TaXX;fgC?=hM82WG4aQXCn~dvjLf$>gg2 z5Dl7Tam`MB9w02)Jj%P<-Df3k5g05p({n~#~eXpUTk znYe2J=luhTxG$lQiTdU%@M@XEvqdCzAPKh^v)M5)1YFqkKl!&PkN-FQ z_P^P;1If2&uKMgr?(GhMGWZhhkzWI5-l7_SdAH~?z_eSGsW9vIze%?PIk&$8rkDNx zB;gkJ0%{0QVOCXQvMrkGssRpSt)|0p1OW90IF74JzzM9wdYyG@qhgNs!9TI4 z(K)OK3FiUp!~>v8fi?H9VufG04o%QJV0(GudI5C3+(M%y#*l8K0riQ=<-Z=6Cl(jD z5AXo~#zd!H01+O-Bg8>oBd?P;$eTb)$Xn!Xf@SSCk$1^vvIQ`|_dW7H*$U(X@*(+% zpv`JK`Ivk{K4nNBJcfSN4h#kn_5@25Lt8Ko*iD zf{wunWFnbFB7qDdBgjaS0wk5>k>!|@O(v5mcxs90?|4fQ%*CB#eXui6AeK6(k=>E?G>nhzZD3V;Vj2C4T5lAgjq5Qa}oUtR*jzm&rOH>q!wYlUD$jS>8Z4k{mO;hA<4H zV3^Mk3tCt>1x8sIj$x@Yt5i5BUIT@abx^Q#i3${IrP|3+;|NM82PY*KGX}<)b#`!3 zxd7{`aAmY;#B`=EDBAh>;zF^0zW%<7<$lsO05hgA5#}e9$ufkv^8_=q&`4&_siUm#fHDEr({z#L_V-SiRHzhe^0*RfvXm%_g z=P@5@J26kSi!ihLKxM|{Ga*6%b`jO{SJEAlgV~@#@z(z8PcadHI17wD@E~i^4!^A(q<$RlPP(w2@_4n z&-w@nG6u^eEwF}lDPVCm$gQnTu2t>WeiNT_Q5ktgKF${KugBT%3ii5<#APy0q z6?ySF5c9;<;!rUf#28VT?U1d4Y<0F{wo|qSvYoSCvR$*akWI67*>2hHOtx>fU-rQE z@!nFur33e1X_QzX7K&>@d`Wy+TqnK);;Z6%u}I7XF-Ke`E)o9(@vPV&o)POoJT0ye z*NFKbt`uJsSBYj2H;5a>V(~Q)Ul-pH-xNzgd`o;=d`H{_;=AHzaf?_A;(Oxz;#Tnk z5I+<@61R!lLHtU8HitsUx{Cf7z6uO{7(E{`~k!t#hv0V@h1>} z7I%yP63ao{BmN@(Dn1Wlqj+AtAYNp|OX6km3Yq-EAHY73EtrU%(!lM}z&9f0=L#fy zpeb2^EX^eUyf*M1{|#vC%{%_{RR4eO4E%iYJuJbk^I{x$t^eyA-LcrHI;_^{HJ&F9 zjHip*!RZmzn-9BgZ`LccUJ9oQPM`O#UGIOP*KuR1pz&P&$_IkRS<2KnpD}4n34eov z#zcKpO+IlRQR=NSNW}35A(HbcX%Mi$;^;(4T&i}X6hH7lFZeqVsoIHk8AkF&!fe9p zhDL>v7bSU+rMW%K$slUFY1x z>9uyf%T=W#0|zmV$tBqJ|7My3Xpy1mH9L;`*Y3oyI2Jeq_BUV;ZbSqUVNiY^i!q8T zICat_q~q@6gVn&|rFA#3hcRGr9y9xaJzjAP4p$yNQFlT*2#0G=K=oY&u$Uix0o_$=|l9DKe?GS6U>^q7IR*XJxmb!D?J65V~j_+#J}4hF!F4 zmjhNG2vBGv!tw%l+V$VUDZFU@f)N@#^lCg*U~7SG`2ESDyUbvmhcTLyLzutt=zztU zlrm&6gW*JM0qAc@#lKkt?DxQ4#@su6FvvA}GO)|AXTk@+0^5iQf!GO_u_4$2)nB~? z?Ofv>ZP&HtOII6l*mM5Ur4}3?U24A6ap~gEKXX4zWgJ{dJS5dwYN~LUcDi1wJAM2(RMei8Dl2L#Im{y+2 zprXDWj#=RNi3Up@NcCq=TBJiK)6j@kQF#>Nsx44cXOZeo{tN*X^+!1s*3nT}EKnuY zoT#x#2RKV@{&RMBA)Vp-nw$F{g90wL{v@3|IbEWa zxJpFLiCV?34Z`T^V`mT79E4Ha;W|h-SbO4hjk-$0W_szs>4OUC;Gq+BWN5vm1U~%f zr=K9M)*{g}74`7j!P<&Cu1*S$sg+LFokdoa(&0*rq^_#1I0zG~Dr)Ib=?sp)@3r2h zaOE1Qzt-}T=J7$N%M;991T7K(b^!@GR+Y4|N7piN$-LXsYNUAp9n-)QCTG4C#humz{nRwX5b!mpkBc>n(jhHmqaxTRzwQ2M8vY zS}xtXa<88YD~9s(jU64$LNLy*8k=ujYP@(4lff>O`qD(fFXS$K=k^nOI_QyfmWce} z*s1K>zs0rpXUq@z3_tEYOvuPv?WLQ7Q`@;coVB8q`K6|cDL7hDbC9X1J9?<1#{I2B z>SHJB4l~amyVjE2M5-HGE}p;Vk<&%Bq=Gu7gZ+3XxzSRONE(br`*2?^K>DJFu zUFdU-Clz_ai=mlL`3v5-wz`FUu=;bNI7qI;$%w`#dcLLAt%@5;J__w<&AeE70zRy> zB%D4@7|cBx(Q&IW;o>Ds^20g?wU;jVT)KA0?PbG+i;W$rjkKojQp-i^VH(zF^3IQr z-Dc++xXkGtjr^^S%xLbzpCwC6{>28j(wE@J(Zs~PTam(S|%cFn;xabkhFn%j*aYU%a43sHJysCDppq;nCVU@Gv zd_gY=`s&~D2k1HNa$#VwJo6nv`>CMa$>$0&{erh$^`Bdr>Hv!?Frtd%{H@dX*rDaG z$jg3y#S6f#T$A+@SCFk(x$4;!FKq9fSqwqy``d!lzkQ2$R{t8L<|-jk4M!5ydynFs z*X-`#HeI!~&1P97~DMUA-D6e5F^@ zFY(UOS!2{ud-Q5m)Q_Bc6OP>vfzpiAR}T*=L=VHa-ACA(Bc z$#RgKw+E?fcY?GDq%j}`fOKvbpoK$90I7N4w;m6C8@TyeK*|JZRwPJfkkSVJJu3WW z;1!sBAEcm#Xc=6!I6r^cvn#VVo?+WI2B}{oQW|a=FJEgxnhO$zV~Og%e7(9{wNbAQ z_~V}qKY1J63jFYwo>O0hM`dMt^?_254wQrH2TmQ({?D86P6I!Af>RagGmz##+1pv$ zpKP25$%9CXYVaWb+33LcJ9a7XBF;lV+6&TEJgjq1{tX{^tqdlcFh%bFg)f)tvK#iM zp|=&~Q(7Ru?1qBh)<&AkZlr#&x!DmG-Vo5%C2cNi)tXCM%%-wdQg)$D34S-?u;d!y zFSHSg|6y7S>#^a6nkUTwOPYb(e1m{nYqD3_4VG?b(V}BK`C!=%fcdSAfKIkd(()}W zyP?Ew{K7Xh|H9Yf|9^gx>iI3AB>4f%Y{lm&zJ|4#;LiWk-{V<>`_Rxv`1&@&;ZF{K z{@)+t_8$Dt_V6_i{9O?qEehq9-GU-~5;NJ}}sFtMB z_7(oOgQS=n1HAZ)LvR1Ym$fp(i(7z}wJzg!+#KMyw0g%)W@cF{2wQJ5-125dk<}t; z%q^_5xrKr0H}Ji768>sC;j7yTav6B;p(O3!Xhg1YxGk=%wVXSAgYhV9-7ZOg{r5eD z;+tChOg!=Z2ln$^E@7In>mIC literal 0 HcmV?d00001 From c14c6d36f8a60fd561f7c24339b575807bc6066f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 5 Dec 2018 08:43:55 -0500 Subject: [PATCH 213/222] Rename most special vars --- asm/battle_2.s | 8 +- asm/battle_controller_oak.s | 12 +- asm/battle_controller_player.s | 4 +- asm/battle_controller_pokedude.s | 12 +- asm/battle_controller_safari.s | 4 +- asm/battle_records.s | 4 +- asm/battle_setup.s | 24 ++-- asm/battle_tower.s | 92 +++++++------- asm/berry_pouch.s | 52 ++++---- asm/cable_club.s | 60 +++++----- asm/daycare.s | 28 ++--- asm/easy_chat.s | 4 +- asm/egg_hatch.s | 16 +-- asm/event_data.s | 60 +++++----- asm/field_control_avatar.s | 40 +++---- asm/field_poison.s | 8 +- asm/field_specials.s | 192 +++++++++++++++--------------- asm/fldeff_strength.s | 4 +- asm/heal_location.s | 8 +- asm/help_system_812B1E0.s | 4 +- asm/item.s | 8 +- asm/item_menu.s | 100 ++++++++-------- asm/item_use.s | 84 ++++++------- asm/itemfinder.s | 8 +- asm/learn_move.s | 16 +-- asm/link.s | 4 +- asm/link_rfu.s | 24 ++-- asm/link_rfu_3.s | 100 ++++++++-------- asm/link_rfu_4.s | 8 +- asm/map_obj_lock.s | 4 +- asm/party_menu.s | 168 +++++++++++++------------- asm/pokemon_3.s | 8 +- asm/pokemon_size_record.s | 12 +- asm/pokemon_storage_system.s | 8 +- asm/prof_pc.s | 20 ++-- asm/rom6.s | 4 +- asm/scrcmd.s | 116 +++++++++--------- asm/script_menu.s | 88 +++++++------- asm/script_pokemon_util_80A0058.s | 20 ++-- asm/script_pokemon_util_80BF8FC.s | 34 +++--- asm/seagallop.s | 12 +- asm/shop.s | 4 +- asm/start_menu.s | 8 +- asm/teachy_tv.s | 4 +- asm/tm_case.s | 32 ++--- asm/trade.s | 16 +-- asm/trainer_tower.s | 92 +++++++------- asm/unk_8147500.s | 8 +- asm/unk_8147AA8.s | 8 +- asm/unk_814B6F0.s | 8 +- asm/unk_81507FC.s | 8 +- asm/unk_8159F40.s | 4 +- asm/unk_815EDDC.s | 8 +- asm/wild_encounter.s | 8 +- data/event_scripts.s | 30 ++--- include/event_data.h | 4 +- include/item_menu.h | 2 +- src/fame_checker.c | 10 +- src/menews_jisan.c | 2 +- src/quest_log.c | 8 +- src/vs_seeker.c | 10 +- sym_ewram.txt | 30 ++--- 62 files changed, 893 insertions(+), 893 deletions(-) diff --git a/asm/battle_2.s b/asm/battle_2.s index 011bb6d56..b11014d6b 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -2375,7 +2375,7 @@ sub_8011100: @ 8011100 ands r0, r1 cmp r0, 0 beq _08011158 - ldr r2, _08011168 @ =gUnknown_20370D0 + ldr r2, _08011168 @ =gSpecialVar_Result ldr r1, _0801116C @ =gUnknown_2023E8A movs r0, 0x3 strb r0, [r1] @@ -2398,7 +2398,7 @@ _08011158: .align 2, 0 _08011160: .4byte gMain _08011164: .4byte gBattleTypeFlags -_08011168: .4byte gUnknown_20370D0 +_08011168: .4byte gSpecialVar_Result _0801116C: .4byte gUnknown_2023E8A _08011170: .4byte CB2_QuitRecordedBattle thumb_func_end sub_8011100 @@ -11652,7 +11652,7 @@ _08015B74: cmp r0, 0 bne _08015BD4 _08015B86: - ldr r1, _08015BE8 @ =gUnknown_20370D0 + ldr r1, _08015BE8 @ =gSpecialVar_Result ldr r5, _08015BEC @ =gUnknown_2023E8A ldrb r0, [r5] strh r0, [r1] @@ -11697,7 +11697,7 @@ _08015BD4: _08015BDC: .4byte gBattleTypeFlags _08015BE0: .4byte gPlayerParty _08015BE4: .4byte gUnknown_3003F64 -_08015BE8: .4byte gUnknown_20370D0 +_08015BE8: .4byte gSpecialVar_Result _08015BEC: .4byte gUnknown_2023E8A _08015BF0: .4byte gMain _08015BF4: .4byte 0x00000439 diff --git a/asm/battle_controller_oak.s b/asm/battle_controller_oak.s index 94a49dd4e..29ae446f6 100644 --- a/asm/battle_controller_oak.s +++ b/asm/battle_controller_oak.s @@ -677,7 +677,7 @@ sub_80E7AC4: @ 80E7AC4 lsls r0, 24 cmp r0, 0 bne _080E7B34 - ldr r0, _080E7B20 @ =gUnknown_203AD30 + ldr r0, _080E7B20 @ =gSpecialVar_ItemId ldrh r0, [r0] cmp r0, 0xD bne _080E7B34 @@ -701,13 +701,13 @@ sub_80E7AC4: @ 80E7AC4 _080E7B14: .4byte gMain _080E7B18: .4byte sub_8011100 _080E7B1C: .4byte gPaletteFade -_080E7B20: .4byte gUnknown_203AD30 +_080E7B20: .4byte gSpecialVar_ItemId _080E7B24: .4byte gBattleTypeFlags _080E7B28: .4byte gUnknown_3004FE0 _080E7B2C: .4byte gActiveBattler _080E7B30: .4byte sub_80E8704 _080E7B34: - ldr r0, _080E7B48 @ =gUnknown_203AD30 + ldr r0, _080E7B48 @ =gSpecialVar_ItemId ldrh r1, [r0] movs r0, 0x1 bl EmitOneReturnValue @@ -716,7 +716,7 @@ _080E7B42: pop {r0} bx r0 .align 2, 0 -_080E7B48: .4byte gUnknown_203AD30 +_080E7B48: .4byte gSpecialVar_ItemId thumb_func_end sub_80E7AC4 thumb_func_start sub_80E7B4C @@ -2341,7 +2341,7 @@ _080E8880: cmp r4, 0 bne _080E88AA bl sub_80EB524 - ldr r0, _080E88B8 @ =gUnknown_203AD30 + ldr r0, _080E88B8 @ =gSpecialVar_ItemId ldrh r1, [r0] movs r0, 0x1 bl EmitOneReturnValue @@ -2357,7 +2357,7 @@ _080E88AA: bx r0 .align 2, 0 _080E88B4: .4byte gPaletteFade -_080E88B8: .4byte gUnknown_203AD30 +_080E88B8: .4byte gSpecialVar_ItemId _080E88BC: .4byte gBattleStruct thumb_func_end sub_80E8704 diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s index c009baf03..477f73144 100644 --- a/asm/battle_controller_player.s +++ b/asm/battle_controller_player.s @@ -4435,7 +4435,7 @@ CompleteWhenChoseItem: @ 803073C ands r0, r1 cmp r0, 0 bne _08030762 - ldr r0, _08030774 @ =gUnknown_203AD30 + ldr r0, _08030774 @ =gSpecialVar_ItemId ldrh r1, [r0] movs r0, 0x1 bl EmitOneReturnValue @@ -4447,7 +4447,7 @@ _08030762: _08030768: .4byte gMain _0803076C: .4byte sub_8011100 _08030770: .4byte gPaletteFade -_08030774: .4byte gUnknown_203AD30 +_08030774: .4byte gSpecialVar_ItemId thumb_func_end CompleteWhenChoseItem thumb_func_start CompleteOnSpecialAnimDone diff --git a/asm/battle_controller_pokedude.s b/asm/battle_controller_pokedude.s index 36b4f62d9..58fad294a 100644 --- a/asm/battle_controller_pokedude.s +++ b/asm/battle_controller_pokedude.s @@ -22,7 +22,7 @@ sub_81560A4: @ 81560A4 ldr r2, _081560D4 @ =gBattleStruct ldr r0, [r2] adds r0, 0x96 - ldr r1, _081560D8 @ =gUnknown_20370C0 + ldr r1, _081560D8 @ =gSpecialVar_0x8004 ldrh r1, [r1] strb r1, [r0] ldr r0, [r2] @@ -35,7 +35,7 @@ _081560C8: .4byte gUnknown_3004FE0 _081560CC: .4byte gActiveBattler _081560D0: .4byte sub_81560DC _081560D4: .4byte gBattleStruct -_081560D8: .4byte gUnknown_20370C0 +_081560D8: .4byte gSpecialVar_0x8004 thumb_func_end sub_81560A4 thumb_func_start sub_81560DC @@ -642,7 +642,7 @@ sub_8156594: @ 8156594 str r1, [r0] bl nullsub_44 bl FreeAllWindowBuffers - ldr r0, _081565D8 @ =gUnknown_20370C0 + ldr r0, _081565D8 @ =gSpecialVar_0x8004 ldrh r0, [r0] cmp r0, 0x1 beq _081565C4 @@ -656,7 +656,7 @@ _081565C8: .4byte gPaletteFade _081565CC: .4byte gUnknown_3004FE0 _081565D0: .4byte gActiveBattler _081565D4: .4byte sub_81565E8 -_081565D8: .4byte gUnknown_20370C0 +_081565D8: .4byte gSpecialVar_0x8004 _081565DC: movs r0, 0x8 _081565DE: @@ -680,7 +680,7 @@ sub_81565E8: @ 81565E8 ands r0, r1 cmp r0, 0 bne _0815660E - ldr r0, _08156620 @ =gUnknown_203AD30 + ldr r0, _08156620 @ =gSpecialVar_ItemId ldrh r1, [r0] movs r0, 0x1 bl EmitOneReturnValue @@ -692,7 +692,7 @@ _0815660E: _08156614: .4byte gMain _08156618: .4byte sub_8011100 _0815661C: .4byte gPaletteFade -_08156620: .4byte gUnknown_203AD30 +_08156620: .4byte gSpecialVar_ItemId thumb_func_end sub_81565E8 thumb_func_start sub_8156624 diff --git a/asm/battle_controller_safari.s b/asm/battle_controller_safari.s index 10e702da5..405d4c45b 100644 --- a/asm/battle_controller_safari.s +++ b/asm/battle_controller_safari.s @@ -431,7 +431,7 @@ CompleteWhenChosePokeblock: @ 80DD85C ands r0, r1 cmp r0, 0 bne _080DD882 - ldr r0, _080DD894 @ =gUnknown_203AD30 + ldr r0, _080DD894 @ =gSpecialVar_ItemId ldrh r1, [r0] movs r0, 0x1 bl EmitOneReturnValue @@ -443,7 +443,7 @@ _080DD882: _080DD888: .4byte gMain _080DD88C: .4byte sub_8011100 _080DD890: .4byte gPaletteFade -_080DD894: .4byte gUnknown_203AD30 +_080DD894: .4byte gSpecialVar_ItemId thumb_func_end CompleteWhenChosePokeblock thumb_func_start CompleteOnFinishedBattleAnimation_3 diff --git a/asm/battle_records.s b/asm/battle_records.s index bd847561c..392161676 100644 --- a/asm/battle_records.s +++ b/asm/battle_records.s @@ -129,7 +129,7 @@ _080CD338: bl sub_80CD628 ldr r0, _080CD350 @ =sub_80CD38C bl SetVBlankCallback - ldr r0, _080CD354 @ =gUnknown_20370C0 + ldr r0, _080CD354 @ =gSpecialVar_0x8004 ldrh r0, [r0] cmp r0, 0 beq _080CD358 @@ -137,7 +137,7 @@ _080CD338: b _080CD35C .align 2, 0 _080CD350: .4byte sub_80CD38C -_080CD354: .4byte gUnknown_20370C0 +_080CD354: .4byte gSpecialVar_0x8004 _080CD358: bl sub_80CDBE4 _080CD35C: diff --git a/asm/battle_setup.s b/asm/battle_setup.s index faa32be0e..499d565f0 100644 --- a/asm/battle_setup.s +++ b/asm/battle_setup.s @@ -721,13 +721,13 @@ _0807FC30: ldrb r0, [r4] cmp r0, 0x1 bne _0807FC40 - ldr r0, _0807FC3C @ =gUnknown_20370D0 + ldr r0, _0807FC3C @ =gSpecialVar_Result strh r1, [r0] b _0807FC46 .align 2, 0 -_0807FC3C: .4byte gUnknown_20370D0 +_0807FC3C: .4byte gSpecialVar_Result _0807FC40: - ldr r1, _0807FC54 @ =gUnknown_20370D0 + ldr r1, _0807FC54 @ =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] _0807FC46: @@ -739,7 +739,7 @@ _0807FC4C: pop {r0} bx r0 .align 2, 0 -_0807FC54: .4byte gUnknown_20370D0 +_0807FC54: .4byte gSpecialVar_Result _0807FC58: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music thumb_func_end sub_807FBF0 @@ -1503,7 +1503,7 @@ battle_80801F0: @ 80801F0 ldrh r1, [r0] cmp r1, 0 beq _08080212 - ldr r0, _0808021C @ =gUnknown_20370D2 + ldr r0, _0808021C @ =gSpecialVar_LastTalked strh r1, [r0] lsls r0, r1, 24 lsrs r0, 24 @@ -1519,7 +1519,7 @@ _08080212: bx r0 .align 2, 0 _08080218: .4byte gUnknown_20386B0 -_0808021C: .4byte gUnknown_20370D2 +_0808021C: .4byte gSpecialVar_LastTalked _08080220: .4byte gSaveBlock1Ptr _08080224: .4byte gUnknown_3005074 thumb_func_end battle_80801F0 @@ -1649,7 +1649,7 @@ TrainerWantsBattle: @ 8080334 lsrs r0, 24 ldr r2, _08080368 @ =gUnknown_3005074 strb r0, [r2] - ldr r4, _0808036C @ =gUnknown_20370D2 + ldr r4, _0808036C @ =gSpecialVar_LastTalked ldr r3, _08080370 @ =gMapObjects lsls r2, r0, 3 adds r2, r0 @@ -1668,7 +1668,7 @@ TrainerWantsBattle: @ 8080334 bx r0 .align 2, 0 _08080368: .4byte gUnknown_3005074 -_0808036C: .4byte gUnknown_20370D2 +_0808036C: .4byte gSpecialVar_LastTalked _08080370: .4byte gMapObjects _08080374: .4byte gUnknown_81A4EB4 thumb_func_end TrainerWantsBattle @@ -1859,7 +1859,7 @@ sub_80804AC: @ 80804AC adds r1, r0, 0 cmp r1, 0x1 bne _080804E8 - ldr r0, _080804E0 @ =gUnknown_20370D0 + ldr r0, _080804E0 @ =gSpecialVar_Result strh r1, [r0] ldr r0, _080804E4 @ =gUnknown_20386CC ldrh r0, [r0] @@ -1871,10 +1871,10 @@ sub_80804AC: @ 80804AC .align 2, 0 _080804D8: .4byte gUnknown_20386AC _080804DC: .4byte gUnknown_2023E8A -_080804E0: .4byte gUnknown_20370D0 +_080804E0: .4byte gSpecialVar_Result _080804E4: .4byte gUnknown_20386CC _080804E8: - ldr r0, _08080500 @ =gUnknown_20370D0 + ldr r0, _08080500 @ =gSpecialVar_Result movs r1, 0 strh r1, [r0] _080804EE: @@ -1884,7 +1884,7 @@ _080804EE: bl sub_81139BC b _0808054E .align 2, 0 -_08080500: .4byte gUnknown_20370D0 +_08080500: .4byte gSpecialVar_Result _08080504: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music _08080508: ldr r0, _0808051C @ =gTrainerBattleOpponent_A diff --git a/asm/battle_tower.s b/asm/battle_tower.s index f1cf4d3fa..82922b88f 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -144,7 +144,7 @@ sub_80E5A70: @ 80E5A70 movs r0, 0 strb r0, [r4] bl ValidateEReaderTrainer - ldr r0, _080E5AA4 @ =gUnknown_20370D0 + ldr r0, _080E5AA4 @ =gSpecialVar_Result ldrh r0, [r0] adds r7, r4, 0 cmp r0, 0 @@ -160,7 +160,7 @@ _080E5A9E: movs r0, 0 b _080E5B02 .align 2, 0 -_080E5AA4: .4byte gUnknown_20370D0 +_080E5AA4: .4byte gSpecialVar_Result _080E5AA8: .4byte gSaveBlock2Ptr _080E5AAC: .4byte 0x000004a2 _080E5AB0: @@ -1747,7 +1747,7 @@ _080E6662: adds r2, r0, 0 lsls r2, 16 lsrs r2, 16 - ldr r5, _080E6728 @ =gUnknown_20370D0 + ldr r5, _080E6728 @ =gSpecialVar_Result ldrb r3, [r5] str r4, [sp] add r0, sp, 0x10 @@ -1769,7 +1769,7 @@ _080E6662: ldr r1, _080E672C @ =gStringVar1 movs r0, 0xFF strb r0, [r1] - ldr r1, _080E6730 @ =gUnknown_20370C0 + ldr r1, _080E6730 @ =gSpecialVar_0x8004 movs r0, 0x1 strh r0, [r1] movs r0, 0 @@ -1810,9 +1810,9 @@ _080E6704: b _080E6742 .align 2, 0 _080E6724: .4byte gPlayerParty -_080E6728: .4byte gUnknown_20370D0 +_080E6728: .4byte gSpecialVar_Result _080E672C: .4byte gStringVar1 -_080E6730: .4byte gUnknown_20370C0 +_080E6730: .4byte gSpecialVar_0x8004 _080E6734: .4byte gUnknown_84020C4 _080E6738: .4byte 0x0000ffff _080E673C: .4byte gUnknown_83FE860 @@ -1825,7 +1825,7 @@ _080E6742: .align 2, 0 _080E674C: .4byte gUnknown_83FE864 _080E6750: - ldr r1, _080E6780 @ =gUnknown_20370C0 + ldr r1, _080E6780 @ =gSpecialVar_0x8004 movs r0, 0 strh r0, [r1] ldr r0, _080E6784 @ =gSaveBlock2Ptr @@ -1851,7 +1851,7 @@ _080E6770: pop {r0} bx r0 .align 2, 0 -_080E6780: .4byte gUnknown_20370C0 +_080E6780: .4byte gSpecialVar_0x8004 _080E6784: .4byte gSaveBlock2Ptr _080E6788: .4byte 0x0000055c thumb_func_end sub_80E6648 @@ -2053,7 +2053,7 @@ sub_80E6900: @ 80E6900 push {r4-r6,lr} sub sp, 0x4 ldr r0, _080E691C @ =gUnknown_203AAB8 - ldr r1, _080E6920 @ =gUnknown_20370C0 + ldr r1, _080E6920 @ =gSpecialVar_0x8004 ldrh r1, [r1] strh r1, [r0] ldrh r2, [r0] @@ -2066,7 +2066,7 @@ sub_80E6900: @ 80E6900 b _080E69E6 .align 2, 0 _080E691C: .4byte gUnknown_203AAB8 -_080E6920: .4byte gUnknown_20370C0 +_080E6920: .4byte gSpecialVar_0x8004 _080E6924: cmp r2, 0x2 beq _080E6998 @@ -2180,7 +2180,7 @@ sub_80E6A0C: @ 80E6A0C ldrb r0, [r0] lsls r0, 31 lsrs r5, r0, 31 - ldr r0, _080E6A3C @ =gUnknown_20370C0 + ldr r0, _080E6A3C @ =gSpecialVar_0x8004 ldrh r0, [r0] adds r6, r1, 0 cmp r0, 0xE @@ -2195,7 +2195,7 @@ _080E6A28: .align 2, 0 _080E6A34: .4byte gSaveBlock2Ptr _080E6A38: .4byte 0x0000055c -_080E6A3C: .4byte gUnknown_20370C0 +_080E6A3C: .4byte gSpecialVar_0x8004 _080E6A40: .4byte _080E6A44 .align 2, 0 _080E6A44: @@ -2339,7 +2339,7 @@ _080E6B66: adds r0, 0x1 strh r0, [r1] bl sub_80E6E48 - ldr r1, _080E6B9C @ =gUnknown_20370D0 + ldr r1, _080E6B9C @ =gSpecialVar_Result ldr r0, [r6] adds r0, r4 adds r0, r5 @@ -2354,7 +2354,7 @@ _080E6B66: .align 2, 0 _080E6B94: .4byte 0x0000056c _080E6B98: .4byte 0x0000270e -_080E6B9C: .4byte gUnknown_20370D0 +_080E6B9C: .4byte gSpecialVar_Result _080E6BA0: .4byte gStringVar1 _080E6BA4: ldr r0, [r6] @@ -2370,7 +2370,7 @@ _080E6BA4: strh r0, [r2] _080E6BBA: bl sub_80E6E48 - ldr r0, _080E6BD4 @ =gUnknown_20370D0 + ldr r0, _080E6BD4 @ =gSpecialVar_Result ldr r1, [r6] adds r1, r4 adds r1, r5 @@ -2381,7 +2381,7 @@ _080E6BC6: .align 2, 0 _080E6BCC: .4byte 0x00000564 _080E6BD0: .4byte 0x00000595 -_080E6BD4: .4byte gUnknown_20370D0 +_080E6BD4: .4byte gSpecialVar_Result _080E6BD8: ldr r3, [r6] ldr r0, _080E6BF8 @ =gSpecialVar_0x8005 @@ -2481,7 +2481,7 @@ sub_80E6C8C: @ 80E6C8C ldrb r0, [r0] lsls r0, 31 lsrs r4, r0, 31 - ldr r0, _080E6CBC @ =gUnknown_20370C0 + ldr r0, _080E6CBC @ =gSpecialVar_0x8004 ldrh r0, [r0] adds r3, r1, 0 cmp r0, 0xE @@ -2496,7 +2496,7 @@ _080E6CA8: .align 2, 0 _080E6CB4: .4byte gSaveBlock2Ptr _080E6CB8: .4byte 0x0000055c -_080E6CBC: .4byte gUnknown_20370C0 +_080E6CBC: .4byte gSpecialVar_0x8004 _080E6CC0: .4byte _080E6CC4 .align 2, 0 _080E6CC4: @@ -2516,17 +2516,17 @@ _080E6CC4: .4byte _080E6DD4 .4byte _080E6DF4 _080E6D00: - ldr r0, _080E6D0C @ =gUnknown_20370D0 + ldr r0, _080E6D0C @ =gSpecialVar_Result ldr r1, [r3] ldr r3, _080E6D10 @ =0x0000055e adds r1, r3 adds r1, r4 b _080E6D60 .align 2, 0 -_080E6D0C: .4byte gUnknown_20370D0 +_080E6D0C: .4byte gSpecialVar_Result _080E6D10: .4byte 0x0000055e _080E6D14: - ldr r0, _080E6D24 @ =gUnknown_20370D0 + ldr r0, _080E6D24 @ =gSpecialVar_Result ldr r1, [r3] ldr r2, _080E6D28 @ =0x0000055c adds r1, r2 @@ -2534,19 +2534,19 @@ _080E6D14: lsls r1, 31 b _080E6D7C .align 2, 0 -_080E6D24: .4byte gUnknown_20370D0 +_080E6D24: .4byte gSpecialVar_Result _080E6D28: .4byte 0x0000055c _080E6D2C: - ldr r2, _080E6D38 @ =gUnknown_20370D0 + ldr r2, _080E6D38 @ =gSpecialVar_Result ldr r0, [r3] lsls r1, r4, 1 movs r3, 0xAC lsls r3, 3 b _080E6D44 .align 2, 0 -_080E6D38: .4byte gUnknown_20370D0 +_080E6D38: .4byte gSpecialVar_Result _080E6D3C: - ldr r2, _080E6D50 @ =gUnknown_20370D0 + ldr r2, _080E6D50 @ =gSpecialVar_Result ldr r0, [r3] lsls r1, r4, 1 ldr r3, _080E6D54 @ =0x00000564 @@ -2557,10 +2557,10 @@ _080E6D44: strh r0, [r2] b _080E6E08 .align 2, 0 -_080E6D50: .4byte gUnknown_20370D0 +_080E6D50: .4byte gSpecialVar_Result _080E6D54: .4byte 0x00000564 _080E6D58: - ldr r0, _080E6D68 @ =gUnknown_20370D0 + ldr r0, _080E6D68 @ =gSpecialVar_Result ldr r1, [r3] ldr r2, _080E6D6C @ =0x0000056c adds r1, r2 @@ -2569,10 +2569,10 @@ _080E6D60: strh r1, [r0] b _080E6E08 .align 2, 0 -_080E6D68: .4byte gUnknown_20370D0 +_080E6D68: .4byte gSpecialVar_Result _080E6D6C: .4byte 0x0000056c _080E6D70: - ldr r0, _080E6D84 @ =gUnknown_20370D0 + ldr r0, _080E6D84 @ =gSpecialVar_Result ldr r1, [r3] ldr r3, _080E6D88 @ =0x0000055c adds r1, r3 @@ -2583,16 +2583,16 @@ _080E6D7C: strh r1, [r0] b _080E6E08 .align 2, 0 -_080E6D84: .4byte gUnknown_20370D0 +_080E6D84: .4byte gSpecialVar_Result _080E6D88: .4byte 0x0000055c _080E6D8C: adds r0, r4, 0 bl sub_80E7188 - ldr r1, _080E6D98 @ =gUnknown_20370D0 + ldr r1, _080E6D98 @ =gSpecialVar_Result strh r0, [r1] b _080E6E08 .align 2, 0 -_080E6D98: .4byte gUnknown_20370D0 +_080E6D98: .4byte gSpecialVar_Result _080E6D9C: ldr r0, [r3] ldr r1, _080E6DAC @ =0x0000057a @@ -2868,7 +2868,7 @@ sub_80E6FB8: @ 80E6FB8 ldrb r0, [r0] lsls r0, 31 lsrs r5, r0, 31 - ldr r0, _080E7044 @ =gUnknown_20370C0 + ldr r0, _080E7044 @ =gSpecialVar_0x8004 ldrh r0, [r0] cmp r0, 0x3 beq _080E6FD4 @@ -2899,7 +2899,7 @@ _080E6FF2: ldr r2, _080E7050 @ =0x0000055d adds r0, r2 strb r1, [r0] - ldr r0, _080E7044 @ =gUnknown_20370C0 + ldr r0, _080E7044 @ =gSpecialVar_0x8004 ldrh r1, [r0] cmp r1, 0x3 beq _080E7016 @@ -2928,7 +2928,7 @@ _080E7016: .align 2, 0 _080E703C: .4byte gSaveBlock2Ptr _080E7040: .4byte 0x0000055c -_080E7044: .4byte gUnknown_20370C0 +_080E7044: .4byte gSpecialVar_0x8004 _080E7048: .4byte 0x00000564 _080E704C: .4byte gUnknown_2023E8A _080E7050: .4byte 0x0000055d @@ -3230,16 +3230,16 @@ sub_80E724C: @ 80E724C ldrh r0, [r0] ldr r1, _080E7290 @ =gStringVar1 bl sub_8099E90 - ldr r0, _080E7294 @ =gUnknown_20370D0 + ldr r0, _080E7294 @ =gSpecialVar_Result strh r4, [r0] b _080E72AA .align 2, 0 _080E7288: .4byte gSaveBlock2Ptr _080E728C: .4byte 0x0000055c _080E7290: .4byte gStringVar1 -_080E7294: .4byte gUnknown_20370D0 +_080E7294: .4byte gSpecialVar_Result _080E7298: - ldr r1, _080E72B0 @ =gUnknown_20370D0 + ldr r1, _080E72B0 @ =gSpecialVar_Result movs r0, 0 strh r0, [r1] ldr r0, [r5] @@ -3253,7 +3253,7 @@ _080E72AA: pop {r0} bx r0 .align 2, 0 -_080E72B0: .4byte gUnknown_20370D0 +_080E72B0: .4byte gSpecialVar_Result _080E72B4: .4byte 0x0000055e thumb_func_end sub_80E724C @@ -3273,7 +3273,7 @@ sub_80E72B8: @ 80E72B8 beq _080E72D2 movs r7, 0x45 _080E72D2: - ldr r4, _080E733C @ =gUnknown_20370D0 + ldr r4, _080E733C @ =gSpecialVar_Result movs r0, 0 strh r0, [r4] adds r0, r1, 0 @@ -3312,7 +3312,7 @@ _080E731A: cmp r5, 0x2 ble _080E72EA _080E7320: - ldr r0, _080E733C @ =gUnknown_20370D0 + ldr r0, _080E733C @ =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0 beq _080E732E @@ -3325,7 +3325,7 @@ _080E732E: .align 2, 0 _080E7334: .4byte gSaveBlock2Ptr _080E7338: .4byte 0x0000055c -_080E733C: .4byte gUnknown_20370D0 +_080E733C: .4byte gSpecialVar_Result _080E7340: .4byte 0x0000056d _080E7344: .4byte gPlayerParty thumb_func_end sub_80E72B8 @@ -3500,7 +3500,7 @@ _080E748C: .4byte 0x000004a4 thumb_func_start ValidateEReaderTrainer ValidateEReaderTrainer: @ 80E7490 push {r4-r6,lr} - ldr r2, _080E74C0 @ =gUnknown_20370D0 + ldr r2, _080E74C0 @ =gSpecialVar_Result movs r0, 0 strh r0, [r2] ldr r1, _080E74C4 @ =gSaveBlock2Ptr @@ -3524,7 +3524,7 @@ _080E74AA: strh r0, [r2] b _080E74F6 .align 2, 0 -_080E74C0: .4byte gUnknown_20370D0 +_080E74C0: .4byte gSpecialVar_Result _080E74C4: .4byte gSaveBlock2Ptr _080E74C8: movs r4, 0 @@ -3547,7 +3547,7 @@ _080E74CE: lsls r3, 3 adds r0, r1, r3 bl sub_80E7524 - ldr r1, _080E74FC @ =gUnknown_20370D0 + ldr r1, _080E74FC @ =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] _080E74F6: @@ -3555,7 +3555,7 @@ _080E74F6: pop {r0} bx r0 .align 2, 0 -_080E74FC: .4byte gUnknown_20370D0 +_080E74FC: .4byte gSpecialVar_Result thumb_func_end ValidateEReaderTrainer thumb_func_start sub_80E7500 diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s index 304efdd74..b58832931 100644 --- a/asm/berry_pouch.s +++ b/asm/berry_pouch.s @@ -52,7 +52,7 @@ _0813CD98: strb r0, [r1, 0x6] movs r2, 0 ldr r6, _0813CDF0 @ =gTextFlags - ldr r0, _0813CDF4 @ =gUnknown_203AD30 + ldr r0, _0813CDF4 @ =gSpecialVar_ItemId mov r12, r0 ldr r1, _0813CDF8 @ =sub_813CE30 mov r8, r1 @@ -89,7 +89,7 @@ _0813CDE2: .align 2, 0 _0813CDEC: .4byte gUnknown_203F370 _0813CDF0: .4byte gTextFlags -_0813CDF4: .4byte gUnknown_203AD30 +_0813CDF4: .4byte gSpecialVar_ItemId _0813CDF8: .4byte sub_813CE30 _0813CDFC: .4byte 0x0000080c thumb_func_end sub_813CD50 @@ -1708,7 +1708,7 @@ _0813DA9E: bne _0813DAEC movs r0, 0x5 bl PlaySE - ldr r0, _0813DAE8 @ =gUnknown_203AD30 + ldr r0, _0813DAE8 @ =gSpecialVar_ItemId mov r1, r8 strh r1, [r0] b _0813DB48 @@ -1717,7 +1717,7 @@ _0813DAD8: .4byte gTasks+0x8 _0813DADC: .4byte gPaletteFade _0813DAE0: .4byte gUnknown_203F37A _0813DAE4: .4byte gMain -_0813DAE8: .4byte gUnknown_203AD30 +_0813DAE8: .4byte gSpecialVar_ItemId _0813DAEC: movs r0, 0x2 negs r0, r0 @@ -1749,11 +1749,11 @@ _0813DB10: lsrs r1, 16 movs r0, 0x5 bl sub_809A798 - ldr r1, _0813DB34 @ =gUnknown_203AD30 + ldr r1, _0813DB34 @ =gSpecialVar_ItemId b _0813DB46 .align 2, 0 _0813DB30: .4byte gUnknown_203F370 -_0813DB34: .4byte gUnknown_203AD30 +_0813DB34: .4byte gSpecialVar_ItemId _0813DB38: ldr r0, _0813DB50 @ =gUnknown_203F36C ldr r0, [r0] @@ -1761,7 +1761,7 @@ _0813DB38: cmp r5, r0 bne _0813DB58 _0813DB42: - ldr r1, _0813DB54 @ =gUnknown_203AD30 + ldr r1, _0813DB54 @ =gSpecialVar_ItemId movs r0, 0 _0813DB46: strh r0, [r1] @@ -1771,7 +1771,7 @@ _0813DB48: b _0813DB9E .align 2, 0 _0813DB50: .4byte gUnknown_203F36C -_0813DB54: .4byte gUnknown_203AD30 +_0813DB54: .4byte gSpecialVar_ItemId _0813DB58: bl sub_813D684 movs r0, 0x1 @@ -1789,7 +1789,7 @@ _0813DB58: movs r0, 0x5 adds r1, r4, 0 bl sub_809A798 - ldr r1, _0813DBA8 @ =gUnknown_203AD30 + ldr r1, _0813DBA8 @ =gSpecialVar_ItemId strh r0, [r1] ldr r0, _0813DBAC @ =gTasks lsls r1, r6, 2 @@ -1810,7 +1810,7 @@ _0813DB9E: pop {r0} bx r0 .align 2, 0 -_0813DBA8: .4byte gUnknown_203AD30 +_0813DBA8: .4byte gSpecialVar_ItemId _0813DBAC: .4byte gTasks _0813DBB0: .4byte gUnknown_8464358 thumb_func_end sub_813DA68 @@ -1878,7 +1878,7 @@ _0813DC24: cmp r0, 0x1 bne _0813DC7C _0813DC38: - ldr r0, _0813DC54 @ =gUnknown_203AD30 + ldr r0, _0813DC54 @ =gSpecialVar_ItemId ldrh r0, [r0] bl sub_80BF6A8 lsls r0, 24 @@ -1891,7 +1891,7 @@ _0813DC38: movs r0, 0x1 b _0813DC86 .align 2, 0 -_0813DC54: .4byte gUnknown_203AD30 +_0813DC54: .4byte gSpecialVar_ItemId _0813DC58: .4byte gUnknown_203F384 _0813DC5C: .4byte gUnknown_84643AC _0813DC60: .4byte gUnknown_203F388 @@ -2118,7 +2118,7 @@ sub_813DE0C: @ 813DE0C ldrb r0, [r0, 0x4] cmp r0, 0x4 bne _0813DE78 - ldr r4, _0813DE64 @ =gUnknown_203AD30 + ldr r4, _0813DE64 @ =gSpecialVar_ItemId ldrh r0, [r4] bl ItemId_GetBattleFunc cmp r0, 0 @@ -2129,7 +2129,7 @@ sub_813DE0C: @ 813DE0C .align 2, 0 _0813DE5C: .4byte gUnknown_203F388 _0813DE60: .4byte gUnknown_203F370 -_0813DE64: .4byte gUnknown_203AD30 +_0813DE64: .4byte gSpecialVar_ItemId _0813DE68: ldrh r0, [r4] bl ItemId_GetBattleFunc @@ -2142,7 +2142,7 @@ _0813DE78: lsls r0, 24 cmp r0, 0 bne _0813DEA0 - ldr r0, _0813DE9C @ =gUnknown_203AD30 + ldr r0, _0813DE9C @ =gSpecialVar_ItemId ldrh r0, [r0] bl ItemId_GetType lsls r0, 24 @@ -2153,9 +2153,9 @@ _0813DE78: bl sub_813E274 b _0813DEB0 .align 2, 0 -_0813DE9C: .4byte gUnknown_203AD30 +_0813DE9C: .4byte gSpecialVar_ItemId _0813DEA0: - ldr r0, _0813DEB8 @ =gUnknown_203AD30 + ldr r0, _0813DEB8 @ =gSpecialVar_ItemId ldrh r0, [r0] bl ItemId_GetFieldFunc adds r1, r0, 0 @@ -2166,7 +2166,7 @@ _0813DEB0: pop {r0} bx r0 .align 2, 0 -_0813DEB8: .4byte gUnknown_203AD30 +_0813DEB8: .4byte gSpecialVar_ItemId thumb_func_end sub_813DE0C thumb_func_start sub_813DEBC @@ -2494,7 +2494,7 @@ sub_813E164: @ 813E164 _0813E18A: movs r0, 0x5 bl PlaySE - ldr r0, _0813E1F4 @ =gUnknown_203AD30 + ldr r0, _0813E1F4 @ =gSpecialVar_ItemId ldrh r0, [r0] ldrh r1, [r5, 0x10] bl sub_809A1D8 @@ -2532,7 +2532,7 @@ _0813E1E4: .align 2, 0 _0813E1EC: .4byte gTasks+0x8 _0813E1F0: .4byte gMain -_0813E1F4: .4byte gUnknown_203AD30 +_0813E1F4: .4byte gSpecialVar_ItemId _0813E1F8: .4byte gUnknown_203F37A _0813E1FC: .4byte gUnknown_3005E70 thumb_func_end sub_813E164 @@ -2807,7 +2807,7 @@ sub_813E428: @ 813E428 lsls r0, 3 ldr r1, _0813E470 @ =gTasks+0x8 adds r4, r0, r1 - ldr r6, _0813E474 @ =gUnknown_203AD30 + ldr r6, _0813E474 @ =gSpecialVar_ItemId ldrh r0, [r6] bl itemid_get_market_price lsls r0, 16 @@ -2831,7 +2831,7 @@ sub_813E428: @ 813E428 b _0813E4CE .align 2, 0 _0813E470: .4byte gTasks+0x8 -_0813E474: .4byte gUnknown_203AD30 +_0813E474: .4byte gSpecialVar_ItemId _0813E478: .4byte gStringVar1 _0813E47C: .4byte gStringVar4 _0813E480: .4byte gUnknown_84168F1 @@ -3185,7 +3185,7 @@ sub_813E768: @ 813E768 bl PutWindowTilemap movs r0, 0 bl schedule_bg_copy_tilemap_to_vram - ldr r0, _0813E7D8 @ =gUnknown_203AD30 + ldr r0, _0813E7D8 @ =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, _0813E7DC @ =gStringVar1 bl sub_8099E90 @@ -3219,7 +3219,7 @@ sub_813E768: @ 813E768 bx r0 .align 2, 0 _0813E7D4: .4byte gTasks+0x8 -_0813E7D8: .4byte gUnknown_203AD30 +_0813E7D8: .4byte gSpecialVar_ItemId _0813E7DC: .4byte gStringVar1 _0813E7E0: .4byte gStringVar3 _0813E7E4: .4byte gStringVar4 @@ -3246,7 +3246,7 @@ sub_813E7F0: @ 813E7F0 mov r8, r1 movs r0, 0xF8 bl PlaySE - ldr r5, _0813E8C0 @ =gUnknown_203AD30 + ldr r5, _0813E8C0 @ =gSpecialVar_ItemId ldrh r0, [r5] mov r2, r8 ldrh r1, [r2, 0x10] @@ -3319,7 +3319,7 @@ sub_813E7F0: @ 813E7F0 bx r0 .align 2, 0 _0813E8BC: .4byte gTasks+0x8 -_0813E8C0: .4byte gUnknown_203AD30 +_0813E8C0: .4byte gSpecialVar_ItemId _0813E8C4: .4byte gSaveBlock1Ptr _0813E8C8: .4byte gUnknown_203F37A _0813E8CC: .4byte gUnknown_3005E70 diff --git a/asm/cable_club.s b/asm/cable_club.s index 830cff288..03b1e3497 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -696,7 +696,7 @@ sub_8080C6C: @ 8080C6C _08080CB0: .4byte gTasks _08080CB4: .4byte sub_8080FF0 _08080CB8: - ldr r4, _08080CD4 @ =gUnknown_20370D0 + ldr r4, _08080CD4 @ =gSpecialVar_Result adds r0, r7, 0 adds r1, r6, 0 bl sub_8080844 @@ -712,7 +712,7 @@ _08080CCE: pop {r0} bx r0 .align 2, 0 -_08080CD4: .4byte gUnknown_20370D0 +_08080CD4: .4byte gSpecialVar_Result _08080CD8: .4byte sub_8080DC0 thumb_func_end sub_8080C6C @@ -736,7 +736,7 @@ sub_8080CDC: @ 8080CDC bl sub_80808BC cmp r0, 0x1 beq _08080D74 - ldr r4, _08080D34 @ =gUnknown_20370D0 + ldr r4, _08080D34 @ =gSpecialVar_Result adds r0, r7, 0 adds r1, r6, 0 bl sub_8080844 @@ -757,7 +757,7 @@ sub_8080CDC: @ 8080CDC b _08080D72 .align 2, 0 _08080D30: .4byte gTasks -_08080D34: .4byte gUnknown_20370D0 +_08080D34: .4byte gSpecialVar_Result _08080D38: .4byte sub_8080F78 _08080D3C: cmp r2, 0x7 @@ -838,7 +838,7 @@ sub_8080DC0: @ 8080DC0 bl sub_80808BC cmp r0, 0x1 beq _08080E50 - ldr r0, _08080DE8 @ =gUnknown_20370D0 + ldr r0, _08080DE8 @ =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0x4 bne _08080DEC @@ -848,7 +848,7 @@ sub_8080DC0: @ 8080DC0 bl sub_800AAC0 b _08080E02 .align 2, 0 -_08080DE8: .4byte gUnknown_20370D0 +_08080DE8: .4byte gSpecialVar_Result _08080DEC: cmp r0, 0x3 bne _08080DF6 @@ -984,7 +984,7 @@ _08080EF8: bl SetSuppressLinkErrorMessage bl ResetBlockReceivedFlags bl HideFieldMessageBox - ldr r0, _08080F44 @ =gUnknown_20370D0 + ldr r0, _08080F44 @ =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0x1 bne _08080F54 @@ -1005,7 +1005,7 @@ _08080EF8: .align 2, 0 _08080F3C: .4byte gBlockRecvBuffer _08080F40: .4byte gUnknown_2039624 -_08080F44: .4byte gUnknown_20370D0 +_08080F44: .4byte gSpecialVar_Result _08080F48: .4byte gLinkType _08080F4C: .4byte 0x00004411 _08080F50: .4byte gTasks @@ -1065,7 +1065,7 @@ sub_8080FB4: @ 8080FB4 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r1, _08080FE8 @ =gUnknown_20370D0 + ldr r1, _08080FE8 @ =gSpecialVar_Result movs r0, 0x5 strh r0, [r1] ldr r1, _08080FEC @ =gTasks @@ -1083,7 +1083,7 @@ sub_8080FB4: @ 8080FB4 pop {r0} bx r0 .align 2, 0 -_08080FE8: .4byte gUnknown_20370D0 +_08080FE8: .4byte gSpecialVar_Result _08080FEC: .4byte gTasks thumb_func_end sub_8080FB4 @@ -1093,7 +1093,7 @@ sub_8080FF0: @ 8080FF0 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r1, _08081024 @ =gUnknown_20370D0 + ldr r1, _08081024 @ =gSpecialVar_Result movs r0, 0x6 strh r0, [r1] ldr r1, _08081028 @ =gTasks @@ -1111,7 +1111,7 @@ sub_8080FF0: @ 8080FF0 pop {r0} bx r0 .align 2, 0 -_08081024: .4byte gUnknown_20370D0 +_08081024: .4byte gSpecialVar_Result _08081028: .4byte gTasks thumb_func_end sub_8080FF0 @@ -1153,7 +1153,7 @@ sub_8081064: @ 8081064 push {r4,lr} movs r3, 0x2 movs r2, 0x2 - ldr r0, _0808107C @ =gUnknown_20370C0 + ldr r0, _0808107C @ =gSpecialVar_0x8004 ldrh r0, [r0] cmp r0, 0x2 beq _08081098 @@ -1163,7 +1163,7 @@ sub_8081064: @ 8081064 beq _08081086 b _080810B4 .align 2, 0 -_0808107C: .4byte gUnknown_20370C0 +_0808107C: .4byte gSpecialVar_0x8004 _08081080: cmp r0, 0x5 beq _080810A8 @@ -1228,7 +1228,7 @@ _080810F0: .4byte gBattleTypeFlags thumb_func_start sub_80810F4 sub_80810F4: @ 80810F4 push {lr} - ldr r1, _08081118 @ =gUnknown_20370D0 + ldr r1, _08081118 @ =gSpecialVar_Result movs r0, 0 strh r0, [r1] ldr r1, _0808111C @ =gLinkType @@ -1244,7 +1244,7 @@ sub_80810F4: @ 80810F4 pop {r0} bx r0 .align 2, 0 -_08081118: .4byte gUnknown_20370D0 +_08081118: .4byte gSpecialVar_Result _0808111C: .4byte gLinkType _08081120: .4byte 0x00003311 _08081124: .4byte gBattleTypeFlags @@ -1284,7 +1284,7 @@ sub_8081150: @ 8081150 .align 2, 0 _08081164: .4byte sub_80811FC _08081168: - ldr r0, _0808117C @ =gUnknown_20370C0 + ldr r0, _0808117C @ =gSpecialVar_0x8004 ldrh r0, [r0] subs r0, 0x1 cmp r0, 0x4 @@ -1295,7 +1295,7 @@ _08081168: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808117C: .4byte gUnknown_20370C0 +_0808117C: .4byte gSpecialVar_0x8004 _08081180: .4byte _08081184 .align 2, 0 _08081184: @@ -1597,7 +1597,7 @@ _080813D4: lsls r0, 1 bl PlayMapChosenOrBattleBGM _080813DC: - ldr r0, _080813F0 @ =gUnknown_20370C0 + ldr r0, _080813F0 @ =gSpecialVar_0x8004 ldrh r0, [r0] cmp r0, 0x2 beq _08081404 @@ -1607,7 +1607,7 @@ _080813DC: beq _080813FA b _0808141A .align 2, 0 -_080813F0: .4byte gUnknown_20370C0 +_080813F0: .4byte gSpecialVar_0x8004 _080813F4: cmp r0, 0x5 beq _08081410 @@ -1818,7 +1818,7 @@ _080815A0: ldr r0, _080815B8 @ =gLinkPlayers ldr r1, _080815BC @ =0x00002211 str r1, [r0, 0x14] - ldr r0, _080815C0 @ =gUnknown_20370C0 + ldr r0, _080815C0 @ =gSpecialVar_0x8004 ldrh r0, [r0] cmp r0, 0x2 beq _080815D4 @@ -1830,7 +1830,7 @@ _080815A0: .align 2, 0 _080815B8: .4byte gLinkPlayers _080815BC: .4byte 0x00002211 -_080815C0: .4byte gUnknown_20370C0 +_080815C0: .4byte gSpecialVar_0x8004 _080815C4: cmp r0, 0x5 beq _080815E0 @@ -1927,7 +1927,7 @@ sub_8081668: @ 8081668 bl LoadPlayerParty bl SavePlayerBag bl sub_81134B8 - ldr r0, _080816B8 @ =gUnknown_20370C0 + ldr r0, _080816B8 @ =gSpecialVar_0x8004 ldrh r0, [r0] cmp r0, 0x5 beq _0808170A @@ -1950,7 +1950,7 @@ sub_8081668: @ 8081668 .align 2, 0 _080816B0: .4byte gBattleTypeFlags _080816B4: .4byte 0x0000ffdf -_080816B8: .4byte gUnknown_20370C0 +_080816B8: .4byte gSpecialVar_0x8004 _080816BC: .4byte gUnknown_300502C _080816C0: .4byte gUnknown_3003F3C _080816C4: .4byte gUnknown_2023E8A @@ -2015,7 +2015,7 @@ _08081740: .4byte sub_806FB7C thumb_func_start sub_8081744 sub_8081744: @ 8081744 push {lr} - ldr r0, _0808176C @ =gUnknown_20370C0 + ldr r0, _0808176C @ =gSpecialVar_0x8004 ldrh r1, [r0] subs r0, r1, 0x1 lsls r0, 16 @@ -2033,7 +2033,7 @@ _08081760: pop {r0} bx r0 .align 2, 0 -_0808176C: .4byte gUnknown_20370C0 +_0808176C: .4byte gSpecialVar_0x8004 thumb_func_end sub_8081744 thumb_func_start sub_8081770 @@ -2385,14 +2385,14 @@ _08081A18: .4byte sub_808177C thumb_func_start sp02A_crash_sound sp02A_crash_sound: @ 8081A1C push {lr} - ldr r0, _08081A2C @ =gUnknown_20370C4 + ldr r0, _08081A2C @ =gSpecialVar_0x8006 ldrb r0, [r0] ldr r1, _08081A30 @ =c2_exit_to_overworld_1_continue_scripts_restart_music bl sub_808B700 pop {r0} bx r0 .align 2, 0 -_08081A2C: .4byte gUnknown_20370C4 +_08081A2C: .4byte gSpecialVar_0x8006 _08081A30: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music thumb_func_end sp02A_crash_sound @@ -2402,7 +2402,7 @@ sub_8081A34: @ 8081A34 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _08081A74 @ =gUnknown_20370C4 + ldr r0, _08081A74 @ =gSpecialVar_0x8006 strh r4, [r0] ldr r0, _08081A78 @ =gStringVar1 lsls r1, r4, 3 @@ -2427,7 +2427,7 @@ sub_8081A34: @ 8081A34 movs r0, 0x1 b _08081A8A .align 2, 0 -_08081A74: .4byte gUnknown_20370C4 +_08081A74: .4byte gSpecialVar_0x8006 _08081A78: .4byte gStringVar1 _08081A7C: .4byte gLinkPlayers + 8 _08081A80: .4byte gStringVar2 diff --git a/asm/daycare.s b/asm/daycare.s index f6bc7b0e1..3b7d7ffe0 100644 --- a/asm/daycare.s +++ b/asm/daycare.s @@ -458,7 +458,7 @@ TakePokemonFromDaycare: @ 8045728 movs r1, 0xBE lsls r1, 6 adds r0, r1 - ldr r1, _08045748 @ =gUnknown_20370C0 + ldr r1, _08045748 @ =gSpecialVar_0x8004 ldrb r1, [r1] bl TakeSelectedPokemonMonFromDaycareShiftSlots lsls r0, 16 @@ -467,7 +467,7 @@ TakePokemonFromDaycare: @ 8045728 bx r1 .align 2, 0 _08045744: .4byte gSaveBlock1Ptr -_08045748: .4byte gUnknown_20370C0 +_08045748: .4byte gSpecialVar_0x8004 thumb_func_end TakePokemonFromDaycare thumb_func_start GetLevelAfterDaycareSteps @@ -598,7 +598,7 @@ GetDaycareCost: @ 8045838 movs r1, 0xBE lsls r1, 6 adds r0, r1 - ldr r1, _08045858 @ =gUnknown_20370C0 + ldr r1, _08045858 @ =gSpecialVar_0x8004 ldrb r1, [r1] bl GetDaycareCostForMon ldr r1, _0804585C @ =gSpecialVar_0x8005 @@ -607,7 +607,7 @@ GetDaycareCost: @ 8045838 bx r0 .align 2, 0 _08045854: .4byte gSaveBlock1Ptr -_08045858: .4byte gUnknown_20370C0 +_08045858: .4byte gSpecialVar_0x8004 _0804585C: .4byte gSpecialVar_0x8005 thumb_func_end GetDaycareCost @@ -644,7 +644,7 @@ _08045894: .4byte 0x00003d20 GetNumLevelsGainedFromDaycare: @ 8045898 push {r4-r6,lr} ldr r6, _080458C0 @ =gSaveBlock1Ptr - ldr r5, _080458C4 @ =gUnknown_20370C0 + ldr r5, _080458C4 @ =gSpecialVar_0x8004 ldrh r0, [r5] movs r4, 0x8C adds r1, r0, 0 @@ -662,7 +662,7 @@ GetNumLevelsGainedFromDaycare: @ 8045898 b _080458E0 .align 2, 0 _080458C0: .4byte gSaveBlock1Ptr -_080458C4: .4byte gUnknown_20370C0 +_080458C4: .4byte gSpecialVar_0x8004 _080458C8: ldrh r0, [r5] adds r1, r0, 0 @@ -2076,13 +2076,13 @@ _08046350: str r0, [sp] cmp r0, 0 bne _08046390 - ldr r0, _0804638C @ =gUnknown_20370C0 + ldr r0, _0804638C @ =gSpecialVar_0x8004 strh r5, [r0] movs r0, 0x1 b _080463AA .align 2, 0 _08046388: .4byte gPlayerParty -_0804638C: .4byte gUnknown_20370C0 +_0804638C: .4byte gSpecialVar_0x8004 _08046390: subs r0, 0x1 str r0, [sp] @@ -2990,13 +2990,13 @@ Task_HandleDaycareLevelMenuInput: @ 80469FC _08046A2C: .4byte gTasks _08046A30: .4byte gMain _08046A34: - ldr r0, _08046A3C @ =gUnknown_20370D0 + ldr r0, _08046A3C @ =gSpecialVar_Result strh r1, [r0] b _08046A46 .align 2, 0 -_08046A3C: .4byte gUnknown_20370D0 +_08046A3C: .4byte gSpecialVar_Result _08046A40: - ldr r1, _08046A74 @ =gUnknown_20370D0 + ldr r1, _08046A74 @ =gSpecialVar_Result movs r0, 0x2 strh r0, [r1] _08046A46: @@ -3019,7 +3019,7 @@ _08046A46: bl EnableBothScriptContexts b _08046AAC .align 2, 0 -_08046A74: .4byte gUnknown_20370D0 +_08046A74: .4byte gSpecialVar_Result _08046A78: .4byte gTasks _08046A7C: movs r1, 0x2 @@ -3027,7 +3027,7 @@ _08046A7C: ands r0, r2 cmp r0, 0 beq _08046AAC - ldr r0, _08046AB4 @ =gUnknown_20370D0 + ldr r0, _08046AB4 @ =gSpecialVar_Result strh r1, [r0] ldrb r0, [r4, 0x8] movs r1, 0 @@ -3046,7 +3046,7 @@ _08046AAC: pop {r0} bx r0 .align 2, 0 -_08046AB4: .4byte gUnknown_20370D0 +_08046AB4: .4byte gSpecialVar_Result thumb_func_end Task_HandleDaycareLevelMenuInput thumb_func_start ShowDaycareLevelMenu diff --git a/asm/easy_chat.s b/asm/easy_chat.s index b8e9f7162..0ec71e087 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -495,7 +495,7 @@ _080BDA74: thumb_func_start sub_80BDA7C sub_80BDA7C: @ 80BDA7C push {r4,r5,lr} - ldr r0, _080BDA90 @ =gUnknown_20370C0 + ldr r0, _080BDA90 @ =gSpecialVar_0x8004 ldrh r0, [r0] cmp r0, 0x1 beq _080BDAB4 @@ -505,7 +505,7 @@ sub_80BDA7C: @ 80BDA7C beq _080BDA9E b _080BDB08 .align 2, 0 -_080BDA90: .4byte gUnknown_20370C0 +_080BDA90: .4byte gSpecialVar_0x8004 _080BDA94: cmp r0, 0x2 beq _080BDADC diff --git a/asm/egg_hatch.s b/asm/egg_hatch.s index 278cc855e..38b91b700 100644 --- a/asm/egg_hatch.s +++ b/asm/egg_hatch.s @@ -258,13 +258,13 @@ _08046E1C: .4byte gStringVar1 thumb_func_start ScriptHatchMon ScriptHatchMon: @ 8046E20 push {lr} - ldr r0, _08046E30 @ =gUnknown_20370C0 + ldr r0, _08046E30 @ =gSpecialVar_0x8004 ldrb r0, [r0] bl AddHatchedMonToParty pop {r0} bx r0 .align 2, 0 -_08046E30: .4byte gUnknown_20370C0 +_08046E30: .4byte gSpecialVar_0x8004 thumb_func_end ScriptHatchMon thumb_func_start sub_8046E34 @@ -332,7 +332,7 @@ sub_8046EAC: @ 8046EAC movs r1, 0xBE lsls r1, 6 adds r0, r1 - ldr r1, _08046ECC @ =gUnknown_20370C0 + ldr r1, _08046ECC @ =gSpecialVar_0x8004 ldrb r1, [r1] bl sub_8046E34 lsls r0, 24 @@ -341,7 +341,7 @@ sub_8046EAC: @ 8046EAC bx r1 .align 2, 0 _08046EC8: .4byte gSaveBlock1Ptr -_08046ECC: .4byte gUnknown_20370C0 +_08046ECC: .4byte gSpecialVar_0x8004 thumb_func_end sub_8046EAC thumb_func_start sub_8046ED0 @@ -566,7 +566,7 @@ _08047090: str r0, [r4] bl AllocateMonSpritesGfx ldr r2, [r4] - ldr r0, _0804714C @ =gUnknown_20370C0 + ldr r0, _0804714C @ =gSpecialVar_0x8004 ldrh r0, [r0] movs r1, 0 strb r0, [r2, 0x4] @@ -626,7 +626,7 @@ _08047090: b _0804724A .align 2, 0 _08047148: .4byte gUnknown_3000E74 -_0804714C: .4byte gUnknown_20370C0 +_0804714C: .4byte gSpecialVar_0x8004 _08047150: .4byte sub_8046FC0 _08047154: .4byte gSpecialVar_0x8005 _08047158: .4byte gUnknown_826019C @@ -770,7 +770,7 @@ _0804729C: .4byte gUnknown_3000E74 thumb_func_start EggHatchSetMonNickname EggHatchSetMonNickname: @ 80472A0 push {lr} - ldr r0, _080472D0 @ =gUnknown_20370C0 + ldr r0, _080472D0 @ =gSpecialVar_0x8004 ldrh r1, [r0] movs r0, 0x64 muls r0, r1 @@ -789,7 +789,7 @@ EggHatchSetMonNickname: @ 80472A0 pop {r0} bx r0 .align 2, 0 -_080472D0: .4byte gUnknown_20370C0 +_080472D0: .4byte gSpecialVar_0x8004 _080472D4: .4byte gPlayerParty _080472D8: .4byte gStringVar3 _080472DC: .4byte gUnknown_3000E74 diff --git a/asm/event_data.s b/asm/event_data.s index b49620ace..690134c27 100644 --- a/asm/event_data.s +++ b/asm/event_data.s @@ -796,38 +796,38 @@ _0806E6F6: thumb_func_start sub_806E6FC sub_806E6FC: @ 806E6FC - ldr r1, _0806E754 @ =gUnknown_20370B8 + ldr r1, _0806E754 @ =gSpecialVar_0x8000 movs r0, 0 strh r0, [r1] - ldr r1, _0806E758 @ =gUnknown_20370BA + ldr r1, _0806E758 @ =gSpecialVar_0x8001 strh r0, [r1] - ldr r1, _0806E75C @ =gUnknown_20370BC + ldr r1, _0806E75C @ =gSpecialVar_0x8002 strh r0, [r1] - ldr r1, _0806E760 @ =gUnknown_20370BE + ldr r1, _0806E760 @ =gSpecialVar_0x8003 strh r0, [r1] - ldr r1, _0806E764 @ =gUnknown_20370C0 + ldr r1, _0806E764 @ =gSpecialVar_0x8004 strh r0, [r1] ldr r1, _0806E768 @ =gSpecialVar_0x8005 strh r0, [r1] - ldr r1, _0806E76C @ =gUnknown_20370C4 + ldr r1, _0806E76C @ =gSpecialVar_0x8006 strh r0, [r1] - ldr r1, _0806E770 @ =gUnknown_20370C6 + ldr r1, _0806E770 @ =gSpecialVar_0x8007 strh r0, [r1] - ldr r1, _0806E774 @ =gUnknown_20370C8 + ldr r1, _0806E774 @ =gSpecialVar_0x8008 strh r0, [r1] - ldr r1, _0806E778 @ =gUnknown_20370CA + ldr r1, _0806E778 @ =gSpecialVar_0x8009 strh r0, [r1] - ldr r1, _0806E77C @ =gUnknown_20370CC + ldr r1, _0806E77C @ =gSpecialVar_0x800A strh r0, [r1] - ldr r1, _0806E780 @ =gUnknown_20370CE + ldr r1, _0806E780 @ =gSpecialVar_0x800B strh r0, [r1] - ldr r1, _0806E784 @ =gUnknown_20370D4 + ldr r1, _0806E784 @ =gSpecialVar_Facing strh r0, [r1] - ldr r1, _0806E788 @ =gUnknown_20370D0 + ldr r1, _0806E788 @ =gSpecialVar_Result strh r0, [r1] - ldr r1, _0806E78C @ =gUnknown_203AD30 + ldr r1, _0806E78C @ =gSpecialVar_ItemId strh r0, [r1] - ldr r1, _0806E790 @ =gUnknown_20370D2 + ldr r1, _0806E790 @ =gSpecialVar_LastTalked strh r0, [r1] ldr r1, _0806E794 @ =gSpecialVar_MonBoxId strh r0, [r1] @@ -841,22 +841,22 @@ sub_806E6FC: @ 806E6FC strh r0, [r1] bx lr .align 2, 0 -_0806E754: .4byte gUnknown_20370B8 -_0806E758: .4byte gUnknown_20370BA -_0806E75C: .4byte gUnknown_20370BC -_0806E760: .4byte gUnknown_20370BE -_0806E764: .4byte gUnknown_20370C0 +_0806E754: .4byte gSpecialVar_0x8000 +_0806E758: .4byte gSpecialVar_0x8001 +_0806E75C: .4byte gSpecialVar_0x8002 +_0806E760: .4byte gSpecialVar_0x8003 +_0806E764: .4byte gSpecialVar_0x8004 _0806E768: .4byte gSpecialVar_0x8005 -_0806E76C: .4byte gUnknown_20370C4 -_0806E770: .4byte gUnknown_20370C6 -_0806E774: .4byte gUnknown_20370C8 -_0806E778: .4byte gUnknown_20370CA -_0806E77C: .4byte gUnknown_20370CC -_0806E780: .4byte gUnknown_20370CE -_0806E784: .4byte gUnknown_20370D4 -_0806E788: .4byte gUnknown_20370D0 -_0806E78C: .4byte gUnknown_203AD30 -_0806E790: .4byte gUnknown_20370D2 +_0806E76C: .4byte gSpecialVar_0x8006 +_0806E770: .4byte gSpecialVar_0x8007 +_0806E774: .4byte gSpecialVar_0x8008 +_0806E778: .4byte gSpecialVar_0x8009 +_0806E77C: .4byte gSpecialVar_0x800A +_0806E780: .4byte gSpecialVar_0x800B +_0806E784: .4byte gSpecialVar_Facing +_0806E788: .4byte gSpecialVar_Result +_0806E78C: .4byte gSpecialVar_ItemId +_0806E790: .4byte gSpecialVar_LastTalked _0806E794: .4byte gSpecialVar_MonBoxId _0806E798: .4byte gSpecialVar_MonBoxPos _0806E79C: .4byte gUnknown_20370DA diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index 4ae8ad562..9748301f7 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -938,13 +938,13 @@ _0806CFBC: ble _0806CFB0 ldr r0, _0806CFE8 @ =gUnknown_3005074 strb r3, [r0] - ldr r1, _0806CFEC @ =gUnknown_20370D2 + ldr r1, _0806CFEC @ =gSpecialVar_LastTalked adds r0, r2, r3 lsls r0, 2 adds r0, r5 ldrb r0, [r0, 0x8] strh r0, [r1] - ldr r0, _0806CFF0 @ =gUnknown_20370D4 + ldr r0, _0806CFF0 @ =gSpecialVar_Facing strh r6, [r0] adds r0, r3, 0 bl GetFieldObjectScriptPointerByFieldObjectId @@ -955,8 +955,8 @@ _0806CFDE: .align 2, 0 _0806CFE4: .4byte gUnknown_2031DEC _0806CFE8: .4byte gUnknown_3005074 -_0806CFEC: .4byte gUnknown_20370D2 -_0806CFF0: .4byte gUnknown_20370D4 +_0806CFEC: .4byte gSpecialVar_LastTalked +_0806CFF0: .4byte gSpecialVar_Facing thumb_func_end sub_806CF38 thumb_func_start sub_806CFF4 @@ -1046,14 +1046,14 @@ _0806D09C: .4byte gUnknown_826D2D8 _0806D0A0: ldr r0, _0806D0D4 @ =gUnknown_3005074 strb r5, [r0] - ldr r4, _0806D0D8 @ =gUnknown_20370D2 + ldr r4, _0806D0D8 @ =gSpecialVar_LastTalked ldr r1, _0806D0DC @ =gMapObjects adds r0, r6, r5 lsls r0, 2 adds r0, r1 ldrb r0, [r0, 0x8] strh r0, [r4] - ldr r0, _0806D0E0 @ =gUnknown_20370D4 + ldr r0, _0806D0E0 @ =gSpecialVar_Facing mov r1, r8 strh r1, [r0] adds r0, r5, 0 @@ -1070,9 +1070,9 @@ _0806D0C8: bx r1 .align 2, 0 _0806D0D4: .4byte gUnknown_3005074 -_0806D0D8: .4byte gUnknown_20370D2 +_0806D0D8: .4byte gSpecialVar_LastTalked _0806D0DC: .4byte gMapObjects -_0806D0E0: .4byte gUnknown_20370D4 +_0806D0E0: .4byte gSpecialVar_Facing thumb_func_end sub_806CFF4 thumb_func_start sub_806D0E4 @@ -1165,12 +1165,12 @@ _0806D17A: ldr r0, [r5, 0x8] movs r1, 0x1 bl sub_80CC44C - ldr r4, _0806D1C8 @ =gUnknown_20370C0 + ldr r4, _0806D1C8 @ =gSpecialVar_0x8004 strh r0, [r4] ldr r0, [r5, 0x8] movs r1, 0x2 bl sub_80CC44C - ldr r1, _0806D1CC @ =gUnknown_20370C4 + ldr r1, _0806D1CC @ =gSpecialVar_0x8006 strh r0, [r1] ldrh r0, [r4] bl FlagGet @@ -1178,22 +1178,22 @@ _0806D17A: lsrs r0, 24 cmp r0, 0x1 beq _0806D164 - ldr r0, _0806D1D0 @ =gUnknown_20370D4 + ldr r0, _0806D1D0 @ =gSpecialVar_Facing strh r6, [r0] ldr r0, _0806D1D4 @ =gUnknown_81A6843 b _0806D1E6 .align 2, 0 _0806D1C4: .4byte gSpecialVar_0x8005 -_0806D1C8: .4byte gUnknown_20370C0 -_0806D1CC: .4byte gUnknown_20370C4 -_0806D1D0: .4byte gUnknown_20370D4 +_0806D1C8: .4byte gSpecialVar_0x8004 +_0806D1CC: .4byte gSpecialVar_0x8006 +_0806D1D0: .4byte gSpecialVar_Facing _0806D1D4: .4byte gUnknown_81A6843 _0806D1D8: cmp r2, 0xFF beq _0806D1E0 bl sub_8069A20 _0806D1E0: - ldr r0, _0806D1EC @ =gUnknown_20370D4 + ldr r0, _0806D1EC @ =gSpecialVar_Facing strh r6, [r0] ldr r0, [r5, 0x8] _0806D1E6: @@ -1201,7 +1201,7 @@ _0806D1E6: pop {r1} bx r1 .align 2, 0 -_0806D1EC: .4byte gUnknown_20370D4 +_0806D1EC: .4byte gSpecialVar_Facing thumb_func_end sub_806D0E4 thumb_func_start sub_806D1F0 @@ -1211,7 +1211,7 @@ sub_806D1F0: @ 806D1F0 lsrs r4, r1, 24 lsls r2, 24 lsrs r5, r2, 24 - ldr r0, _0806D210 @ =gUnknown_20370D4 + ldr r0, _0806D210 @ =gSpecialVar_Facing strh r5, [r0] adds r0, r4, 0 bl MetatileBehavior_IsPC @@ -1222,7 +1222,7 @@ sub_806D1F0: @ 806D1F0 ldr r0, _0806D214 @ =gUnknown_81A6955 b _0806D53E .align 2, 0 -_0806D210: .4byte gUnknown_20370D4 +_0806D210: .4byte gSpecialVar_Facing _0806D214: .4byte gUnknown_81A6955 _0806D218: adds r0, r4, 0 @@ -2114,7 +2114,7 @@ sub_806D908: @ 806D908 push {lr} lsls r1, 24 lsrs r1, 24 - ldr r2, _0806D924 @ =gUnknown_20370D4 + ldr r2, _0806D924 @ =gSpecialVar_Facing strh r1, [r2] bl ScriptContext1_SetupScript bl sub_80699E0 @@ -2122,7 +2122,7 @@ sub_806D908: @ 806D908 pop {r0} bx r0 .align 2, 0 -_0806D924: .4byte gUnknown_20370D4 +_0806D924: .4byte gSpecialVar_Facing thumb_func_end sub_806D908 thumb_func_start sub_806D928 diff --git a/asm/field_poison.s b/asm/field_poison.s index 930f5b403..f76e7db4f 100644 --- a/asm/field_poison.s +++ b/asm/field_poison.s @@ -196,12 +196,12 @@ _080A05B8: adds r1, r0, 0 cmp r1, 0 beq _080A05E8 - ldr r1, _080A05CC @ =gUnknown_20370D0 + ldr r1, _080A05CC @ =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] b _080A05EC .align 2, 0 -_080A05CC: .4byte gUnknown_20370D0 +_080A05CC: .4byte gSpecialVar_Result _080A05D0: ldrb r0, [r4, 0x2] bl MonFaintFromPoisonOnField @@ -214,7 +214,7 @@ _080A05D0: .align 2, 0 _080A05E4: .4byte gUnknown_81A5476 _080A05E8: - ldr r0, _080A05FC @ =gUnknown_20370D0 + ldr r0, _080A05FC @ =gSpecialVar_Result strh r1, [r0] _080A05EC: bl EnableBothScriptContexts @@ -225,7 +225,7 @@ _080A05F6: pop {r0} bx r0 .align 2, 0 -_080A05FC: .4byte gUnknown_20370D0 +_080A05FC: .4byte gSpecialVar_Result thumb_func_end Task_WhiteOut thumb_func_start ExecuteWhiteOut diff --git a/asm/field_specials.s b/asm/field_specials.s index 18b0401a4..a4f3e6dc7 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -86,7 +86,7 @@ _080CA698: .4byte gStringVar4 thumb_func_start sub_80CA69C sub_80CA69C: @ 80CA69C - ldr r1, _080CA6B0 @ =gUnknown_20370C0 + ldr r1, _080CA6B0 @ =gSpecialVar_0x8004 ldr r0, _080CA6B4 @ =gSaveBlock1Ptr ldr r2, [r0] ldrh r0, [r2] @@ -96,7 +96,7 @@ sub_80CA69C: @ 80CA69C strh r0, [r1] bx lr .align 2, 0 -_080CA6B0: .4byte gUnknown_20370C0 +_080CA6B0: .4byte gSpecialVar_0x8004 _080CA6B4: .4byte gSaveBlock1Ptr _080CA6B8: .4byte gSpecialVar_0x8005 thumb_func_end sub_80CA69C @@ -188,13 +188,13 @@ _080CA754: .4byte gUnknown_2023E8A thumb_func_start sub_80CA758 sub_80CA758: @ 80CA758 push {lr} - ldr r0, _080CA768 @ =gUnknown_20370C0 + ldr r0, _080CA768 @ =gSpecialVar_0x8004 ldrh r0, [r0] bl FlagSet pop {r0} bx r0 .align 2, 0 -_080CA768: .4byte gUnknown_20370C0 +_080CA768: .4byte gSpecialVar_0x8004 thumb_func_end sub_80CA758 thumb_func_start sub_80CA76C @@ -441,14 +441,14 @@ _080CA92C: _080CA92E: cmp r6, 0 beq _080CA954 - ldr r0, _080CA940 @ =gUnknown_20370C0 + ldr r0, _080CA940 @ =gSpecialVar_0x8004 ldrh r0, [r0] cmp r0, 0 bne _080CA944 movs r4, 0x62 b _080CA96E .align 2, 0 -_080CA940: .4byte gUnknown_20370C0 +_080CA940: .4byte gSpecialVar_0x8004 _080CA944: cmp r0, 0x1 beq _080CA94C @@ -460,14 +460,14 @@ _080CA94C: .align 2, 0 _080CA950: .4byte 0x0000028f _080CA954: - ldr r0, _080CA960 @ =gUnknown_20370C0 + ldr r0, _080CA960 @ =gSpecialVar_0x8004 ldrh r0, [r0] cmp r0, 0 bne _080CA964 movs r4, 0x63 b _080CA96E .align 2, 0 -_080CA960: .4byte gUnknown_20370C0 +_080CA960: .4byte gSpecialVar_0x8004 _080CA964: cmp r0, 0x1 beq _080CA96C @@ -536,14 +536,14 @@ _080CA9D6: _080CA9D8: movs r5, 0xFF _080CA9DA: - ldr r0, _080CA9E8 @ =gUnknown_20370C0 + ldr r0, _080CA9E8 @ =gSpecialVar_0x8004 ldrh r0, [r0] cmp r0, 0 bne _080CA9EC movs r4, 0x62 b _080CA9F6 .align 2, 0 -_080CA9E8: .4byte gUnknown_20370C0 +_080CA9E8: .4byte gSpecialVar_0x8004 _080CA9EC: cmp r0, 0x1 beq _080CA9F4 @@ -867,13 +867,13 @@ sub_80CAC28: @ 80CAC28 movs r2, 0 strh r0, [r1, 0x8] strh r2, [r1, 0xA] - ldr r0, _080CAC78 @ =gUnknown_20370C4 + ldr r0, _080CAC78 @ =gSpecialVar_0x8006 ldrh r0, [r0] strh r0, [r1, 0xC] - ldr r0, _080CAC7C @ =gUnknown_20370C6 + ldr r0, _080CAC7C @ =gSpecialVar_0x8007 ldrh r0, [r0] strh r0, [r1, 0xE] - ldr r0, _080CAC80 @ =gUnknown_20370C0 + ldr r0, _080CAC80 @ =gSpecialVar_0x8004 ldrh r0, [r0] strh r0, [r1, 0x10] movs r0, 0 @@ -886,9 +886,9 @@ sub_80CAC28: @ 80CAC28 _080CAC6C: .4byte sub_80CAC84 _080CAC70: .4byte gTasks _080CAC74: .4byte gSpecialVar_0x8005 -_080CAC78: .4byte gUnknown_20370C4 -_080CAC7C: .4byte gUnknown_20370C6 -_080CAC80: .4byte gUnknown_20370C0 +_080CAC78: .4byte gSpecialVar_0x8006 +_080CAC7C: .4byte gSpecialVar_0x8007 +_080CAC80: .4byte gSpecialVar_0x8004 thumb_func_end sub_80CAC28 thumb_func_start sub_80CAC84 @@ -1002,7 +1002,7 @@ _080CAD4C: thumb_func_start sub_80CAD54 sub_80CAD54: @ 80CAD54 push {lr} - ldr r0, _080CAD74 @ =gUnknown_20370C0 + ldr r0, _080CAD74 @ =gSpecialVar_0x8004 ldrh r1, [r0] movs r0, 0x64 muls r0, r1 @@ -1016,14 +1016,14 @@ sub_80CAD54: @ 80CAD54 pop {r1} bx r1 .align 2, 0 -_080CAD74: .4byte gUnknown_20370C0 +_080CAD74: .4byte gSpecialVar_0x8004 _080CAD78: .4byte gPlayerParty thumb_func_end sub_80CAD54 thumb_func_start sub_80CAD7C sub_80CAD7C: @ 80CAD7C push {r4,lr} - ldr r0, _080CADA8 @ =gUnknown_20370C0 + ldr r0, _080CADA8 @ =gSpecialVar_0x8004 ldrh r1, [r0] movs r0, 0x64 muls r0, r1 @@ -1042,7 +1042,7 @@ sub_80CAD7C: @ 80CAD7C movs r0, 0x1 b _080CADBA .align 2, 0 -_080CADA8: .4byte gUnknown_20370C0 +_080CADA8: .4byte gSpecialVar_0x8004 _080CADAC: .4byte gPlayerParty _080CADB0: .4byte gStringVar1 _080CADB4: .4byte gSaveBlock2Ptr @@ -1092,7 +1092,7 @@ sub_80CADEC: @ 80CADEC adds r0, 0x1 lsls r0, 16 lsrs r2, r0, 16 - ldr r1, _080CAE20 @ =gUnknown_20370C0 + ldr r1, _080CAE20 @ =gSpecialVar_0x8004 strh r2, [r1] ldr r0, _080CAE24 @ =gSpecialVar_0x8005 strh r2, [r0] @@ -1108,7 +1108,7 @@ _080CAE14: ldr r0, [r0] mov pc, r0 .align 2, 0 -_080CAE20: .4byte gUnknown_20370C0 +_080CAE20: .4byte gSpecialVar_0x8004 _080CAE24: .4byte gSpecialVar_0x8005 _080CAE28: .4byte _080CAE2C .align 2, 0 @@ -1353,7 +1353,7 @@ _080CB01C: ldrh r0, [r5] cmp r0, 0xF bls _080CB04C - ldr r0, _080CB044 @ =gUnknown_20370C0 + ldr r0, _080CB044 @ =gSpecialVar_0x8004 ldrh r4, [r0] adds r0, r4, 0 movs r1, 0x5 @@ -1368,7 +1368,7 @@ _080CB01C: b _080CB04A .align 2, 0 _080CB040: .4byte gSpecialVar_0x8005 -_080CB044: .4byte gUnknown_20370C0 +_080CB044: .4byte gSpecialVar_0x8004 _080CB048: adds r0, r4, 0x1 _080CB04A: @@ -1569,9 +1569,9 @@ _080CB1D2: thumb_func_start sub_80CB1D8 sub_80CB1D8: @ 80CB1D8 push {lr} - ldr r0, _080CB1F0 @ =gUnknown_20370D0 + ldr r0, _080CB1F0 @ =gSpecialVar_Result ldrh r1, [r0] - ldr r0, _080CB1F4 @ =gUnknown_20370C4 + ldr r0, _080CB1F4 @ =gSpecialVar_0x8006 ldrh r0, [r0] adds r1, r0 ldr r0, _080CB1F8 @ =0x0000270f @@ -1580,8 +1580,8 @@ sub_80CB1D8: @ 80CB1D8 movs r0, 0x1 b _080CB1FE .align 2, 0 -_080CB1F0: .4byte gUnknown_20370D0 -_080CB1F4: .4byte gUnknown_20370C4 +_080CB1F0: .4byte gSpecialVar_Result +_080CB1F4: .4byte gSpecialVar_0x8006 _080CB1F8: .4byte 0x0000270f _080CB1FC: movs r0, 0 @@ -1956,7 +1956,7 @@ sub_80CB498: @ 80CB498 movs r6, 0x1 strh r6, [r4, 0x8] ldr r0, _080CB4D8 @ =gSpecialVar_0x8005 - ldr r1, _080CB4DC @ =gUnknown_20370C4 + ldr r1, _080CB4DC @ =gSpecialVar_0x8006 ldrh r2, [r0] ldrh r0, [r1] cmp r2, r0 @@ -1970,7 +1970,7 @@ sub_80CB498: @ 80CB498 _080CB4D0: .4byte sub_80CB514 _080CB4D4: .4byte gTasks+0x8 _080CB4D8: .4byte gSpecialVar_0x8005 -_080CB4DC: .4byte gUnknown_20370C4 +_080CB4DC: .4byte gSpecialVar_0x8006 _080CB4E0: subs r0, r2 lsls r0, 16 @@ -2357,7 +2357,7 @@ _080CB7D6: lsls r0, 3 ldr r1, _080CB810 @ =gTasks adds r3, r0, r1 - ldr r0, _080CB814 @ =gUnknown_20370C0 + ldr r0, _080CB814 @ =gSpecialVar_0x8004 ldrh r4, [r0] cmp r4, 0x3 beq _080CB886 @@ -2374,7 +2374,7 @@ _080CB7D6: _080CB808: .4byte sub_809D6D4 _080CB80C: .4byte sub_80CB904 _080CB810: .4byte gTasks -_080CB814: .4byte gUnknown_20370C0 +_080CB814: .4byte gSpecialVar_0x8004 _080CB818: cmp r4, 0x5 beq _080CB8B4 @@ -2490,7 +2490,7 @@ _080CB8E6: strh r5, [r3, 0x26] b _080CB8F8 _080CB8EC: - ldr r1, _080CB900 @ =gUnknown_20370D0 + ldr r1, _080CB900 @ =gSpecialVar_Result movs r0, 0x7F strh r0, [r1] adds r0, r5, 0 @@ -2500,7 +2500,7 @@ _080CB8F8: pop {r0} bx r0 .align 2, 0 -_080CB900: .4byte gUnknown_20370D0 +_080CB900: .4byte gSpecialVar_Result thumb_func_end sub_80CB7C4 thumb_func_start sub_80CB904 @@ -2519,7 +2519,7 @@ sub_80CB904: @ 80CB904 ldr r1, _080CB934 @ =gTasks adds r5, r0, r1 bl ScriptContext2_Enable - ldr r0, _080CB938 @ =gUnknown_20370C0 + ldr r0, _080CB938 @ =gSpecialVar_0x8004 ldrh r0, [r0] cmp r0, 0x1 bne _080CB944 @@ -2530,7 +2530,7 @@ sub_80CB904: @ 80CB904 b _080CB94A .align 2, 0 _080CB934: .4byte gTasks -_080CB938: .4byte gUnknown_20370C0 +_080CB938: .4byte gSpecialVar_0x8004 _080CB93C: .4byte gUnknown_2039A18 _080CB940: .4byte gUnknown_2039A0E _080CB944: @@ -2563,7 +2563,7 @@ _080CB974: lsls r3, r4, 3 adds r3, r0 lsls r2, r4, 2 - ldr r0, _080CBA6C @ =gUnknown_20370C0 + ldr r0, _080CBA6C @ =gSpecialVar_0x8004 ldrh r1, [r0] lsls r0, r1, 1 adds r0, r1 @@ -2676,7 +2676,7 @@ _080CB9D2: _080CBA60: .4byte gUnknown_2039A18 _080CBA64: .4byte gUnknown_2039A14 _080CBA68: .4byte gUnknown_83F5BCC -_080CBA6C: .4byte gUnknown_20370C0 +_080CBA6C: .4byte gSpecialVar_0x8004 _080CBA70: .4byte gUnknown_3005360 _080CBA74: .4byte gTasks _080CBA78: .4byte sub_80CBB28 @@ -2794,16 +2794,16 @@ sub_80CBB28: @ 80CBB28 .align 2, 0 _080CBB54: .4byte gTasks _080CBB58: - ldr r1, _080CBB68 @ =gUnknown_20370D0 + ldr r1, _080CBB68 @ =gSpecialVar_Result movs r0, 0x7F strh r0, [r1] movs r0, 0x5 bl PlaySE b _080CBB88 .align 2, 0 -_080CBB68: .4byte gUnknown_20370D0 +_080CBB68: .4byte gSpecialVar_Result _080CBB6C: - ldr r0, _080CBB90 @ =gUnknown_20370D0 + ldr r0, _080CBB90 @ =gSpecialVar_Result strh r4, [r0] movs r0, 0x5 bl PlaySE @@ -2821,7 +2821,7 @@ _080CBB88: bl sub_80CBBAC b _080CBBA2 .align 2, 0 -_080CBB90: .4byte gUnknown_20370D0 +_080CBB90: .4byte gSpecialVar_Result _080CBB94: adds r0, r5, 0 bl sub_80CBD50 @@ -3123,7 +3123,7 @@ _080CBDC8: .4byte 0x00004031 thumb_func_start sub_80CBDCC sub_80CBDCC: @ 80CBDCC push {lr} - ldr r0, _080CBDE4 @ =gUnknown_20370C0 + ldr r0, _080CBDE4 @ =gSpecialVar_0x8004 ldrh r0, [r0] bl SpeciesToNationalPokedexNum lsls r0, 16 @@ -3133,7 +3133,7 @@ sub_80CBDCC: @ 80CBDCC pop {r0} bx r0 .align 2, 0 -_080CBDE4: .4byte gUnknown_20370C0 +_080CBDE4: .4byte gSpecialVar_0x8004 thumb_func_end sub_80CBDCC thumb_func_start sub_80CBDE8 @@ -3371,7 +3371,7 @@ _080CBF9A: thumb_func_start sub_80CBFA0 sub_80CBFA0: @ 80CBFA0 push {r4,lr} - ldr r0, _080CBFC8 @ =gUnknown_20370C0 + ldr r0, _080CBFC8 @ =gSpecialVar_0x8004 ldrh r1, [r0] movs r0, 0x64 muls r0, r1 @@ -3389,7 +3389,7 @@ sub_80CBFA0: @ 80CBFA0 movs r0, 0x1 b _080CBFDA .align 2, 0 -_080CBFC8: .4byte gUnknown_20370C0 +_080CBFC8: .4byte gSpecialVar_0x8004 _080CBFCC: .4byte gPlayerParty _080CBFD0: .4byte gStringVar1 _080CBFD4: .4byte gStringVar3 @@ -3486,7 +3486,7 @@ ChangePokemonNickname: @ 80CC088 mov r4, r8 push {r4-r6} sub sp, 0x8 - ldr r0, _080CC130 @ =gUnknown_20370C0 + ldr r0, _080CC130 @ =gSpecialVar_0x8004 mov r9, r0 ldrh r0, [r0] movs r1, 0x64 @@ -3558,7 +3558,7 @@ ChangePokemonNickname: @ 80CC088 pop {r0} bx r0 .align 2, 0 -_080CC130: .4byte gUnknown_20370C0 +_080CC130: .4byte gSpecialVar_0x8004 _080CC134: .4byte gPlayerParty _080CC138: .4byte gStringVar3 _080CC13C: .4byte gStringVar2 @@ -3568,7 +3568,7 @@ _080CC140: .4byte ChangePokemonNickname_CB thumb_func_start ChangePokemonNickname_CB ChangePokemonNickname_CB: @ 80CC144 push {lr} - ldr r0, _080CC164 @ =gUnknown_20370C0 + ldr r0, _080CC164 @ =gSpecialVar_0x8004 ldrh r1, [r0] movs r0, 0x64 muls r0, r1 @@ -3581,7 +3581,7 @@ ChangePokemonNickname_CB: @ 80CC144 pop {r0} bx r0 .align 2, 0 -_080CC164: .4byte gUnknown_20370C0 +_080CC164: .4byte gSpecialVar_0x8004 _080CC168: .4byte gPlayerParty _080CC16C: .4byte gStringVar2 thumb_func_end ChangePokemonNickname_CB @@ -3589,7 +3589,7 @@ _080CC16C: .4byte gStringVar2 thumb_func_start TV_CopyNicknameToStringVar1AndEnsureTerminated TV_CopyNicknameToStringVar1AndEnsureTerminated: @ 80CC170 push {r4,lr} - ldr r0, _080CC194 @ =gUnknown_20370C0 + ldr r0, _080CC194 @ =gSpecialVar_0x8004 ldrh r1, [r0] movs r0, 0x64 muls r0, r1 @@ -3605,7 +3605,7 @@ TV_CopyNicknameToStringVar1AndEnsureTerminated: @ 80CC170 pop {r0} bx r0 .align 2, 0 -_080CC194: .4byte gUnknown_20370C0 +_080CC194: .4byte gSpecialVar_0x8004 _080CC198: .4byte gPlayerParty _080CC19C: .4byte gStringVar1 thumb_func_end TV_CopyNicknameToStringVar1AndEnsureTerminated @@ -3615,7 +3615,7 @@ TV_CheckMonOTIDEqualsPlayerID: @ 80CC1A0 push {r4,lr} bl sub_80CC1E4 adds r4, r0, 0 - ldr r0, _080CC1C8 @ =gUnknown_20370C0 + ldr r0, _080CC1C8 @ =gSpecialVar_0x8004 ldrh r1, [r0] movs r0, 0x64 muls r0, r1 @@ -3626,15 +3626,15 @@ TV_CheckMonOTIDEqualsPlayerID: @ 80CC1A0 bl GetMonData cmp r4, r0 bne _080CC1D4 - ldr r1, _080CC1D0 @ =gUnknown_20370D0 + ldr r1, _080CC1D0 @ =gSpecialVar_Result movs r0, 0 b _080CC1D8 .align 2, 0 -_080CC1C8: .4byte gUnknown_20370C0 +_080CC1C8: .4byte gSpecialVar_0x8004 _080CC1CC: .4byte gPlayerParty -_080CC1D0: .4byte gUnknown_20370D0 +_080CC1D0: .4byte gSpecialVar_Result _080CC1D4: - ldr r1, _080CC1E0 @ =gUnknown_20370D0 + ldr r1, _080CC1E0 @ =gSpecialVar_Result movs r0, 0x1 _080CC1D8: strh r0, [r1] @@ -3642,7 +3642,7 @@ _080CC1D8: pop {r0} bx r0 .align 2, 0 -_080CC1E0: .4byte gUnknown_20370D0 +_080CC1E0: .4byte gSpecialVar_Result thumb_func_end TV_CheckMonOTIDEqualsPlayerID thumb_func_start sub_80CC1E4 @@ -3863,7 +3863,7 @@ _080CC318: adds r0, r4, 0 bl VarSet ldr r0, _080CC3C4 @ =0x00004042 - ldr r1, _080CC3C8 @ =gUnknown_20370C0 + ldr r1, _080CC3C8 @ =gSpecialVar_0x8004 ldrh r1, [r1] bl VarSet add sp, 0x24 @@ -3874,21 +3874,21 @@ _080CC318: _080CC3BC: .4byte gPlayerParty _080CC3C0: .4byte 0x00004043 _080CC3C4: .4byte 0x00004042 -_080CC3C8: .4byte gUnknown_20370C0 +_080CC3C8: .4byte gSpecialVar_0x8004 thumb_func_end sub_80CC2BC thumb_func_start sub_80CC3CC sub_80CC3CC: @ 80CC3CC push {r4-r6,lr} movs r5, 0 - ldr r4, _080CC3F8 @ =gUnknown_20370C0 + ldr r4, _080CC3F8 @ =gSpecialVar_0x8004 movs r0, 0xA bl GetGameStat strh r0, [r4] movs r0, 0xD bl GetGameStat adds r6, r0, 0 - ldr r4, _080CC3FC @ =gUnknown_20370C4 + ldr r4, _080CC3FC @ =gSpecialVar_0x8006 movs r0, 0x17 bl GetGameStat strh r0, [r4] @@ -3899,8 +3899,8 @@ sub_80CC3CC: @ 80CC3CC strh r1, [r0] b _080CC40C .align 2, 0 -_080CC3F8: .4byte gUnknown_20370C0 -_080CC3FC: .4byte gUnknown_20370C4 +_080CC3F8: .4byte gSpecialVar_0x8004 +_080CC3FC: .4byte gSpecialVar_0x8006 _080CC400: .4byte 0x0000ffff _080CC404: .4byte gSpecialVar_0x8005 _080CC408: @@ -3908,7 +3908,7 @@ _080CC408: strh r6, [r0] _080CC40C: adds r1, r0, 0 - ldr r0, _080CC444 @ =gUnknown_20370C0 + ldr r0, _080CC444 @ =gSpecialVar_0x8004 ldrh r0, [r0] cmp r0, 0 beq _080CC41A @@ -3923,7 +3923,7 @@ _080CC41A: lsls r0, r5, 16 lsrs r5, r0, 16 _080CC428: - ldr r0, _080CC448 @ =gUnknown_20370C4 + ldr r0, _080CC448 @ =gSpecialVar_0x8006 ldrh r0, [r0] cmp r0, 0 beq _080CC438 @@ -3938,8 +3938,8 @@ _080CC438: bx r1 .align 2, 0 _080CC440: .4byte gSpecialVar_0x8005 -_080CC444: .4byte gUnknown_20370C0 -_080CC448: .4byte gUnknown_20370C4 +_080CC444: .4byte gSpecialVar_0x8004 +_080CC448: .4byte gSpecialVar_0x8006 thumb_func_end sub_80CC3CC thumb_func_start sub_80CC44C @@ -3999,7 +3999,7 @@ _080CC49C: movs r1, 0x41 movs r2, 0 bl GetMonData - ldr r1, _080CC4BC @ =gUnknown_20370C0 + ldr r1, _080CC4BC @ =gSpecialVar_0x8004 ldrh r1, [r1] cmp r0, r1 bne _080CC4C0 @@ -4007,7 +4007,7 @@ _080CC49C: b _080CC4CC .align 2, 0 _080CC4B8: .4byte gPlayerParty -_080CC4BC: .4byte gUnknown_20370C0 +_080CC4BC: .4byte gSpecialVar_0x8004 _080CC4C0: adds r0, r4, 0x1 lsls r0, 24 @@ -4331,7 +4331,7 @@ _080CC72C: .4byte 0x0000404d thumb_func_start sub_80CC730 sub_80CC730: @ 80CC730 push {lr} - ldr r0, _080CC744 @ =gUnknown_20370D0 + ldr r0, _080CC744 @ =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0x4 bhi _080CC77C @@ -4341,7 +4341,7 @@ sub_80CC730: @ 80CC730 ldr r0, [r0] mov pc, r0 .align 2, 0 -_080CC744: .4byte gUnknown_20370D0 +_080CC744: .4byte gSpecialVar_Result _080CC748: .4byte _080CC74C .align 2, 0 _080CC74C: @@ -4548,7 +4548,7 @@ _080CC8C4: thumb_func_start sub_80CC8CC sub_80CC8CC: @ 80CC8CC push {r4,lr} - ldr r1, _080CC8E4 @ =gUnknown_20370C0 + ldr r1, _080CC8E4 @ =gSpecialVar_0x8004 ldr r2, _080CC8E8 @ =0xfffffedf adds r0, r2, 0 ldrh r2, [r1] @@ -4560,7 +4560,7 @@ sub_80CC8CC: @ 80CC8CC movs r0, 0 b _080CC908 .align 2, 0 -_080CC8E4: .4byte gUnknown_20370C0 +_080CC8E4: .4byte gSpecialVar_0x8004 _080CC8E8: .4byte 0xfffffedf _080CC8EC: ldr r4, _080CC910 @ =gStringVar1 @@ -4612,7 +4612,7 @@ _080CC944: .4byte 0x000001f3 thumb_func_start sub_80CC948 sub_80CC948: @ 80CC948 push {lr} - ldr r0, _080CC968 @ =gUnknown_20370C0 + ldr r0, _080CC968 @ =gSpecialVar_0x8004 ldrh r1, [r0] movs r0, 0x64 muls r0, r1 @@ -4626,7 +4626,7 @@ sub_80CC948: @ 80CC948 pop {r0} bx r0 .align 2, 0 -_080CC968: .4byte gUnknown_20370C0 +_080CC968: .4byte gSpecialVar_0x8004 _080CC96C: .4byte gPlayerParty _080CC970: .4byte 0x00004025 thumb_func_end sub_80CC948 @@ -4904,7 +4904,7 @@ sub_80CCB94: @ 80CCB94 lsls r0, 24 lsrs r0, 24 mov r8, r0 - ldr r0, _080CCBC0 @ =gUnknown_20370C6 + ldr r0, _080CCBC0 @ =gSpecialVar_0x8007 mov r1, r8 strh r1, [r0] movs r4, 0 @@ -4915,7 +4915,7 @@ sub_80CCB94: @ 80CCB94 mov r9, r0 b _080CCBCE .align 2, 0 -_080CCBC0: .4byte gUnknown_20370C6 +_080CCBC0: .4byte gSpecialVar_0x8007 _080CCBC4: .4byte gPlayerParty _080CCBC8: adds r0, r4, 0x1 @@ -5045,7 +5045,7 @@ _080CCCCC: lsls r0, 24 lsrs r6, r0, 24 _080CCCDE: - ldr r0, _080CCCF4 @ =gUnknown_20370C4 + ldr r0, _080CCCF4 @ =gSpecialVar_0x8006 strh r6, [r0] movs r0, 0x1 _080CCCE4: @@ -5057,7 +5057,7 @@ _080CCCE4: bx r1 .align 2, 0 _080CCCF0: .4byte gPlayerParty -_080CCCF4: .4byte gUnknown_20370C4 +_080CCCF4: .4byte gSpecialVar_0x8006 thumb_func_end sub_80CCB94 thumb_func_start sub_80CCCF8 @@ -5216,12 +5216,12 @@ task_deoxys_sound: @ 80CCE10 lsrs r0, 24 cmp r0, 0x1 bne _080CCE38 - ldr r1, _080CCE34 @ =gUnknown_20370D0 + ldr r1, _080CCE34 @ =gSpecialVar_Result movs r0, 0x3 b _080CCE9E .align 2, 0 _080CCE30: .4byte 0x00000848 -_080CCE34: .4byte gUnknown_20370D0 +_080CCE34: .4byte gSpecialVar_Result _080CCE38: ldr r0, _080CCE80 @ =0x0000403e mov r8, r0 @@ -5249,7 +5249,7 @@ _080CCE38: mov r0, r8 movs r1, 0 bl VarSet - ldr r1, _080CCE8C @ =gUnknown_20370D0 + ldr r1, _080CCE8C @ =gSpecialVar_Result movs r0, 0 strh r0, [r1] b _080CCEA4 @@ -5257,13 +5257,13 @@ _080CCE38: _080CCE80: .4byte 0x0000403e _080CCE84: .4byte 0x00004026 _080CCE88: .4byte gUnknown_83F637C -_080CCE8C: .4byte gUnknown_20370D0 +_080CCE8C: .4byte gSpecialVar_Result _080CCE90: cmp r5, 0xA bne _080CCEB4 ldr r0, _080CCEAC @ =0x00000848 bl FlagSet - ldr r1, _080CCEB0 @ =gUnknown_20370D0 + ldr r1, _080CCEB0 @ =gSpecialVar_Result movs r0, 0x2 _080CCE9E: strh r0, [r1] @@ -5274,7 +5274,7 @@ _080CCEA4: b _080CCED6 .align 2, 0 _080CCEAC: .4byte 0x00000848 -_080CCEB0: .4byte gUnknown_20370D0 +_080CCEB0: .4byte gSpecialVar_Result _080CCEB4: adds r0, r5, 0x1 lsls r0, 16 @@ -5285,7 +5285,7 @@ _080CCEB4: ldr r0, _080CCEE0 @ =0x0000403e adds r1, r5, 0 bl VarSet - ldr r1, _080CCEE4 @ =gUnknown_20370D0 + ldr r1, _080CCEE4 @ =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] adds r0, r7, 0 @@ -5298,7 +5298,7 @@ _080CCED6: bx r0 .align 2, 0 _080CCEE0: .4byte 0x0000403e -_080CCEE4: .4byte gUnknown_20370D0 +_080CCEE4: .4byte gSpecialVar_Result thumb_func_end task_deoxys_sound thumb_func_start sub_80CCEE8 @@ -5528,12 +5528,12 @@ sub_80CD098: @ 80CD098 ldrb r0, [r0] cmp r0, 0x2 beq _080CD0E8 - ldr r0, _080CD0D0 @ =gUnknown_20370C0 + ldr r0, _080CD0D0 @ =gSpecialVar_0x8004 ldrh r0, [r0] adds r0, 0x1B lsls r0, 16 lsrs r1, r0, 16 - ldr r0, _080CD0D4 @ =gUnknown_20370C4 + ldr r0, _080CD0D4 @ =gSpecialVar_0x8006 ldrh r3, [r0] cmp r3, 0 bne _080CD0E0 @@ -5548,8 +5548,8 @@ sub_80CD098: @ 80CD098 b _080CD0E8 .align 2, 0 _080CD0CC: .4byte gUnknown_203ADFA -_080CD0D0: .4byte gUnknown_20370C0 -_080CD0D4: .4byte gUnknown_20370C4 +_080CD0D0: .4byte gSpecialVar_0x8004 +_080CD0D4: .4byte gSpecialVar_0x8006 _080CD0D8: .4byte gSpecialVar_0x8005 _080CD0DC: .4byte gUnknown_2039A1B _080CD0E0: @@ -5583,7 +5583,7 @@ _080CD104: movs r1, 0x41 movs r2, 0 bl GetMonData - ldr r1, _080CD13C @ =gUnknown_20370C0 + ldr r1, _080CD13C @ =gSpecialVar_0x8004 ldrh r1, [r1] cmp r0, r1 bne _080CD140 @@ -5599,7 +5599,7 @@ _080CD104: b _080CD14C .align 2, 0 _080CD138: .4byte gPlayerParty -_080CD13C: .4byte gUnknown_20370C0 +_080CD13C: .4byte gSpecialVar_0x8004 _080CD140: adds r0, r6, 0x1 lsls r0, 24 @@ -5708,7 +5708,7 @@ sub_80CD1CC: @ 80CD1CC _080CD200: movs r0, 0 ldrsh r1, [r4, r0] - ldr r0, _080CD224 @ =gUnknown_20370C0 + ldr r0, _080CD224 @ =gSpecialVar_0x8004 ldrh r0, [r0] subs r0, 0x1 cmp r1, r0 @@ -5722,7 +5722,7 @@ _080CD214: .align 2, 0 _080CD21C: .4byte gTasks+0x8 _080CD220: .4byte gSpecialVar_0x8005 -_080CD224: .4byte gUnknown_20370C0 +_080CD224: .4byte gSpecialVar_0x8004 thumb_func_end sub_80CD1CC .align 2, 0 @ Don't pad with nop. diff --git a/asm/fldeff_strength.s b/asm/fldeff_strength.s index 0c70bdf36..778f2c916 100644 --- a/asm/fldeff_strength.s +++ b/asm/fldeff_strength.s @@ -23,7 +23,7 @@ _080D0808: movs r0, 0 b _080D0826 _080D080C: - ldr r4, _080D082C @ =gUnknown_20370D0 + ldr r4, _080D082C @ =gSpecialVar_Result bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 @@ -40,7 +40,7 @@ _080D0826: pop {r1} bx r1 .align 2, 0 -_080D082C: .4byte gUnknown_20370D0 +_080D082C: .4byte gSpecialVar_Result _080D0830: .4byte gUnknown_3005024 _080D0834: .4byte hm_add_c3_launch_phase_2 _080D0838: .4byte gUnknown_203B0C4 diff --git a/asm/heal_location.s b/asm/heal_location.s index 33732a934..34eb1461b 100644 --- a/asm/heal_location.s +++ b/asm/heal_location.s @@ -112,7 +112,7 @@ sub_80BFCD0: @ 80BFCD0 movs r1, 0 bl VarSet _080BFD0A: - ldr r0, _080BFD34 @ =gUnknown_20370D2 + ldr r0, _080BFD34 @ =gSpecialVar_LastTalked strh r5, [r0] movs r0, 0x4 strh r0, [r4, 0x4] @@ -130,7 +130,7 @@ _080BFD24: .4byte 0x00004082 _080BFD28: .4byte gSaveBlock1Ptr _080BFD2C: .4byte 0x00003d34 _080BFD30: .4byte 0x00003d42 -_080BFD34: .4byte gUnknown_20370D2 +_080BFD34: .4byte gSpecialVar_LastTalked _080BFD38: ldr r0, _080BFD7C @ =gSaveBlock1Ptr ldr r1, [r0] @@ -239,7 +239,7 @@ _080BFDFA: thumb_func_start sub_80BFE00 sub_80BFE00: @ 80BFE00 - ldr r2, _080BFE10 @ =gUnknown_20370D2 + ldr r2, _080BFE10 @ =gSpecialVar_LastTalked ldr r1, _080BFE14 @ =gUnknown_83EECE8 subs r0, 0x1 adds r0, r1 @@ -247,7 +247,7 @@ sub_80BFE00: @ 80BFE00 strh r0, [r2] bx lr .align 2, 0 -_080BFE10: .4byte gUnknown_20370D2 +_080BFE10: .4byte gSpecialVar_LastTalked _080BFE14: .4byte gUnknown_83EECE8 thumb_func_end sub_80BFE00 diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s index b95ad8666..d254207a4 100644 --- a/asm/help_system_812B1E0.s +++ b/asm/help_system_812B1E0.s @@ -49,13 +49,13 @@ _0812B21C: .4byte gUnknown_203B0EC thumb_func_start sub_812B220 sub_812B220: @ 812B220 ldr r0, _0812B22C @ =gUnknown_203B0EC - ldr r1, _0812B230 @ =gUnknown_20370C0 + ldr r1, _0812B230 @ =gSpecialVar_0x8004 ldrh r1, [r1] strh r1, [r0] bx lr .align 2, 0 _0812B22C: .4byte gUnknown_203B0EC -_0812B230: .4byte gUnknown_20370C0 +_0812B230: .4byte gSpecialVar_0x8004 thumb_func_end sub_812B220 thumb_func_start sub_812B234 diff --git a/asm/item.s b/asm/item.s index 08df51656..aa64e54fa 100644 --- a/asm/item.s +++ b/asm/item.s @@ -326,13 +326,13 @@ sub_8099FAC: @ 8099FAC .align 2, 0 _08099FC0: .4byte 0x0000016d _08099FC4: - ldr r1, _08099FD0 @ =gUnknown_20370D0 + ldr r1, _08099FD0 @ =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] movs r0, 0x1 b _08099FF6 .align 2, 0 -_08099FD0: .4byte gUnknown_20370D0 +_08099FD0: .4byte gSpecialVar_Result _08099FD4: movs r4, 0x85 _08099FD6: @@ -349,7 +349,7 @@ _08099FD6: cmp r4, 0xAF bls _08099FD6 _08099FF0: - ldr r0, _08099FFC @ =gUnknown_20370D0 + ldr r0, _08099FFC @ =gSpecialVar_Result strh r1, [r0] movs r0, 0 _08099FF6: @@ -357,7 +357,7 @@ _08099FF6: pop {r1} bx r1 .align 2, 0 -_08099FFC: .4byte gUnknown_20370D0 +_08099FFC: .4byte gSpecialVar_Result thumb_func_end sub_8099FAC thumb_func_start sub_809A000 diff --git a/asm/item_menu.s b/asm/item_menu.s index 8650e912d..58b74acf3 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -94,7 +94,7 @@ _08107E5A: strb r0, [r2, 0x5] movs r1, 0 ldr r4, _08107EA4 @ =gTextFlags - ldr r5, _08107EA8 @ =gUnknown_203AD30 + ldr r5, _08107EA8 @ =gSpecialVar_ItemId ldr r6, _08107EAC @ =sub_8107F10 ldr r3, _08107EB0 @ =gUnknown_203AD10 movs r2, 0 @@ -132,7 +132,7 @@ _08107E9A: bx r0 .align 2, 0 _08107EA4: .4byte gTextFlags -_08107EA8: .4byte gUnknown_203AD30 +_08107EA8: .4byte gSpecialVar_ItemId _08107EAC: .4byte sub_8107F10 _08107EB0: .4byte gUnknown_203AD10 _08107EB4: .4byte gUnknown_203ACFC @@ -2367,7 +2367,7 @@ _08109014: .4byte gUnknown_203ACFC _08109018: movs r0, 0x5 bl PlaySE - ldr r1, _08109038 @ =gUnknown_203AD30 + ldr r1, _08109038 @ =gSpecialVar_ItemId movs r0, 0 strh r0, [r1] bl sub_8108CB4 @@ -2379,7 +2379,7 @@ _08109018: ldr r1, _08109040 @ =sub_8108B50 b _081090C4 .align 2, 0 -_08109038: .4byte gUnknown_203AD30 +_08109038: .4byte gSpecialVar_ItemId _0810903C: .4byte gTasks _08109040: .4byte sub_8108B50 _08109044: @@ -2393,7 +2393,7 @@ _08109044: ldrb r0, [r0] cmp r4, r0 bne _08109084 - ldr r1, _08109078 @ =gUnknown_203AD30 + ldr r1, _08109078 @ =gSpecialVar_ItemId movs r0, 0 strh r0, [r1] bl sub_8108CB4 @@ -2406,7 +2406,7 @@ _08109044: b _081090C4 .align 2, 0 _08109074: .4byte gUnknown_203AD10 -_08109078: .4byte gUnknown_203AD30 +_08109078: .4byte gSpecialVar_ItemId _0810907C: .4byte gTasks _08109080: .4byte sub_8108B50 _08109084: @@ -2430,7 +2430,7 @@ _08109084: lsrs r0, 24 adds r1, r4, 0 bl sub_809A798 - ldr r1, _081090D0 @ =gUnknown_203AD30 + ldr r1, _081090D0 @ =gSpecialVar_ItemId strh r0, [r1] ldr r1, _081090D4 @ =gTasks lsls r0, r6, 2 @@ -2446,7 +2446,7 @@ _081090C6: pop {r0} bx r0 .align 2, 0 -_081090D0: .4byte gUnknown_203AD30 +_081090D0: .4byte gSpecialVar_ItemId _081090D4: .4byte gTasks _081090D8: .4byte sub_81090DC thumb_func_end sub_8108F0C @@ -3404,7 +3404,7 @@ _081098AC: beq _08109924 b _0810993C _081098B6: - ldr r2, _081098D4 @ =gUnknown_203AD30 + ldr r2, _081098D4 @ =gSpecialVar_ItemId ldrh r1, [r2] ldr r0, _081098D8 @ =0x0000016d cmp r1, r0 @@ -3420,7 +3420,7 @@ _081098B6: movs r0, 0x2 b _08109AD0 .align 2, 0 -_081098D4: .4byte gUnknown_203AD30 +_081098D4: .4byte gSpecialVar_ItemId _081098D8: .4byte 0x0000016d _081098DC: .4byte gUnknown_203AD20 _081098E0: .4byte gUnknown_203AD24 @@ -3473,7 +3473,7 @@ _0810993C: cmp r0, 0x1 bne _081099C4 _08109950: - ldr r1, _08109970 @ =gUnknown_203AD30 + ldr r1, _08109970 @ =gSpecialVar_ItemId ldr r2, _08109974 @ =0xfffffe94 adds r0, r2, 0 ldrh r1, [r1] @@ -3489,7 +3489,7 @@ _08109950: movs r0, 0x2 b _08109AD0 .align 2, 0 -_08109970: .4byte gUnknown_203AD30 +_08109970: .4byte gSpecialVar_ItemId _08109974: .4byte 0xfffffe94 _08109978: .4byte gUnknown_203AD24 _0810997C: .4byte gUnknown_8452F2E @@ -3549,7 +3549,7 @@ _081099EC: ldr r4, _08109A0C @ =gUnknown_203AD28 movs r0, 0x4 strb r0, [r4] - ldr r0, _08109A10 @ =gUnknown_203AD30 + ldr r0, _08109A10 @ =gSpecialVar_ItemId ldrh r0, [r0] bl itemid_is_mail lsls r0, 24 @@ -3563,7 +3563,7 @@ _081099EC: b _08109AD4 .align 2, 0 _08109A0C: .4byte gUnknown_203AD28 -_08109A10: .4byte gUnknown_203AD30 +_08109A10: .4byte gSpecialVar_ItemId _08109A14: .4byte gUnknown_203AD24 _08109A18: .4byte gUnknown_8452F24 _08109A1C: @@ -3591,7 +3591,7 @@ _08109A34: ldr r0, [r0] ldr r1, _08109A6C @ =0x00000296 adds r0, r1 - ldr r1, _08109A70 @ =gUnknown_203AD30 + ldr r1, _08109A70 @ =gSpecialVar_ItemId ldrh r0, [r0] adds r7, r3, 0 ldrh r3, [r1] @@ -3605,7 +3605,7 @@ _08109A60: .4byte gUnknown_203AD20 _08109A64: .4byte gUnknown_203AD28 _08109A68: .4byte gSaveBlock1Ptr _08109A6C: .4byte 0x00000296 -_08109A70: .4byte gUnknown_203AD30 +_08109A70: .4byte gSpecialVar_ItemId _08109A74: movs r0, 0x2 _08109A76: @@ -3722,7 +3722,7 @@ _08109AD4: adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _08109BA8 @ =gUnknown_203AD30 + ldr r0, _08109BA8 @ =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, _08109BAC @ =gStringVar1 bl sub_8099E90 @@ -3751,7 +3751,7 @@ _08109B98: .4byte gUnknown_203AD24 _08109B9C: .4byte gUnknown_8452F18 _08109BA0: .4byte gUnknown_203AD28 _08109BA4: .4byte gUnknown_8452EB8 -_08109BA8: .4byte gUnknown_203AD30 +_08109BA8: .4byte gSpecialVar_ItemId _08109BAC: .4byte gStringVar1 _08109BB0: .4byte gStringVar4 _08109BB4: .4byte gUnknown_84162FF @@ -3838,7 +3838,7 @@ sub_8109C50: @ 8109C50 push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r5, _08109CA0 @ =gUnknown_203AD30 + ldr r5, _08109CA0 @ =gSpecialVar_ItemId ldrh r0, [r5] bl ItemId_GetFieldFunc cmp r0, 0 @@ -3867,9 +3867,9 @@ sub_8109C50: @ 8109C50 bl sub_810A170 b _08109CB4 .align 2, 0 -_08109CA0: .4byte gUnknown_203AD30 +_08109CA0: .4byte gSpecialVar_ItemId _08109CA4: - ldr r0, _08109CBC @ =gUnknown_203AD30 + ldr r0, _08109CBC @ =gSpecialVar_ItemId ldrh r0, [r0] bl ItemId_GetFieldFunc adds r1, r0, 0 @@ -3880,7 +3880,7 @@ _08109CB4: pop {r0} bx r0 .align 2, 0 -_08109CBC: .4byte gUnknown_203AD30 +_08109CBC: .4byte gSpecialVar_ItemId thumb_func_end sub_8109C50 thumb_func_start sub_8109CC0 @@ -4197,7 +4197,7 @@ sub_8109F44: @ 8109F44 _08109F6E: movs r0, 0x5 bl PlaySE - ldr r0, _08109FF4 @ =gUnknown_203AD30 + ldr r0, _08109FF4 @ =gSpecialVar_ItemId ldrh r0, [r0] ldrh r1, [r7, 0x10] bl sub_809A1D8 @@ -4249,7 +4249,7 @@ _08109FE0: .align 2, 0 _08109FEC: .4byte gTasks+0x8 _08109FF0: .4byte gMain -_08109FF4: .4byte gUnknown_203AD30 +_08109FF4: .4byte gSpecialVar_ItemId _08109FF8: .4byte gUnknown_203ACFC _08109FFC: .4byte gUnknown_3005E70 thumb_func_end sub_8109F44 @@ -4444,7 +4444,7 @@ sub_810A18C: @ 810A18C adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _0810A1BC @ =gUnknown_203AD30 + ldr r0, _0810A1BC @ =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, _0810A1C0 @ =gStringVar1 bl sub_8099E90 @@ -4461,7 +4461,7 @@ sub_810A18C: @ 810A18C pop {r0} bx r0 .align 2, 0 -_0810A1BC: .4byte gUnknown_203AD30 +_0810A1BC: .4byte gSpecialVar_ItemId _0810A1C0: .4byte gStringVar1 _0810A1C4: .4byte gStringVar4 _0810A1C8: .4byte gUnknown_841635E @@ -4634,7 +4634,7 @@ sub_810A324: @ 810A324 push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r5, _0810A36C @ =gUnknown_203AD30 + ldr r5, _0810A36C @ =gSpecialVar_ItemId ldrh r0, [r5] bl ItemId_GetBattleFunc cmp r0, 0 @@ -4660,7 +4660,7 @@ _0810A364: pop {r0} bx r0 .align 2, 0 -_0810A36C: .4byte gUnknown_203AD30 +_0810A36C: .4byte gSpecialVar_ItemId thumb_func_end sub_810A324 thumb_func_start sub_810A370 @@ -4936,7 +4936,7 @@ sub_810A568: @ 810A568 lsls r0, 3 ldr r1, _0810A58C @ =gTasks+0x8 adds r4, r0, r1 - ldr r6, _0810A590 @ =gUnknown_203AD30 + ldr r6, _0810A590 @ =gSpecialVar_ItemId ldrh r1, [r6] movs r0, 0xB6 lsls r0, 1 @@ -4946,7 +4946,7 @@ sub_810A568: @ 810A568 b _0810A5A0 .align 2, 0 _0810A58C: .4byte gTasks+0x8 -_0810A590: .4byte gUnknown_203AD30 +_0810A590: .4byte gSpecialVar_ItemId _0810A594: .4byte sub_810A654 _0810A598: ldr r0, _0810A5AC @ =0x0000016d @@ -5394,7 +5394,7 @@ sub_810A940: @ 810A940 bl PutWindowTilemap movs r0, 0 bl schedule_bg_copy_tilemap_to_vram - ldr r0, _0810A9B8 @ =gUnknown_203AD30 + ldr r0, _0810A9B8 @ =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, _0810A9BC @ =gStringVar1 bl sub_8099E90 @@ -5432,7 +5432,7 @@ sub_810A940: @ 810A940 bx r0 .align 2, 0 _0810A9B4: .4byte gTasks+0x8 -_0810A9B8: .4byte gUnknown_203AD30 +_0810A9B8: .4byte gSpecialVar_ItemId _0810A9BC: .4byte gStringVar1 _0810A9C0: .4byte gStringVar3 _0810A9C4: .4byte gUnknown_203ACFC @@ -5460,7 +5460,7 @@ sub_810A9D4: @ 810A9D4 mov r8, r1 movs r0, 0xF8 bl PlaySE - ldr r5, _0810AADC @ =gUnknown_203AD30 + ldr r5, _0810AADC @ =gSpecialVar_ItemId ldrh r0, [r5] mov r2, r8 ldrh r1, [r2, 0x10] @@ -5559,7 +5559,7 @@ sub_810A9D4: @ 810A9D4 bx r0 .align 2, 0 _0810AAD8: .4byte gTasks+0x8 -_0810AADC: .4byte gUnknown_203AD30 +_0810AADC: .4byte gSpecialVar_ItemId _0810AAE0: .4byte gSaveBlock1Ptr _0810AAE4: .4byte gUnknown_203ACFC _0810AAE8: .4byte gUnknown_203AD10 @@ -5741,7 +5741,7 @@ sub_810AC40: @ 810AC40 mov r9, r0 mov r7, r8 add r7, r9 - ldr r5, _0810ACD0 @ =gUnknown_203AD30 + ldr r5, _0810ACD0 @ =gSpecialVar_ItemId ldrh r0, [r5] ldrh r1, [r7, 0x10] bl sub_809A3C8 @@ -5791,7 +5791,7 @@ sub_810AC40: @ 810AC40 b _0810ACF8 .align 2, 0 _0810ACCC: .4byte gTasks+0x8 -_0810ACD0: .4byte gUnknown_203AD30 +_0810ACD0: .4byte gSpecialVar_ItemId _0810ACD4: .4byte 0x0000ffff _0810ACD8: .4byte gStringVar1 _0810ACDC: .4byte gStringVar2 @@ -5848,7 +5848,7 @@ _0810AD1E: bl player_bitmagic bl sub_805C270 bl sub_805C780 - ldr r2, _0810AD88 @ =gUnknown_203AD30 + ldr r2, _0810AD88 @ =gSpecialVar_ItemId ldr r0, [r4] adds r0, r5 ldrh r1, [r0] @@ -5869,7 +5869,7 @@ _0810AD1E: .align 2, 0 _0810AD80: .4byte gSaveBlock1Ptr _0810AD84: .4byte 0x00000296 -_0810AD88: .4byte gUnknown_203AD30 +_0810AD88: .4byte gSpecialVar_ItemId _0810AD8C: .4byte gTasks _0810AD90: ldr r0, [r4] @@ -6187,14 +6187,14 @@ _0810AFF6: bl bag_menu_print_cursor_ movs r0, 0x1 bl sub_8109140 - ldr r1, _0810B018 @ =gUnknown_203AD30 + ldr r1, _0810B018 @ =gSpecialVar_ItemId movs r0, 0x4 strh r0, [r1] adds r0, r4, 0 bl sub_8109890 b _0810B064 .align 2, 0 -_0810B018: .4byte gUnknown_203AD30 +_0810B018: .4byte gSpecialVar_ItemId _0810B01C: movs r0, 0x5 bl PlaySE @@ -6493,7 +6493,7 @@ _0810B266: bl bag_menu_print_cursor_ movs r0, 0x1 bl sub_8109140 - ldr r1, _0810B28C @ =gUnknown_203AD30 + ldr r1, _0810B28C @ =gSpecialVar_ItemId movs r2, 0xB7 lsls r2, 1 adds r0, r2, 0 @@ -6502,7 +6502,7 @@ _0810B266: bl sub_8109890 b _0810B36C .align 2, 0 -_0810B28C: .4byte gUnknown_203AD30 +_0810B28C: .4byte gSpecialVar_ItemId _0810B290: movs r0, 0x5 bl PlaySE @@ -6514,7 +6514,7 @@ _0810B29E: bl PlaySE ldr r0, _0810B318 @ =gSaveBlock1Ptr ldr r0, [r0] - ldr r1, _0810B31C @ =gUnknown_203AD30 + ldr r1, _0810B31C @ =gSpecialVar_ItemId ldrh r1, [r1] ldr r2, _0810B320 @ =0x00000296 adds r0, r2 @@ -6562,7 +6562,7 @@ _0810B29E: b _0810B36C .align 2, 0 _0810B318: .4byte gSaveBlock1Ptr -_0810B31C: .4byte gUnknown_203AD30 +_0810B31C: .4byte gSpecialVar_ItemId _0810B320: .4byte 0x00000296 _0810B324: .4byte gUnknown_203ACFC _0810B328: .4byte gUnknown_3005E70 @@ -6713,14 +6713,14 @@ _0810B440: bl bag_menu_print_cursor_ movs r0, 0x1 bl sub_8109140 - ldr r1, _0810B464 @ =gUnknown_203AD30 + ldr r1, _0810B464 @ =gSpecialVar_ItemId movs r0, 0x4 strh r0, [r1] adds r0, r5, 0 bl sub_8109890 b _0810B4B0 .align 2, 0 -_0810B464: .4byte gUnknown_203AD30 +_0810B464: .4byte gSpecialVar_ItemId _0810B468: movs r0, 0x5 bl PlaySE @@ -6829,14 +6829,14 @@ _0810B53C: bl bag_menu_print_cursor_ movs r0, 0x1 bl sub_8109140 - ldr r1, _0810B560 @ =gUnknown_203AD30 + ldr r1, _0810B560 @ =gSpecialVar_ItemId movs r0, 0xE strh r0, [r1] adds r0, r4, 0 bl sub_8109890 b _0810B5C0 .align 2, 0 -_0810B560: .4byte gUnknown_203AD30 +_0810B560: .4byte gSpecialVar_ItemId _0810B564: movs r0, 0x5 bl PlaySE @@ -6962,7 +6962,7 @@ _0810B660: bl bag_menu_print_cursor_ movs r0, 0x1 bl sub_8109140 - ldr r1, _0810B688 @ =gUnknown_203AD30 + ldr r1, _0810B688 @ =gSpecialVar_ItemId movs r2, 0xB6 lsls r2, 1 adds r0, r2, 0 @@ -6971,7 +6971,7 @@ _0810B660: bl sub_8109890 b _0810B6E0 .align 2, 0 -_0810B688: .4byte gUnknown_203AD30 +_0810B688: .4byte gSpecialVar_ItemId _0810B68C: movs r0, 0x5 bl PlaySE diff --git a/asm/item_use.s b/asm/item_use.s index f653247d9..558e175f2 100644 --- a/asm/item_use.s +++ b/asm/item_use.s @@ -10,7 +10,7 @@ sub_80A0FBC: @ 80A0FBC push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r1, _080A0FD8 @ =gUnknown_203AD30 + ldr r1, _080A0FD8 @ =gSpecialVar_ItemId ldrh r0, [r1] cmp r0, 0xAF bne _080A0FE0 @@ -22,7 +22,7 @@ sub_80A0FBC: @ 80A0FBC ldrb r0, [r1, 0x10] b _080A0FE6 .align 2, 0 -_080A0FD8: .4byte gUnknown_203AD30 +_080A0FD8: .4byte gSpecialVar_ItemId _080A0FDC: .4byte gTasks _080A0FE0: ldrh r0, [r1] @@ -31,7 +31,7 @@ _080A0FE6: subs r0, 0x1 lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080A1010 @ =gUnknown_203AD30 + ldr r0, _080A1010 @ =gSpecialVar_ItemId ldrh r0, [r0] bl GetPocketByItemId lsls r0, 24 @@ -47,7 +47,7 @@ _080A0FE6: bl sub_813D808 b _080A1032 .align 2, 0 -_080A1010: .4byte gUnknown_203AD30 +_080A1010: .4byte gSpecialVar_ItemId _080A1014: .4byte gUnknown_83E2954 _080A1018: ldr r0, _080A1038 @ =gUnknown_83E2954 @@ -317,7 +317,7 @@ sub_80A1208: @ 80A1208 push {lr} sub sp, 0x24 mov r1, sp - ldr r0, _080A1224 @ =gUnknown_203AD30 + ldr r0, _080A1224 @ =gSpecialVar_ItemId ldrh r0, [r0] strh r0, [r1, 0x20] ldr r1, _080A1228 @ =UseFameCheckerFromMenu @@ -328,7 +328,7 @@ sub_80A1208: @ 80A1208 pop {r0} bx r0 .align 2, 0 -_080A1224: .4byte gUnknown_203AD30 +_080A1224: .4byte gSpecialVar_ItemId _080A1228: .4byte UseFameCheckerFromMenu thumb_func_end sub_80A1208 @@ -571,7 +571,7 @@ ItemUseOnFieldCB_Rod: @ 80A1410 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _080A1434 @ =gUnknown_203AD30 + ldr r0, _080A1434 @ =gSpecialVar_ItemId ldrh r0, [r0] bl ItemId_GetSecondaryId lsls r0, 24 @@ -583,7 +583,7 @@ ItemUseOnFieldCB_Rod: @ 80A1410 pop {r0} bx r0 .align 2, 0 -_080A1434: .4byte gUnknown_203AD30 +_080A1434: .4byte gSpecialVar_ItemId thumb_func_end ItemUseOnFieldCB_Rod thumb_func_start ItemUseOutOfBattle_Itemfinder @@ -625,7 +625,7 @@ sub_80A1460: @ 80A1460 ldr r1, _080A14BC @ =gUnknown_8416537 adds r0, r4, 0 bl StringExpandPlaceholders - ldr r0, _080A14C0 @ =gUnknown_203AD30 + ldr r0, _080A14C0 @ =gSpecialVar_ItemId ldrh r2, [r0] ldr r3, _080A14C4 @ =0x0000ffff movs r0, 0x4 @@ -650,7 +650,7 @@ sub_80A1460: @ 80A1460 _080A14B4: .4byte gStringVar1 _080A14B8: .4byte gStringVar4 _080A14BC: .4byte gUnknown_8416537 -_080A14C0: .4byte gUnknown_203AD30 +_080A14C0: .4byte gSpecialVar_ItemId _080A14C4: .4byte 0x0000ffff _080A14C8: .4byte gTasks _080A14CC: .4byte sub_810A1F8 @@ -684,7 +684,7 @@ sub_80A14E8: @ 80A14E8 ldr r1, _080A1540 @ =gUnknown_8416644 adds r0, r4, 0 bl StringExpandPlaceholders - ldr r0, _080A1544 @ =gUnknown_203AD30 + ldr r0, _080A1544 @ =gSpecialVar_ItemId ldrh r2, [r0] ldr r3, _080A1548 @ =0x0000ffff movs r0, 0x4 @@ -709,7 +709,7 @@ sub_80A14E8: @ 80A14E8 _080A1538: .4byte gStringVar1 _080A153C: .4byte gStringVar4 _080A1540: .4byte gUnknown_8416644 -_080A1544: .4byte gUnknown_203AD30 +_080A1544: .4byte gSpecialVar_ItemId _080A1548: .4byte 0x0000ffff _080A154C: .4byte gTasks _080A1550: .4byte sub_810A1F8 @@ -760,7 +760,7 @@ _080A1598: bcc _080A1578 cmp r6, 0 beq _080A1600 - ldr r0, _080A15D4 @ =gUnknown_203AD30 + ldr r0, _080A15D4 @ =gSpecialVar_ItemId ldrh r2, [r0] ldr r3, _080A15D8 @ =0x0000ffff movs r0, 0x4 @@ -780,7 +780,7 @@ _080A1598: b _080A1616 .align 2, 0 _080A15D0: .4byte gPlayerParty -_080A15D4: .4byte gUnknown_203AD30 +_080A15D4: .4byte gSpecialVar_ItemId _080A15D8: .4byte 0x0000ffff _080A15DC: .4byte gTasks _080A15E0: .4byte gUnknown_8416690 @@ -1196,7 +1196,7 @@ sub_80A18EC: @ 80A18EC push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080A1920 @ =gUnknown_203AD30 + ldr r0, _080A1920 @ =gSpecialVar_ItemId ldrh r2, [r0] ldr r3, _080A1924 @ =0x0000ffff movs r0, 0x4 @@ -1217,7 +1217,7 @@ sub_80A18EC: @ 80A18EC bl sub_8108B50 b _080A1940 .align 2, 0 -_080A1920: .4byte gUnknown_203AD30 +_080A1920: .4byte gSpecialVar_ItemId _080A1924: .4byte 0x0000ffff _080A1928: .4byte gTasks _080A192C: .4byte sub_80A194C @@ -1323,7 +1323,7 @@ sub_80A19E8: @ 80A19E8 lsls r0, 24 cmp r0, 0 bne _080A1A2A - ldr r4, _080A1A30 @ =gUnknown_203AD30 + ldr r4, _080A1A30 @ =gSpecialVar_ItemId ldrh r2, [r4] ldr r3, _080A1A34 @ =0x0000ffff movs r0, 0x4 @@ -1348,7 +1348,7 @@ _080A1A2A: pop {r0} bx r0 .align 2, 0 -_080A1A30: .4byte gUnknown_203AD30 +_080A1A30: .4byte gSpecialVar_ItemId _080A1A34: .4byte 0x0000ffff _080A1A38: .4byte 0x00004020 _080A1A3C: .4byte gStringVar4 @@ -1358,7 +1358,7 @@ _080A1A40: .4byte sub_810A1F8 thumb_func_start sub_80A1A44 sub_80A1A44: @ 80A1A44 push {r4,lr} - ldr r4, _080A1A84 @ =gUnknown_203AD30 + ldr r4, _080A1A84 @ =gSpecialVar_ItemId ldrh r0, [r4] movs r1, 0x1 bl sub_809A1D8 @@ -1382,7 +1382,7 @@ sub_80A1A44: @ 80A1A44 pop {r0} bx r0 .align 2, 0 -_080A1A84: .4byte gUnknown_203AD30 +_080A1A84: .4byte gSpecialVar_ItemId _080A1A88: .4byte gStringVar2 _080A1A8C: .4byte gStringVar4 _080A1A90: .4byte gUnknown_841658C @@ -1394,7 +1394,7 @@ sub_80A1A94: @ 80A1A94 lsls r0, 24 lsrs r4, r0, 24 adds r6, r4, 0 - ldr r5, _080A1AD4 @ =gUnknown_203AD30 + ldr r5, _080A1AD4 @ =gSpecialVar_ItemId ldrh r2, [r5] ldr r3, _080A1AD8 @ =0x0000ffff movs r0, 0x4 @@ -1418,7 +1418,7 @@ sub_80A1A94: @ 80A1A94 adds r0, r4 b _080A1B1A .align 2, 0 -_080A1AD4: .4byte gUnknown_203AD30 +_080A1AD4: .4byte gSpecialVar_ItemId _080A1AD8: .4byte 0x0000ffff _080A1ADC: .4byte 0x00000803 _080A1AE0: .4byte 0x00000804 @@ -1527,7 +1527,7 @@ ItemUseOutOfBattle_EscapeRope: @ 80A1BAC lsrs r0, 24 cmp r0, 0x1 bne _080A1BEC - ldr r0, _080A1BDC @ =gUnknown_203AD30 + ldr r0, _080A1BDC @ =gSpecialVar_ItemId ldrh r2, [r0] ldr r0, _080A1BE0 @ =gMapHeader ldrb r3, [r0, 0x14] @@ -1541,7 +1541,7 @@ ItemUseOutOfBattle_EscapeRope: @ 80A1BAC bl sub_80A103C b _080A1BFE .align 2, 0 -_080A1BDC: .4byte gUnknown_203AD30 +_080A1BDC: .4byte gSpecialVar_ItemId _080A1BE0: .4byte gMapHeader _080A1BE4: .4byte gUnknown_2039998 _080A1BE8: .4byte sub_80A1C08 @@ -1687,7 +1687,7 @@ sub_80A1CF8: @ 80A1CF8 push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080A1D2C @ =gUnknown_203AD30 + ldr r0, _080A1D2C @ =gSpecialVar_ItemId ldrh r2, [r0] ldr r3, _080A1D30 @ =0x0000ffff movs r0, 0x4 @@ -1708,7 +1708,7 @@ sub_80A1CF8: @ 80A1CF8 bl sub_8108B50 b _080A1D4C .align 2, 0 -_080A1D2C: .4byte gUnknown_203AD30 +_080A1D2C: .4byte gSpecialVar_ItemId _080A1D30: .4byte 0x0000ffff _080A1D34: .4byte gTasks _080A1D38: .4byte sub_80A1D58 @@ -1841,7 +1841,7 @@ sub_80A1E1C: @ 80A1E1C lsls r0, 24 cmp r0, 0 bne _080A1E48 - ldr r0, _080A1E44 @ =gUnknown_203AD30 + ldr r0, _080A1E44 @ =gSpecialVar_ItemId ldrh r0, [r0] movs r1, 0x1 bl sub_809A1D8 @@ -1850,7 +1850,7 @@ sub_80A1E1C: @ 80A1E1C bl sub_8108B50 b _080A1E54 .align 2, 0 -_080A1E44: .4byte gUnknown_203AD30 +_080A1E44: .4byte gSpecialVar_ItemId _080A1E48: ldr r2, _080A1E5C @ =gUnknown_8416631 ldr r3, _080A1E60 @ =sub_810A1F8 @@ -1895,7 +1895,7 @@ sub_80A1E7C: @ 80A1E7C muls r0, r2 ldr r1, _080A1EC4 @ =gPlayerParty adds r0, r1 - ldr r1, _080A1EC8 @ =gUnknown_203AD30 + ldr r1, _080A1EC8 @ =gSpecialVar_ItemId ldrh r1, [r1] lsls r2, 24 lsrs r2, 24 @@ -1915,7 +1915,7 @@ sub_80A1E7C: @ 80A1E7C _080A1EBC: .4byte gBattlerPartyIndexes _080A1EC0: .4byte gBattlerInMenuId _080A1EC4: .4byte gPlayerParty -_080A1EC8: .4byte gUnknown_203AD30 +_080A1EC8: .4byte gSpecialVar_ItemId _080A1ECC: .4byte gUnknown_84169DC _080A1ED0: .4byte sub_810A1F8 _080A1ED4: @@ -1953,7 +1953,7 @@ sub_80A1EF4: @ 80A1EF4 asrs r0, 16 cmp r0, 0x7 ble _080A1F36 - ldr r0, _080A1F40 @ =gUnknown_203AD30 + ldr r0, _080A1F40 @ =gSpecialVar_ItemId ldrh r4, [r0] movs r0, 0x1 bl PlaySE @@ -1973,7 +1973,7 @@ _080A1F36: bx r0 .align 2, 0 _080A1F3C: .4byte gTasks+0x8 -_080A1F40: .4byte gUnknown_203AD30 +_080A1F40: .4byte gSpecialVar_ItemId _080A1F44: .4byte sub_80A1F48 thumb_func_end sub_80A1EF4 @@ -2009,7 +2009,7 @@ sub_80A1F78: @ 80A1F78 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080A1F9C @ =gUnknown_203AD30 + ldr r0, _080A1F9C @ =gSpecialVar_ItemId ldrh r0, [r0] bl GetPocketByItemId lsls r0, 24 @@ -2022,7 +2022,7 @@ sub_80A1F78: @ 80A1F78 bl sub_813D808 b _080A1FB0 .align 2, 0 -_080A1F9C: .4byte gUnknown_203AD30 +_080A1F9C: .4byte gSpecialVar_ItemId _080A1FA0: .4byte sub_81279E0 _080A1FA4: ldr r0, _080A1FB8 @ =sub_81279E0 @@ -2097,7 +2097,7 @@ sub_80A2010: @ 80A2010 cmp r0, 0 bne _080A2058 bl sub_80A1A44 - ldr r0, _080A2048 @ =gUnknown_203AD30 + ldr r0, _080A2048 @ =gSpecialVar_ItemId ldrh r2, [r0] ldr r3, _080A204C @ =0x0000ffff movs r0, 0x4 @@ -2111,7 +2111,7 @@ sub_80A2010: @ 80A2010 b _080A2060 .align 2, 0 _080A2044: .4byte gBattleTypeFlags -_080A2048: .4byte gUnknown_203AD30 +_080A2048: .4byte gSpecialVar_ItemId _080A204C: .4byte 0x0000ffff _080A2050: .4byte gStringVar4 _080A2054: .4byte sub_8108B50 @@ -2130,7 +2130,7 @@ ItemUseOutOfBattle_EnigmaBerry: @ 80A2068 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080A208C @ =gUnknown_203AD30 + ldr r0, _080A208C @ =gSpecialVar_ItemId ldrh r0, [r0] bl GetItemEffectType lsls r0, 24 @@ -2146,7 +2146,7 @@ _080A2082: ldr r0, [r0] mov pc, r0 .align 2, 0 -_080A208C: .4byte gUnknown_203AD30 +_080A208C: .4byte gSpecialVar_ItemId _080A2090: .4byte _080A2094 .align 2, 0 _080A2094: @@ -2259,7 +2259,7 @@ ItemUseInBattle_EnigmaBerry: @ 80A2194 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080A21B4 @ =gUnknown_203AD30 + ldr r0, _080A21B4 @ =gSpecialVar_ItemId ldrh r0, [r0] bl GetItemEffectType lsls r0, 24 @@ -2272,7 +2272,7 @@ ItemUseInBattle_EnigmaBerry: @ 80A2194 ldr r0, [r0] mov pc, r0 .align 2, 0 -_080A21B4: .4byte gUnknown_203AD30 +_080A21B4: .4byte gSpecialVar_ItemId _080A21B8: .4byte _080A21BC .align 2, 0 _080A21BC: @@ -2324,7 +2324,7 @@ sub_80A2238: @ 80A2238 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r0, _080A2268 @ =gUnknown_203AD30 + ldr r0, _080A2268 @ =gSpecialVar_ItemId ldrh r0, [r0] bl GetPocketByItemId lsls r0, 24 @@ -2342,7 +2342,7 @@ sub_80A2238: @ 80A2238 bl sub_813EB20 b _080A228A .align 2, 0 -_080A2268: .4byte gUnknown_203AD30 +_080A2268: .4byte gSpecialVar_ItemId _080A226C: .4byte gStringVar4 _080A2270: .4byte gUnknown_8416425 _080A2274: .4byte sub_813E2B8 diff --git a/asm/itemfinder.s b/asm/itemfinder.s index d25a0c486..bf3e78ebc 100644 --- a/asm/itemfinder.s +++ b/asm/itemfinder.s @@ -369,14 +369,14 @@ sub_813EF40: @ 813EF40 adds r0, r5, 0 movs r1, 0x1 bl sub_80CC44C - ldr r1, _0813EF90 @ =gUnknown_20370C0 + ldr r1, _0813EF90 @ =gSpecialVar_0x8004 strh r0, [r1] adds r0, r5, 0 movs r1, 0 bl sub_80CC44C ldr r1, _0813EF94 @ =gSpecialVar_0x8005 strh r0, [r1] - ldr r0, _0813EF98 @ =gUnknown_20370C4 + ldr r0, _0813EF98 @ =gSpecialVar_0x8006 movs r5, 0x1 strh r5, [r0] ldrh r1, [r1] @@ -394,9 +394,9 @@ sub_813EF40: @ 813EF40 bx r0 .align 2, 0 _0813EF8C: .4byte gTasks+0x8 -_0813EF90: .4byte gUnknown_20370C0 +_0813EF90: .4byte gSpecialVar_0x8004 _0813EF94: .4byte gSpecialVar_0x8005 -_0813EF98: .4byte gUnknown_20370C4 +_0813EF98: .4byte gSpecialVar_0x8006 thumb_func_end sub_813EF40 thumb_func_start sub_813EF9C diff --git a/asm/learn_move.s b/asm/learn_move.s index fec6928d3..5068e6d16 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -182,7 +182,7 @@ sub_80E478C: @ 80E478C str r0, [r4] bl sub_80E4F54 ldr r0, [r4] - ldr r1, _080E47F4 @ =gUnknown_20370C0 + ldr r1, _080E47F4 @ =gSpecialVar_0x8004 ldrh r1, [r1] movs r2, 0x98 lsls r2, 2 @@ -205,7 +205,7 @@ sub_80E478C: @ 80E478C .align 2, 0 _080E47EC: .4byte gUnknown_203AAB4 _080E47F0: .4byte 0x00000a6c -_080E47F4: .4byte gUnknown_20370C0 +_080E47F4: .4byte gSpecialVar_0x8004 _080E47F8: .4byte sub_80E4620 _080E47FC: .4byte sub_80E4870 thumb_func_end sub_80E478C @@ -505,7 +505,7 @@ _080E4A88: beq _080E4AE0 ldr r0, _080E4AD8 @ =gUnknown_841E405 bl sub_80E48C0 - ldr r1, _080E4ADC @ =gUnknown_20370C0 + ldr r1, _080E4ADC @ =gSpecialVar_0x8004 movs r0, 0x1 strh r0, [r1] ldr r1, [r4] @@ -517,7 +517,7 @@ _080E4ACC: .4byte gPlayerParty _080E4AD0: .4byte 0x00000a67 _080E4AD4: .4byte 0xffff0000 _080E4AD8: .4byte gUnknown_841E405 -_080E4ADC: .4byte gUnknown_20370C0 +_080E4ADC: .4byte gSpecialVar_0x8004 _080E4AE0: ldr r1, [r4] movs r0, 0x10 @@ -567,11 +567,11 @@ _080E4B3A: beq _080E4B4C b _080E4EDA _080E4B40: - ldr r0, _080E4B48 @ =gUnknown_20370C0 + ldr r0, _080E4B48 @ =gSpecialVar_0x8004 strh r1, [r0] b _080E4ED2 .align 2, 0 -_080E4B48: .4byte gUnknown_20370C0 +_080E4B48: .4byte gSpecialVar_0x8004 _080E4B4C: ldr r0, _080E4B54 @ =gUnknown_203AAB4 ldr r1, [r0] @@ -931,7 +931,7 @@ _080E4DB4: ldr r1, [r7] movs r0, 0x1E strb r0, [r1] - ldr r1, _080E4E6C @ =gUnknown_20370C0 + ldr r1, _080E4E6C @ =gSpecialVar_0x8004 movs r0, 0x1 strh r0, [r1] b _080E4EDA @@ -943,7 +943,7 @@ _080E4E5C: .4byte 0x00000261 _080E4E60: .4byte 0x00000a67 _080E4E64: .4byte gStringVar2 _080E4E68: .4byte gUnknown_841E493 -_080E4E6C: .4byte gUnknown_20370C0 +_080E4E6C: .4byte gSpecialVar_0x8004 _080E4E70: ldr r0, _080E4E88 @ =gUnknown_841E4C0 bl sub_80E48C0 diff --git a/asm/link.s b/asm/link.s index 63178e0dc..4b23d6b81 100644 --- a/asm/link.s +++ b/asm/link.s @@ -1373,12 +1373,12 @@ _08009F74: .4byte gUnknown_3000E08 _08009F78: ldr r0, _08009F84 @ =gUnknown_3003F50 strh r2, [r0] - ldr r1, _08009F88 @ =gUnknown_203AD30 + ldr r1, _08009F88 @ =gSpecialVar_ItemId ldrh r1, [r1] b _08009FD4 .align 2, 0 _08009F84: .4byte gUnknown_3003F50 -_08009F88: .4byte gUnknown_203AD30 +_08009F88: .4byte gSpecialVar_ItemId _08009F8C: ldr r0, _08009F98 @ =gUnknown_3003F50 strh r2, [r0] diff --git a/asm/link_rfu.s b/asm/link_rfu.s index c339bfdff..08f81f729 100644 --- a/asm/link_rfu.s +++ b/asm/link_rfu.s @@ -3504,7 +3504,7 @@ sub_80FEE24: @ 80FEE24 thumb_func_start sub_80FEE44 sub_80FEE44: @ 80FEE44 push {lr} - ldr r0, _080FEE58 @ =gUnknown_20370C0 + ldr r0, _080FEE58 @ =gSpecialVar_0x8004 ldrh r0, [r0] cmp r0, 0xE bhi _080FEF12 @@ -3514,7 +3514,7 @@ sub_80FEE44: @ 80FEE44 ldr r0, [r0] mov pc, r0 .align 2, 0 -_080FEE58: .4byte gUnknown_20370C0 +_080FEE58: .4byte gSpecialVar_0x8004 _080FEE5C: .4byte _080FEE60 .align 2, 0 _080FEE60: @@ -3585,7 +3585,7 @@ _080FEEF4: ldr r1, [r2] adds r1, r0 _080FEF08: - ldr r0, _080FEF24 @ =gUnknown_20370C0 + ldr r0, _080FEF24 @ =gSpecialVar_0x8004 ldrb r0, [r0] ldr r2, _080FEF28 @ =sub_80568C4 bl sub_80FEBAC @@ -3596,14 +3596,14 @@ _080FEF12: _080FEF18: .4byte gSaveBlock1Ptr _080FEF1C: .4byte gSpecialVar_0x8005 _080FEF20: .4byte 0x00002cd0 -_080FEF24: .4byte gUnknown_20370C0 +_080FEF24: .4byte gSpecialVar_0x8004 _080FEF28: .4byte sub_80568C4 thumb_func_end sub_80FEE44 thumb_func_start sub_80FEF2C sub_80FEF2C: @ 80FEF2C push {r4,lr} - ldr r4, _080FEF44 @ =gUnknown_20370C0 + ldr r4, _080FEF44 @ =gSpecialVar_0x8004 ldr r0, _080FEF48 @ =gUnknown_843F29C movs r1, 0x4 bl sub_80FFEDC @@ -3614,14 +3614,14 @@ sub_80FEF2C: @ 80FEF2C pop {r0} bx r0 .align 2, 0 -_080FEF44: .4byte gUnknown_20370C0 +_080FEF44: .4byte gSpecialVar_0x8004 _080FEF48: .4byte gUnknown_843F29C thumb_func_end sub_80FEF2C thumb_func_start sub_80FEF4C sub_80FEF4C: @ 80FEF4C push {r4,lr} - ldr r4, _080FEF64 @ =gUnknown_20370C0 + ldr r4, _080FEF64 @ =gSpecialVar_0x8004 ldr r0, _080FEF68 @ =gUnknown_843F2A4 movs r1, 0x4 bl sub_80FFEDC @@ -3632,7 +3632,7 @@ sub_80FEF4C: @ 80FEF4C pop {r0} bx r0 .align 2, 0 -_080FEF64: .4byte gUnknown_20370C0 +_080FEF64: .4byte gSpecialVar_0x8004 _080FEF68: .4byte gUnknown_843F2A4 thumb_func_end sub_80FEF4C @@ -4384,12 +4384,12 @@ _080FF4C8: .align 2, 0 _080FF4D8: .4byte gUnknown_203ACE8 _080FF4DC: - ldr r0, _080FF4E4 @ =gUnknown_20370D0 + ldr r0, _080FF4E4 @ =gSpecialVar_Result strh r1, [r0] movs r0, 0x17 b _080FF4EA .align 2, 0 -_080FF4E4: .4byte gUnknown_20370D0 +_080FF4E4: .4byte gSpecialVar_Result _080FF4E8: movs r0, 0 _080FF4EA: @@ -4425,7 +4425,7 @@ _080FF510: .align 2, 0 _080FF520: .4byte gUnknown_203ACE8 _080FF524: - ldr r4, _080FF538 @ =gUnknown_20370D0 + ldr r4, _080FF538 @ =gSpecialVar_Result bl sub_80FF78C lsls r0, 24 lsrs r0, 24 @@ -4434,7 +4434,7 @@ _080FF524: movs r0, 0x17 b _080FF53E .align 2, 0 -_080FF538: .4byte gUnknown_20370D0 +_080FF538: .4byte gSpecialVar_Result _080FF53C: movs r0, 0 _080FF53E: diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index 56bbd2c51..d9f172a81 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -230,7 +230,7 @@ sub_8115A24: @ 8115A24 movs r0, 0 strb r0, [r1, 0xC] strb r0, [r1, 0xD] - ldr r1, _08115A64 @ =gUnknown_20370D0 + ldr r1, _08115A64 @ =gSpecialVar_Result strh r0, [r1] pop {r0} bx r0 @@ -239,7 +239,7 @@ _08115A54: .4byte sub_8115A68 _08115A58: .4byte gUnknown_203B05C _08115A5C: .4byte gTasks+0x8 _08115A60: .4byte gUnknown_3002024 -_08115A64: .4byte gUnknown_20370D0 +_08115A64: .4byte gSpecialVar_Result thumb_func_end sub_8115A24 thumb_func_start sub_8115A68 @@ -299,7 +299,7 @@ _08115A90: _08115B0C: ldr r3, _08115B4C @ =gUnknown_203B058 ldr r2, _08115B50 @ =gUnknown_8456CD8 - ldr r1, _08115B54 @ =gUnknown_20370C0 + ldr r1, _08115B54 @ =gSpecialVar_0x8004 ldrh r0, [r1] lsls r0, 2 adds r0, r2 @@ -328,7 +328,7 @@ _08115B0C: .align 2, 0 _08115B4C: .4byte gUnknown_203B058 _08115B50: .4byte gUnknown_8456CD8 -_08115B54: .4byte gUnknown_20370C0 +_08115B54: .4byte gSpecialVar_0x8004 _08115B58: .4byte gUnknown_203B059 _08115B5C: movs r0, 0x70 @@ -1083,22 +1083,22 @@ _0811617E: bl EnableBothScriptContexts adds r0, r4, 0 bl DestroyTask - ldr r1, _08116190 @ =gUnknown_20370D0 + ldr r1, _08116190 @ =gSpecialVar_Result movs r0, 0x5 strh r0, [r1] b _081161D8 .align 2, 0 -_08116190: .4byte gUnknown_20370D0 +_08116190: .4byte gSpecialVar_Result _08116194: bl EnableBothScriptContexts adds r0, r4, 0 bl DestroyTask - ldr r1, _081161A8 @ =gUnknown_20370D0 + ldr r1, _081161A8 @ =gSpecialVar_Result movs r0, 0x8 strh r0, [r1] b _081161D8 .align 2, 0 -_081161A8: .4byte gUnknown_20370D0 +_081161A8: .4byte gSpecialVar_Result _081161AC: bl sub_80FBA00 cmp r0, 0 @@ -1767,7 +1767,7 @@ BerryBlenderLinkJoinGroup: @ 81166F4 movs r0, 0 strb r0, [r1, 0x8] strb r0, [r1, 0x9] - ldr r1, _08116734 @ =gUnknown_20370D0 + ldr r1, _08116734 @ =gSpecialVar_Result strh r0, [r1] pop {r0} bx r0 @@ -1776,7 +1776,7 @@ _08116724: .4byte sub_8116738 _08116728: .4byte gUnknown_203B05C _0811672C: .4byte gTasks+0x8 _08116730: .4byte gUnknown_3002028 -_08116734: .4byte gUnknown_20370D0 +_08116734: .4byte gSpecialVar_Result thumb_func_end BerryBlenderLinkJoinGroup thumb_func_start sub_8116738 @@ -1828,7 +1828,7 @@ _08116760: .4byte _08116CEC _081167C0: ldr r5, _08116800 @ =gUnknown_84570C8 - ldr r4, _08116804 @ =gUnknown_20370C0 + ldr r4, _08116804 @ =gSpecialVar_0x8004 ldrh r0, [r4] adds r0, r5 ldrb r0, [r0] @@ -1855,13 +1855,13 @@ _081167C0: b _08116D06 .align 2, 0 _08116800: .4byte gUnknown_84570C8 -_08116804: .4byte gUnknown_20370C0 +_08116804: .4byte gSpecialVar_0x8004 _08116808: .4byte gUnknown_203B058 _0811680C: adds r0, r6, 0 adds r0, 0x9 ldr r2, _08116830 @ =gUnknown_84591B8 - ldr r1, _08116834 @ =gUnknown_20370C0 + ldr r1, _08116834 @ =gSpecialVar_0x8004 ldrh r1, [r1] lsls r1, 2 adds r1, r2 @@ -1877,7 +1877,7 @@ _08116828: b _08116D06 .align 2, 0 _08116830: .4byte gUnknown_84591B8 -_08116834: .4byte gUnknown_20370C0 +_08116834: .4byte gSpecialVar_0x8004 _08116838: ldr r0, [r6, 0x4] movs r1, 0x4 @@ -1886,7 +1886,7 @@ _08116838: movs r1, 0x10 bl sub_811A5E4 ldr r0, [r6, 0x4] - ldr r1, _081168E8 @ =gUnknown_20370C0 + ldr r1, _081168E8 @ =gSpecialVar_0x8004 ldrh r1, [r1] bl sub_811A054 movs r4, 0 @@ -1950,7 +1950,7 @@ _08116838: strb r0, [r6, 0x8] b _08116D06 .align 2, 0 -_081168E8: .4byte gUnknown_20370C0 +_081168E8: .4byte gSpecialVar_0x8004 _081168EC: .4byte gUnknown_8456CD0 _081168F0: .4byte gUnknown_8456D4C _081168F4: .4byte gUnknown_8456D54 @@ -2361,19 +2361,19 @@ _08116C68: lsls r0, 24 cmp r0, 0 beq _08116D06 - ldr r0, _08116C94 @ =gUnknown_20370D0 + ldr r0, _08116C94 @ =gSpecialVar_Result movs r1, 0x6 b _08116CDC .align 2, 0 _08116C90: .4byte gUnknown_8457754 -_08116C94: .4byte gUnknown_20370D0 +_08116C94: .4byte gSpecialVar_Result _08116C98: bl sub_80FCE44 - ldr r0, _08116CA4 @ =gUnknown_20370D0 + ldr r0, _08116CA4 @ =gSpecialVar_Result movs r1, 0x5 b _08116CDC .align 2, 0 -_08116CA4: .4byte gUnknown_20370D0 +_08116CA4: .4byte gSpecialVar_Result _08116CA8: bl sub_80FCE44 adds r5, r6, 0 @@ -2397,7 +2397,7 @@ _08116CCE: lsls r0, 24 cmp r0, 0 beq _08116D06 - ldr r0, _08116CE8 @ =gUnknown_20370D0 + ldr r0, _08116CE8 @ =gSpecialVar_Result movs r1, 0x8 _08116CDC: strh r1, [r0] @@ -2406,7 +2406,7 @@ _08116CDC: b _08116D06 .align 2, 0 _08116CE4: .4byte gStringVar4 -_08116CE8: .4byte gUnknown_20370D0 +_08116CE8: .4byte gSpecialVar_Result _08116CEC: adds r0, r4, 0 bl DestroyTask @@ -2499,7 +2499,7 @@ sub_8116D60: @ 8116D60 adds r0, r5, 0 bl ConvertInternationalString ldr r1, _08116DD8 @ =gUnknown_84570C8 - ldr r0, _08116DDC @ =gUnknown_20370C0 + ldr r0, _08116DDC @ =gSpecialVar_0x8004 ldrh r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -2525,7 +2525,7 @@ sub_8116D60: @ 8116D60 .align 2, 0 _08116DD4: .4byte gStringVar1 _08116DD8: .4byte gUnknown_84570C8 -_08116DDC: .4byte gUnknown_20370C0 +_08116DDC: .4byte gSpecialVar_0x8004 thumb_func_end sub_8116D60 thumb_func_start sub_8116DE0 @@ -3396,7 +3396,7 @@ sub_81174B4: @ 81174B4 lsrs r5, 24 lsls r1, 16 lsrs r1, 16 - ldr r0, _08117524 @ =gUnknown_20370C0 + ldr r0, _08117524 @ =gSpecialVar_0x8004 strh r1, [r0] ldr r0, _08117528 @ =0x0000406f bl VarSet @@ -3432,7 +3432,7 @@ sub_81174B4: @ 81174B4 pop {r0} bx r0 .align 2, 0 -_08117524: .4byte gUnknown_20370C0 +_08117524: .4byte gSpecialVar_0x8004 _08117528: .4byte 0x0000406f _0811752C: .4byte gUnknown_3005030 _08117530: .4byte gUnknown_300502C @@ -3791,7 +3791,7 @@ _081178C8: _081178E0: adds r0, r4, 0 bl DestroyTask - ldr r1, _081178FC @ =gUnknown_20370D0 + ldr r1, _081178FC @ =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] bl ScriptContext2_Disable @@ -3801,7 +3801,7 @@ _081178E0: bx r0 .align 2, 0 _081178F8: .4byte sub_805671C -_081178FC: .4byte gUnknown_20370D0 +_081178FC: .4byte gSpecialVar_Result thumb_func_end sub_81175BC thumb_func_start sub_8117900 @@ -3832,13 +3832,13 @@ _08117928: beq _08117974 b _08117988 _08117932: - ldr r1, _08117940 @ =gUnknown_20370D0 + ldr r1, _08117940 @ =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] bl EnableBothScriptContexts b _08117968 .align 2, 0 -_08117940: .4byte gUnknown_20370D0 +_08117940: .4byte gSpecialVar_Result _08117944: bl ScriptContext1_IsScriptSetUp lsls r0, 24 @@ -3931,7 +3931,7 @@ sub_81179CC: @ 81179CC strb r2, [r1, 0xC] strb r2, [r1, 0xD] strb r4, [r1, 0x18] - ldr r0, _08117A08 @ =gUnknown_20370D0 + ldr r0, _08117A08 @ =gSpecialVar_Result strh r2, [r0] pop {r4} pop {r0} @@ -3940,7 +3940,7 @@ sub_81179CC: @ 81179CC _081179FC: .4byte sub_8117A0C _08117A00: .4byte gUnknown_203B05C _08117A04: .4byte gTasks+0x8 -_08117A08: .4byte gUnknown_20370D0 +_08117A08: .4byte gSpecialVar_Result thumb_func_end sub_81179CC thumb_func_start sub_8117A0C @@ -4421,13 +4421,13 @@ _08117E26: beq _08117ECA adds r0, r4, 0 bl DestroyTask - ldr r1, _08117E48 @ =gUnknown_20370D0 + ldr r1, _08117E48 @ =gSpecialVar_Result movs r0, 0x5 strh r0, [r1] b _08117ECA .align 2, 0 _08117E44: .4byte gUnknown_84571B8 -_08117E48: .4byte gUnknown_20370D0 +_08117E48: .4byte gSpecialVar_Result _08117E4C: bl sub_80FB9F4 lsls r0, 24 @@ -4513,7 +4513,7 @@ sub_8117ED4: @ 8117ED4 strb r2, [r1, 0x9] subs r4, 0x15 strb r4, [r1, 0x12] - ldr r0, _08117F1C @ =gUnknown_20370D0 + ldr r0, _08117F1C @ =gSpecialVar_Result strh r2, [r0] pop {r4} pop {r0} @@ -4523,7 +4523,7 @@ _08117F0C: .4byte sub_8117F20 _08117F10: .4byte gUnknown_203B05C _08117F14: .4byte gTasks+0x8 _08117F18: .4byte gUnknown_3002028 -_08117F1C: .4byte gUnknown_20370D0 +_08117F1C: .4byte gSpecialVar_Result thumb_func_end sub_8117ED4 thumb_func_start sub_8117F20 @@ -4883,13 +4883,13 @@ _08118252: adds r0, r6, 0 bl DestroyTask bl sub_80F8DC0 - ldr r1, _08118268 @ =gUnknown_20370D0 + ldr r1, _08118268 @ =gSpecialVar_Result movs r0, 0x5 strh r0, [r1] b _08118288 .align 2, 0 _08118264: .4byte gUnknown_84571B8 -_08118268: .4byte gUnknown_20370D0 +_08118268: .4byte gSpecialVar_Result _0811826C: ldrb r0, [r5, 0x8] adds r0, 0x1 @@ -4933,7 +4933,7 @@ sub_8118290: @ 8118290 strb r2, [r1, 0x9] subs r4, 0x15 strb r4, [r1, 0x12] - ldr r0, _081182D8 @ =gUnknown_20370D0 + ldr r0, _081182D8 @ =gSpecialVar_Result strh r2, [r0] pop {r4} pop {r0} @@ -4943,7 +4943,7 @@ _081182C8: .4byte sub_81182DC _081182CC: .4byte gUnknown_203B05C _081182D0: .4byte gTasks+0x8 _081182D4: .4byte gUnknown_3002028 -_081182D8: .4byte gUnknown_20370D0 +_081182D8: .4byte gSpecialVar_Result thumb_func_end sub_8118290 thumb_func_start sub_81182DC @@ -5288,13 +5288,13 @@ _081185C2: adds r0, r4, 0 bl DestroyTask bl sub_80F8DC0 - ldr r1, _081185E4 @ =gUnknown_20370D0 + ldr r1, _081185E4 @ =gSpecialVar_Result movs r0, 0x5 strh r0, [r1] b _08118604 .align 2, 0 _081185E0: .4byte gUnknown_845933C -_081185E4: .4byte gUnknown_20370D0 +_081185E4: .4byte gSpecialVar_Result _081185E8: ldrb r0, [r5, 0x8] adds r0, 0x1 @@ -5334,7 +5334,7 @@ UnionRoomSpecial: @ 811860C strb r1, [r0, 0x16] strh r1, [r0, 0x10] strh r1, [r0, 0x12] - ldr r0, _08118654 @ =gUnknown_20370D0 + ldr r0, _08118654 @ =gSpecialVar_Result strh r1, [r0] movs r0, 0xD0 movs r1, 0x1 @@ -5346,7 +5346,7 @@ UnionRoomSpecial: @ 811860C _08118648: .4byte sub_81186E0 _0811864C: .4byte gUnknown_203B05C _08118650: .4byte gUnknown_300202C -_08118654: .4byte gUnknown_20370D0 +_08118654: .4byte gSpecialVar_Result thumb_func_end UnionRoomSpecial thumb_func_start sub_8118658 @@ -5593,14 +5593,14 @@ _0811887C: ldr r0, [r6, 0xC] movs r1, 0x4 bl sub_811A650 - ldr r1, _081188C8 @ =gUnknown_20370D0 + ldr r1, _081188C8 @ =gSpecialVar_Result movs r0, 0 strh r0, [r1] movs r0, 0x3 bl _081198DA .align 2, 0 _081188C4: .4byte gUnknown_203B06C -_081188C8: .4byte gUnknown_20370D0 +_081188C8: .4byte gSpecialVar_Result _081188CC: bl sub_811FB18 lsls r0, 24 @@ -5703,7 +5703,7 @@ _081189A4: movs r0, 0x4 bl _081198DA _081189AA: - ldr r4, _081189D8 @ =gUnknown_20370D0 + ldr r4, _081189D8 @ =gSpecialVar_Result ldrh r0, [r4] cmp r0, 0 beq _08118A0E @@ -5723,7 +5723,7 @@ _081189AA: movs r0, 0x2A b _08118A06 .align 2, 0 -_081189D8: .4byte gUnknown_20370D0 +_081189D8: .4byte gSpecialVar_Result _081189DC: .4byte gStringVar1 _081189E0: .4byte gSaveBlock2Ptr _081189E4: @@ -7463,14 +7463,14 @@ var_800D_set_xB: @ 81198EC bl InUnionRoom cmp r0, 0x1 bne _081198FC - ldr r1, _08119900 @ =gUnknown_20370D0 + ldr r1, _08119900 @ =gSpecialVar_Result movs r0, 0xB strh r0, [r1] _081198FC: pop {r0} bx r0 .align 2, 0 -_08119900: .4byte gUnknown_20370D0 +_08119900: .4byte gSpecialVar_Result thumb_func_end var_800D_set_xB thumb_func_start sub_8119904 diff --git a/asm/link_rfu_4.s b/asm/link_rfu_4.s index 20381dca1..1ec24a43c 100644 --- a/asm/link_rfu_4.s +++ b/asm/link_rfu_4.s @@ -1662,7 +1662,7 @@ _081430B8: .align 2, 0 _081430D0: .4byte gUnknown_3003F64 _081430D4: - ldr r0, _081430E8 @ =gUnknown_20370D0 + ldr r0, _081430E8 @ =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0x5 beq _081430DE @@ -1672,7 +1672,7 @@ _081430DE: bl sub_81424B8 b _08143464 .align 2, 0 -_081430E8: .4byte gUnknown_20370D0 +_081430E8: .4byte gSpecialVar_Result _081430EC: ldr r0, _081430F8 @ =gUnknown_841E794 bl sub_8142504 @@ -2172,7 +2172,7 @@ _0814349C: .align 2, 0 _081434B0: .4byte gUnknown_3003F64 _081434B4: - ldr r0, _081434CC @ =gUnknown_20370D0 + ldr r0, _081434CC @ =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0x5 beq _081434BE @@ -2185,7 +2185,7 @@ _081434C4: strb r0, [r5, 0x8] b _081435C6 .align 2, 0 -_081434CC: .4byte gUnknown_20370D0 +_081434CC: .4byte gSpecialVar_Result _081434D0: ldr r0, _081434F0 @ =gStringVar1 movs r1, 0xFF diff --git a/asm/map_obj_lock.s b/asm/map_obj_lock.s index 4ff07589a..1b406a74d 100644 --- a/asm/map_obj_lock.s +++ b/asm/map_obj_lock.s @@ -270,7 +270,7 @@ sub_8069740: @ 8069740 lsls r0, 2 ldr r1, _08069760 @ =gMapObjects adds r0, r1 - ldr r1, _08069764 @ =gUnknown_20370D4 + ldr r1, _08069764 @ =gSpecialVar_Facing ldrb r1, [r1] bl FieldObjectFaceOppositeDirection pop {r0} @@ -278,7 +278,7 @@ sub_8069740: @ 8069740 .align 2, 0 _0806975C: .4byte gUnknown_3005074 _08069760: .4byte gMapObjects -_08069764: .4byte gUnknown_20370D4 +_08069764: .4byte gSpecialVar_Facing thumb_func_end sub_8069740 thumb_func_start sub_8069768 diff --git a/asm/party_menu.s b/asm/party_menu.s index 55dd4059c..185e17a84 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -1245,13 +1245,13 @@ sub_811F430: @ 811F430 muls r1, r0 ldr r0, _0811F468 @ =gPlayerParty adds r6, r1, r0 - ldr r0, _0811F46C @ =gUnknown_203AD30 + ldr r0, _0811F46C @ =gSpecialVar_ItemId ldrh r4, [r0] ldr r0, _0811F470 @ =gUnknown_203B0A0 ldrb r0, [r0, 0xB] cmp r0, 0xC bne _0811F47C - ldr r0, _0811F474 @ =gUnknown_20370D0 + ldr r0, _0811F474 @ =gSpecialVar_Result movs r1, 0 strh r1, [r0] ldr r0, _0811F478 @ =gSpecialVar_0x8005 @@ -1266,9 +1266,9 @@ sub_811F430: @ 811F430 b _0811F4C6 .align 2, 0 _0811F468: .4byte gPlayerParty -_0811F46C: .4byte gUnknown_203AD30 +_0811F46C: .4byte gSpecialVar_ItemId _0811F470: .4byte gUnknown_203B0A0 -_0811F474: .4byte gUnknown_20370D0 +_0811F474: .4byte gSpecialVar_Result _0811F478: .4byte gSpecialVar_0x8005 _0811F47C: cmp r0, 0x3 @@ -2364,7 +2364,7 @@ _0811FCDA: _0811FCE8: movs r0, 0x5 bl PlaySE - ldr r1, _0811FD24 @ =gUnknown_20370C0 + ldr r1, _0811FD24 @ =gSpecialVar_0x8004 movs r0, 0 ldrsb r0, [r5, r0] strh r0, [r1] @@ -2390,7 +2390,7 @@ _0811FD1A: bl sub_811FA78 b _0811FD56 .align 2, 0 -_0811FD24: .4byte gUnknown_20370C0 +_0811FD24: .4byte gSpecialVar_0x8004 _0811FD28: .4byte gUnknown_203B0A0 _0811FD2C: .4byte gSpecialVar_0x8005 _0811FD30: .4byte gPlayerParty @@ -2498,7 +2498,7 @@ _0811FDF4: lsls r0, 24 cmp r0, 0 bne _0811FE04 - ldr r1, _0811FE1C @ =gUnknown_20370C0 + ldr r1, _0811FE1C @ =gSpecialVar_0x8004 movs r0, 0x7 strh r0, [r1] _0811FE04: @@ -2514,7 +2514,7 @@ _0811FE14: pop {r0} bx r0 .align 2, 0 -_0811FE1C: .4byte gUnknown_20370C0 +_0811FE1C: .4byte gSpecialVar_0x8004 _0811FE20: .4byte gUnknown_203B0C0 thumb_func_end sub_811FD88 @@ -4107,13 +4107,13 @@ sub_81209F4: @ 81209F4 bne _08120A24 movs r0, 0x5 bl PlaySE - ldr r0, _08120A20 @ =gUnknown_20370C0 + ldr r0, _08120A20 @ =gSpecialVar_0x8004 strh r5, [r0] adds r0, r4, 0 bl sub_811FA78 b _08120A46 .align 2, 0 -_08120A20: .4byte gUnknown_20370C0 +_08120A20: .4byte gSpecialVar_0x8004 _08120A24: movs r0, 0x1A bl PlaySE @@ -4215,14 +4215,14 @@ _08120AE4: beq _08120B02 b _08120B10 _08120AEA: - ldr r1, _08120AF8 @ =gUnknown_20370C0 + ldr r1, _08120AF8 @ =gSpecialVar_0x8004 movs r0, 0x7 strh r0, [r1] adds r0, r4, 0 bl sub_811FA78 b _08120B10 .align 2, 0 -_08120AF8: .4byte gUnknown_20370C0 +_08120AF8: .4byte gSpecialVar_0x8004 _08120AFC: movs r0, 0x5 bl PlaySE @@ -9878,7 +9878,7 @@ c2_8123744: @ 8123744 mov r7, r8 push {r7} sub sp, 0xC - ldr r6, _0812376C @ =gUnknown_203AD30 + ldr r6, _0812376C @ =gSpecialVar_ItemId ldrh r0, [r6] cmp r0, 0 bne _08123778 @@ -9894,7 +9894,7 @@ c2_8123744: @ 8123744 ldr r1, [r3] b _081237AE .align 2, 0 -_0812376C: .4byte gUnknown_203AD30 +_0812376C: .4byte gSpecialVar_ItemId _08123770: .4byte gUnknown_203B0A0 _08123774: .4byte sub_8122C30 _08123778: @@ -9992,7 +9992,7 @@ sub_8123824: @ 8123824 ands r0, r1 cmp r0, 0 bne _08123880 - ldr r0, _08123890 @ =gUnknown_203AD30 + ldr r0, _08123890 @ =gSpecialVar_ItemId ldrh r4, [r0] ldr r0, _08123894 @ =gUnknown_203B0A0 mov r8, r0 @@ -10032,7 +10032,7 @@ _08123880: bx r0 .align 2, 0 _0812388C: .4byte gPaletteFade -_08123890: .4byte gUnknown_203AD30 +_08123890: .4byte gSpecialVar_ItemId _08123894: .4byte gUnknown_203B0A0 _08123898: .4byte gPlayerParty _0812389C: .4byte gTasks @@ -10130,7 +10130,7 @@ _08123950: beq _08123A32 b _08123A40 _08123956: - ldr r5, _08123998 @ =gUnknown_203AD30 + ldr r5, _08123998 @ =gSpecialVar_ItemId ldrh r0, [r5] movs r1, 0x1 bl sub_809A1D8 @@ -10158,7 +10158,7 @@ _08123956: str r1, [r0] b _08123A40 .align 2, 0 -_08123998: .4byte gUnknown_203AD30 +_08123998: .4byte gSpecialVar_ItemId _0812399C: .4byte gUnknown_203B0D8 _081239A0: .4byte gStringVar4 _081239A4: .4byte gTasks @@ -10317,7 +10317,7 @@ sub_8123ACC: @ 8123ACC lsls r0, 16 lsrs r0, 16 mov r8, r0 - ldr r0, _08123B40 @ =gUnknown_20370D0 + ldr r0, _08123B40 @ =gSpecialVar_Result ldrh r7, [r0] cmp r7, 0 bne _08123B4C @@ -10350,7 +10350,7 @@ sub_8123ACC: @ 8123ACC .align 2, 0 _08123B38: .4byte gUnknown_203B0A0 _08123B3C: .4byte gPlayerParty -_08123B40: .4byte gUnknown_20370D0 +_08123B40: .4byte gSpecialVar_Result _08123B44: .4byte gUnknown_203B0D8 _08123B48: .4byte sub_8122C30 _08123B4C: @@ -10400,7 +10400,7 @@ sub_8123B78: @ 8123B78 muls r0, r1 ldr r1, _08123BBC @ =gPlayerParty adds r0, r1 - ldr r1, _08123BC0 @ =gUnknown_203AD30 + ldr r1, _08123BC0 @ =gSpecialVar_ItemId ldrh r1, [r1] movs r2, 0 movs r3, 0 @@ -10411,9 +10411,9 @@ _08123BB0: .4byte gPaletteFade _08123BB4: .4byte gUnknown_203B0D8 _08123BB8: .4byte gUnknown_203B0A0 _08123BBC: .4byte gPlayerParty -_08123BC0: .4byte gUnknown_203AD30 +_08123BC0: .4byte gSpecialVar_ItemId _08123BC4: - ldr r0, _08123BE4 @ =gUnknown_203AD30 + ldr r0, _08123BE4 @ =gSpecialVar_ItemId ldrh r0, [r0] ldrh r1, [r1] movs r2, 0 @@ -10431,7 +10431,7 @@ _08123BDE: pop {r0} bx r0 .align 2, 0 -_08123BE4: .4byte gUnknown_203AD30 +_08123BE4: .4byte gSpecialVar_ItemId _08123BE8: .4byte gTasks _08123BEC: .4byte sub_8123BF0 thumb_func_end sub_8123B78 @@ -11337,7 +11337,7 @@ sub_8124354: @ 8124354 lsrs r4, 24 movs r0, 0x5 bl PlaySE - ldr r1, _0812437C @ =gUnknown_20370C0 + ldr r1, _0812437C @ =gSpecialVar_0x8004 ldr r0, _08124380 @ =gUnknown_203B0A0 ldrb r0, [r0, 0x9] lsls r0, 24 @@ -11349,7 +11349,7 @@ sub_8124354: @ 8124354 pop {r0} bx r0 .align 2, 0 -_0812437C: .4byte gUnknown_20370C0 +_0812437C: .4byte gSpecialVar_0x8004 _08124380: .4byte gUnknown_203B0A0 thumb_func_end sub_8124354 @@ -12495,7 +12495,7 @@ _08124CCC: mov r8, r1 movs r7, 0 _08124CD2: - ldr r4, _08124D30 @ =gUnknown_203AD30 + ldr r4, _08124D30 @ =gSpecialVar_ItemId ldrh r0, [r4] bl GetItemEffectType lsls r0, 24 @@ -12529,7 +12529,7 @@ _08124D0C: cmp r5, 0x5 bls _08124CEA _08124D16: - ldr r0, _08124D30 @ =gUnknown_203AD30 + ldr r0, _08124D30 @ =gSpecialVar_ItemId ldrh r0, [r0] bl GetPocketByItemId lsls r0, 24 @@ -12542,7 +12542,7 @@ _08124D28: movs r0, 0x7F b _08124D6A .align 2, 0 -_08124D30: .4byte gUnknown_203AD30 +_08124D30: .4byte gSpecialVar_ItemId _08124D34: .4byte gUnknown_203B0A0 _08124D38: .4byte gPlayerParty _08124D3C: .4byte sub_8124DB0 @@ -12642,7 +12642,7 @@ _08124DDC: .4byte sub_8124DE0 thumb_func_start sub_8124DE0 sub_8124DE0: @ 8124DE0 push {r4,lr} - ldr r4, _08124E0C @ =gUnknown_203AD30 + ldr r4, _08124E0C @ =gSpecialVar_ItemId ldrh r0, [r4] bl sub_80A1150 lsls r0, 24 @@ -12661,7 +12661,7 @@ sub_8124DE0: @ 8124DE0 bl sub_811C540 b _08124E38 .align 2, 0 -_08124E0C: .4byte gUnknown_203AD30 +_08124E0C: .4byte gSpecialVar_ItemId _08124E10: .4byte gUnknown_203B0A0 _08124E14: .4byte sub_8126BD4 _08124E18: @@ -12694,7 +12694,7 @@ sub_8124E48: @ 8124E48 mov r7, r8 push {r7} sub sp, 0xC - ldr r7, _08124EBC @ =gUnknown_203AD30 + ldr r7, _08124EBC @ =gSpecialVar_ItemId ldrh r0, [r7] bl ItemId_GetPocket lsls r0, 24 @@ -12742,7 +12742,7 @@ _08124EB0: bl SetMainCallback2 b _08124EE6 .align 2, 0 -_08124EBC: .4byte gUnknown_203AD30 +_08124EBC: .4byte gSpecialVar_ItemId _08124EC0: .4byte gUnknown_203B0A0 _08124EC4: .4byte gPlayerParty _08124EC8: @@ -12804,7 +12804,7 @@ sub_8124EFC: @ 8124EFC adds r0, r5, 0 adds r1, r4, 0 bl RemoveMonPPBonus - ldr r7, _08124F90 @ =gUnknown_203AD30 + ldr r7, _08124F90 @ =gSpecialVar_ItemId ldrh r0, [r7] bl ItemIdToBattleMoveId adds r1, r0, 0 @@ -12837,7 +12837,7 @@ _08124F7C: .align 2, 0 _08124F88: .4byte gUnknown_203B0A0 _08124F8C: .4byte gPlayerParty -_08124F90: .4byte gUnknown_203AD30 +_08124F90: .4byte gSpecialVar_ItemId _08124F94: ldr r4, _08124FC0 @ =gUnknown_203B0A0 ldrb r0, [r4, 0x8] @@ -13242,7 +13242,7 @@ sub_81252D0: @ 81252D0 muls r1, r0 ldr r0, _08125304 @ =gPlayerParty adds r5, r1, r0 - ldr r0, _08125308 @ =gUnknown_203AD30 + ldr r0, _08125308 @ =gSpecialVar_ItemId ldrh r6, [r0] adds r0, r5, 0 adds r1, r6, 0 @@ -13255,7 +13255,7 @@ sub_81252D0: @ 81252D0 .align 2, 0 _08125300: .4byte gUnknown_203B0A0 _08125304: .4byte gPlayerParty -_08125308: .4byte gUnknown_203AD30 +_08125308: .4byte gSpecialVar_ItemId _0812530C: adds r0, r6, 0 bl IsHPRecoveryItem @@ -13351,7 +13351,7 @@ ItemUseCB_Medicine: @ 81253B0 muls r1, r0 ldr r0, _0812543C @ =gPlayerParty adds r5, r1, r0 - ldr r0, _08125440 @ =gUnknown_203AD30 + ldr r0, _08125440 @ =gSpecialVar_ItemId ldrh r6, [r0] adds r0, r5, 0 adds r1, r6, 0 @@ -13399,7 +13399,7 @@ _08125428: .align 2, 0 _08125438: .4byte gUnknown_203B0A0 _0812543C: .4byte gPlayerParty -_08125440: .4byte gUnknown_203AD30 +_08125440: .4byte gSpecialVar_ItemId _08125444: .4byte gUnknown_203B0C0 _08125448: .4byte gUnknown_84169DC _0812544C: @@ -13735,7 +13735,7 @@ sub_81256F8: @ 81256F8 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _08125710 @ =gUnknown_203AD30 + ldr r0, _08125710 @ =gSpecialVar_ItemId ldrh r0, [r0] cmp r0, 0xAF bne _0812571C @@ -13745,7 +13745,7 @@ sub_81256F8: @ 81256F8 adds r0, r1 b _08125726 .align 2, 0 -_08125710: .4byte gUnknown_203AD30 +_08125710: .4byte gSpecialVar_ItemId _08125714: .4byte gSaveBlock1Ptr _08125718: .4byte 0x00003108 _0812571C: @@ -13878,7 +13878,7 @@ sub_812580C: @ 812580C muls r0, r1 ldr r1, _08125864 @ =gPlayerParty adds r0, r1 - ldr r1, _08125868 @ =gUnknown_203AD30 + ldr r1, _08125868 @ =gSpecialVar_ItemId ldrh r1, [r1] ldrb r2, [r3, 0x9] ldrb r3, [r3, 0xE] @@ -13909,7 +13909,7 @@ sub_812580C: @ 812580C .align 2, 0 _08125860: .4byte gUnknown_203B0A0 _08125864: .4byte gPlayerParty -_08125868: .4byte gUnknown_203AD30 +_08125868: .4byte gSpecialVar_ItemId _0812586C: .4byte gUnknown_203B0C0 _08125870: .4byte gUnknown_84169DC _08125874: .4byte gTasks @@ -13947,7 +13947,7 @@ sub_8125898: @ 8125898 ldr r0, _08125934 @ =gPlayerParty adds r4, r0 ldrb r0, [r5, 0x9] - ldr r6, _08125938 @ =gUnknown_203AD30 + ldr r6, _08125938 @ =gSpecialVar_ItemId ldrh r1, [r6] ldrb r2, [r5, 0xE] bl ExecuteTableBasedItemEffect__ @@ -14001,7 +14001,7 @@ sub_8125898: @ 8125898 .align 2, 0 _08125930: .4byte gUnknown_203B0A0 _08125934: .4byte gPlayerParty -_08125938: .4byte gUnknown_203AD30 +_08125938: .4byte gSpecialVar_ItemId _0812593C: .4byte gUnknown_203B0C0 _08125940: .4byte 0x0000ffff _08125944: .4byte gStringVar1 @@ -14020,7 +14020,7 @@ sub_8125958: @ 8125958 lsrs r6, r0, 24 movs r4, 0 ldr r7, _08125990 @ =gUnknown_203B0AE - ldr r0, _08125994 @ =gUnknown_203AD30 + ldr r0, _08125994 @ =gSpecialVar_ItemId ldrh r5, [r0] movs r0, 0xE negs r0, r0 @@ -14041,7 +14041,7 @@ sub_8125958: @ 8125958 b _081259F6 .align 2, 0 _08125990: .4byte gUnknown_203B0AE -_08125994: .4byte gUnknown_203AD30 +_08125994: .4byte gSpecialVar_ItemId _08125998: .4byte gUnknown_203B0C0 _0812599C: .4byte gUnknown_84169DC _081259A0: @@ -14275,7 +14275,7 @@ sub_8125B40: @ 8125B40 movs r0, 0xE adds r0, r7 mov r8, r0 - ldr r0, _08125BD8 @ =gUnknown_203AD30 + ldr r0, _08125BD8 @ =gSpecialVar_ItemId ldrh r5, [r0] ldr r1, _08125BDC @ =gStringVar1 adds r0, r4, 0 @@ -14325,7 +14325,7 @@ sub_8125B40: @ 8125B40 .align 2, 0 _08125BD0: .4byte gUnknown_203B0A0 _08125BD4: .4byte gPlayerParty -_08125BD8: .4byte gUnknown_203AD30 +_08125BD8: .4byte gSpecialVar_ItemId _08125BDC: .4byte gStringVar1 _08125BE0: .4byte gStringVar2 _08125BE4: .4byte gMoveNames @@ -14391,7 +14391,7 @@ sub_8125C48: @ 8125C48 adds r5, r1, r0 adds r6, r2, 0 adds r6, 0xE - ldr r0, _08125CD4 @ =gUnknown_203AD30 + ldr r0, _08125CD4 @ =gSpecialVar_ItemId ldrh r4, [r0] movs r1, 0x2 ldrsh r0, [r6, r1] @@ -14441,7 +14441,7 @@ _08125C84: .align 2, 0 _08125CCC: .4byte gUnknown_203B0A0 _08125CD0: .4byte gPlayerParty -_08125CD4: .4byte gUnknown_203AD30 +_08125CD4: .4byte gSpecialVar_ItemId _08125CD8: .4byte gStringVar1 _08125CDC: .4byte gStringVar2 _08125CE0: .4byte gMoveNames @@ -14516,7 +14516,7 @@ _08125D6C: .4byte gUnknown_203B0A0 _08125D70: cmp r0, 0x2 bne _08125D78 - ldr r0, _08125D84 @ =gUnknown_20370D0 + ldr r0, _08125D84 @ =gSpecialVar_Result strh r2, [r0] _08125D78: adds r0, r5, 0 @@ -14526,7 +14526,7 @@ _08125D7E: pop {r0} bx r0 .align 2, 0 -_08125D84: .4byte gUnknown_20370D0 +_08125D84: .4byte gSpecialVar_Result thumb_func_end sub_8125D2C thumb_func_start sub_8125D88 @@ -14684,7 +14684,7 @@ sub_8125E84: @ 8125E84 lsls r2, 16 lsrs r2, 16 ldrb r0, [r4, 0x9] - ldr r1, _08125ED8 @ =gUnknown_203AD30 + ldr r1, _08125ED8 @ =gSpecialVar_ItemId ldrh r1, [r1] ldr r3, _08125EDC @ =sub_8124EFC bl sub_811C568 @@ -14696,7 +14696,7 @@ sub_8125E84: @ 8125E84 .align 2, 0 _08125ED0: .4byte gUnknown_203B0A0 _08125ED4: .4byte gPlayerParty -_08125ED8: .4byte gUnknown_203AD30 +_08125ED8: .4byte gSpecialVar_ItemId _08125EDC: .4byte sub_8124EFC _08125EE0: .4byte gUnknown_3005E98 _08125EE4: .4byte sub_8125F4C @@ -14794,7 +14794,7 @@ sub_8125F5C: @ 8125F5C adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 - ldr r0, _08125FEC @ =gUnknown_203AD30 + ldr r0, _08125FEC @ =gSpecialVar_ItemId ldrh r2, [r0] movs r0, 0x4 adds r1, r6, 0 @@ -14828,7 +14828,7 @@ sub_8125F5C: @ 8125F5C .align 2, 0 _08125FE4: .4byte gUnknown_203B0A0 _08125FE8: .4byte gPlayerParty -_08125FEC: .4byte gUnknown_203AD30 +_08125FEC: .4byte gSpecialVar_ItemId _08125FF0: .4byte gStringVar1 _08125FF4: .4byte gStringVar2 _08125FF8: .4byte gMoveNames @@ -15077,7 +15077,7 @@ _0812620C: .4byte sub_812628C _08126210: cmp r0, 0x2 bne _08126218 - ldr r0, _08126228 @ =gUnknown_20370D0 + ldr r0, _08126228 @ =gSpecialVar_Result strh r5, [r0] _08126218: ldr r0, _0812622C @ =gTasks @@ -15089,7 +15089,7 @@ _08126218: str r0, [r1] b _0812626A .align 2, 0 -_08126228: .4byte gUnknown_20370D0 +_08126228: .4byte gSpecialVar_Result _0812622C: .4byte gTasks _08126230: .4byte sub_81255BC _08126234: @@ -15164,7 +15164,7 @@ dp05_rare_candy: @ 81262AC muls r1, r0 ldr r0, _081262EC @ =gPlayerParty adds r4, r1, r0 - ldr r0, _081262F0 @ =gUnknown_203AD30 + ldr r0, _081262F0 @ =gSpecialVar_ItemId ldrh r5, [r0] adds r0, r4, 0 movs r1, 0x38 @@ -15182,7 +15182,7 @@ dp05_rare_candy: @ 81262AC .align 2, 0 _081262E8: .4byte gUnknown_203B0A0 _081262EC: .4byte gPlayerParty -_081262F0: .4byte gUnknown_203AD30 +_081262F0: .4byte gSpecialVar_ItemId _081262F4: movs r4, 0x1 _081262F6: @@ -15252,7 +15252,7 @@ sub_8126350: @ 8126350 adds r0, r4, 0 bl sub_811D130 ldrb r0, [r6, 0x9] - ldr r5, _0812641C @ =gUnknown_203AD30 + ldr r5, _0812641C @ =gSpecialVar_ItemId ldrh r1, [r5] movs r2, 0 bl ExecuteTableBasedItemEffect__ @@ -15316,7 +15316,7 @@ sub_8126350: @ 8126350 _08126410: .4byte gUnknown_203B0A0 _08126414: .4byte gPlayerParty _08126418: .4byte gUnknown_203B09C -_0812641C: .4byte gUnknown_203AD30 +_0812641C: .4byte gSpecialVar_ItemId _08126420: .4byte gUnknown_203B0C0 _08126424: .4byte 0x0000ffff _08126428: .4byte gStringVar1 @@ -15919,7 +15919,7 @@ sub_81268D4: @ 81268D4 lsrs r0, 16 mov r8, r0 ldrb r0, [r6, 0x9] - ldr r1, _08126938 @ =gUnknown_203AD30 + ldr r1, _08126938 @ =gSpecialVar_ItemId ldrh r1, [r1] movs r2, 0 bl ExecuteTableBasedItemEffect__ @@ -15938,7 +15938,7 @@ _08126920: .align 2, 0 _08126930: .4byte gUnknown_203B0A0 _08126934: .4byte gPlayerParty -_08126938: .4byte gUnknown_203AD30 +_08126938: .4byte gSpecialVar_ItemId _0812693C: .4byte gTasks _08126940: .4byte sub_8126A18 _08126944: @@ -16108,13 +16108,13 @@ _08126A94: beq _08126AB4 ldr r0, _08126AD8 @ =gUnknown_203B0D0 ldr r1, [r0] - ldr r0, _08126ADC @ =gUnknown_203AD30 + ldr r0, _08126ADC @ =gSpecialVar_ItemId ldrh r2, [r0] ldr r3, _08126AE0 @ =0x0000ffff movs r0, 0x4 bl sub_80A2294 _08126AB4: - ldr r0, _08126ADC @ =gUnknown_203AD30 + ldr r0, _08126ADC @ =gSpecialVar_ItemId ldrh r0, [r0] movs r1, 0x1 bl sub_809A1D8 @@ -16133,7 +16133,7 @@ _08126ABE: .align 2, 0 _08126AD4: .4byte gUnknown_203B0C0 _08126AD8: .4byte gUnknown_203B0D0 -_08126ADC: .4byte gUnknown_203AD30 +_08126ADC: .4byte gSpecialVar_ItemId _08126AE0: .4byte 0x0000ffff _08126AE4: .4byte gTasks _08126AE8: .4byte sub_81255BC @@ -16206,7 +16206,7 @@ sub_8126B60: @ 8126B60 muls r0, r1 ldr r1, _08126BB4 @ =gPlayerParty adds r0, r1 - ldr r1, _08126BB8 @ =gUnknown_203AD30 + ldr r1, _08126BB8 @ =gSpecialVar_ItemId ldrh r1, [r1] ldrb r2, [r2, 0x9] movs r3, 0 @@ -16232,7 +16232,7 @@ sub_8126B60: @ 8126B60 .align 2, 0 _08126BB0: .4byte gUnknown_203B0A0 _08126BB4: .4byte gPlayerParty -_08126BB8: .4byte gUnknown_203AD30 +_08126BB8: .4byte gSpecialVar_ItemId _08126BBC: .4byte gUnknown_203B0C0 _08126BC0: .4byte gUnknown_84169DC _08126BC4: .4byte gTasks @@ -16253,7 +16253,7 @@ sub_8126BD4: @ 8126BD4 ldr r0, [r4] str r0, [r1] ldrb r0, [r4, 0x9] - ldr r5, _08126C18 @ =gUnknown_203AD30 + ldr r5, _08126C18 @ =gSpecialVar_ItemId ldrh r1, [r5] movs r2, 0 bl ExecuteTableBasedItemEffect__ @@ -16276,7 +16276,7 @@ sub_8126BD4: @ 8126BD4 .align 2, 0 _08126C10: .4byte gUnknown_300537C _08126C14: .4byte gUnknown_203B0A0 -_08126C18: .4byte gUnknown_203AD30 +_08126C18: .4byte gSpecialVar_ItemId _08126C1C: .4byte gPlayerParty _08126C20: .4byte 0x0000ffff thumb_func_end sub_8126BD4 @@ -16294,7 +16294,7 @@ sub_8126C24: @ 8126C24 muls r0, r1 ldr r1, _08126C58 @ =gPlayerParty adds r0, r1 - ldr r1, _08126C5C @ =gUnknown_203AD30 + ldr r1, _08126C5C @ =gSpecialVar_ItemId ldrh r2, [r1] movs r1, 0x2 bl GetEvolutionTargetSpecies @@ -16307,7 +16307,7 @@ sub_8126C24: @ 8126C24 .align 2, 0 _08126C54: .4byte gUnknown_203B0A0 _08126C58: .4byte gPlayerParty -_08126C5C: .4byte gUnknown_203AD30 +_08126C5C: .4byte gSpecialVar_ItemId _08126C60: movs r0, 0x1 _08126C62: @@ -16653,7 +16653,7 @@ _08126ED8: .4byte sub_80568A8 sub_8126EDC: @ 8126EDC push {lr} sub sp, 0xC - ldr r0, _08126EF8 @ =gUnknown_203AD30 + ldr r0, _08126EF8 @ =gSpecialVar_ItemId ldrh r0, [r0] bl GetPocketByItemId lsls r0, 24 @@ -16665,7 +16665,7 @@ sub_8126EDC: @ 8126EDC ldr r1, _08126EFC @ =sub_8124D90 b _08126F0A .align 2, 0 -_08126EF8: .4byte gUnknown_203AD30 +_08126EF8: .4byte gSpecialVar_ItemId _08126EFC: .4byte sub_8124D90 _08126F00: ldr r1, _08126F04 @ =sub_8124DA0 @@ -16686,7 +16686,7 @@ _08126F0A: movs r3, 0 bl sub_811EA44 ldr r1, _08126F38 @ =gUnknown_203B0A0 - ldr r0, _08126F3C @ =gUnknown_203AD30 + ldr r0, _08126F3C @ =gSpecialVar_ItemId ldrh r0, [r0] strh r0, [r1, 0xC] add sp, 0xC @@ -16696,7 +16696,7 @@ _08126F0A: _08126F30: .4byte sub_8124DB0 _08126F34: .4byte sub_811FB28 _08126F38: .4byte gUnknown_203B0A0 -_08126F3C: .4byte gUnknown_203AD30 +_08126F3C: .4byte gSpecialVar_ItemId thumb_func_end sub_8126EDC thumb_func_start sub_8126F40 @@ -16958,7 +16958,7 @@ sub_812713C: @ 812713C bl GetMonData lsls r0, 16 lsrs r7, r0, 16 - ldr r0, _08127194 @ =gUnknown_20370D0 + ldr r0, _08127194 @ =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0 bne _0812719C @@ -16980,7 +16980,7 @@ sub_812713C: @ 812713C .align 2, 0 _0812718C: .4byte gUnknown_203B0A0 _08127190: .4byte gPlayerParty -_08127194: .4byte gUnknown_20370D0 +_08127194: .4byte gSpecialVar_Result _08127198: .4byte gUnknown_203B0D8 _0812719C: ldrb r0, [r6, 0x8] @@ -17869,7 +17869,7 @@ _08127850: movs r3, 0 bl sub_811EA44 ldr r1, _08127880 @ =gUnknown_203B0A0 - ldr r0, _08127884 @ =gUnknown_20370C6 + ldr r0, _08127884 @ =gSpecialVar_0x8007 ldrh r0, [r0] strb r0, [r1, 0x9] _08127870: @@ -17880,7 +17880,7 @@ _08127870: _08127878: .4byte sub_8126DC8 _0812787C: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music _08127880: .4byte gUnknown_203B0A0 -_08127884: .4byte gUnknown_20370C6 +_08127884: .4byte gSpecialVar_0x8007 thumb_func_end sub_812781C thumb_func_start sub_8127888 @@ -18088,7 +18088,7 @@ _08127A24: .4byte gBattleTypeFlags _08127A28: .4byte sub_8120C3C _08127A2C: .4byte sub_8107ECC _08127A30: - ldr r0, _08127A74 @ =gUnknown_203AD30 + ldr r0, _08127A74 @ =gSpecialVar_ItemId ldrh r0, [r0] bl GetPocketByItemId lsls r0, 24 @@ -18119,7 +18119,7 @@ _08127A62: pop {r0} bx r0 .align 2, 0 -_08127A74: .4byte gUnknown_203AD30 +_08127A74: .4byte gSpecialVar_ItemId _08127A78: .4byte sub_8107ECC _08127A7C: .4byte sub_8124DB0 _08127A80: .4byte sub_811FB28 diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s index c717ac119..0d4ee1bcb 100644 --- a/asm/pokemon_3.s +++ b/asm/pokemon_3.s @@ -424,11 +424,11 @@ _08044834: .4byte gUnknown_825E032 sub_8044838: @ 8044838 push {r4-r7,lr} sub sp, 0x14 - ldr r0, _08044888 @ =gUnknown_20370C0 + ldr r0, _08044888 @ =gSpecialVar_0x8004 ldrh r5, [r0] ldr r0, _0804488C @ =gSpecialVar_0x8005 ldrh r4, [r0] - ldr r0, _08044890 @ =gUnknown_20370C4 + ldr r0, _08044890 @ =gSpecialVar_0x8006 ldrh r6, [r0] bl ZeroEnemyPartyMons ldr r7, _08044894 @ =gEnemyParty @@ -461,9 +461,9 @@ _08044880: pop {r0} bx r0 .align 2, 0 -_08044888: .4byte gUnknown_20370C0 +_08044888: .4byte gSpecialVar_0x8004 _0804488C: .4byte gSpecialVar_0x8005 -_08044890: .4byte gUnknown_20370C4 +_08044890: .4byte gSpecialVar_0x8006 _08044894: .4byte gEnemyParty thumb_func_end sub_8044838 diff --git a/asm/pokemon_size_record.s b/asm/pokemon_size_record.s index 56a5d54f5..ac1f2a017 100644 --- a/asm/pokemon_size_record.s +++ b/asm/pokemon_size_record.s @@ -211,14 +211,14 @@ sub_80A082C: @ 80A082C adds r7, r1, 0 lsls r0, 16 lsrs r6, r0, 16 - ldr r1, _080A0844 @ =gUnknown_20370D0 + ldr r1, _080A0844 @ =gSpecialVar_Result ldrh r0, [r1] cmp r0, 0x5 bls _080A0848 movs r0, 0 b _080A08C4 .align 2, 0 -_080A0844: .4byte gUnknown_20370D0 +_080A0844: .4byte gSpecialVar_Result _080A0848: ldrh r1, [r1] movs r0, 0x64 @@ -343,7 +343,7 @@ sub_80A0930: @ 80A0930 ldr r0, _080A0950 @ =0x0000403d bl GetVarPointer adds r1, r0, 0 - ldr r4, _080A0954 @ =gUnknown_20370D0 + ldr r4, _080A0954 @ =gSpecialVar_Result movs r0, 0xD6 bl sub_80A082C lsls r0, 24 @@ -354,7 +354,7 @@ sub_80A0930: @ 80A0930 bx r0 .align 2, 0 _080A0950: .4byte 0x0000403d -_080A0954: .4byte gUnknown_20370D0 +_080A0954: .4byte gSpecialVar_Result thumb_func_end sub_80A0930 thumb_func_start sub_80A0958 @@ -389,7 +389,7 @@ sub_80A0984: @ 80A0984 ldr r0, _080A09A4 @ =0x00004040 bl GetVarPointer adds r1, r0, 0 - ldr r4, _080A09A8 @ =gUnknown_20370D0 + ldr r4, _080A09A8 @ =gSpecialVar_Result movs r0, 0x81 bl sub_80A082C lsls r0, 24 @@ -400,7 +400,7 @@ sub_80A0984: @ 80A0984 bx r0 .align 2, 0 _080A09A4: .4byte 0x00004040 -_080A09A8: .4byte gUnknown_20370D0 +_080A09A8: .4byte gSpecialVar_Result thumb_func_end sub_80A0984 thumb_func_start GiveGiftRibbonToParty diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 8cb95db46..37f9e9762 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -1139,7 +1139,7 @@ _0808C1DC: .4byte gPlayerParty thumb_func_start CountPartyAliveNonEggMons_IgnoreVar0x8004Slot CountPartyAliveNonEggMons_IgnoreVar0x8004Slot: @ 808C1E0 push {lr} - ldr r0, _0808C1F4 @ =gUnknown_20370C0 + ldr r0, _0808C1F4 @ =gSpecialVar_0x8004 ldrb r0, [r0] bl CountPartyAliveNonEggMonsExcept lsls r0, 24 @@ -1147,7 +1147,7 @@ CountPartyAliveNonEggMons_IgnoreVar0x8004Slot: @ 808C1E0 pop {r1} bx r1 .align 2, 0 -_0808C1F4: .4byte gUnknown_20370C0 +_0808C1F4: .4byte gSpecialVar_0x8004 thumb_func_end CountPartyAliveNonEggMons_IgnoreVar0x8004Slot thumb_func_start CountPartyMons @@ -6609,7 +6609,7 @@ _0808EF08: .4byte sub_808CE60 sub_808EF0C: @ 808EF0C push {lr} sub sp, 0x4 - ldr r0, _0808EF40 @ =gUnknown_203AD30 + ldr r0, _0808EF40 @ =gSpecialVar_ItemId ldrh r1, [r0] mov r0, sp strh r1, [r0] @@ -6631,7 +6631,7 @@ sub_808EF0C: @ 808EF0C bl SetMonData b _0808EF56 .align 2, 0 -_0808EF40: .4byte gUnknown_203AD30 +_0808EF40: .4byte gSpecialVar_ItemId _0808EF44: .4byte gUnknown_20397B4 _0808EF48: .4byte gPlayerParty _0808EF4C: diff --git a/asm/prof_pc.s b/asm/prof_pc.s index 2a449ff76..9c9dfa79c 100644 --- a/asm/prof_pc.s +++ b/asm/prof_pc.s @@ -8,7 +8,7 @@ thumb_func_start sub_80CA3D8 sub_80CA3D8: @ 80CA3D8 push {lr} - ldr r0, _080CA3F4 @ =gUnknown_20370C0 + ldr r0, _080CA3F4 @ =gSpecialVar_0x8004 ldrh r0, [r0] cmp r0, 0 bne _080CA3FC @@ -20,7 +20,7 @@ sub_80CA3D8: @ 80CA3D8 bl sub_8088EDC b _080CA40C .align 2, 0 -_080CA3F4: .4byte gUnknown_20370C0 +_080CA3F4: .4byte gSpecialVar_0x8004 _080CA3F8: .4byte gSpecialVar_0x8005 _080CA3FC: movs r0, 0 @@ -30,7 +30,7 @@ _080CA3FC: movs r0, 0x1 bl pokedex_count _080CA40C: - ldr r1, _080CA420 @ =gUnknown_20370C4 + ldr r1, _080CA420 @ =gSpecialVar_0x8006 strh r0, [r1] bl sub_806E25C lsls r0, 16 @@ -39,7 +39,7 @@ _080CA40C: bx r1 .align 2, 0 _080CA41C: .4byte gSpecialVar_0x8005 -_080CA420: .4byte gUnknown_20370C4 +_080CA420: .4byte gSpecialVar_0x8006 thumb_func_end sub_80CA3D8 thumb_func_start sub_80CA424 @@ -47,7 +47,7 @@ sub_80CA424: @ 80CA424 push {lr} lsls r0, 16 lsrs r2, r0, 16 - ldr r1, _080CA440 @ =gUnknown_20370D0 + ldr r1, _080CA440 @ =gSpecialVar_Result movs r0, 0 strh r0, [r1] cmp r2, 0x9 @@ -59,7 +59,7 @@ _080CA436: ldr r0, _080CA444 @ =gUnknown_81A6D6D b _080CA51A .align 2, 0 -_080CA440: .4byte gUnknown_20370D0 +_080CA440: .4byte gSpecialVar_Result _080CA444: .4byte gUnknown_81A6D6D _080CA448: cmp r2, 0x1D @@ -165,10 +165,10 @@ _080CA4F6: .align 2, 0 _080CA4FC: .4byte gUnknown_81A7137 _080CA500: - ldr r1, _080CA504 @ =gUnknown_20370D0 + ldr r1, _080CA504 @ =gSpecialVar_Result b _080CA514 .align 2, 0 -_080CA504: .4byte gUnknown_20370D0 +_080CA504: .4byte gSpecialVar_Result _080CA508: cmp r2, 0x97 beq _080CA514 @@ -191,14 +191,14 @@ _080CA520: .4byte gUnknown_81A7175 thumb_func_start sub_80CA524 sub_80CA524: @ 80CA524 push {lr} - ldr r0, _080CA538 @ =gUnknown_20370C0 + ldr r0, _080CA538 @ =gSpecialVar_0x8004 ldrh r0, [r0] bl sub_80CA424 bl ShowFieldMessage pop {r0} bx r0 .align 2, 0 -_080CA538: .4byte gUnknown_20370C0 +_080CA538: .4byte gSpecialVar_0x8004 thumb_func_end sub_80CA524 .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom6.s b/asm/rom6.s index 6d4ef8bc2..06c2d30a2 100644 --- a/asm/rom6.s +++ b/asm/rom6.s @@ -31,7 +31,7 @@ npc_before_player_of_type: @ 80C97A8 ldrb r0, [r2, 0x5] cmp r0, r5 bne _080C97F4 - ldr r1, _080C97F0 @ =gUnknown_20370D2 + ldr r1, _080C97F0 @ =gSpecialVar_LastTalked ldrb r0, [r2, 0x8] strh r0, [r1] movs r0, 0x1 @@ -39,7 +39,7 @@ npc_before_player_of_type: @ 80C97A8 .align 2, 0 _080C97E8: .4byte gUnknown_2039A04 _080C97EC: .4byte gMapObjects -_080C97F0: .4byte gUnknown_20370D2 +_080C97F0: .4byte gSpecialVar_LastTalked _080C97F4: movs r0, 0 _080C97F6: diff --git a/asm/scrcmd.s b/asm/scrcmd.s index 8053a5abc..e8ffcf3ab 100644 --- a/asm/scrcmd.s +++ b/asm/scrcmd.s @@ -1003,7 +1003,7 @@ ScrCmd_random: @ 806A5DC adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 - ldr r5, _0806A60C @ =gUnknown_20370D0 + ldr r5, _0806A60C @ =gSpecialVar_Result bl Random lsls r0, 16 lsrs r0, 16 @@ -1015,7 +1015,7 @@ ScrCmd_random: @ 806A5DC pop {r1} bx r1 .align 2, 0 -_0806A60C: .4byte gUnknown_20370D0 +_0806A60C: .4byte gSpecialVar_Result thumb_func_end ScrCmd_random thumb_func_start sub_806A610 @@ -1035,7 +1035,7 @@ sub_806A610: @ 806A610 lsrs r0, 16 bl VarGet adds r1, r0, 0 - ldr r5, _0806A658 @ =gUnknown_20370D0 + ldr r5, _0806A658 @ =gSpecialVar_Result lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 @@ -1050,7 +1050,7 @@ sub_806A610: @ 806A610 pop {r1} bx r1 .align 2, 0 -_0806A658: .4byte gUnknown_20370D0 +_0806A658: .4byte gSpecialVar_Result thumb_func_end sub_806A610 thumb_func_start ScrCmd_takeitem @@ -1070,7 +1070,7 @@ ScrCmd_takeitem: @ 806A65C lsrs r0, 16 bl VarGet adds r1, r0, 0 - ldr r5, _0806A69C @ =gUnknown_20370D0 + ldr r5, _0806A69C @ =gSpecialVar_Result lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 @@ -1083,7 +1083,7 @@ ScrCmd_takeitem: @ 806A65C pop {r1} bx r1 .align 2, 0 -_0806A69C: .4byte gUnknown_20370D0 +_0806A69C: .4byte gSpecialVar_Result thumb_func_end ScrCmd_takeitem thumb_func_start sub_806A6A0 @@ -1103,7 +1103,7 @@ sub_806A6A0: @ 806A6A0 lsrs r0, 16 bl VarGet adds r1, r0, 0 - ldr r5, _0806A6E0 @ =gUnknown_20370D0 + ldr r5, _0806A6E0 @ =gSpecialVar_Result lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 @@ -1116,7 +1116,7 @@ sub_806A6A0: @ 806A6A0 pop {r1} bx r1 .align 2, 0 -_0806A6E0: .4byte gUnknown_20370D0 +_0806A6E0: .4byte gSpecialVar_Result thumb_func_end sub_806A6A0 thumb_func_start sub_806A6E4 @@ -1136,7 +1136,7 @@ sub_806A6E4: @ 806A6E4 lsrs r0, 16 bl VarGet adds r1, r0, 0 - ldr r5, _0806A724 @ =gUnknown_20370D0 + ldr r5, _0806A724 @ =gSpecialVar_Result lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 @@ -1149,7 +1149,7 @@ sub_806A6E4: @ 806A6E4 pop {r1} bx r1 .align 2, 0 -_0806A724: .4byte gUnknown_20370D0 +_0806A724: .4byte gSpecialVar_Result thumb_func_end sub_806A6E4 thumb_func_start ScrCmd_checkitemtype @@ -1161,7 +1161,7 @@ ScrCmd_checkitemtype: @ 806A728 bl VarGet lsls r0, 16 lsrs r0, 16 - ldr r4, _0806A750 @ =gUnknown_20370D0 + ldr r4, _0806A750 @ =gSpecialVar_Result bl GetPocketByItemId lsls r0, 24 lsrs r0, 24 @@ -1171,7 +1171,7 @@ ScrCmd_checkitemtype: @ 806A728 pop {r1} bx r1 .align 2, 0 -_0806A750: .4byte gUnknown_20370D0 +_0806A750: .4byte gSpecialVar_Result thumb_func_end ScrCmd_checkitemtype thumb_func_start ScrCmd_givepcitem @@ -1193,7 +1193,7 @@ ScrCmd_givepcitem: @ 806A754 adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 - ldr r5, _0806A794 @ =gUnknown_20370D0 + ldr r5, _0806A794 @ =gSpecialVar_Result adds r0, r4, 0 bl sub_809A3C8 lsls r0, 24 @@ -1204,7 +1204,7 @@ ScrCmd_givepcitem: @ 806A754 pop {r1} bx r1 .align 2, 0 -_0806A794: .4byte gUnknown_20370D0 +_0806A794: .4byte gSpecialVar_Result thumb_func_end ScrCmd_givepcitem thumb_func_start ScrCmd_checkpcitem @@ -1226,7 +1226,7 @@ ScrCmd_checkpcitem: @ 806A798 adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 - ldr r5, _0806A7D8 @ =gUnknown_20370D0 + ldr r5, _0806A7D8 @ =gSpecialVar_Result adds r0, r4, 0 bl sub_809A374 lsls r0, 24 @@ -1237,7 +1237,7 @@ ScrCmd_checkpcitem: @ 806A798 pop {r1} bx r1 .align 2, 0 -_0806A7D8: .4byte gUnknown_20370D0 +_0806A7D8: .4byte gSpecialVar_Result thumb_func_end ScrCmd_checkpcitem thumb_func_start sub_806A7DC @@ -1540,19 +1540,19 @@ sub_806A9D8: @ 806A9D8 thumb_func_start sub_806A9DC sub_806A9DC: @ 806A9DC - ldr r0, _0806A9F0 @ =gUnknown_20370B8 + ldr r0, _0806A9F0 @ =gSpecialVar_0x8000 movs r1, 0 strh r1, [r0] - ldr r0, _0806A9F4 @ =gUnknown_20370BA + ldr r0, _0806A9F4 @ =gSpecialVar_0x8001 strh r1, [r0] - ldr r0, _0806A9F8 @ =gUnknown_20370BC + ldr r0, _0806A9F8 @ =gSpecialVar_0x8002 strh r1, [r0] movs r0, 0 bx lr .align 2, 0 -_0806A9F0: .4byte gUnknown_20370B8 -_0806A9F4: .4byte gUnknown_20370BA -_0806A9F8: .4byte gUnknown_20370BC +_0806A9F0: .4byte gSpecialVar_0x8000 +_0806A9F4: .4byte gSpecialVar_0x8001 +_0806A9F8: .4byte gSpecialVar_0x8002 thumb_func_end sub_806A9DC thumb_func_start ScrCmd_setweather @@ -2344,7 +2344,7 @@ _0806B048: .4byte gSaveBlock1Ptr thumb_func_start ScrCmd_getpartysize ScrCmd_getpartysize: @ 806B04C push {r4,lr} - ldr r4, _0806B064 @ =gUnknown_20370D0 + ldr r4, _0806B064 @ =gSpecialVar_Result bl CalculatePlayerPartyCount lsls r0, 24 lsrs r0, 24 @@ -2354,7 +2354,7 @@ ScrCmd_getpartysize: @ 806B04C pop {r1} bx r1 .align 2, 0 -_0806B064: .4byte gUnknown_20370D0 +_0806B064: .4byte gSpecialVar_Result thumb_func_end ScrCmd_getpartysize thumb_func_start ScrCmd_playse @@ -3569,7 +3569,7 @@ sub_806B96C: @ 806B96C ands r0, r1 cmp r0, 0 beq _0806B990 - ldr r0, _0806B98C @ =gUnknown_20370D4 + ldr r0, _0806B98C @ =gSpecialVar_Facing ldrh r0, [r0] cmp r0, 0x2 beq _0806B990 @@ -3577,49 +3577,49 @@ sub_806B96C: @ 806B96C b _0806BA36 .align 2, 0 _0806B988: .4byte gMain -_0806B98C: .4byte gUnknown_20370D4 +_0806B98C: .4byte gSpecialVar_Facing _0806B990: ldrh r1, [r2, 0x2C] movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _0806B9AC - ldr r0, _0806B9A8 @ =gUnknown_20370D4 + ldr r0, _0806B9A8 @ =gSpecialVar_Facing ldrh r0, [r0] cmp r0, 0x1 beq _0806B9AC movs r0, 0x2 b _0806BA36 .align 2, 0 -_0806B9A8: .4byte gUnknown_20370D4 +_0806B9A8: .4byte gSpecialVar_Facing _0806B9AC: ldrh r1, [r2, 0x2C] movs r0, 0x20 ands r0, r1 cmp r0, 0 beq _0806B9C8 - ldr r0, _0806B9C4 @ =gUnknown_20370D4 + ldr r0, _0806B9C4 @ =gSpecialVar_Facing ldrh r0, [r0] cmp r0, 0x3 beq _0806B9C8 movs r0, 0x3 b _0806BA36 .align 2, 0 -_0806B9C4: .4byte gUnknown_20370D4 +_0806B9C4: .4byte gSpecialVar_Facing _0806B9C8: ldrh r1, [r2, 0x2C] movs r0, 0x10 ands r0, r1 cmp r0, 0 beq _0806B9E4 - ldr r0, _0806B9E0 @ =gUnknown_20370D4 + ldr r0, _0806B9E0 @ =gSpecialVar_Facing ldrh r0, [r0] cmp r0, 0x4 beq _0806B9E4 movs r0, 0x4 b _0806BA36 .align 2, 0 -_0806B9E0: .4byte gUnknown_20370D4 +_0806B9E0: .4byte gSpecialVar_Facing _0806B9E4: ldrh r1, [r2, 0x2E] movs r0, 0x80 @@ -3974,7 +3974,7 @@ sub_806BC40: @ 806BC40 bne _0806BC50 ldr r1, [r4, 0x64] _0806BC50: - ldr r4, _0806BC68 @ =gUnknown_20370C0 + ldr r4, _0806BC68 @ =gSpecialVar_0x8004 movs r2, 0x1 negs r2, r2 movs r0, 0x6 @@ -3985,7 +3985,7 @@ _0806BC50: pop {r1} bx r1 .align 2, 0 -_0806BC68: .4byte gUnknown_20370C0 +_0806BC68: .4byte gSpecialVar_0x8004 thumb_func_end sub_806BC40 thumb_func_start ScrCmd_vmessage @@ -4453,7 +4453,7 @@ ScrCmd_givemon: @ 806BFD0 ldrb r2, [r1] adds r1, 0x1 str r1, [r4, 0x8] - ldr r4, _0806C04C @ =gUnknown_20370D0 + ldr r4, _0806C04C @ =gSpecialVar_Result str r0, [sp] str r2, [sp, 0x4] adds r0, r6, 0 @@ -4473,7 +4473,7 @@ ScrCmd_givemon: @ 806BFD0 pop {r1} bx r1 .align 2, 0 -_0806C04C: .4byte gUnknown_20370D0 +_0806C04C: .4byte gSpecialVar_Result thumb_func_end ScrCmd_givemon thumb_func_start ScrCmd_giveegg @@ -4485,7 +4485,7 @@ ScrCmd_giveegg: @ 806C050 bl VarGet lsls r0, 16 lsrs r0, 16 - ldr r4, _0806C078 @ =gUnknown_20370D0 + ldr r4, _0806C078 @ =gSpecialVar_Result bl sub_80A01AC lsls r0, 24 lsrs r0, 24 @@ -4495,7 +4495,7 @@ ScrCmd_giveegg: @ 806C050 pop {r1} bx r1 .align 2, 0 -_0806C078: .4byte gUnknown_20370D0 +_0806C078: .4byte gSpecialVar_Result thumb_func_end ScrCmd_giveegg thumb_func_start ScrCmd_setmonmove @@ -4527,13 +4527,13 @@ ScrCmd_checkpartymove: @ 806C0A8 bl ScriptReadHalfword lsls r0, 16 lsrs r7, r0, 16 - ldr r1, _0806C0BC @ =gUnknown_20370D0 + ldr r1, _0806C0BC @ =gSpecialVar_Result movs r0, 0x6 strh r0, [r1] movs r6, 0 b _0806C0F6 .align 2, 0 -_0806C0BC: .4byte gUnknown_20370D0 +_0806C0BC: .4byte gSpecialVar_Result _0806C0C0: adds r0, r4, 0 movs r1, 0x2D @@ -4547,14 +4547,14 @@ _0806C0C0: lsrs r0, 24 cmp r0, 0x1 bne _0806C0F0 - ldr r0, _0806C0E8 @ =gUnknown_20370D0 + ldr r0, _0806C0E8 @ =gSpecialVar_Result strh r6, [r0] - ldr r0, _0806C0EC @ =gUnknown_20370C0 + ldr r0, _0806C0EC @ =gSpecialVar_0x8004 strh r5, [r0] b _0806C116 .align 2, 0 -_0806C0E8: .4byte gUnknown_20370D0 -_0806C0EC: .4byte gUnknown_20370C0 +_0806C0E8: .4byte gSpecialVar_Result +_0806C0EC: .4byte gSpecialVar_0x8004 _0806C0F0: adds r0, r6, 0x1 lsls r0, 24 @@ -4652,7 +4652,7 @@ ScrCmd_checkmoney: @ 806C18C str r0, [r4, 0x8] cmp r1, 0 bne _0806C1BA - ldr r4, _0806C1C4 @ =gUnknown_20370D0 + ldr r4, _0806C1C4 @ =gSpecialVar_Result ldr r0, _0806C1C8 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xA4 @@ -4669,7 +4669,7 @@ _0806C1BA: pop {r1} bx r1 .align 2, 0 -_0806C1C4: .4byte gUnknown_20370D0 +_0806C1C4: .4byte gSpecialVar_Result _0806C1C8: .4byte gSaveBlock1Ptr thumb_func_end ScrCmd_checkmoney @@ -5133,7 +5133,7 @@ ScrCmd_setrespawn: @ 806C4D4 thumb_func_start ScrCmd_checkplayergender ScrCmd_checkplayergender: @ 806C4F0 - ldr r1, _0806C500 @ =gUnknown_20370D0 + ldr r1, _0806C500 @ =gSpecialVar_Result ldr r0, _0806C504 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] @@ -5141,7 +5141,7 @@ ScrCmd_checkplayergender: @ 806C4F0 movs r0, 0 bx lr .align 2, 0 -_0806C500: .4byte gUnknown_20370D0 +_0806C500: .4byte gSpecialVar_Result _0806C504: .4byte gSaveBlock2Ptr thumb_func_end ScrCmd_checkplayergender @@ -5452,13 +5452,13 @@ ScrCmd_givecoins: @ 806C74C lsrs r0, 24 cmp r0, 0x1 bne _0806C774 - ldr r1, _0806C770 @ =gUnknown_20370D0 + ldr r1, _0806C770 @ =gSpecialVar_Result movs r0, 0 b _0806C778 .align 2, 0 -_0806C770: .4byte gUnknown_20370D0 +_0806C770: .4byte gSpecialVar_Result _0806C774: - ldr r1, _0806C780 @ =gUnknown_20370D0 + ldr r1, _0806C780 @ =gSpecialVar_Result movs r0, 0x1 _0806C778: strh r0, [r1] @@ -5466,7 +5466,7 @@ _0806C778: pop {r1} bx r1 .align 2, 0 -_0806C780: .4byte gUnknown_20370D0 +_0806C780: .4byte gSpecialVar_Result thumb_func_end ScrCmd_givecoins thumb_func_start ScrCmd_takecoins @@ -5483,13 +5483,13 @@ ScrCmd_takecoins: @ 806C784 lsrs r0, 24 cmp r0, 0x1 bne _0806C7AC - ldr r1, _0806C7A8 @ =gUnknown_20370D0 + ldr r1, _0806C7A8 @ =gSpecialVar_Result movs r0, 0 b _0806C7B0 .align 2, 0 -_0806C7A8: .4byte gUnknown_20370D0 +_0806C7A8: .4byte gSpecialVar_Result _0806C7AC: - ldr r1, _0806C7B8 @ =gUnknown_20370D0 + ldr r1, _0806C7B8 @ =gSpecialVar_Result movs r0, 0x1 _0806C7B0: strh r0, [r1] @@ -5497,7 +5497,7 @@ _0806C7B0: pop {r1} bx r1 .align 2, 0 -_0806C7B8: .4byte gUnknown_20370D0 +_0806C7B8: .4byte gSpecialVar_Result thumb_func_end ScrCmd_takecoins thumb_func_start sub_806C7BC @@ -5555,7 +5555,7 @@ ScrCmd_checkmonobedience: @ 806C80C bl VarGet lsls r0, 16 lsrs r0, 16 - ldr r4, _0806C83C @ =gUnknown_20370D0 + ldr r4, _0806C83C @ =gSpecialVar_Result movs r1, 0x64 muls r0, r1 ldr r1, _0806C840 @ =gPlayerParty @@ -5569,7 +5569,7 @@ ScrCmd_checkmonobedience: @ 806C80C pop {r1} bx r1 .align 2, 0 -_0806C83C: .4byte gUnknown_20370D0 +_0806C83C: .4byte gSpecialVar_Result _0806C840: .4byte gPlayerParty thumb_func_end ScrCmd_checkmonobedience diff --git a/asm/script_menu.s b/asm/script_menu.s index 239e6860f..f1127591d 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -78,7 +78,7 @@ ScriptMenu_Multichoice: @ 809C9B4 lsrs r0, 24 cmp r0, 0x1 beq _0809C9F8 - ldr r0, _0809C9F4 @ =gUnknown_20370D0 + ldr r0, _0809C9F4 @ =gSpecialVar_Result movs r1, 0xFF strh r1, [r0] movs r0, 0 @@ -92,7 +92,7 @@ ScriptMenu_Multichoice: @ 809C9B4 b _0809C9FA .align 2, 0 _0809C9F0: .4byte sub_809CC98 -_0809C9F4: .4byte gUnknown_20370D0 +_0809C9F4: .4byte gSpecialVar_Result _0809C9F8: movs r0, 0 _0809C9FA: @@ -126,7 +126,7 @@ ScriptMenu_MultichoiceWithDefault: @ 809CA04 lsrs r0, 24 cmp r0, 0x1 beq _0809CA54 - ldr r1, _0809CA50 @ =gUnknown_20370D0 + ldr r1, _0809CA50 @ =gSpecialVar_Result movs r0, 0xFF strh r0, [r1] str r4, [sp] @@ -139,7 +139,7 @@ ScriptMenu_MultichoiceWithDefault: @ 809CA04 b _0809CA56 .align 2, 0 _0809CA4C: .4byte sub_809CC98 -_0809CA50: .4byte gUnknown_20370D0 +_0809CA50: .4byte gSpecialVar_Result _0809CA54: movs r0, 0 _0809CA56: @@ -506,15 +506,15 @@ _0809CCF8: bne _0809CD3C movs r0, 0x5 bl PlaySE - ldr r1, _0809CD24 @ =gUnknown_20370D0 + ldr r1, _0809CD24 @ =gSpecialVar_Result movs r0, 0x7F strh r0, [r1] b _0809CD2C .align 2, 0 _0809CD20: .4byte gMain -_0809CD24: .4byte gUnknown_20370D0 +_0809CD24: .4byte gSpecialVar_Result _0809CD28: - ldr r0, _0809CD44 @ =gUnknown_20370D0 + ldr r0, _0809CD44 @ =gSpecialVar_Result strh r1, [r0] _0809CD2C: ldrb r0, [r5, 0xC] @@ -527,7 +527,7 @@ _0809CD3C: pop {r0} bx r0 .align 2, 0 -_0809CD44: .4byte gUnknown_20370D0 +_0809CD44: .4byte gSpecialVar_Result thumb_func_end sub_809CC98 thumb_func_start sub_809CD48 @@ -628,7 +628,7 @@ sub_809CDEC: @ 809CDEC .align 2, 0 _0809CE04: .4byte task_yes_no_maybe _0809CE08: - ldr r1, _0809CE30 @ =gUnknown_20370D0 + ldr r1, _0809CE30 @ =gSpecialVar_Result movs r0, 0xFF strh r0, [r1] ldr r0, _0809CE34 @ =sub_809D6D4 @@ -647,21 +647,21 @@ _0809CE28: pop {r1} bx r1 .align 2, 0 -_0809CE30: .4byte gUnknown_20370D0 +_0809CE30: .4byte gSpecialVar_Result _0809CE34: .4byte sub_809D6D4 thumb_func_end sub_809CDEC thumb_func_start sub_809CE38 sub_809CE38: @ 809CE38 push {lr} - ldr r0, _0809CE48 @ =gUnknown_20370D0 + ldr r0, _0809CE48 @ =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0xFF beq _0809CE4C movs r0, 0x1 b _0809CE4E .align 2, 0 -_0809CE48: .4byte gUnknown_20370D0 +_0809CE48: .4byte gSpecialVar_Result _0809CE4C: movs r0, 0 _0809CE4E: @@ -711,13 +711,13 @@ _0809CE94: _0809CE9C: movs r0, 0x5 bl PlaySE - ldr r1, _0809CEA8 @ =gUnknown_20370D0 + ldr r1, _0809CEA8 @ =gSpecialVar_Result movs r0, 0 b _0809CEB0 .align 2, 0 -_0809CEA8: .4byte gUnknown_20370D0 +_0809CEA8: .4byte gSpecialVar_Result _0809CEAC: - ldr r1, _0809CEC4 @ =gUnknown_20370D0 + ldr r1, _0809CEC4 @ =gSpecialVar_Result movs r0, 0x1 _0809CEB0: strh r0, [r1] @@ -730,7 +730,7 @@ _0809CEBC: pop {r0} bx r0 .align 2, 0 -_0809CEC4: .4byte gUnknown_20370D0 +_0809CEC4: .4byte gSpecialVar_Result thumb_func_end task_yes_no_maybe thumb_func_start sub_809CEC8 @@ -767,7 +767,7 @@ sub_809CEC8: @ 809CEC8 .align 2, 0 _0809CF04: .4byte sub_809CFDC _0809CF08: - ldr r1, _0809CFCC @ =gUnknown_20370D0 + ldr r1, _0809CFCC @ =gSpecialVar_Result movs r0, 0xFF strh r0, [r1] ldr r0, _0809CFD0 @ =sub_809D6D4 @@ -858,7 +858,7 @@ _0809CFBA: pop {r1} bx r1 .align 2, 0 -_0809CFCC: .4byte gUnknown_20370D0 +_0809CFCC: .4byte gSpecialVar_Result _0809CFD0: .4byte sub_809D6D4 _0809CFD4: .4byte gUnknown_83E04B0 _0809CFD8: .4byte gTasks @@ -890,15 +890,15 @@ sub_809CFDC: @ 809CFDC bne _0809D034 movs r0, 0x5 bl PlaySE - ldr r1, _0809D01C @ =gUnknown_20370D0 + ldr r1, _0809D01C @ =gSpecialVar_Result movs r0, 0x7F strh r0, [r1] b _0809D024 .align 2, 0 _0809D018: .4byte gTasks+0x8 -_0809D01C: .4byte gUnknown_20370D0 +_0809D01C: .4byte gSpecialVar_Result _0809D020: - ldr r0, _0809D03C @ =gUnknown_20370D0 + ldr r0, _0809D03C @ =gSpecialVar_Result strh r1, [r0] _0809D024: ldrb r0, [r5, 0xC] @@ -911,7 +911,7 @@ _0809D034: pop {r0} bx r0 .align 2, 0 -_0809D03C: .4byte gUnknown_20370D0 +_0809D03C: .4byte gSpecialVar_Result thumb_func_end sub_809CFDC thumb_func_start sp109_CreatePCMenu @@ -923,7 +923,7 @@ sp109_CreatePCMenu: @ 809D040 lsrs r0, 24 cmp r0, 0x1 beq _0809D068 - ldr r1, _0809D064 @ =gUnknown_20370D0 + ldr r1, _0809D064 @ =gSpecialVar_Result movs r0, 0xFF strh r0, [r1] bl sub_809D070 @@ -931,7 +931,7 @@ sp109_CreatePCMenu: @ 809D040 b _0809D06A .align 2, 0 _0809D060: .4byte sub_809CC98 -_0809D064: .4byte gUnknown_20370D0 +_0809D064: .4byte gSpecialVar_Result _0809D068: movs r0, 0 _0809D06A: @@ -1524,7 +1524,7 @@ sub_809D504: @ 809D504 lsrs r0, 24 cmp r0, 0xFF bne _0809D55C - ldr r0, _0809D54C @ =gUnknown_20370C0 + ldr r0, _0809D54C @ =gSpecialVar_0x8004 ldrh r0, [r0] cmp r0, 0x8D bne _0809D558 @@ -1539,7 +1539,7 @@ sub_809D504: @ 809D504 .align 2, 0 _0809D544: .4byte sub_809D6D4 _0809D548: .4byte sub_809D494 -_0809D54C: .4byte gUnknown_20370C0 +_0809D54C: .4byte gSpecialVar_0x8004 _0809D550: .4byte gUnknown_83E17C0 _0809D554: .4byte gUnknown_83E17A0 _0809D558: @@ -1566,7 +1566,7 @@ _0809D572: lsls r2, 14 adds r1, r2 asrs r1, 16 - ldr r6, _0809D610 @ =gUnknown_20370C4 + ldr r6, _0809D610 @ =gSpecialVar_0x8006 ldrh r2, [r6] lsls r2, 19 movs r3, 0xA0 @@ -1629,7 +1629,7 @@ _0809D600: .4byte gUnknown_83E17D0 _0809D604: .4byte gUnknown_83E0F80 _0809D608: .4byte gUnknown_83E0768 _0809D60C: .4byte gSpecialVar_0x8005 -_0809D610: .4byte gUnknown_20370C4 +_0809D610: .4byte gSpecialVar_0x8006 _0809D614: .4byte gSprites _0809D618: .4byte sub_809D494 _0809D61C: .4byte gTasks @@ -1803,7 +1803,7 @@ sub_809D764: @ 809D764 mov r6, r8 push {r6,r7} sub sp, 0xC - ldr r1, _0809D7A0 @ =gUnknown_20370D0 + ldr r1, _0809D7A0 @ =gSpecialVar_Result movs r0, 0xFF strh r0, [r1] ldr r0, _0809D7A4 @ =sub_809D6D4 @@ -1818,7 +1818,7 @@ _0809D784: ldrh r0, [r0] cmp r0, 0x1 bne _0809D7B0 - ldr r0, _0809D7AC @ =gUnknown_20370C0 + ldr r0, _0809D7AC @ =gSpecialVar_0x8004 ldrh r0, [r0] movs r4, 0x4 cmp r0, 0x4 @@ -1830,10 +1830,10 @@ _0809D798: movs r5, 0x2 b _0809D7B8 .align 2, 0 -_0809D7A0: .4byte gUnknown_20370D0 +_0809D7A0: .4byte gSpecialVar_Result _0809D7A4: .4byte sub_809D6D4 _0809D7A8: .4byte gSpecialVar_0x8005 -_0809D7AC: .4byte gUnknown_20370C0 +_0809D7AC: .4byte gSpecialVar_0x8004 _0809D7B0: movs r4, 0 movs r0, 0x6 @@ -1866,7 +1866,7 @@ _0809D7B8: cmp r6, r5 bge _0809D844 _0809D7F2: - ldr r0, _0809D820 @ =gUnknown_20370C0 + ldr r0, _0809D820 @ =gSpecialVar_0x8004 ldrh r0, [r0] cmp r4, r0 beq _0809D828 @@ -1889,7 +1889,7 @@ _0809D7F2: bl AddTextPrinterParameterized b _0809D82E .align 2, 0 -_0809D820: .4byte gUnknown_20370C0 +_0809D820: .4byte gSpecialVar_0x8004 _0809D824: .4byte gUnknown_83E17E0 _0809D828: subs r0, r6, 0x1 @@ -1970,7 +1970,7 @@ _0809D8BC: .4byte gUnknown_84161C8 thumb_func_start sub_809D8C0 sub_809D8C0: @ 809D8C0 push {lr} - ldr r3, _0809D8EC @ =gUnknown_20370D0 + ldr r3, _0809D8EC @ =gSpecialVar_Result ldrh r2, [r3] adds r1, r2, 0 cmp r1, 0x7F @@ -1985,20 +1985,20 @@ sub_809D8C0: @ 809D8C0 beq _0809D930 cmp r1, 0 bne _0809D8F8 - ldr r0, _0809D8F4 @ =gUnknown_20370C0 + ldr r0, _0809D8F4 @ =gSpecialVar_0x8004 ldrh r0, [r0] cmp r0, 0x4 bls _0809D904 movs r0, 0x4 b _0809D94E .align 2, 0 -_0809D8EC: .4byte gUnknown_20370D0 +_0809D8EC: .4byte gSpecialVar_Result _0809D8F0: .4byte gSpecialVar_0x8005 -_0809D8F4: .4byte gUnknown_20370C0 +_0809D8F4: .4byte gSpecialVar_0x8004 _0809D8F8: cmp r1, 0x1 bne _0809D90C - ldr r0, _0809D908 @ =gUnknown_20370C0 + ldr r0, _0809D908 @ =gSpecialVar_0x8004 ldrh r0, [r0] cmp r0, 0x5 bls _0809D918 @@ -2006,11 +2006,11 @@ _0809D904: movs r0, 0x5 b _0809D94E .align 2, 0 -_0809D908: .4byte gUnknown_20370C0 +_0809D908: .4byte gSpecialVar_0x8004 _0809D90C: cmp r1, 0x2 bne _0809D94C - ldr r0, _0809D91C @ =gUnknown_20370C0 + ldr r0, _0809D91C @ =gSpecialVar_0x8004 ldrh r0, [r0] cmp r0, 0x6 bls _0809D920 @@ -2018,7 +2018,7 @@ _0809D918: movs r0, 0x6 b _0809D94E .align 2, 0 -_0809D91C: .4byte gUnknown_20370C0 +_0809D91C: .4byte gSpecialVar_0x8004 _0809D920: movs r0, 0x7 b _0809D94E @@ -2035,7 +2035,7 @@ _0809D930: movs r0, 0x7F b _0809D94E _0809D934: - ldr r0, _0809D944 @ =gUnknown_20370C0 + ldr r0, _0809D944 @ =gSpecialVar_0x8004 ldrh r0, [r0] cmp r1, r0 bcc _0809D948 @@ -2044,7 +2044,7 @@ _0809D934: lsrs r0, 16 b _0809D94E .align 2, 0 -_0809D944: .4byte gUnknown_20370C0 +_0809D944: .4byte gSpecialVar_0x8004 _0809D948: ldrh r0, [r3] b _0809D94E diff --git a/asm/script_pokemon_util_80A0058.s b/asm/script_pokemon_util_80A0058.s index 4dd5da652..191457abe 100644 --- a/asm/script_pokemon_util_80A0058.s +++ b/asm/script_pokemon_util_80A0058.s @@ -221,13 +221,13 @@ _080A020C: cmp r1, 0x2 bne _080A0214 _080A0210: - ldr r0, _080A0218 @ =gUnknown_20370D0 + ldr r0, _080A0218 @ =gSpecialVar_Result strh r1, [r0] _080A0214: pop {r0} bx r0 .align 2, 0 -_080A0218: .4byte gUnknown_20370D0 +_080A0218: .4byte gSpecialVar_Result thumb_func_end CheckForAlivePartyMons thumb_func_start CheckPartyMonHasHeldItem @@ -400,14 +400,14 @@ sub_80A0350: @ 80A0350 ldrb r1, [r0] cmp r1, 0 bne _080A0368 - ldr r0, _080A0364 @ =gUnknown_20370D0 + ldr r0, _080A0364 @ =gSpecialVar_Result strh r1, [r0] b _080A036E .align 2, 0 _080A0360: .4byte gUnknown_203B0D4 -_080A0364: .4byte gUnknown_20370D0 +_080A0364: .4byte gSpecialVar_Result _080A0368: - ldr r1, _080A0378 @ =gUnknown_20370D0 + ldr r1, _080A0378 @ =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] _080A036E: @@ -416,7 +416,7 @@ _080A036E: pop {r0} bx r0 .align 2, 0 -_080A0378: .4byte gUnknown_20370D0 +_080A0378: .4byte gSpecialVar_Result _080A037C: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music thumb_func_end sub_80A0350 @@ -443,15 +443,15 @@ sub_80A039C: @ 80A039C cmp r4, 0 bne _080A03B8 bl LoadPlayerParty - ldr r0, _080A03B4 @ =gUnknown_20370D0 + ldr r0, _080A03B4 @ =gSpecialVar_Result strh r4, [r0] b _080A03C2 .align 2, 0 _080A03B0: .4byte gUnknown_203B0D4 -_080A03B4: .4byte gUnknown_20370D0 +_080A03B4: .4byte gSpecialVar_Result _080A03B8: bl sub_80A03D8 - ldr r1, _080A03D0 @ =gUnknown_20370D0 + ldr r1, _080A03D0 @ =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] _080A03C2: @@ -461,7 +461,7 @@ _080A03C2: pop {r0} bx r0 .align 2, 0 -_080A03D0: .4byte gUnknown_20370D0 +_080A03D0: .4byte gSpecialVar_Result _080A03D4: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music thumb_func_end sub_80A039C diff --git a/asm/script_pokemon_util_80BF8FC.s b/asm/script_pokemon_util_80BF8FC.s index b8da48f65..eec41cf11 100644 --- a/asm/script_pokemon_util_80BF8FC.s +++ b/asm/script_pokemon_util_80BF8FC.s @@ -105,7 +105,7 @@ sub_80BF9BC: @ 80BF9BC push {r4,lr} sub sp, 0x4 ldr r0, _080BF9F0 @ =gPlayerParty - ldr r1, _080BF9F4 @ =gUnknown_20370C0 + ldr r1, _080BF9F4 @ =gSpecialVar_0x8004 ldrb r1, [r1] ldr r2, _080BF9F8 @ =gPlayerPartyCount ldrb r2, [r2] @@ -127,7 +127,7 @@ sub_80BF9BC: @ 80BF9BC bx r0 .align 2, 0 _080BF9F0: .4byte gPlayerParty -_080BF9F4: .4byte gUnknown_20370C0 +_080BF9F4: .4byte gSpecialVar_0x8004 _080BF9F8: .4byte gPlayerPartyCount _080BF9FC: .4byte c2_exit_to_overworld_2_switch _080BFA00: .4byte gUnknown_3005020 @@ -137,13 +137,13 @@ _080BFA04: .4byte sub_807DD24 thumb_func_start ScrSpecial_CountPokemonMoves ScrSpecial_CountPokemonMoves: @ 80BFA08 push {r4,r5,lr} - ldr r1, _080BFA44 @ =gUnknown_20370D0 + ldr r1, _080BFA44 @ =gSpecialVar_Result movs r0, 0 strh r0, [r1] movs r4, 0 adds r5, r1, 0 _080BFA14: - ldr r0, _080BFA48 @ =gUnknown_20370C0 + ldr r0, _080BFA48 @ =gSpecialVar_0x8004 ldrh r1, [r0] movs r0, 0x64 muls r0, r1 @@ -167,15 +167,15 @@ _080BFA32: pop {r0} bx r0 .align 2, 0 -_080BFA44: .4byte gUnknown_20370D0 -_080BFA48: .4byte gUnknown_20370C0 +_080BFA44: .4byte gSpecialVar_Result +_080BFA48: .4byte gSpecialVar_0x8004 _080BFA4C: .4byte gPlayerParty thumb_func_end ScrSpecial_CountPokemonMoves thumb_func_start ScrSpecial_GetPokemonNicknameAndMoveName ScrSpecial_GetPokemonNicknameAndMoveName: @ 80BFA50 push {r4,r5,lr} - ldr r0, _080BFA90 @ =gUnknown_20370C0 + ldr r0, _080BFA90 @ =gSpecialVar_0x8004 ldrh r1, [r0] movs r0, 0x64 adds r5, r1, 0 @@ -203,7 +203,7 @@ ScrSpecial_GetPokemonNicknameAndMoveName: @ 80BFA50 pop {r0} bx r0 .align 2, 0 -_080BFA90: .4byte gUnknown_20370C0 +_080BFA90: .4byte gSpecialVar_0x8004 _080BFA94: .4byte gPlayerParty _080BFA98: .4byte gSpecialVar_0x8005 _080BFA9C: .4byte gStringVar1 @@ -338,7 +338,7 @@ sub_80BFBA8: @ 80BFBA8 push {r4-r6,lr} mov r6, r8 push {r6} - ldr r0, _080BFC08 @ =gUnknown_20370C0 + ldr r0, _080BFC08 @ =gSpecialVar_0x8004 mov r8, r0 ldrh r0, [r0] movs r6, 0x64 @@ -359,7 +359,7 @@ sub_80BFBA8: @ 80BFBA8 cmp r4, 0x2 bhi _080BFBFC _080BFBDA: - ldr r0, _080BFC08 @ =gUnknown_20370C0 + ldr r0, _080BFC08 @ =gSpecialVar_0x8004 ldrh r1, [r0] movs r0, 0x64 muls r0, r1 @@ -382,7 +382,7 @@ _080BFBFC: pop {r0} bx r0 .align 2, 0 -_080BFC08: .4byte gUnknown_20370C0 +_080BFC08: .4byte gSpecialVar_0x8004 _080BFC0C: .4byte gPlayerParty _080BFC10: .4byte gSpecialVar_0x8005 thumb_func_end sub_80BFBA8 @@ -390,7 +390,7 @@ _080BFC10: .4byte gSpecialVar_0x8005 thumb_func_start sub_80BFC14 sub_80BFC14: @ 80BFC14 push {lr} - ldr r0, _080BFC38 @ =gUnknown_20370C0 + ldr r0, _080BFC38 @ =gSpecialVar_0x8004 ldrh r1, [r0] movs r0, 0x64 muls r0, r1 @@ -401,22 +401,22 @@ sub_80BFC14: @ 80BFC14 adds r1, r0, 0 cmp r1, 0 beq _080BFC44 - ldr r1, _080BFC40 @ =gUnknown_20370D0 + ldr r1, _080BFC40 @ =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] b _080BFC48 .align 2, 0 -_080BFC38: .4byte gUnknown_20370C0 +_080BFC38: .4byte gSpecialVar_0x8004 _080BFC3C: .4byte gPlayerParty -_080BFC40: .4byte gUnknown_20370D0 +_080BFC40: .4byte gSpecialVar_Result _080BFC44: - ldr r0, _080BFC4C @ =gUnknown_20370D0 + ldr r0, _080BFC4C @ =gSpecialVar_Result strh r1, [r0] _080BFC48: pop {r0} bx r0 .align 2, 0 -_080BFC4C: .4byte gUnknown_20370D0 +_080BFC4C: .4byte gSpecialVar_Result thumb_func_end sub_80BFC14 .align 2, 0 @ Don't pad with nop. diff --git a/asm/seagallop.s b/asm/seagallop.s index 7d40b69e0..89f8c2867 100644 --- a/asm/seagallop.s +++ b/asm/seagallop.s @@ -338,7 +338,7 @@ _0814713C: .4byte gPaletteFade sub_8147140: @ 8147140 push {r4,lr} sub sp, 0x4 - ldr r1, _081471AC @ =gUnknown_20370C4 + ldr r1, _081471AC @ =gSpecialVar_0x8006 ldrh r0, [r1] cmp r0, 0xA bls _08147150 @@ -382,7 +382,7 @@ _08147150: pop {r0} bx r0 .align 2, 0 -_081471AC: .4byte gUnknown_20370C4 +_081471AC: .4byte gSpecialVar_0x8006 _081471B0: .4byte gUnknown_846AEFC _081471B4: .4byte gUnknown_3005020 _081471B8: .4byte sub_807DF64 @@ -767,7 +767,7 @@ _081474C6: thumb_func_start sub_81474CC sub_81474CC: @ 81474CC push {lr} - ldr r2, _081474EC @ =gUnknown_20370C0 + ldr r2, _081474EC @ =gSpecialVar_0x8004 ldrh r0, [r2] cmp r0, 0xA bhi _081474F8 @@ -775,16 +775,16 @@ sub_81474CC: @ 81474CC lsls r0, 1 adds r0, r1 ldrh r0, [r0] - ldr r1, _081474F4 @ =gUnknown_20370C4 + ldr r1, _081474F4 @ =gSpecialVar_0x8006 ldrh r1, [r1] asrs r0, r1 movs r1, 0x1 ands r0, r1 b _081474FA .align 2, 0 -_081474EC: .4byte gUnknown_20370C0 +_081474EC: .4byte gSpecialVar_0x8004 _081474F0: .4byte gUnknown_846AF28 -_081474F4: .4byte gUnknown_20370C4 +_081474F4: .4byte gSpecialVar_0x8006 _081474F8: movs r0, 0x1 _081474FA: diff --git a/asm/shop.s b/asm/shop.s index 263e5b3c5..60b92410d 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -3280,7 +3280,7 @@ sub_809C4A8: @ 809C4A8 adds r0, r1, 0x4 adds r1, 0x6 bl PlayerGetDestCoords - ldr r0, _0809C4E8 @ =gUnknown_20370C0 + ldr r0, _0809C4E8 @ =gSpecialVar_0x8004 ldrh r0, [r0] cmp r0, 0 bne _0809C4EC @@ -3290,7 +3290,7 @@ sub_809C4A8: @ 809C4A8 .align 2, 0 _0809C4E0: .4byte sub_809C500 _0809C4E4: .4byte gTasks -_0809C4E8: .4byte gUnknown_20370C0 +_0809C4E8: .4byte gSpecialVar_0x8004 _0809C4EC: ldrh r0, [r4, 0xC] subs r0, 0x1 diff --git a/asm/start_menu.s b/asm/start_menu.s index 43155b5da..73a82fb5c 100644 --- a/asm/start_menu.s +++ b/asm/start_menu.s @@ -1212,14 +1212,14 @@ task50_save_game: @ 806F6D4 _0806F6F0: cmp r1, 0x3 bgt _0806F704 - ldr r1, _0806F6FC @ =gUnknown_20370D0 + ldr r1, _0806F6FC @ =gSpecialVar_Result movs r0, 0 strh r0, [r1] b _0806F704 .align 2, 0 -_0806F6FC: .4byte gUnknown_20370D0 +_0806F6FC: .4byte gSpecialVar_Result _0806F700: - ldr r0, _0806F718 @ =gUnknown_20370D0 + ldr r0, _0806F718 @ =gSpecialVar_Result strh r1, [r0] _0806F704: adds r0, r4, 0 @@ -1231,7 +1231,7 @@ _0806F712: pop {r0} bx r0 .align 2, 0 -_0806F718: .4byte gUnknown_20370D0 +_0806F718: .4byte gSpecialVar_Result thumb_func_end task50_save_game thumb_func_start sub_806F71C diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index 48f98a2b4..bdd06dfff 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -2154,7 +2154,7 @@ sub_815BC90: @ 815BC90 ldr r1, _0815BCCC @ =gTasks+0x8 adds r5, r0, r1 bl sub_815B220 - ldr r1, _0815BCD0 @ =gUnknown_20370C0 + ldr r1, _0815BCD0 @ =gSpecialVar_0x8004 ldr r4, _0815BCD4 @ =gUnknown_203F444 ldrb r0, [r4, 0x5] strh r0, [r1] @@ -2172,7 +2172,7 @@ sub_815BC90: @ 815BC90 b _0815BCE2 .align 2, 0 _0815BCCC: .4byte gTasks+0x8 -_0815BCD0: .4byte gUnknown_20370C0 +_0815BCD0: .4byte gSpecialVar_0x8004 _0815BCD4: .4byte gUnknown_203F444 _0815BCD8: .4byte gMain _0815BCDC: .4byte sub_815BD58 diff --git a/asm/tm_case.s b/asm/tm_case.s index 7ab09953f..1539343e8 100644 --- a/asm/tm_case.s +++ b/asm/tm_case.s @@ -1400,7 +1400,7 @@ sub_81322D4: @ 81322D4 bne _08132354 movs r0, 0x5 bl PlaySE - ldr r0, _08132350 @ =gUnknown_203AD30 + ldr r0, _08132350 @ =gSpecialVar_ItemId mov r1, r8 strh r1, [r0] b _08132370 @@ -1409,7 +1409,7 @@ _08132340: .4byte gTasks+0x8 _08132344: .4byte gPaletteFade _08132348: .4byte gUnknown_203B116 _0813234C: .4byte gMain -_08132350: .4byte gUnknown_203AD30 +_08132350: .4byte gSpecialVar_ItemId _08132354: movs r0, 0x2 negs r0, r0 @@ -1422,7 +1422,7 @@ _08132354: _08132364: movs r0, 0x5 bl PlaySE - ldr r1, _08132378 @ =gUnknown_203AD30 + ldr r1, _08132378 @ =gSpecialVar_ItemId movs r0, 0 strh r0, [r1] _08132370: @@ -1430,7 +1430,7 @@ _08132370: bl sub_8132230 b _081323C8 .align 2, 0 -_08132378: .4byte gUnknown_203AD30 +_08132378: .4byte gSpecialVar_ItemId _0813237C: movs r0, 0x5 bl PlaySE @@ -1450,7 +1450,7 @@ _0813237C: movs r0, 0x4 adds r1, r4, 0 bl sub_809A798 - ldr r1, _081323D4 @ =gUnknown_203AD30 + ldr r1, _081323D4 @ =gSpecialVar_ItemId strh r0, [r1] ldr r0, _081323D8 @ =gTasks lsls r1, r7, 2 @@ -1471,7 +1471,7 @@ _081323C8: pop {r0} bx r0 .align 2, 0 -_081323D4: .4byte gUnknown_203AD30 +_081323D4: .4byte gSpecialVar_ItemId _081323D8: .4byte gTasks _081323DC: .4byte gUnknown_8463140 _081323E0: .4byte gUnknown_203B10C @@ -1591,7 +1591,7 @@ _08132468: lsls r0, 1 bl Alloc adds r4, r0, 0 - ldr r6, _08132558 @ =gUnknown_203AD30 + ldr r6, _08132558 @ =gSpecialVar_ItemId ldrh r1, [r6] bl sub_8131D48 ldr r1, _0813255C @ =gUnknown_8416301 @@ -1643,7 +1643,7 @@ _08132528: _0813254C: .4byte gUnknown_203B118 _08132550: .4byte gUnknown_846316B _08132554: .4byte gUnknown_8463150 -_08132558: .4byte gUnknown_203AD30 +_08132558: .4byte gSpecialVar_ItemId _0813255C: .4byte gUnknown_8416301 _08132560: .4byte gTasks _08132564: .4byte sub_8132568 @@ -1852,7 +1852,7 @@ sub_8132714: @ 8132714 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _08132744 @ =gUnknown_203AD30 + ldr r0, _08132744 @ =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, _08132748 @ =gStringVar1 bl sub_8099E90 @@ -1869,7 +1869,7 @@ sub_8132714: @ 8132714 pop {r0} bx r0 .align 2, 0 -_08132744: .4byte gUnknown_203AD30 +_08132744: .4byte gSpecialVar_ItemId _08132748: .4byte gStringVar1 _0813274C: .4byte gStringVar4 _08132750: .4byte gUnknown_841635E @@ -2085,7 +2085,7 @@ sub_8132908: @ 8132908 lsls r0, 3 ldr r1, _08132950 @ =gTasks+0x8 adds r4, r0, r1 - ldr r6, _08132954 @ =gUnknown_203AD30 + ldr r6, _08132954 @ =gSpecialVar_ItemId ldrh r0, [r6] bl itemid_get_market_price lsls r0, 16 @@ -2109,7 +2109,7 @@ sub_8132908: @ 8132908 b _081329AE .align 2, 0 _08132950: .4byte gTasks+0x8 -_08132954: .4byte gUnknown_203AD30 +_08132954: .4byte gSpecialVar_ItemId _08132958: .4byte gStringVar1 _0813295C: .4byte gStringVar4 _08132960: .4byte gUnknown_84168F1 @@ -2503,7 +2503,7 @@ sub_8132CAC: @ 8132CAC bl PutWindowTilemap movs r0, 0 bl schedule_bg_copy_tilemap_to_vram - ldr r0, _08132D1C @ =gUnknown_203AD30 + ldr r0, _08132D1C @ =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, _08132D20 @ =gStringVar1 bl sub_8099E90 @@ -2537,7 +2537,7 @@ sub_8132CAC: @ 8132CAC bx r0 .align 2, 0 _08132D18: .4byte gTasks+0x8 -_08132D1C: .4byte gUnknown_203AD30 +_08132D1C: .4byte gSpecialVar_ItemId _08132D20: .4byte gStringVar1 _08132D24: .4byte gStringVar3 _08132D28: .4byte gStringVar4 @@ -2564,7 +2564,7 @@ sub_8132D34: @ 8132D34 mov r8, r1 movs r0, 0xF8 bl PlaySE - ldr r5, _08132DF8 @ =gUnknown_203AD30 + ldr r5, _08132DF8 @ =gSpecialVar_ItemId ldrh r0, [r5] mov r2, r8 ldrh r1, [r2, 0x10] @@ -2632,7 +2632,7 @@ sub_8132D34: @ 8132D34 bx r0 .align 2, 0 _08132DF4: .4byte gTasks+0x8 -_08132DF8: .4byte gUnknown_203AD30 +_08132DF8: .4byte gSpecialVar_ItemId _08132DFC: .4byte gSaveBlock1Ptr _08132E00: .4byte gUnknown_203B116 _08132E04: .4byte gUnknown_3005E70 diff --git a/asm/trade.s b/asm/trade.s index 8ae34f179..07d939caf 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -8912,7 +8912,7 @@ _08050EA8: .4byte gStringVar3 _08050EAC: .4byte gPlayerParty _08050EB0: .4byte gStringVar2 _08050EB4: - ldr r0, _08050EF8 @ =gUnknown_20370C0 + ldr r0, _08050EF8 @ =gSpecialVar_0x8004 ldrh r0, [r0] lsls r4, r0, 4 subs r4, r0 @@ -8944,7 +8944,7 @@ _08050EF0: pop {r0} bx r0 .align 2, 0 -_08050EF8: .4byte gUnknown_20370C0 +_08050EF8: .4byte gSpecialVar_0x8004 _08050EFC: .4byte gUnknown_826CF8C _08050F00: .4byte gStringVar1 _08050F04: .4byte gStringVar3 @@ -13782,7 +13782,7 @@ _08053A98: .4byte SpriteCallbackDummy thumb_func_start sub_8053A9C sub_8053A9C: @ 8053A9C push {r4-r6,lr} - ldr r0, _08053AD0 @ =gUnknown_20370C0 + ldr r0, _08053AD0 @ =gSpecialVar_0x8004 ldrh r0, [r0] lsls r4, r0, 4 subs r4, r0 @@ -13806,7 +13806,7 @@ sub_8053A9C: @ 8053A9C pop {r1} bx r1 .align 2, 0 -_08053AD0: .4byte gUnknown_20370C0 +_08053AD0: .4byte gSpecialVar_0x8004 _08053AD4: .4byte gUnknown_826CF8C _08053AD8: .4byte gStringVar1 _08053ADC: .4byte gSpeciesNames @@ -13817,7 +13817,7 @@ _08053AE0: .4byte gStringVar2 sub_8053AE4: @ 8053AE4 push {r4,lr} sub sp, 0x20 - ldr r0, _08053B2C @ =gUnknown_20370C0 + ldr r0, _08053B2C @ =gSpecialVar_0x8004 ldrh r0, [r0] lsls r4, r0, 4 subs r4, r0 @@ -13848,7 +13848,7 @@ sub_8053AE4: @ 8053AE4 pop {r0} bx r0 .align 2, 0 -_08053B2C: .4byte gUnknown_20370C0 +_08053B2C: .4byte gSpecialVar_0x8004 _08053B30: .4byte gUnknown_826CF8C _08053B34: .4byte gSpecialVar_0x8005 _08053B38: .4byte gPlayerParty @@ -14115,14 +14115,14 @@ sub_8053D68: @ 8053D68 push {lr} ldr r0, _08053D7C @ =gSpecialVar_0x8005 ldrb r0, [r0] - ldr r1, _08053D80 @ =gUnknown_20370C0 + ldr r1, _08053D80 @ =gSpecialVar_0x8004 ldrb r1, [r1] bl sub_8053B48 pop {r0} bx r0 .align 2, 0 _08053D7C: .4byte gSpecialVar_0x8005 -_08053D80: .4byte gUnknown_20370C0 +_08053D80: .4byte gSpecialVar_0x8004 thumb_func_end sub_8053D68 thumb_func_start sub_8053D84 diff --git a/asm/trainer_tower.s b/asm/trainer_tower.s index 6ef1e7468..5b65927d5 100644 --- a/asm/trainer_tower.s +++ b/asm/trainer_tower.s @@ -303,7 +303,7 @@ sub_815D9E8: @ 815D9E8 push {lr} bl sub_815DC8C ldr r1, _0815DA08 @ =gUnknown_847A230 - ldr r0, _0815DA0C @ =gUnknown_20370C0 + ldr r0, _0815DA0C @ =gSpecialVar_0x8004 ldrh r0, [r0] lsls r0, 2 adds r0, r1 @@ -314,7 +314,7 @@ sub_815D9E8: @ 815D9E8 bx r0 .align 2, 0 _0815DA08: .4byte gUnknown_847A230 -_0815DA0C: .4byte gUnknown_20370C0 +_0815DA0C: .4byte gSpecialVar_0x8004 thumb_func_end sub_815D9E8 thumb_func_start sub_815DA10 @@ -741,7 +741,7 @@ sub_815DD44: @ 815DD44 ldrb r1, [r4, 0x4] cmp r0, r1 ble _0815DD78 - ldr r0, _0815DD74 @ =gUnknown_20370D0 + ldr r0, _0815DD74 @ =gSpecialVar_Result movs r1, 0x3 strh r1, [r0] movs r0, 0x99 @@ -752,9 +752,9 @@ sub_815DD44: @ 815DD44 _0815DD68: .4byte gMapHeader _0815DD6C: .4byte 0xfffffed7 _0815DD70: .4byte gUnknown_203F458 -_0815DD74: .4byte gUnknown_20370D0 +_0815DD74: .4byte gSpecialVar_Result _0815DD78: - ldr r3, _0815DDA8 @ =gUnknown_20370D0 + ldr r3, _0815DDA8 @ =gSpecialVar_Result ldrb r1, [r4] lsls r0, r1, 5 subs r0, r1 @@ -778,7 +778,7 @@ _0815DDA2: pop {r0} bx r0 .align 2, 0 -_0815DDA8: .4byte gUnknown_20370D0 +_0815DDA8: .4byte gSpecialVar_Result _0815DDAC: .4byte gUnknown_847A284 thumb_func_end sub_815DD44 @@ -1015,7 +1015,7 @@ _0815DF4E: thumb_func_start sub_815DF54 sub_815DF54: @ 815DF54 push {r4,r5,lr} - ldr r0, _0815DF90 @ =gUnknown_20370C4 + ldr r0, _0815DF90 @ =gSpecialVar_0x8006 ldrh r4, [r0] ldr r2, _0815DF94 @ =gUnknown_203F458 ldr r3, [r2] @@ -1046,7 +1046,7 @@ _0815DF7C: beq _0815DFA6 b _0815E05C .align 2, 0 -_0815DF90: .4byte gUnknown_20370C4 +_0815DF90: .4byte gSpecialVar_0x8006 _0815DF94: .4byte gUnknown_203F458 _0815DF98: .4byte gSpecialVar_0x8005 _0815DF9C: @@ -1335,7 +1335,7 @@ sub_815E1C0: @ 815E1C0 ldrh r0, [r0] cmp r0, 0 bne _0815E1DE - ldr r3, _0815E1E8 @ =gUnknown_20370D0 + ldr r3, _0815E1E8 @ =gSpecialVar_Result ldr r0, _0815E1EC @ =gUnknown_203F458 ldr r1, [r0] ldrb r2, [r1] @@ -1350,7 +1350,7 @@ _0815E1DE: bx r0 .align 2, 0 _0815E1E4: .4byte gSpecialVar_0x8005 -_0815E1E8: .4byte gUnknown_20370D0 +_0815E1E8: .4byte gSpecialVar_Result _0815E1EC: .4byte gUnknown_203F458 thumb_func_end sub_815E1C0 @@ -1412,7 +1412,7 @@ sub_815E218: @ 815E218 ldrb r1, [r1, 0xD] cmp r3, r1 bgt _0815E27C - ldr r1, _0815E278 @ =gUnknown_20370D0 + ldr r1, _0815E278 @ =gSpecialVar_Result movs r0, 0 b _0815E280 .align 2, 0 @@ -1422,16 +1422,16 @@ _0815E268: .4byte gSaveBlock1Ptr _0815E26C: .4byte 0x00003d34 _0815E270: .4byte 0xfffffed7 _0815E274: .4byte gUnknown_203F458 -_0815E278: .4byte gUnknown_20370D0 +_0815E278: .4byte gSpecialVar_Result _0815E27C: - ldr r1, _0815E288 @ =gUnknown_20370D0 + ldr r1, _0815E288 @ =gSpecialVar_Result movs r0, 0x1 _0815E280: strh r0, [r1] pop {r0} bx r0 .align 2, 0 -_0815E288: .4byte gUnknown_20370D0 +_0815E288: .4byte gSpecialVar_Result thumb_func_end sub_815E218 thumb_func_start sub_815E28C @@ -1566,7 +1566,7 @@ _0815E390: .4byte 0x00003d38 sub_815E394: @ 815E394 push {lr} bl DisableVBlankCounter1 - ldr r3, _0815E3F8 @ =gUnknown_20370D0 + ldr r3, _0815E3F8 @ =gSpecialVar_Result movs r0, 0 strh r0, [r3] ldr r0, _0815E3FC @ =gSaveBlock1Ptr @@ -1616,7 +1616,7 @@ _0815E3D6: pop {r0} bx r0 .align 2, 0 -_0815E3F8: .4byte gUnknown_20370D0 +_0815E3F8: .4byte gSpecialVar_Result _0815E3FC: .4byte gSaveBlock1Ptr _0815E400: .4byte 0x00003d34 _0815E404: .4byte 0x00003d42 @@ -1651,7 +1651,7 @@ sub_815E408: @ 815E408 lsrs r5, r0, 31 cmp r5, 0 beq _0815E45C - ldr r1, _0815E458 @ =gUnknown_20370D0 + ldr r1, _0815E458 @ =gSpecialVar_Result movs r0, 0x2 b _0815E4A0 .align 2, 0 @@ -1660,7 +1660,7 @@ _0815E448: .4byte gUnknown_203F458 _0815E44C: .4byte gSaveBlock1Ptr _0815E450: .4byte 0x00003d34 _0815E454: .4byte 0x00003d42 -_0815E458: .4byte gUnknown_20370D0 +_0815E458: .4byte gSpecialVar_Result _0815E45C: adds r0, r4, 0 movs r1, 0x1 @@ -1685,14 +1685,14 @@ _0815E45C: movs r2, 0x1 orrs r0, r2 strb r0, [r1] - ldr r0, _0815E498 @ =gUnknown_20370D0 + ldr r0, _0815E498 @ =gSpecialVar_Result strh r5, [r0] b _0815E4A2 .align 2, 0 _0815E494: .4byte gStringVar2 -_0815E498: .4byte gUnknown_20370D0 +_0815E498: .4byte gSpecialVar_Result _0815E49C: - ldr r1, _0815E4AC @ =gUnknown_20370D0 + ldr r1, _0815E4AC @ =gSpecialVar_Result movs r0, 0x1 _0815E4A0: strh r0, [r1] @@ -1703,7 +1703,7 @@ _0815E4A2: pop {r0} bx r0 .align 2, 0 -_0815E4AC: .4byte gUnknown_20370D0 +_0815E4AC: .4byte gSpecialVar_Result thumb_func_end sub_815E408 thumb_func_start sub_815E4B0 @@ -1725,14 +1725,14 @@ sub_815E4B0: @ 815E4B0 lsrs r5, r0, 31 cmp r5, 0 beq _0815E4E8 - ldr r1, _0815E4E4 @ =gUnknown_20370D0 + ldr r1, _0815E4E4 @ =gSpecialVar_Result movs r0, 0x2 b _0815E534 .align 2, 0 _0815E4D8: .4byte gSaveBlock1Ptr _0815E4DC: .4byte 0x00003d34 _0815E4E0: .4byte 0x00003d42 -_0815E4E4: .4byte gUnknown_20370D0 +_0815E4E4: .4byte gSpecialVar_Result _0815E4E8: ldr r4, _0815E520 @ =0x00003d38 adds r0, r1, r4 @@ -1756,16 +1756,16 @@ _0815E4E8: adds r0, r3 adds r1, r4, 0 bl sub_815EDF4 - ldr r0, _0815E52C @ =gUnknown_20370D0 + ldr r0, _0815E52C @ =gSpecialVar_Result strh r5, [r0] b _0815E536 .align 2, 0 _0815E520: .4byte 0x00003d38 _0815E524: .4byte 0x00003d34 _0815E528: .4byte 0x00003d3c -_0815E52C: .4byte gUnknown_20370D0 +_0815E52C: .4byte gSpecialVar_Result _0815E530: - ldr r1, _0815E55C @ =gUnknown_20370D0 + ldr r1, _0815E55C @ =gSpecialVar_Result movs r0, 0x1 _0815E534: strh r0, [r1] @@ -1789,7 +1789,7 @@ _0815E536: pop {r0} bx r0 .align 2, 0 -_0815E55C: .4byte gUnknown_20370D0 +_0815E55C: .4byte gSpecialVar_Result _0815E560: .4byte gSaveBlock1Ptr _0815E564: .4byte 0x00003d34 _0815E568: .4byte 0x00003d42 @@ -1887,14 +1887,14 @@ sub_815E5F0: @ 815E5F0 negs r0, r0 ands r0, r1 strb r0, [r2] - ldr r1, _0815E62C @ =gUnknown_20370D0 + ldr r1, _0815E62C @ =gSpecialVar_Result movs r0, 0 b _0815E64C .align 2, 0 _0815E620: .4byte gSaveBlock1Ptr _0815E624: .4byte 0x00003d34 _0815E628: .4byte 0x00003d42 -_0815E62C: .4byte gUnknown_20370D0 +_0815E62C: .4byte gSpecialVar_Result _0815E630: lsls r0, r1, 27 cmp r0, 0 @@ -1903,20 +1903,20 @@ _0815E630: negs r0, r0 ands r0, r1 strb r0, [r2] - ldr r1, _0815E644 @ =gUnknown_20370D0 + ldr r1, _0815E644 @ =gSpecialVar_Result movs r0, 0x1 b _0815E64C .align 2, 0 -_0815E644: .4byte gUnknown_20370D0 +_0815E644: .4byte gSpecialVar_Result _0815E648: - ldr r1, _0815E654 @ =gUnknown_20370D0 + ldr r1, _0815E654 @ =gSpecialVar_Result movs r0, 0x2 _0815E64C: strh r0, [r1] pop {r0} bx r0 .align 2, 0 -_0815E654: .4byte gUnknown_20370D0 +_0815E654: .4byte gSpecialVar_Result thumb_func_end sub_815E5F0 thumb_func_start sub_815E658 @@ -2187,7 +2187,7 @@ _0815E8B0: .4byte 0x00004001 thumb_func_start sub_815E8B4 sub_815E8B4: @ 815E8B4 push {r4,lr} - ldr r4, _0815E8C8 @ =gUnknown_20370D0 + ldr r4, _0815E8C8 @ =gSpecialVar_Result bl GetMonsStateToDoubles lsls r0, 24 lsrs r0, 24 @@ -2196,7 +2196,7 @@ sub_815E8B4: @ 815E8B4 pop {r0} bx r0 .align 2, 0 -_0815E8C8: .4byte gUnknown_20370D0 +_0815E8C8: .4byte gSpecialVar_Result thumb_func_end sub_815E8B4 thumb_func_start sub_815E8CC @@ -2213,22 +2213,22 @@ sub_815E8CC: @ 815E8CC movs r2, 0 movs r3, 0x1 bl ConvertIntToDecimalStringN - ldr r1, _0815E8F4 @ =gUnknown_20370D0 + ldr r1, _0815E8F4 @ =gSpecialVar_Result movs r0, 0x1 b _0815E8FC .align 2, 0 _0815E8EC: .4byte gUnknown_203F458 _0815E8F0: .4byte gStringVar1 -_0815E8F4: .4byte gUnknown_20370D0 +_0815E8F4: .4byte gSpecialVar_Result _0815E8F8: - ldr r1, _0815E904 @ =gUnknown_20370D0 + ldr r1, _0815E904 @ =gSpecialVar_Result movs r0, 0 _0815E8FC: strh r0, [r1] pop {r0} bx r0 .align 2, 0 -_0815E904: .4byte gUnknown_20370D0 +_0815E904: .4byte gSpecialVar_Result thumb_func_end sub_815E8CC thumb_func_start sub_815E908 @@ -2245,23 +2245,23 @@ sub_815E908: @ 815E908 lsrs r1, r0, 16 cmp r1, 0 bne _0815E938 - ldr r0, _0815E934 @ =gUnknown_20370D0 + ldr r0, _0815E934 @ =gSpecialVar_Result strh r1, [r0] b _0815E93E .align 2, 0 _0815E928: .4byte gMapHeader _0815E92C: .4byte 0x00000129 _0815E930: .4byte 0x00004082 -_0815E934: .4byte gUnknown_20370D0 +_0815E934: .4byte gSpecialVar_Result _0815E938: - ldr r1, _0815E944 @ =gUnknown_20370D0 + ldr r1, _0815E944 @ =gSpecialVar_Result movs r0, 0 strh r0, [r1] _0815E93E: pop {r0} bx r0 .align 2, 0 -_0815E944: .4byte gUnknown_20370D0 +_0815E944: .4byte gSpecialVar_Result thumb_func_end sub_815E908 thumb_func_start sub_815E948 @@ -2332,7 +2332,7 @@ _0815E9C4: .4byte gUnknown_847A2D2 thumb_func_start sub_815E9C8 sub_815E9C8: @ 815E9C8 - ldr r3, _0815E9EC @ =gUnknown_20370D0 + ldr r3, _0815E9EC @ =gSpecialVar_Result ldr r0, _0815E9F0 @ =gSaveBlock1Ptr ldr r1, [r0] ldr r2, _0815E9F4 @ =0x00003d34 @@ -2350,7 +2350,7 @@ sub_815E9C8: @ 815E9C8 strh r0, [r3] bx lr .align 2, 0 -_0815E9EC: .4byte gUnknown_20370D0 +_0815E9EC: .4byte gSpecialVar_Result _0815E9F0: .4byte gSaveBlock1Ptr _0815E9F4: .4byte 0x00003d34 _0815E9F8: .4byte 0x00003d42 diff --git a/asm/unk_8147500.s b/asm/unk_8147500.s index 23a3b1b9c..d9867d69f 100644 --- a/asm/unk_8147500.s +++ b/asm/unk_8147500.s @@ -8,9 +8,9 @@ thumb_func_start sub_8147500 sub_8147500: @ 8147500 push {lr} - ldr r0, _08147518 @ =gUnknown_20370C0 + ldr r0, _08147518 @ =gSpecialVar_0x8004 ldrh r1, [r0] - ldr r0, _0814751C @ =gUnknown_20370C4 + ldr r0, _0814751C @ =gSpecialVar_0x8006 ldrh r2, [r0] cmp r1, 0x8 beq _08147512 @@ -20,8 +20,8 @@ _08147512: movs r0, 0x1 b _0814758E .align 2, 0 -_08147518: .4byte gUnknown_20370C0 -_0814751C: .4byte gUnknown_20370C4 +_08147518: .4byte gSpecialVar_0x8004 +_0814751C: .4byte gSpecialVar_0x8006 _08147520: cmp r1, 0 beq _08147528 diff --git a/asm/unk_8147AA8.s b/asm/unk_8147AA8.s index 1b06167f8..5b4fbd0ad 100644 --- a/asm/unk_8147AA8.s +++ b/asm/unk_8147AA8.s @@ -4267,17 +4267,17 @@ _08149A1C: bl sub_8149A00 cmp r0, 0 beq _08149A54 - ldr r1, _08149A50 @ =gUnknown_20370D0 + ldr r1, _08149A50 @ =gSpecialVar_Result movs r0, 0x1 b _08149A5E .align 2, 0 _08149A4C: .4byte gPlayerParty -_08149A50: .4byte gUnknown_20370D0 +_08149A50: .4byte gSpecialVar_Result _08149A54: adds r5, 0x1 cmp r5, 0x5 ble _08149A1C - ldr r1, _08149A68 @ =gUnknown_20370D0 + ldr r1, _08149A68 @ =gSpecialVar_Result movs r0, 0 _08149A5E: strh r0, [r1] @@ -4285,7 +4285,7 @@ _08149A5E: pop {r0} bx r0 .align 2, 0 -_08149A68: .4byte gUnknown_20370D0 +_08149A68: .4byte gSpecialVar_Result thumb_func_end sub_8149A18 thumb_func_start sub_8149A6C diff --git a/asm/unk_814B6F0.s b/asm/unk_814B6F0.s index cfc756cf8..dc7d8d9f8 100644 --- a/asm/unk_814B6F0.s +++ b/asm/unk_814B6F0.s @@ -189,7 +189,7 @@ _0814B85C: .4byte sub_814BA98 sub_814B860: @ 814B860 push {r4,lr} sub sp, 0xC - ldr r1, _0814B878 @ =gUnknown_203AD30 + ldr r1, _0814B878 @ =gSpecialVar_ItemId ldrh r0, [r1] subs r0, 0x85 lsls r0, 16 @@ -200,7 +200,7 @@ sub_814B860: @ 814B860 strh r0, [r1] b _0814B884 .align 2, 0 -_0814B878: .4byte gUnknown_203AD30 +_0814B878: .4byte gSpecialVar_ItemId _0814B87C: ldrh r0, [r1] movs r1, 0x1 @@ -211,7 +211,7 @@ _0814B884: ldrb r0, [r2, 0x8] lsls r0, 5 adds r0, r2, r0 - ldr r1, _0814B8E4 @ =gUnknown_203AD30 + ldr r1, _0814B8E4 @ =gSpecialVar_ItemId ldrh r1, [r1] subs r1, 0x85 adds r0, 0xA4 @@ -250,7 +250,7 @@ _0814B884: bx r0 .align 2, 0 _0814B8E0: .4byte gUnknown_203F3DC -_0814B8E4: .4byte gUnknown_203AD30 +_0814B8E4: .4byte gSpecialVar_ItemId _0814B8E8: .4byte sub_814BA98 _0814B8EC: .4byte sub_814BA80 thumb_func_end sub_814B860 diff --git a/asm/unk_81507FC.s b/asm/unk_81507FC.s index 97711bd33..141ff4d18 100644 --- a/asm/unk_81507FC.s +++ b/asm/unk_81507FC.s @@ -6310,7 +6310,7 @@ _081537BC: .4byte gUnknown_203F3E0 sub_81537C0: @ 81537C0 push {r4-r6,lr} movs r5, 0 - ldr r6, _081537F0 @ =gUnknown_20370D0 + ldr r6, _081537F0 @ =gSpecialVar_Result _081537C6: movs r0, 0x64 adds r1, r5, 0 @@ -6331,13 +6331,13 @@ _081537C6: strh r0, [r6] b _08153804 .align 2, 0 -_081537F0: .4byte gUnknown_20370D0 +_081537F0: .4byte gSpecialVar_Result _081537F4: .4byte gPlayerParty _081537F8: adds r5, 0x1 cmp r5, 0x5 ble _081537C6 - ldr r1, _0815380C @ =gUnknown_20370D0 + ldr r1, _0815380C @ =gSpecialVar_Result movs r0, 0 strh r0, [r1] _08153804: @@ -6345,7 +6345,7 @@ _08153804: pop {r0} bx r0 .align 2, 0 -_0815380C: .4byte gUnknown_20370D0 +_0815380C: .4byte gSpecialVar_Result thumb_func_end sub_81537C0 thumb_func_start sub_8153810 diff --git a/asm/unk_8159F40.s b/asm/unk_8159F40.s index a8d1b9bf8..aefa4ecff 100644 --- a/asm/unk_8159F40.s +++ b/asm/unk_8159F40.s @@ -23,7 +23,7 @@ sub_8159F40: @ 8159F40 bl ZeroPlayerPartyMons bl ZeroEnemyPartyMons ldr r1, _08159F94 @ =gUnknown_84792D0 - ldr r0, _08159F98 @ =gUnknown_20370C0 + ldr r0, _08159F98 @ =gSpecialVar_0x8004 ldrh r0, [r0] lsls r0, 2 adds r0, r1 @@ -49,7 +49,7 @@ _08159F72: .align 2, 0 _08159F90: .4byte gBattleTypeFlags _08159F94: .4byte gUnknown_84792D0 -_08159F98: .4byte gUnknown_20370C0 +_08159F98: .4byte gSpecialVar_0x8004 _08159F9C: .4byte gPlayerParty _08159FA0: movs r0, 0x64 diff --git a/asm/unk_815EDDC.s b/asm/unk_815EDDC.s index 6acbf447d..116458940 100644 --- a/asm/unk_815EDDC.s +++ b/asm/unk_815EDDC.s @@ -138,7 +138,7 @@ sub_815EEB0: @ 815EEB0 ldr r1, _0815EED0 @ =0x00000af8 adds r0, r1 bl sub_815EE3C - ldr r1, _0815EED4 @ =gUnknown_20370C0 + ldr r1, _0815EED4 @ =gSpecialVar_0x8004 ldrh r1, [r1] cmp r0, r1 bcc _0815EED8 @@ -147,7 +147,7 @@ sub_815EEB0: @ 815EEB0 .align 2, 0 _0815EECC: .4byte gSaveBlock2Ptr _0815EED0: .4byte 0x00000af8 -_0815EED4: .4byte gUnknown_20370C0 +_0815EED4: .4byte gSpecialVar_0x8004 _0815EED8: movs r0, 0 _0815EEDA: @@ -227,7 +227,7 @@ sub_815EF5C: @ 815EF5C ldr r0, [r0] ldr r1, _0815EF90 @ =0x00000af8 adds r4, r0, r1 - ldr r5, _0815EF94 @ =gUnknown_20370C0 + ldr r5, _0815EF94 @ =gSpecialVar_0x8004 ldrh r0, [r5] bl sub_815EE88 lsls r0, 24 @@ -245,7 +245,7 @@ sub_815EF5C: @ 815EF5C .align 2, 0 _0815EF8C: .4byte gSaveBlock2Ptr _0815EF90: .4byte 0x00000af8 -_0815EF94: .4byte gUnknown_20370C0 +_0815EF94: .4byte gSpecialVar_0x8004 _0815EF98: movs r0, 0 _0815EF9A: diff --git a/asm/wild_encounter.s b/asm/wild_encounter.s index c57ca5366..67c159abc 100644 --- a/asm/wild_encounter.s +++ b/asm/wild_encounter.s @@ -1001,15 +1001,15 @@ sub_8082E54: @ 8082E54 bne _08082EB0 bl sub_807F704 _08082E9C: - ldr r0, _08082EAC @ =gUnknown_20370D0 + ldr r0, _08082EAC @ =gSpecialVar_Result strh r4, [r0] b _08082EB6 .align 2, 0 _08082EA4: .4byte 0x0000ffff _08082EA8: .4byte gUnknown_83C9CB8 -_08082EAC: .4byte gUnknown_20370D0 +_08082EAC: .4byte gSpecialVar_Result _08082EB0: - ldr r1, _08082EBC @ =gUnknown_20370D0 + ldr r1, _08082EBC @ =gSpecialVar_Result movs r0, 0 strh r0, [r1] _08082EB6: @@ -1017,7 +1017,7 @@ _08082EB6: pop {r0} bx r0 .align 2, 0 -_08082EBC: .4byte gUnknown_20370D0 +_08082EBC: .4byte gSpecialVar_Result thumb_func_end sub_8082E54 thumb_func_start sub_8082EC0 diff --git a/data/event_scripts.s b/data/event_scripts.s index bc5e09b79..9baa201e5 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -4,22 +4,22 @@ .align 2 gSpecialVars:: @ 815FD0C - .4byte gUnknown_20370B8 - .4byte gUnknown_20370BA - .4byte gUnknown_20370BC - .4byte gUnknown_20370BE - .4byte gUnknown_20370C0 + .4byte gSpecialVar_0x8000 + .4byte gSpecialVar_0x8001 + .4byte gSpecialVar_0x8002 + .4byte gSpecialVar_0x8003 + .4byte gSpecialVar_0x8004 .4byte gSpecialVar_0x8005 - .4byte gUnknown_20370C4 - .4byte gUnknown_20370C6 - .4byte gUnknown_20370C8 - .4byte gUnknown_20370CA - .4byte gUnknown_20370CC - .4byte gUnknown_20370CE - .4byte gUnknown_20370D4 - .4byte gUnknown_20370D0 - .4byte gUnknown_203AD30 - .4byte gUnknown_20370D2 + .4byte gSpecialVar_0x8006 + .4byte gSpecialVar_0x8007 + .4byte gSpecialVar_0x8008 + .4byte gSpecialVar_0x8009 + .4byte gSpecialVar_0x800A + .4byte gSpecialVar_0x800B + .4byte gSpecialVar_Facing + .4byte gSpecialVar_Result + .4byte gSpecialVar_ItemId + .4byte gSpecialVar_LastTalked .4byte gSpecialVar_MonBoxId .4byte gSpecialVar_MonBoxPos .4byte gUnknown_20370DA diff --git a/include/event_data.h b/include/event_data.h index bced2a88f..13e388bf2 100644 --- a/include/event_data.h +++ b/include/event_data.h @@ -56,7 +56,7 @@ extern u16 gSpecialVar_MonBoxId; extern u16 gSpecialVar_MonBoxPos; extern u16 gSpecialVar_0x8014; -extern u16 gUnknown_20370D0; -extern u16 gUnknown_20370C0; +extern u16 gSpecialVar_Result; +extern u16 gSpecialVar_0x8004; #endif // GUARD_EVENT_DATA_H diff --git a/include/item_menu.h b/include/item_menu.h index 2482aa51f..a6128b9fb 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -7,7 +7,7 @@ // Exported RAM declarations -extern u16 gUnknown_203AD30; +extern u16 gSpecialVar_ItemId; // Exported ROM declarations void sub_81AAC50(void); diff --git a/src/fame_checker.c b/src/fame_checker.c index ed38406cb..bbbe02c58 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -1038,9 +1038,9 @@ static void FCSetup_ResetBGCoords(void) void SetFlavorTextFlagFromSpecialVars(void) { - if (gUnknown_20370C0 < NUM_FAMECHECKER_PERSONS && gSpecialVar_0x8005 < 6) + if (gSpecialVar_0x8004 < NUM_FAMECHECKER_PERSONS && gSpecialVar_0x8005 < 6) { - gSaveBlock1Ptr->fameChecker[gUnknown_20370C0].flavorTextFlags |= (1 << gSpecialVar_0x8005); + gSaveBlock1Ptr->fameChecker[gSpecialVar_0x8004].flavorTextFlags |= (1 << gSpecialVar_0x8005); gSpecialVar_0x8005 = FCPICKSTATE_SILHOUETTE; UpdatePickStateFromSpecialVar8005(); } @@ -1048,15 +1048,15 @@ void SetFlavorTextFlagFromSpecialVars(void) void UpdatePickStateFromSpecialVar8005(void) { - if (gUnknown_20370C0 < NUM_FAMECHECKER_PERSONS && gSpecialVar_0x8005 < 3) + if (gSpecialVar_0x8004 < NUM_FAMECHECKER_PERSONS && gSpecialVar_0x8005 < 3) { if (gSpecialVar_0x8005 == FCPICKSTATE_NO_DRAW) return; if ( gSpecialVar_0x8005 == FCPICKSTATE_SILHOUETTE - && gSaveBlock1Ptr->fameChecker[gUnknown_20370C0].pickState == FCPICKSTATE_COLORED + && gSaveBlock1Ptr->fameChecker[gSpecialVar_0x8004].pickState == FCPICKSTATE_COLORED ) return; - gSaveBlock1Ptr->fameChecker[gUnknown_20370C0].pickState = gSpecialVar_0x8005; + gSaveBlock1Ptr->fameChecker[gSpecialVar_0x8004].pickState = gSpecialVar_0x8005; } } diff --git a/src/menews_jisan.c b/src/menews_jisan.c index 13c787df7..b4fe080bf 100644 --- a/src/menews_jisan.c +++ b/src/menews_jisan.c @@ -107,7 +107,7 @@ void sub_8146CA4(void) u16 sub_8146CE8(void) { - u16 *r6 = &gUnknown_20370D0; + u16 *r6 = &gSpecialVar_Result; struct MysteryEventStruct *r4 = sub_8143D94(); u16 r5; diff --git a/src/quest_log.c b/src/quest_log.c index 546ff6e05..8e890af21 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -523,7 +523,7 @@ void sub_8110A3C(void) void sub_8110AB4(void) { - gUnknown_20370D0 = gUnknown_203ADFA; + gSpecialVar_Result = gUnknown_203ADFA; } u8 sub_8110AC8(void) @@ -2654,7 +2654,7 @@ bool16 sub_8113364(void) bool16 sub_811337C(struct Var4038Struct * a0) { - return (a0->unk_1 >> gUnknown_20370C0) & 1; + return (a0->unk_1 >> gSpecialVar_0x8004) & 1; } void sub_8113390(struct Var4038Struct * a0) @@ -2669,7 +2669,7 @@ void sub_81133A4(void) u8 r3 = 0; u8 r2 = 0; - switch (gUnknown_20370C0) + switch (gSpecialVar_0x8004) { case 0: r2 = 0; @@ -2770,7 +2770,7 @@ void sub_8113524(struct Var4038Struct * a0) u8 sub_8113530(void) { - return sub_8113114(VAR_0x4038_STRUCT, gUnknown_20370C0); + return sub_8113114(VAR_0x4038_STRUCT, gSpecialVar_0x8004); } static u16 * (*const sQuestLogStorageCBs[])(u16 *, const u16 *) = { diff --git a/src/vs_seeker.c b/src/vs_seeker.c index 17a13ab01..4d42f270d 100644 --- a/src/vs_seeker.c +++ b/src/vs_seeker.c @@ -63,7 +63,7 @@ struct VsSeekerStruct u8 responseCode:5; }; -extern u16 gUnknown_20370D2; +extern u16 gSpecialVar_LastTalked; extern struct MapObject gMapObjects[MAP_OBJECTS_COUNT]; extern u8 gUnknown_3005074; @@ -588,7 +588,7 @@ void Task_VsSeeker_0(u8 taskId) } else if (respval == 2) { - sub_80A2294(4, 0, gUnknown_203AD30, 0xffff); + sub_80A2294(4, 0, gSpecialVar_ItemId, 0xffff); FieldEffectStart(FLDEFF_UNK_41); // TODO: name this enum gTasks[taskId].func = Task_VsSeeker_1; gTasks[taskId].data[0] = 15; @@ -1078,7 +1078,7 @@ static bool8 sub_810CD80(const VsSeekerData *vsSeekerData, u16 trainerBattleOppo return FALSE; if (rematchIdx >= 0 && rematchIdx < ARRAY_COUNT(sVsSeekerData)) { - if (IsThisTrainerRematchable(gUnknown_20370D2)) + if (IsThisTrainerRematchable(gSpecialVar_LastTalked)) return TRUE; } return FALSE; @@ -1097,7 +1097,7 @@ static bool8 HasRematchTrainerAlreadyBeenFought(const VsSeekerData *vsSeekerData void sub_810CDE8(void) { - gSaveBlock1Ptr->trainerRematches[gUnknown_20370D2] = 0; + gSaveBlock1Ptr->trainerRematches[gSpecialVar_LastTalked] = 0; sub_80803FC(); } @@ -1148,7 +1148,7 @@ static bool8 sub_810CED0(const VsSeekerData * a0, u16 a1) return FALSE; if ((u32)r1 >= ARRAY_COUNT(sVsSeekerData)) return FALSE; - if (!IsThisTrainerRematchable(gUnknown_20370D2)) + if (!IsThisTrainerRematchable(gSpecialVar_LastTalked)) return FALSE; return TRUE; } diff --git a/sym_ewram.txt b/sym_ewram.txt index 9c5d6022b..d68a01f8f 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -656,49 +656,49 @@ gUnknown_20370B4: @ 20370B4 gUnknown_20370B6: @ 20370B6 .space 0x2 -gUnknown_20370B8: @ 20370B8 +gSpecialVar_0x8000: @ 20370B8 .space 0x2 -gUnknown_20370BA: @ 20370BA +gSpecialVar_0x8001: @ 20370BA .space 0x2 -gUnknown_20370BC: @ 20370BC +gSpecialVar_0x8002: @ 20370BC .space 0x2 -gUnknown_20370BE: @ 20370BE +gSpecialVar_0x8003: @ 20370BE .space 0x2 -gUnknown_20370C0: @ 20370C0 +gSpecialVar_0x8004: @ 20370C0 .space 0x2 gSpecialVar_0x8005: @ 20370C2 .space 0x2 -gUnknown_20370C4: @ 20370C4 +gSpecialVar_0x8006: @ 20370C4 .space 0x2 -gUnknown_20370C6: @ 20370C6 +gSpecialVar_0x8007: @ 20370C6 .space 0x2 -gUnknown_20370C8: @ 20370C8 +gSpecialVar_0x8008: @ 20370C8 .space 0x2 -gUnknown_20370CA: @ 20370CA +gSpecialVar_0x8009: @ 20370CA .space 0x2 -gUnknown_20370CC: @ 20370CC +gSpecialVar_0x800A: @ 20370CC .space 0x2 -gUnknown_20370CE: @ 20370CE +gSpecialVar_0x800B: @ 20370CE .space 0x2 -gUnknown_20370D0: @ 20370D0 +gSpecialVar_Result: @ 20370D0 .space 0x2 -gUnknown_20370D2: @ 20370D2 +gSpecialVar_LastTalked: @ 20370D2 .space 0x2 -gUnknown_20370D4: @ 20370D4 +gSpecialVar_Facing: @ 20370D4 .space 0x2 gSpecialVar_MonBoxId: @ 20370D6 @@ -1397,7 +1397,7 @@ gUnknown_203AD28: @ 203AD28 gUnknown_203AD2C: @ 203AD2C .space 0x4 -gUnknown_203AD30: @ 203AD30 +gSpecialVar_ItemId: @ 203AD30 .space 0x4 gUnknown_203AD34: @ 203AD34 From f91b71d3955e5df5455ec7a302b45c7f174100bf Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 16 Dec 2018 20:17:31 -0500 Subject: [PATCH 214/222] Port over berry fix program --- Makefile | 5 + berry_fix/Makefile | 160 +++ berry_fix/asm/berry_fix_header.inc | 35 + berry_fix/asm/loader.s | 119 ++ berry_fix/asm/macros/asm.inc | 12 + berry_fix/asm/macros/function.inc | 29 + berry_fix/asmdiff.sh | 7 + berry_fix/build_tools.sh | 10 + berry_fix/charmap.txt | 1067 +++++++++++++++++ berry_fix/constants/gba_constants.inc | 490 ++++++++ berry_fix/data/data.s | 4 + berry_fix/ld_script.sed | 14 + berry_fix/ld_script.txt | 31 + berry_fix/payload/Makefile | 159 +++ berry_fix/payload/asm/crt0.s | 83 ++ berry_fix/payload/asm/macros/asm.inc | 12 + berry_fix/payload/asm/macros/function.inc | 29 + berry_fix/payload/asmdiff.sh | 7 + berry_fix/payload/charmap.txt | 1067 +++++++++++++++++ berry_fix/payload/common_syms/agb_flash.txt | 10 + berry_fix/payload/common_syms/main.txt | 9 + berry_fix/payload/common_syms/rtc.txt | 2 + berry_fix/payload/constants/gba_constants.inc | 490 ++++++++ berry_fix/payload/graphics/debug_digits.png | Bin 0 -> 166 bytes berry_fix/payload/graphics/msg_box.png | Bin 0 -> 2631 bytes berry_fix/payload/graphics/msg_box.tilemap | Bin 0 -> 8192 bytes .../payload/include/constants/game_stat.h | 56 + berry_fix/payload/include/constants/vars.h | 196 +++ berry_fix/payload/include/flash.h | 55 + berry_fix/payload/include/global.berry.h | 62 + berry_fix/payload/include/global.fieldmap.h | 317 +++++ berry_fix/payload/include/global.h | 875 ++++++++++++++ berry_fix/payload/include/main.h | 45 + berry_fix/payload/include/pokemon.h | 154 +++ berry_fix/payload/include/rtc.h | 15 + berry_fix/payload/ld_script.sed | 14 + berry_fix/payload/ld_script.txt | 122 ++ berry_fix/payload/rom.sha1 | 1 + berry_fix/payload/src/flash.c | 752 ++++++++++++ berry_fix/payload/src/main.c | 289 +++++ berry_fix/payload/src/rtc.c | 346 ++++++ berry_fix/payload/sym_bss.txt | 5 + berry_fix/payload/sym_common.txt | 29 + berry_fix/payload/sym_ewram.txt | 3 + berry_fix/rom.sha1 | 1 + data/berry_fix.mb | Bin 15348 -> 0 bytes data/multiboot_berry_glitch_fix.s | 2 +- 47 files changed, 7189 insertions(+), 1 deletion(-) create mode 100644 berry_fix/Makefile create mode 100644 berry_fix/asm/berry_fix_header.inc create mode 100644 berry_fix/asm/loader.s create mode 100644 berry_fix/asm/macros/asm.inc create mode 100644 berry_fix/asm/macros/function.inc create mode 100644 berry_fix/asmdiff.sh create mode 100644 berry_fix/build_tools.sh create mode 100644 berry_fix/charmap.txt create mode 100644 berry_fix/constants/gba_constants.inc create mode 100644 berry_fix/data/data.s create mode 100644 berry_fix/ld_script.sed create mode 100644 berry_fix/ld_script.txt create mode 100644 berry_fix/payload/Makefile create mode 100644 berry_fix/payload/asm/crt0.s create mode 100644 berry_fix/payload/asm/macros/asm.inc create mode 100644 berry_fix/payload/asm/macros/function.inc create mode 100644 berry_fix/payload/asmdiff.sh create mode 100644 berry_fix/payload/charmap.txt create mode 100644 berry_fix/payload/common_syms/agb_flash.txt create mode 100644 berry_fix/payload/common_syms/main.txt create mode 100644 berry_fix/payload/common_syms/rtc.txt create mode 100644 berry_fix/payload/constants/gba_constants.inc create mode 100644 berry_fix/payload/graphics/debug_digits.png create mode 100644 berry_fix/payload/graphics/msg_box.png create mode 100644 berry_fix/payload/graphics/msg_box.tilemap create mode 100644 berry_fix/payload/include/constants/game_stat.h create mode 100644 berry_fix/payload/include/constants/vars.h create mode 100644 berry_fix/payload/include/flash.h create mode 100644 berry_fix/payload/include/global.berry.h create mode 100644 berry_fix/payload/include/global.fieldmap.h create mode 100644 berry_fix/payload/include/global.h create mode 100644 berry_fix/payload/include/main.h create mode 100644 berry_fix/payload/include/pokemon.h create mode 100644 berry_fix/payload/include/rtc.h create mode 100644 berry_fix/payload/ld_script.sed create mode 100644 berry_fix/payload/ld_script.txt create mode 100644 berry_fix/payload/rom.sha1 create mode 100644 berry_fix/payload/src/flash.c create mode 100644 berry_fix/payload/src/main.c create mode 100644 berry_fix/payload/src/rtc.c create mode 100644 berry_fix/payload/sym_bss.txt create mode 100644 berry_fix/payload/sym_common.txt create mode 100644 berry_fix/payload/sym_ewram.txt create mode 100644 berry_fix/rom.sha1 delete mode 100644 data/berry_fix.mb diff --git a/Makefile b/Makefile index 9f8b13141..431475026 100644 --- a/Makefile +++ b/Makefile @@ -84,10 +84,12 @@ clean: tidy rm -f sound/direct_sound_samples/*.bin rm -f $(SONG_OBJS) 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 {} + + @$(MAKE) -C berry_fix clean tidy: rm -f $(ROM) $(ELF) $(MAP) rm -r build/* + @$(MAKE) -C berry_fix tidy include graphics_file_rules.mk @@ -169,3 +171,6 @@ $(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS) $(ROM): $(ELF) $(OBJCOPY) -O binary $< $@ $(FIX) $@ -p -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) --silent + +berry_fix/berry_fix.gba: + @$(MAKE) -C berry_fix diff --git a/berry_fix/Makefile b/berry_fix/Makefile new file mode 100644 index 000000000..ffe0cf251 --- /dev/null +++ b/berry_fix/Makefile @@ -0,0 +1,160 @@ +include $(DEVKITARM)/base_tools +export CPP := $(PREFIX)cpp +export LD := $(PREFIX)ld + +ifeq ($(OS),Windows_NT) +EXE := .exe +else +EXE := +endif + +GAME_CODE := AGBJ +MAKER_CODE := 01 +REVISION := 0 + +SHELL := /bin/bash -o pipefail + +CPPFLAGS := -I ../tools/agbcc/include -I ../tools/agbcc -iquote include -nostdinc -undef + +ROM := berry_fix.gba +OBJ_DIR := build +CC1 := ../tools/agbcc/bin/agbcc$(EXE) +override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O2 -fhex-asm + + +ELF = $(ROM:.gba=.elf) +MAP = $(ROM:.gba=.map) + +C_SUBDIR = src +ASM_SUBDIR = asm +DATA_ASM_SUBDIR = data + +C_BUILDDIR = $(OBJ_DIR)/$(C_SUBDIR) +ASM_BUILDDIR = $(OBJ_DIR)/$(ASM_SUBDIR) +DATA_ASM_BUILDDIR = $(OBJ_DIR)/$(DATA_ASM_SUBDIR) + +ASFLAGS := -mcpu=arm7tdmi + +LDFLAGS = -Map ../$(MAP) + +SHA1 := $(shell { command -v sha1sum || command -v shasum; } 2>/dev/null) -c +GFX := ../tools/gbagfx/gbagfx$(EXE) +AIF := ../tools/aif2pcm/aif2pcm$(EXE) +MID := ../tools/mid2agb/mid2agb$(EXE) +SCANINC := ../tools/scaninc/scaninc$(EXE) +PREPROC := ../tools/preproc/preproc$(EXE) +RAMSCRGEN := ../tools/ramscrgen/ramscrgen$(EXE) +FIX := ../tools/gbafix/gbafix$(EXE) + +# Clear the default suffixes +.SUFFIXES: +# Don't delete intermediate files +.SECONDARY: +# Delete files that weren't built properly +.DELETE_ON_ERROR: + +# Secondary expansion is required for dependency variables in object rules. +.SECONDEXPANSION: + +.PHONY: rom clean compare tidy + +C_SRCS := $(wildcard $(C_SUBDIR)/*.c $(C_SUBDIR)/*/*.c $(C_SUBDIR)/*/*/*.c) +C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS)) + +ASM_SRCS := $(wildcard $(ASM_SUBDIR)/*.s) +ASM_OBJS := $(patsubst $(ASM_SUBDIR)/%.s,$(ASM_BUILDDIR)/%.o,$(ASM_SRCS)) + +DATA_ASM_SRCS := $(wildcard $(DATA_ASM_SUBDIR)/*.s) +DATA_ASM_OBJS := $(patsubst $(DATA_ASM_SUBDIR)/%.s,$(DATA_ASM_BUILDDIR)/%.o,$(DATA_ASM_SRCS)) + +SONG_SRCS := $(wildcard $(SONG_SUBDIR)/*.s) +SONG_OBJS := $(patsubst $(SONG_SUBDIR)/%.s,$(SONG_BUILDDIR)/%.o,$(SONG_SRCS)) + +MID_SRCS := $(wildcard $(MID_SUBDIR)/*.mid) +MID_OBJS := $(patsubst $(MID_SUBDIR)/%.mid,$(MID_BUILDDIR)/%.o,$(MID_SRCS)) + +OBJS := $(C_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) $(MID_OBJS) +# OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS)) + +SUBDIRS := $(sort $(dir $(OBJS))) + +$(shell mkdir -p $(SUBDIRS)) + +rom: $(ROM) + +# For contributors to make sure a change didn't affect the contents of the ROM. +compare: $(ROM) + @$(SHA1) rom.sha1 + +clean: tidy + rm -f sound/direct_sound_samples/*.bin + rm -f $(SONG_OBJS) $(MID_OBJS) $(MID_SUBDIR)/*.s + 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 {} + + make -C payload clean + +tidy: + rm -f $(ROM) $(ELF) $(MAP) + rm -r build/* + make -C payload tidy + +%.s: ; +%.png: ; +%.pal: ; +%.aif: ; + +%.1bpp: %.png ; $(GFX) $< $@ +%.4bpp: %.png ; $(GFX) $< $@ +%.8bpp: %.png ; $(GFX) $< $@ +%.gbapal: %.pal ; $(GFX) $< $@ +%.gbapal: %.png ; $(GFX) $< $@ +%.lz: % ; $(GFX) $< $@ +%.rl: % ; $(GFX) $< $@ + + +ifeq ($(NODEP),1) +$(C_BUILDDIR)/%.o: c_dep := +else +$(C_BUILDDIR)/%.o: c_dep = $(shell $(SCANINC) -I include $(C_SUBDIR)/$*.c) +endif + +$(C_BUILDDIR)/%.o : $(C_SUBDIR)/%.c $$(c_dep) + @$(CPP) $(CPPFLAGS) $< -o $(C_BUILDDIR)/$*.i + @$(PREPROC) $(C_BUILDDIR)/$*.i charmap.txt | $(CC1) $(CFLAGS) -o $(C_BUILDDIR)/$*.s + $(AS) $(ASFLAGS) -o $@ $(C_BUILDDIR)/$*.s + +ifeq ($(NODEP),1) +$(ASM_BUILDDIR)/%.o: asm_dep := +else +$(ASM_BUILDDIR)/%.o: asm_dep = $(shell $(SCANINC) $(ASM_SUBDIR)/$*.s) +endif + +$(ASM_BUILDDIR)/%.o: $(ASM_SUBDIR)/%.s $$(asm_dep) + $(AS) $(ASFLAGS) -o $@ $< + +ifeq ($(NODEP),1) +$(DATA_ASM_BUILDDIR)/%.o: data_dep := +else +$(DATA_ASM_BUILDDIR)/%.o: data_dep = $(shell $(SCANINC) $(DATA_ASM_SUBDIR)/$*.s) +endif + +payload: data/payload.gba.lz + +payload/payload.gba: + $(MAKE) -C payload/ + +data/payload.gba.lz: payload/payload.gba + $(GFX) $< $@ -search 1 + +$(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s $$(data_dep) + $(PREPROC) $< charmap.txt | $(CPP) -I include | $(AS) $(ASFLAGS) -o $@ + +$(SONG_BUILDDIR)/%.o: $(SONG_SUBDIR)/%.s + $(AS) $(ASFLAGS) -I sound -o $@ $< + +$(ELF): ld_script.txt $(OBJS) + cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ../ld_script.txt -o ../$@ + +$(ROM): $(ELF) + $(OBJCOPY) -O binary $< $@ + $(FIX) $@ -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) --silent + diff --git a/berry_fix/asm/berry_fix_header.inc b/berry_fix/asm/berry_fix_header.inc new file mode 100644 index 000000000..5167d2ff0 --- /dev/null +++ b/berry_fix/asm/berry_fix_header.inc @@ -0,0 +1,35 @@ + .global BerryFixMBHeaderNintendoLogo +BerryFixMBHeaderNintendoLogo: + .space 156 + +BerryFixMBHeaderGameTitle: + .space 12 + + .global BerryFixMBHeaderGameCode +BerryFixMBHeaderGameCode: + .space 4 + +BerryFixMBHeaderMakerCode: + .space 2 + +BerryFixMBHeaderMagic: + .byte 0 + +BerryFixMBHeaderMainUnitCode: + .byte 0 + +BerryFixMBHeaderDeviceType: + .byte 0 + +BerryFixMBHeaderReserved1: + .space 7 + + .global BerryFixMBHeaderSoftwareVersion +BerryFixMBHeaderSoftwareVersion: + .byte 0 + +BerryFixMBHeaderChecksum: + .byte 0 + +BerryFixMBHeaderReserved2: + .space 2 diff --git a/berry_fix/asm/loader.s b/berry_fix/asm/loader.s new file mode 100644 index 000000000..c342e100f --- /dev/null +++ b/berry_fix/asm/loader.s @@ -0,0 +1,119 @@ + .include "asm/macros/asm.inc" + .include "asm/macros/function.inc" + .include "constants/gba_constants.inc" + + .set SIO_ERROR, 0x0040 + .set SIO_MULTI_BUSY, 0x0080 + + .set EWRAM_ORIG, 0x02000000 + .set gCode, 0x02010000 + .set PROG_ORIG, 0x00008000 + + .syntax unified + + .text + + arm_func_start _start +_start: @ 0 + b _entry + arm_func_end _start + + .include "asm/berry_fix_header.inc" + +@ C0 + .word 0 + + .global _GPIOPortData +_GPIOPortData: @ C4 + .2byte 0 + + .global _GPIOPortDirection +_GPIOPortDirection: @ C6 + .2byte 0 + + .global _GPIOPortReadEnable +_GPIOPortReadEnable: @ C8 + .2byte 0 + +@ CA + .2byte 0 + +@ CC + .space 0x34 + + arm_func_start _entry +_entry: @ 100 + b _send + arm_func_end _entry + + .space 0x1C + + arm_func_start _recv +_recv: + @ Waits until link cable is no longer busy. + @ Returns nz if an error has occurred + @ Otherwise, returns the received short in r1. + @ Preserves r0 +_120: + ldrh r1, [r0, 0x8] @ SIOCNT + tst r1, SIO_MULTI_BUSY + beq _120 +_12c: + ldrh r1, [r0, 0x8] @ SIOCNT + tst r1, SIO_MULTI_BUSY + bne _12c + ldrh r1, [r0, 0x8] @ SIOCNT + tst r1, SIO_ERROR + bxne lr + ldrh r1, [r0] @ SIOMULTI0 + bx lr + arm_func_end _recv + + arm_func_start _send +_send: @ 14c + ldr r0, =REG_SIOMULTI0 +_150: + bl _recv + bne _150 + mov r2, 0 + strh r2, [r0, 0xa] @ SIOMLT_SEND + cmp r1, 0 + bne _150 + mov r2, 0x8000 +_16c: + mov r1, 0 +_170: + strh r1, [r0, 0xa] @ SIOMLT_SEND + bl _recv + bne _150 + cmp r1, r2 + bne _16c + lsr r2, 5 + cmp r1, 0 + bne _170 + ldr r3, =BerryFixMBHeaderGameCode + ldrh r2, [r3] + strh r2, [r0, 0xa] @ SIOMLT_SEND + bl _recv +_1a0: + bne _1a0 + cmp r1, r2 + bne _1a0 + ldrh r2, [r3, 0x2] + strh r2, [r0, 0xa] @ SIOMLT_SEND + bl _recv + bne _1a0 + cmp r1, r2 + bne _1a0 + mov r1, 0 + strh r1, [r0, 0xa] @ SIOMLT_SEND + ldr r0, =_data_2f0 + ldr r1, =gCode + swi 0x11 << 16 + ldr lr, =gCode + bx lr + .pool + arm_func_end _send + @ 1f0 + + .align 2, 0 @ don't pad with nop diff --git a/berry_fix/asm/macros/asm.inc b/berry_fix/asm/macros/asm.inc new file mode 100644 index 000000000..4ac003fab --- /dev/null +++ b/berry_fix/asm/macros/asm.inc @@ -0,0 +1,12 @@ + .macro inc x + .set \x, \x + 1 + .endm + + .macro enum_start x=0 + .set __enum__, \x + .endm + + .macro enum constant + .equiv \constant, __enum__ + inc __enum__ + .endm diff --git a/berry_fix/asm/macros/function.inc b/berry_fix/asm/macros/function.inc new file mode 100644 index 000000000..b109595df --- /dev/null +++ b/berry_fix/asm/macros/function.inc @@ -0,0 +1,29 @@ + .macro arm_func_start name + .align 2, 0 + .global \name + .arm + .type \name, %function + .endm + + .macro arm_func_end name + .size \name, .-\name + .endm + + .macro thumb_func_start name + .align 2, 0 + .global \name + .thumb + .thumb_func + .type \name, %function + .endm + + .macro non_word_aligned_thumb_func_start name + .global \name + .thumb + .thumb_func + .type \name, %function + .endm + + .macro thumb_func_end name + .size \name, .-\name + .endm diff --git a/berry_fix/asmdiff.sh b/berry_fix/asmdiff.sh new file mode 100644 index 000000000..4e14e106a --- /dev/null +++ b/berry_fix/asmdiff.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +OBJDUMP="$DEVKITARM/bin/arm-none-eabi-objdump -D -bbinary -marmv4t -Mforce-thumb" +OPTIONS="--start-address=$(($1)) --stop-address=$(($1 + $2))" +$OBJDUMP $OPTIONS baserom.gba > baserom.dump +$OBJDUMP $OPTIONS berry_fix.gba > berry_fix.dump +diff -c baserom.dump berry_fix.dump diff --git a/berry_fix/build_tools.sh b/berry_fix/build_tools.sh new file mode 100644 index 000000000..d9eebf05c --- /dev/null +++ b/berry_fix/build_tools.sh @@ -0,0 +1,10 @@ +#!/bin/sh +make -C tools/gbagfx CXX=${1:-g++} +make -C tools/scaninc CXX=${1:-g++} +make -C tools/preproc CXX=${1:-g++} +make -C tools/bin2c CXX=${1:-g++} +make -C tools/rsfont CXX=${1:-g++} +make -C tools/aif2pcm CXX=${1:-g++} +make -C tools/ramscrgen CXX=${1:-g++} +make -C tools/gbafix CXX=${1:-g++} +make -C tools/mid2agb CXX=${1:-g++} diff --git a/berry_fix/charmap.txt b/berry_fix/charmap.txt new file mode 100644 index 000000000..a736b40f2 --- /dev/null +++ b/berry_fix/charmap.txt @@ -0,0 +1,1067 @@ +' ' = 00 +'À' = 01 +'Ã' = 02 +'Â' = 03 +'Ç' = 04 +'È' = 05 +'É' = 06 +'Ê' = 07 +'Ë' = 08 +'ÃŒ' = 09 +'ÃŽ' = 0B +'Ã' = 0C +'Ã’' = 0D +'Ó' = 0E +'Ô' = 0F +'Å’' = 10 +'Ù' = 11 +'Ú' = 12 +'Û' = 13 +'Ñ' = 14 +'ß' = 15 +'à' = 16 +'á' = 17 +'ç' = 19 +'è' = 1A +'é' = 1B +'ê' = 1C +'ë' = 1D +'ì' = 1E +'î' = 20 +'ï' = 21 +'ò' = 22 +'ó' = 23 +'ô' = 24 +'Å“' = 25 +'ù' = 26 +'ú' = 27 +'û' = 28 +'ñ' = 29 +'º' = 2A +'ª' = 2B +SUPER_ER = 2C +'&' = 2D +'+' = 2E +LV = 34 +'=' = 35 +';' = 36 +'¿' = 51 +'¡' = 52 +PK = 53 +PKMN = 53 54 +POKEBLOCK = 55 56 57 58 59 +'Ã' = 5A +'%' = 5B +'(' = 5C +')' = 5D +'â' = 68 +'í' = 6F +UNK_SPACER = 77 +UP_ARROW = 79 +DOWN_ARROW = 7A +LEFT_ARROW = 7B +RIGHT_ARROW = 7C +'0' = A1 +'1' = A2 +'2' = A3 +'3' = A4 +'4' = A5 +'5' = A6 +'6' = A7 +'7' = A8 +'8' = A9 +'9' = AA +'!' = AB +'?' = AC +'.' = AD +'-' = AE +'·' = AF +'…' = B0 +'“' = B1 +'â€' = B2 +'‘' = B3 +'’' = B4 +'♂' = B5 +'♀' = B6 +'Â¥' = B7 +',' = B8 +'×' = B9 +'/' = BA +'A' = BB +'B' = BC +'C' = BD +'D' = BE +'E' = BF +'F' = C0 +'G' = C1 +'H' = C2 +'I' = C3 +'J' = C4 +'K' = C5 +'L' = C6 +'M' = C7 +'N' = C8 +'O' = C9 +'P' = CA +'Q' = CB +'R' = CC +'S' = CD +'T' = CE +'U' = CF +'V' = D0 +'W' = D1 +'X' = D2 +'Y' = D3 +'Z' = D4 +'a' = D5 +'b' = D6 +'c' = D7 +'d' = D8 +'e' = D9 +'f' = DA +'g' = DB +'h' = DC +'i' = DD +'j' = DE +'k' = DF +'l' = E0 +'m' = E1 +'n' = E2 +'o' = E3 +'p' = E4 +'q' = E5 +'r' = E6 +'s' = E7 +'t' = E8 +'u' = E9 +'v' = EA +'w' = EB +'x' = EC +'y' = ED +'z' = EE +'â–¶' = EF +':' = F0 +'Ä' = F1 +'Ö' = F2 +'Ü' = F3 +'ä' = F4 +'ö' = F5 +'ü' = F6 +TALL_PLUS = FC 0C FB +'$' = FF + +@ Hiragana +'ã‚' = 01 +'ã„' = 02 +'ã†' = 03 +'ãˆ' = 04 +'ãŠ' = 05 +'ã‹' = 06 +'ã' = 07 +'ã' = 08 +'ã‘' = 09 +'ã“' = 0A +'ã•' = 0B +'ã—' = 0C +'ã™' = 0D +'ã›' = 0E +'ã' = 0F +'ãŸ' = 10 +'ã¡' = 11 +'ã¤' = 12 +'ã¦' = 13 +'ã¨' = 14 +'ãª' = 15 +'ã«' = 16 +'ã¬' = 17 +'ã­' = 18 +'ã®' = 19 +'ã¯' = 1A +'ã²' = 1B +'ãµ' = 1C +'ã¸' = 1D +'ã»' = 1E +'ã¾' = 1F +'ã¿' = 20 +'ã‚€' = 21 +'ã‚' = 22 +'ã‚‚' = 23 +'ã‚„' = 24 +'ゆ' = 25 +'よ' = 26 +'ら' = 27 +'り' = 28 +'ã‚‹' = 29 +'れ' = 2A +'ã‚' = 2B +'ã‚' = 2C +'ã‚’' = 2D +'ã‚“' = 2E +'ã' = 2F +'ãƒ' = 30 +'ã…' = 31 +'ã‡' = 32 +'ã‰' = 33 +'ゃ' = 34 +'ã‚…' = 35 +'ょ' = 36 +'ãŒ' = 37 +'ãŽ' = 38 +'ã' = 39 +'ã’' = 3A +'ã”' = 3B +'ã–' = 3C +'ã˜' = 3D +'ãš' = 3E +'ãœ' = 3F +'ãž' = 40 +'ã ' = 41 +'ã¢' = 42 +'ã¥' = 43 +'ã§' = 44 +'ã©' = 45 +'ã°' = 46 +'ã³' = 47 +'ã¶' = 48 +'ã¹' = 49 +'ã¼' = 4A +'ã±' = 4B +'ã´' = 4C +'ã·' = 4D +'ãº' = 4E +'ã½' = 4F +'ã£' = 50 + +@ Katakana +'ã‚¢' = 51 +'イ' = 52 +'ウ' = 53 +'エ' = 54 +'オ' = 55 +'ã‚«' = 56 +'ã‚­' = 57 +'ク' = 58 +'ケ' = 59 +'コ' = 5A +'サ' = 5B +'ã‚·' = 5C +'ス' = 5D +'ã‚»' = 5E +'ソ' = 5F +'ã‚¿' = 60 +'ãƒ' = 61 +'ツ' = 62 +'テ' = 63 +'ト' = 64 +'ナ' = 65 +'ニ' = 66 +'ヌ' = 67 +'ãƒ' = 68 +'ノ' = 69 +'ãƒ' = 6A +'ヒ' = 6B +'フ' = 6C +'ヘ' = 6D +'ホ' = 6E +'マ' = 6F +'ミ' = 70 +'ム' = 71 +'メ' = 72 +'モ' = 73 +'ヤ' = 74 +'ユ' = 75 +'ヨ' = 76 +'ラ' = 77 +'リ' = 78 +'ル' = 79 +'レ' = 7A +'ロ' = 7B +'ワ' = 7C +'ヲ' = 7D +'ン' = 7E +'ã‚¡' = 7F +'ã‚£' = 80 +'ã‚¥' = 81 +'ã‚§' = 82 +'ã‚©' = 83 +'ャ' = 84 +'ュ' = 85 +'ョ' = 86 +'ガ' = 87 +'ã‚®' = 88 +'ã‚°' = 89 +'ゲ' = 8A +'ã‚´' = 8B +'ã‚¶' = 8C +'ジ' = 8D +'ズ' = 8E +'ゼ' = 8F +'ゾ' = 90 +'ダ' = 91 +'ヂ' = 92 +'ヅ' = 93 +'デ' = 94 +'ド' = 95 +'ãƒ' = 96 +'ビ' = 97 +'ブ' = 98 +'ベ' = 99 +'ボ' = 9A +'パ' = 9B +'ピ' = 9C +'プ' = 9D +'ペ' = 9E +'ãƒ' = 9F +'ッ' = A0 + +@ Japanese punctuation +' ' = 00 +'ï¼' = AB +'?' = AC +'。' = AD +'ー' = AE +'⋯' = B0 + +STRING = FD + +@ string placeholders +PLAYER = FD 01 +STR_VAR_1 = FD 02 +STR_VAR_2 = FD 03 +STR_VAR_3 = FD 04 +KUN = FD 05 +RIVAL = FD 06 +@ version-dependent strings (originally made for Ruby/Sapphire differences) +@ Emerald uses the Sapphire strings (except for VERSION). +VERSION = FD 07 @ "EMERALD" +AQUA = FD 08 +MAGMA = FD 09 +ARCHIE = FD 0A +MAXIE = FD 0B +KYOGRE = FD 0C +GROUDON = FD 0D + +@ battle string placeholders + +B_BUFF1 = FD 00 +B_BUFF2 = FD 01 +B_COPY_VAR_1 = FD 02 +B_COPY_VAR_2 = FD 03 +B_COPY_VAR_3 = FD 04 +B_PLAYER_MON1_NAME = FD 05 +B_OPPONENT_MON1_NAME = FD 06 +B_PLAYER_MON2_NAME = FD 07 +B_OPPONENT_MON2_NAME = FD 08 +B_LINK_PLAYER_MON1_NAME = FD 09 +B_LINK_OPPONENT_MON1_NAME = FD 0A +B_LINK_PLAYER_MON2_NAME = FD 0B +B_LINK_OPPONENT_MON2_NAME = FD 0C +B_ATK_NAME_WITH_PREFIX_MON1 = FD 0D +B_ATK_PARTNER_NAME = FD 0E +B_ATK_NAME_WITH_PREFIX = FD 0F +B_DEF_NAME_WITH_PREFIX = FD 10 +B_EFF_NAME_WITH_PREFIX = FD 11 @ EFF = short for gEffectBattler +B_ACTIVE_NAME_WITH_PREFIX = FD 12 +B_SCR_ACTIVE_NAME_WITH_PREFIX = FD 13 +B_CURRENT_MOVE = FD 14 +B_LAST_MOVE = FD 15 +B_LAST_ITEM = FD 16 +B_LAST_ABILITY = FD 17 +B_ATK_ABILITY = FD 18 +B_DEF_ABILITY = FD 19 +B_SCR_ACTIVE_ABILITY = FD 1A +B_EFF_ABILITY = FD 1B +B_TRAINER1_CLASS = FD 1C +B_TRAINER1_NAME = FD 1D +B_LINK_PLAYER_NAME = FD 1E +B_LINK_PARTNER_NAME = FD 1F +B_LINK_OPPONENT1_NAME = FD 20 +B_LINK_OPPONENT2_NAME = FD 21 +B_LINK_SCR_TRAINER_NAME = FD 22 +B_PLAYER_NAME = FD 23 +B_TRAINER1_LOSE_TEXT = FD 24 +B_TRAINER1_WIN_TEXT = FD 25 +B_26 = FD 26 +B_PC_CREATOR_NAME = FD 27 +B_ATK_PREFIX1 = FD 28 +B_DEF_PREFIX1 = FD 29 +B_ATK_PREFIX2 = FD 2A +B_DEF_PREFIX2 = FD 2B +B_ATK_PREFIX3 = FD 2C +B_DEF_PREFIX3 = FD 2D +B_TRAINER2_CLASS = FD 2E +B_TRAINER2_NAME = FD 2F +B_TRAINER2_LOSE_TEXT = FD 30 +B_TRAINER2_WIN_TEXT = FD 31 +B_PARTNER_CLASS = FD 32 +B_PARTNER_NAME = FD 33 +B_BUFF3 = FD 34 + +@ indicates the end of a town/city name (before " TOWN" or " CITY") +NAME_END = FC 00 + +@ special 0xF7 character +SPECIAL_F7 = F7 + +@ more text functions + +COLOR = FC 01 @ use a color listed below right after +HIGHLIGHT = FC 02 @ same as fc 01 +SHADOW = FC 03 @ same as fc 01 +COLOR_HIGHLIGHT_SHADOW = FC 04 @ takes 3 bytes +PALETTE = FC 05 @ used in credits +SIZE = FC 06 @ note that anything other than "SMALL" is invalid +UNKNOWN_7 = FC 07 +PAUSE = FC 08 @ manually print the wait byte after this, havent mapped them +PAUSE_UNTIL_PRESS = FC 09 +UNKNOWN_A = FC 0A +PLAY_BGM = FC 0B +ESCAPE = FC 0C +SHIFT_TEXT = FC 0D +UNKNOWN_E = FC 0E +UNKNOWN_F = FC 0F +PLAY_SE = FC 10 +CLEAR = FC 11 +SKIP = FC 12 +CLEAR_TO = FC 13 +UNKNOWN_14 = FC 14 +JPN = FC 15 +ENG = FC 16 +PAUSE_MUSIC = FC 17 +RESUME_MUSIC = FC 18 + +@ colors + +TRANSPARENT = 00 +WHITE = 01 +DARK_GREY = 02 +LIGHT_GREY = 03 +RED = 04 +LIGHT_RED = 05 +GREEN = 06 +LIGHT_GREEN = 07 +BLUE = 08 +LIGHT_BLUE = 09 +@ these next colors can be set to anything arbitrary at runtime +@ usually though they'll have the textbox border colors as described below +DYNAMIC_COLOR1 = 0A @ white +DYNAMIC_COLOR2 = 0B @ white with a tinge of green +DYNAMIC_COLOR3 = 0C @ white 2 +DYNAMIC_COLOR4 = 0D @ aquamarine +DYNAMIC_COLOR5 = 0E @ blue-green +DYNAMIC_COLOR6 = 0F @ cerulean + +@ sound and music + +MUS_DUMMY = 00 00 +SE_KAIFUKU = 01 00 +SE_PC_LOGIN = 02 00 +SE_PC_OFF = 03 00 +SE_PC_ON = 04 00 +SE_SELECT = 05 00 +SE_WIN_OPEN = 06 00 +SE_WALL_HIT = 07 00 +SE_DOOR = 08 00 +SE_KAIDAN = 09 00 +SE_DANSA = 0A 00 +SE_JITENSYA = 0B 00 +SE_KOUKA_L = 0C 00 +SE_KOUKA_M = 0D 00 +SE_KOUKA_H = 0E 00 +SE_BOWA2 = 0F 00 +SE_POKE_DEAD = 10 00 +SE_NIGERU = 11 00 +SE_JIDO_DOA = 12 00 +SE_NAMINORI = 13 00 +SE_BAN = 14 00 +SE_PIN = 15 00 +SE_BOO = 16 00 +SE_BOWA = 17 00 +SE_JYUNI = 18 00 +SE_A = 19 00 +SE_I = 1A 00 +SE_U = 1B 00 +SE_E = 1C 00 +SE_O = 1D 00 +SE_N = 1E 00 +SE_SEIKAI = 1F 00 +SE_HAZURE = 20 00 +SE_EXP = 21 00 +SE_JITE_PYOKO = 22 00 +SE_MU_PACHI = 23 00 +SE_TK_KASYA = 24 00 +SE_FU_ZAKU = 25 00 +SE_FU_ZAKU2 = 26 00 +SE_FU_ZUZUZU = 27 00 +SE_RU_GASHIN = 28 00 +SE_RU_GASYAN = 29 00 +SE_RU_BARI = 2A 00 +SE_RU_HYUU = 2B 00 +SE_KI_GASYAN = 2C 00 +SE_TK_WARPIN = 2D 00 +SE_TK_WARPOUT = 2E 00 +SE_TU_SAA = 2F 00 +SE_HI_TURUN = 30 00 +SE_TRACK_MOVE = 31 00 +SE_TRACK_STOP = 32 00 +SE_TRACK_HAIKI = 33 00 +SE_TRACK_DOOR = 34 00 +SE_MOTER = 35 00 +SE_CARD = 36 00 +SE_SAVE = 37 00 +SE_KON = 38 00 +SE_KON2 = 39 00 +SE_KON3 = 3A 00 +SE_KON4 = 3B 00 +SE_SUIKOMU = 3C 00 +SE_NAGERU = 3D 00 +SE_TOY_C = 3E 00 +SE_TOY_D = 3F 00 +SE_TOY_E = 40 00 +SE_TOY_F = 41 00 +SE_TOY_G = 42 00 +SE_TOY_A = 43 00 +SE_TOY_B = 44 00 +SE_TOY_C1 = 45 00 +SE_MIZU = 46 00 +SE_HASHI = 47 00 +SE_DAUGI = 48 00 +SE_PINPON = 49 00 +SE_FUUSEN1 = 4A 00 +SE_FUUSEN2 = 4B 00 +SE_FUUSEN3 = 4C 00 +SE_TOY_KABE = 4D 00 +SE_TOY_DANGO = 4E 00 +SE_DOKU = 4F 00 +SE_ESUKA = 50 00 +SE_T_AME = 51 00 +SE_T_AME_E = 52 00 +SE_T_OOAME = 53 00 +SE_T_OOAME_E = 54 00 +SE_T_KOAME = 55 00 +SE_T_KOAME_E = 56 00 +SE_T_KAMI = 57 00 +SE_T_KAMI2 = 58 00 +SE_ELEBETA = 59 00 +SE_HINSI = 5A 00 +SE_EXPMAX = 5B 00 +SE_TAMAKORO = 5C 00 +SE_TAMAKORO_E = 5D 00 +SE_BASABASA = 5E 00 +SE_REGI = 5F 00 +SE_C_GAJI = 60 00 +SE_C_MAKU_U = 61 00 +SE_C_MAKU_D = 62 00 +SE_C_PASI = 63 00 +SE_C_SYU = 64 00 +SE_C_PIKON = 65 00 +SE_REAPOKE = 66 00 +SE_OP_BASYU = 67 00 +SE_BT_START = 68 00 +SE_DENDOU = 69 00 +SE_JIHANKI = 6A 00 +SE_TAMA = 6B 00 +SE_Z_SCROLL = 6C 00 +SE_Z_PAGE = 6D 00 +SE_PN_ON = 6E 00 +SE_PN_OFF = 6F 00 +SE_Z_SEARCH = 70 00 +SE_TAMAGO = 71 00 +SE_TB_START = 72 00 +SE_TB_KON = 73 00 +SE_TB_KARA = 74 00 +SE_BIDORO = 75 00 +SE_W085 = 76 00 +SE_W085B = 77 00 +SE_W231 = 78 00 +SE_W171 = 79 00 +SE_W233 = 7A 00 +SE_W233B = 7B 00 +SE_W145 = 7C 00 +SE_W145B = 7D 00 +SE_W145C = 7E 00 +SE_W240 = 7F 00 +SE_W015 = 80 00 +SE_W081 = 81 00 +SE_W081B = 82 00 +SE_W088 = 83 00 +SE_W016 = 84 00 +SE_W016B = 85 00 +SE_W003 = 86 00 +SE_W104 = 87 00 +SE_W013 = 88 00 +SE_W196 = 89 00 +SE_W086 = 8A 00 +SE_W004 = 8B 00 +SE_W025 = 8C 00 +SE_W025B = 8D 00 +SE_W152 = 8E 00 +SE_W026 = 8F 00 +SE_W172 = 90 00 +SE_W172B = 91 00 +SE_W053 = 92 00 +SE_W007 = 93 00 +SE_W092 = 94 00 +SE_W221 = 95 00 +SE_W221B = 96 00 +SE_W052 = 97 00 +SE_W036 = 98 00 +SE_W059 = 99 00 +SE_W059B = 9A 00 +SE_W010 = 9B 00 +SE_W011 = 9C 00 +SE_W017 = 9D 00 +SE_W019 = 9E 00 +SE_W028 = 9F 00 +SE_W013B = A0 00 +SE_W044 = A1 00 +SE_W029 = A2 00 +SE_W057 = A3 00 +SE_W056 = A4 00 +SE_W250 = A5 00 +SE_W030 = A6 00 +SE_W039 = A7 00 +SE_W054 = A8 00 +SE_W077 = A9 00 +SE_W020 = AA 00 +SE_W082 = AB 00 +SE_W047 = AC 00 +SE_W195 = AD 00 +SE_W006 = AE 00 +SE_W091 = AF 00 +SE_W146 = B0 00 +SE_W120 = B1 00 +SE_W153 = B2 00 +SE_W071B = B3 00 +SE_W071 = B4 00 +SE_W103 = B5 00 +SE_W062 = B6 00 +SE_W062B = B7 00 +SE_W048 = B8 00 +SE_W187 = B9 00 +SE_W118 = BA 00 +SE_W155 = BB 00 +SE_W122 = BC 00 +SE_W060 = BD 00 +SE_W185 = BE 00 +SE_W014 = BF 00 +SE_W043 = C0 00 +SE_W207 = C1 00 +SE_W207B = C2 00 +SE_W215 = C3 00 +SE_W109 = C4 00 +SE_W173 = C5 00 +SE_W280 = C6 00 +SE_W202 = C7 00 +SE_W060B = C8 00 +SE_W076 = C9 00 +SE_W080 = CA 00 +SE_W100 = CB 00 +SE_W107 = CC 00 +SE_W166 = CD 00 +SE_W129 = CE 00 +SE_W115 = CF 00 +SE_W112 = D0 00 +SE_W197 = D1 00 +SE_W199 = D2 00 +SE_W236 = D3 00 +SE_W204 = D4 00 +SE_W268 = D5 00 +SE_W070 = D6 00 +SE_W063 = D7 00 +SE_W127 = D8 00 +SE_W179 = D9 00 +SE_W151 = DA 00 +SE_W201 = DB 00 +SE_W161 = DC 00 +SE_W161B = DD 00 +SE_W227 = DE 00 +SE_W227B = DF 00 +SE_W226 = E0 00 +SE_W208 = E1 00 +SE_W213 = E2 00 +SE_W213B = E3 00 +SE_W234 = E4 00 +SE_W260 = E5 00 +SE_W328 = E6 00 +SE_W320 = E7 00 +SE_W255 = E8 00 +SE_W291 = E9 00 +SE_W089 = EA 00 +SE_W239 = EB 00 +SE_W230 = EC 00 +SE_W281 = ED 00 +SE_W327 = EE 00 +SE_W287 = EF 00 +SE_W257 = F0 00 +SE_W253 = F1 00 +SE_W258 = F2 00 +SE_W322 = F3 00 +SE_W298 = F4 00 +SE_W287B = F5 00 +SE_W114 = F6 00 +SE_W063B = F7 00 +SE_RG_W_DOOR = F8 00 +SE_RG_CARD1 = F9 00 +SE_RG_CARD2 = FA 00 +SE_RG_CARD3 = FB 00 +SE_RG_BAG1 = FC 00 +SE_RG_BAG2 = FD 00 +SE_RG_GETTING = FE 00 +SE_RG_SHOP = FF 00 +SE_RG_KITEKI = 00 01 +SE_RG_HELP_OP = 01 01 +SE_RG_HELP_CL = 02 01 +SE_RG_HELP_NG = 03 01 +SE_RG_DEOMOV = 04 01 +SE_RG_EXCELLENT = 05 01 +SE_RG_NAWAMISS = 06 01 +SE_TOREEYE = 07 01 +SE_TOREOFF = 08 01 +SE_HANTEI1 = 09 01 +SE_HANTEI2 = 0A 01 +SE_CURTAIN = 0B 01 +SE_CURTAIN1 = 0C 01 +SE_USSOKI = 0D 01 +MUS_TETSUJI = 5E 01 +MUS_FIELD13 = 5F 01 +MUS_KACHI22 = 60 01 +MUS_KACHI2 = 61 01 +MUS_KACHI3 = 62 01 +MUS_KACHI5 = 63 01 +MUS_PCC = 64 01 +MUS_NIBI = 65 01 +MUS_SUIKUN = 66 01 +MUS_DOORO1 = 67 01 +MUS_DOORO_X1 = 68 01 +MUS_DOORO_X3 = 69 01 +MUS_MACHI_S2 = 6A 01 +MUS_MACHI_S4 = 6B 01 +MUS_GIM = 6C 01 +MUS_NAMINORI = 6D 01 +MUS_DAN01 = 6E 01 +MUS_FANFA1 = 6F 01 +MUS_ME_ASA = 70 01 +MUS_ME_BACHI = 71 01 +MUS_FANFA4 = 72 01 +MUS_FANFA5 = 73 01 +MUS_ME_WAZA = 74 01 +MUS_BIJYUTU = 75 01 +MUS_DOORO_X4 = 76 01 +MUS_FUNE_KAN = 77 01 +MUS_ME_SHINKA = 78 01 +MUS_SHINKA = 79 01 +MUS_ME_WASURE = 7A 01 +MUS_SYOUJOEYE = 7B 01 +MUS_BOYEYE = 7C 01 +MUS_DAN02 = 7D 01 +MUS_MACHI_S3 = 7E 01 +MUS_ODAMAKI = 7F 01 +MUS_B_TOWER = 80 01 +MUS_SWIMEYE = 81 01 +MUS_DAN03 = 82 01 +MUS_ME_KINOMI = 83 01 +MUS_ME_TAMA = 84 01 +MUS_ME_B_BIG = 85 01 +MUS_ME_B_SMALL = 86 01 +MUS_ME_ZANNEN = 87 01 +MUS_BD_TIME = 88 01 +MUS_TEST1 = 89 01 +MUS_TEST2 = 8A 01 +MUS_TEST3 = 8B 01 +MUS_TEST4 = 8C 01 +MUS_TEST = 8D 01 +MUS_GOMACHI0 = 8E 01 +MUS_GOTOWN = 8F 01 +MUS_POKECEN = 90 01 +MUS_NEXTROAD = 91 01 +MUS_GRANROAD = 92 01 +MUS_CYCLING = 93 01 +MUS_FRIENDLY = 94 01 +MUS_MISHIRO = 95 01 +MUS_TOZAN = 96 01 +MUS_GIRLEYE = 97 01 +MUS_MINAMO = 98 01 +MUS_ASHROAD = 99 01 +MUS_EVENT0 = 9A 01 +MUS_DEEPDEEP = 9B 01 +MUS_KACHI1 = 9C 01 +MUS_TITLE3 = 9D 01 +MUS_DEMO1 = 9E 01 +MUS_GIRL_SUP = 9F 01 +MUS_HAGESHII = A0 01 +MUS_KAKKOII = A1 01 +MUS_KAZANBAI = A2 01 +MUS_AQA_0 = A3 01 +MUS_TSURETEK = A4 01 +MUS_BOY_SUP = A5 01 +MUS_RAINBOW = A6 01 +MUS_AYASII = A7 01 +MUS_KACHI4 = A8 01 +MUS_ROPEWAY = A9 01 +MUS_CASINO = AA 01 +MUS_HIGHTOWN = AB 01 +MUS_SAFARI = AC 01 +MUS_C_ROAD = AD 01 +MUS_AJITO = AE 01 +MUS_M_BOAT = AF 01 +MUS_M_DUNGON = B0 01 +MUS_FINECITY = B1 01 +MUS_MACHUPI = B2 01 +MUS_P_SCHOOL = B3 01 +MUS_DENDOU = B4 01 +MUS_TONEKUSA = B5 01 +MUS_MABOROSI = B6 01 +MUS_CON_FAN = B7 01 +MUS_CONTEST0 = B8 01 +MUS_MGM0 = B9 01 +MUS_T_BATTLE = BA 01 +MUS_OOAME = BB 01 +MUS_HIDERI = BC 01 +MUS_RUNECITY = BD 01 +MUS_CON_K = BE 01 +MUS_EIKOU_R = BF 01 +MUS_KARAKURI = C0 01 +MUS_HUTAGO = C1 01 +MUS_SITENNOU = C2 01 +MUS_YAMA_EYE = C3 01 +MUS_CONLOBBY = C4 01 +MUS_INTER_V = C5 01 +MUS_DAIGO = C6 01 +MUS_THANKFOR = C7 01 +MUS_END = C8 01 +MUS_B_FRONTIER = C9 01 +MUS_B_ARENA = CA 01 +MUS_ME_POINTGET = CB 01 +MUS_ME_TORE_EYE = CC 01 +MUS_PYRAMID = CD 01 +MUS_PYRAMID_TOP = CE 01 +MUS_B_PALACE = CF 01 +MUS_REKKUU_KOURIN = D0 01 +MUS_SATTOWER = D1 01 +MUS_ME_SYMBOLGET = D2 01 +MUS_B_DOME = D3 01 +MUS_B_TUBE = D4 01 +MUS_B_FACTORY = D5 01 +MUS_VS_REKKU = D6 01 +MUS_VS_FRONT = D7 01 +MUS_VS_MEW = D8 01 +MUS_B_DOME1 = D9 01 +MUS_BATTLE27 = DA 01 +MUS_BATTLE31 = DB 01 +MUS_BATTLE20 = DC 01 +MUS_BATTLE32 = DD 01 +MUS_BATTLE33 = DE 01 +MUS_BATTLE36 = DF 01 +MUS_BATTLE34 = E0 01 +MUS_BATTLE35 = E1 01 +MUS_BATTLE38 = E2 01 +MUS_BATTLE30 = E3 01 +MUS_RG_ANNAI = E4 01 +MUS_RG_SLOT = E5 01 +MUS_RG_AJITO = E6 01 +MUS_RG_GYM = E7 01 +MUS_RG_PURIN = E8 01 +MUS_RG_DEMO = E9 01 +MUS_RG_TITLE = EA 01 +MUS_RG_GUREN = EB 01 +MUS_RG_SHION = EC 01 +MUS_RG_KAIHUKU = ED 01 +MUS_RG_CYCLING = EE 01 +MUS_RG_ROCKET = EF 01 +MUS_RG_SHOUJO = F0 01 +MUS_RG_SHOUNEN = F1 01 +MUS_RG_DENDOU = F2 01 +MUS_RG_T_MORI = F3 01 +MUS_RG_OTSUKIMI = F4 01 +MUS_RG_POKEYASHI = F5 01 +MUS_RG_ENDING = F6 01 +MUS_RG_LOAD01 = F7 01 +MUS_RG_OPENING = F8 01 +MUS_RG_LOAD02 = F9 01 +MUS_RG_LOAD03 = FA 01 +MUS_RG_CHAMP_R = FB 01 +MUS_RG_VS_GYM = FC 01 +MUS_RG_VS_TORE = FD 01 +MUS_RG_VS_YASEI = FE 01 +MUS_RG_VS_LAST = FF 01 +MUS_RG_MASARA = 00 02 +MUS_RG_KENKYU = 01 02 +MUS_RG_OHKIDO = 02 02 +MUS_RG_POKECEN = 03 02 +MUS_RG_SANTOAN = 04 02 +MUS_RG_NAMINORI = 05 02 +MUS_RG_P_TOWER = 06 02 +MUS_RG_SHIRUHU = 07 02 +MUS_RG_HANADA = 08 02 +MUS_RG_TAMAMUSI = 09 02 +MUS_RG_WIN_TRE = 0A 02 +MUS_RG_WIN_YASEI = 0B 02 +MUS_RG_WIN_GYM = 0C 02 +MUS_RG_KUCHIBA = 0D 02 +MUS_RG_NIBI = 0E 02 +MUS_RG_RIVAL1 = 0F 02 +MUS_RG_RIVAL2 = 10 02 +MUS_RG_FAN2 = 11 02 +MUS_RG_FAN5 = 12 02 +MUS_RG_FAN6 = 13 02 +MUS_ME_RG_PHOTO = 14 02 +MUS_RG_TITLEROG = 15 02 +MUS_RG_GET_YASEI = 16 02 +MUS_RG_SOUSA = 17 02 +MUS_RG_SEKAIKAN = 18 02 +MUS_RG_SEIBETU = 19 02 +MUS_RG_JUMP = 1A 02 +MUS_RG_UNION = 1B 02 +MUS_RG_NETWORK = 1C 02 +MUS_RG_OKURIMONO = 1D 02 +MUS_RG_KINOMIKUI = 1E 02 +MUS_RG_NANADUNGEON = 1F 02 +MUS_RG_OSHIE_TV = 20 02 +MUS_RG_NANASHIMA = 21 02 +MUS_RG_NANAISEKI = 22 02 +MUS_RG_NANA123 = 23 02 +MUS_RG_NANA45 = 24 02 +MUS_RG_NANA67 = 25 02 +MUS_RG_POKEFUE = 26 02 +MUS_RG_VS_DEO = 27 02 +MUS_RG_VS_MYU2 = 28 02 +MUS_RG_VS_DEN = 29 02 +MUS_RG_EXEYE = 2A 02 +MUS_RG_DEOEYE = 2B 02 +MUS_RG_T_TOWER = 2C 02 +MUS_RG_SLOWMASARA = 2D 02 +MUS_RG_TVNOIZE = 2E 02 +PH_TRAP_BLEND = 2F 02 +PH_TRAP_HELD = 30 02 +PH_TRAP_SOLO = 31 02 +PH_FACE_BLEND = 32 02 +PH_FACE_HELD = 33 02 +PH_FACE_SOLO = 34 02 +PH_CLOTH_BLEND = 35 02 +PH_CLOTH_HELD = 36 02 +PH_CLOTH_SOLO = 37 02 +PH_DRESS_BLEND = 38 02 +PH_DRESS_HELD = 39 02 +PH_DRESS_SOLO = 3A 02 +PH_FLEECE_BLEND = 3B 02 +PH_FLEECE_HELD = 3C 02 +PH_FLEECE_SOLO = 3D 02 +PH_KIT_BLEND = 3E 02 +PH_KIT_HELD = 3F 02 +PH_KIT_SOLO = 40 02 +PH_PRICE_BLEND = 41 02 +PH_PRICE_HELD = 42 02 +PH_PRICE_SOLO = 43 02 +PH_LOT_BLEND = 44 02 +PH_LOT_HELD = 45 02 +PH_LOT_SOLO = 46 02 +PH_GOAT_BLEND = 47 02 +PH_GOAT_HELD = 48 02 +PH_GOAT_SOLO = 49 02 +PH_THOUGHT_BLEND = 4A 02 +PH_THOUGHT_HELD = 4B 02 +PH_THOUGHT_SOLO = 4C 02 +PH_CHOICE_BLEND = 4D 02 +PH_CHOICE_HELD = 4E 02 +PH_CHOICE_SOLO = 4F 02 +PH_MOUTH_BLEND = 50 02 +PH_MOUTH_HELD = 51 02 +PH_MOUTH_SOLO = 52 02 +PH_FOOT_BLEND = 53 02 +PH_FOOT_HELD = 54 02 +PH_FOOT_SOLO = 55 02 +PH_GOOSE_BLEND = 56 02 +PH_GOOSE_HELD = 57 02 +PH_GOOSE_SOLO = 58 02 +PH_STRUT_BLEND = 59 02 +PH_STRUT_HELD = 5A 02 +PH_STRUT_SOLO = 5B 02 +PH_CURE_BLEND = 5C 02 +PH_CURE_HELD = 5D 02 +PH_CURE_SOLO = 5E 02 +PH_NURSE_BLEND = 5F 02 +PH_NURSE_HELD = 60 02 +PH_NURSE_SOLO = 61 02 + +A_BUTTON = F8 00 +B_BUTTON = F8 01 +DPAD_UPDOWN = F8 0A +DPAD_NONE = F8 0C + +UP_ARROW_2 = F9 00 +DOWN_ARROW_2 = F9 01 +LEFT_ARROW_2 = F9 02 +RIGHT_ARROW_2 = F9 03 +PLUS = F9 04 +LV_2 = F9 05 +PP = F9 06 +ID = F9 07 +NO = F9 08 +UNDERSCORE = F9 09 +CIRCLE_1 = F9 0A +CIRCLE_2 = F9 0B +CIRCLE_3 = F9 0C +CIRCLE_4 = F9 0D +CIRCLE_5 = F9 0E +CIRCLE_6 = F9 0F +CIRCLE_7 = F9 10 +CIRCLE_8 = F9 11 +CIRCLE_9 = F9 12 +ROUND_LEFT_PAREN = F9 13 +ROUND_RIGHT_PAREN = F9 14 +CIRCLE_DOT = F9 15 +TRIANGLE = F9 16 +BIG_MULT_X = F9 17 + +EMOJI_UNDERSCORE = F9 D0 +EMOJI_PIPE = F9 D1 +EMOJI_HIGHBAR = F9 D2 +EMOJI_TILDE = F9 D3 +EMOJI_LEFT_PAREN = F9 D4 +EMOJI_RIGHT_PAREN = F9 D5 +EMOJI_UNION = F9 D6 @ ⊂ +EMOJI_GREATER_THAN = F9 D7 +EMOJI_LEFT_EYE = F9 D8 +EMOJI_RIGHT_EYE = F9 D9 +EMOJI_AT = F9 DA +EMOJI_SEMICOLON = F9 DB +EMOJI_PLUS = F9 DC +EMOJI_MINUS = F9 DD +EMOJI_EQUALS = F9 DE +EMOJI_SPIRAL = F9 DF +EMOJI_TONGUE = F9 E0 +EMOJI_TRIANGLE_OUTLINE = F9 E1 +EMOJI_ACUTE = F9 E2 +EMOJI_GRAVE = F9 E3 +EMOJI_CIRCLE = F9 E4 +EMOJI_TRIANGLE = F9 E5 +EMOJI_SQUARE = F9 E6 +EMOJI_HEART = F9 E7 +EMOJI_MOON = F9 E8 +EMOJI_NOTE = F9 E9 +EMOJI_BALL = F9 EA +EMOJI_BOLT = F9 EB +EMOJI_LEAF = F9 EC +EMOJI_FIRE = F9 ED +EMOJI_WATER = F9 EE +EMOJI_LEFT_FIST = F9 EF +EMOJI_RIGHT_FIST = F9 F0 +EMOJI_BIGWHEEL = F9 F1 +EMOJI_SMALLWHEEL = F9 F2 +EMOJI_SPHERE = F9 F3 +EMOJI_IRRITATED = F9 F4 +EMOJI_MISCHIEVOUS = F9 F5 +EMOJI_HAPPY = F9 F6 +EMOJI_ANGRY = F9 F7 +EMOJI_SURPRISED = F9 F8 +EMOJI_BIGSMILE = F9 F9 +EMOJI_EVIL = F9 FA +EMOJI_TIRED = F9 FB +EMOJI_NEUTRAL = F9 FC +EMOJI_SHOCKED = F9 FD +EMOJI_BIGANGER = F9 FE + +'\l' = FA @ scroll up window text +'\p' = FB @ new paragraph +'\n' = FE @ new line diff --git a/berry_fix/constants/gba_constants.inc b/berry_fix/constants/gba_constants.inc new file mode 100644 index 000000000..9d59c8fcd --- /dev/null +++ b/berry_fix/constants/gba_constants.inc @@ -0,0 +1,490 @@ + .set PSR_USR_MODE, 0x00000010 + .set PSR_FIQ_MODE, 0x00000011 + .set PSR_IRQ_MODE, 0x00000012 + .set PSR_SVC_MODE, 0x00000013 + .set PSR_ABT_MODE, 0x00000017 + .set PSR_UND_MODE, 0x0000001b + .set PSR_SYS_MODE, 0x0000001f + .set PSR_MODE_MASK, 0x0000001f + .set PSR_T_BIT, 0x00000020 + .set PSR_F_BIT, 0x00000040 + .set PSR_I_BIT, 0x00000080 + + .set EWRAM_START, 0x02000000 + .set EWRAM_END, EWRAM_START + 0x40000 + .set IWRAM_START, 0x03000000 + .set IWRAM_END, IWRAM_START + 0x8000 + + .set PLTT, 0x5000000 + .set BG_PLTT, PLTT + .set OBJ_PLTT, PLTT + 0x200 + + .set VRAM, 0x6000000 + .set BG_VRAM, VRAM + .set OBJ_VRAM0, VRAM + 0x10000 @ text-mode BG + .set OBJ_VRAM1, VRAM + 0x14000 @ bitmap-mode BG + + .set OAM, 0x7000000 + + .set SOUND_INFO_PTR, 0x3007FF0 + .set INTR_CHECK, 0x3007FF8 + .set INTR_VECTOR, 0x3007FFC + + .set INTR_FLAG_VBLANK, 1 << 0 + .set INTR_FLAG_HBLANK, 1 << 1 + .set INTR_FLAG_VCOUNT, 1 << 2 + .set INTR_FLAG_TIMER0, 1 << 3 + .set INTR_FLAG_TIMER1, 1 << 4 + .set INTR_FLAG_TIMER2, 1 << 5 + .set INTR_FLAG_TIMER3, 1 << 6 + .set INTR_FLAG_SERIAL, 1 << 7 + .set INTR_FLAG_DMA0, 1 << 8 + .set INTR_FLAG_DMA1, 1 << 9 + .set INTR_FLAG_DMA2, 1 << 10 + .set INTR_FLAG_DMA3, 1 << 11 + .set INTR_FLAG_KEYPAD, 1 << 12 + .set INTR_FLAG_GAMEPAK, 1 << 13 + + .set VCOUNT_VBLANK, 160 + .set TOTAL_SCANLINES, 228 + + .set REG_BASE, 0x4000000 @ I/O register base address + +@ I/O register offsets + .set OFFSET_REG_DISPCNT, 0x0 + .set OFFSET_REG_DISPSTAT, 0x4 + .set OFFSET_REG_VCOUNT, 0x6 + .set OFFSET_REG_BG0CNT, 0x8 + .set OFFSET_REG_BG1CNT, 0xa + .set OFFSET_REG_BG2CNT, 0xc + .set OFFSET_REG_BG3CNT, 0xe + .set OFFSET_REG_BG0HOFS, 0x10 + .set OFFSET_REG_BG0VOFS, 0x12 + .set OFFSET_REG_BG1HOFS, 0x14 + .set OFFSET_REG_BG1VOFS, 0x16 + .set OFFSET_REG_BG2HOFS, 0x18 + .set OFFSET_REG_BG2VOFS, 0x1a + .set OFFSET_REG_BG3HOFS, 0x1c + .set OFFSET_REG_BG3VOFS, 0x1e + .set OFFSET_REG_BG2PA, 0x20 + .set OFFSET_REG_BG2PB, 0x22 + .set OFFSET_REG_BG2PC, 0x24 + .set OFFSET_REG_BG2PD, 0x26 + .set OFFSET_REG_BG2X_L, 0x28 + .set OFFSET_REG_BG2X_H, 0x2a + .set OFFSET_REG_BG2Y_L, 0x2c + .set OFFSET_REG_BG2Y_H, 0x2e + .set OFFSET_REG_BG3PA, 0x30 + .set OFFSET_REG_BG3PB, 0x32 + .set OFFSET_REG_BG3PC, 0x34 + .set OFFSET_REG_BG3PD, 0x36 + .set OFFSET_REG_BG3X_L, 0x38 + .set OFFSET_REG_BG3X_H, 0x3a + .set OFFSET_REG_BG3Y_L, 0x3c + .set OFFSET_REG_BG3Y_H, 0x3e + .set OFFSET_REG_WIN0H, 0x40 + .set OFFSET_REG_WIN1H, 0x42 + .set OFFSET_REG_WIN0V, 0x44 + .set OFFSET_REG_WIN1V, 0x46 + .set OFFSET_REG_WININ, 0x48 + .set OFFSET_REG_WINOUT, 0x4a + .set OFFSET_REG_MOSAIC, 0x4c + .set OFFSET_REG_BLDCNT, 0x50 + .set OFFSET_REG_BLDALPHA, 0x52 + .set OFFSET_REG_BLDY, 0x54 + + .set OFFSET_REG_SOUND1CNT, 0x60 + .set OFFSET_REG_SOUND1CNT_L, 0x60 + .set OFFSET_REG_NR10, 0x60 + .set OFFSET_REG_SOUND1CNT_H, 0x62 + .set OFFSET_REG_NR11, 0x62 + .set OFFSET_REG_NR12, 0x63 + .set OFFSET_REG_SOUND1CNT_X, 0x64 + .set OFFSET_REG_NR13, 0x64 + .set OFFSET_REG_NR14, 0x65 + .set OFFSET_REG_SOUND2CNT, 0x68 + .set OFFSET_REG_SOUND2CNT_L, 0x68 + .set OFFSET_REG_NR21, 0x68 + .set OFFSET_REG_NR22, 0x69 + .set OFFSET_REG_SOUND2CNT_H, 0x6c + .set OFFSET_REG_NR23, 0x6c + .set OFFSET_REG_NR24, 0x6d + .set OFFSET_REG_SOUND3CNT, 0x70 + .set OFFSET_REG_SOUND3CNT_L, 0x70 + .set OFFSET_REG_NR30, 0x70 + .set OFFSET_REG_SOUND3CNT_H, 0x72 + .set OFFSET_REG_NR31, 0x72 + .set OFFSET_REG_NR32, 0x73 + .set OFFSET_REG_SOUND3CNT_X, 0x74 + .set OFFSET_REG_NR33, 0x74 + .set OFFSET_REG_NR34, 0x75 + .set OFFSET_REG_SOUND4CNT, 0x78 + .set OFFSET_REG_SOUND4CNT_L, 0x78 + .set OFFSET_REG_NR41, 0x78 + .set OFFSET_REG_NR42, 0x79 + .set OFFSET_REG_SOUND4CNT_H, 0x7c + .set OFFSET_REG_NR43, 0x7c + .set OFFSET_REG_NR44, 0x7d + .set OFFSET_REG_SOUNDCNT, 0x80 + .set OFFSET_REG_SOUNDCNT_L, 0x80 + .set OFFSET_REG_NR50, 0x80 + .set OFFSET_REG_NR51, 0x81 + .set OFFSET_REG_SOUNDCNT_H, 0x82 + .set OFFSET_REG_SOUNDCNT_X, 0x84 + .set OFFSET_REG_NR52, 0x84 + .set OFFSET_REG_SOUNDBIAS, 0x88 + .set OFFSET_REG_WAVE_RAM, 0x90 + .set OFFSET_REG_WAVE_RAM0, 0x90 + .set OFFSET_REG_WAVE_RAM0_L, 0x90 + .set OFFSET_REG_WAVE_RAM0_H, 0x92 + .set OFFSET_REG_WAVE_RAM1, 0x94 + .set OFFSET_REG_WAVE_RAM1_L, 0x94 + .set OFFSET_REG_WAVE_RAM1_H, 0x96 + .set OFFSET_REG_WAVE_RAM2, 0x98 + .set OFFSET_REG_WAVE_RAM2_L, 0x98 + .set OFFSET_REG_WAVE_RAM2_H, 0x9a + .set OFFSET_REG_WAVE_RAM3, 0x9c + .set OFFSET_REG_WAVE_RAM3_L, 0x9c + .set OFFSET_REG_WAVE_RAM3_H, 0x9e + .set OFFSET_REG_FIFO, 0xa0 + .set OFFSET_REG_FIFO_A, 0xa0 + .set OFFSET_REG_FIFO_A_L, 0xa0 + .set OFFSET_REG_FIFO_A_H, 0xa2 + .set OFFSET_REG_FIFO_B, 0xa4 + .set OFFSET_REG_FIFO_B_L, 0xa4 + .set OFFSET_REG_FIFO_B_H, 0xa6 + + .set OFFSET_REG_DMA0, 0xb0 + .set OFFSET_REG_DMA0SAD, 0xb0 + .set OFFSET_REG_DMA0SAD_L, 0xb0 + .set OFFSET_REG_DMA0SAD_H, 0xb2 + .set OFFSET_REG_DMA0DAD, 0xb4 + .set OFFSET_REG_DMA0DAD_L, 0xb4 + .set OFFSET_REG_DMA0DAD_H, 0xb6 + .set OFFSET_REG_DMA0CNT, 0xb8 + .set OFFSET_REG_DMA0CNT_L, 0xb8 + .set OFFSET_REG_DMA0CNT_H, 0xba + .set OFFSET_REG_DMA1, 0xbc + .set OFFSET_REG_DMA1SAD, 0xbc + .set OFFSET_REG_DMA1SAD_L, 0xbc + .set OFFSET_REG_DMA1SAD_H, 0xbe + .set OFFSET_REG_DMA1DAD, 0xc0 + .set OFFSET_REG_DMA1DAD_L, 0xc0 + .set OFFSET_REG_DMA1DAD_H, 0xc2 + .set OFFSET_REG_DMA1CNT, 0xc4 + .set OFFSET_REG_DMA1CNT_L, 0xc4 + .set OFFSET_REG_DMA1CNT_H, 0xc6 + .set OFFSET_REG_DMA2, 0xc8 + .set OFFSET_REG_DMA2SAD, 0xc8 + .set OFFSET_REG_DMA2SAD_L, 0xc8 + .set OFFSET_REG_DMA2SAD_H, 0xca + .set OFFSET_REG_DMA2DAD, 0xcc + .set OFFSET_REG_DMA2DAD_L, 0xcc + .set OFFSET_REG_DMA2DAD_H, 0xce + .set OFFSET_REG_DMA2CNT, 0xd0 + .set OFFSET_REG_DMA2CNT_L, 0xd0 + .set OFFSET_REG_DMA2CNT_H, 0xd2 + .set OFFSET_REG_DMA3, 0xd4 + .set OFFSET_REG_DMA3SAD, 0xd4 + .set OFFSET_REG_DMA3SAD_L, 0xd4 + .set OFFSET_REG_DMA3SAD_H, 0xd6 + .set OFFSET_REG_DMA3DAD, 0xd8 + .set OFFSET_REG_DMA3DAD_L, 0xd8 + .set OFFSET_REG_DMA3DAD_H, 0xda + .set OFFSET_REG_DMA3CNT, 0xdc + .set OFFSET_REG_DMA3CNT_L, 0xdc + .set OFFSET_REG_DMA3CNT_H, 0xde + + .set OFFSET_REG_TM0CNT, 0x100 + .set OFFSET_REG_TM0CNT_L, 0x100 + .set OFFSET_REG_TM0CNT_H, 0x102 + .set OFFSET_REG_TM1CNT, 0x104 + .set OFFSET_REG_TM1CNT_L, 0x104 + .set OFFSET_REG_TM1CNT_H, 0x106 + .set OFFSET_REG_TM2CNT, 0x108 + .set OFFSET_REG_TM2CNT_L, 0x108 + .set OFFSET_REG_TM2CNT_H, 0x10a + .set OFFSET_REG_TM3CNT, 0x10c + .set OFFSET_REG_TM3CNT_L, 0x10c + .set OFFSET_REG_TM3CNT_H, 0x10e + + .set OFFSET_REG_SIOCNT, 0x128 + .set OFFSET_REG_SIODATA8, 0x12a + .set OFFSET_REG_SIODATA32, 0x120 + .set OFFSET_REG_SIOMLT_SEND, 0x12a + .set OFFSET_REG_SIOMLT_RECV, 0x120 + .set OFFSET_REG_SIOMULTI0, 0x120 + .set OFFSET_REG_SIOMULTI1, 0x122 + .set OFFSET_REG_SIOMULTI2, 0x124 + .set OFFSET_REG_SIOMULTI3, 0x126 + + .set OFFSET_REG_KEYINPUT, 0x130 + .set OFFSET_REG_KEYCNT, 0x132 + + .set OFFSET_REG_RCNT, 0x134 + + .set OFFSET_REG_JOYCNT, 0x140 + .set OFFSET_REG_JOYSTAT, 0x158 + .set OFFSET_REG_JOY_RECV, 0x150 + .set OFFSET_REG_JOY_RECV_L, 0x150 + .set OFFSET_REG_JOY_RECV_H, 0x152 + .set OFFSET_REG_JOY_TRANS, 0x154 + .set OFFSET_REG_JOY_TRANS_L, 0x154 + .set OFFSET_REG_JOY_TRANS_H, 0x156 + + .set OFFSET_REG_IME, 0x208 + .set OFFSET_REG_IE, 0x200 + .set OFFSET_REG_IF, 0x202 + + .set OFFSET_REG_WAITCNT, 0x204 + +@ I/O register addresses + .set REG_DISPCNT, REG_BASE + OFFSET_REG_DISPCNT + .set REG_DISPSTAT, REG_BASE + OFFSET_REG_DISPSTAT + .set REG_VCOUNT, REG_BASE + OFFSET_REG_VCOUNT + .set REG_BG0CNT, REG_BASE + OFFSET_REG_BG0CNT + .set REG_BG1CNT, REG_BASE + OFFSET_REG_BG1CNT + .set REG_BG2CNT, REG_BASE + OFFSET_REG_BG2CNT + .set REG_BG3CNT, REG_BASE + OFFSET_REG_BG3CNT + .set REG_BG0HOFS, REG_BASE + OFFSET_REG_BG0HOFS + .set REG_BG0VOFS, REG_BASE + OFFSET_REG_BG0VOFS + .set REG_BG1HOFS, REG_BASE + OFFSET_REG_BG1HOFS + .set REG_BG1VOFS, REG_BASE + OFFSET_REG_BG1VOFS + .set REG_BG2HOFS, REG_BASE + OFFSET_REG_BG2HOFS + .set REG_BG2VOFS, REG_BASE + OFFSET_REG_BG2VOFS + .set REG_BG3HOFS, REG_BASE + OFFSET_REG_BG3HOFS + .set REG_BG3VOFS, REG_BASE + OFFSET_REG_BG3VOFS + .set REG_BG2PA, REG_BASE + OFFSET_REG_BG2PA + .set REG_BG2PB, REG_BASE + OFFSET_REG_BG2PB + .set REG_BG2PC, REG_BASE + OFFSET_REG_BG2PC + .set REG_BG2PD, REG_BASE + OFFSET_REG_BG2PD + .set REG_BG2X_L, REG_BASE + OFFSET_REG_BG2X_L + .set REG_BG2X_H, REG_BASE + OFFSET_REG_BG2X_H + .set REG_BG2Y_L, REG_BASE + OFFSET_REG_BG2Y_L + .set REG_BG2Y_H, REG_BASE + OFFSET_REG_BG2Y_H + .set REG_BG3PA, REG_BASE + OFFSET_REG_BG3PA + .set REG_BG3PB, REG_BASE + OFFSET_REG_BG3PB + .set REG_BG3PC, REG_BASE + OFFSET_REG_BG3PC + .set REG_BG3PD, REG_BASE + OFFSET_REG_BG3PD + .set REG_BG3X_L, REG_BASE + OFFSET_REG_BG3X_L + .set REG_BG3X_H, REG_BASE + OFFSET_REG_BG3X_H + .set REG_BG3Y_L, REG_BASE + OFFSET_REG_BG3Y_L + .set REG_BG3Y_H, REG_BASE + OFFSET_REG_BG3Y_H + .set REG_WIN0H, REG_BASE + OFFSET_REG_WIN0H + .set REG_WIN1H, REG_BASE + OFFSET_REG_WIN1H + .set REG_WIN0V, REG_BASE + OFFSET_REG_WIN0V + .set REG_WIN1V, REG_BASE + OFFSET_REG_WIN1V + .set REG_WININ, REG_BASE + OFFSET_REG_WININ + .set REG_WINOUT, REG_BASE + OFFSET_REG_WINOUT + .set REG_MOSAIC, REG_BASE + OFFSET_REG_MOSAIC + .set REG_BLDCNT, REG_BASE + OFFSET_REG_BLDCNT + .set REG_BLDALPHA, REG_BASE + OFFSET_REG_BLDALPHA + .set REG_BLDY, REG_BASE + OFFSET_REG_BLDY + + .set REG_SOUND1CNT, REG_BASE + OFFSET_REG_SOUND1CNT + .set REG_SOUND1CNT_L, REG_BASE + OFFSET_REG_SOUND1CNT_L + .set REG_NR10, REG_BASE + OFFSET_REG_NR10 + .set REG_SOUND1CNT_H, REG_BASE + OFFSET_REG_SOUND1CNT_H + .set REG_NR11, REG_BASE + OFFSET_REG_NR11 + .set REG_NR12, REG_BASE + OFFSET_REG_NR12 + .set REG_SOUND1CNT_X, REG_BASE + OFFSET_REG_SOUND1CNT_X + .set REG_NR13, REG_BASE + OFFSET_REG_NR13 + .set REG_NR14, REG_BASE + OFFSET_REG_NR14 + .set REG_SOUND2CNT, REG_BASE + OFFSET_REG_SOUND2CNT + .set REG_SOUND2CNT_L, REG_BASE + OFFSET_REG_SOUND2CNT_L + .set REG_NR21, REG_BASE + OFFSET_REG_NR21 + .set REG_NR22, REG_BASE + OFFSET_REG_NR22 + .set REG_SOUND2CNT_H, REG_BASE + OFFSET_REG_SOUND2CNT_H + .set REG_NR23, REG_BASE + OFFSET_REG_NR23 + .set REG_NR24, REG_BASE + OFFSET_REG_NR24 + .set REG_SOUND3CNT, REG_BASE + OFFSET_REG_SOUND3CNT + .set REG_SOUND3CNT_L, REG_BASE + OFFSET_REG_SOUND3CNT_L + .set REG_NR30, REG_BASE + OFFSET_REG_NR30 + .set REG_SOUND3CNT_H, REG_BASE + OFFSET_REG_SOUND3CNT_H + .set REG_NR31, REG_BASE + OFFSET_REG_NR31 + .set REG_NR32, REG_BASE + OFFSET_REG_NR32 + .set REG_SOUND3CNT_X, REG_BASE + OFFSET_REG_SOUND3CNT_X + .set REG_NR33, REG_BASE + OFFSET_REG_NR33 + .set REG_NR34, REG_BASE + OFFSET_REG_NR34 + .set REG_SOUND4CNT, REG_BASE + OFFSET_REG_SOUND4CNT + .set REG_SOUND4CNT_L, REG_BASE + OFFSET_REG_SOUND4CNT_L + .set REG_NR41, REG_BASE + OFFSET_REG_NR41 + .set REG_NR42, REG_BASE + OFFSET_REG_NR42 + .set REG_SOUND4CNT_H, REG_BASE + OFFSET_REG_SOUND4CNT_H + .set REG_NR43, REG_BASE + OFFSET_REG_NR43 + .set REG_NR44, REG_BASE + OFFSET_REG_NR44 + .set REG_SOUNDCNT, REG_BASE + OFFSET_REG_SOUNDCNT + .set REG_SOUNDCNT_L, REG_BASE + OFFSET_REG_SOUNDCNT_L + .set REG_NR50, REG_BASE + OFFSET_REG_NR50 + .set REG_NR51, REG_BASE + OFFSET_REG_NR51 + .set REG_SOUNDCNT_H, REG_BASE + OFFSET_REG_SOUNDCNT_H + .set REG_SOUNDCNT_X, REG_BASE + OFFSET_REG_SOUNDCNT_X + .set REG_NR52, REG_BASE + OFFSET_REG_NR52 + .set REG_SOUNDBIAS, REG_BASE + OFFSET_REG_SOUNDBIAS + .set REG_WAVE_RAM, REG_BASE + OFFSET_REG_WAVE_RAM + .set REG_WAVE_RAM0, REG_BASE + OFFSET_REG_WAVE_RAM0 + .set REG_WAVE_RAM0_L, REG_BASE + OFFSET_REG_WAVE_RAM0_L + .set REG_WAVE_RAM0_H, REG_BASE + OFFSET_REG_WAVE_RAM0_H + .set REG_WAVE_RAM1, REG_BASE + OFFSET_REG_WAVE_RAM1 + .set REG_WAVE_RAM1_L, REG_BASE + OFFSET_REG_WAVE_RAM1_L + .set REG_WAVE_RAM1_H, REG_BASE + OFFSET_REG_WAVE_RAM1_H + .set REG_WAVE_RAM2, REG_BASE + OFFSET_REG_WAVE_RAM2 + .set REG_WAVE_RAM2_L, REG_BASE + OFFSET_REG_WAVE_RAM2_L + .set REG_WAVE_RAM2_H, REG_BASE + OFFSET_REG_WAVE_RAM2_H + .set REG_WAVE_RAM3, REG_BASE + OFFSET_REG_WAVE_RAM3 + .set REG_WAVE_RAM3_L, REG_BASE + OFFSET_REG_WAVE_RAM3_L + .set REG_WAVE_RAM3_H, REG_BASE + OFFSET_REG_WAVE_RAM3_H + .set REG_FIFO, REG_BASE + OFFSET_REG_FIFO + .set REG_FIFO_A, REG_BASE + OFFSET_REG_FIFO_A + .set REG_FIFO_A_L, REG_BASE + OFFSET_REG_FIFO_A_L + .set REG_FIFO_A_H, REG_BASE + OFFSET_REG_FIFO_A_H + .set REG_FIFO_B, REG_BASE + OFFSET_REG_FIFO_B + .set REG_FIFO_B_L, REG_BASE + OFFSET_REG_FIFO_B_L + .set REG_FIFO_B_H, REG_BASE + OFFSET_REG_FIFO_B_H + + .set REG_DMA0, REG_BASE + OFFSET_REG_DMA0 + .set REG_DMA0SAD, REG_BASE + OFFSET_REG_DMA0SAD + .set REG_DMA0SAD_L, REG_BASE + OFFSET_REG_DMA0SAD_L + .set REG_DMA0SAD_H, REG_BASE + OFFSET_REG_DMA0SAD_H + .set REG_DMA0DAD, REG_BASE + OFFSET_REG_DMA0DAD + .set REG_DMA0DAD_L, REG_BASE + OFFSET_REG_DMA0DAD_L + .set REG_DMA0DAD_H, REG_BASE + OFFSET_REG_DMA0DAD_H + .set REG_DMA0CNT, REG_BASE + OFFSET_REG_DMA0CNT + .set REG_DMA0CNT_L, REG_BASE + OFFSET_REG_DMA0CNT_L + .set REG_DMA0CNT_H, REG_BASE + OFFSET_REG_DMA0CNT_H + .set REG_DMA1, REG_BASE + OFFSET_REG_DMA1 + .set REG_DMA1SAD, REG_BASE + OFFSET_REG_DMA1SAD + .set REG_DMA1SAD_L, REG_BASE + OFFSET_REG_DMA1SAD_L + .set REG_DMA1SAD_H, REG_BASE + OFFSET_REG_DMA1SAD_H + .set REG_DMA1DAD, REG_BASE + OFFSET_REG_DMA1DAD + .set REG_DMA1DAD_L, REG_BASE + OFFSET_REG_DMA1DAD_L + .set REG_DMA1DAD_H, REG_BASE + OFFSET_REG_DMA1DAD_H + .set REG_DMA1CNT, REG_BASE + OFFSET_REG_DMA1CNT + .set REG_DMA1CNT_L, REG_BASE + OFFSET_REG_DMA1CNT_L + .set REG_DMA1CNT_H, REG_BASE + OFFSET_REG_DMA1CNT_H + .set REG_DMA2, REG_BASE + OFFSET_REG_DMA2 + .set REG_DMA2SAD, REG_BASE + OFFSET_REG_DMA2SAD + .set REG_DMA2SAD_L, REG_BASE + OFFSET_REG_DMA2SAD_L + .set REG_DMA2SAD_H, REG_BASE + OFFSET_REG_DMA2SAD_H + .set REG_DMA2DAD, REG_BASE + OFFSET_REG_DMA2DAD + .set REG_DMA2DAD_L, REG_BASE + OFFSET_REG_DMA2DAD_L + .set REG_DMA2DAD_H, REG_BASE + OFFSET_REG_DMA2DAD_H + .set REG_DMA2CNT, REG_BASE + OFFSET_REG_DMA2CNT + .set REG_DMA2CNT_L, REG_BASE + OFFSET_REG_DMA2CNT_L + .set REG_DMA2CNT_H, REG_BASE + OFFSET_REG_DMA2CNT_H + .set REG_DMA3, REG_BASE + OFFSET_REG_DMA3 + .set REG_DMA3SAD, REG_BASE + OFFSET_REG_DMA3SAD + .set REG_DMA3SAD_L, REG_BASE + OFFSET_REG_DMA3SAD_L + .set REG_DMA3SAD_H, REG_BASE + OFFSET_REG_DMA3SAD_H + .set REG_DMA3DAD, REG_BASE + OFFSET_REG_DMA3DAD + .set REG_DMA3DAD_L, REG_BASE + OFFSET_REG_DMA3DAD_L + .set REG_DMA3DAD_H, REG_BASE + OFFSET_REG_DMA3DAD_H + .set REG_DMA3CNT, REG_BASE + OFFSET_REG_DMA3CNT + .set REG_DMA3CNT_L, REG_BASE + OFFSET_REG_DMA3CNT_L + .set REG_DMA3CNT_H, REG_BASE + OFFSET_REG_DMA3CNT_H + + .set REG_TM0CNT, REG_BASE + OFFSET_REG_TM0CNT + .set REG_TM0CNT_L, REG_BASE + OFFSET_REG_TM0CNT_L + .set REG_TM0CNT_H, REG_BASE + OFFSET_REG_TM0CNT_H + .set REG_TM1CNT, REG_BASE + OFFSET_REG_TM1CNT + .set REG_TM1CNT_L, REG_BASE + OFFSET_REG_TM1CNT_L + .set REG_TM1CNT_H, REG_BASE + OFFSET_REG_TM1CNT_H + .set REG_TM2CNT, REG_BASE + OFFSET_REG_TM2CNT + .set REG_TM2CNT_L, REG_BASE + OFFSET_REG_TM2CNT_L + .set REG_TM2CNT_H, REG_BASE + OFFSET_REG_TM2CNT_H + .set REG_TM3CNT, REG_BASE + OFFSET_REG_TM3CNT + .set REG_TM3CNT_L, REG_BASE + OFFSET_REG_TM3CNT_L + .set REG_TM3CNT_H, REG_BASE + OFFSET_REG_TM3CNT_H + + .set REG_SIOCNT, REG_BASE + OFFSET_REG_SIOCNT + .set REG_SIODATA8, REG_BASE + OFFSET_REG_SIODATA8 + .set REG_SIODATA32, REG_BASE + OFFSET_REG_SIODATA32 + .set REG_SIOMLT_SEND, REG_BASE + OFFSET_REG_SIOMLT_SEND + .set REG_SIOMLT_RECV, REG_BASE + OFFSET_REG_SIOMLT_RECV + .set REG_SIOMULTI0, REG_BASE + OFFSET_REG_SIOMULTI0 + .set REG_SIOMULTI1, REG_BASE + OFFSET_REG_SIOMULTI1 + .set REG_SIOMULTI2, REG_BASE + OFFSET_REG_SIOMULTI2 + .set REG_SIOMULTI3, REG_BASE + OFFSET_REG_SIOMULTI3 + + .set REG_KEYINPUT, REG_BASE + OFFSET_REG_KEYINPUT + .set REG_KEYCNT, REG_BASE + OFFSET_REG_KEYCNT + + .set REG_RCNT, REG_BASE + OFFSET_REG_RCNT + + .set REG_JOYCNT, REG_BASE + OFFSET_REG_JOYCNT + .set REG_JOYSTAT, REG_BASE + OFFSET_REG_JOYSTAT + .set REG_JOY_RECV, REG_BASE + OFFSET_REG_JOY_RECV + .set REG_JOY_RECV_L, REG_BASE + OFFSET_REG_JOY_RECV_L + .set REG_JOY_RECV_H, REG_BASE + OFFSET_REG_JOY_RECV_H + .set REG_JOY_TRANS, REG_BASE + OFFSET_REG_JOY_TRANS + .set REG_JOY_TRANS_L, REG_BASE + OFFSET_REG_JOY_TRANS_L + .set REG_JOY_TRANS_H, REG_BASE + OFFSET_REG_JOY_TRANS_H + + .set REG_IME, REG_BASE + OFFSET_REG_IME + .set REG_IE, REG_BASE + OFFSET_REG_IE + .set REG_IF, REG_BASE + OFFSET_REG_IF + + .set REG_WAITCNT, REG_BASE + OFFSET_REG_WAITCNT + +@ DMA register constants + + .set DMA_DEST_INC, 0x0000 + .set DMA_DEST_DEC, 0x0020 + .set DMA_DEST_FIXED, 0x0040 + .set DMA_DEST_RELOAD, 0x0060 + .set DMA_SRC_INC, 0x0000 + .set DMA_SRC_DEC, 0x0080 + .set DMA_SRC_FIXED, 0x0100 + .set DMA_REPEAT, 0x0200 + .set DMA_16BIT, 0x0000 + .set DMA_32BIT, 0x0400 + .set DMA_DREQ_ON, 0x0800 + .set DMA_START_NOW, 0x0000 + .set DMA_START_VBLANK, 0x1000 + .set DMA_START_HBLANK, 0x2000 + .set DMA_START_SPECIAL, 0x3000 + .set DMA_INTR_ENABLE, 0x4000 + .set DMA_ENABLE, 0x8000 + +@ OAM attribute constants + + .set OAM_OBJ_NORMAL, 0x00000000 + .set OAM_OBJ_BLEND, 0x00000400 + .set OAM_OBJ_WINDOW, 0x00000800 + + .set OAM_AFFINE_NONE, 0x00000000 + .set OAM_AFFINE_NORMAL_SIZE, 0x00000100 + .set OAM_OBJ_DISABLED, 0x00000200 + .set OAM_AFFINE_DOUBLE_SIZE, 0x00000300 + + .set OAM_MOSAIC_OFF, 0x00000000 + .set OAM_MOSAIC_ON, 0x00001000 + + .set OAM_4BPP, 0x00000000 + .set OAM_8BPP, 0x00002000 + + .set OAM_H_FLIP, 0x10000000 + .set OAM_V_FLIP, 0x20000000 + + .set OAM_SQUARE, 0x00000000 + .set OAM_H_RECTANGLE, 0x00004000 + .set OAM_V_RECTANGLE, 0x00008000 + .set OAM_SIZE_0, 0x00000000 + .set OAM_SIZE_1, 0x40000000 + .set OAM_SIZE_2, 0x80000000 + .set OAM_SIZE_3, 0xc0000000 + + .set OAM_SIZE_8x8, OAM_SIZE_0 | OAM_SQUARE + .set OAM_SIZE_16x16, OAM_SIZE_1 | OAM_SQUARE + .set OAM_SIZE_32x32, OAM_SIZE_2 | OAM_SQUARE + .set OAM_SIZE_64x64, OAM_SIZE_3 | OAM_SQUARE + + .set OAM_SIZE_16x8, OAM_SIZE_0 | OAM_H_RECTANGLE + .set OAM_SIZE_32x8, OAM_SIZE_1 | OAM_H_RECTANGLE + .set OAM_SIZE_32x16, OAM_SIZE_2 | OAM_H_RECTANGLE + .set OAM_SIZE_64x32, OAM_SIZE_3 | OAM_H_RECTANGLE + + .set OAM_SIZE_8x16, OAM_SIZE_0 | OAM_V_RECTANGLE + .set OAM_SIZE_8x32, OAM_SIZE_1 | OAM_V_RECTANGLE + .set OAM_SIZE_16x32, OAM_SIZE_2 | OAM_V_RECTANGLE + .set OAM_SIZE_32x64, OAM_SIZE_3 | OAM_V_RECTANGLE diff --git a/berry_fix/data/data.s b/berry_fix/data/data.s new file mode 100644 index 000000000..dbb86b13b --- /dev/null +++ b/berry_fix/data/data.s @@ -0,0 +1,4 @@ + .section .rodata + +_data_2f0:: + .incbin "data/payload.gba.lz" diff --git a/berry_fix/ld_script.sed b/berry_fix/ld_script.sed new file mode 100644 index 000000000..b91542b6f --- /dev/null +++ b/berry_fix/ld_script.sed @@ -0,0 +1,14 @@ +// { + r sym_ewram.ld + d +} + +// { + r sym_bss.ld + d +} + +// { + r sym_common.ld + d +} diff --git a/berry_fix/ld_script.txt b/berry_fix/ld_script.txt new file mode 100644 index 000000000..2edeaef7c --- /dev/null +++ b/berry_fix/ld_script.txt @@ -0,0 +1,31 @@ +ENTRY(_start) + +SECTIONS { + . = 0x2000000; + + .text : + ALIGN(4) + { + asm/loader.o(.text); + } =0 + + . += 0x100; + .rodata : + ALIGN(4) + { + data/data.o(.rodata); + } =0 + + . = 0x2010000; + + ewram (NOLOAD) : + ALIGN(4) + { + gCode = .; + } + + /DISCARD/ : + { + *(*); + } +} diff --git a/berry_fix/payload/Makefile b/berry_fix/payload/Makefile new file mode 100644 index 000000000..e63d74234 --- /dev/null +++ b/berry_fix/payload/Makefile @@ -0,0 +1,159 @@ +include $(DEVKITARM)/base_tools +export CPP := $(PREFIX)cpp +export LD := $(PREFIX)ld + +ifeq ($(OS),Windows_NT) +EXE := .exe +else +EXE := +endif + +SHELL := /bin/bash -o pipefail + +CPPFLAGS := -I ../../tools/agbcc/include -I ../../tools/agbcc -iquote include -nostdinc -undef + +ROM := payload.gba +OBJ_DIR := build +CC1 := ../../tools/agbcc/bin/agbcc$(EXE) +override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O2 -fhex-asm + + +ELF = $(ROM:.gba=.elf) +MAP = $(ROM:.gba=.map) + +C_SUBDIR = src +ASM_SUBDIR = asm +DATA_ASM_SUBDIR = data + +C_BUILDDIR = $(OBJ_DIR)/$(C_SUBDIR) +ASM_BUILDDIR = $(OBJ_DIR)/$(ASM_SUBDIR) +DATA_ASM_BUILDDIR = $(OBJ_DIR)/$(DATA_ASM_SUBDIR) + +ASFLAGS := -mcpu=arm7tdmi + +LDFLAGS = -Map ../$(MAP) + +LIB := -L ../../../tools/agbcc/lib -lagb_flash -lsiirtc -lagbsyscall -lgcc + +SHA1 := $(shell { command -v sha1sum || command -v shasum; } 2>/dev/null) -c +GFX := ../../tools/gbagfx/gbagfx$(EXE) +AIF := ../../tools/aif2pcm/aif2pcm$(EXE) +MID := ../../tools/mid2agb/mid2agb$(EXE) +SCANINC := ../../tools/scaninc/scaninc$(EXE) +PREPROC := ../../tools/preproc/preproc$(EXE) +RAMSCRGEN := ../../tools/ramscrgen/ramscrgen$(EXE) +FIX := ../../tools/gbafix/gbafix$(EXE) + +# Clear the default suffixes +.SUFFIXES: +# Don't delete intermediate files +.SECONDARY: +# Delete files that weren't built properly +.DELETE_ON_ERROR: + +# Secondary expansion is required for dependency variables in object rules. +.SECONDEXPANSION: + +.PHONY: rom clean compare tidy + +C_SRCS := $(wildcard $(C_SUBDIR)/*.c $(C_SUBDIR)/*/*.c $(C_SUBDIR)/*/*/*.c) +C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS)) + +ASM_SRCS := $(wildcard $(ASM_SUBDIR)/*.s) +ASM_OBJS := $(patsubst $(ASM_SUBDIR)/%.s,$(ASM_BUILDDIR)/%.o,$(ASM_SRCS)) + +DATA_ASM_SRCS := $(wildcard $(DATA_ASM_SUBDIR)/*.s) +DATA_ASM_OBJS := $(patsubst $(DATA_ASM_SUBDIR)/%.s,$(DATA_ASM_BUILDDIR)/%.o,$(DATA_ASM_SRCS)) + +SONG_SRCS := $(wildcard $(SONG_SUBDIR)/*.s) +SONG_OBJS := $(patsubst $(SONG_SUBDIR)/%.s,$(SONG_BUILDDIR)/%.o,$(SONG_SRCS)) + +MID_SRCS := $(wildcard $(MID_SUBDIR)/*.mid) +MID_OBJS := $(patsubst $(MID_SUBDIR)/%.mid,$(MID_BUILDDIR)/%.o,$(MID_SRCS)) + +OBJS := $(C_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) $(MID_OBJS) +# OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS)) + +SUBDIRS := $(sort $(dir $(OBJS))) + +$(shell mkdir -p $(SUBDIRS)) + +rom: $(ROM) + +# For contributors to make sure a change didn't affect the contents of the ROM. +compare: $(ROM) + @$(SHA1) rom.sha1 + +clean: tidy + rm -f sound/direct_sound_samples/*.bin + rm -f $(SONG_OBJS) $(MID_OBJS) $(MID_SUBDIR)/*.s + 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 {} + + +tidy: + rm -f $(ROM) $(ELF) $(MAP) + rm -r build/* + +%.s: ; +%.png: ; +%.pal: ; +%.aif: ; + +%.1bpp: %.png ; $(GFX) $< $@ +%.4bpp: %.png ; $(GFX) $< $@ +%.8bpp: %.png ; $(GFX) $< $@ +%.gbapal: %.pal ; $(GFX) $< $@ +%.gbapal: %.png ; $(GFX) $< $@ +%.lz: % ; $(GFX) $< $@ +%.rl: % ; $(GFX) $< $@ + + +ifeq ($(NODEP),1) +$(C_BUILDDIR)/%.o: c_dep := +else +$(C_BUILDDIR)/%.o: c_dep = $(shell $(SCANINC) -I include $(C_SUBDIR)/$*.c) +endif + +$(C_BUILDDIR)/%.o : $(C_SUBDIR)/%.c $$(c_dep) + @$(CPP) $(CPPFLAGS) $< -o $(C_BUILDDIR)/$*.i + @$(PREPROC) $(C_BUILDDIR)/$*.i charmap.txt | $(CC1) $(CFLAGS) -o $(C_BUILDDIR)/$*.s + $(AS) $(ASFLAGS) -o $@ $(C_BUILDDIR)/$*.s + +ifeq ($(NODEP),1) +$(ASM_BUILDDIR)/%.o: asm_dep := +else +$(ASM_BUILDDIR)/%.o: asm_dep = $(shell $(SCANINC) $(ASM_SUBDIR)/$*.s) +endif + +$(ASM_BUILDDIR)/%.o: $(ASM_SUBDIR)/%.s $$(asm_dep) + $(AS) $(ASFLAGS) -o $@ $< + +ifeq ($(NODEP),1) +$(DATA_ASM_BUILDDIR)/%.o: data_dep := +else +$(DATA_ASM_BUILDDIR)/%.o: data_dep = $(shell $(SCANINC) $(DATA_ASM_SUBDIR)/$*.s) +endif + +$(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s $$(data_dep) + $(PREPROC) $< charmap.txt | $(CPP) -I include | $(AS) $(ASFLAGS) -o $@ + +$(SONG_BUILDDIR)/%.o: $(SONG_SUBDIR)/%.s + $(AS) $(ASFLAGS) -I sound -o $@ $< + +$(OBJ_DIR)/sym_bss.ld: sym_bss.txt + $(RAMSCRGEN) .bss $< ENGLISH > $@ + +$(OBJ_DIR)/sym_common.ld: sym_common.txt $(C_OBJS) $(wildcard common_syms/*.txt) + $(RAMSCRGEN) COMMON $< ENGLISH -c $(C_BUILDDIR),common_syms,../../tools/agbcc/lib > $@ + +$(OBJ_DIR)/sym_ewram.ld: sym_ewram.txt + $(RAMSCRGEN) ewram_data $< ENGLISH > $@ + +$(OBJ_DIR)/ld_script.ld: ld_script.txt $(OBJ_DIR)/sym_bss.ld $(OBJ_DIR)/sym_common.ld $(OBJ_DIR)/sym_ewram.ld + cd $(OBJ_DIR) && sed -f ../../ld_script.sed ../$< | sed "s#tools/#../tools/#g" > ld_script.ld + +$(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS) + cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../$@ $(LIB) + +$(ROM): $(ELF) + $(OBJCOPY) -O binary $< $@ + diff --git a/berry_fix/payload/asm/crt0.s b/berry_fix/payload/asm/crt0.s new file mode 100644 index 000000000..66536914a --- /dev/null +++ b/berry_fix/payload/asm/crt0.s @@ -0,0 +1,83 @@ + .include "asm/macros/asm.inc" + .include "asm/macros/function.inc" + .include "constants/gba_constants.inc" + + .syntax unified + + .text + + .arm + .align 2, 0 + .global Init +Init: + mov r0, PSR_IRQ_MODE + msr cpsr_cf, r0 + ldr sp, sp_irq + mov r0, PSR_SYS_MODE + msr cpsr_cf, r0 + ldr sp, sp_sys + ldr r1, =INTR_VECTOR + ldr r0, =IntrMain + str r0, [r1] + ldr r1, =AgbMain + 1 + mov lr, pc + bx r1 + b Init + + .align 2, 0 +sp_sys: .word IWRAM_END - 0x100 +sp_irq: .word IWRAM_END - 0x60 + + .pool + .size Init, .-Init + + .arm + .align 2, 0 + .global IntrMain +IntrMain: @ 0x2010048 + mov ip, REG_BASE + add r3, ip, OFFSET_REG_IE + ldr r2, [r3] + and r1, r2, r2, lsr #16 + mov r2, #0 + ands r0, r1, #0x2000 + strbne r0, [r3, #-0x17c] +_02010064: + bne _02010064 + ands r0, r1, #0xc0 + bne _020100DC + add r2, r2, #4 + ands r0, r1, #1 + strhne r0, [ip, #-8] + bne _020100DC + add r2, r2, #4 + ands r0, r1, #2 + bne _020100DC + add r2, r2, #4 + ands r0, r1, #4 + bne _020100DC + add r2, r2, #4 + ands r0, r1, #0x100 + bne _020100DC + add r2, r2, #4 + ands r0, r1, #0x200 + bne _020100DC + add r2, r2, #4 + ands r0, r1, #0x400 + bne _020100DC + add r2, r2, #4 + ands r0, r1, #0x800 + bne _020100DC + add r2, r2, #4 + ands r0, r1, #0x1000 + bne _020100DC + add r2, r2, #4 + ands r0, r1, #8 +_020100DC: + strh r0, [r3, #2] + ldr r1, =gIntrTable + add r1, r1, r2 + ldr r0, [r1] + bx r0 + .pool + .size IntrMain, .-IntrMain diff --git a/berry_fix/payload/asm/macros/asm.inc b/berry_fix/payload/asm/macros/asm.inc new file mode 100644 index 000000000..4ac003fab --- /dev/null +++ b/berry_fix/payload/asm/macros/asm.inc @@ -0,0 +1,12 @@ + .macro inc x + .set \x, \x + 1 + .endm + + .macro enum_start x=0 + .set __enum__, \x + .endm + + .macro enum constant + .equiv \constant, __enum__ + inc __enum__ + .endm diff --git a/berry_fix/payload/asm/macros/function.inc b/berry_fix/payload/asm/macros/function.inc new file mode 100644 index 000000000..b109595df --- /dev/null +++ b/berry_fix/payload/asm/macros/function.inc @@ -0,0 +1,29 @@ + .macro arm_func_start name + .align 2, 0 + .global \name + .arm + .type \name, %function + .endm + + .macro arm_func_end name + .size \name, .-\name + .endm + + .macro thumb_func_start name + .align 2, 0 + .global \name + .thumb + .thumb_func + .type \name, %function + .endm + + .macro non_word_aligned_thumb_func_start name + .global \name + .thumb + .thumb_func + .type \name, %function + .endm + + .macro thumb_func_end name + .size \name, .-\name + .endm diff --git a/berry_fix/payload/asmdiff.sh b/berry_fix/payload/asmdiff.sh new file mode 100644 index 000000000..5f86ac620 --- /dev/null +++ b/berry_fix/payload/asmdiff.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +OBJDUMP="$DEVKITARM/bin/arm-none-eabi-objdump -D -bbinary -marmv4t -Mforce-thumb" +OPTIONS="--start-address=$(($1)) --stop-address=$(($1 + $2))" +$OBJDUMP $OPTIONS baserom.gba > baserom.dump +$OBJDUMP $OPTIONS payload.gba > payload.dump +diff baserom.dump payload.dump diff --git a/berry_fix/payload/charmap.txt b/berry_fix/payload/charmap.txt new file mode 100644 index 000000000..a736b40f2 --- /dev/null +++ b/berry_fix/payload/charmap.txt @@ -0,0 +1,1067 @@ +' ' = 00 +'À' = 01 +'Ã' = 02 +'Â' = 03 +'Ç' = 04 +'È' = 05 +'É' = 06 +'Ê' = 07 +'Ë' = 08 +'ÃŒ' = 09 +'ÃŽ' = 0B +'Ã' = 0C +'Ã’' = 0D +'Ó' = 0E +'Ô' = 0F +'Å’' = 10 +'Ù' = 11 +'Ú' = 12 +'Û' = 13 +'Ñ' = 14 +'ß' = 15 +'à' = 16 +'á' = 17 +'ç' = 19 +'è' = 1A +'é' = 1B +'ê' = 1C +'ë' = 1D +'ì' = 1E +'î' = 20 +'ï' = 21 +'ò' = 22 +'ó' = 23 +'ô' = 24 +'Å“' = 25 +'ù' = 26 +'ú' = 27 +'û' = 28 +'ñ' = 29 +'º' = 2A +'ª' = 2B +SUPER_ER = 2C +'&' = 2D +'+' = 2E +LV = 34 +'=' = 35 +';' = 36 +'¿' = 51 +'¡' = 52 +PK = 53 +PKMN = 53 54 +POKEBLOCK = 55 56 57 58 59 +'Ã' = 5A +'%' = 5B +'(' = 5C +')' = 5D +'â' = 68 +'í' = 6F +UNK_SPACER = 77 +UP_ARROW = 79 +DOWN_ARROW = 7A +LEFT_ARROW = 7B +RIGHT_ARROW = 7C +'0' = A1 +'1' = A2 +'2' = A3 +'3' = A4 +'4' = A5 +'5' = A6 +'6' = A7 +'7' = A8 +'8' = A9 +'9' = AA +'!' = AB +'?' = AC +'.' = AD +'-' = AE +'·' = AF +'…' = B0 +'“' = B1 +'â€' = B2 +'‘' = B3 +'’' = B4 +'♂' = B5 +'♀' = B6 +'Â¥' = B7 +',' = B8 +'×' = B9 +'/' = BA +'A' = BB +'B' = BC +'C' = BD +'D' = BE +'E' = BF +'F' = C0 +'G' = C1 +'H' = C2 +'I' = C3 +'J' = C4 +'K' = C5 +'L' = C6 +'M' = C7 +'N' = C8 +'O' = C9 +'P' = CA +'Q' = CB +'R' = CC +'S' = CD +'T' = CE +'U' = CF +'V' = D0 +'W' = D1 +'X' = D2 +'Y' = D3 +'Z' = D4 +'a' = D5 +'b' = D6 +'c' = D7 +'d' = D8 +'e' = D9 +'f' = DA +'g' = DB +'h' = DC +'i' = DD +'j' = DE +'k' = DF +'l' = E0 +'m' = E1 +'n' = E2 +'o' = E3 +'p' = E4 +'q' = E5 +'r' = E6 +'s' = E7 +'t' = E8 +'u' = E9 +'v' = EA +'w' = EB +'x' = EC +'y' = ED +'z' = EE +'â–¶' = EF +':' = F0 +'Ä' = F1 +'Ö' = F2 +'Ü' = F3 +'ä' = F4 +'ö' = F5 +'ü' = F6 +TALL_PLUS = FC 0C FB +'$' = FF + +@ Hiragana +'ã‚' = 01 +'ã„' = 02 +'ã†' = 03 +'ãˆ' = 04 +'ãŠ' = 05 +'ã‹' = 06 +'ã' = 07 +'ã' = 08 +'ã‘' = 09 +'ã“' = 0A +'ã•' = 0B +'ã—' = 0C +'ã™' = 0D +'ã›' = 0E +'ã' = 0F +'ãŸ' = 10 +'ã¡' = 11 +'ã¤' = 12 +'ã¦' = 13 +'ã¨' = 14 +'ãª' = 15 +'ã«' = 16 +'ã¬' = 17 +'ã­' = 18 +'ã®' = 19 +'ã¯' = 1A +'ã²' = 1B +'ãµ' = 1C +'ã¸' = 1D +'ã»' = 1E +'ã¾' = 1F +'ã¿' = 20 +'ã‚€' = 21 +'ã‚' = 22 +'ã‚‚' = 23 +'ã‚„' = 24 +'ゆ' = 25 +'よ' = 26 +'ら' = 27 +'り' = 28 +'ã‚‹' = 29 +'れ' = 2A +'ã‚' = 2B +'ã‚' = 2C +'ã‚’' = 2D +'ã‚“' = 2E +'ã' = 2F +'ãƒ' = 30 +'ã…' = 31 +'ã‡' = 32 +'ã‰' = 33 +'ゃ' = 34 +'ã‚…' = 35 +'ょ' = 36 +'ãŒ' = 37 +'ãŽ' = 38 +'ã' = 39 +'ã’' = 3A +'ã”' = 3B +'ã–' = 3C +'ã˜' = 3D +'ãš' = 3E +'ãœ' = 3F +'ãž' = 40 +'ã ' = 41 +'ã¢' = 42 +'ã¥' = 43 +'ã§' = 44 +'ã©' = 45 +'ã°' = 46 +'ã³' = 47 +'ã¶' = 48 +'ã¹' = 49 +'ã¼' = 4A +'ã±' = 4B +'ã´' = 4C +'ã·' = 4D +'ãº' = 4E +'ã½' = 4F +'ã£' = 50 + +@ Katakana +'ã‚¢' = 51 +'イ' = 52 +'ウ' = 53 +'エ' = 54 +'オ' = 55 +'ã‚«' = 56 +'ã‚­' = 57 +'ク' = 58 +'ケ' = 59 +'コ' = 5A +'サ' = 5B +'ã‚·' = 5C +'ス' = 5D +'ã‚»' = 5E +'ソ' = 5F +'ã‚¿' = 60 +'ãƒ' = 61 +'ツ' = 62 +'テ' = 63 +'ト' = 64 +'ナ' = 65 +'ニ' = 66 +'ヌ' = 67 +'ãƒ' = 68 +'ノ' = 69 +'ãƒ' = 6A +'ヒ' = 6B +'フ' = 6C +'ヘ' = 6D +'ホ' = 6E +'マ' = 6F +'ミ' = 70 +'ム' = 71 +'メ' = 72 +'モ' = 73 +'ヤ' = 74 +'ユ' = 75 +'ヨ' = 76 +'ラ' = 77 +'リ' = 78 +'ル' = 79 +'レ' = 7A +'ロ' = 7B +'ワ' = 7C +'ヲ' = 7D +'ン' = 7E +'ã‚¡' = 7F +'ã‚£' = 80 +'ã‚¥' = 81 +'ã‚§' = 82 +'ã‚©' = 83 +'ャ' = 84 +'ュ' = 85 +'ョ' = 86 +'ガ' = 87 +'ã‚®' = 88 +'ã‚°' = 89 +'ゲ' = 8A +'ã‚´' = 8B +'ã‚¶' = 8C +'ジ' = 8D +'ズ' = 8E +'ゼ' = 8F +'ゾ' = 90 +'ダ' = 91 +'ヂ' = 92 +'ヅ' = 93 +'デ' = 94 +'ド' = 95 +'ãƒ' = 96 +'ビ' = 97 +'ブ' = 98 +'ベ' = 99 +'ボ' = 9A +'パ' = 9B +'ピ' = 9C +'プ' = 9D +'ペ' = 9E +'ãƒ' = 9F +'ッ' = A0 + +@ Japanese punctuation +' ' = 00 +'ï¼' = AB +'?' = AC +'。' = AD +'ー' = AE +'⋯' = B0 + +STRING = FD + +@ string placeholders +PLAYER = FD 01 +STR_VAR_1 = FD 02 +STR_VAR_2 = FD 03 +STR_VAR_3 = FD 04 +KUN = FD 05 +RIVAL = FD 06 +@ version-dependent strings (originally made for Ruby/Sapphire differences) +@ Emerald uses the Sapphire strings (except for VERSION). +VERSION = FD 07 @ "EMERALD" +AQUA = FD 08 +MAGMA = FD 09 +ARCHIE = FD 0A +MAXIE = FD 0B +KYOGRE = FD 0C +GROUDON = FD 0D + +@ battle string placeholders + +B_BUFF1 = FD 00 +B_BUFF2 = FD 01 +B_COPY_VAR_1 = FD 02 +B_COPY_VAR_2 = FD 03 +B_COPY_VAR_3 = FD 04 +B_PLAYER_MON1_NAME = FD 05 +B_OPPONENT_MON1_NAME = FD 06 +B_PLAYER_MON2_NAME = FD 07 +B_OPPONENT_MON2_NAME = FD 08 +B_LINK_PLAYER_MON1_NAME = FD 09 +B_LINK_OPPONENT_MON1_NAME = FD 0A +B_LINK_PLAYER_MON2_NAME = FD 0B +B_LINK_OPPONENT_MON2_NAME = FD 0C +B_ATK_NAME_WITH_PREFIX_MON1 = FD 0D +B_ATK_PARTNER_NAME = FD 0E +B_ATK_NAME_WITH_PREFIX = FD 0F +B_DEF_NAME_WITH_PREFIX = FD 10 +B_EFF_NAME_WITH_PREFIX = FD 11 @ EFF = short for gEffectBattler +B_ACTIVE_NAME_WITH_PREFIX = FD 12 +B_SCR_ACTIVE_NAME_WITH_PREFIX = FD 13 +B_CURRENT_MOVE = FD 14 +B_LAST_MOVE = FD 15 +B_LAST_ITEM = FD 16 +B_LAST_ABILITY = FD 17 +B_ATK_ABILITY = FD 18 +B_DEF_ABILITY = FD 19 +B_SCR_ACTIVE_ABILITY = FD 1A +B_EFF_ABILITY = FD 1B +B_TRAINER1_CLASS = FD 1C +B_TRAINER1_NAME = FD 1D +B_LINK_PLAYER_NAME = FD 1E +B_LINK_PARTNER_NAME = FD 1F +B_LINK_OPPONENT1_NAME = FD 20 +B_LINK_OPPONENT2_NAME = FD 21 +B_LINK_SCR_TRAINER_NAME = FD 22 +B_PLAYER_NAME = FD 23 +B_TRAINER1_LOSE_TEXT = FD 24 +B_TRAINER1_WIN_TEXT = FD 25 +B_26 = FD 26 +B_PC_CREATOR_NAME = FD 27 +B_ATK_PREFIX1 = FD 28 +B_DEF_PREFIX1 = FD 29 +B_ATK_PREFIX2 = FD 2A +B_DEF_PREFIX2 = FD 2B +B_ATK_PREFIX3 = FD 2C +B_DEF_PREFIX3 = FD 2D +B_TRAINER2_CLASS = FD 2E +B_TRAINER2_NAME = FD 2F +B_TRAINER2_LOSE_TEXT = FD 30 +B_TRAINER2_WIN_TEXT = FD 31 +B_PARTNER_CLASS = FD 32 +B_PARTNER_NAME = FD 33 +B_BUFF3 = FD 34 + +@ indicates the end of a town/city name (before " TOWN" or " CITY") +NAME_END = FC 00 + +@ special 0xF7 character +SPECIAL_F7 = F7 + +@ more text functions + +COLOR = FC 01 @ use a color listed below right after +HIGHLIGHT = FC 02 @ same as fc 01 +SHADOW = FC 03 @ same as fc 01 +COLOR_HIGHLIGHT_SHADOW = FC 04 @ takes 3 bytes +PALETTE = FC 05 @ used in credits +SIZE = FC 06 @ note that anything other than "SMALL" is invalid +UNKNOWN_7 = FC 07 +PAUSE = FC 08 @ manually print the wait byte after this, havent mapped them +PAUSE_UNTIL_PRESS = FC 09 +UNKNOWN_A = FC 0A +PLAY_BGM = FC 0B +ESCAPE = FC 0C +SHIFT_TEXT = FC 0D +UNKNOWN_E = FC 0E +UNKNOWN_F = FC 0F +PLAY_SE = FC 10 +CLEAR = FC 11 +SKIP = FC 12 +CLEAR_TO = FC 13 +UNKNOWN_14 = FC 14 +JPN = FC 15 +ENG = FC 16 +PAUSE_MUSIC = FC 17 +RESUME_MUSIC = FC 18 + +@ colors + +TRANSPARENT = 00 +WHITE = 01 +DARK_GREY = 02 +LIGHT_GREY = 03 +RED = 04 +LIGHT_RED = 05 +GREEN = 06 +LIGHT_GREEN = 07 +BLUE = 08 +LIGHT_BLUE = 09 +@ these next colors can be set to anything arbitrary at runtime +@ usually though they'll have the textbox border colors as described below +DYNAMIC_COLOR1 = 0A @ white +DYNAMIC_COLOR2 = 0B @ white with a tinge of green +DYNAMIC_COLOR3 = 0C @ white 2 +DYNAMIC_COLOR4 = 0D @ aquamarine +DYNAMIC_COLOR5 = 0E @ blue-green +DYNAMIC_COLOR6 = 0F @ cerulean + +@ sound and music + +MUS_DUMMY = 00 00 +SE_KAIFUKU = 01 00 +SE_PC_LOGIN = 02 00 +SE_PC_OFF = 03 00 +SE_PC_ON = 04 00 +SE_SELECT = 05 00 +SE_WIN_OPEN = 06 00 +SE_WALL_HIT = 07 00 +SE_DOOR = 08 00 +SE_KAIDAN = 09 00 +SE_DANSA = 0A 00 +SE_JITENSYA = 0B 00 +SE_KOUKA_L = 0C 00 +SE_KOUKA_M = 0D 00 +SE_KOUKA_H = 0E 00 +SE_BOWA2 = 0F 00 +SE_POKE_DEAD = 10 00 +SE_NIGERU = 11 00 +SE_JIDO_DOA = 12 00 +SE_NAMINORI = 13 00 +SE_BAN = 14 00 +SE_PIN = 15 00 +SE_BOO = 16 00 +SE_BOWA = 17 00 +SE_JYUNI = 18 00 +SE_A = 19 00 +SE_I = 1A 00 +SE_U = 1B 00 +SE_E = 1C 00 +SE_O = 1D 00 +SE_N = 1E 00 +SE_SEIKAI = 1F 00 +SE_HAZURE = 20 00 +SE_EXP = 21 00 +SE_JITE_PYOKO = 22 00 +SE_MU_PACHI = 23 00 +SE_TK_KASYA = 24 00 +SE_FU_ZAKU = 25 00 +SE_FU_ZAKU2 = 26 00 +SE_FU_ZUZUZU = 27 00 +SE_RU_GASHIN = 28 00 +SE_RU_GASYAN = 29 00 +SE_RU_BARI = 2A 00 +SE_RU_HYUU = 2B 00 +SE_KI_GASYAN = 2C 00 +SE_TK_WARPIN = 2D 00 +SE_TK_WARPOUT = 2E 00 +SE_TU_SAA = 2F 00 +SE_HI_TURUN = 30 00 +SE_TRACK_MOVE = 31 00 +SE_TRACK_STOP = 32 00 +SE_TRACK_HAIKI = 33 00 +SE_TRACK_DOOR = 34 00 +SE_MOTER = 35 00 +SE_CARD = 36 00 +SE_SAVE = 37 00 +SE_KON = 38 00 +SE_KON2 = 39 00 +SE_KON3 = 3A 00 +SE_KON4 = 3B 00 +SE_SUIKOMU = 3C 00 +SE_NAGERU = 3D 00 +SE_TOY_C = 3E 00 +SE_TOY_D = 3F 00 +SE_TOY_E = 40 00 +SE_TOY_F = 41 00 +SE_TOY_G = 42 00 +SE_TOY_A = 43 00 +SE_TOY_B = 44 00 +SE_TOY_C1 = 45 00 +SE_MIZU = 46 00 +SE_HASHI = 47 00 +SE_DAUGI = 48 00 +SE_PINPON = 49 00 +SE_FUUSEN1 = 4A 00 +SE_FUUSEN2 = 4B 00 +SE_FUUSEN3 = 4C 00 +SE_TOY_KABE = 4D 00 +SE_TOY_DANGO = 4E 00 +SE_DOKU = 4F 00 +SE_ESUKA = 50 00 +SE_T_AME = 51 00 +SE_T_AME_E = 52 00 +SE_T_OOAME = 53 00 +SE_T_OOAME_E = 54 00 +SE_T_KOAME = 55 00 +SE_T_KOAME_E = 56 00 +SE_T_KAMI = 57 00 +SE_T_KAMI2 = 58 00 +SE_ELEBETA = 59 00 +SE_HINSI = 5A 00 +SE_EXPMAX = 5B 00 +SE_TAMAKORO = 5C 00 +SE_TAMAKORO_E = 5D 00 +SE_BASABASA = 5E 00 +SE_REGI = 5F 00 +SE_C_GAJI = 60 00 +SE_C_MAKU_U = 61 00 +SE_C_MAKU_D = 62 00 +SE_C_PASI = 63 00 +SE_C_SYU = 64 00 +SE_C_PIKON = 65 00 +SE_REAPOKE = 66 00 +SE_OP_BASYU = 67 00 +SE_BT_START = 68 00 +SE_DENDOU = 69 00 +SE_JIHANKI = 6A 00 +SE_TAMA = 6B 00 +SE_Z_SCROLL = 6C 00 +SE_Z_PAGE = 6D 00 +SE_PN_ON = 6E 00 +SE_PN_OFF = 6F 00 +SE_Z_SEARCH = 70 00 +SE_TAMAGO = 71 00 +SE_TB_START = 72 00 +SE_TB_KON = 73 00 +SE_TB_KARA = 74 00 +SE_BIDORO = 75 00 +SE_W085 = 76 00 +SE_W085B = 77 00 +SE_W231 = 78 00 +SE_W171 = 79 00 +SE_W233 = 7A 00 +SE_W233B = 7B 00 +SE_W145 = 7C 00 +SE_W145B = 7D 00 +SE_W145C = 7E 00 +SE_W240 = 7F 00 +SE_W015 = 80 00 +SE_W081 = 81 00 +SE_W081B = 82 00 +SE_W088 = 83 00 +SE_W016 = 84 00 +SE_W016B = 85 00 +SE_W003 = 86 00 +SE_W104 = 87 00 +SE_W013 = 88 00 +SE_W196 = 89 00 +SE_W086 = 8A 00 +SE_W004 = 8B 00 +SE_W025 = 8C 00 +SE_W025B = 8D 00 +SE_W152 = 8E 00 +SE_W026 = 8F 00 +SE_W172 = 90 00 +SE_W172B = 91 00 +SE_W053 = 92 00 +SE_W007 = 93 00 +SE_W092 = 94 00 +SE_W221 = 95 00 +SE_W221B = 96 00 +SE_W052 = 97 00 +SE_W036 = 98 00 +SE_W059 = 99 00 +SE_W059B = 9A 00 +SE_W010 = 9B 00 +SE_W011 = 9C 00 +SE_W017 = 9D 00 +SE_W019 = 9E 00 +SE_W028 = 9F 00 +SE_W013B = A0 00 +SE_W044 = A1 00 +SE_W029 = A2 00 +SE_W057 = A3 00 +SE_W056 = A4 00 +SE_W250 = A5 00 +SE_W030 = A6 00 +SE_W039 = A7 00 +SE_W054 = A8 00 +SE_W077 = A9 00 +SE_W020 = AA 00 +SE_W082 = AB 00 +SE_W047 = AC 00 +SE_W195 = AD 00 +SE_W006 = AE 00 +SE_W091 = AF 00 +SE_W146 = B0 00 +SE_W120 = B1 00 +SE_W153 = B2 00 +SE_W071B = B3 00 +SE_W071 = B4 00 +SE_W103 = B5 00 +SE_W062 = B6 00 +SE_W062B = B7 00 +SE_W048 = B8 00 +SE_W187 = B9 00 +SE_W118 = BA 00 +SE_W155 = BB 00 +SE_W122 = BC 00 +SE_W060 = BD 00 +SE_W185 = BE 00 +SE_W014 = BF 00 +SE_W043 = C0 00 +SE_W207 = C1 00 +SE_W207B = C2 00 +SE_W215 = C3 00 +SE_W109 = C4 00 +SE_W173 = C5 00 +SE_W280 = C6 00 +SE_W202 = C7 00 +SE_W060B = C8 00 +SE_W076 = C9 00 +SE_W080 = CA 00 +SE_W100 = CB 00 +SE_W107 = CC 00 +SE_W166 = CD 00 +SE_W129 = CE 00 +SE_W115 = CF 00 +SE_W112 = D0 00 +SE_W197 = D1 00 +SE_W199 = D2 00 +SE_W236 = D3 00 +SE_W204 = D4 00 +SE_W268 = D5 00 +SE_W070 = D6 00 +SE_W063 = D7 00 +SE_W127 = D8 00 +SE_W179 = D9 00 +SE_W151 = DA 00 +SE_W201 = DB 00 +SE_W161 = DC 00 +SE_W161B = DD 00 +SE_W227 = DE 00 +SE_W227B = DF 00 +SE_W226 = E0 00 +SE_W208 = E1 00 +SE_W213 = E2 00 +SE_W213B = E3 00 +SE_W234 = E4 00 +SE_W260 = E5 00 +SE_W328 = E6 00 +SE_W320 = E7 00 +SE_W255 = E8 00 +SE_W291 = E9 00 +SE_W089 = EA 00 +SE_W239 = EB 00 +SE_W230 = EC 00 +SE_W281 = ED 00 +SE_W327 = EE 00 +SE_W287 = EF 00 +SE_W257 = F0 00 +SE_W253 = F1 00 +SE_W258 = F2 00 +SE_W322 = F3 00 +SE_W298 = F4 00 +SE_W287B = F5 00 +SE_W114 = F6 00 +SE_W063B = F7 00 +SE_RG_W_DOOR = F8 00 +SE_RG_CARD1 = F9 00 +SE_RG_CARD2 = FA 00 +SE_RG_CARD3 = FB 00 +SE_RG_BAG1 = FC 00 +SE_RG_BAG2 = FD 00 +SE_RG_GETTING = FE 00 +SE_RG_SHOP = FF 00 +SE_RG_KITEKI = 00 01 +SE_RG_HELP_OP = 01 01 +SE_RG_HELP_CL = 02 01 +SE_RG_HELP_NG = 03 01 +SE_RG_DEOMOV = 04 01 +SE_RG_EXCELLENT = 05 01 +SE_RG_NAWAMISS = 06 01 +SE_TOREEYE = 07 01 +SE_TOREOFF = 08 01 +SE_HANTEI1 = 09 01 +SE_HANTEI2 = 0A 01 +SE_CURTAIN = 0B 01 +SE_CURTAIN1 = 0C 01 +SE_USSOKI = 0D 01 +MUS_TETSUJI = 5E 01 +MUS_FIELD13 = 5F 01 +MUS_KACHI22 = 60 01 +MUS_KACHI2 = 61 01 +MUS_KACHI3 = 62 01 +MUS_KACHI5 = 63 01 +MUS_PCC = 64 01 +MUS_NIBI = 65 01 +MUS_SUIKUN = 66 01 +MUS_DOORO1 = 67 01 +MUS_DOORO_X1 = 68 01 +MUS_DOORO_X3 = 69 01 +MUS_MACHI_S2 = 6A 01 +MUS_MACHI_S4 = 6B 01 +MUS_GIM = 6C 01 +MUS_NAMINORI = 6D 01 +MUS_DAN01 = 6E 01 +MUS_FANFA1 = 6F 01 +MUS_ME_ASA = 70 01 +MUS_ME_BACHI = 71 01 +MUS_FANFA4 = 72 01 +MUS_FANFA5 = 73 01 +MUS_ME_WAZA = 74 01 +MUS_BIJYUTU = 75 01 +MUS_DOORO_X4 = 76 01 +MUS_FUNE_KAN = 77 01 +MUS_ME_SHINKA = 78 01 +MUS_SHINKA = 79 01 +MUS_ME_WASURE = 7A 01 +MUS_SYOUJOEYE = 7B 01 +MUS_BOYEYE = 7C 01 +MUS_DAN02 = 7D 01 +MUS_MACHI_S3 = 7E 01 +MUS_ODAMAKI = 7F 01 +MUS_B_TOWER = 80 01 +MUS_SWIMEYE = 81 01 +MUS_DAN03 = 82 01 +MUS_ME_KINOMI = 83 01 +MUS_ME_TAMA = 84 01 +MUS_ME_B_BIG = 85 01 +MUS_ME_B_SMALL = 86 01 +MUS_ME_ZANNEN = 87 01 +MUS_BD_TIME = 88 01 +MUS_TEST1 = 89 01 +MUS_TEST2 = 8A 01 +MUS_TEST3 = 8B 01 +MUS_TEST4 = 8C 01 +MUS_TEST = 8D 01 +MUS_GOMACHI0 = 8E 01 +MUS_GOTOWN = 8F 01 +MUS_POKECEN = 90 01 +MUS_NEXTROAD = 91 01 +MUS_GRANROAD = 92 01 +MUS_CYCLING = 93 01 +MUS_FRIENDLY = 94 01 +MUS_MISHIRO = 95 01 +MUS_TOZAN = 96 01 +MUS_GIRLEYE = 97 01 +MUS_MINAMO = 98 01 +MUS_ASHROAD = 99 01 +MUS_EVENT0 = 9A 01 +MUS_DEEPDEEP = 9B 01 +MUS_KACHI1 = 9C 01 +MUS_TITLE3 = 9D 01 +MUS_DEMO1 = 9E 01 +MUS_GIRL_SUP = 9F 01 +MUS_HAGESHII = A0 01 +MUS_KAKKOII = A1 01 +MUS_KAZANBAI = A2 01 +MUS_AQA_0 = A3 01 +MUS_TSURETEK = A4 01 +MUS_BOY_SUP = A5 01 +MUS_RAINBOW = A6 01 +MUS_AYASII = A7 01 +MUS_KACHI4 = A8 01 +MUS_ROPEWAY = A9 01 +MUS_CASINO = AA 01 +MUS_HIGHTOWN = AB 01 +MUS_SAFARI = AC 01 +MUS_C_ROAD = AD 01 +MUS_AJITO = AE 01 +MUS_M_BOAT = AF 01 +MUS_M_DUNGON = B0 01 +MUS_FINECITY = B1 01 +MUS_MACHUPI = B2 01 +MUS_P_SCHOOL = B3 01 +MUS_DENDOU = B4 01 +MUS_TONEKUSA = B5 01 +MUS_MABOROSI = B6 01 +MUS_CON_FAN = B7 01 +MUS_CONTEST0 = B8 01 +MUS_MGM0 = B9 01 +MUS_T_BATTLE = BA 01 +MUS_OOAME = BB 01 +MUS_HIDERI = BC 01 +MUS_RUNECITY = BD 01 +MUS_CON_K = BE 01 +MUS_EIKOU_R = BF 01 +MUS_KARAKURI = C0 01 +MUS_HUTAGO = C1 01 +MUS_SITENNOU = C2 01 +MUS_YAMA_EYE = C3 01 +MUS_CONLOBBY = C4 01 +MUS_INTER_V = C5 01 +MUS_DAIGO = C6 01 +MUS_THANKFOR = C7 01 +MUS_END = C8 01 +MUS_B_FRONTIER = C9 01 +MUS_B_ARENA = CA 01 +MUS_ME_POINTGET = CB 01 +MUS_ME_TORE_EYE = CC 01 +MUS_PYRAMID = CD 01 +MUS_PYRAMID_TOP = CE 01 +MUS_B_PALACE = CF 01 +MUS_REKKUU_KOURIN = D0 01 +MUS_SATTOWER = D1 01 +MUS_ME_SYMBOLGET = D2 01 +MUS_B_DOME = D3 01 +MUS_B_TUBE = D4 01 +MUS_B_FACTORY = D5 01 +MUS_VS_REKKU = D6 01 +MUS_VS_FRONT = D7 01 +MUS_VS_MEW = D8 01 +MUS_B_DOME1 = D9 01 +MUS_BATTLE27 = DA 01 +MUS_BATTLE31 = DB 01 +MUS_BATTLE20 = DC 01 +MUS_BATTLE32 = DD 01 +MUS_BATTLE33 = DE 01 +MUS_BATTLE36 = DF 01 +MUS_BATTLE34 = E0 01 +MUS_BATTLE35 = E1 01 +MUS_BATTLE38 = E2 01 +MUS_BATTLE30 = E3 01 +MUS_RG_ANNAI = E4 01 +MUS_RG_SLOT = E5 01 +MUS_RG_AJITO = E6 01 +MUS_RG_GYM = E7 01 +MUS_RG_PURIN = E8 01 +MUS_RG_DEMO = E9 01 +MUS_RG_TITLE = EA 01 +MUS_RG_GUREN = EB 01 +MUS_RG_SHION = EC 01 +MUS_RG_KAIHUKU = ED 01 +MUS_RG_CYCLING = EE 01 +MUS_RG_ROCKET = EF 01 +MUS_RG_SHOUJO = F0 01 +MUS_RG_SHOUNEN = F1 01 +MUS_RG_DENDOU = F2 01 +MUS_RG_T_MORI = F3 01 +MUS_RG_OTSUKIMI = F4 01 +MUS_RG_POKEYASHI = F5 01 +MUS_RG_ENDING = F6 01 +MUS_RG_LOAD01 = F7 01 +MUS_RG_OPENING = F8 01 +MUS_RG_LOAD02 = F9 01 +MUS_RG_LOAD03 = FA 01 +MUS_RG_CHAMP_R = FB 01 +MUS_RG_VS_GYM = FC 01 +MUS_RG_VS_TORE = FD 01 +MUS_RG_VS_YASEI = FE 01 +MUS_RG_VS_LAST = FF 01 +MUS_RG_MASARA = 00 02 +MUS_RG_KENKYU = 01 02 +MUS_RG_OHKIDO = 02 02 +MUS_RG_POKECEN = 03 02 +MUS_RG_SANTOAN = 04 02 +MUS_RG_NAMINORI = 05 02 +MUS_RG_P_TOWER = 06 02 +MUS_RG_SHIRUHU = 07 02 +MUS_RG_HANADA = 08 02 +MUS_RG_TAMAMUSI = 09 02 +MUS_RG_WIN_TRE = 0A 02 +MUS_RG_WIN_YASEI = 0B 02 +MUS_RG_WIN_GYM = 0C 02 +MUS_RG_KUCHIBA = 0D 02 +MUS_RG_NIBI = 0E 02 +MUS_RG_RIVAL1 = 0F 02 +MUS_RG_RIVAL2 = 10 02 +MUS_RG_FAN2 = 11 02 +MUS_RG_FAN5 = 12 02 +MUS_RG_FAN6 = 13 02 +MUS_ME_RG_PHOTO = 14 02 +MUS_RG_TITLEROG = 15 02 +MUS_RG_GET_YASEI = 16 02 +MUS_RG_SOUSA = 17 02 +MUS_RG_SEKAIKAN = 18 02 +MUS_RG_SEIBETU = 19 02 +MUS_RG_JUMP = 1A 02 +MUS_RG_UNION = 1B 02 +MUS_RG_NETWORK = 1C 02 +MUS_RG_OKURIMONO = 1D 02 +MUS_RG_KINOMIKUI = 1E 02 +MUS_RG_NANADUNGEON = 1F 02 +MUS_RG_OSHIE_TV = 20 02 +MUS_RG_NANASHIMA = 21 02 +MUS_RG_NANAISEKI = 22 02 +MUS_RG_NANA123 = 23 02 +MUS_RG_NANA45 = 24 02 +MUS_RG_NANA67 = 25 02 +MUS_RG_POKEFUE = 26 02 +MUS_RG_VS_DEO = 27 02 +MUS_RG_VS_MYU2 = 28 02 +MUS_RG_VS_DEN = 29 02 +MUS_RG_EXEYE = 2A 02 +MUS_RG_DEOEYE = 2B 02 +MUS_RG_T_TOWER = 2C 02 +MUS_RG_SLOWMASARA = 2D 02 +MUS_RG_TVNOIZE = 2E 02 +PH_TRAP_BLEND = 2F 02 +PH_TRAP_HELD = 30 02 +PH_TRAP_SOLO = 31 02 +PH_FACE_BLEND = 32 02 +PH_FACE_HELD = 33 02 +PH_FACE_SOLO = 34 02 +PH_CLOTH_BLEND = 35 02 +PH_CLOTH_HELD = 36 02 +PH_CLOTH_SOLO = 37 02 +PH_DRESS_BLEND = 38 02 +PH_DRESS_HELD = 39 02 +PH_DRESS_SOLO = 3A 02 +PH_FLEECE_BLEND = 3B 02 +PH_FLEECE_HELD = 3C 02 +PH_FLEECE_SOLO = 3D 02 +PH_KIT_BLEND = 3E 02 +PH_KIT_HELD = 3F 02 +PH_KIT_SOLO = 40 02 +PH_PRICE_BLEND = 41 02 +PH_PRICE_HELD = 42 02 +PH_PRICE_SOLO = 43 02 +PH_LOT_BLEND = 44 02 +PH_LOT_HELD = 45 02 +PH_LOT_SOLO = 46 02 +PH_GOAT_BLEND = 47 02 +PH_GOAT_HELD = 48 02 +PH_GOAT_SOLO = 49 02 +PH_THOUGHT_BLEND = 4A 02 +PH_THOUGHT_HELD = 4B 02 +PH_THOUGHT_SOLO = 4C 02 +PH_CHOICE_BLEND = 4D 02 +PH_CHOICE_HELD = 4E 02 +PH_CHOICE_SOLO = 4F 02 +PH_MOUTH_BLEND = 50 02 +PH_MOUTH_HELD = 51 02 +PH_MOUTH_SOLO = 52 02 +PH_FOOT_BLEND = 53 02 +PH_FOOT_HELD = 54 02 +PH_FOOT_SOLO = 55 02 +PH_GOOSE_BLEND = 56 02 +PH_GOOSE_HELD = 57 02 +PH_GOOSE_SOLO = 58 02 +PH_STRUT_BLEND = 59 02 +PH_STRUT_HELD = 5A 02 +PH_STRUT_SOLO = 5B 02 +PH_CURE_BLEND = 5C 02 +PH_CURE_HELD = 5D 02 +PH_CURE_SOLO = 5E 02 +PH_NURSE_BLEND = 5F 02 +PH_NURSE_HELD = 60 02 +PH_NURSE_SOLO = 61 02 + +A_BUTTON = F8 00 +B_BUTTON = F8 01 +DPAD_UPDOWN = F8 0A +DPAD_NONE = F8 0C + +UP_ARROW_2 = F9 00 +DOWN_ARROW_2 = F9 01 +LEFT_ARROW_2 = F9 02 +RIGHT_ARROW_2 = F9 03 +PLUS = F9 04 +LV_2 = F9 05 +PP = F9 06 +ID = F9 07 +NO = F9 08 +UNDERSCORE = F9 09 +CIRCLE_1 = F9 0A +CIRCLE_2 = F9 0B +CIRCLE_3 = F9 0C +CIRCLE_4 = F9 0D +CIRCLE_5 = F9 0E +CIRCLE_6 = F9 0F +CIRCLE_7 = F9 10 +CIRCLE_8 = F9 11 +CIRCLE_9 = F9 12 +ROUND_LEFT_PAREN = F9 13 +ROUND_RIGHT_PAREN = F9 14 +CIRCLE_DOT = F9 15 +TRIANGLE = F9 16 +BIG_MULT_X = F9 17 + +EMOJI_UNDERSCORE = F9 D0 +EMOJI_PIPE = F9 D1 +EMOJI_HIGHBAR = F9 D2 +EMOJI_TILDE = F9 D3 +EMOJI_LEFT_PAREN = F9 D4 +EMOJI_RIGHT_PAREN = F9 D5 +EMOJI_UNION = F9 D6 @ ⊂ +EMOJI_GREATER_THAN = F9 D7 +EMOJI_LEFT_EYE = F9 D8 +EMOJI_RIGHT_EYE = F9 D9 +EMOJI_AT = F9 DA +EMOJI_SEMICOLON = F9 DB +EMOJI_PLUS = F9 DC +EMOJI_MINUS = F9 DD +EMOJI_EQUALS = F9 DE +EMOJI_SPIRAL = F9 DF +EMOJI_TONGUE = F9 E0 +EMOJI_TRIANGLE_OUTLINE = F9 E1 +EMOJI_ACUTE = F9 E2 +EMOJI_GRAVE = F9 E3 +EMOJI_CIRCLE = F9 E4 +EMOJI_TRIANGLE = F9 E5 +EMOJI_SQUARE = F9 E6 +EMOJI_HEART = F9 E7 +EMOJI_MOON = F9 E8 +EMOJI_NOTE = F9 E9 +EMOJI_BALL = F9 EA +EMOJI_BOLT = F9 EB +EMOJI_LEAF = F9 EC +EMOJI_FIRE = F9 ED +EMOJI_WATER = F9 EE +EMOJI_LEFT_FIST = F9 EF +EMOJI_RIGHT_FIST = F9 F0 +EMOJI_BIGWHEEL = F9 F1 +EMOJI_SMALLWHEEL = F9 F2 +EMOJI_SPHERE = F9 F3 +EMOJI_IRRITATED = F9 F4 +EMOJI_MISCHIEVOUS = F9 F5 +EMOJI_HAPPY = F9 F6 +EMOJI_ANGRY = F9 F7 +EMOJI_SURPRISED = F9 F8 +EMOJI_BIGSMILE = F9 F9 +EMOJI_EVIL = F9 FA +EMOJI_TIRED = F9 FB +EMOJI_NEUTRAL = F9 FC +EMOJI_SHOCKED = F9 FD +EMOJI_BIGANGER = F9 FE + +'\l' = FA @ scroll up window text +'\p' = FB @ new paragraph +'\n' = FE @ new line diff --git a/berry_fix/payload/common_syms/agb_flash.txt b/berry_fix/payload/common_syms/agb_flash.txt new file mode 100644 index 000000000..cb421ec80 --- /dev/null +++ b/berry_fix/payload/common_syms/agb_flash.txt @@ -0,0 +1,10 @@ +gFlashTimeoutFlag +PollFlashStatus +WaitForFlashWrite +ProgramFlashSector +gFlash +ProgramFlashByte +gFlashNumRemainingBytes +EraseFlashChip +EraseFlashSector +gFlashMaxTime diff --git a/berry_fix/payload/common_syms/main.txt b/berry_fix/payload/common_syms/main.txt new file mode 100644 index 000000000..b62c72124 --- /dev/null +++ b/berry_fix/payload/common_syms/main.txt @@ -0,0 +1,9 @@ +gIntrTable +gHeldKeys +gNewKeys +gIntrVector +gUpdateSuccessful +gUnknown_3001194 +gUnknown_30011A0 +gMainCallbackState +gGameVersion diff --git a/berry_fix/payload/common_syms/rtc.txt b/berry_fix/payload/common_syms/rtc.txt new file mode 100644 index 000000000..7aafbe65d --- /dev/null +++ b/berry_fix/payload/common_syms/rtc.txt @@ -0,0 +1,2 @@ +gTimeSinceBerryUpdate +gRtcUTCTime diff --git a/berry_fix/payload/constants/gba_constants.inc b/berry_fix/payload/constants/gba_constants.inc new file mode 100644 index 000000000..9d59c8fcd --- /dev/null +++ b/berry_fix/payload/constants/gba_constants.inc @@ -0,0 +1,490 @@ + .set PSR_USR_MODE, 0x00000010 + .set PSR_FIQ_MODE, 0x00000011 + .set PSR_IRQ_MODE, 0x00000012 + .set PSR_SVC_MODE, 0x00000013 + .set PSR_ABT_MODE, 0x00000017 + .set PSR_UND_MODE, 0x0000001b + .set PSR_SYS_MODE, 0x0000001f + .set PSR_MODE_MASK, 0x0000001f + .set PSR_T_BIT, 0x00000020 + .set PSR_F_BIT, 0x00000040 + .set PSR_I_BIT, 0x00000080 + + .set EWRAM_START, 0x02000000 + .set EWRAM_END, EWRAM_START + 0x40000 + .set IWRAM_START, 0x03000000 + .set IWRAM_END, IWRAM_START + 0x8000 + + .set PLTT, 0x5000000 + .set BG_PLTT, PLTT + .set OBJ_PLTT, PLTT + 0x200 + + .set VRAM, 0x6000000 + .set BG_VRAM, VRAM + .set OBJ_VRAM0, VRAM + 0x10000 @ text-mode BG + .set OBJ_VRAM1, VRAM + 0x14000 @ bitmap-mode BG + + .set OAM, 0x7000000 + + .set SOUND_INFO_PTR, 0x3007FF0 + .set INTR_CHECK, 0x3007FF8 + .set INTR_VECTOR, 0x3007FFC + + .set INTR_FLAG_VBLANK, 1 << 0 + .set INTR_FLAG_HBLANK, 1 << 1 + .set INTR_FLAG_VCOUNT, 1 << 2 + .set INTR_FLAG_TIMER0, 1 << 3 + .set INTR_FLAG_TIMER1, 1 << 4 + .set INTR_FLAG_TIMER2, 1 << 5 + .set INTR_FLAG_TIMER3, 1 << 6 + .set INTR_FLAG_SERIAL, 1 << 7 + .set INTR_FLAG_DMA0, 1 << 8 + .set INTR_FLAG_DMA1, 1 << 9 + .set INTR_FLAG_DMA2, 1 << 10 + .set INTR_FLAG_DMA3, 1 << 11 + .set INTR_FLAG_KEYPAD, 1 << 12 + .set INTR_FLAG_GAMEPAK, 1 << 13 + + .set VCOUNT_VBLANK, 160 + .set TOTAL_SCANLINES, 228 + + .set REG_BASE, 0x4000000 @ I/O register base address + +@ I/O register offsets + .set OFFSET_REG_DISPCNT, 0x0 + .set OFFSET_REG_DISPSTAT, 0x4 + .set OFFSET_REG_VCOUNT, 0x6 + .set OFFSET_REG_BG0CNT, 0x8 + .set OFFSET_REG_BG1CNT, 0xa + .set OFFSET_REG_BG2CNT, 0xc + .set OFFSET_REG_BG3CNT, 0xe + .set OFFSET_REG_BG0HOFS, 0x10 + .set OFFSET_REG_BG0VOFS, 0x12 + .set OFFSET_REG_BG1HOFS, 0x14 + .set OFFSET_REG_BG1VOFS, 0x16 + .set OFFSET_REG_BG2HOFS, 0x18 + .set OFFSET_REG_BG2VOFS, 0x1a + .set OFFSET_REG_BG3HOFS, 0x1c + .set OFFSET_REG_BG3VOFS, 0x1e + .set OFFSET_REG_BG2PA, 0x20 + .set OFFSET_REG_BG2PB, 0x22 + .set OFFSET_REG_BG2PC, 0x24 + .set OFFSET_REG_BG2PD, 0x26 + .set OFFSET_REG_BG2X_L, 0x28 + .set OFFSET_REG_BG2X_H, 0x2a + .set OFFSET_REG_BG2Y_L, 0x2c + .set OFFSET_REG_BG2Y_H, 0x2e + .set OFFSET_REG_BG3PA, 0x30 + .set OFFSET_REG_BG3PB, 0x32 + .set OFFSET_REG_BG3PC, 0x34 + .set OFFSET_REG_BG3PD, 0x36 + .set OFFSET_REG_BG3X_L, 0x38 + .set OFFSET_REG_BG3X_H, 0x3a + .set OFFSET_REG_BG3Y_L, 0x3c + .set OFFSET_REG_BG3Y_H, 0x3e + .set OFFSET_REG_WIN0H, 0x40 + .set OFFSET_REG_WIN1H, 0x42 + .set OFFSET_REG_WIN0V, 0x44 + .set OFFSET_REG_WIN1V, 0x46 + .set OFFSET_REG_WININ, 0x48 + .set OFFSET_REG_WINOUT, 0x4a + .set OFFSET_REG_MOSAIC, 0x4c + .set OFFSET_REG_BLDCNT, 0x50 + .set OFFSET_REG_BLDALPHA, 0x52 + .set OFFSET_REG_BLDY, 0x54 + + .set OFFSET_REG_SOUND1CNT, 0x60 + .set OFFSET_REG_SOUND1CNT_L, 0x60 + .set OFFSET_REG_NR10, 0x60 + .set OFFSET_REG_SOUND1CNT_H, 0x62 + .set OFFSET_REG_NR11, 0x62 + .set OFFSET_REG_NR12, 0x63 + .set OFFSET_REG_SOUND1CNT_X, 0x64 + .set OFFSET_REG_NR13, 0x64 + .set OFFSET_REG_NR14, 0x65 + .set OFFSET_REG_SOUND2CNT, 0x68 + .set OFFSET_REG_SOUND2CNT_L, 0x68 + .set OFFSET_REG_NR21, 0x68 + .set OFFSET_REG_NR22, 0x69 + .set OFFSET_REG_SOUND2CNT_H, 0x6c + .set OFFSET_REG_NR23, 0x6c + .set OFFSET_REG_NR24, 0x6d + .set OFFSET_REG_SOUND3CNT, 0x70 + .set OFFSET_REG_SOUND3CNT_L, 0x70 + .set OFFSET_REG_NR30, 0x70 + .set OFFSET_REG_SOUND3CNT_H, 0x72 + .set OFFSET_REG_NR31, 0x72 + .set OFFSET_REG_NR32, 0x73 + .set OFFSET_REG_SOUND3CNT_X, 0x74 + .set OFFSET_REG_NR33, 0x74 + .set OFFSET_REG_NR34, 0x75 + .set OFFSET_REG_SOUND4CNT, 0x78 + .set OFFSET_REG_SOUND4CNT_L, 0x78 + .set OFFSET_REG_NR41, 0x78 + .set OFFSET_REG_NR42, 0x79 + .set OFFSET_REG_SOUND4CNT_H, 0x7c + .set OFFSET_REG_NR43, 0x7c + .set OFFSET_REG_NR44, 0x7d + .set OFFSET_REG_SOUNDCNT, 0x80 + .set OFFSET_REG_SOUNDCNT_L, 0x80 + .set OFFSET_REG_NR50, 0x80 + .set OFFSET_REG_NR51, 0x81 + .set OFFSET_REG_SOUNDCNT_H, 0x82 + .set OFFSET_REG_SOUNDCNT_X, 0x84 + .set OFFSET_REG_NR52, 0x84 + .set OFFSET_REG_SOUNDBIAS, 0x88 + .set OFFSET_REG_WAVE_RAM, 0x90 + .set OFFSET_REG_WAVE_RAM0, 0x90 + .set OFFSET_REG_WAVE_RAM0_L, 0x90 + .set OFFSET_REG_WAVE_RAM0_H, 0x92 + .set OFFSET_REG_WAVE_RAM1, 0x94 + .set OFFSET_REG_WAVE_RAM1_L, 0x94 + .set OFFSET_REG_WAVE_RAM1_H, 0x96 + .set OFFSET_REG_WAVE_RAM2, 0x98 + .set OFFSET_REG_WAVE_RAM2_L, 0x98 + .set OFFSET_REG_WAVE_RAM2_H, 0x9a + .set OFFSET_REG_WAVE_RAM3, 0x9c + .set OFFSET_REG_WAVE_RAM3_L, 0x9c + .set OFFSET_REG_WAVE_RAM3_H, 0x9e + .set OFFSET_REG_FIFO, 0xa0 + .set OFFSET_REG_FIFO_A, 0xa0 + .set OFFSET_REG_FIFO_A_L, 0xa0 + .set OFFSET_REG_FIFO_A_H, 0xa2 + .set OFFSET_REG_FIFO_B, 0xa4 + .set OFFSET_REG_FIFO_B_L, 0xa4 + .set OFFSET_REG_FIFO_B_H, 0xa6 + + .set OFFSET_REG_DMA0, 0xb0 + .set OFFSET_REG_DMA0SAD, 0xb0 + .set OFFSET_REG_DMA0SAD_L, 0xb0 + .set OFFSET_REG_DMA0SAD_H, 0xb2 + .set OFFSET_REG_DMA0DAD, 0xb4 + .set OFFSET_REG_DMA0DAD_L, 0xb4 + .set OFFSET_REG_DMA0DAD_H, 0xb6 + .set OFFSET_REG_DMA0CNT, 0xb8 + .set OFFSET_REG_DMA0CNT_L, 0xb8 + .set OFFSET_REG_DMA0CNT_H, 0xba + .set OFFSET_REG_DMA1, 0xbc + .set OFFSET_REG_DMA1SAD, 0xbc + .set OFFSET_REG_DMA1SAD_L, 0xbc + .set OFFSET_REG_DMA1SAD_H, 0xbe + .set OFFSET_REG_DMA1DAD, 0xc0 + .set OFFSET_REG_DMA1DAD_L, 0xc0 + .set OFFSET_REG_DMA1DAD_H, 0xc2 + .set OFFSET_REG_DMA1CNT, 0xc4 + .set OFFSET_REG_DMA1CNT_L, 0xc4 + .set OFFSET_REG_DMA1CNT_H, 0xc6 + .set OFFSET_REG_DMA2, 0xc8 + .set OFFSET_REG_DMA2SAD, 0xc8 + .set OFFSET_REG_DMA2SAD_L, 0xc8 + .set OFFSET_REG_DMA2SAD_H, 0xca + .set OFFSET_REG_DMA2DAD, 0xcc + .set OFFSET_REG_DMA2DAD_L, 0xcc + .set OFFSET_REG_DMA2DAD_H, 0xce + .set OFFSET_REG_DMA2CNT, 0xd0 + .set OFFSET_REG_DMA2CNT_L, 0xd0 + .set OFFSET_REG_DMA2CNT_H, 0xd2 + .set OFFSET_REG_DMA3, 0xd4 + .set OFFSET_REG_DMA3SAD, 0xd4 + .set OFFSET_REG_DMA3SAD_L, 0xd4 + .set OFFSET_REG_DMA3SAD_H, 0xd6 + .set OFFSET_REG_DMA3DAD, 0xd8 + .set OFFSET_REG_DMA3DAD_L, 0xd8 + .set OFFSET_REG_DMA3DAD_H, 0xda + .set OFFSET_REG_DMA3CNT, 0xdc + .set OFFSET_REG_DMA3CNT_L, 0xdc + .set OFFSET_REG_DMA3CNT_H, 0xde + + .set OFFSET_REG_TM0CNT, 0x100 + .set OFFSET_REG_TM0CNT_L, 0x100 + .set OFFSET_REG_TM0CNT_H, 0x102 + .set OFFSET_REG_TM1CNT, 0x104 + .set OFFSET_REG_TM1CNT_L, 0x104 + .set OFFSET_REG_TM1CNT_H, 0x106 + .set OFFSET_REG_TM2CNT, 0x108 + .set OFFSET_REG_TM2CNT_L, 0x108 + .set OFFSET_REG_TM2CNT_H, 0x10a + .set OFFSET_REG_TM3CNT, 0x10c + .set OFFSET_REG_TM3CNT_L, 0x10c + .set OFFSET_REG_TM3CNT_H, 0x10e + + .set OFFSET_REG_SIOCNT, 0x128 + .set OFFSET_REG_SIODATA8, 0x12a + .set OFFSET_REG_SIODATA32, 0x120 + .set OFFSET_REG_SIOMLT_SEND, 0x12a + .set OFFSET_REG_SIOMLT_RECV, 0x120 + .set OFFSET_REG_SIOMULTI0, 0x120 + .set OFFSET_REG_SIOMULTI1, 0x122 + .set OFFSET_REG_SIOMULTI2, 0x124 + .set OFFSET_REG_SIOMULTI3, 0x126 + + .set OFFSET_REG_KEYINPUT, 0x130 + .set OFFSET_REG_KEYCNT, 0x132 + + .set OFFSET_REG_RCNT, 0x134 + + .set OFFSET_REG_JOYCNT, 0x140 + .set OFFSET_REG_JOYSTAT, 0x158 + .set OFFSET_REG_JOY_RECV, 0x150 + .set OFFSET_REG_JOY_RECV_L, 0x150 + .set OFFSET_REG_JOY_RECV_H, 0x152 + .set OFFSET_REG_JOY_TRANS, 0x154 + .set OFFSET_REG_JOY_TRANS_L, 0x154 + .set OFFSET_REG_JOY_TRANS_H, 0x156 + + .set OFFSET_REG_IME, 0x208 + .set OFFSET_REG_IE, 0x200 + .set OFFSET_REG_IF, 0x202 + + .set OFFSET_REG_WAITCNT, 0x204 + +@ I/O register addresses + .set REG_DISPCNT, REG_BASE + OFFSET_REG_DISPCNT + .set REG_DISPSTAT, REG_BASE + OFFSET_REG_DISPSTAT + .set REG_VCOUNT, REG_BASE + OFFSET_REG_VCOUNT + .set REG_BG0CNT, REG_BASE + OFFSET_REG_BG0CNT + .set REG_BG1CNT, REG_BASE + OFFSET_REG_BG1CNT + .set REG_BG2CNT, REG_BASE + OFFSET_REG_BG2CNT + .set REG_BG3CNT, REG_BASE + OFFSET_REG_BG3CNT + .set REG_BG0HOFS, REG_BASE + OFFSET_REG_BG0HOFS + .set REG_BG0VOFS, REG_BASE + OFFSET_REG_BG0VOFS + .set REG_BG1HOFS, REG_BASE + OFFSET_REG_BG1HOFS + .set REG_BG1VOFS, REG_BASE + OFFSET_REG_BG1VOFS + .set REG_BG2HOFS, REG_BASE + OFFSET_REG_BG2HOFS + .set REG_BG2VOFS, REG_BASE + OFFSET_REG_BG2VOFS + .set REG_BG3HOFS, REG_BASE + OFFSET_REG_BG3HOFS + .set REG_BG3VOFS, REG_BASE + OFFSET_REG_BG3VOFS + .set REG_BG2PA, REG_BASE + OFFSET_REG_BG2PA + .set REG_BG2PB, REG_BASE + OFFSET_REG_BG2PB + .set REG_BG2PC, REG_BASE + OFFSET_REG_BG2PC + .set REG_BG2PD, REG_BASE + OFFSET_REG_BG2PD + .set REG_BG2X_L, REG_BASE + OFFSET_REG_BG2X_L + .set REG_BG2X_H, REG_BASE + OFFSET_REG_BG2X_H + .set REG_BG2Y_L, REG_BASE + OFFSET_REG_BG2Y_L + .set REG_BG2Y_H, REG_BASE + OFFSET_REG_BG2Y_H + .set REG_BG3PA, REG_BASE + OFFSET_REG_BG3PA + .set REG_BG3PB, REG_BASE + OFFSET_REG_BG3PB + .set REG_BG3PC, REG_BASE + OFFSET_REG_BG3PC + .set REG_BG3PD, REG_BASE + OFFSET_REG_BG3PD + .set REG_BG3X_L, REG_BASE + OFFSET_REG_BG3X_L + .set REG_BG3X_H, REG_BASE + OFFSET_REG_BG3X_H + .set REG_BG3Y_L, REG_BASE + OFFSET_REG_BG3Y_L + .set REG_BG3Y_H, REG_BASE + OFFSET_REG_BG3Y_H + .set REG_WIN0H, REG_BASE + OFFSET_REG_WIN0H + .set REG_WIN1H, REG_BASE + OFFSET_REG_WIN1H + .set REG_WIN0V, REG_BASE + OFFSET_REG_WIN0V + .set REG_WIN1V, REG_BASE + OFFSET_REG_WIN1V + .set REG_WININ, REG_BASE + OFFSET_REG_WININ + .set REG_WINOUT, REG_BASE + OFFSET_REG_WINOUT + .set REG_MOSAIC, REG_BASE + OFFSET_REG_MOSAIC + .set REG_BLDCNT, REG_BASE + OFFSET_REG_BLDCNT + .set REG_BLDALPHA, REG_BASE + OFFSET_REG_BLDALPHA + .set REG_BLDY, REG_BASE + OFFSET_REG_BLDY + + .set REG_SOUND1CNT, REG_BASE + OFFSET_REG_SOUND1CNT + .set REG_SOUND1CNT_L, REG_BASE + OFFSET_REG_SOUND1CNT_L + .set REG_NR10, REG_BASE + OFFSET_REG_NR10 + .set REG_SOUND1CNT_H, REG_BASE + OFFSET_REG_SOUND1CNT_H + .set REG_NR11, REG_BASE + OFFSET_REG_NR11 + .set REG_NR12, REG_BASE + OFFSET_REG_NR12 + .set REG_SOUND1CNT_X, REG_BASE + OFFSET_REG_SOUND1CNT_X + .set REG_NR13, REG_BASE + OFFSET_REG_NR13 + .set REG_NR14, REG_BASE + OFFSET_REG_NR14 + .set REG_SOUND2CNT, REG_BASE + OFFSET_REG_SOUND2CNT + .set REG_SOUND2CNT_L, REG_BASE + OFFSET_REG_SOUND2CNT_L + .set REG_NR21, REG_BASE + OFFSET_REG_NR21 + .set REG_NR22, REG_BASE + OFFSET_REG_NR22 + .set REG_SOUND2CNT_H, REG_BASE + OFFSET_REG_SOUND2CNT_H + .set REG_NR23, REG_BASE + OFFSET_REG_NR23 + .set REG_NR24, REG_BASE + OFFSET_REG_NR24 + .set REG_SOUND3CNT, REG_BASE + OFFSET_REG_SOUND3CNT + .set REG_SOUND3CNT_L, REG_BASE + OFFSET_REG_SOUND3CNT_L + .set REG_NR30, REG_BASE + OFFSET_REG_NR30 + .set REG_SOUND3CNT_H, REG_BASE + OFFSET_REG_SOUND3CNT_H + .set REG_NR31, REG_BASE + OFFSET_REG_NR31 + .set REG_NR32, REG_BASE + OFFSET_REG_NR32 + .set REG_SOUND3CNT_X, REG_BASE + OFFSET_REG_SOUND3CNT_X + .set REG_NR33, REG_BASE + OFFSET_REG_NR33 + .set REG_NR34, REG_BASE + OFFSET_REG_NR34 + .set REG_SOUND4CNT, REG_BASE + OFFSET_REG_SOUND4CNT + .set REG_SOUND4CNT_L, REG_BASE + OFFSET_REG_SOUND4CNT_L + .set REG_NR41, REG_BASE + OFFSET_REG_NR41 + .set REG_NR42, REG_BASE + OFFSET_REG_NR42 + .set REG_SOUND4CNT_H, REG_BASE + OFFSET_REG_SOUND4CNT_H + .set REG_NR43, REG_BASE + OFFSET_REG_NR43 + .set REG_NR44, REG_BASE + OFFSET_REG_NR44 + .set REG_SOUNDCNT, REG_BASE + OFFSET_REG_SOUNDCNT + .set REG_SOUNDCNT_L, REG_BASE + OFFSET_REG_SOUNDCNT_L + .set REG_NR50, REG_BASE + OFFSET_REG_NR50 + .set REG_NR51, REG_BASE + OFFSET_REG_NR51 + .set REG_SOUNDCNT_H, REG_BASE + OFFSET_REG_SOUNDCNT_H + .set REG_SOUNDCNT_X, REG_BASE + OFFSET_REG_SOUNDCNT_X + .set REG_NR52, REG_BASE + OFFSET_REG_NR52 + .set REG_SOUNDBIAS, REG_BASE + OFFSET_REG_SOUNDBIAS + .set REG_WAVE_RAM, REG_BASE + OFFSET_REG_WAVE_RAM + .set REG_WAVE_RAM0, REG_BASE + OFFSET_REG_WAVE_RAM0 + .set REG_WAVE_RAM0_L, REG_BASE + OFFSET_REG_WAVE_RAM0_L + .set REG_WAVE_RAM0_H, REG_BASE + OFFSET_REG_WAVE_RAM0_H + .set REG_WAVE_RAM1, REG_BASE + OFFSET_REG_WAVE_RAM1 + .set REG_WAVE_RAM1_L, REG_BASE + OFFSET_REG_WAVE_RAM1_L + .set REG_WAVE_RAM1_H, REG_BASE + OFFSET_REG_WAVE_RAM1_H + .set REG_WAVE_RAM2, REG_BASE + OFFSET_REG_WAVE_RAM2 + .set REG_WAVE_RAM2_L, REG_BASE + OFFSET_REG_WAVE_RAM2_L + .set REG_WAVE_RAM2_H, REG_BASE + OFFSET_REG_WAVE_RAM2_H + .set REG_WAVE_RAM3, REG_BASE + OFFSET_REG_WAVE_RAM3 + .set REG_WAVE_RAM3_L, REG_BASE + OFFSET_REG_WAVE_RAM3_L + .set REG_WAVE_RAM3_H, REG_BASE + OFFSET_REG_WAVE_RAM3_H + .set REG_FIFO, REG_BASE + OFFSET_REG_FIFO + .set REG_FIFO_A, REG_BASE + OFFSET_REG_FIFO_A + .set REG_FIFO_A_L, REG_BASE + OFFSET_REG_FIFO_A_L + .set REG_FIFO_A_H, REG_BASE + OFFSET_REG_FIFO_A_H + .set REG_FIFO_B, REG_BASE + OFFSET_REG_FIFO_B + .set REG_FIFO_B_L, REG_BASE + OFFSET_REG_FIFO_B_L + .set REG_FIFO_B_H, REG_BASE + OFFSET_REG_FIFO_B_H + + .set REG_DMA0, REG_BASE + OFFSET_REG_DMA0 + .set REG_DMA0SAD, REG_BASE + OFFSET_REG_DMA0SAD + .set REG_DMA0SAD_L, REG_BASE + OFFSET_REG_DMA0SAD_L + .set REG_DMA0SAD_H, REG_BASE + OFFSET_REG_DMA0SAD_H + .set REG_DMA0DAD, REG_BASE + OFFSET_REG_DMA0DAD + .set REG_DMA0DAD_L, REG_BASE + OFFSET_REG_DMA0DAD_L + .set REG_DMA0DAD_H, REG_BASE + OFFSET_REG_DMA0DAD_H + .set REG_DMA0CNT, REG_BASE + OFFSET_REG_DMA0CNT + .set REG_DMA0CNT_L, REG_BASE + OFFSET_REG_DMA0CNT_L + .set REG_DMA0CNT_H, REG_BASE + OFFSET_REG_DMA0CNT_H + .set REG_DMA1, REG_BASE + OFFSET_REG_DMA1 + .set REG_DMA1SAD, REG_BASE + OFFSET_REG_DMA1SAD + .set REG_DMA1SAD_L, REG_BASE + OFFSET_REG_DMA1SAD_L + .set REG_DMA1SAD_H, REG_BASE + OFFSET_REG_DMA1SAD_H + .set REG_DMA1DAD, REG_BASE + OFFSET_REG_DMA1DAD + .set REG_DMA1DAD_L, REG_BASE + OFFSET_REG_DMA1DAD_L + .set REG_DMA1DAD_H, REG_BASE + OFFSET_REG_DMA1DAD_H + .set REG_DMA1CNT, REG_BASE + OFFSET_REG_DMA1CNT + .set REG_DMA1CNT_L, REG_BASE + OFFSET_REG_DMA1CNT_L + .set REG_DMA1CNT_H, REG_BASE + OFFSET_REG_DMA1CNT_H + .set REG_DMA2, REG_BASE + OFFSET_REG_DMA2 + .set REG_DMA2SAD, REG_BASE + OFFSET_REG_DMA2SAD + .set REG_DMA2SAD_L, REG_BASE + OFFSET_REG_DMA2SAD_L + .set REG_DMA2SAD_H, REG_BASE + OFFSET_REG_DMA2SAD_H + .set REG_DMA2DAD, REG_BASE + OFFSET_REG_DMA2DAD + .set REG_DMA2DAD_L, REG_BASE + OFFSET_REG_DMA2DAD_L + .set REG_DMA2DAD_H, REG_BASE + OFFSET_REG_DMA2DAD_H + .set REG_DMA2CNT, REG_BASE + OFFSET_REG_DMA2CNT + .set REG_DMA2CNT_L, REG_BASE + OFFSET_REG_DMA2CNT_L + .set REG_DMA2CNT_H, REG_BASE + OFFSET_REG_DMA2CNT_H + .set REG_DMA3, REG_BASE + OFFSET_REG_DMA3 + .set REG_DMA3SAD, REG_BASE + OFFSET_REG_DMA3SAD + .set REG_DMA3SAD_L, REG_BASE + OFFSET_REG_DMA3SAD_L + .set REG_DMA3SAD_H, REG_BASE + OFFSET_REG_DMA3SAD_H + .set REG_DMA3DAD, REG_BASE + OFFSET_REG_DMA3DAD + .set REG_DMA3DAD_L, REG_BASE + OFFSET_REG_DMA3DAD_L + .set REG_DMA3DAD_H, REG_BASE + OFFSET_REG_DMA3DAD_H + .set REG_DMA3CNT, REG_BASE + OFFSET_REG_DMA3CNT + .set REG_DMA3CNT_L, REG_BASE + OFFSET_REG_DMA3CNT_L + .set REG_DMA3CNT_H, REG_BASE + OFFSET_REG_DMA3CNT_H + + .set REG_TM0CNT, REG_BASE + OFFSET_REG_TM0CNT + .set REG_TM0CNT_L, REG_BASE + OFFSET_REG_TM0CNT_L + .set REG_TM0CNT_H, REG_BASE + OFFSET_REG_TM0CNT_H + .set REG_TM1CNT, REG_BASE + OFFSET_REG_TM1CNT + .set REG_TM1CNT_L, REG_BASE + OFFSET_REG_TM1CNT_L + .set REG_TM1CNT_H, REG_BASE + OFFSET_REG_TM1CNT_H + .set REG_TM2CNT, REG_BASE + OFFSET_REG_TM2CNT + .set REG_TM2CNT_L, REG_BASE + OFFSET_REG_TM2CNT_L + .set REG_TM2CNT_H, REG_BASE + OFFSET_REG_TM2CNT_H + .set REG_TM3CNT, REG_BASE + OFFSET_REG_TM3CNT + .set REG_TM3CNT_L, REG_BASE + OFFSET_REG_TM3CNT_L + .set REG_TM3CNT_H, REG_BASE + OFFSET_REG_TM3CNT_H + + .set REG_SIOCNT, REG_BASE + OFFSET_REG_SIOCNT + .set REG_SIODATA8, REG_BASE + OFFSET_REG_SIODATA8 + .set REG_SIODATA32, REG_BASE + OFFSET_REG_SIODATA32 + .set REG_SIOMLT_SEND, REG_BASE + OFFSET_REG_SIOMLT_SEND + .set REG_SIOMLT_RECV, REG_BASE + OFFSET_REG_SIOMLT_RECV + .set REG_SIOMULTI0, REG_BASE + OFFSET_REG_SIOMULTI0 + .set REG_SIOMULTI1, REG_BASE + OFFSET_REG_SIOMULTI1 + .set REG_SIOMULTI2, REG_BASE + OFFSET_REG_SIOMULTI2 + .set REG_SIOMULTI3, REG_BASE + OFFSET_REG_SIOMULTI3 + + .set REG_KEYINPUT, REG_BASE + OFFSET_REG_KEYINPUT + .set REG_KEYCNT, REG_BASE + OFFSET_REG_KEYCNT + + .set REG_RCNT, REG_BASE + OFFSET_REG_RCNT + + .set REG_JOYCNT, REG_BASE + OFFSET_REG_JOYCNT + .set REG_JOYSTAT, REG_BASE + OFFSET_REG_JOYSTAT + .set REG_JOY_RECV, REG_BASE + OFFSET_REG_JOY_RECV + .set REG_JOY_RECV_L, REG_BASE + OFFSET_REG_JOY_RECV_L + .set REG_JOY_RECV_H, REG_BASE + OFFSET_REG_JOY_RECV_H + .set REG_JOY_TRANS, REG_BASE + OFFSET_REG_JOY_TRANS + .set REG_JOY_TRANS_L, REG_BASE + OFFSET_REG_JOY_TRANS_L + .set REG_JOY_TRANS_H, REG_BASE + OFFSET_REG_JOY_TRANS_H + + .set REG_IME, REG_BASE + OFFSET_REG_IME + .set REG_IE, REG_BASE + OFFSET_REG_IE + .set REG_IF, REG_BASE + OFFSET_REG_IF + + .set REG_WAITCNT, REG_BASE + OFFSET_REG_WAITCNT + +@ DMA register constants + + .set DMA_DEST_INC, 0x0000 + .set DMA_DEST_DEC, 0x0020 + .set DMA_DEST_FIXED, 0x0040 + .set DMA_DEST_RELOAD, 0x0060 + .set DMA_SRC_INC, 0x0000 + .set DMA_SRC_DEC, 0x0080 + .set DMA_SRC_FIXED, 0x0100 + .set DMA_REPEAT, 0x0200 + .set DMA_16BIT, 0x0000 + .set DMA_32BIT, 0x0400 + .set DMA_DREQ_ON, 0x0800 + .set DMA_START_NOW, 0x0000 + .set DMA_START_VBLANK, 0x1000 + .set DMA_START_HBLANK, 0x2000 + .set DMA_START_SPECIAL, 0x3000 + .set DMA_INTR_ENABLE, 0x4000 + .set DMA_ENABLE, 0x8000 + +@ OAM attribute constants + + .set OAM_OBJ_NORMAL, 0x00000000 + .set OAM_OBJ_BLEND, 0x00000400 + .set OAM_OBJ_WINDOW, 0x00000800 + + .set OAM_AFFINE_NONE, 0x00000000 + .set OAM_AFFINE_NORMAL_SIZE, 0x00000100 + .set OAM_OBJ_DISABLED, 0x00000200 + .set OAM_AFFINE_DOUBLE_SIZE, 0x00000300 + + .set OAM_MOSAIC_OFF, 0x00000000 + .set OAM_MOSAIC_ON, 0x00001000 + + .set OAM_4BPP, 0x00000000 + .set OAM_8BPP, 0x00002000 + + .set OAM_H_FLIP, 0x10000000 + .set OAM_V_FLIP, 0x20000000 + + .set OAM_SQUARE, 0x00000000 + .set OAM_H_RECTANGLE, 0x00004000 + .set OAM_V_RECTANGLE, 0x00008000 + .set OAM_SIZE_0, 0x00000000 + .set OAM_SIZE_1, 0x40000000 + .set OAM_SIZE_2, 0x80000000 + .set OAM_SIZE_3, 0xc0000000 + + .set OAM_SIZE_8x8, OAM_SIZE_0 | OAM_SQUARE + .set OAM_SIZE_16x16, OAM_SIZE_1 | OAM_SQUARE + .set OAM_SIZE_32x32, OAM_SIZE_2 | OAM_SQUARE + .set OAM_SIZE_64x64, OAM_SIZE_3 | OAM_SQUARE + + .set OAM_SIZE_16x8, OAM_SIZE_0 | OAM_H_RECTANGLE + .set OAM_SIZE_32x8, OAM_SIZE_1 | OAM_H_RECTANGLE + .set OAM_SIZE_32x16, OAM_SIZE_2 | OAM_H_RECTANGLE + .set OAM_SIZE_64x32, OAM_SIZE_3 | OAM_H_RECTANGLE + + .set OAM_SIZE_8x16, OAM_SIZE_0 | OAM_V_RECTANGLE + .set OAM_SIZE_8x32, OAM_SIZE_1 | OAM_V_RECTANGLE + .set OAM_SIZE_16x32, OAM_SIZE_2 | OAM_V_RECTANGLE + .set OAM_SIZE_32x64, OAM_SIZE_3 | OAM_V_RECTANGLE diff --git a/berry_fix/payload/graphics/debug_digits.png b/berry_fix/payload/graphics/debug_digits.png new file mode 100644 index 0000000000000000000000000000000000000000..edf0d36c96f0e22f213b6ea63ccdaf77acdef638 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^96%hv0wfrYc($DZQn{Wkjv*3LODA09Wl-dBzFB`` zlVdg0qs&EhCQbUf8BM1(PAL3RD>?Nk^zn_1vy*N<@ly7zNx!eZU3Bl`k>(9t$Wrs?N=11*XBQM{ya-RJmLRm_9IbdeJ`9p QtAHHf>FVdQ&MBb@00o6a2><{9 literal 0 HcmV?d00001 diff --git a/berry_fix/payload/graphics/msg_box.png b/berry_fix/payload/graphics/msg_box.png new file mode 100644 index 0000000000000000000000000000000000000000..00d1bbe37ed295a83eabd4dd35f4356fbd9f0ba1 GIT binary patch literal 2631 zcmZ`*c{J2}8~@G>W6RK?FpRyp2%#8UTMX0HSduM!VU#RGOd`K)8;qqa$!$pXr8ip= zvV_S}NvXI@*_W(i$)36HdEYfNZ%~{ z?6^Eb&!B&n#ClxIpgUfpJ@#JS2Y~A%-q_HFOj~jqsh&E?-~7wmG0221p3~_B+%nUQ zRIxw4lI$52*h_uW+kyu3_mNO<5iE}+1>V+L zyPSTnU9a_vy-mr~ik1F?3+ASD#Igcr%gsS}MTsMnV{{kys^;kkvGQvbL~peEUgz^_ zKprz0aBE;`D7*HPowmKNy*i~JDM0l?lq3-LY~Mdg=ZP&90EIm6jV63{Z?xyk{Ru4> zd`c&@aw=WjX1?FF_b!=~zPfIX8=0G1c^CHQ71OoIOGRru6n2fGgDXRm$I-ZYe+ufU z4otFo{4$g{P@1A1W<52(-fpn;y`_ced^SP=@KtskxBYPhSbc@(Ewb{@PrrxtAA?m* zmvn}ZV#_;UBLJ#9x6e$u^p=C5g-CdX!+W>j>{D`jEXscL90L>s4y|xrbjeW(K;wUxh@lf%^PF)tJwQ zO>Dqjiv+F{naX*`1Bnxod8o-Y?I43ZOOnhz2wcIn24WWG-4YoslU=J^yq*u#ECU4U32g;n;<_f76g}FHwC5?&!zB#j5vc^Kwju&Tgbd?Po zMkA(gBysvzo73^)qTP^R0U`Zg@fVCn5Ro=E^t)xeYF8*G62*5W7^INtF7 z5B5+obA}ovLDb80><*9i31B~FeBxsNhJBoguv=FV0HRuf%@!{&X90r_UJ{)7PMomq z;Ik?v5sa-3dyth2SL09fmsQkSWqAPIMid{!<;SLaz2fV%@{u!qkWU>91c!Qw&Q(_i z=RMVE^58J?WB9S|qXn&M{0=mr_N$s2(0Z3P>$fW z>x<9YE|IJBR@|J|$s7D~Gyx_;1_r%~L=Kz1Cdvzkdx#P>(Ff2gI5PUI} zA$9tZIK@RgvQVyMQGoH7aHXuEy8VSNP(bcdZL|4oy8@BAr`t}6kjCc3k6;@qheI9H z3&i*eX<|886Gk2N4~uzi>^q*PoVS$K8SeFaxKG(UHDcvYoxhQe7R1=Rc$lttpOVvw zO?rvtM%;$bci_H)sHWB9Q*fgoa;_T-<^LnSz>t>eAuX_4hg}vM7DJgC8iNe>vsSj# z53gr*r3NTPEHB?C-Qm!1ZES5yNuAnV<<*=`W@Iy(I6Eq1L-|&^6#=u4+apC_eq`SDGL>;~ENd&nLr%JQKk0#fb7lkiOHx*=pZ>{NKAT&P z^tA+p(s_cy=K8p{1-I40rw#!gebl^4@y@oASh+=k5f+v=xHIY8E2v*MWEE-7#V-rd8GTAvV+U!N2k^G0a6Dxz@Y*9> ztTo)=q(mV%Q}i1ZrVa#!KFk!2;`$zyuGwd5&SyPMI~i7wDI6?uwl}}HD-Oa}x&T@D zSR#i(?^4A#IgbAE)sS)sK*D=wgEF3wxdACR^TqZ(hXAS9P5$@RvFee9y=AI?xlAb| z{?;Bl^CQAPskcxZJ%tZK`uC_5hoiaWuE()WyI-K)wEbh2#sk= zL|vF9^5uH~Xo{hiw$%G*8F6vezlgiPX|QeRcB4z6QCr%}`-*|9Mh^sT8E))qcJI)# z^{uCMl@V^v4d(ZTI#q&#&0nkx-LTZg>&*S6cjz*0WOTgJlsN7ZyLwPkJ&$Q4`~#xK z$+WEqy-sPxRh$hQAan0$2JLkYmy^Ysa}*5rmBx6-z4`scK?at8u(g}cp;pIJ52g0} ztz|Xc*`@}FKe$4>`>fM=(*tB;<3uzR5eD+Uc%3#XWg&*TWnOn$_t)*m4ep>{R^(Bm zEFLw@h$AODR8EP?OjQeT%V*M$M0xhhEzKbk<`G*u0NF!Ac}JOMCvb4|CO@n)l+s3DZR!Z zc-A{zbnPJ3a`Dj{`uZ5c>(0yZftBHcjUCyS_kITK#BYl3GH}zdfKQ`$w<2RaSWe1c zc3|p}Z%XuMN7nIVnZ0q^2vc;AVeJY^#G4R|pBlME{RL(=#7qDH literal 0 HcmV?d00001 diff --git a/berry_fix/payload/graphics/msg_box.tilemap b/berry_fix/payload/graphics/msg_box.tilemap new file mode 100644 index 0000000000000000000000000000000000000000..5b82401bad50d7be7f5ca611a9fd6c0eec53d25a GIT binary patch literal 8192 zcmeI01&|a+6o&tA;SO$r!`)qiy9alIy99T)K#QAv2TI*0p|g&fF7=% zKJszuEy$u!3T;32RTzbppR5X}@QNURMN}k3Run~5G(}eo#Z)ZWEUs$r?kLtD^rL=K zZ}m}M^;3Th&_E5+U=7hw4byOq&`6EaXpPZWjnnu5y}wHzTX7Uu@f2SPJlEVd{^@9+ zp40vWP1Gb!))Y;Z&1&;EwvSs@&+o<+L+@uZS?vz8myq~3?}2}V{~UAhW-;$Qn{(R1 zT`vchOjSFu9L17QiIiALlvK%-Tq%@Nsgzo2^p(;oozg3VGAffYD~qx!TOh(1{IdM4 zX_~GXnyFcutvQ;jd77^UTBt=@tR-5iWm>KkTB%>O>TmSfl|wm|OSzRtd6iH3^|h;) zubp0w&AtEd=tMr{gY#i=)l`(fMATMMY53aPM)sHlpmxJsy` zN~yHUsI0zGIh9uhRa7NaRuxrMHP6^C{ss5=@%H?K9=~NM%QuvxJQb)&B`Q;es#K#o zHK<7~YEy^0d`ms*(}0FFqA`w0FrL3!=dQbeBjvr(F->l!YMO(E^+qFYGwM)CTM|-tT`*lDEbx4PGL`QW@$8|y{ zKZ-wDtE+};s+MZ2j_T@L)l+>nP(w9RV>MAzHB)o7P)oH^Yqe2ZwKGOA)^F=6oz@wh z)w$5;bwL+(Ntbm+S9ML-bwf9GOSg4LcXdzq^*|5xNUj{g&|BK8gF32{I;)GmQ&)A< z_v)@5>Zx9yxjOv)ah2=-Eq~~-p6IEb>A7C$rC#Z^-sr8~>HVkZO=cf9zmWXHf&ZYs z|Bf-dS%NzM|GPfu{B1&0n$esVw4@cSX+vAu(Vh-;q!XR#!gq9~8{gBN9`vM_lfD7` zy}?axahp5bLT`Ri2M z?Hk`upRG4Y=+>Lyw=*+x^Vh>~eKNnDGjRJanDaZV&1?j>7{cO*m2iY70{%oK5|N2QRH7NwwR!R|_xt|?Kk^g3=|f-o(VqbfWDtWH z!cc}WoDqy<6r-Ivuc3DF$H?EJ6N8wcoBRv_&NG39qg{)*FyJu`Se}85g)0x3c zW-*&N%w-<)S-?UTv6v++Wf{v^!AgE%6~AKp@c%DM4sw!<+~grI`N+@L6rdo5C`=KG zQjFr1pd_Uz?Xm3gfpPzq-&oBW*0PTEY+xgs*v#*2VJq9%&JK36i{0#D@89b~@?X;o z{}TK%_5J0_KaBV_wSN2C{N3xn$@SZlKbidga_d9l&%5#Gt~34^B(vT{4;Oe X=8W7By?GCWJU^LcufywK!he4PFQf!E literal 0 HcmV?d00001 diff --git a/berry_fix/payload/include/constants/game_stat.h b/berry_fix/payload/include/constants/game_stat.h new file mode 100644 index 000000000..47d703d85 --- /dev/null +++ b/berry_fix/payload/include/constants/game_stat.h @@ -0,0 +1,56 @@ +#ifndef GUARD_CONSTANTS_GAME_STAT_H +#define GUARD_CONSTANTS_GAME_STAT_H + +#define GAME_STAT_SAVED_GAME 0 +#define GAME_STAT_FIRST_HOF_PLAY_TIME 1 +#define GAME_STAT_STARTED_TRENDS 2 +#define GAME_STAT_PLANTED_BERRIES 3 +#define GAME_STAT_TRADED_BIKES 4 +#define GAME_STAT_STEPS 5 +#define GAME_STAT_GOT_INTERVIEWED 6 +#define GAME_STAT_TOTAL_BATTLES 7 +#define GAME_STAT_WILD_BATTLES 8 +#define GAME_STAT_TRAINER_BATTLES 9 +#define GAME_STAT_ENTERED_HOF 10 +#define GAME_STAT_POKEMON_CAPTURES 11 +#define GAME_STAT_FISHING_CAPTURES 12 +#define GAME_STAT_HATCHED_EGGS 13 +#define GAME_STAT_EVOLVED_POKEMON 14 +#define GAME_STAT_USED_POKECENTER 15 +#define GAME_STAT_RESTED_AT_HOME 16 +#define GAME_STAT_ENTERED_SAFARI_ZONE 17 +#define GAME_STAT_USED_CUT 18 +#define GAME_STAT_USED_ROCK_SMASH 19 +#define GAME_STAT_MOVED_SECRET_BASE 20 +#define GAME_STAT_POKEMON_TRADES 21 +#define GAME_STAT_UNKNOWN_22 22 +#define GAME_STAT_LINK_BATTLE_WINS 23 +#define GAME_STAT_LINK_BATTLE_LOSSES 24 +#define GAME_STAT_LINK_BATTLE_DRAWS 25 +#define GAME_STAT_USED_SPLASH 26 +#define GAME_STAT_USED_STRUGGLE 27 +#define GAME_STAT_SLOT_JACKPOTS 28 +#define GAME_STAT_CONSECUTIVE_ROULETTE_WINS 29 +#define GAME_STAT_ENTERED_BATTLE_TOWER 30 +#define GAME_STAT_UNKNOWN_31 31 +#define GAME_STAT_BATTLE_TOWER_BEST_STREAK 32 +#define GAME_STAT_POKEBLOCKS 33 +#define GAME_STAT_POKEBLOCKS_WITH_FRIENDS 34 +#define GAME_STAT_WON_LINK_CONTEST 35 +#define GAME_STAT_ENTERED_CONTEST 36 +#define GAME_STAT_WON_CONTEST 37 +#define GAME_STAT_SHOPPED 38 +#define GAME_STAT_USED_ITEMFINDER 39 +#define GAME_STAT_GOT_RAINED_ON 40 +#define GAME_STAT_CHECKED_POKEDEX 41 +#define GAME_STAT_RECEIVED_RIBBONS 42 +#define GAME_STAT_JUMPED_DOWN_LEDGES 43 +#define GAME_STAT_WATCHED_TV 44 +#define GAME_STAT_CHECKED_CLOCK 45 +#define GAME_STAT_WON_POKEMON_LOTTERY 46 +#define GAME_STAT_USED_DAYCARE 47 +#define GAME_STAT_RODE_CABLE_CAR 48 +#define GAME_STAT_ENTERED_HOT_SPRINGS 49 +#define NUM_GAME_STATS 50 + +#endif // GUARD_CONSTANTS_GAME_STAT_H diff --git a/berry_fix/payload/include/constants/vars.h b/berry_fix/payload/include/constants/vars.h new file mode 100644 index 000000000..856aba069 --- /dev/null +++ b/berry_fix/payload/include/constants/vars.h @@ -0,0 +1,196 @@ +#ifndef GUARD_CONSTANTS_VARS_H +#define GUARD_CONSTANTS_VARS_H + +#define VAR_0x3F20 0x3F20 + +#define VARS_START 0x4000 + +// temporary vars +// The first 0x10 vars are are temporary--they are cleared every time a map is loaded. +#define VAR_TEMP_0 0x4000 +#define VAR_TEMP_1 0x4001 +#define VAR_TEMP_2 0x4002 +#define VAR_TEMP_3 0x4003 +#define VAR_TEMP_4 0x4004 +#define VAR_TEMP_5 0x4005 +#define VAR_TEMP_6 0x4006 +#define VAR_TEMP_7 0x4007 +#define VAR_TEMP_8 0x4008 +#define VAR_TEMP_9 0x4009 +#define VAR_TEMP_A 0x400A +#define VAR_TEMP_B 0x400B +#define VAR_TEMP_C 0x400C +#define VAR_TEMP_D 0x400D +#define VAR_TEMP_E 0x400E +#define VAR_TEMP_F 0x400F + +// object gfx id vars +// These 0x10 vars are used to dynamically control a event object's sprite. +// For example, the rival's sprite id is dynamically set based on the player's gender. +// See VarGetEventObjectGraphicsId(). +#define VAR_OBJ_GFX_ID_0 0x4010 +#define VAR_OBJ_GFX_ID_1 0x4011 +#define VAR_OBJ_GFX_ID_2 0x4012 +#define VAR_OBJ_GFX_ID_3 0x4013 +#define VAR_OBJ_GFX_ID_4 0x4014 +#define VAR_OBJ_GFX_ID_5 0x4015 +#define VAR_OBJ_GFX_ID_6 0x4016 +#define VAR_OBJ_GFX_ID_7 0x4017 +#define VAR_OBJ_GFX_ID_8 0x4018 +#define VAR_OBJ_GFX_ID_9 0x4019 +#define VAR_OBJ_GFX_ID_A 0x401A +#define VAR_OBJ_GFX_ID_B 0x401B +#define VAR_OBJ_GFX_ID_C 0x401C +#define VAR_OBJ_GFX_ID_D 0x401D +#define VAR_OBJ_GFX_ID_E 0x401E +#define VAR_OBJ_GFX_ID_F 0x401F + +// general purpose vars +#define VAR_RECYCLE_GOODS 0x4020 +#define VAR_REPEL_STEP_COUNT 0x4021 +#define VAR_ICE_STEP_COUNT 0x4022 +#define VAR_STARTER_MON 0x4023 // 0=Treecko, 1=Torchic, 2=Mudkip +#define VAR_MIRAGE_RND_H 0x4024 +#define VAR_MIRAGE_RND_L 0x4025 +#define VAR_SECRET_BASE_MAP 0x4026 +#define VAR_CYCLING_ROAD_RECORD_COLLISIONS 0x4027 +#define VAR_CYCLING_ROAD_RECORD_TIME_L 0x4028 +#define VAR_CYCLING_ROAD_RECORD_TIME_H 0x4029 +#define VAR_HAPPINESS_STEP_COUNTER 0x402A +#define VAR_POISON_STEP_COUNTER 0x402B +#define VAR_RESET_RTC_ENABLE 0x402C +#define VAR_ENIGMA_BERRY_AVAILABLE 0x402D + +#define VAR_DAYS 0x4040 +#define VAR_FANCLUB_UNKNOWN_1 0x4041 // TODO: document these two fanclub vars +#define VAR_FANCLUB_UNKNOWN_2 0x4042 +#define VAR_DEPT_STORE_FLOOR 0x4043 +#define VAR_TRICK_HOUSE_ROOMS_COMPLETED 0x4044 +#define VAR_LOTTERY_PRIZE 0x4045 +#define VAR_NATIONAL_DEX 0x4046 +#define VAR_SHROOMISH_SIZE_RECORD 0x4047 +#define VAR_ASH_GATHER_COUNT 0x4048 +#define VAR_BIRCH_STATE 0x4049 +#define VAR_CRUISE_STEP_COUNT 0x404A +#define VAR_LOTTERY_RND_L 0x404B +#define VAR_LOTTERY_RND_H 0x404C + +#define VAR_BARBOACH_SIZE_RECORD 0x404F +#define VAR_LITTLEROOT_STATE 0x4050 +#define VAR_ROUTE102_ACCESSIBLE 0x4051 + +#define VAR_LAVARIDGE_RIVAL_STATE 0x4053 +#define VAR_CURRENT_SECRET_BASE 0x4054 + +#define VAR_PETALBURG_STATE 0x4057 +#define VAR_SLATEPORT_STATE 0x4058 + +#define VAR_RUSTBORO_STATE 0x405A + +#define VAR_SOOTOPOLIS_STATE 0x405E + +#define VAR_ROUTE101_STATE 0x4060 + +#define VAR_ROUTE103_STATE 0x4062 + +#define VAR_ROUTE110_STATE 0x4069 + +#define VAR_ROUTE116_STATE 0x406F + +#define VAR_ROUTE118_STATE 0x4071 +#define VAR_ROUTE119_STATE 0x4072 + +#define VAR_ROUTE121_STATE 0x4074 +#define VAR_ROUTE128_STATE 0x407B + +#define VAR_LITTLEROOT_HOUSES_STATE 0x4082 // TODO: needs more investigation + +#define VAR_BIRCH_LAB_STATE 0x4084 +#define VAR_PETALBURG_GYM_STATE 0x4085 +#define VAR_LINK_CONTEST_ROOM_STATE 0x4086 +#define VAR_CABLE_CLUB_STATE 0x4087 +#define VAR_CONTEST_LOCATION 0x4088 +#define VAR_0x4089 0x4089 // TODO: related to decorations +#define VAR_CONTEST_PRIZE_PICKUP 0x408A + +#define VAR_LITTLEROOT_HOUSES_STATE_2 0x408C // TODO: needs more investigation +#define VAR_LITTLEROOT_RIVAL_STATE 0x408D +#define VAR_BOARD_BRINEY_BOAT_ROUTE104_STATE 0x408E +#define VAR_DEVON_CORP_3F_STATE 0x408F +#define VAR_BRINEY_HOUSE_STATE 0x4090 + +#define VAR_LITTLEROOT_INTRO_STATE 0x4092 +#define VAR_MAUVILLE_GYM_STATE 0x4093 +#define VAR_LILYCOVE_MUSEUM_2F_STATE 0x4094 +#define VAR_LILYCOVE_FAN_CLUB_STATE 0x4095 +#define VAR_BRINEY_LOCATION 0x4096 +#define VAR_0x4097 0x4097 // TODO: related to creating new secret base +#define VAR_PETALBURG_WOODS_STATE 0x4098 +#define VAR_LILYCOVE_CONTEST_LOBBY_STATE 0x4099 +#define VAR_RUSTURF_TUNNEL_STATE 0x409a +#define VAR_CAVE_OF_ORIGIN_B4F_STATE 0x409B +#define VAR_ELITE_4_STATE 0x409C + +#define VAR_SLATEPORT_HARBOR_STATE 0x40A0 + +#define VAR_SEAFLOOR_CAVERN_STATE 0x40A2 +#define VAR_CABLE_CAR_STATION_STATE 0x40A3 +#define VAR_SAFARI_ZONE_STATE 0x40A4 +#define VAR_TRICK_HOUSE_ENTRANCE_STATE 0x40A5 +#define VAR_TRICK_HOUSE_ENTRANCE_STATE_2 0x40A6 +#define VAR_TRICK_HOUSE_ENTRANCE_STATE_3 0x40A7 + +#define VAR_CYCLING_CHALLENGE_STATE 0x40A9 +#define VAR_SLATEPORT_MUSEUM_1F_STATE 0x40AA +#define VAR_TRICK_HOUSE_PUZZLE_1_STATE 0x40AB +#define VAR_TRICK_HOUSE_PUZZLE_2_STATE 0x40AC +#define VAR_TRICK_HOUSE_PUZZLE_3_STATE 0x40AD +#define VAR_TRICK_HOUSE_PUZZLE_4_STATE 0x40AE +#define VAR_TRICK_HOUSE_PUZZLE_5_STATE 0x40AF +#define VAR_TRICK_HOUSE_PUZZLE_6_STATE 0x40B0 +#define VAR_TRICK_HOUSE_PUZZLE_7_STATE 0x40B1 +#define VAR_TRICK_HOUSE_PUZZLE_8_STATE 0x40B2 +#define VAR_WEATHER_INSTITUTE_STATE 0x40B3 +#define VAR_PORTHOLE_STATE 0x40B4 +#define VAR_TRICK_HOUSE_STATE 0x40B5 // TODO: needs some further investigation +#define VAR_TRICK_HOUSE_PUZZLE_7_STATE_2 0x40B6 +#define VAR_SLATEPORT_FAN_CLUB_STATE 0x40B7 + +#define VAR_MT_PYRE_STATE 0x40B9 +#define VAR_NEW_MAUVILLE_STATE 0x40BA + +#define VAR_BRAVO_TRAINER_BATTLE_TOWER_ON 0x40BC +#define VAR_JAGGED_PASS_ASH_WEATHER 0x40BD +#define VAR_GLASS_WORKSHOP_STATE 0x40BE +#define VAR_METEOR_FALLS_STATE 0x40BF +#define VAR_GAME_CORNER_STATE 0x40C0 +#define VAR_TRICK_HOUSE_PRIZE_PICKUP 0x40C1 +#define VAR_PACIFIDLOG_TM_RECEIVED_DAY 0x40C2 +#define VAR_VICTORY_ROAD_1F_STATE 0x40C3 +#define VAR_FOSSIL_RESURRECTION_STATE 0x40C4 +#define VAR_WHICH_FOSSIL_REVIVED 0x40C5 +#define VAR_STEVENS_HOUSE_STATE 0x40C6 +#define VAR_OLDALE_STATE 0x40C7 + +// special vars +// They are commonly used as parameters to commands, or return values from commands. +#define VAR_SPECIAL_0 0x8000 +#define VAR_SPECIAL_1 0x8001 +#define VAR_SPECIAL_2 0x8002 +#define VAR_SPECIAL_3 0x8003 +#define VAR_SPECIAL_4 0x8004 +#define VAR_SPECIAL_5 0x8005 +#define VAR_SPECIAL_6 0x8006 +#define VAR_SPECIAL_7 0x8007 +#define VAR_SPECIAL_8 0x8008 +#define VAR_SPECIAL_9 0x8009 +#define VAR_SPECIAL_A 0x800A +#define VAR_SPECIAL_B 0x800B +#define FACING 0x800C +#define RESULT 0x800D +#define ITEM_ID 0x800E +#define LAST_TALKED 0x800F +#define CONTEST_RANK 0x8010 +#define CONTEST_CATEGORY 0x8011 + +#endif // GUARD_CONSTANTS_VARS_H diff --git a/berry_fix/payload/include/flash.h b/berry_fix/payload/include/flash.h new file mode 100644 index 000000000..26de88216 --- /dev/null +++ b/berry_fix/payload/include/flash.h @@ -0,0 +1,55 @@ +#ifndef GUARD_FLASH_H +#define GUARD_FLASH_H + +#include + +enum +{ + SECTOR_DAMAGED, + SECTOR_OK, + SECTOR_CHECK, // unused +}; + +enum MsgBoxUpdateMessage +{ + MSGBOX_WILL_NOW_UPDATE = 0, + MSGBOX_HAS_BEEN_UPDATED, + MSGBOX_UNABLE_TO_UPDATE, + MSGBOX_NO_NEED_TO_UPDATE, + MSGBOX_UPDATING +}; + +struct SaveSector +{ + u8 data[0xFF4]; + u16 id; + u16 checksum; + u32 signature; + u32 counter; +}; // size is 0x1000 + +// headless save section? +struct UnkSaveSection +{ + u8 data[0xFF4]; + u32 signature; +}; // size is 0xFF8 + +#define eSaveSection ((struct SaveSector *)0x2020000) + +#define NUM_SECTORS_PER_SAVE_SLOT 14 // Number of sectors occupied by a save slot +#define FILE_SIGNATURE 0x08012025 + +#define SAVE_STATUS_EMPTY 0 +#define SAVE_STATUS_OK 1 +#define SAVE_STATUS_NO_FLASH 4 +#define SAVE_STATUS_ERROR 0xFF + +bool32 flash_maincb_ident_is_valid(void); +bool8 flash_maincb_read_save(u32); +void msg_load_gfx(void); +void msg_display(enum MsgBoxUpdateMessage); +bool32 flash_maincb_check_need_reset_pacifidlog_tm(void); +bool32 flash_maincb_reset_pacifidlog_tm(void); + +#endif //GUARD_FLASH_H diff --git a/berry_fix/payload/include/global.berry.h b/berry_fix/payload/include/global.berry.h new file mode 100644 index 000000000..8f185c8f9 --- /dev/null +++ b/berry_fix/payload/include/global.berry.h @@ -0,0 +1,62 @@ +#ifndef GUARD_GLOBAL_BERRY_H +#define GUARD_GLOBAL_BERRY_H + +struct Berry +{ + /*0x00*/ u8 name[7]; + /*0x07*/ u8 firmness; + /*0x08*/ u16 size; + /*0x0A*/ u8 maxYield; + /*0x0B*/ u8 minYield; + /*0x0C*/ const u8 *description1; + /*0x10*/ const u8 *description2; + /*0x14*/ u8 stageDuration; + /*0x15*/ u8 spicy; + /*0x16*/ u8 dry; + /*0x17*/ u8 sweet; + /*0x18*/ u8 bitter; + /*0x19*/ u8 sour; + /*0x1A*/ u8 smoothness; +}; + +struct EnigmaBerry +{ + /*0x000*/ struct Berry berry; + /*0x01B*/ u8 pic[(6 * 6) * TILE_SIZE_4BPP]; + /*0x49C*/ u16 palette[16]; + /*0x4BC*/ u8 description1[45]; + /*0x4E9*/ u8 description2[45]; + /*0x516*/ u8 itemEffect[18]; + /*0x528*/ u8 holdEffect; + /*0x529*/ u8 holdEffectParam; + /*0x52C*/ u32 checksum; +}; + +struct BattleEnigmaBerry +{ + /*0x00*/ u8 name[7]; + /*0x07*/ u8 holdEffect; + /*0x08*/ u8 itemEffect[18]; + /*0x1A*/ u8 holdEffectParam; +}; + +struct BerryTree +{ + /*0x00*/ u8 berry; + /*0x01*/ u8 stage:7; + /* + A berry sparkle is a state that a berry tree + can be in after growing within the player's + viewport. + */ + /*0x01*/ bool8 growthSparkle:1; + /*0x02*/ u16 minutesUntilNextStage; + /*0x04*/ u8 berryYield; + /*0x05*/ u8 regrowthCount:4; + /*0x05*/ u8 watered1:1; + /*0x05*/ u8 watered2:1; + /*0x05*/ u8 watered3:1; + /*0x05*/ u8 watered4:1; +}; + +#endif // GUARD_GLOBAL_BERRY_H diff --git a/berry_fix/payload/include/global.fieldmap.h b/berry_fix/payload/include/global.fieldmap.h new file mode 100644 index 000000000..81f805ee2 --- /dev/null +++ b/berry_fix/payload/include/global.fieldmap.h @@ -0,0 +1,317 @@ +#ifndef GUARD_GLOBAL_FIELDMAP_H +#define GUARD_GLOBAL_FIELDMAP_H + +enum +{ + CONNECTION_SOUTH = 1, + CONNECTION_NORTH, + CONNECTION_WEST, + CONNECTION_EAST, + CONNECTION_DIVE, + CONNECTION_EMERGE +}; + +typedef void (*TilesetCB)(void); + +struct Tileset +{ + /*0x00*/ bool8 isCompressed; + /*0x01*/ bool8 isSecondary; + /*0x04*/ void *tiles; + /*0x08*/ void *palettes; + /*0x0c*/ void *metatiles; + /*0x10*/ void *metatileAttributes; + /*0x14*/ TilesetCB callback; +}; + +struct MapLayout +{ + /*0x00*/ s32 width; + /*0x04*/ s32 height; + /*0x08*/ u16 *border; + /*0x0c*/ u16 *map; + /*0x10*/ struct Tileset *primaryTileset; + /*0x14*/ struct Tileset *secondaryTileset; +}; + +struct BackupMapLayout +{ + s32 width; + s32 height; + u16 *map; +}; + +struct EventObjectTemplate +{ + /*0x00*/ u8 localId; + /*0x01*/ u8 graphicsId; + /*0x02*/ u8 unk2; + /*0x04*/ s16 x; + /*0x06*/ s16 y; + /*0x08*/ u8 elevation; + /*0x09*/ u8 movementType; + /*0x0A*/ u8 movementRangeX:4; + u8 movementRangeY:4; + /*0x0C*/ u16 trainerType; + /*0x0E*/ u16 trainerRange_berryTreeId; + /*0x10*/ u8 *script; + /*0x14*/ u16 flagId; +}; + +struct WarpEvent +{ + s16 x, y; + u8 elevation; + u8 warpId; + u8 mapNum; + u8 mapGroup; +}; + +struct CoordEvent +{ + s16 x, y; + u8 elevation; + u16 trigger; + u16 index; + u8 filler_A[0x2]; + u8 *script; +}; + +struct BgEvent +{ + /*0x00*/u16 x; + /*0x02*/u16 y; + /*0x04*/u8 elevation; + /*0x05*/u8 kind; + /*0x08*/union { // carried over from diego's FR/LG work, seems to be the same struct + // in gen 3, "kind" (0x3 in BgEvent struct) determines the method to read the union. + u8 *script; + + // hidden item type + struct { + u16 item; + u16 hiddenItemId; // flag offset to determine flag lookup + } hiddenItem; + + // secret base type + u32 secretBaseId; + + } bgUnion; +}; + +struct MapEvents +{ + u8 eventObjectCount; + u8 warpCount; + u8 coordEventCount; + u8 bgEventCount; + + struct EventObjectTemplate *eventObjects; + struct WarpEvent *warps; + struct CoordEvent *coordEvents; + struct BgEvent *bgEvents; +}; + +struct MapConnection +{ + /*0x00*/ u8 direction; + /*0x01*/ u32 offset; + /*0x05*/ u8 mapGroup; + /*0x06*/ u8 mapNum; +}; + +struct MapConnections +{ + s32 count; + struct MapConnection *connections; +}; + +struct MapHeader +{ + /* 0x00 */ struct MapLayout *mapLayout; + /* 0x04 */ struct MapEvents *events; + /* 0x08 */ u8 *mapScripts; + /* 0x0C */ struct MapConnections *connections; + /* 0x10 */ u16 music; + /* 0x12 */ u16 mapLayoutId; + /* 0x14 */ u8 regionMapSectionId; + /* 0x15 */ u8 cave; + /* 0x16 */ u8 weather; + /* 0x17 */ u8 mapType; + /* 0x18 */ u8 filler_18; + /* 0x19 */ u8 escapeRope; + /* 0x1A */ u8 flags; + /* 0x1B */ u8 battleType; +}; + +struct EventObject +{ + /*0x00*/ u32 active:1; + u32 singleMovementActive:1; + u32 triggerGroundEffectsOnMove:1; + u32 triggerGroundEffectsOnStop:1; + u32 disableCoveringGroundEffects:1; // disables ground effects that cover parts of the object's sprite + u32 landingJump:1; + u32 heldMovementActive:1; + u32 heldMovementFinished:1; + /*0x01*/ u32 frozen:1; + u32 facingDirectionLocked:1; + u32 disableAnim:1; // used to disable forced movement sliding animations (like on ice) + u32 enableAnim:1; + u32 inanimate:1; + u32 invisible:1; + u32 offScreen:1; + u32 trackedByCamera:1; // only set for the player object + /*0x02*/ u32 isPlayer:1; + u32 hasReflection:1; + u32 inShortGrass:1; + u32 inShallowFlowingWater:1; + u32 inSandPile:1; + u32 inHotSprings:1; + u32 hasShadow:1; + u32 spriteAnimPausedBackup:1; + /*0x03*/ u32 spriteAffineAnimPausedBackup:1; + u32 disableJumpLandingGroundEffect:1; + u32 fixedPriority:1; + /*0x04*/ u8 spriteId; + /*0x05*/ u8 graphicsId; + /*0x06*/ u8 movementType; + /*0x07*/ u8 trainerType; + /*0x08*/ u8 localId; + /*0x09*/ u8 mapNum; + /*0x0A*/ u8 mapGroup; + /*0x0B*/ u8 currentElevation:4; + u8 previousElevation:4; + /*0x0C*/ struct Coords16 initialCoords; + /*0x10*/ struct Coords16 currentCoords; + /*0x14*/ struct Coords16 previousCoords; + /*0x18*/ u8 facingDirection:4; + /*0x18*/ u8 movementDirection:4; + /*0x19*/ union __attribute__((packed)) { + u8 as_byte; + struct __attribute__((packed)) { + u16 x:4; + u16 y:4; + } as_nybbles; + } range; + /*0x1A*/ u8 fieldEffectSpriteId; + /*0x1B*/ u8 warpArrowSpriteId; + /*0x1C*/ u8 movementActionId; + /*0x1D*/ u8 trainerRange_berryTreeId; + /*0x1E*/ u8 currentMetatileBehavior; + /*0x1F*/ u8 previousMetatileBehavior; + /*0x20*/ u8 previousMovementDirection; + /*0x21*/ u8 directionSequenceIndex; + /*0x22*/ u8 playerCopyableMovement; // used as an index to gCopyPlayerMovementFuncs for the "copy player" movement types + /*size = 0x24*/ +}; + +struct EventObjectGraphicsInfo +{ + /*0x00*/ u16 tileTag; + /*0x02*/ u16 paletteTag; + /*0x04*/ u16 bridgeReflectionPaletteTag; + /*0x06*/ u16 size; + /*0x08*/ s16 width; + /*0x0A*/ s16 height; + /*0x0C*/ u8 paletteSlot:4; + u8 shadowSize:2; + u8 inanimate:1; + u8 disableReflectionPaletteLoad:1; + /*0x0D*/ u8 tracks; + /*0x10*/ const struct OamData *oam; + /*0x14*/ const struct SubspriteTable *subspriteTables; + /*0x18*/ const union AnimCmd *const *anims; + /*0x1C*/ const struct SpriteFrameImage *images; + /*0x20*/ const union AffineAnimCmd *const *affineAnims; +}; + +#define PLAYER_AVATAR_FLAG_ON_FOOT (1 << 0) +#define PLAYER_AVATAR_FLAG_MACH_BIKE (1 << 1) +#define PLAYER_AVATAR_FLAG_ACRO_BIKE (1 << 2) +#define PLAYER_AVATAR_FLAG_SURFING (1 << 3) +#define PLAYER_AVATAR_FLAG_UNDERWATER (1 << 4) +#define PLAYER_AVATAR_FLAG_5 (1 << 5) +#define PLAYER_AVATAR_FLAG_6 (1 << 6) +#define PLAYER_AVATAR_FLAG_DASH (1 << 7) + +enum +{ + ACRO_BIKE_NORMAL, + ACRO_BIKE_TURNING, + ACRO_BIKE_WHEELIE_STANDING, + ACRO_BIKE_BUNNY_HOP, + ACRO_BIKE_WHEELIE_MOVING, + ACRO_BIKE_STATE5, + ACRO_BIKE_STATE6, +}; + +enum +{ + DIR_NONE, + DIR_SOUTH, + DIR_NORTH, + DIR_WEST, + DIR_EAST, + DIR_SOUTHWEST, + DIR_SOUTHEAST, + DIR_NORTHWEST, + DIR_NORTHEAST, +}; + +enum +{ + COLLISION_LEDGE_JUMP = 6 +}; + +// player running states +enum +{ + NOT_MOVING, + TURN_DIRECTION, // not the same as turning! turns your avatar without moving. also known as a turn frame in some circles + MOVING, +}; + +// player tile transition states +enum +{ + T_NOT_MOVING, + T_TILE_TRANSITION, + T_TILE_CENTER, // player is on a frame in which they are centered on a tile during which the player either stops or keeps their momentum and keeps going, changing direction if necessary. +}; + +struct PlayerAvatar /* 0x202E858 */ +{ + /*0x00*/ u8 flags; + /*0x01*/ u8 unk1; // used to be named bike, but its definitely not that. seems to be some transition flags + /*0x02*/ u8 runningState; // this is a static running state. 00 is not moving, 01 is turn direction, 02 is moving. + /*0x03*/ u8 tileTransitionState; // this is a transition running state: 00 is not moving, 01 is transition between tiles, 02 means you are on the frame in which you have centered on a tile but are about to keep moving, even if changing directions. 2 is also used for a ledge hop, since you are transitioning. + /*0x04*/ u8 spriteId; + /*0x05*/ u8 eventObjectId; + /*0x06*/ bool8 preventStep; + /*0x07*/ u8 gender; + /*0x08*/ u8 acroBikeState; // 00 is normal, 01 is turning, 02 is standing wheelie, 03 is hopping wheelie + /*0x09*/ u8 newDirBackup; // during bike movement, the new direction as opposed to player's direction is backed up here. + /*0x0A*/ u8 bikeFrameCounter; // on the mach bike, when this value is 1, the bike is moving but not accelerating yet for 1 tile. on the acro bike, this acts as a timer for acro bike. + /*0x0B*/ u8 bikeSpeed; + // acro bike only + /*0x0C*/ u32 directionHistory; // up/down/left/right history is stored in each nybble, but using the field directions and not the io inputs. + /*0x10*/ u32 abStartSelectHistory; // same as above but for A + B + start + select only + // these two are timer history arrays which [0] is the active timer for acro bike. every element is backed up to the next element upon update. + /*0x14*/ u8 dirTimerHistory[8]; + /*0x1C*/ u8 abStartSelectTimerHistory[8]; +}; + +struct Camera +{ + bool8 active:1; + s32 x; + s32 y; +}; + +extern struct EventObject gEventObjects[]; +extern u8 gSelectedEventObject; +extern struct MapHeader gMapHeader; +extern struct PlayerAvatar gPlayerAvatar; + +#endif // GUARD_GLOBAL_FIELDMAP_H diff --git a/berry_fix/payload/include/global.h b/berry_fix/payload/include/global.h new file mode 100644 index 000000000..ad83b544c --- /dev/null +++ b/berry_fix/payload/include/global.h @@ -0,0 +1,875 @@ +#ifndef GUARD_GLOBAL_H +#define GUARD_GLOBAL_H + +#include + +// global.h from pokemon ruby + +// IDE support +#if defined(__APPLE__) || defined(__CYGWIN__) +#define _(x) x +#define __(x) x +#define INCBIN(x) {0} +#define INCBIN_U8 INCBIN +#define INCBIN_U16 INCBIN +#define INCBIN_U32 INCBIN +#define INCBIN_S8 INCBIN +#define INCBIN_S16 INCBIN +#define INCBIN_S32 INCBIN +#endif + +// Prevent cross-jump optimization. +#define BLOCK_CROSS_JUMP asm(""); + +// to help in decompiling +#define asm_comment(x) asm volatile("@ -- " x " -- ") + +#define asm_unified(x) asm(".syntax unified\n" x "\n.syntax divided\n") + +#define ARRAY_COUNT(array) (sizeof(array) / sizeof((array)[0])) + + +#define POKEMON_SLOTS_NUMBER 412 +#define POKEMON_NAME_LENGTH 10 +#define OT_NAME_LENGTH 7 + +#define min(a, b) ((a) < (b) ? (a) : (b)) +#define max(a, b) ((a) >= (b) ? (a) : (b)) + +// why does GF hate 2d arrays +#define MULTI_DIM_ARR(x, dim, y) ((x) * dim + (y)) + +// dim access enums +enum +{ + B_8 = 1, + B_16 = 2, + B_32 = 4 +}; + +// There are many quirks in the source code which have overarching behavioral differences from +// a number of other files. For example, diploma.c seems to declare rodata before each use while +// other files declare out of order and must be at the beginning. There are also a number of +// macros which differ from one file to the next due to the method of obtaining the result, such +// as these below. Because of this, there is a theory (Two Team Theory) that states that these +// programming projects had more than 1 "programming team" which utilized different macros for +// each of the files that were worked on. +#define T1_READ_8(ptr) ((ptr)[0]) +#define T1_READ_16(ptr) ((ptr)[0] | ((ptr)[1] << 8)) +#define T1_READ_32(ptr) ((ptr)[0] | ((ptr)[1] << 8) | ((ptr)[2] << 16) | ((ptr)[3] << 24)) +#define T1_READ_PTR(ptr) (u8*) T1_READ_32(ptr) + +// T2_READ_8 is a duplicate to remain consistent with each group. +#define T2_READ_8(ptr) ((ptr)[0]) +#define T2_READ_16(ptr) ((ptr)[0] + ((ptr)[1] << 8)) +#define T2_READ_32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24)) +#define T2_READ_PTR(ptr) (void*) T2_READ_32(ptr) + +// Credits to Made (dolphin emoji) +#define S16TOPOSFLOAT(val) \ +({ \ + s16 v = (val); \ + float f = (float)v; \ + if(v < 0) f += 65536.0f; \ + f; \ +}) + +enum +{ + VERSION_SAPPHIRE = 1, + VERSION_RUBY = 2, + VERSION_EMERALD = 3, +}; + +enum LanguageId +{ + LANGUAGE_JAPANESE = 1, + LANGUAGE_ENGLISH = 2, + LANGUAGE_GERMAN = 5, +}; + +// capacities of various saveblock objects +#define DAYCARE_MON_COUNT 2 +#define POKEBLOCKS_COUNT 40 +#define PARTY_SIZE 6 +#define EVENT_OBJECTS_COUNT 16 +#define BERRY_TREES_COUNT 128 +#define FLAGS_COUNT 288 +#define VARS_COUNT 256 +#define MAIL_COUNT 16 +#define SECRET_BASES_COUNT 20 +#define TV_SHOWS_COUNT 25 +#define POKE_NEWS_COUNT 16 +#define PC_ITEMS_COUNT 50 +#define BAG_ITEMS_COUNT 20 +#define BAG_KEYITEMS_COUNT 20 +#define BAG_POKEBALLS_COUNT 16 +#define BAG_TMHM_COUNT 64 +#define BAG_BERRIES_COUNT 46 + +enum +{ + MALE, + FEMALE +}; + +enum +{ + OPTIONS_BUTTON_MODE_NORMAL, + OPTIONS_BUTTON_MODE_LR, + OPTIONS_BUTTON_MODE_L_EQUALS_A +}; + +enum +{ + OPTIONS_TEXT_SPEED_SLOW, + OPTIONS_TEXT_SPEED_MID, + OPTIONS_TEXT_SPEED_FAST +}; + +enum +{ + OPTIONS_SOUND_MONO, + OPTIONS_SOUND_STEREO +}; + +enum +{ + OPTIONS_BATTLE_STYLE_SHIFT, + OPTIONS_BATTLE_STYLE_SET +}; + +enum +{ + BAG_ITEMS = 1, + BAG_POKEBALLS, + BAG_TMsHMs, + BAG_BERRIES, + BAG_KEYITEMS +}; + +struct Coords16 +{ + s16 x; + s16 y; +}; + +struct UCoords16 +{ + u16 x; + u16 y; +}; + +struct SecretBaseRecord +{ + /*0x1A08*/ u8 secretBaseId; + /*0x1A09*/ u8 sbr_field_1_0:4; + /*0x1A09*/ u8 gender:1; + /*0x1A09*/ u8 sbr_field_1_5:1; + /*0x1A09*/ u8 sbr_field_1_6:2; + /*0x1A0A*/ u8 playerName[OT_NAME_LENGTH]; + /*0x1A11*/ u8 trainerId[4]; // byte 0 is used for determining trainer class + /*0x1A16*/ u16 sbr_field_e; + /*0x1A18*/ u8 sbr_field_10; + /*0x1A19*/ u8 sbr_field_11; + /*0x1A1A*/ u8 decorations[16]; + /*0x1A2A*/ u8 decorationPos[16]; + /*0x1A3C*/ u32 partyPersonality[6]; + /*0x1A54*/ u16 partyMoves[6 * 4]; + /*0x1A84*/ u16 partySpecies[6]; + /*0x1A90*/ u16 partyHeldItems[6]; + /*0x1A9C*/ u8 partyLevels[6]; + /*0x1AA2*/ u8 partyEVs[6]; +}; + +#include "constants/game_stat.h" +#include "global.fieldmap.h" +#include "global.berry.h" +#include "pokemon.h" + +struct WarpData +{ + s8 mapGroup; + s8 mapNum; + s8 warpId; + s16 x, y; +}; + +struct ItemSlot +{ + u16 itemId; + u16 quantity; +}; + +struct Pokeblock +{ + u8 color; + u8 spicy; + u8 dry; + u8 sweet; + u8 bitter; + u8 sour; + u8 feel; +}; + +struct Roamer +{ + /*0x00*/ u32 ivs; + /*0x04*/ u32 personality; + /*0x08*/ u16 species; + /*0x0A*/ u16 hp; + /*0x0C*/ u8 level; + /*0x0D*/ u8 status; + /*0x0E*/ u8 cool; + /*0x0F*/ u8 beauty; + /*0x10*/ u8 cute; + /*0x11*/ u8 smart; + /*0x12*/ u8 tough; + /*0x13*/ bool8 active; + /*0x14*/ u8 filler[0x8]; +}; + +struct RamScriptData +{ + u8 magic; + u8 mapGroup; + u8 mapNum; + u8 objectId; + u8 script[995]; +}; + +struct RamScript +{ + u32 checksum; + struct RamScriptData data; +}; + +struct EasyChatPair +{ + u16 unk0_0:7; + u16 unk0_7:7; + u16 unk1_6:1; + u16 unk2; + u16 words[2]; +}; /*size = 0x8*/ + +struct TVShowCommon +{ + /*0x00*/ u8 kind; + /*0x01*/ bool8 active; + /*0x02*/ u8 pad02[20]; + /*0x16*/ u16 var16[3]; + /*0x1C*/ u8 srcTrainerId3Lo; + /*0x1D*/ u8 srcTrainerId3Hi; + /*0x1E*/ u8 srcTrainerId2Lo; + /*0x1F*/ u8 srcTrainerId2Hi; + /*0x20*/ u8 srcTrainerIdLo; + /*0x21*/ u8 srcTrainerIdHi; + /*0x22*/ u8 trainerIdLo; + /*0x23*/ u8 trainerIdHi; +}; + +struct TVShowFanClubLetter +{ + /*0x00*/ u8 kind; + /*0x01*/ bool8 active; + /*0x02*/ u16 species; + /*0x04*/ u16 pad04[6]; + /*0x10*/ u8 playerName[8]; + /*0x18*/ u8 language; +}; + +struct TVShowRecentHappenings +{ + /*0x00*/ u8 kind; + /*0x01*/ bool8 active; + /*0x02*/ u16 var02; + /*0x04*/ u16 var04[6]; + /*0x10*/ u8 playerName[8]; + /*0x18*/ u8 language; + /*0x19*/ u8 pad19[10]; +}; + +struct TVShowFanclubOpinions +{ + /*0x00*/ u8 kind; + /*0x01*/ bool8 active; + /*0x02*/ u16 var02; + /*0x04*/ u8 var04A:4; + /*0x04*/ u8 var04B:4; + /*0x05*/ u8 playerName[8]; + /*0x0D*/ u8 language; + /*0x0E*/ u8 var0E; + /*0x0F*/ u8 var0F; + /*0x10*/ u8 var10[8]; + /*0x18*/ u16 var18[2]; + /*0x1C*/ u16 var1C[4]; +}; + +struct TVShowUnknownType04 +{ + /*0x00*/ u8 kind; + /*0x01*/ bool8 active; + /*0x02*/ u8 pad02[4]; + /*0x06*/ u16 var06; +}; + +struct TVShowNameRaterShow +{ + /*0x00*/ u8 kind; + /*0x01*/ bool8 active; + /*0x02*/ u16 species; + /*0x04*/ u8 pokemonName[11]; + /*0x0F*/ u8 trainerName[11]; + /*0x1A*/ u8 random; + /*0x1B*/ u8 random2; + /*0x1C*/ u16 var1C; + /*0x1E*/ u8 language; + /*0x1F*/ u8 pokemonNameLanguage; +}; + +struct TVShowBravoTrainerPokemonProfiles +{ + /*0x00*/ u8 kind; + /*0x01*/ bool8 active; + /*0x02*/ u16 species; + /*0x04*/ u16 var04[2]; + /*0x08*/ u8 pokemonNickname[11]; + /*0x13*/ u8 contestCategory:3; + /*0x13*/ u8 contestRank:2; + /*0x13*/ u8 contestResult:2; + /*0x13*/ u8 var13_7:1; + /*0x14*/ u16 var14; + /*0x16*/ u8 playerName[8]; + /*0x1E*/ u8 language; + /*0x1F*/ u8 var1f; +}; + +struct TVShowBravoTrainerBattleTowerSpotlight +{ + /*0x00*/ u8 kind; + /*0x01*/ bool8 active; + /*0x02*/ u8 trainerName[8]; + /*0x0A*/ u16 species; + /*0x0C*/ u8 enemyTrainerName[8]; + /*0x14*/ u16 defeatedSpecies; + /*0x16*/ u16 var16; + /*0x18*/ u16 var18[1]; + /*0x1A*/ u8 btLevel; + /*0x1B*/ u8 var1b; + /*0x1C*/ u8 var1c; + /*0x1D*/ u8 language; +}; + +struct TVShowPokemonToday +{ + /*0x00*/ u8 kind; + /*0x01*/ bool8 active; + /*0x02*/ u8 language; + /*0x03*/ u8 language2; + /*0x04*/ u8 nickname[11]; + /*0x0F*/ u8 ball; + /*0x10*/ u16 species; + /*0x12*/ u8 var12; + /*0x13*/ u8 playerName[8]; +}; + +struct TVShowSmartShopper +{ + /*0x00*/ u8 kind; + /*0x01*/ bool8 active; + /*0x02*/ u8 priceReduced; + /*0x03*/ u8 language; + /*0x04*/ u8 pad04[2]; + /*0x06*/ u16 itemIds[3]; + /*0x0C*/ u16 itemAmounts[3]; + /*0x12*/ u8 shopLocation; + /*0x13*/ u8 playerName[8]; +}; + +struct TVShowPokemonTodayFailed +{ + /*0x00*/ u8 kind; + /*0x01*/ bool8 active; + /*0x02*/ u8 language; + /*0x03*/ u8 pad03[9]; + /*0x0c*/ u16 species; + /*0x0e*/ u16 species2; + /*0x10*/ u8 var10; + /*0x11*/ u8 var11; + /*0x12*/ u8 var12; + /*0x13*/ u8 playerName[8]; +}; + +struct TVShowPokemonAngler +{ + /*0x00*/ u8 kind; + /*0x01*/ bool8 active; + /*0x02*/ u8 var02; + /*0x03*/ u8 var03; + /*0x04*/ u16 var04; + /*0x06*/ u8 language; + u8 pad07[12]; + /*0x13*/ u8 playerName[8]; +}; + +struct TVShowWorldOfMasters +{ + /*0x00*/ u8 kind; + /*0x01*/ bool8 active; + /*0x02*/ u16 var02; + /*0x04*/ u16 var04; + /*0x06*/ u16 var06; + /*0x08*/ u16 var08; + /*0x0a*/ u8 var0a; + /*0x0b*/ u8 language; + u8 pad0c[7]; + /*0x13*/ u8 playerName[8]; +}; + +struct TVShowMassOutbreak +{ + /*0x00*/ u8 kind; + /*0x01*/ bool8 active; + /*0x02*/ u8 var02; + /*0x03*/ u8 var03; + /*0x04*/ u16 moves[4]; + /*0x0C*/ u16 species; + /*0x0E*/ u16 var0E; + /*0x10*/ u8 locationMapNum; + /*0x11*/ u8 locationMapGroup; + /*0x12*/ u8 var12; + /*0x13*/ u8 probability; + /*0x14*/ u8 level; + /*0x15*/ u8 var15; + /*0x16*/ u16 daysLeft; + /*0x18*/ u8 language; + u8 pad19[11]; +}; + +typedef union TVShow +{ + struct TVShowCommon common; + struct TVShowFanClubLetter fanclubLetter; + struct TVShowRecentHappenings recentHappenings; + struct TVShowFanclubOpinions fanclubOpinions; + struct TVShowUnknownType04 unkShow04; + struct TVShowNameRaterShow nameRaterShow; + struct TVShowBravoTrainerPokemonProfiles bravoTrainer; + struct TVShowBravoTrainerBattleTowerSpotlight bravoTrainerTower; + struct TVShowPokemonToday pokemonToday; + struct TVShowSmartShopper smartshopperShow; + struct TVShowPokemonTodayFailed pokemonTodayFailed; + struct TVShowPokemonAngler pokemonAngler; + struct TVShowWorldOfMasters worldOfMasters; + struct TVShowMassOutbreak massOutbreak; +} TVShow; + +struct MailStruct +{ + /*0x00*/ u16 words[9]; + /*0x12*/ u8 playerName[8]; + /*0x1A*/ u8 trainerId[4]; + /*0x1E*/ u16 species; + /*0x20*/ u16 itemId; +}; + + +// Mauville Pokemon Center men + +struct MauvilleManCommon +{ + u8 id; +}; + +struct MauvilleManBard +{ + /*0x00*/ u8 id; + /*0x02*/ u16 songLyrics[6]; + /*0x0E*/ u16 temporaryLyrics[6]; + /*0x1A*/ u8 playerName[8]; + /*0x22*/ u8 filler_2DB6[0x3]; + /*0x25*/ u8 playerTrainerId[4]; + /*0x29*/ bool8 hasChangedSong; +}; /*size = 0x2C*/ + +struct MauvilleManHipster +{ + u8 id; + bool8 alreadySpoken; +}; + +struct MauvilleManTrader +{ + u8 id; + u8 unk1[4]; + u8 unk5[4][11]; + bool8 alreadyTraded; +}; + +struct MauvilleManStoryteller +{ + u8 id; + bool8 alreadyRecorded; + u8 filler2[2]; + u8 gameStatIDs[4]; + u8 trainerNames[4][7]; + u8 statValues[4][4]; +}; + +struct MauvilleManGiddy +{ + /*0x00*/ u8 id; + /*0x01*/ u8 taleCounter; + /*0x02*/ u8 questionNum; + /*0x04*/ u16 randomWords[10]; + /*0x18*/ u8 questionList[12]; +}; /*size = 0x2C*/ + + +union MauvilleMan +{ + struct MauvilleManCommon common; + struct MauvilleManBard bard; + struct MauvilleManHipster hipster; + struct MauvilleManTrader trader; + struct MauvilleManStoryteller storyteller; + struct MauvilleManGiddy giddy; + u8 filler[0x40]; // needed to pad out the struct +}; + +struct PokeNews +{ + u8 kind; + u8 state; + u16 days; +}; + +struct GabbyAndTyData +{ + /*2b10*/ u16 mon1; + /*2b12*/ u16 mon2; + /*2b14*/ u16 lastMove; + /*2b16*/ u16 quote; + /*2b18*/ u8 mapnum; + /*2b19*/ u8 battleNum; + /*2b1a*/ u8 valA_0:1; + /*2b1a*/ u8 valA_1:1; + /*2b1a*/ u8 valA_2:1; + /*2b1a*/ u8 valA_3:1; + /*2b1a*/ u8 valA_4:1; + /*2b1a*/ u8 valA_5:3; + /*2b1b*/ u8 valB_0:1; + /*2b1b*/ u8 valB_1:1; + /*2b1b*/ u8 valB_2:1; + /*2b1b*/ u8 valB_3:1; + /*2b1b*/ u8 valB_4:1; + /*2b1b*/ u8 valB_5:3; +}; + +struct DayCareMail +{ + /*0x00*/ struct MailStruct message; + /*0x24*/ u8 names[19]; +}; + +struct DayCareStepCountersEtc { + u32 steps[DAYCARE_MON_COUNT]; + u16 pendingEggPersonality; + u8 eggCycleStepsRemaining; +}; + +struct RecordMixingDayCareMail +{ + struct DayCareMail mail[DAYCARE_MON_COUNT]; + u32 numDaycareMons; + u16 itemsHeld[DAYCARE_MON_COUNT]; // marks whether or not each daycare mon is currently holding an item. +}; + +struct DayCareMisc +{ + struct DayCareMail mail[DAYCARE_MON_COUNT]; + struct DayCareStepCountersEtc countersEtc; +}; + +struct DayCare { + struct BoxPokemon mons[DAYCARE_MON_COUNT]; + struct DayCareMisc misc; +}; + +struct LinkBattleRecord +{ + u8 name[8]; + u16 trainerId; + u16 wins; + u16 losses; + u16 draws; +}; + +struct RecordMixingGiftData +{ + u8 unk0; + u8 quantity; + u16 itemId; + u8 filler4[8]; +}; + +struct RecordMixingGift +{ + int checksum; + struct RecordMixingGiftData data; +}; + +struct ContestWinner +{ + /*0x00*/ u32 personality; // personality + /*0x04*/ u32 otId; // otId + /*0x08*/ u16 species; // species + /*0x0A*/ u8 contestCategory; + /*0x0B*/ u8 nickname[11]; + /*0x16*/ u8 trainerName[8]; +}; + +// there should be enough flags for all 412 slots +// each slot takes up 8 flags +// if the value is not divisible by 8, we need to account for the reminder as well +#define DEX_FLAGS_NO ((POKEMON_SLOTS_NUMBER / 8) + ((POKEMON_SLOTS_NUMBER % 8) ? 1 : 0)) + +struct SaveBlock1 /* 0x02025734 */ +{ + /*0x00*/ struct Coords16 pos; + /*0x04*/ struct WarpData location; + /*0x0C*/ struct WarpData warp1; + /*0x14*/ struct WarpData warp2; + /*0x1C*/ struct WarpData lastHealLocation; + /*0x24*/ struct WarpData warp4; + /*0x2C*/ u16 savedMusic; + /*0x2E*/ u8 weather; + /*0x2F*/ u8 weatherCycleStage; + /*0x30*/ u8 flashLevel; // flash level on current map, 0 being normal and 4 being the darkest + /*0x32*/ u16 mapLayoutId; + /*0x34*/ u16 mapView[0x100]; + /*0x234*/ u8 playerPartyCount; + /*0x238*/ struct Pokemon playerParty[6]; + /*0x490*/ u32 money; + /*0x494*/ u16 coins; + /*0x496*/ u16 registeredItem; // registered for use with SELECT button + /*0x498*/ struct ItemSlot pcItems[PC_ITEMS_COUNT]; + /*0x560*/ struct ItemSlot bagPocket_Items[BAG_ITEMS_COUNT]; + /*0x5B0*/ struct ItemSlot bagPocket_KeyItems[BAG_KEYITEMS_COUNT]; + /*0x600*/ struct ItemSlot bagPocket_PokeBalls[BAG_POKEBALLS_COUNT]; + /*0x640*/ struct ItemSlot bagPocket_TMHM[BAG_TMHM_COUNT]; + /*0x740*/ struct ItemSlot bagPocket_Berries[BAG_BERRIES_COUNT]; + /*0x7F8*/ struct Pokeblock pokeblocks[POKEBLOCKS_COUNT]; + /*0x938*/ u8 dexSeen2[DEX_FLAGS_NO]; + /*0x96C*/ u16 berryBlenderRecords[3]; + /*0x972*/ u8 filler_972[0x6]; + /*0x978*/ u16 trainerRematchStepCounter; + /*0x97A*/ u8 trainerRematches[100]; + /*0x9E0*/ struct EventObject eventObjects[EVENT_OBJECTS_COUNT]; + /*0xC20*/ struct EventObjectTemplate eventObjectTemplates[64]; + /*0x1220*/ u8 flags[FLAGS_COUNT]; + /*0x1340*/ u16 vars[VARS_COUNT]; + /*0x1540*/ u32 gameStats[NUM_GAME_STATS]; + /*0x1608*/ struct BerryTree berryTrees[BERRY_TREES_COUNT]; + /*0x1A08*/ struct SecretBaseRecord secretBases[SECRET_BASES_COUNT]; + /*0x2688*/ u8 playerRoomDecor[12]; + /*0x2694*/ u8 playerRoomDecorPos[12]; + /*0x26A0*/ u8 decorDesk[10]; + /*0x26AA*/ u8 decorChair[10]; + /*0x26B4*/ u8 decorPlant[10]; + /*0x26BE*/ u8 decorOrnament[30]; + /*0x26DC*/ u8 decorMat[30]; + /*0x26FA*/ u8 decorPoster[10]; + /*0x2704*/ u8 decorDoll[40]; + /*0x272C*/ u8 decorCushion[10]; + /*0x2736*/ u8 padding_2736[2]; + /*0x2738*/ TVShow tvShows[TV_SHOWS_COUNT]; + /*0x2ABC*/ struct PokeNews pokeNews[POKE_NEWS_COUNT]; + /*0x2AFC*/ u16 outbreakPokemonSpecies; + /*0x2AFE*/ u8 outbreakLocationMapNum; + /*0x2AFF*/ u8 outbreakLocationMapGroup; + /*0x2B00*/ u8 outbreakPokemonLevel; + /*0x2B01*/ u8 outbreakUnk1; + /*0x2B02*/ u16 outbreakUnk2; + /*0x2B04*/ u16 outbreakPokemonMoves[4]; + /*0x2B0C*/ u8 outbreakUnk4; + /*0x2B0D*/ u8 outbreakPokemonProbability; + /*0x2B0E*/ u16 outbreakUnk5; + /*0x2B10*/ struct GabbyAndTyData gabbyAndTyData; + /*0x2B1C*/ struct { + /*0x2B1C*/ u16 unk2B1C[6]; + /*0x2B28*/ u16 unk2B28[6]; + /*0x2B34*/ u16 unk2B34[6]; + /*0x2B40*/ u16 unk2B40[6]; + } easyChats; + /*0x2B4C*/ struct MailStruct mail[MAIL_COUNT]; + /*0x2D8C*/ u8 unk2D8C[4]; // What is this? Apparently it's supposed to be 64 bytes in size. + /*0x2D90*/ u8 filler_2D90[0x4]; + /*0x2D94*/ union MauvilleMan mauvilleMan; + /*0x2DD4*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff + /*0x2DFC*/ struct ContestWinner contestWinners[8]; + /*0x2EFC*/ struct ContestWinner museumPortraits[5]; + /*0x2F9C*/ struct DayCare daycare; + /*0x30B8*/ struct LinkBattleRecord linkBattleRecords[5]; + struct { + /*0x3108*/ u8 unknown1[8]; + /*0x3110*/ u8 giftRibbons[11]; + /*0x311B*/ u8 unknown2[8]; + /*0x3123*/ u32 currentPokeCoupons; + /*0x3127*/ u32 totalEarnedPokeCoupons; + /*0x312B*/ u8 unknown3[6]; + /*0x3131*/ u8 receivedWishmakerJirachi; + /*0x3132*/ u8 unknown4[18]; + } __attribute__((packed)) externalReservedData; + /*0x3144*/ struct Roamer roamer; + /*0x3160*/ struct EnigmaBerry enigmaBerry; + /*0x3690*/ struct RamScript ramScript; + /*0x3A7C*/ struct RecordMixingGift recordMixingGift; + /*0x3A8C*/ u8 dexSeen3[DEX_FLAGS_NO]; +}; + +extern struct SaveBlock1 gSaveBlock1; + +struct Time +{ + /*0x00*/ s16 days; + /*0x02*/ s8 hours; + /*0x03*/ s8 minutes; + /*0x04*/ s8 seconds; +}; + +struct Pokedex +{ + /*0x00*/ u8 order; + /*0x01*/ u8 unknown1; + /*0x02*/ u8 nationalMagic; // must equal 0xDA in order to have National mode + /*0x03*/ u8 unknown2; + /*0x04*/ u32 unownPersonality; // set when you first see Unown + /*0x08*/ u32 spindaPersonality; // set when you first see Spinda + /*0x0C*/ u32 unknown3; + /*0x10*/ u8 owned[DEX_FLAGS_NO]; + /*0x44*/ u8 seen[DEX_FLAGS_NO]; +}; + +struct BattleTowerTrainer +{ + /*0x00*/ u8 trainerClass; + /*0x01*/ u8 name[8]; + /*0x09*/ u8 teamFlags; + u8 filler0A[2]; + /*0x0C*/ u16 greeting[6]; +}; + +struct BattleTowerRecord // record mixing +{ + /*0x00*/ u8 battleTowerLevelType; // 0 = level 50, 1 = level 100 + /*0x01*/ u8 trainerClass; + /*0x02*/ u16 winStreak; + /*0x04*/ u8 name[8]; + /*0x0C*/ u8 trainerId[4]; + /*0x10*/ u16 greeting[6]; + /*0x1C*/ struct BattleTowerPokemon party[3]; + /*0xA0*/ u32 checksum; +}; + +struct BattleTowerEReaderTrainer +{ + /*0x00*/ u8 unk0; + /*0x01*/ u8 trainerClass; + /*0x02*/ u16 winStreak; + /*0x04*/ u8 name[8]; + /*0x0C*/ u8 trainerId[4]; + /*0x10*/ u16 greeting[6]; + /*0x1C*/ u16 farewellPlayerLost[6]; + /*0x28*/ u16 farewellPlayerWon[6]; + /*0x34*/ struct BattleTowerPokemon party[3]; + /*0xB8*/ u32 checksum; +}; + +struct BattleTowerData +{ + /*0x0000, 0x00A8*/ struct BattleTowerRecord playerRecord; + /*0x00A4, 0x014C*/ struct BattleTowerRecord records[5]; // from record mixing + /*0x03D8, 0x0480*/ u16 firstMonSpecies; // species of the first pokemon in the player's battle tower party + /*0x03DA, 0x0482*/ u16 defeatedBySpecies; // species of the pokemon that defated the player + /*0x03DC, 0x0484*/ u8 defeatedByTrainerName[8]; + /*0x03E4, 0x048C*/ u8 firstMonNickname[POKEMON_NAME_LENGTH]; // nickname of the first pokemon in the player's battle tower party + /*0x03F0, 0x0498*/ struct BattleTowerEReaderTrainer ereaderTrainer; + /*0x04AC, 0x0554*/ u8 battleTowerLevelType:1; // 0 = level 50; 1 = level 100 + /*0x04AC, 0x0554*/ u8 unk_554:1; + /*0x04AD, 0x0555*/ u8 battleOutcome; + /*0x04AE, 0x0556*/ u8 var_4AE[2]; + /*0x04B0, 0x0558*/ u16 curChallengeBattleNum[2]; // 1-based index of battle in the current challenge. (challenges consist of 7 battles) + /*0x04B4, 0x055C*/ u16 curStreakChallengesNum[2]; // 1-based index of the current challenge in the current streak. + /*0x04B8, 0x0560*/ u16 recordWinStreaks[2]; + /*0x04BC, 0x0564*/ u8 battleTowerTrainerId; // index for gBattleTowerTrainers table + /*0x04BD, 0x0565*/ u8 selectedPartyMons[0x3]; // indices of the 3 selected player party mons. + /*0x04C0, 0x0568*/ u16 prizeItem; + /*0x04C2, 0x056A*/ u8 battledTrainerIds[6]; + /*0x04C8, 0x0570*/ u16 totalBattleTowerWins; + /*0x04CA, 0x0572*/ u16 bestBattleTowerWinStreak; + /*0x04CC, 0x0574*/ u16 currentWinStreaks[2]; + /*0x04D0, 0x0578*/ u8 lastStreakLevelType; // 0 = level 50, 1 = level 100. level type of the last streak. Used by tv to report the level mode. + /*0x04D1, 0x0579*/ u8 filler_4D1[0x317]; +}; + +struct SaveBlock2 /* 0x02024EA4 */ +{ + /*0x00*/ u8 playerName[8]; + /*0x08*/ u8 playerGender; // MALE, FEMALE + /*0x09*/ u8 specialSaveWarp; + /*0x0A*/ u8 playerTrainerId[4]; + /*0x0E*/ u16 playTimeHours; + /*0x10*/ u8 playTimeMinutes; + /*0x11*/ u8 playTimeSeconds; + /*0x12*/ u8 playTimeVBlanks; + /*0x13*/ u8 optionsButtonMode; // OPTIONS_BUTTON_MODE_[NORMAL/LR/L_EQUALS_A] + /*0x14*/ u16 optionsTextSpeed:3; // OPTIONS_TEXT_SPEED_[SLOW/MID/FAST] + u16 optionsWindowFrameType:5; // Specifies one of the 20 decorative borders for text boxes + u16 optionsSound:1; // OPTIONS_SOUND_[MONO/STEREO] + u16 optionsBattleStyle:1; // OPTIONS_BATTLE_STYLE_[SHIFT/SET] + u16 optionsBattleSceneOff:1; // whether battle animations are disabled + u16 regionMapZoom:1; // whether the map is zoomed in + /*0x18*/ struct Pokedex pokedex; + /*0x90*/ u8 filler_90[0x8]; + /*0x98*/ struct Time localTimeOffset; + /*0xA0*/ struct Time lastBerryTreeUpdate; + /*0xA8*/ struct BattleTowerData battleTower; +}; + +struct MapPosition +{ + s16 x; + s16 y; + s8 height; +}; + +struct UnkStruct_8054FF8 +{ + u8 a; + u8 b; + u8 c; + u8 d; + struct MapPosition sub; + u16 field_C; +}; + +// wasnt defined so I had to define it +struct HallOfFame +{ + u8 filler[0x1F00]; +}; + +extern struct SaveBlock2 gSaveBlock2; + +#define RomHeaderGameTitle ((const char *)0x080000A0) +#define RomHeaderGameCode ((const char *)0x080000AC) +#define RomHeaderMakerCode ((const char *)0x080000B0) +#define RomHeaderMagic ((const u8 *) 0x080000B2) +#define RomHeaderSoftwareVersion ((const u8 *) 0x080000BC) + +#define LocalTimeOffset ((struct Time *)0x02028098) +#define LastBerryTreeUpdate ((struct Time *)0x020280A0) + +#endif //GUARD_GLOBAL_H diff --git a/berry_fix/payload/include/main.h b/berry_fix/payload/include/main.h new file mode 100644 index 000000000..8f7ef1a5a --- /dev/null +++ b/berry_fix/payload/include/main.h @@ -0,0 +1,45 @@ +#ifndef GUARD_MAIN_H +#define GUARD_MAIN_H + +#include + +enum RomHeaderValidationResult +{ + SAPPHIRE_UPDATABLE = 2, + RUBY_UPDATABLE, + SAPPHIRE_NONEED, + RUBY_NONEED, + INVALID +}; + +enum MainCallbackState +{ + MAINCB_INIT = 0, + MAINCB_CHECK_RTC, + MAINCB_CHECK_FLASH, + MAINCB_READ_SAVE, + MAINCB_CHECK_TIME, + MAINCB_FIX_DATE, + MAINCB_NO_NEED_TO_FIX, + MAINCB_YEAR_MAKES_NO_SENSE, + MAINCB_FINISHED, + MAINCB_CHECK_PACIFIDLOG_TM, + MAINCB_FIX_PACIFIDLOG_TM, + MAINCB_ERROR +}; + +extern IntrFunc gIntrTable[]; +extern u16 gHeldKeys; +extern u16 gNewKeys; +extern u8 gIntrVector[]; +extern u32 gUpdateSuccessful; +extern u32 gUnknown_3001194; +extern u32 gUnknown_30011A0[]; +extern u32 gMainCallbackState; +extern u32 gGameVersion; + +extern u8 gSharedMem[0x8000]; + +extern const IntrFunc gIntrFuncPointers[]; + +#endif //GUARD_MAIN_H diff --git a/berry_fix/payload/include/pokemon.h b/berry_fix/payload/include/pokemon.h new file mode 100644 index 000000000..d3a14ffff --- /dev/null +++ b/berry_fix/payload/include/pokemon.h @@ -0,0 +1,154 @@ +#ifndef GUARD_POKEMON_H +#define GUARD_POKEMON_H + +struct PokemonSubstruct0 +{ + u16 species; + u16 heldItem; + u32 experience; + u8 ppBonuses; + u8 friendship; +}; + +struct PokemonSubstruct1 +{ + u16 moves[4]; + u8 pp[4]; +}; + +struct PokemonSubstruct2 +{ + u8 hpEV; + u8 attackEV; + u8 defenseEV; + u8 speedEV; + u8 spAttackEV; + u8 spDefenseEV; + u8 cool; + u8 beauty; + u8 cute; + u8 smart; + u8 tough; + u8 sheen; +}; + +struct PokemonSubstruct3 +{ + /*0x00*/ u8 pokerus; + /*0x01*/ u8 metLocation; + + /*0x02*/ u16 metLevel:7; + /*0x02*/ u16 metGame:4; + /*0x03*/ u16 pokeball:4; + /*0x03*/ u16 otGender:1; + + /*0x04*/ u32 hpIV:5; + /*0x04*/ u32 attackIV:5; + /*0x05*/ u32 defenseIV:5; + /*0x05*/ u32 speedIV:5; + /*0x05*/ u32 spAttackIV:5; + /*0x06*/ u32 spDefenseIV:5; + /*0x07*/ u32 isEgg:1; + /*0x07*/ u32 altAbility:1; + + /*0x08*/ u32 coolRibbon:3; + /*0x08*/ u32 beautyRibbon:3; + /*0x08*/ u32 cuteRibbon:3; + /*0x09*/ u32 smartRibbon:3; + /*0x09*/ u32 toughRibbon:3; + /*0x09*/ u32 championRibbon:1; + /*0x0A*/ u32 winningRibbon:1; + /*0x0A*/ u32 victoryRibbon:1; + /*0x0A*/ u32 artistRibbon:1; + /*0x0A*/ u32 effortRibbon:1; + /*0x0A*/ u32 giftRibbon1:1; + /*0x0A*/ u32 giftRibbon2:1; + /*0x0A*/ u32 giftRibbon3:1; + /*0x0A*/ u32 giftRibbon4:1; + /*0x0B*/ u32 giftRibbon5:1; + /*0x0B*/ u32 giftRibbon6:1; + /*0x0B*/ u32 giftRibbon7:1; + /*0x0B*/ u32 fatefulEncounter:5; // unused in Ruby/Sapphire, but the high bit must be set for Mew/Deoxys to obey in FR/LG/Emerald +}; + +union PokemonSubstruct +{ + struct PokemonSubstruct0 type0; + struct PokemonSubstruct1 type1; + struct PokemonSubstruct2 type2; + struct PokemonSubstruct3 type3; + u16 raw[6]; +}; + +struct BoxPokemon +{ + /*0x00*/ u32 personality; + /*0x04*/ u32 otId; + /*0x08*/ u8 nickname[POKEMON_NAME_LENGTH]; + /*0x12*/ u8 language; + /*0x13*/ u8 isBadEgg:1; + u8 hasSpecies:1; + u8 isEgg:1; + /*0x14*/ u8 otName[OT_NAME_LENGTH]; + /*0x1B*/ u8 markings; + /*0x1C*/ u16 checksum; + /*0x1E*/ u16 unknown; + + union + { + u32 raw[12]; + union PokemonSubstruct substructs[4]; + } secure; +}; /*size = 0x50*/ + +struct Pokemon +{ + /*0x00*/ struct BoxPokemon box; + /*0x50*/ u32 status; + /*0x54*/ u8 level; + /*0x55*/ u8 mail; + /*0x56*/ u16 hp; + /*0x58*/ u16 maxHP; + /*0x5A*/ u16 attack; + /*0x5C*/ u16 defense; + /*0x5E*/ u16 speed; + /*0x60*/ u16 spAttack; + /*0x62*/ u16 spDefense; +}; + +struct BattleTowerPokemon +{ + /*0x00*/u16 species; + /*0x02*/u16 heldItem; + /*0x04*/u16 moves[4]; + /*0x0C*/u8 level; + /*0x0D*/u8 ppBonuses; + /*0x0E*/u8 hpEV; + /*0x0F*/u8 attackEV; + /*0x10*/u8 defenseEV; + /*0x11*/u8 speedEV; + /*0x12*/u8 spAttackEV; + /*0x13*/u8 spDefenseEV; + /*0x14*/u32 otId; + /*0x18*/u32 hpIV:5; + /*0x18*/u32 attackIV:5; + /*0x19*/u32 defenseIV:5; + /*0x19*/u32 speedIV:5; + /*0x1A*/u32 spAttackIV:5; + /*0x1A*/u32 spDefenseIV:5; + /*0x1B*/u32 gap:1; + /*0x1B*/u32 altAbility:1; + /*0x1C*/u32 personality; + /*0x20*/u8 nickname[POKEMON_NAME_LENGTH + 1]; + /*0x2B*/u8 friendship; +}; + +struct PokemonStorage +{ + /*0x0000*/ u8 currentBox; + /*0x0004*/ struct BoxPokemon boxes[14][30]; + /*0x8344*/ u8 boxNames[14][9]; + /*0x83c2*/ u8 wallpaper[14]; +}; + +#endif // GUARD_POKEMON_H diff --git a/berry_fix/payload/include/rtc.h b/berry_fix/payload/include/rtc.h new file mode 100644 index 000000000..64a1f2295 --- /dev/null +++ b/berry_fix/payload/include/rtc.h @@ -0,0 +1,15 @@ +#ifndef GUARD_RTC_H +#define GUARD_RTC_H + +#include +#include +#include "global.h" + +extern struct Time gTimeSinceBerryUpdate; +extern struct Time gRtcUTCTime; + +bool32 rtc_maincb_is_rtc_working(void); +bool32 rtc_maincb_is_time_since_last_berry_update_positive(u8 *); +void rtc_maincb_fix_date(void); + +#endif //GUARD_RTC_H diff --git a/berry_fix/payload/ld_script.sed b/berry_fix/payload/ld_script.sed new file mode 100644 index 000000000..b91542b6f --- /dev/null +++ b/berry_fix/payload/ld_script.sed @@ -0,0 +1,14 @@ +// { + r sym_ewram.ld + d +} + +// { + r sym_bss.ld + d +} + +// { + r sym_common.ld + d +} diff --git a/berry_fix/payload/ld_script.txt b/berry_fix/payload/ld_script.txt new file mode 100644 index 000000000..a70ecac09 --- /dev/null +++ b/berry_fix/payload/ld_script.txt @@ -0,0 +1,122 @@ +ENTRY(Init) + +SECTIONS { + . = 0x2010000; + + .text : + ALIGN(4) + { + asm/crt0.o(.text); + src/main.o(.text); + src/rtc.o(.text); + src/flash.o(.text); + } =0 + + lib_text : + ALIGN(4) + { + *libagb_flash.a:agb_flash.o(.text); + *libagb_flash.a:agb_flash_1m.o(.text); + *libagb_flash.a:agb_flash_mx.o(.text); + *libagbsyscall.a:ArcTan2.o(.text); + *libagbsyscall.a:BgAffineSet.o(.text); + *libagbsyscall.a:CpuFastSet.o(.text); + *libagbsyscall.a:CpuSet.o(.text); + *libagbsyscall.a:Div.o(.text); + *libagbsyscall.a:Mod.o(.text); + *libagbsyscall.a:LZ77UnCompVram.o(.text); + *libagbsyscall.a:LZ77UnCompWram.o(.text); + *libagbsyscall.a:MultiBoot.o(.text); + *libagbsyscall.a:ObjAffineSet.o(.text); + *libagbsyscall.a:RLUnCompVram.o(.text); + *libagbsyscall.a:RLUnCompWram.o(.text); + *libagbsyscall.a:RegisterRamReset.o(.text); + *libagbsyscall.a:SoftReset.o(.text); + *libagbsyscall.a:Sqrt.o(.text); + *libagbsyscall.a:VBlankIntrWait.o(.text); + *libsiirtc.a:siirtc.o(.text); + *libgcc.a:_call_via_rX.o(.text); + *libgcc.a:_modsi3.o(.text); + *libgcc.a:_umodsi3.o(.text); + *libgcc.a:_dvmd_tls.o(.text); + } =0 + + .rodata : + ALIGN(4) + { + src/main.o(.rodata); + src/rtc.o(.rodata); + src/flash.o(.rodata); + } =0 + + lib_rodata : + ALIGN(4) + { + *libagb_flash.a:agb_flash.o(.rodata); + *libagb_flash.a:agb_flash_1m.o(.rodata); + *libagb_flash.a:agb_flash_mx.o(.rodata); + *libagb_flash.a:agb_flash_le.o(.rodata); + *libsiirtc.a:siirtc.o(.rodata); + } + + . = 0x2020000; + + ewram (NOLOAD) : + ALIGN(4) + { + + } + + . = 0x3001000; + + iwram (NOLOAD) : + ALIGN(4) + { + + . = 0x40; + + end = .; + } + + . = 0x8000000; + + RS_Rom (NOLOAD) : + ALIGN(4) + { + _start = .; + . += 4; + RomHeaderNintendoLogo = .; + . += 156; + RS_RomHeader = .; + RomHeaderGameTitle = .; + . += 12; + RomHeaderGameCode = .; + . += 4; + RomHeaderMakerCode = .; + . += 2; + RomHeaderMagic = .; + . += 1; + RomHeaderMainUnitCode = .; + . += 1; + RomHeaderDeviceType = .; + . += 1; + RomHeaderReserved1 = .; + . += 7; + RomHeaderSoftwareVersion = .; + . += 1; + RomHeaderChecksum = .; + . += 1; + RomHeaderReserved2 = .; + . += 6; + GPIOPortData = .; + . += 2; + GPIOPortDirection = .; + . += 2; + GPIOPortReadEnable = .; + } =0 + + /DISCARD/ : + { + *(*); + } +} diff --git a/berry_fix/payload/rom.sha1 b/berry_fix/payload/rom.sha1 new file mode 100644 index 000000000..92eee7e87 --- /dev/null +++ b/berry_fix/payload/rom.sha1 @@ -0,0 +1 @@ +866991e2b5a8de02d12f53abe0ee9af03a2b6e01 payload.gba diff --git a/berry_fix/payload/src/flash.c b/berry_fix/payload/src/flash.c new file mode 100644 index 000000000..3a0369dda --- /dev/null +++ b/berry_fix/payload/src/flash.c @@ -0,0 +1,752 @@ +#include +#include +#include "constants/vars.h" +#include "global.h" +#include "main.h" +#include "flash.h" +#include "rtc.h" + +struct SaveBlockChunk +{ + u8 * data; + u16 size; +}; + +u8 WriteSaveBlockChunks(u16 a0, const struct SaveBlockChunk * a1); +u8 WriteSingleChunk(u16 a0, const struct SaveBlockChunk * a1); +u8 TryWriteSector(u8, u8 *); +u8 EraseCurrentChunk(u16 a0, const struct SaveBlockChunk * a1); +u8 TryReadAllSaveSectorsCurrentSlot(u16 a0, const struct SaveBlockChunk * a1); +u8 ReadAllSaveSectorsCurrentSlot(u16 a0, const struct SaveBlockChunk * a1); +u8 GetSaveValidStatus(const struct SaveBlockChunk * a1); +u32 DoReadFlashWholeSection(u8 a0, struct SaveSector * a1); +u16 CalculateChecksum(const void *, u16); + +u16 gFirstSaveSector; +u32 gPrevSaveCounter; +u16 gLastKnownGoodSector; +u32 gDamagedSaveSectors; +u32 gSaveCounter; +struct SaveSector * gFastSaveSection; +u16 gCurSaveChunk; +bool32 gFlashIdentIsValid; + +EWRAM_DATA struct SaveBlock2 gSaveBlock2 = {}; +EWRAM_DATA struct SaveBlock1 gSaveBlock1 = {}; +EWRAM_DATA struct PokemonStorage gPokemonStorage = {}; + +// Each 4 KiB flash sector contains 3968 bytes of actual data followed by a 128 byte footer +#define SECTOR_DATA_SIZE 3968 +#define SECTOR_FOOTER_SIZE 128 + +#define SAVEBLOCK_CHUNK(structure, chunkNum) \ +{ \ + (u8 *)&structure + chunkNum * SECTOR_DATA_SIZE, \ + min(sizeof(structure) - chunkNum * SECTOR_DATA_SIZE, SECTOR_DATA_SIZE) \ +} \ + +static const struct SaveBlockChunk sSaveBlockChunks[] = +{ + SAVEBLOCK_CHUNK(gSaveBlock2, 0), + + SAVEBLOCK_CHUNK(gSaveBlock1, 0), + SAVEBLOCK_CHUNK(gSaveBlock1, 1), + SAVEBLOCK_CHUNK(gSaveBlock1, 2), + SAVEBLOCK_CHUNK(gSaveBlock1, 3), + + SAVEBLOCK_CHUNK(gPokemonStorage, 0), + SAVEBLOCK_CHUNK(gPokemonStorage, 1), + SAVEBLOCK_CHUNK(gPokemonStorage, 2), + SAVEBLOCK_CHUNK(gPokemonStorage, 3), + SAVEBLOCK_CHUNK(gPokemonStorage, 4), + SAVEBLOCK_CHUNK(gPokemonStorage, 5), + SAVEBLOCK_CHUNK(gPokemonStorage, 6), + SAVEBLOCK_CHUNK(gPokemonStorage, 7), + SAVEBLOCK_CHUNK(gPokemonStorage, 8), +}; + +const u16 gInfoMessagesPal[] = INCBIN_U16("graphics/msg_box.gbapal"); +const u8 gInfoMessagesTilemap[] = INCBIN_U8("graphics/msg_box.tilemap.lz"); +const u8 gInfoMessagesGfx[] = INCBIN_U8("graphics/msg_box.4bpp.lz"); + +bool32 flash_maincb_ident_is_valid(void) +{ + gFlashIdentIsValid = TRUE; + if (!IdentifyFlash()) + { + SetFlashTimerIntr(0, &((IntrFunc *)gIntrFuncPointers)[9]); + return TRUE; + } + gFlashIdentIsValid = FALSE; + return FALSE; +} + +void Call_ReadFlash(u16 sectorNum, ptrdiff_t offset, void * dest, size_t size) +{ + ReadFlash(sectorNum, offset, dest, size); +} + +u8 Call_WriteSaveBlockChunks(u16 a0, const struct SaveBlockChunk * a1) +{ + return WriteSaveBlockChunks(a0, a1); +} + +u8 Call_TryReadAllSaveSectorsCurrentSlot(u16 a0, const struct SaveBlockChunk * a1) +{ + return TryReadAllSaveSectorsCurrentSlot(a0, a1); +} + +u32 * GetDamagedSaveSectorsPtr(void) +{ + return &gDamagedSaveSectors; +} + +s32 flash_write_save_block_chunks(u8 a0) +{ + u8 i; + + switch (a0) + { + case 0: + default: + Call_WriteSaveBlockChunks(0xFFFF, sSaveBlockChunks); + break; + case 1: + for (i = 0; i < 5; i++) + { + Call_WriteSaveBlockChunks(i, sSaveBlockChunks); + } + break; + case 2: + Call_WriteSaveBlockChunks(0, sSaveBlockChunks); + break; + } + + return 0; +} + +u8 flash_write_save_block_chunks_check_damage(u8 a0) +{ + flash_write_save_block_chunks(a0); + if (*GetDamagedSaveSectorsPtr() == 0) + return 1; + return 0xFF; +} + +u8 flash_maincb_read_save(u32 unused) +{ + return Call_TryReadAllSaveSectorsCurrentSlot(0xFFFF, sSaveBlockChunks); +} + +void msg_load_gfx(void) +{ + REG_DISPCNT = 0; + REG_BG0HOFS = 0; + REG_BG0VOFS = 0; + REG_BLDCNT = 0; + LZ77UnCompVram(gInfoMessagesGfx, (void *)BG_VRAM); + LZ77UnCompVram(gInfoMessagesTilemap, (void *)BG_SCREEN_ADDR(28)); + CpuCopy16(gInfoMessagesPal, (void *)BG_PLTT, 0x200); + REG_BG0CNT = BGCNT_SCREENBASE(28) | BGCNT_TXT512x512; + REG_DISPCNT = DISPCNT_BG0_ON; +} + +void msg_display(enum MsgBoxUpdateMessage a0) +{ + switch (a0) + { + case MSGBOX_WILL_NOW_UPDATE: + REG_BG0HOFS = 0; + REG_BG0VOFS = 0; + break; + case MSGBOX_HAS_BEEN_UPDATED: + REG_BG0HOFS = 0x100; + REG_BG0VOFS = 0; + break; + case MSGBOX_UNABLE_TO_UPDATE: + REG_BG0HOFS = 0x100; + REG_BG0VOFS = 0xB0; + break; + case MSGBOX_NO_NEED_TO_UPDATE: + REG_BG0HOFS = 0; + REG_BG0VOFS = 0xB0; + break; + case MSGBOX_UPDATING: + REG_BG0HOFS = 0; + REG_BG0VOFS = 0x160; + break; + } +} + +void Save_EraseAllData(void) +{ + u16 i; + for (i = 0; i < 32; i++) + EraseFlashSector(i); +} + +void Save_ResetSaveCounters(void) +{ + gSaveCounter = 0; + gFirstSaveSector = 0; + gDamagedSaveSectors = 0; +} + +bool32 SetSectorDamagedStatus(u8 op, u8 sectorNum) +{ + bool32 retVal = FALSE; + + switch (op) + { + case SECTOR_DAMAGED: + gDamagedSaveSectors |= (1 << sectorNum); + break; + case SECTOR_OK: + gDamagedSaveSectors &= ~(1 << sectorNum); + break; + case SECTOR_CHECK: // unused + if (gDamagedSaveSectors & (1 << sectorNum)) + retVal = TRUE; + break; + } + + return retVal; +} + +u8 WriteSaveBlockChunks(u16 chunkId, const struct SaveBlockChunk *chunks) +{ + u32 retVal; + u16 i; + + gFastSaveSection = eSaveSection; + + if (chunkId != 0xFFFF) // write single chunk + { + retVal = WriteSingleChunk(chunkId, chunks); + } + else // write all chunks + { + gLastKnownGoodSector = gFirstSaveSector; + gPrevSaveCounter = gSaveCounter; + gFirstSaveSector++; + gFirstSaveSector %= NUM_SECTORS_PER_SAVE_SLOT; + gSaveCounter++; + retVal = SAVE_STATUS_OK; + + for (i = 0; i < NUM_SECTORS_PER_SAVE_SLOT; i++) + WriteSingleChunk(i, chunks); + + // Check for any bad sectors + if (gDamagedSaveSectors != 0) // skip the damaged sector. + { + retVal = SAVE_STATUS_ERROR; + gFirstSaveSector = gLastKnownGoodSector; + gSaveCounter = gPrevSaveCounter; + } + } + + return retVal; +} + +u8 WriteSingleChunk(u16 chunkId, const struct SaveBlockChunk * chunks) +{ + u16 i; + u16 sectorNum; + u8 *chunkData; + u16 chunkSize; + + // select sector number + sectorNum = chunkId + gFirstSaveSector; + sectorNum %= NUM_SECTORS_PER_SAVE_SLOT; + // select save slot + sectorNum += NUM_SECTORS_PER_SAVE_SLOT * (gSaveCounter % 2); + + chunkData = chunks[chunkId].data; + chunkSize = chunks[chunkId].size; + + // clear save section. + for (i = 0; i < sizeof(struct SaveSector); i++) + ((u8 *)gFastSaveSection)[i] = 0; + + gFastSaveSection->id = chunkId; + gFastSaveSection->signature = FILE_SIGNATURE; + gFastSaveSection->counter = gSaveCounter; + for (i = 0; i < chunkSize; i++) + gFastSaveSection->data[i] = chunkData[i]; + gFastSaveSection->checksum = CalculateChecksum(chunkData, chunkSize); + + return TryWriteSector(sectorNum, gFastSaveSection->data); +} + +u8 HandleWriteSectorNBytes(u8 sectorNum, u8 *data, u16 size) +{ + u16 i; + struct SaveSector *section = eSaveSection; + + for (i = 0; i < sizeof(struct SaveSector); i++) + ((char *)section)[i] = 0; + + section->signature = FILE_SIGNATURE; + for (i = 0; i < size; i++) + section->data[i] = data[i]; + section->id = CalculateChecksum(data, size); // though this appears to be incorrect, it might be some sector checksum instead of a whole save checksum and only appears to be relevent to HOF data, if used. + + return TryWriteSector(sectorNum, section->data); +} + +u8 TryWriteSector(u8 sectorNum, u8 *data) +{ + if (ProgramFlashSectorAndVerify(sectorNum, data) != 0) // is damaged? + { + SetSectorDamagedStatus(SECTOR_DAMAGED, sectorNum); // set damaged sector bits. + return SAVE_STATUS_ERROR; + } + else + { + SetSectorDamagedStatus(SECTOR_OK, sectorNum); // unset damaged sector bits. it's safe now. + return SAVE_STATUS_OK; + } +} + +u32 RestoreSaveBackupVarsAndIncrement(const struct SaveBlockChunk *chunk) // chunk is unused +{ + gFastSaveSection = eSaveSection; + gLastKnownGoodSector = gFirstSaveSector; + gPrevSaveCounter = gSaveCounter; + gFirstSaveSector++; + gFirstSaveSector %= NUM_SECTORS_PER_SAVE_SLOT; + gSaveCounter++; + gCurSaveChunk = 0; + gDamagedSaveSectors = 0; + return 0; +} + +u32 RestoreSaveBackupVars(const struct SaveBlockChunk *chunk) +{ + gFastSaveSection = eSaveSection; + gLastKnownGoodSector = gFirstSaveSector; + gPrevSaveCounter = gSaveCounter; + gCurSaveChunk = 0; + gDamagedSaveSectors = 0; + return 0; +} + +u8 WriteSingleChunkAndIncrement(u16 a1, const struct SaveBlockChunk * chunk) +{ + u8 retVal; + + if (gCurSaveChunk < a1 - 1) + { + retVal = SAVE_STATUS_OK; + WriteSingleChunk(gCurSaveChunk, chunk); + gCurSaveChunk++; + if (gDamagedSaveSectors) + { + retVal = SAVE_STATUS_ERROR; + gFirstSaveSector = gLastKnownGoodSector; + gSaveCounter = gPrevSaveCounter; + } + } + else + { + retVal = SAVE_STATUS_ERROR; + } + + return retVal; +} + +u8 ErasePreviousChunk(u16 a1, const struct SaveBlockChunk *chunk) +{ + u8 retVal = SAVE_STATUS_OK; + + EraseCurrentChunk(a1 - 1, chunk); + + if (gDamagedSaveSectors) + { + retVal = SAVE_STATUS_ERROR; + gFirstSaveSector = gLastKnownGoodSector; + gSaveCounter = gPrevSaveCounter; + } + return retVal; +} + +u8 EraseCurrentChunk(u16 chunkId, const struct SaveBlockChunk *chunks) +{ + u16 i; + u16 sector; + u8 *data; + u16 size; + u8 status; + + // select sector number + sector = chunkId + gFirstSaveSector; + sector %= NUM_SECTORS_PER_SAVE_SLOT; + // select save slot + sector += NUM_SECTORS_PER_SAVE_SLOT * (gSaveCounter % 2); + + data = chunks[chunkId].data; + size = chunks[chunkId].size; + + // clear temp save section. + for (i = 0; i < sizeof(struct SaveSector); i++) + ((char *)gFastSaveSection)[i] = 0; + + gFastSaveSection->id = chunkId; + gFastSaveSection->signature = FILE_SIGNATURE; + gFastSaveSection->counter = gSaveCounter; + + // set temp section's data. + for (i = 0; i < size; i++) + gFastSaveSection->data[i] = data[i]; + + // calculate checksum. + gFastSaveSection->checksum = CalculateChecksum(data, size); + + EraseFlashSector(sector); + + status = SAVE_STATUS_OK; + + for (i = 0; i < sizeof(struct UnkSaveSection); i++) + { + if (ProgramFlashByte(sector, i, gFastSaveSection->data[i])) + { + status = SAVE_STATUS_ERROR; + break; + } + } + + if (status == SAVE_STATUS_ERROR) + { + SetSectorDamagedStatus(SECTOR_DAMAGED, sector); + return SAVE_STATUS_ERROR; + } + else + { + status = SAVE_STATUS_OK; + + for (i = 0; i < 7; i++) + { + if (ProgramFlashByte(sector, 0xFF9 + i, ((u8 *)gFastSaveSection)[0xFF9 + i])) + { + status = SAVE_STATUS_ERROR; + break; + } + } + + if (status == SAVE_STATUS_ERROR) + { + SetSectorDamagedStatus(SECTOR_DAMAGED, sector); + return SAVE_STATUS_ERROR; + } + else + { + SetSectorDamagedStatus(SECTOR_OK, sector); + return SAVE_STATUS_OK; + } + } +} + +u8 WriteSomeFlashByteToPrevSector(u16 a1, const struct SaveBlockChunk *chunk) +{ + u16 sector; + + // select sector number + sector = a1 + gFirstSaveSector - 1; + sector %= NUM_SECTORS_PER_SAVE_SLOT; + // select save slot + sector += NUM_SECTORS_PER_SAVE_SLOT * (gSaveCounter % 2); + + if (ProgramFlashByte(sector, sizeof(struct UnkSaveSection), ((u8 *)gFastSaveSection)[sizeof(struct UnkSaveSection)])) + { + // sector is damaged, so enable the bit in gDamagedSaveSectors and restore the last written sector and save counter. + SetSectorDamagedStatus(SECTOR_DAMAGED, sector); + gFirstSaveSector = gLastKnownGoodSector; + gSaveCounter = gPrevSaveCounter; + return SAVE_STATUS_ERROR; + } + else + { + SetSectorDamagedStatus(SECTOR_OK, sector); + return SAVE_STATUS_OK; + } +} + +u8 WriteSomeFlashByte0x25ToPrevSector(u16 a1, const struct SaveBlockChunk *chunk) +{ + u16 sector; + + sector = a1 + gFirstSaveSector - 1; + sector %= NUM_SECTORS_PER_SAVE_SLOT; + sector += NUM_SECTORS_PER_SAVE_SLOT * (gSaveCounter % 2); + + if (ProgramFlashByte(sector, sizeof(struct UnkSaveSection), 0x25)) + { + // sector is damaged, so enable the bit in gDamagedSaveSectors and restore the last written sector and save counter. + SetSectorDamagedStatus(SECTOR_DAMAGED, sector); + gFirstSaveSector = gLastKnownGoodSector; + gSaveCounter = gPrevSaveCounter; + return SAVE_STATUS_ERROR; + } + else + { + SetSectorDamagedStatus(SECTOR_OK, sector); + return SAVE_STATUS_OK; + } +} + +u8 TryReadAllSaveSectorsCurrentSlot(u16 a1, const struct SaveBlockChunk *chunk) +{ + u8 retVal; + gFastSaveSection = eSaveSection; + if (a1 != 0xFFFF) + { + retVal = SAVE_STATUS_ERROR; + } + else + { + retVal = GetSaveValidStatus(chunk); + ReadAllSaveSectorsCurrentSlot(0xFFFF, chunk); + } + + return retVal; +} + +u8 ReadAllSaveSectorsCurrentSlot(u16 a1, const struct SaveBlockChunk *chunks) +{ + u16 i; + u16 checksum; + u16 sector = NUM_SECTORS_PER_SAVE_SLOT * (gSaveCounter % 2); + u16 id; + + for (i = 0; i < NUM_SECTORS_PER_SAVE_SLOT; i++) + { + DoReadFlashWholeSection(i + sector, gFastSaveSection); + id = gFastSaveSection->id; + if (id == 0) + gFirstSaveSector = i; + checksum = CalculateChecksum(gFastSaveSection->data, chunks[id].size); + if (gFastSaveSection->signature == FILE_SIGNATURE + && gFastSaveSection->checksum == checksum) + { + u16 j; + for (j = 0; j < chunks[id].size; j++) + chunks[id].data[j] = gFastSaveSection->data[j]; + } + } + + return 1; +} + +u8 GetSaveValidStatus(const struct SaveBlockChunk *chunks) +{ + u16 sector; + bool8 signatureValid; + u16 checksum; + u32 slot1saveCounter = 0; + u32 slot2saveCounter = 0; + u8 slot1Status; + u8 slot2Status; + u32 validSectors; + const u32 ALL_SECTORS = (1 << NUM_SECTORS_PER_SAVE_SLOT) - 1; // bitmask of all saveblock sectors + + // check save slot 1. + validSectors = 0; + signatureValid = FALSE; + for (sector = 0; sector < NUM_SECTORS_PER_SAVE_SLOT; sector++) + { + DoReadFlashWholeSection(sector, gFastSaveSection); + if (gFastSaveSection->signature == FILE_SIGNATURE) + { + signatureValid = TRUE; + checksum = CalculateChecksum(gFastSaveSection->data, chunks[gFastSaveSection->id].size); + if (gFastSaveSection->checksum == checksum) + { + slot1saveCounter = gFastSaveSection->counter; + validSectors |= 1 << gFastSaveSection->id; + } + } + } + + if (signatureValid) + { + if (validSectors == ALL_SECTORS) + slot1Status = SAVE_STATUS_OK; + else + slot1Status = SAVE_STATUS_ERROR; + } + else + { + slot1Status = SAVE_STATUS_EMPTY; + } + + // check save slot 2. + validSectors = 0; + signatureValid = FALSE; + for (sector = 0; sector < NUM_SECTORS_PER_SAVE_SLOT; sector++) + { + DoReadFlashWholeSection(NUM_SECTORS_PER_SAVE_SLOT + sector, gFastSaveSection); + if (gFastSaveSection->signature == FILE_SIGNATURE) + { + signatureValid = TRUE; + checksum = CalculateChecksum(gFastSaveSection->data, chunks[gFastSaveSection->id].size); + if (gFastSaveSection->checksum == checksum) + { + slot2saveCounter = gFastSaveSection->counter; + validSectors |= 1 << gFastSaveSection->id; + } + } + } + + if (signatureValid) + { + if (validSectors == ALL_SECTORS) + slot2Status = SAVE_STATUS_OK; + else + slot2Status = SAVE_STATUS_ERROR; + } + else + { + slot2Status = SAVE_STATUS_EMPTY; + } + + if (slot1Status == SAVE_STATUS_OK && slot2Status == SAVE_STATUS_OK) + { + // Choose counter of the most recent save file + if ((slot1saveCounter == -1 && slot2saveCounter == 0) || (slot1saveCounter == 0 && slot2saveCounter == -1)) + { + if ((unsigned)(slot1saveCounter + 1) < (unsigned)(slot2saveCounter + 1)) + gSaveCounter = slot2saveCounter; + else + gSaveCounter = slot1saveCounter; + } + else + { + if (slot1saveCounter < slot2saveCounter) + gSaveCounter = slot2saveCounter; + else + gSaveCounter = slot1saveCounter; + } + return SAVE_STATUS_OK; + } + + if (slot1Status == SAVE_STATUS_OK) + { + gSaveCounter = slot1saveCounter; + if (slot2Status == SAVE_STATUS_ERROR) + return SAVE_STATUS_ERROR; + else + return SAVE_STATUS_OK; + } + + if (slot2Status == SAVE_STATUS_OK) + { + gSaveCounter = slot2saveCounter; + if (slot1Status == SAVE_STATUS_ERROR) + return SAVE_STATUS_ERROR; + else + return SAVE_STATUS_OK; + } + + if (slot1Status == SAVE_STATUS_EMPTY && slot2Status == SAVE_STATUS_EMPTY) + { + gSaveCounter = 0; + gFirstSaveSector = 0; + return SAVE_STATUS_EMPTY; + } + + gSaveCounter = 0; + gFirstSaveSector = 0; + return 2; +} + +u8 ReadSomeUnknownSectorAndVerify(u8 sector, u8 *data, u16 size) +{ + u16 i; + struct SaveSector *section = eSaveSection; + + DoReadFlashWholeSection(sector, section); + if (section->signature == FILE_SIGNATURE) + { + u16 checksum = CalculateChecksum(section->data, size); + if (section->id == checksum) + { + for (i = 0; i < size; i++) + data[i] = section->data[i]; + return SAVE_STATUS_OK; + } + else + { + return 2; + } + } + else + { + return SAVE_STATUS_EMPTY; + } +} + +u32 DoReadFlashWholeSection(u8 sector, struct SaveSector *section) +{ + ReadFlash(sector, 0, section->data, sizeof(struct SaveSector)); + return 1; +} + +u16 CalculateChecksum(const void *data, u16 size) +{ + u16 i; + u32 checksum = 0; + + for (i = 0; i < (size / 4); i++) + { + checksum += *((u32 *)data); + data += sizeof(u32); + } + + return ((checksum >> 16) + checksum); +} + +void nullsub_0201182C() +{ +} + +void nullsub_02011830() +{ +} + +void nullsub_02011834() +{ +} + +u16 * get_var_addr(u16 a0) +{ + if (a0 < VARS_START) + return NULL; + if (a0 < VAR_SPECIAL_0) + return &gSaveBlock1.vars[a0 - VARS_START]; + return NULL; +} + +bool32 flash_maincb_check_need_reset_pacifidlog_tm(void) +{ + u8 sp0; + u16 * data = get_var_addr(VAR_PACIFIDLOG_TM_RECEIVED_DAY); + rtc_maincb_is_time_since_last_berry_update_positive(&sp0); + if (*data <= gRtcUTCTime.days) + return TRUE; + else + return FALSE; +} + +bool32 flash_maincb_reset_pacifidlog_tm(void) +{ + u8 sp0; + if (flash_maincb_check_need_reset_pacifidlog_tm() == TRUE) + return TRUE; + rtc_maincb_is_time_since_last_berry_update_positive(&sp0); + if (gRtcUTCTime.days < 0) + return FALSE; + *get_var_addr(VAR_PACIFIDLOG_TM_RECEIVED_DAY) = 1; + if (flash_write_save_block_chunks_check_damage(0) != TRUE) + return FALSE; + return TRUE; +} diff --git a/berry_fix/payload/src/main.c b/berry_fix/payload/src/main.c new file mode 100644 index 000000000..249150665 --- /dev/null +++ b/berry_fix/payload/src/main.c @@ -0,0 +1,289 @@ +#include +#include "global.h" +#include "main.h" +#include "rtc.h" +#include "flash.h" + +static s32 gInitialWaitTimer; +IntrFunc gIntrTable[16]; +u16 gHeldKeys; +u16 gNewKeys; +u8 gIntrVector[0x100]; +u32 gUpdateSuccessful; +u32 gUnknown_3001194; +u32 gUnknown_30011A0[0x19]; +u32 gMainCallbackState; +u32 gGameVersion; + +EWRAM_DATA u8 gSharedMem[0x8000] = {}; + +void IntrMain(void); +void ReadKeys(void); +void dummy_intr_0(void); +void dummy_intr_1(void); +void main_callback(u32 *, void *, void *); + + +const char gBerryFixGameCode[] = "AGBJ"; +const IntrFunc gIntrFuncPointers[] = { + dummy_intr_0, + dummy_intr_1, + dummy_intr_0, + dummy_intr_0, + dummy_intr_0, + dummy_intr_0, + dummy_intr_0, + dummy_intr_0, + dummy_intr_0, + dummy_intr_0, + NULL, + NULL, + NULL +}; +const char gVersionData[][2] = { + {'J', 1}, + {'E', 2}, + {'D', 1}, + {'F', 1}, + {'I', 1}, + {'S', 1} +}; +const char gRubyTitleAndCode[] = "POKEMON RUBYAXV"; +const char gSapphireTitleAndCode[] = "POKEMON SAPPAXP"; +const u16 sDebugPals[20] = { + RGB(00, 00, 00), + RGB(31, 00, 00), + RGB(00, 31, 00), + RGB(00, 00, 31) +}; +const u16 sDebugDigitsGfx[] = INCBIN_U16("graphics/debug_digits.4bpp"); + +void AgbMain(void) +{ + RegisterRamReset(0x1E); + DmaCopy32(3, gIntrFuncPointers, gIntrTable, sizeof gIntrFuncPointers); + DmaCopy32(3, IntrMain, gIntrVector, sizeof(gIntrVector)); + INTR_VECTOR = gIntrVector; + REG_IE = INTR_FLAG_VBLANK; + if (*RomHeaderMagic == 0x96 && *(u32 *)RomHeaderGameCode == *(u32 *)gBerryFixGameCode) + REG_IE |= INTR_FLAG_GAMEPAK; + REG_DISPSTAT = DISPSTAT_VBLANK_INTR; + REG_IME = INTR_FLAG_VBLANK; + msg_load_gfx(); + gMainCallbackState = MAINCB_INIT; + gUnknown_3001194 = 0; + for (;;) + { + VBlankIntrWait(); + ReadKeys(); + main_callback(&gMainCallbackState, gUnknown_30011A0, gSharedMem); + } +} + +void dummy_intr_1(void) +{} + +void dummy_intr_0(void) +{} + +void ReadKeys(void) +{ + u16 keyInput = REG_KEYINPUT ^ KEYS_MASK; + gNewKeys = keyInput & ~gHeldKeys; + gHeldKeys = keyInput; +} + +void fill_palette(const u8 * src, u16 * dest, u8 value) +{ + s32 i; + for (i = 0; src[i] != 0; i++) + dest[i] = src[i] | value << 12; +} + +bool32 berry_fix_memcmp(const char * src1, const char * src2, size_t size) +{ + s32 i; + for (i = 0; i < size; i++) + { + if (src1[i] != src2[i]) + return FALSE; + } + return TRUE; +} + +s32 validate_rom_header_internal(void) +{ + char languageCode = *(RomHeaderGameCode + 3); + s32 softwareVersion = *RomHeaderSoftwareVersion; + s32 shouldUpdate = -1; + s32 i; + for (i = 0; i < ARRAY_COUNT(gVersionData); i++) + { + if (languageCode == gVersionData[i][0]) + { + if (softwareVersion >= gVersionData[i][1]) + { + shouldUpdate = 0; + } + else + { + shouldUpdate = 1; + } + break; + } + } + if (shouldUpdate != -1) + { + if (berry_fix_memcmp(RomHeaderGameTitle, gRubyTitleAndCode, 15) == TRUE) + { + if (shouldUpdate == 0) + return RUBY_NONEED; + else + { + gGameVersion = VERSION_RUBY; + return RUBY_UPDATABLE; + } + } + else if (berry_fix_memcmp(RomHeaderGameTitle, gSapphireTitleAndCode, 15) == TRUE) + { + if (shouldUpdate == 0) + return SAPPHIRE_NONEED; + else + { + gGameVersion = VERSION_SAPPHIRE; + return SAPPHIRE_UPDATABLE; + } + } + } + return INVALID; +} + +s32 validate_rom_header(void) +{ + if (*RomHeaderMakerCode == '0' && *(RomHeaderMakerCode + 1) == '1' && *RomHeaderMagic == 0x96) + return validate_rom_header_internal(); + else + return INVALID; +} + +void main_callback(u32 * state, void * unused1, void * unused2) +{ + u8 year; + switch (*state) + { + case MAINCB_INIT: + msg_display(MSGBOX_WILL_NOW_UPDATE); + if (++gInitialWaitTimer >= 180) + { + gInitialWaitTimer = 0; + gUpdateSuccessful = 0; + switch (validate_rom_header()) + { + case SAPPHIRE_UPDATABLE: + case RUBY_UPDATABLE: // Should Update Ruby + ++(*state); // MAINCB_CHECK_RTC + break; + case INVALID: // Invalid header + *state = MAINCB_ERROR; + break; + case SAPPHIRE_NONEED: // Should not update Sapphire + case RUBY_NONEED: // Should not update Ruby + *state = MAINCB_NO_NEED_TO_FIX; + break; + } + } + break; + case MAINCB_CHECK_RTC: + if (!rtc_maincb_is_rtc_working()) + *state = MAINCB_ERROR; + else + ++(*state); // MAINCB_CHECK_FLASH + break; + case MAINCB_CHECK_FLASH: + if (flash_maincb_ident_is_valid() == TRUE) + ++(*state); // MAINCB_READ_SAVE + else + *state = MAINCB_ERROR; + break; + case MAINCB_READ_SAVE: + if (flash_maincb_read_save(0) == SAVE_STATUS_OK) + ++(*state); // MAINCB_CHECK_TIME + else + *state = MAINCB_ERROR; + break; + case MAINCB_CHECK_TIME: + if (rtc_maincb_is_time_since_last_berry_update_positive(&year) == TRUE) + { + if (year == 0) + ++(*state); // MAINCB_FIX_DATE + else + *state = MAINCB_CHECK_PACIFIDLOG_TM; + } + else + { + if (year != 1) + *state = MAINCB_YEAR_MAKES_NO_SENSE; + else + ++(*state); // MAINCB_FIX_DATE + } + break; + case MAINCB_FIX_DATE: + rtc_maincb_fix_date(); + gUpdateSuccessful |= 1; + *state = MAINCB_CHECK_PACIFIDLOG_TM; + break; + case MAINCB_CHECK_PACIFIDLOG_TM: + if (flash_maincb_check_need_reset_pacifidlog_tm() == TRUE) + *state = MAINCB_FINISHED; + else + *state = MAINCB_FIX_PACIFIDLOG_TM; + break; + case MAINCB_FIX_PACIFIDLOG_TM: + msg_display(MSGBOX_UPDATING); + if (flash_maincb_reset_pacifidlog_tm() == TRUE) + { + gUpdateSuccessful |= 1; + *state = MAINCB_FINISHED; + } + else + *state = MAINCB_ERROR; + break; + case MAINCB_FINISHED: + if (gUpdateSuccessful == 0) + *state = MAINCB_NO_NEED_TO_FIX; + else + msg_display(MSGBOX_HAS_BEEN_UPDATED); + break; + case MAINCB_NO_NEED_TO_FIX: + msg_display(MSGBOX_NO_NEED_TO_UPDATE); + break; + case MAINCB_YEAR_MAKES_NO_SENSE: + msg_display(MSGBOX_UNABLE_TO_UPDATE); + break; + case MAINCB_ERROR: + msg_display(MSGBOX_UNABLE_TO_UPDATE); + break; + } +} + +void DBG_LoadDigitsPal(void) +{ + const u16 * src; + s32 i; + register vu16 * dest asm("r3") = (vu16 *)BG_PLTT + 1; + DmaFill16(3, RGB(31, 31, 31), (vu16 *)BG_PLTT, BG_PLTT_SIZE); + src = sDebugPals; + for (i = 0; i < 4; i++) + { + *dest = *src; + dest += 16; + src++; + } +} + +void DBG_LoadDigits(void) +{ + DmaFill16(3, 0x1111, (void *)VRAM + 0x8420, 0x1800); + DmaCopy32(3, sDebugDigitsGfx, (void *)VRAM + 0x8600, 0x200); + DBG_LoadDigitsPal(); +} diff --git a/berry_fix/payload/src/rtc.c b/berry_fix/payload/src/rtc.c new file mode 100644 index 000000000..97692e205 --- /dev/null +++ b/berry_fix/payload/src/rtc.c @@ -0,0 +1,346 @@ +#include +#include +#include "global.h" +#include "main.h" + +struct Time gTimeSinceBerryUpdate; +struct Time gRtcUTCTime; + +static u16 sRtcProbeStatus; +static struct SiiRtcInfo sRtcInfoBuffer; +static u8 sRtcProbeCode; +static u16 sImeBak; +static struct SiiRtcInfo sRtcInfoWork; + +const struct SiiRtcInfo sDefaultRTC = { + .year = 0, // 2000 + .month = 1, // January + .day = 1, // 01 + .dayOfWeek = 0, + .hour = 0, + .minute = 0, + .second = 0, + .status = 0, + .alarmHour = 0, + .alarmMinute = 0 +}; +const s32 sDaysPerMonth[] = { + 31, + 28, + 31, + 30, + 31, + 30, + 31, + 31, + 30, + 31, + 30, + 31 +}; + +void rtc_get_status_and_datetime(struct SiiRtcInfo *); +u16 rtc_validate_datetime(struct SiiRtcInfo *); + + +void rtc_intr_disable(void) +{ + sImeBak = REG_IME; + REG_IME = 0; +} + +void rtc_intr_enable(void) +{ + REG_IME = sImeBak; +} + +s32 bcd_to_hex(u8 a0) +{ + if (a0 >= 0xa0 || (a0 & 0xF) >= 10) + return 0xFF; + return ((a0 >> 4) & 0xF) * 10 + (a0 & 0xF); +} + +bool8 is_leap_year(u8 year) +{ + if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) + return TRUE; + return FALSE; +} + +u16 rtc_count_days_parameterized(u8 year, u8 month, u8 day) +{ + u16 numDays = 0; + s32 i; + for (i = year - 1; i > 0; i--) + { + numDays += 365; + if (is_leap_year(i) == TRUE) + numDays++; + } + for (i = 0; i < month - 1; i++) + numDays += sDaysPerMonth[i]; + if (month > MONTH_FEB && is_leap_year(year) == TRUE) + numDays++; + numDays += day; + return numDays; +} + +u16 rtc_count_days_from_info(struct SiiRtcInfo *info) +{ + return rtc_count_days_parameterized(bcd_to_hex(info->year), bcd_to_hex(info->month), bcd_to_hex(info->day)); +} + +static void rtc_probe_status(void) +{ + sRtcProbeStatus = 0; + rtc_intr_disable(); + SiiRtcUnprotect(); + sRtcProbeCode = SiiRtcProbe(); + rtc_intr_enable(); + if ((sRtcProbeCode & 0xF) != 1) + sRtcProbeStatus = 1; + else + { + if (sRtcProbeCode & 0xF0) + sRtcProbeStatus = 2; + else + sRtcProbeStatus = 0; + rtc_get_status_and_datetime(&sRtcInfoBuffer); + sRtcProbeStatus = rtc_validate_datetime(&sRtcInfoBuffer); + } +} + +u16 rtc_get_probe_status(void) +{ + return sRtcProbeStatus; +} + +void sub_020106EC(struct SiiRtcInfo * info) +{ + if (sRtcProbeStatus & 0xFF0) + *info = sDefaultRTC; + else + rtc_get_status_and_datetime(info); +} + +void rtc_get_datetime(struct SiiRtcInfo * info) +{ + rtc_intr_disable(); + SiiRtcGetDateTime(info); + rtc_intr_enable(); +} + +void rtc_get_status(struct SiiRtcInfo * info) +{ + rtc_intr_disable(); + SiiRtcGetStatus(info); + rtc_intr_enable(); +} + +void rtc_get_status_and_datetime(struct SiiRtcInfo * info) +{ + rtc_get_status(info); + rtc_get_datetime(info); +} + +u16 rtc_validate_datetime(struct SiiRtcInfo * info) +{ + s32 year, month, day; + u16 r4 = (info->status & SIIRTCINFO_POWER) ? 0x20 : 0; + if (!(info->status & SIIRTCINFO_24HOUR)) + r4 |= 0x10; + year = bcd_to_hex(info->year); + if (year == 0xFF) + r4 |= 0x40; + month = bcd_to_hex(info->month); + if (month == 0xFF || month == 0 || month > 12) + r4 |= 0x80; + day = bcd_to_hex(info->day); + if (day == 0xFF) + r4 |= 0x100; + if (month == MONTH_FEB) + { + if (day > is_leap_year(year) + sDaysPerMonth[1]) + r4 |= 0x100; + } + else + { + if (day > sDaysPerMonth[month - 1]) + r4 |= 0x100; + } + day = bcd_to_hex(info->hour); + if (day > 24) + r4 |= 0x200; + day = bcd_to_hex(info->minute); + if (day > 60) + r4 |= 0x400; + day = bcd_to_hex(info->second); + if (day > 60) + r4 |= 0x800; + return r4; +} + +void rtc_reset(void) +{ + rtc_intr_disable(); + SiiRtcReset(); + rtc_intr_enable(); +} + +void rtc_sub_time_from_datetime(struct SiiRtcInfo * datetime, struct Time * dest, struct Time * timediff) +{ + u16 r4 = rtc_count_days_from_info(datetime); + dest->seconds = bcd_to_hex(datetime->second) - timediff->seconds; + dest->minutes = bcd_to_hex(datetime->minute) - timediff->minutes; + dest->hours = bcd_to_hex(datetime->hour) - timediff->hours; + dest->days = r4 - timediff->days; + if (dest->seconds < 0) + { + dest->seconds += 60; + dest->minutes--; + } + if (dest->minutes < 0) + { + dest->minutes += 60; + dest->hours--; + } + if (dest->hours < 0) + { + dest->hours += 24; + dest->days--; + } +} + +void rtc_sub_time_from_time(struct Time * dest, struct Time * diff, struct Time * src) +{ + dest->seconds = src->seconds - diff->seconds; + dest->minutes = src->minutes - diff->minutes; + dest->hours = src->hours - diff->hours; + dest->days = src->days - diff->days; + if (dest->seconds < 0) + { + dest->seconds += 60; + dest->minutes--; + } + if (dest->minutes < 0) + { + dest->minutes += 60; + dest->hours--; + } + if (dest->hours < 0) + { + dest->hours += 24; + dest->days--; + } +} + +bool32 rtc_maincb_is_rtc_working(void) +{ + rtc_probe_status(); + if (rtc_get_probe_status() & 0xFF0) + return FALSE; + return TRUE; +} + +void rtc_set_datetime(struct SiiRtcInfo * info) +{ + vu16 imeBak = REG_IME; + REG_IME = 0; + SiiRtcSetDateTime(info); + REG_IME = imeBak; +} + +bool32 rtc_maincb_is_time_since_last_berry_update_positive(u8 * a0) +{ + rtc_get_status_and_datetime(&sRtcInfoWork); + *a0 = bcd_to_hex(sRtcInfoWork.year); + rtc_sub_time_from_datetime(&sRtcInfoWork, &gRtcUTCTime, LocalTimeOffset); + rtc_sub_time_from_time(&gTimeSinceBerryUpdate, LastBerryTreeUpdate, &gRtcUTCTime); + if (gTimeSinceBerryUpdate.days * 1440 + gTimeSinceBerryUpdate.hours * 60 + gTimeSinceBerryUpdate.minutes >= 0) + return TRUE; + return FALSE; +} + +u32 hex_to_bcd(u8 a0) +{ + u32 r4; + if (a0 > 99) + return 0xFF; + r4 = Div(a0, 10) << 4; + r4 |= Mod(a0, 10); + return r4; +} + +void sii_rtc_inc(u8 * a0) +{ + *a0 = hex_to_bcd(bcd_to_hex(*a0) + 1); +} + +void sii_rtc_inc_month(struct SiiRtcInfo * a0) +{ + sii_rtc_inc(&a0->month); + if (bcd_to_hex(a0->month) > 12) + { + sii_rtc_inc(&a0->year); + a0->month = MONTH_JAN; + } +} + +void sii_rtc_inc_day(struct SiiRtcInfo * a0) +{ + sii_rtc_inc(&a0->day); + if (bcd_to_hex(a0->day) > sDaysPerMonth[bcd_to_hex(a0->month) - 1]) + { + if (!is_leap_year(bcd_to_hex(a0->year)) || bcd_to_hex(a0->month) != MONTH_FEB || bcd_to_hex(a0->day) != 29) + { + a0->day = 1; + sii_rtc_inc_month(a0); + } + } +} + +bool32 rtc_is_past_feb_28_2000(struct SiiRtcInfo * a0) +{ + if (bcd_to_hex(a0->year) == 0) + { + if (bcd_to_hex(a0->month) == MONTH_JAN) + return FALSE; + if (bcd_to_hex(a0->month) > MONTH_FEB) + return TRUE; + if (bcd_to_hex(a0->day) == 29) + return TRUE; + return FALSE; + } + if (bcd_to_hex(a0->year) == 1) + return TRUE; + return FALSE; +} + +void rtc_maincb_fix_date(void) +{ + rtc_get_status_and_datetime(&sRtcInfoWork); + if (bcd_to_hex(sRtcInfoWork.year) == 0 || bcd_to_hex(sRtcInfoWork.year) == 1) + { + if (bcd_to_hex(sRtcInfoWork.year) == 1) + { + sRtcInfoWork.year = 2; + sRtcInfoWork.month = MONTH_JAN; + sRtcInfoWork.day = 2; + rtc_set_datetime(&sRtcInfoWork); + } + else + { + if (rtc_is_past_feb_28_2000(&sRtcInfoWork) == TRUE) + { + sii_rtc_inc_day(&sRtcInfoWork); + sii_rtc_inc(&sRtcInfoWork.year); + } + else + { + sii_rtc_inc(&sRtcInfoWork.year); + } + rtc_set_datetime(&sRtcInfoWork); + } + } +} diff --git a/berry_fix/payload/sym_bss.txt b/berry_fix/payload/sym_bss.txt new file mode 100644 index 000000000..17bb7f204 --- /dev/null +++ b/berry_fix/payload/sym_bss.txt @@ -0,0 +1,5 @@ + .include "src/main.o" + .include "src/rtc.o" + .include "src/flash.o" + .include "*libagb_flash.a:agb_flash.o" + .include "*libsiirtc.a:siirtc.o" diff --git a/berry_fix/payload/sym_common.txt b/berry_fix/payload/sym_common.txt new file mode 100644 index 000000000..e284737fc --- /dev/null +++ b/berry_fix/payload/sym_common.txt @@ -0,0 +1,29 @@ + .include "main.o" + .include "rtc.o" + + .align 4 +gFirstSaveSector: @ 0x03001220 + .space 0x4 + +gPrevSaveCounter: @ 0x03001224 + .space 0x4 + +gLastKnownGoodSector: @ 0x03001228 + .space 0x4 + +gDamagedSaveSectors: @ 0x0300122C + .space 0x4 + +gSaveCounter: @ 0x03001230 + .space 0x4 + +gFastSaveSection: @ 0x03001234 + .space 0x4 + +gCurSaveChunk: + .space 0x4 + +gFlashIdentIsValid: @ 0x0300123C + .space 0x4 + + .include "*libagb_flash.a:agb_flash.o" diff --git a/berry_fix/payload/sym_ewram.txt b/berry_fix/payload/sym_ewram.txt new file mode 100644 index 000000000..2c61f5e7e --- /dev/null +++ b/berry_fix/payload/sym_ewram.txt @@ -0,0 +1,3 @@ + .include "src/main.o" + .include "src/rtc.o" + .include "src/flash.o" diff --git a/berry_fix/rom.sha1 b/berry_fix/rom.sha1 new file mode 100644 index 000000000..145b083b2 --- /dev/null +++ b/berry_fix/rom.sha1 @@ -0,0 +1 @@ +2eb0a94a913bebfb4cb59ceb57f3f965da55ef6d berry_fix.gba diff --git a/data/berry_fix.mb b/data/berry_fix.mb deleted file mode 100644 index 0afff07f5d2314e2bd35d99de518cbc114009b5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15348 zcmd_ReRva9`ak?RGkKZ3v^{AWnzm^(Nm^-nO&CUKjcb1}yk*JW@O)=ugKOKI zy=j{ae-~+>qGE7#{=eoQ_^EL9>A!cZ`?dF(zgHT%o|*S}r}dugL$S59?%np;3ybD& z-ZpxOfBt??=7B}L=Fjswiq=Bfo;a+|8R3^d>+RcowR2tMD>>)QC3|@?yXe&AS0<@@ zrt_usXg<_rx&E1@oewQ}Ou1p#S2;gyC^G)(9@jqx_4pqz|BT`aZ~k-ttLD4^Rs8>3 zvatLAe>(Sl+I>=n<@AuM8vjQ*{aRUK^;zmfOB*Y*?~_j;cIJYro*P!xbcn5||0;H# z1gcM8X1}?-*3+P@j&`2>nYH=#S{(`oaIIzr?=(yWbRc{S+EI16a#v~GG{seFe2M!?Y|Nrb4{V)V1 zgH48#cT$_%9XsQcOm>(=2L;dM2hhed>~~U}&54BxkWJ`6wP*m}3VsN@rkn}!B6zZ& z^}*fn#3_i_bjEGx;t*vd87-$CA|*Clo3>6^P9Ysg*NCf6`3X$#W2R-4lvK+h$tsyN zFwxNH1heH-LdXM?F_fBMvYgU~Qeo1BQs2OGBAEotcpLl0lLGc|v@s3=8_!U5NEB?a z?O7tH)MGF+m{l%Bvc&Ro@J*4Xy3Ex`$gHS{WJ(DfBAJy$w95{ZqyD*EQ%?rU9YL;6 zs9TLRmbq-TX|!(x!k@r5V{|imH3F=fWboc+EMyfM zJ~&Q@&S3K9X}g{cuSs8FarhzWX6h@`n*=zTOGG(MrudM2h#6jjF&Y*5Yq3NYRUVFH zU2>wm9>^8ClX-hRB_)DP3b}l05eIt2!gj60>;OEQij7Bpvg4#3^@jSUVvuf#e4G?w zQ}M4yiRk^1avutGO}n<7M}2}%je)F1==zCV>(*@ zPBFqchWaO1yKj+0L9X6g_W9Z7C=U_VrnOM5V0XYA36E|j#QnKR$4?ZPDks+sQ0yJES`EV7U-bQ&!y%b zt?NsnM;*|{R9(Cc^L8`oS{~4e-mhtUV;eLMvCfo><9I7Bg9IfzQ1@7%h$mca9rzEy ze*(T6y#G7!It}5X;A`u_&jT-lp8#Hx*}RBQ4i3Q-6zYgqh-lu)#dm9Yj}U=AC`8nO zHr2)zX|VJ`EY(O$%K&yxGdcGL7Thu-@e5H&`4F9}p!*7P%eph-fb#QIlAGEs`7jqs z?GSW8;-#~70Vw?GDL{1#(C(=gdts=gWf;HJtpdJ93pK6Z=#>v3v=b20doa)K#t?Q;4>}A@M6}W*nu>Nn$0f$b@W+tku}X%qjN zboxYtE>TLfe$gC2&O=$iILnE&V4YpVwz*m4wCX_q-__&<(%)0(pf->jFz%P{qFFM3 z^#l!S9OPgmR~%1M2Ya{)2JU!~LmhahbFyCwc<1Iigb$w&%u&QOcWdvuYXaBb4xPhW zuMVtJiPkY*H$E{66B<;FBU_i9SjrU4N|noAp6jS^;pSIVvejJjEZ}W7&VraLLmddI zM0s}@MEPu3H&cwVni@5`K1n2^L~?cA1TI^0Tp%|&z$>t6kc(~(HtkGKbU-N{q}m`i z$Oi@4>kiWIEG8!W@HQ& zJW1QxdfcT^MF&y1vm@$&No`IYoHIgGT}V|&np2f0Fi{;iDUHqFu6Nikuaqq($y}-U zZ(OPK~trq#8&lRa~7}kO8!-14~AT zQmGwQ2bPT#E>Uy~l9L>xNY1GdE=NPN&2OOU_L2OR8Y#VKMIB6$5z<#Lr4L4PnHX;w z+0ATW)Z2vY^c&=WjD<{?-6jo`oy-l7$Q^`uBM7`ifC3!JbDsK#mLflG|-BrtVc7w!`YclbmPIi25iQO(f*a zJ#hb$-yxu%>1whtrRs9YL@|zNw`Deo@_p8nxv5WCxpNwI;PVlY3?CjwZj{clREQ3L z9<1}!q?uH2k;cIEvZXP~_|4yiT4BhBU*D~X@1}WKaN5r!PRj1J(e^}Fqsi5nh+v+E zwKgEn-9ru8nqm8s#vaZRU9=?1nJ_+4P0?3cmc2$3_6WT?)?#h;Xkn4c%%c8Qm5-LE z%&qRH6KT74W(m>ziIR1h3uA*#jObB$1KG*z>={sWq|Dp$;dSS2H&2CPC@Eg$P4Zl} zOg>hyJY=1g>yfPG(HZxQ!`x9DZ2jhLTs{FVcT_i5&IM)5W?NiUffv_W4`+)G4XiyX zA`a*@iJEcFOUHHCL^J57)XI6=PKp!7xs+|_L#o|2m2_(x$lTCVnsQnd|IKo*HMGpz zF6aCL4P1FLEhpu&u|%E@KC!$Lu7et)Ja@&+l_vy=@-&<6)v(Cfx52I5xSG3S2!7{I z)*ckR^0+`kS_L%orwD`_HxZlS(1py<3-+c73XqO zWTT6(Ag(PEeXuUAH~A@A2&;oyn?8WmC|UJRj7Ht476-Zs`6d4l%~0C?N!ZMpbwPbX z9`xm_ixax3W7*Wv4JqR%qGS?AJ6dGR{!ziyS-DLD!zlXMlj_V7!g+J$+@?g0e+Nc# zWin|}ge=WTuA+X|ptnB({gQdijY7AYqYuVSufZ?s>x4+IkQkY^HIf{H=y{^@koHwIZ)AL*U65`&tP|y(}-jCdNHjEqZyL& zjE8PpvFXU-fQ73&XrC8Q5+)0;NYl0@c1ag` zYw&n-xoD3h8_#7P5RRO*|0K&BHx*wxn(JViZR7A&V{nmO@W@4m7!)c#6?*J~>yW&P zK9;;plbE*RiRg%Cv+i)(*Lz2ZxLBk6nws7pQA_!#(4H7f;yZ=&J-*FMyoTt_&Aj3pY9ZK{y% zw)^t42I)5Ux7k7vw_au{Uytg!cUtaMRpqA7FZ3SiRfjJ0zTLZ~$%X7Ay-4Gtg{w-R zc)NG@<7w{Rs)IDGBA}TXLG}be*A{rO_@p82ru0BjT5^^5#uwcu)1KyRUtV#atXR*@ zO>9kcXDh zdWY!RT!^h2a~;*5Sg~0on>A*$P-zY(V4Y;=a_cj4uD&ETT6$b#bp~;j6{|)yPNWAe zSVq$g)I&FrVOx%Ow5&leH)42johNz9t8}wf*{qz!GL2bER5qK9<;Ebt8c*f8iBcnO zOl*v7{A`Hf(|Gq&FN8Mi8B#X1ZD3lT7lRspkEVQWvHn^9*2MU8Q@mWs9oJP;(UA|6 zb}-lRNodB6RZW3x?xsk)26{7cT(f^llT$v(uY=Nb*_&OLrSBn48Ot5z(8}JrgD4K* z3H#P2DC;iEDQZDoYA|Fcs7oy;lN*aii9Mr`fTrh*EzHSqw>Ig%J>r4GJTt9syLal>&g?XJE#hm#LkoO2FO-YL)B)7Z8;z?^$7&=|mV z(5a44m2>-4w2!}heVvphZb~a}EY9fBkQ{quH#T*`7%FXS%G#2P4>-;|wa!}kDN>t- zVndIG--$XI0dCqsd#=NvX=;*mB{v0+90$ga>Nb|EE@0!M#nv9;&cf5Q_`tJ=Y0P@B zTI$n0=)tDQW=CSz*u%7?ckuc;yVx?vF14g~wtO?_ZApGB(n7_SMx_NU-DpWk={BI{ zQL=)#B1y{Tw#_a)&m67EJtS|eZn;zpxs2-x29PId_}4JT+S6DjSrRXk{PFFBvM`y;N20MXyVF?8K@QVjNJ*|j673M zF^?I{{5%snujOWTmP>7SX^-sP67y1bpb^!LOYNZY%4A&%cne16WNTsqna(P-~W~xC0H`9Xa&5sxBju6Y|$@V(mQEKKc z58~k&hf+>UykiD28{G~bZ*s>4jf>xyI9C(5>q>`NSD8C!{W* z4s4-=t|pDsEiY{3ighO-YVpCoED6Zkz#mN<_-#gGaa&d;$+dRVDGxuMdZSBPsC9lz zt3H~n64R!X`#v9clH_ifqKVTPv?p}wOD zxtF;fb2(A=Yu?eo92XhCqkObFuS`>-5AHyTeoRFz$`lv`RBHC4(()EzS5vCIRf6cS zw9PL;yMAVn+JtVe%k~u4GlmapRz)3|6B5Ttoi?BAG)d(1tj9V{2hf3fncYQpr`>iZ zjTkKPacvmuWsJf@n%B}uXVUq3d*%gZ1xf>A^j-R1X0RB^u+M=|mu%0l2Q$hwJB2sl z2_j&U)5_(526anh`)qsgaUo!+7ldD$Bm#%GNhtBkDa;9urUWU*b10w;h_^E4h`HyX zrig4tBq=y2K9pMxZUCG$K?OO6mnyV~RwZ%wNd-!%g;k@UUgi|K^B%BENx5 zA|#(o+f+Q*6W$M{y|pdDG0Fj_gV#9BNfn??NkKv4U9Aag<@#^$+Ws8yd4Ld(<)!ri)$VS<)r0a7^Tod>a25*={{D#@F6 z$)4}HUNb`%RmC<%+(JvdJY&sFjv90&{UW0)tvyJZ+NEo*B;Ce z=dAIzcjAz8KsoR>JrKC|&0og;yof_N5IsO1d_r=q77whquWri4#|e{EX-O(AiHe&? zIchm=Nn+~;Ds6zc;XwiIraPtf=oXE*CFv1{Q$sDxvTPPN^FJH5>W&v+bJvK}Hh){( zyE&mn_cN~J;!&A@R+q?4pvR1p$~i-=?dR=@8#r?c#wh&HdFB;WD&ZU$^K%a^|G8}D z*z*aF)OeXiE-PM(GTzJjAEqc3?sV2h{t zTD_is!b1|@EH)XtMNvp_oRFq{FH6%7GrsWe!;&{(&)%}?>*hAwERxq`o1HJ&theHE zQj#a9Fintcj#?{g-RWXf)~+{4)1!1B^rPPF9!@MDwTMR@FRE@RZ_8vk%y~`u5EAx1{&B#ch0Ol#7n zl@lqA%bI}7y(*@?yEvC^e%z+&> zI%>d21RtfG8E(l+Fehv~+`L^*o+`C~wi{>eaJ!=+gUiNRa`ncjsISc2Ktw2CGmKWy z)zgx6!^f_d))wouM@hLP-fL+Qo4F61s`CMipVTu`^uPJx)s)BR(XOEy19|J(-=eql zL0za$kg4{){9TEo9On4OW%F(C=!d{9I5(bm`Vv#J8mu2LUy+=7k-&J#HDYKE|9NFy{t?YCQ4k}2T!-7mX*C=&&Tdz6#>RAeeqNb445Wt%N6CvO19NFqT*xT`RsdA7JoU)E49u zQ+xBFbgr#gIV2t`6Gvwq6A!VACq2dNOy*Rf?lZ=J?KV1kG`PO*=t}Q;t3&$&^Oq%R zD#6xQkV>S~TVNqKbGgw3mwqwP^H+*WGA%bl30?8NX1v@kzozpa?%poPw+F@TXP6zH z!n!w#+l}I~z)~#x;<8@)Ait0B^}0OW@szE4tc8+I+Zk1vb9 zsXsod%S2NR*Vi@K^L=fX+uoXX`mA?L{>9K14N8=j_U@L-zRJeRJJ2%vWaT`LRNA^K z|AI~VmBxvgv}@K6eX|zLQr=PC`Db5MU)74L+b!x~^IQ7skEixk_)r4O_D)=aH4KA2Q^uFlFmm~OB-lGf}`fnyt5?6+XO-Okl- zI^dl~>P=~RNyofpA*bQNkn8sr>1b%Foc)C|gJu@LBH4n{jsB=nJTB~TO%YsE>d2J* z#wlcao|c@+f67%zgTy7jRJ`u)!JadHg&Pa`lEW!&?Tw_62)re#S?Pe=2(7Um`Y|}} zi+|w2G)H>v^8nSYfsI`e&tEdeni(2YBSMNv+QWk-5Z!|g5HG;)lAtaA}-|@lgsT%~k z;u|t~&wE=x>oLxyYu+F2RL_znv9ZeoxohO2HJ`%cwRYhp*@_vR0f8}06uccgV}P#F zO$^^L#!32*X{!x^pAS9)zK&Hz8FB7G-a^Jwe;F*M?~->JMT9S1^QV_A2|N+8aBoVM z&m$IIvb-3`T!0J%={6XSpS?X1ck>@~FY!8)8a_`Dkha9@L&6hcLbn)3!b}$S`4Hn| zx|4o55V#gNQI-rs#77`N-u!Mh+AYo_>`0ID@&Elkd+kg5nDo$1%0cDevCu(p7bkYH zaD;z`SX_aF=puxBL*i0TKk6OF~tZWwTH0Sf^USSc(Zl!SPYUNKb! zMfFN>Qc0RY)1)P$Nt9KZEoRU(k%S7pGrU!jNsar&DN$!+zvPrE#TN0X8ks45-&xr0 z>$FOP^sL{xm`Hlp3cw-hv*Mk4#R@RaxmjR?X>Q^;Iq6m0{JdA+yj@Cqk4xbsbAoff zH>vx`GhTh@l$6vbB@zBLZxUrcMJZ{blms8ob?bq<;Z_^g()M{bK%-uNo9;+u083L= z)l7V8NivrG;GMO2=Pdds?$sMjE7;xAABmc$*u(^%r1hzCVymbhiYBs|BT15MYz5z} zRSYbq*3_ogvOOmHIO3egC*GAPut=g_^A7`za>72CnX8}3rZdUim<+IcNr4Tcz%w!0 ziG#(DC&-{aV+mS>7|?|EcpTUOJb@=c|A?nZJ~rZMU=#2Ro&}!6W`v%P z`j`vmOG7${ltG@!L{=mtF4NaSzAbnGEv(NM@e*EULd-PEi4qIX7`pX|l5d*9FMAIe zh}hR5{;Q$SdqF%yjq+7WTNA6D$D_nsq9`SlJkvq7TxXorbU4X_F4miyQFqzka==)J z(b`?iHew9MYR%)>u?d(6FY*CWfI>_HCa+y2mv(S5pcPwzSAcDJ6|VuW1KaTi-ef23 zz)t)LZ?V#!u?ub3%}#$C@38P5+7%zT-(ZS>B1~nZ{50SO+-Smd_~6aaNqk7#iZ;D2 za_7wTr;SjZbirj&$ea$wUy@m5HmM>Z4M;Va zqv>PkkXka2+(hQH(#_-+vVh>XAh(i*Bn%P(Swt2SEFrg1vXnfHhR?|t1b-(uOuAWM z6GuRfl7Emd3Gfy9nj9m?S?L?{E%}a|V4C22(o5n5CkZ)4PLm%%&QRar;)V;7kCJ;D zI?)9I`>0iJv_&3f&WGZI6%B{dXtnYjA2i%AI zS?K}h%(58TgCMJP+{1VT{g2804O|~^0sX+QjIYEc41i^S;4-e@D)d7J3}eLFJ9x7z zHhr+c|0F+hPaB-C{5o*=6JCAsiGjuEp2_ibmPi-HTjY-$ZYOtu)R8+uen+s3+(qsN z`MpS%8;4ea+(U3L`2)ERDbyp1%;fFM4CrGUe_T|T`#8) z5Ocp6@4t%g8n`ka}trb*!gbaA=xB{m9Aq!&Rl{#kTHx$9|tlXWCEE;L@!C%&EU->g2`U; zo5%vT`eLM&U@LhAWE**v;5CBR$#(JvVakQnzXhkQtwL$(*BgLINEkbNNg$=?V*CZB*DAfFO)kbLGNhsf7|cF9-f?7z_X z*(QC#rF*kG21L^2quR3_LPO$k12xEG$$l{v`4QiRo5k`1ePLh2d!diD15do}vxZbk zUvba^rR3S**=?8pqLloglnk7e5+lB}RIrq!0`T`V6N?3H#BFpJ6cnV>YeN8N{ z$y#V(c?Q-3oEMjN7NREK-TbO%={Ryo*w>6K#oxR^$=nL(g;-zssPYHk>3r{VR#%_s z>wBQBzoWl{g}IdB)eSrp8=me^tllpRLpGDzSNJMJd|BjEIMwbfCD!M}1?PpA`+faB z(w8@)BzMkWc1DedL#xCFD|h(UaP!|h*wbcI73&Y=h%F^01cq3DRWI(n)J*TW#I$MO zXhpu~k|jnplq$W{&#po`_HoVug={=TJYm!*y<2@smnyV6l`Kn|#ph;=Q&kGCp1QjgS7L@mB}xCFSkw(kv@d`)B(k|cpE}|{N7saSInlQ^!6&@=CO>?4J(~WM;l?` zz=6qK1>73$(P5k7yoj4s$S*6sPdk-f6n2ift-;>FX9m)Igedrg{Ul)8R zf)tu(3!l0ZFpfnNJ#I@O@>`t?^dt6V2hHQE9)O6cl1^-V7^Y_?yNq!)g}OF?Vp!kXvMC9%9rUx?Qzsd^bL2 z{u3U~x{BxMk65TucC5CCEISn9#b4G~Z|&{xn7IvwoQ)}#AG;V@@C~EWaRKxnA$_N8 z-X`ljy{=A}3U|XtrzB6A8#_hfK92{#2^m-6Z6|HOOC6%XyDu!{?{{KYHvFYiO+0_f z*@xa=doR3v+UF&t-#6H(GIT9Xq+hx{t6Wf#*-v?Kd!a@n^S@ng#UKCX22{7SIQ)kg z_HujO7}wPxC#HS_zMzBc3=j8Gr_;aLinEgbLRgiUk(9Vg&U%(+=*{bI*d2~@ERD`t z5GhD5fW@lri}aiOvts?R!jJjxkkCmBrIn@w{QmEaYgVGxeE#~}=P$2!r0d494qg%1UcHogv`? z`;Isn6aL+D_)BX`tH;*b(B|_eyyeG!7?LW>z*kqJ&0k{}OEdl~GGA+=1-*GQm>Q}6 ze$2yd9SoJqN#{a5pPKc~Bw~3D7Iuai2K_K`hNw4HjkKm%nz^5G zi^vl!ExSk#jU5U}rJ5+R%8=EMwlI~*_t3*uYg~@3j#ex#P0sNB`GQkUnTW4c$L(wY ziuCddM-`31d6Rehc`+737dO487@=1gR^?hmTMY$YR+CawU2mgrJFEF;7yD{zP`x*@ zunY@#qgQ&EUPp-y(`s$4vp4zxsfO%5`HFg2bG}c-V)D@=1i$ZzRez+Cf6CmCx%{Ki zJLp_AFKP7+VGEDd-tdL66y`9h#{UubBZKGPceO5JCzZi6<`1_0D&GoRZ(*6EewO=u zGVZi?B>uz>j;hU4)HYO|Gwe0YePauL<7mT;>|Pp~!_)!3^t)uah`sn!O9 zSjrE5F{+NBkr4&^ri+W>7ThFe&^%CDpaz1PAM4_Mi5(}%<&V@=0NaB_*dYyD=@ojCxiZbqz zHgx8zrKNrn7e(Jf$Ji=ut)7>JH>e_0k zttH7}JhB+!&PRIBp9<&W>#JVgd6=7y(<-^&#!xEss%{pEcSo2WroBgpau~!;A5nU@ z`7F2vKk~j$oCNpR>;hjZ>6t(lb;hixQ*d^=zeX$AMsQ}4LJq6n2sm+K#|g^s*@GR< z6B(9fen>OBm86Z<&Y6D|#y-XO{3iQZD2ok`8LjF#Ql&Uwn1+b1O4hCIE>@M~=n0rd zDZMYWFfU%QjhQwS;=lea&W)++bGC&Gs9QDao_ugmUlw|n#Ty_S=RggeR@|*SnfYoH zGY=~y%EgA1-n|R-s|n&ArqKoYDqD(5e>1OibZTbyh1$NB$--M< zZFPEx>$_MobDYh-sE;x6u2-`mqX3$UaO&9E`a4IoX z`Axw(%qi__Ff3-Fd&gNayDmf7yB}f2>gvCH69Zy%A5guIFx&X)DrSoBdx?!fP7tq3 zd_R2MVMT4ev&_~P-iLDy&U}`7BZ#rAr%+t|jYEhkj$ehv_n0oB!%KLNr_jPI*I@5^ zv8$Iz_*35{$uL=`MPTXWn40=t01X4a&fuWjhM3ZE^SxI@9`yEsdks#=up-myb9n~1 z*p6JK_cQ$Iee|jWz0Y?jBjX->2?r|mx8tG7j~k~ezAM7FQH)%Xoaz7m`9ipBXFNH) zF_XM>N)@JuG2~OOmwClmKE(fWwGVZDu?1YmT&IfxmHaI$degqqA7eI)ZAJnmb2xmo zm-!STKYTUpvTADBxE{T5v_SKbplar`)ZuSCeieN?h5O$LUsd7=$&u5FE7D7tSywXE z3;Hjg&wOdzUd$)alZRDJ(iM^H0hAJSnm?9!kGl}={KEd6xy;b%O0o_W6ix^L{AgD1 zV%R}UU9kkNw8V8ahU!!%hu30Pe*>hNA=4q-)5Mh zfSk`tXMMw8cyYy4QReMZtgs=0S* zJlnT@PA6Z;)FyW)SBpm;VNhkbbr*dJlE_sF(g;VX57zg*Grml!ex4~~_f_%^{VVdf zVs>}TQ;3=FL$~LTez;4D>D{8p7oN8=*Wb&+{-Nt&@kueVZ>5L8KKV$ErL}NcYHE!;D_8*U`M<6)9olDfziym&QEqhyE=tL@rX9bzIH~qG7n3xPmDZNj z+<$Q-L(0utRh00U$l|8w%O0+V)EWjxW#vv7R|~w>U~6Lx~ z&~mi3mf?>G-6;CI9EOI zp9U8fW{ilQ{H_#PZOjB%YLfn};tI!}r&!(-v-UIZB6fOsU%225s(-|b?ga&5ri)MP z+`Y&KA!d_e#$O*XpM(;dy}wZMm%&!byVR2n5FE{fB^huFvv9lR%kv?9SC;>2{r+S9 z9f_Z6ULt(!-0zo9aSA^|4AbQ}e?EdTO-AdI>fODlakA%yoJpmy*=qOua6iFHa+>$s z%4$(viW6)tWt%z6W*5D!+(X zKg~XIFI`kia9vbQe)mI`HsWXAFrWQ>7h+{)UthiRm!F%BU4M~Az2oxu;CAaz zq#6c%j7!z`UH5T^83P4)_*37s$5HM>I3r`Y9y4O&B)+v%k9!5lHCn5(E!)<+{$<8V z;N^o2$iiLQaZ9YgFkDbbkQ=$KsdpvYo-xz;F+N%Kz}n2;P?+D=fG%J6Ucb-kVnJcv z?IL3;5PPhb#eJS{VEXWrtg3IqQ}J}{e4F?}LkEo03-oHY`T|})=X+$Q^3i#5VToZ} zmWyO%V8N;|GhT)(vhhY^xxrbqID|m6I%NDE#-UBMbZ{-ERGOWJ zhHstfs_#W!bMWQwVv6Q)S4>D??-?gx3D>K3| z^+X19L3wRYet4?x{-{x*3RSOt{LlCQmWuebD}Z>JvO|(Wn#tVH6z{dV|Ib&0u>&TR zY82Oh5BmSTi{bxn%FVVX}*GIZnd) zw}4-lMYvYX71=o1LjWwc5fSM<#?J}%85kciQJEN-NI}=or@Hka)BW?67NtdAb^`{K jWrXp`R$y*0h&eSS;dx$fei5!G%N1T>ZW((Z5BR?TL@#y7 diff --git a/data/multiboot_berry_glitch_fix.s b/data/multiboot_berry_glitch_fix.s index bc417a8ba..1eb843d3f 100644 --- a/data/multiboot_berry_glitch_fix.s +++ b/data/multiboot_berry_glitch_fix.s @@ -1,5 +1,5 @@ .section .rodata gMultiBootProgram_BerryGlitchFix_Start:: @ 86FFC6C - .incbin "data/berry_fix.mb" + .incbin "berry_fix/berry_fix.gba" gMultiBootProgram_BerryGlitchFix_End:: From 0aceac2d340328b1d2af539820e872f04bda6214 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 16 Dec 2018 20:24:01 -0500 Subject: [PATCH 215/222] Remove extraneous macros and constants from berry fix --- berry_fix/asm/loader.s | 6 +- berry_fix/asm/macros/asm.inc | 12 - berry_fix/asm/macros/function.inc | 29 -- berry_fix/constants/gba_constants.inc | 490 ------------------ berry_fix/payload/asm/crt0.s | 6 +- berry_fix/payload/asm/macros/asm.inc | 12 - berry_fix/payload/asm/macros/function.inc | 29 -- berry_fix/payload/constants/gba_constants.inc | 490 ------------------ 8 files changed, 6 insertions(+), 1068 deletions(-) delete mode 100644 berry_fix/asm/macros/asm.inc delete mode 100644 berry_fix/asm/macros/function.inc delete mode 100644 berry_fix/constants/gba_constants.inc delete mode 100644 berry_fix/payload/asm/macros/asm.inc delete mode 100644 berry_fix/payload/asm/macros/function.inc delete mode 100644 berry_fix/payload/constants/gba_constants.inc diff --git a/berry_fix/asm/loader.s b/berry_fix/asm/loader.s index c342e100f..39e0b768a 100644 --- a/berry_fix/asm/loader.s +++ b/berry_fix/asm/loader.s @@ -1,6 +1,6 @@ - .include "asm/macros/asm.inc" - .include "asm/macros/function.inc" - .include "constants/gba_constants.inc" + .include "../asm/macros/asm.inc" + .include "../asm/macros/function.inc" + .include "../constants/gba_constants.inc" .set SIO_ERROR, 0x0040 .set SIO_MULTI_BUSY, 0x0080 diff --git a/berry_fix/asm/macros/asm.inc b/berry_fix/asm/macros/asm.inc deleted file mode 100644 index 4ac003fab..000000000 --- a/berry_fix/asm/macros/asm.inc +++ /dev/null @@ -1,12 +0,0 @@ - .macro inc x - .set \x, \x + 1 - .endm - - .macro enum_start x=0 - .set __enum__, \x - .endm - - .macro enum constant - .equiv \constant, __enum__ - inc __enum__ - .endm diff --git a/berry_fix/asm/macros/function.inc b/berry_fix/asm/macros/function.inc deleted file mode 100644 index b109595df..000000000 --- a/berry_fix/asm/macros/function.inc +++ /dev/null @@ -1,29 +0,0 @@ - .macro arm_func_start name - .align 2, 0 - .global \name - .arm - .type \name, %function - .endm - - .macro arm_func_end name - .size \name, .-\name - .endm - - .macro thumb_func_start name - .align 2, 0 - .global \name - .thumb - .thumb_func - .type \name, %function - .endm - - .macro non_word_aligned_thumb_func_start name - .global \name - .thumb - .thumb_func - .type \name, %function - .endm - - .macro thumb_func_end name - .size \name, .-\name - .endm diff --git a/berry_fix/constants/gba_constants.inc b/berry_fix/constants/gba_constants.inc deleted file mode 100644 index 9d59c8fcd..000000000 --- a/berry_fix/constants/gba_constants.inc +++ /dev/null @@ -1,490 +0,0 @@ - .set PSR_USR_MODE, 0x00000010 - .set PSR_FIQ_MODE, 0x00000011 - .set PSR_IRQ_MODE, 0x00000012 - .set PSR_SVC_MODE, 0x00000013 - .set PSR_ABT_MODE, 0x00000017 - .set PSR_UND_MODE, 0x0000001b - .set PSR_SYS_MODE, 0x0000001f - .set PSR_MODE_MASK, 0x0000001f - .set PSR_T_BIT, 0x00000020 - .set PSR_F_BIT, 0x00000040 - .set PSR_I_BIT, 0x00000080 - - .set EWRAM_START, 0x02000000 - .set EWRAM_END, EWRAM_START + 0x40000 - .set IWRAM_START, 0x03000000 - .set IWRAM_END, IWRAM_START + 0x8000 - - .set PLTT, 0x5000000 - .set BG_PLTT, PLTT - .set OBJ_PLTT, PLTT + 0x200 - - .set VRAM, 0x6000000 - .set BG_VRAM, VRAM - .set OBJ_VRAM0, VRAM + 0x10000 @ text-mode BG - .set OBJ_VRAM1, VRAM + 0x14000 @ bitmap-mode BG - - .set OAM, 0x7000000 - - .set SOUND_INFO_PTR, 0x3007FF0 - .set INTR_CHECK, 0x3007FF8 - .set INTR_VECTOR, 0x3007FFC - - .set INTR_FLAG_VBLANK, 1 << 0 - .set INTR_FLAG_HBLANK, 1 << 1 - .set INTR_FLAG_VCOUNT, 1 << 2 - .set INTR_FLAG_TIMER0, 1 << 3 - .set INTR_FLAG_TIMER1, 1 << 4 - .set INTR_FLAG_TIMER2, 1 << 5 - .set INTR_FLAG_TIMER3, 1 << 6 - .set INTR_FLAG_SERIAL, 1 << 7 - .set INTR_FLAG_DMA0, 1 << 8 - .set INTR_FLAG_DMA1, 1 << 9 - .set INTR_FLAG_DMA2, 1 << 10 - .set INTR_FLAG_DMA3, 1 << 11 - .set INTR_FLAG_KEYPAD, 1 << 12 - .set INTR_FLAG_GAMEPAK, 1 << 13 - - .set VCOUNT_VBLANK, 160 - .set TOTAL_SCANLINES, 228 - - .set REG_BASE, 0x4000000 @ I/O register base address - -@ I/O register offsets - .set OFFSET_REG_DISPCNT, 0x0 - .set OFFSET_REG_DISPSTAT, 0x4 - .set OFFSET_REG_VCOUNT, 0x6 - .set OFFSET_REG_BG0CNT, 0x8 - .set OFFSET_REG_BG1CNT, 0xa - .set OFFSET_REG_BG2CNT, 0xc - .set OFFSET_REG_BG3CNT, 0xe - .set OFFSET_REG_BG0HOFS, 0x10 - .set OFFSET_REG_BG0VOFS, 0x12 - .set OFFSET_REG_BG1HOFS, 0x14 - .set OFFSET_REG_BG1VOFS, 0x16 - .set OFFSET_REG_BG2HOFS, 0x18 - .set OFFSET_REG_BG2VOFS, 0x1a - .set OFFSET_REG_BG3HOFS, 0x1c - .set OFFSET_REG_BG3VOFS, 0x1e - .set OFFSET_REG_BG2PA, 0x20 - .set OFFSET_REG_BG2PB, 0x22 - .set OFFSET_REG_BG2PC, 0x24 - .set OFFSET_REG_BG2PD, 0x26 - .set OFFSET_REG_BG2X_L, 0x28 - .set OFFSET_REG_BG2X_H, 0x2a - .set OFFSET_REG_BG2Y_L, 0x2c - .set OFFSET_REG_BG2Y_H, 0x2e - .set OFFSET_REG_BG3PA, 0x30 - .set OFFSET_REG_BG3PB, 0x32 - .set OFFSET_REG_BG3PC, 0x34 - .set OFFSET_REG_BG3PD, 0x36 - .set OFFSET_REG_BG3X_L, 0x38 - .set OFFSET_REG_BG3X_H, 0x3a - .set OFFSET_REG_BG3Y_L, 0x3c - .set OFFSET_REG_BG3Y_H, 0x3e - .set OFFSET_REG_WIN0H, 0x40 - .set OFFSET_REG_WIN1H, 0x42 - .set OFFSET_REG_WIN0V, 0x44 - .set OFFSET_REG_WIN1V, 0x46 - .set OFFSET_REG_WININ, 0x48 - .set OFFSET_REG_WINOUT, 0x4a - .set OFFSET_REG_MOSAIC, 0x4c - .set OFFSET_REG_BLDCNT, 0x50 - .set OFFSET_REG_BLDALPHA, 0x52 - .set OFFSET_REG_BLDY, 0x54 - - .set OFFSET_REG_SOUND1CNT, 0x60 - .set OFFSET_REG_SOUND1CNT_L, 0x60 - .set OFFSET_REG_NR10, 0x60 - .set OFFSET_REG_SOUND1CNT_H, 0x62 - .set OFFSET_REG_NR11, 0x62 - .set OFFSET_REG_NR12, 0x63 - .set OFFSET_REG_SOUND1CNT_X, 0x64 - .set OFFSET_REG_NR13, 0x64 - .set OFFSET_REG_NR14, 0x65 - .set OFFSET_REG_SOUND2CNT, 0x68 - .set OFFSET_REG_SOUND2CNT_L, 0x68 - .set OFFSET_REG_NR21, 0x68 - .set OFFSET_REG_NR22, 0x69 - .set OFFSET_REG_SOUND2CNT_H, 0x6c - .set OFFSET_REG_NR23, 0x6c - .set OFFSET_REG_NR24, 0x6d - .set OFFSET_REG_SOUND3CNT, 0x70 - .set OFFSET_REG_SOUND3CNT_L, 0x70 - .set OFFSET_REG_NR30, 0x70 - .set OFFSET_REG_SOUND3CNT_H, 0x72 - .set OFFSET_REG_NR31, 0x72 - .set OFFSET_REG_NR32, 0x73 - .set OFFSET_REG_SOUND3CNT_X, 0x74 - .set OFFSET_REG_NR33, 0x74 - .set OFFSET_REG_NR34, 0x75 - .set OFFSET_REG_SOUND4CNT, 0x78 - .set OFFSET_REG_SOUND4CNT_L, 0x78 - .set OFFSET_REG_NR41, 0x78 - .set OFFSET_REG_NR42, 0x79 - .set OFFSET_REG_SOUND4CNT_H, 0x7c - .set OFFSET_REG_NR43, 0x7c - .set OFFSET_REG_NR44, 0x7d - .set OFFSET_REG_SOUNDCNT, 0x80 - .set OFFSET_REG_SOUNDCNT_L, 0x80 - .set OFFSET_REG_NR50, 0x80 - .set OFFSET_REG_NR51, 0x81 - .set OFFSET_REG_SOUNDCNT_H, 0x82 - .set OFFSET_REG_SOUNDCNT_X, 0x84 - .set OFFSET_REG_NR52, 0x84 - .set OFFSET_REG_SOUNDBIAS, 0x88 - .set OFFSET_REG_WAVE_RAM, 0x90 - .set OFFSET_REG_WAVE_RAM0, 0x90 - .set OFFSET_REG_WAVE_RAM0_L, 0x90 - .set OFFSET_REG_WAVE_RAM0_H, 0x92 - .set OFFSET_REG_WAVE_RAM1, 0x94 - .set OFFSET_REG_WAVE_RAM1_L, 0x94 - .set OFFSET_REG_WAVE_RAM1_H, 0x96 - .set OFFSET_REG_WAVE_RAM2, 0x98 - .set OFFSET_REG_WAVE_RAM2_L, 0x98 - .set OFFSET_REG_WAVE_RAM2_H, 0x9a - .set OFFSET_REG_WAVE_RAM3, 0x9c - .set OFFSET_REG_WAVE_RAM3_L, 0x9c - .set OFFSET_REG_WAVE_RAM3_H, 0x9e - .set OFFSET_REG_FIFO, 0xa0 - .set OFFSET_REG_FIFO_A, 0xa0 - .set OFFSET_REG_FIFO_A_L, 0xa0 - .set OFFSET_REG_FIFO_A_H, 0xa2 - .set OFFSET_REG_FIFO_B, 0xa4 - .set OFFSET_REG_FIFO_B_L, 0xa4 - .set OFFSET_REG_FIFO_B_H, 0xa6 - - .set OFFSET_REG_DMA0, 0xb0 - .set OFFSET_REG_DMA0SAD, 0xb0 - .set OFFSET_REG_DMA0SAD_L, 0xb0 - .set OFFSET_REG_DMA0SAD_H, 0xb2 - .set OFFSET_REG_DMA0DAD, 0xb4 - .set OFFSET_REG_DMA0DAD_L, 0xb4 - .set OFFSET_REG_DMA0DAD_H, 0xb6 - .set OFFSET_REG_DMA0CNT, 0xb8 - .set OFFSET_REG_DMA0CNT_L, 0xb8 - .set OFFSET_REG_DMA0CNT_H, 0xba - .set OFFSET_REG_DMA1, 0xbc - .set OFFSET_REG_DMA1SAD, 0xbc - .set OFFSET_REG_DMA1SAD_L, 0xbc - .set OFFSET_REG_DMA1SAD_H, 0xbe - .set OFFSET_REG_DMA1DAD, 0xc0 - .set OFFSET_REG_DMA1DAD_L, 0xc0 - .set OFFSET_REG_DMA1DAD_H, 0xc2 - .set OFFSET_REG_DMA1CNT, 0xc4 - .set OFFSET_REG_DMA1CNT_L, 0xc4 - .set OFFSET_REG_DMA1CNT_H, 0xc6 - .set OFFSET_REG_DMA2, 0xc8 - .set OFFSET_REG_DMA2SAD, 0xc8 - .set OFFSET_REG_DMA2SAD_L, 0xc8 - .set OFFSET_REG_DMA2SAD_H, 0xca - .set OFFSET_REG_DMA2DAD, 0xcc - .set OFFSET_REG_DMA2DAD_L, 0xcc - .set OFFSET_REG_DMA2DAD_H, 0xce - .set OFFSET_REG_DMA2CNT, 0xd0 - .set OFFSET_REG_DMA2CNT_L, 0xd0 - .set OFFSET_REG_DMA2CNT_H, 0xd2 - .set OFFSET_REG_DMA3, 0xd4 - .set OFFSET_REG_DMA3SAD, 0xd4 - .set OFFSET_REG_DMA3SAD_L, 0xd4 - .set OFFSET_REG_DMA3SAD_H, 0xd6 - .set OFFSET_REG_DMA3DAD, 0xd8 - .set OFFSET_REG_DMA3DAD_L, 0xd8 - .set OFFSET_REG_DMA3DAD_H, 0xda - .set OFFSET_REG_DMA3CNT, 0xdc - .set OFFSET_REG_DMA3CNT_L, 0xdc - .set OFFSET_REG_DMA3CNT_H, 0xde - - .set OFFSET_REG_TM0CNT, 0x100 - .set OFFSET_REG_TM0CNT_L, 0x100 - .set OFFSET_REG_TM0CNT_H, 0x102 - .set OFFSET_REG_TM1CNT, 0x104 - .set OFFSET_REG_TM1CNT_L, 0x104 - .set OFFSET_REG_TM1CNT_H, 0x106 - .set OFFSET_REG_TM2CNT, 0x108 - .set OFFSET_REG_TM2CNT_L, 0x108 - .set OFFSET_REG_TM2CNT_H, 0x10a - .set OFFSET_REG_TM3CNT, 0x10c - .set OFFSET_REG_TM3CNT_L, 0x10c - .set OFFSET_REG_TM3CNT_H, 0x10e - - .set OFFSET_REG_SIOCNT, 0x128 - .set OFFSET_REG_SIODATA8, 0x12a - .set OFFSET_REG_SIODATA32, 0x120 - .set OFFSET_REG_SIOMLT_SEND, 0x12a - .set OFFSET_REG_SIOMLT_RECV, 0x120 - .set OFFSET_REG_SIOMULTI0, 0x120 - .set OFFSET_REG_SIOMULTI1, 0x122 - .set OFFSET_REG_SIOMULTI2, 0x124 - .set OFFSET_REG_SIOMULTI3, 0x126 - - .set OFFSET_REG_KEYINPUT, 0x130 - .set OFFSET_REG_KEYCNT, 0x132 - - .set OFFSET_REG_RCNT, 0x134 - - .set OFFSET_REG_JOYCNT, 0x140 - .set OFFSET_REG_JOYSTAT, 0x158 - .set OFFSET_REG_JOY_RECV, 0x150 - .set OFFSET_REG_JOY_RECV_L, 0x150 - .set OFFSET_REG_JOY_RECV_H, 0x152 - .set OFFSET_REG_JOY_TRANS, 0x154 - .set OFFSET_REG_JOY_TRANS_L, 0x154 - .set OFFSET_REG_JOY_TRANS_H, 0x156 - - .set OFFSET_REG_IME, 0x208 - .set OFFSET_REG_IE, 0x200 - .set OFFSET_REG_IF, 0x202 - - .set OFFSET_REG_WAITCNT, 0x204 - -@ I/O register addresses - .set REG_DISPCNT, REG_BASE + OFFSET_REG_DISPCNT - .set REG_DISPSTAT, REG_BASE + OFFSET_REG_DISPSTAT - .set REG_VCOUNT, REG_BASE + OFFSET_REG_VCOUNT - .set REG_BG0CNT, REG_BASE + OFFSET_REG_BG0CNT - .set REG_BG1CNT, REG_BASE + OFFSET_REG_BG1CNT - .set REG_BG2CNT, REG_BASE + OFFSET_REG_BG2CNT - .set REG_BG3CNT, REG_BASE + OFFSET_REG_BG3CNT - .set REG_BG0HOFS, REG_BASE + OFFSET_REG_BG0HOFS - .set REG_BG0VOFS, REG_BASE + OFFSET_REG_BG0VOFS - .set REG_BG1HOFS, REG_BASE + OFFSET_REG_BG1HOFS - .set REG_BG1VOFS, REG_BASE + OFFSET_REG_BG1VOFS - .set REG_BG2HOFS, REG_BASE + OFFSET_REG_BG2HOFS - .set REG_BG2VOFS, REG_BASE + OFFSET_REG_BG2VOFS - .set REG_BG3HOFS, REG_BASE + OFFSET_REG_BG3HOFS - .set REG_BG3VOFS, REG_BASE + OFFSET_REG_BG3VOFS - .set REG_BG2PA, REG_BASE + OFFSET_REG_BG2PA - .set REG_BG2PB, REG_BASE + OFFSET_REG_BG2PB - .set REG_BG2PC, REG_BASE + OFFSET_REG_BG2PC - .set REG_BG2PD, REG_BASE + OFFSET_REG_BG2PD - .set REG_BG2X_L, REG_BASE + OFFSET_REG_BG2X_L - .set REG_BG2X_H, REG_BASE + OFFSET_REG_BG2X_H - .set REG_BG2Y_L, REG_BASE + OFFSET_REG_BG2Y_L - .set REG_BG2Y_H, REG_BASE + OFFSET_REG_BG2Y_H - .set REG_BG3PA, REG_BASE + OFFSET_REG_BG3PA - .set REG_BG3PB, REG_BASE + OFFSET_REG_BG3PB - .set REG_BG3PC, REG_BASE + OFFSET_REG_BG3PC - .set REG_BG3PD, REG_BASE + OFFSET_REG_BG3PD - .set REG_BG3X_L, REG_BASE + OFFSET_REG_BG3X_L - .set REG_BG3X_H, REG_BASE + OFFSET_REG_BG3X_H - .set REG_BG3Y_L, REG_BASE + OFFSET_REG_BG3Y_L - .set REG_BG3Y_H, REG_BASE + OFFSET_REG_BG3Y_H - .set REG_WIN0H, REG_BASE + OFFSET_REG_WIN0H - .set REG_WIN1H, REG_BASE + OFFSET_REG_WIN1H - .set REG_WIN0V, REG_BASE + OFFSET_REG_WIN0V - .set REG_WIN1V, REG_BASE + OFFSET_REG_WIN1V - .set REG_WININ, REG_BASE + OFFSET_REG_WININ - .set REG_WINOUT, REG_BASE + OFFSET_REG_WINOUT - .set REG_MOSAIC, REG_BASE + OFFSET_REG_MOSAIC - .set REG_BLDCNT, REG_BASE + OFFSET_REG_BLDCNT - .set REG_BLDALPHA, REG_BASE + OFFSET_REG_BLDALPHA - .set REG_BLDY, REG_BASE + OFFSET_REG_BLDY - - .set REG_SOUND1CNT, REG_BASE + OFFSET_REG_SOUND1CNT - .set REG_SOUND1CNT_L, REG_BASE + OFFSET_REG_SOUND1CNT_L - .set REG_NR10, REG_BASE + OFFSET_REG_NR10 - .set REG_SOUND1CNT_H, REG_BASE + OFFSET_REG_SOUND1CNT_H - .set REG_NR11, REG_BASE + OFFSET_REG_NR11 - .set REG_NR12, REG_BASE + OFFSET_REG_NR12 - .set REG_SOUND1CNT_X, REG_BASE + OFFSET_REG_SOUND1CNT_X - .set REG_NR13, REG_BASE + OFFSET_REG_NR13 - .set REG_NR14, REG_BASE + OFFSET_REG_NR14 - .set REG_SOUND2CNT, REG_BASE + OFFSET_REG_SOUND2CNT - .set REG_SOUND2CNT_L, REG_BASE + OFFSET_REG_SOUND2CNT_L - .set REG_NR21, REG_BASE + OFFSET_REG_NR21 - .set REG_NR22, REG_BASE + OFFSET_REG_NR22 - .set REG_SOUND2CNT_H, REG_BASE + OFFSET_REG_SOUND2CNT_H - .set REG_NR23, REG_BASE + OFFSET_REG_NR23 - .set REG_NR24, REG_BASE + OFFSET_REG_NR24 - .set REG_SOUND3CNT, REG_BASE + OFFSET_REG_SOUND3CNT - .set REG_SOUND3CNT_L, REG_BASE + OFFSET_REG_SOUND3CNT_L - .set REG_NR30, REG_BASE + OFFSET_REG_NR30 - .set REG_SOUND3CNT_H, REG_BASE + OFFSET_REG_SOUND3CNT_H - .set REG_NR31, REG_BASE + OFFSET_REG_NR31 - .set REG_NR32, REG_BASE + OFFSET_REG_NR32 - .set REG_SOUND3CNT_X, REG_BASE + OFFSET_REG_SOUND3CNT_X - .set REG_NR33, REG_BASE + OFFSET_REG_NR33 - .set REG_NR34, REG_BASE + OFFSET_REG_NR34 - .set REG_SOUND4CNT, REG_BASE + OFFSET_REG_SOUND4CNT - .set REG_SOUND4CNT_L, REG_BASE + OFFSET_REG_SOUND4CNT_L - .set REG_NR41, REG_BASE + OFFSET_REG_NR41 - .set REG_NR42, REG_BASE + OFFSET_REG_NR42 - .set REG_SOUND4CNT_H, REG_BASE + OFFSET_REG_SOUND4CNT_H - .set REG_NR43, REG_BASE + OFFSET_REG_NR43 - .set REG_NR44, REG_BASE + OFFSET_REG_NR44 - .set REG_SOUNDCNT, REG_BASE + OFFSET_REG_SOUNDCNT - .set REG_SOUNDCNT_L, REG_BASE + OFFSET_REG_SOUNDCNT_L - .set REG_NR50, REG_BASE + OFFSET_REG_NR50 - .set REG_NR51, REG_BASE + OFFSET_REG_NR51 - .set REG_SOUNDCNT_H, REG_BASE + OFFSET_REG_SOUNDCNT_H - .set REG_SOUNDCNT_X, REG_BASE + OFFSET_REG_SOUNDCNT_X - .set REG_NR52, REG_BASE + OFFSET_REG_NR52 - .set REG_SOUNDBIAS, REG_BASE + OFFSET_REG_SOUNDBIAS - .set REG_WAVE_RAM, REG_BASE + OFFSET_REG_WAVE_RAM - .set REG_WAVE_RAM0, REG_BASE + OFFSET_REG_WAVE_RAM0 - .set REG_WAVE_RAM0_L, REG_BASE + OFFSET_REG_WAVE_RAM0_L - .set REG_WAVE_RAM0_H, REG_BASE + OFFSET_REG_WAVE_RAM0_H - .set REG_WAVE_RAM1, REG_BASE + OFFSET_REG_WAVE_RAM1 - .set REG_WAVE_RAM1_L, REG_BASE + OFFSET_REG_WAVE_RAM1_L - .set REG_WAVE_RAM1_H, REG_BASE + OFFSET_REG_WAVE_RAM1_H - .set REG_WAVE_RAM2, REG_BASE + OFFSET_REG_WAVE_RAM2 - .set REG_WAVE_RAM2_L, REG_BASE + OFFSET_REG_WAVE_RAM2_L - .set REG_WAVE_RAM2_H, REG_BASE + OFFSET_REG_WAVE_RAM2_H - .set REG_WAVE_RAM3, REG_BASE + OFFSET_REG_WAVE_RAM3 - .set REG_WAVE_RAM3_L, REG_BASE + OFFSET_REG_WAVE_RAM3_L - .set REG_WAVE_RAM3_H, REG_BASE + OFFSET_REG_WAVE_RAM3_H - .set REG_FIFO, REG_BASE + OFFSET_REG_FIFO - .set REG_FIFO_A, REG_BASE + OFFSET_REG_FIFO_A - .set REG_FIFO_A_L, REG_BASE + OFFSET_REG_FIFO_A_L - .set REG_FIFO_A_H, REG_BASE + OFFSET_REG_FIFO_A_H - .set REG_FIFO_B, REG_BASE + OFFSET_REG_FIFO_B - .set REG_FIFO_B_L, REG_BASE + OFFSET_REG_FIFO_B_L - .set REG_FIFO_B_H, REG_BASE + OFFSET_REG_FIFO_B_H - - .set REG_DMA0, REG_BASE + OFFSET_REG_DMA0 - .set REG_DMA0SAD, REG_BASE + OFFSET_REG_DMA0SAD - .set REG_DMA0SAD_L, REG_BASE + OFFSET_REG_DMA0SAD_L - .set REG_DMA0SAD_H, REG_BASE + OFFSET_REG_DMA0SAD_H - .set REG_DMA0DAD, REG_BASE + OFFSET_REG_DMA0DAD - .set REG_DMA0DAD_L, REG_BASE + OFFSET_REG_DMA0DAD_L - .set REG_DMA0DAD_H, REG_BASE + OFFSET_REG_DMA0DAD_H - .set REG_DMA0CNT, REG_BASE + OFFSET_REG_DMA0CNT - .set REG_DMA0CNT_L, REG_BASE + OFFSET_REG_DMA0CNT_L - .set REG_DMA0CNT_H, REG_BASE + OFFSET_REG_DMA0CNT_H - .set REG_DMA1, REG_BASE + OFFSET_REG_DMA1 - .set REG_DMA1SAD, REG_BASE + OFFSET_REG_DMA1SAD - .set REG_DMA1SAD_L, REG_BASE + OFFSET_REG_DMA1SAD_L - .set REG_DMA1SAD_H, REG_BASE + OFFSET_REG_DMA1SAD_H - .set REG_DMA1DAD, REG_BASE + OFFSET_REG_DMA1DAD - .set REG_DMA1DAD_L, REG_BASE + OFFSET_REG_DMA1DAD_L - .set REG_DMA1DAD_H, REG_BASE + OFFSET_REG_DMA1DAD_H - .set REG_DMA1CNT, REG_BASE + OFFSET_REG_DMA1CNT - .set REG_DMA1CNT_L, REG_BASE + OFFSET_REG_DMA1CNT_L - .set REG_DMA1CNT_H, REG_BASE + OFFSET_REG_DMA1CNT_H - .set REG_DMA2, REG_BASE + OFFSET_REG_DMA2 - .set REG_DMA2SAD, REG_BASE + OFFSET_REG_DMA2SAD - .set REG_DMA2SAD_L, REG_BASE + OFFSET_REG_DMA2SAD_L - .set REG_DMA2SAD_H, REG_BASE + OFFSET_REG_DMA2SAD_H - .set REG_DMA2DAD, REG_BASE + OFFSET_REG_DMA2DAD - .set REG_DMA2DAD_L, REG_BASE + OFFSET_REG_DMA2DAD_L - .set REG_DMA2DAD_H, REG_BASE + OFFSET_REG_DMA2DAD_H - .set REG_DMA2CNT, REG_BASE + OFFSET_REG_DMA2CNT - .set REG_DMA2CNT_L, REG_BASE + OFFSET_REG_DMA2CNT_L - .set REG_DMA2CNT_H, REG_BASE + OFFSET_REG_DMA2CNT_H - .set REG_DMA3, REG_BASE + OFFSET_REG_DMA3 - .set REG_DMA3SAD, REG_BASE + OFFSET_REG_DMA3SAD - .set REG_DMA3SAD_L, REG_BASE + OFFSET_REG_DMA3SAD_L - .set REG_DMA3SAD_H, REG_BASE + OFFSET_REG_DMA3SAD_H - .set REG_DMA3DAD, REG_BASE + OFFSET_REG_DMA3DAD - .set REG_DMA3DAD_L, REG_BASE + OFFSET_REG_DMA3DAD_L - .set REG_DMA3DAD_H, REG_BASE + OFFSET_REG_DMA3DAD_H - .set REG_DMA3CNT, REG_BASE + OFFSET_REG_DMA3CNT - .set REG_DMA3CNT_L, REG_BASE + OFFSET_REG_DMA3CNT_L - .set REG_DMA3CNT_H, REG_BASE + OFFSET_REG_DMA3CNT_H - - .set REG_TM0CNT, REG_BASE + OFFSET_REG_TM0CNT - .set REG_TM0CNT_L, REG_BASE + OFFSET_REG_TM0CNT_L - .set REG_TM0CNT_H, REG_BASE + OFFSET_REG_TM0CNT_H - .set REG_TM1CNT, REG_BASE + OFFSET_REG_TM1CNT - .set REG_TM1CNT_L, REG_BASE + OFFSET_REG_TM1CNT_L - .set REG_TM1CNT_H, REG_BASE + OFFSET_REG_TM1CNT_H - .set REG_TM2CNT, REG_BASE + OFFSET_REG_TM2CNT - .set REG_TM2CNT_L, REG_BASE + OFFSET_REG_TM2CNT_L - .set REG_TM2CNT_H, REG_BASE + OFFSET_REG_TM2CNT_H - .set REG_TM3CNT, REG_BASE + OFFSET_REG_TM3CNT - .set REG_TM3CNT_L, REG_BASE + OFFSET_REG_TM3CNT_L - .set REG_TM3CNT_H, REG_BASE + OFFSET_REG_TM3CNT_H - - .set REG_SIOCNT, REG_BASE + OFFSET_REG_SIOCNT - .set REG_SIODATA8, REG_BASE + OFFSET_REG_SIODATA8 - .set REG_SIODATA32, REG_BASE + OFFSET_REG_SIODATA32 - .set REG_SIOMLT_SEND, REG_BASE + OFFSET_REG_SIOMLT_SEND - .set REG_SIOMLT_RECV, REG_BASE + OFFSET_REG_SIOMLT_RECV - .set REG_SIOMULTI0, REG_BASE + OFFSET_REG_SIOMULTI0 - .set REG_SIOMULTI1, REG_BASE + OFFSET_REG_SIOMULTI1 - .set REG_SIOMULTI2, REG_BASE + OFFSET_REG_SIOMULTI2 - .set REG_SIOMULTI3, REG_BASE + OFFSET_REG_SIOMULTI3 - - .set REG_KEYINPUT, REG_BASE + OFFSET_REG_KEYINPUT - .set REG_KEYCNT, REG_BASE + OFFSET_REG_KEYCNT - - .set REG_RCNT, REG_BASE + OFFSET_REG_RCNT - - .set REG_JOYCNT, REG_BASE + OFFSET_REG_JOYCNT - .set REG_JOYSTAT, REG_BASE + OFFSET_REG_JOYSTAT - .set REG_JOY_RECV, REG_BASE + OFFSET_REG_JOY_RECV - .set REG_JOY_RECV_L, REG_BASE + OFFSET_REG_JOY_RECV_L - .set REG_JOY_RECV_H, REG_BASE + OFFSET_REG_JOY_RECV_H - .set REG_JOY_TRANS, REG_BASE + OFFSET_REG_JOY_TRANS - .set REG_JOY_TRANS_L, REG_BASE + OFFSET_REG_JOY_TRANS_L - .set REG_JOY_TRANS_H, REG_BASE + OFFSET_REG_JOY_TRANS_H - - .set REG_IME, REG_BASE + OFFSET_REG_IME - .set REG_IE, REG_BASE + OFFSET_REG_IE - .set REG_IF, REG_BASE + OFFSET_REG_IF - - .set REG_WAITCNT, REG_BASE + OFFSET_REG_WAITCNT - -@ DMA register constants - - .set DMA_DEST_INC, 0x0000 - .set DMA_DEST_DEC, 0x0020 - .set DMA_DEST_FIXED, 0x0040 - .set DMA_DEST_RELOAD, 0x0060 - .set DMA_SRC_INC, 0x0000 - .set DMA_SRC_DEC, 0x0080 - .set DMA_SRC_FIXED, 0x0100 - .set DMA_REPEAT, 0x0200 - .set DMA_16BIT, 0x0000 - .set DMA_32BIT, 0x0400 - .set DMA_DREQ_ON, 0x0800 - .set DMA_START_NOW, 0x0000 - .set DMA_START_VBLANK, 0x1000 - .set DMA_START_HBLANK, 0x2000 - .set DMA_START_SPECIAL, 0x3000 - .set DMA_INTR_ENABLE, 0x4000 - .set DMA_ENABLE, 0x8000 - -@ OAM attribute constants - - .set OAM_OBJ_NORMAL, 0x00000000 - .set OAM_OBJ_BLEND, 0x00000400 - .set OAM_OBJ_WINDOW, 0x00000800 - - .set OAM_AFFINE_NONE, 0x00000000 - .set OAM_AFFINE_NORMAL_SIZE, 0x00000100 - .set OAM_OBJ_DISABLED, 0x00000200 - .set OAM_AFFINE_DOUBLE_SIZE, 0x00000300 - - .set OAM_MOSAIC_OFF, 0x00000000 - .set OAM_MOSAIC_ON, 0x00001000 - - .set OAM_4BPP, 0x00000000 - .set OAM_8BPP, 0x00002000 - - .set OAM_H_FLIP, 0x10000000 - .set OAM_V_FLIP, 0x20000000 - - .set OAM_SQUARE, 0x00000000 - .set OAM_H_RECTANGLE, 0x00004000 - .set OAM_V_RECTANGLE, 0x00008000 - .set OAM_SIZE_0, 0x00000000 - .set OAM_SIZE_1, 0x40000000 - .set OAM_SIZE_2, 0x80000000 - .set OAM_SIZE_3, 0xc0000000 - - .set OAM_SIZE_8x8, OAM_SIZE_0 | OAM_SQUARE - .set OAM_SIZE_16x16, OAM_SIZE_1 | OAM_SQUARE - .set OAM_SIZE_32x32, OAM_SIZE_2 | OAM_SQUARE - .set OAM_SIZE_64x64, OAM_SIZE_3 | OAM_SQUARE - - .set OAM_SIZE_16x8, OAM_SIZE_0 | OAM_H_RECTANGLE - .set OAM_SIZE_32x8, OAM_SIZE_1 | OAM_H_RECTANGLE - .set OAM_SIZE_32x16, OAM_SIZE_2 | OAM_H_RECTANGLE - .set OAM_SIZE_64x32, OAM_SIZE_3 | OAM_H_RECTANGLE - - .set OAM_SIZE_8x16, OAM_SIZE_0 | OAM_V_RECTANGLE - .set OAM_SIZE_8x32, OAM_SIZE_1 | OAM_V_RECTANGLE - .set OAM_SIZE_16x32, OAM_SIZE_2 | OAM_V_RECTANGLE - .set OAM_SIZE_32x64, OAM_SIZE_3 | OAM_V_RECTANGLE diff --git a/berry_fix/payload/asm/crt0.s b/berry_fix/payload/asm/crt0.s index 66536914a..73da8a38f 100644 --- a/berry_fix/payload/asm/crt0.s +++ b/berry_fix/payload/asm/crt0.s @@ -1,6 +1,6 @@ - .include "asm/macros/asm.inc" - .include "asm/macros/function.inc" - .include "constants/gba_constants.inc" + .include "../../asm/macros/asm.inc" + .include "../../asm/macros/function.inc" + .include "../../constants/gba_constants.inc" .syntax unified diff --git a/berry_fix/payload/asm/macros/asm.inc b/berry_fix/payload/asm/macros/asm.inc deleted file mode 100644 index 4ac003fab..000000000 --- a/berry_fix/payload/asm/macros/asm.inc +++ /dev/null @@ -1,12 +0,0 @@ - .macro inc x - .set \x, \x + 1 - .endm - - .macro enum_start x=0 - .set __enum__, \x - .endm - - .macro enum constant - .equiv \constant, __enum__ - inc __enum__ - .endm diff --git a/berry_fix/payload/asm/macros/function.inc b/berry_fix/payload/asm/macros/function.inc deleted file mode 100644 index b109595df..000000000 --- a/berry_fix/payload/asm/macros/function.inc +++ /dev/null @@ -1,29 +0,0 @@ - .macro arm_func_start name - .align 2, 0 - .global \name - .arm - .type \name, %function - .endm - - .macro arm_func_end name - .size \name, .-\name - .endm - - .macro thumb_func_start name - .align 2, 0 - .global \name - .thumb - .thumb_func - .type \name, %function - .endm - - .macro non_word_aligned_thumb_func_start name - .global \name - .thumb - .thumb_func - .type \name, %function - .endm - - .macro thumb_func_end name - .size \name, .-\name - .endm diff --git a/berry_fix/payload/constants/gba_constants.inc b/berry_fix/payload/constants/gba_constants.inc deleted file mode 100644 index 9d59c8fcd..000000000 --- a/berry_fix/payload/constants/gba_constants.inc +++ /dev/null @@ -1,490 +0,0 @@ - .set PSR_USR_MODE, 0x00000010 - .set PSR_FIQ_MODE, 0x00000011 - .set PSR_IRQ_MODE, 0x00000012 - .set PSR_SVC_MODE, 0x00000013 - .set PSR_ABT_MODE, 0x00000017 - .set PSR_UND_MODE, 0x0000001b - .set PSR_SYS_MODE, 0x0000001f - .set PSR_MODE_MASK, 0x0000001f - .set PSR_T_BIT, 0x00000020 - .set PSR_F_BIT, 0x00000040 - .set PSR_I_BIT, 0x00000080 - - .set EWRAM_START, 0x02000000 - .set EWRAM_END, EWRAM_START + 0x40000 - .set IWRAM_START, 0x03000000 - .set IWRAM_END, IWRAM_START + 0x8000 - - .set PLTT, 0x5000000 - .set BG_PLTT, PLTT - .set OBJ_PLTT, PLTT + 0x200 - - .set VRAM, 0x6000000 - .set BG_VRAM, VRAM - .set OBJ_VRAM0, VRAM + 0x10000 @ text-mode BG - .set OBJ_VRAM1, VRAM + 0x14000 @ bitmap-mode BG - - .set OAM, 0x7000000 - - .set SOUND_INFO_PTR, 0x3007FF0 - .set INTR_CHECK, 0x3007FF8 - .set INTR_VECTOR, 0x3007FFC - - .set INTR_FLAG_VBLANK, 1 << 0 - .set INTR_FLAG_HBLANK, 1 << 1 - .set INTR_FLAG_VCOUNT, 1 << 2 - .set INTR_FLAG_TIMER0, 1 << 3 - .set INTR_FLAG_TIMER1, 1 << 4 - .set INTR_FLAG_TIMER2, 1 << 5 - .set INTR_FLAG_TIMER3, 1 << 6 - .set INTR_FLAG_SERIAL, 1 << 7 - .set INTR_FLAG_DMA0, 1 << 8 - .set INTR_FLAG_DMA1, 1 << 9 - .set INTR_FLAG_DMA2, 1 << 10 - .set INTR_FLAG_DMA3, 1 << 11 - .set INTR_FLAG_KEYPAD, 1 << 12 - .set INTR_FLAG_GAMEPAK, 1 << 13 - - .set VCOUNT_VBLANK, 160 - .set TOTAL_SCANLINES, 228 - - .set REG_BASE, 0x4000000 @ I/O register base address - -@ I/O register offsets - .set OFFSET_REG_DISPCNT, 0x0 - .set OFFSET_REG_DISPSTAT, 0x4 - .set OFFSET_REG_VCOUNT, 0x6 - .set OFFSET_REG_BG0CNT, 0x8 - .set OFFSET_REG_BG1CNT, 0xa - .set OFFSET_REG_BG2CNT, 0xc - .set OFFSET_REG_BG3CNT, 0xe - .set OFFSET_REG_BG0HOFS, 0x10 - .set OFFSET_REG_BG0VOFS, 0x12 - .set OFFSET_REG_BG1HOFS, 0x14 - .set OFFSET_REG_BG1VOFS, 0x16 - .set OFFSET_REG_BG2HOFS, 0x18 - .set OFFSET_REG_BG2VOFS, 0x1a - .set OFFSET_REG_BG3HOFS, 0x1c - .set OFFSET_REG_BG3VOFS, 0x1e - .set OFFSET_REG_BG2PA, 0x20 - .set OFFSET_REG_BG2PB, 0x22 - .set OFFSET_REG_BG2PC, 0x24 - .set OFFSET_REG_BG2PD, 0x26 - .set OFFSET_REG_BG2X_L, 0x28 - .set OFFSET_REG_BG2X_H, 0x2a - .set OFFSET_REG_BG2Y_L, 0x2c - .set OFFSET_REG_BG2Y_H, 0x2e - .set OFFSET_REG_BG3PA, 0x30 - .set OFFSET_REG_BG3PB, 0x32 - .set OFFSET_REG_BG3PC, 0x34 - .set OFFSET_REG_BG3PD, 0x36 - .set OFFSET_REG_BG3X_L, 0x38 - .set OFFSET_REG_BG3X_H, 0x3a - .set OFFSET_REG_BG3Y_L, 0x3c - .set OFFSET_REG_BG3Y_H, 0x3e - .set OFFSET_REG_WIN0H, 0x40 - .set OFFSET_REG_WIN1H, 0x42 - .set OFFSET_REG_WIN0V, 0x44 - .set OFFSET_REG_WIN1V, 0x46 - .set OFFSET_REG_WININ, 0x48 - .set OFFSET_REG_WINOUT, 0x4a - .set OFFSET_REG_MOSAIC, 0x4c - .set OFFSET_REG_BLDCNT, 0x50 - .set OFFSET_REG_BLDALPHA, 0x52 - .set OFFSET_REG_BLDY, 0x54 - - .set OFFSET_REG_SOUND1CNT, 0x60 - .set OFFSET_REG_SOUND1CNT_L, 0x60 - .set OFFSET_REG_NR10, 0x60 - .set OFFSET_REG_SOUND1CNT_H, 0x62 - .set OFFSET_REG_NR11, 0x62 - .set OFFSET_REG_NR12, 0x63 - .set OFFSET_REG_SOUND1CNT_X, 0x64 - .set OFFSET_REG_NR13, 0x64 - .set OFFSET_REG_NR14, 0x65 - .set OFFSET_REG_SOUND2CNT, 0x68 - .set OFFSET_REG_SOUND2CNT_L, 0x68 - .set OFFSET_REG_NR21, 0x68 - .set OFFSET_REG_NR22, 0x69 - .set OFFSET_REG_SOUND2CNT_H, 0x6c - .set OFFSET_REG_NR23, 0x6c - .set OFFSET_REG_NR24, 0x6d - .set OFFSET_REG_SOUND3CNT, 0x70 - .set OFFSET_REG_SOUND3CNT_L, 0x70 - .set OFFSET_REG_NR30, 0x70 - .set OFFSET_REG_SOUND3CNT_H, 0x72 - .set OFFSET_REG_NR31, 0x72 - .set OFFSET_REG_NR32, 0x73 - .set OFFSET_REG_SOUND3CNT_X, 0x74 - .set OFFSET_REG_NR33, 0x74 - .set OFFSET_REG_NR34, 0x75 - .set OFFSET_REG_SOUND4CNT, 0x78 - .set OFFSET_REG_SOUND4CNT_L, 0x78 - .set OFFSET_REG_NR41, 0x78 - .set OFFSET_REG_NR42, 0x79 - .set OFFSET_REG_SOUND4CNT_H, 0x7c - .set OFFSET_REG_NR43, 0x7c - .set OFFSET_REG_NR44, 0x7d - .set OFFSET_REG_SOUNDCNT, 0x80 - .set OFFSET_REG_SOUNDCNT_L, 0x80 - .set OFFSET_REG_NR50, 0x80 - .set OFFSET_REG_NR51, 0x81 - .set OFFSET_REG_SOUNDCNT_H, 0x82 - .set OFFSET_REG_SOUNDCNT_X, 0x84 - .set OFFSET_REG_NR52, 0x84 - .set OFFSET_REG_SOUNDBIAS, 0x88 - .set OFFSET_REG_WAVE_RAM, 0x90 - .set OFFSET_REG_WAVE_RAM0, 0x90 - .set OFFSET_REG_WAVE_RAM0_L, 0x90 - .set OFFSET_REG_WAVE_RAM0_H, 0x92 - .set OFFSET_REG_WAVE_RAM1, 0x94 - .set OFFSET_REG_WAVE_RAM1_L, 0x94 - .set OFFSET_REG_WAVE_RAM1_H, 0x96 - .set OFFSET_REG_WAVE_RAM2, 0x98 - .set OFFSET_REG_WAVE_RAM2_L, 0x98 - .set OFFSET_REG_WAVE_RAM2_H, 0x9a - .set OFFSET_REG_WAVE_RAM3, 0x9c - .set OFFSET_REG_WAVE_RAM3_L, 0x9c - .set OFFSET_REG_WAVE_RAM3_H, 0x9e - .set OFFSET_REG_FIFO, 0xa0 - .set OFFSET_REG_FIFO_A, 0xa0 - .set OFFSET_REG_FIFO_A_L, 0xa0 - .set OFFSET_REG_FIFO_A_H, 0xa2 - .set OFFSET_REG_FIFO_B, 0xa4 - .set OFFSET_REG_FIFO_B_L, 0xa4 - .set OFFSET_REG_FIFO_B_H, 0xa6 - - .set OFFSET_REG_DMA0, 0xb0 - .set OFFSET_REG_DMA0SAD, 0xb0 - .set OFFSET_REG_DMA0SAD_L, 0xb0 - .set OFFSET_REG_DMA0SAD_H, 0xb2 - .set OFFSET_REG_DMA0DAD, 0xb4 - .set OFFSET_REG_DMA0DAD_L, 0xb4 - .set OFFSET_REG_DMA0DAD_H, 0xb6 - .set OFFSET_REG_DMA0CNT, 0xb8 - .set OFFSET_REG_DMA0CNT_L, 0xb8 - .set OFFSET_REG_DMA0CNT_H, 0xba - .set OFFSET_REG_DMA1, 0xbc - .set OFFSET_REG_DMA1SAD, 0xbc - .set OFFSET_REG_DMA1SAD_L, 0xbc - .set OFFSET_REG_DMA1SAD_H, 0xbe - .set OFFSET_REG_DMA1DAD, 0xc0 - .set OFFSET_REG_DMA1DAD_L, 0xc0 - .set OFFSET_REG_DMA1DAD_H, 0xc2 - .set OFFSET_REG_DMA1CNT, 0xc4 - .set OFFSET_REG_DMA1CNT_L, 0xc4 - .set OFFSET_REG_DMA1CNT_H, 0xc6 - .set OFFSET_REG_DMA2, 0xc8 - .set OFFSET_REG_DMA2SAD, 0xc8 - .set OFFSET_REG_DMA2SAD_L, 0xc8 - .set OFFSET_REG_DMA2SAD_H, 0xca - .set OFFSET_REG_DMA2DAD, 0xcc - .set OFFSET_REG_DMA2DAD_L, 0xcc - .set OFFSET_REG_DMA2DAD_H, 0xce - .set OFFSET_REG_DMA2CNT, 0xd0 - .set OFFSET_REG_DMA2CNT_L, 0xd0 - .set OFFSET_REG_DMA2CNT_H, 0xd2 - .set OFFSET_REG_DMA3, 0xd4 - .set OFFSET_REG_DMA3SAD, 0xd4 - .set OFFSET_REG_DMA3SAD_L, 0xd4 - .set OFFSET_REG_DMA3SAD_H, 0xd6 - .set OFFSET_REG_DMA3DAD, 0xd8 - .set OFFSET_REG_DMA3DAD_L, 0xd8 - .set OFFSET_REG_DMA3DAD_H, 0xda - .set OFFSET_REG_DMA3CNT, 0xdc - .set OFFSET_REG_DMA3CNT_L, 0xdc - .set OFFSET_REG_DMA3CNT_H, 0xde - - .set OFFSET_REG_TM0CNT, 0x100 - .set OFFSET_REG_TM0CNT_L, 0x100 - .set OFFSET_REG_TM0CNT_H, 0x102 - .set OFFSET_REG_TM1CNT, 0x104 - .set OFFSET_REG_TM1CNT_L, 0x104 - .set OFFSET_REG_TM1CNT_H, 0x106 - .set OFFSET_REG_TM2CNT, 0x108 - .set OFFSET_REG_TM2CNT_L, 0x108 - .set OFFSET_REG_TM2CNT_H, 0x10a - .set OFFSET_REG_TM3CNT, 0x10c - .set OFFSET_REG_TM3CNT_L, 0x10c - .set OFFSET_REG_TM3CNT_H, 0x10e - - .set OFFSET_REG_SIOCNT, 0x128 - .set OFFSET_REG_SIODATA8, 0x12a - .set OFFSET_REG_SIODATA32, 0x120 - .set OFFSET_REG_SIOMLT_SEND, 0x12a - .set OFFSET_REG_SIOMLT_RECV, 0x120 - .set OFFSET_REG_SIOMULTI0, 0x120 - .set OFFSET_REG_SIOMULTI1, 0x122 - .set OFFSET_REG_SIOMULTI2, 0x124 - .set OFFSET_REG_SIOMULTI3, 0x126 - - .set OFFSET_REG_KEYINPUT, 0x130 - .set OFFSET_REG_KEYCNT, 0x132 - - .set OFFSET_REG_RCNT, 0x134 - - .set OFFSET_REG_JOYCNT, 0x140 - .set OFFSET_REG_JOYSTAT, 0x158 - .set OFFSET_REG_JOY_RECV, 0x150 - .set OFFSET_REG_JOY_RECV_L, 0x150 - .set OFFSET_REG_JOY_RECV_H, 0x152 - .set OFFSET_REG_JOY_TRANS, 0x154 - .set OFFSET_REG_JOY_TRANS_L, 0x154 - .set OFFSET_REG_JOY_TRANS_H, 0x156 - - .set OFFSET_REG_IME, 0x208 - .set OFFSET_REG_IE, 0x200 - .set OFFSET_REG_IF, 0x202 - - .set OFFSET_REG_WAITCNT, 0x204 - -@ I/O register addresses - .set REG_DISPCNT, REG_BASE + OFFSET_REG_DISPCNT - .set REG_DISPSTAT, REG_BASE + OFFSET_REG_DISPSTAT - .set REG_VCOUNT, REG_BASE + OFFSET_REG_VCOUNT - .set REG_BG0CNT, REG_BASE + OFFSET_REG_BG0CNT - .set REG_BG1CNT, REG_BASE + OFFSET_REG_BG1CNT - .set REG_BG2CNT, REG_BASE + OFFSET_REG_BG2CNT - .set REG_BG3CNT, REG_BASE + OFFSET_REG_BG3CNT - .set REG_BG0HOFS, REG_BASE + OFFSET_REG_BG0HOFS - .set REG_BG0VOFS, REG_BASE + OFFSET_REG_BG0VOFS - .set REG_BG1HOFS, REG_BASE + OFFSET_REG_BG1HOFS - .set REG_BG1VOFS, REG_BASE + OFFSET_REG_BG1VOFS - .set REG_BG2HOFS, REG_BASE + OFFSET_REG_BG2HOFS - .set REG_BG2VOFS, REG_BASE + OFFSET_REG_BG2VOFS - .set REG_BG3HOFS, REG_BASE + OFFSET_REG_BG3HOFS - .set REG_BG3VOFS, REG_BASE + OFFSET_REG_BG3VOFS - .set REG_BG2PA, REG_BASE + OFFSET_REG_BG2PA - .set REG_BG2PB, REG_BASE + OFFSET_REG_BG2PB - .set REG_BG2PC, REG_BASE + OFFSET_REG_BG2PC - .set REG_BG2PD, REG_BASE + OFFSET_REG_BG2PD - .set REG_BG2X_L, REG_BASE + OFFSET_REG_BG2X_L - .set REG_BG2X_H, REG_BASE + OFFSET_REG_BG2X_H - .set REG_BG2Y_L, REG_BASE + OFFSET_REG_BG2Y_L - .set REG_BG2Y_H, REG_BASE + OFFSET_REG_BG2Y_H - .set REG_BG3PA, REG_BASE + OFFSET_REG_BG3PA - .set REG_BG3PB, REG_BASE + OFFSET_REG_BG3PB - .set REG_BG3PC, REG_BASE + OFFSET_REG_BG3PC - .set REG_BG3PD, REG_BASE + OFFSET_REG_BG3PD - .set REG_BG3X_L, REG_BASE + OFFSET_REG_BG3X_L - .set REG_BG3X_H, REG_BASE + OFFSET_REG_BG3X_H - .set REG_BG3Y_L, REG_BASE + OFFSET_REG_BG3Y_L - .set REG_BG3Y_H, REG_BASE + OFFSET_REG_BG3Y_H - .set REG_WIN0H, REG_BASE + OFFSET_REG_WIN0H - .set REG_WIN1H, REG_BASE + OFFSET_REG_WIN1H - .set REG_WIN0V, REG_BASE + OFFSET_REG_WIN0V - .set REG_WIN1V, REG_BASE + OFFSET_REG_WIN1V - .set REG_WININ, REG_BASE + OFFSET_REG_WININ - .set REG_WINOUT, REG_BASE + OFFSET_REG_WINOUT - .set REG_MOSAIC, REG_BASE + OFFSET_REG_MOSAIC - .set REG_BLDCNT, REG_BASE + OFFSET_REG_BLDCNT - .set REG_BLDALPHA, REG_BASE + OFFSET_REG_BLDALPHA - .set REG_BLDY, REG_BASE + OFFSET_REG_BLDY - - .set REG_SOUND1CNT, REG_BASE + OFFSET_REG_SOUND1CNT - .set REG_SOUND1CNT_L, REG_BASE + OFFSET_REG_SOUND1CNT_L - .set REG_NR10, REG_BASE + OFFSET_REG_NR10 - .set REG_SOUND1CNT_H, REG_BASE + OFFSET_REG_SOUND1CNT_H - .set REG_NR11, REG_BASE + OFFSET_REG_NR11 - .set REG_NR12, REG_BASE + OFFSET_REG_NR12 - .set REG_SOUND1CNT_X, REG_BASE + OFFSET_REG_SOUND1CNT_X - .set REG_NR13, REG_BASE + OFFSET_REG_NR13 - .set REG_NR14, REG_BASE + OFFSET_REG_NR14 - .set REG_SOUND2CNT, REG_BASE + OFFSET_REG_SOUND2CNT - .set REG_SOUND2CNT_L, REG_BASE + OFFSET_REG_SOUND2CNT_L - .set REG_NR21, REG_BASE + OFFSET_REG_NR21 - .set REG_NR22, REG_BASE + OFFSET_REG_NR22 - .set REG_SOUND2CNT_H, REG_BASE + OFFSET_REG_SOUND2CNT_H - .set REG_NR23, REG_BASE + OFFSET_REG_NR23 - .set REG_NR24, REG_BASE + OFFSET_REG_NR24 - .set REG_SOUND3CNT, REG_BASE + OFFSET_REG_SOUND3CNT - .set REG_SOUND3CNT_L, REG_BASE + OFFSET_REG_SOUND3CNT_L - .set REG_NR30, REG_BASE + OFFSET_REG_NR30 - .set REG_SOUND3CNT_H, REG_BASE + OFFSET_REG_SOUND3CNT_H - .set REG_NR31, REG_BASE + OFFSET_REG_NR31 - .set REG_NR32, REG_BASE + OFFSET_REG_NR32 - .set REG_SOUND3CNT_X, REG_BASE + OFFSET_REG_SOUND3CNT_X - .set REG_NR33, REG_BASE + OFFSET_REG_NR33 - .set REG_NR34, REG_BASE + OFFSET_REG_NR34 - .set REG_SOUND4CNT, REG_BASE + OFFSET_REG_SOUND4CNT - .set REG_SOUND4CNT_L, REG_BASE + OFFSET_REG_SOUND4CNT_L - .set REG_NR41, REG_BASE + OFFSET_REG_NR41 - .set REG_NR42, REG_BASE + OFFSET_REG_NR42 - .set REG_SOUND4CNT_H, REG_BASE + OFFSET_REG_SOUND4CNT_H - .set REG_NR43, REG_BASE + OFFSET_REG_NR43 - .set REG_NR44, REG_BASE + OFFSET_REG_NR44 - .set REG_SOUNDCNT, REG_BASE + OFFSET_REG_SOUNDCNT - .set REG_SOUNDCNT_L, REG_BASE + OFFSET_REG_SOUNDCNT_L - .set REG_NR50, REG_BASE + OFFSET_REG_NR50 - .set REG_NR51, REG_BASE + OFFSET_REG_NR51 - .set REG_SOUNDCNT_H, REG_BASE + OFFSET_REG_SOUNDCNT_H - .set REG_SOUNDCNT_X, REG_BASE + OFFSET_REG_SOUNDCNT_X - .set REG_NR52, REG_BASE + OFFSET_REG_NR52 - .set REG_SOUNDBIAS, REG_BASE + OFFSET_REG_SOUNDBIAS - .set REG_WAVE_RAM, REG_BASE + OFFSET_REG_WAVE_RAM - .set REG_WAVE_RAM0, REG_BASE + OFFSET_REG_WAVE_RAM0 - .set REG_WAVE_RAM0_L, REG_BASE + OFFSET_REG_WAVE_RAM0_L - .set REG_WAVE_RAM0_H, REG_BASE + OFFSET_REG_WAVE_RAM0_H - .set REG_WAVE_RAM1, REG_BASE + OFFSET_REG_WAVE_RAM1 - .set REG_WAVE_RAM1_L, REG_BASE + OFFSET_REG_WAVE_RAM1_L - .set REG_WAVE_RAM1_H, REG_BASE + OFFSET_REG_WAVE_RAM1_H - .set REG_WAVE_RAM2, REG_BASE + OFFSET_REG_WAVE_RAM2 - .set REG_WAVE_RAM2_L, REG_BASE + OFFSET_REG_WAVE_RAM2_L - .set REG_WAVE_RAM2_H, REG_BASE + OFFSET_REG_WAVE_RAM2_H - .set REG_WAVE_RAM3, REG_BASE + OFFSET_REG_WAVE_RAM3 - .set REG_WAVE_RAM3_L, REG_BASE + OFFSET_REG_WAVE_RAM3_L - .set REG_WAVE_RAM3_H, REG_BASE + OFFSET_REG_WAVE_RAM3_H - .set REG_FIFO, REG_BASE + OFFSET_REG_FIFO - .set REG_FIFO_A, REG_BASE + OFFSET_REG_FIFO_A - .set REG_FIFO_A_L, REG_BASE + OFFSET_REG_FIFO_A_L - .set REG_FIFO_A_H, REG_BASE + OFFSET_REG_FIFO_A_H - .set REG_FIFO_B, REG_BASE + OFFSET_REG_FIFO_B - .set REG_FIFO_B_L, REG_BASE + OFFSET_REG_FIFO_B_L - .set REG_FIFO_B_H, REG_BASE + OFFSET_REG_FIFO_B_H - - .set REG_DMA0, REG_BASE + OFFSET_REG_DMA0 - .set REG_DMA0SAD, REG_BASE + OFFSET_REG_DMA0SAD - .set REG_DMA0SAD_L, REG_BASE + OFFSET_REG_DMA0SAD_L - .set REG_DMA0SAD_H, REG_BASE + OFFSET_REG_DMA0SAD_H - .set REG_DMA0DAD, REG_BASE + OFFSET_REG_DMA0DAD - .set REG_DMA0DAD_L, REG_BASE + OFFSET_REG_DMA0DAD_L - .set REG_DMA0DAD_H, REG_BASE + OFFSET_REG_DMA0DAD_H - .set REG_DMA0CNT, REG_BASE + OFFSET_REG_DMA0CNT - .set REG_DMA0CNT_L, REG_BASE + OFFSET_REG_DMA0CNT_L - .set REG_DMA0CNT_H, REG_BASE + OFFSET_REG_DMA0CNT_H - .set REG_DMA1, REG_BASE + OFFSET_REG_DMA1 - .set REG_DMA1SAD, REG_BASE + OFFSET_REG_DMA1SAD - .set REG_DMA1SAD_L, REG_BASE + OFFSET_REG_DMA1SAD_L - .set REG_DMA1SAD_H, REG_BASE + OFFSET_REG_DMA1SAD_H - .set REG_DMA1DAD, REG_BASE + OFFSET_REG_DMA1DAD - .set REG_DMA1DAD_L, REG_BASE + OFFSET_REG_DMA1DAD_L - .set REG_DMA1DAD_H, REG_BASE + OFFSET_REG_DMA1DAD_H - .set REG_DMA1CNT, REG_BASE + OFFSET_REG_DMA1CNT - .set REG_DMA1CNT_L, REG_BASE + OFFSET_REG_DMA1CNT_L - .set REG_DMA1CNT_H, REG_BASE + OFFSET_REG_DMA1CNT_H - .set REG_DMA2, REG_BASE + OFFSET_REG_DMA2 - .set REG_DMA2SAD, REG_BASE + OFFSET_REG_DMA2SAD - .set REG_DMA2SAD_L, REG_BASE + OFFSET_REG_DMA2SAD_L - .set REG_DMA2SAD_H, REG_BASE + OFFSET_REG_DMA2SAD_H - .set REG_DMA2DAD, REG_BASE + OFFSET_REG_DMA2DAD - .set REG_DMA2DAD_L, REG_BASE + OFFSET_REG_DMA2DAD_L - .set REG_DMA2DAD_H, REG_BASE + OFFSET_REG_DMA2DAD_H - .set REG_DMA2CNT, REG_BASE + OFFSET_REG_DMA2CNT - .set REG_DMA2CNT_L, REG_BASE + OFFSET_REG_DMA2CNT_L - .set REG_DMA2CNT_H, REG_BASE + OFFSET_REG_DMA2CNT_H - .set REG_DMA3, REG_BASE + OFFSET_REG_DMA3 - .set REG_DMA3SAD, REG_BASE + OFFSET_REG_DMA3SAD - .set REG_DMA3SAD_L, REG_BASE + OFFSET_REG_DMA3SAD_L - .set REG_DMA3SAD_H, REG_BASE + OFFSET_REG_DMA3SAD_H - .set REG_DMA3DAD, REG_BASE + OFFSET_REG_DMA3DAD - .set REG_DMA3DAD_L, REG_BASE + OFFSET_REG_DMA3DAD_L - .set REG_DMA3DAD_H, REG_BASE + OFFSET_REG_DMA3DAD_H - .set REG_DMA3CNT, REG_BASE + OFFSET_REG_DMA3CNT - .set REG_DMA3CNT_L, REG_BASE + OFFSET_REG_DMA3CNT_L - .set REG_DMA3CNT_H, REG_BASE + OFFSET_REG_DMA3CNT_H - - .set REG_TM0CNT, REG_BASE + OFFSET_REG_TM0CNT - .set REG_TM0CNT_L, REG_BASE + OFFSET_REG_TM0CNT_L - .set REG_TM0CNT_H, REG_BASE + OFFSET_REG_TM0CNT_H - .set REG_TM1CNT, REG_BASE + OFFSET_REG_TM1CNT - .set REG_TM1CNT_L, REG_BASE + OFFSET_REG_TM1CNT_L - .set REG_TM1CNT_H, REG_BASE + OFFSET_REG_TM1CNT_H - .set REG_TM2CNT, REG_BASE + OFFSET_REG_TM2CNT - .set REG_TM2CNT_L, REG_BASE + OFFSET_REG_TM2CNT_L - .set REG_TM2CNT_H, REG_BASE + OFFSET_REG_TM2CNT_H - .set REG_TM3CNT, REG_BASE + OFFSET_REG_TM3CNT - .set REG_TM3CNT_L, REG_BASE + OFFSET_REG_TM3CNT_L - .set REG_TM3CNT_H, REG_BASE + OFFSET_REG_TM3CNT_H - - .set REG_SIOCNT, REG_BASE + OFFSET_REG_SIOCNT - .set REG_SIODATA8, REG_BASE + OFFSET_REG_SIODATA8 - .set REG_SIODATA32, REG_BASE + OFFSET_REG_SIODATA32 - .set REG_SIOMLT_SEND, REG_BASE + OFFSET_REG_SIOMLT_SEND - .set REG_SIOMLT_RECV, REG_BASE + OFFSET_REG_SIOMLT_RECV - .set REG_SIOMULTI0, REG_BASE + OFFSET_REG_SIOMULTI0 - .set REG_SIOMULTI1, REG_BASE + OFFSET_REG_SIOMULTI1 - .set REG_SIOMULTI2, REG_BASE + OFFSET_REG_SIOMULTI2 - .set REG_SIOMULTI3, REG_BASE + OFFSET_REG_SIOMULTI3 - - .set REG_KEYINPUT, REG_BASE + OFFSET_REG_KEYINPUT - .set REG_KEYCNT, REG_BASE + OFFSET_REG_KEYCNT - - .set REG_RCNT, REG_BASE + OFFSET_REG_RCNT - - .set REG_JOYCNT, REG_BASE + OFFSET_REG_JOYCNT - .set REG_JOYSTAT, REG_BASE + OFFSET_REG_JOYSTAT - .set REG_JOY_RECV, REG_BASE + OFFSET_REG_JOY_RECV - .set REG_JOY_RECV_L, REG_BASE + OFFSET_REG_JOY_RECV_L - .set REG_JOY_RECV_H, REG_BASE + OFFSET_REG_JOY_RECV_H - .set REG_JOY_TRANS, REG_BASE + OFFSET_REG_JOY_TRANS - .set REG_JOY_TRANS_L, REG_BASE + OFFSET_REG_JOY_TRANS_L - .set REG_JOY_TRANS_H, REG_BASE + OFFSET_REG_JOY_TRANS_H - - .set REG_IME, REG_BASE + OFFSET_REG_IME - .set REG_IE, REG_BASE + OFFSET_REG_IE - .set REG_IF, REG_BASE + OFFSET_REG_IF - - .set REG_WAITCNT, REG_BASE + OFFSET_REG_WAITCNT - -@ DMA register constants - - .set DMA_DEST_INC, 0x0000 - .set DMA_DEST_DEC, 0x0020 - .set DMA_DEST_FIXED, 0x0040 - .set DMA_DEST_RELOAD, 0x0060 - .set DMA_SRC_INC, 0x0000 - .set DMA_SRC_DEC, 0x0080 - .set DMA_SRC_FIXED, 0x0100 - .set DMA_REPEAT, 0x0200 - .set DMA_16BIT, 0x0000 - .set DMA_32BIT, 0x0400 - .set DMA_DREQ_ON, 0x0800 - .set DMA_START_NOW, 0x0000 - .set DMA_START_VBLANK, 0x1000 - .set DMA_START_HBLANK, 0x2000 - .set DMA_START_SPECIAL, 0x3000 - .set DMA_INTR_ENABLE, 0x4000 - .set DMA_ENABLE, 0x8000 - -@ OAM attribute constants - - .set OAM_OBJ_NORMAL, 0x00000000 - .set OAM_OBJ_BLEND, 0x00000400 - .set OAM_OBJ_WINDOW, 0x00000800 - - .set OAM_AFFINE_NONE, 0x00000000 - .set OAM_AFFINE_NORMAL_SIZE, 0x00000100 - .set OAM_OBJ_DISABLED, 0x00000200 - .set OAM_AFFINE_DOUBLE_SIZE, 0x00000300 - - .set OAM_MOSAIC_OFF, 0x00000000 - .set OAM_MOSAIC_ON, 0x00001000 - - .set OAM_4BPP, 0x00000000 - .set OAM_8BPP, 0x00002000 - - .set OAM_H_FLIP, 0x10000000 - .set OAM_V_FLIP, 0x20000000 - - .set OAM_SQUARE, 0x00000000 - .set OAM_H_RECTANGLE, 0x00004000 - .set OAM_V_RECTANGLE, 0x00008000 - .set OAM_SIZE_0, 0x00000000 - .set OAM_SIZE_1, 0x40000000 - .set OAM_SIZE_2, 0x80000000 - .set OAM_SIZE_3, 0xc0000000 - - .set OAM_SIZE_8x8, OAM_SIZE_0 | OAM_SQUARE - .set OAM_SIZE_16x16, OAM_SIZE_1 | OAM_SQUARE - .set OAM_SIZE_32x32, OAM_SIZE_2 | OAM_SQUARE - .set OAM_SIZE_64x64, OAM_SIZE_3 | OAM_SQUARE - - .set OAM_SIZE_16x8, OAM_SIZE_0 | OAM_H_RECTANGLE - .set OAM_SIZE_32x8, OAM_SIZE_1 | OAM_H_RECTANGLE - .set OAM_SIZE_32x16, OAM_SIZE_2 | OAM_H_RECTANGLE - .set OAM_SIZE_64x32, OAM_SIZE_3 | OAM_H_RECTANGLE - - .set OAM_SIZE_8x16, OAM_SIZE_0 | OAM_V_RECTANGLE - .set OAM_SIZE_8x32, OAM_SIZE_1 | OAM_V_RECTANGLE - .set OAM_SIZE_16x32, OAM_SIZE_2 | OAM_V_RECTANGLE - .set OAM_SIZE_32x64, OAM_SIZE_3 | OAM_V_RECTANGLE From fe9491f40931b9c3c391be723294154b99eda480 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 17 Dec 2018 09:47:09 -0500 Subject: [PATCH 216/222] Delete build_tools.sh --- berry_fix/build_tools.sh | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 berry_fix/build_tools.sh diff --git a/berry_fix/build_tools.sh b/berry_fix/build_tools.sh deleted file mode 100644 index d9eebf05c..000000000 --- a/berry_fix/build_tools.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -make -C tools/gbagfx CXX=${1:-g++} -make -C tools/scaninc CXX=${1:-g++} -make -C tools/preproc CXX=${1:-g++} -make -C tools/bin2c CXX=${1:-g++} -make -C tools/rsfont CXX=${1:-g++} -make -C tools/aif2pcm CXX=${1:-g++} -make -C tools/ramscrgen CXX=${1:-g++} -make -C tools/gbafix CXX=${1:-g++} -make -C tools/mid2agb CXX=${1:-g++} From 975b787e2059b33e5ae6c3c31c9da51a24414523 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 17 Dec 2018 09:49:19 -0500 Subject: [PATCH 217/222] Delete asmdiff.sh --- berry_fix/asmdiff.sh | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 berry_fix/asmdiff.sh diff --git a/berry_fix/asmdiff.sh b/berry_fix/asmdiff.sh deleted file mode 100644 index 4e14e106a..000000000 --- a/berry_fix/asmdiff.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -OBJDUMP="$DEVKITARM/bin/arm-none-eabi-objdump -D -bbinary -marmv4t -Mforce-thumb" -OPTIONS="--start-address=$(($1)) --stop-address=$(($1 + $2))" -$OBJDUMP $OPTIONS baserom.gba > baserom.dump -$OBJDUMP $OPTIONS berry_fix.gba > berry_fix.dump -diff -c baserom.dump berry_fix.dump From 808c3bcbbd5cf7b70bb5e6d5e09c77128319f58a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 17 Dec 2018 09:49:33 -0500 Subject: [PATCH 218/222] Delete asmdiff.sh --- berry_fix/payload/asmdiff.sh | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 berry_fix/payload/asmdiff.sh diff --git a/berry_fix/payload/asmdiff.sh b/berry_fix/payload/asmdiff.sh deleted file mode 100644 index 5f86ac620..000000000 --- a/berry_fix/payload/asmdiff.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -OBJDUMP="$DEVKITARM/bin/arm-none-eabi-objdump -D -bbinary -marmv4t -Mforce-thumb" -OPTIONS="--start-address=$(($1)) --stop-address=$(($1 + $2))" -$OBJDUMP $OPTIONS baserom.gba > baserom.dump -$OBJDUMP $OPTIONS payload.gba > payload.dump -diff baserom.dump payload.dump From 2761c0f0a5a0411020bd9853329d402b663121cd Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 17 Dec 2018 15:43:45 -0500 Subject: [PATCH 219/222] Drop devkitARM dependency entirely --- Makefile | 9 +++++---- berry_fix/Makefile | 9 +++++---- berry_fix/payload/Makefile | 9 +++++---- include/global.h | 2 +- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/Makefile b/Makefile index 431475026..a2059db74 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ -include $(DEVKITARM)/base_tools -export CPP := $(PREFIX)cpp -export LD := $(PREFIX)ld +AS := tools/binutils/bin/arm-none-eabi-as +CPP := $(CC) -E +LD := tools/binutils/bin/arm-none-eabi-ld +OBJCOPY := tools/binutils/bin/arm-none-eabi-objcopy TITLE := POKEMON FIRE GAME_CODE := BPRE @@ -166,7 +167,7 @@ $(OBJ_DIR)/ld_script.ld: ld_script.txt $(OBJ_DIR)/sym_bss.ld $(OBJ_DIR)/sym_comm cd $(OBJ_DIR) && sed -f ../../ld_script.sed ../../$< | sed "s#tools/#../../tools/#g" > ld_script.ld $(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS) - cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(LIB) + cd $(OBJ_DIR) && ../../$(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(LIB) $(ROM): $(ELF) $(OBJCOPY) -O binary $< $@ diff --git a/berry_fix/Makefile b/berry_fix/Makefile index ffe0cf251..d449fdbef 100644 --- a/berry_fix/Makefile +++ b/berry_fix/Makefile @@ -1,6 +1,7 @@ -include $(DEVKITARM)/base_tools -export CPP := $(PREFIX)cpp -export LD := $(PREFIX)ld +AS := ../tools/binutils/bin/arm-none-eabi-as +CPP := $(CC) -E +LD := ../tools/binutils/bin/arm-none-eabi-ld +OBJCOPY := ../tools/binutils/bin/arm-none-eabi-objcopy ifeq ($(OS),Windows_NT) EXE := .exe @@ -152,7 +153,7 @@ $(SONG_BUILDDIR)/%.o: $(SONG_SUBDIR)/%.s $(AS) $(ASFLAGS) -I sound -o $@ $< $(ELF): ld_script.txt $(OBJS) - cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ../ld_script.txt -o ../$@ + cd $(OBJ_DIR) && ../$(LD) $(LDFLAGS) -T ../ld_script.txt -o ../$@ $(ROM): $(ELF) $(OBJCOPY) -O binary $< $@ diff --git a/berry_fix/payload/Makefile b/berry_fix/payload/Makefile index e63d74234..b97556774 100644 --- a/berry_fix/payload/Makefile +++ b/berry_fix/payload/Makefile @@ -1,6 +1,7 @@ -include $(DEVKITARM)/base_tools -export CPP := $(PREFIX)cpp -export LD := $(PREFIX)ld +AS := ../../tools/binutils/bin/arm-none-eabi-as +CPP := $(CC) -E +LD := ../../tools/binutils/bin/arm-none-eabi-ld +OBJCOPY := ../../tools/binutils/bin/arm-none-eabi-objcopy ifeq ($(OS),Windows_NT) EXE := .exe @@ -152,7 +153,7 @@ $(OBJ_DIR)/ld_script.ld: ld_script.txt $(OBJ_DIR)/sym_bss.ld $(OBJ_DIR)/sym_comm cd $(OBJ_DIR) && sed -f ../../ld_script.sed ../$< | sed "s#tools/#../tools/#g" > ld_script.ld $(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS) - cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../$@ $(LIB) + cd $(OBJ_DIR) && ../$(LD) $(LDFLAGS) -T ld_script.ld -o ../$@ $(LIB) $(ROM): $(ELF) $(OBJCOPY) -O binary $< $@ diff --git a/include/global.h b/include/global.h index 775b3115e..1d2152af7 100644 --- a/include/global.h +++ b/include/global.h @@ -705,7 +705,7 @@ struct SaveBlock1 /*0x30D0*/ struct Roamer roamer; /*0x30EC*/ struct EnigmaBerry enigmaBerry; /*0x3120*/ struct MEventBuffers unk_3120; - /*0x348C*/ u8 filler_348C[0x190]; + /*0x348C*/ u8 filler_348C[400]; /*0x361C*/ struct RamScript ramScript; /*0x3A08*/ u8 filler3A08[12]; /*0x3A14*/ u8 seen2[DEX_FLAGS_NO]; From 74137d7448c62e462e39b373693bc4b9f0d72055 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 17 Dec 2018 15:45:15 -0500 Subject: [PATCH 220/222] Remove dkP dependency notes from INSTALL.md --- INSTALL.md | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index 5ba0ee484..745f70007 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,18 +1,11 @@ -Install [devkitARM](https://devkitpro.org/wiki/Getting_Started) (if you are on **Windows 10**, [do this instead](#windows-10)). - Run the following commands (first, see [this](#macos) if you are on **macOS** or [this](#old-windows) if you are on **old Windows**): - export DEVKITPRO=/opt/devkitpro - echo "export DEVKITPRO=$DEVKITPRO" >> ~/.bashrc - export DEVKITARM=$DEVKITPRO/devkitARM - echo "export DEVKITARM=$DEVKITARM" >> ~/.bashrc - git clone https://github.com/pret/pokefirered - git clone https://github.com/pret/agbcc + git clone https://github.com/pikalaxalt/agbcc -b new_layout_with_libs cd agbcc - ./build.sh - ./install.sh ../pokefirered + make + make install prefix=../pokefirered cd ../pokefirered @@ -49,7 +42,7 @@ If the command for building pokefirered.gba does not work, run `nproc` and use t ## Windows 10 -Install the [Windows Subsystem for Linux](https://docs.microsoft.com/windows/wsl/install-win10), then install [devkitARM](https://devkitpro.org/wiki/Getting_Started) inside the subsystem, and run the commands. +Install the [Windows Subsystem for Linux](https://docs.microsoft.com/windows/wsl/install-win10), and run the commands. ## Important note for all users From d141011e7fcc564625118e69649f965384cb5be7 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 20 Dec 2018 20:43:40 -0500 Subject: [PATCH 221/222] Track tools --- .gitignore | 2 +- tools/aif2pcm/.gitignore | 2 + tools/aif2pcm/LICENSE | 20 + tools/aif2pcm/Makefile | 15 + tools/aif2pcm/extended.c | 172 ++++++ tools/aif2pcm/main.c | 830 +++++++++++++++++++++++++++ tools/bin2c/.gitignore | 1 + tools/bin2c/LICENSE | 19 + tools/bin2c/Makefile | 13 + tools/bin2c/bin2c.c | 201 +++++++ tools/gbafix/.gitignore | 2 + tools/gbafix/COPYING | 674 ++++++++++++++++++++++ tools/gbafix/Makefile | 10 + tools/gbafix/gbafix.c | 289 ++++++++++ tools/gbagfx/.gitignore | 1 + tools/gbagfx/LICENSE | 19 + tools/gbagfx/Makefile | 18 + tools/gbagfx/convert_png.c | 254 +++++++++ tools/gbagfx/convert_png.h | 12 + tools/gbagfx/font.c | 326 +++++++++++ tools/gbagfx/font.h | 16 + tools/gbagfx/gfx.c | 535 ++++++++++++++++++ tools/gbagfx/gfx.h | 53 ++ tools/gbagfx/global.h | 31 + tools/gbagfx/jasc_pal.c | 172 ++++++ tools/gbagfx/jasc_pal.h | 9 + tools/gbagfx/lz.c | 153 +++++ tools/gbagfx/lz.h | 9 + tools/gbagfx/main.c | 539 ++++++++++++++++++ tools/gbagfx/options.h | 26 + tools/gbagfx/rl.c | 149 +++++ tools/gbagfx/rl.h | 9 + tools/gbagfx/util.c | 124 ++++ tools/gbagfx/util.h | 14 + tools/mid2agb/.gitignore | 1 + tools/mid2agb/LICENSE | 19 + tools/mid2agb/Makefile | 18 + tools/mid2agb/agb.cpp | 547 ++++++++++++++++++ tools/mid2agb/agb.h | 33 ++ tools/mid2agb/error.cpp | 36 ++ tools/mid2agb/error.h | 26 + tools/mid2agb/main.cpp | 233 ++++++++ tools/mid2agb/main.h | 39 ++ tools/mid2agb/midi.cpp | 964 ++++++++++++++++++++++++++++++++ tools/mid2agb/midi.h | 87 +++ tools/mid2agb/tables.cpp | 286 ++++++++++ tools/mid2agb/tables.h | 29 + tools/preproc/.gitignore | 1 + tools/preproc/LICENSE | 19 + tools/preproc/Makefile | 17 + tools/preproc/asm_file.cpp | 529 ++++++++++++++++++ tools/preproc/asm_file.h | 72 +++ tools/preproc/c_file.cpp | 429 ++++++++++++++ tools/preproc/c_file.h | 58 ++ tools/preproc/char_util.h | 71 +++ tools/preproc/charmap.cpp | 408 ++++++++++++++ tools/preproc/charmap.h | 64 +++ tools/preproc/preproc.cpp | 156 ++++++ tools/preproc/preproc.h | 54 ++ tools/preproc/string_parser.cpp | 355 ++++++++++++ tools/preproc/string_parser.h | 55 ++ tools/preproc/utf8.cpp | 92 +++ tools/preproc/utf8.h | 34 ++ tools/ramscrgen/.gitignore | 1 + tools/ramscrgen/LICENSE | 19 + tools/ramscrgen/Makefile | 15 + tools/ramscrgen/char_util.h | 71 +++ tools/ramscrgen/elf.cpp | 272 +++++++++ tools/ramscrgen/elf.h | 30 + tools/ramscrgen/main.cpp | 187 +++++++ tools/ramscrgen/ramscrgen.h | 49 ++ tools/ramscrgen/sym_file.cpp | 492 ++++++++++++++++ tools/ramscrgen/sym_file.h | 71 +++ tools/rsfont/.gitignore | 1 + tools/rsfont/LICENSE | 19 + tools/rsfont/Makefile | 15 + tools/rsfont/convert_png.c | 169 ++++++ tools/rsfont/convert_png.h | 11 + tools/rsfont/font.c | 455 +++++++++++++++ tools/rsfont/font.h | 30 + tools/rsfont/gfx.h | 50 ++ tools/rsfont/global.h | 31 + tools/rsfont/main.c | 93 +++ tools/rsfont/util.c | 124 ++++ tools/rsfont/util.h | 14 + tools/scaninc/.gitignore | 1 + tools/scaninc/LICENSE | 19 + tools/scaninc/Makefile | 15 + tools/scaninc/asm_file.cpp | 191 +++++++ tools/scaninc/asm_file.h | 119 ++++ tools/scaninc/c_file.cpp | 307 ++++++++++ tools/scaninc/c_file.h | 57 ++ tools/scaninc/scaninc.cpp | 165 ++++++ tools/scaninc/scaninc.h | 59 ++ 94 files changed, 12602 insertions(+), 1 deletion(-) create mode 100644 tools/aif2pcm/.gitignore create mode 100644 tools/aif2pcm/LICENSE create mode 100644 tools/aif2pcm/Makefile create mode 100644 tools/aif2pcm/extended.c create mode 100644 tools/aif2pcm/main.c create mode 100644 tools/bin2c/.gitignore create mode 100644 tools/bin2c/LICENSE create mode 100644 tools/bin2c/Makefile create mode 100644 tools/bin2c/bin2c.c create mode 100644 tools/gbafix/.gitignore create mode 100644 tools/gbafix/COPYING create mode 100644 tools/gbafix/Makefile create mode 100644 tools/gbafix/gbafix.c create mode 100644 tools/gbagfx/.gitignore create mode 100644 tools/gbagfx/LICENSE create mode 100644 tools/gbagfx/Makefile create mode 100644 tools/gbagfx/convert_png.c create mode 100644 tools/gbagfx/convert_png.h create mode 100644 tools/gbagfx/font.c create mode 100644 tools/gbagfx/font.h create mode 100644 tools/gbagfx/gfx.c create mode 100644 tools/gbagfx/gfx.h create mode 100644 tools/gbagfx/global.h create mode 100644 tools/gbagfx/jasc_pal.c create mode 100644 tools/gbagfx/jasc_pal.h create mode 100644 tools/gbagfx/lz.c create mode 100644 tools/gbagfx/lz.h create mode 100644 tools/gbagfx/main.c create mode 100644 tools/gbagfx/options.h create mode 100644 tools/gbagfx/rl.c create mode 100644 tools/gbagfx/rl.h create mode 100644 tools/gbagfx/util.c create mode 100644 tools/gbagfx/util.h create mode 100644 tools/mid2agb/.gitignore create mode 100644 tools/mid2agb/LICENSE create mode 100644 tools/mid2agb/Makefile create mode 100644 tools/mid2agb/agb.cpp create mode 100644 tools/mid2agb/agb.h create mode 100644 tools/mid2agb/error.cpp create mode 100644 tools/mid2agb/error.h create mode 100644 tools/mid2agb/main.cpp create mode 100644 tools/mid2agb/main.h create mode 100644 tools/mid2agb/midi.cpp create mode 100644 tools/mid2agb/midi.h create mode 100644 tools/mid2agb/tables.cpp create mode 100644 tools/mid2agb/tables.h create mode 100644 tools/preproc/.gitignore create mode 100644 tools/preproc/LICENSE create mode 100644 tools/preproc/Makefile create mode 100644 tools/preproc/asm_file.cpp create mode 100644 tools/preproc/asm_file.h create mode 100644 tools/preproc/c_file.cpp create mode 100644 tools/preproc/c_file.h create mode 100644 tools/preproc/char_util.h create mode 100644 tools/preproc/charmap.cpp create mode 100644 tools/preproc/charmap.h create mode 100644 tools/preproc/preproc.cpp create mode 100644 tools/preproc/preproc.h create mode 100644 tools/preproc/string_parser.cpp create mode 100644 tools/preproc/string_parser.h create mode 100644 tools/preproc/utf8.cpp create mode 100644 tools/preproc/utf8.h create mode 100644 tools/ramscrgen/.gitignore create mode 100644 tools/ramscrgen/LICENSE create mode 100644 tools/ramscrgen/Makefile create mode 100644 tools/ramscrgen/char_util.h create mode 100644 tools/ramscrgen/elf.cpp create mode 100644 tools/ramscrgen/elf.h create mode 100644 tools/ramscrgen/main.cpp create mode 100644 tools/ramscrgen/ramscrgen.h create mode 100644 tools/ramscrgen/sym_file.cpp create mode 100644 tools/ramscrgen/sym_file.h create mode 100644 tools/rsfont/.gitignore create mode 100644 tools/rsfont/LICENSE create mode 100644 tools/rsfont/Makefile create mode 100644 tools/rsfont/convert_png.c create mode 100644 tools/rsfont/convert_png.h create mode 100644 tools/rsfont/font.c create mode 100644 tools/rsfont/font.h create mode 100644 tools/rsfont/gfx.h create mode 100644 tools/rsfont/global.h create mode 100644 tools/rsfont/main.c create mode 100644 tools/rsfont/util.c create mode 100644 tools/rsfont/util.h create mode 100644 tools/scaninc/.gitignore create mode 100644 tools/scaninc/LICENSE create mode 100644 tools/scaninc/Makefile create mode 100644 tools/scaninc/asm_file.cpp create mode 100644 tools/scaninc/asm_file.h create mode 100644 tools/scaninc/c_file.cpp create mode 100644 tools/scaninc/c_file.h create mode 100644 tools/scaninc/scaninc.cpp create mode 100644 tools/scaninc/scaninc.h diff --git a/.gitignore b/.gitignore index 7a8836759..3e38a227e 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,7 @@ sound/**/*.bin src/*.s tools/agbcc +tools/binutils ld_script_ruby.txt ld_script_sapphire.txt *.map @@ -39,4 +40,3 @@ build/ .idea/ *.DS_Store *.pl -tools/ diff --git a/tools/aif2pcm/.gitignore b/tools/aif2pcm/.gitignore new file mode 100644 index 000000000..31531797e --- /dev/null +++ b/tools/aif2pcm/.gitignore @@ -0,0 +1,2 @@ +aif2pcm + diff --git a/tools/aif2pcm/LICENSE b/tools/aif2pcm/LICENSE new file mode 100644 index 000000000..966b92bd6 --- /dev/null +++ b/tools/aif2pcm/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2016 huderlem +Copyright (c) 2005, 2006 by Marco Trillo + +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/aif2pcm/Makefile b/tools/aif2pcm/Makefile new file mode 100644 index 000000000..e5cb6ad31 --- /dev/null +++ b/tools/aif2pcm/Makefile @@ -0,0 +1,15 @@ +CC = gcc + +CFLAGS = -Wall -Wextra -Wno-switch -Werror -std=c11 -O2 + +LIBS = -lm + +SRCS = main.c extended.c + +.PHONY: clean + +aif2pcm: $(SRCS) + $(CC) $(CFLAGS) $(SRCS) -o $@ $(LDFLAGS) $(LIBS) + +clean: + $(RM) aif2pcm aif2pcm.exe diff --git a/tools/aif2pcm/extended.c b/tools/aif2pcm/extended.c new file mode 100644 index 000000000..94449164b --- /dev/null +++ b/tools/aif2pcm/extended.c @@ -0,0 +1,172 @@ +/* $Id: extended.c,v 1.8 2006/12/23 11:17:49 toad32767 Exp $ */ +/*- + * Copyright (c) 2005, 2006 by Marco Trillo + * + * 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. + */ + +#include +#include +#include + +/* + * Infinite & NAN values + * for non-IEEE systems + */ +#ifndef HUGE_VAL +#ifdef HUGE +#define INFINITE_VALUE HUGE +#define NAN_VALUE HUGE +#endif +#else +#define INFINITE_VALUE HUGE_VAL +#define NAN_VALUE HUGE_VAL +#endif + +/* + * IEEE 754 Extended Precision + * + * Implementation here is the 80-bit extended precision + * format of Motorola 68881, Motorola 68882 and Motorola + * 68040 FPUs, as well as Intel 80x87 FPUs. + * + * See: + * http://www.freescale.com/files/32bit/doc/fact_sheet/BR509.pdf + */ +/* + * Exponent range: [-16383,16383] + * Precision for mantissa: 64 bits with no hidden bit + * Bias: 16383 + */ + +/* + * Write IEEE Extended Precision Numbers + */ +void +ieee754_write_extended(double in, uint8_t* out) +{ + int sgn, exp, shift; + double fraction, t; + unsigned int lexp, hexp; + unsigned long low, high; + + if (in == 0.0) { + memset(out, 0, 10); + return; + } + if (in < 0.0) { + in = fabs(in); + sgn = 1; + } else + sgn = 0; + + fraction = frexp(in, &exp); + + if (exp == 0 || exp > 16384) { + if (exp > 16384) /* infinite value */ + low = high = 0; + else { + low = 0x80000000; + high = 0; + } + exp = 32767; + goto done; + } + fraction = ldexp(fraction, 32); + t = floor(fraction); + low = (unsigned long) t; + fraction -= t; + t = floor(ldexp(fraction, 32)); + high = (unsigned long) t; + + /* Convert exponents < -16382 to -16382 (then they will be + * stored as -16383) */ + if (exp < -16382) { + shift = 0 - exp - 16382; + high >>= shift; + high |= (low << (32 - shift)); + low >>= shift; + exp = -16382; + } + exp += 16383 - 1; /* bias */ + +done: + lexp = ((unsigned int) exp) >> 8; + hexp = ((unsigned int) exp) & 0xFF; + + /* big endian */ + out[0] = ((uint8_t) sgn) << 7; + out[0] |= (uint8_t) lexp; + out[1] = (uint8_t) hexp; + out[2] = (uint8_t) (low >> 24); + out[3] = (uint8_t) ((low >> 16) & 0xFF); + out[4] = (uint8_t) ((low >> 8) & 0xFF); + out[5] = (uint8_t) (low & 0xFF); + out[6] = (uint8_t) (high >> 24); + out[7] = (uint8_t) ((high >> 16) & 0xFF); + out[8] = (uint8_t) ((high >> 8) & 0xFF); + out[9] = (uint8_t) (high & 0xFF); + + return; +} + + +/* + * Read IEEE Extended Precision Numbers + */ +double +ieee754_read_extended(uint8_t* in) +{ + int sgn, exp; + unsigned long low, high; + double out; + + /* Extract the components from the big endian buffer */ + sgn = (int) (in[0] >> 7); + exp = ((int) (in[0] & 0x7F) << 8) | ((int) in[1]); + low = (((unsigned long) in[2]) << 24) + | (((unsigned long) in[3]) << 16) + | (((unsigned long) in[4]) << 8) | (unsigned long) in[5]; + high = (((unsigned long) in[6]) << 24) + | (((unsigned long) in[7]) << 16) + | (((unsigned long) in[8]) << 8) | (unsigned long) in[9]; + + if (exp == 0 && low == 0 && high == 0) + return (sgn ? -0.0 : 0.0); + + switch (exp) { + case 32767: + if (low == 0 && high == 0) + return (sgn ? -INFINITE_VALUE : INFINITE_VALUE); + else + return (sgn ? -NAN_VALUE : NAN_VALUE); + default: + exp -= 16383; /* unbias exponent */ + + } + + out = ldexp((double) low, -31 + exp); + out += ldexp((double) high, -63 + exp); + + return (sgn ? -out : out); +} diff --git a/tools/aif2pcm/main.c b/tools/aif2pcm/main.c new file mode 100644 index 000000000..51dbf1bb9 --- /dev/null +++ b/tools/aif2pcm/main.c @@ -0,0 +1,830 @@ +// Copyright(c) 2016 huderlem +// +// 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. + +#include +#include +#include +#include +#include +#include + +/* extended.c */ +void ieee754_write_extended (double, uint8_t*); +double ieee754_read_extended (uint8_t*); + +#ifdef _MSC_VER + +#define FATAL_ERROR(format, ...) \ +do \ +{ \ + fprintf(stderr, format, __VA_ARGS__); \ + exit(1); \ +} while (0) + +#else + +#define FATAL_ERROR(format, ...) \ +do \ +{ \ + fprintf(stderr, format, ##__VA_ARGS__); \ + exit(1); \ +} while (0) + +#endif // _MSC_VER + +typedef struct { + unsigned long num_samples; + uint8_t *samples; + uint8_t midi_note; + bool has_loop; + unsigned long loop_offset; + double sample_rate; + unsigned long real_num_samples; +} AifData; + +struct Bytes { + unsigned long length; + uint8_t *data; +}; + +struct Bytes *read_bytearray(const char *filename) +{ + struct Bytes *bytes = malloc(sizeof(struct Bytes)); + FILE *f = fopen(filename, "rb"); + if (!f) + { + FATAL_ERROR("Failed to open '%s' for reading!\n", filename); + } + fseek(f, 0, SEEK_END); + bytes->length = ftell(f); + fseek(f, 0, SEEK_SET); + bytes->data = malloc(bytes->length); + unsigned long read = fread(bytes->data, bytes->length, 1, f); + fclose(f); + if (read <= 0) + { + FATAL_ERROR("Failed to read data from '%s'!\n", filename); + } + return bytes; +} + +void write_bytearray(const char *filename, struct Bytes *bytes) +{ + FILE *f = fopen(filename, "wb"); + if (!f) + { + FATAL_ERROR("Failed to open '%s' for writing!\n", filename); + } + fwrite(bytes->data, bytes->length, 1, f); + fclose(f); +} + +void free_bytearray(struct Bytes *bytes) +{ + free(bytes->data); + free(bytes); +} + +char *get_file_extension(char *filename) +{ + char *index = strrchr(filename, '.'); + if (!index || index == filename) + { + return NULL; + } + return index + 1; +} + +char *new_file_extension(char *filename, char *ext) +{ + char *index = strrchr(filename, '.'); + if (!index || index == filename) + { + index = filename + strlen(filename); + } + int length = index - filename; + char *new_filename = malloc(length + 1 + strlen(ext) + 1); + if (new_filename) + { + strcpy(new_filename, filename); + new_filename[length] = '.'; + strcpy(new_filename + length + 1, ext); + } + return new_filename; +} + +void read_aif(struct Bytes *aif, AifData *aif_data) +{ + aif_data->has_loop = false; + aif_data->num_samples = 0; + + unsigned long pos = 0; + char chunk_name[5]; chunk_name[4] = '\0'; + char chunk_type[5]; chunk_type[4] = '\0'; + + // Check for FORM Chunk + memcpy(chunk_name, &aif->data[pos], 4); + pos += 4; + if (strcmp(chunk_name, "FORM") != 0) + { + FATAL_ERROR("Input .aif file has invalid header Chunk '%s'!\n", chunk_name); + } + + // Read size of whole file. + unsigned long whole_chunk_size = aif->data[pos++] << 24; + whole_chunk_size |= (aif->data[pos++] << 16); + whole_chunk_size |= (aif->data[pos++] << 8); + whole_chunk_size |= (uint8_t)aif->data[pos++]; + + unsigned long expected_whole_chunk_size = aif->length - 8; + if (whole_chunk_size != expected_whole_chunk_size) + { + FATAL_ERROR("FORM Chunk ckSize '%lu' doesn't match actual size '%lu'!\n", whole_chunk_size, expected_whole_chunk_size); + } + + // Check for AIFF Form Type + memcpy(chunk_type, &aif->data[pos], 4); + pos += 4; + if (strcmp(chunk_type, "AIFF") != 0) + { + FATAL_ERROR("FORM Type is '%s', but it must be AIFF!", chunk_type); + } + + unsigned long num_sample_frames = 0; + + // Read all the Chunks to populate the AifData struct. + while ((pos + 8) < aif->length) + { + // Read Chunk id + memcpy(chunk_name, &aif->data[pos], 4); + pos += 4; + + unsigned long chunk_size = (aif->data[pos++] << 24); + chunk_size |= (aif->data[pos++] << 16); + chunk_size |= (aif->data[pos++] << 8); + chunk_size |= aif->data[pos++]; + + if ((pos + chunk_size) > aif->length) + { + FATAL_ERROR("%s chunk at 0x%lx reached end of file before finishing\n", chunk_name, pos); + } + + if (strcmp(chunk_name, "COMM") == 0) + { + short num_channels = (aif->data[pos++] << 8); + num_channels |= (uint8_t)aif->data[pos++]; + if (num_channels != 1) + { + FATAL_ERROR("numChannels (%d) in the COMM Chunk must be 1!\n", num_channels); + } + + num_sample_frames = (aif->data[pos++] << 24); + num_sample_frames |= (aif->data[pos++] << 16); + num_sample_frames |= (aif->data[pos++] << 8); + num_sample_frames |= (uint8_t)aif->data[pos++]; + + short sample_size = (aif->data[pos++] << 8); + sample_size |= (uint8_t)aif->data[pos++]; + if (sample_size != 8) + { + FATAL_ERROR("sampleSize (%d) in the COMM Chunk must be 8!\n", sample_size); + } + + double sample_rate = ieee754_read_extended((uint8_t*)(aif->data + pos)); + pos += 10; + + aif_data->sample_rate = sample_rate; + + if (aif_data->num_samples == 0) + { + aif_data->num_samples = num_sample_frames; + } + } + else if (strcmp(chunk_name, "MARK") == 0) + { + unsigned short num_markers = (aif->data[pos++] << 8); + num_markers |= (uint8_t)aif->data[pos++]; + + // Read each marker and look for the "START" marker. + for (int i = 0; i < num_markers; i++) + { + unsigned short marker_id = (aif->data[pos++] << 8); + marker_id |= (uint8_t)aif->data[pos++]; + + unsigned long marker_position = (aif->data[pos++] << 24); + marker_position |= (aif->data[pos++] << 16); + marker_position |= (aif->data[pos++] << 8); + marker_position |= (uint8_t)aif->data[pos++]; + + // Marker id is a pascal-style string. + uint8_t marker_name_size = aif->data[pos++]; + char *marker_name = (char *)malloc((marker_name_size + 1) * sizeof(char)); + memcpy(marker_name, &aif->data[pos], marker_name_size); + marker_name[marker_name_size] = '\0'; + pos += marker_name_size; + + if (strcmp(marker_name, "START") == 0) + { + aif_data->loop_offset = marker_position; + aif_data->has_loop = true; + } + else if (strcmp(marker_name, "END") == 0) + { + if (!aif_data->has_loop) { + aif_data->loop_offset = marker_position; + aif_data->has_loop = true; + } + aif_data->num_samples = marker_position; + } + + free(marker_name); + } + } + else if (strcmp(chunk_name, "INST") == 0) + { + uint8_t midi_note = (uint8_t)aif->data[pos++]; + + aif_data->midi_note = midi_note; + + // Skip over data we don't need. + pos += 19; + } + else if (strcmp(chunk_name, "SSND") == 0) + { + // SKip offset and blockSize + pos += 8; + + unsigned long num_samples = chunk_size - 8; + uint8_t *sample_data = (uint8_t *)malloc(num_samples * sizeof(uint8_t)); + memcpy(sample_data, &aif->data[pos], num_samples); + + aif_data->samples = sample_data; + aif_data->real_num_samples = num_samples; + pos += chunk_size - 8; + } + else + { + // Skip over unsupported chunks. + pos += chunk_size; + } + } +} + +// This is a table of deltas between sample values in compressed PCM data. +const int gDeltaEncodingTable[] = { + 0, 1, 4, 9, 16, 25, 36, 49, + -64, -49, -36, -25, -16, -9, -4, -1, +}; + +struct Bytes *delta_decompress(struct Bytes *delta, unsigned int expected_length) +{ + struct Bytes *pcm = malloc(sizeof(struct Bytes)); + pcm->length = expected_length; + pcm->data = malloc(pcm->length + 0x40); + + uint8_t hi, lo; + unsigned int i = 0; + unsigned int j = 0; + int k; + int8_t base; + while (i < delta->length) + { + base = (int8_t)delta->data[i++]; + pcm->data[j++] = (uint8_t)base; + if (i >= delta->length) + { + break; + } + if (j >= pcm->length) + { + break; + } + lo = delta->data[i] & 0xf; + base += gDeltaEncodingTable[lo]; + pcm->data[j++] = base; + i++; + if (i >= delta->length) + { + break; + } + if (j >= pcm->length) + { + break; + } + for (k = 0; k < 31; k++) + { + hi = (delta->data[i] >> 4) & 0xf; + base += gDeltaEncodingTable[hi]; + pcm->data[j++] = base; + if (j >= pcm->length) + { + break; + } + lo = delta->data[i] & 0xf; + base += gDeltaEncodingTable[lo]; + pcm->data[j++] = base; + i++; + if (i >= delta->length) + { + break; + } + if (j >= pcm->length) + { + break; + } + } + if (j >= pcm->length) + { + break; + } + } + + pcm->length = j; + return pcm; +} + +int get_delta_index(uint8_t sample, uint8_t prev_sample) +{ + int best_error = INT_MAX; + int best_index = -1; + + for (int i = 0; i < 16; i++) + { + uint8_t new_sample = prev_sample + gDeltaEncodingTable[i]; + int error = sample > new_sample ? sample - new_sample : new_sample - sample; + + if (error < best_error) + { + best_error = error; + best_index = i; + } + } + + return best_index; +} + +struct Bytes *delta_compress(struct Bytes *pcm) +{ + struct Bytes *delta = malloc(sizeof(struct Bytes)); + // estimate the length so we can malloc + int num_blocks = pcm->length / 64; + delta->length = num_blocks * 33; + + int extra = pcm->length % 64; + if (extra) + { + delta->length += 1; + extra -= 1; + } + if (extra) + { + delta->length += 1; + extra -= 1; + } + if (extra) + { + delta->length += (extra + 1) / 2; + } + + delta->data = malloc(delta->length + 33); + + unsigned int i = 0; + unsigned int j = 0; + int k; + uint8_t base; + int delta_index; + + while (i < pcm->length) + { + base = pcm->data[i++]; + delta->data[j++] = base; + + if (i >= pcm->length) + { + break; + } + delta_index = get_delta_index(pcm->data[i++], base); + base += gDeltaEncodingTable[delta_index]; + delta->data[j++] = delta_index; + + for (k = 0; k < 31; k++) + { + if (i >= pcm->length) + { + break; + } + delta_index = get_delta_index(pcm->data[i++], base); + base += gDeltaEncodingTable[delta_index]; + delta->data[j] = (delta_index << 4); + + if (i >= pcm->length) + { + break; + } + delta_index = get_delta_index(pcm->data[i++], base); + base += gDeltaEncodingTable[delta_index]; + delta->data[j++] |= delta_index; + } + } + + delta->length = j; + + return delta; +} + +#define STORE_U32_LE(dest, value) \ +do { \ + *(dest) = (value) & 0xff; \ + *((dest) + 1) = ((value) >> 8) & 0xff; \ + *((dest) + 2) = ((value) >> 16) & 0xff; \ + *((dest) + 3) = ((value) >> 24) & 0xff; \ +} while (0) + +#define LOAD_U32_LE(var, src) \ +do { \ + (var) = *(src); \ + (var) |= (*((src) + 1) << 8); \ + (var) |= (*((src) + 2) << 16); \ + (var) |= (*((src) + 3) << 24); \ +} while (0) + +// Reads an .aif file and produces a .pcm file containing an array of 8-bit samples. +void aif2pcm(const char *aif_filename, const char *pcm_filename, bool compress) +{ + struct Bytes *aif = read_bytearray(aif_filename); + AifData aif_data = {0,0,0,0,0,0,0}; + read_aif(aif, &aif_data); + + int header_size = 0x10; + struct Bytes *pcm; + struct Bytes output = {0,0}; + + if (compress) + { + struct Bytes *input = malloc(sizeof(struct Bytes)); + input->data = aif_data.samples; + input->length = aif_data.real_num_samples; + pcm = delta_compress(input); + free(input); + } + else + { + pcm = malloc(sizeof(struct Bytes)); + pcm->data = aif_data.samples; + pcm->length = aif_data.real_num_samples; + } + output.length = header_size + pcm->length; + output.data = malloc(output.length); + + uint32_t pitch_adjust = (uint32_t)(aif_data.sample_rate * 1024); + uint32_t loop_offset = (uint32_t)(aif_data.loop_offset); + uint32_t adjusted_num_samples = (uint32_t)(aif_data.num_samples - 1); + uint32_t flags = 0; + if (aif_data.has_loop) flags |= 0x40000000; + if (compress) flags |= 1; + STORE_U32_LE(output.data + 0, flags); + STORE_U32_LE(output.data + 4, pitch_adjust); + STORE_U32_LE(output.data + 8, loop_offset); + STORE_U32_LE(output.data + 12, adjusted_num_samples); + memcpy(&output.data[header_size], pcm->data, pcm->length); + write_bytearray(pcm_filename, &output); + + free(aif->data); + free(aif); + free(pcm); + free(output.data); + free(aif_data.samples); +} + +// Reads a .pcm file containing an array of 8-bit samples and produces an .aif file. +// See http://www-mmsp.ece.mcgill.ca/documents/audioformats/aiff/Docs/AIFF-1.3.pdf for .aif file specification. +void pcm2aif(const char *pcm_filename, const char *aif_filename, uint32_t base_note) +{ + struct Bytes *pcm = read_bytearray(pcm_filename); + + AifData *aif_data = malloc(sizeof(AifData)); + + uint32_t flags; + LOAD_U32_LE(flags, pcm->data + 0); + aif_data->has_loop = flags & 0x40000000; + bool compressed = flags & 1; + + uint32_t pitch_adjust; + LOAD_U32_LE(pitch_adjust, pcm->data + 4); + aif_data->sample_rate = pitch_adjust / 1024.0; + + LOAD_U32_LE(aif_data->loop_offset, pcm->data + 8); + LOAD_U32_LE(aif_data->num_samples, pcm->data + 12); + aif_data->num_samples += 1; + + if (compressed) + { + struct Bytes *delta = pcm; + uint8_t *pcm_data = pcm->data; + delta->length -= 0x10; + delta->data += 0x10; + pcm = delta_decompress(delta, aif_data->num_samples); + free(pcm_data); + free(delta); + } + else + { + pcm->length -= 0x10; + pcm->data += 0x10; + } + + aif_data->samples = malloc(pcm->length); + memcpy(aif_data->samples, pcm->data, pcm->length); + + struct Bytes *aif = malloc(sizeof(struct Bytes)); + aif->length = 54 + 60 + pcm->length; + aif->data = malloc(aif->length); + + long pos = 0; + + // First, write the FORM header chunk. + // FORM Chunk ckID + aif->data[pos++] = 'F'; + aif->data[pos++] = 'O'; + aif->data[pos++] = 'R'; + aif->data[pos++] = 'M'; + + // FORM Chunk ckSize + unsigned long form_size = pos; + unsigned long data_size = aif->length - 8; + aif->data[pos++] = ((data_size >> 24) & 0xFF); + aif->data[pos++] = ((data_size >> 16) & 0xFF); + aif->data[pos++] = ((data_size >> 8) & 0xFF); + aif->data[pos++] = (data_size & 0xFF); + + // FORM Chunk formType + aif->data[pos++] = 'A'; + aif->data[pos++] = 'I'; + aif->data[pos++] = 'F'; + aif->data[pos++] = 'F'; + + // Next, write the Common Chunk + // Common Chunk ckID + aif->data[pos++] = 'C'; + aif->data[pos++] = 'O'; + aif->data[pos++] = 'M'; + aif->data[pos++] = 'M'; + + // Common Chunk ckSize + aif->data[pos++] = 0; + aif->data[pos++] = 0; + aif->data[pos++] = 0; + aif->data[pos++] = 18; + + // Common Chunk numChannels + aif->data[pos++] = 0; + aif->data[pos++] = 1; // 1 channel + + // Common Chunk numSampleFrames + aif->data[pos++] = ((aif_data->num_samples >> 24) & 0xFF); + aif->data[pos++] = ((aif_data->num_samples >> 16) & 0xFF); + aif->data[pos++] = ((aif_data->num_samples >> 8) & 0xFF); + aif->data[pos++] = (aif_data->num_samples & 0xFF); + + // Common Chunk sampleSize + aif->data[pos++] = 0; + aif->data[pos++] = 8; // 8 bits per sample + + // Common Chunk sampleRate + //double sample_rate = pitch_adjust / 1024.0; + uint8_t sample_rate_buffer[10]; + ieee754_write_extended(aif_data->sample_rate, sample_rate_buffer); + for (int i = 0; i < 10; i++) + { + aif->data[pos++] = sample_rate_buffer[i]; + } + + if (aif_data->has_loop) + { + + // Marker Chunk ckID + aif->data[pos++] = 'M'; + aif->data[pos++] = 'A'; + aif->data[pos++] = 'R'; + aif->data[pos++] = 'K'; + + // Marker Chunk ckSize + aif->data[pos++] = 0; + aif->data[pos++] = 0; + aif->data[pos++] = 0; + aif->data[pos++] = 12 + (aif_data->has_loop ? 12 : 0); + + // Marker Chunk numMarkers + aif->data[pos++] = 0; + aif->data[pos++] = (aif_data->has_loop ? 2 : 1); + + // Marker loop start + aif->data[pos++] = 0; + aif->data[pos++] = 1; // id = 1 + + long loop_start = aif_data->loop_offset; + aif->data[pos++] = ((loop_start >> 24) & 0xFF); + aif->data[pos++] = ((loop_start >> 16) & 0xFF); + aif->data[pos++] = ((loop_start >> 8) & 0xFF); + aif->data[pos++] = (loop_start & 0xFF); // position + + aif->data[pos++] = 5; // pascal-style string length + aif->data[pos++] = 'S'; + aif->data[pos++] = 'T'; + aif->data[pos++] = 'A'; + aif->data[pos++] = 'R'; + aif->data[pos++] = 'T'; // markerName + + // Marker loop end + aif->data[pos++] = 0; + aif->data[pos++] = (aif_data->has_loop ? 2 : 1); // id = 2 + + long loop_end = aif_data->num_samples; + aif->data[pos++] = ((loop_end >> 24) & 0xFF); + aif->data[pos++] = ((loop_end >> 16) & 0xFF); + aif->data[pos++] = ((loop_end >> 8) & 0xFF); + aif->data[pos++] = (loop_end & 0xFF); // position + + aif->data[pos++] = 3; // pascal-style string length + aif->data[pos++] = 'E'; + aif->data[pos++] = 'N'; + aif->data[pos++] = 'D'; + } + + // Instrument Chunk ckID + aif->data[pos++] = 'I'; + aif->data[pos++] = 'N'; + aif->data[pos++] = 'S'; + aif->data[pos++] = 'T'; + + // Instrument Chunk ckSize + aif->data[pos++] = 0; + aif->data[pos++] = 0; + aif->data[pos++] = 0; + aif->data[pos++] = 20; + + aif->data[pos++] = base_note; // baseNote + aif->data[pos++] = 0; // detune + aif->data[pos++] = 0; // lowNote + aif->data[pos++] = 127; // highNote + aif->data[pos++] = 1; // lowVelocity + aif->data[pos++] = 127; // highVelocity + aif->data[pos++] = 0; // gain (hi) + aif->data[pos++] = 0; // gain (lo) + + // Instrument Chunk sustainLoop + aif->data[pos++] = 0; + aif->data[pos++] = 1; // playMode = ForwardLooping + + aif->data[pos++] = 0; + aif->data[pos++] = 1; // beginLoop marker id + + aif->data[pos++] = 0; + aif->data[pos++] = 2; // endLoop marker id + + // Instrument Chunk releaseLoop + aif->data[pos++] = 0; + aif->data[pos++] = 1; // playMode = ForwardLooping + + aif->data[pos++] = 0; + aif->data[pos++] = 1; // beginLoop marker id + + aif->data[pos++] = 0; + aif->data[pos++] = 2; // endLoop marker id + + // Finally, write the Sound Data Chunk + // Sound Data Chunk ckID + aif->data[pos++] = 'S'; + aif->data[pos++] = 'S'; + aif->data[pos++] = 'N'; + aif->data[pos++] = 'D'; + + // Sound Data Chunk ckSize + unsigned long sound_data_size = pcm->length + 8; + aif->data[pos++] = ((sound_data_size >> 24) & 0xFF); + aif->data[pos++] = ((sound_data_size >> 16) & 0xFF); + aif->data[pos++] = ((sound_data_size >> 8) & 0xFF); + aif->data[pos++] = (sound_data_size & 0xFF); + + // Sound Data Chunk offset + aif->data[pos++] = 0; + aif->data[pos++] = 0; + aif->data[pos++] = 0; + aif->data[pos++] = 0; + + // Sound Data Chunk blockSize + aif->data[pos++] = 0; + aif->data[pos++] = 0; + aif->data[pos++] = 0; + aif->data[pos++] = 0; + + // Sound Data Chunk soundData + for (unsigned int i = 0; i < aif_data->loop_offset; i++) + { + aif->data[pos++] = aif_data->samples[i]; + } + + int j = 0; + for (unsigned int i = aif_data->loop_offset; i < pcm->length; i++) + { + int pcm_index = aif_data->loop_offset + (j++ % (pcm->length - aif_data->loop_offset)); + aif->data[pos++] = aif_data->samples[pcm_index]; + } + + aif->length = pos; + + // Go back and rewrite ckSize + data_size = aif->length - 8; + aif->data[form_size + 0] = ((data_size >> 24) & 0xFF); + aif->data[form_size + 1] = ((data_size >> 16) & 0xFF); + aif->data[form_size + 2] = ((data_size >> 8) & 0xFF); + aif->data[form_size + 3] = (data_size & 0xFF); + + write_bytearray(aif_filename, aif); + + free(aif->data); + free(aif); +} + +void usage(void) +{ + fprintf(stderr, "Usage: aif2pcm bin_file [aif_file]\n"); + fprintf(stderr, " aif2pcm aif_file [bin_file] [--compress]\n"); +} + +int main(int argc, char **argv) +{ + if (argc < 2) + { + usage(); + exit(1); + } + + char *input_file = argv[1]; + char *extension = get_file_extension(input_file); + char *output_file; + bool compressed = false; + + if (argc > 3) + { + for (int i = 3; i < argc; i++) + { + if (strcmp(argv[i], "--compress") == 0) + { + compressed = true; + } + } + } + + if (strcmp(extension, "aif") == 0 || strcmp(extension, "aiff") == 0) + { + if (argc >= 3) + { + output_file = argv[2]; + aif2pcm(input_file, output_file, compressed); + } + else + { + output_file = new_file_extension(input_file, "bin"); + aif2pcm(input_file, output_file, compressed); + free(output_file); + } + } + else if (strcmp(extension, "bin") == 0) + { + if (argc >= 3) + { + output_file = argv[2]; + pcm2aif(input_file, output_file, 60); + } + else + { + output_file = new_file_extension(input_file, "aif"); + pcm2aif(input_file, output_file, 60); + free(output_file); + } + } + else + { + FATAL_ERROR("Input file must be .aif or .bin: '%s'\n", input_file); + } + + return 0; +} diff --git a/tools/bin2c/.gitignore b/tools/bin2c/.gitignore new file mode 100644 index 000000000..366f3d3e9 --- /dev/null +++ b/tools/bin2c/.gitignore @@ -0,0 +1 @@ +bin2c diff --git a/tools/bin2c/LICENSE b/tools/bin2c/LICENSE new file mode 100644 index 000000000..534d15349 --- /dev/null +++ b/tools/bin2c/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2016 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/bin2c/Makefile b/tools/bin2c/Makefile new file mode 100644 index 000000000..73f78980e --- /dev/null +++ b/tools/bin2c/Makefile @@ -0,0 +1,13 @@ +CC = gcc + +CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 + +.PHONY: clean + +SRCS = bin2c.c + +bin2c: $(SRCS) + $(CC) $(CFLAGS) $(SRCS) -o $@ $(LDFLAGS) + +clean: + $(RM) bin2c bin2c.exe diff --git a/tools/bin2c/bin2c.c b/tools/bin2c/bin2c.c new file mode 100644 index 000000000..b4bd437f0 --- /dev/null +++ b/tools/bin2c/bin2c.c @@ -0,0 +1,201 @@ +// Copyright(c) 2015-2016 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. + +#include +#include +#include +#include + +#ifdef _MSC_VER + +#define FATAL_ERROR(format, ...) \ +do \ +{ \ + fprintf(stderr, format, __VA_ARGS__); \ + exit(1); \ +} while (0) + +#else + +#define FATAL_ERROR(format, ...) \ +do \ +{ \ + fprintf(stderr, format, ##__VA_ARGS__); \ + exit(1); \ +} while (0) + +#endif // _MSC_VER + +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; +} + +int ExtractData(unsigned char *buffer, int offset, int size) +{ + switch (size) + { + case 1: + return buffer[offset]; + case 2: + return (buffer[offset + 1] << 8) + | buffer[offset]; + case 4: + return (buffer[offset + 3] << 24) + | (buffer[offset + 2] << 16) + | (buffer[offset + 1] << 8) + | buffer[offset]; + default: + FATAL_ERROR("Invalid size passed to ExtractData.\n"); + } +} + +int main(int argc, char **argv) +{ + if (argc < 3) + FATAL_ERROR("Usage: bin2c INPUT_FILE VAR_NAME [OPTIONS...]\n"); + + int fileSize; + unsigned char *buffer = ReadWholeFile(argv[1], &fileSize); + char *var_name = argv[2]; + int col = 1; + int pad = 0; + int size = 1; + bool isSigned = false; + bool isStatic = false; + bool isDecimal = false; + + for (int i = 3; i < argc; i++) + { + if (!strcmp(argv[i], "-col")) + { + i++; + + if (i >= argc) + FATAL_ERROR("Missing argument after '-col'.\n"); + + col = atoi(argv[i]); + } + else if (!strcmp(argv[i], "-pad")) + { + i++; + + if (i >= argc) + FATAL_ERROR("Missing argument after '-pad'.\n"); + + pad = atoi(argv[i]); + } + else if (!strcmp(argv[i], "-size")) + { + i++; + + if (i >= argc) + FATAL_ERROR("Missing argument after '-size'.\n"); + + size = atoi(argv[i]); + + if (size != 1 && size != 2 && size != 4) + FATAL_ERROR("Size must be 1, 2, or 4.\n"); + } + else if (!strcmp(argv[i], "-signed")) + { + isSigned = true; + isDecimal = true; + } + else if (!strcmp(argv[i], "-static")) + { + isStatic = true; + } + else if (!strcmp(argv[i], "-decimal")) + { + isDecimal = true; + } + else + { + FATAL_ERROR("Unrecognized option '%s'.\n", argv[i]); + } + } + + if ((fileSize & (size - 1)) != 0) + FATAL_ERROR("Size %d doesn't evenly divide file size %d.\n", size, fileSize); + + printf("// Generated file. Do not edit.\n\n"); + + if (isStatic) + printf("static "); + + printf("const "); + + if (isSigned) + printf("s%d ", 8 * size); + else + printf("u%d ", 8 * size); + + printf("%s[] =\n{", var_name); + + int count = fileSize / size; + int offset = 0; + + for (int i = 0; i < count; i++) + { + if (i % col == 0) + printf("\n "); + + int data = ExtractData(buffer, offset, size); + offset += size; + + if (isDecimal) + { + if (isSigned) + printf("%*d, ", pad, data); + else + printf("%*uu, ", pad, data); + } + else + { + printf("%#*xu, ", pad, data); + } + } + + printf("\n};\n"); + + return 0; +} diff --git a/tools/gbafix/.gitignore b/tools/gbafix/.gitignore new file mode 100644 index 000000000..3cebf8ae8 --- /dev/null +++ b/tools/gbafix/.gitignore @@ -0,0 +1,2 @@ +gbafix +README diff --git a/tools/gbafix/COPYING b/tools/gbafix/COPYING new file mode 100644 index 000000000..94a9ed024 --- /dev/null +++ b/tools/gbafix/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/tools/gbafix/Makefile b/tools/gbafix/Makefile new file mode 100644 index 000000000..f12c8cc4f --- /dev/null +++ b/tools/gbafix/Makefile @@ -0,0 +1,10 @@ +CC = gcc +.PHONY: clean + +SRCS = gbafix.c + +gbafix: $(SRCS) + $(CC) $(SRCS) -o $@ $(LDFLAGS) + +clean: + $(RM) gbafix gbafix.exe diff --git a/tools/gbafix/gbafix.c b/tools/gbafix/gbafix.c new file mode 100644 index 000000000..d5e2f62ab --- /dev/null +++ b/tools/gbafix/gbafix.c @@ -0,0 +1,289 @@ +/* + "$Id: gbafix.c,v 1.2 2008-07-30 17:12:51 wntrmute Exp $" + + DevkitPro GBA ROM fix utility + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. + + Please report all bugs and problems through the bug tracker at + "http://sourceforge.net/tracker/?group_id=114505&atid=668551". + + "$Header: /lvm/shared/ds/ds/cvs/devkitpro-cvsbackup/tools/gba/gbatools/gbafix.c,v 1.2 2008-07-30 17:12:51 wntrmute Exp $" + +*/ +//--------------------------------------------------------------------------------- +// gbafix.c +//--------------------------------------------------------------------------------- +/* + Gameboy Advance ROM fixer (by Dark Fader / BlackThunder / WinterMute / Diegoisawesome) + Validates header of GBA roms. + + History + ------- + v1.06 - added output silencing, (Diegoisawesome) + v1.05 - added debug offset argument, (Diegoisawesome) + v1.04 - converted to plain C, (WinterMute) + v1.03 - header.fixed, header.device_type + v1.02 - redefined the options (rgbfix style), checksum=0 + v1.01 - fix in parameters + v1.00 - logo, complement +*/ + +#pragma pack(1) + +#include +#include +#include +#include + +#define VER "1.06" +#define ARGV argv[arg] +#define VALUE (ARGV+2) +#define NUMBER strtoul(VALUE, NULL, 0) + +typedef struct +{ + uint32_t start_code; // B instruction + uint8_t logo[0xA0-0x04]; // logo data + uint8_t title[0xC]; // game title name + uint32_t game_code; // + uint16_t maker_code; // + uint8_t fixed; // 0x96 + uint8_t unit_code; // 0x00 + uint8_t device_type; // 0x00 + uint8_t unused[7]; // + uint8_t game_version; // 0x00 + uint8_t complement; // 800000A0..800000BC + uint16_t checksum; // 0x0000 +} Header; + + +Header header; + +unsigned short checksum_without_header = 0; + +const Header good_header = +{ + // start_code + 0xEA00002E, + // logo + { 0x24,0xFF,0xAE,0x51,0x69,0x9A,0xA2,0x21,0x3D,0x84,0x82,0x0A,0x84,0xE4,0x09,0xAD, + 0x11,0x24,0x8B,0x98,0xC0,0x81,0x7F,0x21,0xA3,0x52,0xBE,0x19,0x93,0x09,0xCE,0x20, + 0x10,0x46,0x4A,0x4A,0xF8,0x27,0x31,0xEC,0x58,0xC7,0xE8,0x33,0x82,0xE3,0xCE,0xBF, + 0x85,0xF4,0xDF,0x94,0xCE,0x4B,0x09,0xC1,0x94,0x56,0x8A,0xC0,0x13,0x72,0xA7,0xFC, + 0x9F,0x84,0x4D,0x73,0xA3,0xCA,0x9A,0x61,0x58,0x97,0xA3,0x27,0xFC,0x03,0x98,0x76, + 0x23,0x1D,0xC7,0x61,0x03,0x04,0xAE,0x56,0xBF,0x38,0x84,0x00,0x40,0xA7,0x0E,0xFD, + 0xFF,0x52,0xFE,0x03,0x6F,0x95,0x30,0xF1,0x97,0xFB,0xC0,0x85,0x60,0xD6,0x80,0x25, + 0xA9,0x63,0xBE,0x03,0x01,0x4E,0x38,0xE2,0xF9,0xA2,0x34,0xFF,0xBB,0x3E,0x03,0x44, + 0x78,0x00,0x90,0xCB,0x88,0x11,0x3A,0x94,0x65,0xC0,0x7C,0x63,0x87,0xF0,0x3C,0xAF, + 0xD6,0x25,0xE4,0x8B,0x38,0x0A,0xAC,0x72,0x21,0xD4,0xF8,0x07 } , + // title + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + // game code + 0x00000000, + // maker code + 0x3130, + // fixed + 0x96, + // unit_code + 0x00, + // device type + 0x00, + // unused + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + // game version + 0x00, + // complement + 0x00, + // checksum + 0x0000 +}; + +//--------------------------------------------------------------------------------- +char HeaderComplement() +/*--------------------------------------------------------------------------------- + Calculate Header complement check +---------------------------------------------------------------------------------*/ +{ + int n; + char c = 0; + char *p = (char *)&header + 0xA0; + for (n=0; n<0xBD-0xA0; n++) + { + c += *p++; + } + return -(0x19+c); +} + + +//--------------------------------------------------------------------------------- +int main(int argc, char *argv[]) +//--------------------------------------------------------------------------------- +{ + int arg; + char *argfile = 0; + FILE *infile; + int silent = 0; + + int size,bit; + + // show syntax + if (argc <= 1) + { + printf("GBA ROM fixer v"VER" by Dark Fader / BlackThunder / WinterMute / Diegoisawesome \n"); + printf("Syntax: gbafix [-p] [-t[title]] [-c] [-m] [-r] [-d] [--silent]\n"); + printf("\n"); + printf("parameters:\n"); + printf(" -p Pad to next exact power of 2. No minimum size!\n"); + printf(" -t[] Patch title. Stripped filename if none given.\n"); + printf(" -c<game_code> Patch game code (four characters)\n"); + printf(" -m<maker_code> Patch maker code (two characters)\n"); + printf(" -r<version> Patch game version (number)\n"); + printf(" -d<debug> Enable debugging handler and set debug entry point (0 or 1)\n"); + printf(" --silent Silence non-error output\n"); + return -1; + } + + // get filename + for (arg=1; arg<argc; arg++) + { + if ((ARGV[0] != '-')) { argfile=ARGV; } + if (strncmp("--silent", &ARGV[0], 7) == 0) { silent = 1; } + } + + // check filename + if (!argfile) + { + fprintf(stderr, "Filename needed!\n"); + return -1; + } + + // read file + infile = fopen(argfile, "r+b"); + if (!infile) { fprintf(stderr, "Error opening input file!\n"); return -1; } + fseek(infile, 0, SEEK_SET); + fread(&header, sizeof(header), 1, infile); + + // fix some data + memcpy(header.logo, good_header.logo, sizeof(header.logo)); + memcpy(&header.fixed, &good_header.fixed, sizeof(header.fixed)); + memcpy(&header.device_type, &good_header.device_type, sizeof(header.device_type)); + + // parse command line + for (arg=1; arg<argc; arg++) + { + if ((ARGV[0] == '-')) + { + switch (ARGV[1]) + { + case 'p': // pad + { + fseek(infile, 0, SEEK_END); + size = ftell(infile); + for (bit=31; bit>=0; bit--) if (size & (1<<bit)) break; + if (size != (1<<bit)) + { + int todo = (1<<(bit+1)) - size; + while (todo--) fputc(0xFF, infile); + } + fseek(infile, 0, SEEK_SET); + break; + } + + case 't': // title + { + char title[256]; + memset(title, 0, sizeof(title)); + if (VALUE[0]) + { + strncpy(title, VALUE, sizeof(header.title)); + } + else + { + // use filename + char s[256], *begin=s, *t; strcpy(s, argfile); + t = strrchr(s, '\\'); if (t) begin = t+1; + t = strrchr(s, '/'); if (t) begin = t+1; + t = strrchr(s, '.'); if (t) *t = 0; + strncpy(title, begin, sizeof(header.title)); + if (!silent) printf("%s\n",begin); + } + memcpy(header.title, title, sizeof(header.title)); // copy + break; + } + + case 'c': // game code + { + //if (!VALUE[0]) { fprintf(stderr, "Need value for %s\n", ARGV); break; } + //header.game_code = NUMBER; + header.game_code = VALUE[0] | VALUE[1]<<8 | VALUE[2]<<16 | VALUE[3]<<24; + break; + } + + case 'm': // maker code + { + //if (!VALUE[0]) { fprintf(stderr, "Need value for %s\n", ARGV); break; } + //header.maker_code = (unsigned short)NUMBER; + header.maker_code = VALUE[0] | VALUE[1]<<8; + break; + } + + case 'v': // ignored, compatability with other gbafix + { + break; + } + + case 'r': // version + { + if (!VALUE[0]) { fprintf(stderr, "Need value for %s\n", ARGV); break; } + header.game_version = (unsigned char)NUMBER; + break; + } + + case 'd': // debug + { + if (!VALUE[0]) { fprintf(stderr, "Need value for %s\n", ARGV); break; } + header.logo[0x9C-0x04] = 0xA5; // debug enable + header.device_type = (unsigned char)((NUMBER & 1) << 7); // debug handler entry point + break; + } + case '-': // long arguments + { + if (strncmp("silent", &ARGV[2], 6) == 0) { continue; } + break; + } + default: + { + printf("Invalid option: %s\n", ARGV); + } + } + } + } + + // update complement check & total checksum + header.complement = 0; + header.checksum = 0; // must be 0 + header.complement = HeaderComplement(); + //header.checksum = checksum_without_header + HeaderChecksum(); + + fseek(infile, 0, SEEK_SET); + fwrite(&header, sizeof(header), 1, infile); + fclose(infile); + + if (!silent) printf("ROM fixed!\n"); + + return 0; +} 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..339585b92 --- /dev/null +++ b/tools/gbagfx/Makefile @@ -0,0 +1,18 @@ +CC = gcc + +CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -DPNG_SKIP_SETJMP_CHECK + +LIBS = -lpng -lz + +SRCS = main.c convert_png.c gfx.c jasc_pal.c lz.c rl.c util.c font.c + +.PHONY: all clean + +all: gbagfx + @: + +gbagfx: $(SRCS) convert_png.h gfx.h global.h jasc_pal.h lz.h rl.h util.h font.h + $(CC) $(CFLAGS) $(SRCS) -o $@ $(LDFLAGS) $(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..cdfa39a7a --- /dev/null +++ b/tools/gbagfx/convert_png.c @@ -0,0 +1,254 @@ +// Copyright (c) 2015 YamaArashi + +#include <stdio.h> +#include <setjmp.h> +#include <png.h> +#include "global.h" +#include "convert_png.h" +#include "gfx.h" + +static FILE *PngReadOpen(char *path, png_structp *pngStruct, png_infop *pngInfo) +{ + 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); + + *pngStruct = png_ptr; + *pngInfo = info_ptr; + + return fp; +} + +static unsigned char *ConvertBitDepth(unsigned char *src, int srcBitDepth, int destBitDepth, int numPixels) +{ + // Round the number of bits up to the next 8 and divide by 8 to get the number of bytes. + int srcSize = ((numPixels * srcBitDepth + 7) & ~7) / 8; + int destSize = ((numPixels * destBitDepth + 7) & ~7) / 8; + unsigned char *output = calloc(destSize, 1); + unsigned char *dest = output; + int i; + int j; + int destBit = 8 - destBitDepth; + + for (i = 0; i < srcSize; i++) + { + unsigned char srcByte = src[i]; + + for (j = 8 - srcBitDepth; j >= 0; j -= srcBitDepth) + { + unsigned char pixel = (srcByte >> j) % (1 << srcBitDepth); + + if (pixel >= (1 << destBitDepth)) + FATAL_ERROR("Image exceeds the maximum color value for a %ibpp image.\n", destBitDepth); + *dest |= pixel << destBit; + destBit -= destBitDepth; + if (destBit < 0) + { + dest++; + destBit = 8 - destBitDepth; + } + } + } + + return output; +} + +void ReadPng(char *path, struct Image *image) +{ + png_structp png_ptr; + png_infop info_ptr; + + FILE *fp = PngReadOpen(path, &png_ptr, &info_ptr); + + int bit_depth = png_get_bit_depth(png_ptr, info_ptr); + + 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); + + if (bit_depth != image->bitDepth) + { + unsigned char *src = image->pixels; + + if (bit_depth != 1 && bit_depth != 2 && bit_depth != 4 && bit_depth != 8) + FATAL_ERROR("Bit depth of image must be 1, 2, 4, or 8.\n"); + image->pixels = ConvertBitDepth(image->pixels, bit_depth, image->bitDepth, image->width * image->height); + free(src); + image->bitDepth = bit_depth; + } +} + +void ReadPngPalette(char *path, struct Palette *palette) +{ + png_structp png_ptr; + png_infop info_ptr; + png_colorp colors; + int numColors; + + FILE *fp = PngReadOpen(path, &png_ptr, &info_ptr); + + if (png_get_color_type(png_ptr, info_ptr) != PNG_COLOR_TYPE_PALETTE) + FATAL_ERROR("The image \"%s\" does not contain a palette.\n", path); + + if (png_get_PLTE(png_ptr, info_ptr, &colors, &numColors) != PNG_INFO_PLTE) + FATAL_ERROR("Failed to retrieve palette from \"%s\".\n", path); + + if (numColors > 256) + FATAL_ERROR("Images with more than 256 colors are not supported.\n"); + + palette->numColors = numColors; + for (int i = 0; i < numColors; i++) { + palette->colors[i].red = colors[i].red; + palette->colors[i].green = colors[i].green; + palette->colors[i].blue = colors[i].blue; + } + + png_destroy_read_struct(&png_ptr, &info_ptr, NULL); + + 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..caf081b73 --- /dev/null +++ b/tools/gbagfx/convert_png.h @@ -0,0 +1,12 @@ +// 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); +void ReadPngPalette(char *path, struct Palette *palette); + +#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..da92771b9 --- /dev/null +++ b/tools/gbagfx/gfx.c @@ -0,0 +1,535 @@ +// Copyright (c) 2015 YamaArashi + +#include <stdio.h> +#include <stdlib.h> +#include <stdint.h> +#include <stdbool.h> +#include <string.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 inline void swap_bytes(unsigned char * orig, unsigned char * dest) { + unsigned char tmp = *orig; + *orig = *dest; + *dest = tmp; +} + +static inline unsigned char swap_nybbles(unsigned char orig) +{ + return (orig >> 4) | (orig << 4); +} + +static inline void swap_bytes_nybswap(unsigned char * orig, unsigned char * dest) { + unsigned char tmp = swap_nybbles(*orig); + *orig = swap_nybbles(*dest); + *dest = tmp; +} + +static inline unsigned char reverse_bits(unsigned char orig) { + unsigned char dest = 0; + for (int i = 0; i < 8; i++) + { + dest <<= 1; + dest |= orig & 1; + orig >>= 1; + } + return dest; +} + +static void vflip(unsigned char * tile, int bitDepth) { + for (int x = 0; x < bitDepth; x++) + { + unsigned char * col = tile + x; + swap_bytes(col + 0 * bitDepth, col + 7 * bitDepth); + swap_bytes(col + 1 * bitDepth, col + 6 * bitDepth); + swap_bytes(col + 2 * bitDepth, col + 5 * bitDepth); + swap_bytes(col + 3 * bitDepth, col + 4 * bitDepth); + } +} + +static void hflip(unsigned char * tile, int bitDepth) { + for (int y = 0; y < 8; y++) + { + unsigned char * row = tile + y * bitDepth; + switch (bitDepth) + { + case 1: + *row = reverse_bits(*row); + break; + case 4: + swap_bytes_nybswap(row + 0, row + 3); + swap_bytes_nybswap(row + 1, row + 2); + break; + case 8: + swap_bytes(row + 0, row + 56); + swap_bytes(row + 8, row + 48); + swap_bytes(row + 16, row + 40); + swap_bytes(row + 24, row + 32); + break; + } + } +} + +static unsigned char * ApplyTilemap(struct Image *image, unsigned char * buffer, int bitDepth) +{ + int tileSize = bitDepth * 8; + unsigned char * tiles = calloc(image->tileMap.numTiles, tileSize); + int i; + struct Tile tileInfo; + + for (i = 0; i < image->tileMap.numTiles; i++) { + tileInfo = image->tileMap.data[i]; + unsigned char * tile = tiles + i * tileSize; + memcpy(tile, buffer + tileInfo.index * tileSize, tileSize); + if (tileInfo.xflip) + hflip(tile, bitDepth); + if (tileInfo.yflip) + vflip(tile, bitDepth); + } + free(buffer); + return tiles; +} + +static unsigned char * BuildTilemap(struct Image *image, unsigned char * buffer, int * bufferSize) +{ + int tileSize = image->bitDepth * 8; + unsigned char * outputPixels = calloc(1024, tileSize); + int nTilesIn = image->height * image->width / 64; + image->tileMap.data = calloc(nTilesIn, sizeof(struct Tilemap)); + image->tileMap.numTiles = nTilesIn; + int nTilesOut = 0; + unsigned char curTile1[tileSize]; + unsigned char curTile2[tileSize]; + + for (int i = 0; i < nTilesIn; i++) { + bool xflip = false; + bool yflip = false; + int j; + memcpy(curTile1, buffer + i * tileSize, tileSize); + + for (j = 0; j < nTilesOut; j++) { + memcpy(curTile2, outputPixels + j * tileSize, tileSize); + if (memcmp(curTile1, curTile2, tileSize) == 0) + break; + xflip = true; + hflip(curTile2, image->bitDepth); + if (memcmp(curTile1, curTile2, tileSize) == 0) + break; + yflip = true; + vflip(curTile2, image->bitDepth); + if (memcmp(curTile1, curTile2, tileSize) == 0) + break; + xflip = false; + hflip(curTile2, image->bitDepth); + if (memcmp(curTile1, curTile2, tileSize) == 0) + break; + yflip = false; + } + image->tileMap.data[i].index = j; + image->tileMap.data[i].xflip = xflip; + image->tileMap.data[i].yflip = yflip; + image->tileMap.data[i].palno = 0; + if (j >= nTilesOut) { + if (nTilesOut >= 1024) + FATAL_ERROR("Cannot reduce image to 1024 or fewer tiles.\n"); + memcpy(outputPixels + nTilesOut * tileSize, curTile1, tileSize); + nTilesOut++; + } + } + + free(buffer); + *bufferSize = nTilesOut * tileSize; + return outputPixels; +} + +static void AdvanceMetatilePosition(int *subTileX, int *subTileY, int *metatileX, int *metatileY, int metatilesWide, int metatileWidth, int metatileHeight) +{ + (*subTileX)++; + if (*subTileX == metatileWidth) { + *subTileX = 0; + (*subTileY)++; + if (*subTileY == metatileHeight) { + *subTileY = 0; + (*metatileX)++; + if (*metatileX == metatilesWide) { + *metatileX = 0; + (*metatileY)++; + } + } + } +} + +static void ConvertFromTiles1Bpp(unsigned char *src, unsigned char *dest, int numTiles, int metatilesWide, int metatileWidth, int metatileHeight, bool invertColors) +{ + int subTileX = 0; + int subTileY = 0; + int metatileX = 0; + int metatileY = 0; + int pitch = metatilesWide * metatileWidth; + + for (int i = 0; i < numTiles; i++) { + for (int j = 0; j < 8; j++) { + int destY = (metatileY * metatileHeight + subTileY) * 8 + j; + int destX = metatileX * metatileWidth + subTileX; + 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; + } + } + + AdvanceMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide, metatileWidth, metatileHeight); + } +} + +static void ConvertFromTiles4Bpp(unsigned char *src, unsigned char *dest, int numTiles, int metatilesWide, int metatileWidth, int metatileHeight, bool invertColors) +{ + int subTileX = 0; + int subTileY = 0; + int metatileX = 0; + int metatileY = 0; + int pitch = (metatilesWide * metatileWidth) * 4; + + for (int i = 0; i < numTiles; i++) { + for (int j = 0; j < 8; j++) { + int destY = (metatileY * metatileHeight + subTileY) * 8 + j; + + for (int k = 0; k < 4; k++) { + int destX = (metatileX * metatileWidth + subTileX) * 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; + } + } + + AdvanceMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide, metatileWidth, metatileHeight); + } +} + +static void ConvertFromTiles8Bpp(unsigned char *src, unsigned char *dest, int numTiles, int metatilesWide, int metatileWidth, int metatileHeight, bool invertColors) +{ + int subTileX = 0; + int subTileY = 0; + int metatileX = 0; + int metatileY = 0; + int pitch = (metatilesWide * metatileWidth) * 8; + + for (int i = 0; i < numTiles; i++) { + for (int j = 0; j < 8; j++) { + int destY = (metatileY * metatileHeight + subTileY) * 8 + j; + + for (int k = 0; k < 8; k++) { + int destX = (metatileX * metatileWidth + subTileX) * 8 + k; + unsigned char srcPixel = *src++; + + if (invertColors) + srcPixel = 255 - srcPixel; + + dest[destY * pitch + destX] = srcPixel; + } + } + + AdvanceMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide, metatileWidth, metatileHeight); + } +} + +static void ConvertToTiles1Bpp(unsigned char *src, unsigned char *dest, int numTiles, int metatilesWide, int metatileWidth, int metatileHeight, bool invertColors) +{ + int subTileX = 0; + int subTileY = 0; + int metatileX = 0; + int metatileY = 0; + int pitch = metatilesWide * metatileWidth; + + for (int i = 0; i < numTiles; i++) { + for (int j = 0; j < 8; j++) { + int srcY = (metatileY * metatileHeight + subTileY) * 8 + j; + int srcX = metatileX * metatileWidth + subTileX; + 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; + } + } + + AdvanceMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide, metatileWidth, metatileHeight); + } +} + +static void ConvertToTiles4Bpp(unsigned char *src, unsigned char *dest, int numTiles, int metatilesWide, int metatileWidth, int metatileHeight, bool invertColors) +{ + int subTileX = 0; + int subTileY = 0; + int metatileX = 0; + int metatileY = 0; + int pitch = (metatilesWide * metatileWidth) * 4; + + for (int i = 0; i < numTiles; i++) { + for (int j = 0; j < 8; j++) { + int srcY = (metatileY * metatileHeight + subTileY) * 8 + j; + + for (int k = 0; k < 4; k++) { + int srcX = (metatileX * metatileWidth + subTileX) * 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; + } + } + + AdvanceMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide, metatileWidth, metatileHeight); + } +} + +static void ConvertToTiles8Bpp(unsigned char *src, unsigned char *dest, int numTiles, int metatilesWide, int metatileWidth, int metatileHeight, bool invertColors) +{ + int subTileX = 0; + int subTileY = 0; + int metatileX = 0; + int metatileY = 0; + int pitch = (metatilesWide * metatileWidth) * 8; + + for (int i = 0; i < numTiles; i++) { + for (int j = 0; j < 8; j++) { + int srcY = (metatileY * metatileHeight + subTileY) * 8 + j; + + for (int k = 0; k < 8; k++) { + int srcX = (metatileX * metatileWidth + subTileX) * 8 + k; + unsigned char srcPixel = src[srcY * pitch + srcX]; + + if (invertColors) + srcPixel = 255 - srcPixel; + + *dest++ = srcPixel; + } + } + + AdvanceMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide, metatileWidth, metatileHeight); + } +} + +void ReadImage(char *path, int tilesWidth, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors) +{ + int tileSize = bitDepth * 8; + + int fileSize; + unsigned char *buffer = ReadWholeFile(path, &fileSize); + + int numTiles; + if (image->hasTilemap) { + buffer = ApplyTilemap(image, buffer, bitDepth); + numTiles = image->tileMap.numTiles; + } + else + numTiles = fileSize / tileSize; + + int tilesHeight = (numTiles + tilesWidth - 1) / tilesWidth; + + if (tilesWidth % metatileWidth != 0) + FATAL_ERROR("The width in tiles (%d) isn't a multiple of the specified metatile width (%d)\n", tilesWidth, metatileWidth); + + if (tilesHeight % metatileHeight != 0) + FATAL_ERROR("The height in tiles (%d) isn't a multiple of the specified metatile height (%d)\n", tilesHeight, metatileHeight); + + 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"); + + int metatilesWide = tilesWidth / metatileWidth; + + switch (bitDepth) { + case 1: + ConvertFromTiles1Bpp(buffer, image->pixels, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors); + break; + case 4: + ConvertFromTiles4Bpp(buffer, image->pixels, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors); + break; + case 8: + ConvertFromTiles8Bpp(buffer, image->pixels, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors); + break; + } + + free(buffer); +} + +void WriteImage(char *path, int numTiles, int bitDepth, int metatileWidth, int metatileHeight, 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; + + if (tilesWidth % metatileWidth != 0) + FATAL_ERROR("The width in tiles (%d) isn't a multiple of the specified metatile width (%d)", tilesWidth, metatileWidth); + + if (tilesHeight % metatileHeight != 0) + FATAL_ERROR("The height in tiles (%d) isn't a multiple of the specified metatile height (%d)", tilesHeight, metatileHeight); + + 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"); + + int metatilesWide = tilesWidth / metatileWidth; + + switch (bitDepth) { + case 1: + ConvertToTiles1Bpp(image->pixels, buffer, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors); + break; + case 4: + ConvertToTiles4Bpp(image->pixels, buffer, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors); + break; + case 8: + ConvertToTiles8Bpp(image->pixels, buffer, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors); + break; + } + + if (image->hasTilemap) + buffer = BuildTilemap(image, buffer, &bufferSize); + + WriteWholeFile(path, buffer, bufferSize); + + free(buffer); +} + +void FreeImage(struct Image *image) +{ + free(image->pixels); + image->pixels = NULL; + if (image->hasTilemap && image->tileMap.data != NULL) { + free(image->tileMap.data); + image->tileMap.data = NULL; + image->tileMap.numTiles = 0; + } +} + +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); +} + +void ReadGbaTilemap(char *path, struct Tilemap *tileMap) +{ + 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); + + tileMap->numTiles = fileSize / 2; + tileMap->data = malloc(tileMap->numTiles * sizeof(struct Tile)); + + for (int i = 0; i < tileMap->numTiles; i++) + { + uint16_t raw = data[2 * i + 0] | (data[2 * i + 1] << 8); + tileMap->data[i].index = raw & 0x3FF; + tileMap->data[i].xflip = raw & 0x400 ? 1 : 0; + tileMap->data[i].yflip = raw & 0x800 ? 1 : 0; + tileMap->data[i].palno = raw >> 12; + } + + free(data); +} + +void WriteGbaTilemap(char *path, struct Tilemap *tileMap) +{ + FILE *fp = fopen(path, "wb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for writing.\n", path); + + for (int i = 0; i < tileMap->numTiles; i++) { + uint16_t raw = tileMap->data[i].index + | (tileMap->data[i].xflip << 10) + | (tileMap->data[i].yflip << 11) + | (tileMap->data[i].palno << 12); + fputc(raw & 0xFF, fp); + fputc(raw >> 8, fp); + } + + fclose(fp); +} diff --git a/tools/gbagfx/gfx.h b/tools/gbagfx/gfx.h new file mode 100644 index 000000000..15a3c6a6c --- /dev/null +++ b/tools/gbagfx/gfx.h @@ -0,0 +1,53 @@ +// 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 __attribute__((packed)) Tile { + unsigned short index:10; + unsigned short xflip:1; + unsigned short yflip:1; + unsigned short palno:4; +}; + +struct Tilemap { + struct Tile *data; + int numTiles; +}; + +struct Image { + int width; + int height; + int bitDepth; + unsigned char *pixels; + bool hasPalette; + struct Palette palette; + bool hasTransparency; + struct Tilemap tileMap; + bool hasTilemap; + +}; + +void ReadImage(char *path, int tilesWidth, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors); +void WriteImage(char *path, int numTiles, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors); +void FreeImage(struct Image *image); +void ReadGbaPalette(char *path, struct Palette *palette); +void WriteGbaPalette(char *path, struct Palette *palette); +void ReadGbaTilemap(char *path, struct Tilemap *tileMap); +void WriteGbaTilemap(char *path, struct Tilemap *tileMap); + +#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..e5ba9c3c2 --- /dev/null +++ b/tools/gbagfx/jasc_pal.c @@ -0,0 +1,172 @@ +// 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) +// +// <NUMBER_OF_COLORS> times: +// "<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"); + + if (fp == NULL) + FATAL_ERROR("Failed to open JASC-PAL file \"%s\" for reading.\n", path); + + 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 < 1 || palette->numColors > 256) + FATAL_ERROR("%d is an invalid number of colors. The number of colors must be in the range [1, 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..97434ce50 --- /dev/null +++ b/tools/gbagfx/lz.c @@ -0,0 +1,153 @@ +// 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) + goto fail; + + int destSize = (src[3] << 16) | (src[2] << 8) | src[1]; + + unsigned char *dest = malloc(destSize); + + if (dest == NULL) + goto fail; + + int srcPos = 4; + int destPos = 0; + + for (;;) { + if (srcPos >= srcSize) + goto fail; + + unsigned char flags = src[srcPos++]; + + for (int i = 0; i < 8; i++) { + if (flags & 0x80) { + if (srcPos + 1 >= srcSize) + goto fail; + + int blockSize = (src[srcPos] >> 4) + 3; + int blockDistance = (((src[srcPos] & 0xF) << 8) | src[srcPos + 1]) + 1; + + srcPos += 2; + + int blockPos = destPos - blockDistance; + + // Some Ruby/Sapphire tilesets overflow. + if (destPos + blockSize > destSize) { + blockSize = destSize - destPos; + fprintf(stderr, "Destination buffer overflow.\n"); + } + + if (blockPos < 0) + goto fail; + + for (int j = 0; j < blockSize; j++) + dest[destPos++] = dest[blockPos + j]; + } else { + if (srcPos >= srcSize || destPos >= destSize) + goto fail; + + dest[destPos++] = src[srcPos++]; + } + + if (destPos == destSize) { + *uncompressedSize = destSize; + return dest; + } + + flags <<= 1; + } + } + +fail: + FATAL_ERROR("Fatal error while decompressing LZ file.\n"); +} + +unsigned char *LZCompress(unsigned char *src, int srcSize, int *compressedSize, const int minDistance) +{ + if (srcSize <= 0) + goto fail; + + 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) + goto fail; + + // 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; + } + } + } + +fail: + FATAL_ERROR("Fatal error while compressing LZ file.\n"); +} diff --git a/tools/gbagfx/lz.h b/tools/gbagfx/lz.h new file mode 100644 index 000000000..90f56b643 --- /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, const int minDistance); + +#endif // LZ_H diff --git a/tools/gbagfx/main.c b/tools/gbagfx/main.c new file mode 100644 index 000000000..2174e37a5 --- /dev/null +++ b/tools/gbagfx/main.c @@ -0,0 +1,539 @@ +// Copyright (c) 2015 YamaArashi + +#include <stdio.h> +#include <string.h> +#include <stdbool.h> +#include "global.h" +#include "util.h" +#include "options.h" +#include "gfx.h" +#include "convert_png.h" +#include "jasc_pal.h" +#include "lz.h" +#include "rl.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, struct GbaToPngOptions *options) +{ + struct Image image; + + if (options->paletteFilePath != NULL) + { + ReadGbaPalette(options->paletteFilePath, &image.palette); + image.hasPalette = true; + } + else + { + image.hasPalette = false; + } + + if (options->tilemapFilePath != NULL) + { + ReadGbaTilemap(options->tilemapFilePath, &image.tileMap); + image.hasTilemap = true; + } + else + { + image.tileMap.data = NULL; + image.hasTilemap = false; + } + + ReadImage(inputPath, options->width, options->bitDepth, options->metatileWidth, options->metatileHeight, &image, !image.hasPalette); + + image.hasTransparency = options->hasTransparency; + + WritePng(outputPath, &image); + + FreeImage(&image); +} + +void ConvertPngToGba(char *inputPath, char *outputPath, struct PngToGbaOptions *options) +{ + struct Image image; + + image.bitDepth = options->bitDepth; + image.hasTilemap = options->tilemapFilePath == NULL ? false : true; + image.tileMap.data = NULL; + image.tileMap.numTiles = 0; + + ReadPng(inputPath, &image); + + WriteImage(outputPath, options->numTiles, options->bitDepth, options->metatileWidth, options->metatileHeight, &image, !image.hasPalette); + + if (image.hasTilemap) + WriteGbaTilemap(options->tilemapFilePath, &image.tileMap); + + FreeImage(&image); +} + +void HandleGbaToPngCommand(char *inputPath, char *outputPath, int argc, char **argv) +{ + char *inputFileExtension = GetFileExtension(inputPath); + struct GbaToPngOptions options; + options.paletteFilePath = NULL; + options.tilemapFilePath = NULL; + options.bitDepth = inputFileExtension[0] - '0'; + options.hasTransparency = false; + options.width = 1; + options.metatileWidth = 1; + options.metatileHeight = 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++; + + options.paletteFilePath = argv[i]; + } + else if (strcmp(option, "-tilemap") == 0) + { + if (i + 1 >= argc) + FATAL_ERROR("No tilemap file path following \"-tilemap\".\n"); + + i++; + + options.tilemapFilePath = argv[i]; + } + else if (strcmp(option, "-object") == 0) + { + options.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, &options.width)) + FATAL_ERROR("Failed to parse width.\n"); + + if (options.width < 1) + FATAL_ERROR("Width must be positive.\n"); + } + else if (strcmp(option, "-mwidth") == 0) + { + if (i + 1 >= argc) + FATAL_ERROR("No metatile width value following \"-mwidth\".\n"); + + i++; + + if (!ParseNumber(argv[i], NULL, 10, &options.metatileWidth)) + FATAL_ERROR("Failed to parse metatile width.\n"); + + if (options.metatileWidth < 1) + FATAL_ERROR("metatile width must be positive.\n"); + } + else if (strcmp(option, "-mheight") == 0) + { + if (i + 1 >= argc) + FATAL_ERROR("No metatile height value following \"-mheight\".\n"); + + i++; + + if (!ParseNumber(argv[i], NULL, 10, &options.metatileHeight)) + FATAL_ERROR("Failed to parse metatile height.\n"); + + if (options.metatileHeight < 1) + FATAL_ERROR("metatile height must be positive.\n"); + } + else + { + FATAL_ERROR("Unrecognized option \"%s\".\n", option); + } + } + + if (options.metatileWidth > options.width) + options.width = options.metatileWidth; + + ConvertGbaToPng(inputPath, outputPath, &options); +} + +void HandlePngToGbaCommand(char *inputPath, char *outputPath, int argc, char **argv) +{ + char *outputFileExtension = GetFileExtension(outputPath); + int bitDepth = outputFileExtension[0] - '0'; + struct PngToGbaOptions options; + options.numTiles = 0; + options.bitDepth = bitDepth; + options.metatileWidth = 1; + options.metatileHeight = 1; + options.tilemapFilePath = NULL; + + 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, &options.numTiles)) + FATAL_ERROR("Failed to parse number of tiles.\n"); + + if (options.numTiles < 1) + FATAL_ERROR("Number of tiles must be positive.\n"); + } + else if (strcmp(option, "-tilemap") == 0) + { + if (i + 1 >= argc) + FATAL_ERROR("No tilemap path following \"-tilemap\".\n"); + + i++; + options.tilemapFilePath = argv[i]; + } + else if (strcmp(option, "-mwidth") == 0) + { + if (i + 1 >= argc) + FATAL_ERROR("No metatile width value following \"-mwidth\".\n"); + + i++; + + if (!ParseNumber(argv[i], NULL, 10, &options.metatileWidth)) + FATAL_ERROR("Failed to parse metatile width.\n"); + + if (options.metatileWidth < 1) + FATAL_ERROR("metatile width must be positive.\n"); + } + else if (strcmp(option, "-mheight") == 0) + { + if (i + 1 >= argc) + FATAL_ERROR("No metatile height value following \"-mheight\".\n"); + + i++; + + if (!ParseNumber(argv[i], NULL, 10, &options.metatileHeight)) + FATAL_ERROR("Failed to parse metatile height.\n"); + + if (options.metatileHeight < 1) + FATAL_ERROR("metatile height must be positive.\n"); + } + else + { + FATAL_ERROR("Unrecognized option \"%s\".\n", option); + } + } + + ConvertPngToGba(inputPath, outputPath, &options); +} + +void HandlePngToGbaPaletteCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) +{ + struct Palette palette; + + ReadPngPalette(inputPath, &palette); + WriteGbaPalette(outputPath, &palette); +} + +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; + + image.hasTilemap = false; + image.tileMap.data = NULL; + image.tileMap.numTiles = 0; + + ReadLatinFont(inputPath, &image); + WritePng(outputPath, &image); + + FreeImage(&image); +} + +void HandlePngToLatinFontCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) +{ + struct Image image; + + image.hasTilemap = false; + image.tileMap.data = NULL; + image.tileMap.numTiles = 0; + + 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; + + image.hasTilemap = false; + image.tileMap.data = NULL; + image.tileMap.numTiles = 0; + + ReadHalfwidthJapaneseFont(inputPath, &image); + WritePng(outputPath, &image); + + FreeImage(&image); +} + +void HandlePngToHalfwidthJapaneseFontCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) +{ + struct Image image; + + image.hasTilemap = false; + image.tileMap.data = NULL; + image.tileMap.numTiles = 0; + + 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; + + image.hasTilemap = false; + image.tileMap.data = NULL; + image.tileMap.numTiles = 0; + + ReadFullwidthJapaneseFont(inputPath, &image); + WritePng(outputPath, &image); + + FreeImage(&image); +} + +void HandlePngToFullwidthJapaneseFontCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) +{ + struct Image image; + + image.hasTilemap = false; + image.tileMap.data = NULL; + image.tileMap.numTiles = 0; + + image.bitDepth = 2; + + ReadPng(inputPath, &image); + WriteFullwidthJapaneseFont(outputPath, &image); + + FreeImage(&image); +} + +void HandleLZCompressCommand(char *inputPath, char *outputPath, int argc, char **argv) +{ + int overflowSize = 0; + int minDistance = 2; // default, for compatibility with LZ77UnCompVram() + + for (int i = 3; i < argc; i++) + { + char *option = argv[i]; + + if (strcmp(option, "-overflow") == 0) + { + if (i + 1 >= argc) + FATAL_ERROR("No size following \"-overflow\".\n"); + + i++; + + if (!ParseNumber(argv[i], NULL, 10, &overflowSize)) + FATAL_ERROR("Failed to parse overflow size.\n"); + + if (overflowSize < 1) + FATAL_ERROR("Overflow size must be positive.\n"); + } + else if (strcmp(option, "-search") == 0) + { + if (i + 1 >= argc) + FATAL_ERROR("No size following \"-overflow\".\n"); + + i++; + + if (!ParseNumber(argv[i], NULL, 10, &minDistance)) + FATAL_ERROR("Failed to parse LZ min search distance.\n"); + + if (minDistance < 1) + FATAL_ERROR("LZ min search distance must be positive.\n"); + } + else + { + FATAL_ERROR("Unrecognized option \"%s\".\n", option); + } + } + + // The overflow option allows a quirk in some of Ruby/Sapphire's tilesets + // to be reproduced. It works by appending a number of zeros to the data + // before compressing it and then amending the LZ header's size field to + // reflect the expected size. This will cause an overflow when decompressing + // the data. + + int fileSize; + unsigned char *buffer = ReadWholeFileZeroPadded(inputPath, &fileSize, overflowSize); + + int compressedSize; + unsigned char *compressedData = LZCompress(buffer, fileSize + overflowSize, &compressedSize, minDistance); + + compressedData[1] = (unsigned char)fileSize; + compressedData[2] = (unsigned char)(fileSize >> 8); + compressedData[3] = (unsigned char)(fileSize >> 16); + + 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); +} + +void HandleRLCompressCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) +{ + int fileSize; + unsigned char *buffer = ReadWholeFile(inputPath, &fileSize); + + int compressedSize; + unsigned char *compressedData = RLCompress(buffer, fileSize, &compressedSize); + + free(buffer); + + WriteWholeFile(outputPath, compressedData, compressedSize); + + free(compressedData); +} + +void HandleRLDecompressCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) +{ + int fileSize; + unsigned char *buffer = ReadWholeFile(inputPath, &fileSize); + + int uncompressedSize; + unsigned char *uncompressedData = RLDecompress(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 }, + { "png", "gbapal", HandlePngToGbaPaletteCommand }, + { "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, "rl", HandleRLCompressCommand }, + { "rl", NULL, HandleRLDecompressCommand }, + { 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/options.h b/tools/gbagfx/options.h new file mode 100644 index 000000000..463ee2455 --- /dev/null +++ b/tools/gbagfx/options.h @@ -0,0 +1,26 @@ +// Copyright (c) 2018 huderlem + +#ifndef OPTIONS_H +#define OPTIONS_H + +#include <stdbool.h> + +struct GbaToPngOptions { + char *paletteFilePath; + char *tilemapFilePath; + int bitDepth; + bool hasTransparency; + int width; + int metatileWidth; + int metatileHeight; +}; + +struct PngToGbaOptions { + char *tilemapFilePath; + int numTiles; + int bitDepth; + int metatileWidth; + int metatileHeight; +}; + +#endif // OPTIONS_H diff --git a/tools/gbagfx/rl.c b/tools/gbagfx/rl.c new file mode 100644 index 000000000..968c9347e --- /dev/null +++ b/tools/gbagfx/rl.c @@ -0,0 +1,149 @@ +// Copyright (c) 2016 YamaArashi + +#include <stdlib.h> +#include <stdbool.h> +#include "global.h" +#include "rl.h" + +unsigned char *RLDecompress(unsigned char *src, int srcSize, int *uncompressedSize) +{ + if (srcSize < 4) + goto fail; + + int destSize = (src[3] << 16) | (src[2] << 8) | src[1]; + + unsigned char *dest = malloc(destSize); + + if (dest == NULL) + goto fail; + + int srcPos = 4; + int destPos = 0; + + for (;;) + { + if (srcPos >= srcSize) + goto fail; + + unsigned char flags = src[srcPos++]; + bool compressed = ((flags & 0x80) != 0); + + if (compressed) + { + int length = (flags & 0x7F) + 3; + unsigned char data = src[srcPos++]; + + if (destPos + length > destSize) + goto fail; + + for (int i = 0; i < length; i++) + dest[destPos++] = data; + } + else + { + int length = (flags & 0x7F) + 1; + + if (destPos + length > destSize) + goto fail; + + for (int i = 0; i < length; i++) + dest[destPos++] = src[srcPos++]; + } + + if (destPos == destSize) + { + *uncompressedSize = destSize; + return dest; + } + } + +fail: + FATAL_ERROR("Fatal error while decompressing RL file.\n"); +} + +unsigned char *RLCompress(unsigned char *src, int srcSize, int *compressedSize) +{ + if (srcSize <= 0) + goto fail; + + int worstCaseDestSize = 4 + srcSize * 2; + + // Round up to the next multiple of four. + worstCaseDestSize = (worstCaseDestSize + 3) & ~3; + + unsigned char *dest = malloc(worstCaseDestSize); + + if (dest == NULL) + goto fail; + + // header + dest[0] = 0x30; // RL 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 (;;) + { + bool compress = false; + int uncompressedStart = srcPos; + int uncompressedLength = 0; + + while (srcPos < srcSize && uncompressedLength < (0x7F + 1)) + { + compress = (srcPos + 2 < srcSize && src[srcPos] == src[srcPos + 1] && src[srcPos] == src[srcPos + 2]); + + if (compress) + break; + + srcPos++; + uncompressedLength++; + } + + if (uncompressedLength > 0) + { + dest[destPos++] = uncompressedLength - 1; + + for (int i = 0; i < uncompressedLength; i++) + dest[destPos++] = src[uncompressedStart + i]; + } + + if (compress) + { + unsigned char data = src[srcPos]; + int compressedLength = 0; + + while (compressedLength < (0x7F + 3) + && srcPos + compressedLength < srcSize + && src[srcPos + compressedLength] == data) + { + compressedLength++; + } + + dest[destPos++] = 0x80 | (compressedLength - 3); + dest[destPos++] = data; + + srcPos += compressedLength; + } + + 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; + } + } + +fail: + FATAL_ERROR("Fatal error while compressing RL file.\n"); +} diff --git a/tools/gbagfx/rl.h b/tools/gbagfx/rl.h new file mode 100644 index 000000000..02ad8d6d3 --- /dev/null +++ b/tools/gbagfx/rl.h @@ -0,0 +1,9 @@ +// Copyright (c) 2016 YamaArashi + +#ifndef RL_H +#define RL_H + +unsigned char *RLDecompress(unsigned char *src, int srcSize, int *uncompressedSize); +unsigned char *RLCompress(unsigned char *src, int srcSize, int *compressedSize); + +#endif // RL_H diff --git a/tools/gbagfx/util.c b/tools/gbagfx/util.c new file mode 100644 index 000000000..87abeb31c --- /dev/null +++ b/tools/gbagfx/util.c @@ -0,0 +1,124 @@ +// 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; +} + +unsigned char *ReadWholeFileZeroPadded(char *path, int *size, int padAmount) +{ + 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 = calloc(*size + padAmount, 1); + + 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..6d7a9c21e --- /dev/null +++ b/tools/gbagfx/util.h @@ -0,0 +1,14 @@ +// 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); +unsigned char *ReadWholeFileZeroPadded(char *path, int *size, int padAmount); +void WriteWholeFile(char *path, void *buffer, int bufferSize); + +#endif // UTIL_H diff --git a/tools/mid2agb/.gitignore b/tools/mid2agb/.gitignore new file mode 100644 index 000000000..0e7264c86 --- /dev/null +++ b/tools/mid2agb/.gitignore @@ -0,0 +1 @@ +mid2agb diff --git a/tools/mid2agb/LICENSE b/tools/mid2agb/LICENSE new file mode 100644 index 000000000..534d15349 --- /dev/null +++ b/tools/mid2agb/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2016 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/mid2agb/Makefile b/tools/mid2agb/Makefile new file mode 100644 index 000000000..77f96db5a --- /dev/null +++ b/tools/mid2agb/Makefile @@ -0,0 +1,18 @@ +CXX := g++ + +CXXFLAGS := -std=c++11 -O2 -Wall -Wno-switch -Werror + +SRCS := agb.cpp error.cpp main.cpp midi.cpp tables.cpp + +HEADERS := agb.h error.h main.h midi.h tables.h + +.PHONY: all clean + +all: mid2agb + @: + +mid2agb: $(SRCS) $(HEADERS) + $(CXX) $(CXXFLAGS) $(SRCS) -o $@ $(LDFLAGS) + +clean: + $(RM) mid2agb mid2agb.exe diff --git a/tools/mid2agb/agb.cpp b/tools/mid2agb/agb.cpp new file mode 100644 index 000000000..d4d79f133 --- /dev/null +++ b/tools/mid2agb/agb.cpp @@ -0,0 +1,547 @@ +// Copyright(c) 2016 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. + +#include <cstdio> +#include <cstdarg> +#include <cstring> +#include <vector> +#include "agb.h" +#include "main.h" +#include "midi.h" +#include "tables.h" + +int g_agbTrack; + +static std::string s_lastOpName; +static int s_blockNum; +static bool s_keepLastOpName; +static int s_lastNote; +static int s_lastVelocity; +static bool s_noteChanged; +static bool s_velocityChanged; +static bool s_inPattern; +static int s_extendedCommand; +static int s_memaccOp; +static int s_memaccParam1; +static int s_memaccParam2; + +void PrintAgbHeader() +{ + std::fprintf(g_outputFile, "\t.include \"MPlayDef.s\"\n\n"); + std::fprintf(g_outputFile, "\t.equ\t%s_grp, voicegroup%03u\n", g_asmLabel.c_str(), g_voiceGroup); + std::fprintf(g_outputFile, "\t.equ\t%s_pri, %u\n", g_asmLabel.c_str(), g_priority); + + if (g_reverb >= 0) + std::fprintf(g_outputFile, "\t.equ\t%s_rev, reverb_set+%u\n", g_asmLabel.c_str(), g_reverb); + else + std::fprintf(g_outputFile, "\t.equ\t%s_rev, 0\n", g_asmLabel.c_str()); + + std::fprintf(g_outputFile, "\t.equ\t%s_mvl, %u\n", g_asmLabel.c_str(), g_masterVolume); + std::fprintf(g_outputFile, "\t.equ\t%s_key, %u\n", g_asmLabel.c_str(), 0); + std::fprintf(g_outputFile, "\t.equ\t%s_tbs, %u\n", g_asmLabel.c_str(), g_clocksPerBeat); + std::fprintf(g_outputFile, "\t.equ\t%s_exg, %u\n", g_asmLabel.c_str(), g_exactGateTime); + std::fprintf(g_outputFile, "\t.equ\t%s_cmp, %u\n", g_asmLabel.c_str(), g_compressionEnabled); + + std::fprintf(g_outputFile, "\n\t.section .rodata\n"); + std::fprintf(g_outputFile, "\t.global\t%s\n", g_asmLabel.c_str()); + + std::fprintf(g_outputFile, "\t.align\t2\n"); +} + +void ResetTrackVars() +{ + s_lastVelocity = -1; + s_lastNote = -1; + s_velocityChanged = false; + s_noteChanged = false; + s_keepLastOpName = false; + s_lastOpName = ""; + s_inPattern = false; +} + +void PrintWait(int wait) +{ + if (wait > 0) + { + std::fprintf(g_outputFile, "\t.byte\tW%02d\n", wait); + s_velocityChanged = true; + s_noteChanged = true; + s_keepLastOpName = true; + } +} + +void PrintOp(int wait, std::string name, const char *format, ...) +{ + std::va_list args; + va_start(args, format); + std::fprintf(g_outputFile, "\t.byte\t\t"); + + if (format != nullptr) + { + if (!g_compressionEnabled || s_lastOpName != name) + { + std::fprintf(g_outputFile, "%s, ", name.c_str()); + s_lastOpName = name; + } + else + { + std::fprintf(g_outputFile, " "); + } + std::vfprintf(g_outputFile, format, args); + } + else + { + std::fputs(name.c_str(), g_outputFile); + s_lastOpName = name; + } + + std::fprintf(g_outputFile, "\n"); + + va_end(args); + + PrintWait(wait); +} + +void PrintByte(const char *format, ...) +{ + std::va_list args; + va_start(args, format); + std::fprintf(g_outputFile, "\t.byte\t"); + std::vfprintf(g_outputFile, format, args); + std::fprintf(g_outputFile, "\n"); + s_velocityChanged = true; + s_noteChanged = true; + s_keepLastOpName = true; + va_end(args); +} + +void PrintWord(const char *format, ...) +{ + std::va_list args; + va_start(args, format); + std::fprintf(g_outputFile, "\t .word\t"); + std::vfprintf(g_outputFile, format, args); + std::fprintf(g_outputFile, "\n"); + va_end(args); +} + +void PrintNote(const Event& event) +{ + int note = event.note; + int velocity = g_noteVelocityLUT[event.param1]; + int duration = -1; + + if (event.param2 != -1) + duration = g_noteDurationLUT[event.param2]; + + int gateTimeParam = 0; + + if (g_exactGateTime && duration != -1) + gateTimeParam = event.param2 - duration; + + char gtpBuf[16]; + + if (gateTimeParam > 0) + std::snprintf(gtpBuf, sizeof(gtpBuf), ", gtp%u", gateTimeParam); + else + gtpBuf[0] = 0; + + char opName[16]; + + if (duration == -1) + std::strcpy(opName, "TIE "); + else + std::snprintf(opName, sizeof(opName), "N%02u ", duration); + + bool noteChanged = true; + bool velocityChanged = true; + + if (g_compressionEnabled) + { + noteChanged = (note != s_lastNote); + velocityChanged = (velocity != s_lastVelocity); + } + + if (s_keepLastOpName) + s_keepLastOpName = false; + else + s_lastOpName = ""; + + if (noteChanged || velocityChanged || (gateTimeParam > 0)) + { + s_lastNote = note; + + char noteBuf[16]; + + if (note >= 24) + std::snprintf(noteBuf, sizeof(noteBuf), g_noteTable[note % 12], note / 12 - 2); + else + std::snprintf(noteBuf, sizeof(noteBuf), g_minusNoteTable[note % 12], note / -12 + 2); + + char velocityBuf[16]; + + if (velocityChanged || (gateTimeParam > 0)) + { + s_lastVelocity = velocity; + std::snprintf(velocityBuf, sizeof(velocityBuf), ", v%03u", velocity); + } + else + { + velocityBuf[0] = 0; + } + + PrintOp(event.time, opName, "%s%s%s", noteBuf, velocityBuf, gtpBuf); + } + else + { + PrintOp(event.time, opName, 0); + } + + s_noteChanged = noteChanged; + s_velocityChanged = velocityChanged; +} + +void PrintEndOfTieOp(const Event& event) +{ + int note = event.note; + bool noteChanged = (note != s_lastNote); + + if (!noteChanged || !s_noteChanged) + s_lastOpName = ""; + + if (!noteChanged && g_compressionEnabled) + { + PrintOp(event.time, "EOT ", nullptr); + } + else + { + s_lastNote = note; + if (note >= 24) + PrintOp(event.time, "EOT ", g_noteTable[note % 12], note / 12 - 2); + else + PrintOp(event.time, "EOT ", g_minusNoteTable[note % 12], note / -12 + 2); + } + + s_noteChanged = noteChanged; +} + +void PrintSeqLoopLabel(const Event& event) +{ + s_blockNum = event.param1 + 1; + std::fprintf(g_outputFile, "%s_%u_B%u:\n", g_asmLabel.c_str(), g_agbTrack, s_blockNum); + PrintWait(event.time); + ResetTrackVars(); +} + +void PrintMemAcc(const Event& event) +{ + switch (s_memaccOp) + { + case 0x00: + PrintByte("MEMACC, mem_set, 0x%02X, %u", s_memaccParam1, event.param2); + break; + case 0x01: + PrintByte("MEMACC, mem_add, 0x%02X, %u", s_memaccParam1, event.param2); + break; + case 0x02: + PrintByte("MEMACC, mem_sub, 0x%02X, %u", s_memaccParam1, event.param2); + break; + case 0x03: + PrintByte("MEMACC, mem_mem_set, 0x%02X, 0x%02X", s_memaccParam1, event.param2); + break; + case 0x04: + PrintByte("MEMACC, mem_mem_add, 0x%02X, 0x%02X", s_memaccParam1, event.param2); + break; + case 0x05: + PrintByte("MEMACC, mem_mem_sub, 0x%02X, 0x%02X", s_memaccParam1, event.param2); + break; + // TODO: everything else + case 0x06: + break; + case 0x07: + break; + case 0x08: + break; + case 0x09: + break; + case 0x0A: + break; + case 0x0B: + break; + case 0x0C: + break; + case 0x0D: + break; + case 0x0E: + break; + case 0x0F: + break; + case 0x10: + break; + case 0x11: + break; + case 0x46: + break; + case 0x47: + break; + case 0x48: + break; + case 0x49: + break; + case 0x4A: + break; + case 0x4B: + break; + case 0x4C: + break; + case 0x4D: + break; + case 0x4E: + break; + case 0x4F: + break; + case 0x50: + break; + case 0x51: + break; + default: + break; + } + + PrintWait(event.time); +} + +void PrintExtendedOp(const Event& event) +{ + // TODO: support for other extended commands + + switch (s_extendedCommand) + { + case 0x08: + PrintOp(event.time, "XCMD ", "xIECV , %u", event.param2); + break; + case 0x09: + PrintOp(event.time, "XCMD ", "xIECL , %u", event.param2); + break; + default: + PrintWait(event.time); + break; + } +} + +void PrintControllerOp(const Event& event) +{ + switch (event.param1) + { + case 0x01: + PrintOp(event.time, "MOD ", "%u", event.param2); + break; + case 0x07: + PrintOp(event.time, "VOL ", "%u*%s_mvl/mxv", event.param2, g_asmLabel.c_str()); + break; + case 0x0A: + PrintOp(event.time, "PAN ", "c_v%+d", event.param2 - 64); + break; + case 0x0C: + case 0x10: + PrintMemAcc(event); + break; + case 0x0D: + s_memaccOp = event.param2; + PrintWait(event.time); + break; + case 0x0E: + s_memaccParam1 = event.param2; + PrintWait(event.time); + break; + case 0x0F: + s_memaccParam2 = event.param2; + PrintWait(event.time); + break; + case 0x11: + std::fprintf(g_outputFile, "%s_%u_L%u:\n", g_asmLabel.c_str(), g_agbTrack, event.param2); + PrintWait(event.time); + ResetTrackVars(); + break; + case 0x14: + PrintOp(event.time, "BENDR ", "%u", event.param2); + break; + case 0x15: + PrintOp(event.time, "LFOS ", "%u", event.param2); + break; + case 0x16: + PrintOp(event.time, "MODT ", "%u", event.param2); + break; + case 0x18: + PrintOp(event.time, "TUNE ", "c_v%+d", event.param2 - 64); + break; + case 0x1A: + PrintOp(event.time, "LFODL ", "%u", event.param2); + break; + case 0x1D: + case 0x1F: + PrintExtendedOp(event); + break; + case 0x1E: + s_extendedCommand = event.param2; + // TODO: loop op + break; + case 0x21: + case 0x27: + PrintByte("PRIO , %u", event.param2); + PrintWait(event.time); + break; + default: + PrintWait(event.time); + break; + } +} + +void PrintAgbTrack(std::vector<Event>& events) +{ + std::fprintf(g_outputFile, "\n@**************** Track %u (Midi-Chn.%u) ****************@\n\n", g_agbTrack, g_midiChan + 1); + std::fprintf(g_outputFile, "%s_%u:\n", g_asmLabel.c_str(), g_agbTrack); + + int wholeNoteCount = 0; + int loopEndBlockNum = 0; + + ResetTrackVars(); + + bool foundVolBeforeNote = false; + + for (const Event& event : events) + { + if (event.type == EventType::Note) + break; + + if (event.type == EventType::Controller && event.param1 == 0x07) + { + foundVolBeforeNote = true; + break; + } + } + + if (!foundVolBeforeNote) + PrintByte("\tVOL , 127*%s_mvl/mxv", g_asmLabel.c_str()); + + PrintWait(g_initialWait); + PrintByte("KEYSH , %s_key%+d", g_asmLabel.c_str(), 0); + + for (unsigned i = 0; events[i].type != EventType::EndOfTrack; i++) + { + const Event& event = events[i]; + + if (IsPatternBoundary(event.type)) + { + if (s_inPattern) + PrintByte("PEND"); + s_inPattern = false; + } + + if (event.type == EventType::WholeNoteMark || event.type == EventType::Pattern) + std::fprintf(g_outputFile, "@ %03d ----------------------------------------\n", wholeNoteCount++); + + switch (event.type) + { + case EventType::Note: + PrintNote(event); + break; + case EventType::EndOfTie: + PrintEndOfTieOp(event); + break; + case EventType::Label: + PrintSeqLoopLabel(event); + break; + case EventType::LoopEnd: + PrintByte("GOTO"); + PrintWord("%s_%u_B%u", g_asmLabel.c_str(), g_agbTrack, loopEndBlockNum); + PrintSeqLoopLabel(event); + break; + case EventType::LoopEndBegin: + PrintByte("GOTO"); + PrintWord("%s_%u_B%u", g_asmLabel.c_str(), g_agbTrack, loopEndBlockNum); + PrintSeqLoopLabel(event); + loopEndBlockNum = s_blockNum; + break; + case EventType::LoopBegin: + PrintSeqLoopLabel(event); + loopEndBlockNum = s_blockNum; + break; + case EventType::WholeNoteMark: + if (event.param2 & 0x80000000) + { + std::fprintf(g_outputFile, "%s_%u_%03lu:\n", g_asmLabel.c_str(), g_agbTrack, (unsigned long)(event.param2 & 0x7FFFFFFF)); + ResetTrackVars(); + s_inPattern = true; + } + PrintWait(event.time); + break; + case EventType::Pattern: + PrintByte("PATT"); + PrintWord("%s_%u_%03lu", g_asmLabel.c_str(), g_agbTrack, event.param2); + + while (!IsPatternBoundary(events[i + 1].type)) + i++; + + ResetTrackVars(); + break; + case EventType::Tempo: + PrintByte("TEMPO , %u*%s_tbs/2", 60000000 / event.param2, g_asmLabel.c_str()); + PrintWait(event.time); + break; + case EventType::InstrumentChange: + PrintOp(event.time, "VOICE ", "%u", event.param1); + break; + case EventType::PitchBend: + PrintOp(event.time, "BEND ", "c_v%+d", event.param2 - 64); + break; + case EventType::Controller: + PrintControllerOp(event); + break; + default: + PrintWait(event.time); + break; + } + } + + PrintByte("FINE"); +} + +void PrintAgbFooter() +{ + int trackCount = g_agbTrack - 1; + + std::fprintf(g_outputFile, "\n@******************************************************@\n"); + std::fprintf(g_outputFile, "\t.align\t2\n"); + std::fprintf(g_outputFile, "\n%s:\n", g_asmLabel.c_str()); + std::fprintf(g_outputFile, "\t.byte\t%u\t@ NumTrks\n", trackCount); + std::fprintf(g_outputFile, "\t.byte\t%u\t@ NumBlks\n", 0); + std::fprintf(g_outputFile, "\t.byte\t%s_pri\t@ Priority\n", g_asmLabel.c_str()); + std::fprintf(g_outputFile, "\t.byte\t%s_rev\t@ Reverb.\n", g_asmLabel.c_str()); + std::fprintf(g_outputFile, "\n"); + std::fprintf(g_outputFile, "\t.word\t%s_grp\n", g_asmLabel.c_str()); + std::fprintf(g_outputFile, "\n"); + + // track pointers + for (int i = 1; i <= trackCount; i++) + std::fprintf(g_outputFile, "\t.word\t%s_%u\n", g_asmLabel.c_str(), i); + + std::fprintf(g_outputFile, "\n\t.end\n"); +} diff --git a/tools/mid2agb/agb.h b/tools/mid2agb/agb.h new file mode 100644 index 000000000..7eab3c143 --- /dev/null +++ b/tools/mid2agb/agb.h @@ -0,0 +1,33 @@ +// Copyright(c) 2016 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. + +#ifndef AGB_H +#define AGB_H + +#include <vector> +#include "midi.h" + +void PrintAgbHeader(); +void PrintAgbTrack(std::vector<Event>& events); +void PrintAgbFooter(); + +extern int g_agbTrack; + +#endif // AGB_H diff --git a/tools/mid2agb/error.cpp b/tools/mid2agb/error.cpp new file mode 100644 index 000000000..13e38ffa8 --- /dev/null +++ b/tools/mid2agb/error.cpp @@ -0,0 +1,36 @@ +// Copyright(c) 2016 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. + +#include <cstdio> +#include <cstdlib> +#include <cstdarg> + +// Reports an error diagnostic and terminates the program. +[[noreturn]] void RaiseError(const char* format, ...) +{ + const int bufferSize = 1024; + char buffer[bufferSize]; + std::va_list args; + va_start(args, format); + std::vsnprintf(buffer, bufferSize, format, args); + std::fprintf(stderr, "error: %s\n", buffer); + va_end(args); + std::exit(1); +} diff --git a/tools/mid2agb/error.h b/tools/mid2agb/error.h new file mode 100644 index 000000000..da4f01142 --- /dev/null +++ b/tools/mid2agb/error.h @@ -0,0 +1,26 @@ +// Copyright(c) 2016 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. + +#ifndef ERROR_H +#define ERROR_H + +[[noreturn]] void RaiseError(const char* format, ...); + +#endif // ERROR_H diff --git a/tools/mid2agb/main.cpp b/tools/mid2agb/main.cpp new file mode 100644 index 000000000..ea2b294ac --- /dev/null +++ b/tools/mid2agb/main.cpp @@ -0,0 +1,233 @@ +// Copyright(c) 2016 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. + +#include <cstdio> +#include <cstdlib> +#include <cstring> +#include <cctype> +#include <cassert> +#include <string> +#include <set> +#include "main.h" +#include "error.h" +#include "midi.h" +#include "agb.h" + +FILE* g_inputFile = nullptr; +FILE* g_outputFile = nullptr; + +std::string g_asmLabel; +int g_masterVolume = 127; +int g_voiceGroup = 0; +int g_priority = 0; +int g_reverb = -1; +int g_clocksPerBeat = 1; +bool g_exactGateTime = false; +bool g_compressionEnabled = true; + +[[noreturn]] static void PrintUsage() +{ + std::printf( + "Usage: MID2AGB name [options]\n" + "\n" + " input_file filename(.mid) of MIDI file\n" + " output_file filename(.s) for AGB file (default:input_file)\n" + "\n" + "options -L??? label for assembler (default:output_file)\n" + " -V??? master volume (default:127)\n" + " -G??? voice group number (default:0)\n" + " -P??? priority (default:0)\n" + " -R??? reverb (default:off)\n" + " -X 48 clocks/beat (default:24 clocks/beat)\n" + " -E exact gate-time\n" + " -N no compression\n" + ); + std::exit(1); +} + +static std::string StripExtension(std::string s) +{ + std::size_t pos = s.find_last_of('.'); + + if (pos > 0 && pos != std::string::npos) + { + s = s.substr(0, pos); + } + + return s; +} + +static std::string GetExtension(std::string s) +{ + std::size_t pos = s.find_last_of('.'); + + if (pos > 0 && pos != std::string::npos) + { + return s.substr(pos + 1); + } + + return ""; +} + +static std::string BaseName(std::string s) +{ + std::size_t posAfterSlash = s.find_last_of("/\\"); + + if (posAfterSlash == std::string::npos) + posAfterSlash = 0; + else + posAfterSlash++; + + std::size_t dotPos = s.find_first_of('.', posAfterSlash); + if (dotPos > posAfterSlash && dotPos != std::string::npos) + s = s.substr(posAfterSlash, dotPos - posAfterSlash); + + return s; +} + +static const char *GetArgument(int argc, char **argv, int& index) +{ + assert(index >= 0 && index < argc); + + const char *option = argv[index]; + + assert(option != nullptr); + assert(option[0] == '-'); + + // If there is text following the letter, return that. + if (std::strlen(option) >= 3) + return option + 2; + + // Otherwise, try to get the next arg. + if (index + 1 < argc) + { + index++; + return argv[index]; + } + else + { + return nullptr; + } +} + +int main(int argc, char** argv) +{ + std::string inputFilename; + std::string outputFilename; + + for (int i = 1; i < argc; i++) + { + const char *option = argv[i]; + + if (option[0] == '-' && option[1] != '\0') + { + const char *arg; + + switch (std::toupper(option[1])) + { + case 'E': + g_exactGateTime = true; + break; + case 'G': + arg = GetArgument(argc, argv, i); + if (arg == nullptr) + PrintUsage(); + g_voiceGroup = std::stoi(arg); + break; + case 'L': + arg = GetArgument(argc, argv, i); + if (arg == nullptr) + PrintUsage(); + g_asmLabel = arg; + break; + case 'N': + g_compressionEnabled = false; + break; + case 'P': + arg = GetArgument(argc, argv, i); + if (arg == nullptr) + PrintUsage(); + g_priority = std::stoi(arg); + break; + case 'R': + arg = GetArgument(argc, argv, i); + if (arg == nullptr) + PrintUsage(); + g_reverb = std::stoi(arg); + break; + case 'V': + arg = GetArgument(argc, argv, i); + if (arg == nullptr) + PrintUsage(); + g_masterVolume = std::stoi(arg); + break; + case 'X': + g_clocksPerBeat = 2; + break; + default: + PrintUsage(); + } + } + else + { + if (inputFilename.empty()) + inputFilename = argv[i]; + else if (outputFilename.empty()) + outputFilename = argv[i]; + else + PrintUsage(); + } + } + + if (inputFilename.empty()) + PrintUsage(); + + if (GetExtension(inputFilename) != "mid") + RaiseError("input filename extension is not \"mid\""); + + if (outputFilename.empty()) + outputFilename = StripExtension(inputFilename) + ".s"; + + if (GetExtension(outputFilename) != "s") + RaiseError("output filename extension is not \"s\""); + + if (g_asmLabel.empty()) + g_asmLabel = BaseName(outputFilename); + + g_inputFile = std::fopen(inputFilename.c_str(), "rb"); + + if (g_inputFile == nullptr) + RaiseError("failed to open \"%s\" for reading", inputFilename.c_str()); + + g_outputFile = std::fopen(outputFilename.c_str(), "w"); + + if (g_outputFile == nullptr) + RaiseError("failed to open \"%s\" for writing", outputFilename.c_str()); + + ReadMidiFileHeader(); + PrintAgbHeader(); + ReadMidiTracks(); + PrintAgbFooter(); + + std::fclose(g_inputFile); + std::fclose(g_outputFile); + + return 0; +} diff --git a/tools/mid2agb/main.h b/tools/mid2agb/main.h new file mode 100644 index 000000000..6e71e73fd --- /dev/null +++ b/tools/mid2agb/main.h @@ -0,0 +1,39 @@ +// Copyright(c) 2016 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. + +#ifndef MAIN_H +#define MAIN_H + +#include <cstdio> +#include <string> + +extern FILE* g_inputFile; +extern FILE* g_outputFile; + +extern std::string g_asmLabel; +extern int g_masterVolume; +extern int g_voiceGroup; +extern int g_priority; +extern int g_reverb; +extern int g_clocksPerBeat; +extern bool g_exactGateTime; +extern bool g_compressionEnabled; + +#endif // MAIN_H diff --git a/tools/mid2agb/midi.cpp b/tools/mid2agb/midi.cpp new file mode 100644 index 000000000..fa7d9ce28 --- /dev/null +++ b/tools/mid2agb/midi.cpp @@ -0,0 +1,964 @@ +// Copyright(c) 2016 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. + +#include <cstdio> +#include <cassert> +#include <string> +#include <vector> +#include <algorithm> +#include <memory> +#include "midi.h" +#include "main.h" +#include "error.h" +#include "agb.h" +#include "tables.h" + +enum class MidiEventCategory +{ + Control, + SysEx, + Meta, + Invalid, +}; + +MidiFormat g_midiFormat; +std::int_fast32_t g_midiTrackCount; +std::int16_t g_midiTimeDiv; + +int g_midiChan; +std::int32_t g_initialWait; + +static long s_trackDataStart; +static std::vector<Event> s_seqEvents; +static std::vector<Event> s_trackEvents; +static std::int32_t s_absoluteTime; +static int s_blockCount = 0; +static int s_minNote; +static int s_maxNote; +static int s_runningStatus; + +void Seek(long offset) +{ + if (std::fseek(g_inputFile, offset, SEEK_SET) != 0) + RaiseError("failed to seek to %l", offset); +} + +void Skip(long offset) +{ + if (std::fseek(g_inputFile, offset, SEEK_CUR) != 0) + RaiseError("failed to skip %l bytes", offset); +} + +std::string ReadSignature() +{ + char signature[4]; + + if (std::fread(signature, 4, 1, g_inputFile) != 1) + RaiseError("failed to read signature"); + + return std::string(signature, 4); +} + +std::uint32_t ReadInt8() +{ + int c = std::fgetc(g_inputFile); + + if (c < 0) + RaiseError("unexpected EOF"); + + return c; +} + +std::uint32_t ReadInt16() +{ + std::uint32_t val = 0; + val |= ReadInt8() << 8; + val |= ReadInt8(); + return val; +} + +std::uint32_t ReadInt24() +{ + std::uint32_t val = 0; + val |= ReadInt8() << 16; + val |= ReadInt8() << 8; + val |= ReadInt8(); + return val; +} + +std::uint32_t ReadInt32() +{ + std::uint32_t val = 0; + val |= ReadInt8() << 24; + val |= ReadInt8() << 16; + val |= ReadInt8() << 8; + val |= ReadInt8(); + return val; +} + +std::uint32_t ReadVLQ() +{ + std::uint32_t val = 0; + std::uint32_t c; + + do + { + c = ReadInt8(); + val <<= 7; + val |= (c & 0x7F); + } while (c & 0x80); + + return val; +} + +void ReadMidiFileHeader() +{ + Seek(0); + + if (ReadSignature() != "MThd") + RaiseError("MIDI file header signature didn't match \"MThd\""); + + std::uint32_t headerLength = ReadInt32(); + + if (headerLength != 6) + RaiseError("MIDI file header length isn't 6"); + + std::uint16_t midiFormat = ReadInt16(); + + if (midiFormat >= 2) + RaiseError("unsupported MIDI format (%u)", midiFormat); + + g_midiFormat = (MidiFormat)midiFormat; + g_midiTrackCount = ReadInt16(); + g_midiTimeDiv = ReadInt16(); + + if (g_midiTimeDiv < 0) + RaiseError("unsupported MIDI time division (%d)", g_midiTimeDiv); +} + +long ReadMidiTrackHeader(long offset) +{ + Seek(offset); + + if (ReadSignature() != "MTrk") + RaiseError("MIDI track header signature didn't match \"MTrk\""); + + long size = ReadInt32(); + + s_trackDataStart = std::ftell(g_inputFile); + + return size + 8; +} + +void StartTrack() +{ + Seek(s_trackDataStart); + s_absoluteTime = 0; + s_runningStatus = 0; +} + +void SkipEventData() +{ + Skip(ReadVLQ()); +} + +void DetermineEventCategory(MidiEventCategory& category, int& typeChan, int& size) +{ + typeChan = ReadInt8(); + + if (typeChan < 0x80) + { + // If data byte was found, use the running status. + ungetc(typeChan, g_inputFile); + typeChan = s_runningStatus; + } + + if (typeChan == 0xFF) + { + category = MidiEventCategory::Meta; + size = 0; + s_runningStatus = 0; + } + else if (typeChan >= 0xF0) + { + category = MidiEventCategory::SysEx; + size = 0; + s_runningStatus = 0; + } + else if (typeChan >= 0x80) + { + category = MidiEventCategory::Control; + + switch (typeChan >> 4) + { + case 0xC: + case 0xD: + size = 1; + break; + default: + size = 2; + break; + } + s_runningStatus = typeChan; + } + else + { + category = MidiEventCategory::Invalid; + } +} + +void MakeBlockEvent(Event& event, EventType type) +{ + event.type = type; + event.param1 = s_blockCount++; + event.param2 = 0; +} + +std::string ReadEventText() +{ + char buffer[2]; + std::uint32_t length = ReadVLQ(); + + if (length <= 2) + { + if (fread(buffer, length, 1, g_inputFile) != 1) + RaiseError("failed to read event text"); + } + else + { + Skip(length); + length = 0; + } + + return std::string(buffer, length); +} + +bool ReadSeqEvent(Event& event) +{ + s_absoluteTime += ReadVLQ(); + event.time = s_absoluteTime; + + MidiEventCategory category; + int typeChan; + int size; + + DetermineEventCategory(category, typeChan, size); + + if (category == MidiEventCategory::Control) + { + Skip(size); + return false; + } + + if (category == MidiEventCategory::SysEx) + { + SkipEventData(); + return false; + } + + if (category == MidiEventCategory::Invalid) + RaiseError("invalid event"); + + // meta event + int metaEventType = ReadInt8(); + + if (metaEventType >= 1 && metaEventType <= 7) + { + // text event + std::string text = ReadEventText(); + + if (text == "[") + MakeBlockEvent(event, EventType::LoopBegin); + else if (text == "][") + MakeBlockEvent(event, EventType::LoopEndBegin); + else if (text == "]") + MakeBlockEvent(event, EventType::LoopEnd); + else if (text == ":") + MakeBlockEvent(event, EventType::Label); + else + return false; + } + else + { + switch (metaEventType) + { + case 0x2F: // end of track + SkipEventData(); + event.type = EventType::EndOfTrack; + event.param1 = 0; + event.param2 = 0; + break; + case 0x51: // tempo + if (ReadVLQ() != 3) + RaiseError("invalid tempo size"); + + event.type = EventType::Tempo; + event.param1 = 0; + event.param2 = ReadInt24(); + break; + case 0x58: // time signature + { + if (ReadVLQ() != 4) + RaiseError("invalid time signature size"); + + int numerator = ReadInt8(); + int denominatorExponent = ReadInt8(); + + if (denominatorExponent >= 16) + RaiseError("invalid time signature denominator"); + + Skip(2); // ignore other values + + int clockTicks = 96 * numerator * g_clocksPerBeat; + int denominator = 1 << denominatorExponent; + int timeSig = clockTicks / denominator; + + if (timeSig <= 0 || timeSig >= 0x10000) + RaiseError("invalid time signature"); + + event.type = EventType::TimeSignature; + event.param1 = 0; + event.param2 = timeSig; + break; + } + default: + SkipEventData(); + return false; + } + } + + return true; +} + +void ReadSeqEvents() +{ + StartTrack(); + + for (;;) + { + Event event = {}; + + if (ReadSeqEvent(event)) + { + s_seqEvents.push_back(event); + + if (event.type == EventType::EndOfTrack) + return; + } + } +} + +bool CheckNoteEnd(Event& event) +{ + event.param2 += ReadVLQ(); + + MidiEventCategory category; + int typeChan; + int size; + + DetermineEventCategory(category, typeChan, size); + + if (category == MidiEventCategory::Control) + { + int chan = typeChan & 0xF; + + if (chan != g_midiChan) + { + Skip(size); + return false; + } + + switch (typeChan & 0xF0) + { + case 0x80: // note off + { + int note = ReadInt8(); + ReadInt8(); // ignore velocity + if (note == event.note) + return true; + break; + } + case 0x90: // note on + { + int note = ReadInt8(); + int velocity = ReadInt8(); + if (velocity == 0 && note == event.note) + return true; + break; + } + default: + Skip(size); + break; + } + + return false; + } + + if (category == MidiEventCategory::SysEx) + { + SkipEventData(); + return false; + } + + if (category == MidiEventCategory::Meta) + { + int metaEventType = ReadInt8(); + SkipEventData(); + + if (metaEventType == 0x2F) + RaiseError("note doesn't end"); + + return false; + } + + RaiseError("invalid event"); +} + +void FindNoteEnd(Event& event) +{ + // Save the current file position and running status + // which get modified by CheckNoteEnd. + long startPos = ftell(g_inputFile); + int savedRunningStatus = s_runningStatus; + + event.param2 = 0; + + while (!CheckNoteEnd(event)) + ; + + Seek(startPos); + s_runningStatus = savedRunningStatus; +} + +bool ReadTrackEvent(Event& event) +{ + s_absoluteTime += ReadVLQ(); + event.time = s_absoluteTime; + + MidiEventCategory category; + int typeChan; + int size; + + DetermineEventCategory(category, typeChan, size); + + if (category == MidiEventCategory::Control) + { + int chan = typeChan & 0xF; + + if (chan != g_midiChan) + { + Skip(size); + return false; + } + + switch (typeChan & 0xF0) + { + case 0x90: // note on + { + int note = ReadInt8(); + int velocity = ReadInt8(); + + if (velocity != 0) + { + event.type = EventType::Note; + event.note = note; + event.param1 = velocity; + FindNoteEnd(event); + if (event.param2 > 0) + { + if (note < s_minNote) + s_minNote = note; + if (note > s_maxNote) + s_maxNote = note; + } + } + break; + } + case 0xB0: // controller event + event.type = EventType::Controller; + event.param1 = ReadInt8(); // controller index + event.param2 = ReadInt8(); // value + break; + case 0xC0: // instrument change + event.type = EventType::InstrumentChange; + event.param1 = ReadInt8(); // instrument + event.param2 = 0; + break; + case 0xE0: // pitch bend + event.type = EventType::PitchBend; + event.param1 = ReadInt8(); + event.param2 = ReadInt8(); + break; + default: + Skip(size); + return false; + } + + return true; + } + + if (category == MidiEventCategory::SysEx) + { + SkipEventData(); + return false; + } + + if (category == MidiEventCategory::Meta) + { + int metaEventType = ReadInt8(); + SkipEventData(); + + if (metaEventType == 0x2F) + { + event.type = EventType::EndOfTrack; + event.param1 = 0; + event.param2 = 0; + return true; + } + + return false; + } + + RaiseError("invalid event"); +} + +void ReadTrackEvents() +{ + StartTrack(); + + s_trackEvents.clear(); + + s_minNote = 0xFF; + s_maxNote = 0; + + for (;;) + { + Event event = {}; + + if (ReadTrackEvent(event)) + { + s_trackEvents.push_back(event); + + if (event.type == EventType::EndOfTrack) + return; + } + } +} + +bool EventCompare(const Event& event1, const Event& event2) +{ + if (event1.time < event2.time) + return true; + + if (event1.time > event2.time) + return false; + + unsigned event1Type = (unsigned)event1.type; + unsigned event2Type = (unsigned)event2.type; + + if (event1.type == EventType::Note) + event1Type += event1.note; + + if (event2.type == EventType::Note) + event2Type += event2.note; + + if (event1Type < event2Type) + return true; + + if (event1Type > event2Type) + return false; + + if (event1.type == EventType::EndOfTie) + { + if (event1.note < event2.note) + return true; + + if (event1.note > event2.note) + return false; + } + + return false; +} + +std::unique_ptr<std::vector<Event>> MergeEvents() +{ + std::unique_ptr<std::vector<Event>> events(new std::vector<Event>()); + + unsigned trackEventPos = 0; + unsigned seqEventPos = 0; + + while (s_trackEvents[trackEventPos].type != EventType::EndOfTrack + && s_seqEvents[seqEventPos].type != EventType::EndOfTrack) + { + if (EventCompare(s_trackEvents[trackEventPos], s_seqEvents[seqEventPos])) + events->push_back(s_trackEvents[trackEventPos++]); + else + events->push_back(s_seqEvents[seqEventPos++]); + } + + while (s_trackEvents[trackEventPos].type != EventType::EndOfTrack) + events->push_back(s_trackEvents[trackEventPos++]); + + while (s_seqEvents[seqEventPos].type != EventType::EndOfTrack) + events->push_back(s_seqEvents[seqEventPos++]); + + // Push the EndOfTrack event with the larger time. + if (EventCompare(s_trackEvents[trackEventPos], s_seqEvents[seqEventPos])) + events->push_back(s_seqEvents[seqEventPos]); + else + events->push_back(s_trackEvents[trackEventPos]); + + return events; +} + +void ConvertTimes(std::vector<Event>& events) +{ + for (Event& event : events) + { + event.time = (24 * g_clocksPerBeat * event.time) / g_midiTimeDiv; + + if (event.type == EventType::Note) + { + event.param1 = g_noteVelocityLUT[event.param1]; + + std::uint32_t duration = (24 * g_clocksPerBeat * event.param2) / g_midiTimeDiv; + + if (duration == 0) + duration = 1; + + if (!g_exactGateTime && duration < 96) + duration = g_noteDurationLUT[duration]; + + event.param2 = duration; + } + } +} + +std::unique_ptr<std::vector<Event>> InsertTimingEvents(std::vector<Event>& inEvents) +{ + std::unique_ptr<std::vector<Event>> outEvents(new std::vector<Event>()); + + Event timingEvent = {}; + timingEvent.time = 0; + timingEvent.type = EventType::TimeSignature; + timingEvent.param2 = 96 * g_clocksPerBeat; + + for (const Event& event : inEvents) + { + while (EventCompare(timingEvent, event)) + { + outEvents->push_back(timingEvent); + timingEvent.time += timingEvent.param2; + } + + if (event.type == EventType::TimeSignature) + { + if (g_agbTrack == 1 && event.param2 != timingEvent.param2) + { + Event originalTimingEvent = event; + originalTimingEvent.type = EventType::OriginalTimeSignature; + outEvents->push_back(originalTimingEvent); + } + timingEvent.param2 = event.param2; + timingEvent.time = event.time + timingEvent.param2; + } + + outEvents->push_back(event); + } + + return outEvents; +} + +std::unique_ptr<std::vector<Event>> SplitTime(std::vector<Event>& inEvents) +{ + std::unique_ptr<std::vector<Event>> outEvents(new std::vector<Event>()); + + std::int32_t time = 0; + + for (const Event& event : inEvents) + { + std::int32_t diff = event.time - time; + + if (diff > 96) + { + int wholeNoteCount = (diff - 1) / 96; + diff -= 96 * wholeNoteCount; + + for (int i = 0; i < wholeNoteCount; i++) + { + time += 96; + Event timeSplitEvent = {}; + timeSplitEvent.time = time; + timeSplitEvent.type = EventType::TimeSplit; + outEvents->push_back(timeSplitEvent); + } + } + + std::int32_t lutValue = g_noteDurationLUT[diff]; + + if (lutValue != diff) + { + Event timeSplitEvent = {}; + timeSplitEvent.time = time + lutValue; + timeSplitEvent.type = EventType::TimeSplit; + outEvents->push_back(timeSplitEvent); + } + + time = event.time; + + outEvents->push_back(event); + } + + return outEvents; +} + +std::unique_ptr<std::vector<Event>> CreateTies(std::vector<Event>& inEvents) +{ + std::unique_ptr<std::vector<Event>> outEvents(new std::vector<Event>()); + + for (const Event& event : inEvents) + { + if (event.type == EventType::Note && event.param2 > 96) + { + Event tieEvent = event; + tieEvent.param2 = -1; + outEvents->push_back(tieEvent); + + Event eotEvent = {}; + eotEvent.time = event.time + event.param2; + eotEvent.type = EventType::EndOfTie; + eotEvent.note = event.note; + outEvents->push_back(eotEvent); + } + else + { + outEvents->push_back(event); + } + } + + return outEvents; +} + +void CalculateWaits(std::vector<Event>& events) +{ + g_initialWait = events[0].time; + int wholeNoteCount = 0; + + for (unsigned i = 0; i < events.size() && events[i].type != EventType::EndOfTrack; i++) + { + events[i].time = events[i + 1].time - events[i].time; + + if (events[i].type == EventType::TimeSignature) + { + events[i].type = EventType::WholeNoteMark; + events[i].param2 = wholeNoteCount++; + } + } +} + +int CalculateCompressionScore(std::vector<Event>& events, int index) +{ + int score = 0; + std::uint8_t lastParam1 = events[index].param1; + std::uint8_t lastVelocity = 0x80u; + EventType lastType = events[index].type; + std::int32_t lastDuration = 0x80000000; + std::uint8_t lastNote = 0x40u; + + if (events[index].time > 0) + score++; + + for (int i = index + 1; !IsPatternBoundary(events[i].type); i++) + { + if (events[i].type == EventType::Note) + { + int val = 0; + + if (events[i].note != lastNote) + { + val++; + lastNote = events[i].note; + } + + if (events[i].param1 != lastVelocity) + { + val++; + lastVelocity = events[i].param1; + } + + std::int32_t duration = events[i].param2; + + if (g_noteDurationLUT[duration] != lastDuration) + { + val++; + lastDuration = g_noteDurationLUT[duration]; + } + + if (duration != lastDuration) + val++; + + if (val == 0) + val = 1; + + score += val; + } + else + { + lastDuration = 0x80000000; + + if (events[i].type == lastType) + { + if ((lastType != EventType::Controller && (int)lastType != 0x25 && lastType != EventType::EndOfTie) || events[i].param1 == lastParam1) + { + score++; + } + else + { + score += 2; + } + } + else + { + score += 2; + } + } + + lastParam1 = events[i].param1; + lastType = events[i].type; + + if (events[i].time) + score++; + } + + return score; +} + +bool IsCompressionMatch(std::vector<Event>& events, int index1, int index2) +{ + if (events[index1].type != events[index2].type || + events[index1].note != events[index2].note || + events[index1].param1 != events[index2].param1 || + events[index1].time != events[index2].time) + return false; + + index1++; + index2++; + + do + { + if (events[index1] != events[index2]) + return false; + + index1++; + index2++; + } while (!IsPatternBoundary(events[index1].type)); + + return IsPatternBoundary(events[index2].type); +} + +void CompressWholeNote(std::vector<Event>& events, int index) +{ + for (int j = index + 1; events[j].type != EventType::EndOfTrack; j++) + { + while (events[j].type != EventType::WholeNoteMark) + { + j++; + + if (events[j].type == EventType::EndOfTrack) + return; + } + + if (IsCompressionMatch(events, index, j)) + { + events[j].type = EventType::Pattern; + events[j].param2 = events[index].param2 & 0x7FFFFFFF; + events[index].param2 |= 0x80000000; + } + } +} + +void Compress(std::vector<Event>& events) +{ + for (int i = 0; events[i].type != EventType::EndOfTrack; i++) + { + while (events[i].type != EventType::WholeNoteMark) + { + i++; + + if (events[i].type == EventType::EndOfTrack) + return; + } + + if (CalculateCompressionScore(events, i) >= 6) + { + CompressWholeNote(events, i); + } + } +} + +void ReadMidiTracks() +{ + long trackHeaderStart = 14; + + ReadMidiTrackHeader(trackHeaderStart); + ReadSeqEvents(); + + g_agbTrack = 1; + + for (int midiTrack = 0; midiTrack < g_midiTrackCount; midiTrack++) + { + trackHeaderStart += ReadMidiTrackHeader(trackHeaderStart); + + for (g_midiChan = 0; g_midiChan < 16; g_midiChan++) + { + ReadTrackEvents(); + + if (s_minNote != 0xFF) + { +#ifdef DEBUG + printf("Track%d = Midi-Ch.%d\n", g_agbTrack, g_midiChan + 1); +#endif + + std::unique_ptr<std::vector<Event>> events(MergeEvents()); + + // We don't need TEMPO in anything but track 1. + if (g_agbTrack == 1) + { + auto it = std::remove_if(s_seqEvents.begin(), s_seqEvents.end(), [](const Event& event) { return event.type == EventType::Tempo; }); + s_seqEvents.erase(it, s_seqEvents.end()); + } + + ConvertTimes(*events); + events = InsertTimingEvents(*events); + events = CreateTies(*events); + std::stable_sort(events->begin(), events->end(), EventCompare); + events = SplitTime(*events); + CalculateWaits(*events); + + if (g_compressionEnabled) + Compress(*events); + + PrintAgbTrack(*events); + + g_agbTrack++; + } + } + } +} diff --git a/tools/mid2agb/midi.h b/tools/mid2agb/midi.h new file mode 100644 index 000000000..434c8e8e8 --- /dev/null +++ b/tools/mid2agb/midi.h @@ -0,0 +1,87 @@ +// Copyright(c) 2016 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. + +#ifndef MIDI_H +#define MIDI_H + +#include <cstdint> + +enum class MidiFormat +{ + SingleTrack, + MultiTrack +}; + +enum class EventType +{ + EndOfTie = 0x01, + Label = 0x11, + LoopEnd = 0x12, + LoopEndBegin = 0x13, + LoopBegin = 0x14, + OriginalTimeSignature = 0x15, + WholeNoteMark = 0x16, + Pattern = 0x17, + TimeSignature = 0x18, + Tempo = 0x19, + InstrumentChange = 0x21, + Controller = 0x22, + PitchBend = 0x23, + KeyShift = 0x31, + Note = 0x40, + TimeSplit = 0xFE, + EndOfTrack = 0xFF, +}; + +struct Event +{ + std::int32_t time; + EventType type; + std::uint8_t note; + std::uint8_t param1; + std::int32_t param2; + + bool operator==(const Event& other) + { + return (time == other.time + && type == other.type + && note == other.note + && param1 == other.param1 + && param2 == other.param2); + } + + bool operator!=(const Event& other) + { + return !(*this == other); + } +}; + +void ReadMidiFileHeader(); +void ReadMidiTracks(); + +extern int g_midiChan; +extern std::int32_t g_initialWait; + +inline bool IsPatternBoundary(EventType type) +{ + return type == EventType::EndOfTrack || (int)type <= 0x17; +} + +#endif // MIDI_H diff --git a/tools/mid2agb/tables.cpp b/tools/mid2agb/tables.cpp new file mode 100644 index 000000000..f254664a4 --- /dev/null +++ b/tools/mid2agb/tables.cpp @@ -0,0 +1,286 @@ +// Copyright(c) 2016 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. + +#include "tables.h" + +const int g_noteDurationLUT[] = +{ + 0, // 0 + 1, // 1 + 2, // 2 + 3, // 3 + 4, // 4 + 5, // 5 + 6, // 6 + 7, // 7 + 8, // 8 + 9, // 9 + 10, // 10 + 11, // 11 + 12, // 12 + 13, // 13 + 14, // 14 + 15, // 15 + 16, // 16 + 17, // 17 + 18, // 18 + 19, // 19 + 20, // 20 + 21, // 21 + 22, // 22 + 23, // 23 + 24, // 24 + 24, // 25 + 24, // 26 + 24, // 27 + 28, // 28 + 28, // 29 + 30, // 30 + 30, // 31 + 32, // 32 + 32, // 33 + 32, // 34 + 32, // 35 + 36, // 36 + 36, // 37 + 36, // 38 + 36, // 39 + 40, // 40 + 40, // 41 + 42, // 42 + 42, // 43 + 44, // 44 + 44, // 45 + 44, // 46 + 44, // 47 + 48, // 48 + 48, // 49 + 48, // 50 + 48, // 51 + 52, // 52 + 52, // 53 + 54, // 54 + 54, // 55 + 56, // 56 + 56, // 57 + 56, // 58 + 56, // 59 + 60, // 60 + 60, // 61 + 60, // 62 + 60, // 63 + 64, // 64 + 64, // 65 + 66, // 66 + 66, // 67 + 68, // 68 + 68, // 69 + 68, // 70 + 68, // 71 + 72, // 72 + 72, // 73 + 72, // 74 + 72, // 75 + 76, // 76 + 76, // 77 + 78, // 78 + 78, // 79 + 80, // 80 + 80, // 81 + 80, // 82 + 80, // 83 + 84, // 84 + 84, // 85 + 84, // 86 + 84, // 87 + 88, // 88 + 88, // 89 + 90, // 90 + 90, // 91 + 92, // 92 + 92, // 93 + 92, // 94 + 92, // 95 + 96, // 96 +}; + +const int g_noteVelocityLUT[] = +{ + 0, // 0 + 4, // 1 + 4, // 2 + 4, // 3 + 4, // 4 + 8, // 5 + 8, // 6 + 8, // 7 + 8, // 8 + 12, // 9 + 12, // 10 + 12, // 11 + 12, // 12 + 16, // 13 + 16, // 14 + 16, // 15 + 16, // 16 + 20, // 17 + 20, // 18 + 20, // 19 + 20, // 20 + 24, // 21 + 24, // 22 + 24, // 23 + 24, // 24 + 28, // 25 + 28, // 26 + 28, // 27 + 28, // 28 + 32, // 29 + 32, // 30 + 32, // 31 + 32, // 32 + 36, // 33 + 36, // 34 + 36, // 35 + 36, // 36 + 40, // 37 + 40, // 38 + 40, // 39 + 40, // 40 + 44, // 41 + 44, // 42 + 44, // 43 + 44, // 44 + 48, // 45 + 48, // 46 + 48, // 47 + 48, // 48 + 52, // 49 + 52, // 50 + 52, // 51 + 52, // 52 + 56, // 53 + 56, // 54 + 56, // 55 + 56, // 56 + 60, // 57 + 60, // 58 + 60, // 59 + 60, // 60 + 64, // 61 + 64, // 62 + 64, // 63 + 64, // 64 + 68, // 65 + 68, // 66 + 68, // 67 + 68, // 68 + 72, // 69 + 72, // 70 + 72, // 71 + 72, // 72 + 76, // 73 + 76, // 74 + 76, // 75 + 76, // 76 + 80, // 77 + 80, // 78 + 80, // 79 + 80, // 80 + 84, // 81 + 84, // 82 + 84, // 83 + 84, // 84 + 88, // 85 + 88, // 86 + 88, // 87 + 88, // 88 + 92, // 89 + 92, // 90 + 92, // 91 + 92, // 92 + 96, // 93 + 96, // 94 + 96, // 95 + 96, // 96 + 100, // 97 + 100, // 98 + 100, // 99 + 100, // 100 + 104, // 101 + 104, // 102 + 104, // 103 + 104, // 104 + 108, // 105 + 108, // 106 + 108, // 107 + 108, // 108 + 112, // 109 + 112, // 110 + 112, // 111 + 112, // 112 + 116, // 113 + 116, // 114 + 116, // 115 + 116, // 116 + 120, // 117 + 120, // 118 + 120, // 119 + 120, // 120 + 124, // 121 + 124, // 122 + 124, // 123 + 124, // 124 + 127, // 125 + 127, // 126 + 127, // 127 +}; + +const char* g_noteTable[] = +{ + "Cn%01u ", + "Cs%01u ", + "Dn%01u ", + "Ds%01u ", + "En%01u ", + "Fn%01u ", + "Fs%01u ", + "Gn%01u ", + "Gs%01u ", + "An%01u ", + "As%01u ", + "Bn%01u ", +}; + +const char* g_minusNoteTable[] = +{ + "CnM%01u", + "CsM%01u", + "DnM%01u", + "DsM%01u", + "EnM%01u", + "FnM%01u", + "FsM%01u", + "GnM%01u", + "GsM%01u", + "AnM%01u", + "AsM%01u", + "BnM%01u", +}; diff --git a/tools/mid2agb/tables.h b/tools/mid2agb/tables.h new file mode 100644 index 000000000..da3c9072d --- /dev/null +++ b/tools/mid2agb/tables.h @@ -0,0 +1,29 @@ +// Copyright(c) 2016 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. + +#ifndef TABLES_H +#define TABLES_H + +extern const int g_noteDurationLUT[]; +extern const int g_noteVelocityLUT[]; +extern const char* g_noteTable[]; +extern const char* g_minusNoteTable[]; + +#endif // TABLES_H diff --git a/tools/preproc/.gitignore b/tools/preproc/.gitignore new file mode 100644 index 000000000..eb3470879 --- /dev/null +++ b/tools/preproc/.gitignore @@ -0,0 +1 @@ +preproc diff --git a/tools/preproc/LICENSE b/tools/preproc/LICENSE new file mode 100644 index 000000000..534d15349 --- /dev/null +++ b/tools/preproc/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2016 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/preproc/Makefile b/tools/preproc/Makefile new file mode 100644 index 000000000..3d3275819 --- /dev/null +++ b/tools/preproc/Makefile @@ -0,0 +1,17 @@ +CXX := g++ + +CXXFLAGS := -std=c++11 -O2 -Wall -Wno-switch -Werror + +SRCS := asm_file.cpp c_file.cpp charmap.cpp preproc.cpp string_parser.cpp \ + utf8.cpp + +HEADERS := asm_file.h c_file.h char_util.h charmap.h preproc.h string_parser.h \ + utf8.h + +.PHONY: clean + +preproc: $(SRCS) $(HEADERS) + $(CXX) $(CXXFLAGS) $(SRCS) -o $@ $(LDFLAGS) + +clean: + $(RM) preproc preproc.exe diff --git a/tools/preproc/asm_file.cpp b/tools/preproc/asm_file.cpp new file mode 100644 index 000000000..383010aa3 --- /dev/null +++ b/tools/preproc/asm_file.cpp @@ -0,0 +1,529 @@ +// Copyright(c) 2016 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. + +#include <cstdio> +#include <cstdarg> +#include "preproc.h" +#include "asm_file.h" +#include "char_util.h" +#include "utf8.h" +#include "string_parser.h" + +AsmFile::AsmFile(std::string filename) : m_filename(filename) +{ + FILE *fp = std::fopen(filename.c_str(), "rb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for reading.\n", filename.c_str()); + + std::fseek(fp, 0, SEEK_END); + + m_size = std::ftell(fp); + + if (m_size < 0) + FATAL_ERROR("File size of \"%s\" is less than zero.\n", filename.c_str()); + + m_buffer = new char[m_size + 1]; + + std::rewind(fp); + + if (std::fread(m_buffer, m_size, 1, fp) != 1) + FATAL_ERROR("Failed to read \"%s\".\n", filename.c_str()); + + m_buffer[m_size] = 0; + + std::fclose(fp); + + m_pos = 0; + m_lineNum = 1; + m_lineStart = 0; + + RemoveComments(); +} + +AsmFile::AsmFile(AsmFile&& other) : m_filename(std::move(other.m_filename)) +{ + m_buffer = other.m_buffer; + m_pos = other.m_pos; + m_size = other.m_size; + m_lineNum = other.m_lineNum; + m_lineStart = other.m_lineStart; + + other.m_buffer = nullptr; +} + +AsmFile::~AsmFile() +{ + delete[] m_buffer; +} + +// Removes comments to simplify further processing. +// It stops upon encountering a null character, +// which may or may not be the end of file marker. +// If it's not, the error will be caught later. +void AsmFile::RemoveComments() +{ + long pos = 0; + char stringChar = 0; + + for (;;) + { + if (m_buffer[pos] == 0) + return; + + if (stringChar != 0) + { + if (m_buffer[pos] == '\\' && m_buffer[pos + 1] == stringChar) + { + pos += 2; + } + else + { + if (m_buffer[pos] == stringChar) + stringChar = 0; + pos++; + } + } + else if (m_buffer[pos] == '@' && (pos == 0 || m_buffer[pos - 1] != '\\')) + { + while (m_buffer[pos] != '\n' && m_buffer[pos] != 0) + m_buffer[pos++] = ' '; + } + else if (m_buffer[pos] == '/' && m_buffer[pos + 1] == '*') + { + m_buffer[pos++] = ' '; + m_buffer[pos++] = ' '; + + for (;;) + { + if (m_buffer[pos] == 0) + return; + + if (m_buffer[pos] == '*' && m_buffer[pos + 1] == '/') + { + m_buffer[pos++] = ' '; + m_buffer[pos++] = ' '; + break; + } + else + { + if (m_buffer[pos] != '\n') + m_buffer[pos] = ' '; + pos++; + } + } + } + else + { + if (m_buffer[pos] == '"' || m_buffer[pos] == '\'') + stringChar = m_buffer[pos]; + pos++; + } + } +} + +// Checks if we're at a particular directive and if so, consumes it. +// Returns whether the directive was found. +bool AsmFile::CheckForDirective(std::string name) +{ + long i; + long length = static_cast<long>(name.length()); + + for (i = 0; i < length && m_pos + i < m_size; i++) + if (name[i] != m_buffer[m_pos + i]) + return false; + + if (i < length) + return false; + + m_pos += length; + + return true; +} + +// Checks if we're at a known directive and if so, consumes it. +// Returns which directive was found. +Directive AsmFile::GetDirective() +{ + SkipWhitespace(); + + if (CheckForDirective(".include")) + return Directive::Include; + else if (CheckForDirective(".string")) + return Directive::String; + else if (CheckForDirective(".braille")) + return Directive::Braille; + else + return Directive::Unknown; +} + +// Checks if we're at label that ends with '::'. +// Returns the name if so and an empty string if not. +std::string AsmFile::GetGlobalLabel() +{ + long start = m_pos; + long pos = m_pos; + + if (IsIdentifierStartingChar(m_buffer[pos])) + { + pos++; + + while (IsIdentifierChar(m_buffer[pos])) + pos++; + } + + if (m_buffer[pos] == ':' && m_buffer[pos + 1] == ':') + { + m_pos = pos + 2; + ExpectEmptyRestOfLine(); + return std::string(&m_buffer[start], pos - start); + } + + return std::string(); +} + +// Skips tabs and spaces. +void AsmFile::SkipWhitespace() +{ + while (m_buffer[m_pos] == '\t' || m_buffer[m_pos] == ' ') + m_pos++; +} + +// Reads include path. +std::string AsmFile::ReadPath() +{ + SkipWhitespace(); + + if (m_buffer[m_pos] != '"') + RaiseError("expected file path"); + + m_pos++; + + int length = 0; + long startPos = m_pos; + + while (m_buffer[m_pos] != '"') + { + unsigned char c = m_buffer[m_pos++]; + + if (c == 0) + { + if (m_pos >= m_size) + RaiseError("unexpected EOF in include string"); + else + RaiseError("unexpected null character in include string"); + } + + if (!IsAsciiPrintable(c)) + RaiseError("unexpected character '\\x%02X' in include string", c); + + // Don't bother allowing any escape sequences. + if (c == '\\') + { + c = m_buffer[m_pos]; + RaiseError("unexpected escape '\\%c' in include string", c); + } + + length++; + + if (length > kMaxPath) + RaiseError("path is too long"); + } + + m_pos++; // Go past the right quote. + + ExpectEmptyRestOfLine(); + + return std::string(&m_buffer[startPos], length); +} + +// Reads a charmap string. +int AsmFile::ReadString(unsigned char* s) +{ + SkipWhitespace(); + + int length; + StringParser stringParser(m_buffer, m_size); + + try + { + m_pos += stringParser.ParseString(m_pos, s, length); + } + catch (std::runtime_error& e) + { + RaiseError(e.what()); + } + + SkipWhitespace(); + + if (ConsumeComma()) + { + SkipWhitespace(); + int padLength = ReadPadLength(); + + while (length < padLength) + { + s[length++] = 0; + } + } + + ExpectEmptyRestOfLine(); + + return length; +} + +int AsmFile::ReadBraille(unsigned char* s) +{ + static std::map<char, unsigned char> encoding = + { + { 'A', 0x01 }, + { 'B', 0x05 }, + { 'C', 0x03 }, + { 'D', 0x0B }, + { 'E', 0x09 }, + { 'F', 0x07 }, + { 'G', 0x0F }, + { 'H', 0x0D }, + { 'I', 0x06 }, + { 'J', 0x0E }, + { 'K', 0x11 }, + { 'L', 0x15 }, + { 'M', 0x13 }, + { 'N', 0x1B }, + { 'O', 0x19 }, + { 'P', 0x17 }, + { 'Q', 0x1F }, + { 'R', 0x1D }, + { 'S', 0x16 }, + { 'T', 0x1E }, + { 'U', 0x31 }, + { 'V', 0x35 }, + { 'W', 0x2E }, + { 'X', 0x33 }, + { 'Y', 0x3B }, + { 'Z', 0x39 }, + { ' ', 0x00 }, + { ',', 0x04 }, + { '.', 0x2C }, + { '$', 0xFF }, + }; + + SkipWhitespace(); + + int length = 0; + + if (m_buffer[m_pos] != '"') + RaiseError("expected braille string literal"); + + m_pos++; + + while (m_buffer[m_pos] != '"') + { + if (length == kMaxStringLength) + RaiseError("mapped string longer than %d bytes", kMaxStringLength); + + if (m_buffer[m_pos] == '\\' && m_buffer[m_pos + 1] == 'n') + { + s[length++] = 0xFE; + m_pos += 2; + } + else + { + char c = m_buffer[m_pos]; + + if (encoding.count(c) == 0) + { + if (IsAsciiPrintable(c)) + RaiseError("character '%c' not valid in braille string", m_buffer[m_pos]); + else + RaiseError("character '\\x%02X' not valid in braille string", m_buffer[m_pos]); + } + + s[length++] = encoding[c]; + m_pos++; + } + } + + m_pos++; // Go past the right quote. + + ExpectEmptyRestOfLine(); + + return length; +} + +// If we're at a comma, consumes it. +// Returns whether a comma was found. +bool AsmFile::ConsumeComma() +{ + if (m_buffer[m_pos] == ',') + { + m_pos++; + return true; + } + + return false; +} + +// Converts digit character to numerical value. +static int ConvertDigit(char c, int radix) +{ + int digit; + + if (c >= '0' && c <= '9') + digit = c - '0'; + else if (c >= 'A' && c <= 'F') + digit = 10 + c - 'A'; + else if (c >= 'a' && c <= 'f') + digit = 10 + c - 'a'; + else + return -1; + + return (digit < radix) ? digit : -1; +} + +// Reads an integer. If the integer is greater than maxValue, it returns -1. +int AsmFile::ReadPadLength() +{ + if (!IsAsciiDigit(m_buffer[m_pos])) + RaiseError("expected integer"); + + int radix = 10; + + if (m_buffer[m_pos] == '0' && m_buffer[m_pos + 1] == 'x') + { + radix = 16; + m_pos += 2; + } + + unsigned n = 0; + int digit; + + while ((digit = ConvertDigit(m_buffer[m_pos], radix)) != -1) + { + n = n * radix + digit; + + if (n > kMaxStringLength) + RaiseError("pad length greater than maximum length (%d)", kMaxStringLength); + + m_pos++; + } + + return n; +} + +// Outputs the current line and moves to the next one. +void AsmFile::OutputLine() +{ + while (m_buffer[m_pos] != '\n' && m_buffer[m_pos] != 0) + m_pos++; + + if (m_buffer[m_pos] == 0) + { + if (m_pos >= m_size) + { + RaiseWarning("file doesn't end with newline"); + puts(&m_buffer[m_lineStart]); + } + else + { + RaiseError("unexpected null character"); + } + } + else + { + m_buffer[m_pos] = 0; + puts(&m_buffer[m_lineStart]); + m_buffer[m_pos] = '\n'; + m_pos++; + m_lineStart = m_pos; + m_lineNum++; + } +} + +// Asserts that the rest of the line is empty and moves to the next one. +void AsmFile::ExpectEmptyRestOfLine() +{ + SkipWhitespace(); + + if (m_buffer[m_pos] == 0) + { + if (m_pos >= m_size) + RaiseWarning("file doesn't end with newline"); + else + RaiseError("unexpected null character"); + } + else if (m_buffer[m_pos] == '\n') + { + m_pos++; + m_lineStart = m_pos; + m_lineNum++; + } + else if (m_buffer[m_pos] == '\r') + { + RaiseError("only Unix-style LF newlines are supported"); + } + else + { + RaiseError("junk at end of line"); + } +} + +// Checks if we're at the end of the file. +bool AsmFile::IsAtEnd() +{ + return (m_pos >= m_size); +} + +// Output the current location to set gas's logical file and line numbers. +void AsmFile::OutputLocation() +{ + std::printf("# %ld \"%s\"\n", m_lineNum, m_filename.c_str()); +} + +// Reports a diagnostic message. +void AsmFile::ReportDiagnostic(const char* type, const char* format, std::va_list args) +{ + const int bufferSize = 1024; + char buffer[bufferSize]; + std::vsnprintf(buffer, bufferSize, format, args); + std::fprintf(stderr, "%s:%ld: %s: %s\n", m_filename.c_str(), m_lineNum, type, buffer); +} + +#define DO_REPORT(type) \ +do \ +{ \ + std::va_list args; \ + va_start(args, format); \ + ReportDiagnostic(type, format, args); \ + va_end(args); \ +} while (0) + +// Reports an error diagnostic and terminates the program. +void AsmFile::RaiseError(const char* format, ...) +{ + DO_REPORT("error"); + std::exit(1); +} + +// Reports a warning diagnostic. +void AsmFile::RaiseWarning(const char* format, ...) +{ + DO_REPORT("warning"); +} diff --git a/tools/preproc/asm_file.h b/tools/preproc/asm_file.h new file mode 100644 index 000000000..d73b36e90 --- /dev/null +++ b/tools/preproc/asm_file.h @@ -0,0 +1,72 @@ +// Copyright(c) 2016 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. + +#ifndef ASM_FILE_H +#define ASM_FILE_H + +#include <cstdarg> +#include <cstdint> +#include <string> +#include "preproc.h" + +enum class Directive +{ + Include, + String, + Braille, + Unknown +}; + +class AsmFile +{ +public: + AsmFile(std::string filename); + AsmFile(AsmFile&& other); + AsmFile(const AsmFile&) = delete; + ~AsmFile(); + Directive GetDirective(); + std::string GetGlobalLabel(); + std::string ReadPath(); + int ReadString(unsigned char* s); + int ReadBraille(unsigned char* s); + bool IsAtEnd(); + void OutputLine(); + void OutputLocation(); + +private: + char* m_buffer; + long m_pos; + long m_size; + long m_lineNum; + long m_lineStart; + std::string m_filename; + + bool ConsumeComma(); + int ReadPadLength(); + void RemoveComments(); + bool CheckForDirective(std::string name); + void SkipWhitespace(); + void ExpectEmptyRestOfLine(); + void ReportDiagnostic(const char* type, const char* format, std::va_list args); + void RaiseError(const char* format, ...); + void RaiseWarning(const char* format, ...); +}; + +#endif // ASM_FILE_H diff --git a/tools/preproc/c_file.cpp b/tools/preproc/c_file.cpp new file mode 100644 index 000000000..229f568fa --- /dev/null +++ b/tools/preproc/c_file.cpp @@ -0,0 +1,429 @@ +// Copyright(c) 2016 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. + +#include <cstdio> +#include <cstdarg> +#include <string> +#include <memory> +#include "preproc.h" +#include "c_file.h" +#include "char_util.h" +#include "utf8.h" +#include "string_parser.h" + +CFile::CFile(std::string filename) : m_filename(filename) +{ + FILE *fp = std::fopen(filename.c_str(), "rb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for reading.\n", filename.c_str()); + + std::fseek(fp, 0, SEEK_END); + + m_size = std::ftell(fp); + + if (m_size < 0) + FATAL_ERROR("File size of \"%s\" is less than zero.\n", filename.c_str()); + + m_buffer = new char[m_size + 1]; + + std::rewind(fp); + + if (std::fread(m_buffer, m_size, 1, fp) != 1) + FATAL_ERROR("Failed to read \"%s\".\n", filename.c_str()); + + m_buffer[m_size] = 0; + + std::fclose(fp); + + m_pos = 0; + m_lineNum = 1; +} + +CFile::CFile(CFile&& other) : m_filename(std::move(other.m_filename)) +{ + m_buffer = other.m_buffer; + m_pos = other.m_pos; + m_size = other.m_size; + m_lineNum = other.m_lineNum; + + other.m_buffer = nullptr; +} + +CFile::~CFile() +{ + delete[] m_buffer; +} + +void CFile::Preproc() +{ + char stringChar = 0; + + while (m_pos < m_size) + { + if (stringChar) + { + if (m_buffer[m_pos] == stringChar) + { + std::putchar(stringChar); + m_pos++; + stringChar = 0; + } + else if (m_buffer[m_pos] == '\\' && m_buffer[m_pos + 1] == stringChar) + { + std::putchar('\\'); + std::putchar(stringChar); + m_pos += 2; + } + else + { + if (m_buffer[m_pos] == '\n') + m_lineNum++; + std::putchar(m_buffer[m_pos]); + m_pos++; + } + } + else + { + TryConvertString(); + TryConvertIncbin(); + + if (m_pos >= m_size) + break; + + char c = m_buffer[m_pos++]; + + std::putchar(c); + + if (c == '\n') + m_lineNum++; + else if (c == '"') + stringChar = '"'; + else if (c == '\'') + stringChar = '\''; + } + } +} + +bool CFile::ConsumeHorizontalWhitespace() +{ + if (m_buffer[m_pos] == '\t' || m_buffer[m_pos] == ' ') + { + m_pos++; + return true; + } + + return false; +} + +bool CFile::ConsumeNewline() +{ + if (m_buffer[m_pos] == '\r' && m_buffer[m_pos + 1] == '\n') + { + m_pos += 2; + m_lineNum++; + std::putchar('\n'); + return true; + } + + if (m_buffer[m_pos] == '\n') + { + m_pos++; + m_lineNum++; + std::putchar('\n'); + return true; + } + + return false; +} + +void CFile::SkipWhitespace() +{ + while (ConsumeHorizontalWhitespace() || ConsumeNewline()) + ; +} + +void CFile::TryConvertString() +{ + long oldPos = m_pos; + long oldLineNum = m_lineNum; + bool noTerminator = false; + + if (m_buffer[m_pos] != '_' || (m_pos > 0 && IsIdentifierChar(m_buffer[m_pos - 1]))) + return; + + m_pos++; + + if (m_buffer[m_pos] == '_') + { + noTerminator = true; + m_pos++; + } + + SkipWhitespace(); + + if (m_buffer[m_pos] != '(') + { + m_pos = oldPos; + m_lineNum = oldLineNum; + return; + } + + m_pos++; + + SkipWhitespace(); + + std::printf("{ "); + + while (1) + { + SkipWhitespace(); + + if (m_buffer[m_pos] == '"') + { + unsigned char s[kMaxStringLength]; + int length; + StringParser stringParser(m_buffer, m_size); + + try + { + m_pos += stringParser.ParseString(m_pos, s, length); + } + catch (std::runtime_error& e) + { + RaiseError(e.what()); + } + + for (int i = 0; i < length; i++) + printf("0x%02X, ", s[i]); + } + else if (m_buffer[m_pos] == ')') + { + m_pos++; + break; + } + else + { + if (m_pos >= m_size) + RaiseError("unexpected EOF"); + if (IsAsciiPrintable(m_buffer[m_pos])) + RaiseError("unexpected character '%c'", m_buffer[m_pos]); + else + RaiseError("unexpected character '\\x%02X'", m_buffer[m_pos]); + } + } + + if (noTerminator) + std::printf(" }"); + else + std::printf("0xFF }"); +} + +bool CFile::CheckIdentifier(const std::string& ident) +{ + unsigned int i; + + for (i = 0; i < ident.length() && m_pos + i < (unsigned)m_size; i++) + if (ident[i] != m_buffer[m_pos + i]) + return false; + + return (i == ident.length()); +} + +std::unique_ptr<unsigned char[]> CFile::ReadWholeFile(const std::string& path, int& size) +{ + FILE* fp = std::fopen(path.c_str(), "rb"); + + if (fp == nullptr) + RaiseError("Failed to open \"%s\" for reading.\n", path.c_str()); + + std::fseek(fp, 0, SEEK_END); + + size = std::ftell(fp); + + std::unique_ptr<unsigned char[]> buffer = std::unique_ptr<unsigned char[]>(new unsigned char[size]); + + std::rewind(fp); + + if (std::fread(buffer.get(), size, 1, fp) != 1) + RaiseError("Failed to read \"%s\".\n", path.c_str()); + + std::fclose(fp); + + return buffer; +} + +int ExtractData(const std::unique_ptr<unsigned char[]>& buffer, int offset, int size) +{ + switch (size) + { + case 1: + return buffer[offset]; + case 2: + return (buffer[offset + 1] << 8) + | buffer[offset]; + case 4: + return (buffer[offset + 3] << 24) + | (buffer[offset + 2] << 16) + | (buffer[offset + 1] << 8) + | buffer[offset]; + default: + FATAL_ERROR("Invalid size passed to ExtractData.\n"); + } +} + +void CFile::TryConvertIncbin() +{ + std::string idents[6] = { "INCBIN_S8", "INCBIN_U8", "INCBIN_S16", "INCBIN_U16", "INCBIN_S32", "INCBIN_U32" }; + int incbinType = -1; + + for (int i = 0; i < 6; i++) + { + if (CheckIdentifier(idents[i])) + { + incbinType = i; + break; + } + } + + if (incbinType == -1) + return; + + int size = 1 << (incbinType / 2); + bool isSigned = ((incbinType % 2) == 0); + + long oldPos = m_pos; + long oldLineNum = m_lineNum; + + m_pos += idents[incbinType].length(); + + SkipWhitespace(); + + if (m_buffer[m_pos] != '(') + { + m_pos = oldPos; + m_lineNum = oldLineNum; + return; + } + + m_pos++; + + std::printf("{"); + + while (true) + { + SkipWhitespace(); + + if (m_buffer[m_pos] != '"') + RaiseError("expected double quote"); + + m_pos++; + + int startPos = m_pos; + + while (m_buffer[m_pos] != '"') + { + if (m_buffer[m_pos] == 0) + { + if (m_pos >= m_size) + RaiseError("unexpected EOF in path string"); + else + RaiseError("unexpected null character in path string"); + } + + if (m_buffer[m_pos] == '\r' || m_buffer[m_pos] == '\n') + RaiseError("unexpected end of line character in path string"); + + if (m_buffer[m_pos] == '\\') + RaiseError("unexpected escape in path string"); + + m_pos++; + } + + std::string path(&m_buffer[startPos], m_pos - startPos); + + m_pos++; + + int fileSize; + std::unique_ptr<unsigned char[]> buffer = ReadWholeFile(path, fileSize); + + if ((fileSize % size) != 0) + RaiseError("Size %d doesn't evenly divide file size %d.\n", size, fileSize); + + int count = fileSize / size; + int offset = 0; + + for (int i = 0; i < count; i++) + { + int data = ExtractData(buffer, offset, size); + offset += size; + + if (isSigned) + std::printf("%d,", data); + else + std::printf("%uu,", data); + } + + SkipWhitespace(); + + if (m_buffer[m_pos] != ',') + break; + + m_pos++; + } + + if (m_buffer[m_pos] != ')') + RaiseError("expected ')'"); + + m_pos++; + + std::printf("}"); +} + +// Reports a diagnostic message. +void CFile::ReportDiagnostic(const char* type, const char* format, std::va_list args) +{ + const int bufferSize = 1024; + char buffer[bufferSize]; + std::vsnprintf(buffer, bufferSize, format, args); + std::fprintf(stderr, "%s:%ld: %s: %s\n", m_filename.c_str(), m_lineNum, type, buffer); +} + +#define DO_REPORT(type) \ +do \ +{ \ + std::va_list args; \ + va_start(args, format); \ + ReportDiagnostic(type, format, args); \ + va_end(args); \ +} while (0) + +// Reports an error diagnostic and terminates the program. +void CFile::RaiseError(const char* format, ...) +{ + DO_REPORT("error"); + std::exit(1); +} + +// Reports a warning diagnostic. +void CFile::RaiseWarning(const char* format, ...) +{ + DO_REPORT("warning"); +} diff --git a/tools/preproc/c_file.h b/tools/preproc/c_file.h new file mode 100644 index 000000000..7369aba85 --- /dev/null +++ b/tools/preproc/c_file.h @@ -0,0 +1,58 @@ +// Copyright(c) 2016 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. + +#ifndef C_FILE_H +#define C_FILE_H + +#include <cstdarg> +#include <cstdint> +#include <string> +#include <memory> +#include "preproc.h" + +class CFile +{ +public: + CFile(std::string filename); + CFile(CFile&& other); + CFile(const CFile&) = delete; + ~CFile(); + void Preproc(); + +private: + char* m_buffer; + long m_pos; + long m_size; + long m_lineNum; + std::string m_filename; + + bool ConsumeHorizontalWhitespace(); + bool ConsumeNewline(); + void SkipWhitespace(); + void TryConvertString(); + std::unique_ptr<unsigned char[]> ReadWholeFile(const std::string& path, int& size); + bool CheckIdentifier(const std::string& ident); + void TryConvertIncbin(); + void ReportDiagnostic(const char* type, const char* format, std::va_list args); + void RaiseError(const char* format, ...); + void RaiseWarning(const char* format, ...); +}; + +#endif // C_FILE_H diff --git a/tools/preproc/char_util.h b/tools/preproc/char_util.h new file mode 100644 index 000000000..02a6e1ceb --- /dev/null +++ b/tools/preproc/char_util.h @@ -0,0 +1,71 @@ +// Copyright(c) 2016 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. + +#ifndef CHAR_UTIL_H +#define CHAR_UTIL_H + +#include <cstdint> +#include <cassert> + +inline bool IsAscii(unsigned char c) +{ + return (c < 128); +} + +inline bool IsAsciiAlpha(unsigned char c) +{ + return ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')); +} + +inline bool IsAsciiDigit(unsigned char c) +{ + return (c >= '0' && c <= '9'); +} + +inline bool IsAsciiHexDigit(unsigned char c) +{ + return ((c >= '0' && c <= '9') + || (c >= 'a' && c <= 'f') + || (c >= 'A' && c <= 'F')); +} + +inline bool IsAsciiAlphanum(unsigned char c) +{ + return (IsAsciiAlpha(c) || IsAsciiDigit(c)); +} + +inline bool IsAsciiPrintable(unsigned char c) +{ + return (c >= ' ' && c <= '~'); +} + +// Returns whether the character can start a C identifier or the identifier of a "{FOO}" constant in strings. +inline bool IsIdentifierStartingChar(unsigned char c) +{ + return IsAsciiAlpha(c) || c == '_'; +} + +// Returns whether the character can be used in a C identifier or the identifier of a "{FOO}" constant in strings. +inline bool IsIdentifierChar(unsigned char c) +{ + return IsAsciiAlphanum(c) || c == '_'; +} + +#endif // CHAR_UTIL_H diff --git a/tools/preproc/charmap.cpp b/tools/preproc/charmap.cpp new file mode 100644 index 000000000..a7bedfe26 --- /dev/null +++ b/tools/preproc/charmap.cpp @@ -0,0 +1,408 @@ +// Copyright(c) 2016 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. + +#include <cstdio> +#include <cstdint> +#include <cstdarg> +#include "preproc.h" +#include "charmap.h" +#include "char_util.h" +#include "utf8.h" + +enum LhsType +{ + Char, + Escape, + Constant, + None +}; + +struct Lhs +{ + LhsType type; + std::string name; + std::int32_t code; +}; + +class CharmapReader +{ +public: + CharmapReader(std::string filename); + CharmapReader(const CharmapReader&) = delete; + ~CharmapReader(); + Lhs ReadLhs(); + void ExpectEqualsSign(); + std::string ReadSequence(); + void ExpectEmptyRestOfLine(); + void RaiseError(const char* format, ...); + +private: + char* m_buffer; + long m_pos; + long m_size; + long m_lineNum; + std::string m_filename; + + void RemoveComments(); + std::string ReadConstant(); + void SkipWhitespace(); +}; + +CharmapReader::CharmapReader(std::string filename) : m_filename(filename) +{ + FILE *fp = std::fopen(filename.c_str(), "rb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for reading.\n", filename.c_str()); + + std::fseek(fp, 0, SEEK_END); + + m_size = std::ftell(fp); + + if (m_size < 0) + FATAL_ERROR("File size of \"%s\" is less than zero.\n", filename.c_str()); + + m_buffer = new char[m_size + 1]; + + std::rewind(fp); + + if (std::fread(m_buffer, m_size, 1, fp) != 1) + FATAL_ERROR("Failed to read \"%s\".\n", filename.c_str()); + + m_buffer[m_size] = 0; + + std::fclose(fp); + + m_pos = 0; + m_lineNum = 1; + + RemoveComments(); +} + +CharmapReader::~CharmapReader() +{ + delete[] m_buffer; +} + +Lhs CharmapReader::ReadLhs() +{ + Lhs lhs; + + for (;;) + { + SkipWhitespace(); + + if (m_buffer[m_pos] == '\n') + { + m_pos++; + m_lineNum++; + } + else + { + break; + } + } + + if (m_buffer[m_pos] == '\'') + { + m_pos++; + + bool isEscape = (m_buffer[m_pos] == '\\'); + + if (isEscape) + { + m_pos++; + } + + unsigned char c = m_buffer[m_pos]; + + if (c == 0) + { + if (m_pos >= m_size) + RaiseError("unexpected EOF in UTF-8 character literal"); + else + RaiseError("unexpected null character in UTF-8 character literal"); + } + + if (IsAscii(c) && !IsAsciiPrintable(c)) + RaiseError("unexpected character U+%X in UTF-8 character literal", c); + + UnicodeChar unicodeChar = DecodeUtf8(&m_buffer[m_pos]); + std::int32_t code = unicodeChar.code; + + if (code == -1) + RaiseError("invalid encoding in UTF-8 character literal"); + + m_pos += unicodeChar.encodingLength; + + if (m_buffer[m_pos] != '\'') + RaiseError("unterminated character literal"); + + m_pos++; + + lhs.code = code; + + if (isEscape) + { + if (code >= 128) + RaiseError("escapes using non-ASCII characters are invalid"); + + switch (code) + { + case '\'': + lhs.type = LhsType::Char; + break; + case '\\': + lhs.type = LhsType::Char; + case '"': + RaiseError("cannot escape double quote"); + break; + default: + lhs.type = LhsType::Escape; + } + } + else + { + if (code == '\'') + RaiseError("empty character literal"); + + lhs.type = LhsType::Char; + } + } + else if (IsIdentifierStartingChar(m_buffer[m_pos])) + { + lhs.type = LhsType::Constant; + lhs.name = ReadConstant(); + } + else if (m_buffer[m_pos] == '\r') + { + RaiseError("only Unix-style LF newlines are supported"); + } + else if (m_buffer[m_pos] == 0) + { + if (m_pos < m_size) + RaiseError("unexpected null character"); + lhs.type = LhsType::None; + } + else + { + RaiseError("junk at start of line"); + } + + return lhs; +} + +void CharmapReader::ExpectEqualsSign() +{ + SkipWhitespace(); + + if (m_buffer[m_pos] != '=') + RaiseError("expected equals sign"); + + m_pos++; +} + +static unsigned int ConvertHexDigit(char c) +{ + unsigned int digit = 0; + + if (c >= '0' && c <= '9') + digit = c - '0'; + else if (c >= 'A' && c <= 'F') + digit = 10 + c - 'A'; + else if (c >= 'a' && c <= 'f') + digit = 10 + c - 'a'; + + return digit; +} + +std::string CharmapReader::ReadSequence() +{ + SkipWhitespace(); + + long startPos = m_pos; + + unsigned int length = 0; + + while (IsAsciiHexDigit(m_buffer[m_pos]) && IsAsciiHexDigit(m_buffer[m_pos + 1])) + { + m_pos += 2; + length++; + + if (length > kMaxCharmapSequenceLength) + RaiseError("byte sequence too long (max is %lu bytes)", kMaxCharmapSequenceLength); + + SkipWhitespace(); + } + + if (IsAsciiHexDigit(m_buffer[m_pos])) + RaiseError("each byte must have 2 hex digits"); + + if (length == 0) + RaiseError("expected byte sequence"); + + std::string sequence; + sequence.reserve(length); + + m_pos = startPos; + + for (unsigned int i = 0; i < length; i++) + { + unsigned int digit1 = ConvertHexDigit(m_buffer[m_pos]); + unsigned int digit2 = ConvertHexDigit(m_buffer[m_pos + 1]); + unsigned char byte = digit1 * 16 + digit2; + sequence += byte; + + m_pos += 2; + SkipWhitespace(); + } + + return sequence; +} + +void CharmapReader::ExpectEmptyRestOfLine() +{ + SkipWhitespace(); + + if (m_buffer[m_pos] == 0) + { + if (m_pos < m_size) + RaiseError("unexpected null character"); + } + else if (m_buffer[m_pos] == '\n') + { + m_pos++; + m_lineNum++; + } + else if (m_buffer[m_pos] == '\r') + { + RaiseError("only Unix-style LF newlines are supported"); + } + else + { + RaiseError("junk at end of line"); + } +} + +void CharmapReader::RaiseError(const char* format, ...) +{ + const int bufferSize = 1024; + char buffer[bufferSize]; + + std::va_list args; + va_start(args, format); + std::vsnprintf(buffer, bufferSize, format, args); + va_end(args); + + std::fprintf(stderr, "%s:%ld: error: %s\n", m_filename.c_str(), m_lineNum, buffer); + + std::exit(1); +} + +void CharmapReader::RemoveComments() +{ + long pos = 0; + bool inString = false; + + for (;;) + { + if (m_buffer[pos] == 0) + return; + + if (inString) + { + if (m_buffer[pos] == '\\' && m_buffer[pos + 1] == '\'') + { + pos += 2; + } + else + { + if (m_buffer[pos] == '\'') + inString = false; + pos++; + } + } + else if (m_buffer[pos] == '@') + { + while (m_buffer[pos] != '\n' && m_buffer[pos] != 0) + m_buffer[pos++] = ' '; + } + else + { + if (m_buffer[pos] == '\'') + inString = true; + pos++; + } + } +} + +std::string CharmapReader::ReadConstant() +{ + long startPos = m_pos; + + while (IsIdentifierChar(m_buffer[m_pos])) + m_pos++; + + return std::string(&m_buffer[startPos], m_pos - startPos); +} + +void CharmapReader::SkipWhitespace() +{ + while (m_buffer[m_pos] == '\t' || m_buffer[m_pos] == ' ') + m_pos++; +} + +Charmap::Charmap(std::string filename) +{ + CharmapReader reader(filename); + + for (;;) + { + Lhs lhs = reader.ReadLhs(); + + if (lhs.type == LhsType::None) + return; + + reader.ExpectEqualsSign(); + + std::string sequence = reader.ReadSequence(); + + switch (lhs.type) + { + case LhsType::Char: + if (m_chars.find(lhs.code) != m_chars.end()) + reader.RaiseError("redefining char"); + m_chars[lhs.code] = sequence; + break; + case LhsType::Escape: + if (m_escapes[lhs.code].length() != 0) + reader.RaiseError("redefining escape"); + m_escapes[lhs.code] = sequence; + break; + case LhsType::Constant: + if (m_constants.find(lhs.name) != m_constants.end()) + reader.RaiseError("redefining constant"); + m_constants[lhs.name] = sequence; + break; + } + + reader.ExpectEmptyRestOfLine(); + } +} diff --git a/tools/preproc/charmap.h b/tools/preproc/charmap.h new file mode 100644 index 000000000..0d752ac99 --- /dev/null +++ b/tools/preproc/charmap.h @@ -0,0 +1,64 @@ +// Copyright(c) 2016 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. + +#ifndef CHARMAP_H +#define CHARMAP_H + +#include <cstdint> +#include <string> +#include <map> +#include <vector> + +class Charmap +{ +public: + Charmap(std::string filename); + + std::string Char(std::int32_t code) + { + auto it = m_chars.find(code); + + if (it == m_chars.end()) + return std::string(); + + return it->second; + } + + std::string Escape(unsigned char code) + { + return m_escapes[code]; + } + + std::string Constant(std::string identifier) + { + auto it = m_constants.find(identifier); + + if (it == m_constants.end()) + return std::string(); + + return it->second; + } +private: + std::map<std::int32_t, std::string> m_chars; + std::string m_escapes[128]; + std::map<std::string, std::string> m_constants; +}; + +#endif // CHARMAP_H diff --git a/tools/preproc/preproc.cpp b/tools/preproc/preproc.cpp new file mode 100644 index 000000000..c9c6042df --- /dev/null +++ b/tools/preproc/preproc.cpp @@ -0,0 +1,156 @@ +// Copyright(c) 2016 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. + +#include <string> +#include <stack> +#include "preproc.h" +#include "asm_file.h" +#include "c_file.h" +#include "charmap.h" + +Charmap* g_charmap; + +void PrintAsmBytes(unsigned char *s, int length) +{ + if (length > 0) + { + std::printf("\t.byte "); + for (int i = 0; i < length; i++) + { + std::printf("0x%02X", s[i]); + + if (i < length - 1) + std::printf(", "); + } + std::putchar('\n'); + } +} + +void PreprocAsmFile(std::string filename) +{ + std::stack<AsmFile> stack; + + stack.push(AsmFile(filename)); + + for (;;) + { + while (stack.top().IsAtEnd()) + { + stack.pop(); + + if (stack.empty()) + return; + else + stack.top().OutputLocation(); + } + + Directive directive = stack.top().GetDirective(); + + switch (directive) + { + case Directive::Include: + stack.push(AsmFile(stack.top().ReadPath())); + stack.top().OutputLocation(); + break; + case Directive::String: + { + unsigned char s[kMaxStringLength]; + int length = stack.top().ReadString(s); + PrintAsmBytes(s, length); + break; + } + case Directive::Braille: + { + unsigned char s[kMaxStringLength]; + int length = stack.top().ReadBraille(s); + PrintAsmBytes(s, length); + break; + } + case Directive::Unknown: + { + std::string globalLabel = stack.top().GetGlobalLabel(); + + if (globalLabel.length() != 0) + { + const char *s = globalLabel.c_str(); + std::printf("%s: ; .global %s\n", s, s); + } + else + { + stack.top().OutputLine(); + } + + break; + } + } + } +} + +void PreprocCFile(std::string filename) +{ + CFile cFile(filename); + cFile.Preproc(); +} + +char* GetFileExtension(char* filename) +{ + char* extension = filename; + + while (*extension != 0) + extension++; + + while (extension > filename && *extension != '.') + extension--; + + if (extension == filename) + return nullptr; + + extension++; + + if (*extension == 0) + return nullptr; + + return extension; +} + +int main(int argc, char **argv) +{ + if (argc != 3) + { + std::fprintf(stderr, "Usage: %s SRC_FILE CHARMAP_FILE", argv[0]); + return 1; + } + + g_charmap = new Charmap(argv[2]); + + char* extension = GetFileExtension(argv[1]); + + if (!extension) + FATAL_ERROR("\"%s\" has no file extension.\n", argv[1]); + + if ((extension[0] == 's') && extension[1] == 0) + PreprocAsmFile(argv[1]); + else if ((extension[0] == 'c' || extension[0] == 'i') && extension[1] == 0) + PreprocCFile(argv[1]); + else + FATAL_ERROR("\"%s\" has an unknown file extension of \"%s\".\n", argv[1], extension); + + return 0; +} diff --git a/tools/preproc/preproc.h b/tools/preproc/preproc.h new file mode 100644 index 000000000..515f64e07 --- /dev/null +++ b/tools/preproc/preproc.h @@ -0,0 +1,54 @@ +// Copyright(c) 2016 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. + +#ifndef PREPROC_H +#define PREPROC_H + +#include <cstdio> +#include <cstdlib> +#include "charmap.h" + +#ifdef _MSC_VER + +#define FATAL_ERROR(format, ...) \ +do \ +{ \ + std::fprintf(stderr, format, __VA_ARGS__); \ + std::exit(1); \ +} while (0) + +#else + +#define FATAL_ERROR(format, ...) \ +do \ +{ \ + std::fprintf(stderr, format, ##__VA_ARGS__); \ + std::exit(1); \ +} while (0) + +#endif // _MSC_VER + +const int kMaxPath = 256; +const int kMaxStringLength = 1024; +const unsigned long kMaxCharmapSequenceLength = 16; + +extern Charmap* g_charmap; + +#endif // PREPROC_H diff --git a/tools/preproc/string_parser.cpp b/tools/preproc/string_parser.cpp new file mode 100644 index 000000000..dd5196a44 --- /dev/null +++ b/tools/preproc/string_parser.cpp @@ -0,0 +1,355 @@ +// Copyright(c) 2016 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. + +#include <cstdio> +#include <cstdarg> +#include <stdexcept> +#include "preproc.h" +#include "string_parser.h" +#include "char_util.h" +#include "utf8.h" + +// Reads a charmap char or escape sequence. +std::string StringParser::ReadCharOrEscape() +{ + std::string sequence; + + bool isEscape = (m_buffer[m_pos] == '\\'); + + if (isEscape) + { + m_pos++; + + if (m_buffer[m_pos] == '"') + { + sequence = g_charmap->Char('"'); + + if (sequence.length() == 0) + RaiseError("no mapping exists for double quote"); + + return sequence; + } + else if (m_buffer[m_pos] == '\\') + { + sequence = g_charmap->Char('\\'); + + if (sequence.length() == 0) + RaiseError("no mapping exists for backslash"); + + return sequence; + } + } + + unsigned char c = m_buffer[m_pos]; + + if (c == 0) + { + if (m_pos >= m_size) + RaiseError("unexpected EOF in UTF-8 string"); + else + RaiseError("unexpected null character in UTF-8 string"); + } + + if (IsAscii(c) && !IsAsciiPrintable(c)) + RaiseError("unexpected character U+%X in UTF-8 string", c); + + UnicodeChar unicodeChar = DecodeUtf8(&m_buffer[m_pos]); + m_pos += unicodeChar.encodingLength; + std::int32_t code = unicodeChar.code; + + if (code == -1) + RaiseError("invalid encoding in UTF-8 string"); + + if (isEscape && code >= 128) + RaiseError("escapes using non-ASCII characters are invalid"); + + sequence = isEscape ? g_charmap->Escape(code) : g_charmap->Char(code); + + if (sequence.length() == 0) + { + if (isEscape) + RaiseError("unknown escape '\\%c'", code); + else + RaiseError("unknown character U+%X", code); + } + + return sequence; +} + +// Reads a charmap constant, i.e. "{FOO}". +std::string StringParser::ReadBracketedConstants() +{ + std::string totalSequence; + + m_pos++; // Assume we're on the left curly bracket. + + while (m_buffer[m_pos] != '}') + { + SkipWhitespace(); + + if (IsIdentifierStartingChar(m_buffer[m_pos])) + { + long startPos = m_pos; + + m_pos++; + + while (IsIdentifierChar(m_buffer[m_pos])) + m_pos++; + + std::string sequence = g_charmap->Constant(std::string(&m_buffer[startPos], m_pos - startPos)); + + if (sequence.length() == 0) + { + m_buffer[m_pos] = 0; + RaiseError("unknown constant '%s'", &m_buffer[startPos]); + } + + totalSequence += sequence; + } + else if (IsAsciiDigit(m_buffer[m_pos])) + { + Integer integer = ReadInteger(); + + switch (integer.size) + { + case 1: + totalSequence += (unsigned char)integer.value; + break; + case 2: + totalSequence += (unsigned char)integer.value; + totalSequence += (unsigned char)(integer.value >> 8); + break; + case 4: + totalSequence += (unsigned char)integer.value; + totalSequence += (unsigned char)(integer.value >> 8); + totalSequence += (unsigned char)(integer.value >> 16); + totalSequence += (unsigned char)(integer.value >> 24); + break; + } + } + else if (m_buffer[m_pos] == 0) + { + if (m_pos >= m_size) + RaiseError("unexpected EOF after left curly bracket"); + else + RaiseError("unexpected null character within curly brackets"); + } + else + { + if (IsAsciiPrintable(m_buffer[m_pos])) + RaiseError("unexpected character '%c' within curly brackets", m_buffer[m_pos]); + else + RaiseError("unexpected character '\\x%02X' within curly brackets", m_buffer[m_pos]); + } + } + + m_pos++; // Go past the right curly bracket. + + return totalSequence; +} + +// Reads a charmap string. +int StringParser::ParseString(long srcPos, unsigned char* dest, int& destLength) +{ + m_pos = srcPos; + + if (m_buffer[m_pos] != '"') + RaiseError("expected UTF-8 string literal"); + + long start = m_pos; + + m_pos++; + + destLength = 0; + + while (m_buffer[m_pos] != '"') + { + std::string sequence = (m_buffer[m_pos] == '{') ? ReadBracketedConstants() : ReadCharOrEscape(); + + for (const char& c : sequence) + { + if (destLength == kMaxStringLength) + RaiseError("mapped string longer than %d bytes", kMaxStringLength); + + dest[destLength++] = c; + } + } + + m_pos++; // Go past the right quote. + + return m_pos - start; +} + +void StringParser::RaiseError(const char* format, ...) +{ + const int bufferSize = 1024; + char buffer[bufferSize]; + + std::va_list args; + va_start(args, format); + std::vsnprintf(buffer, bufferSize, format, args); + va_end(args); + + throw std::runtime_error(buffer); +} + +// Converts digit character to numerical value. +static int ConvertDigit(char c, int radix) +{ + int digit; + + if (c >= '0' && c <= '9') + digit = c - '0'; + else if (c >= 'A' && c <= 'F') + digit = 10 + c - 'A'; + else if (c >= 'a' && c <= 'f') + digit = 10 + c - 'a'; + else + return -1; + + return (digit < radix) ? digit : -1; +} + +void StringParser::SkipRestOfInteger(int radix) +{ + while (ConvertDigit(m_buffer[m_pos], radix) != -1) + m_pos++; +} + +StringParser::Integer StringParser::ReadDecimal() +{ + const int radix = 10; + std::uint64_t n = 0; + int digit; + std::uint64_t max = UINT32_MAX; + long startPos = m_pos; + + while ((digit = ConvertDigit(m_buffer[m_pos], radix)) != -1) + { + n = n * radix + digit; + + if (n >= max) + { + SkipRestOfInteger(radix); + + std::string intLiteral(m_buffer + startPos, m_pos - startPos); + RaiseError("integer literal \"%s\" is too large", intLiteral.c_str()); + } + + m_pos++; + } + + int size; + + if (m_buffer[m_pos] == 'H') + { + if (n >= 0x10000) + { + RaiseError("%lu is too large to be a halfword", (unsigned long)n); + } + + size = 2; + m_pos++; + } + else if (m_buffer[m_pos] == 'W') + { + size = 4; + m_pos++; + } + else + { + if (n >= 0x10000) + size = 4; + else if (n >= 0x100) + size = 2; + else + size = 1; + } + + return{ static_cast<std::uint32_t>(n), size }; +} + +StringParser::Integer StringParser::ReadHex() +{ + const int radix = 16; + std::uint64_t n = 0; + int digit; + std::uint64_t max = UINT32_MAX; + long startPos = m_pos; + + while ((digit = ConvertDigit(m_buffer[m_pos], radix)) != -1) + { + n = n * radix + digit; + + if (n >= max) + { + SkipRestOfInteger(radix); + + std::string intLiteral(m_buffer + startPos, m_pos - startPos); + RaiseError("integer literal \"%s\" is too large", intLiteral.c_str()); + } + + m_pos++; + } + + int length = m_pos - startPos; + int size = 0; + + switch (length) + { + case 2: + size = 1; + break; + case 4: + size = 2; + break; + case 8: + size = 4; + break; + default: + { + std::string intLiteral(m_buffer + startPos, m_pos - startPos); + RaiseError("hex integer literal \"0x%s\" doesn't have length of 2, 4, or 8 digits", intLiteral.c_str()); + } + } + + return{ static_cast<std::uint32_t>(n), size }; +} + +StringParser::Integer StringParser::ReadInteger() +{ + if (!IsAsciiDigit(m_buffer[m_pos])) + RaiseError("expected integer"); + + if (m_buffer[m_pos] == '0' && m_buffer[m_pos + 1] == 'x') + { + m_pos += 2; + return ReadHex(); + } + + return ReadDecimal(); +} + +// Skips tabs and spaces. +void StringParser::SkipWhitespace() +{ + while (m_buffer[m_pos] == '\t' || m_buffer[m_pos] == ' ') + m_pos++; +} diff --git a/tools/preproc/string_parser.h b/tools/preproc/string_parser.h new file mode 100644 index 000000000..abd2bfe9a --- /dev/null +++ b/tools/preproc/string_parser.h @@ -0,0 +1,55 @@ +// Copyright(c) 2016 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. + +#ifndef STRING_PARSER_H +#define STRING_PARSER_H + +#include <cstdint> +#include <string> +#include "preproc.h" + +class StringParser +{ +public: + StringParser(char* buffer, long size) : m_buffer(buffer), m_size(size), m_pos(0) {} + int ParseString(long srcPos, unsigned char* dest, int &destLength); + +private: + struct Integer + { + std::uint32_t value; + int size; + }; + + char* m_buffer; + long m_size; + long m_pos; + + Integer ReadInteger(); + Integer ReadDecimal(); + Integer ReadHex(); + std::string ReadCharOrEscape(); + std::string ReadBracketedConstants(); + void SkipWhitespace(); + void SkipRestOfInteger(int radix); + void RaiseError(const char* format, ...); +}; + +#endif // STRING_PARSER_H diff --git a/tools/preproc/utf8.cpp b/tools/preproc/utf8.cpp new file mode 100644 index 000000000..7facfd44e --- /dev/null +++ b/tools/preproc/utf8.cpp @@ -0,0 +1,92 @@ +// Copyright (c) 2008-2009 Bjoern Hoehrmann <bjoern@hoehrmann.de> +// See http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ for details. +// +// Copyright(c) 2016 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. + +#include <cstdint> +#include "utf8.h" + +static const unsigned char s_byteTypeTable[] = +{ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 00..1f + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 20..3f + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 40..5f + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 60..7f + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, // 80..9f + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, // a0..bf + 8,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, // c0..df + 0xa,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x4,0x3,0x3, // e0..ef + 0xb,0x6,0x6,0x6,0x5,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8, // f0..ff +}; + +const unsigned char s0 = 0 * 12; +const unsigned char s1 = 1 * 12; +const unsigned char s2 = 2 * 12; +const unsigned char s3 = 3 * 12; +const unsigned char s4 = 4 * 12; +const unsigned char s5 = 5 * 12; +const unsigned char s6 = 6 * 12; +const unsigned char s7 = 7 * 12; +const unsigned char s8 = 8 * 12; + +static const unsigned char s_transitionTable[] = +{ + s0,s1,s2,s3,s5,s8,s7,s1,s1,s1,s4,s6, // s0 + s1,s1,s1,s1,s1,s1,s1,s1,s1,s1,s1,s1, // s1 + s1,s0,s1,s1,s1,s1,s1,s0,s1,s0,s1,s1, // s2 + s1,s2,s1,s1,s1,s1,s1,s2,s1,s2,s1,s1, // s3 + s1,s1,s1,s1,s1,s1,s1,s2,s1,s1,s1,s1, // s4 + s1,s2,s1,s1,s1,s1,s1,s1,s1,s2,s1,s1, // s5 + s1,s1,s1,s1,s1,s1,s1,s3,s1,s3,s1,s1, // s6 + s1,s3,s1,s1,s1,s1,s1,s3,s1,s3,s1,s1, // s7 + s1,s3,s1,s1,s1,s1,s1,s1,s1,s1,s1,s1, // s8 +}; + +// Decodes UTF-8 encoded Unicode code point at "s". +UnicodeChar DecodeUtf8(const char* s) +{ + UnicodeChar unicodeChar; + int state = s0; + auto start = s; + + do + { + unsigned char byte = *s++; + int type = s_byteTypeTable[byte]; + + if (state == s0) + unicodeChar.code = (0xFF >> type) & byte; + else + unicodeChar.code = (unicodeChar.code << 6) | (byte & 0x3F); + + state = s_transitionTable[state + type]; + + if (state == s1) + { + unicodeChar.code = -1; + return unicodeChar; + } + } while (state != s0); + + unicodeChar.encodingLength = s - start; + + return unicodeChar; +} diff --git a/tools/preproc/utf8.h b/tools/preproc/utf8.h new file mode 100644 index 000000000..259de67c5 --- /dev/null +++ b/tools/preproc/utf8.h @@ -0,0 +1,34 @@ +// Copyright(c) 2016 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. + +#ifndef UTF8_H +#define UTF8_H + +#include <cstdint> + +struct UnicodeChar +{ + std::int32_t code; + int encodingLength; +}; + +UnicodeChar DecodeUtf8(const char* s); + +#endif // UTF8_H diff --git a/tools/ramscrgen/.gitignore b/tools/ramscrgen/.gitignore new file mode 100644 index 000000000..4d0ae82c3 --- /dev/null +++ b/tools/ramscrgen/.gitignore @@ -0,0 +1 @@ +ramscrgen diff --git a/tools/ramscrgen/LICENSE b/tools/ramscrgen/LICENSE new file mode 100644 index 000000000..534d15349 --- /dev/null +++ b/tools/ramscrgen/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2016 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/ramscrgen/Makefile b/tools/ramscrgen/Makefile new file mode 100644 index 000000000..9aa309aa1 --- /dev/null +++ b/tools/ramscrgen/Makefile @@ -0,0 +1,15 @@ +CXX := g++ + +CXXFLAGS := -std=c++11 -O2 -Wall -Wno-switch -Werror + +SRCS := main.cpp sym_file.cpp elf.cpp + +HEADERS := ramscrgen.h sym_file.h elf.h char_util.h + +.PHONY: clean + +ramscrgen: $(SRCS) $(HEADERS) + $(CXX) $(CXXFLAGS) $(SRCS) -o $@ $(LDFLAGS) + +clean: + $(RM) ramscrgen ramscrgen.exe diff --git a/tools/ramscrgen/char_util.h b/tools/ramscrgen/char_util.h new file mode 100644 index 000000000..ab20dbc53 --- /dev/null +++ b/tools/ramscrgen/char_util.h @@ -0,0 +1,71 @@ +// Copyright(c) 2016 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. + +#ifndef CHAR_UTIL_H +#define CHAR_UTIL_H + +#include <cstdint> +#include <cassert> + +inline bool IsAscii(unsigned char c) +{ + return (c < 128); +} + +inline bool IsAsciiAlpha(unsigned char c) +{ + return ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')); +} + +inline bool IsAsciiDigit(unsigned char c) +{ + return (c >= '0' && c <= '9'); +} + +inline bool IsAsciiHexDigit(unsigned char c) +{ + return ((c >= '0' && c <= '9') + || (c >= 'a' && c <= 'f') + || (c >= 'A' && c <= 'F')); +} + +inline bool IsAsciiAlphanum(unsigned char c) +{ + return (IsAsciiAlpha(c) || IsAsciiDigit(c)); +} + +inline bool IsAsciiPrintable(unsigned char c) +{ + return (c >= ' ' && c <= '~'); +} + +// Returns whether the character can start the identifier of a "{FOO}" constant in strings. +inline bool IsIdentifierStartingChar(unsigned char c) +{ + return IsAsciiAlpha(c) || c == '_'; +} + +// Returns whether the character can be used in the identifier of a "{FOO}" constant in strings. +inline bool IsIdentifierChar(unsigned char c) +{ + return IsAsciiAlphanum(c) || c == '_'; +} + +#endif // CHAR_UTIL_H diff --git a/tools/ramscrgen/elf.cpp b/tools/ramscrgen/elf.cpp new file mode 100644 index 000000000..7e78704b8 --- /dev/null +++ b/tools/ramscrgen/elf.cpp @@ -0,0 +1,272 @@ +#include <cstdio> +#include <cstring> +#include <cstdint> +#include <map> +#include <vector> +#include <string> +#include "ramscrgen.h" +#include "elf.h" + +#define SHN_COMMON 0xFFF2 + +static std::string s_elfPath; +static std::string s_archiveFilePath; +static std::string s_archiveObjectPath; + +static FILE *s_file; + +static std::uint32_t s_sectionHeaderOffset; +static int s_sectionHeaderEntrySize; +static int s_sectionCount; +static int s_shstrtabIndex; + +static std::uint32_t s_symtabOffset; +static std::uint32_t s_strtabOffset; + +static std::uint32_t s_symbolCount; +static std::uint32_t s_elfFileOffset; + +struct Symbol +{ + std::uint32_t nameOffset; + std::uint32_t size; +}; + +static void Seek(long offset) +{ + if (std::fseek(s_file, s_elfFileOffset + offset, SEEK_SET) != 0) + FATAL_ERROR("error: failed to seek to %ld in \"%s\"", offset, s_elfPath.c_str()); +} + +static void Skip(long offset) +{ + if (std::fseek(s_file, offset, SEEK_CUR) != 0) + FATAL_ERROR("error: failed to skip %ld bytes in \"%s\"", offset, s_elfPath.c_str()); +} + +static std::uint32_t ReadInt8() +{ + int c = std::fgetc(s_file); + + if (c < 0) + FATAL_ERROR("error: unexpected EOF when reading ELF file \"%s\"\n", s_elfPath.c_str()); + + return c; +} + +static std::uint32_t ReadInt16() +{ + std::uint32_t val = 0; + val |= ReadInt8(); + val |= ReadInt8() << 8; + return val; +} + +static std::uint32_t ReadInt32() +{ + std::uint32_t val = 0; + val |= ReadInt8(); + val |= ReadInt8() << 8; + val |= ReadInt8() << 16; + val |= ReadInt8() << 24; + return val; +} + +static std::string ReadString() +{ + std::string s; + char c; + + while ((c = ReadInt8()) != 0) + s += c; + + return s; +} + +static void VerifyElfIdent() +{ + char expectedMagic[4] = { 0x7F, 'E', 'L', 'F' }; + char magic[4]; + + if (std::fread(magic, 4, 1, s_file) != 1) + FATAL_ERROR("error: failed to read ELF magic from \"%s\"\n", s_elfPath.c_str()); + + if (std::memcmp(magic, expectedMagic, 4) != 0) + FATAL_ERROR("error: ELF magic did not match in \"%s\"\n", s_elfPath.c_str()); + + if (std::fgetc(s_file) != 1) + FATAL_ERROR("error: \"%s\" not 32-bit ELF\n", s_elfPath.c_str()); + + if (std::fgetc(s_file) != 1) + FATAL_ERROR("error: \"%s\" not little-endian ELF\n", s_elfPath.c_str()); +} + +static void VerifyAr() +{ + char expectedMagic[8] = {'!', '<', 'a', 'r', 'c', 'h', '>', '\n'}; + char magic[8]; + + if (std::fread(magic, 8, 1, s_file) != 1) + FATAL_ERROR("error: failed to read AR magic from \"%s\"\n", s_archiveFilePath.c_str()); + + if (std::memcmp(magic, expectedMagic, 8) != 0) + FATAL_ERROR("error: AR magic did not match in \"%s\"\n", s_archiveFilePath.c_str()); +} + +static void ReadElfHeader() +{ + Seek(0x20); + s_sectionHeaderOffset = ReadInt32(); + Seek(0x2E); + s_sectionHeaderEntrySize = ReadInt16(); + s_sectionCount = ReadInt16(); + s_shstrtabIndex = ReadInt16(); +} + +static void FindArObj() +{ + char file_ident[17] = {0}; + char filesize_s[11] = {0}; + char expectedEndMagic[2] = { 0x60, 0x0a }; + char end_magic[2]; + std::size_t filesize; + + Seek(8); + while (!std::feof(s_file)) { + if (std::fread(file_ident, 16, 1, s_file) != 1) + FATAL_ERROR("error: failed to read file ident in \"%s\"\n", s_archiveFilePath.c_str()); + Skip(32); + if (std::fread(filesize_s, 10, 1, s_file) != 1) + FATAL_ERROR("error: failed to read filesize in \"%s\"\n", s_archiveFilePath.c_str()); + if (std::fread(end_magic, 2, 1, s_file) != 1) + FATAL_ERROR("error: failed to read end sentinel in \"%s\"\n", s_archiveFilePath.c_str()); + if (std::memcmp(end_magic, expectedEndMagic, 2) != 0) + FATAL_ERROR("error: corrupted archive header in \"%s\" at \"%s\"\n", s_archiveFilePath.c_str(), file_ident); + + char * ptr = std::strchr(file_ident, '/'); + if (ptr != nullptr) + *ptr = 0; + filesize = std::strtoul(filesize_s, nullptr, 10); + if (std::strncmp(s_archiveObjectPath.c_str(), file_ident, 16) == 0) { + s_elfFileOffset = std::ftell(s_file); + return; + } + Skip(filesize); + } + + FATAL_ERROR("error: could not find object \"%s\" in archive \"%s\"\n", s_archiveObjectPath.c_str(), s_archiveFilePath.c_str()); +} + +static std::string GetSectionName(std::uint32_t shstrtabOffset, int index) +{ + Seek(s_sectionHeaderOffset + s_sectionHeaderEntrySize * index); + std::uint32_t nameOffset = ReadInt32(); + Seek(shstrtabOffset + nameOffset); + return ReadString(); +} + +static void FindTableOffsets() +{ + s_symtabOffset = 0; + s_strtabOffset = 0; + + Seek(s_sectionHeaderOffset + s_sectionHeaderEntrySize * s_shstrtabIndex + 0x10); + std::uint32_t shstrtabOffset = ReadInt32(); + + for (int i = 0; i < s_sectionCount; i++) + { + std::string name = GetSectionName(shstrtabOffset, i); + + if (name == ".symtab") + { + if (s_symtabOffset) + FATAL_ERROR("error: mutiple .symtab sections found in \"%s\"\n", s_elfPath.c_str()); + Seek(s_sectionHeaderOffset + s_sectionHeaderEntrySize * i + 0x10); + s_symtabOffset = ReadInt32(); + std::uint32_t size = ReadInt32(); + s_symbolCount = size / 16; + } + else if (name == ".strtab") + { + if (s_strtabOffset) + FATAL_ERROR("error: mutiple .strtab sections found in \"%s\"\n", s_elfPath.c_str()); + Seek(s_sectionHeaderOffset + s_sectionHeaderEntrySize * i + 0x10); + s_strtabOffset = ReadInt32(); + } + } + + if (!s_symtabOffset) + FATAL_ERROR("error: couldn't find .symtab section in \"%s\"\n", s_elfPath.c_str()); + + if (!s_strtabOffset) + FATAL_ERROR("error: couldn't find .strtab section in \"%s\"\n", s_elfPath.c_str()); +} + +static std::map<std::string, std::uint32_t> GetCommonSymbols_Shared() +{ + VerifyElfIdent(); + ReadElfHeader(); + FindTableOffsets(); + + std::map<std::string, std::uint32_t> commonSymbols; + + std::vector<Symbol> commonSymbolVec; + + Seek(s_symtabOffset); + + for (std::uint32_t i = 0; i < s_symbolCount; i++) + { + Symbol sym; + sym.nameOffset = ReadInt32(); + Skip(4); + sym.size = ReadInt32(); + Skip(2); + std::uint16_t sectionIndex = ReadInt16(); + if (sectionIndex == SHN_COMMON) + commonSymbolVec.push_back(sym); + } + + for (const Symbol& sym : commonSymbolVec) + { + Seek(s_strtabOffset + sym.nameOffset); + std::string name = ReadString(); + commonSymbols[name] = sym.size; + } + + return commonSymbols; +} + +std::map<std::string, std::uint32_t> GetCommonSymbolsFromLib(std::string sourcePath, std::string libpath) +{ + std::size_t colonPos = libpath.find(':'); + if (colonPos == std::string::npos) + FATAL_ERROR("error: missing colon separator in libfile \"%s\"\n", s_elfPath.c_str()); + + s_archiveObjectPath = libpath.substr(colonPos + 1); + s_archiveFilePath = sourcePath + "/" + libpath.substr(1, colonPos - 1); + s_elfPath = sourcePath + "/" + libpath.substr(1); + + s_file = std::fopen(s_archiveFilePath.c_str(), "rb"); + + if (s_file == NULL) + FATAL_ERROR("error: failed to open \"%s\" for reading\n", s_archiveFilePath.c_str()); + + VerifyAr(); + FindArObj(); + return GetCommonSymbols_Shared(); +} + +std::map<std::string, std::uint32_t> GetCommonSymbols(std::string sourcePath, std::string path) +{ + s_elfFileOffset = 0; + if (path[0] == '*') + return GetCommonSymbolsFromLib(sourcePath, path); + + s_elfPath = sourcePath + "/" + path; + s_file = std::fopen(s_elfPath.c_str(), "rb"); + + if (s_file == NULL) + FATAL_ERROR("error: failed to open \"%s\" for reading\n", path.c_str()); + + return GetCommonSymbols_Shared(); +} diff --git a/tools/ramscrgen/elf.h b/tools/ramscrgen/elf.h new file mode 100644 index 000000000..3704860c0 --- /dev/null +++ b/tools/ramscrgen/elf.h @@ -0,0 +1,30 @@ +// Copyright(c) 2016 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. + +#ifndef ELF_H +#define ELF_H + +#include <cstdint> +#include <map> +#include <string> + +std::map<std::string, std::uint32_t> GetCommonSymbols(std::string sourcePath, std::string path); + +#endif // ELF_H diff --git a/tools/ramscrgen/main.cpp b/tools/ramscrgen/main.cpp new file mode 100644 index 000000000..5e5894f47 --- /dev/null +++ b/tools/ramscrgen/main.cpp @@ -0,0 +1,187 @@ +// Copyright(c) 2016 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. + +#include <cstdio> +#include <cstring> +#include <string> +#include "ramscrgen.h" +#include "sym_file.h" +#include "elf.h" + +void HandleCommonInclude(std::string filename, std::string sourcePath, std::string symOrderPath, std::string lang) +{ + auto commonSymbols = GetCommonSymbols(sourcePath, filename); + std::size_t dotIndex; + + if (filename[0] == '*') { + dotIndex = filename.find_last_of(':'); + filename = filename.substr(dotIndex + 1); + } + + dotIndex = filename.find_last_of('.'); + + if (dotIndex == std::string::npos) + FATAL_ERROR("error: \"%s\" doesn't have a file extension\n", filename.c_str()); + + std::string symOrderFilename = filename.substr(0, dotIndex + 1) + "txt"; + + SymFile symFile(symOrderPath + "/" + symOrderFilename); + + while (!symFile.IsAtEnd()) + { + symFile.HandleLangConditional(lang); + + std::string label = symFile.GetLabel(false); + + if (label.length() == 0) + { + unsigned long length; + if (symFile.ReadInteger(length)) + { + if (length & 3) + symFile.RaiseWarning("gap length %d is not multiple of 4", length); + printf(". += 0x%lX;\n", length); + } + } + else + { + if (commonSymbols.count(label) == 0) + symFile.RaiseError("no common symbol named \"%s\"", label.c_str()); + unsigned long size = commonSymbols[label]; + int alignment = 4; + if (size > 4) + alignment = 8; + if (size > 8) + alignment = 16; + printf(". = ALIGN(%d);\n", alignment); + printf("%s = .;\n", label.c_str()); + printf(". += 0x%lX;\n", size); + } + + symFile.ExpectEmptyRestOfLine(); + } +} + +void ConvertSymFile(std::string filename, std::string sectionName, std::string lang, bool common, std::string sourcePath, std::string commonSymPath, std::string libSourcePath) +{ + SymFile symFile(filename); + + while (!symFile.IsAtEnd()) + { + symFile.HandleLangConditional(lang); + + Directive directive = symFile.GetDirective(); + + switch (directive) + { + case Directive::Include: + { + std::string incFilename = symFile.ReadPath(); + symFile.ExpectEmptyRestOfLine(); + printf(". = ALIGN(4);\n"); + if (common) + HandleCommonInclude(incFilename, incFilename[0] == '*' ? libSourcePath : sourcePath, commonSymPath, lang); + else + printf("%s(%s);\n", incFilename.c_str(), sectionName.c_str()); + break; + } + case Directive::Space: + { + unsigned long length; + if (!symFile.ReadInteger(length)) + symFile.RaiseError("expected integer after .space directive"); + symFile.ExpectEmptyRestOfLine(); + printf(". += 0x%lX;\n", length); + break; + } + case Directive::Align: + { + unsigned long amount; + if (!symFile.ReadInteger(amount)) + symFile.RaiseError("expected integer after .align directive"); + if (amount > 4) + symFile.RaiseError("max alignment amount is 4"); + amount = 1UL << amount; + symFile.ExpectEmptyRestOfLine(); + printf(". = ALIGN(%lu);\n", amount); + break; + } + case Directive::Unknown: + { + std::string label = symFile.GetLabel(); + + if (label.length() != 0) + { + printf("%s = .;\n", label.c_str()); + } + + symFile.ExpectEmptyRestOfLine(); + + break; + } + } + } +} + +int main(int argc, char **argv) +{ + if (argc < 4) + { + fprintf(stderr, "Usage: %s SECTION_NAME SYM_FILE LANG [-c SRC_PATH,COMMON_SYM_PATH]", argv[0]); + return 1; + } + + bool common = false; + std::string sectionName = std::string(argv[1]); + std::string symFileName = std::string(argv[2]); + std::string lang = std::string(argv[3]); + std::string sourcePath; + std::string commonSymPath; + std::string libSourcePath; + + if (argc > 4) + { + if (std::strcmp(argv[4], "-c") != 0) + FATAL_ERROR("error: unrecognized argument \"%s\"\n", argv[4]); + + if (argc < 6) + FATAL_ERROR("error: missing SRC_PATH,COMMON_SYM_PATH after \"-c\"\n"); + + common = true; + std::string paths = std::string(argv[5]); + std::size_t commaPos = paths.find(','); + + if (commaPos == std::string::npos) + FATAL_ERROR("error: missing comma in argument after \"-c\"\n"); + + sourcePath = paths.substr(0, commaPos); + commonSymPath = paths.substr(commaPos + 1); + commaPos = commonSymPath.find(','); + if (commaPos == std::string::npos) { + libSourcePath = "tools/agbcc/lib"; + } else { + libSourcePath = commonSymPath.substr(commaPos + 1); + commonSymPath = commonSymPath.substr(0, commaPos); + } + } + + ConvertSymFile(symFileName, sectionName, lang, common, sourcePath, commonSymPath, libSourcePath); + return 0; +} diff --git a/tools/ramscrgen/ramscrgen.h b/tools/ramscrgen/ramscrgen.h new file mode 100644 index 000000000..1aed1c05a --- /dev/null +++ b/tools/ramscrgen/ramscrgen.h @@ -0,0 +1,49 @@ +// Copyright(c) 2016 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. + +#ifndef RAMSCRGEN_H +#define RAMSCRGEN_H + +#include <cstdio> +#include <cstdlib> + +#ifdef _MSC_VER + +#define FATAL_ERROR(format, ...) \ +do \ +{ \ + std::fprintf(stderr, format, __VA_ARGS__); \ + std::exit(1); \ +} while (0) + +#else + +#define FATAL_ERROR(format, ...) \ +do \ +{ \ + std::fprintf(stderr, format, ##__VA_ARGS__); \ + std::exit(1); \ +} while (0) + +#endif // _MSC_VER + +const int kMaxPath = 256; + +#endif // RAMSCRGEN_H diff --git a/tools/ramscrgen/sym_file.cpp b/tools/ramscrgen/sym_file.cpp new file mode 100644 index 000000000..5379bd93f --- /dev/null +++ b/tools/ramscrgen/sym_file.cpp @@ -0,0 +1,492 @@ +// Copyright(c) 2016 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. + +#include <cstdio> +#include <cstdarg> +#include <climits> +#include "ramscrgen.h" +#include "sym_file.h" +#include "char_util.h" + +SymFile::SymFile(std::string filename) : m_filename(filename) +{ + FILE *fp = std::fopen(filename.c_str(), "rb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for reading.\n", filename.c_str()); + + std::fseek(fp, 0, SEEK_END); + + m_size = std::ftell(fp); + + if (m_size < 0) + FATAL_ERROR("File size of \"%s\" is less than zero.\n", filename.c_str()); + + m_buffer = new char[m_size + 1]; + + std::rewind(fp); + + if (std::fread(m_buffer, m_size, 1, fp) != 1) + FATAL_ERROR("Failed to read \"%s\".\n", filename.c_str()); + + m_buffer[m_size] = 0; + + std::fclose(fp); + + m_pos = 0; + m_lineNum = 1; + m_lineStart = 0; + m_inLangConditional = false; + + RemoveComments(); +} + +SymFile::SymFile(SymFile&& other) : m_filename(std::move(other.m_filename)) +{ + m_buffer = other.m_buffer; + m_pos = other.m_pos; + m_size = other.m_size; + m_lineNum = other.m_lineNum; + m_lineStart = other.m_lineStart; + + other.m_buffer = nullptr; +} + +SymFile::~SymFile() +{ + delete[] m_buffer; +} + +// Removes comments to simplify further processing. +// It stops upon encountering a null character, +// which may or may not be the end of file marker. +// If it's not, the error will be caught later. +void SymFile::RemoveComments() +{ + long pos = 0; + char stringChar = 0; + + for (;;) + { + if (m_buffer[pos] == 0) + return; + + if (stringChar != 0) + { + if (m_buffer[pos] == '\\' && m_buffer[pos + 1] == stringChar) + { + pos += 2; + } + else + { + if (m_buffer[pos] == stringChar) + stringChar = 0; + pos++; + } + } + else if (m_buffer[pos] == '@' && (pos == 0 || m_buffer[pos - 1] != '\\')) + { + while (m_buffer[pos] != '\n' && m_buffer[pos] != 0) + m_buffer[pos++] = ' '; + } + else if (m_buffer[pos] == '/' && m_buffer[pos + 1] == '*') + { + m_buffer[pos++] = ' '; + m_buffer[pos++] = ' '; + + char commentStringChar = 0; + + for (;;) + { + if (m_buffer[pos] == 0) + return; + + if (commentStringChar != 0) + { + if (m_buffer[pos] == '\\' && m_buffer[pos + 1] == commentStringChar) + { + m_buffer[pos++] = ' '; + m_buffer[pos++] = ' '; + } + else + { + if (m_buffer[pos] == commentStringChar) + commentStringChar = 0; + if (m_buffer[pos] != '\n') + m_buffer[pos] = ' '; + pos++; + } + } + else + { + if (m_buffer[pos] == '*' && m_buffer[pos + 1] == '/') + { + m_buffer[pos++] = ' '; + m_buffer[pos++] = ' '; + break; + } + else + { + if (m_buffer[pos] == '"' || m_buffer[pos] == '\'') + commentStringChar = m_buffer[pos]; + if (m_buffer[pos] != '\n') + m_buffer[pos] = ' '; + pos++; + } + } + } + } + else + { + if (m_buffer[pos] == '"' || m_buffer[pos] == '\'') + stringChar = m_buffer[pos]; + pos++; + } + } +} + +// Checks if we're at a particular directive and if so, consumes it. +// Returns whether the directive was found. +bool SymFile::CheckForDirective(std::string name) +{ + long i; + long length = static_cast<long>(name.length()); + + for (i = 0; i < length && m_pos + i < m_size; i++) + if (name[i] != m_buffer[m_pos + i]) + return false; + + if (i < length) + return false; + + m_pos += length; + + return true; +} + +// Checks if we're at a known directive and if so, consumes it. +// Returns which directive was found. +Directive SymFile::GetDirective() +{ + SkipWhitespace(); + + if (CheckForDirective(".include")) + return Directive::Include; + else if (CheckForDirective(".space")) + return Directive::Space; + else if (CheckForDirective(".align")) + return Directive::Align; + else + return Directive::Unknown; +} + +// Checks if we're at label. +// Returns the name if so and an empty string if not. +std::string SymFile::GetLabel(bool requireColon) +{ + long start = m_pos; + long pos = m_pos; + + if (IsIdentifierStartingChar(m_buffer[pos])) + { + pos++; + + while (IsIdentifierChar(m_buffer[pos])) + pos++; + } + + if (requireColon) + { + if (m_buffer[pos] == ':') + { + if (pos != start) + m_pos = pos + 1; + } + else + { + pos = start; + } + } + else + { + m_pos = pos; + } + + return std::string(&m_buffer[start], pos - start); +} + +// Skips tabs and spaces. +void SymFile::SkipWhitespace() +{ + while (m_buffer[m_pos] == '\t' || m_buffer[m_pos] == ' ') + m_pos++; +} + +// Reads include path. +std::string SymFile::ReadPath() +{ + SkipWhitespace(); + + if (m_buffer[m_pos] != '"') + RaiseError("expected file path"); + + m_pos++; + + int length = 0; + long startPos = m_pos; + + while (m_buffer[m_pos] != '"') + { + unsigned char c = m_buffer[m_pos++]; + + if (c == 0) + { + if (m_pos >= m_size) + RaiseError("unexpected EOF in include string"); + else + RaiseError("unexpected null character in include string"); + } + + if (!IsAsciiPrintable(c)) + RaiseError("unexpected character '\\x%02X' in include string", c); + + // Don't bother allowing any escape sequences. + if (c == '\\') + { + c = m_buffer[m_pos]; + RaiseError("unexpected escape '\\%c' in include string", c); + } + + length++; + + if (length > kMaxPath) + RaiseError("path is too long"); + } + + m_pos++; // Go past the right quote. + + return std::string(&m_buffer[startPos], length); +} + +// If we're at a comma, consumes it. +// Returns whether a comma was found. +bool SymFile::ConsumeComma() +{ + if (m_buffer[m_pos] == ',') + { + m_pos++; + return true; + } + + return false; +} + +// Converts digit character to numerical value. +static int ConvertDigit(char c, int radix) +{ + int digit; + + if (c >= '0' && c <= '9') + digit = c - '0'; + else if (c >= 'A' && c <= 'F') + digit = 10 + c - 'A'; + else if (c >= 'a' && c <= 'f') + digit = 10 + c - 'a'; + else + return -1; + + return (digit < radix) ? digit : -1; +} + +// Reads an integer. +bool SymFile::ReadInteger(unsigned long& n) +{ + SkipWhitespace(); + + if (!IsAsciiDigit(m_buffer[m_pos])) + return false; + + int startPos = m_pos; + int radix = 10; + + if (m_buffer[m_pos] == '0' && m_buffer[m_pos + 1] == 'x') + { + radix = 16; + m_pos += 2; + } + + unsigned long cutoff = ULONG_MAX / radix; + unsigned long cutoffRemainder = ULONG_MAX % radix; + int digit; + + n = 0; + + while ((digit = ConvertDigit(m_buffer[m_pos], radix)) != -1) + { + if (n < cutoff || (n == cutoff && (unsigned long)digit <= cutoffRemainder)) + { + n = n * radix + digit; + } + else + { + m_pos++; + + while (ConvertDigit(m_buffer[m_pos], radix) != -1) + m_pos++; + + RaiseError("integer is too large (%s)", std::string(&m_buffer[startPos], m_pos - startPos).c_str()); + } + + m_pos++; + } + + return true; +} + +// Asserts that the rest of the line is empty and moves to the next one. +void SymFile::ExpectEmptyRestOfLine() +{ + SkipWhitespace(); + + if (m_buffer[m_pos] == 0) + { + if (m_pos >= m_size) + RaiseWarning("file doesn't end with newline"); + else + RaiseError("unexpected null character"); + } + else if (m_buffer[m_pos] == '\n') + { + m_pos++; + m_lineStart = m_pos; + m_lineNum++; + } + else if (m_buffer[m_pos] == '\r') + { + RaiseError("only Unix-style LF newlines are supported"); + } + else + { + RaiseError("junk at end of line"); + } +} + + +void SymFile::SkipLine() +{ + while (m_buffer[m_pos] != 0 && m_buffer[m_pos] != '\n') + m_pos++; + + if (m_buffer[m_pos] == '\n') + m_pos++; +} + +// Checks if we're at the end of the file. +bool SymFile::IsAtEnd() +{ + return (m_pos >= m_size); +} + +void SymFile::HandleLangConditional(std::string lang) +{ + if (m_buffer[m_pos] != '#') + return; + + m_pos++; + + if (CheckForDirective("begin")) + { + if (m_inLangConditional) + RaiseError("already inside language conditional"); + + SkipWhitespace(); + + std::string label = GetLabel(false); + + if (label.length() == 0) + RaiseError("no language name after #begin"); + + ExpectEmptyRestOfLine(); + + if (lang == label) + { + m_inLangConditional = true; + } + else + { + while (!IsAtEnd() && m_buffer[m_pos] != '#') + SkipLine(); + + if (m_buffer[m_pos] != '#') + RaiseError("unterminated language conditional"); + + m_pos++; + + if (!CheckForDirective("end")) + RaiseError("expected #end"); + + ExpectEmptyRestOfLine(); + } + } + else if (CheckForDirective("end")) + { + if (!m_inLangConditional) + RaiseError("not inside language conditional"); + + m_inLangConditional = false; + + ExpectEmptyRestOfLine(); + } + else + { + RaiseError("unknown # directive"); + } +} + +// Reports a diagnostic message. +void SymFile::ReportDiagnostic(const char* type, const char* format, std::va_list args) +{ + const int bufferSize = 1024; + char buffer[bufferSize]; + std::vsnprintf(buffer, bufferSize, format, args); + std::fprintf(stderr, "%s:%ld: %s: %s\n", m_filename.c_str(), m_lineNum, type, buffer); +} + +#define DO_REPORT(type) \ +do \ +{ \ + std::va_list args; \ + va_start(args, format); \ + ReportDiagnostic(type, format, args); \ + va_end(args); \ +} while (0) + +// Reports an error diagnostic and terminates the program. +void SymFile::RaiseError(const char* format, ...) +{ + DO_REPORT("error"); + std::exit(1); +} + +// Reports a warning diagnostic. +void SymFile::RaiseWarning(const char* format, ...) +{ + DO_REPORT("warning"); +} diff --git a/tools/ramscrgen/sym_file.h b/tools/ramscrgen/sym_file.h new file mode 100644 index 000000000..bb0c8038d --- /dev/null +++ b/tools/ramscrgen/sym_file.h @@ -0,0 +1,71 @@ +// Copyright(c) 2016 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. + +#ifndef SYM_FILE_H +#define SYM_FILE_H + +#include <cstdarg> +#include <cstdint> +#include <string> +#include "ramscrgen.h" + +enum class Directive +{ + Include, + Space, + Align, + Unknown +}; + +class SymFile +{ +public: + SymFile(std::string filename); + SymFile(SymFile&& other); + SymFile(const SymFile&) = delete; + ~SymFile(); + Directive GetDirective(); + std::string GetLabel(bool requireColon = true); + std::string ReadPath(); + bool ReadInteger(unsigned long& value); + void ExpectEmptyRestOfLine(); + void SkipLine(); + bool IsAtEnd(); + void HandleLangConditional(std::string lang); + void RaiseError(const char* format, ...); + void RaiseWarning(const char* format, ...); + +private: + char* m_buffer; + long m_pos; + long m_size; + long m_lineNum; + long m_lineStart; + std::string m_filename; + bool m_inLangConditional; + + bool ConsumeComma(); + void RemoveComments(); + bool CheckForDirective(std::string name); + void SkipWhitespace(); + void ReportDiagnostic(const char* type, const char* format, std::va_list args); +}; + +#endif // SYM_FILE_H diff --git a/tools/rsfont/.gitignore b/tools/rsfont/.gitignore new file mode 100644 index 000000000..3140ececc --- /dev/null +++ b/tools/rsfont/.gitignore @@ -0,0 +1 @@ +rsfont diff --git a/tools/rsfont/LICENSE b/tools/rsfont/LICENSE new file mode 100644 index 000000000..b497950c1 --- /dev/null +++ b/tools/rsfont/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2015-2016 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/rsfont/Makefile b/tools/rsfont/Makefile new file mode 100644 index 000000000..582be7b88 --- /dev/null +++ b/tools/rsfont/Makefile @@ -0,0 +1,15 @@ +CC = gcc + +CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -DPNG_SKIP_SETJMP_CHECK + +LIBS = -lpng -lz + +SRCS = main.c convert_png.c util.c font.c + +.PHONY: clean + +rsfont: $(SRCS) convert_png.h gfx.h global.h util.h font.h + $(CC) $(CFLAGS) $(SRCS) -o $@ $(LDFLAGS) $(LIBS) + +clean: + $(RM) rsfont rsfont.exe diff --git a/tools/rsfont/convert_png.c b/tools/rsfont/convert_png.c new file mode 100644 index 000000000..f6a30804a --- /dev/null +++ b/tools/rsfont/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/rsfont/convert_png.h b/tools/rsfont/convert_png.h new file mode 100644 index 000000000..55d3d6942 --- /dev/null +++ b/tools/rsfont/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/rsfont/font.c b/tools/rsfont/font.c new file mode 100644 index 000000000..ed48b31e6 --- /dev/null +++ b/tools/rsfont/font.c @@ -0,0 +1,455 @@ +// Copyright(c) 2015-2016 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. + +#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] = +{ + {0xFF, 0xFF, 0xFF}, // bg (white) + {0x38, 0x38, 0x38}, // fg (dark grey) + {0xD8, 0xD8, 0xD8}, // shadow (light grey) +}; + +void ConvertFromTiles1Bpp(unsigned char *src, unsigned char *dest, int numGlyphs, int layout) +{ + for (int glyph = 0; glyph < numGlyphs; glyph++) + { + if (layout == 0) + { + for (int i = 0; i < 8; i++) + { + uint8_t srcRow = src[(glyph * 8) + i]; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 8) + i; + dest[(y * 128) + x] = (srcRow >> (7 - j)) & 1; + } + } + } + else + { + // layout type 1 + + int tile1Offset = glyph * 16; + int tile2Offset = tile1Offset + 8; + + for (int i = 0; i < 8; i++) + { + uint8_t srcRow = src[tile1Offset + i]; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 16) + i; + dest[(y * 128) + x] = (srcRow >> (7 - j)) & 1; + } + } + + for (int i = 0; i < 8; i++) + { + uint8_t srcRow = src[tile2Offset + i]; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 16) + 8 + i; + dest[(y * 128) + x] = (srcRow >> (7 - j)) & 1; + } + } + } + } +} + +void ConvertToTiles1Bpp(unsigned char *src, unsigned char *dest, int numGlyphs, int layout) +{ + for (int glyph = 0; glyph < numGlyphs; glyph++) + { + if (layout == 0) + { + for (int i = 0; i < 8; i++) + { + uint8_t destRow = 0; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 8) + i; + unsigned char color = src[(y * 128) + x]; + + if (color > 1) + FATAL_ERROR("More than 2 colors in 1 BPP font.\n"); + + destRow <<= 1; + destRow |= color; + } + + dest[(glyph * 8) + i] = destRow; + } + } + else + { + // layout type 1 + + int tile1Offset = glyph * 16; + int tile2Offset = tile1Offset + 8; + + for (int i = 0; i < 8; i++) + { + uint8_t destRow = 0; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 16) + i; + unsigned char color = src[(y * 128) + x]; + + if (color > 1) + FATAL_ERROR("More than 2 colors in 1 BPP font.\n"); + + destRow <<= 1; + destRow |= color; + } + + dest[tile1Offset + i] = destRow; + } + + for (int i = 0; i < 8; i++) + { + uint8_t destRow = 0; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 16) + 8 + i; + unsigned char color = src[(y * 128) + x]; + + if (color > 1) + FATAL_ERROR("More than 2 colors in 1 BPP font.\n"); + + destRow <<= 1; + destRow |= color; + } + + dest[tile2Offset + i] = destRow; + } + } + } +} + +void ConvertFromTiles4Bpp(unsigned char *src, unsigned char *dest, int numGlyphs, int layout) +{ + static unsigned char table[16] = + { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, + }; + + for (int glyph = 0; glyph < numGlyphs; glyph++) + { + if (layout == 0) + { + int offset = glyph * 32; + + for (int i = 0; i < 8; i++) + { + uint32_t srcRow = (src[offset + 3] << 24) + | (src[offset + 2] << 16) + | (src[offset + 1] << 8) + | src[offset]; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 8) + i; + dest[(y * 128) + x] = table[srcRow & 0xF]; + srcRow >>= 4; + } + + offset += 4; + } + } + else + { + int tile1Offset; + int tile2Offset; + + if (layout == 1) + { + tile1Offset = glyph * 64; + tile2Offset = tile1Offset + 32; + } + else + { + tile1Offset = ((glyph / 16) * 1024) + ((glyph % 16) * 32); + tile2Offset = tile1Offset + 512; + } + + for (int i = 0; i < 8; i++) + { + uint32_t srcRow = (src[tile1Offset + 3] << 24) + | (src[tile1Offset + 2] << 16) + | (src[tile1Offset + 1] << 8) + | src[tile1Offset]; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 16) + i; + dest[(y * 128) + x] = table[srcRow & 0xF]; + srcRow >>= 4; + } + + tile1Offset += 4; + } + + for (int i = 0; i < 8; i++) + { + uint32_t srcRow = (src[tile2Offset + 3] << 24) + | (src[tile2Offset + 2] << 16) + | (src[tile2Offset + 1] << 8) + | src[tile2Offset]; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 16) + 8 + i; + dest[(y * 128) + x] = table[srcRow & 0xF]; + srcRow >>= 4; + } + + tile2Offset += 4; + } + } + } +} + +void ConvertToTiles4Bpp(unsigned char *src, unsigned char *dest, int numGlyphs, int layout) +{ + static unsigned char table[3] = + { + 0, 15, 14, + }; + + for (int glyph = 0; glyph < numGlyphs; glyph++) + { + if (layout == 0) + { + int offset = glyph * 32; + + for (int i = 0; i < 8; i++) + { + uint32_t destRow = 0; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 8) + i; + unsigned char color = src[(y * 128) + x]; + + if (color > 2) + FATAL_ERROR("More than 3 colors in 4 BPP font.\n"); + + destRow >>= 4; + destRow |= (table[color] << 28); + } + + dest[offset] = destRow & 0xFF; + dest[offset + 1] = (destRow >> 8) & 0xFF; + dest[offset + 2] = (destRow >> 16) & 0xFF; + dest[offset + 3] = (destRow >> 24) & 0xFF; + + offset += 4; + } + } + else + { + int tile1Offset; + int tile2Offset; + + if (layout == 1) + { + tile1Offset = glyph * 64; + tile2Offset = tile1Offset + 32; + } + else + { + tile1Offset = ((glyph / 16) * 1024) + ((glyph % 16) * 32); + tile2Offset = tile1Offset + 512; + } + + for (int i = 0; i < 8; i++) + { + uint32_t destRow = 0; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 16) + i; + unsigned char color = src[(y * 128) + x]; + + if (color > 2) + FATAL_ERROR("More than 3 colors in 4 BPP font.\n"); + + destRow >>= 4; + destRow |= (table[color] << 28); + } + + dest[tile1Offset] = destRow & 0xFF; + dest[tile1Offset + 1] = (destRow >> 8) & 0xFF; + dest[tile1Offset + 2] = (destRow >> 16) & 0xFF; + dest[tile1Offset + 3] = (destRow >> 24) & 0xFF; + + tile1Offset += 4; + } + + for (int i = 0; i < 8; i++) + { + uint32_t destRow = 0; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 16) + 8 + i; + unsigned char color = src[(y * 128) + x]; + + if (color > 2) + FATAL_ERROR("More than 3 colors in 4 BPP font.\n"); + + destRow >>= 4; + destRow |= (table[color] << 28); + } + + dest[tile2Offset] = destRow & 0xFF; + dest[tile2Offset + 1] = (destRow >> 8) & 0xFF; + dest[tile2Offset + 2] = (destRow >> 16) & 0xFF; + dest[tile2Offset + 3] = (destRow >> 24) & 0xFF; + + tile2Offset += 4; + } + } + } +} + +static void SetFontPalette(struct Image *image) +{ + image->hasPalette = true; + + image->palette.numColors = 3; + + 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; +} + +int CalcFileSize(int numGlyphs, int bpp, int layout) +{ + if (layout == 2) + { + // assume 4 BPP + int numFullRows = numGlyphs / 16; + int remainder = numGlyphs % 16; + int fullRowsSize = numFullRows * 1024; + int remainderSize = 0; + + if (remainder != 0) + remainderSize = 1024 - (16 - remainder) * 32; + + return fullRowsSize + remainderSize; + } + else + { + int tilesPerGlyph = layout > 0 ? 2 : 1; + int bytesPerTile = 8 * bpp; + return numGlyphs * tilesPerGlyph * bytesPerTile; + } +} + +void ReadFont(char *path, struct Image *image, int numGlyphs, int bpp, int layout) +{ + int fileSize; + unsigned char *buffer = ReadWholeFile(path, &fileSize); + + int expectedFileSize = CalcFileSize(numGlyphs, bpp, layout); + + if (fileSize != expectedFileSize) + FATAL_ERROR("The file size is %d but should be %d.\n", fileSize, expectedFileSize); + + int numRows = (numGlyphs + 15) / 16; + int rowHeight = layout > 0 ? 16 : 8; + + image->width = 128; + image->height = numRows * rowHeight; + image->bitDepth = 8; + image->pixels = calloc(image->width * image->height, 1); + + if (image->pixels == NULL) + FATAL_ERROR("Failed to allocate memory for font.\n"); + + if (bpp == 1) + ConvertFromTiles1Bpp(buffer, image->pixels, numGlyphs, layout); + else + ConvertFromTiles4Bpp(buffer, image->pixels, numGlyphs, layout); + + free(buffer); + + SetFontPalette(image); +} + +void WriteFont(char *path, struct Image *image, int numGlyphs, int bpp, int layout) +{ + if (image->width != 128) + FATAL_ERROR("The width of the font image (%d) is not 128.\n", image->width); + + int numRows = (numGlyphs + 15) / 16; + int rowHeight = layout > 0 ? 16 : 8; + int expectedHeight = numRows * rowHeight; + + if (image->height < expectedHeight) + FATAL_ERROR("The height of the font image (%d) is less than %d.\n", image->height, expectedHeight); + + int fileSize = CalcFileSize(numGlyphs, bpp, layout); + + unsigned char *buffer = calloc(fileSize, 1); + + if (buffer == NULL) + FATAL_ERROR("Failed to allocate memory for font.\n"); + + if (bpp == 1) + ConvertToTiles1Bpp(image->pixels, buffer, numGlyphs, layout); + else + ConvertToTiles4Bpp(image->pixels, buffer, numGlyphs, layout); + + WriteWholeFile(path, buffer, fileSize); + + free(buffer); +} diff --git a/tools/rsfont/font.h b/tools/rsfont/font.h new file mode 100644 index 000000000..1cd48757f --- /dev/null +++ b/tools/rsfont/font.h @@ -0,0 +1,30 @@ +// Copyright(c) 2015-2016 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. + +#ifndef FONT_H +#define FONT_H + +#include <stdbool.h> +#include "gfx.h" + +void ReadFont(char *path, struct Image *image, int numGlyphs, int bpp, int layout); +void WriteFont(char *path, struct Image *image, int numGlyphs, int bpp, int layout); + +#endif // FONT_H diff --git a/tools/rsfont/gfx.h b/tools/rsfont/gfx.h new file mode 100644 index 000000000..04a3d80c7 --- /dev/null +++ b/tools/rsfont/gfx.h @@ -0,0 +1,50 @@ +// Copyright(c) 2015-2016 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. + +#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; +}; + +#endif // GFX_H diff --git a/tools/rsfont/global.h b/tools/rsfont/global.h new file mode 100644 index 000000000..65dd351d2 --- /dev/null +++ b/tools/rsfont/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/rsfont/main.c b/tools/rsfont/main.c new file mode 100644 index 000000000..2f5d9d971 --- /dev/null +++ b/tools/rsfont/main.c @@ -0,0 +1,93 @@ +// Copyright(c) 2015-2016 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. + +#include <stdio.h> +#include <string.h> +#include <stdbool.h> +#include "global.h" +#include "util.h" +#include "gfx.h" +#include "convert_png.h" +#include "font.h" + +int ExtensionToBpp(const char *extension) +{ + if (!strcmp(extension, "1bpp")) + return 1; + else if (!strcmp(extension, "4bpp")) + return 4; + return 0; +} + +int main(int argc, char **argv) +{ + if (argc < 5) + FATAL_ERROR("Usage: rsfont INPUT_FILE OUTPUT_FILE NUM_GLYPHS LAYOUT_TYPE\n"); + + 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); + + int numGlyphs; + int bpp; + int layout; + + if (!ParseNumber(argv[3], NULL, 10, &numGlyphs)) + FATAL_ERROR("Failed to parse number of glyphs.\n"); + + if (!ParseNumber(argv[4], NULL, 10, &layout)) + FATAL_ERROR("Failed to parse layout type.\n"); + + if (layout < 0 || layout > 2) + FATAL_ERROR("Layout type %d is invalid. Layout type must be 0, 1, or 2.\n", layout); + + bool toPng; + + if (!strcmp(inputFileExtension, "png") && (bpp = ExtensionToBpp(outputFileExtension)) != 0) + toPng = false; + else if ((bpp = ExtensionToBpp(inputFileExtension)) != 0 && !strcmp(outputFileExtension, "png")) + toPng = true; + else + FATAL_ERROR("Don't know how to convert \"%s\" to \"%s\".\n", inputPath, outputPath); + + if (bpp == 1 && layout == 2) + FATAL_ERROR("Layout type 2 is not supported with 1 BPP fonts.\n"); + + struct Image image; + + if (toPng) + { + ReadFont(inputPath, &image, numGlyphs, bpp, layout); + WritePng(outputPath, &image); + } + else + { + image.bitDepth = 8; + ReadPng(inputPath, &image); + WriteFont(outputPath, &image, numGlyphs, bpp, layout); + } +} diff --git a/tools/rsfont/util.c b/tools/rsfont/util.c new file mode 100644 index 000000000..87abeb31c --- /dev/null +++ b/tools/rsfont/util.c @@ -0,0 +1,124 @@ +// 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; +} + +unsigned char *ReadWholeFileZeroPadded(char *path, int *size, int padAmount) +{ + 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 = calloc(*size + padAmount, 1); + + 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/rsfont/util.h b/tools/rsfont/util.h new file mode 100644 index 000000000..6d7a9c21e --- /dev/null +++ b/tools/rsfont/util.h @@ -0,0 +1,14 @@ +// 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); +unsigned char *ReadWholeFileZeroPadded(char *path, int *size, int padAmount); +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..367a3350b --- /dev/null +++ b/tools/scaninc/Makefile @@ -0,0 +1,15 @@ +CXX = g++ + +CXXFLAGS = -Wall -Werror -std=c++11 -O2 + +SRCS = scaninc.cpp c_file.cpp asm_file.cpp + +HEADERS := scaninc.h asm_file.h c_file.h + +.PHONY: clean + +scaninc: $(SRCS) $(HEADERS) + $(CXX) $(CXXFLAGS) $(SRCS) -o $@ $(LDFLAGS) + +clean: + $(RM) scaninc scaninc.exe diff --git a/tools/scaninc/asm_file.cpp b/tools/scaninc/asm_file.cpp new file mode 100644 index 000000000..6322749e2 --- /dev/null +++ b/tools/scaninc/asm_file.cpp @@ -0,0 +1,191 @@ +// Copyright(c) 2015-2017 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. + +#include <cstdio> +#include <string> +#include "scaninc.h" +#include "asm_file.h" + +AsmFile::AsmFile(std::string path) +{ + m_path = path; + + FILE *fp = std::fopen(path.c_str(), "rb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for reading.\n", path.c_str()); + + std::fseek(fp, 0, SEEK_END); + + m_size = std::ftell(fp); + + m_buffer = new char[m_size]; + + std::rewind(fp); + + if (std::fread(m_buffer, m_size, 1, fp) != 1) + FATAL_ERROR("Failed to read \"%s\".\n", path.c_str()); + + std::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"); + + // Don't bother allowing any escape sequences. + if (c == '\\') + FATAL_INPUT_ERROR("unexpected escape in include string\n"); + + 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(); + } + } +} diff --git a/tools/scaninc/asm_file.h b/tools/scaninc/asm_file.h new file mode 100644 index 000000000..ad99b757e --- /dev/null +++ b/tools/scaninc/asm_file.h @@ -0,0 +1,119 @@ +// Copyright(c) 2015-2017 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. + +#ifndef ASM_FILE_H +#define ASM_FILE_H + +#include <string> +#include "scaninc.h" + +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(); +}; + +#endif // ASM_FILE_H diff --git a/tools/scaninc/c_file.cpp b/tools/scaninc/c_file.cpp new file mode 100644 index 000000000..d470f959d --- /dev/null +++ b/tools/scaninc/c_file.cpp @@ -0,0 +1,307 @@ +// Copyright(c) 2017 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. + +#include "c_file.h" + +CFile::CFile(std::string path) +{ + m_path = path; + + FILE *fp = std::fopen(path.c_str(), "rb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for reading.\n", path.c_str()); + + std::fseek(fp, 0, SEEK_END); + + m_size = std::ftell(fp); + + m_buffer = new char[m_size + 1]; + m_buffer[m_size] = 0; + + std::rewind(fp); + + if (std::fread(m_buffer, m_size, 1, fp) != 1) + FATAL_ERROR("Failed to read \"%s\".\n", path.c_str()); + + std::fclose(fp); + + m_pos = 0; + m_lineNum = 1; +} + +CFile::~CFile() +{ + delete[] m_buffer; +} + +void CFile::FindIncbins() +{ + char stringChar = 0; + + while (m_pos < m_size) + { + if (stringChar) + { + if (m_buffer[m_pos] == stringChar) + { + m_pos++; + stringChar = 0; + } + else if (m_buffer[m_pos] == '\\' && m_buffer[m_pos + 1] == stringChar) + { + m_pos += 2; + } + else + { + if (m_buffer[m_pos] == '\n') + m_lineNum++; + m_pos++; + } + } + else + { + SkipWhitespace(); + CheckInclude(); + CheckIncbin(); + + if (m_pos >= m_size) + break; + + char c = m_buffer[m_pos++]; + + if (c == '\n') + m_lineNum++; + else if (c == '"') + stringChar = '"'; + else if (c == '\'') + stringChar = '\''; + else if (c == 0) + FATAL_INPUT_ERROR("unexpected null character"); + } + } +} + +bool CFile::ConsumeHorizontalWhitespace() +{ + if (m_buffer[m_pos] == '\t' || m_buffer[m_pos] == ' ') + { + m_pos++; + return true; + } + + return false; +} + +bool CFile::ConsumeNewline() +{ + if (m_buffer[m_pos] == '\n') + { + m_pos++; + m_lineNum++; + return true; + } + + if (m_buffer[m_pos] == '\r' && m_buffer[m_pos + 1] == '\n') + { + m_pos += 2; + m_lineNum++; + return true; + } + + return false; +} + +bool CFile::ConsumeComment() +{ + if (m_buffer[m_pos] == '/' && m_buffer[m_pos + 1] == '*') + { + m_pos += 2; + while (m_buffer[m_pos] != '*' && m_buffer[m_pos + 1] != '/') + { + if (m_buffer[m_pos] == 0) + return false; + if (!ConsumeNewline()) + m_pos++; + } + m_pos += 2; + return true; + } + else if (m_buffer[m_pos] == '/' && m_buffer[m_pos + 1] == '/') + { + m_pos += 2; + while (!ConsumeNewline()) + { + if (m_buffer[m_pos] == 0) + return false; + m_pos++; + } + return true; + } + + return false; +} + +void CFile::SkipWhitespace() +{ + while (ConsumeHorizontalWhitespace() || ConsumeNewline() || ConsumeComment()) + ; +} + +bool CFile::CheckIdentifier(const std::string& ident) +{ + unsigned int i; + + for (i = 0; i < ident.length() && m_pos + i < (unsigned)m_size; i++) + if (ident[i] != m_buffer[m_pos + i]) + return false; + + return (i == ident.length()); +} + +void CFile::CheckInclude() +{ + if (m_buffer[m_pos] != '#') + return; + + std::string ident = "#include"; + + if (!CheckIdentifier(ident)) + { + return; + } + + m_pos += ident.length(); + + ConsumeHorizontalWhitespace(); + + std::string path = ReadPath(); + + if (!path.empty()) { + m_includes.emplace(path); + } +} + +void CFile::CheckIncbin() +{ + // Optimization: assume most lines are not incbins + if (!(m_buffer[m_pos+0] == 'I' + && m_buffer[m_pos+1] == 'N' + && m_buffer[m_pos+2] == 'C' + && m_buffer[m_pos+3] == 'B' + && m_buffer[m_pos+4] == 'I' + && m_buffer[m_pos+5] == 'N' + && m_buffer[m_pos+6] == '_')) + { + return; + } + + std::string idents[6] = { "INCBIN_S8", "INCBIN_U8", "INCBIN_S16", "INCBIN_U16", "INCBIN_S32", "INCBIN_U32" }; + int incbinType = -1; + + for (int i = 0; i < 6; i++) + { + if (CheckIdentifier(idents[i])) + { + incbinType = i; + break; + } + } + + if (incbinType == -1) + return; + + long oldPos = m_pos; + long oldLineNum = m_lineNum; + + m_pos += idents[incbinType].length(); + + SkipWhitespace(); + + if (m_buffer[m_pos] != '(') + { + m_pos = oldPos; + m_lineNum = oldLineNum; + return; + } + + m_pos++; + + while (true) + { + SkipWhitespace(); + + std::string path = ReadPath(); + + SkipWhitespace(); + + m_incbins.emplace(path); + + if (m_buffer[m_pos] != ',') + break; + + m_pos++; + } + + if (m_buffer[m_pos] != ')') + FATAL_INPUT_ERROR("expected ')'"); + + m_pos++; + +} + +std::string CFile::ReadPath() +{ + if (m_buffer[m_pos] != '"') + { + if (m_buffer[m_pos] == '<') + { + return std::string(); + } + FATAL_INPUT_ERROR("expected '\"' or '<'"); + } + + m_pos++; + + int startPos = m_pos; + + while (m_buffer[m_pos] != '"') + { + if (m_buffer[m_pos] == 0) + { + if (m_pos >= m_size) + FATAL_INPUT_ERROR("unexpected EOF in path string"); + else + FATAL_INPUT_ERROR("unexpected null character in path string"); + } + + if (m_buffer[m_pos] == '\r' || m_buffer[m_pos] == '\n') + FATAL_INPUT_ERROR("unexpected end of line character in path string"); + + if (m_buffer[m_pos] == '\\') + FATAL_INPUT_ERROR("unexpected escape in path string"); + + m_pos++; + } + + m_pos++; + + return std::string(m_buffer + startPos, m_pos - 1 - startPos); +} diff --git a/tools/scaninc/c_file.h b/tools/scaninc/c_file.h new file mode 100644 index 000000000..618901b85 --- /dev/null +++ b/tools/scaninc/c_file.h @@ -0,0 +1,57 @@ +// Copyright(c) 2017 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. + +#ifndef C_FILE_H +#define C_FILE_H + +#include <string> +#include <set> +#include <memory> +#include "scaninc.h" + +class CFile +{ +public: + CFile(std::string path); + ~CFile(); + void FindIncbins(); + const std::set<std::string>& GetIncbins() { return m_incbins; } + const std::set<std::string>& GetIncludes() { return m_includes; } + +private: + char *m_buffer; + int m_pos; + int m_size; + int m_lineNum; + std::string m_path; + std::set<std::string> m_incbins; + std::set<std::string> m_includes; + + bool ConsumeHorizontalWhitespace(); + bool ConsumeNewline(); + bool ConsumeComment(); + void SkipWhitespace(); + bool CheckIdentifier(const std::string& ident); + void CheckInclude(); + void CheckIncbin(); + std::string ReadPath(); +}; + +#endif // C_FILE_H diff --git a/tools/scaninc/scaninc.cpp b/tools/scaninc/scaninc.cpp new file mode 100644 index 000000000..3dc221479 --- /dev/null +++ b/tools/scaninc/scaninc.cpp @@ -0,0 +1,165 @@ +// Copyright(c) 2015-2017 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. + +#include <cstdio> +#include <cstdlib> +#include <list> +#include <queue> +#include <set> +#include <string> +#include "scaninc.h" +#include "asm_file.h" +#include "c_file.h" + +bool CanOpenFile(std::string path) +{ + FILE *fp = std::fopen(path.c_str(), "rb"); + + if (fp == NULL) + return false; + + std::fclose(fp); + return true; +} + +const char *const USAGE = "Usage: scaninc [-I INCLUDE_PATH] FILE_PATH\n"; + +int main(int argc, char **argv) +{ + std::queue<std::string> filesToProcess; + std::set<std::string> dependencies; + + std::list<std::string> includeDirs; + + argc--; + argv++; + + while (argc > 1) + { + std::string arg(argv[0]); + if (arg.substr(0, 2) == "-I") + { + std::string includeDir = arg.substr(2); + if (includeDir.empty()) + { + argc--; + argv++; + includeDir = std::string(argv[0]); + } + if (includeDir.back() != '/') + { + includeDir += '/'; + } + includeDirs.push_back(includeDir); + } + else + { + FATAL_ERROR(USAGE); + } + argc--; + argv++; + } + + if (argc != 1) { + FATAL_ERROR(USAGE); + } + + std::string initialPath(argv[0]); + + std::size_t pos = initialPath.find_last_of('.'); + + if (pos == std::string::npos) + FATAL_ERROR("no file extension in path \"%s\"\n", initialPath.c_str()); + + std::string extension = initialPath.substr(pos + 1); + + std::string srcDir(""); + std::size_t slash = initialPath.rfind('/'); + if (slash != std::string::npos) + { + srcDir = initialPath.substr(0, slash + 1); + } + includeDirs.push_back(srcDir); + + if (extension == "c" || extension == "h") + { + filesToProcess.push(initialPath); + + while (!filesToProcess.empty()) + { + CFile file(filesToProcess.front()); + filesToProcess.pop(); + + file.FindIncbins(); + for (auto incbin : file.GetIncbins()) + { + dependencies.insert(incbin); + } + for (auto include : file.GetIncludes()) + { + for (auto includeDir : includeDirs) + { + std::string path(includeDir + include); + if (CanOpenFile(path)) + { + bool inserted = dependencies.insert(path).second; + if (inserted) + { + filesToProcess.push(path); + } + break; + } + } + } + } + } + else if (extension == "s" || extension == "inc") + { + filesToProcess.push(initialPath); + + while (!filesToProcess.empty()) + { + AsmFile file(filesToProcess.front()); + + 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); + } + } + } + else + { + FATAL_ERROR("unknown extension \"%s\"\n", extension.c_str()); + } + + for (const std::string &path : dependencies) + { + std::printf("%s\n", path.c_str()); + } +} diff --git a/tools/scaninc/scaninc.h b/tools/scaninc/scaninc.h new file mode 100644 index 000000000..30cc9611c --- /dev/null +++ b/tools/scaninc/scaninc.h @@ -0,0 +1,59 @@ +// Copyright(c) 2015-2017 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. + +#ifndef SCANINC_H +#define SCANINC_H + +#include <cstdio> +#include <cstdlib> + +#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 + +#endif // SCANINC_H From a7ab82a948cdbbe30da4307d2245369980440bea Mon Sep 17 00:00:00 2001 From: PikalaxALT <pikalaxalt@gmail.com> Date: Fri, 21 Dec 2018 11:43:24 -0500 Subject: [PATCH 222/222] Guess a small struct in save block 2 --- asm/battle_2.s | 44 +++++------ asm/battle_controller_player.s | 12 +-- asm/battle_controllers.s | 16 ++-- asm/cable_club.s | 36 ++++----- asm/evolution_scene.s | 8 +- asm/field_fadetransition.s | 4 +- asm/help_system_812B1E0.s | 4 +- asm/link.s | 136 ++++++++++++++++----------------- asm/link_rfu_2.s | 64 ++++++++-------- asm/link_rfu_3.s | 52 ++++++------- asm/link_rfu_4.s | 8 +- asm/menu_helpers.s | 4 +- asm/overworld.s | 36 ++++----- asm/pokemon_summary_screen.s | 16 ++-- asm/reshow_battle_screen.s | 8 +- asm/start_menu.s | 4 +- asm/trade.s | 100 ++++++++++++------------ asm/trainer_card.s | 42 +++++----- asm/union_room_chat.s | 24 +++--- asm/unk_8147500.s | 4 +- asm/unk_8147AA8.s | 8 +- asm/unk_814B6F0.s | 8 +- asm/unk_814BB4C.s | 4 +- asm/unk_81507FC.s | 20 ++--- include/global.h | 49 +++++++++--- include/link.h | 2 - src/main.c | 4 +- src/mevent.c | 6 +- src/quest_log.c | 8 +- sym_common.txt | 4 +- 30 files changed, 379 insertions(+), 356 deletions(-) diff --git a/asm/battle_2.s b/asm/battle_2.s index b11014d6b..1ecfe6ad3 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -1004,7 +1004,7 @@ _08010590: movs r0, 0x1 strb r0, [r1] _080105BC: - ldr r0, _080105D0 @ =gUnknown_3003F3C + ldr r0, _080105D0 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 bne _080105C6 @@ -1014,7 +1014,7 @@ _080105C6: b _080108B8 .align 2, 0 _080105CC: .4byte gUnknown_2023E82 -_080105D0: .4byte gUnknown_3003F3C +_080105D0: .4byte gWirelessCommType _080105D4: ldr r2, _08010640 @ =gBattleTypeFlags ldr r1, [r2] @@ -1023,7 +1023,7 @@ _080105D4: ands r0, r6 cmp r0, 0 beq _08010658 - ldr r0, _08010644 @ =gUnknown_3003F64 + ldr r0, _08010644 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _080105EC @@ -1056,7 +1056,7 @@ _080105EC: ldr r0, _08010650 @ =gUnknown_2023E82 strb r6, [r0] _0801062A: - ldr r0, _08010654 @ =gUnknown_3003F3C + ldr r0, _08010654 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 bne _08010634 @@ -1068,11 +1068,11 @@ _08010634: b _080108B8 .align 2, 0 _08010640: .4byte gBattleTypeFlags -_08010644: .4byte gUnknown_3003F64 +_08010644: .4byte gReceivedRemoteLinkPlayers _08010648: .4byte gBattleStruct _0801064C: .4byte 0x00000185 _08010650: .4byte gUnknown_2023E82 -_08010654: .4byte gUnknown_3003F3C +_08010654: .4byte gWirelessCommType _08010658: movs r0, 0x4 orrs r1, r0 @@ -1515,7 +1515,7 @@ _08010A14: _08010A1E: b _08010B82 _08010A20: - ldr r0, _08010A58 @ =gUnknown_3003F64 + ldr r0, _08010A58 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _08010A2A @@ -1542,7 +1542,7 @@ _08010A36: strb r0, [r5] b _08010B82 .align 2, 0 -_08010A58: .4byte gUnknown_3003F64 +_08010A58: .4byte gReceivedRemoteLinkPlayers _08010A5C: bl GetBlockReceivedStatus movs r1, 0xF @@ -1628,7 +1628,7 @@ _08010AFC: bne _08010B82 movs r0, 0x3 strb r0, [r5] - ldr r0, _08010B20 @ =gUnknown_3003F3C + ldr r0, _08010B20 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _08010B24 @@ -1636,12 +1636,12 @@ _08010AFC: b _08010B82 .align 2, 0 _08010B1C: .4byte gPaletteFade -_08010B20: .4byte gUnknown_3003F3C +_08010B20: .4byte gWirelessCommType _08010B24: bl sub_800AAC0 b _08010B82 _08010B2A: - ldr r0, _08010B54 @ =gUnknown_3003F3C + ldr r0, _08010B54 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _08010B64 @@ -1661,12 +1661,12 @@ _08010B2A: bl SetMainCallback2 b _08010B82 .align 2, 0 -_08010B54: .4byte gUnknown_3003F3C +_08010B54: .4byte gWirelessCommType _08010B58: .4byte gBattleTypeFlags _08010B5C: .4byte gMain _08010B60: .4byte sub_800FE24 _08010B64: - ldr r0, _08010B90 @ =gUnknown_3003F64 + ldr r0, _08010B90 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _08010B82 @@ -1688,7 +1688,7 @@ _08010B82: pop {r0} bx r0 .align 2, 0 -_08010B90: .4byte gUnknown_3003F64 +_08010B90: .4byte gReceivedRemoteLinkPlayers _08010B94: .4byte gBattleTypeFlags _08010B98: .4byte gMain _08010B9C: .4byte sub_800FE24 @@ -1757,7 +1757,7 @@ _08010C18: movs r0, 0x1 strb r0, [r1] _08010C44: - ldr r0, _08010C58 @ =gUnknown_3003F3C + ldr r0, _08010C58 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 bne _08010C4E @@ -1767,9 +1767,9 @@ _08010C4E: b _080110F0 .align 2, 0 _08010C54: .4byte gUnknown_2023E82 -_08010C58: .4byte gUnknown_3003F3C +_08010C58: .4byte gWirelessCommType _08010C5C: - ldr r0, _08010CC0 @ =gUnknown_3003F64 + ldr r0, _08010CC0 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _08010C66 @@ -1805,7 +1805,7 @@ _08010C66: adds r0, 0x1 strb r0, [r1] _08010CAA: - ldr r0, _08010CD0 @ =gUnknown_3003F3C + ldr r0, _08010CD0 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 bne _08010CB4 @@ -1816,11 +1816,11 @@ _08010CB4: bl sub_80FCD74 b _080110F0 .align 2, 0 -_08010CC0: .4byte gUnknown_3003F64 +_08010CC0: .4byte gReceivedRemoteLinkPlayers _08010CC4: .4byte gBattleStruct _08010CC8: .4byte 0x00000185 _08010CCC: .4byte gUnknown_2023E82 -_08010CD0: .4byte gUnknown_3003F3C +_08010CD0: .4byte gWirelessCommType _08010CD4: bl GetBlockReceivedStatus movs r1, 0xF @@ -11647,7 +11647,7 @@ _08015B74: ands r0, r5 cmp r0, 0 beq _08015B86 - ldr r0, _08015BE4 @ =gUnknown_3003F64 + ldr r0, _08015BE4 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _08015BD4 @@ -11696,7 +11696,7 @@ _08015BD4: .align 2, 0 _08015BDC: .4byte gBattleTypeFlags _08015BE0: .4byte gPlayerParty -_08015BE4: .4byte gUnknown_3003F64 +_08015BE4: .4byte gReceivedRemoteLinkPlayers _08015BE8: .4byte gSpecialVar_Result _08015BEC: .4byte gUnknown_2023E8A _08015BF0: .4byte gMain diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s index 477f73144..4db1f94c3 100644 --- a/asm/battle_controller_player.s +++ b/asm/battle_controller_player.s @@ -2330,11 +2330,11 @@ _0802F600: thumb_func_start sub_802F610 sub_802F610: @ 802F610 push {lr} - ldr r0, _0802F64C @ =gUnknown_3003F3C + ldr r0, _0802F64C @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 bne _0802F664 - ldr r0, _0802F650 @ =gUnknown_3003F64 + ldr r0, _0802F650 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _0802F694 @@ -2356,8 +2356,8 @@ sub_802F610: @ 802F610 bl FreeAllWindowBuffers b _0802F694 .align 2, 0 -_0802F64C: .4byte gUnknown_3003F3C -_0802F650: .4byte gUnknown_3003F64 +_0802F64C: .4byte gWirelessCommType +_0802F650: .4byte gReceivedRemoteLinkPlayers _0802F654: .4byte gMain _0802F658: .4byte 0x00000439 _0802F65C: .4byte gUnknown_3004F80 @@ -2408,7 +2408,7 @@ sub_802F6A8: @ 802F6A8 ands r0, r1 cmp r0, 0 beq _0802F6FC - ldr r0, _0802F6D8 @ =gUnknown_3003F3C + ldr r0, _0802F6D8 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 bne _0802F6DC @@ -2417,7 +2417,7 @@ sub_802F6A8: @ 802F6A8 .align 2, 0 _0802F6D0: .4byte gPaletteFade _0802F6D4: .4byte gBattleTypeFlags -_0802F6D8: .4byte gUnknown_3003F3C +_0802F6D8: .4byte gWirelessCommType _0802F6DC: bl sub_800AB9C _0802F6E0: diff --git a/asm/battle_controllers.s b/asm/battle_controllers.s index 8ef9408a0..5d0921323 100644 --- a/asm/battle_controllers.s +++ b/asm/battle_controllers.s @@ -14,13 +14,13 @@ sub_800D230: @ 800D230 ands r0, r1 cmp r0, 0 beq _0800D262 - ldr r0, _0800D26C @ =gUnknown_3003F3C + ldr r0, _0800D26C @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _0800D24A bl sub_800B1F4 _0800D24A: - ldr r0, _0800D270 @ =gUnknown_3003F64 + ldr r0, _0800D270 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _0800D256 @@ -35,8 +35,8 @@ _0800D262: bx r0 .align 2, 0 _0800D268: .4byte gBattleTypeFlags -_0800D26C: .4byte gUnknown_3003F3C -_0800D270: .4byte gUnknown_3003F64 +_0800D26C: .4byte gWirelessCommType +_0800D270: .4byte gReceivedRemoteLinkPlayers _0800D274: .4byte sub_8081A90 thumb_func_end sub_800D230 @@ -1229,7 +1229,7 @@ _0800DBDE: ldrh r0, [r1, 0x1E] adds r0, 0x1 strh r0, [r1, 0x1E] - ldr r0, _0800DBF0 @ =gUnknown_3003F64 + ldr r0, _0800DBF0 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _0800DBEE @@ -1237,7 +1237,7 @@ _0800DBDE: _0800DBEE: b _0800DD1C .align 2, 0 -_0800DBF0: .4byte gUnknown_3003F64 +_0800DBF0: .4byte gReceivedRemoteLinkPlayers _0800DBF4: bl GetLinkPlayerCount_2 lsls r0, 24 @@ -1403,7 +1403,7 @@ sub_800DD28: @ 800DD28 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r0, _0800DD5C @ =gUnknown_3003F64 + ldr r0, _0800DD5C @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _0800DE28 @@ -1424,7 +1424,7 @@ sub_800DD28: @ 800DD28 mov r10, r0 b _0800DE1C .align 2, 0 -_0800DD5C: .4byte gUnknown_3003F64 +_0800DD5C: .4byte gReceivedRemoteLinkPlayers _0800DD60: .4byte gBattleTypeFlags _0800DD64: .4byte gLinkPlayers _0800DD68: .4byte 0x00002211 diff --git a/asm/cable_club.s b/asm/cable_club.s index 03b1e3497..45967283c 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -1034,7 +1034,7 @@ sub_8080F78: @ 8080F78 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r0, _08080FAC @ =gUnknown_3003F64 + ldr r0, _08080FAC @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _08080FA6 @@ -1055,7 +1055,7 @@ _08080FA6: pop {r0} bx r0 .align 2, 0 -_08080FAC: .4byte gUnknown_3003F64 +_08080FAC: .4byte gReceivedRemoteLinkPlayers _08080FB0: .4byte gTasks thumb_func_end sub_8080F78 @@ -1472,7 +1472,7 @@ sub_80812D8: @ 80812D8 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _08081308 @ =gUnknown_3003F64 + ldr r0, _08081308 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0x1 bne _08081300 @@ -1490,7 +1490,7 @@ _08081300: pop {r0} bx r0 .align 2, 0 -_08081308: .4byte gUnknown_3003F64 +_08081308: .4byte gReceivedRemoteLinkPlayers thumb_func_end sub_80812D8 thumb_func_start sub_808130C @@ -1567,7 +1567,7 @@ _0808139C: bl sub_800AAC0 b _080813AA _080813A2: - ldr r0, _080813B4 @ =gUnknown_3003F64 + ldr r0, _080813B4 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] _080813A6: cmp r0, 0 @@ -1578,7 +1578,7 @@ _080813AA: strh r0, [r4, 0x8] b _0808143A .align 2, 0 -_080813B4: .4byte gUnknown_3003F64 +_080813B4: .4byte gReceivedRemoteLinkPlayers _080813B8: ldr r0, _080813CC @ =gLinkPlayers ldr r0, [r0, 0x4] @@ -1936,7 +1936,7 @@ sub_8081668: @ 8081668 movs r5, 0x1 eors r0, r5 bl sub_80CD98C - ldr r0, _080816C0 @ =gUnknown_3003F3C + ldr r0, _080816C0 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _0808170A @@ -1952,7 +1952,7 @@ _080816B0: .4byte gBattleTypeFlags _080816B4: .4byte 0x0000ffdf _080816B8: .4byte gSpecialVar_0x8004 _080816BC: .4byte gUnknown_300502C -_080816C0: .4byte gUnknown_3003F3C +_080816C0: .4byte gWirelessCommType _080816C4: .4byte gUnknown_2023E8A _080816C8: ldr r4, _080816E8 @ =gLinkPlayers @@ -2207,7 +2207,7 @@ _080818B8: .align 2, 0 _080818C0: .4byte gUnknown_2031DA4 _080818C4: - ldr r0, _080818E0 @ =gUnknown_3003F64 + ldr r0, _080818E0 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _080818D8 @@ -2220,7 +2220,7 @@ _080818D8: pop {r0} bx r0 .align 2, 0 -_080818E0: .4byte gUnknown_3003F64 +_080818E0: .4byte gReceivedRemoteLinkPlayers _080818E4: .4byte sub_804C718 thumb_func_end sub_8081850 @@ -2299,7 +2299,7 @@ _08081970: thumb_func_start sub_8081978 sub_8081978: @ 8081978 push {lr} - ldr r0, _0808198C @ =gUnknown_3003F3C + ldr r0, _0808198C @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _08081994 @@ -2307,7 +2307,7 @@ sub_8081978: @ 8081978 bl sub_8081828 b _0808199A .align 2, 0 -_0808198C: .4byte gUnknown_3003F3C +_0808198C: .4byte gWirelessCommType _08081990: .4byte sub_80818E8 _08081994: ldr r0, _080819A0 @ =sub_8081850 @@ -2347,7 +2347,7 @@ sub_80819C8: @ 80819C8 ldr r2, _080819E8 @ =0x00002211 adds r0, r2, 0 strh r0, [r1] - ldr r0, _080819EC @ =gUnknown_3003F3C + ldr r0, _080819EC @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _080819F4 @@ -2357,7 +2357,7 @@ sub_80819C8: @ 80819C8 .align 2, 0 _080819E4: .4byte gLinkType _080819E8: .4byte 0x00002211 -_080819EC: .4byte gUnknown_3003F3C +_080819EC: .4byte gWirelessCommType _080819F0: .4byte sub_8081454 _080819F4: ldr r0, _08081A00 @ =sub_8081318 @@ -2465,7 +2465,7 @@ sub_8081A90: @ 8081A90 adds r0, r4, 0 bl DestroyTask _08081AC2: - ldr r0, _08081AE0 @ =gUnknown_3003F64 + ldr r0, _08081AE0 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _08081AD0 @@ -2478,7 +2478,7 @@ _08081AD0: .align 2, 0 _08081AD8: .4byte gTasks _08081ADC: .4byte c2_800ACD4 -_08081AE0: .4byte gUnknown_3003F64 +_08081AE0: .4byte gReceivedRemoteLinkPlayers thumb_func_end sub_8081A90 thumb_func_start sub_8081AE4 @@ -2486,7 +2486,7 @@ sub_8081AE4: @ 8081AE4 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _08081B04 @ =gUnknown_3003F64 + ldr r0, _08081B04 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _08081AFC @@ -2498,7 +2498,7 @@ _08081AFC: pop {r0} bx r0 .align 2, 0 -_08081B04: .4byte gUnknown_3003F64 +_08081B04: .4byte gReceivedRemoteLinkPlayers thumb_func_end sub_8081AE4 thumb_func_start sub_8081B08 diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s index f6f5a83e2..d343c68d4 100644 --- a/asm/evolution_scene.s +++ b/asm/evolution_scene.s @@ -839,7 +839,7 @@ _080CE4C0: .4byte gSprites _080CE4C4: .4byte nullsub_10 _080CE4C8: .4byte gMain _080CE4CC: - ldr r0, _080CE4FC @ =gUnknown_3003F3C + ldr r0, _080CE4FC @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _080CE4E0 @@ -864,7 +864,7 @@ _080CE4F4: strb r0, [r1] b _080CE534 .align 2, 0 -_080CE4FC: .4byte gUnknown_3003F3C +_080CE4FC: .4byte gWirelessCommType _080CE500: .4byte gMain _080CE504: movs r0, 0x1 @@ -3687,7 +3687,7 @@ _080CFDAC: beq _080CFDBA b _080D003A _080CFDBA: - ldr r0, _080CFE18 @ =gUnknown_3003F3C + ldr r0, _080CFE18 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _080CFDC6 @@ -3725,7 +3725,7 @@ _080CFDC6: b _080D003A .align 2, 0 _080CFE14: .4byte gPaletteFade -_080CFE18: .4byte gUnknown_3003F3C +_080CFE18: .4byte gWirelessCommType _080CFE1C: .4byte gPlayerParty _080CFE20: .4byte gTasks _080CFE24: .4byte gPlayerPartyCount diff --git a/asm/field_fadetransition.s b/asm/field_fadetransition.s index d0176941a..8ccc347e9 100644 --- a/asm/field_fadetransition.s +++ b/asm/field_fadetransition.s @@ -1490,7 +1490,7 @@ _0807E6D4: strh r0, [r4] b _0807E6F4 _0807E6DC: - ldr r0, _0807E6FC @ =gUnknown_3003F64 + ldr r0, _0807E6FC @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _0807E6F4 @@ -1504,7 +1504,7 @@ _0807E6F4: pop {r0} bx r0 .align 2, 0 -_0807E6FC: .4byte gUnknown_3003F64 +_0807E6FC: .4byte gReceivedRemoteLinkPlayers _0807E700: .4byte sub_805671C thumb_func_end sub_807E678 diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s index d254207a4..f9fb50cf7 100644 --- a/asm/help_system_812B1E0.s +++ b/asm/help_system_812B1E0.s @@ -357,14 +357,14 @@ _0812B458: .4byte gUnknown_203B0EE thumb_func_start sub_812B45C sub_812B45C: @ 812B45C push {lr} - ldr r0, _0812B46C @ =gUnknown_3003F64 + ldr r0, _0812B46C @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0x1 beq _0812B470 movs r0, 0x1 b _0812B472 .align 2, 0 -_0812B46C: .4byte gUnknown_3003F64 +_0812B46C: .4byte gReceivedRemoteLinkPlayers _0812B470: movs r0, 0 _0812B472: diff --git a/asm/link.s b/asm/link.s index 929180d83..a0ba7f9cb 100644 --- a/asm/link.s +++ b/asm/link.s @@ -434,7 +434,7 @@ _08009800: .4byte gUnknown_3003F84 thumb_func_start sub_8009804 sub_8009804: @ 8009804 push {r4-r6,lr} - ldr r0, _0800984C @ =gUnknown_3003F3C + ldr r0, _0800984C @ =gWirelessCommType ldrb r4, [r0] cmp r4, 0 bne _08009878 @@ -464,7 +464,7 @@ sub_8009804: @ 8009804 bl CreateTask b _0800987C .align 2, 0 -_0800984C: .4byte gUnknown_3003F3C +_0800984C: .4byte gWirelessCommType _08009850: .4byte gUnknown_3003F80 _08009854: .4byte sub_800A720 _08009858: .4byte gLinkVSyncDisabled @@ -478,7 +478,7 @@ _08009874: .4byte task02_080097CC _08009878: bl sub_80F86F4 _0800987C: - ldr r1, _080098A8 @ =gUnknown_3003F64 + ldr r1, _080098A8 @ =gReceivedRemoteLinkPlayers movs r0, 0 strb r0, [r1] movs r1, 0 @@ -501,7 +501,7 @@ _0800988E: pop {r0} bx r0 .align 2, 0 -_080098A8: .4byte gUnknown_3003F64 +_080098A8: .4byte gReceivedRemoteLinkPlayers _080098AC: .4byte gUnknown_3003EB8 _080098B0: .4byte gUnknown_3003F30 _080098B4: .4byte gUnknown_3003F2C @@ -510,10 +510,10 @@ _080098B4: .4byte gUnknown_3003F2C thumb_func_start sub_80098B8 sub_80098B8: @ 80098B8 push {r4,lr} - ldr r0, _080098DC @ =gUnknown_3003F64 + ldr r0, _080098DC @ =gReceivedRemoteLinkPlayers movs r4, 0 strb r4, [r0] - ldr r0, _080098E0 @ =gUnknown_3003F3C + ldr r0, _080098E0 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _080098CC @@ -526,8 +526,8 @@ _080098CC: pop {r0} bx r0 .align 2, 0 -_080098DC: .4byte gUnknown_3003F64 -_080098E0: .4byte gUnknown_3003F3C +_080098DC: .4byte gReceivedRemoteLinkPlayers +_080098E0: .4byte gWirelessCommType _080098E4: .4byte gLinkOpen thumb_func_end sub_80098B8 @@ -840,7 +840,7 @@ _08009B48: blt _08009B40 cmp r5, 0 bne _08009B64 - ldr r1, _08009B6C @ =gUnknown_3003F64 + ldr r1, _08009B6C @ =gReceivedRemoteLinkPlayers ldrb r0, [r1] cmp r0, 0 bne _08009B64 @@ -851,7 +851,7 @@ _08009B64: pop {r0} bx r0 .align 2, 0 -_08009B6C: .4byte gUnknown_3003F64 +_08009B6C: .4byte gReceivedRemoteLinkPlayers thumb_func_end HandleReceiveRemoteLinkPlayer thumb_func_start sub_8009B70 @@ -1429,7 +1429,7 @@ _08009FE4: .4byte gUnknown_3003F50 thumb_func_start sub_8009FE8 sub_8009FE8: @ 8009FE8 push {lr} - ldr r0, _0800A000 @ =gUnknown_3003F3C + ldr r0, _0800A000 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _08009FF6 @@ -1441,7 +1441,7 @@ _08009FF6: pop {r0} bx r0 .align 2, 0 -_0800A000: .4byte gUnknown_3003F3C +_0800A000: .4byte gWirelessCommType _0800A004: .4byte gUnknown_3003F80 _0800A008: .4byte sub_800A040 thumb_func_end sub_8009FE8 @@ -1449,14 +1449,14 @@ _0800A008: .4byte sub_800A040 thumb_func_start sub_800A00C sub_800A00C: @ 800A00C push {lr} - ldr r0, _0800A01C @ =gUnknown_3003F3C + ldr r0, _0800A01C @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _0800A020 bl sub_80F9808 b _0800A03A .align 2, 0 -_0800A01C: .4byte gUnknown_3003F3C +_0800A01C: .4byte gWirelessCommType _0800A020: ldr r0, _0800A030 @ =gUnknown_3003F80 ldr r1, [r0] @@ -1478,7 +1478,7 @@ _0800A03A: thumb_func_start sub_800A040 sub_800A040: @ 800A040 push {lr} - ldr r0, _0800A054 @ =gUnknown_3003F64 + ldr r0, _0800A054 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0x1 bne _0800A050 @@ -1488,7 +1488,7 @@ _0800A050: pop {r0} bx r0 .align 2, 0 -_0800A054: .4byte gUnknown_3003F64 +_0800A054: .4byte gReceivedRemoteLinkPlayers _0800A058: .4byte 0x0000cafe thumb_func_end sub_800A040 @@ -1505,14 +1505,14 @@ _0800A064: .4byte gUnknown_3003F80 thumb_func_start sub_800A068 sub_800A068: @ 800A068 push {lr} - ldr r0, _0800A078 @ =gUnknown_3003F3C + ldr r0, _0800A078 @ =gWirelessCommType ldrb r1, [r0] cmp r1, 0 beq _0800A07C bl sub_80F985C b _0800A080 .align 2, 0 -_0800A078: .4byte gUnknown_3003F3C +_0800A078: .4byte gWirelessCommType _0800A07C: ldr r0, _0800A084 @ =gUnknown_3003F80 str r1, [r0] @@ -1526,7 +1526,7 @@ _0800A084: .4byte gUnknown_3003F80 thumb_func_start GetLinkPlayerCount GetLinkPlayerCount: @ 800A088 push {lr} - ldr r0, _0800A0A0 @ =gUnknown_3003F3C + ldr r0, _0800A0A0 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 bne _0800A0A8 @@ -1537,7 +1537,7 @@ GetLinkPlayerCount: @ 800A088 lsrs r0, 2 b _0800A0B0 .align 2, 0 -_0800A0A0: .4byte gUnknown_3003F3C +_0800A0A0: .4byte gWirelessCommType _0800A0A4: .4byte gUnknown_3003F20 _0800A0A8: bl sub_80FA4EC @@ -1570,7 +1570,7 @@ sub_800A0D0: @ 800A0D0 adds r5, r0, 0 adds r6, r1, 0 movs r7, 0 - ldr r0, _0800A0F8 @ =gUnknown_3003F64 + ldr r0, _0800A0F8 @ =gReceivedRemoteLinkPlayers ldrb r4, [r0] cmp r4, 0x1 bne _0800A1C8 @@ -1587,7 +1587,7 @@ _0800A0F0: str r0, [r1] b _0800A1E2 .align 2, 0 -_0800A0F8: .4byte gUnknown_3003F64 +_0800A0F8: .4byte gReceivedRemoteLinkPlayers _0800A0FC: .4byte gUnknown_3000E54 _0800A100: bl GetLinkPlayerCount @@ -2012,7 +2012,7 @@ _0800A400: .4byte 0x0000aaaa thumb_func_start GetMultiplayerId GetMultiplayerId: @ 800A404 push {lr} - ldr r0, _0800A418 @ =gUnknown_3003F3C + ldr r0, _0800A418 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0x1 beq _0800A420 @@ -2022,7 +2022,7 @@ GetMultiplayerId: @ 800A404 lsrs r0, 30 b _0800A428 .align 2, 0 -_0800A418: .4byte gUnknown_3003F3C +_0800A418: .4byte gWirelessCommType _0800A41C: .4byte 0x04000128 _0800A420: bl rfu_get_multiplayer_id @@ -2056,7 +2056,7 @@ SendBlock: @ 800A448 adds r3, r1, 0 lsls r2, 16 lsrs r1, r2, 16 - ldr r0, _0800A460 @ =gUnknown_3003F3C + ldr r0, _0800A460 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0x1 beq _0800A464 @@ -2064,7 +2064,7 @@ SendBlock: @ 800A448 bl InitBlockSend b _0800A46A .align 2, 0 -_0800A460: .4byte gUnknown_3003F3C +_0800A460: .4byte gWirelessCommType _0800A464: adds r0, r3, 0 bl sub_80F9E60 @@ -2081,7 +2081,7 @@ sub_800A474: @ 800A474 lsls r0, 24 lsrs r1, r0, 24 adds r2, r1, 0 - ldr r0, _0800A490 @ =gUnknown_3003F3C + ldr r0, _0800A490 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0x1 bne _0800A494 @@ -2091,7 +2091,7 @@ sub_800A474: @ 800A474 lsrs r0, 24 b _0800A4B0 .align 2, 0 -_0800A490: .4byte gUnknown_3003F3C +_0800A490: .4byte gWirelessCommType _0800A494: ldr r0, _0800A4A0 @ =gUnknown_3003F80 ldr r0, [r0] @@ -2118,7 +2118,7 @@ _0800A4B8: .4byte 0x0000cccc thumb_func_start sub_800A4BC sub_800A4BC: @ 800A4BC push {lr} - ldr r0, _0800A4D0 @ =gUnknown_3003F3C + ldr r0, _0800A4D0 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0x1 bne _0800A4D4 @@ -2127,7 +2127,7 @@ sub_800A4BC: @ 800A4BC lsrs r0, 24 b _0800A4E2 .align 2, 0 -_0800A4D0: .4byte gUnknown_3003F3C +_0800A4D0: .4byte gWirelessCommType _0800A4D4: movs r1, 0 ldr r0, _0800A4E8 @ =gUnknown_3003F80 @@ -2147,7 +2147,7 @@ _0800A4E8: .4byte gUnknown_3003F80 thumb_func_start GetBlockReceivedStatus GetBlockReceivedStatus: @ 800A4EC push {lr} - ldr r0, _0800A510 @ =gUnknown_3003F3C + ldr r0, _0800A510 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0x1 beq _0800A518 @@ -2164,7 +2164,7 @@ GetBlockReceivedStatus: @ 800A4EC orrs r0, r1 b _0800A51C .align 2, 0 -_0800A510: .4byte gUnknown_3003F3C +_0800A510: .4byte gWirelessCommType _0800A514: .4byte gUnknown_3003EBC _0800A518: bl sub_80F9CC8 @@ -2180,7 +2180,7 @@ sub_800A524: @ 800A524 push {lr} lsls r0, 24 lsrs r1, r0, 24 - ldr r0, _0800A53C @ =gUnknown_3003F3C + ldr r0, _0800A53C @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0x1 bne _0800A540 @@ -2188,7 +2188,7 @@ sub_800A524: @ 800A524 bl sub_80F9720 b _0800A548 .align 2, 0 -_0800A53C: .4byte gUnknown_3003F3C +_0800A53C: .4byte gWirelessCommType _0800A540: ldr r0, _0800A54C @ =gUnknown_3003EBC adds r0, r1, r0 @@ -2204,7 +2204,7 @@ _0800A54C: .4byte gUnknown_3003EBC thumb_func_start ResetBlockReceivedFlags ResetBlockReceivedFlags: @ 800A550 push {r4,lr} - ldr r0, _0800A56C @ =gUnknown_3003F3C + ldr r0, _0800A56C @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0x1 bne _0800A570 @@ -2218,7 +2218,7 @@ _0800A55C: ble _0800A55C b _0800A57E .align 2, 0 -_0800A56C: .4byte gUnknown_3003F3C +_0800A56C: .4byte gWirelessCommType _0800A570: ldr r1, _0800A584 @ =gUnknown_3003EBC movs r2, 0 @@ -2241,7 +2241,7 @@ ResetBlockReceivedFlag: @ 800A588 push {lr} lsls r0, 24 lsrs r1, r0, 24 - ldr r0, _0800A5A0 @ =gUnknown_3003F3C + ldr r0, _0800A5A0 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0x1 bne _0800A5A4 @@ -2249,7 +2249,7 @@ ResetBlockReceivedFlag: @ 800A588 bl sub_80F974C b _0800A5B2 .align 2, 0 -_0800A5A0: .4byte gUnknown_3003F3C +_0800A5A0: .4byte gWirelessCommType _0800A5A4: ldr r0, _0800A5B8 @ =gUnknown_3003EBC adds r1, r0 @@ -2886,7 +2886,7 @@ _0800AA44: .4byte gUnknown_3003F20 thumb_func_start sub_800AA48 sub_800AA48: @ 800AA48 push {lr} - ldr r0, _0800AA60 @ =gUnknown_3003F3C + ldr r0, _0800AA60 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 bne _0800AA68 @@ -2897,7 +2897,7 @@ sub_800AA48: @ 800AA48 ands r0, r1 b _0800AA70 .align 2, 0 -_0800AA60: .4byte gUnknown_3003F3C +_0800AA60: .4byte gWirelessCommType _0800AA64: .4byte gUnknown_3003F20 _0800AA68: bl sub_80FBA2C @@ -2922,14 +2922,14 @@ sub_800AA80: @ 800AA80 push {lr} lsls r0, 16 lsrs r3, r0, 16 - ldr r0, _0800AA94 @ =gUnknown_3003F3C + ldr r0, _0800AA94 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0x1 bne _0800AA98 bl task_add_05_task_del_08FA224_when_no_RfuFunc b _0800AAAC .align 2, 0 -_0800AA94: .4byte gUnknown_3003F3C +_0800AA94: .4byte gWirelessCommType _0800AA98: ldr r2, _0800AAB0 @ =gUnknown_3003F80 ldr r1, [r2] @@ -2954,14 +2954,14 @@ _0800AABC: .4byte gUnknown_3003F34 thumb_func_start sub_800AAC0 sub_800AAC0: @ 800AAC0 push {lr} - ldr r0, _0800AAD0 @ =gUnknown_3003F3C + ldr r0, _0800AAD0 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0x1 bne _0800AAD4 bl task_add_05_task_del_08FA224_when_no_RfuFunc b _0800AAFC .align 2, 0 -_0800AAD0: .4byte gUnknown_3003F3C +_0800AAD0: .4byte gWirelessCommType _0800AAD4: ldr r2, _0800AAE8 @ =gUnknown_3003F80 ldr r1, [r2] @@ -3067,14 +3067,14 @@ _0800AB98: .4byte gUnknown_3003F24 thumb_func_start sub_800AB9C sub_800AB9C: @ 800AB9C push {lr} - ldr r0, _0800ABAC @ =gUnknown_3003F3C + ldr r0, _0800ABAC @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0x1 bne _0800ABB0 bl sub_80FA42C b _0800ABC2 .align 2, 0 -_0800ABAC: .4byte gUnknown_3003F3C +_0800ABAC: .4byte gWirelessCommType _0800ABB0: ldr r1, _0800ABC8 @ =gUnknown_3003F80 ldr r0, [r1] @@ -3253,7 +3253,7 @@ c2_800ACD4: @ 800ACD4 bl FillPalette bl ResetTasks bl remove_some_task - ldr r1, _0800ADF0 @ =gUnknown_3003F3C + ldr r1, _0800ADF0 @ =gWirelessCommType ldrb r0, [r1] cmp r0, 0 beq _0800AD30 @@ -3337,7 +3337,7 @@ _0800ADE0: .4byte gMPlayInfo_SE1 _0800ADE4: .4byte gMPlayInfo_SE2 _0800ADE8: .4byte gMPlayInfo_SE3 _0800ADEC: .4byte gHeap -_0800ADF0: .4byte gUnknown_3003F3C +_0800ADF0: .4byte gWirelessCommType _0800ADF4: .4byte sLinkErrorBuffer _0800ADF8: .4byte sub_800978C _0800ADFC: .4byte gUnknown_82345E8 @@ -3508,7 +3508,7 @@ _0800AF72: bl PlaySE b _0800AFC4 _0800AF7A: - ldr r0, _0800AF9C @ =gUnknown_3003F3C + ldr r0, _0800AF9C @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0x2 bne _0800AFA8 @@ -3525,7 +3525,7 @@ _0800AF7A: bl box_print b _0800AFC4 .align 2, 0 -_0800AF9C: .4byte gUnknown_3003F3C +_0800AF9C: .4byte gWirelessCommType _0800AFA0: .4byte gUnknown_8234610 _0800AFA4: .4byte gUnknown_841DF6B _0800AFA8: @@ -3550,7 +3550,7 @@ _0800AFC4: ldrb r1, [r1] cmp r1, 0xA0 bne _0800B03C - ldr r4, _0800B008 @ =gUnknown_3003F3C + ldr r4, _0800B008 @ =gWirelessCommType ldrb r2, [r4] cmp r2, 0x1 bne _0800B010 @@ -3572,7 +3572,7 @@ _0800AFC4: _0800AFFC: .4byte gUnknown_8234610 _0800B000: .4byte gUnknown_841DF4C _0800B004: .4byte gMain -_0800B008: .4byte gUnknown_3003F3C +_0800B008: .4byte gWirelessCommType _0800B00C: .4byte sLinkErrorBuffer _0800B010: cmp r2, 0x2 @@ -3773,7 +3773,7 @@ _0800B174: .4byte c2_800ACD4 thumb_func_start HandleLinkConnection HandleLinkConnection: @ 800B178 push {r4,r5,lr} - ldr r0, _0800B1B0 @ =gUnknown_3003F3C + ldr r0, _0800B1B0 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 bne _0800B1C8 @@ -3798,7 +3798,7 @@ _0800B1AA: movs r0, 0x1 b _0800B1EE .align 2, 0 -_0800B1B0: .4byte gUnknown_3003F3C +_0800B1B0: .4byte gWirelessCommType _0800B1B4: .4byte gUnknown_3003F84 _0800B1B8: .4byte gUnknown_3003F50 _0800B1BC: .4byte gUnknown_3003ED0 @@ -3830,59 +3830,59 @@ _0800B1EE: thumb_func_start sub_800B1F4 sub_800B1F4: @ 800B1F4 push {lr} - ldr r0, _0800B208 @ =gUnknown_3003F64 + ldr r0, _0800B208 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _0800B204 - ldr r1, _0800B20C @ =gUnknown_3003F3C + ldr r1, _0800B20C @ =gWirelessCommType movs r0, 0x1 strb r0, [r1] _0800B204: pop {r0} bx r0 .align 2, 0 -_0800B208: .4byte gUnknown_3003F64 -_0800B20C: .4byte gUnknown_3003F3C +_0800B208: .4byte gReceivedRemoteLinkPlayers +_0800B20C: .4byte gWirelessCommType thumb_func_end sub_800B1F4 thumb_func_start sub_800B210 sub_800B210: @ 800B210 push {lr} - ldr r0, _0800B224 @ =gUnknown_3003F64 + ldr r0, _0800B224 @ =gReceivedRemoteLinkPlayers ldrb r1, [r0] cmp r1, 0 bne _0800B21E - ldr r0, _0800B228 @ =gUnknown_3003F3C + ldr r0, _0800B228 @ =gWirelessCommType strb r1, [r0] _0800B21E: pop {r0} bx r0 .align 2, 0 -_0800B224: .4byte gUnknown_3003F64 -_0800B228: .4byte gUnknown_3003F3C +_0800B224: .4byte gReceivedRemoteLinkPlayers +_0800B228: .4byte gWirelessCommType thumb_func_end sub_800B210 thumb_func_start sub_800B22C sub_800B22C: @ 800B22C push {lr} - ldr r0, _0800B240 @ =gUnknown_3003F64 + ldr r0, _0800B240 @ =gReceivedRemoteLinkPlayers ldrb r1, [r0] cmp r1, 0 bne _0800B23A - ldr r0, _0800B244 @ =gUnknown_3003F3C + ldr r0, _0800B244 @ =gWirelessCommType strb r1, [r0] _0800B23A: pop {r0} bx r0 .align 2, 0 -_0800B240: .4byte gUnknown_3003F64 -_0800B244: .4byte gUnknown_3003F3C +_0800B240: .4byte gReceivedRemoteLinkPlayers +_0800B244: .4byte gWirelessCommType thumb_func_end sub_800B22C thumb_func_start sub_800B248 sub_800B248: @ 800B248 push {lr} - ldr r0, _0800B25C @ =gUnknown_3003F3C + ldr r0, _0800B25C @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 bne _0800B268 @@ -3892,7 +3892,7 @@ sub_800B248: @ 800B248 ldrb r0, [r0] b _0800B26C .align 2, 0 -_0800B25C: .4byte gUnknown_3003F3C +_0800B25C: .4byte gWirelessCommType _0800B260: .4byte gUnknown_3003FB0 _0800B264: .4byte 0x00000fbd _0800B268: diff --git a/asm/link_rfu_2.s b/asm/link_rfu_2.s index 0bfd71538..d36eeca20 100644 --- a/asm/link_rfu_2.s +++ b/asm/link_rfu_2.s @@ -1470,12 +1470,12 @@ _080F91B0: cmp r4, 0 bne _080F91CC bl sub_80F8DC0 - ldr r0, _080F91C8 @ =gUnknown_3003F64 + ldr r0, _080F91C8 @ =gReceivedRemoteLinkPlayers strb r4, [r0] b _080F91F6 .align 2, 0 _080F91C4: .4byte gUnknown_3005E10 -_080F91C8: .4byte gUnknown_3003F64 +_080F91C8: .4byte gReceivedRemoteLinkPlayers _080F91CC: bl sub_80F8FD4 ldr r0, _080F91E4 @ =gUnknown_3005450 @@ -1972,7 +1972,7 @@ _080F9538: bl sub_80FB9E4 _080F95B0: bl rfu_clearAllSlot - ldr r1, _080F9650 @ =gUnknown_3003F64 + ldr r1, _080F9650 @ =gReceivedRemoteLinkPlayers movs r0, 0 strb r0, [r1] ldr r0, _080F9644 @ =gUnknown_3005450 @@ -2043,7 +2043,7 @@ _080F9640: .4byte gUnknown_3005E10 _080F9644: .4byte gUnknown_3005450 _080F9648: .4byte 0x0000099c _080F964C: .4byte gUnknown_3007460 -_080F9650: .4byte gUnknown_3003F64 +_080F9650: .4byte gReceivedRemoteLinkPlayers _080F9654: .4byte 0x00000988 _080F9658: .4byte gUnknown_3003F50 thumb_func_end sub_80F9514 @@ -2240,7 +2240,7 @@ _080F97B4: .4byte 0x000008f6 thumb_func_start rfu_func_080F97B8 rfu_func_080F97B8: @ 80F97B8 push {lr} - ldr r0, _080F97F0 @ =gUnknown_3003F64 + ldr r0, _080F97F0 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _080F97EA @@ -2267,7 +2267,7 @@ _080F97EA: pop {r0} bx r0 .align 2, 0 -_080F97F0: .4byte gUnknown_3003F64 +_080F97F0: .4byte gReceivedRemoteLinkPlayers _080F97F4: .4byte gUnknown_3005028 _080F97F8: .4byte gLinkTransferringData _080F97FC: .4byte gUnknown_3001188 @@ -2429,7 +2429,7 @@ _080F9902: ldrb r0, [r4, 0xC] cmp r0, 0 bne _080F9914 - ldr r0, _080F9940 @ =gUnknown_3003F64 + ldr r0, _080F9940 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _080F9914 @@ -2457,7 +2457,7 @@ _080F9924: b _080F9BF8 .align 2, 0 _080F993C: .4byte gUnknown_3005450 -_080F9940: .4byte gUnknown_3003F64 +_080F9940: .4byte gReceivedRemoteLinkPlayers _080F9944: .4byte gUnknown_3007460 _080F9948: .4byte gUnknown_3003ED2 _080F994C: .4byte gUnknown_3003ED4 @@ -2606,7 +2606,7 @@ _080F9A4C: beq _080F9A6E b _080F9BF8 _080F9A6E: - ldr r0, _080F9A98 @ =gUnknown_3003F64 + ldr r0, _080F9A98 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _080F9A78 @@ -2625,7 +2625,7 @@ _080F9A88: .4byte gUnknown_3005450 _080F9A8C: .4byte gBlockRecvBuffer _080F9A90: .4byte gUnknown_3003ED0 _080F9A94: .4byte gUnknown_843EBD4 -_080F9A98: .4byte gUnknown_3003F64 +_080F9A98: .4byte gReceivedRemoteLinkPlayers _080F9A9C: ldr r2, _080F9AB8 @ =gUnknown_843EC64 ldr r3, _080F9ABC @ =gUnknown_3003ED2 @@ -2679,7 +2679,7 @@ _080F9B00: ldrb r2, [r7, 0xC] cmp r2, 0 bne _080F9B68 - ldr r3, _080F9B50 @ =gUnknown_3003F64 + ldr r3, _080F9B50 @ =gReceivedRemoteLinkPlayers ldrb r0, [r3] mov r6, r8 adds r6, 0x1 @@ -2713,7 +2713,7 @@ _080F9B38: b _080F9BF8 .align 2, 0 _080F9B4C: .4byte gUnknown_3005450 -_080F9B50: .4byte gUnknown_3003F64 +_080F9B50: .4byte gReceivedRemoteLinkPlayers _080F9B54: .4byte gUnknown_3003ED2 _080F9B58: .4byte gUnknown_3007460 _080F9B5C: .4byte gUnknown_3003ED4 @@ -3482,7 +3482,7 @@ sub_80FA114: @ 80FA114 push {lr} bl rfu_clearAllSlot bl sub_80FD52C - ldr r1, _080FA138 @ =gUnknown_3003F64 + ldr r1, _080FA138 @ =gReceivedRemoteLinkPlayers movs r0, 0 strb r0, [r1] ldr r2, _080FA13C @ =gUnknown_3005450 @@ -3495,7 +3495,7 @@ sub_80FA114: @ 80FA114 pop {r0} bx r0 .align 2, 0 -_080FA138: .4byte gUnknown_3003F64 +_080FA138: .4byte gReceivedRemoteLinkPlayers _080FA13C: .4byte gUnknown_3005450 thumb_func_end sub_80FA114 @@ -4515,7 +4515,7 @@ _080FA8B4: ldrb r0, [r5, 0xC] cmp r0, 0x1 bne _080FA8F4 - ldr r0, _080FA8CC @ =gUnknown_3003F64 + ldr r0, _080FA8CC @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _080FA8D0 @@ -4524,7 +4524,7 @@ _080FA8B4: bl sub_80F9D04 b _080FA8D8 .align 2, 0 -_080FA8CC: .4byte gUnknown_3003F64 +_080FA8CC: .4byte gReceivedRemoteLinkPlayers _080FA8D0: movs r0, 0xEE lsls r0, 7 @@ -4609,7 +4609,7 @@ _080FA968: .4byte gTasks _080FA96C: adds r0, r6, 0 bl DestroyTask - ldr r1, _080FA9C4 @ =gUnknown_3003F64 + ldr r1, _080FA9C4 @ =gReceivedRemoteLinkPlayers movs r0, 0x1 strb r0, [r1] movs r0, 0x9A @@ -4652,7 +4652,7 @@ _080FA9BC: pop {r0} bx r0 .align 2, 0 -_080FA9C4: .4byte gUnknown_3003F64 +_080FA9C4: .4byte gReceivedRemoteLinkPlayers _080FA9C8: .4byte 0x0000099e _080FA9CC: .4byte 0x0000099d thumb_func_end sub_80FA834 @@ -5123,7 +5123,7 @@ _080FAD66: bl sub_80FA9FC movs r0, 0 bl ResetBlockReceivedFlag - ldr r0, _080FAD94 @ =gUnknown_3003F64 + ldr r0, _080FAD94 @ =gReceivedRemoteLinkPlayers strb r4, [r0] adds r0, r5, 0 bl DestroyTask @@ -5133,7 +5133,7 @@ _080FAD8A: bx r0 .align 2, 0 _080FAD90: .4byte gBlockRecvBuffer -_080FAD94: .4byte gUnknown_3003F64 +_080FAD94: .4byte gReceivedRemoteLinkPlayers thumb_func_end sub_80FACF0 thumb_func_start sub_80FAD98 @@ -5155,7 +5155,7 @@ sub_80FAD98: @ 80FAD98 ldr r0, _080FAE1C @ =sub_814208C cmp r1, r0 bne _080FADC0 - ldr r1, _080FAE20 @ =gUnknown_3003F3C + ldr r1, _080FAE20 @ =gWirelessCommType movs r0, 0x2 strb r0, [r1] _080FADC0: @@ -5200,7 +5200,7 @@ _080FAE10: .4byte gUnknown_3005450 _080FAE14: .4byte gUnknown_3005E10 _080FAE18: .4byte gMain _080FAE1C: .4byte sub_814208C -_080FAE20: .4byte gUnknown_3003F3C +_080FAE20: .4byte gWirelessCommType _080FAE24: .4byte c2_800ACD4 _080FAE28: .4byte 0x0000069e _080FAE2C: .4byte 0x000008d2 @@ -5871,7 +5871,7 @@ _080FB2E4: bics r3, r2 adds r2, r3, 0 strb r2, [r1] - ldr r0, _080FB320 @ =gUnknown_3003F64 + ldr r0, _080FB320 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0x1 bne _080FB328 @@ -5884,7 +5884,7 @@ _080FB2E4: _080FB314: .4byte gUnknown_3005450 _080FB318: .4byte 0x0000099a _080FB31C: .4byte gUnknown_3005E10 -_080FB320: .4byte gUnknown_3003F64 +_080FB320: .4byte gReceivedRemoteLinkPlayers _080FB324: bl sub_80FB174 _080FB328: @@ -6101,7 +6101,7 @@ _080FB4BC: movs r1, 0x5 movs r2, 0x5 bl nullsub_87 - ldr r0, _080FB4E4 @ =gUnknown_3003F64 + ldr r0, _080FB4E4 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0x1 bne _080FB556 @@ -6112,7 +6112,7 @@ _080FB4BC: _080FB4D8: .4byte gUnknown_3005450 _080FB4DC: .4byte 0x0000093e _080FB4E0: .4byte gUnknown_843EDF8 -_080FB4E4: .4byte gUnknown_3003F64 +_080FB4E4: .4byte gReceivedRemoteLinkPlayers _080FB4E8: ldr r0, _080FB4FC @ =gUnknown_3005450 adds r0, 0xF0 @@ -6635,7 +6635,7 @@ _080FB8D8: ldrb r0, [r2, 0xC] cmp r0, 0x1 bne _080FB916 - ldr r0, _080FB904 @ =gUnknown_3003F64 + ldr r0, _080FB904 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0x1 bne _080FB934 @@ -6653,7 +6653,7 @@ _080FB8D8: b _080FB934 .align 2, 0 _080FB900: .4byte gUnknown_3005450 -_080FB904: .4byte gUnknown_3003F64 +_080FB904: .4byte gReceivedRemoteLinkPlayers _080FB908: .4byte 0x0000099a _080FB90C: .4byte gUnknown_3005E10 _080FB910: @@ -6665,7 +6665,7 @@ _080FB916: ldrb r0, [r0] cmp r0, 0x2 beq _080FB934 - ldr r0, _080FB968 @ =gUnknown_3003F64 + ldr r0, _080FB968 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0x1 bne _080FB934 @@ -6699,7 +6699,7 @@ _080FB95A: b _080FB9C2 .align 2, 0 _080FB964: .4byte 0x0000099c -_080FB968: .4byte gUnknown_3003F64 +_080FB968: .4byte gReceivedRemoteLinkPlayers _080FB96C: .4byte gUnknown_3007460 _080FB970: .4byte gUnknown_3005E10 _080FB974: .4byte sub_80F8B34 @@ -9926,7 +9926,7 @@ sub_80FD1A0: @ 80FD1A0 mov r5, r8 push {r5-r7} sub sp, 0x20 - ldr r0, _080FD1C4 @ =gUnknown_3003F3C + ldr r0, _080FD1C4 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 bne _080FD1B6 @@ -9938,7 +9938,7 @@ _080FD1B6: movs r4, 0 b _080FD22C .align 2, 0 -_080FD1C4: .4byte gUnknown_3003F3C +_080FD1C4: .4byte gWirelessCommType _080FD1C8: lsls r2, r4, 2 mov r0, sp diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index d9f172a81..c5947ebc0 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -1107,7 +1107,7 @@ _081161AC: strb r0, [r5, 0xC] b _081161D8 _081161BA: - ldr r0, _081161E0 @ =gUnknown_3003F64 + ldr r0, _081161E0 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _081161D8 @@ -1124,7 +1124,7 @@ _081161D8: pop {r0} bx r0 .align 2, 0 -_081161E0: .4byte gUnknown_3003F64 +_081161E0: .4byte gReceivedRemoteLinkPlayers thumb_func_end sub_8115A68 thumb_func_start sub_81161E4 @@ -2082,7 +2082,7 @@ _081169FC: .4byte gStringVar4 _08116A00: .4byte gUnknown_203B058 _08116A04: .4byte gStringVar1 _08116A08: - ldr r0, _08116A3C @ =gUnknown_3003F64 + ldr r0, _08116A3C @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _08116AA4 @@ -2108,7 +2108,7 @@ _08116A08: ldr r0, [r0] mov pc, r0 .align 2, 0 -_08116A3C: .4byte gUnknown_3003F64 +_08116A3C: .4byte gReceivedRemoteLinkPlayers _08116A40: .4byte gUnknown_203B058 _08116A44: .4byte _08116A48 .align 2, 0 @@ -4444,7 +4444,7 @@ _08117E64: strb r0, [r5, 0xC] b _08117ECA _08117E6A: - ldr r0, _08117E7C @ =gUnknown_3003F64 + ldr r0, _08117E7C @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _08117ECA @@ -4452,7 +4452,7 @@ _08117E6A: bl sub_80FAFE0 b _08117EB2 .align 2, 0 -_08117E7C: .4byte gUnknown_3003F64 +_08117E7C: .4byte gReceivedRemoteLinkPlayers _08117E80: ldrb r0, [r5, 0x12] movs r1, 0 @@ -4791,7 +4791,7 @@ _08118150: _08118184: .4byte gUnknown_8459238 _08118188: .4byte gStringVar1 _0811818C: - ldr r0, _081181C4 @ =gUnknown_3003F64 + ldr r0, _081181C4 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _081181AA @@ -4820,7 +4820,7 @@ _081181AA: blt _08118288 b _081181D0 .align 2, 0 -_081181C4: .4byte gUnknown_3003F64 +_081181C4: .4byte gReceivedRemoteLinkPlayers _081181C8: .4byte gUnknown_203B058 _081181CC: cmp r0, 0x6 @@ -5188,7 +5188,7 @@ _081184C8: _081184FC: .4byte gUnknown_845928C _08118500: .4byte gStringVar1 _08118504: - ldr r0, _0811853C @ =gUnknown_3003F64 + ldr r0, _0811853C @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _08118522 @@ -5217,7 +5217,7 @@ _08118522: blt _08118604 b _08118548 .align 2, 0 -_0811853C: .4byte gUnknown_3003F64 +_0811853C: .4byte gReceivedRemoteLinkPlayers _08118540: .4byte gUnknown_203B058 _08118544: cmp r0, 0x6 @@ -5941,7 +5941,7 @@ _08118BBC: movs r0, 0x40 strb r0, [r1] _08118BC2: - ldr r0, _08118BEC @ =gUnknown_3003F64 + ldr r0, _08118BEC @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _08118BCE @@ -5958,7 +5958,7 @@ _08118BCE: .align 2, 0 _08118BE4: .4byte gUnknown_8457F90 _08118BE8: .4byte gUnknown_203B058 -_08118BEC: .4byte gUnknown_3003F64 +_08118BEC: .4byte gReceivedRemoteLinkPlayers _08118BF0: .4byte gBlockSendBuffer _08118BF4: .4byte sub_8117280 _08118BF8: @@ -5985,7 +5985,7 @@ _08118C28: movs r0, 0x5 bl _081198DA _08118C2E: - ldr r0, _08118C54 @ =gUnknown_3003F64 + ldr r0, _08118C54 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _08118C3A @@ -6002,7 +6002,7 @@ _08118C3A: movs r0, 0x2 bl _081198DA .align 2, 0 -_08118C54: .4byte gUnknown_3003F64 +_08118C54: .4byte gReceivedRemoteLinkPlayers _08118C58: adds r0, r6, 0 adds r0, 0x16 @@ -6021,7 +6021,7 @@ _08118C58: bne _08118C7C bl _081198DC _08118C7C: - ldr r0, _08118C94 @ =gUnknown_3003F64 + ldr r0, _08118C94 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _08118C98 @@ -6030,7 +6030,7 @@ _08118C7C: .align 2, 0 _08118C8C: .4byte gUnknown_8456DF4 _08118C90: .4byte gUnknown_8456E1C -_08118C94: .4byte gUnknown_3003F64 +_08118C94: .4byte gReceivedRemoteLinkPlayers _08118C98: adds r1, r6, 0 adds r1, 0x84 @@ -6168,7 +6168,7 @@ _08118DAA: .align 2, 0 _08118DD0: .4byte gUnknown_203B06C _08118DD4: - ldr r0, _08118DEC @ =gUnknown_3003F64 + ldr r0, _08118DEC @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _08118DF8 @@ -6178,7 +6178,7 @@ _08118DD4: movs r0, 0x1C bl _081198DA .align 2, 0 -_08118DEC: .4byte gUnknown_3003F64 +_08118DEC: .4byte gReceivedRemoteLinkPlayers _08118DF0: .4byte gStringVar4 _08118DF4: .4byte gUnknown_8458434 _08118DF8: @@ -6481,7 +6481,7 @@ _08119088: movs r0, 0x1E bl sub_8118664 _08119096: - ldr r0, _081190AC @ =gUnknown_3003F64 + ldr r0, _081190AC @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _081190A2 @@ -6491,7 +6491,7 @@ _081190A2: bl _081198DA .align 2, 0 _081190A8: .4byte gUnknown_84585E8 -_081190AC: .4byte gUnknown_3003F64 +_081190AC: .4byte gReceivedRemoteLinkPlayers _081190B0: movs r0, 0x42 bl PlaySE @@ -6512,7 +6512,7 @@ _081190CA: movs r0, 0x2 bl _081198DA _081190DE: - ldr r0, _08119100 @ =gUnknown_3003F64 + ldr r0, _08119100 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _081190EA @@ -6527,7 +6527,7 @@ _081190EA: movs r0, 0x27 bl _081198DA .align 2, 0 -_08119100: .4byte gUnknown_3003F64 +_08119100: .4byte gReceivedRemoteLinkPlayers _08119104: .4byte gBlockSendBuffer _08119108: .4byte sub_8117280 _0811910C: @@ -6743,7 +6743,7 @@ _081192E0: movs r0, 0x24 b _081198DA _081192E8: - ldr r0, _08119318 @ =gUnknown_3003F64 + ldr r0, _08119318 @ =gReceivedRemoteLinkPlayers ldrb r4, [r0] cmp r4, 0 beq _081192F2 @@ -6767,7 +6767,7 @@ _081192F2: strh r4, [r0] b _081198DC .align 2, 0 -_08119318: .4byte gUnknown_3003F64 +_08119318: .4byte gReceivedRemoteLinkPlayers _0811931C: .4byte gUnknown_203B058 _08119320: .4byte gStringVar4 _08119324: @@ -13159,7 +13159,7 @@ _0811C4D8: .4byte gUnknown_203B08C _0811C4DC: .4byte gUnknown_841E58D _0811C4E0: .4byte c2_exit_to_overworld_2_switch _0811C4E4: - ldr r0, _0811C4FC @ =gUnknown_3003F64 + ldr r0, _0811C4FC @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _0811C516 @@ -13172,7 +13172,7 @@ _0811C4F2: strb r0, [r1] b _0811C516 .align 2, 0 -_0811C4FC: .4byte gUnknown_3003F64 +_0811C4FC: .4byte gReceivedRemoteLinkPlayers _0811C500: ldr r0, _0811C534 @ =gUnknown_203B08C ldr r0, [r0] diff --git a/asm/link_rfu_4.s b/asm/link_rfu_4.s index 1ec24a43c..dd9c498a4 100644 --- a/asm/link_rfu_4.s +++ b/asm/link_rfu_4.s @@ -1649,7 +1649,7 @@ _081430B2: strb r0, [r5, 0x8] b _081435C6 _081430B8: - ldr r0, _081430D0 @ =gUnknown_3003F64 + ldr r0, _081430D0 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _081430D4 @@ -1660,7 +1660,7 @@ _081430B8: bl mevent_srv_ish_do_init b _081435C6 .align 2, 0 -_081430D0: .4byte gUnknown_3003F64 +_081430D0: .4byte gReceivedRemoteLinkPlayers _081430D4: ldr r0, _081430E8 @ =gSpecialVar_Result ldrh r0, [r0] @@ -2160,7 +2160,7 @@ _08143492: strb r0, [r5, 0x8] b _081435C6 _0814349C: - ldr r0, _081434B0 @ =gUnknown_3003F64 + ldr r0, _081434B0 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _081434B4 @@ -2170,7 +2170,7 @@ _0814349C: strb r0, [r5, 0x8] b _081435C6 .align 2, 0 -_081434B0: .4byte gUnknown_3003F64 +_081434B0: .4byte gReceivedRemoteLinkPlayers _081434B4: ldr r0, _081434CC @ =gSpecialVar_Result ldrh r0, [r0] diff --git a/asm/menu_helpers.s b/asm/menu_helpers.s index c0e8f1333..3a0f709da 100644 --- a/asm/menu_helpers.s +++ b/asm/menu_helpers.s @@ -363,7 +363,7 @@ sub_80BF708: @ 80BF708 bl sub_805642C cmp r0, 0x1 beq _080BF71A - ldr r0, _080BF720 @ =gUnknown_3003F64 + ldr r0, _080BF720 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0x1 bne _080BF724 @@ -371,7 +371,7 @@ _080BF71A: movs r0, 0x1 b _080BF726 .align 2, 0 -_080BF720: .4byte gUnknown_3003F64 +_080BF720: .4byte gReceivedRemoteLinkPlayers _080BF724: movs r0, 0 _080BF726: diff --git a/asm/overworld.s b/asm/overworld.s index f1587d154..2b3ca139d 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -3727,7 +3727,7 @@ c2_8056854: @ 8056854 ldr r0, _08056878 @ =c1_link_related bl sub_80565E0 bl sub_80578D8 - ldr r0, _0805687C @ =gUnknown_3003F3C + ldr r0, _0805687C @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _08056888 @@ -3736,7 +3736,7 @@ c2_8056854: @ 8056854 b _0805688C .align 2, 0 _08056878: .4byte c1_link_related -_0805687C: .4byte gUnknown_3003F3C +_0805687C: .4byte gWirelessCommType _08056880: .4byte gUnknown_3005020 _08056884: .4byte sub_807DE58 _08056888: @@ -3892,7 +3892,7 @@ sub_80569BC: @ 80569BC bne _080569CE bl sub_80098B8 _080569CE: - ldr r0, _080569E4 @ =gUnknown_3003F3C + ldr r0, _080569E4 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _080569E8 @@ -3902,7 +3902,7 @@ _080569CE: bl DisableInterrupts b _080569F4 .align 2, 0 -_080569E4: .4byte gUnknown_3003F3C +_080569E4: .4byte gWirelessCommType _080569E8: movs r0, 0x2 bl DisableInterrupts @@ -4054,7 +4054,7 @@ _08056B36: bl cur_mapheader_run_tileset_funcs_after_some_cpuset b _08056B62 _08056B3C: - ldr r0, _08056B54 @ =gUnknown_3003F3C + ldr r0, _08056B54 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _08056B62 @@ -4064,7 +4064,7 @@ _08056B3C: bl sub_80FCD74 b _08056B62 .align 2, 0 -_08056B54: .4byte gUnknown_3003F3C +_08056B54: .4byte gWirelessCommType _08056B58: bl map_post_load_hook_exec lsls r0, 24 @@ -4385,7 +4385,7 @@ _08056E12: bl cur_mapheader_run_tileset_funcs_after_some_cpuset b _08056E3E _08056E18: - ldr r0, _08056E30 @ =gUnknown_3003F3C + ldr r0, _08056E30 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _08056E3E @@ -4395,7 +4395,7 @@ _08056E18: bl sub_80FCD74 b _08056E3E .align 2, 0 -_08056E30: .4byte gUnknown_3003F3C +_08056E30: .4byte gWirelessCommType _08056E34: bl map_post_load_hook_exec lsls r0, 24 @@ -5636,7 +5636,7 @@ _08057880: .4byte sub_805671C thumb_func_start c1_link_related c1_link_related: @ 8057884 push {r4,lr} - ldr r0, _080578C8 @ =gUnknown_3003F3C + ldr r0, _080578C8 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _0805789E @@ -5665,7 +5665,7 @@ _080578C0: pop {r0} bx r0 .align 2, 0 -_080578C8: .4byte gUnknown_3003F3C +_080578C8: .4byte gWirelessCommType _080578CC: .4byte gUnknown_300502C _080578D0: .4byte gUnknown_3003E60 _080578D4: .4byte gUnknown_3000E84 @@ -5710,7 +5710,7 @@ _0805790C: .4byte gUnknown_3000E84 thumb_func_start sub_8057910 sub_8057910: @ 8057910 push {lr} - ldr r0, _08057934 @ =gUnknown_3003F3C + ldr r0, _08057934 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _0805792E @@ -5727,7 +5727,7 @@ _0805792E: pop {r0} bx r0 .align 2, 0 -_08057934: .4byte gUnknown_3003F3C +_08057934: .4byte gWirelessCommType _08057938: .4byte gUnknown_3000E89 thumb_func_end sub_8057910 @@ -6137,7 +6137,7 @@ _08057C6C: movs r0, 0x11 strh r0, [r1] _08057C72: - ldr r0, _08057CB4 @ =gUnknown_3003F3C + ldr r0, _08057CB4 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _08057CA8 @@ -6168,7 +6168,7 @@ _08057CA8: bx r0 .align 2, 0 _08057CB0: .4byte gUnknown_3005028 -_08057CB4: .4byte gUnknown_3003F3C +_08057CB4: .4byte gWirelessCommType thumb_func_end sub_8057C4C thumb_func_start sub_8057CB8 @@ -7089,7 +7089,7 @@ _08058312: thumb_func_start sub_8058318 sub_8058318: @ 8058318 push {lr} - ldr r0, _08058330 @ =gUnknown_3003F3C + ldr r0, _08058330 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 bne _08058334 @@ -7099,7 +7099,7 @@ sub_8058318: @ 8058318 movs r0, 0x1 b _08058336 .align 2, 0 -_08058330: .4byte gUnknown_3003F3C +_08058330: .4byte gWirelessCommType _08058334: movs r0, 0 _08058336: @@ -7110,7 +7110,7 @@ _08058336: thumb_func_start sub_805833C sub_805833C: @ 805833C push {lr} - ldr r0, _08058350 @ =gUnknown_3003F3C + ldr r0, _08058350 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 bne _0805835C @@ -7120,7 +7120,7 @@ sub_805833C: @ 805833C ldrb r0, [r0] b _08058364 .align 2, 0 -_08058350: .4byte gUnknown_3003F3C +_08058350: .4byte gWirelessCommType _08058354: .4byte gUnknown_3003FB0 _08058358: .4byte 0x00000339 _0805835C: diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index 05256c776..8db247b2b 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -1293,7 +1293,7 @@ _08134FC8: ands r0, r1 cmp r0, 0 bne _08135004 - ldr r0, _08134FFC @ =gUnknown_3003F64 + ldr r0, _08134FFC @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _08135004 @@ -1304,7 +1304,7 @@ _08134FC8: _08134FF0: .4byte gUnknown_8419C39 _08134FF4: .4byte gMain _08134FF8: .4byte 0x00000439 -_08134FFC: .4byte gUnknown_3003F64 +_08134FFC: .4byte gReceivedRemoteLinkPlayers _08135000: .4byte gUnknown_8419C92 _08135004: ldr r0, _0813500C @ =gUnknown_8419CA2 @@ -8439,7 +8439,7 @@ sub_8138B4C: @ 8138B4C lsrs r0, 24 cmp r0, 0x1 bne _08138B84 - ldr r0, _08138B7C @ =gUnknown_3003F64 + ldr r0, _08138B7C @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0x1 bne _08138B84 @@ -8453,7 +8453,7 @@ _08138B76: movs r0, 0x1 b _08138B86 .align 2, 0 -_08138B7C: .4byte gUnknown_3003F64 +_08138B7C: .4byte gReceivedRemoteLinkPlayers _08138B80: .4byte gUnknown_203B16C _08138B84: movs r0, 0 @@ -8931,7 +8931,7 @@ _08138EE0: beq _08138EF0 b _08139094 _08138EF0: - ldr r0, _08138F10 @ =gUnknown_3003F64 + ldr r0, _08138F10 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _08138EFA @@ -8946,7 +8946,7 @@ _08138EFA: _08138F04: .4byte 0x00003268 _08138F08: .4byte 0x00003024 _08138F0C: .4byte 0x00000439 -_08138F10: .4byte gUnknown_3003F64 +_08138F10: .4byte gReceivedRemoteLinkPlayers _08138F14: .4byte gUnknown_203B16E _08138F18: strb r4, [r2] @@ -13242,7 +13242,7 @@ _0813B198: bl sub_805642C cmp r0, 0 bne _0813B1C4 - ldr r0, _0813B1C0 @ =gUnknown_3003F64 + ldr r0, _0813B1C0 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0x1 bne _0813B1C4 @@ -13256,7 +13256,7 @@ _0813B198: bl sub_813B38C b _0813B1CC .align 2, 0 -_0813B1C0: .4byte gUnknown_3003F64 +_0813B1C0: .4byte gReceivedRemoteLinkPlayers _0813B1C4: lsls r0, r5, 24 asrs r0, 24 diff --git a/asm/reshow_battle_screen.s b/asm/reshow_battle_screen.s index f7c412cde..6fb09f439 100644 --- a/asm/reshow_battle_screen.s +++ b/asm/reshow_battle_screen.s @@ -324,11 +324,11 @@ _08077A14: ldrb r0, [r0] movs r1, 0 bl ActionSelectionCreateCursorAt - ldr r0, _08077A54 @ =gUnknown_3003F3C + ldr r0, _08077A54 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _08077A8A - ldr r0, _08077A58 @ =gUnknown_3003F64 + ldr r0, _08077A58 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _08077A8A @@ -342,8 +342,8 @@ _08077A44: .4byte gBattlerPartyIndexes _08077A48: .4byte gEnemyParty _08077A4C: .4byte gUnknown_2023FF8 _08077A50: .4byte gBattlerInMenuId -_08077A54: .4byte gUnknown_3003F3C -_08077A58: .4byte gUnknown_3003F64 +_08077A54: .4byte gWirelessCommType +_08077A58: .4byte gReceivedRemoteLinkPlayers _08077A5C: ldr r0, _08077A9C @ =sub_80116F4 bl SetVBlankCallback diff --git a/asm/start_menu.s b/asm/start_menu.s index 73a82fb5c..1d81d0392 100644 --- a/asm/start_menu.s +++ b/asm/start_menu.s @@ -1925,7 +1925,7 @@ _0806FC14: movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade - ldr r0, _0806FC78 @ =gUnknown_3003F3C + ldr r0, _0806FC78 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _0806FC7C @@ -1936,7 +1936,7 @@ _0806FC14: b _0806FCE6 .align 2, 0 _0806FC74: .4byte gUnknown_8419F54 -_0806FC78: .4byte gUnknown_3003F3C +_0806FC78: .4byte gWirelessCommType _0806FC7C: movs r0, 0x1 b _0806FCE6 diff --git a/asm/trade.s b/asm/trade.s index 6ce974675..e9fcddf2d 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -246,7 +246,7 @@ _0804C80A: bl sub_804F5BC movs r0, 0 bl ShowBg - ldr r0, _0804C86C @ =gUnknown_3003F64 + ldr r0, _0804C86C @ =gReceivedRemoteLinkPlayers ldrb r2, [r0] cmp r2, 0 bne _0804C8B4 @@ -258,7 +258,7 @@ _0804C80A: ldr r0, [r0] adds r0, 0xA8 strb r2, [r0] - ldr r0, _0804C87C @ =gUnknown_3003F3C + ldr r0, _0804C87C @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _0804C880 @@ -269,11 +269,11 @@ _0804C80A: .align 2, 0 _0804C864: .4byte gPaletteFade _0804C868: .4byte gEnemyParty -_0804C86C: .4byte gUnknown_3003F64 +_0804C86C: .4byte gReceivedRemoteLinkPlayers _0804C870: .4byte gLinkType _0804C874: .4byte 0x00001122 _0804C878: .4byte gUnknown_2031DA8 -_0804C87C: .4byte gUnknown_3003F3C +_0804C87C: .4byte gWirelessCommType _0804C880: bl sub_8009804 ldr r1, _0804C8A8 @ =gMain @@ -284,7 +284,7 @@ _0804C880: adds r0, 0x1 strb r0, [r1] _0804C892: - ldr r0, _0804C8AC @ =gUnknown_3003F3C + ldr r0, _0804C8AC @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _0804C89C @@ -296,7 +296,7 @@ _0804C89C: b _0804CEE6 .align 2, 0 _0804C8A8: .4byte gMain -_0804C8AC: .4byte gUnknown_3003F3C +_0804C8AC: .4byte gWirelessCommType _0804C8B0: .4byte sub_8081A90 _0804C8B4: ldr r0, _0804C8C4 @ =gMain @@ -375,7 +375,7 @@ _0804C940: .align 2, 0 _0804C94C: .4byte gMain _0804C950: - ldr r0, _0804C9A0 @ =gUnknown_3003F64 + ldr r0, _0804C9A0 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0x1 beq _0804C95A @@ -402,7 +402,7 @@ _0804C968: ldr r0, [r0] adds r0, 0xA8 strb r2, [r0] - ldr r0, _0804C9AC @ =gUnknown_3003F3C + ldr r0, _0804C9AC @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 bne _0804C992 @@ -413,12 +413,12 @@ _0804C992: bl sub_800AB9C b _0804CEE6 .align 2, 0 -_0804C9A0: .4byte gUnknown_3003F64 +_0804C9A0: .4byte gReceivedRemoteLinkPlayers _0804C9A4: .4byte gMain _0804C9A8: .4byte gUnknown_2031DA8 -_0804C9AC: .4byte gUnknown_3003F3C +_0804C9AC: .4byte gWirelessCommType _0804C9B0: - ldr r0, _0804C9E0 @ =gUnknown_3003F3C + ldr r0, _0804C9E0 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _0804C9E8 @@ -441,7 +441,7 @@ _0804C9C4: bl sub_80FCD74 b _0804CEE6 .align 2, 0 -_0804C9E0: .4byte gUnknown_3003F3C +_0804C9E0: .4byte gWirelessCommType _0804C9E4: .4byte gMain _0804C9E8: movs r2, 0x87 @@ -1130,7 +1130,7 @@ _0804CFC8: .align 2, 0 _0804CFD8: .4byte gMain _0804CFDC: - ldr r0, _0804CFFC @ =gUnknown_3003F3C + ldr r0, _0804CFFC @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _0804CFF0 @@ -1145,7 +1145,7 @@ _0804CFF0: adds r1, r3 b _0804D4B4 .align 2, 0 -_0804CFFC: .4byte gUnknown_3003F3C +_0804CFFC: .4byte gWirelessCommType _0804D000: .4byte gMain _0804D004: movs r5, 0x87 @@ -1795,7 +1795,7 @@ sub_804D548: @ 804D548 adds r0, 0x7E ldrb r0, [r0] strb r0, [r1, 0x1] - ldr r0, _0804D58C @ =gUnknown_3003F3C + ldr r0, _0804D58C @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _0804D590 @@ -1808,7 +1808,7 @@ sub_804D548: @ 804D548 _0804D580: .4byte gPaletteFade _0804D584: .4byte gUnknown_2031DA4 _0804D588: .4byte gUnknown_2031DA8 -_0804D58C: .4byte gUnknown_3003F3C +_0804D58C: .4byte gWirelessCommType _0804D590: movs r0, 0x20 bl sub_800AA80 @@ -1828,7 +1828,7 @@ sub_804D5A4: @ 804D5A4 ldr r5, _0804D5E4 @ =gMain ldr r0, _0804D5E8 @ =sub_804C718 str r0, [r5, 0x8] - ldr r0, _0804D5EC @ =gUnknown_3003F3C + ldr r0, _0804D5EC @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _0804D5FC @@ -1852,12 +1852,12 @@ sub_804D5A4: @ 804D5A4 .align 2, 0 _0804D5E4: .4byte gMain _0804D5E8: .4byte sub_804C718 -_0804D5EC: .4byte gUnknown_3003F3C +_0804D5EC: .4byte gWirelessCommType _0804D5F0: .4byte gUnknown_2031C90 _0804D5F4: .4byte gUnknown_2031DA8 _0804D5F8: .4byte sub_8050138 _0804D5FC: - ldr r0, _0804D628 @ =gUnknown_3003F64 + ldr r0, _0804D628 @ =gReceivedRemoteLinkPlayers ldrb r4, [r0] cmp r4, 0 bne _0804D620 @@ -1876,7 +1876,7 @@ _0804D620: pop {r0} bx r0 .align 2, 0 -_0804D628: .4byte gUnknown_3003F64 +_0804D628: .4byte gReceivedRemoteLinkPlayers _0804D62C: .4byte gUnknown_2031C90 _0804D630: .4byte gUnknown_2031DA8 _0804D634: .4byte sub_8050138 @@ -4253,7 +4253,7 @@ sub_804E908: @ 804E908 ands r0, r1 cmp r0, 0 bne _0804E93C - ldr r0, _0804E928 @ =gUnknown_3003F3C + ldr r0, _0804E928 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _0804E92C @@ -4261,7 +4261,7 @@ sub_804E908: @ 804E908 b _0804E932 .align 2, 0 _0804E924: .4byte gPaletteFade -_0804E928: .4byte gUnknown_3003F3C +_0804E928: .4byte gWirelessCommType _0804E92C: movs r0, 0xC bl sub_800AA80 @@ -4281,7 +4281,7 @@ _0804E940: .4byte gUnknown_2031DA8 thumb_func_start sub_804E944 sub_804E944: @ 804E944 push {lr} - ldr r0, _0804E978 @ =gUnknown_3003F3C + ldr r0, _0804E978 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _0804E988 @@ -4301,12 +4301,12 @@ sub_804E944: @ 804E944 bl SetMainCallback2 b _0804E9AA .align 2, 0 -_0804E978: .4byte gUnknown_3003F3C +_0804E978: .4byte gWirelessCommType _0804E97C: .4byte gUnknown_2031C90 _0804E980: .4byte gUnknown_2031DA8 _0804E984: .4byte c2_8056854 _0804E988: - ldr r0, _0804E9B0 @ =gUnknown_3003F64 + ldr r0, _0804E9B0 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _0804E9AA @@ -4323,7 +4323,7 @@ _0804E9AA: pop {r0} bx r0 .align 2, 0 -_0804E9B0: .4byte gUnknown_3003F64 +_0804E9B0: .4byte gReceivedRemoteLinkPlayers _0804E9B4: .4byte gUnknown_2031C90 _0804E9B8: .4byte gUnknown_2031DA8 _0804E9BC: .4byte c2_8056854 @@ -6573,7 +6573,7 @@ _0804FB24: thumb_func_start sub_804FB34 sub_804FB34: @ 804FB34 push {r4-r7,lr} - ldr r0, _0804FBB4 @ =gUnknown_3003F64 + ldr r0, _0804FBB4 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _0804FBC0 @@ -6634,7 +6634,7 @@ _0804FB6E: movs r0, 0x2 b _0804FBC2 .align 2, 0 -_0804FBB4: .4byte gUnknown_3003F64 +_0804FBB4: .4byte gReceivedRemoteLinkPlayers _0804FBB8: .4byte gLinkPlayers _0804FBBC: movs r0, 0x1 @@ -7209,14 +7209,14 @@ _0804FFC0: .4byte c2_800ACD4 thumb_func_start sub_804FFC4 sub_804FFC4: @ 804FFC4 push {lr} - ldr r0, _0804FFD4 @ =gUnknown_3003F64 + ldr r0, _0804FFD4 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _0804FFD8 movs r0, 0 b _0804FFE0 .align 2, 0 -_0804FFD4: .4byte gUnknown_3003F64 +_0804FFD4: .4byte gReceivedRemoteLinkPlayers _0804FFD8: bl GetMultiplayerId lsls r0, 24 @@ -7424,7 +7424,7 @@ _08050160: .4byte _08050430 .4byte _0805044C _08050194: - ldr r0, _08050228 @ =gUnknown_3003F64 + ldr r0, _08050228 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _080501A8 @@ -7490,14 +7490,14 @@ _080501A8: strh r2, [r0] b _08050472 .align 2, 0 -_08050228: .4byte gUnknown_3003F64 +_08050228: .4byte gReceivedRemoteLinkPlayers _0805022C: .4byte gLinkType _08050230: .4byte 0x00001144 _08050234: .4byte gUnknown_2031DAC _08050238: .4byte sub_804FF0C _0805023C: .4byte gMain _08050240: - ldr r0, _08050270 @ =gUnknown_3003F64 + ldr r0, _08050270 @ =gReceivedRemoteLinkPlayers ldrb r5, [r0] cmp r5, 0 bne _0805027C @@ -7520,7 +7520,7 @@ _08050240: str r5, [r0, 0x64] b _08050472 .align 2, 0 -_08050270: .4byte gUnknown_3003F64 +_08050270: .4byte gReceivedRemoteLinkPlayers _08050274: .4byte gUnknown_2031DAC _08050278: .4byte gMain _0805027C: @@ -7585,7 +7585,7 @@ _080502EC: b _08050472 _080502F2: bl sub_804FF4C - ldr r0, _08050318 @ =gUnknown_3003F64 + ldr r0, _08050318 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0x1 beq _08050300 @@ -7604,7 +7604,7 @@ _0805030E: adds r1, r2 b _08050440 .align 2, 0 -_08050318: .4byte gUnknown_3003F64 +_08050318: .4byte gReceivedRemoteLinkPlayers _0805031C: .4byte gMain _08050320: ldr r2, _08050340 @ =gUnknown_2031DAC @@ -7745,7 +7745,7 @@ _0805044C: ands r0, r1 cmp r0, 0 bne _08050472 - ldr r0, _08050494 @ =gUnknown_3003F3C + ldr r0, _08050494 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _0805046C @@ -7768,7 +7768,7 @@ _08050472: bx r0 .align 2, 0 _08050490: .4byte gPaletteFade -_08050494: .4byte gUnknown_3003F3C +_08050494: .4byte gWirelessCommType _08050498: .4byte sub_8053D84 thumb_func_end sub_8050138 @@ -8236,7 +8236,7 @@ _080508A2: _080508B8: mov r0, r9 bl sub_80507A0 - ldr r0, _080508F0 @ =gUnknown_3003F64 + ldr r0, _080508F0 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _080508CA @@ -8256,7 +8256,7 @@ _080508E0: .4byte gSaveBlock1Ptr _080508E4: .4byte 0x00002cd0 _080508E8: .4byte gUnknown_2031DAC _080508EC: .4byte gUnknown_2031CCC -_080508F0: .4byte gUnknown_3003F64 +_080508F0: .4byte gReceivedRemoteLinkPlayers thumb_func_end sub_805080C thumb_func_start sub_80508F4 @@ -14476,7 +14476,7 @@ _08054120: movs r0, 0x15 bl IncrementGameStat _08054132: - ldr r0, _08054178 @ =gUnknown_3003F3C + ldr r0, _08054178 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _0805415A @@ -14508,7 +14508,7 @@ _0805415A: b _080541F2 .align 2, 0 _08054174: .4byte gUnknown_2031DAC -_08054178: .4byte gUnknown_3003F3C +_08054178: .4byte gWirelessCommType _0805417C: .4byte gLinkPlayers _08054180: .4byte gMain _08054184: @@ -14707,7 +14707,7 @@ _08054304: lsrs r0, 24 cmp r0, 0x1 bne _08054396 - ldr r0, _08054328 @ =gUnknown_3003F3C + ldr r0, _08054328 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _08054334 @@ -14719,7 +14719,7 @@ _08054304: bl sub_800AB9C b _08054338 .align 2, 0 -_08054328: .4byte gUnknown_3003F3C +_08054328: .4byte gWirelessCommType _0805432C: .4byte gMain _08054330: .4byte sub_804C718 _08054334: @@ -14737,7 +14737,7 @@ _08054340: .align 2, 0 _08054348: .4byte gMain _0805434C: - ldr r0, _08054374 @ =gUnknown_3003F3C + ldr r0, _08054374 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _08054384 @@ -14756,12 +14756,12 @@ _0805434C: bl SetMainCallback2 b _08054396 .align 2, 0 -_08054374: .4byte gUnknown_3003F3C +_08054374: .4byte gWirelessCommType _08054378: .4byte sub_804C718 _0805437C: .4byte gSoftResetDisabled _08054380: .4byte sub_80543C4 _08054384: - ldr r0, _080543B8 @ =gUnknown_3003F64 + ldr r0, _080543B8 @ =gReceivedRemoteLinkPlayers ldrb r1, [r0] cmp r1, 0 bne _08054396 @@ -14784,7 +14784,7 @@ _080543A4: pop {r0} bx r0 .align 2, 0 -_080543B8: .4byte gUnknown_3003F64 +_080543B8: .4byte gReceivedRemoteLinkPlayers _080543BC: .4byte gSoftResetDisabled _080543C0: .4byte sub_80543C4 thumb_func_end sub_8053E8C @@ -14815,7 +14815,7 @@ sub_80543C4: @ 80543C4 ldr r0, [r4] bl Free str r5, [r4] - ldr r0, _08054438 @ =gUnknown_3003F3C + ldr r0, _08054438 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _08054412 @@ -14835,7 +14835,7 @@ _0805441A: .align 2, 0 _08054430: .4byte gPaletteFade _08054434: .4byte gUnknown_2031DAC -_08054438: .4byte gUnknown_3003F3C +_08054438: .4byte gWirelessCommType _0805443C: .4byte gMain thumb_func_end sub_80543C4 diff --git a/asm/trainer_card.s b/asm/trainer_card.s index 7f330c8f9..e44503915 100644 --- a/asm/trainer_card.s +++ b/asm/trainer_card.s @@ -200,11 +200,11 @@ _08089194: bl sub_808AF74 b _08089214 _0808919A: - ldr r0, _080891D0 @ =gUnknown_3003F3C + ldr r0, _080891D0 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0x1 bne _080891B6 - ldr r0, _080891D4 @ =gUnknown_3003F64 + ldr r0, _080891D4 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0x1 bne _080891B6 @@ -224,8 +224,8 @@ _080891B6: bl SetVBlankCallback b _08089214 .align 2, 0 -_080891D0: .4byte gUnknown_3003F3C -_080891D4: .4byte gUnknown_3003F64 +_080891D0: .4byte gWirelessCommType +_080891D4: .4byte gReceivedRemoteLinkPlayers _080891D8: .4byte sub_8088FF0 _080891DC: bl UpdatePaletteFade @@ -266,7 +266,7 @@ _08089218: .align 2, 0 _08089220: .4byte gUnknown_20397A4 _08089224: - ldr r0, _08089270 @ =gUnknown_3003F64 + ldr r0, _08089270 @ =gReceivedRemoteLinkPlayers ldrb r5, [r0] cmp r5, 0 bne _0808924A @@ -301,7 +301,7 @@ _0808924A: strb r0, [r1] b _08089416 .align 2, 0 -_08089270: .4byte gUnknown_3003F64 +_08089270: .4byte gReceivedRemoteLinkPlayers _08089274: .4byte 0x00007bce _08089278: .4byte gMain _0808927C: .4byte gUnknown_20397A4 @@ -312,7 +312,7 @@ _08089280: bne _0808928A b _08089416 _0808928A: - ldr r0, _080892B0 @ =gUnknown_3003F64 + ldr r0, _080892B0 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _080892A4 @@ -331,7 +331,7 @@ _080892A4: str r1, [sp] b _080893C8 .align 2, 0 -_080892B0: .4byte gUnknown_3003F64 +_080892B0: .4byte gReceivedRemoteLinkPlayers _080892B4: .4byte gUnknown_20397A4 _080892B8: bl sub_808B1FC @@ -361,7 +361,7 @@ _080892E4: ands r0, r1 cmp r0, 0 beq _08089344 - ldr r0, _08089320 @ =gUnknown_3003F64 + ldr r0, _08089320 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _08089324 @@ -373,7 +373,7 @@ _080892E4: cmp r0, 0x1 beq _08089364 _08089308: - ldr r0, _08089320 @ =gUnknown_3003F64 + ldr r0, _08089320 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _08089324 @@ -384,7 +384,7 @@ _08089308: b _080893C8 .align 2, 0 _0808931C: .4byte gMain -_08089320: .4byte gUnknown_3003F64 +_08089320: .4byte gReceivedRemoteLinkPlayers _08089324: movs r0, 0xA bl sub_812B1F0 @@ -403,7 +403,7 @@ _08089344: ands r0, r1 cmp r0, 0 beq _08089416 - ldr r0, _0808936C @ =gUnknown_3003F64 + ldr r0, _0808936C @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _08089370 @@ -420,7 +420,7 @@ _08089364: strb r0, [r1] b _08089416 .align 2, 0 -_0808936C: .4byte gUnknown_3003F64 +_0808936C: .4byte gReceivedRemoteLinkPlayers _08089370: movs r0, 0x1 negs r0, r0 @@ -454,7 +454,7 @@ _0808937A: _080893B0: .4byte gUnknown_8419D89 _080893B4: .4byte gUnknown_20397A4 _080893B8: - ldr r0, _080893DC @ =gUnknown_3003F64 + ldr r0, _080893DC @ =gReceivedRemoteLinkPlayers ldrb r1, [r0] cmp r1, 0 bne _08089416 @@ -472,7 +472,7 @@ _080893C8: strb r0, [r1] b _08089416 .align 2, 0 -_080893DC: .4byte gUnknown_3003F64 +_080893DC: .4byte gReceivedRemoteLinkPlayers _080893E0: .4byte gUnknown_20397A4 _080893E4: bl UpdatePaletteFade @@ -1418,7 +1418,7 @@ sub_8089B64: @ 8089B64 movs r0, 0x40 movs r1, 0xF0 bl SetGpuReg - ldr r0, _08089BC8 @ =gUnknown_3003F64 + ldr r0, _08089BC8 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _08089BCC @@ -1426,7 +1426,7 @@ sub_8089B64: @ 8089B64 bl EnableInterrupts b _08089BD2 .align 2, 0 -_08089BC8: .4byte gUnknown_3003F64 +_08089BC8: .4byte gReceivedRemoteLinkPlayers _08089BCC: movs r0, 0x3 bl EnableInterrupts @@ -4482,7 +4482,7 @@ _0808B4B2: ldrb r0, [r1, 0x4] adds r0, 0x1 strb r0, [r1, 0x4] - ldr r0, _0808B4D4 @ =gUnknown_3003F64 + ldr r0, _0808B4D4 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _0808B3DC @@ -4494,7 +4494,7 @@ _0808B4C4: bx r1 .align 2, 0 _0808B4D0: .4byte gUnknown_20397A4 -_0808B4D4: .4byte gUnknown_3003F64 +_0808B4D4: .4byte gReceivedRemoteLinkPlayers thumb_func_end sub_808B3C4 thumb_func_start sub_808B4D8 @@ -4946,7 +4946,7 @@ sub_808B838: @ 808B838 bl InUnionRoom cmp r0, 0x1 bne _0808B8A4 - ldr r0, _0808B898 @ =gUnknown_3003F64 + ldr r0, _0808B898 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0x1 bne _0808B8A4 @@ -4970,7 +4970,7 @@ _0808B888: .4byte gUnknown_83CD8F4 _0808B88C: .4byte gUnknown_20397A4 _0808B890: .4byte 0x0000045c _0808B894: .4byte 0x00000457 -_0808B898: .4byte gUnknown_3003F64 +_0808B898: .4byte gReceivedRemoteLinkPlayers _0808B89C: .4byte 0x000004ab _0808B8A0: .4byte gUnknown_83CD8EC _0808B8A4: diff --git a/asm/union_room_chat.s b/asm/union_room_chat.s index 4c7d6769f..c61c9a3d8 100644 --- a/asm/union_room_chat.s +++ b/asm/union_room_chat.s @@ -797,7 +797,7 @@ _08128A80: strh r0, [r1, 0x6] b _08128A94 _08128A86: - ldr r0, _08128A9C @ =gUnknown_3003F64 + ldr r0, _08128A9C @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _08128A94 @@ -808,7 +808,7 @@ _08128A94: pop {r0} bx r0 .align 2, 0 -_08128A9C: .4byte gUnknown_3003F64 +_08128A9C: .4byte gReceivedRemoteLinkPlayers thumb_func_end sub_81288D4 thumb_func_start sub_8128AA0 @@ -948,7 +948,7 @@ _08128BC4: adds r0, 0x1 strh r0, [r1, 0xA] _08128BD0: - ldr r0, _08128BE4 @ =gUnknown_3003F64 + ldr r0, _08128BE4 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _08128BFC @@ -959,7 +959,7 @@ _08128BDA: strh r0, [r1, 0x6] b _08128BFC .align 2, 0 -_08128BE4: .4byte gUnknown_3003F64 +_08128BE4: .4byte gReceivedRemoteLinkPlayers _08128BE8: ldr r1, [r2] ldrh r0, [r1, 0xA] @@ -1035,7 +1035,7 @@ _08128C6E: adds r0, 0x1 strh r0, [r1, 0xA] _08128C78: - ldr r0, _08128C8C @ =gUnknown_3003F64 + ldr r0, _08128C8C @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _08128CA2 @@ -1047,7 +1047,7 @@ _08128C82: strh r0, [r1, 0x6] b _08128CA2 .align 2, 0 -_08128C8C: .4byte gUnknown_3003F64 +_08128C8C: .4byte gReceivedRemoteLinkPlayers _08128C90: ldrh r0, [r1, 0xA] cmp r0, 0x95 @@ -1157,7 +1157,7 @@ _08128D64: adds r0, 0x1 strh r0, [r1, 0xA] _08128D70: - ldr r0, _08128D84 @ =gUnknown_3003F64 + ldr r0, _08128D84 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _08128D9C @@ -1168,7 +1168,7 @@ _08128D7A: strh r0, [r1, 0x6] b _08128D9C .align 2, 0 -_08128D84: .4byte gUnknown_3003F64 +_08128D84: .4byte gReceivedRemoteLinkPlayers _08128D88: ldr r1, [r2] ldrh r0, [r1, 0xA] @@ -1211,7 +1211,7 @@ _08128DC4: .4byte _08128E42 .4byte _08128E60 _08128DD8: - ldr r0, _08128DE8 @ =gUnknown_3003F64 + ldr r0, _08128DE8 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _08128DEC @@ -1219,7 +1219,7 @@ _08128DD8: bl sub_8129218 b _08128E70 .align 2, 0 -_08128DE8: .4byte gUnknown_3003F64 +_08128DE8: .4byte gReceivedRemoteLinkPlayers _08128DEC: ldr r0, [r4] movs r1, 0xC8 @@ -2740,7 +2740,7 @@ _08129924: .4byte _08129AD8 .4byte _08129A7C _08129944: - ldr r0, _08129978 @ =gUnknown_3003F64 + ldr r0, _08129978 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _0812994E @@ -2767,7 +2767,7 @@ _08129952: strb r2, [r0, 0xD] b _08129B08 .align 2, 0 -_08129978: .4byte gUnknown_3003F64 +_08129978: .4byte gReceivedRemoteLinkPlayers _0812997C: .4byte gUnknown_203B0E0 _08129980: bl GetBlockReceivedStatus diff --git a/asm/unk_8147500.s b/asm/unk_8147500.s index d9867d69f..53fc6a8a0 100644 --- a/asm/unk_8147500.s +++ b/asm/unk_8147500.s @@ -704,7 +704,7 @@ sub_8147A34: @ 8147A34 lsls r1, 3 ldr r0, _08147A88 @ =gTasks+0x8 adds r4, r1, r0 - ldr r0, _08147A8C @ =gUnknown_3003F64 + ldr r0, _08147A8C @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _08147A98 @@ -737,7 +737,7 @@ _08147A5C: b _08147A9E .align 2, 0 _08147A88: .4byte gTasks+0x8 -_08147A8C: .4byte gUnknown_3003F64 +_08147A8C: .4byte gReceivedRemoteLinkPlayers _08147A90: .4byte gUnknown_3003ED0 _08147A94: .4byte 0x00007fff _08147A98: diff --git a/asm/unk_8147AA8.s b/asm/unk_8147AA8.s index 5b4fbd0ad..a7761148d 100644 --- a/asm/unk_8147AA8.s +++ b/asm/unk_8147AA8.s @@ -11,7 +11,7 @@ sub_8147AA8: @ 8147AA8 adds r6, r1, 0 lsls r0, 16 lsrs r7, r0, 16 - ldr r0, _08147B20 @ =gUnknown_3003F64 + ldr r0, _08147B20 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _08147B3C @@ -59,7 +59,7 @@ sub_8147AA8: @ 8147AA8 bl SetMainCallback2 b _08147B42 .align 2, 0 -_08147B20: .4byte gUnknown_3003F64 +_08147B20: .4byte gReceivedRemoteLinkPlayers _08147B24: .4byte gUnknown_203F3D4 _08147B28: .4byte 0x000083b0 _08147B2C: .4byte sub_8147DA0 @@ -2548,14 +2548,14 @@ _08148DFE: _08148E08: .4byte gPaletteFade _08148E0C: .4byte gUnknown_203F3D4 _08148E10: - ldr r0, _08148E1C @ =gUnknown_3003F64 + ldr r0, _08148E1C @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _08148E20 movs r0, 0 b _08148E22 .align 2, 0 -_08148E1C: .4byte gUnknown_3003F64 +_08148E1C: .4byte gReceivedRemoteLinkPlayers _08148E20: movs r0, 0x1 _08148E22: diff --git a/asm/unk_814B6F0.s b/asm/unk_814B6F0.s index dc7d8d9f8..90882d61c 100644 --- a/asm/unk_814B6F0.s +++ b/asm/unk_814B6F0.s @@ -67,11 +67,11 @@ sub_814B754: @ 814B754 adds r4, r0, 0 movs r0, 0 mov r8, r0 - ldr r0, _0814B784 @ =gUnknown_3003F64 + ldr r0, _0814B784 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _0814B772 - ldr r0, _0814B788 @ =gUnknown_3003F3C + ldr r0, _0814B788 @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 bne _0814B790 @@ -84,8 +84,8 @@ _0814B772: strh r1, [r0, 0x12] b _0814B7DC .align 2, 0 -_0814B784: .4byte gUnknown_3003F64 -_0814B788: .4byte gUnknown_3003F3C +_0814B784: .4byte gReceivedRemoteLinkPlayers +_0814B788: .4byte gWirelessCommType _0814B78C: .4byte gUnknown_3005450 _0814B790: bl GetLinkPlayerCount diff --git a/asm/unk_814BB4C.s b/asm/unk_814BB4C.s index c3f054fc7..9c0e0503b 100644 --- a/asm/unk_814BB4C.s +++ b/asm/unk_814BB4C.s @@ -3326,7 +3326,7 @@ _0814D488: bl sub_800AAC0 b _0814D4B8 _0814D498: - ldr r0, _0814D4B4 @ =gUnknown_3003F64 + ldr r0, _0814D4B4 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _0814D4BE @@ -3339,7 +3339,7 @@ _0814D498: strb r4, [r5, 0xC] b _0814D4BE .align 2, 0 -_0814D4B4: .4byte gUnknown_3003F64 +_0814D4B4: .4byte gReceivedRemoteLinkPlayers _0814D4B8: ldrb r0, [r5, 0xC] adds r0, 0x1 diff --git a/asm/unk_81507FC.s b/asm/unk_81507FC.s index 141ff4d18..0118eff4b 100644 --- a/asm/unk_81507FC.s +++ b/asm/unk_81507FC.s @@ -14,7 +14,7 @@ sub_81507FC: @ 81507FC ldr r1, _081508A4 @ =gUnknown_3002044 movs r0, 0 str r0, [r1] - ldr r0, _081508A8 @ =gUnknown_3003F64 + ldr r0, _081508A8 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _081508CC @@ -81,7 +81,7 @@ sub_81507FC: @ 81507FC b _081508D2 .align 2, 0 _081508A4: .4byte gUnknown_3002044 -_081508A8: .4byte gUnknown_3003F64 +_081508A8: .4byte gReceivedRemoteLinkPlayers _081508AC: .4byte gUnknown_203F3E0 _081508B0: .4byte 0x00003330 _081508B4: .4byte 0x000032cc @@ -389,7 +389,7 @@ _08150B16: lsls r0, 24 cmp r0, 0 beq _08150BFC - ldr r0, _08150B38 @ =gUnknown_3003F64 + ldr r0, _08150B38 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 beq _08150BDC @@ -399,7 +399,7 @@ _08150B16: bl sub_80FCD74 b _08150BDC .align 2, 0 -_08150B38: .4byte gUnknown_3003F64 +_08150B38: .4byte gReceivedRemoteLinkPlayers _08150B3C: ldr r0, _08150B88 @ =gUnknown_203F3E0 ldr r0, [r0] @@ -1633,7 +1633,7 @@ _081514CC: strb r0, [r1, 0x10] b _081514E4 _081514D6: - ldr r0, _081514EC @ =gUnknown_3003F64 + ldr r0, _081514EC @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _081514E4 @@ -1644,7 +1644,7 @@ _081514E4: pop {r0} bx r0 .align 2, 0 -_081514EC: .4byte gUnknown_3003F64 +_081514EC: .4byte gReceivedRemoteLinkPlayers thumb_func_end sub_8151488 thumb_func_start sub_81514F0 @@ -1852,7 +1852,7 @@ _0815169C: bl sub_8154730 ldr r0, [r4] bl sub_81508EC - ldr r0, _081516D8 @ =gUnknown_3003F64 + ldr r0, _081516D8 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _081516C2 @@ -1871,7 +1871,7 @@ _081516CC: bx r0 .align 2, 0 _081516D4: .4byte sub_81516DC -_081516D8: .4byte gUnknown_3003F64 +_081516D8: .4byte gReceivedRemoteLinkPlayers thumb_func_end sub_815159C thumb_func_start sub_81516DC @@ -5743,7 +5743,7 @@ sub_81533C4: @ 81533C4 push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _081533E4 @ =gUnknown_3003F64 + ldr r0, _081533E4 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _081533F0 @@ -5756,7 +5756,7 @@ sub_81533C4: @ 81533C4 ldr r0, [r0] b _081533F8 .align 2, 0 -_081533E4: .4byte gUnknown_3003F64 +_081533E4: .4byte gReceivedRemoteLinkPlayers _081533E8: .4byte gUnknown_203F3E0 _081533EC: .4byte 0x000031a0 _081533F0: diff --git a/include/global.h b/include/global.h index 1d2152af7..c47bd2d15 100644 --- a/include/global.h +++ b/include/global.h @@ -224,6 +224,23 @@ struct BerryCrush #define PLAYER_NAME_LENGTH 8 +#define LINK_B_RECORDS_COUNT 5 + +struct LinkBattleRecord +{ + u8 name[PLAYER_NAME_LENGTH]; + u16 trainerId; + u16 wins; + u16 losses; + u16 draws; +}; + +struct LinkBattleRecords +{ + struct LinkBattleRecord entries[LINK_B_RECORDS_COUNT]; + u8 languages[LINK_B_RECORDS_COUNT]; +}; + struct UnknownSaveBlock2Struct { u8 field_0; @@ -244,6 +261,21 @@ struct UnknownSaveBlock2Struct u8 field_EB; }; // sizeof = 0xEC +struct UnkSaveBlock2Substruct_55C +{ + /* 0x000:0x55C */ u8 unk_00_0:1; + u8 unk_00_1:1; + /* 0x001:0x55D */ u8 unk_01; + /* 0x002:0x55E */ u8 unk_02[2]; + /* 0x004:0x560 */ u16 unk_04[2]; + /* 0x008:0x564 */ u16 unk_08[2]; + /* 0x00C:0x568 */ u16 unk_0C[2]; + /* 0x010:0x56C */ u8 unk_10; + /* 0x011:0x56D */ u8 unk_11[3]; + /* 0x014:0x570 */ u16 unk_14; + /* 0x016:0x572 */ u8 unk_16; +}; // size: 0x018 + struct SaveBlock2 { /*0x000*/ u8 playerName[PLAYER_NAME_LENGTH]; @@ -268,9 +300,11 @@ struct SaveBlock2 /*0x0A8*/ u32 field_A8; /*0x0AC*/ u8 filler_AC[0x3F4]; /*0x4A0*/ u32 unk_4A0[0x2F]; - /*0x55c*/ u8 filler_55C[0x53C]; - /*0xA98*/ u8 unk_A98[2][16]; - /*0xAB8*/ u8 filler_AB8[0x468]; + /*0x55c*/ struct UnkSaveBlock2Substruct_55C unk_55C; + /*0x574*/ u8 filler_574[0x524]; + /*0xA98*/ struct LinkBattleRecords linkBattleRecords; + /*0xAF0*/ struct BerryCrush berryCrush; + /*0xB00*/ u8 filler_B00[0x420]; /*0xF20*/ u32 encryptionKey; }; @@ -438,15 +472,6 @@ struct RecordMixing_UnknownStruct u16 unk74[0x2]; }; -struct LinkBattleRecord -{ - u8 name[8]; - u16 trainerId; - u16 wins; - u16 losses; - u16 draws; -}; - struct RecordMixingGiftData { u8 unk0; diff --git a/include/link.h b/include/link.h index ef8776c64..93ad9dfe1 100644 --- a/include/link.h +++ b/include/link.h @@ -146,10 +146,8 @@ extern u16 word_3002910[]; extern bool8 gReceivedRemoteLinkPlayers; extern bool8 gLinkVSyncDisabled; -extern u8 gUnknown_3003F64; extern u8 gUnknown_3003F84; extern u64 gUnknown_3003FB4; -extern u16 gLinkType; void Task_DestroySelf(u8); void OpenLink(void); diff --git a/src/main.c b/src/main.c index a625386b2..068cc8578 100644 --- a/src/main.c +++ b/src/main.c @@ -98,7 +98,7 @@ static IntrFunc * const sTimerIntrFunc = gIntrTable + 0x7; extern u16 gTrainerId; extern bool8 gUnknown_3005ECC; -extern bool8 gUnknown_3003F3C; +extern bool8 gWirelessCommType; extern bool8 gUnknown_3005E88; EWRAM_DATA void (**gFlashTimerIntrFunc)(void) = NULL; @@ -348,7 +348,7 @@ extern void ProcessDma3Requests(void); static void VBlankIntr(void) { - if (gUnknown_3003F3C) + if (gWirelessCommType) RFUVSync(); else if (!gLinkVSyncDisabled) LinkVSync(); diff --git a/src/mevent.c b/src/mevent.c index 7a7fcc399..a62286f21 100644 --- a/src/mevent.c +++ b/src/mevent.c @@ -211,7 +211,7 @@ u32 sub_8143770(u8 * r4, u16 * r5) } else if (IsLinkConnectionEstablished()) { - if (gUnknown_3003F64) + if (gReceivedRemoteLinkPlayers) { if (IsLinkPlayerDataExchangeComplete()) { @@ -230,7 +230,7 @@ u32 sub_8143770(u8 * r4, u16 * r5) *r4 = 5; break; case 5: - if (!gUnknown_3003F64) + if (!gReceivedRemoteLinkPlayers) { *r4 = 0; return 4; @@ -428,7 +428,7 @@ void sub_8143910(u8 taskId) data->t08 = 16; break; case 16: - if (!gUnknown_3003F64) + if (!gReceivedRemoteLinkPlayers) { if (data->t0E == 1) data->t08 = 17; diff --git a/src/quest_log.c b/src/quest_log.c index 8e890af21..4f462505a 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -165,7 +165,7 @@ u16 sub_81132A0(struct Var4038Struct *); void sub_81132E0(struct Var4038Struct *); bool16 sub_811337C(struct Var4038Struct *); void sub_8113390(struct Var4038Struct *); -void sub_8113414(u8 (*)[16], u8, u8); +void sub_8113414(struct LinkBattleRecords *, u8, u8); void sub_81134CC(struct Var4038Struct *); bool8 sub_8113508(struct Var4038Struct * ); void sub_8113524(struct Var4038Struct *); @@ -2693,13 +2693,13 @@ void sub_81133A4(void) r3 = 1; break; } - sub_8113414(gSaveBlock2Ptr->unk_A98, r3, r2); + sub_8113414(&gSaveBlock2Ptr->linkBattleRecords, r3, r2); } -void sub_8113414(u8 (* a0)[16], u8 a1, u8 a2) +void sub_8113414(struct LinkBattleRecords * a0, u8 a1, u8 a2) { u8 * str; - const u8 * src = a0[a1]; + const u8 * src = a0->entries[a1].name; if (src[0] == EOS) { switch (a2) diff --git a/sym_common.txt b/sym_common.txt index d71702d05..f63c4f277 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -60,7 +60,7 @@ gUnknown_3003F34: @ 3003F34 gUnknown_3003F38: @ 3003F38 .space 0x4 -gUnknown_3003F3C: @ 3003F3C +gWirelessCommType: @ 3003F3C .space 0x4 gUnknown_3003F40: @ 3003F40 @@ -72,7 +72,7 @@ gUnknown_3003F50: @ 3003F50 gUnknown_3003F60: @ 3003F60 .space 0x4 -gUnknown_3003F64: @ 3003F64 +gReceivedRemoteLinkPlayers: @ 3003F64 .space 0xC gUnknown_3003F70: @ 3003F70